CN112596867A - Suspension transaction processing method and distributed database system - Google Patents

Suspension transaction processing method and distributed database system Download PDF

Info

Publication number
CN112596867A
CN112596867A CN202110232612.3A CN202110232612A CN112596867A CN 112596867 A CN112596867 A CN 112596867A CN 202110232612 A CN202110232612 A CN 202110232612A CN 112596867 A CN112596867 A CN 112596867A
Authority
CN
China
Prior art keywords
transaction
branch
data storage
distributed
storage node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110232612.3A
Other languages
Chinese (zh)
Inventor
王天宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110232612.3A priority Critical patent/CN112596867A/en
Publication of CN112596867A publication Critical patent/CN112596867A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

The embodiment of the invention provides a suspension transaction processing method and a distributed database system, and relates to the technical field of distributed transactions. The method can be applied to suspended transaction processing nodes in a distributed database system, and the distributed database system also comprises a plurality of data storage nodes; the method comprises the following steps: detecting whether each data storage node records a suspension transaction; when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; if the target transaction identifier is recorded in at least one data storage node, submitting the pending transaction; otherwise, the pending transaction is rolled back. Compared with the prior art, the scheme provided by the embodiment of the invention can reduce the submission time of the distributed transaction and improve the processing efficiency of the distributed transaction.

Description

