System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() XA状态的同步方法、装置、电子设备及存储介质制造方法及图纸_技高网

XA状态的同步方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40810553 阅读:6 留言:0更新日期:2024-03-28 19:32
本申请涉及一种XA状态的同步方法、装置、电子设备及存储介质,该方法应用于管理者节点中的第一节点,管理者节点包括一个第一节点与至少一个第二节点,包括:响应于协调者节点发送的状态设置请求,根据状态设置请求更新第一XA信息;生成同步请求消息,同步请求消息包括增量同步请求消息;向第二节点发送增量同步请求消息,以使第二节点在接收到增量同步请求消息后根据第一XA信息增量同步第二XA信息,并根据第二XA信息更新第二XA状态;响应于第二节点返回的同步完成消息,根据状态设置请求变更第一XA状态;向协调者节点返回状态设置应答,完成第一节点与协调者节点的XA状态的同步。通过采用本申请提供的技术方案,有效的提升了管理者节点的可靠性。

【技术实现步骤摘要】

本申请涉及分布式数据库领域,尤其涉及一种xa状态的同步方法、装置、电子设备及存储介质。


技术介绍

1、xa协议即x/open dtp定义的交易中间件与数据库之间的接口规范,中间件可以通过xa协议来通知数据库事务的开始、结束、提交或回滚。当前,在运用xa协议的主流数据库中,数据库多采用管理者、协调者、参与者结合的架构模型,通过管理者来维护多分支xa事务的xa状态,以保证多分支xa事务的强一致性。

2、在进行多分支xa事务的管理时,每个分支的xa事务在进行过程中存在有不同的xa状态,协调者存在xa状态变更时,会向管理者发送xa状态设置请求,管理者在接收到xa状态设置请求后根据xa状态设置请求对自身的xa状态进行变更,以实现多分支xa事务的同步。同时,管理者还会根据变更后的xa状态更新用于描述xa事务的xa信息,以对xa事务进行管理。

3、然而,当前在关管理者与协调者进行xa状态同步时,一旦管理者出现故障宕机,用于描述xa事务的xa信息就会丢失,此时若协调者向管理者查询xa事务的xa信息,就会根据错误的xa信息变更为错误的xa状态,从而导致分布式数据库数据不一致的问题。

4、现有的xa状态变更方法在管理者出现故障时难以保证多分支xa事务的强一致性,管理者的可靠性较差。


技术实现思路

1、本申请提供了一种xa状态的同步方法、装置、电子设备及存储介质,以提升管理者的可靠性。

2、第一方面,本申请提供了一种xa状态的同步方法,应用于管理者节点中的第一节点,所述管理者节点包括一个所述第一节点与至少一个第二节点,所述方法包括:

3、响应于协调者节点发送的状态设置请求,根据所述状态设置请求更新第一xa信息;其中,所述第一xa信息为所述第一节点的xa信息,所述第一节点为当前向所述协调者节点提供服务的节点;

4、生成同步请求消息,所述同步请求消息包括增量同步请求消息;

5、向所述第二节点发送所述增量同步请求消息,以使所述第二节点在接收到所述增量同步请求消息后根据所述第一xa信息增量同步第二xa信息,并根据所述第二xa信息更新第二xa状态;其中,所述第二节点在所述第一节点故障时向所述协调者节点提供服务,所述第二xa信息为所述第二节点的xa信息,所述第二xa状态为所述第二节点的xa状态;

6、响应于所述第二节点返回的同步完成消息,根据所述状态设置请求变更第一xa状态;其中,所述第一xa状态为所述第一节点的xa状态;

7、向所述协调者节点返回状态设置应答,完成所述第一节点与所述协调者节点的xa状态的同步。

8、第二方面,本申请提供了一种xa状态的同步方法装置,所述装置包括:

9、第一更新模块,用于响应于协调者节点发送的状态设置请求,根据所述状态设置请求更新第一xa信息,并生成同步请求消息,所述同步请求消息包括增量同步请求消息;其中,所述第一xa信息为所述第一节点的xa信息,所述第一节点为当前向所述协调者节点提供服务的节点;

10、生成模块,用于生成同步请求消息,所述同步请求消息包括增量同步请求消息;

11、第一发送模块,用于向所述第二节点发送所述增量同步请求消息,以使所述第二节点在接收到所述增量同步请求消息后根据所述第一xa信息增量同步第二xa信息,并根据所述第二xa信息更新第二xa状态;其中,所述第二xa信息为所述第二节点的xa信息,所述第二xa状态为所述第二节点的xa状态;

12、变更模块,用于响应于所述第二节点返回的同步完成消息,根据所述状态设置请求变更第一xa状态;其中,所述第一xa状态为所述第一节点的xa状态;

13、应答模块,用于向所述协调者节点返回状态设置应答,完成所述第一节点与所述协调者节点的xa状态的同步。

14、第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述处理器被配置为用于执行上述第一方面所述的一种xa状态的同步方法。

15、第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述第一方面所述的一种xa状态的同步方法。

16、本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,在管理者节点中设置有一个第一节点与至少一个第二节点,第一节点当前为协调者节点提供服务,若第一节点出现故障,第二节点同样可以为协调者节点提供服务;同时,第一节点与第二节点的xa信息与xa状态完全同步,在出现故障切换提供服务的节点时,也能保证协调者节点查询的xa信息的一致性。通过第一节点与第二节点的设置,以及第一节点与第二节点的同步方法,有效的提升了管理者节点的可靠性,解决了现有技术中管理者节点可靠性差而导致的xa事务不一致的问题。

本文档来自技高网...

【技术保护点】

1.一种XA状态的同步方法,其特征在于,应用于管理者节点中的第一节点,所述管理者节点包括一个所述第一节点与至少一个第二节点,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述同步请求消息还包括全量同步请求消息,生成同步请求消息后,还包括:

3.根据权利要求2所述的方法,其特征在于,生成同步请求消息,包括:

4.根据权利要求1所述的方法,其特征在于,生成同步请求消息后,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,生成同步请求消息后,所述方法还包括:

6.根据权利要求4所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,对所述第一XA信息进行更新,包括:

8.一种XA状态的同步装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述处理器被配置为能够实现权利要求1-7中任一所述的方法。

10.一种计算机存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1-7中任一所述的方法。

...

【技术特征摘要】

1.一种xa状态的同步方法,其特征在于,应用于管理者节点中的第一节点,所述管理者节点包括一个所述第一节点与至少一个第二节点,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述同步请求消息还包括全量同步请求消息,生成同步请求消息后,还包括:

3.根据权利要求2所述的方法,其特征在于,生成同步请求消息,包括:

4.根据权利要求1所述的方法,其特征在于,生成同步请求消息后,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,生成同步请求消息后,所述方法还包括:

6.根据权利要求4所述的方法,其特征在...

【专利技术属性】
技术研发人员:夏鸣轩任济双徐文锋吴小明
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1