WO2019149032A1 - Distributed transaction processing method and device - Google Patents
Distributed transaction processing method and device Download PDFInfo
- Publication number
- WO2019149032A1 WO2019149032A1 PCT/CN2019/070574 CN2019070574W WO2019149032A1 WO 2019149032 A1 WO2019149032 A1 WO 2019149032A1 CN 2019070574 W CN2019070574 W CN 2019070574W WO 2019149032 A1 WO2019149032 A1 WO 2019149032A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- branch
- transaction
- processing
- transactions
- resource
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
Definitions
- One or more embodiments of the present disclosure relate to the field of computer technologies, and in particular, to a distributed transaction processing method and apparatus.
- TM Transaction Manager
- TM handles distributed transactions through two phases: the preprocessing phase and the commit or rollback phase.
- TM will try to lock resources in Resource Manager (RM) 1 (an independent participant in a distributed environment), and if successful, try to consult and lock RM2 (distributed environment) If the resources in another independent participant are successful, they will enter the submission phase.
- RM Resource Manager
- RM2 distributed environment
- the TM initiates a transaction commit operation, releases the resources locked in the pre-processing phase in RM1, and performs resource consumption processing.
- the resource release and actual consumption of RM2 are continued.
- the TM will continue to retry the submission until it is successful. It can be understood that if there is a failure in the pre-processing stage, a rollback is initiated, and the TM will only finish the transaction after the RM1 and RM2 rollbacks are successfully answered, otherwise the rollback will be continuously re-tried until it succeeds.
- One or more embodiments of the present specification describe a distributed transaction processing method and apparatus that can improve the processing efficiency of distributed transactions.
- a distributed transaction processing method comprising:
- the transaction manager obtains multiple branch transactions corresponding to the distributed transaction
- the plurality of branch transactions are processed in parallel and/or serially according to the dependency.
- a distributed transaction processing apparatus including:
- An obtaining unit configured to acquire multiple branch transactions corresponding to the distributed transaction
- a parsing unit configured to parse the plurality of branch transactions acquired by the acquiring unit to determine a processing object of each of the plurality of branch transactions and a processing manner of resources corresponding to the processing object;
- a determining unit configured to determine a dependency relationship between the plurality of branch transactions according to the processing object parsed by the parsing unit and the processing manner;
- a processing unit configured to process the plurality of branch transactions in parallel and/or serial according to the dependency determined by the determining unit.
- the transaction manager acquires a plurality of branch transactions of a distributed transaction.
- a plurality of branch transactions are analyzed to determine respective processing objects of the plurality of branch transactions and processing of resources corresponding to the processing objects.
- the dependencies between multiple branch transactions are determined. According to this dependency, multiple branch transactions are processed in parallel and/or serially. Thereby, the processing efficiency of the distributed transaction can be improved.
- FIG. 1 is a schematic diagram of a conventional distributed transaction processing method
- 2 is an information interaction diagram of a distributed transaction processing method
- FIG. 3 is a schematic diagram of an application scenario of a distributed transaction processing method according to an embodiment of the present disclosure
- FIG. 5 is a schematic diagram of a distributed transaction processing apparatus according to an embodiment of the present disclosure.
- the information interaction diagram of the distributed transaction processing method shown in FIG. 1 can be as shown in FIG. 2.
- the transaction manager during the pre-processing phase, the transaction manager has essentially no dependencies on the calls to individual participants. In addition, there is no necessary dependency on the above calling process, either in the commit phase or in the rollback phase. Therefore, in a distributed environment, the transaction manager can make calls to each participant in a concurrent manner. That is, each branch transaction can be processed in parallel.
- the time of distributed transaction processing does not increase linearly. For example, if the service interaction time is T, and there are N participants, if the traditional distributed transaction processing is adopted, the processing overhead of both phases is NT. In parallel, the processing time can be basically guaranteed to be T.
- the distributed transaction processing method provided by one embodiment of the present specification can be applied to the scenario shown in FIG. 3.
- the service system is configured to divide the distributed transaction into multiple branch transactions according to the service request.
- a branch transaction here can refer to a behavior of a distributed transaction.
- the business requirement is: "Transfer 100 yuan from account A to account B”.
- the distributed transaction can be divided into two branch transactions, which are used for the following processing: "A-100 "and "B+100”.
- the business system can then send the divided multiple branch transactions to the transaction manager.
- the transaction manager may parse the plurality of branch transactions to determine respective processing objects (eg, accounts, etc.) and resources corresponding to the processing objects (eg, account balance, gold, etc.) ). After that, the dependencies between the multiple branch transactions can be determined according to the processing object and the processing manner. And according to the dependency, multiple branch transactions are processed in parallel and/or serially. Finally, the transaction manager returns the processing result information of the multiple branch transactions to the business system.
- processing objects eg, accounts, etc.
- resources corresponding to the processing objects eg, account balance, gold, etc.
- the transaction manager specifically processes the branch transaction by calling the participant, wherein the participant may refer to the service invoked by the transaction manager when processing the branch transaction.
- the participant may refer to the service invoked by the transaction manager when processing the branch transaction.
- one participant can be considered a financial library A and another participant can be considered a financial library B.
- the transaction manager can call the financial library A to transfer 100 yuan from the account A, and can call the financial library B to transfer the account B to 100 yuan.
- the consistency of account A deduction and account B replenishment is guaranteed.
- the rollback fails and the feedback fails.
- the execution entity of the method can be the transaction manager of Figure 3. As shown in FIG. 4, the method may specifically include:
- step 410 the transaction manager obtains multiple branch transactions corresponding to the distributed transaction.
- the business system can divide the distributed transaction into multiple branch transactions according to business requirements.
- the business needs are: "Transfer 100 yuan from account A to account B, and 5 yuan from account B to account C".
- the distributed transaction can be divided into four branch transactions, the four branch transactions. They are used for the following processes: "A-100", “B+100", “B-5", and "C+5".
- the business system can then send the divided multiple branch transactions to the transaction manager.
- Step 420 Parse a plurality of branch transactions to determine a processing object of each of the plurality of branch transactions and a processing manner of the resource corresponding to the processing object.
- the processing object here may include a user's account or the like.
- the resources corresponding to the processing object may include, but are not limited to, account balance (also referred to as funds), gold, and the like.
- the processing method of the resource corresponding to the processing object may include resource increase, resource consumption, and the like. For example, if the processing object is an account and the resource corresponding to the processing object is an account balance, the processing method of the resource may be determined according to the increase or decrease of the account balance of the account. Specifically, when the account balance in the account is increased, the processing of the resource may be a resource increase; and when the account balance in the account is reduced, the processing of the resource may be resource consumption.
- the respective processing objects of the four branch transactions are: “Account A”, “Account B”, “Account B”, and “Account C”.
- the first branch transaction is used to deduct 100 yuan from the account balance of account A, that is, the first branch transaction is used to reduce the account balance in account A, the way of processing the resource is: “resource consumption ".
- the other three branch transactions deal with resources as: “resource increase”, “resource consumption” and “resource increase”.
- Step 430 Determine a dependency relationship between the plurality of branch transactions according to the processing object and the processing manner.
- multiple branch transactions may be classified according to a processing manner.
- the dependencies between the branch transactions of different classes are determined according to the processing objects. Specifically, for each of the plurality of branch transactions, it is determined whether the processing manner of the resource corresponding to the processing object by the branch transaction is a resource increase. If yes, it is determined that the category of the branch transaction is a resource addition class. If not, it is determined that the category of the branch transaction is a resource consumption class. For a branch transaction that adds a class to a resource, you can directly determine the branch transaction of the class as a branch transaction that does not have a dependency.
- the processing object of the branch transaction of the resource consumption class is the same as the processing object of the branch transaction of the resource addition class. If yes, it is determined that the branch transaction of the resource consumption class is a branch transaction with a dependency. If not, it is determined that the branch transaction of the resource consumption class is a branch transaction that does not have a dependency.
- the processing of the resource corresponding to the processing object is handled by the second branch transaction (corresponding to the branch transaction of "B+100") and the fourth branch transaction (the branch transaction corresponding to "C+5").
- the category of the two branch transactions is a resource addition class. Since the first branch transaction (corresponding to the branch transaction of "A-100") and the third branch transaction (corresponding to the branch transaction of "B-5"), the processing of the resource corresponding to the processing object is "resource consumption”. ", so you can determine the category of the two branch transactions as a resource consumption class.
- the two branch transactions of the resource increase class For two branch transactions of the resource increase class, it can be determined that the two branch transactions are branch transactions that do not have a dependency.
- the third branch transaction is the same as the processing object (account B) of the second branch transaction, it can be determined that the third branch transaction is a branch transaction with a dependency.
- the first branch transaction is different from the processing object of the two branch transactions of the resource addition class, so the first branch transaction is determined to be a branch transaction without a dependency.
- Step 440 processing multiple branch transactions in parallel and/or serially according to the dependency.
- a branch transaction without a dependency may be divided into a first packet, and a branch transaction with a dependency may be divided into a second group.
- the branch transactions in the first packet are processed in parallel. After the branch transaction in the first packet ends, the branch transaction in the second packet is processed in parallel.
- the second branch transaction, the fourth branch transaction, and the first branch transaction may be divided into the first packet.
- the third branch transaction is divided into second packets. After that, the second branch transaction, the fourth branch transaction, and the first branch transaction are processed in parallel. After the three branch transactions are completed, the third branch transaction is processed.
- the third branch transaction is serially processed.
- the distributed transaction processing method provided by the foregoing embodiment of the present specification can improve the processing efficiency of the distributed transaction and ensure the correctness of the processing.
- the branch transactions corresponding to "A-100", "B+100", and "C+5" are processed in parallel first, and then in the case where the serial processing corresponds to the "B-5" branch transaction, Avoid when the account corresponding to the "B-5" branch is processed first, if the account balance of account B is 0, the failure will be dealt with. That is to say, in the embodiment of the present specification, when the processing objects of the branch transactions are the same, the correctness of the processing can be ensured by setting the processing order.
- the transaction manager calls the service (or participant) time T, and it is assumed that the distributed transaction is divided into N branch transactions. Then, in the case where there is no dependency between N branch transactions, the processing time overhead of the distributed transaction is T. In the case of a dependency between N branch transactions, the processing time overhead of the distributed transaction is 2T. Therefore, it can be seen that in the case that there is no dependency relationship in the distributed transaction, the solution provided by the present specification can control the distributed transaction processing time within the single-branch transaction processing time range, and does not cause the whole because of the increase of the participants. Distributed transaction processing time increases. Even if there is a dependency between the branches, the processing time is still controllable, and the processing time does not increase as the size of the participants increases.
- an embodiment of the present specification further provides a distributed transaction processing apparatus.
- the apparatus includes:
- the obtaining unit 501 is configured to acquire multiple branch transactions corresponding to the distributed transaction.
- the parsing unit 502 is configured to parse the plurality of branch transactions acquired by the obtaining unit 501 to determine a processing object of each of the plurality of branch transactions and a processing manner of the resource corresponding to the processing object.
- the processing object may be a user's account or the like.
- the resource corresponding to the processing object may be an account balance or the like.
- the determining unit 503 is configured to determine a dependency relationship between the plurality of branch transactions according to the processing object and the processing manner parsed by the parsing unit 502.
- the determining unit 503 is specifically configured to: classify the plurality of branch transactions according to the processing manner; and determine, according to the processing object, the dependencies between the branch transactions of different categories.
- the determining unit 503 is further specifically configured to:
- the category of the branch transaction is a resource addition class.
- the category of the branch transaction is a resource consumption class.
- the branch transaction of the resource addition class is determined to be a branch transaction without a dependency.
- For the branch transaction of the resource consumption class it is determined whether the processing object of the branch transaction of the resource consumption class is the same as the processing object of the branch transaction of the resource addition class.
- the branch transaction of the resource consumption class is a branch transaction with a dependency.
- the branch transaction of the resource consumption class is a branch transaction without a dependency.
- the processing unit 504 is configured to process multiple branch transactions in parallel and/or serial according to the dependencies determined by the determining unit 503.
- processing unit 504 is specifically configured to:
- Branch transactions that do not have dependencies are divided into first packets, and branch transactions that have dependencies are divided into a second group.
- the branch transactions in the first packet are processed in parallel.
- the branch transaction in the second packet is processed in parallel.
- the obtaining unit 501 acquires a plurality of branch transactions corresponding to the distributed transaction.
- the parsing unit 502 parses the plurality of branch transactions to determine a processing target of each of the plurality of branch transactions and a processing manner of the resource corresponding to the processing object.
- the determining unit 503 determines the dependency relationship between the plurality of branch transactions according to the processing object and the processing manner.
- Processing unit 504 processes multiple branch transactions in parallel and/or serially depending on the dependencies. Thereby, the processing efficiency of the distributed transaction can be improved.
- the functions described in this specification can be implemented in hardware, software, firmware, or any combination thereof.
- the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种用分布式事务处理方法及装置。One or more embodiments of the present disclosure relate to the field of computer technologies, and in particular, to a distributed transaction processing method and apparatus.
传统技术中,在处理分布式事务的过程中,为了保证各个参与者的一致性,事务处理器(Transaction Manager,TM)通常通过串行的方式来调用各个参与者处理相应的分支事务。如图1所示,TM在处理分布式事务的过程中,会经过两个阶段:预处理阶段和提交(commit)或者回滚(rollback)阶段。在预处理阶段,TM会尝试锁定资源管理器(Resource Manager,RM)1(分布式环境下的一个独立参与者)中的资源,若能够成功则尝试去咨询和锁定RM2(分布式环境下的另一个独立参与者)中的资源,若也能够成功,则进入提交阶段。在提交阶段,TM会发起事务提交操作,在RM1中解除在预处理阶段锁定的资源并进行资源的消耗处理,成功后继续进行RM2的资源释放及实际消耗。在上述提交的过程中,若有任何异常,则TM会不断进行重试提交,直到成功为止。可以理解的是,如果在预处理阶段有失败,则发起回滚,TM只有在得到RM1及RM2的回滚成功应答后才会最终进行事务完结处理,否则会不断重试回滚,直到成功。In the traditional technology, in the process of processing distributed transactions, in order to ensure the consistency of each participant, the Transaction Manager (TM) usually calls each participant to process the corresponding branch transaction in a serial manner. As shown in Figure 1, TM handles distributed transactions through two phases: the preprocessing phase and the commit or rollback phase. In the pre-processing phase, TM will try to lock resources in Resource Manager (RM) 1 (an independent participant in a distributed environment), and if successful, try to consult and lock RM2 (distributed environment) If the resources in another independent participant are successful, they will enter the submission phase. In the commit phase, the TM initiates a transaction commit operation, releases the resources locked in the pre-processing phase in RM1, and performs resource consumption processing. After successful, the resource release and actual consumption of RM2 are continued. In the above submission process, if there is any abnormality, the TM will continue to retry the submission until it is successful. It can be understood that if there is a failure in the pre-processing stage, a rollback is initiated, and the TM will only finish the transaction after the RM1 and RM2 rollbacks are successfully answered, otherwise the rollback will be continuously re-tried until it succeeds.
因此,需要提供一种更高效地处理分布式事务的方案。Therefore, there is a need to provide a solution for handling distributed transactions more efficiently.
发明内容Summary of the invention
本说明书一个或多个实施例描述了一种分布式事务处理方法及装置,可以提高分布式事务的处理效率。One or more embodiments of the present specification describe a distributed transaction processing method and apparatus that can improve the processing efficiency of distributed transactions.
第一方面,提供了一种分布式事务处理方法,包括:In a first aspect, a distributed transaction processing method is provided, comprising:
事务管理器获取分布式事务对应的多个分支事务;The transaction manager obtains multiple branch transactions corresponding to the distributed transaction;
对所述多个分支事务进行解析,以确定所述多个分支事务各自的处理对象以及对所述处理对象对应的资源的处理方式;Parsing the plurality of branch transactions to determine respective processing objects of the plurality of branch transactions and processing manners of resources corresponding to the processing objects;
根据所述处理对象和所述处理方式,确定所述多个分支事务之间的依赖关系;Determining a dependency relationship between the plurality of branch transactions according to the processing object and the processing manner;
根据所述依赖关系,并行和/或串行处理所述多个分支事务。The plurality of branch transactions are processed in parallel and/or serially according to the dependency.
第二方面,提供了一种分布式事务处理装置,包括:In a second aspect, a distributed transaction processing apparatus is provided, including:
获取单元,用于获取分布式事务对应的多个分支事务;An obtaining unit, configured to acquire multiple branch transactions corresponding to the distributed transaction;
解析单元,用于对所述获取单元获取的所述多个分支事务进行解析,以确定所述多个分支事务各自的处理对象以及对所述处理对象对应的资源的处理方式;a parsing unit, configured to parse the plurality of branch transactions acquired by the acquiring unit to determine a processing object of each of the plurality of branch transactions and a processing manner of resources corresponding to the processing object;
确定单元,用于根据所述解析单元解析得到的所述处理对象和所述处理方式,确定所述多个分支事务之间的依赖关系;a determining unit, configured to determine a dependency relationship between the plurality of branch transactions according to the processing object parsed by the parsing unit and the processing manner;
处理单元,用于根据所述确定单元确定的所述依赖关系,并行和/或串行处理所述多个分支事务。And a processing unit, configured to process the plurality of branch transactions in parallel and/or serial according to the dependency determined by the determining unit.
本说明书一个或多个实施例提供的分布式事务处理方法及装置,事务管理器获取分布式事务的多个分支事务。对多个分支事务进行分析,以确定多个分支事务各自的处理对象以及对处理对象对应的资源的处理方式。根据处理对象和处理方式,确定多个分支事务之间的依赖关系。根据该依赖关系,并行和/或串行处理多个分支事务。由此,可以提高分布式事务的处理效率。The distributed transaction processing method and apparatus provided by one or more embodiments of the present specification, the transaction manager acquires a plurality of branch transactions of a distributed transaction. A plurality of branch transactions are analyzed to determine respective processing objects of the plurality of branch transactions and processing of resources corresponding to the processing objects. Depending on the processing object and the processing method, the dependencies between multiple branch transactions are determined. According to this dependency, multiple branch transactions are processed in parallel and/or serially. Thereby, the processing efficiency of the distributed transaction can be improved.
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present specification, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present specification, Those skilled in the art can also obtain other drawings based on these drawings without any creative work.
图1为传统的分布式事务处理方法示意图;1 is a schematic diagram of a conventional distributed transaction processing method;
图2为分布式事务处理方法的信息交互图;2 is an information interaction diagram of a distributed transaction processing method;
图3为本说明书一个实施例提供的分布式事务处理方法的应用场景示意图;FIG. 3 is a schematic diagram of an application scenario of a distributed transaction processing method according to an embodiment of the present disclosure;
图4为本说明书一个实施例提供的分布式事务处理方法流程图;4 is a flowchart of a distributed transaction processing method provided by an embodiment of the present specification;
图5为本说明书一个实施例提供的分布式事务处理装置示意图。FIG. 5 is a schematic diagram of a distributed transaction processing apparatus according to an embodiment of the present disclosure.
在详细介绍本说明书提供的方案之前,先结合传统技术给出如下优化思路:Before introducing the scheme provided in this manual in detail, the following optimization ideas are given in combination with the traditional technology:
图1所示的分布式事务处理方法的信息交互图可以如图2所示。从图2可以看出,在预处理阶段,事务管理器对各个参与者的调用本质上没有必然的依赖关系。此外,无论是在提交阶段还是在回滚阶段,上述调用过程也没有必然的依赖关系。因此,在分布式环境中,事务管理器对各个参与者之间的调用是可以采用并发的方式进行的。也即各个分支事务是可以并行处理的。通过上述并行的方式,在参与者越多的情况下,分布式事务处理的时间并不会线性增加。举例来说,若一次服务交互时间是T,则有N个参与者的情况下,若采用传统的分布式事务处理的方式,两个阶段的处理开销都是NT。而采用并行的方式,能够基本保证处理时间为T。The information interaction diagram of the distributed transaction processing method shown in FIG. 1 can be as shown in FIG. 2. As can be seen from Figure 2, during the pre-processing phase, the transaction manager has essentially no dependencies on the calls to individual participants. In addition, there is no necessary dependency on the above calling process, either in the commit phase or in the rollback phase. Therefore, in a distributed environment, the transaction manager can make calls to each participant in a concurrent manner. That is, each branch transaction can be processed in parallel. In the above parallel manner, the more time there are participants, the time of distributed transaction processing does not increase linearly. For example, if the service interaction time is T, and there are N participants, if the traditional distributed transaction processing is adopted, the processing overhead of both phases is NT. In parallel, the processing time can be basically guaranteed to be T.
下面结合上述优化思路,对本说明书提供的方案进行详细描述。The solution provided in this specification is described in detail below in conjunction with the above optimization ideas.
本说明书一个实施例提供的分布式事务处理方法可以应用于如图3所示的场景中,图3中,业务系统用于根据业务请求,将分布式事务划分为多个分支事务。此处的分支事务可以是指分布式事务的一次行为。以业务需求为:“从账户A转账100元给账户B”为例来说,则可以将分布式事务划分为两个分支事务,该两个分支事务分别用于作如下处理:“A-100”和“B+100”。之后,业务系统可以将划分的多个分支事务发送给事务管理器。事务管理器在接收到上述多个分支事务之后,可以对该多个分支事务进行解析,以确定各自的处理对象(如,账户等)以及对处理对象对应的资源(如,账户余额、黄金等)的处理方式。之后,可以根据处理对象和处理方式,确定多个分支事务之间的依赖关系。并根据该依赖关系,并行和/或串行处理多个分支事务。最后,事务管理器将多个分支事务的处理结果信息返回给业务系统。The distributed transaction processing method provided by one embodiment of the present specification can be applied to the scenario shown in FIG. 3. In FIG. 3, the service system is configured to divide the distributed transaction into multiple branch transactions according to the service request. A branch transaction here can refer to a behavior of a distributed transaction. For example, the business requirement is: "Transfer 100 yuan from account A to account B". For example, the distributed transaction can be divided into two branch transactions, which are used for the following processing: "A-100 "and "B+100". The business system can then send the divided multiple branch transactions to the transaction manager. After receiving the plurality of branch transactions, the transaction manager may parse the plurality of branch transactions to determine respective processing objects (eg, accounts, etc.) and resources corresponding to the processing objects (eg, account balance, gold, etc.) ). After that, the dependencies between the multiple branch transactions can be determined according to the processing object and the processing manner. And according to the dependency, multiple branch transactions are processed in parallel and/or serially. Finally, the transaction manager returns the processing result information of the multiple branch transactions to the business system.
需要说明的是,图3中,事务管理器具体是通过调用参与者来处理分支事务的,其中,参与者可以是指事务管理器在处理分支事务时所调用的服务。如前述例子,一个参与者可以认为是财务库A,而另一个参与者可以认为是财务库B。具体地,在上述两个分支事务的处理过程中,事务管理器可以调用财务库A从账户A中转出100元,可以调用财务库B给账户B转入100元。由此,就保了账户A扣款和账户B加款的一致性。在上述分支事务的处理过程中,若有任何异常,则失败回滚,并反馈转账失败。It should be noted that, in FIG. 3, the transaction manager specifically processes the branch transaction by calling the participant, wherein the participant may refer to the service invoked by the transaction manager when processing the branch transaction. As in the previous example, one participant can be considered a financial library A and another participant can be considered a financial library B. Specifically, in the processing of the above two branch transactions, the transaction manager can call the financial library A to transfer 100 yuan from the account A, and can call the financial library B to transfer the account B to 100 yuan. Thus, the consistency of account A deduction and account B replenishment is guaranteed. During the processing of the above branch transaction, if there is any exception, the rollback fails and the feedback fails.
图4为本说明书一个实施例提供的分布式事务处理方法流程图。所述方法的执行主 体可以为图3中的事务管理器。如图4所示,所述方法具体可以包括:4 is a flow chart of a distributed transaction processing method provided by an embodiment of the present specification. The execution entity of the method can be the transaction manager of Figure 3. As shown in FIG. 4, the method may specifically include:
步骤410,事务管理器获取分布式事务对应的多个分支事务。In step 410, the transaction manager obtains multiple branch transactions corresponding to the distributed transaction.
在一种实现方式中,业务系统可以根据业务需求,将分布式事务划分为多个分支事务。以业务需求为:“从账户A转账100元给账户B,从账户B分润5元给账户C”为例来说,则可以将分布式事务划分为四个分支事务,该四个分支事务分别用于作如下处理:“A-100”、“B+100”、“B-5”和“C+5”。之后,业务系统可以将划分的多个分支事务发送给事务管理器。In one implementation, the business system can divide the distributed transaction into multiple branch transactions according to business requirements. The business needs are: "Transfer 100 yuan from account A to account B, and 5 yuan from account B to account C". For example, the distributed transaction can be divided into four branch transactions, the four branch transactions. They are used for the following processes: "A-100", "B+100", "B-5", and "C+5". The business system can then send the divided multiple branch transactions to the transaction manager.
步骤420,对多个分支事务进行解析,以确定多个分支事务各自的处理对象以及对处理对象对应的资源的处理方式。Step 420: Parse a plurality of branch transactions to determine a processing object of each of the plurality of branch transactions and a processing manner of the resource corresponding to the processing object.
此处的处理对象可以包括用户的账户等。处理对象对应的资源可以包括但不限于账户余额(也称资金)以及黄金等。而对处理对象对应的资源的处理方式可以包括资源增加和资源消耗等。以处理对象为账户,处理对象对应的资源为账户余额为例来说,可以根据对账户的账户余额的增减情况,确定对资源的处理方式。具体地,当增加账户中的账户余额时,对资源的处理方式可以为资源增加;而当减少账户中的账户余额时,对资源的处理方式可以为资源消耗。The processing object here may include a user's account or the like. The resources corresponding to the processing object may include, but are not limited to, account balance (also referred to as funds), gold, and the like. The processing method of the resource corresponding to the processing object may include resource increase, resource consumption, and the like. For example, if the processing object is an account and the resource corresponding to the processing object is an account balance, the processing method of the resource may be determined according to the increase or decrease of the account balance of the account. Specifically, when the account balance in the account is increased, the processing of the resource may be a resource increase; and when the account balance in the account is reduced, the processing of the resource may be resource consumption.
如前述例子,四个分支事务各自的处理对象分别为:“账户A”、“账户B”、“账户B”和“账户C”。此外,由于第一个分支事务用于从账户A的账户余额中扣除100元,也即第一个分支事务用于减少账户A中的账户余额,所以其对资源的处理方式为:“资源消耗”。同理可以确定出其它三个分支事务对资源的处理方式分别为:、“资源增加”、“资源消耗”和“资源增加”。As in the foregoing example, the respective processing objects of the four branch transactions are: "Account A", "Account B", "Account B", and "Account C". In addition, since the first branch transaction is used to deduct 100 yuan from the account balance of account A, that is, the first branch transaction is used to reduce the account balance in account A, the way of processing the resource is: "resource consumption ". Similarly, it can be determined that the other three branch transactions deal with resources as: "resource increase", "resource consumption" and "resource increase".
步骤430,根据处理对象和处理方式,确定多个分支事务之间的依赖关系。Step 430: Determine a dependency relationship between the plurality of branch transactions according to the processing object and the processing manner.
在一种实现方式中,可以根据处理方式,对多个分支事务进行分类。在对分支事务进行分类后,根据处理对象,确定不同类别的分支事务之间的依赖关系。具体地,对多个分支事务中的每个分支事务,判断该分支事务对处理对象对应的资源的处理方式是否为资源增加。若是,则确定该分支事务的类别为资源增加类。若否,则确定该分支事务的类别为资源消耗类。对资源增加类的分支事务,可以直接将该类别的分支事务确定为不存在依赖关系的分支事务。对资源消耗类的分支事务,判断该资源消耗类的分支事务的处理对象是否与资源增加类的分支事务的处理对象相同。若是,则确定该资源消耗类的分支事务为存在依赖关系的分支事务。若否,则确定该资源消耗类的分支事务为不存 在依赖关系的分支事务。In an implementation manner, multiple branch transactions may be classified according to a processing manner. After classifying the branch transactions, the dependencies between the branch transactions of different classes are determined according to the processing objects. Specifically, for each of the plurality of branch transactions, it is determined whether the processing manner of the resource corresponding to the processing object by the branch transaction is a resource increase. If yes, it is determined that the category of the branch transaction is a resource addition class. If not, it is determined that the category of the branch transaction is a resource consumption class. For a branch transaction that adds a class to a resource, you can directly determine the branch transaction of the class as a branch transaction that does not have a dependency. For the branch transaction of the resource consumption class, it is determined whether the processing object of the branch transaction of the resource consumption class is the same as the processing object of the branch transaction of the resource addition class. If yes, it is determined that the branch transaction of the resource consumption class is a branch transaction with a dependency. If not, it is determined that the branch transaction of the resource consumption class is a branch transaction that does not have a dependency.
如前述例子,由于第二个分支事务(对应于“B+100”的分支事务)和第四个分支事务(对应于“C+5”的分支事务)对处理对象对应的资源的处理方式均为“资源增加”,所以可以确定该两个分支事务的类别为资源增加类。由于第一个分支事务(对应于“A-100”的分支事务)和第三个分支事务(对应于“B-5”的分支事务)对处理对象对应的资源的处理方式均为“资源消耗”,所以可以确定该两个分支事务的类别为资源消耗类。As in the previous example, the processing of the resource corresponding to the processing object is handled by the second branch transaction (corresponding to the branch transaction of "B+100") and the fourth branch transaction (the branch transaction corresponding to "C+5"). As the "resource increase", it can be determined that the category of the two branch transactions is a resource addition class. Since the first branch transaction (corresponding to the branch transaction of "A-100") and the third branch transaction (corresponding to the branch transaction of "B-5"), the processing of the resource corresponding to the processing object is "resource consumption". ", so you can determine the category of the two branch transactions as a resource consumption class.
对于资源增加类的两个分支事务,可以确定该两个分支事务为不存在依赖关系的分支事务。对资源消耗类的两个分支事务,由于第三个分支事务与第二个分支事务的处理对象(账户B)相同,所以可以确定第三个分支事务为存在依赖关系的分支事务。而第一个分支事务与资源增加类的两个分支事务的处理对象均不同,所以确定第一个分支事务为不存在依赖关系的分支事务。For two branch transactions of the resource increase class, it can be determined that the two branch transactions are branch transactions that do not have a dependency. For the two branch transactions of the resource consumption class, since the third branch transaction is the same as the processing object (account B) of the second branch transaction, it can be determined that the third branch transaction is a branch transaction with a dependency. The first branch transaction is different from the processing object of the two branch transactions of the resource addition class, so the first branch transaction is determined to be a branch transaction without a dependency.
步骤440,根据依赖关系,并行和/或串行处理多个分支事务。Step 440, processing multiple branch transactions in parallel and/or serially according to the dependency.
在一种实现方式中,可以将不存在依赖关系的分支事务划分到第一分组,将存在依赖关系的分支事务划分到第二组。并行处理第一分组中的分支事务。在第一分组中的分支事务处理结束后,并行处理第二分组中的分支事务。In one implementation, a branch transaction without a dependency may be divided into a first packet, and a branch transaction with a dependency may be divided into a second group. The branch transactions in the first packet are processed in parallel. After the branch transaction in the first packet ends, the branch transaction in the second packet is processed in parallel.
如前述例子,可以将第二个分支事务、第四个分支事务以及第一个分支事务划分到第一分组。将第三个分支事务划分到第二分组。之后,并行处理第二个分支事务、第四个分支事务以及第一个分支事务。在该三个分支事务处理结束后,处理第三个分支事务。此处,也可以理解为,第三个分支事务是串行处理的。As in the previous example, the second branch transaction, the fourth branch transaction, and the first branch transaction may be divided into the first packet. The third branch transaction is divided into second packets. After that, the second branch transaction, the fourth branch transaction, and the first branch transaction are processed in parallel. After the three branch transactions are completed, the third branch transaction is processed. Here, it can also be understood that the third branch transaction is serially processed.
通过本说明书上述实施例提供的分布式事务处理方法,可以既提高分布式事务的处理效率,又能保证其处理的正确性。如前述例子,在对应于“A-100”、“B+100”和“C+5”的分支事务先并行处理,之后在串行处理对应于“B-5”分支事务的情况下,可以避免当对应于“B-5”分支事务先处理时,如果账户B的账户余额为0,则会处理失败的问题。也即,本说明书实施例中,当分支事务的处理对象相同时,可以通过设定处理顺序的方式,来保证其处理的正确性。The distributed transaction processing method provided by the foregoing embodiment of the present specification can improve the processing efficiency of the distributed transaction and ensure the correctness of the processing. As in the foregoing example, the branch transactions corresponding to "A-100", "B+100", and "C+5" are processed in parallel first, and then in the case where the serial processing corresponds to the "B-5" branch transaction, Avoid when the account corresponding to the "B-5" branch is processed first, if the account balance of account B is 0, the failure will be dealt with. That is to say, in the embodiment of the present specification, when the processing objects of the branch transactions are the same, the correctness of the processing can be ensured by setting the processing order.
可以理解的是,在本说明书上述实施例提供的事务处理方法中,假设事务管理器调用一次服务(或者参与者)的时间为T,且假设分布式事务被划分为N个分支事务。那么在N个分支事务之间不存在依赖关系的情况下,分布式事务的处理时间开销为T。而 在N个分支事务之间存在依赖关系的情况下,分布式事务的处理时间开销为2T。由此,可以看出,在分布式事务不存在依赖关系的情况下,本说明书提供的方案可以将分布式事务处理时间控制在单分支事务处理时间范围内,不会因为参与者增加而使得整个分布式事务处理时间增加。即便自分支事务之间存在依赖的情况下,处理时长依然可控,且不随着参与者规模扩大而导致处理时间增长。It can be understood that in the transaction processing method provided by the above embodiment of the present specification, it is assumed that the transaction manager calls the service (or participant) time T, and it is assumed that the distributed transaction is divided into N branch transactions. Then, in the case where there is no dependency between N branch transactions, the processing time overhead of the distributed transaction is T. In the case of a dependency between N branch transactions, the processing time overhead of the distributed transaction is 2T. Therefore, it can be seen that in the case that there is no dependency relationship in the distributed transaction, the solution provided by the present specification can control the distributed transaction processing time within the single-branch transaction processing time range, and does not cause the whole because of the increase of the participants. Distributed transaction processing time increases. Even if there is a dependency between the branches, the processing time is still controllable, and the processing time does not increase as the size of the participants increases.
与上述分布式事务处理方法对应地,本说明书一个实施例还提供的一种分布式事务处理装置,如图5所示,该装置包括:Corresponding to the above-mentioned distributed transaction processing method, an embodiment of the present specification further provides a distributed transaction processing apparatus. As shown in FIG. 5, the apparatus includes:
获取单元501,用于获取分布式事务对应的多个分支事务。The obtaining
解析单元502,用于对获取单元501获取的多个分支事务进行解析,以确定多个分支事务各自的处理对象以及对处理对象对应的资源的处理方式。The
此处,处理对象可以为用户的账户等。处理对象对应的资源可以为账户余额等。Here, the processing object may be a user's account or the like. The resource corresponding to the processing object may be an account balance or the like.
确定单元503,用于根据解析单元502解析得到的处理对象和处理方式,确定多个分支事务之间的依赖关系。The determining
可选地,确定单元503具体可以用于:根据处理方式,对多个分支事务进行分类;根据处理对象,确定不同类别的分支事务之间的依赖关系。Optionally, the determining
可选地,确定单元503还具体可以用于:Optionally, the determining
对多个分支事务中的每个分支事务,判断分支事务对处理对象对应的资源的处理方式是否为资源增加。For each of the plurality of branch transactions, it is determined whether the processing method of the resource corresponding to the processing object by the branch transaction is a resource increase.
若是,则确定分支事务的类别为资源增加类。If so, it is determined that the category of the branch transaction is a resource addition class.
若否,则确定分支事务的类别为资源消耗类。If not, it is determined that the category of the branch transaction is a resource consumption class.
将资源增加类的分支事务确定为不存在依赖关系的分支事务。The branch transaction of the resource addition class is determined to be a branch transaction without a dependency.
对资源消耗类的分支事务,判断资源消耗类的分支事务的处理对象是否与资源增加类的分支事务的处理对象相同。For the branch transaction of the resource consumption class, it is determined whether the processing object of the branch transaction of the resource consumption class is the same as the processing object of the branch transaction of the resource addition class.
若是,则确定资源消耗类的分支事务为存在依赖关系的分支事务。If so, it is determined that the branch transaction of the resource consumption class is a branch transaction with a dependency.
若否,则确定资源消耗类的分支事务为不存在依赖关系的分支事务。If not, it is determined that the branch transaction of the resource consumption class is a branch transaction without a dependency.
处理单元504,用于根据确定单元503确定的依赖关系,并行和/或串行处理多个分支事务。The
可选地,处理单元504具体可以用于:Optionally, the
将不存在依赖关系的分支事务划分到第一分组,将存在依赖关系的分支事务划分到第二组。Branch transactions that do not have dependencies are divided into first packets, and branch transactions that have dependencies are divided into a second group.
并行处理第一分组中的分支事务。The branch transactions in the first packet are processed in parallel.
在第一分组中的分支事务处理结束后,并行处理第二分组中的分支事务。After the branch transaction in the first packet ends, the branch transaction in the second packet is processed in parallel.
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。The functions of the functional modules of the apparatus in the foregoing embodiments of the present invention can be implemented by the steps of the foregoing method embodiments. Therefore, the specific working process of the apparatus provided in one embodiment of the present specification is not described herein.
本说明书一个实施例提供的分布式事务处理装置,获取单元501获取分布式事务对应的多个分支事务。解析单元502对多个分支事务进行解析,以确定多个分支事务各自的处理对象以及对处理对象对应的资源的处理方式。确定单元503根据处理对象和处理方式,确定多个分支事务之间的依赖关系。处理单元504根据依赖关系,并行和/或串行处理多个分支事务。由此,可以提高分布式事务的处理效率。In the distributed transaction processing apparatus provided by an embodiment of the present specification, the obtaining
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。Those skilled in the art will appreciate that in one or more examples described above, the functions described in this specification can be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。The specific embodiments of the present invention have been described in detail with reference to the specific embodiments of the present invention. The scope of protection, any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of this specification are included in the scope of protection of this specification.
Claims (10)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810106140.5 | 2018-02-02 | ||
| CN201810106140.5A CN108415757B (en) | 2018-02-02 | 2018-02-02 | Distributed transaction processing method and device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019149032A1 true WO2019149032A1 (en) | 2019-08-08 |
Family
ID=63127505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/070574 Ceased WO2019149032A1 (en) | 2018-02-02 | 2019-01-07 | Distributed transaction processing method and device |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN108415757B (en) |
| TW (1) | TWI687875B (en) |
| WO (1) | WO2019149032A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4071610A4 (en) * | 2019-12-03 | 2023-01-25 | Tencent Technology (Shenzhen) Company Limited | Transaction processing method, apparatus, and device, and computer storage medium |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108415757B (en) * | 2018-02-02 | 2020-10-30 | 创新先进技术有限公司 | Distributed transaction processing method and device |
| CN109491768A (en) * | 2018-11-21 | 2019-03-19 | 四川长虹电器股份有限公司 | A kind of distributed transaction method for dynamically processing and system based on subtransaction stream |
| US11544245B2 (en) | 2019-12-03 | 2023-01-03 | Tencent Technology (Shenzhen) Company Limited | Transaction processing method, apparatus, and device and computer storage medium |
| CN112162988A (en) * | 2020-09-16 | 2021-01-01 | 中电信用服务有限公司 | Distributed transaction processing method and device and electronic equipment |
| CN113205407A (en) * | 2021-05-28 | 2021-08-03 | 中国工商银行股份有限公司 | Distributed sub-transaction processing method and device |
| CN114528072B (en) * | 2022-01-17 | 2025-09-05 | 浙江大学 | A distributed transaction processing method based on microservice architecture |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102346460A (en) * | 2011-05-27 | 2012-02-08 | 运软网络科技(上海)有限公司 | Transaction-based service control system and method |
| CN105589748A (en) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | Service request processing method and apparatus |
| CN106033439A (en) * | 2015-03-13 | 2016-10-19 | 阿里巴巴集团控股有限公司 | Method and system for processing distributed transaction |
| CN106557514A (en) * | 2015-09-29 | 2017-04-05 | 中兴通讯股份有限公司 | A kind of distributed transaction rollback method and device |
| CN108415757A (en) * | 2018-02-02 | 2018-08-17 | 阿里巴巴集团控股有限公司 | distributed transaction processing method and device |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6438582B1 (en) * | 1998-07-21 | 2002-08-20 | International Business Machines Corporation | Method and system for efficiently coordinating commit processing in a parallel or distributed database system |
| CN102207883A (en) * | 2011-06-01 | 2011-10-05 | 华中科技大学 | Transaction scheduling method of heterogeneous distributed real-time system |
| CN103856548B (en) * | 2012-12-07 | 2017-11-03 | 华为技术有限公司 | Dynamic resource scheduling method and dynamic resource scheduling device |
| US10191932B2 (en) * | 2014-03-21 | 2019-01-29 | Oracle International Corporation | Dependency-aware transaction batching for data replication |
| CN105335143A (en) * | 2014-07-30 | 2016-02-17 | 阿里巴巴集团控股有限公司 | Business processing method and apparatus |
| CN107291548B (en) * | 2016-03-31 | 2021-04-13 | 阿里巴巴集团控股有限公司 | Task resource scheduling method and device |
| CN107621973B (en) * | 2016-07-13 | 2021-10-26 | 阿里巴巴集团控股有限公司 | Cross-cluster task scheduling method and device |
-
2018
- 2018-02-02 CN CN201810106140.5A patent/CN108415757B/en active Active
- 2018-12-19 TW TW107145886A patent/TWI687875B/en active
-
2019
- 2019-01-07 WO PCT/CN2019/070574 patent/WO2019149032A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102346460A (en) * | 2011-05-27 | 2012-02-08 | 运软网络科技(上海)有限公司 | Transaction-based service control system and method |
| CN105589748A (en) * | 2014-10-22 | 2016-05-18 | 阿里巴巴集团控股有限公司 | Service request processing method and apparatus |
| CN106033439A (en) * | 2015-03-13 | 2016-10-19 | 阿里巴巴集团控股有限公司 | Method and system for processing distributed transaction |
| CN106557514A (en) * | 2015-09-29 | 2017-04-05 | 中兴通讯股份有限公司 | A kind of distributed transaction rollback method and device |
| CN108415757A (en) * | 2018-02-02 | 2018-08-17 | 阿里巴巴集团控股有限公司 | distributed transaction processing method and device |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4071610A4 (en) * | 2019-12-03 | 2023-01-25 | Tencent Technology (Shenzhen) Company Limited | Transaction processing method, apparatus, and device, and computer storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108415757B (en) | 2020-10-30 |
| TWI687875B (en) | 2020-03-11 |
| CN108415757A (en) | 2018-08-17 |
| TW201935332A (en) | 2019-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019149032A1 (en) | Distributed transaction processing method and device | |
| CN110018893B (en) | Task scheduling method based on data processing and related equipment | |
| US9247022B2 (en) | Method and apparatus for optimizing performance and network traffic in distributed workflow processing | |
| US9760583B2 (en) | Method for native program to inherit same transaction context when invoked by primary program running in separate environment | |
| CN103605498B (en) | The multithreading of mono-thread tasks performs method and system | |
| US7467371B1 (en) | Binding for business workflow processes | |
| CN112256444B (en) | DAG-based service processing method, device, server and storage medium | |
| CN104077362A (en) | Online mass data processing system and method | |
| US6895408B1 (en) | Method and apparatus to facilitate interaction management between loosely coupled applications | |
| WO2020024469A1 (en) | Service processing method, calling management system and computer device | |
| US8161492B2 (en) | Continuation based runtimes in transactions | |
| CN112367363A (en) | Information sharing method, device, server and storage medium | |
| CN113157710A (en) | Block chain data parallel writing method and device, computer equipment and storage medium | |
| WO2020258653A1 (en) | Cross-node data processing method and apparatus | |
| CN110599305A (en) | Service processing method, device and storage medium | |
| CN112596801B (en) | Transaction processing method, device, equipment, storage medium and database | |
| US10768974B2 (en) | Specifying an order of a plurality of resources in a transaction according to distance | |
| CN109491768A (en) | A kind of distributed transaction method for dynamically processing and system based on subtransaction stream | |
| CN114327673A (en) | Task starting method and device, electronic equipment and storage medium | |
| US8276165B2 (en) | Continuation-based runtime callback invocation | |
| US9672083B2 (en) | Operating a program code object in conjunction with an application context | |
| CN116795515A (en) | Method, device, chip and storage medium for executing loop task | |
| CN115712524A (en) | Data recovery method and device | |
| US7752254B2 (en) | Propagating contexts between a first and second system | |
| CN115098241B (en) | A method and device for batch processing of business |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19747073 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19747073 Country of ref document: EP Kind code of ref document: A1 |