CN116414527A - 一种分布式事务协调器大幅提高性能方法及系统 - Google Patents

一种分布式事务协调器大幅提高性能方法及系统 Download PDF

Info

Publication number
CN116414527A
CN116414527A CN202310337973.3A CN202310337973A CN116414527A CN 116414527 A CN116414527 A CN 116414527A CN 202310337973 A CN202310337973 A CN 202310337973A CN 116414527 A CN116414527 A CN 116414527A
Authority
CN
China
Prior art keywords
transaction
coordinator
service
resource manager
branch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310337973.3A
Other languages
English (en)
Inventor
吕先正
徐晓剑
刘文涛
程佳
冯振海
刘博�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Citic Bank Corp Ltd
Original Assignee
China Citic Bank Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Citic Bank Corp Ltd filed Critical China Citic Bank Corp Ltd
Priority to CN202310337973.3A priority Critical patent/CN116414527A/zh
Publication of CN116414527A publication Critical patent/CN116414527A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种分布式事务协调器大幅提高性能方法及系统,包括:事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;事务协调器向第一资源管理器以及第一资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。大幅提高了分布式事务的处理性能,提高吞吐量和降低延时。

Description

一种分布式事务协调器大幅提高性能方法及系统
技术领域
本发明涉及分布式事务技术领域,尤其涉及一种分布式事务协调器大幅提高性能方法及系统。
背景技术
分布式事务的角色一般分为AP(应用程序ApplicationProgram),TM(事务管理器TransactionManager),RM(资源管理器ResourceManagers),TC(事务协调器TransactionCoordinator)。TM负责发起分布式事务和发起提交分布式事务,RM负责管理分布式事务中的资源,按需要锁定,TC负责记录分布式事务的事务状态和分支状态,按需要向各分支发起提交或回滚。
当前的分布式事务实现中,大都采用了两阶段提交协议。目前的两阶段提交协议包括一阶段的全局事务注册和分支注册,和二阶段的提交回滚。这两个阶段过程繁琐,TC和RM、TM交互过多,同步等待过多,使得分布式事务实现性能较差,延时较高,无法满足当前高速发展的高吞吐量的微服务应用的需求。
发明内容
为解决现有技术的不足,本发明提出一种分布式事务协调器大幅提高性能方法及系统,最大限度的节约事务协调器和资源管理器以及事务管理器交互,从而大幅提高分布式事务的处理性能,提高吞吐量和降低延时。
为实现以上目的,本发明所采用的技术方案包括:
一种分布式事务协调器大幅提高性能方法,其特征在于,包括:
S1、客户端调用服务A,开启待处理分布事务;
S2、事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;
S3、访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;
S4、服务A调用服务B,将事务上下文传递至服务B;
S5、服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;
S6、服务B将更新后的事务上下文返回至服务A;
S7、服务A接收到服务B的响应,全局事务第一阶段完成调用;
S8、事务协调器向第一资源管理器以及第二资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。
进一步地,所述步骤S2包括子步骤:
S21、事务协调器判断待处理分布事务是否为第一次执行;
S22、若待处理分布事务是第一次执行,则事务协调器将事务信息写入存储;
S23、若待处理分布事务不是第一次执行,则判断是否存在预先分配的事务标识;
S24、若不存在预先分配的事务标识,则将处理过此类待处理分布事务的资源管理器与待处理分布事务进行关联,并存储事务信息以及关联事务资源信息;
S25、若存在预先分配的事务标识,事务管理器从预先设置的事务标识中分配事务标识。
进一步地,所述方法还包括:事务协调器向第一资源管理器以及第二资源管理器发起第二阶段回滚,多个事务分支合并执行,将完成的全局事务状态更新。
进一步地,所述步骤S8包括:
事务协调器向第一资源管理器发起第二阶段提交;
第一资源管理器将多个事务分支合并执行,发送至事务协调器;
事务协调器检查所有分支是否完成;
若所有分支已完成,则将完成状态写入异步队列。
进一步地,所述步骤S8还包括:
事务协调器向第二资源管理器发起第二阶段提交;
第二资源管理器将多个事务分支合并执行,发送至事务协调器;
事务协调器检查所有分支是否完成;
若所有分支已完成,则将完成状态写入异步队列。
进一步地,所述步骤S7包括:
服务A将服务B响应的事务上下文更新。
本发明还包括一种分布式事务协调器大幅提高性能系统,其特征在于,包括:
事务开启模块,用于调用服务A,开启待处理分布事务;
全局事务标识分配模块,用于事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;
第一分支标识生成模块,用于访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;
服务调用模块,用于服务A调用服务B,将事务上下文传递至服务B;
第二分支标识生成模块,用于服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;
返回模块,用于服务B将更新后的事务上下文返回至服务A;
响应接收模块,用于服务A接收到服务B的响应,全局事务第一阶段完成调用;
分支合并执行模块,用于事务协调器向第一资源管理器以及第一资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。
本发明还包括一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的分布式事务协调器大幅提高性能方法。
本发明还包括一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储事务上下文;
所述处理器,用于通过调用事务上下文,执行上述的分布式事务协调器大幅提高性能方法。
本发明还包括一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述分布式事务协调器大幅提高性能方法的步骤。
本发明的有益效果为:
采用本发明所述分布式事务协调器大幅提高性能方法及系统,引入调用路径上下文传递和预测跟踪模型;在上一事务完成时,就预先分配全局事务标识并预测该事务所涉及的资源管理器分支。可进行分支注册、分支回滚以及分支合并,在二阶段可并发提交及并发回滚;在二阶段提交结束预分配下次调用事务标识;对存储进行分片,分批提交存储。本发明所述分布式事务协调器大幅提高性能方法及系统使得事务管理没有单点的问题,性能提升1个数量级以上,可以根据性能需要进行线性扩展,单笔交易时延降低。本方法及系统最大限度的节约事务协调器和资源管理器以及事务管理器交互,从而大幅提高分布式事务的处理性能,提高吞吐量和降低延时。
附图说明
图1为本发明一种分布式事务协调器大幅提高性能方法流程示意图。
图2为本发明一种分布式事务协调器大幅提高性能系统结构示意图。
具体实施方式
为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
本发明第一方面涉及一种分布式事务协调器大幅提高性能方法步骤流程如图1所示的方法,包括:
1、客户端调用服务A,开启分布事务;
2、服务A的事务管理器向事务协调器注册全局事务;事务协调器检查该类事务是否为第一次执行?
(1)若该类事务是第一次执行:事务协调器分配全局事务标识xid,并将事务标识,事务名称,应用程序标识等信息写入存储;
事务协调器返回响应包括事务标识xid给服务A;
服务A将全局事务标识xid保存到事务上下文;
(2)若该类事务不是第一次执行,再判断是否存在预先分配的事务标识?
若不存在预先分配的事务标识:事务协调器将参与过该类事务的资源管理器RMs关联到该事务,并分配全局事务标识xid,并将事务标识,事务名称,应用程序标识,关联事务资源等信息写入存储;
事务协调器返回响应包括事务标识xid和预测到的事务关联资源信息给服务A;
服务A将全局事务标识xid和预测到的事务关联资源信息保存到事务上下文;
若存在预先分配的事务标识:服务A的事务管理器TM直接从缓存的事务标识中分配事务标识xid,并将全局事务标识xid和预测到的事务关联资源信息保存到事务上下文;
3、服务A访问资源管理器RM1,根据事务上下文检查资源管理器RM1是否在预测资源中?
(1)资源管理器RM1不在预测资源中:资源管理器RM1向事务协调器注册事务资源分支;
事务协调器从存储读取全局事务信息进行校验,并检查该事务资源是否已经存在?
如果事务资源不存在,将事务资源分支信息写入数据库;
如果事务资源存在,更新其状态,然后返回已注册该事务资源关联信息;
RM1根据注册结果,将RM1作为预测资源信息和生成的分支标识branchId1保存事务上下文中;
(2)资源管理器RM1在预测资源中:RM1直接生成分支标识branchId1保存事务上下文中;
(3)更新资源管理器RM1为实际参与,调用资源到事务上下文中;如调用多次,增加分支id到事务上下文中
4、服务A调用服务B,服务器A将全局事务信息(包括标识和上下文)传递到服务B;
服务器B访问资源管理器RM2(同服务器A访问资源管理器RM1)
5、服务B执行完成,服务B携带更新后的事务上下文包括RM2预测和实际执行的RM和分支返回响应给服务A;
6、服务A接收到B响应,服务器A将B响应的事务上下文更新到本地,全局事务第一阶段完成调用
7、二阶段提交或者回滚
服务A事务管理器TM向事务协调器发起全局事务提交或者回滚;
事务协调器读取并更新事务状态到存储;
事务协调器读取事务信息,在内存缓存中寻找关联资源信息;
若找到关联资源信息,则使用该关联资源信息;
若找不到关联资源信息,从数据库加载到内存,根据事务和资源关系,生成资源分支。
事务协调器向资源管理器RM1,RM2发起并发分支提交或者回滚请求;
服务器A的资源管理器RM1将多个具体分支合并执行,发送响应给事务协调器,事务协调器收到响应检查所有分支是否完成。
事务协调器检查所有分支完成后,将完成状态写入异步队列中,另外线程等待异步更新存储,该线程直接返回服务A的事务;
事务协调器另外线程等待异步更新,将完成的全局事务状态更新到存储;
8、发送响应给服务A的事务管理器TM;若检查到请求频繁,预分配事务标识和响应一起返回;
服务A的TM接到响应清理事务上下文信息,如有预分配事务保存到缓存中。
本发明方法在服务调用过程中,携带上下文,上下文中增加实际调用的路径和参与的RM,以及预测的参与RM,如果是预测到的分支,就不再发起分支注册。使得分布式事务创建和执行过程中,除了第一次调用外,可以省略掉虚线执行部分,从而大幅度提高性能。
即在第一次调用后,事务协调器保存该类别事务参与的所有资源(RM参与方,即资源管理器),第二次调用后,在注册开启全局事务的时候,根据之前调用参与的资源,预测所有资源,后续调用会继续参与该事务。当事务参与方发现自己被预测到,就不需要再次向事务协调器注册自己参与这类事务。
本发明在上一事务完成时,就预先分配全局事务标识并预测该事务所涉及的资源管理器分支。
预测该事务所涉及的资源管理器分支是根据该事务发起方的应用标识,函数和名称等标识调用发起方。一般情况下,事务发起方后续调用的服务路径基本不会发生改变,或者依据发起方的数据调用路径有所不同,根据历史调用路径,推测下次调用路径和参与事务的分支,以节约注册分支的开销。
在全局事务注册的时候,可能有的执行路径没有预测到,在没有命中的情况下,RM继续向TC注册该资源,并调整下一次的预测模型。
分支提交的时候,可以根据预测的分支和命中预测的统计信息,进行RM分支预测模型的调整。
分支回滚的时候,根据预测的分支集合,向所有RM发起回滚,RM分支需要根据实际情况支持空回滚。
一个事务的某参与者被调用的次数不需要保存到事务协调器,只保存在调用的事务上下文中。并且每个分支在本地生成唯一的分支标识,来区分不同的分支。每个资源参与者做2阶段提交时按照分支正序提交,回滚时按照分支逆序提交。
在同一事务内,多次调用同一RM,所产生的分支不同,二阶段执行的时候,合并为一次调用,使得提交和回滚并发成为可能,并减少网络开销。
在事务的第二阶段,如果串行执行对每个分支都进行提交,当分支过多时,网络开销和时延特别大。将每个RM分支都进行并行提交,时延的限制在耗时最多的一分支,这样,整体的时延就会降低到一个分支的时延。
在事务的第二阶段,如果串行执行对每个分支都进行回滚,当分支过多时,网络开销和时延特别大。将每个RM分支都进行并行回滚,时延的限制在耗时最多的一RM分支,这样,整体回滚的时延就会降低到一个分支的时延。每个RM回滚时,在本地按照逆序进行同一RM的本地回滚。
正常情况下每个事务都需要向事务协调器注册并保存。当请求频率非常的时候,每个事务都向事务协调器注册,这种时候改为批量处理模式。
事务协调器发现该类事务请求频率较高,根据上一秒分配量,提前分配合适的事务标识给请求方。请求方需要使用的时候,就不需要再向事务协调器请求。这种批量处理的方式,对每个事务节约了一次网络调用和存储操作。
在事务调用较多性能模式下时,根据统计信息,在本事务二阶段提交结束的时候,按时间或者都吞吐量预分配一批全局事务标识,下次再调用的时候,将直接可以使用,而不必再由TM向TC申请,即节约了网络开销,又节约了TC端存储的开销。
在事务调用较多性能模式下时,存储会成为系统扩展和性能的瓶颈。对存储进行分片,根据一定的值如全局事务标识,对存储进行分片,将存储压力分配到多个节点,提高系统扩展性和性能。
当一个存储分片故障时,系统实时隔离该存储分片,提高系统可用性。
当事务协调器的某一个存储故障时,立刻隔离该存储,只会影响到该存储上已经存储的事务日志。对于新的请求,全部路由到工作正常的存储上,等待故障存储恢复后,再重新负载均衡。
在事务二阶段提交结束的时候,由于持久化原因,存储会成为系统扩展和性能的瓶颈,多个线程等待持久化,浪费较多时间。引入队列机制,将联机单笔存储模式改为联机批量写入存储模式,提高存储持久化的效率,节约时间。
将完成事务的事务标识临时保存到内存中,当超过一定时间或者数量时,批量来更新事务日志到存储,并且不影响事务的正确性。如果没有更新时,系统停机,会对这部分事务发起重试而不影响正确性。
对于存储的数据,属于事务的日志,数据量较少。将数据缓存在内存中,节约访问存储的时间。
本发明将完成事务的事务标识临时保存到内存中,当超过一定时间或者数量时,批量来更新事务日志到存储,并且不影响事务的正确性。如果没有更新时,系统停机,会对这部分事务发起重试而不影响正确性。
本发明另一方面还涉及一种分布式事务协调器大幅提高性能系统,其结构如图2所示,包括:
事务开启模块,用于调用服务A,开启待处理分布事务;
全局事务标识分配模块,用于事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;
第一分支标识生成模块,用于访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;
服务调用模块,用于服务A调用服务B,将事务上下文传递至服务B;
第二分支标识生成模块,用于服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;
返回模块,用于服务B将更新后的事务上下文返回至服务A;
响应接收模块,用于服务A接收到服务B的响应,全局事务第一阶段完成调用;
分支合并执行模块,用于事务协调器向第一资源管理器以及第一资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。
通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。
本发明的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤。
本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,例如事务上下文等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为LCD显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (10)