Suspension transaction processing method and distributed database system
Technical Field
The present invention relates to the field of distributed transaction technologies, and in particular, to a suspended transaction processing method and a distributed database system.
Background
For a distributed database system, after receiving a distributed transaction, a proxy server in the system analyzes the distributed transaction into a plurality of branch transactions, and issues each branch transaction to each data storage node for processing. When all of the branch transactions included in one distributed transaction are processed, the distributed transaction can be considered to be processed.
Currently, distributed transactions are usually processed in a two-stage manner, that is, the processing procedure of each branch transaction of the distributed transactions is divided into a Prepare phase and a Commit phase, wherein after each branch transaction Prepare succeeds, the Commit operation is performed on the branch transaction, and the processing of the branch transaction is completed.
However, in some cases, there is a branch transaction in which Commit operation cannot be performed after Prepare succeeds due to a failure cause or a device cause. At this time, the branch transaction can neither commit nor rollback, and is in a suspended state, referred to as a suspended transaction.
In the related art, a method of processing a pending transaction includes: after all the Prepare branch transactions of the distributed transactions are successful, recording the state of the distributed transactions and data storage nodes for processing the distributed transactions in a preset equipment cluster; furthermore, when the preset suspension transaction processing node scans the suspension transaction recorded in each data storage node, whether the state of the distributed transaction to which the suspension transaction belongs is recorded can be searched in the equipment cluster, and if the state is searched, the suspension transaction is submitted. Otherwise, according to the data storage nodes which are recorded by the equipment cluster and used for processing the distributed transaction, rolling back each branch transaction which belongs to the same distributed transaction with the suspended transaction and is sent to the data storage nodes.
However, in the above related art, when the state of the distributed transaction and the data storage node for processing the distributed transaction are recorded in the device cluster, multiple RTT (Round-Trip Time) and IO (Input/Output) operations may be caused, which results in a long processing Time of the distributed transaction and reduces the processing efficiency of the distributed transaction.
Disclosure of Invention
Embodiments of the present invention provide a method and a system for processing a suspension transaction, so as to reduce commit time of a distributed transaction and improve processing efficiency of the distributed transaction. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a suspended transaction processing method, which is applied to a suspended transaction processing node in a distributed database system, where the distributed database system further includes a plurality of data storage nodes; the method comprises the following steps:
detecting whether each data storage node records a suspension transaction;
when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; each distributed transaction has a unique transaction identifier, and each data storage node records the transaction identifier of the distributed transaction to which the branch transaction belongs after submitting each branch transaction;
if the target transaction identifier is recorded in at least one data storage node, submitting the suspended transaction;
otherwise, roll back the pending transaction.
Optionally, in a specific implementation manner, the step of detecting whether a suspended transaction is recorded in each data storage node includes:
detecting whether hanging affairs are recorded in each data storage node according to a preset period;
the step of traversing whether the target transaction identifier of the distributed transaction to which the suspended transaction belongs is recorded in each data storage node includes:
and traversing each data storage node, and in a period duration corresponding to the preset period, whether a target transaction identifier of a distributed transaction to which the suspended transaction belongs is recorded.
Optionally, in a specific implementation manner, the distributed database system further includes: a proxy server;
the transaction identifier of each distributed transaction is generated by the proxy server according to a preset identifier generation rule after the proxy server receives the distributed transaction;
wherein the preset identifier generation rule comprises: and generating a rule of the transaction identification by using the equipment identification of the proxy server and the transaction sequence number of the distributed transaction.
In a second aspect, an embodiment of the present invention provides a suspended transaction processing method, which is applied to a target storage node in a distributed database system; wherein the target storage node is any one of a plurality of data storage nodes included in the distributed database system, and the distributed database system further includes: hanging a transaction processing node and a proxy server; the method comprises the following steps:
receiving a branch transaction issued by the proxy server and a transaction identifier of a distributed transaction to which the branch transaction belongs;
executing the branch transaction and judging whether the branch transaction meets a commit condition or not;
if yes, submitting the branch transaction, and recording the transaction identifier of the distributed transaction to which the branch transaction belongs;
otherwise, determining the branch transaction as a suspension transaction, so that when the suspension transaction processing node detects that the branch transaction is the suspension transaction, traversing each data storage node to determine whether the transaction identifier is recorded; if the transaction identifier is recorded in at least one data storage node, submitting the branch transaction; otherwise, the branch transaction is rolled back.
Optionally, in a specific implementation manner, the distributed database system includes a plurality of proxy servers; the target storage node records the transaction identifier according to a preset storage rule;
wherein the storage rule comprises: the device identification of the proxy server sending the branch transaction is taken as the storage rule of the grouping basis, and/or the transaction identification is taken as the storage rule of the grouping basis.
Optionally, in a specific implementation manner, the method further includes:
and after the branch transaction is submitted by the suspended transaction processing node, receiving a transaction deleting instruction sent by the proxy server, and deleting the recorded branch transaction.
Optionally, in a specific implementation manner, the method further includes:
and deleting the transaction identification of the distributed transaction to which the committed branch transaction with the recording duration exceeding the preset time period belongs.
In a third aspect, an embodiment of the present invention provides a distributed database system, where the system includes: the system comprises a plurality of data storage nodes, a proxy server and a hanging transaction processing node;
each data storage node is used for receiving the branch transaction issued by the proxy server and the transaction identifier of the distributed transaction to which the branch transaction belongs; executing the branch transaction and judging whether the branch transaction meets a commit condition or not; if yes, submitting the branch transaction, and recording the transaction identifier of the distributed transaction to which the branch transaction belongs; otherwise, determining the branch transaction as a pending transaction;
the suspension transaction processing node is used for detecting whether suspension transactions are recorded in each data storage node; when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; if the target transaction identifier is recorded in at least one data storage node, submitting the suspended transaction; otherwise, roll back the pending transaction.
Optionally, in a specific implementation manner, each data storage node includes: a master node and at least one standby node;
the main node in each data storage node is specifically used for executing the branch transaction and detecting whether a communication network between the main node and the server to be served has a fault; if so, determining that the branch transaction does not satisfy the commit condition; otherwise, determining that the branch transaction satisfies the commit condition;
and any standby node in each data storage node is used for determining that the branch transaction does not meet the submission condition when the main node in the data storage node is monitored to have a fault, determining the standby node as the main node and determining the branch transaction as a suspended transaction.
In a fourth aspect, an embodiment of the present invention provides a suspended transaction processing apparatus, which is applied to a suspended transaction processing node in a distributed database, where the distributed database system further includes a plurality of data storage nodes; the device comprises:
the transaction detection module is used for detecting whether each data storage node records a suspension transaction;
the identification traversing module is used for traversing whether a target transaction identification of a distributed transaction to which the suspended transaction belongs is recorded in each data storage node when the suspended transaction is detected to be recorded in any data storage node; if the target transaction identifier is recorded in at least one data storage node, triggering a transaction submission module; otherwise, triggering the transaction rollback module; each distributed transaction has a unique transaction identifier, and each data storage node records the transaction identifier of the distributed transaction to which the branch transaction belongs after submitting each branch transaction;
the transaction submitting module is used for submitting the hanging transaction;
the transaction rollback module is used for rolling back the suspended transaction.
In a fifth aspect, an embodiment of the present invention provides a suspended transaction processing apparatus, which is applied to a target storage node in a distributed database system; wherein the target storage node is any one of a plurality of data storage nodes included in the distributed database system, and the distributed database system further includes: hanging a transaction processing node and a proxy server; the device comprises:
the information receiving module is used for receiving the branch transaction issued by the proxy server and the transaction identifier of the distributed transaction to which the branch transaction belongs;
the condition judging module is used for executing the branch transaction and judging whether the branch transaction meets a commit condition; if yes, triggering an identification recording module, otherwise, triggering an affair determining module;
the identification recording module is used for submitting the branch transaction and recording the transaction identification of the distributed transaction to which the branch transaction belongs;
the transaction determining module is configured to determine the branch transaction as a suspension transaction, so that when the suspension transaction processing node detects that the branch transaction is a suspension transaction, it traverses each data storage node whether the transaction identifier is recorded; if the transaction identifier is recorded in at least one data storage node, submitting the branch transaction; otherwise, the branch transaction is rolled back.
In a sixth aspect, an embodiment of the present invention provides a suspended transaction processing node in a distributed database system, where the distributed database system further includes a plurality of data storage nodes; the suspended transaction processing node comprises a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for finishing mutual communication through the communication bus;
a memory for storing a computer program;
a processor, configured to implement the steps of any one of the pending transaction processing methods provided in the first aspect when executing a program stored in the memory.
A seventh aspect of the present invention provides a target data node in a distributed database system, where the target data node is any one of a plurality of data storage nodes included in the distributed database system, and the distributed database system further includes: hanging a transaction processing node and a proxy server; the target data node comprises a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for completing mutual communication by the memory through the communication bus;
a memory for storing a computer program;
and the processor is used for realizing the steps of any suspended transaction processing method provided by the second aspect when executing the program stored in the memory.
In an eighth aspect, an embodiment of the present invention provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and the computer program, when executed by a processor, implements the steps of any suspended transaction processing method provided in the above first aspect, or implements the steps of any suspended transaction processing method provided in the above second aspect.
In a ninth aspect, an embodiment of the present invention provides a computer program product containing instructions, which when run on a computer, causes the computer to perform the steps of any one of the suspended transaction processing methods provided in the first aspect above, or the steps of any one of the suspended transaction processing methods provided in the second aspect above.
The embodiment of the invention has the following beneficial effects:
as can be seen from the above, with the solution provided in the embodiment of the present invention, after receiving the distributed transaction, the proxy server in the distributed database system may parse the distributed transaction into a plurality of branch transactions, and issue each branch transaction to each data storage node in the distributed database system for processing. Further, each data storage node may record a transaction identification of the distributed transaction to which the branch transaction belongs after executing and committing the received branch transaction. That is, each data storage node may perform a Commit operation on the received branch transaction prefix after the branch transaction prefix is successful, and record a transaction identifier of the distributed transaction to which the branch transaction belongs after the Commit operation is completed.
Furthermore, the suspended transaction processing node in the distributed database system can detect whether the suspended transaction is recorded in each data storage node. When detecting that any node records a suspension transaction, the suspension transaction processing node may traverse through each data storage node to determine whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded. Thus, if the target transaction identifier is recorded in at least one data storage node, the suspended transaction processing node can submit the suspended transaction, otherwise, the suspended transaction is rolled back.
Based on this, by applying the scheme provided by the embodiment of the present invention, each data storage node may record the transaction identifier of the distributed transaction to which each branch transaction belongs after submitting each branch transaction, so that it is not necessary to record the state of the distributed transaction and the data storage node for processing the distributed transaction in a preset device cluster; moreover, when a suspended transaction is detected, the suspended transaction can be determined to be submitted or rolled back by directly traversing the transaction identifiers recorded by the data storage nodes, and the state of the distributed transaction to which the suspended transaction belongs does not need to be searched in a preset device cluster. Therefore, multiple RTTs caused by recording the state of the distributed transaction and the data storage node for processing the distributed transaction in an additional preset device cluster can be avoided, IO operations in the suspension transaction processing process are reduced, processing time of the distributed transaction can be reduced, and processing efficiency of the distributed transaction is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
Fig. 1(a) -fig. 1(c) are respectively schematic structural diagrams of a distributed database system in an embodiment of the present invention;
fig. 2 is a flowchart illustrating a suspended transaction processing method applied to a suspended transaction processing node in a distributed database system according to an embodiment of the present invention;
fig. 3 is a schematic flowchart of another suspended transaction processing method applied to a suspended transaction processing node in a distributed database system according to an embodiment of the present invention;
fig. 4 is a flowchart illustrating a suspended transaction processing method applied to a target storage node in a distributed database system according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a data record structure of a target storage node recording a transaction identifier of a distributed transaction to which a submitted branch transaction belongs according to an embodiment of the present invention;
fig. 6 is a signaling interaction diagram among a suspended transaction processing node, a proxy server, a target storage node and other data storage nodes in the distributed database system according to the embodiment of the present invention;
fig. 7 is a schematic structural diagram of a distributed database system according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a suspended transaction processing apparatus applied to a suspended transaction processing node in a distributed database system according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of a suspended transaction processing apparatus applied to a target storage node in a distributed database system according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of a suspended transaction processing node in a distributed database according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of a target data node in a distributed database system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived from the embodiments given herein by one of ordinary skill in the art, are within the scope of the invention.
In the related art, a method of processing a pending transaction includes: after all the Prepare branch transactions of the distributed transactions are successful, recording the state of the distributed transactions and data storage nodes for processing the distributed transactions in a preset equipment cluster; furthermore, when the preset suspension transaction processing node scans the suspension transaction recorded in each data storage node, whether the state of the distributed transaction to which the suspension transaction belongs is recorded can be searched in the equipment cluster, and if the state is searched, the suspension transaction is submitted. Otherwise, the pending transaction is rolled back. However, when the state of the distributed transaction and the data storage node for processing the stored distributed transaction are recorded in the device cluster, multiple RTT (Round-Trip Time) and IO (Input/Output) operations may be caused, which results in a long processing Time of the distributed transaction and reduces the processing efficiency of the distributed transaction.
In order to solve the above technical problem, an embodiment of the present invention provides a suspended transaction processing method applied to a suspended transaction processing node in a distributed database system, and a suspended transaction processing method applied to any data storage node in a distributed database system.
The distributed database system in the embodiment of the present invention may include: the system comprises a proxy server, at least one data storage node and a suspended transaction processing node.
The pending transaction processing node may be an electronic device independent of the proxy server and the at least one data storage node, or may be a functional module disposed in the proxy server or any data storage node. This is all reasonable.
For example, fig. 1(a) is a schematic structural diagram of a distributed database system in an embodiment of the present invention. As shown in fig. 1(a), the distributed database system includes: a proxy server 101a, data storage nodes 102a, 103a, and 104a, and a pending transaction node 105a, and pending transaction node 103a is an electronic device independent of proxy server 101a, data storage nodes 102a, 103a, and 104 a;
for another example, fig. 1(b) is a schematic structural diagram of another distributed database system in the embodiment of the present invention. As shown in fig. 1(b), the distributed database system includes: a proxy server 101b, data storage nodes 102b, 103b, and 104b, and a pending transaction node 105b, and the pending transaction node 105b is a functional module located in the proxy server 101 b.
Furthermore, in an embodiment of the present invention, as shown in fig. 1(c), the distributed database system in the embodiment of the present invention may include a plurality of proxy servers 101c, 102c, and 103c, data storage nodes 104c, 105c, and 106c, and a pending transaction processing node 107 c. Here, the operation principle and the operation process of each of the proxy servers 101c, 102c, and 103c are the same.
It should be noted that fig. 1(a) -fig. 1(c) are only illustrations of the distributed database system in the embodiment of the present invention, and are not limited.
The suspended transaction processing method applied to the suspended transaction processing node in the distributed database system and the suspended transaction processing method applied to any data storage node in the distributed database system provided by the embodiment of the invention can be suitable for any application scene needing to process the distributed transaction and possibly having the suspended transaction. For example, cross-device data transmission, cross-device data storage, etc., and the embodiments of the present invention are not limited in this respect. For example, the distributed transaction may be distributed write transactions, and each branch transaction may be one of the distributed write transactions.
The suspended transaction processing method applied to the suspended transaction processing node in the distributed database system provided by the embodiment of the invention can comprise the following steps:
detecting whether each data storage node records a suspension transaction;
when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; each distributed transaction has a unique transaction identifier, and each data storage node records the transaction identifier of the distributed transaction to which the branch transaction belongs after submitting each branch transaction;
if the target transaction identifier is recorded in at least one data storage node, submitting the suspended transaction;
otherwise, roll back the pending transaction.
Correspondingly, the suspended transaction processing method applied to any data storage node in the distributed database system provided by the embodiment of the present invention may include the following steps:
receiving a branch transaction issued by the proxy server and a transaction identifier of a distributed transaction to which the branch transaction belongs;
executing the branch transaction and judging whether the branch transaction meets a commit condition or not;
if yes, submitting the branch transaction, and recording the transaction identifier of the distributed transaction to which the branch transaction belongs;
otherwise, determining the branch transaction as a suspension transaction, so that when the suspension transaction processing node detects that the branch transaction is the suspension transaction, traversing each data storage node to determine whether the transaction identifier is recorded; if the transaction identifier is recorded in at least one data storage node, submitting the branch transaction; otherwise, the branch transaction is rolled back.
As can be seen from the above, with the solution provided in the embodiment of the present invention, each data storage node may record the transaction identifier of the distributed transaction to which each branch transaction belongs after submitting each branch transaction, so that it is not necessary to record the state of the distributed transaction and the data storage node for processing the distributed transaction in a preset device cluster; moreover, when a suspended transaction is detected, the suspended transaction can be determined to be submitted or rolled back by directly traversing the transaction identifiers recorded by the data storage nodes, and the state of the distributed transaction to which the suspended transaction belongs does not need to be searched in a preset device cluster. Therefore, multiple RTTs caused by recording the state of the distributed transaction and the data storage node for processing the distributed transaction in an additional preset device cluster can be avoided, IO operations in the suspension transaction processing process are reduced, processing time of the distributed transaction can be reduced, and processing efficiency of the distributed transaction is improved.
The following describes a suspended transaction processing method applied to a suspended transaction processing node in a distributed database system and a suspended transaction processing method applied to any data storage node in the distributed database system, which are provided by the embodiments of the present invention, with reference to the accompanying drawings.
First, a suspended transaction processing method applied to a suspended transaction processing node in a distributed database system according to an embodiment of the present invention is specifically described with reference to the accompanying drawings.
Fig. 2 is a flowchart illustrating a suspended transaction processing method applied to a suspended transaction processing node in a distributed database system according to an embodiment of the present invention. As shown in fig. 2, the method may include the steps of:
s201: detecting whether each data storage node records a suspension transaction;
each data storage node may execute a branch transaction upon receipt of the branch transaction and commit the branch transaction after execution is complete. However, in some cases, due to a failure of the data storage node itself or a network failure between the data storage node and the proxy server, the communication connection between the data storage node and the proxy server is disconnected, thereby causing the data storage node to fail to commit the executed branch transaction. At this point, the branch transaction is in a state where the Prepare was successful but could not commit. In this way, the data storage node may record the branch transaction as a pending transaction.
For example, a pending transaction table for recording the determined pending transactions may be stored in the data storage node, where the pending transaction table records each pending transaction determined by the target storage node and a transaction identifier of a distributed transaction to which each pending transaction belongs.
Therefore, each data storage node in the distributed database system can be scanned by the suspended transaction processing node in the distributed database system, and whether the suspended transaction is recorded in each data storage node is detected.
S202: when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; if at least one data storage node records a target transaction identifier, executing step S203; otherwise, go to step S204;
each distributed transaction has a unique transaction identifier, and each data storage node records the transaction identifier of the distributed transaction to which the branch transaction belongs after submitting each branch transaction;
each data storage node may execute a branch transaction upon receipt of the branch transaction and commit the branch transaction after execution is complete. Further, after the branch transaction is committed, the data storage node may record the transaction identification of the distributed transaction to which the branch transaction belongs.
In order to enable each data storage node to simultaneously record the transaction identifier of the distributed transaction to which the pending transaction belongs when recording the pending transaction, and to record the transaction identifier of the distributed transaction to which the branch transaction belongs after each data storage node submits each branch transaction, the proxy server can simultaneously send the transaction identifier of the distributed transaction to which the issued branch transaction belongs to each data storage node when issuing the branch transaction to each data storage node.
In order to accurately determine the distributed transactions to which the branch transactions belong and determine the branch transactions belonging to the same distributed transaction, each distributed transaction has a unique transaction identifier.
Optionally, in a specific implementation manner, the distributed database system includes a proxy server;
in this way, in the specific implementation manner, the transaction identifier of each distributed transaction is generated by the proxy server according to the preset identifier generation rule after receiving the distributed transaction;
wherein, presetting the mark generation rule includes: and generating a rule of the transaction identification by utilizing the equipment identification of the proxy server and the transaction sequence number of the distributed transaction.
For example, each proxy server itself has a unique device identification, which may be, for example, a number. Further, when receiving each distributed transaction, the proxy server may generate, for the distributed transaction, a transaction sequence number of the distributed transaction according to an ordering of the distributed transaction among all the received distributed transactions, where the transaction sequence number may be, for example, a 64-bit monotonically increasing sequence number; in this way, the proxy server generates the transaction identifier of the distributed transaction by combining the device identifier of the proxy server and the transaction sequence number of the distributed transaction, and for example, a numerical sequence formed by the device identifier of the proxy server and the transaction sequence number of the distributed transaction may be used as the transaction identifier of the distributed transaction.
Of course, the preset identifier generation rule may also include other rules, and the embodiment of the present invention is not particularly limited thereto. For example, the proxy server may randomly generate a predetermined number of digits for the received distributed transaction as the transaction identifier of the distributed transaction. This is all reasonable.
In this way, when the suspended transaction processing node detects that any data storage node records suspended transactions, for each detected suspended transaction, the suspended transaction processing node can determine the target transaction identifier of the distributed transaction to which the suspended transaction belongs. Furthermore, the suspended transaction processing node may traverse each data storage node in the distributed database system to detect whether a target transaction identifier of the distributed transaction to which the detected suspended transaction belongs is recorded in the transaction identifiers of the distributed transactions to which the submitted branch transaction belongs, which are recorded by each data storage node.
If the pending transaction processing node detects that the target transaction identifier is recorded in at least one data storage node, it may be indicated that a branch transaction that has been submitted already exists in other branch transactions belonging to the same distributed transaction as the pending transaction, so that the subsequent step S203 may be performed to submit the pending transaction.
Correspondingly, if the pending transaction processing node detects that no target transaction identifier is recorded in each data storage node, it may be indicated that none of the other branch transactions belonging to the same distributed transaction as the pending transaction have completed submission, so that the subsequent step S204 may be executed to roll back the pending transaction.
S203: submitting a hanging transaction;
if the pending transaction processing node detects that the target transaction identifier is recorded in at least one data storage node, it may indicate that a branch transaction that has completed submission exists in other branch transactions belonging to the same distributed transaction as the pending transaction, and at this time, the pending transaction processing node may submit the pending transaction, thereby completing processing of the pending transaction.
Thus, when all branch transactions belonging to the distributed transaction having the target transaction identification are committed, processing of the distributed transaction is completed.
In an embodiment of the present invention, for a data storage node recorded with the above-mentioned pending transaction, after the pending transaction is committed, the data storage node will not record the pending transaction any more, and a target transaction identifier of a distributed transaction to which the pending transaction belongs will be recorded in the data storage node as a transaction identifier of a distributed transaction to which a committed branch transaction belongs.
In this way, when the suspended transaction processing node detects that another branch transaction belonging to the distributed transaction with the target transaction identifier is the suspended transaction again, the suspended transaction processing node may detect the target transaction identifier from the transaction identifiers of the distributed transactions to which the committed branch transaction belongs, which are recorded in the data storage node, while traversing the data storage node, so that the other branch transaction may be committed.
In another embodiment of the present invention, when a plurality of pending transactions are detected in each data storage node by a pending transaction processing node, and a plurality of pending transactions belonging to the same distributed transaction exist in the plurality of pending transactions, if the pending transaction processing node detects that a target transaction identifier of a distributed transaction to which a plurality of pending transactions belonging to the same distributed transaction belong is recorded in at least one data storage node when traversing a plurality of data storage nodes included in the distributed database system, the pending transaction processing node may submit the plurality of pending transactions belonging to the same distributed transaction at the same time.
S204: rolling back the hanging transaction.
If the pending transaction processing node detects that no target transaction identifier is recorded in each data storage node, it may indicate that all other branch transactions belonging to the same distributed transaction as the pending transaction have not completed submission, and even that there are branch transactions that have not been successful by Prepare in all other branch transactions belonging to the same distributed transaction as the pending transaction, at this time, the pending transaction processing node may roll back the pending transaction.
Thus, after rolling back the suspended transaction, the data storage node recorded with the suspended transaction can be restored to the state when the suspended transaction is not executed.
In an embodiment of the present invention, if the pending transaction processing node detects that no target transaction identifier is recorded in each data storage node, the pending transaction processing node may determine, in the plurality of data storage nodes in the distributed database system, each data storage node that receives each branch transaction belonging to the same distributed transaction as the pending transaction. Therefore, the suspended transaction processing node can simultaneously roll back each branch transaction which is received by the data storage node and belongs to the same distributed transaction with the suspended transaction, and restore the data storage node to the state when the received branch transaction which belongs to the same distributed transaction with the suspended transaction is not executed.
As can be seen from the above, with the solution provided in the embodiment of the present invention, each data storage node may record the transaction identifier of the distributed transaction to which each branch transaction belongs after submitting each branch transaction, so that it is not necessary to record the state of the distributed transaction and the data storage node for processing the distributed transaction in a preset device cluster; moreover, when a suspended transaction is detected, the suspended transaction can be determined to be submitted or rolled back by directly traversing the transaction identifiers recorded by the data storage nodes, and the state of the distributed transaction to which the suspended transaction belongs does not need to be searched in a preset device cluster. Therefore, multiple RTTs caused by recording the state of the distributed transaction and the data storage node for processing the distributed transaction in an additional preset device cluster can be avoided, IO operations in the suspension transaction processing process are reduced, processing time of the distributed transaction can be reduced, and processing efficiency of the distributed transaction is improved.
Optionally, in a specific implementation manner, as shown in fig. 3, the step S201 of detecting whether each data storage node records a suspended transaction may include the following step S201A:
S201A: detecting whether hanging affairs are recorded in each data storage node according to a preset period;
in this specific implementation manner, the suspended transaction processing node may detect whether a suspended transaction is recorded in each data storage node according to a preset period and a period duration corresponding to the preset period.
The preset period may be determined according to a processing requirement of the suspended transaction in an actual application, and the time interval is not specifically limited in the embodiment of the present invention. For example, the preset period may be 1s, 0.5s, 0.1s, etc., which is reasonable.
Accordingly, in this specific implementation manner, in the step S202, traversing whether the target transaction identifier of the distributed transaction to which the pending transaction belongs is recorded in each data storage node may include the following step S202A:
S202A: and traversing each data storage node, and in a period duration corresponding to a preset period, whether a target transaction identifier of a distributed transaction to which the suspended transaction belongs is recorded.
It can be understood that, when the suspension processing apparatus detects, according to a preset period, whether a suspended transaction is recorded in each data storage node, then, for each preset period, when the suspended transaction existing in the current period ends in the current period, the suspension processing apparatus detects whether a suspended transaction is recorded in each data storage node, so that, when the current period ends, the suspended transaction existing in the current period may complete a commit operation, or, when a rollback operation is completed, the suspension transaction processing node will not detect again the suspended transaction existing in the current period in a next period of the current period.
Based on this, for each preset period, when the suspension processing device detects a suspension transaction, then, because the suspension transaction appears in the current period, other branch transactions belonging to the same distributed transaction as the suspension transaction are also issued to each data storage node in the current period, and further, if the other branch transactions are submitted, the data storage nodes submitting the other branch transactions are submitted, and in fact, the target transaction identifier of the distributed transaction to which the suspension transaction belongs is recorded in the period duration corresponding to the current period.
In this way, for each preset period, when the suspension processing device detects a suspension transaction, the suspension transaction processing node may traverse each data storage node, thereby detecting whether there is a target transaction identifier of the distributed transaction to which the suspension transaction belongs, in the recorded transaction identifiers of the distributed transaction to which the submitted branch transaction belongs, within the period duration corresponding to the preset period of each data storage node.
That is to say, the suspension processing apparatus may traverse each data storage node, and in a period duration corresponding to the preset period, determine whether the target transaction identifier of the distributed transaction to which the suspension transaction belongs is recorded.
In an embodiment of the present invention, each data storage node may delete the transaction identifier of the distributed transaction to which the submitted branch transaction belongs, the record duration of which exceeds the cycle duration corresponding to the preset cycle.
Next, with reference to the accompanying drawings, a method for pending transaction processing applied to any data storage node in a distributed database system according to an embodiment of the present invention is specifically described.
Fig. 4 is a flowchart illustrating a suspended transaction processing method applied to a target storage node in a distributed database system according to an embodiment of the present invention. Wherein the target storage node is any one of a plurality of data storage nodes included in the distributed database system, as shown in fig. 4, the method may include the following steps:
s401: receiving a branch transaction issued by a proxy server and a transaction identifier of a distributed transaction to which the branch transaction belongs;
the proxy server can receive the distributed transaction sent by the user and generate the transaction identifier of the distributed transaction according to the preset identifier generation rule. Further, the proxy server may analyze the distributed transaction to obtain each branch transaction belonging to the distributed transaction, issue each branch transaction obtained through analysis to each data storage node, and send the transaction identifier of the distributed transaction to which the issued branch transaction belongs to each data storage node receiving each branch transaction.
Therefore, when the proxy server issues the branch transaction and the transaction identifier of the distributed transaction to which the branch transaction belongs to the target storage node, the target storage node can receive the branch transaction issued by the proxy server and the transaction identifier of the distributed transaction to which the branch transaction belongs.
In an embodiment of the present invention, the proxy server may receive the distributed transaction sent by the user in multiple ways, which is not limited in the embodiment of the present invention. For example, a user may send a distributed transaction to a proxy server through pre-provisioned client software communicatively connected to the proxy server, where the client software may be installed on the proxy server; for another example, the user may send the distributed transaction to the proxy server through a preset web page for inputting the distributed transaction, where the web page may be a web page that the proxy server can provide. This is all reasonable.
In another embodiment of the present invention, the preset identifier generating rule used by the proxy server to generate the transaction identifier of the distributed transaction may include: and generating a rule of the transaction identification by utilizing the equipment identification of the proxy server and the transaction sequence number of the distributed transaction.
Of course, the preset identifier generation rule may also include other rules, and the embodiment of the present invention is not particularly limited thereto. For example, the proxy server may randomly generate a predetermined number of digits for the received distributed transaction as the transaction identifier of the distributed transaction. This is all reasonable.
S402: executing the branch transaction and judging whether the branch transaction meets a commit condition or not; if yes, go to step S403; otherwise, go to step S404;
after receiving the branch transaction, the target storage node may execute the branch transaction, and after the branch transaction is executed, determine whether the branch transaction satisfies a commit condition.
After the target storage node executes the branch transaction, the branch transaction Prepare succeeds. Further, determining whether the branch transaction satisfies a Commit condition is determining whether a Commit operation can be performed on the branch transaction.
In an embodiment of the present invention, the manner of determining whether the branch transaction satisfies the commit condition includes:
detecting whether the communication connection between the target storage node and the proxy server is normal; if the branch transaction is normal, the branch transaction satisfies the commit condition, so that the subsequent step S403 may be executed to commit the branch transaction, and record the transaction identifier of the distributed transaction to which the branch transaction belongs; if not, i.e. it is detected that the communication connection between the target storage node and the proxy server is disconnected, the branch transaction does not satisfy the commit condition, and thus, the subsequent step S404 may be performed to determine the branch transaction as a pending transaction.
The reason why the communication connection between the target storage node and the proxy server is disconnected may be: the target storage node has a fault, and the communication network between the target storage node and the proxy server also has a fault. This is all reasonable.
In one embodiment of the invention, each data storage node in a distributed database system may include a master node and at least one slave node. When the main node in the target storage node detects that the communication network between the target storage node and the proxy server has a fault, the main node can directly determine the branch transaction as a suspension transaction; when the master node in the target storage node detects that the master node has a fault, any standby node in the target storage node can determine the standby node as the master node and determine that the branch transaction does not meet the commit condition, so that the branch transaction can be determined as a pending transaction after the standby node is upgraded to the master node. And after the node is upgraded to the master node, other suspension transactions recorded in the original master node and the transaction identification of the distributed transaction to which the submitted branch transaction belongs can be copied to the upgraded master node.
S403: submitting the branch transaction and recording the transaction identification of the distributed transaction to which the branch transaction belongs;
and when the target storage node finishes executing the branch transaction and judges that the branch transaction meets the commit condition, the target storage node indicates that the branch transaction can be committed, so that the target storage node can commit the branch transaction and record the transaction identifier of the distributed transaction to which the branch transaction belongs.
In addition, the following describes specific contents of executing a branch transaction and committing a branch transaction, taking the above-mentioned branch transaction as a write transaction as an example.
When the branch transaction is a write transaction, executing the write transaction, namely generating new version data for the line record to which the write transaction is directed, wherein at the moment, the prefix of the write transaction is successful; and after the write transaction is executed, entering a write transaction submitting phase, writing a submitting time stamp of the write transaction into the generated version data in the transaction submitting phase, submitting the version data, and finishing the Commit operation of the write transaction at the moment.
Optionally, in a specific implementation manner, the distributed database system includes a plurality of proxy servers; the target storage node records the transaction identifier according to a preset storage rule;
wherein the storage rule comprises: the storage rules according to which the device of the proxy server issuing the branch transaction is identified as a grouping basis and/or the storage rules according to which the transaction identification is a grouping basis.
In this particular implementation, multiple proxy servers may be included in the distributed database system, for example, as shown in FIG. 1 (c).
Therefore, when the target storage node records the transaction identifier of the distributed transaction to which the submitted branch transaction belongs, the transaction identifier can be recorded according to a preset storage rule.
In an embodiment of the present invention, the target storage node may record the transaction identifier of the distributed transaction to which the submitted branch transaction belongs according to a storage rule based on the device identifier of the proxy server issuing the branch transaction as a grouping basis. That is to say, after the target storage node submits each branch transaction, it may determine the proxy server that issues each branch transaction, so as to record the branch transaction issued by the same proxy server in the each branch transaction into the same transaction identifier group;
in another embodiment of the present invention, the target storage node may record the transaction identifier of the distributed transaction to which the submitted branch transaction belongs according to a storage rule based on the transaction identifier as a grouping basis. That is to say, after the target storage node commits each branch transaction, it may determine the transaction identifier of the distributed transaction to which each branch transaction belongs, and thus, according to each transaction identifier, record each transaction identifier into the same or different transaction identifier groups. For example, the transaction identifiers may be recorded in the same or different transaction identifier groups according to the sizes of the transaction identifiers, or may be recorded in the same or different transaction identifier groups according to hash values corresponding to the transaction identifiers. This is all reasonable.
In still another embodiment of the present invention, the target storage node may record the transaction identifier of the distributed transaction to which the submitted branch transaction belongs according to a storage rule based on a device identifier of the proxy server sending the branch transaction as a grouping basis and a storage rule based on a transaction identifier as a grouping basis.
Illustratively, as shown in fig. 5, the target storage node may record the transaction identification of the distributed transaction to which the committed branch transaction belongs through a two-layer data record structure. After the target storage node submits each branch transaction, the proxy server which issues each branch transaction can be determined; further, dividing the transaction identifiers of the distributed transactions to which the branch transactions issued by the same proxy server belong into a group according to the equipment identifiers of the proxy servers issuing the branch transactions; and further, aiming at each divided group of transaction identifiers, recording each transaction identifier in the group into the same or different transaction identifier groups according to each transaction identifier in the group. For example, each transaction identifier in the group may be recorded in the same or different transaction identifier groups according to the size of each transaction identifier in the group, or each transaction identifier in the group may be recorded in the same or different transaction identifier groups according to the hash value corresponding to each transaction identifier in the group. This is all reasonable.
S404: determining the branch transaction as a suspension transaction, so that when the suspension transaction processing node detects that the branch transaction is the suspension transaction, traversing each data storage node to determine whether a transaction identifier is recorded; if at least one data storage node records a transaction identifier, submitting a branch transaction; otherwise, the branch transaction is rolled back.
When the target storage node finishes executing the branch transaction and judges that the branch transaction does not meet the Commit condition, the prefix of the branch transaction is successful, and the Commit operation cannot be executed on the branch transaction, and at this time, the branch transaction cannot be committed and cannot be rolled back. In this way, the target storage node may determine the branch transaction as a pending transaction.
In an embodiment of the present invention, a pending transaction table for recording the determined pending transactions may be stored in the target storage node, where the pending transaction table records each pending transaction determined by the target storage node and a transaction identifier of a distributed transaction to which each pending transaction belongs.
In this way, after the target storage node determines the received branch transaction as the suspension transaction, when the suspension transaction processing node detects that the branch transaction is the suspension transaction, it may traverse each data storage node to determine whether a transaction identifier is recorded; if at least one data storage node records a transaction identifier, submitting a branch transaction; otherwise, the branch transaction is rolled back.
That is to say, after the target storage node determines the received branch transaction as a suspended transaction, when the suspended transaction processing node detects that the branch transaction is a suspended transaction, by executing any suspended transaction processing method applied to the suspended transaction processing node in the distributed database system, which is provided by the above embodiments of the present invention, a commit operation or a rollback operation may be performed on the branch transaction determined as a suspended transaction.
As can be seen from the above, with the solution provided in the embodiment of the present invention, each data storage node may record the transaction identifier of the distributed transaction to which each branch transaction belongs after submitting each branch transaction, so that it is not necessary to record the state of the distributed transaction and the data storage node for processing the distributed transaction in a preset device cluster; moreover, when a suspended transaction is detected, the suspended transaction can be determined to be submitted or rolled back by directly traversing the transaction identifiers recorded by the data storage nodes, and the state of the distributed transaction to which the suspended transaction belongs does not need to be searched in a preset device cluster. Therefore, multiple RTTs caused by recording the state of the distributed transaction and the data storage node for processing the distributed transaction in an additional preset device cluster can be avoided, IO operations in the suspension transaction processing process are reduced, processing time of the distributed transaction can be reduced, and processing efficiency of the distributed transaction is improved.
Optionally, in a specific implementation manner, the suspended transaction processing method applied to a target storage node in a distributed database system according to the embodiment of the present invention may further include the following step a:
step A: and after the branch transaction is submitted by the suspended transaction processing node, receiving a transaction deleting instruction sent by the proxy server, and deleting the recorded branch transaction.
In this specific implementation manner, when the target storage node determines that the branch transaction is the pending transaction, and the pending transaction processing node commits the branch transaction, the pending transaction processing node may send feedback information for indicating that the branch transaction commits, so that the proxy server may issue a transaction deletion instruction to the target storage node, and the target storage node may delete the recorded branch transaction as the pending transaction after receiving the transaction deletion instruction, so that the target storage node does not record the branch transaction as the pending transaction any more.
In addition, in an embodiment of the present invention, for the target storage node, after the pending transaction in the target storage node is committed, the target transaction identifier of the distributed transaction to which the pending transaction belongs is to be recorded as the transaction identifier of the distributed transaction to which the committed branch transaction belongs in the target storage node.
In this way, when the suspended transaction processing node detects that another branch transaction belonging to the distributed transaction with the target transaction identifier is a suspended transaction again, the suspended transaction processing node may detect the target transaction identifier from the transaction identifiers of the distributed transactions to which the committed branch transaction belongs, which are recorded in the target storage node, while traversing the data storage nodes, so that the other branch transaction may be committed.
Optionally, in a specific implementation manner, the suspended transaction processing method applied to a target storage node in a distributed database system according to the embodiment of the present invention may further include the following step B:
and B: and deleting the transaction identification of the distributed transaction to which the committed branch transaction with the recording duration exceeding the preset time period belongs.
In this specific implementation manner, for the transaction identifiers of the distributed transactions to which the committed branch transaction belongs, which are recorded in the target storage node, the target storage node may determine each transaction identifier whose recording time exceeds the preset time period in the transaction identifiers, so that the target storage node may delete each transaction identifier whose recording time exceeds the preset time period.
In this way, for the transaction identifier of the distributed transaction to which the committed branch transaction belongs, recorded in the target storage node, after the suspended transaction processing node processes the suspended transaction, among the distributed transactions having the transaction identifier, there are distributed transactions that have been processed or rolled back, and in the process of processing the suspended transaction by the subsequent suspended transaction processing node, the transaction identifier of the distributed transaction that has been processed or rolled back may not be used any more, so that the transaction identifier of the distributed transaction to which some committed branch transaction belongs may be periodically deleted according to the preset time period. That is, the transaction identification of the distributed transaction to which the committed branch transaction whose record duration exceeds the preset time period belongs may be deleted. Therefore, the storage space of the target storage node can be saved, and the processing efficiency of the suspended transaction is improved.
In an embodiment of the present invention, the pending transaction processing node may detect whether a pending transaction is recorded in each data storage node every other cycle duration corresponding to a preset cycle according to the preset cycle. In this way, the suspension processing device may traverse the plurality of data storage nodes, and in a period duration corresponding to the preset period, determine whether the target transaction identifier of the distributed transaction to which the suspension transaction belongs is recorded.
Based on this, in this embodiment, the preset time period is a period duration corresponding to the preset period, so that the target storage node may delete the transaction identifier of the distributed transaction to which the committed branch transaction belongs, the recording duration of which exceeds the period duration corresponding to the preset period.
In order to facilitate understanding of the suspended transaction processing method applied to the suspended transaction processing node in the distributed database system and the suspended transaction processing method applied to any data storage node in the distributed database system, signaling interaction among the suspended transaction processing node, the proxy server, the target storage node and other data storage nodes in the distributed database system is described below with reference to the accompanying drawings. The other data storage nodes are as follows: in the distributed database system, other data storage nodes except the target storage node.
Fig. 6 is a signaling interaction diagram among a suspended transaction processing node, a proxy server, a target storage node, and other data storage nodes in a distributed database system according to an embodiment of the present invention, and as shown in fig. 6, a signaling interaction process among the suspended transaction processing node, the proxy server, the target storage node, and other data storage nodes in the distributed database system may include the following steps:
s601: the method comprises the steps that a proxy server receives a distributed transaction sent by a user, generates a transaction identifier of the distributed transaction, and analyzes the distributed transaction to obtain each branch transaction belonging to the distributed transaction;
s602: the proxy server sends each analyzed branch transaction and the generated transaction identifier of the distributed transaction to the target storage node and other data storage nodes;
s603: the target storage node executes the received branch transaction and judges whether the branch transaction meets a commit condition;
s604: when the target storage node judges that the branch transaction meets the submission condition, submitting the branch transaction and recording the received transaction identifier;
s605: when the target storage node judges that the branch line transaction does not meet the commit condition, determining the branch transaction as a suspension transaction;
s606: the suspension transaction processing node detects whether suspension transactions are recorded in a target storage node and other data storage nodes;
s607: when the suspension transaction processing node detects that the suspension transaction is recorded in the target storage node, traversing whether the target transaction identifier of the distributed transaction to which the suspension transaction belongs is recorded in other data storage nodes;
s608: when detecting that a target transaction identifier is recorded in at least one other data storage node, the suspended transaction processing node submits the suspended transaction;
s609: when the suspension transaction processing node detects that no target transaction identifier is recorded in any data storage node, rolling back the suspension transaction;
s610: the suspended transaction processing node sends feedback information for representing the completion of the submission of the suspended transaction in the target storage node to the proxy server;
s611: after receiving the feedback information, the proxy server sends a transaction deletion instruction to the target storage node;
s612: and after receiving the transaction deleting instruction, the target storage node deletes the recorded branch transaction determined as the pending transaction.
The embodiments of the present invention provide a suspended transaction processing method applied to a suspended transaction processing node in a distributed database system, and a suspended transaction processing method applied to any data storage node in a distributed database system.
Fig. 7 is a schematic structural diagram of a distributed database system according to an embodiment of the present invention. As shown in fig. 7, the system may include: a plurality of data storage nodes 701, proxy servers 702, and pending transaction nodes 703;
each data storage node 701 is configured to receive a branch transaction issued by the proxy server 702 and a transaction identifier of a distributed transaction to which the branch transaction belongs; executing the branch transaction and judging whether the branch transaction meets a commit condition or not; if yes, submitting the branch transaction, and recording the transaction identifier of the distributed transaction to which the branch transaction belongs; otherwise, determining the branch transaction as a pending transaction;
the pending transaction processing node 703 is configured to detect whether a pending transaction is recorded in each data storage node 701; when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; if the target transaction identifier is recorded in at least one data storage node, submitting the suspended transaction; otherwise, roll back the pending transaction.
As can be seen from the above, with the solution provided in the embodiment of the present invention, each data storage node may record the transaction identifier of the distributed transaction to which each branch transaction belongs after submitting each branch transaction, so that it is not necessary to record the state of the distributed transaction and the data storage node for processing the distributed transaction in a preset device cluster; moreover, when a suspended transaction is detected, the suspended transaction can be determined to be submitted or rolled back by directly traversing the transaction identifiers recorded by the data storage nodes, and the state of the distributed transaction to which the suspended transaction belongs does not need to be searched in a preset device cluster. Therefore, multiple RTTs caused by recording the state of the distributed transaction and the data storage node for processing the distributed transaction in an additional preset device cluster can be avoided, IO operations in the suspension transaction processing process are reduced, processing time of the distributed transaction can be reduced, and processing efficiency of the distributed transaction is improved.
Optionally, in a specific implementation manner, each data storage node 701 may include: a master node and at least one standby node;
the master node in each data storage node 701 is specifically configured to execute the branch transaction, and detect whether a link between the master node and the proxy server 702 has a network communication failure disconnection; if so, determining that the branch transaction does not satisfy the commit condition; otherwise, determining that the branch transaction satisfies the commit condition;
any standby node in each data storage node 701 is configured to determine that the branch transaction does not satisfy the commit condition, determine the standby node as a master node, and determine the branch transaction as a pending transaction when it is monitored that a failure exists in a master node in the data storage node 701.
In this specific implementation manner, for any data storage node 701, after the master node in the data storage node 701 executes the received branch transaction, the master node may detect whether there is a failure in the communication network between itself and the proxy server 702. When the master node detects that a fault exists in the communication network between the master node and the proxy server 702, the master node may determine that the branch transaction does not satisfy the commit condition, and further, the master node may directly determine the branch transaction as a pending transaction.
Accordingly, each standby node in the data storage nodes 701 may monitor whether a primary node in the data storage nodes 701 has a failure. Then when any of the standby nodes in data storage nodes 701 detects that there is a failure in the primary node in data storage nodes 701, the standby node may determine that the branch transaction does not satisfy the commit condition. Further, the standby node may determine itself as a new master node, and after upgrading to the new master node, determine the branch transaction as a pending transaction. And after the standby node is upgraded to the master node, other suspended transactions recorded in the original master node and transaction identifications of distributed transactions to which the submitted branch transactions belong can be copied to the upgraded master node.
Optionally, in a specific implementation manner, the suspended transaction processing node 703 is specifically configured to: detecting whether hanging affairs are recorded in each data storage node according to a preset period; and traversing each data storage node, and in a period duration corresponding to the preset period, whether a target transaction identifier of a distributed transaction to which the suspended transaction belongs is recorded.
Optionally, in a specific implementation manner, the transaction identifier of each distributed transaction is generated by the proxy server 702 according to a preset identifier generation rule after receiving the distributed transaction; wherein the preset identifier generation rule comprises: and generating a rule of the transaction identification by using the equipment identification of the proxy server and the transaction sequence number of the distributed transaction.
Optionally, in a specific implementation manner, the distributed database system includes a plurality of proxy servers 702; any data storage node 701 records the transaction identifier according to a preset storage rule; wherein the storage rule comprises: the device identification of the proxy server sending the branch transaction is taken as the storage rule of the grouping basis, and/or the transaction identification is taken as the storage rule of the grouping basis.
Optionally, in a specific implementation manner, any data storage node 701 is further configured to: after the branch transaction is submitted by the pending transaction processing node 703, a transaction deletion instruction sent by the proxy server 702 is received, and the recorded branch transaction is deleted.
Optionally, in a specific implementation manner, any data storage node 701 is further configured to: and deleting the transaction identification of the distributed transaction to which the committed branch transaction with the recording duration exceeding the preset time period belongs.
Corresponding to the suspended transaction processing method applied to the suspended transaction processing node in the distributed database system provided by the embodiment of the invention, the embodiment of the invention also provides a suspended transaction processing device applied to the suspended transaction processing node in the distributed database system.
Fig. 8 is a schematic structural diagram of a suspended transaction processing apparatus applied to a suspended transaction processing node in a distributed database system, where the distributed database system further includes a plurality of data storage nodes, and as shown in fig. 8, the apparatus may include the following modules:
the transaction detection module 810 is configured to detect whether a suspended transaction is recorded in each data storage node;
an identifier traversing module 820, configured to, when detecting that a suspended transaction is recorded in any data storage node, traverse whether a target transaction identifier of a distributed transaction to which the suspended transaction belongs is recorded in each data storage node; if the target transaction identifier is recorded in at least one data storage node, triggering a transaction commit module 830; otherwise, trigger transaction rollback module 840; each distributed transaction has a unique transaction identifier, and each data storage node records the transaction identifier of the distributed transaction to which the branch transaction belongs after submitting each branch transaction;
the transaction committing module 830 is configured to commit the pending transaction;
the transaction rollback module 840 is configured to rollback the suspended transaction.
As can be seen from the above, with the solution provided in the embodiment of the present invention, each data storage node may record the transaction identifier of the distributed transaction to which each branch transaction belongs after submitting each branch transaction, so that it is not necessary to record the state of the distributed transaction and the data storage node for processing the distributed transaction in a preset device cluster; moreover, when a suspended transaction is detected, the suspended transaction can be determined to be submitted or rolled back by directly traversing the transaction identifiers recorded by the data storage nodes, and the state of the distributed transaction to which the suspended transaction belongs does not need to be searched in a preset device cluster. Therefore, multiple RTTs caused by recording the state of the distributed transaction and the data storage node for processing the distributed transaction in an additional preset device cluster can be avoided, IO operations in the suspension transaction processing process are reduced, processing time of the distributed transaction can be reduced, and processing efficiency of the distributed transaction is improved.
Optionally, in a specific implementation manner, the transaction detection module 810 is specifically configured to: detecting whether hanging affairs are recorded in each data storage node according to a preset period;
the identifier traversal module 820 is specifically configured to: and traversing each data storage node, and in a period duration corresponding to the preset period, whether a target transaction identifier of a distributed transaction to which the suspended transaction belongs is recorded.
Optionally, in a specific implementation manner, the distributed database system further includes: a proxy server; the transaction identifier of each distributed transaction is generated by the proxy server according to a preset identifier generation rule after the proxy server receives the distributed transaction; wherein the preset identifier generation rule comprises: and generating a rule of the transaction identification by using the equipment identification of the proxy server and the transaction sequence number of the distributed transaction.
Corresponding to the suspended transaction processing method applied to the target storage node in the distributed database system provided by the embodiment of the invention, the embodiment of the invention also provides a suspended transaction processing device applied to the target storage node in the distributed database system.
Fig. 9 is a schematic structural diagram of a suspended transaction processing apparatus applied to a target storage node in a distributed database system according to an embodiment of the present invention. Wherein the target storage node is any one of a plurality of data storage nodes included in the distributed database system, and the distributed database system further includes: suspending transaction nodes and proxy servers, as shown in fig. 9, the apparatus may include the following modules:
an information receiving module 910, configured to receive a branch transaction issued by the proxy server and a transaction identifier of a distributed transaction to which the branch transaction belongs;
a condition determining module 920, configured to execute the branch transaction, and determine whether the branch transaction satisfies a commit condition; if yes, trigger the flag recording module 930, otherwise trigger the transaction determination module 940;
the identifier recording module 930 is configured to submit the branch transaction, and record a transaction identifier of a distributed transaction to which the branch transaction belongs;
the transaction determining module 940 is configured to determine the branch transaction as a suspension transaction, so that when the suspension transaction processing node detects that the branch transaction is a suspension transaction, it traverses each data storage node whether the transaction identifier is recorded; if the transaction identifier is recorded in at least one data storage node, submitting the branch transaction; otherwise, the branch transaction is rolled back.
As can be seen from the above, with the solution provided in the embodiment of the present invention, each data storage node may record the transaction identifier of the distributed transaction to which each branch transaction belongs after submitting each branch transaction, so that it is not necessary to record the state of the distributed transaction and the data storage node for processing the distributed transaction in a preset device cluster; moreover, when a suspended transaction is detected, the suspended transaction can be determined to be submitted or rolled back by directly traversing the transaction identifiers recorded by the data storage nodes, and the state of the distributed transaction to which the suspended transaction belongs does not need to be searched in a preset device cluster. Therefore, multiple RTTs caused by recording the state of the distributed transaction and the data storage node for processing the distributed transaction in an additional preset device cluster can be avoided, IO operations in the suspension transaction processing process are reduced, processing time of the distributed transaction can be reduced, and processing efficiency of the distributed transaction is improved.
Optionally, in a specific implementation manner, the distributed database system includes a plurality of proxy servers; the target storage node records the transaction identifier according to a preset storage rule; wherein the storage rule comprises: the device identification of the proxy server sending the branch transaction is taken as the storage rule of the grouping basis, and/or the transaction identification is taken as the storage rule of the grouping basis.
Optionally, in a specific implementation manner, the apparatus further includes: a transaction deletion module; and the transaction deleting module is used for receiving a transaction deleting instruction sent by the proxy server and deleting the recorded branch transaction after the branch transaction is submitted by the suspended transaction processing node.
Optionally, in a specific implementation manner, the apparatus further includes: an identifier deletion module; and the identification deleting module is used for deleting the transaction identification of the distributed transaction to which the submitted branch transaction with the recording duration exceeding the preset time period belongs.
Corresponding to the above-mentioned suspended transaction processing method applied to the suspended transaction processing node in the distributed database system according to the embodiment of the present invention, the embodiment of the present invention further provides a suspended transaction processing node in a distributed database system, the distributed database system further includes a plurality of data storage nodes, as shown in fig. 10, including a processor 1001, a communication interface 1002, a memory 1003 and a communication bus 1004, where the processor 1001, the communication interface 1002, and the memory 1003 complete mutual communication through the communication bus 1004,
a memory 1003 for storing a computer program;
the processor 1001 is configured to implement, when executing the program stored in the memory 1003, any one of the steps of the suspended transaction processing method applied to the suspended transaction processing node in the distributed database system according to the embodiments of the present invention.
The embodiment of the present invention provides a suspended transaction processing method applied to a target storage node in a distributed database system, and further provides a target data node in the distributed database system, where the target data node is any one of a plurality of data storage nodes included in the distributed database system, and the distributed database system further includes: hanging a transaction processing node and a proxy server; as shown in fig. 11, the system comprises a processor 1101, a communication interface 1102, a memory 1103 and a communication bus 1104, wherein the processor 1101, the communication interface 1102 and the memory 1103 are communicated with each other through the communication bus 1104,
a memory 1103 for storing a computer program;
the processor 1101 is configured to, when executing the program stored in the memory 1103, implement any one of the steps of the suspended transaction processing method applied to the target storage node in the distributed database system according to the embodiments of the present invention.
The communication bus mentioned above for the suspension transaction processing node and the target storage node may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface is used for communication between the suspended transaction processing node and the target storage node and other devices.
The Memory may include a Random Access Memory (RAM) or a Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
In yet another embodiment of the present invention, a computer-readable storage medium is further provided, where a computer program is stored in the computer-readable storage medium, and when executed by a processor, the computer program implements any of the steps of the above-mentioned suspended transaction processing method applied to a suspended transaction processing node in a distributed database system, or implements any of the above-mentioned steps of the above-mentioned suspended transaction processing method applied to a target storage node in a distributed database system.
In yet another embodiment of the present invention, a computer program product containing instructions is further provided, which when run on a computer, causes the computer to perform any of the above-mentioned steps of the suspended transaction processing method applied to a suspended transaction processing node in a distributed database system according to the embodiment of the present invention, or perform any of the above-mentioned steps of the suspended transaction processing method applied to a target storage node in a distributed database system according to the embodiment of the present invention.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, apparatus embodiments, system embodiments, device embodiments, computer-readable storage medium embodiments, and computer program product embodiments are described with relative simplicity as they are substantially similar to method embodiments, where relevant reference may be had to some descriptions of method embodiments.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (14)

