基于XA两阶段提交协议的分布式事务提交方法及装置制造方法及图纸

技术编号:37253901 阅读:18 留言:0更新日期:2023-04-20 23:31
本发明专利技术提供一种基于XA两阶段提交协议的分布式事务提交方法及装置,该方法包括:协调者根据当前事务的每个参与者的当前资源空闲率、对历史事务的提交成功率,以及从所述协调者到每个参与者之间的网络丢包率,计算每个参与者对所述当前事务的提交成功率;将每个参与者按照所述当前事务的提交成功率从小到大的顺序进行排序,根据排序结果依次向每个参与者发送提交消息,以供每个参与者根据所述提交消息提交所述当前事务;若接收到每个参与者发送的反馈消息为提交失败或超过预设时长未接收到每个参与者发送的反馈消息,则对所有参与者的当前事务进行回滚。本发明专利技术降低各参与者提交事务不一致的概率,同时减小数据不一致导致的回滚工作量。回滚工作量。回滚工作量。

【技术实现步骤摘要】
基于XA两阶段提交协议的分布式事务提交方法及装置


[0001]本专利技术涉及分布式事务
,尤其涉及一种基于XA两阶段提交协议的分布式事务提交方法及装置。

技术介绍

[0002]随着应用系统规模的逐步增大以及应用程序复杂度的增加,各类大型应用系统需要操作的数据库越来越多。一些复杂的大型电信业务BSS(Business Supporting System,业务支撑系统)应用系统,对跨库事务的要求非常多,且要求数据库的事务强一致性。并且因为建设时期不同、业务要求不同,可能需要在系统建设中采用不同类型的数据库,这将导致在一定时间段内系统中会并存两种甚至是多种数据库,如何在异构数据库中保证分布式事务的一致性,这对系统提出了更大的挑战。
[0003]传统的关系型数据库,如Oracle、Mysql、Polar DB和高斯等都是通过支持XA(Two

phase Commit,两阶段提交)协议的方式来支持分布式事务。传统的应用开发大多数也是基于XA两阶段协议进行开发的。如图1所示,XA两阶段协议包括准备阶段和提交阶段。准备阶段的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于XA两阶段提交协议的分布式事务提交方法,其特征在于,包括:协调者根据当前事务的每个参与者的当前资源空闲率、对历史事务的提交成功率,以及从所述协调者到每个参与者之间的网络丢包率,计算每个参与者对所述当前事务的提交成功率;将每个参与者按照所述当前事务的提交成功率从小到大的顺序进行排序,根据排序结果依次向每个参与者发送提交消息,以供每个参与者根据所述提交消息提交所述当前事务;若接收到每个参与者发送的反馈消息为提交失败或超过预设时长未接收到每个参与者发送的反馈消息,则对所有参与者的当前事务进行回滚。2.根据权利要求1所述的基于XA两阶段提交协议的分布式事务提交方法,其特征在于,所述协调者根据当前事务的每个参与者的当前资源空闲率、对历史事务的提交成功率,以及从所述协调者到每个参与者之间的网络丢包率,计算每个参与者对所述当前事务的提交成功率,包括:协调者根据当前事务的每个参与者的当前资源空闲率、所述当前资源空闲率对应的权重、对所述历史事务的提交成功率、从所述协调者到每个参与者之间的网络丢包率,以及所述网络丢包率对应的权重和预设常数,计算每个参与者对所述当前事务的提交成功率。3.根据权利要求2所述的基于XA两阶段提交协议的分布式事务提交方法,其特征在于,所述协调者通过以下公式根据当前事务的每个参与者的当前资源空闲率、所述当前资源空闲率对应的权重、对所述历史事务的提交成功率、从所述协调者到每个参与者之间的网络丢包率,以及所述网络丢包率对应的权重和预设常数,计算每个参与者对所述当前事务的提交成功率:SRI=Idle*W1+(1/PLR)*W2+HIS

SR+C;其中,SRI为所述当前事务的提交成功率,Idle为每个参与者的当前资源空闲率,PLR为从所述协调者到每个参与者之间的网络丢包率,HIS

SR为对所述历史事务的提交成功率,W1为所述当前资源空闲率对应的权重,W2为所述网络丢包率对应的权重,C为所述预设常数。4.根据权利要求1

3任一所述的基于XA两阶段提交协议的分布式事务提交方法,其特征在于,所述协调者根据当前事务的每个参与者的当前资源空闲率、对历史事务的提交成功率,以及从所述协调者到每个参与者之间的网络丢包率,计算每个参与者对所述当前事务的提交成功率之前,还包括:将每个参与者截止到当前对所述历史事务的成功提交次数除以每个参与者截止到当前对所述历史事务的总提交次数,获取每个参与者对所述历史...

【专利技术属性】
技术研发人员:王扎张歆郑展奋冯瑨琎丁鹏勇李莉李飞龙梁恩磊汪帆
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1