分布式数据库两段提交协议中的故障处理.pdfVIP

分布式数据库两段提交协议中的故障处理.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式数据库两段提交协议中的故障处理 徐练 王翰虎 (贵州大学计算机科学系 贵州贵阳 5 5 0 025) 摘要:本文针对分布式数据库两段提交协议的主要问题是在提交过程中出现故障时所 需要解决的一些问题,提出了一些保证数据一致的恢复措施。 关键词:分布式数据库 两段提交恢复 1引言 分布式数据库中,数据在物理上分布在多个站点上,每个站点都有一定的局部自治性。 分布事务管理必然会涉及到多个站点上的数据资源,为了保证分布事务的原子性,一般采 用两段提交协议。这样事务对这些数据资源的操作要么全都~起提交,要么全都一起滚回。 两段提交协议的主要问题是当出现站点系统故障或通信故障时,事务不能正确地提交或滚 回,陷入阻塞状态。因而要研究出现故障时的恢复措施。 2两段提交协议概述 在分布式数据库中,事务被定义为~个恢复单位,事务代表是特定事务在某一特定站 所执行的进程。一个事务可能有多个事务代表分别在不同的站点上执行,这些事务代表在 逻辑上是一个整体,在并发控制和恢复中把它们当个一个单位。 所在的站点为协调站。S站作为参与站。 第一阶段协调站征询所有参与站对事务提交的意见,参与站根据本站的情况发回提交 或天折的信息。第二阶段协调站根据这些意见;作出提交或夭折的决定,并发向所有的参 与站,后者按照此命令结束自己的事务。 基本过程如下: (1)协调站在本地日志中写入“开始提交”记录,然后向各参与站发出“准备”消息。 (2)参与站收到这个消息后检查自己的状态。如果可以提交,就在本地日志中写入“就 绪”记录,同时把运行记录也写入到日志中;向协调站发出“同意提交”消息。否则,就 在日志中写入“天折”记录,并向协调站发出“夭折”消息。此时参与站事务代表可以单 独天折。 (3)协调站收到所有参与站的回答消息后,如果所有的回答都是“同意提交”,就在 本地日志中写入“提交”记录,并布“提交”命令给所有的参与站。如果有任一站的回答 是“天折”,就在本地日志中写入“天折”记录,并发送“天折”命令给所有的参与站。 (4)参与站收到发布的命令后,就按照指示或者提交事务代表,或者夭折事务。 随后送回一个应答信号给协调站。 (5) 当所有参与站的应答信号都收到后,协调站就结束整个事务。 3恢复措施 两段提交协议的主要问题是出现故障时。事务无法正常结束,因而从应用需要从发 研究实际可行的恢复措施。 2.36 发生故障主要考虑两类一是站点的系统故障。二是通信故障。 3.1 站点出现系统故障情况。 (1) 当参与站返回“同意提交”信息给协调站之后,在收到协调站发布的命令之前, 出现故障。该站点修复后,重新启动时.它首先向协调站索取所发布命令,然后根据本地 的运行日志,按照命令指示,做提交事务或者滚回事务。 (2)参与站收到协调站发来的命令之后,立即把命令记录在日志里。在此之后出现故 障时,恢复程序可以根据日志来做相应的恢复工作,是“提交”则重做(REDO),是“滚 回”则撤消(UNDO)。不必再向协调站索取命令。 (3)协调站的协调程序设置超时检查倒程。协调站向所有参与站发布“准备提交”信 息后,如果超过一定时间,还没有收到Si站发来的响应,则认为Si站已经出现故障,默认 Si站“拒绝”。该参与站重启动时,恢复程序首先就让事务滚回。 (4)如果协调站向某些站发出“提交”命令后,而在它向所有站发出这一命令以前了 故障。解决方案:设置后备协调站。由后备站向其余站发送命令,同时向所有站发出通知, 本站现在成为协调站,参与站的响应信息送到本站来。 (5)如果协调站在发布命令前出现了故障,则可从参与站中选择一个来作协调者,由 它来向其它参与站发布“夭折”命令,让事务夭折。 3.2‘出现通信故障的情况。 通信故障会引起网络分割,站点被割裂为两个或两个以上的相互不能通信的子网。属 于同~个子网的两个站点间相互可以通信,而分属不同子网的两个站点不能通信。对于这 种情况的恢复,还有许多理论问题没有解决,下面提出的这些措施是面向实际应用的。 (1)在两段提交协议执行过程中步骤4和步骤5之间出现通信故障造成网络分割的情 况。 协调站已经向所有的参与站发出命令,正在等待参与站送回应答信号。可从被分割成 的各个子网中的参与站中分别选出一站点作为新的协调站来管理和监控这一子网部分的事 务,让各个参与站继续按协议

文档评论(0)

wuhuaiyu002 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档