Method for transaction recovery based on database table for embedded distributed transaction coordinator

By deploying an embedded distributed transaction coordinator in a distributed system, and utilizing transaction lifecycle tables and field data tables to detect and recover interrupted transactions, the high complexity and risk isolation issues caused by relying on a registry center platform are resolved, achieving efficient transaction consistency recovery.

CN114356509BActive Publication Date: 2026-01-02AGRICULTURAL BANK OF CHINA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111645144.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-29
Publication Date
2026-01-02
Estimated Expiration
2041-12-29

AI Technical Summary

Technical Problem

In existing technologies, distributed transaction coordinators rely on a registration center platform, which makes it impossible to perform transaction consistency recovery when the registration center platform encounters problems. Furthermore, this process is complex and risks cannot be isolated.

Method used

By deploying an embedded distributed transaction coordinator in a distributed system, transaction recovery is performed using transaction lifecycle tables and field data tables. The system scans the transaction lifecycle tables and field data tables to detect interruption events and perform recovery processing, thus avoiding reliance on a registry center platform.

Benefits of technology

It enables transaction consistency recovery even when problems occur on the registry platform, simplifying deployment complexity, reducing system risk, and improving reliability and availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114356509B_ABST
    Figure CN114356509B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a transaction recovery method and system based on a database table of an embedded distributed transaction coordinator, wherein the method comprises the following steps: multiple nodes jointly scan a transaction life cycle table (the transaction life cycle table comprises maximum execution time of a business corresponding to each transaction) to preempt tasks; any node in the multiple nodes determines that an interruption event is detected according to a current scanning time and the maximum execution time of the business corresponding to an interrupted transaction; then the node scans a transaction site data table, and according to the transaction site data table, the transaction site data table comprises execution information of each transaction under each business, the execution information of each transaction indicates execution conditions of a node executing the transaction, and the interruption event is recovered. The method can quickly detect the interrupted transaction, does not need to depend on a registration center platform, does not need to separately consider high availability of the distributed transaction coordinator, and simplifies deployment complexity.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of information technology, and in particular to a transaction recovery method based on a database table for an embedded distributed transaction coordinator. BACKGROUND

[0002] In the process of processing a distributed transaction, a plurality of nodes are included in a distributed cluster (which can also be referred to as a distributed system), and the plurality of nodes cooperate to complete processing of a service, and each node processes each transaction in the service. It can be seen that a service includes a plurality of services, each service includes a plurality of transactions, and the transactions are processed in the nodes. During the execution of each transaction of the service, the nodes may, for example, have a problem such as a crash, which causes the transactions to be unable to be normally executed and requires transaction recovery processing for transaction consistency.

[0003] In the prior art, a distributed transaction coordinator is deployed, and the distributed transaction coordinator detects whether a transaction has been interrupted through a registration center platform. If the distributed transaction coordinator determines that the transaction has been interrupted through the registration center platform, the distributed transaction coordinator sends a recovery request to other nodes in the distributed cluster through the registration center platform. The nodes that receive the recovery request recover the transaction context, and thus complete transaction recovery processing for transaction consistency.

[0004] In the process of implementing the present application, the inventors have found that at least the following problem exists in the prior art: The distributed transaction coordinator needs the registration center platform to perceive changes in the nodes, which causes the distributed transaction coordinator to depend on the registration center platform. If the registration center platform has a problem, the distributed transaction coordinator cannot perform transaction recovery processing for transaction consistency. SUMMARY

[0005] Embodiments of the present application provide a transaction recovery method based on a database table for an embedded distributed transaction coordinator, to solve the problem that if the registration center platform has a problem, the distributed transaction coordinator cannot perform transaction recovery processing for transaction consistency.

[0006] In a first aspect, embodiments of the present application provide a transaction recovery method based on a database table for an embedded distributed transaction coordinator, and the method comprises:

[0007] scanning a preset transaction life cycle table, and determining a maximum execution time corresponding to a current transaction according to the transaction life cycle table, wherein the transaction life cycle table includes a maximum execution time of a service corresponding to each transaction;

[0008] determining a detected interruption event according to the maximum execution time of the service corresponding to the current transaction, the interruption event indicating that a transaction has been interrupted;

[0009] scanning a preset transaction lifecycle table, and according to the transaction lifecycle table, wherein the transaction lifecycle table comprises execution information of each transaction under each business, the execution information of each transaction indicating execution of a node executing the transaction, calling execution information of a transaction under a business corresponding to the current transaction, and performing recovery processing on the interruption event.

[0010] Further, according to the maximum execution time of the business corresponding to the current transaction, it is determined that the interruption event is detected, comprising:

[0011] If it is determined that the scanning time is greater than the first preset time, it is determined that the interruption event is detected, and it is determined that the transaction under the business corresponding to the current transaction is an interrupted transaction; wherein the first preset time is the sum of the transaction start time and the preset transaction interruption expiration time, the transaction interruption expiration time is the sum of the execution time of each business under the business corresponding to the current transaction, and the transaction interruption expiration time is the maximum execution time;

[0012] The maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table is updated to the second preset time, and the second preset time is the sum of the current time and the preset transaction recovery timeout.

[0013] Further, the method further comprises:

[0014] If the execution information of the transaction under the business corresponding to the current transaction is not called within the transaction recovery timeout, the step of scanning the preset transaction lifecycle table is performed again.

[0015] Further, before scanning the preset transaction lifecycle table, further comprising:

[0016] The maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table is updated to the third preset time, and the third preset time is the sum of the current time and the preset transaction interruption expiration time, and the transaction interruption expiration time is the sum of the execution time of each business under the business corresponding to the current transaction.

[0017] Further, before scanning the preset transaction lifecycle table, further comprising:

[0018] Based on the preemption mechanism, the preset transaction lifecycle table is scanned.

[0019] Further, according to the transaction lifecycle table, the execution information of the transaction under the business corresponding to the current transaction is called, and the recovery processing on the interruption event is performed, comprising:

