分布式事务处理方法、电子设备、存储介质及程序产品与流程

文档序号:37906647发布日期:2024-05-09 21:54阅读:12来源:国知局
分布式事务处理方法、电子设备、存储介质及程序产品与流程

本申请涉及分布式数据库,尤其涉及一种分布式事务处理方法、电子设备、存储介质及程序产品。


背景技术:

1、在分布式数据库系统中,通常使用两阶段提交(two-phase commit,2pc)协议解决参与者事务一致性问题,确保任一参与者故障(如宕机或者网络中断)后,仍然能够保障所有事务参与者有一致性的最终状态。该协议分为两个阶段:在准备阶段,协调者向各个参与者发送准备请求,参与者将事务状态反馈给协调者供其决定事务提交或回滚;在提交阶段,协调者向各参与者发送执行请求,通知各个参与者进行事务提交或者回滚操作。

2、为了实现2pc协议,目前主流的方案是将协调日志通过一个独立的事务的方式持久化在一张协调日志表上,即在提交阶段之前,协调者会启动一个单机事务,持久化存储一份提交记录,该提交记录中记录着事务的最终状态,可供宕机或网络中断的参与者在恢复后进行事务状态的恢复。

3、持久化提交记录会增加事务提交的响应延迟,降低吞吐量,极大地限制分布式数据库事务提交的性能和可扩展性,尤其是像联机事务处理(on-line transactionprocessing,oltp)等对事务响应及时性要求较高的数据库场景。


技术实现思路

1、本申请的多个方面提供一种分布式事务处理方法、电子设备、存储介质及程序产品,用以降低事务提交的响应延迟,提高吞吐量。

2、本申请实施例提供一种分布式事务处理方法,应用于分布式事务处理系统中的协调节点,包括:在启动目标事务的情况下,向所述目标事务关联的多个参与节点发送事务启动命令,以指示所述多个参与节点为所述目标事务分配持久化的状态存储区,所述多个参与节点被分为主参与节点和其它参与节点;向所述多个参与节点发送准备请求,以供所述多个参与节点执行事务准备操作并在所述状态存储区中记录所述目标事务的事务状态为准备状态;向所述主参与节点发送执行请求,以供所述主参与节点执行事务完成操作并更新所述状态存储区中记录的所述目标事务的事务状态为完结状态;以及在所述主参与节点返回执行完成消息的情况下,向所述其它参与节点发送所述执行请求,以供所述其它参与节点执行事务完成操作并更新所述目标事务的事务状态为完结状态,所述完结状态为提交状态或回滚状态。

3、本申请实施例提供一种分布式事务处理方法,应用于分布式事务处理系统中的协调节点,包括:在启动目标事务的情况下,向所述目标事务关联的多个参与节点发送事务启动命令,以指示所述多个参与节点为所述目标事务分配持久化的状态存储区,所述多个参与节点的身份对等;向所述多个参与节点发送准备请求,以供所述多个参与节点执行事务准备操作并在所述状态存储区中记录所述目标事务的事务状态为准备状态;向所述多个参与节点发送执行请求,以供所述多个参与节点执行事务完成操作并更新所述状态存储区中记录的所述目标事务的事务状态为完结状态,所述完结状态为提交状态或回滚状态。

4、本申请实施例提供一种分布式事务处理方法,应用于分布式事务处理系统中的第一参与节点,包括:接收协调节点针对目标事务发送的事务启动命令,为所述目标事务分配持久化的状态存储区,所述状态存储区用于记录所述目标事务的事务状态;在接收到所述协调节点发送的准备请求时,执行事务准备操作,并在所述状态存储区中记录所述目标事务的事务状态为准备状态;在接收到所述协调节点发送的执行请求时,执行事务完成操作,并更新所述状态存储区中记录的所述目标事务的事务状态为完结状态,所述完结状态为提交状态或回滚状态。

5、本申请实施例还提供一种电子设备,包括:存储器和处理器;存储器中存储有计算机程序,处理器与存储器耦合,用于执行计算机程序,以用于实现上述方法中的步骤。

6、本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现上述方法中的步骤。

7、本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法中的步骤。

8、在本申请实施例中,将协调节点持久化事务状态日志的过程下沉到各个参与节点,由各个参与节点通过状态存储区来持久化记录各个事务在提交流程中的事务状态并最终维护各个事务的完结状态,在有参与节点发生故障并重新恢复后能够依据参与节点持久化记录的各个事务的事务状态进行事务恢复,不仅可以确保任一参与节点故障或网络中断后仍然能够保障所有参与节点有一致性的最终状态,还可以节约协调节点持久化事务状态日志的操作,降低事务提交的响应延迟,提高吞吐量。



技术特征:

1.一种分布式事务处理方法,其特征在于,应用于分布式事务处理系统中的协调节点,所述方法包括:

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

3.一种分布式事务处理方法,其特征在于,应用于分布式事务处理系统中的协调节点,所述方法包括:

4.一种分布式事务处理方法,其特征在于,应用于分布式事务处理系统中的第一参与节点,包括:

5.根据权利要求4所述的方法,其特征在于,在为所述目标事务分配持久化的状态存储区之后,还包括:

6.根据权利要求4所述的方法,其特征在于,在所述状态存储区中记录所述目标事务的事务状态为准备状态,包括:

7.根据权利要求4所述的方法,其特征在于,更新所述状态存储区中记录的所述目标事务的事务状态为完结状态,包括:

8.根据权利要求4-7任一项所述的方法,其特征在于,所述目标事务关联的多个参与节点被分为主参与节点和其它参与节点,在所述第一参与节点为所述其它参与节点的情况下,所述方法还包括:

9.根据权利要求4-7任一项所述的方法,其特征在于,所述目标事务关联的多个参与节点被分为主参与节点和其它参与节点,在所述第一参与节点为所述主参与节点的情况下,所述方法还包括:

10.根据权利要求4-7任一项所述的方法,其特征在于,所述目标事务关联的多个参与节点的身份对象,所述方法还包括:

11.根据权利要求10所述的方法,其特征在于,根据所述其它参与节点返回的所述第三事务的当前事务状态,确定所述第三事务的完结状态,包括:

12.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器中存储有计算机程序,所述处理器与所述存储器耦合,用于执行所述计算机程序,以用于实现权利要求1-2或3或4-11中任一项所述方法中的步骤。

13.一种存储有计算机程序/指令的计算机可读存储介质,其特征在于,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现权利要求1-2或3或4-11中任一项所述方法中的步骤。

14.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现权利要求1-2或3或4-11中任一项所述方法中的步骤。


技术总结
本申请实施例提供一种分布式事务处理方法、电子设备、存储介质及程序产品。在本申请实施例中,将协调节点持久化事务状态日志的过程下沉到各个参与节点,由各个参与节点通过状态存储区来持久化记录各个事务在提交流程中的事务状态并最终维护各个事务的完结状态,在有参与节点发生故障并重新恢复后能够依据参与节点持久化记录的各个事务的事务状态进行事务恢复,不仅可以确保任一参与节点故障或网络中断后仍然能够保障所有参与节点有一致性的最终状态,还可以节约协调节点持久化事务状态日志的操作,降低事务提交的响应延迟,提高吞吐量。

技术研发人员:张纪杨
受保护的技术使用者:阿里云计算有限公司
技术研发日:
技术公布日:2024/5/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1