1.一种分布式事务协调器大幅提高性能方法,其特征在于,包括:
S1、客户端调用服务A,开启待处理分布事务;
S2、事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;
S3、访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;
S4、服务A调用服务B,将事务上下文传递至服务B;
S5、服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;
S6、服务B将更新后的事务上下文返回至服务A;
S7、服务A接收到服务B的响应,全局事务第一阶段完成调用;
S8、事务协调器向第一资源管理器以及第二资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。
2.如权利要求1所述的方法,其特征在于,所述步骤S2包括子步骤:
S21、事务协调器判断待处理分布事务是否为第一次执行;
S22、若待处理分布事务是第一次执行,则事务协调器将事务信息写入存储;
S23、若待处理分布事务不是第一次执行,则判断是否存在预先分配的事务标识;
S24、若不存在预先分配的事务标识,则将处理过此类待处理分布事务的资源管理器与待处理分布事务进行关联,并存储事务信息以及关联事务资源信息;
S25、若存在预先分配的事务标识,事务管理器从预先设置的事务标识中分配事务标识。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:事务协调器向第一资源管理器以及第二资源管理器发起第二阶段回滚,多个事务分支合并执行,将完成的全局事务状态更新。
4.如权利要求1所述的方法,其特征在于,所述步骤S8包括:
事务协调器向第一资源管理器发起第二阶段提交;
第一资源管理器将多个事务分支合并执行,发送至事务协调器;
事务协调器检查所有分支是否完成;
若所有分支已完成,则将完成状态写入异步队列。
5.如权利要求1所述的方法,其特征在于,所述步骤S8还包括:
事务协调器向第二资源管理器发起第二阶段提交;
第二资源管理器将多个事务分支合并执行,发送至事务协调器;
事务协调器检查所有分支是否完成;
若所有分支已完成,则将完成状态写入异步队列。
6.如权利要求1所述的方法,其特征在于,所述步骤S7包括:
服务A将服务B响应的事务上下文更新。
7.一种分布式事务协调器大幅提高性能系统,其特征在于,包括:
事务开启模块,用于调用服务A,开启待处理分布事务;
全局事务标识分配模块,用于事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;
第一分支标识生成模块,用于访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;
服务调用模块,用于服务A调用服务B,将事务上下文传递至服务B;
第二分支标识生成模块,用于服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;
返回模块,用于服务B将更新后的事务上下文返回至服务A;
响应接收模块,用于服务A接收到服务B的响应,全局事务第一阶段完成调用;
分支合并执行模块,用于事务协调器向第一资源管理器以及第一资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。
8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的分布式事务协调器大幅提高性能方法。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储事务上下文;
所述处理器,用于通过调用事务上下文,执行权利要求1至6中任一项所述的分布式事务协调器大幅提高性能方法。
10.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至6中任一项所述分布式事务协调器大幅提高性能方法的步骤。
CN202310337973.3A 2023-03-31 2023-03-31 一种分布式事务协调器大幅提高性能方法及系统 Pending CN116414527A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310337973.3A CN116414527A (zh) 2023-03-31 2023-03-31 一种分布式事务协调器大幅提高性能方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310337973.3A CN116414527A (zh) 2023-03-31 2023-03-31 一种分布式事务协调器大幅提高性能方法及系统