[0020] According to the transaction lifecycle table, the execution information of the transaction under the business corresponding to the current transaction is called;

[0021] If it is determined according to the invoked execution information that the transaction of the node is interrupted, the business corresponding to the interrupted transaction is taken over.

[0022] Further, an embedded distributed transaction coordinator is deployed in each node in the distributed system.

[0023] In a second aspect, an embodiment of the present application provides an apparatus for transaction recovery based on a database table of an embedded distributed transaction coordinator, and the method comprises the following steps:

[0024] A first scanning unit is configured to scan a preset transaction life cycle table.

[0025] A first determining unit is configured to determine a maximum execution time corresponding to a current transaction according to the transaction life cycle table, wherein the transaction life cycle table comprises a maximum execution time of a business corresponding to each transaction.

[0026] A second determining unit is configured to determine, according to the maximum execution time of the business corresponding to the current transaction, that an interruption event is detected, wherein the interruption event represents that the transaction is interrupted.

[0027] A second scanning unit is configured to scan a preset transaction field data table.

[0028] A processing unit is configured to invoke execution information of a transaction under the business corresponding to the current transaction according to the transaction field data table, wherein the transaction field data table comprises execution information of each transaction under each business, and each execution information of the transaction indicates an execution condition of a node executing the transaction, and the interruption event is recovered.

[0029] Further, the second determining unit comprises:

[0030] A first determining module is configured to determine that the interruption event is detected and that the transaction under the business corresponding to the current transaction is an interrupted transaction if it is determined that the scanning time is greater than a first preset time, wherein the first preset time is a sum of a transaction start time and a preset transaction interruption expiration time, the transaction interruption expiration time is a sum of execution durations of each business under the business corresponding to the current transaction, and the transaction interruption expiration time is the maximum execution time.

[0031] A first updating module is configured to update the maximum execution time of the business corresponding to the current transaction in the transaction life cycle table as a second preset time, wherein the second preset time is a sum of a current time and a preset transaction recovery timeout.

[0032] Further, the apparatus further comprises:

[0033] The execution unit is configured to execute the first scanning unit again if execution information of a transaction under the business corresponding to the current transaction is not invoked within the transaction recovery timeout.

[0034] Further, the apparatus further comprises:

[0035] The second updating module is configured to update the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table to a third preset time before the second scanning unit scans the preset transaction site data table; the third preset time is a sum of a current time and a preset transaction interruption expiration time, and the transaction interruption expiration time is a sum of execution durations of each business under the business corresponding to the current transaction.

[0036] Further, the first scanning unit is specifically configured to determine to scan the preset transaction lifecycle table based on a preemption mechanism.

[0037] Further, the processing unit comprises:

[0038] The invoking module is configured to invoke execution information of a transaction under the business corresponding to the current transaction according to the transaction site data table.

[0039] The execution module is configured to take over the business corresponding to the interrupted transaction if it is determined that the node of the interrupted transaction occurs according to the invoked execution information.

[0040] Further, an embedded distributed transaction coordinator is deployed in each node in the distributed system.

[0041] In a third aspect, an embodiment of the present application provides an electronic device, the electronic device comprising: a memory, a processor; a memory; a memory for storing instructions executable by the processor; and wherein the processor is configured to execute the method of the first aspect.

[0042] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium storing computer-executable instructions, the computer-executable instructions being executed by a processor to implement the method of the first aspect.

[0043] In a fifth aspect, an embodiment of the present application provides a computer program product, the computer program product comprising: a computer program stored in a readable storage medium, at least one processor of an electronic device can read the computer program from the readable storage medium, and the at least one processor executes the computer program to cause the electronic device to execute the method of the first aspect.

[0044] The transaction recovery method based on a database table provided by the embedded distributed transaction coordinator provided by the embodiment of the application comprises the following steps: scanning a preset transaction life cycle table, and determining an execution time corresponding to a current transaction according to the transaction life cycle table, wherein the transaction life cycle table comprises a maximum execution time of a business corresponding to each transaction; determining a detected interruption event according to the maximum execution time of the business corresponding to the current transaction; scanning a preset transaction site data table, and according to the transaction site data table, calling execution information of a transaction under the business corresponding to the current transaction, and performing recovery processing on the interruption event, wherein the transaction site data table comprises execution information of each transaction under each business. The detection of the interruption event is completed based on a node in a distributed system, and a transaction life cycle table is deployed, so that the node can determine whether the node is down by scanning the transaction life cycle table, and the interruption event, that is, the interrupted transaction, can be quickly detected. The deployment is simple, and does not need to depend on a registration center platform, and only needs the node in the distributed system and the transaction life cycle table to detect the interrupted transaction; and the node performs transaction recovery based on the transaction site data table. The registration center platform is not needed, so that the transaction recovery processing of transaction consistency can be normally performed. Moreover, the high availability of the distributed transaction coordinator does not need to be considered separately, so that the deployment complexity is simplified; the risk that the distributed transaction coordinator is hung up and affects the whole system is avoided, and the risk isolation is ensured. The method provided by the embodiment can be packaged as a Spring Boot plug-in, and then embedded into the node. BRIEF DESCRIPTION OF DRAWINGS

[0045] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the principles of the application.

[0046] Figure 1 A flowchart of a transaction recovery method based on a database table provided by an embedded distributed transaction coordinator provided by the embodiment of the application;

[0047] Figure 2 A flowchart of another transaction recovery method based on a database table provided by an embedded distributed transaction coordinator provided by the embodiment of the application;

[0048] Figure 3 An architecture diagram of transaction recovery provided by the embodiment of the application;

[0049] Figure 4 A structural schematic diagram of a transaction recovery device based on a database table provided by an embedded distributed transaction coordinator provided by the embodiment of the application;

[0050] Figure 5 A structural schematic diagram of an electronic device provided by the embodiment of the application;

[0051] Figure 6 is a block diagram of an electronic device provided by an embodiment of the present application.

