科学二行计算机,二-计算机科学.pdf

维普资讯

计算机科学 2002Vo1.29N~-.9

分布式系统 中的全局状态算法及实现

An Algorithm ofGlobalStateinaDistributedSystem

陈 宁 王忠仁 丁香荣

(电子科技大学计算机学院 成都 610054)

Abstract G lobalstate.an importantconceptin adistributedsystem ,helpstosolveproblem ssuch ascocurrency·

mutualexclusionanddeadlock.etc.inadistributedsystem .Thispaper,alterattemptingtopresentreaderstheim—

portanceandnecessityofusingglobalstateinadistributedsystem ,givesan in—depthdiscussionofanalgorithm .

Keywords Globalstate,Distributedsnapshot,Middleware,Stableproperty

算法进行讨论 。

1.引言

协同工作的进程间往往需要知道对方 的状态 .在本地 系

全局状态是分布式 系统中的一个关键慨念 .分布式系统 统中。一个进 程可 以通过访 问对方 的进 程控制块而获取其现

同样需要处理在一个集中式环境中出现的如并发、互斥、死锁 在 的状态信息。而对于一个远程进程 ,由于网络 的延误 .它获

等问题 ,在分布式系统中对这些问题的处理变得更为复杂。比 得的状态信息往往是远程进程在过去某个时刻的状态 。这个

如在一个交易中,由于缺少全局状态信息,对可能出现的失败 时间上 的延迟再加上各系统的时钟不 同步使得进 程 问的协 同

提供一个回滚所需的检查点 (checkpoint)就变得很困难 。本文 工作变得更为复杂 .可用下面简单示例来说 明其复杂性 。

将对使用全局状态的必要性及其在基于消息中间件中使用的

图 1 两个银行 问转帐示意 图

假设某客户在两家银行开有帐户 .并在银行A 存有 100 发送 和接收的消息进行全面的观察 ,了解全局状 态才能避免

元 .现他将此存款转入银行 B去 ,转帐过程发生在下午 3:O0 错误 出现 。这里 ,为 了更深入讨论上述 问题 .我们 引入一种通

前后.由于银行间有一段距离 .转帐过程导致一定的时延。若 过分 布 式快 照获取 全 局状 态 的算 法 :全 局 状 态 构造 算 法

我们需要在下午 3:OO统计银行帐户余额 ,可能会 出现 图 1所 GSRA (GlobalStateRecordingAlgorithm)。使用这个算法 ,

示几种情况 。 一 个分布式系统可 以获得一组分布式快照 ,并从 中确定当前

图中水平直线代表了一个与时问相关的进程 .带有箭头 分布式系统所处的全局状态 .检测当前 系统是否拥有某种稳

的直 线表示两个进程间的消息传递.这里表示转帐的消息传 定的特征 (stableproperty).因而能使系统在交易过程 中提供

递 。 检查点以支持在交易失败时进行 回滚操作。首先 ,需要对 以下

图 la)表示在 3:OO以前银行间的转帐过程 已经结束 .在 几个慨念进行定义 :

3:OO时进行统计 .某客户在银行 A 已无存款

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值