[发明专利]分布式事务防悬挂的实现方法和装置有效
申请号: | 201510891091.7 | 申请日: | 2015-12-07 |
公开(公告)号: | CN106844014B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 湛滨瑜 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务 悬挂 实现 方法 装置 | ||
本申请提供一种分布式事务防悬挂的实现方法,包括:接收包括全局标识的一阶段请求;若防悬挂控制表中存在已回滚状态的具有一阶段请求中全局标识的记录,一阶段处理失败;否则使防悬挂控制表中存在初始状态的具有一阶段请求中全局标识的记录,并进行一阶段业务处理;接收包括全局标识的二阶段回滚请求;使防悬挂控制表中存在已回滚状态的具有二阶段回滚请求中全局标识的记录,并基于全局标识进行二阶段回滚的业务处理。通过本申请的技术方案,使得分布式事务的发起者和参与者可以避免网络抖动等原因导致的事务悬挂,保证分布式事务的最终一致性;同时多分支事务场景下,发起者仅需要对参与者发起一次提交或回滚请求,提高了分布式事务的性能。
技术领域
本申请涉及数据管理技术领域,尤其涉及一种分布式事务防悬挂的实现方法和装置。
背景技术
分布式事务指一个涉及多次数据库操作的事务,多次数据操作可以是对不同数据库的操作,也可以是对一个数据库的多次操作。当一个分布式事务结束时,事务的一致性要求涉及到的所有服务器操作要么全部提交,要么全部中止。为了实现这一点,分布式系统事务处理通常采用二阶段提交方式,在一阶段,由发起者(或称协调者)向参与者发送请求,用来询问参与者是否可以完成由其负责的分布式事务分支,参与者向发起者回复一阶段处理成功或失败的结果;在二阶段,如果所有的参与者都回复一阶段处理成功,发起者向所有参与者发送二阶段提交请求,否则发送二阶段回滚请求,参与者根据发起者的二阶段请求执行提交或回滚操作。
在事务的处理过程中,由于不满足事务的一致性导致的无法回滚或无法提交的情况称为事务的悬挂。例如,在分布式事务处理中,如果由于网络的暂时故障,发起者发送给某个参与者的一阶段请求被延误导致发起者的一阶段请求超时,则发起者向所有参与者发送二阶段回滚请求;随着网络的恢复,该参与者先收到了发起者的二阶段回滚请求,该参与者执行空回滚,随后该参与者收到了发起者的一阶段请求,参与者执行该一阶段请求成功,而发起者的二阶段处理已经完毕,此时发生事务的悬挂。
现有技术中,在参与者上维护一张幂等控制表,每次收到发起者的一阶段请求,都将具有该请求对应的分布式事务分支本地标识(分布式事务分支在参与者上的唯一标识)的记录插入幂等控制表中,如果插入失败(幂等控制表中已存在具有该本地标识的记录),则一阶段处理失败。在参与者收到二阶段回滚请求后,如果幂等控制表中已经存在具有该请求对应的分布式事务分支本地标识的记录,进行二阶段回滚处理;否则在幂等控制表中插入该记录,并进行二阶段回滚处理。这样,可以在一定程度上防止发生事务的悬挂。
上述方案中采用分布式事务分支在参与者上的本地标识来进行防悬挂的控制。如果一个参与者负责多个分布式事务分支,发起者需要针对每个分布式事务分支分别向参与者发送二阶段回滚请求,才能使参与者采用每个分布式事务分支各自的本地标识来进行防悬挂控制,这严重影响了分布式系统的性能。
发明内容
有鉴于此,本申请提供一种分布式事务防悬挂的实现方法,应用于分布式事务的参与者,包括:
接收包括分布式事务全局标识的一阶段请求;
如果防悬挂控制表中存在已回滚状态的具有所述一阶段请求中全局标识的记录,则一阶段处理失败;否则使防悬挂控制表中存在初始状态的具有所述一阶段请求中全局标识的记录,并进行一阶段业务处理;
接收包括分布式事务全局标识的二阶段回滚请求;
使防悬挂控制表中存在已回滚状态的具有所述二阶段回滚请求中全局标识的记录,并基于所述全局标识进行二阶段回滚的业务处理。
本申请还提供了一种分布式事务防悬挂的实现装置,应用于分布式事务的参与者,包括:
一阶段请求接收单元,用于接收包括分布式事务全局标识的一阶段请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510891091.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有理疗系统的智能健康椅及其理疗方法
- 下一篇:柴油机水箱(1)