CN113296896A - 分布式事务处理方法、装置及设备 - Google Patents

分布式事务处理方法、装置及设备 Download PDF

Info

Publication number
CN113296896A
CN113296896A CN202010526407.3A CN202010526407A CN113296896A CN 113296896 A CN113296896 A CN 113296896A CN 202010526407 A CN202010526407 A CN 202010526407A CN 113296896 A CN113296896 A CN 113296896A
Authority
CN
China
Prior art keywords
transaction
branch
distributed
ending
distributed transaction
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.)
Granted
Application number
CN202010526407.3A
Other languages
English (en)
Other versions
CN113296896B (zh
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010526407.3A priority Critical patent/CN113296896B/zh
Publication of CN113296896A publication Critical patent/CN113296896A/zh
Application granted granted Critical
Publication of CN113296896B publication Critical patent/CN113296896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

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

Abstract

本申请实施例提供一种分布式事务处理方法、装置及设备,该方法包括:在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。本申请简化了应用服务器的实现,并由此降低了应用服务器的升级、运维成本。

Description

分布式事务处理方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式事务处理方法、装置及设备。
背景技术
分布式事务可以是指操作涉及多个数据库的事务,分布式事务对应多个分支事务,各分支事务可以对相应的数据库进行操作。
通常,应用服务器在处理分布式事务的过程中,为了确保分布式事务的一致性,应用服务器需要根据各分支事务分别的反馈信息,确定是以提交还是回滚方式结束分布式事务。并且,在确定是以提交方式结束分布式事务情况下,应用服务器需要控制各分支事务均进行分支事务的提交,在确定是以回滚方式结束分布式事务情况下,应用服务器需要控制各分支事务均进行分时事务的回滚。
然而,应用服务器控制分支事务进行提交或回滚以结束分支事务的方式,存在应用服务器实现复杂,升级、运维成本较高的问题。
发明内容
本申请实施例提供一种分布式事务处理方法、装置及设备,用以解决现有技术中应用服务器实现复杂,升级、运维成本较高的问题。
第一方面,本申请实施例提供一种分布式事务处理方法,应用于事务控制服务器,所述方法包括:
在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;
在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第二方面,本申请实施例提供一种分布式事务处理方法,应用于应用服务器,所述方法包括:
发起分布式事务,所述分布式事务与多个分支事务对应;
根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第三方面,本申请实施例提供一种分布式事务处理方法,应用于事务控制服务器,所述方法包括:
在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;所述分布式事务是由所述应用服务器基于用户设备发送的交易服务请求对应发起;
在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第四方面,本申请实施例提供一种分布式事务处理方法,应用于应用服务器,所述方法包括:
发起与用户设备发送的交易服务请求对应的分布式事务,所述分布式事务与多个分支事务对应;
根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第五方面,本申请实施例提供一种分布式事务处理装置,应用于事务控制服务器,所述装置包括:
确定模块,用于在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;
控制模块,用于在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第六方面,本申请实施例提供一种分布式事务处理装置,应用于应用服务器,所述装置包括:
发起模块,用于发起分布式事务,所述分布式事务与多个分支事务对应;
结束模块,用于根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第七方面,本申请实施例提供一种分布式事务处理装置,应用于事务控制服务器,所述方法包括:
确定模块,用于在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;所述分布式事务是由所述应用服务器基于用户设备发送的交易服务请求对应发起;
控制模块,用于在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第八方面,本申请实施例提供一种分布式事务处理装置,应用于应用服务器,所述方法包括:
发起模块,用于发起与用户设备发送的交易服务请求对应的分布式事务,所述分布式事务与多个分支事务对应;
结束模块,用于根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
第九方面,本申请实施例提供一种事务控制服务器,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第一方面任一项所述的方法。
第十方面,本申请实施例提供一种应用服务器,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第二方面任一项所述的方法。
第十一方面,本申请实施例提供一种事务控制服务器,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第三方面任一项所述的方法。
第十二方面,本申请实施例提供一种应用服务器,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第四方面任一项所述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行如第一方面任一项所述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行如第二方面任一项所述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行如第三方面任一项所述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行如第四方面任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第一方面任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第二方面任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第三方面任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第四方面任一项所述的方法。
本申请实施例提供的分布式事务处理方法、装置及设备,通过在应用服务器发起分布式事务情况下,确定分布式事务对应的多个分支事务,在确定需要结束分布式事务时,基于分布式事务的目标结束方式控制分布式事务对应分支事务的结束,以便分支事务的结束方式与目标结束方式一致,实现了在应用服务器发起分布式事务之后,由事务控制服务器向应用服务器提供针对分布式事务对应分支事务结束控制的服务,与由应用服务器控制分支事务进行提交或回滚以结束分支事务相比,简化了应用服务器的实现,并由此降低了应用服务器的升级、运维成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A和图1B为本申请实施例的应用场景示意图;
图2为本申请一实施例提供的分布式事务处理方法的流程示意图;
图3为本申请实施例提供的基于TM模块和RM模块实现应用服务器的示意图;
图4为本申请实施例基于图3所示的应用服务器提供的分布式事务处理方法的示意图;
图5为本申请实施例提供的AT模式下分布式事务处理方法的示意图;
图6为本申请实施例提供的XA模式下分布式事务处理方法的示意图;
图7为本申请实施例提供的TCC模式下分布式事务处理方法的示意图;
图8为本申请实施例提供的Saga模式下分布式事务处理方法的示意图;
图9为本申请实施例提供的混合模式下分布式事务处理方法的示意图;
图10为本申请另一实施例提供的分布式事务处理方法的流程示意图;
图11为本申请又一实施例提供的分布式事务处理方法的流程示意图;
图12为本申请又一实施例提供的分布式事务处理方法的流程示意图;
图13为本申请又一实施例提供的分布式事务处理方法的流程示意图;
图14为本申请一实施例提供的分布式事务处理装置的结构示意图;
图15为本申请一实施例提供的事务控制服务器的结构示意图;
图16为本申请另一实施例提供的分布式事务处理装置的结构示意图;
图17为本申请一实施例提供的应用服务器的结构示意图;
图18为本申请又一实施例提供的分布式事务处理装置的结构示意图;
图19为本申请另一实施例提供的事务控制服务器的结构示意图;
图20为本申请又一实施例提供的分布式事务处理装置的结构示意图;
图21为本申请另一实施例提供的应用服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者***中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。
相关技术中比较常用的分布式事务处理方法,主要包括应用服务器控制分支事务进行提交或回滚以结束分支事务,存在应用服务器实现复杂,升级、运维成本较高的问题,因此相关技术中亟需一种简化应用服务器实现,减少应用服务器升级、运维成本的分布式事务处理方式。
基于类似于上文所述的实际技术需求,本申请提供的分布式事务处理方法可以利用技术化的手段简化应用服务器实现,减少应用服务器升级、运维成本。
下面通过一个示例性的应用场景具体说明本申请各个实施例提供的分布式事务处理方法。
如图1A所示,用户设备11可以根据用户输入向应用服务器12发送服务请求,以服务请求是用户设备11基于用户触发的电商交易任务发送为例,所述服务请求具体可以为电商服务请求,所述服务请求可以包括商品标识、用户标识以及商品数量,当然,在其他实施例中服务请求还可以为其他类型,本申请对此不作限定。其中,用户设备11例如可以为手机、平板电脑、笔记本电脑等,当然,在其他实施例中用户设备还可以为其他类型设备,本申请对此不做限定。
应用服务器12在接收到服务请求之后,可以基于与所述服务请求对应的事务完成相应操作,其中,应用服务器12可以包括云服务器、分布式服务器等任何形式的数据处理服务器。假设所述服务请求对应分布式事务X,且分布式事务X对应分支事务1、分支事务2和分支事务3,则应用服务器12在接收到服务请求之后可以发起分布式事务X,在发起分布式事务X之后,应用服务器12可以调用分支事务1、分支事务2和分支事务3,以由分支事务执行相应操作。如图1A所示,分支事务1和分支事务2在执行操作过程中可以操作数据库13中的数据,分支事务3在执行操作过程中可以操作数据库14中的数据。
以服务请求是用户设备11基于用户触发的电商交易任务发送为例,分布式事务X对应的分支事务1可以用于提供库存服务,分支事务2可以用于提供订单服务,分支事务3可以用于提供账户服务。基于此,应用服务器12可以调用分支事务1以根据商品标识以及商品数量扣减库存,可以调用分支事务2以根据商品标识、商品数量和用户标识生成订单记录,可以调用分支事务3以根据商品标识、商品数量和用户标识扣减账户余额。
在应用服务器12发起分布式事务X情况下,事务控制服务器15可以采用本申请实施例提供的分布式事务处理方法进行处理,具体的,事务控制服务器15在应用服务器发起分布式事务情况下,确定分布式事务X对应的多个分支事务,即分支事务1、2和3,并在确定需要结束分布式事务X时,基于分布式事务X的目标结束方式控制分布式事务X对应分支事务的结束,以便所述分支事务的结束方式与目标结束方式一致。可以理解的是,分布式事务X的目标结束方式可以为提交(Commit)或回滚(Rollback)。相应的,应用服务器12在发起分布式事务X之后,可以根据事务控制服务器15的控制结束分布式事务X对应的分支事务。基于此,能够在确保分布式事务X对应分支事务的结束方式与分布式事务的目标结束方式一致的基础上,实现由事务控制服务器15控制应用服务器12中分布式事务对应分支事务的结束,即由事务控制服务器15向应用服务器12提供针对分布式事务对应分支事务结束控制的服务,与由应用服务器12控制分支事务进行提交或回滚以结束分支事务相比,简化了应用服务器12的实现,并由此降低了应用服务器12的升级、运维成本。
图1A中以应用服务器12为单机形式为例,可选的,应用服务器12也可以实现为分布式形式。如图1B所示,用户设备发送的服务请求可以对应分布式事务X,分布式事务X对应的分支事务1、分支事务2和分支事务3可以由不同的应用服务器12调用执行,其中,图1B的三个应用服务器12中与用户设备11通信的应用服务器12可以与其他两个应用服务器12通信。需要说明的是,图1B中分支事务的分布关系,以及应用服务器12的个数均为举例。
需要说明的是,图1A和图1B中以事务控制服务器15提供服务的应用服务器12的个数为一个为例,可以理解的是,事务控制服务器15提供服务的应用服务器12的个数也可以为多个。
需要说明的是,图1A和图1B中以分支事务操作的数据存储于数据库为例,可以理解的是,分支事务操作的数据也可以为存储于数据库之外的其他位置,例如,分支事务操作的数据还可以存储于文件存储***,本申请对此不做限定。为了便于说明,本申请主要以分支事务操作的数据存储于数据库中为例,进行具体说明。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图2为本申请一实施例提供的分布式事务处理方法的流程示意图,如图2所示,本实施例的方法可以包括:
步骤201,应用服务器发起分布式事务,所述分布式事务与多个分支事务对应;
步骤202,事务控制服务器在所述应用服务器发起所述分布式事务情况下,确定所述分布式事务对应的所述多个分支事务;
步骤203,所述事务控制服务器在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致;
步骤204,所述应用服务器根据所述事务控制服务器的控制结束所述分布式事务对应的分支事务。
本申请实施例中,分布式事务也可以称为全局事务(Global Transaction),其与多个分支事务(Branch Transaction)之间存在对应关系。应用服务器可以接收用户设备11发送的服务请求,确定与该服务请求对应的分布式事务,并发起该分布式事务。
在发起一分布式事务后,应用服务器可以调用该分布式事务分别对应的多个分支事务,其中,多个分支事务可以是并列关系,或者多个分支事务也可以存在调用关系,本申请对此不做限定。分布式事务对应的多个分支事务可以对应不同的数据库,分支事务用于操作其对应数据库中的数据。
示例性的,如图3所示,应用服务器12可以包括事务管理(TransactionManagement,TM)模块12A和多个资源管理(Resources Management,RM)模块12A,TM模块12A和RM模块12B均可以实现为应用服务器的软件模块。其中,TM模块12A可以用于定义分布式事务的边界,在一个实施例中,TM模块12A可以定义何时发起该分布式事务,以及何时结束该分布式事务。RM模块12B可以用于定义分支事务,在一个实施例中RM模块12B可以定义一个分布式事务下具体要执行哪些分支事务,以及分支事务具体如何执行。多个RM模块12B可以与多个数据库一一对应。
需要说明的是,针对图1B所示的场景,可以由多个应用服务器12中接收一用户设备发送的服务请求的应用服务器定义针对该用户设备发送的服务请求对应分布式事务的边界。
需要说明的是,图3中应用服务器12的具体实现方式仅为举例,在其他实施例中应用服务器12也可以通过其他方式实现分布式事务及其对应的分支事务。为了便于说明,以下主要以应用服务器12包括TM模块和RM模块为例进行具体说明。
对应于图3,TM模块12A、RM模块12B、分布式事务及分支事务的关系可以如图4所示。参考图4,对应于一个分布式事务,TM模块12A可以定义该分布式事务的发起边界(即,何时发起该分布式事务)和结束边界(即,何时结束该分布式事务),在TM模块12A发起该分布式事务之后,结束该分布式事务之前可以由RM模块12B定义的与该分布式事务对应的分支事务执行相应操作。
需要说明的是,图4中以一个分布式事务涉及的RM模块12B的个数为两个为例,一个RM模块可以定义一个或多个与该分布式事务对应的分支事务。
需要说明的是,由于TM模块12A和RM模块12B均由应用服务器实现,通过TM模块12A定义分布式事务的结束边界,能够尽可能早的结束分布式事务。可以理解的是,可替换的,为了简化TM模块12A的实现,TM模块12A可以仅定义分布式事务的发起边界,而结束边界可以完全由事务控制服务器控制,例如事务控制服务器可以在到达事务超时时间之后,控制分布式事务结束。
应用服务器与事务控制服务器通信连接,在应用服务器发起分布式事务情况下,事务控制服务器可以确定应用服务器中所述分布式事务对应的多个分支事务。
示例性的,如图4所示,TM模块12A在发起一分布式事务情况下,可以向事务控制服务器发送发起消息,所述发起消息可以用于指示发起分布式事务。事务控制服务器可以根据发起消息为TM模块12A发起的该分布式事务分配事务标识(可以记为TID),该事务标识用于唯一标识该分布式事务,并将该事务标识返回给TM模块12A。从而,事务控制服务器和TM模块12A可以确定TM模块12A发起了该事务标识所标识的分布式事务,使得事务控制服务器和TM模块12A两者能够对齐对于TM模块12A所发起的分布式事务的理解。
参考图4,TM模块12A在获得该分布式事务的事务标识之后,可以将该事务标识传递给RM模块12B,使得RM模块12B可以确定与TM模块12A发起的该分布式事务对应的分支事务,是该事务标识所标识分布式事务对应的分支事务,从而使得事务控制服务器和RM模块12B两者能够对齐对于TM模块12A所发起的分布式事务的理解。
RM模块12B在得到该事务标识之后,如图4所示,RM模块12B可以向事务控制服务器注册与该事务标识所标识分布式事务对应的分支事务。在一个实施例中,RM模块12B可以向事务控制服务器发送针对与该分布式事务对应的一分支事务的注册消息,该注册消息中可以包括该事务标识,事务控制服务器可以根据注册消息为RM模块12B请求注册的该分支事务分配分支标识(可以简称为BID),该分支标识用于唯一标识该分布式事务的该分支事务,并将该分支标识返回给RM模块12B。从而,事务控制服务器和RM模块12B可以确定该分布式事务对应了该分支标识所标识的分支事务,使得事务控制服务器和RM模块12B两者能够对齐对于该分布式事务对应的分支事务的理解。
基于图4可以看出,通过TM模块12A向事务控制服务器指示发起所述分布式事务,以及RM模块12B向事务控制服务器注册所述分布式事务对应的分支事务,使得事务控制服务器能够确定出所述应用服务器发起的所述分布式事务对应的多个分支事务。
可替换的,可以由应用服务器确定其发起的分布式事务与多个分支事务的对应关系,并将该对应关系发送至事务控制服务器,以便事务控制服务器能够确定出应用服务器发起的所述分布式事务对应的多个分支事务。基于此,在多个应用服务器场景下,需要由应用服务器来确保事务标识以及分支标识对于分布式事务及其对应分支事务的唯一标识作用。
或者,可以由应用服务器以及事务控制服务器之外的其他设备确定应用服务器发起的分布式事务与多个分支事务的对应关系,其确定方式可以与图4由事务控制服务器确定类似,并由其他设备将该对应关系发送至事务控制服务器,以便事务控制服务器能够确定出所述应用服务器发起的所述分布式事务对应的多个分支事务。
本申请实施例中,应用服务器在发起所述分布式事务之后,通过执行所述分布式事务对应分支事务的操作可以得到分支事务的执行结果,其中,执行结果具体可以为执行失败或者执行成功。需要说明的是,无论分支事务的执行结果是执行成功还是执行失败,所述应用服务器均支持针对分支事务所执行操作的回滚。
本申请实施例中,可以将分布式事务的处理过程分为两个阶段,第一个阶段可以为执行分支事务对应操作得到分支事务的执行结果,第二个阶段可以为基于分支事务的执行结果决定分布式事务的目标结束方式,并基于目标结束方式控制分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。其中,所述分布式事务的目标结束方式具体可以为提交或回滚。
示例性的,在分布式事务对应分支事务的执行结果均为执行成功情况下,可以确定所述分布式事务的目标结束方式为提交;在分布式事务对应分支事务中存在执行结果为执行失败的分支事务情况下,可以确定所述分布式事务的目标结束方式为回滚。当然,在其他实施例中,也可以采用其他方式实现基于分支事务的执行结果确定分布式事务的目标结束方式,本申请对此不做限制。
其中,基于分布式事务的目标结束方式控制分支事务的结束,是由事务控制服务器完成。具体的,事务控制服务器在确定需要结束所述分布式事务时,可以基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
可选的,在第一个阶段中,执行分支事务可以完成提交准备操作。在分支事务完成提交准备操作情况下,进一步的,在第二个阶段中,在目标结束方式是提交情况下事务控制服务器可以控制分支事务提交,在一个实施例中事务控制服务器可以向应用服务器发送针对分支事务的提交命令,应用服务器可以根据分支事务的提交命令对所述分支事务执行提交操作以实现分支事务的提交;或者,在目标结束方式是回滚情况下事务控制服务器可以控制分支事务回滚,在一个实施例中事务控制服务器可以向应用服务器发送针对分支事务的回滚命令,应用服务器可以根据回滚事务的提交命令对所述回滚事务执行回滚操作以实现分支事务的回滚。
需要说明的是,由于分支事务在根据事务控制服务器进行回滚操作或提交操作后,均可以表示分支事务已结束,已无需保存用于支持分支事务回滚的回滚日志。基于此,应用服务器在根据事务控制服务器的控制执行完针对一分支事务的回滚操作或提交操作之后,可以删除用于支持该分支事务回滚的回滚日志,以节省存储空间。
示例性的,如图4所示,在第二个阶段中事务控制服务器可以向RM模块12B发送针对分支事务的提交命令,RM模块12B可以根据分支事务的提交命令对所述分支事务执行提交操作以实现分支事务的提交,其中,提交命令可以包括分布式事务的事务标识和分支事务的分支标识,以指示RM模块12B对该事务标识+分支标识所指示的分支事务进行提交。或者,如图4所示,在第二个阶段中事务控制服务器可以向RM模块12B发送针对分支事务的回滚命令,RM模块12B可以根据分支事务的回滚命令对所述分支事务执行回滚操作以实现分支事务的提交,其中,回滚命令可以包括分布式事务的事务标识和分支事务的分支标识,以指示RM模块12B对该事务标识+分支标识所指示的分支事务进行回滚。
基于此,分支事务的执行结果为执行成功,可以表征所述分支事务可回滚的提交准备操作执行成功;分支事务的执行结果为执行失败,可以表征所述分支事务可回滚的提交准备准备执行失败。
或者,在第一个阶段中,执行分支事务可以完成提交操作。在分支事务完成提交操作情况下,进一步的,在第二个阶段中,在目标结束方式是提交情况下事务控制服务器可以向应用服务器发送针对分支事务的提交命令,应用服务器可以根据分支事务的提交命令对所述分支事务执行删除操作,以删除支持分支事务回滚的回滚日志;或者,事务控制服务器可以向应用服务器发送针对分支事务的回滚命令,应用服务器可以根据回滚事务的提交命令对所述回滚事务执行回滚操作以实现分支事务的回滚。
基于此,分支事务的执行结果为执行成功,可以表征所述分支事务可回滚的提交操作执行成功。相应的,分支事务的执行结果为执行失败,可以表征所述分支事务可回滚的提交操作执行失败。
本申请实施例中,可选的,所述分布式事务的结束可以由应用服务器触发,即应用服务器可以控制所述分布式事务的结束边界。基于此,所述应用服务器在确定需要结束所述分布式事务时,可以向所述事务控制服务器发送结束消息,所述结束消息用于指示所述应用服务器需要结束所述分布式事务。例如参考图4,TM模块12A可以在确定需要结束该分布式事务时,可以向事务控制服务器发送结束消息。相应的,在步骤203之前所述事务控制服务器可以接收所述应用服务器发送的结束消息,并在接收到所述结束消息之后,可以基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束。
进一步可选的,所述分布式事务的目标结束方式可以由所述应用服务器指示,基于此,所述结束消息还可以用于指示所述目标结束方式。通过结束消息使得应用服务器可以控制分布式事务的结束边界,有利于确保应用服务器对于分布式事务的控制能力。
或者,可选的,应用服务器可以将分布式事务对应分支事务的执行结果发送至事务控制服务器,例如参照图4,RM模块12B可以将分支事务的执行结果上报给事务控制服务器。进一步可选的,事务控制器可以基于所述分布式事务对应分支事务的执行结果确定所述分布式事务的目标结束方式。根据分支事务的执行结果确定分布式事务的目标结束方式的具体方式,可以参见前述相关描述,在此不再赘述。
基于前述的具体描述,在所述分布式事务的目标结束方式是提交情况下,事务控制服务器可以向应用服务器发送针对所述分布式事务对应分支事务的提交命令,在所述分布式事务的目标结束方式是回滚情况下,事务控制服务器可以向应用服务器发送针对所述分布式事务对应分支事务的回滚命令。
在一个实施例中,事务控制服务器可以针对所述分布式事务对应的所述多个分支事务均发送提交命令或回滚命令,由此有利于简化实现。
或者,可选的,所述事务控制服务器向所述应用服务器发送针对所述分布式事务对应分支事务的回滚命令,具体可以包括:对于所述多个分支事务中的各分支事务,基于各所述分支事务的执行结果,在确定各所述分支事务需要进行回滚操作情况下,向所述应用服务器发送针对各所述分支事务的回滚命令。基于此,能够实现在目标结束方式是回滚情况下,针对需要进行回滚操作的分支事务发送回滚命令,而对于不需要进行回滚操作的分支事务无需发送回滚命令,从而能够减少事务控制服务器向应用服务器发送的命令数量,有利于节省带宽资源。
考虑到执行结果为执行成功的分支事务,在目标结束方式为回滚情况下,通常需要进行回滚,以实现在分布式事务以回滚方式结束情况下,分布式事务对应分支事务也是以回滚方式结束。基于此,本申请实施例提供的方法还可以包括:若分支事务的执行结果为执行成功,则所述事务控制服务器确定所述分支事务需要进行回滚操作。
考虑到特定模式实现的分支事务其在执行结果为执行失败情况下,分支事务可以是已完成回滚的状态,针对此类分支事务可以无需事务控制服务器发送回滚命令。基于此,本申请实施例提供的方法还可以包括:若分支事务的执行结果为执行失败且所述分支事务的事务模式为第一预设模式,则所述事务控制服务器确定所述分支事务需要进行回滚操作。其中,所述分支事务的事务模式为第一预设模式可以表征所述分支事务的执行结果为执行失败情况下,所述分支事务未完成回滚。第一预设模式例如可以为自动事务(Automatic Transaction,AT)模式,其中,AT模式是基于开源的分布式事务框架seata提供的分布式事务模式,当然,在其他实施例中,第一预设模式还可以为其他模式,本申请对此不做限定。
或者,可选的,所述事务控制服务器向所述应用服务器发送针对所述分布式事务对应分支事务的提交命令,具体可以包括:对于所述多个分支事务中的各分支事务,在确定各所述分支事务需要进行进一步操作情况下,向所述应用服务器发送针对各所述分支事务的提交命令。基于此,能够实现在目标结束方式是提交情况下,针对需要进行进一步操作的分支事务发送提交命令,而对于不需要进行进一步操作的分支事务无需发送提交命令,从而能够减少事务控制服务器向应用服务器发送的命令数量,有利于节省带宽资源。
考虑到特定模式实现的分支事务其在执行结果为执行成功情况下,分支事务可以是未完成提交的状态。针对此类分支事务,事务控制服务器可以发送提交命令以便分支事务进行提交。基于此,本申请实施例提供的方法还可以包括:若分支事务的事务模式为第二预设模式,则确定所述分支事务需要进行进一步操作。其中,所述分支事务的事务模式为第二预设模式可以表征所述分支事务的执行结果为执行成功情况下,所述分支事务未完成提交;所述进一步操作包括用于完成所述分支事务提交的提交操作。第二预设模式例如可以为尝试确认取消(Try-Confirm-Cancel,TCC)模式,当然,在其他实施例中,第二预设模式还可以为其他模式,本申请对此不做限定。
考虑到特定模式实现的分支事务其在执行结果为执行成功情况下,分支事务虽然是已提交的状态,但是需要由事务控制服务器实时触发删除针对所述分支事务的回滚日志。针对此类分支事务,事务控制服务器可以发送提交命令以便分支事务执行进一步的删除操作。基于此,本申请实施例提供的方法还可以包括:若分支事务的事务模式为第三预设模式,则确定所述分支事务需要进行进一步操作。其中,所述分支事务的事务模式为第三预设模式可以表征所述分支事务的执行结果为执行成功情况下,所述分支事务已完成提交操作但需要删除针对所述分支事务的回滚日志;所述进一步操作包括用于删除所述回滚日志的删除操作。第三预设模式例如可以为AT模式,当然,在其他实施例中,第二预设模式还可以为其他模式,本申请对此不做限定。
另外,考虑到还存在特定模式实现的分支事务其在执行结果为执行成功情况下,分支事务是已提交的状态且无需删除回滚日志。针对此类分支事务,事务控制服务器可以无需发送提交命令。其中,该特定模式例如可以为Saga模式,Saga模式还可以称为长时间运行的事务(Long-running-transaction)模式,当然,在其他实施例中,第二预设模式还可以为其他模式,本申请对此不做限定。
以下,分别以所述分布式事务对应分支事务的事务模式为AT模式、XA模式、TCC模式和Saga模式为例,对本申请实施例的实现方式进行具体说明。
参照图5,在分支事务的事务模式为AT模式情况下,TM模块、RM模块、事务控制服务器之间的交互具体可以包括如下步骤:
首先,TM模块12A在发起分布式事务情况下向事务控制服务器发送发起消息,并获得事务控制服务器为该分布式事务分配的TID。
其次,TM模块12A将该分布式事务的TID绑定到该分布式事务对应的分支事务上。
例如,TM模块12A在调用RM模块12B实现的该分布式事务对应分支事务时,可以将该分布式事务的TID作为函数入口参数进行参数传递,以实现将该分布式事务的TID绑定到该分布式事务对应的分支事务上。
再次,RM模块12B按照AT模块工作,RM模块12B的处理子模块可以完成如下步骤:
步骤A1,在执行该分布式事务对应一分支事务的结构化查询语言(StructuredQuery Language,SQL)语句操作对应数据库之前,先记录该SQL语句需要操作数据单元的镜像数据,该镜像数据可以记为前镜像数据。
步骤A2,调用该SQL语句操作对应数据库。
步骤A3,在调用该SQL语句之后,再次记录该SQL语句所操作数据单元的镜像数据,该镜像数据可以记为后镜像数据。
步骤A4,向事务控制服务器注册该分支事务,并获得事务控制服务器为该分支事务分配的BID,以将该分支事务关联到该TID标识的该分布式事务中。
需要说明的是,步骤A4与步骤A1-步骤A3之间并没有先后顺序限制。
步骤A5,该分布式事务的TID、该分支事务的BID以及该分支事务的前镜像数据和后镜像数据作为回滚日志写入RM模块对应的数据库中。
步骤A6,对该分支事务进行本地提交。
步骤A7,在该分支事务提交完成之后,RM模块将该分支事务的执行结果,即本地提交成功与否上报给事务控制服务器。
然后,TM模块12A在确定需要结束该分布式事务情况时,向事务控制服务器发送结束消息。
其中,该结束消息可以包括该分布式事务的TID,该结束消息可以用于指示该分布式事务的目标结束方式是提交或回滚。
之后,事务控制服务器根据结束消息,向RM模块12B发送结束命令。
其中,结束命令可以包括该分布式事务的TID以及该分支事务的BID。在结束消息指示目标结束方式是回滚情况下,结束命令具体可以为回滚命令;在结束消息指示目标结束方式是提交情况下,结束命令具体可以为提交命令。
进一步的,RM模块根据事务控制服务器发送的结束命令从对应数据库中查找相应的回滚日志记录。
最后,在结束命令是回滚命令情况下RM模块12B的回滚子模块可以执行根据该回滚日志进行回滚操作;在结束命令是递交命令情况下RM模块12B的提交子模块可以执行用于删除该回滚日志的删除操作。
可选的,RM模块12B可以将针对结束命令的响应结果发送至事务控制服务器,以便事务控制服务器进行相关统计。
参照图6,在分支事务的事务模式为XA模式情况下,TM模块、RM模块、事务控制服务器之间的交互具体可以包括如下步骤:
首先,TM模块12A在发起分布式事务情况下向事务控制服务器发送发起消息,并获得事务控制服务器为该分布式事务分配的TID。
其次,TM模块12A将该分布式事务的TID绑定到该分布式事务对应的分支事务上。
需要说明的是,前两个步骤与图5类似,在此不再赘述。
再次,RM模块12B按照XA模块工作:
步骤B1,向事务控制服务器注册分支事务,并获得事务控制服务器为该分支事务分配的BID,以将该分支事务关联到该TID标识的该分布式事务中。
步骤B2,根据BID生成XA模式下操作数据库需要使用的标识XID,基于XID开启XA。
步骤B3,执行该分支事务的SQL语句操作对应数据库。
步骤B4,基于XID关闭XA。
步骤B5,执行XA准备(Prepare)操作。
步骤B6,在执行完成XA Prepare操作之后,将该分支事务的执行结果,即XAPrepare成功与否上报给事务控制服务器。
然后,TM模块12A在确定需要结束该分布式事务情况时,向事务控制服务器发送结束消息。
需要说明的,关于本步骤的具体说明可以参见图5中的相应描述,在此不再赘述。
之后,事务控制服务器根据结束消息,向RM模块12B发送结束命令。
需要说明的,关于本步骤的具体说明可以参见图5中的相应描述,在此不再赘述。
进一步的,RM模块12B根据该分支事务的BID生成对应的XID。
最后,在结束命令是回滚命令情况下RM模块12B根据生成的XID执行XA回滚操作;在结束命令是递交命令情况下RM模块12B根据生成的XID执行XA提交操作。
可选的,RM模块12B可以将针对结束命令的响应结果发送至事务控制服务器,以便事务控制服务器进行相关统计。
参照图7,在分支事务的事务模式为TCC模式情况下,TM模块、RM模块、事务控制服务器之间的交互具体可以包括如下步骤:
首先,TM模块12A在发起分布式事务情况下向事务控制服务器发送发起消息,并获得事务控制服务器为该分布式事务分配的TID。
其次,TM模块12A将该分布式事务的TID绑定到该分布式事务对应的分支事务上。
需要说明的是,前两个步骤与图5类似,在此不再赘述。
再次,RM模块12B按照TCC模块工作:
步骤C1,向事务控制服务器注册分支事务,并获得事务控制服务器为该分支事务分配的BID,以将该分支事务关联到该TID标识的该分布式事务中。
步骤C2,调用预先定义的尝试(Try)方法,并将BID作为Try方法的输入参数。
步骤C3,在Try方法执行完成后,RM模块12B把Try方法的执行结果上报给事务控制服务器。
然后,TM模块12A在确定需要结束该分布式事务情况时,向事务控制服务器发送结束消息。
需要说明的,关于本步骤的具体说明可以参见图5中的相应描述,在此不再赘述。
之后,事务控制服务器根据结束消息,向RM模块12B发送结束命令。
需要说明的,关于本步骤的具体说明可以参见图5中的相应描述,在此不再赘述。
进一步的,RM模块12B在结束命令是提交命令情况下调用预先定义的确认(Confirm)方法,在结束命令是回滚命令情况下调用预先定义的取消(Cancel)方法,并将BID作为方法入口参数。
最后,RM模块12B执行Confirm方法或Cancel方法。
可选的,RM模块12B可以将针对结束命令的响应结果发送至事务控制服务器,以便事务控制服务器进行相关统计。
参照图8,在分支事务的事务模式为Saga模式情况下,TM模块、RM模块、事务控制服务器之间的交互具体可以包括如下步骤:
首先,TM模块12A在发起分布式事务情况下向事务控制服务器发送发起消息,并获得事务控制服务器为该分布式事务分配的TID。
其次,TM模块12A将该分布式事务的TID绑定到该分布式事务对应的分支事务上。
需要说明的是,前两个步骤与图5类似,在此不再赘述。
再次,RM模块12B按照Saga模块工作:
步骤D1,向事务控制服务器注册分支事务,并获得事务控制服务器为该分支事务分配的BID,以将该分支事务关联到该TID标识的该分布式事务中。
步骤D2,调用预先定义的正向实现方法,并将BID作为正向实现方法的入口参数,以执行该分支事务的正向操作。
步骤D3,在正向操作执行完成之后,RM模块12B将正向操作的执行结果上报给事务控制服务器。
然后,TM模块12A在确定需要结束该分布式事务情况时,向事务控制服务器发送结束消息。
需要说明的,关于本步骤的具体说明可以参见图5中的相应描述,在此不再赘述。
之后,事务控制服务器根据结束消息,向RM模块12B发送结束命令。
如图8所示,事务控制服务器向RM模块12B发送的结束命令为回滚命令,即在目标结束方式是提交方式下,事务控制服务器无需向RM模块12B发送提交命令。
进一步的,RM模块12B根据事务控制服务器发送的结束命令,调用预先定义的逆向实现方法,并将BID作为逆向实现方法的入口参数,以执行该分支事务的逆向回滚操作。
类似的,RM模块12B可以将针对结束命令的响应结果发送至事务控制服务器,以便事务控制服务器进行相关统计。
本申请实施例中,所述多个分支事务的事务模式可以相同,例如,图5中多个分支事务的事务模式均为AT模式,图6中多个分支事务均为XA模式,图7中多个分支事务均为TCC模式,图8中多个分支事务均为Saga模式。
或者,可选的,所述多个分支事务的事务模式可以不同,即所述分布式事务可以实现为混合模式,通过多个分支事务的事务模式不同,可以提高分布式事务对应分支事务实现的灵活性,使得开发人员可以根据需求灵活设计分布式事务对应各分支事务分别的事务模式。
以TCC模式和AT模式混合为例,如图9所示,该分布式事务涉及的其中一个RM模块可以按照AT模式工作,该分布式事务涉及的另一个RM模块可以按照TCC模式工作,图9所示的混合模式下RM模块按照单个模式工作的具体方式可以参见前述图5、图7的相关描述,在此不再赘述。
通过本申请实施例提供的分布式事务处理方法,应用服务器发起分布式事务,事务控制服务器在应用服务器发起分布式事务情况下,确定分布式事务对应的多个分支事务,并在确定需要结束分布式事务时基于分布式事务的目标结束方式控制分布式事务对应分支事务的结束,应用服务器根据事务控制服务器的控制结束分布式事务对应的分支事务,能够在确保分布式事务对应分支事务的结束方式与分布式事务的目标结束方式一致的基础上,实现由事务控制服务器控制应用服务器中分布式事务对应分支事务的结束,即由事务控制服务器向应用服务器提供针对分布式事务对应分支事务结束控制的服务,与由应用服务器控制分支事务进行提交或回滚以结束分支事务相比,简化了应用服务器的实现,并由此降低了应用服务器的升级、运维成本。
图10为本申请另一实施例提供的分布式事务处理方法的流程示意图,本实施例的执行主体可以为图1A、图1B中的事务控制服务器15。如图10所示,本实施例的方法可以包括:
步骤101,在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;
步骤102,在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
需要说明的是,本实施例的具体内容可以参见图2所示实施例中事务控制服务器侧的相关描述,在此不再赘述。
通过本申请实施例提供的分布式事务处理方法,在应用服务器发起分布式事务情况下,确定分布式事务对应的多个分支事务,在确定需要结束分布式事务时,基于分布式事务的目标结束方式控制分布式事务对应分支事务的结束,以便分支事务的结束方式与目标结束方式一致,实现了在应用服务器发起分布式事务之后,由事务控制服务器向应用服务器提供针对分布式事务对应分支事务结束控制的服务,与由应用服务器控制分支事务进行提交或回滚以结束分支事务相比,简化了应用服务器的实现,并由此降低了应用服务器的升级、运维成本。
图11为本申请又一实施例提供的分布式事务处理方法的流程示意图,本实施例的执行主体可以为图1A中应用服务器12、图1B中与用户设备通信的应用服务器12。如图11所示,本实施例的方法可以包括:
步骤111,发起分布式事务,所述分布式事务与多个分支事务对应;
步骤112,根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
需要说明的是,本实施例的具体内容可以参见图2所示实施例中应用服务器侧的相关描述,在此不再赘述。
通过本申请实施例提供的分布式事务处理方法,发起分布式事务,并根据事务控制服务器的控制结束分布式事务对应的分支事务,事务控制服务器是在确定需要结束分布式事务时,基于分布式事务的目标结束方式控制分布式事务对应分支事务的结束,以便分支事务的结束方式与目标结束方式一致,实现了应用服务器使用事务控制服务器向其提供的结束分支事务的服务,简化了应用服务器的实现,并由此降低了应用服务器的升级、运维成本。
图12为本申请又一实施例提供的分布式事务处理方法的流程示意图,本实施例的执行主体可以为图1A、图1B中的事务控制服务器15。如图12所示,本实施例的方法可以包括:
步骤121,在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;所述分布式事务是由所述应用服务器基于用户设备发送的交易服务请求对应发起;
步骤122,在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
需要说明的是,本实施例是以服务请求是电商场景的交易服务请求为例,因此本申请实施例中的分布式事务是与用户设备发送的交易请求对应,关于分布式事务处理的具体内容可以参见图2所示实施例中事务控制服务器侧的相关描述,在此不再赘述。
通过本申请实施例提供的分布式事务处理方法,在应用服务器基于用户设备发送的交易服务请求发起对应分布式事务情况下,确定分布式事务对应的多个分支事务,在确定需要结束分布式事务时,基于分布式事务的目标结束方式控制分布式事务对应分支事务的结束,以便分支事务的结束方式与目标结束方式一致,实现了在应用服务器发起交易服务请求对应的分布式事务之后,由事务控制服务器向应用服务器提供针对分布式事务对应分支事务结束控制的服务,与由电商场景下的应用服务器控制分支事务进行提交或回滚以结束分支事务相比,简化了电商场景下的应用服务器的实现,并由此降低了电商场景下的应用服务器的升级、运维成本。
图13为本申请又一实施例提供的分布式事务处理方法的流程示意图,本实施例的执行主体可以为图1A中应用服务器12、图1B中与用户设备通信的应用服务器12。如图13所示,本实施例的方法可以包括:
步骤131,发起与用户设备发送的交易服务请求对应的分布式事务,所述分布式事务与多个分支事务对应;
步骤132,根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
需要说明的是,本实施例是以服务请求是电商场景的交易服务请求为例,因此本申请实施例中的分布式事务是与用户设备发送的交易请求对应,关于分布式事务处理的具体内容可以参见图2所示实施例中应用服务器侧的相关描述,在此不再赘述。
通过本申请实施例提供的分布式事务处理方法,发起与用户设备发送的交易服务请求对应的分布式事务,并根据事务控制服务器的控制结束分布式事务对应的分支事务,事务控制服务器是在确定需要结束分布式事务时,基于分布式事务的目标结束方式控制分布式事务对应分支事务的结束,以便分支事务的结束方式与目标结束方式一致,实现了电商场景下的应用服务器使用事务控制服务器向其提供的结束分支事务的服务,简化了电商场景下的应用服务器的实现,并由此降低了电商场景下的应用服务器的升级、运维成本。
图14为本申请一实施例提供的分布式事务处理装置的结构示意图;参考附图14所示,本实施例提供了一种分布式事务处理装置,该装置可以执行上述的分布式事务处理方法中事务控制服务器侧的方法,具体的,该分布式事务处理装置可以包括:
确定模块141,用于在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;
控制模块142,用于在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
可选的,所述装置还包括:第一接收模块,用于接收所述应用服务器发送的结束消息,所述结束消息用于指示所述应用服务器需要结束所述分布式事务。
可选的,所述结束消息还用于指示所述目标结束方式。
可选的,控制模块142,具体用于在所述目标结束方式为回滚情况下,向所述应用服务器发送针对所述分布式事务对应分支事务的回滚命令。
可选的,所述装置还包括:第二接收模块,用于接收所述应用服务器发送的所述分布式事务对应分支事务的执行结果;
所述控制模块142,用于向所述应用服务器发送针对所述分布式事务对应分支事务的回滚命令,具体包括:对于所述多个分支事务中的各分支事务,基于各所述分支事务的执行结果,在确定各所述分支事务需要进行回滚操作情况下,向所述应用服务器发送针对各所述分支事务的回滚命令。
可选的,所述控制模块142,还用于若分支事务的执行结果为执行成功或者分支事务的执行结果为执行失败且所述分支事务的事务模式为第一预设模式,则确定所述分支事务需要进行回滚操作;其中,所述分支事务的事务模式为第一预设模式表征所述分支事务的执行结果为执行失败情况下,所述分支事务未完成回滚。
可选的,所述控制模块142,具体用于在所述目标结束方式为提交情况下,向所述应用服务器发送针对所述分布式事务对应分支事务的提交命令。
可选的,所述控制模块142,用于向所述应用服务器发送针对所述分布式事务对应分支事务的提交命令,具体包括:对于所述多个分支事务中的各分支事务,在确定各所述分支事务需要进行进一步操作情况下,向所述应用服务器发送针对各所述分支事务的提交命令。
可选的,所述控制模块142,还用于若分支事务的事务模式为第二预设模式,则确定所述分支事务需要进行进一步操作;其中,所述分支事务的事务模式为第二预设模式表征所述分支事务的执行结果为执行成功情况下,所述分支事务未完成提交;所述进一步操作包括用于完成所述分支事务提交的提交操作。
可选的,所述控制模块142,还用于若分支事务的事务模式为第三预设模式,则确定所述分支事务需要进行进一步操作;其中,所述分支事务的事务模式为第三预设模式表征所述分支事务的执行结果为执行成功情况下,所述分支事务已完成提交操作但需要删除针对所述分支事务的回滚日志;所述进一步操作包括用于删除所述回滚日志的删除操作。
可选的,所述多个分支事务的事务模式不同。
可选的,所述应用服务器的个数为多个。
图14所示装置可以执行上述方法实施例事务控制服务器侧的方法,本实施例未详细描述的部分,可参考对上述方法实施例的相关说明。该技术方案的执行过程和技术效果参见上述方法实施例中的描述,在此不再赘述。
在一个可能的实现中,图14所示分布式事务处理装置的结构可实现为一事务控制服务器。如图15所示,该事务控制服务器可以包括:处理器151和存储器152。其中,存储器152用于存储支持事务控制服务器执行上述方法实施例中提供的分布式事务处理方法事务控制服务器侧的程序,处理器151被配置为用于执行存储器152中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器151执行时能够实现如下步骤:
在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;
在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
可选的,处理器151还用于执行前述方法实施例中事务控制服务器侧的全部或部分步骤。
其中,事务控制服务器的结构中还可以包括通信接口153,用于事务控制服务器与其他设备或通信网络通信。
图16为本申请另一实施例提供的分布式事务处理装置的结构示意图;参考附图16所示,本实施例提供了一种分布式事务处理装置,该装置可以执行上述的分布式事务处理方法中应用服务器侧的方法,具体的,该分布式事务处理装置可以包括:
发起模块161,用于发起分布式事务,所述分布式事务与多个分支事务对应;
结束模块162,用于根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
可选的,所述装置还包括第一发送模块,用于在确定需要结束所述分布式事务时,向所述事务控制服务器发送结束消息,所述结束消息用于指示所述应用服务器需要结束所述分布式事务。
可选的,所述结束消息还用于指示所述目标结束方式。
可选的,在所述目标结束方式为回滚情况下,所述结束模块162,具体用于接收所述事务控制服务器发送的针对所述分布式事务对应分支事务的回滚命令;以及,基于分支事务的回滚命令,对所述分支事务执行回滚操作。
可选的,所述装置还包括第二发送模块,用于将所述分布式事务对应分支事务的执行结果发送至所述事务控制服务器,以便所述事务控制服务器根据分支事务的执行结果在确定所述分支事务需要进行回滚操作情况下发送针对所述分支事务的回滚命令。
可选的,分支事务的执行结果为执行成功表征所述分支事务可回滚的提交操作执行成功;分支事务的执行结果为执行失败表征所述分支事务可回滚的提交操作执行失败。
可选的,分支事务的执行结果为执行成功表征所述分支事务可回滚的提交准备操作执行成功;分支事务的执行结果为执行失败表征所述分支事务可回滚的提交准备准备执行失败。
可选的,所述结束模块162,具体用于接收所述事务控制服务器发送的针对所述分布式事务对应分支事务的提交命令;以及,基于分支事务的提交命令,对所述分支事务执行进一步操作。
可选的,所述进一步操作包括:用于完成所述分支事务提交的提交操作,和/或,用于删除所述回滚日志的删除操作。
可选的,所述多个分支事务的事务模式不同。
图16所示装置可以执行上述方法实施例应用服务器侧的方法,本实施例未详细描述的部分,可参考对上述方法实施例的相关说明。该技术方案的执行过程和技术效果参见上述方法实施例中的描述,在此不再赘述。
在一个可能的实现中,图16所示分布式事务处理装置的结构可实现为一应用服务器。如图17所示,该应用服务器可以包括:处理器171和存储器172。其中,存储器172用于存储支持应用服务器执行上述方法实施例中提供的分布式事务处理方法应用服务器侧的程序,处理器171被配置为用于执行存储器172中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器171执行时能够实现如下步骤:
发起分布式事务,所述分布式事务与多个分支事务对应;
根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
可选的,处理器171还用于执行前述方法实施例中应用服务器侧的全部或部分步骤。
其中,应用服务器的结构中还可以包括通信接口173,用于应用服务器与其他设备或通信网络通信。
图18为本申请又一实施例提供的分布式事务处理装置的结构示意图;参考附图18所示,本实施例提供了一种分布式事务处理装置,该装置可以执行上述的分布式事务处理方法中事务控制服务器侧的方法,具体的,该分布式事务处理装置可以包括:
确定模块181,用于在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;所述分布式事务是由所述应用服务器基于用户设备发送的交易服务请求对应发起;
控制模块182,用于在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
图18所示装置可以执行上述方法实施例事务控制服务器侧的方法,本实施例未详细描述的部分,可参考对上述方法实施例的相关说明。该技术方案的执行过程和技术效果参见上述方法实施例中的描述,在此不再赘述。
在一个可能的实现中,图18所示分布式事务处理装置的结构可实现为一事务控制服务器。如图19所示,该事务控制服务器可以包括:处理器191和存储器192。其中,存储器192用于存储支持事务控制服务器执行上述方法实施例中提供的分布式事务处理方法事务控制服务器侧的程序,处理器191被配置为用于执行存储器192中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器191执行时能够实现如下步骤:
在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;所述分布式事务是由所述应用服务器基于用户设备发送的交易服务请求对应发起;
在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
可选的,处理器191还用于执行前述方法实施例中事务控制服务器侧的全部或部分步骤。
其中,事务控制服务器的结构中还可以包括通信接口193,用于事务控制服务器与其他设备或通信网络通信。
图20为本申请又一实施例提供的分布式事务处理装置的结构示意图;参考附图20所示,本实施例提供了一种分布式事务处理装置,该装置可以执行上述的分布式事务处理方法中应用服务器侧的方法,具体的,该分布式事务处理装置可以包括:
发起模块201,用于发起与用户设备发送的交易服务请求对应的分布式事务,所述分布式事务与多个分支事务对应;
结束模块202,用于根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
图20所示装置可以执行上述方法实施例应用服务器侧的方法,本实施例未详细描述的部分,可参考对上述方法实施例的相关说明。该技术方案的执行过程和技术效果参见上述方法实施例中的描述,在此不再赘述。
在一个可能的实现中,图20所示分布式事务处理装置的结构可实现为一应用服务器。如图21所示,该应用服务器可以包括:处理器211和存储器212。其中,存储器212用于存储支持应用服务器执行上述方法实施例中提供的分布式事务处理方法应用服务器侧的程序,处理器211被配置为用于执行存储器212中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器211执行时能够实现如下步骤:
发起与用户设备发送的交易服务请求对应的分布式事务,所述分布式事务与多个分支事务对应;
根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
可选的,处理器211还用于执行前述方法实施例中应用服务器侧的全部或部分步骤。
其中,应用服务器的结构中还可以包括通信接口213,用于应用服务器与其他设备或通信网络通信。
另外,本申请实施例提供了一种计算机存储介质,用于储存事务控制服务器所用的计算机软件指令,其包含用于执行上述方法实施例中分布式事务处理方法事务控制服务器侧所涉及的程序。
本申请实施例提供了一种计算机存储介质,用于储存应用服务器所用的计算机软件指令,其包含用于执行上述方法实施例中分布式事务处理方法应用服务器侧所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (32)

1.一种分布式事务处理方法,应用于事务控制服务器,其特征在于,所述方法包括:
在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;
在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述应用服务器发送的结束消息,所述结束消息用于指示所述应用服务器需要结束所述分布式事务。
3.根据权利要求2所述的方法,其特征在于,所述结束消息还用于指示所述目标结束方式。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,包括:
在所述目标结束方式为回滚情况下,向所述应用服务器发送针对所述分布式事务对应分支事务的回滚命令。
5.根据权利要求4所述的方法,其特征在于,所述向所述应用服务器发送针对所述分布式事务对应分支事务的回滚命令之前,还包括:
接收所述应用服务器发送的所述分布式事务对应分支事务的执行结果;
所述向所述应用服务器发送针对所述分布式事务对应分支事务的回滚命令,包括:
对于所述多个分支事务中的各分支事务,基于各所述分支事务的执行结果,在确定各所述分支事务需要进行回滚操作情况下,向所述应用服务器发送针对各所述分支事务的回滚命令。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若分支事务的执行结果为执行成功或者分支事务的执行结果为执行失败且所述分支事务的事务模式为第一预设模式,则确定所述分支事务需要进行回滚操作;
其中,所述分支事务的事务模式为第一预设模式表征所述分支事务的执行结果为执行失败情况下,所述分支事务未完成回滚。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,包括:
在所述目标结束方式为提交情况下,向所述应用服务器发送针对所述分布式事务对应分支事务的提交命令。
8.根据权利要求7所述的方法,其特征在于,所述向所述应用服务器发送针对所述分布式事务对应分支事务的提交命令,包括:
对于所述多个分支事务中的各分支事务,在确定各所述分支事务需要进行进一步操作情况下,向所述应用服务器发送针对各所述分支事务的提交命令。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若分支事务的事务模式为第二预设模式,则确定所述分支事务需要进行进一步操作;
其中,所述分支事务的事务模式为第二预设模式表征所述分支事务的执行结果为执行成功情况下,所述分支事务未完成提交;所述进一步操作包括用于完成所述分支事务提交的提交操作。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若分支事务的事务模式为第三预设模式,则确定所述分支事务需要进行进一步操作;
其中,所述分支事务的事务模式为第三预设模式表征所述分支事务的执行结果为执行成功情况下,所述分支事务已完成提交操作但需要删除针对所述分支事务的回滚日志;所述进一步操作包括用于删除所述回滚日志的删除操作。
11.根据权利要求1所述的方法,其特征在于,所述多个分支事务的事务模式不同。
12.根据权利要求1所述的方法,其特征在于,所述应用服务器的个数为多个。
13.一种分布式事务处理方法,应用于应用服务器,其特征在于,所述方法包括:
发起分布式事务,所述分布式事务与多个分支事务对应;
根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
在确定需要结束所述分布式事务时,向所述事务控制服务器发送结束消息,所述结束消息用于指示所述应用服务器需要结束所述分布式事务。
15.根据权利要求14所述的方法,其特征在于,所述结束消息还用于指示所述目标结束方式。
16.根据权利要求13-15任一项所述的方法,其特征在于,在所述目标结束方式为回滚情况下,所述根据事务控制服务器的控制结束所述分布式事务对应的分支事务,包括:
接收所述事务控制服务器发送的针对所述分布式事务对应分支事务的回滚命令;
基于分支事务的回滚命令,对所述分支事务执行回滚操作。
17.根据权利要求16所述的方法,其特征在于,所述接收所述事务控制服务器发送的针对所述分布式事务对应分支事务的回滚命令之前,还包括:
将所述分布式事务对应分支事务的执行结果发送至所述事务控制服务器,以便所述事务控制服务器根据分支事务的执行结果在确定所述分支事务需要进行回滚操作情况下发送针对所述分支事务的回滚命令。
18.根据权利要求17所述的方法,其特征在于,分支事务的执行结果为执行成功表征所述分支事务可回滚的提交操作执行成功;分支事务的执行结果为执行失败表征所述分支事务可回滚的提交操作执行失败。
19.根据权利要求17所述的方法,其特征在于,分支事务的执行结果为执行成功表征所述分支事务可回滚的提交准备操作执行成功;分支事务的执行结果为执行失败表征所述分支事务可回滚的提交准备准备执行失败。
20.根据权利要求14-15任一项所述的方法,其特征在于,在所述目标结束方式为提交情况下,所述根据事务控制服务器的控制结束所述分布式事务对应的分支事务,包括:
接收所述事务控制服务器发送的针对所述分布式事务对应分支事务的提交命令;
基于分支事务的提交命令,对所述分支事务执行进一步操作。
21.根据权利要求20所述的方法,其特征在于,所述进一步操作包括:用于完成所述分支事务提交的提交操作,和/或,用于删除所述回滚日志的删除操作。
22.根据权利要求13所述的方法,其特征在于,所述多个分支事务的事务模式不同。
23.一种分布式事务处理方法,应用于事务控制服务器,其特征在于,所述方法包括:
在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;所述分布式事务是由所述应用服务器基于用户设备发送的交易服务请求对应发起;
在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
24.一种分布式事务处理方法,应用于应用服务器,其特征在于,所述方法包括:
发起与用户设备发送的交易服务请求对应的分布式事务,所述分布式事务与多个分支事务对应;
根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
25.一种分布式事务处理装置,应用于事务控制服务器,其特征在于,所述装置包括:
确定模块,用于在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;
控制模块,用于在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
26.一种分布式事务处理装置,应用于应用服务器,其特征在于,所述装置包括:
发起模块,用于发起分布式事务,所述分布式事务与多个分支事务对应;
结束模块,用于根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
27.一种分布式事务处理装置,应用于事务控制服务器,其特征在于,所述方法包括:
确定模块,用于在应用服务器发起分布式事务情况下,确定所述分布式事务对应的多个分支事务;所述分布式事务是由所述应用服务器基于用户设备发送的交易服务请求对应发起;
控制模块,用于在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
28.一种分布式事务处理装置,应用于应用服务器,其特征在于,所述方法包括:
发起模块,用于发起与用户设备发送的交易服务请求对应的分布式事务,所述分布式事务与多个分支事务对应;
结束模块,用于根据事务控制服务器的控制结束所述分布式事务对应的分支事务,所述事务控制服务器是在确定需要结束所述分布式事务时,基于所述分布式事务的目标结束方式控制所述分布式事务对应分支事务的结束,以便所述分支事务的结束方式与所述目标结束方式一致。
29.一种事务控制服务器,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至12中任一项所述的方法。
30.一种应用服务器,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求13至22中任一项所述的方法。
31.一种事务控制服务器,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求23所述的方法。
32.一种应用服务器,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求24所述的方法。
CN202010526407.3A 2020-06-09 2020-06-09 分布式事务处理方法、装置及设备 Active CN113296896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010526407.3A CN113296896B (zh) 2020-06-09 2020-06-09 分布式事务处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010526407.3A CN113296896B (zh) 2020-06-09 2020-06-09 分布式事务处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113296896A true CN113296896A (zh) 2021-08-24
CN113296896B CN113296896B (zh) 2022-05-06

Family

ID=77318656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010526407.3A Active CN113296896B (zh) 2020-06-09 2020-06-09 分布式事务处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113296896B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721710A (zh) * 2022-04-29 2022-07-08 北京达佳互联信息技术有限公司 版本控制方法、装置及存储介质
CN114816681A (zh) * 2022-03-29 2022-07-29 江苏中交车旺科技有限公司 保险业务数据处理方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150249703A1 (en) * 2014-02-28 2015-09-03 Red Hat, Inc. Systems and methods for communicating information of participants registered with a sub-coordinator during distributed transaction processing
CN105988862A (zh) * 2015-02-04 2016-10-05 阿里巴巴集团控股有限公司 分布式事务处理方法及装置
CN106156119A (zh) * 2015-04-07 2016-11-23 阿里巴巴集团控股有限公司 一种分布式事务通信方法、***及装置
CN106557514A (zh) * 2015-09-29 2017-04-05 中兴通讯股份有限公司 一种分布式事务回滚方法及装置
CN108845866A (zh) * 2018-06-28 2018-11-20 阿里巴巴集团控股有限公司 处理分布式事务的方法和装置
CN110019443A (zh) * 2017-09-08 2019-07-16 阿里巴巴集团控股有限公司 非关系型数据库事务处理方法、装置及电子设备
CN110532068A (zh) * 2019-07-18 2019-12-03 政采云有限公司 一种分布式事务的管理方法
CN110888718A (zh) * 2019-11-27 2020-03-17 武汉虹旭信息技术有限责任公司 分布式事务的实现方法及装置
CN111045794A (zh) * 2019-12-17 2020-04-21 深圳前海环融联易信息科技服务有限公司 分布式事务处理方法、装置、***、计算机设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150249703A1 (en) * 2014-02-28 2015-09-03 Red Hat, Inc. Systems and methods for communicating information of participants registered with a sub-coordinator during distributed transaction processing
CN105988862A (zh) * 2015-02-04 2016-10-05 阿里巴巴集团控股有限公司 分布式事务处理方法及装置
CN106156119A (zh) * 2015-04-07 2016-11-23 阿里巴巴集团控股有限公司 一种分布式事务通信方法、***及装置
CN106557514A (zh) * 2015-09-29 2017-04-05 中兴通讯股份有限公司 一种分布式事务回滚方法及装置
CN110019443A (zh) * 2017-09-08 2019-07-16 阿里巴巴集团控股有限公司 非关系型数据库事务处理方法、装置及电子设备
CN108845866A (zh) * 2018-06-28 2018-11-20 阿里巴巴集团控股有限公司 处理分布式事务的方法和装置
CN110532068A (zh) * 2019-07-18 2019-12-03 政采云有限公司 一种分布式事务的管理方法
CN110888718A (zh) * 2019-11-27 2020-03-17 武汉虹旭信息技术有限责任公司 分布式事务的实现方法及装置
CN111045794A (zh) * 2019-12-17 2020-04-21 深圳前海环融联易信息科技服务有限公司 分布式事务处理方法、装置、***、计算机设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816681A (zh) * 2022-03-29 2022-07-29 江苏中交车旺科技有限公司 保险业务数据处理方法、装置、电子设备及存储介质
CN114816681B (zh) * 2022-03-29 2024-04-26 江苏中交车旺科技有限公司 保险业务数据处理方法、装置、电子设备及存储介质
CN114721710A (zh) * 2022-04-29 2022-07-08 北京达佳互联信息技术有限公司 版本控制方法、装置及存储介质

Also Published As

Publication number Publication date
CN113296896B (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
TWI746905B (zh) 基於區塊鏈的智慧合約調用方法及裝置、電子設備
CN106899648B (zh) 一种数据处理方法和设备
JP7086065B2 (ja) アプリケーションリンク拡張方法、装置、及びシステム
US20140344123A1 (en) Dynamically modifying workload patterns in a cloud
CN113296896B (zh) 分布式事务处理方法、装置及设备
CN111026367A (zh) 微服务编排方法、装置、终端设备及存储介质
CN112817995B (zh) 数据处理方法和装置、电子设备及存储介质
CN111415146A (zh) 资源数据的处理方法、装置及设备
US11755301B2 (en) Deployment of cloud infrastructures using a cloud management platform
CN108346095B (zh) 联合***的管控方法、装置、设备及计算机可读存储介质
CN106034148B (zh) 一种快速信息交互方法、本地服务器、异地服务器及***
CN114371918A (zh) 分布式事务的处理方法、装置、存储介质及电子设备
WO2021013185A1 (zh) 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN112564956A (zh) 一种客户端的远程升级方法及设备、装置、存储介质
US11422791B2 (en) Upgrading a sequence of microservices in a cloud computing environment
CN113296897B (zh) 一种分布式事务的处理方法、装置、设备和机器可读介质
CN114968482A (zh) 无服务器处理方法、装置和网络设备
CN106855821B (zh) 一种分布式事务处理方法及装置
CN111967010B (zh) 一种可信服务方法、装置、设备及存储介质
CN110933120A (zh) 一种基于混合云的计算方法、装置以及***
CN117076007B (zh) 降低中台架构代码侵入的方法、装置及中台***
CN112114857B (zh) 一种前端服务治理方法、前端服务器和网站服务器
CN116028064A (zh) 基于Git的代码处理方法、***、设备及存储介质
CN107832122B (zh) 一种***间通讯和事务控制方法及装置
CN111131538B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230530

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right