- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于2PC协议对分布式数据库事务恢复机制
关于2PC协议对分布式数据库事务恢复机制 摘要:分布式数据库系统的故障模型有自身的特点,事务提交协议的合适选择可以有效地对各种故障进行恢复。探讨了2PC协议对分布式数据库的事务恢复机制。
关键词:分布式数据库;2PC协议;事务恢复
中图分类号:TP391文献标识码:A文章编号2012)009011002
0引言
分布式数据库广泛应用于电子商务、电子信息服务和智能电信系统等领域,而事务提交协议在分布式数据库的应用中存在诸多问题。事务提交协议在提交分布式事务时,在不同阶段及不同的参与结点之间交换各种信息,同时也会产生一些日志记录,其中有些必须写回磁盘,这对于分布式数据库的应用有很大影响。因此,在设计一个分布式数据库系统时提交协议的选择成为最重要的决定之一。
1数据库系统故障模型
1.1集中式数据库系统的故障模型
集中式数据库系统可能发生的故障有3种:一是不丢失信息的故障,由于命令无法执行引起事务中止,不会对存储介质上的数据产生不正确操作,容易恢复,只需重启事务即可;二是丢失主存信息的故障,此类故障辅存上的数据库处于正确状态,而主存中的数据库部分或全部数据丢失或出错,处于一种不正确状态,可利用恢复机制对其进行恢复;三是丢失辅存中信息的故障,其辅存中数据丢失,主存中数据不一致,只能重建数据库,使故障按常规方法无法恢复。
1.2分布式数据库系统的通讯故障模型
分布式数据库系统除上述可能发生的故障外还主要发生系统中场地间的通讯故障,包括报文丢失和网络分割。报文丢失即传送过程中丢失报文导致数据不正确,这种报文丢失造成系统的等待状态可以通过设置有限的传送报文数目和要求传送过程在有限的时间内完成来解决。网络分割是指通讯网络中一部分场地和另一部分场地之间完全失去联系,两个分别在分离后的网络的两个(或若干个)部分中的场地间不可以直接进行通讯,也不能经过第三方场地进行通讯。当出现网络分割时,系统处理要复杂一些,但出现网络分割的情况是非常少的。故障恢复的处理难度从小到大排列分为3类:第一类恢复处理只处理局部场地的故障,假设通讯网络是永远正确的,这主要基于集中式数据库系统的恢复策略,当出现通讯故障后则束手无策;第二类处理报文丢失和场地故障;第三类可处理除第二类故障外的网络分割故障。
2分布式数据库中的事务提交协议
2.1事务提交协议概述
在分布式数据库系统中,全局事务可以分解为分布在不同结点上的若干子事务。系统要保证全局事务和子事务的原子性就需要在结点间进行协调,因此产生了二步提交协议(twophase commit,2PC)和三步提交协议(threephase commit,3PC)。当一个事务分布在多个结点上执行时,要么都返回,要么都提交,各结点须保持一致。为了保持多结点协调一致,可以指定其中一个结点的事务管理器(以下简称结点)为协调者(coordinator/Master),其它结点的事务管理器为参与者(participant/Cohort)。
2.22PC协议
2PC协议是在事务处理、数据库以及计算机网络中使用的一种原子提交协议(atomic commitment)。它是一个分布式算法,协调在整个分布式原子事务中参与者的行为(commit或者roll back)。这个协议在一些系统错误发生时仍然能够成功,但并不能保证对所有错误都能进行容错。为了能做错误恢复,协议的所有参与者都需要使用日志对协议状态进行记录。它是一种用于故障恢复的方法,在系统运行日志无丢失的情况下,2PC协议对任何故障均有一定的恢复能力。2PC协议的基本思想是为全部的参与者做出提交或中止全部局部子事务的唯一决定。协议第一阶段是事务协调器联络事务中涉及的每个资源管理器,并通知它们准备提交事务。为了以肯定的方式响应准备阶段,资源管理器必须确保能在被要求提交事务时提交事务,或在被要求回滚事务时回滚事务。大多数资源管理器会将包含其计划更改的日记文件(或等效文件)写入持久存储区中。如果资源管理器无法准备事务,它会以一个否定响应来回应事务协调器。协议第二阶段是事务协调器收集来自资源管理器的所有响应。事务协调器将事务的结果通知给每个资源管理器,如果任一资源管理器做出否定响应,则事务协调器会将一个回滚命令发送给事务中涉及的所有资源管理器。如果资源管理器都做出肯定响应,则事务协调器会指示所有的资源管理器提交事务,一旦通知资源管理器提交,此后的事务就不能失败。通过以肯定的方式响应第一阶段,每个资源管理器均已确保,如果以后通知它提交事务,则事务不会失败。在结束本事务时,协调者与参与者以如图1所示的通信过程相互应答。
2.33PC协议
在2PC协议中,可能出现阻塞状态。所谓阻塞是指当参与
原创力文档


文档评论(0)