[0052] The specific embodiments have been shown by the above-described drawings, and will be described in more detail hereinafter. The drawings and the written description are not intended to restrict the scope of the present application by any means, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0053] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The following description is made with reference to the accompanying drawings in which like reference numerals represent like elements, unless the context of use indicates otherwise. The following exemplary embodiments described are not meant to represent all embodiments in accordance with the present application. Rather, they are merely examples of apparatus and methods in accordance with some aspects of the present application as detailed in the appended claims.

[0054] With the rapid development of micro-service technology, distributed systems have also been widely and deeply developed. A distributed system (which can also be referred to as a distributed cluster) includes multiple independently deployed nodes, and multiple nodes cooperate to complete the processing of a business (a business can also be referred to as a service), and each node processes each transaction in the business. It can be seen that a business includes multiple services, each service includes multiple transactions, and the transactions are processed in the nodes. The entire distributed transaction (a distributed transaction, referred to as a business) is composed of multiple branch transactions; the distributed system needs to ensure the consistency of the transactions. During the execution of the transactions of the business, the nodes may have problems such as downtime, which in turn causes the transactions to be unable to be normally executed, and transaction recovery processing of transaction consistency is required.

[0055] In the process of managing transactions and performing transaction recovery processing of transaction consistency, high availability issues need to be considered. The principle of high availability guarantee is "clustering", which can also be referred to as "redundancy". "Clustering" means that since each transaction under a business is executed by each node, as long as one node is down, the entire business will be affected; if there is a backup node, after the node is down, the transaction can still be executed by other nodes. However, the above process can only ensure that the new business is not affected; but the business in the middle will still be affected, and the new node taking over cannot perform subsequent processing on the abnormal business. Therefore, high availability needs to solve the problem of automatically continuing the execution of the unfinished business on the new node taking over. Therefore, the concept of high availability can be understood as "clustering" + "automatic recovery of abnormal business".

[0056] In one example, a distributed transaction coordinator can be deployed; in the scheme of the distributed transaction coordinator, the concept of high availability can be understood as "clustering" + "automatic recovery of interrupted transactions". The distributed transaction coordinator detects whether a transaction interruption occurs through the registration center platform, and if the distributed transaction coordinator determines that a transaction interruption occurs, the distributed transaction coordinator sends a recovery request to other nodes in the distributed cluster through the registration center platform; the node receiving the recovery request recovers the transaction context through the log in the database, and then completes the transaction recovery processing of transaction consistency. In the above process, the distributed transaction coordinator relies on the registration center platform. It can be seen that the redundancy of the distributed transaction coordinator is realized through clustering deployment; the interrupted transaction recovery mechanism relies on the interaction between the node and the distributed transaction coordinator.

[0057] However, in the above manner, the distributed transaction coordinator needs the registration center platform to perceive the change of the node, which causes the distributed transaction coordinator to rely on the registration center platform, and if the registration center platform has a problem, the distributed transaction coordinator cannot perform the transaction recovery processing of transaction consistency; and the distributed transaction coordinator relies on the database when performing the transaction recovery. Therefore, the complexity of the transaction recovery is high.

[0058] In addition, in the above manner, if all the nodes of each transaction under the business are down, all the systems involving the distributed transaction will stop serving, the risk cannot be isolated, and the distributed system reliability requirement is not met. In addition, the distributed transaction coordinator is independent of each node, and the reliability design of the distributed transaction coordinator needs a higher level, which increases the complexity of system maintenance and improves the cost.

[0059] The embedded distributed transaction coordinator based on the database table transaction recovery method provided by the embodiments of the present application aims to solve the above technical problems of the prior art.

[0060] The technical solutions of the present application and how the technical solutions of the present application solve the above technical problems will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes can not be described again in some embodiments. The embodiments of the present application will be described below with reference to the drawings.

[0061] Figure 1 A flowchart of an embedded distributed transaction coordinator based on a database table transaction recovery method provided by the embodiments of the present application is shown in Figure 1 The method comprises the following steps.

[0062] 101. scan a preset transaction lifecycle table, and determine a maximum execution time corresponding to a current transaction according to the transaction lifecycle table, wherein the transaction lifecycle table comprises maximum execution times of businesses corresponding to each transaction.

[0063] Exemplarily, a plurality of nodes are included in a distributed system (i.e., a distributed cluster), and the plurality of nodes cooperate to complete processing of a business, and each node processes each transaction in the business. It can be known that the business includes a plurality of services, each service includes a plurality of transactions, and each transaction is processed in each node.

[0064] A transaction refers to a mechanism that all operations involved in an activity are included in an indivisible execution unit, and all operations of the transaction can be committed only when all operations can be normally executed, and any operation execution failure will cause the entire transaction to roll back.

[0065] A distributed system splits an application system into a plurality of services that can be independently deployed, and in order to ensure transaction data consistency between the plurality of services, transaction operations need to be completed through remote cooperation between the services. The transaction completed through remote cooperation between different services in such a distributed system environment is referred to as a distributed transaction. The transaction on each service is a component of the entire distributed transaction, and the transaction on each service is referred to as a branch transaction, and the completed distributed transaction is referred to as a global transaction. It can be known that a business includes a plurality of services, and each service includes a plurality of transactions. A distributed transaction framework can be embedded in the internal of an application system in the form of a Spring Boot plug-in.

[0066] In the process of executing a distributed transaction, a plurality of ways can be used to solve the problem of the distributed transaction; for example, a two-phase commit XA mode, an improved two-phase commit TCC mode, and a Saga mode based on compensation. The TCC mode and the Saga mode are the most commonly used modes for solving the problem of distributed transactions between services.

[0067] The TCC mode is a two-phase commit protocol, and each branch transaction (branch transaction, i.e., transaction) needs to provide three processing processes of Try, Confirm, and Cancel. The Try is the first phase, and the Confirm / Cancel is the second phase. In the first phase, all branch transactions perform the Try operation to complete resource reservation; if all branch transactions reserve resources successfully in the first phase, the Confirm operation is performed in the second phase to complete the submission of all branch transactions; otherwise, the Cancel operation is performed in the second phase to release the reserved resources.