1. A suspended transaction processing method is characterized in that the suspended transaction processing method is applied to suspended transaction processing nodes in a distributed database system, and the distributed database system further comprises a plurality of data storage nodes; the method comprises the following steps:
detecting whether each data storage node records a suspension transaction;
when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; each distributed transaction has a unique transaction identifier, and each data storage node records the transaction identifier of the distributed transaction to which the branch transaction belongs after submitting each branch transaction;
if the target transaction identifier is recorded in at least one data storage node, submitting the suspended transaction;
otherwise, roll back the pending transaction.
2. The method of claim 1, wherein the step of detecting whether pending transactions are recorded in each data storage node comprises:
detecting whether hanging affairs are recorded in each data storage node according to a preset period;
the step of traversing whether the target transaction identifier of the distributed transaction to which the suspended transaction belongs is recorded in each data storage node includes:
and traversing each data storage node, and in a period duration corresponding to the preset period, whether a target transaction identifier of a distributed transaction to which the suspended transaction belongs is recorded.
3. The method of claim 1 or 2, wherein the distributed database system further comprises: a proxy server;
the transaction identifier of each distributed transaction is generated by the proxy server according to a preset identifier generation rule after the proxy server receives the distributed transaction;
wherein the preset identifier generation rule comprises: and generating a rule of the transaction identification by using the equipment identification of the proxy server and the transaction sequence number of the distributed transaction.
4. A suspension transaction processing method is characterized in that the suspension transaction processing method is applied to a target storage node in a distributed database system; wherein the target storage node is any one of a plurality of data storage nodes included in the distributed database system, and the distributed database system further includes: hanging a transaction processing node and a proxy server; the method comprises the following steps:
receiving a branch transaction issued by the proxy server and a transaction identifier of a distributed transaction to which the branch transaction belongs;
executing the branch transaction and judging whether the branch transaction meets a commit condition or not;
if yes, submitting the branch transaction, and recording the transaction identifier of the distributed transaction to which the branch transaction belongs;
otherwise, determining the branch transaction as a suspension transaction, so that when the suspension transaction processing node detects that the branch transaction is the suspension transaction, traversing each data storage node to determine whether the transaction identifier is recorded; if the transaction identifier is recorded in at least one data storage node, submitting the branch transaction; otherwise, the branch transaction is rolled back.
5. The method of claim 4, wherein the distributed database system comprises a plurality of proxy servers; the target storage node records the transaction identifier according to a preset storage rule;
wherein the storage rule comprises: the device identification of the proxy server sending the branch transaction is taken as the storage rule of the grouping basis, and/or the transaction identification is taken as the storage rule of the grouping basis.
6. The method of claim 4, further comprising:
and after the branch transaction is submitted by the suspended transaction processing node, receiving a transaction deleting instruction sent by the proxy server, and deleting the recorded branch transaction.
7. The method according to any one of claims 4-6, further comprising:
and deleting the transaction identification of the distributed transaction to which the committed branch transaction with the recording duration exceeding the preset time period belongs.
8. A distributed database system, the system comprising: the system comprises a plurality of data storage nodes, a proxy server and a hanging transaction processing node;
each data storage node is used for receiving the branch transaction issued by the proxy server and the transaction identifier of the distributed transaction to which the branch transaction belongs; executing the branch transaction and judging whether the branch transaction meets a commit condition or not; if yes, submitting the branch transaction, and recording the transaction identifier of the distributed transaction to which the branch transaction belongs; otherwise, determining the branch transaction as a pending transaction;
the suspension transaction processing node is used for detecting whether suspension transactions are recorded in each data storage node; when detecting that a suspension transaction is recorded in any data storage node, traversing whether a target transaction identifier of a distributed transaction to which the suspension transaction belongs is recorded in each data storage node; if the target transaction identifier is recorded in at least one data storage node, submitting the suspended transaction; otherwise, roll back the pending transaction.
9. The system of claim 8, wherein each data storage node comprises: a master node and at least one standby node;
the main node in each data storage node is specifically used for executing the branch transaction and detecting whether a communication network of the main node and the proxy server has a fault; if so, determining that the branch transaction does not satisfy the commit condition; otherwise, determining that the branch transaction satisfies the commit condition;
and any standby node in each data storage node is used for determining that the branch transaction does not meet the submission condition when the main node in the data storage node is monitored to have a fault, determining the standby node as the main node and determining the branch transaction as a suspended transaction.
10. The suspended transaction processing device is applied to suspended transaction processing nodes in a distributed database system, and the distributed database system further comprises a plurality of data storage nodes; the device comprises:
the transaction detection module is used for detecting whether each data storage node records a suspension transaction;
the identification traversing module is used for traversing whether a target transaction identification of a distributed transaction to which the suspended transaction belongs is recorded in each data storage node when the suspended transaction is detected to be recorded in any data storage node; if the target transaction identifier is recorded in at least one data storage node, triggering a transaction submission module; otherwise, triggering the transaction rollback module; each distributed transaction has a unique transaction identifier, and each data storage node records the transaction identifier of the distributed transaction to which the branch transaction belongs after submitting each branch transaction;
the transaction submitting module is used for submitting the hanging transaction;
the transaction rollback module is used for rolling back the suspended transaction.
11. The suspended transaction processing device is applied to a target storage node in a distributed database system; wherein the target storage node is any one of a plurality of data storage nodes included in the distributed database system, and the distributed database system further includes: hanging a transaction processing node and a proxy server; the device comprises:
the information receiving module is used for receiving the branch transaction issued by the proxy server and the transaction identifier of the distributed transaction to which the branch transaction belongs;
the condition judging module is used for executing the branch transaction and judging whether the branch transaction meets a commit condition; if yes, triggering an identification recording module, otherwise, triggering an affair determining module;
the identification recording module is used for submitting the branch transaction and recording the transaction identification of the distributed transaction to which the branch transaction belongs;
the transaction determining module is configured to determine the branch transaction as a suspension transaction, so that when the suspension transaction processing node detects that the branch transaction is a suspension transaction, it traverses each data storage node whether the transaction identifier is recorded; if the transaction identifier is recorded in at least one data storage node, submitting the branch transaction; otherwise, the branch transaction is rolled back.
12. A suspended transaction processing node in a distributed database system, the distributed database system further comprising a plurality of data storage nodes; the suspended transaction processing node comprises a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for finishing mutual communication through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any of claims 1 to 3 when executing a program stored in the memory.
13. A target data node in a distributed database system, wherein the target data node is any one of a plurality of data storage nodes comprised in the distributed database system, the distributed database system further comprising: hanging a transaction processing node and a proxy server; the target data node comprises a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for completing mutual communication by the memory through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any of claims 4 to 7 when executing a program stored in the memory.
14. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, which computer program, when being executed by a processor, carries out the method steps of any one of claims 1 to 3, or carries out the method steps of any one of claims 4 to 7.
CN202110232612.3A 2021-03-03 2021-03-03 Suspension transaction processing method and distributed database system Pending CN112596867A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110232612.3A CN112596867A (en) 2021-03-03 2021-03-03 Suspension transaction processing method and distributed database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110232612.3A CN112596867A (en) 2021-03-03 2021-03-03 Suspension transaction processing method and distributed database system

