- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种改进3PC协议在返闹布式数据库安全中的研究
一种改进3PC协议在分布式数据库安全中的研究
摘 要 在对传统恢复协议进行研究和比较后,提出了一种基于冗余技术的改进三段提交协议,该协议通过增加协调者副本来减少信息交换量和阻塞次数, 提高了事务的成功率和协议的性能,基本能实现事务执行的无阻塞,在正确的实现故障恢复的前提下,保证了分布式数据库的可靠性和安全性。 关键词 分布式数据库 分布式恢复协议 故障恢复 三段提交协议0 引言 随着分布式数据库技术的广泛应用,其安全性也愈加受到人们的重视。目前,分布式数据库采用的安全性机制主要有:预防机制、监测机制、恢复机制。其中恢复机制是分布式数据库非常重要的组成部分。1 3PC协议概述1.1 三阶段提交协议(3PC) 三阶段协议(3PC)也是是在二阶段协议的基础上发展而来的,主要的思想是将事务的提交过程进行延长,增加了发起者结点的预提交状态和参与者结点的准备提交状态(PREPARECOM2MIT) ,因而在发生故障时参与者可以有更多的选择余地。具体的说,如果是参与者发生了故障,那么它重新启动后就向其他未发生故障的参与者发送查询消息,如果已经有结点进入PREPARECOMMIT状态那么故障结点就可以提交,因为发起者发出PREPARE TO COMMIT命令的前提是收到了所有参与者结点的READY消息。如果任意一个参与者都没有收到PREPARE TO COMMIT命令,就要考虑事务的发起者是否出现了故障,按照协议,所有无故障的参与者可依据某种策略(如排队法) 来产生新的发起者来结束事务,新的发起者可以撤消事务以使各参与者尽快释放所占有的资源。如果原来的发起者发生故障时已经有参与者收到了准备提交命令,则新推选出的参与者可发出COMMIT 命令提交事务。3PC虽然局部地解决了协议中的阻塞问题,但也会带来巨大的资源浪费,因为事务提交的效率总是受制于整个系统中最慢的结点或网络段。1.2 3PC协议的工作原理 在大多数情况下,二阶段提交协议是行之有效的,但是仍然会出现阻塞得情况,当参与者等待协调者的回答时,可能因为网络故障或协调者故障使之收不到回答信息而出现等待超时,这时事务进入等待状态。当故障一直持续时,则事务就一直处于阻塞状态,因此降低了整个系统的可用性。为此,引入3PC协议,这是一种非阻塞提交协议。这里所说的非阻塞的提交协议只是相对一定的故障模型,到目前为止还没有一种协议可以完全避免阻塞,但是可以通过一定的处理减少阻塞。 三阶段提交协议(3PC)用三个阶段完成事务提交过程,分别为:参与者投票表决阶段、预提交阶段、协调者决策等三个阶段。其中,用两个阶段完成Abort,用三个阶段完成Commit。它的基本原理为:在2PC的参与者投票和协调者决策之间增加了“预提交”阶段。协调者在接收到所有参与者的提交票后发送一个全局预提交命令,当参与者接收到全局预提交命令之后,它就得知其他的参与者都投了提交票,从而确定自己在稍后肯定会执行提交操作,除非它失败了。每个参与者都对全局预提交发出确认消息,协调者一旦接收到所有参与者的确认消息就再发出“全局性提交”。3PC协议在站点失败,甚至是所有的站点都失败的情况下也不会带来阻塞。3PC协议中协调者与参与者的交互图1.1所示:2 基于冗余技术的3PC协议的改进 冗余技术在分布式数据库中是经常采用的一种技术,而在故障恢复协议中,对于比较关键的结点,也可以引用冗余技术来为这些站点产生后备结点,故障出现时一旦断定该结点死亡,立即采用选取后备结点来接管工作,这样可以节省等待的时间,并减少结点间通讯的次数从而提高整个协议的执行效率。[3]2.1 改进协议的思想来源 与2PC 相比,3PC 增加了一个预提交的缓冲状态。故障发生时,参与者可以有更多地选择的余地,如果是参与者本身发生了故障,就重启此结点事务,并向其它结点发送查询消息,来确认是否可以提交;如果发现所有结点都没有收到预提交命令,那么就考虑协调者发生了故障,此时需要参与者通过一定的算法选出新的协调者来接管事务处理工作。在3PC协议中,如果可以使得占多数结点的参与者不关心协调者是否存活,也就是说协调者的死亡与新协调者的产生对于参与者是透明的,那么整个系统的体系结构将更为清晰,效率也更高。 在分布式数据库中经常采用适当增加数据的冗余度来提高系统的可靠性、可用性和改善系统的性能,通过在多个站点上存储数据的副本,使得当某一站点上的数据破坏时,系统仍可以正常运行。另外,系统还可以选择数据用户最近的数据副本进行操作,减少通信代价。[4]协调者在3PC中地位非常特殊而且非常重要,通过为其增加冗余来实现新的3PC协议,当前协调者被确认发生故障后,从其副本里选出合适的候选协调者,担任当前协调者的角色,已完成协调工作。但是,在新协议中,引入了超时技术和协调者之间在间隔时间内发消息询问的技术。2.2
您可能关注的文档
最近下载
- 人教版数学试卷五年级下册期末测试题9.doc VIP
- 人教版道德与法治七年级上册知识点梳理(00002).docx VIP
- DBJ∕T 13-71-2021 回弹法检测混凝土抗压强度技术规程.docx VIP
- 新生儿低血糖临床规范管理专家共识.pptx VIP
- 三角函数 新高考数学知识点总结与题型精练(新高考地区专用).docx VIP
- 沪教版六年级上册数学练习题(最全).doc VIP
- 组织效能提升工作 坊 系统思考:如何破除组织防卫,提高组织效能.docx
- 《GB30000.27-2013化学品分类和标签规范第27部分:吸入危害》最新解读.pptx VIP
- 园林绿化养护台账.docx VIP
- 智慧医院智慧消防系统设计方案.docx VIP
文档评论(0)