[0068] The Saga pattern is a Long Live Transaction (LLT) that can be decomposed into a set of branch transactions that can run interleaved. Each branch transaction is a real transaction that maintains database consistency. Each local transaction has a corresponding compensation definition. If an exception occurs in a local transaction, causing the distributed transaction to fail, the compensation definitions of all committed local transactions need to be invoked.

[0069] In this embodiment, a transaction life cycle table is provided, which includes the maximum execution time of each transaction corresponding to a business. For example, transaction 1, transaction 2 and transaction 3 correspond to the same business, and the sum of the normal execution time of transaction 1, the normal execution time of transaction 2 and the normal execution time of transaction 3 is the maximum execution time of the business. Therefore, the transaction life cycle table is used to record the life cycle of the business, that is, to record the life cycle of the distributed transaction execution process.

[0070] The transaction life cycle table can be stored in a node of the distributed system. A node of the distributed system scans the preset transaction life cycle table, and queries the execution time corresponding to the current transaction to be analyzed from the transaction life cycle table.

[0071] In one example, the transaction life cycle table includes business identifiers, service identifiers, transaction identifiers, and the execution time of each transaction. Each business identifier corresponds to multiple service identifiers, each service identifier corresponds to multiple transaction identifiers, and each transaction identifier corresponds to the execution time of each transaction. Therefore, the execution time of the transaction corresponding to the transaction identifier of the current transaction can be retrieved from the transaction life cycle table, and the execution time of each transaction belonging to the same business as the current transaction can be retrieved from the transaction life cycle table. The sum of the execution time of the transaction corresponding to the transaction identifier of the current transaction and the execution time of each transaction belonging to the same business as the current transaction is calculated to obtain the maximum execution time of the business corresponding to the current transaction.

[0072] Alternatively, in one example, the transaction life cycle table includes business identifiers, service identifiers, transaction identifiers, the execution time of each transaction, and the maximum execution time of each business. Each business identifier corresponds to multiple service identifiers, each service identifier corresponds to multiple transaction identifiers, and each transaction identifier corresponds to the execution time of each transaction. Each business identifier corresponds to the maximum execution time of each business. Therefore, the business identifier corresponding to the transaction identifier of the current transaction is determined from the transaction life cycle table, and the maximum execution time of the corresponding business is determined according to the business identifier, thereby obtaining the maximum execution time of the business corresponding to the current transaction.

[0073] 102. determine that the interruption event is detected according to the maximum execution time of the service corresponding to the current transaction, the interruption event representing that the transaction has an interruption.

[0074] In one example, the step 102 comprises:

[0075] If it is determined that the scanning time is greater than the first preset time, it is determined that the interruption event is detected, and it is determined that the transaction under the service corresponding to the current transaction is an interrupted transaction; wherein the first preset time is the sum of the transaction start time and the preset transaction interruption expiration time, the transaction interruption expiration time is the sum of the execution time of each service under the service corresponding to the current transaction, and the transaction interruption expiration time is the maximum execution time.

[0076] The maximum execution time of the service corresponding to the current transaction in the transaction lifecycle table is updated to the second preset time, and the second preset time is the sum of the current time and the preset transaction recovery timeout time.

[0077] Illustratively, according to the maximum execution time of the service corresponding to the current transaction, it is determined that the transaction interruption occurs, i.e., it is determined whether the interruption event is detected.

[0078] In one example, the transaction lifecycle table comprises a service identifier, a service identifier, a transaction identifier, and an execution time of each transaction, each service identifier corresponds to a plurality of service identifiers, each service identifier corresponds to a plurality of transaction identifiers, and each transaction identifier corresponds to an execution time of each transaction. Alternatively, the transaction lifecycle table comprises a service identifier, a service identifier, a transaction identifier, an execution time of each transaction, and a maximum execution time of each service, each service identifier corresponds to a plurality of service identifiers, each service identifier corresponds to a plurality of transaction identifiers, each transaction identifier corresponds to an execution time of each transaction, and each service identifier corresponds to a maximum execution time of each service.

[0079] Thus, the maximum execution time of the service is recorded in the transaction lifecycle table; if there is no abnormal situation such as node downtime, the maximum execution time of the service will be deleted from the transaction lifecycle table after the transaction is executed successfully. If an abnormal situation such as node downtime occurs, the maximum execution time of the service corresponding to the transaction corresponding to the downtime node will be recorded in the transaction lifecycle table, because the node has downtime, and the corresponding maximum execution time is supposed to be cleaned up by the node. Thus, if the maximum execution time of the service corresponding to a transaction, or the execution time of a transaction, is not cleaned up for a long time, it will be determined that the transaction is an abnormal distributed transaction.

[0080] Each normal node has an interrupt transaction scanning thread, and each normal node scans the transaction life cycle table through the interrupt transaction scanning thread to detect whether the maximum execution time of the business corresponding to the node has reached the expiration time to detect the interrupt transaction.

[0081] If the scanning time is greater than the first preset time, it is determined that the interrupt event is detected, and the transaction under the business corresponding to the current transaction is determined as the interrupt transaction. The first preset time is the sum of the transaction start time and the preset transaction interrupt expiration time, and the transaction interrupt expiration time is the sum of the execution time of each business under the business corresponding to the current transaction. The transaction interrupt expiration time is the above-mentioned “expiration time”. For example, the transaction interrupt expiration time is 1 hour.

[0082] Then, as time goes on, after it is determined that the interrupt event is detected, the maximum execution time of the business corresponding to the current transaction in the transaction life cycle table can be updated, and the previously detected maximum execution time of the business is updated to a second preset time; wherein the second preset time is the sum of the current time and the preset transaction recovery timeout time; and the expiration time of the business corresponding to the current transaction is exited by a transaction recovery timeout time. For example, the transaction recovery timeout time is 5 minutes.

[0083] The node executing the embodiment can be a node executing the current transaction; or the node executing the embodiment is a node for detecting each transaction, that is, the node executing the embodiment can scan the transaction life cycle table for each transaction.

[0084] If the node executing the embodiment is only used for detecting the current transaction, the node executing the embodiment determines that the interrupt event is not detected if the maximum execution time of the business corresponding to the current transaction is less than or equal to the first preset time; then, the node executing the embodiment re-scans the transaction life cycle table after a period of time.

[0085] If the node executing the embodiment is used for detecting each transaction, the node executing the embodiment determines that the interrupt event is not detected if the scanning time is less than or equal to the first preset time; then, the node executing the embodiment re-scans the transaction life cycle table after a period of time.

[0086] 103, scan the preset transaction field data table, and according to the transaction field data table, wherein the transaction field data table includes the execution information of each transaction under each business, the execution information of each transaction indicates the execution of the node executing the transaction, the execution information of the transaction under the business corresponding to the current transaction is called, and the interrupt event is recovered.

[0087] In one example, the method further comprises the following steps: if the execution information of the transaction under the service corresponding to the current transaction is not invoked within the transaction recovery timeout period, then the step of scanning the preset transaction lifecycle table is performed again.

[0088] In one example, the method further comprises the following steps: if the execution information of the transaction under the service corresponding to the current transaction is not invoked within the transaction recovery timeout period, then the step of scanning the preset transaction lifecycle table is performed again.

[0089] In one example, the method further comprises the following steps: if the execution information of the transaction under the service corresponding to the current transaction is not invoked within the transaction recovery timeout period, then the step of scanning the preset transaction lifecycle table is performed again.

[0090] The transaction lifecycle table and the transaction site data table can be stored in the same node in the distributed system. The transaction lifecycle table and the transaction site data table are both in the form of a database table.

[0091] In one example, the method further comprises the following steps: if the execution information of the transaction under the service corresponding to the current transaction is not invoked within the transaction recovery timeout period, then the step of scanning the preset transaction lifecycle table is performed again.

[0092] In one example, the method further comprises the following steps: if the execution information of the transaction under the service corresponding to the current transaction is not invoked within the transaction recovery timeout period, then the step of scanning the preset transaction lifecycle table is performed again.

[0093] In this embodiment, multiple nodes jointly scan a transaction life cycle table (the transaction life cycle table includes the maximum execution time of each transaction corresponding to the business) to preempt tasks; any node in the multiple nodes determines that an interruption event is detected according to the current scanning time and the maximum execution time of the business corresponding to the interrupted transaction; then the node scans a transaction field data table, and according to the transaction field data table, the transaction field data table includes the execution information of each transaction under each business, the execution information of each transaction indicates the execution condition of the node executing the transaction, and the interruption event is recovered. This method can quickly detect the interrupted transaction, does not need to rely on the registration center platform, does not need to rely on the registration center platform, only needs the nodes and the transaction life cycle table in the distributed system to detect the interrupted transaction; and the node recovers the transaction based on the transaction field data table. Without separately considering the high availability of the distributed transaction coordinator, the deployment complexity is simplified. Without relying on the registration center platform, it ensures that the transaction recovery processing of transaction consistency can be normally performed. Moreover, without separately considering the high availability of the distributed transaction coordinator, the deployment complexity is simplified; the risk of affecting the entire system after the distributed transaction coordinator hangs is avoided, and risk isolation is ensured. The method provided in this embodiment can be packaged as a Spring Boot plug-in and then embedded into the node.

[0094] Figure 2 The flowchart of another embedded distributed transaction coordinator based on the transaction recovery method provided in the embodiment of the application is shown in Figure 2 The method comprises the following steps.

[0095] 201. Based on the preemption mechanism, a preset transaction life cycle table is scanned.

[0096] Exemplarily, the distributed system (i.e., a distributed cluster) includes multiple nodes, and the multiple nodes cooperate to complete the processing of a business, and each node processes each transaction in the business. It can be known that the business includes multiple services, each service includes multiple transactions, and each transaction is processed in each node. An embedded distributed transaction coordinator can be deployed in each node, wherein the embedded distributed transaction coordinator is integrated into the node as a Spring Boot plug-in.

[0097] Based on the preemption mechanism, each node in the distributed system determines a node that scans the transaction life cycle table. A certain node in the distributed system has preempted the right to scan the transaction life cycle table, and then the node determines to scan the preset transaction life cycle table.

[0098] For example, based on the running efficiency of each node, a node with a priority processing performance is determined, and the node has preempted the right to scan the transaction life cycle table.

[0099] 202. Scanning a preset transaction lifecycle table, and determining a maximum execution time corresponding to a current transaction according to the transaction lifecycle table, wherein the transaction lifecycle table comprises a maximum execution time of a business corresponding to each transaction.

[0100] By way of example, the step can refer to step 101, and will not be described again.

[0101] 203. Determining a detected interruption event according to the maximum execution time of the business corresponding to the current transaction, the interruption event representing that the transaction has been interrupted.

[0102] By way of example, the step can refer to step 102, and will not be described again. The node can complete steps 202 and 203 based on an embedded distributed transaction coordinator.

[0103] After the node detects the interruption event, the node needs to perform transaction recovery processing.

[0104] For example, each node determines a node with a priority processing performance based on its own running efficiency, the node preoccupies the right to detect the interruption event, and then the node performs the right to transaction recovery processing.

[0105] 204. Updating the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table to a third preset time; wherein the third preset time is a sum of a current time and a preset transaction interruption expiration time, and the transaction interruption expiration time is a sum of execution durations of each business under the business corresponding to the current transaction.

[0106] By way of example, first, the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table is updated. As time goes on, the maximum execution time of the business corresponding to the current transaction is updated to the third preset time; wherein the third preset time is a sum of a current time and a preset transaction interruption expiration time, and the transaction interruption expiration time is a sum of execution durations of each business under the business corresponding to the current transaction. The transaction interruption expiration time is the above-mentioned “expiration time”. For example, the transaction interruption expiration time is 1 hour.

[0107] Thus, when the interruption event is processed, the start processing time of the transaction is updated to the current time; and the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table is updated again (the time is a time point, not a time period).

[0108] 205. Scan the preset transaction site data table, and based on the transaction site data table, which includes the execution information of each transaction under each business, the execution information of each transaction indicates the execution status of the node executing the transaction, retrieve the execution information of the transaction under the business corresponding to the current transaction, and perform recovery processing on interrupted events.

[0109] In one example, step 205, when retrieving the execution information of the transaction under the business logic corresponding to the current transaction and handling the recovery of interruption events, includes the following steps:

[0110] Based on the transaction site data table, retrieve the execution information of the transaction under the business corresponding to the current transaction; if the node of the interrupted transaction is determined based on the retrieved execution information, then take over the business corresponding to the interrupted transaction.

[0111] For example, a new distributed transaction processing procedure is initiated, with a distributed transaction coordinator deployed in the node. The node then begins to schedule transactions based on the distributed transaction coordinator to complete transaction recovery. Steps 204-205 can be completed by the node using an embedded distributed transaction coordinator.

[0112] Scan the pre-defined transaction state data table. Retrieve the execution information of transactions under the current business function from the transaction state data table. Since the execution information represents the execution status of each transaction under the business function, the node that crashed can be identified, and thus the transaction under the crashed node can be determined. Because the transaction was not fully processed, inconsistencies arise, such as data discrepancies between different services within the system. Therefore, transaction recovery is performed. Take over the interrupted transactions left by the node that sent the failed data (e.g., the node that sent the failed data), restore the state data of the distributed transactions, and complete the rollback of all subsequent committed branch transactions, thereby ensuring that the data between various services is restored to a consistent state.

[0113] In one example, a node, based on a preemption mechanism, scans the aforementioned transaction lifecycle table and detects that a transaction has been interrupted. Then, since the execution information indicates whether a node has crashed, the node, based on the retrieved execution information, determines that the transaction under that node is the interrupted transaction if the execution information indicates a node crash, and thus identifies which node caused the interruption. The node then takes over the business operations corresponding to the node under the interrupted transaction. At this point, even if multiple nodes crash, transaction recovery can still be completed.

[0114] For example, node a1 handles transaction 1, node b handles transaction 2, and node c handles transaction 3. Transaction 1, transaction 2, and transaction 3 belong to the same business. Figure 3The architecture diagram for transaction recovery provided in the embodiments of this application is as follows: Figure 3 As shown, node a2 detects transaction 1. Based on the transaction lifecycle table, node a2 determines the maximum execution time A of the business corresponding to transaction 1. If node a2 determines that the scan time is greater than a first preset time, it determines that an interruption event has occurred. Node a2 scans the transaction context data table based on the preemption mechanism; node a2 reads the execution information corresponding to transaction 1, transaction 2, and transaction 3 from the transaction context data table. Based on the above execution information, node a2 determines that the execution information corresponding to transaction 1 indicates that node a1 has crashed, and then node a2 takes over node a1.

[0115] For example, node a1 processes transaction 1, node b processes transaction 2, and node c processes transaction 3. Transactions 1, 2, and 3 belong to the same business logic. Figure 3 As shown, node a2 detects transaction 1. Based on the transaction lifecycle table, node a2 determines the maximum execution time A of the business corresponding to transaction 1. If node a2 determines that the scan time is greater than a first preset time, it determines that an interruption event has occurred. Node a2 uses a preemption mechanism to scan the transaction context data table. Node a2 reads the execution information corresponding to transaction 1, transaction 2, and transaction 3 from the transaction context data table. Based on the above execution information, node a2 determines that the execution information corresponding to transaction 2 indicates that node b has crashed, and then node a2 takes over node a1, and then node a2 takes over the transaction.

[0116] Then, after the recovery process, scan the transaction lifecycle table and delete the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table; if the recovery process is not completed, do not delete the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table, and re-execute step 201 to start a new processing flow again.

[0117] As can be seen, in this application, the distributed transaction coordinator is embedded in the nodes. The transaction lifecycle table and the transaction state data table are shared by all nodes in the entire distributed system; that is, all nodes in the entire distributed system share a single database.

[0118] This embodiment may also perform the following steps.

[0119] The first step is to respond to the user's first operation command and enable the transaction detection function.

[0120] Exemplarily, one node of the distributed system can provide an interface to the user, the user inputs a touch operation on the interface, and then the node receives the first operation instruction of the user; the node starts the transaction detection function based on the first operation instruction. And the node synchronizes the first operation instruction to other nodes in the distributed system. Then steps 201-205 of the embodiment can be executed.

[0121] The second step, in response to the second operation instruction of the user, the transaction detection function is closed.

[0122] Exemplarily, one node of the distributed system can provide an interface to the user, the user inputs a touch operation on the interface, and then the node receives the second operation instruction of the user; the node closes the transaction detection function based on the second operation instruction. And the node synchronizes the second operation instruction to other nodes in the distributed system. Then steps 201-205 of the embodiment can no longer be executed.

[0123] Thus, the start and stop of the transaction detection function are provided through the configuration item. And since the start or stop of the transaction detection function is configurable, different system individual needs are met.

[0124] In the embodiment, on the basis of the above-mentioned embodiment, an embedded distributed transaction coordinator can be deployed in the node, wherein the embedded distributed transaction coordinator is integrated into the node as a Spring Boot plug-in; the transaction life cycle table can be scanned based on the embedded distributed transaction coordinator, and then the node that fails is detected, that is, the interrupted transaction is determined. Then, the transaction site data table is scanned based on the embedded distributed transaction coordinator, and then the interrupted transaction is processed for transaction recovery. The detection and recovery of the interrupted transaction based on the embedded distributed transaction coordinator realize the high availability of the embedded distributed transaction coordinator; and without additional deployment of an intermediate transaction coordinator system, the cost of processing distributed transactions is reduced, and the network overhead of accessing the intermediate transaction coordinator is reduced. And after the node that fails is found, the transaction of the node that fails is taken over, and then the recovery of the interrupted transaction is executed; thus, each node in the distributed system has the ability of transaction coordination, can process transactions, and can recover transactions of abnormal nodes, thereby solving the risk isolation problem of the intermediate transaction coordinator, improving the reliability of transaction recovery. At the same time, the start and stop of the transaction detection function are provided through the configuration item; since the start or stop of the transaction detection function is configurable, different system individual needs are met.

[0125] Figure 4 The structure schematic diagram of an embedded distributed transaction coordinator based on the transaction recovery device of the database table provided by the embodiment of the application is as follows: Figure 4As shown, the apparatus comprises:

[0126] The first scanning unit 31 is configured to scan a preset transaction lifecycle table.

[0127] The first determining unit 32 is configured to determine, according to the transaction lifecycle table, a maximum execution time corresponding to a current transaction, wherein the transaction lifecycle table comprises a maximum execution time of a business corresponding to each transaction.

[0128] The second determining unit 33 is configured to determine, according to the maximum execution time of the business corresponding to the current transaction, a detected interruption event, the interruption event indicating that the transaction has been interrupted.

[0129] The second scanning unit 34 is configured to scan a preset transaction site data table.

[0130] The processing unit 35 is configured to, according to the transaction site data table, wherein the transaction site data table comprises execution information of each transaction under each business, the execution information of each transaction indicating execution conditions of a node executing the transaction, retrieve the execution information of the transaction under the business corresponding to the current transaction, and perform recovery processing on the interruption event.

[0131] In one example, the second determining unit 33 comprises:

[0132] The first determining module is configured to determine, if the scanning time is greater than a first preset time, that the interruption event is detected, and determine that the transaction under the business corresponding to the current transaction is an interrupted transaction; wherein the first preset time is a sum of a transaction start time and a preset transaction interruption expiration time, the transaction interruption expiration time is a sum of execution durations of each business under the business corresponding to the current transaction, and the transaction interruption expiration time is the maximum execution time.

[0133] The first updating module is configured to update the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table to a second preset time, the second preset time being a sum of a current time and a preset transaction recovery timeout.

[0134] In one example, the apparatus provided by the embodiment further comprises:

[0135] The execution unit is configured to, if the execution information of the transaction under the business corresponding to the current transaction is not retrieved within the transaction recovery timeout, execute the first scanning unit 31 again.

[0136] In one example, the apparatus provided by the embodiment further comprises:

[0137] The second updating module is configured to update the maximum execution time of the business corresponding to the current transaction in the transaction lifecycle table by a third preset time before the second scanning unit 34 scans the preset transaction field data table; the third preset time is the sum of the current time and a transaction interruption expiration time, and the transaction interruption expiration time is the sum of the execution time of each business under the business corresponding to the current transaction.

[0138] In one example, the first scanning unit 31 is specifically configured to determine to scan the preset transaction lifecycle table based on a preemption mechanism.

[0139] In one example, the processing unit 35 comprises:

[0140] The calling module is configured to call the execution information of the transaction under the business corresponding to the current transaction according to the transaction field data table.

[0141] The execution module is configured to take over the business corresponding to the interrupted transaction if it is determined that the node of the interrupted transaction occurs according to the called execution information.

[0142] In one example, an embedded distributed transaction coordinator is deployed in each node in the distributed system.

[0143] By way of example, the embodiments can refer to the above-mentioned method embodiments, and the principles and technical effects are similar, and will not be described in detail.

[0144] Figure 5 A structural schematic diagram of an electronic device provided by the embodiments of the present application is shown in Figure 5 As shown, the electronic device comprises a memory 71 and a processor 72.

[0145] The memory 71 is a memory for storing executable instructions of the processor 72.

[0146] The processor 72 is configured to execute the method provided by the above-mentioned embodiments.

[0147] The electronic device further comprises a receiver 73 and a transmitter 74. The receiver 73 is configured to receive instructions and data sent by an external device, and the transmitter 74 is configured to send instructions and data to the external device.

[0148] Figure 6 A block diagram of an electronic device provided by the embodiments of the present application is shown in

[0149] The device 800 can include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.

[0150] The processing component 802 usually controls overall operations of the device 800, such as operations associated with display, phone call, data communication, camera operation and recording operation. The processing component 802 can include one or more processors 820 to execute instructions to complete all or part of steps of the methods described above. Additionally, the processing component 802 can include one or more modules to facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0151] The memory 804 is configured to store various types of data to support operations of the device 800. Examples of these data include instructions for any application or methods operating on the device 800, contact data, phonebook data, messages, pictures, videos, and so on. The memory 804 can be implemented by any type of volatile or non-volatile storage devices or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable programmable read only memory (EPROM), programmable read only memory (PROM), read only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.

[0152] The power supply component 806 supplies electrical power for various components of the device 800. The power supply component 806 can include a power supply management system, one or more power supplies, and other components associated with generating, managing and distributing electrical power for the device 800.

[0153] The multimedia component 808 includes a screen providing an output interface between the device 800 and a user. In some embodiments, the screen can include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes the touch panel, the screen can be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense a touch, a slide and a gesture on the touch panel. The touch sensor can not only sense a boundary of a touching or sliding action, but also detect duration and pressure related to the touching or sliding action. In some embodiments, the multimedia component 808 includes a front camera and / or a back camera. The front camera and / or the back camera can receive external multimedia data when the device 800 is in an operation mode, such as a shooting mode or a video mode. Each of the front and back cameras can be a fixed optical lens system or have a focal length and optical zoom capability.

[0154] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC) that is configured to receive an external audio signal when the device 800 is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory 804 or transmitted via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0155] The I / O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which can be a keypad, a click wheel, buttons, and the like. The buttons can include, but are not limited to, a home button, a volume button, a start button, and a lock button.

[0156] The sensor component 814 includes one or more sensors for providing status assessments for various aspects of the device 800. For example, the sensor component 814 can detect an open / closed position of the device 800, relative positioning of components, such as a display and a keypad of the device 800, a change of position of the device 800 or a component of the device 800, presence or absence of user contact with the device 800, changes in orientation or acceleration / deceleration

[0157] The communication component 816 is configured to facilitate wired or wireless communication between the device 800 and other devices. The device 800 can access a wireless network based on a corresponding communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In an example embodiment, the communication component 816 receives broadcast signals or broadcast-related information from external broadcast management systems via a broadcast channel. In an example embodiment, the communication component 816 also includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0158] In exemplary embodiments, the apparatus 800 can be implemented using one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic devices, to perform the above-described methods.

[0159] In exemplary embodiments, a non-transitory computer-readable storage medium including instructions, such as the memory 804 including instructions, is also provided, which can be executed by the processor 820 of the apparatus 800 to complete the above-described methods. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disc, and an optical data storage device, etc.

[0160] Embodiments of the present application also provide a non-transitory computer-readable storage medium, when instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the method provided by the above-described embodiments.

[0161] Embodiments of the present application also provide a computer program product, the computer program product comprising: a computer program stored in a readable storage medium, at least one processor of an electronic device can read the computer program from the readable storage medium, and the at least one processor executes the computer program to make the electronic device execute the scheme provided by any of the above-described embodiments.

[0162] Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the present application cover any and all variations of the application that come within the scope of the claims and their equivalents. It is intended that the specification and examples be considered exemplary only, with the true scope and spirit of the application being indicated by the following claims.

[0163] It should be understood that the application is not limited to the precise construction that has been described above and shown in the accompanying drawings, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the application. The scope of the application is to be defined by the claims appended hereto.

Claims

1. A method for transaction recovery based on a database table of an embedded distributed transaction coordinator, the method being applied to a distributed system, the distributed system comprising a plurality of nodes, the plurality of nodes cooperating to complete processing of a service, each node processing each transaction in the service, the method comprising: determining, by each node based on a preemption mechanism, a node to scan a preset transaction lifecycle table, and determining, based on the transaction lifecycle table, a maximum execution time corresponding to a current transaction, wherein the transaction lifecycle table comprises a maximum execution time of a service corresponding to each transaction; and the maximum execution time of the service is a sum of normal execution times of transactions under the service; determining, based on the maximum execution time of the service corresponding to the current transaction, that an interruption event is detected, the interruption event indicating that the transaction has been interrupted due to node downtime; scanning a preset transaction site data table, and retrieving execution information of a transaction under the service corresponding to the current transaction based on the transaction site data table; and if it is determined based on the retrieved execution information that a node of the interrupted transaction exists, taking over an interrupted transaction left by the node of the interrupted transaction; wherein the transaction site data table comprises execution information of each transaction under each service, and the execution information of each transaction indicates execution of a node processing the transaction. 2.The method of claim 1, wherein determining, based on the maximum execution time of the service corresponding to the current transaction, that the interruption event is detected comprises: if it is determined that a scanning time is greater than a first preset time, determining that the interruption event is detected, and determining that a transaction under the service corresponding to the current transaction is the interrupted transaction; wherein the first preset time is a sum of a transaction start time and a preset transaction interruption expiration time, and the transaction interruption expiration time is the maximum execution time of the service corresponding to the current transaction; and updating the maximum execution time of the service corresponding to the current transaction in the transaction lifecycle table to a second preset time, the second preset time being a sum of a current time and a preset transaction recovery timeout. 3.The method of claim 2, further comprising: if the execution information of the transaction under the service corresponding to the current transaction is not retrieved within the transaction recovery timeout, performing again the step of scanning the preset transaction lifecycle table. 4.The method of claim 1, further comprising, before scanning the preset transaction site data table: updating the maximum execution time of the service corresponding to the current transaction in the transaction lifecycle table to a third preset time; wherein the third preset time is a sum of a current time and a preset transaction interruption expiration time, and the transaction interruption expiration time is a sum of execution durations of the services under the service corresponding to the current transaction. 5.The method of any one of claims 1-4, wherein each node in the distributed system is deployed with an embedded distributed transaction coordinator. ​ ​ ​ ​ ​ ​ ​ 6. An apparatus for transaction recovery based on database table of embedded distributed transaction coordinator, the apparatus is applied to a distributed system, the distributed system comprises a plurality of nodes, the plurality of nodes cooperate to complete processing of a service, each node processes each transaction in the service, and the apparatus comprises: a first scanning unit configured to determine, by each node based on a preemption mechanism, a node to scan a preset transaction life cycle table; a first determining unit configured to determine a maximum execution time corresponding to a current transaction according to the transaction life cycle table, wherein the transaction life cycle table comprises a maximum execution time of a service corresponding to each transaction, and the maximum execution time of the service is a sum of normal execution times of each transaction under the service; a second determining unit configured to determine a detected interruption event according to the maximum execution time of the service corresponding to the current transaction, the interruption event indicating that the transaction has been interrupted due to node downtime; a second scanning unit configured to scan a preset transaction site data table; a processing unit configured to retrieve execution information of a transaction under a service corresponding to the current transaction according to the transaction site data table, wherein the transaction site data table comprises execution information of each transaction under each service, and the execution information of each transaction indicates execution of a node executing the transaction, and to perform recovery processing on the interruption event; the processing unit comprises: a retrieving module configured to retrieve execution information of a transaction under a service corresponding to the current transaction according to the transaction site data table; an execution module configured to take over an interrupted transaction left by a node in which the interrupted transaction occurs if it is determined according to the retrieved execution information that the node in which the interrupted transaction occurs.

7. An electronic device, comprising: a memory and a processor; a memory; a memory for storing instructions executable by the processor; wherein the processor is configured to perform the method of any one of claims 1-5.

8. A computer readable storage medium, the computer readable storage medium storing computer executable instructions, the computer executable instructions being executed by a processor to implement the method of any one of claims 1-5.

Citation Information

Patent Citations

  • Transaction processing method, equipment and computer readable storage medium

    CN112162846A