Publications (1)

Publication Number Publication Date
CN112596867A true CN112596867A (en) 2021-04-02

Family

ID=75210200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110232612.3A Pending CN112596867A (en) 2021-03-03 2021-03-03 Suspension transaction processing method and distributed database system

Country Status (1)

Country Link
CN (1) CN112596867A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126481A (en) * 2023-02-06 2023-05-16 安芯网盾(北京)科技有限公司 Distributed long transaction processing method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988865A (en) * 2015-03-04 2016-10-05 阿里巴巴集团控股有限公司 Roll-back processing method and device
CN107168775A (en) * 2016-03-07 2017-09-15 阿里巴巴集团控股有限公司 It is a kind of to hang the method and apparatus that affairs are automatically processed
CN110716793A (en) * 2019-10-10 2020-01-21 腾讯科技(深圳)有限公司 Execution method, device, equipment and storage medium of distributed transaction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988865A (en) * 2015-03-04 2016-10-05 阿里巴巴集团控股有限公司 Roll-back processing method and device
CN107168775A (en) * 2016-03-07 2017-09-15 阿里巴巴集团控股有限公司 It is a kind of to hang the method and apparatus that affairs are automatically processed
CN110716793A (en) * 2019-10-10 2020-01-21 腾讯科技(深圳)有限公司 Execution method, device, equipment and storage medium of distributed transaction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126481A (en) * 2023-02-06 2023-05-16 安芯网盾(北京)科技有限公司 Distributed long transaction processing method and device
CN116126481B (en) * 2023-02-06 2023-08-25 安芯网盾(北京)科技有限公司 Distributed long transaction processing method and device