Publications (1)

Publication Number Publication Date
CN116414527A true CN116414527A (zh) 2023-07-11

Family

ID=87052639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310337973.3A Pending CN116414527A (zh) 2023-03-31 2023-03-31 一种分布式事务协调器大幅提高性能方法及系统

Country Status (1)

Country Link
CN (1) CN116414527A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112149A (zh) * 2023-10-24 2023-11-24 苔花科迈(西安)信息技术有限公司 一种矿区矿井业务流程联通方法、装置、介质及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112149A (zh) * 2023-10-24 2023-11-24 苔花科迈(西安)信息技术有限公司 一种矿区矿井业务流程联通方法、装置、介质及设备
CN117112149B (zh) * 2023-10-24 2024-02-06 苔花科迈(西安)信息技术有限公司 一种矿区矿井业务流程联通方法、装置、介质及设备

Similar Documents

Publication Publication Date Title
US11593337B2 (en) Data processing method, device, and a storage medium
US20020112139A1 (en) Highly available, monotonic increasing sequence number generation
US20070288548A1 (en) Protocol optimization for client and server synchronization
US20090234906A1 (en) Computer processing system for realizing data upgrade and a data upgrading method
CN104919439A (zh) 用于支持基于处理器的系统中的异构存储器存取请求的异构存储器系统以及相关方法和计算机可读媒体
US9104488B2 (en) Support server for redirecting task results to a wake-up server
CN111708841A (zh) 数据库数据同步方法及装置
CN116414527A (zh) 一种分布式事务协调器大幅提高性能方法及系统
WO2019242437A1 (zh) 分布式事务处理方法和相关装置
CN111404931A (zh) 一种基于持久性内存的远程数据传输方法
CN101673217B (zh) 一种实现远端程序调用的方法和系统
CN111309805B (zh) 数据库的数据读写方法及装置
CN105373563B (zh) 数据库切换方法及装置
CN112052104A (zh) 基于多机房实现的消息队列的管理方法及电子设备
US20130144842A1 (en) Failover and resume when using ordered sequences in a multi-instance database environment
CN114493602B (zh) 区块链交易的执行方法、装置、电子设备和存储介质
CN110290215B (zh) 一种信号传输方法及装置
CN116643854A (zh) 一种服务编排方法、装置、流程控制器及任务处理器
CN114205354A (zh) 事件管理系统、事件管理方法、服务器及存储介质
US7610373B2 (en) Voting mechanism for session invalidation processing in an application server cluster
JPH11353197A (ja) 共有プール資源制御方式
CN112351096B (zh) 一种大数据场景下消息处理的方法及终端
CN113282570B (zh) 区块链节点配置方法、计算机设备和存储介质
CN114911583A (zh) 信息处理的方法、装置及分布式系统
CN115994827A (zh) 基于分布式事务的交易处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination