[发明专利]用于分布式事务的两阶段提交协议混合在审
申请号: | 201610081109.1 | 申请日: | 2016-02-05 |
公开(公告)号: | CN107045453A | 公开(公告)日: | 2017-08-15 |
发明(设计)人: | S.L.布罗伊德;J.德罗奥;S-S.童;刘明 | 申请(专利权)人: | 慧与发展有限责任合伙企业 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F17/30 |
代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 李雪娜,陈岚 |
地址: | 美国德*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 分布式 事务 阶段 提交 协议 混合 | ||
背景技术
在事务处理、数据库和计算机联网中,两阶段提交协议是原子提交协议的类型。原子提交可以被描述为将不同改变的集合应用为单个操作的操作。原子提交可以被表示为在改变被应用的情况下已经成功,并且如果在原子提交可能完成之前存在故障,则原子提交中完成的所有改变被反转。在原子提交中完成的所有改变的该反转方面可以确保系统在故障的情况下保持处于一致状态。原子提交进一步包括其中在任何给定时间处理一个原子提交的隔离的属性。例如,原子提交可以在数据库系统、修订控制系统和其他这样的领域中使用。
附图说明
本公开的特征通过示例的方式图示,并且不限于(一个或多个)以下各图,其中相同的附图标记指示相同的元件,在附图中:
图1图示了根据本公开的示例的用于分布式事务的两阶段提交协议混合的装置的布局;
图2图示了根据本公开的示例的用于图1的用于分布式事务的两阶段提交协议混合的装置的环境;
图3图示了根据本公开的示例的用于实现图1的用于分布式事务的两阶段提交协议混合的装置的方法的流程图;
图4图示了根据本公开的示例的用于实现图1的用于分布式事务的两阶段提交协议混合的装置的方法的另一流程图;
图5图示了根据本公开的示例的用于实现图1的用于分布式事务的两阶段提交协议混合的装置的方法的另一流程图;以及
图6图示了根据本公开的示例的计算机系统。
具体实施方式
为了简化和说明的目的,通过主要参考示例来描述本公开。在下面的描述中,阐述了许多特定细节,以便于提供对本公开的全面理解。然而,将容易地显而易见的是,可以在不限于这些特定细节的情况下实践本公开。在其他情况下,一些方法和结构尚未被详细描述,以免不必要地模糊本公开。
贯穿本公开,术语“一”和“一个”旨在表示特定元件中的至少一个。如本文中使用的,术语“包含”意为包括但不限于,术语“包括”意为包括但不限于。术语“基于”意为至少部分地基于。
在事务处理、数据库、计算机联网以及其他这样的领域中,两阶段提交协议是可以被描述为机器可读指令的分布式集合的原子提交协议的类型,其中,两阶段提交协议协调参与关于提交还是中止(即,回滚)事务的分布式原子事务的所有过程。两阶段提交协议实现其提交事务的目标,甚至在临时系统故障的许多情况下,例如涉及关联的过程、网络节点、通信等的故障。为了适应从故障恢复,两阶段提交协议的参与方可以使用两阶段提交协议的状态的登记(logging)。在这方面,可以通过两阶段提交协议的恢复过程来使用日志记录。
使用两阶段提交协议的解决方案可以包括数据操纵语言阶段(例如,阶段0),其中执行所有的事务插入、更新和删除操作。在使用锁定管理(例如,通过锁定管理模块实现)的实现方式中,锁定可以在阶段0期间被获得和积累。进一步关于阶段0,两阶段提交协议的操作可以包括提交请求阶段(本文也作为投票阶段、准备阶段或阶段1)和提交阶段(本文也称为阶段2)。对于实现如本文中公开的推定准备好协议的参与方,每个数据操纵语言操作可以被评估为包括暗示的提交请求阶段(即,阶段1),使得事务可在任何时刻提交,只要没有数据操纵语言请求返回错误。关于数据操纵语言请求的任何错误(在合适的重试之后,在适用的情况下)可能导致中止。
锁定可被描述为防止其他并发事务在当前事务正在进行的同时修改底层数据的机制。作为锁定的替代或附加,数据库可以使用乐观并发控制,并且如果检测到冲突则中止。锁定可以继续被保持,直至如本文公开的阶段2的结束,在所有数据操纵语言操作被执行并安全存储在审计尾迹(audit trail)中之后。
描述数据修改的审计记录可以被置于审计服务高速缓存中的审计缓冲器中,但是这些审计缓冲器可能没有被刷新(flush),或审计记录可以在阶段0期间被安全存储在例如盘上。审计尾迹可以提供在数据库中的数据持久性的实现。在事务完成如本文公开的阶段2之前,可以例如通过盘、固态驱动(SSD)、非易失性随机存取存储器(RAM)、n副本等来使审计记录持久,使得在未计划的中断的情况下,审计记录本身可以用于重建未应用的事务并且使数据库一致。在某些两阶段提交协议中,审计记录没有被刷新到磁盘并且被保持在存储器中,直到准备阶段(即阶段1)之后为止。在如本文所公开的推定准备好的情况下,在每个数据操纵语言操作之后,可以使得审计记录持久,从而使得准备消息对于实现假定准备好协议(presumed prepared protocol)的那些参与方是过时的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于慧与发展有限责任合伙企业,未经慧与发展有限责任合伙企业许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610081109.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟机调度方法和装置
- 下一篇:跨进程分布式事务控制方法及相关系统