Similar Documents

Publication Publication Date Title
CN107633016B (en) Data processing method and device and electronic equipment
JP6160064B2 (en) Application determination program, failure detection apparatus, and application determination method
CN109614262B (en) Service checking method, device and computer readable storage medium
CN103390041A (en) Method and system for providing data service based on middleware
CN108255620B (en) Service logic processing method, device, service server and system
US10048978B2 (en) Apparatus and method for identifying a virtual machine having changeable settings
CN112202633B (en) Block chain network testing method and device, electronic equipment and readable storage medium
CN110633977A (en) Payment exception processing method and device and terminal equipment
CN112738294A (en) Domain name resolution method and device based on block chain, electronic equipment and storage medium
CN112835885B (en) Processing method, device and system for distributed form storage
JP6252309B2 (en) Monitoring omission identification processing program, monitoring omission identification processing method, and monitoring omission identification processing device
CN111382206A (en) Data storage method and device
CN112596867A (en) Suspension transaction processing method and distributed database system
CN111367934B (en) Data consistency checking method, device, server and medium
CN105956046A (en) Dictionary update method and system, and server
CN114844771B (en) Method, device, storage medium and program product for monitoring micro service system
CN110955460A (en) Service process starting method and device, electronic equipment and storage medium
CN109976944B (en) Data processing method and system, storage medium and electronic device
US10291700B2 (en) Network optimized scan with dynamic fallback recovery
CN112035458B (en) Data isolation method, device and equipment
CN113450223A (en) Transaction processing method, device and equipment based on UTXO model and storage medium
CN113392067A (en) Data processing method, device and system for distributed database
CN112765188A (en) Configuration information processing method, configuration management system, electronic device, and storage medium
US20240118962A1 (en) Sharing system, sharing method, maintenance node, generation node and program
CN111639089B (en) Transaction processing method, transaction processing device, electronic equipment and computer readable storage medium

Legal Events

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