CN105608086A - Transaction processing method and device of distributed database system - Google Patents

Transaction processing method and device of distributed database system Download PDF

Info

Publication number
CN105608086A
CN105608086A CN201410654868.3A CN201410654868A CN105608086A CN 105608086 A CN105608086 A CN 105608086A CN 201410654868 A CN201410654868 A CN 201410654868A CN 105608086 A CN105608086 A CN 105608086A
Authority
CN
China
Prior art keywords
sql
sql statement
node
tree
gtid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410654868.3A
Other languages
Chinese (zh)
Other versions
CN105608086B (en
Inventor
代利坚
贾新华
左庄太
白涛
陈河堆
邹海丽
陈小强
彭继平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Citic Bank Corp Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201410654868.3A priority Critical patent/CN105608086B/en
Priority to PCT/CN2015/083399 priority patent/WO2016078423A1/en
Publication of CN105608086A publication Critical patent/CN105608086A/en
Application granted granted Critical
Publication of CN105608086B publication Critical patent/CN105608086B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

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

Abstract

The invention discloses a transaction processing method and device of a distributed database system. The method comprises the following steps: receiving a transaction SQL (Structured Query Language) statement handed by a user via a global transaction processing central server, and generating a SQL syntax tree according to the SQL statement; traversing the SQL syntax tree, and generating a SQL execution tree which can be executed in each database node of the distributed database system according to the distribution situation of the distributed database system; applying for a GTID (Global Transaction ID) corresponding to the SQL execution tree, traversing the SQL execution tree, and issuing the SQL statement on the execution node of the SQL execution tree to be executed on the corresponding database node, wherein the GTID is carried in the SQL statement; and receiving an execution result, traversing the SQL execution tree according to the execution result, returning the execution result to a user after a determination result shows that all SQL statements on the SQL execution tree finish being executed, and releasing the GTID.

Description

The transaction methods of distributed data base system and device
Technical field
The present invention relates to field of computer technology, particularly relate to a kind of transaction methods and device of distributed data base system.
Background technology
Online transaction processing system (OnlineTransactionProcessing, referred to as OLTP), is the system that a kind of transactional is very high, is all generally high available on-line system. Mutual (Transaction) of such system processing per second often exceedes hundreds of or several thousand, and the execution amount per second several thousand of query statement (select) even several ten thousand. Typical OLTP system has e-commerce system, banking system, securities system, and for example, the DB2 business datum database that domestic bank is used, is exactly very typical OLTP database. Along with business is done larger and larger, data volume also can be increasing, calculates and also can become increasingly complex simultaneously, and the demand of performance, reliability, extensibility will be more and more stronger, and this time, a centralized relevant database can not meet demand obviously.
In order to solve central processing unit (CentralProcessingUnit, referred to as CPU) that this data volume, affairs amount bring greatly and the pressure of disk, distributed data base system is arisen at the historic moment, and becomes the important technology of information processing. Distributed data base is to be formed by several single-node data storehouse set, they connect by network, each node is Database Systems independently, they have database, CPU, data management system separately, and therefore distributed data base system can be regarded the associating of a series of centralized data base systems as. They logically belong to same system database, but in physical arrangement, are distributed.
The extensibility of performance and data is the business-driven that build distributed data base, the expansion of data and performance can be provided for business by distributed data base, but also bring series of problems, the such as support of the support of distributed storage process, data consistency, distributed transaction and processing, the data problem such as heavily distribute thereupon. Wherein distributed transaction is again the Important Problems that distributed data base need to solve.
Summary of the invention
In view of existing the problems referred to above of issued transaction of distributed data base system in prior art, the present invention is proposed to a kind of transaction methods and device of the distributed data base system that overcomes the problems referred to above or address the above problem are at least in part provided.
The transaction methods that the invention provides a kind of distributed data base system, comprising:
Global transaction processing center server receives the transaction structure query language SQL statement that user submits to, and generates SQL syntax tree according to SQL statement;
Global transaction processing center server traversal SQL syntax tree, according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of distributed data base system carries out tree;
The application of global transaction processing center server carries out with SQL the global transaction mark GTID that tree is corresponding, and travel through SQL carry out tree, SQL statement on the XM of SQL execution tree is issued on corresponding database node and is carried out, and wherein, GTID is carried in SQL statement;
Global transaction processing center server receives execution result, carries out tree according to execution result traversal SQL, determine that SQL carries out that SQL statement on tree all runs succeeded and after, execution result is returned to user, and discharges GTID.
Preferably, in the time that each database node is carried out SQL statement, in the implicit row of the operating data of the SQL statement of database node storage, store corresponding GTID, and the front and back value of the operating data of SQL statement is written to the database journal of each database node;
Said method further comprises distributed rolling back action: the execution result that global transaction processing center server is submitted at partial database node is for carrying out SQL statement success, the execution result that partial database node is submitted to is to carry out in the situation of SQL statement failure, obtain the database journal of carrying out the successful database node of SQL statement, from database journal, obtain the front and back value of the successful SQL statement of executed and operating data by GTID, according to the reverse SQL statement of front and back value structure of the successful SQL statement of executed and operating data, the successful SQL statement of executed is carried out to rolling back action, successful executed SQL statement is rolled back to the state consistent with carrying out failed SQL statement.
Preferably, global transaction processing center server receives the transaction structure query language SQL statement that user submits to, and specifically comprises according to SQL statement generation SQL syntax tree:
Global transaction processing center server receives the affairs SQL statement that user submits to;
Global transaction processing center server is formulated SQL syntax analyzer according to the application rule of SQL syntax rule and Based on Distributed, analyze affairs SQL statement by SQL syntax analyzer, generate SQL syntax tree, and according to the needed SQL statement of SQL syntax tree reconstruct, wherein, SQL syntax tree comprises SQL statement node and SQL statement running node, if be master slave relation between two SQL statement nodes, logical SQL statement running node connects two SQL statement nodes.
Preferably, global transaction processing center server traversal SQL syntax tree, according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of distributed data base system carries out tree and specifically comprises:
Global transaction processing center server is from root node degree of depth traversal SQL syntax tree, traversing after leaf node, start to carry out merger operation, can be placed on and in a SQL statement, be issued to the node of set membership and the node of brotherhood that database node carries out and be merged into an XM, in the time that present node cannot merge, present node is distributed and is issued on the XM of SQL execution tree, finally gather operation, the SQL that generation can be carried out at each database node of distributed data base system carries out tree.
Preferably, in the time generating the SQL execution tree that can carry out at each database node of distributed data base system, said method further comprises:
When the involved data of SQL statement on SQL execution tree are distributed in same database node, this SQL statement is designated and is directly issued to the execution of correspondence database node; In the time that SQL carries out the data that relate to of SQL statement on tree and is distributed in disparate databases node, this SQL statement is designated and need to gathers operation, and the sub-SQL statement that SQL statement is resolved into is designated and is directly issued to associated databases node and carries out;
SQL statement on SQL execution tree is issued on corresponding database node and carries out and specifically comprise:
In the time that SQL statement is designated the correspondence database node execution directly issuing, global transaction processing center server is directly issued to this SQL statement associated databases node and carries out;
The sub-SQL statement resolving at SQL statement is designated and is directly issued to the execution of associated databases node, this SQL statement is designated need to gather operation time, global transaction processing center server is issued to the sub-SQL statement of this SQL statement after each database node execution, receives the execution result of each database node feedback and execution result is carried out to data and gather operation.
Preferably, the global transaction processing center server application global transaction mark GTID corresponding with SQL execution tree specifically comprises:
Step 1, global transaction processing center server lookup SQL carries out the GTID in the operating data of setting SQL statement on each XM;
Step 2, whether global transaction processing center server reads the GTID inquiring, and the active GTID list of current system of preserving in this GTID and global transaction processing center server is contrasted, judge with the corresponding operating data of the GTID reading active;
Step 3, global transaction processing center server is in the situation that definite operating data is active, judge that whether this transaction operation is overtime, or this time whether the number of retries of transaction operation exceeds the number of retries threshold value setting in advance, if overtime or exceed number of retries threshold value, carry out distributed rolling back action, if not overtime or do not exceed number of retries threshold value, return to execution step 1;
Step 4, global transaction processing center server, in the sluggish situation of decision operation data, is applied for a new GTID;
Step 5, global transaction processing center server stores the corresponding GTID of current active operating data in the active GTID list of current system into;
Step 6, in the time having other affairs application to the enlivening GTID in GTID list and carry out related data operation of current system, forbids that other affairs operate.
The present invention also provides a kind of transacter of distributed data base system, comprising:
Client modules, the transaction structure query language SQL statement of submitting to for receiving user
Syntax parsing module, for generating SQL syntax tree according to SQL statement;
SQL processing module, for traveling through SQL syntax tree, according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of distributed data base system carries out tree;
Global transaction identification module, carries out with SQL the global transaction mark GTID that tree is corresponding for applying for, wherein, GTID is carried at SQL and carries out in the SQL statement on the XM of setting;
Executive Module, carries out tree for traveling through SQL, and the SQL statement that SQL is carried out on the XM of setting issues routing module;
Routing module, is issued on corresponding database node and carries out for the SQL statement that Executive Module is issued, and execution result is fed back to Executive Module;
Executive Module is further used for: receive execution result, carry out tree according to execution result traversal SQL, determine that SQL carries out that SQL statement on tree all runs succeeded and after, execution result is returned to user, and controls global transaction identification module and discharge GTID.
Preferably, Executive Module is further used for: the execution result of submitting at partial database node is for carrying out SQL statement success, the execution result that partial database node is submitted to is to carry out in the situation of SQL statement failure, obtain the database journal of carrying out the successful database node of SQL statement, from database journal, obtain the front and back value of the successful SQL statement of executed and operating data by GTID, according to the reverse SQL statement of front and back value structure of the successful SQL statement of executed and operating data, the successful SQL statement of executed is carried out to rolling back action, successful executed SQL statement is rolled back to the state consistent with carrying out failed SQL statement.
Preferably, syntax parsing module specifically for:
Formulate SQL syntax analyzer according to the application rule of SQL syntax rule and Based on Distributed, analyze affairs SQL statement by SQL syntax analyzer, generate SQL syntax tree, and according to the needed SQL statement of SQL syntax tree reconstruct, wherein, SQL syntax tree comprises SQL statement node and SQL statement running node, if be master slave relation between two SQL statement nodes, logical SQL statement running node connects two SQL statement nodes.
Preferably, SQL processing module specifically for:
From root node degree of depth traversal SQL syntax tree, traversing after leaf node, start to carry out merger operation, can be placed on and in a SQL statement, be issued to the node of set membership and the node of brotherhood that database node carries out and be merged into an XM, in the time that present node cannot merge, present node is distributed and is issued on the XM of SQL execution tree, finally gather operation, the SQL that generation can be carried out at each database node of distributed data base system carries out tree.
Preferably, SQL processing module is further used for:
In the time generating the SQL execution tree that can carry out at each database node of distributed data base system, when the data that SQL statement on SQL execution tree relates to are all distributed in same database node, this SQL statement is designated and is directly issued to the execution of correspondence database node; In the time that SQL carries out the data that relate to of SQL statement on tree and is distributed in disparate databases node, this SQL statement is designated and need to gathers operation, and the sub-SQL statement that SQL statement is resolved into is designated and is directly issued to associated databases node and carries out;
Routing module specifically for: in the time that SQL statement is designated the correspondence database node that directly issues and carries out, directly this SQL statement is issued to associated databases node and carries out; The sub-SQL statement resolving at SQL statement is designated and is directly issued to the execution of associated databases node, this SQL statement is designated need to gather operation time, the sub-SQL statement of this SQL statement is issued to after each database node execution, the execution result of the each database node feedback receiving is sent to Executive Module;
Executive Module is further used for: execution result is carried out to data and gather operation.
Preferably, Executive Module specifically comprises:
The submodule that locks, carries out the GTID of the operating data of SQL statement on the each XM of tree for query SQL; In the time having other affairs application to the enlivening GTID in GTID list and carry out related data operation of current system, forbid that other affairs operate;
Judge submodule, for reading the GTID inquiring, the active GTID list of current system of preserving in this GTID and global transaction processing center server is contrasted, whether actively judge with the corresponding operating data of the GTID reading;
Process submodule, for in the situation that definite operating data is active, judge that whether this transaction operation is overtime, or this time whether the number of retries of transaction operation exceeds the number of retries threshold value setting in advance, if overtime or exceed number of retries threshold value, carry out distributed rolling back action, if not overtime or do not exceed number of retries threshold value, call the submodule that locks; In the sluggish situation of decision operation data, control new GTID of global transaction identification module application, and the corresponding GTID of current active operating data is stored in the active GTID list of current system.
Beneficial effect of the present invention is as follows:
By in the time relating to the transaction operation of distributed multinode database, apply for a GTID, even affairs are distributed on different nodes by GTID, also can ensure data or all successes that affairs are implemented, all failure, by means of the technical scheme of the embodiment of the present invention, is meeting under the prerequisite of ACID characteristic, system concurrency is provided as far as possible, thus the overall treatment efficiency of Hoisting System.
Above-mentioned explanation is only the general introduction of technical solution of the present invention, in order to better understand technological means of the present invention, and can be implemented according to the content of description, and for above and other objects of the present invention, feature and advantage can be become apparent, below especially exemplified by the specific embodiment of the present invention.
Brief description of the drawings
By reading below detailed description of the preferred embodiment, various other advantage and benefits will become cheer and bright for those of ordinary skill in the art. Accompanying drawing is only for the object of preferred embodiment is shown, and do not think limitation of the present invention. And in whole accompanying drawing, represent identical parts by identical reference symbol. In the accompanying drawings:
Fig. 1 is the flow chart of the transaction methods of the distributed data base system of the embodiment of the present invention;
Fig. 2 is the system architecture schematic diagram of the transaction methods of the distributed data base system of the embodiment of the present invention;
Fig. 3 is that the SQL of the embodiment of the present invention carries out the schematic diagram of tree;
Fig. 4 is the flow chart of the distributed transaction rolling back action of the embodiment of the present invention;
Fig. 5 is the flow chart of the detailed processing of the transaction methods of the distributed data base system of the embodiment of the present invention;
Fig. 6 is the structural representation of the transacter of the distributed data base system of the embodiment of the present invention.
Detailed description of the invention
Exemplary embodiment of the present disclosure is described below with reference to accompanying drawings in more detail. Although shown exemplary embodiment of the present disclosure in accompanying drawing, but should be appreciated that and can realize the disclosure and the embodiment that should do not set forth limits here with various forms. On the contrary, it is in order more thoroughly to understand the disclosure that these embodiment are provided, and can be by the those skilled in the art that conveys to complete the scope of the present disclosure.
In order to solve the aforementioned problems in the prior, the invention provides a kind of based on global transaction mark (GlobalTransactionIdentifier, referred to as GTID) the method and apparatus of distributed data base system issued transaction, relate to the transaction operation of distributed multinode database, all need to apply for a GTID, even affairs are distributed on different nodes by Transaction Identifier, the data that affairs are implemented or all success, all failures, (refer to the abbreviation of correct four fundamentals carrying out of db transaction meeting ACID, comprise: atomicity (Atomicity), uniformity (Consistency), isolation (Isolation), persistence (Durability)) under the prerequisite of characteristic, system concurrency is provided as far as possible, thereby the overall treatment efficiency of Hoisting System. in addition, the technical scheme of the embodiment of the present invention, in the time carrying out distributed transaction SQL (StructuredQueryLanguage, referred to as SQL) statement, can be written to database journal by SQL statement. relate to the distributed transaction of integration across database node, part is submitted to when successfully part is submitted to unsuccessfully, utilizes database journal can ensure to submit to the correctly rollback of successful data, ensures the strong consistency of data. the embodiment of the present invention is specially adapted to performance, data consistency to require high OLTP system, for example, and finance, security, e-commerce field.
Below in conjunction with accompanying drawing and embodiment, the present invention is further elaborated. Should be appreciated that specific embodiment described herein, only in order to explain the present invention, does not limit the present invention.
Embodiment of the method
According to embodiments of the invention, a kind of transaction methods of distributed data base system is provided, Fig. 1 is the flow chart of the transaction methods of the distributed data base system of the embodiment of the present invention, as shown in Figure 1, comprise following processing according to the transaction methods of the distributed data base system of the embodiment of the present invention:
Step 101, global transaction processing center server receives the transaction structure query language SQL statement that user submits to, and generates SQL syntax tree according to SQL statement; Specifically comprise following processing:
Step 1, global transaction processing center server receives the affairs SQL statement that user submits to;
Step 2, global transaction processing center server is formulated SQL syntax analyzer according to the application rule of SQL syntax rule and Based on Distributed, analyze affairs SQL statement by SQL syntax analyzer, generate SQL syntax tree, and according to the needed SQL statement of SQL syntax tree reconstruct, wherein, SQL syntax tree comprises SQL statement node and SQL statement running node, if be master slave relation between two SQL statement nodes, logical SQL statement running node connects two SQL statement nodes.
Step 102, global transaction processing center server traversal SQL syntax tree, according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of distributed data base system carries out tree; Specifically comprise following processing:
Global transaction processing center server is from root node degree of depth traversal SQL syntax tree, traversing after leaf node, start to carry out merger operation, can be placed on and in a SQL statement, be issued to the node of set membership and the node of brotherhood that database node carries out and be merged into an XM, in the time that present node cannot merge, present node is distributed and is issued on the XM of SQL execution tree, finally gather operation, the SQL that generation can be carried out at each database node of distributed data base system carries out tree.
In embodiments of the present invention, in the time generating the SQL execution tree that can carry out at each database node of distributed data base system, when the involved data of SQL statement on SQL execution tree are distributed in same database node, this SQL statement is designated and is directly issued to the execution of correspondence database node; In the time that SQL carries out the data that relate to of SQL statement on tree and is distributed in disparate databases node, this SQL statement is designated and need to gathers operation, and the sub-SQL statement that SQL statement is resolved into is designated and is directly issued to associated databases node and carries out;
Step 103, the global transaction mark GTID that the application of global transaction processing center server is corresponding with SQL execution tree, and travel through SQL execution tree, the SQL statement on the XM of SQL execution tree is issued on corresponding database node and is carried out, wherein, GTID is carried in SQL statement;
In step 103, the SQL statement on SQL execution tree is issued on corresponding database node and carries out and specifically comprise:
Step 1, in the time that SQL statement is designated the correspondence database node execution directly issuing, global transaction processing center server is directly issued to this SQL statement associated databases node and carries out;
Step 2, the sub-SQL statement resolving at SQL statement is designated and is directly issued to the execution of associated databases node, this SQL statement is designated need to gather operation time, global transaction processing center server is issued to the sub-SQL statement of this SQL statement after each database node execution, receives the execution result of each database node feedback and execution result is carried out to data and gather operation.
In step 103, the application of global transaction processing center server is carried out with SQL the global transaction mark GTID that tree is corresponding and is specifically comprised:
Step 1, global transaction processing center server lookup SQL carries out the GTID in the operating data of setting SQL statement on each XM;
Step 2, whether global transaction processing center server reads the GTID inquiring, and the active GTID list of current system of preserving in this GTID and global transaction processing center server is contrasted, judge with the corresponding operating data of the GTID reading active;
Step 3, global transaction processing center server is in the situation that definite operating data is active, judge that whether this transaction operation is overtime, or this time whether the number of retries of transaction operation exceeds the number of retries threshold value setting in advance, if overtime or exceed number of retries threshold value, carry out distributed rolling back action, if not overtime or do not exceed number of retries threshold value, return to execution step 1;
Step 4, global transaction processing center server, in the sluggish situation of decision operation data, is applied for a new GTID;
Step 5, global transaction processing center server stores the corresponding GTID of current active operating data in the active GTID list of current system into.
Step 6, in the time having other affairs application to the enlivening GTID in GTID list and carry out related data operation of current system, forbids that other affairs operate.
Step 104, global transaction processing center server receives execution result, carries out tree according to execution result traversal SQL, determine that SQL carries out that SQL statement on tree all runs succeeded and after, execution result is returned to user, and discharges GTID.
In embodiments of the present invention, in the time that each database node is carried out SQL statement, need in the implicit row of the operating data of the SQL statement of database node storage, store corresponding GTID, and the front and back value of the operating data of SQL statement is written to the database journal of each database node;
When the SQL statement of the technical scheme of the embodiment of the present invention on definite SQL execution tree all do not run succeeded, need to carry out distributed rolling back action, this distributed rolling back action specifically comprises following processing: the execution result that global transaction processing center server is submitted at partial database node is for carrying out SQL statement success, the execution result that partial database node is submitted to is to carry out in the situation of SQL statement failure, obtain the database journal of carrying out the successful database node of SQL statement, from database journal, obtain the front and back value of the successful SQL statement of executed and operating data by GTID, according to the reverse SQL statement of front and back value structure of the successful SQL statement of executed and operating data, the successful SQL statement of executed is carried out to rolling back action, successful executed SQL statement is rolled back to the state consistent with carrying out failed SQL statement.
Below in conjunction with accompanying drawing, the technique scheme of the embodiment of the present invention is elaborated.
Fig. 2 is the system architecture schematic diagram of the transaction methods of the distributed data base system of the embodiment of the present invention, as shown in Figure 2, mainly comprise: client modules 201, metadata cache module 202, syntax parsing module 203, SQL processing module 204, Executive Module 205, routing module 206, global transaction mark GTID module 207, database monitoring module 208 and distributed data base cluster 209.
Wherein, user submits affairs SQL statement etc. to by client modules 201 (comprising computer, mobile phone, browser etc.).
Metadata cache module 202, for the buffer memory of metadata, wherein, metadata comprises table definition information, the each node distributed intelligence of distributed data base, global transaction processing center server internal information. Metadata cache module 202 can be carried out renewal and the query manipulation of metadata. In the time of system metadata information-change, can synchronously upgrade the information that metadata cache module is preserved. Meanwhile, the query manipulation that metadata cache module receives other modules, returns to metadata information.
Syntax parsing module 203, is applicable to for distributed transaction SQL statement is built into the SQL syntax tree that unit is carried out. SQL syntax tree after syntax tree parsing module 203 is resolved the operation of affairs SQL statement. In SQL syntax tree, there are two category nodes: LEX node (SQL statement node), UNIT node (SQL statement running node). Wherein LEX node comprises the information such as table that SQL statement relates to, SQL statement, join operation, where operation, having operation, group operation, order operation. UNIT node is used for doing subquery, Union operation, Join operation etc.
If between two LEX if master slave relation needs between principal and subordinate LEX to connect by UNIT node. As subquery, Union operation, Join operation etc. Form the node of master slave relation, from host node degree of depth recurrence access child node. Between the node of same level, be brotherhood, can concurrent access carry out. As two nodes of Union operation. The root node of SQL syntax tree is UNIT node. Executive Module 205 can start recurrence access child node from root node, until all node is finished.
SQL processing module 204, the SQL that is applicable to Distributed database transaction operation for syntax parsing module parses SQL syntax tree is out transformed into carries out tree. Wherein, carry out the conversion process process of tree from SQL syntax tree to SQL as shown in Figure 3, on distributed transaction executive plan tree, have this several category nodes:
SQLNode, do not determine whether the SQL statement that can directly issue or can merge with the SQL statement of other nodes after the SQL statement that issues again, for example, select inquiry, insert, delete, update with and combination statement.
UnionNode, is the node that need to do union operation, and he returns to its father's node by data after the data of two and above child node need to having been done to union operation.
JoinNode, is the node that need to do left connection, right connection, outer attended operation, and he returns to its father's node after the data of two and above child node need to having been done to join operation.
Be transformed into SQL from SQL syntax tree and carry out tree, need to be from root node degree of depth traversal SQL syntax tree, traverse after leaf node, start to do merger operation, the principle of doing merger operation be the node of the SQL syntax tree of set membership can be placed on that a SQL is issued to that database carries out be merged into an XM, what the node of the SQL syntax tree of brotherhood can be placed on that a SQL is issued to that database carries out is merged into an XM. As present node cannot merge, present node must distribute and be issued to SQL execution, then does and gather operation.
For example, there is insertintotb1 (id, name) selectid, namefromtb2. After SQL syntax tree is resolved, should be first select take out insert operation again after data. By analysis, tb1, tb2 is distributed in same database node, can directly issue execution, and these two set membership nodes can merge. As the dotted line frame of the set membership merging of dotted line mark in Fig. 3.
For select*fromtb3tb4fromtb3, tb4. SQL syntax tree should be first to take out respectively tb3 after resolving, and after tb4 data, then does join operation. By analysis, tb3, tb4 is distributed in same database node, can directly issue execution, and these two brotherhood nodes can merge. As anti-in the dotted line that the brotherhood of dotted line mark in Fig. 4 merges.
Below in conjunction with Fig. 3, the process that generates SQL execution tree is described.
Step 1, Executive Module 205 reads the SQL syntax tree after syntax parsing module 203 is resolved.
Step 2, Executive Module 205 initializes interim stack, SQL carries out tree stack.
Step 3, Executive Module 205 reads SQL syntax tree root element, is incorporated to interim stack.
Step 4, repeats following operation, until interim stack is empty.
Step 41, reads interim stack top element, if stack top element is non-leaf node element, interim stack top element is taken out, and converts the Master-Slaver structure of SQL statement itself to. Wherein Slaver may be multiple, between multiple Slaver, is brotherhood. By Master and Slaver element, enter in order interim stack.
Step 42, if interim stack top element is directly to arrive the SQL statement that database is carried out, repeats 42 operation:
Step 421, reads SQL and carries out tree stack top element. If stack top element is empty, interim stack top element enters SQL execution tree stack. Exiting step 42 operates.
Step 422, if SQL carries out tree, stack top element is 1 element. Judge that interim stack top element and SQL carry out tree stack top element and whether can merge, if can merge, take out after SQL execution tree stack top element and interim stack top element merge and enter SQL execution tree stack.
Step 423, comprises more than 2 or 2 element if carry out stack top. Read to carry out SQL and carry out tree stack top element, judge whether to merge. If cannot merge, interim stack top element is carried out to tree stack directly into SQL, exit step 42. If can merge, take out SQL and carry out tree stack top element, and interim stack top element and SQL execution tree stack top element are merged into an element, as interim stack top element, repeating step 42.
Executive Module 205, for starting recurrence execution SQL statement from SQL execution root vertex, (recurrence described herein is carried out SQL statement and not really SQL statement is carried out, mainly to obtain SQL statement, carrying out SQL statement is undertaken by database node), and SQL statement is handed down to routing module 206. Executive Module 205 can apply for as required and discharge GTID, and meanwhile, Executive Module 205, in the time that operation SQL carries out the XM on tree, can sort, the operation such as grouping, join as required.
Routing module 206, for the SQL statement that Executive Module 205 is issued, selects suitable database connection to issue SQL statement and goes to carry out to database node, and operating result is returned to Executive Module 205.
GTID module 207, for operations such as the application of GTID, release, inquiries. GTID module 207 can be preserved the current GTID list in active transaction operation data. The operating data of preserving in distributed data base system all increases implicit row, deposits GTID, while relating to distributed transaction operation more when new data, and can the synchronous implicit row GTID that upgrades data. GTID of each transaction operation application, can upgrade the GTID applying for or be inserted in the implicit row of data when transaction operation, and the GTID that is carrying out distributed transaction operation in meeting real-time update current system. Relating to distributed transaction when operation, can first check that whether operating data is active, whether the GTID that checks exactly operating data in other affairs, when in other transaction operations, can not carry out transaction operation. In the time starting the distributed transaction operation of an integration across database node, can apply for GTID; In the time that transaction operation finishes, can discharge GTID.
Database monitoring module 208, for each database positioning of monitoring distributed data-base cluster, does simultaneously and has submitted transaction rollback operation to.
Distributed data base cluster module 209 is distributed data base clusters of multiple node compositions. Wherein in each DBGroup, having database host, database standby host, can be the database node being distributed in physically on different location between DBGroup, a distributed data base cluster of multiple DBGroup composition. In the time that transaction operation relates to different database nodes, just need to carry out distributed transaction operation and control, make affairs SQL statement, in the time that multiple nodes are carried out, or all run succeeded, or all carry out unsuccessfully, ensure data consistency. When occurring that part runs succeeded, when carrying out unsuccessfully, part just need to ensure that data rewind is to coherency state by distributed transaction rolling back action.
Unit transaction rollback is ensured by database oneself, what Distributed database transaction rollback solved is the transaction operation of integration across database node, cause part of nodes to be submitted to successfully, and part of nodes is submitted failed situation to, need to will submit to successful node to carry out rolling back action, ensure data consistency. Distributed database transaction operation meeting is taking affairs as the daily record of records data in units storehouse, comprises inquiry, newly-increased, renewal, deletion action. In conjunction with Fig. 4, describe and submitted distributed transaction rolling back action flow process to.
Step 401, Executive Module 205 is initiated rolling back action, and traversal is carried out SOL and is carried out the node of tree, issues rollback order to issuing the nodal operation of execution.
Step 402, Executive Module 205 judges whether affairs have submitted to database to run succeeded. If do not submitted to successfully, enter step 403, otherwise enter step 404, enter and submit transaction rollback operating process to.
Step 403, directly initiates rolling back action. This step is not submitted successful operation to for affairs, is ensured not submit to the rollback of affairs by database, ensures data consistency.
Step 404, the database journal of inspection database node. When the each node of database carries out transaction operation, can database of record daily record, the front and back value of the operating data of amendment is all recorded to the active and standby purposes such as copy that is used for carrying out database node. Database monitoring module 208 is utilized database journal, finds the transaction block in daily record by GTID and time point, and then finds out SQL statement that transaction operation is corresponding and the front and back value of operating data.
Step 405, after the SQL statement that database monitoring module 208 finds according to GTID and time point and the front and back value of operating data, needs the further reverse SQL statement of structure. After building reverse SQL statement, database monitoring module 208 directly issues reverse SQL statement and carries out.
For example, for insert statement, need in the time of insert, give GTID by the implicit row in list, according to the reverse SQL statement of GTID direct construction delete.
For update statement, need in update statement, add the assignment again to GTID, according to the front and back value of GTID and update operating data, build the reverse SQL statement of update.
For delete statement, because delete statement cannot carry GTID information, therefore affairs are iff only comprising delete statement, directly rollback. For this situation, add the update operation of auxiliary SQL, find SQL statement piece by the GTID of auxiliary update statement, build the reverse SQL statement of insert. Transaction packet for delete statement operates containing other, can find statement block by GTID, the reverse SQL statement of direct construction insert.
For select statement, do not relate to data manipulation, without carrying out reverse SQL statement.
Step 406, Executive Module 205 judges that the rolling back action of each database node is no and is finished. If be not finished, enter step 401, continue recurrence and carry out rolling back action. If be finished, end operation, Executive Module 205 returns to operating result to client modules 201.
Can find out from processing above, in embodiments of the present invention, the client modules 201 of global transaction processing center server receives the affairs SQL statement that user submits to; The SQL statement that the syntax parsing module 203 of global transaction processing center server is submitted to according to user generates SQL syntax tree; The SQL processing module 204 of global transaction processing center server travels through SQL syntax tree, and in conjunction with distributed data distribution situation, the SQL that generation can be carried out at distributed each database node carries out tree; The Executive Module 205 of global transaction processing center server travels through SQL and carries out tree, and as required from the GTID module application GTID of global transaction processing center server, and the SQL statement that SQL is carried out on tree is issued to routing module 206; Routing module 206 is issued to SQL statement on database and carries out, and execution result is returned to the Executive Module 205 of global transaction processing center server; Executive Module 205 is carried out tree according to the result traversal of returning, and after traversal, result is returned to the client modules 201 of global transaction processing center server, and notifies GTID module to discharge GTID; Operating result is returned to user by client modules 201, so far completes distributed transaction operation.
The concrete steps of the affairs SQL statement processing that further, global transaction processing center server reception client modules 201 is submitted to are:
Global transaction processing center server receives the affairs SQL statement that client modules 201 is submitted to, and the SQL statement that the syntax parsing module 203 of global transaction processing center server is submitted client modules 201 to resolves to syntax tree. The goal task of syntax parsing is to formulate SQL syntax analyzer according to the application rule of SQL syntax rule and Based on Distributed, and he can analyze the SQL statement generative grammar semantic tree of input and according to the needed SQL statement of parsing tree reconstruct.
The syntax tree being generated by syntax parsing module 203 can only be carried out in single-node data storehouse, cannot in distributed data base, carry out. The SQL processing module 204 of global transaction processing center server travels through SQL syntax tree, generates the SQL that is adapted at carrying out in distributed data base and carries out tree. SQL processing module 204 is in the time that traversal SQL syntax tree generates SQL execution tree, the operating data relating to for SQL statement is all distributed in same database node, and can directly be issued to that database node carries out, this SQL statement is designated to the correspondence database that can directly issue and carry out; When the data that relate to for SQL statement are distributed in different database nodes, SQL statement being resolved into sub-SQL statement is issued to after each node database execution, again operating result data are passed to Executive Module 205, by Executive Module 205, data are gathered, this SQL statement is designated to do and gathers operation, sub-SQL statement is designated and can be directly issued to database and directly carries out, for example, and Union operation, Join operation etc. The SQL generating according to SQL syntax tree carries out the each XM on tree or is to be directly issued to the SQL statement that database is carried out, or is to do the XM that gathers operation at node.
SQL processing module 204 generates after the SQL execution tree that is applicable to distributed data base, and Executive Module 205 is according to affairs SQL needs, to the GTID of GTID module 207 these affairs of application SQL. The SQL statement that GTID relates to for affairs need to be in the time that different database nodes be carried out, ensures or all operations were success, or all operations were failure. Executive Module 205 starts degree of depth recurrence traversal executive plan tree from root node, and the SQL statement of XM is handed down to routing module 206.
When routing module 206 receives the SQL statement that Executive Module 205 submits, the data distribution situation relating to according to SQL statement, selects a suitable database to connect and issues SQL statement, and wait for that database returns to execution result.
Executive Module 205 receives after the operating result or data that routing module 206 returns, and does further operation, as sequence, merging, duplicate removal etc. Be not finished if SQL carries out tree, continue recurrence and carry out the XM on SQL execution tree. After Executive Module 205SQL execution tree recurrence is finished, send the GTID request that discharges, release GTID to GTID module 207. Transaction operation result is returned to client by Executive Module 205.
Fig. 5 is the flow chart of the detailed processing of the transaction methods of the distributed data base system of the embodiment of the present invention, as shown in Figure 5, specifically comprises following processing:
Step 501, client modules 201 issues affairs SQL statement.
Step 502, the SQL statement that syntax parsing module 203 issues client modules 201 resolves to SQL syntax tree. Syntax parsing module 203 can be analyzed the SQL statement of input, generative grammar semantic tree and according to the needed SQL statement of grammatical and semantic tree reconstruct. Wherein the generative process of SQL syntax tree is shown in that Fig. 3 describes.
Step 503, the SQL syntax tree being generated by syntax parsing module 203 can only be carried out in single-node data storehouse, cannot in distributed data base, carry out. The SQL processing module 204 of global transaction processing center server travels through SQL syntax tree, generates the SQL that is adapted at carrying out in distributed data base and carries out tree. SQL processing module 204 is in the time that traversal SQL syntax tree generates SQL execution tree, the data that relate to for SQL statement are all distributed in same database node, and can directly be issued to that database node carries out, this SQL statement is designated the correspondence database node that can directly issue and carries out; When the data that relate to for the SQL statement relating to are distributed in different database nodes, SQL statement being resolved into sub-SQL statement is issued to after each database node execution, again data are passed to Executive Module 205, by Executive Module 205, data are gathered, this SQL statement is designated to do and gathers operation, sub-SQL statement is designated and can be directly issued to database node and directly carries out, for example, and Union operation, Join operation etc. The SQL generating according to SQL syntax tree carries out the each XM on tree or is to be directly issued to the SQL statement that database is carried out, or is to do the XM that gathers operation at node. Generate SQL carry out set and travels through execution process as shown in Figure 3.
Step 504, Executive Module 205 is inquired about the GTID of the operating data of each node;
Step 505, the operating data reading may be in other distributed transaction operations, the active GTID list of current system that Executive Module 205 need to be preserved the GTID reading and GTID module 207 contrasts, and judges that whether the GTID of operating data of these affairs is active. If operating data is active state, enters step 506, otherwise enter step 507.
Step 506, Executive Module 205 judges that whether transaction operation is overtime, or whether number of retries exceeds the number of retries of execution, if overtime or exceed number of retries, Executive Module 205 enters step 511, carry out distributed transaction rolling back action, otherwise reenter 504, data query also locks to data.
Step 507, the data of Executive Module 205 present decision operation, all in non-active state, can be carried out transaction operation, now apply for a new GTID to GTID module 207.
Step 508, Executive Module 205 can be from root node, and the operation of each node is set in recursive operation executive plan. SQL carries out the each XM on tree, can be SQL statement, Union operation, Merger operation, the Join operation directly issuing, also can be the running node that need to further resolve into set membership, the execution of its father's node depends on the execution of child node.
Step 509, the SQL statement that SQL is carried out the XM on tree by Executive Module 205 is handed down to routing module 206, and routing module 206 is selected suitable database to connect and is carried out SQL statement. The SQL statement that each needs issue can indicate the database node that need to issue, and routing module 206 selects suitable module to issue SQL statement according to this.
Step 510, whether the SQL statement that routing module 206 judgements are issued to each node runs succeeded, if carried out unsuccessfully, enters step 511, carries out distributed rolling back action; Otherwise, enter step 512.
Step 511, Executive Module 205 carries out distributed rolling back action, and wherein, distributed rolling back action is processed as shown in Figure 5 in detail.
Step 512, result is returned to the corresponding operating node on executive plan tree by routing module 206, does further operation by Executive Module 205.
Step 513, Executive Module 205 recurrence are carried out, and judge whether the running node that SQL carries out on tree is finished. If be finished, enter step 514, set each running node otherwise enter 508 recurrence executive plans.
Step 514, Executive Module 205 sends to GTID module 207 the GTID request that discharges.
Step 515, operating result is returned to client modules 201 by Executive Module 205.
In above-mentioned processing, in the time that other affairs operate, need to judge that whether GTID is active, if GTID has enlivened, illustrate that other affairs operate, can automatically forbid that other affairs operate.
In sum, the technical scheme of the embodiment of the present invention is different from two phase commit transaction distributed affairs methods, the technical scheme of the embodiment of the present invention is in the time relating to the transaction operation of distributed multinode database, all need to apply for a GTID, even affairs are distributed on different nodes by GTID, also can ensure operation or all successes that affairs are implemented, or all failures. On the one hand, when relating to distributed transaction, database journal is all write in all SQL statements operations, can ensure in the situation that software, hardware break down, and also can carry out rolling back action by database journal, ensures the strong consistency of data. On the other hand, because the distributed transaction method based on GTID is only when the data writing operation, adds and write lock in related data, make the granularity of lock less, ensure the concurrency of system. The technical scheme of the embodiment of the present invention is specially adapted to finance, ecommerce, security etc. and requires high concurrency, needs again to ensure the occasion of strong data consistency simultaneously.
System embodiment
According to embodiments of the invention, a kind of transacter of distributed data base system is provided, Fig. 6 is the structural representation of the transacter of the distributed data base system of the embodiment of the present invention, as shown in Figure 6, comprise according to the transacter of the distributed data base system of the embodiment of the present invention: client modules 601 (corresponding to the client modules 201 shown in Fig. 2), syntax parsing module 602 (corresponding to the syntax parsing module 203 shown in Fig. 2), SQL processing module 603 (corresponding to the SQL processing module 204 shown in Fig. 2), global transaction identification module 604 (corresponding to the GTID module 207 shown in Fig. 2), Executive Module 605 (corresponding to the Executive Module 205 shown in Fig. 2), and routing module 606 (corresponding to the routing module 206 shown in Fig. 2), below the modules of the embodiment of the present invention is described in detail.
Client modules 601, the transaction structure query language SQL statement of submitting to for receiving user
Syntax parsing module 602, for generating SQL syntax tree according to SQL statement; Syntax parsing module 602 specifically for:
Formulate SQL syntax analyzer according to the application rule of SQL syntax rule and Based on Distributed, analyze affairs SQL statement by SQL syntax analyzer, generate SQL syntax tree, and according to the needed SQL statement of SQL syntax tree reconstruct, wherein, SQL syntax tree comprises SQL statement node and SQL statement running node, if be master slave relation between two SQL statement nodes, logical SQL statement running node connects two SQL statement nodes.
SQL processing module 603, for traveling through SQL syntax tree, according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of distributed data base system carries out tree; SQL processing module 603 specifically for:
From root node degree of depth traversal SQL syntax tree, traversing after leaf node, start to carry out merger operation, can be placed on and in a SQL statement, be issued to the node of set membership and the node of brotherhood that database node carries out and be merged into an XM, in the time that present node cannot merge, present node is distributed and is issued on the XM of SQL execution tree, finally gather operation, the SQL that generation can be carried out at each database node of distributed data base system carries out tree.
Preferably, SQL processing module 603 is further used for: in the time generating the SQL execution tree that can carry out at each database node of distributed data base system, when the data that SQL statement on SQL execution tree relates to are all distributed in same database node, this SQL statement is designated and is directly issued to the execution of correspondence database node; In the time that SQL carries out the data that relate to of SQL statement on tree and is distributed in disparate databases node, this SQL statement is designated and need to gathers operation, and the sub-SQL statement that SQL statement is resolved into is designated and is directly issued to associated databases node and carries out;
Global transaction identification module 604, carries out with SQL the global transaction mark GTID that tree is corresponding for applying for, wherein, GTID is carried at SQL and carries out in the SQL statement on the XM of setting;
Executive Module 605, carries out tree for traveling through SQL, and the SQL statement that SQL is carried out on the XM of setting issues routing module 606;
Executive Module 605 is further used for: receive execution result, according to execution result traversal, SQL carries out tree, determine that SQL carries out that SQL statement on tree all runs succeeded and after, execution result is returned to user, and controls global transaction identification module 604 and discharge GTID.
Executive Module 605 is further used for: successful for carrying out SQL statement for the execution result of submitting at partial database node, the execution result that partial database node is submitted to is to carry out in the situation of SQL statement failure, obtain the database journal of carrying out the successful database node of SQL statement, from database journal, obtain the front and back value of the successful SQL statement of executed and operating data by GTID, according to the reverse SQL statement of front and back value structure of the successful SQL statement of executed and operating data, the successful SQL statement of executed is carried out to rolling back action, successful executed SQL statement is rolled back to the state consistent with carrying out failed SQL statement.
Routing module 606, is issued on corresponding database node and carries out for the SQL statement that Executive Module 605 is issued, and execution result is fed back to Executive Module 605;
Routing module 606 specifically for: in the time that SQL statement is designated the correspondence database node that directly issues and carries out, directly this SQL statement is issued to associated databases node and carries out; The sub-SQL statement resolving at SQL statement is designated and is directly issued to the execution of associated databases node, this SQL statement is designated need to gather operation time, the sub-SQL statement of this SQL statement is issued to after each database node execution, the execution result of the each database node feedback receiving is sent to Executive Module 605;
Executive Module 605 is further used for: execution result is carried out to data and gather operation.
Executive Module 605 specifically comprises:
The submodule that locks, carries out the GTID of the operating data of SQL statement on the each XM of tree for inquiring about described SQL; In the time having other affairs application to the enlivening GTID in GTID list and carry out related data operation of current system, forbid that other affairs operate;
Judge submodule, for reading the GTID inquiring, the active GTID list of current system of preserving in this GTID and global transaction processing center server is contrasted, whether actively judge with the corresponding operating data of the GTID reading;
Process submodule, for in the situation that definite operating data is active, judge that whether this transaction operation is overtime, or this time whether the number of retries of transaction operation exceeds the number of retries threshold value setting in advance, if overtime or exceed number of retries threshold value, carry out distributed rolling back action, if not overtime or do not exceed number of retries threshold value, call the submodule that locks; In the sluggish situation of decision operation data, control global transaction identification module 604 and apply for a new GTID, and the corresponding GTID of current active operating data is stored in the active GTID list of current system.
The corresponding description of the processing processing of the modules of the embodiment of the present invention in can reference method embodiment understood, and do not repeat them here.
In sum, the technical scheme of the embodiment of the present invention is different from two phase commit transaction distributed affairs methods, the technical scheme of the embodiment of the present invention is in the time relating to the transaction operation of distributed multinode database, all need to apply for a GTID, even affairs are distributed on different nodes by GTID, also can ensure operation or all successes that affairs are implemented, or all failures. On the one hand, when relating to distributed transaction, database journal is all write in all SQL statements operations, can ensure in the situation that software, hardware break down, and also can carry out rolling back action by database journal, ensures the strong consistency of data. On the other hand, because the distributed transaction method based on GTID is only when the data writing operation, adds and write lock in related data, make the granularity of lock less, ensure the concurrency of system. The technical scheme of the embodiment of the present invention is specially adapted to finance, ecommerce, security etc. and requires high concurrency, needs again to ensure the occasion of strong data consistency simultaneously.
Obviously, those skilled in the art can carry out various changes and modification and not depart from the spirit and scope of the present invention the present invention. Like this, if these amendments of the present invention and within modification belongs to the scope of the claims in the present invention and equivalent technologies thereof, the present invention is also intended to comprise these changes and modification interior.
The algorithm providing at this is intrinsic not relevant to any certain computer, virtual system or miscellaneous equipment with demonstration. Various general-purpose systems also can with based on using together with this teaching. According to description above, it is apparent constructing the desired structure of this type systematic. In addition, the present invention is not also for any certain programmed language. It should be understood that and can utilize various programming languages to realize content of the present invention described here, and the description of above language-specific being done is in order to disclose preferred forms of the present invention.
In the description that provided herein, a large amount of details are described. But, can understand, embodiments of the invention can be put into practice in the situation that there is no these details. In some instances, be not shown specifically known method, structure and technology, so that not fuzzy understanding of this description.
Similarly, be to be understood that, in order to simplify the disclosure and to help to understand one or more in each inventive aspect, in the above in the description of exemplary embodiment of the present invention, each feature of the present invention is grouped together into single embodiment, figure or sometimes in its description. But, the method for the disclosure should be construed to the following intention of reflection: the present invention for required protection requires than the more feature of feature of clearly recording in each claim. Or rather, as reflected in claims below, inventive aspect is to be less than all features of disclosed single embodiment above. Therefore, claims of following detailed description of the invention are incorporated to this detailed description of the invention thus clearly, and wherein each claim itself is as independent embodiment of the present invention.
Those skilled in the art are appreciated that and can the module in the client in embodiment are adaptively changed and they are arranged in one or more clients different from this embodiment. Module in embodiment can be combined into a module, and can put them in addition multiple submodules or subelement or sub-component. At least some in such feature and/or process or unit are mutually repelling, and can adopt any combination to combine all processes or the unit of disclosed all features in this description (comprising claim, summary and the accompanying drawing followed) and disclosed any method like this or client. Unless clearly statement in addition, in this description (comprising claim, summary and the accompanying drawing followed) disclosed each feature can be by providing identical, be equal to or the alternative features of similar object replaces.
In addition, those skilled in the art can understand, although embodiment more described herein comprise some feature instead of further feature included in other embodiment, the combination of the feature of different embodiment means within scope of the present invention and forms different embodiment. For example, in the following claims, the one of any of embodiment required for protection can be used with combination arbitrarily.
All parts embodiment of the present invention can realize with hardware, or realizes with the software module of moving on one or more processor, or realizes with their combination. It will be understood by those of skill in the art that and can use in practice microprocessor or digital signal processor (DSP) to realize according to the some or all functions of the some or all parts in the client that is loaded with sequence network address of the embodiment of the present invention. The present invention can also be embodied as part or all equipment or the device program (for example, computer program and computer program) for carrying out method as described herein. Realizing program of the present invention and can be stored on computer-readable medium like this, or can there is the form of one or more signal. Such signal can be downloaded and obtain from internet website, or provides on carrier signal, or provides with any other form.
It should be noted above-described embodiment the present invention will be described instead of limit the invention, and those skilled in the art can design alternative embodiment in the case of not departing from the scope of claims. In the claims, any reference symbol between bracket should be configured to limitations on claims. Word " comprises " not to be got rid of existence and is not listed as element or step in the claims. Being positioned at word " " before element or " one " does not get rid of and has multiple such elements. The present invention can be by means of including the hardware of some different elements and realizing by means of the computer of suitably programming. In the unit claim of having enumerated some devices, several in these devices can be to carry out imbody by same hardware branch. The use of word first, second and C grade does not represent any order. Can be title by these word explanations.

Claims (12)

1. a transaction methods for distributed data base system, is characterized in that, comprising:
Global transaction processing center server receives the transaction structure query language SQL statement that user submits to, and generates SQL syntax tree according to described SQL statement;
Described global transaction processing center server travels through described SQL syntax tree, and according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of described distributed data base system carries out tree;
The application of described global transaction processing center server carries out with described SQL the global transaction mark GTID that tree is corresponding, and travel through described SQL and carry out tree, SQL statement on the XM of described SQL execution tree is issued on corresponding database node and is carried out, wherein, described GTID is carried in described SQL statement;
Described global transaction processing center server receives execution result, travel through described SQL according to described execution result and carry out tree, determine that SQL carries out that SQL statement on tree all runs succeeded and after, described execution result is returned to user, and discharges described GTID.
2. the method for claim 1, it is characterized in that, in the time that each database node is carried out described SQL statement, in the implicit row of the operating data of the SQL statement of described database node storage, store corresponding GTID, and the front and back value of the operating data of SQL statement is written to the database journal of each database node;
Described method further comprises distributed rolling back action: the execution result that described global transaction processing center server is submitted at partial database node is for carrying out SQL statement success, the execution result that partial database node is submitted to is to carry out in the situation of SQL statement failure, obtain the database journal of carrying out the successful database node of SQL statement, from described database journal, obtain the front and back value of the successful SQL statement of executed and operating data by described GTID, according to the reverse SQL statement of front and back value structure of the successful SQL statement of executed and operating data, the successful SQL statement of executed is carried out to rolling back action, successful executed SQL statement is rolled back to the state consistent with carrying out failed SQL statement.
3. the method for claim 1, is characterized in that, global transaction processing center server receives the transaction structure query language SQL statement that user submits to, and specifically comprises according to described SQL statement generation SQL syntax tree:
Described global transaction processing center server receives the affairs SQL statement that user submits to;
Described global transaction processing center server is formulated SQL syntax analyzer according to the application rule of SQL syntax rule and Based on Distributed, analyze described affairs SQL statement by described SQL syntax analyzer, generate SQL syntax tree, and according to the needed SQL statement of described SQL syntax tree reconstruct, wherein, described SQL syntax tree comprises SQL statement node and SQL statement running node, if be master slave relation between two SQL statement nodes, logical SQL statement running node connects two SQL statement nodes.
4. the method for claim 1, it is characterized in that, described global transaction processing center server travels through described SQL syntax tree, and according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of described distributed data base system carries out tree and specifically comprises:
Described global transaction processing center server travels through described SQL syntax tree from the root node degree of depth, traversing after leaf node, start to carry out merger operation, can be placed on and in a SQL statement, be issued to the node of set membership and the node of brotherhood that database node carries out and be merged into an XM, in the time that present node cannot merge, present node is distributed and is issued on the XM of SQL execution tree, finally gather operation, the SQL that generation can be carried out at each database node of described distributed data base system carries out tree.
5. the method for claim 1, is characterized in that,
In the time generating the SQL execution tree that can carry out at each database node of described distributed data base system, described method further comprises:
When the involved data of SQL statement on described SQL execution tree are distributed in same database node, this SQL statement is designated and is directly issued to the execution of correspondence database node; When the data that SQL statement on described SQL execution tree relates to are distributed in disparate databases node, this SQL statement is designated and need to gathers operation, and the sub-SQL statement that described SQL statement is resolved into be designated be directly issued to associated databases node carry out;
SQL statement on described SQL execution tree is issued on corresponding database node and carries out and specifically comprise:
In the time that SQL statement is designated the correspondence database node execution directly issuing, described global transaction processing center server is directly issued to this SQL statement associated databases node and carries out;
The sub-SQL statement resolving at SQL statement is designated and is directly issued to the execution of associated databases node, this SQL statement is designated need to gather operation time, described global transaction processing center server is issued to the sub-SQL statement of this SQL statement after each database node execution, receives the execution result of each database node feedback and described execution result is carried out to data and gather operation.
6. the method for claim 1, is characterized in that, the application of described global transaction processing center server is carried out with described SQL the global transaction mark GTID that tree is corresponding and specifically comprised:
Step 1, SQL carries out the GTID in the operating data of SQL statement on the each XM of tree described in the server lookup of described global transaction processing center;
Step 2, described global transaction processing center server reads the described GTID inquiring, the active GTID list of current system of preserving in this GTID and described global transaction processing center server is contrasted, whether actively judge with the corresponding operating data of the GTID reading;
Step 3, described global transaction processing center server is in the situation that definite operating data is active, judge that whether this transaction operation is overtime, or this time whether the number of retries of transaction operation exceeds the number of retries threshold value setting in advance, if overtime or exceed number of retries threshold value, carry out distributed rolling back action, if not overtime or do not exceed number of retries threshold value, return to execution step 1;
Step 4, described global transaction processing center server, in the sluggish situation of decision operation data, is applied for a new GTID;
Step 5, described global transaction processing center server stores the corresponding GTID of current active operating data in the active GTID list of described current system into;
Step 6, in the time having other affairs application to the enlivening GTID in GTID list and carry out related data operation of current system, forbids that other affairs operate.
7. a transacter for distributed data base system, is characterized in that, comprising:
Client modules, the transaction structure query language SQL statement of submitting to for receiving user
Syntax parsing module, for generating SQL syntax tree according to described SQL statement;
SQL processing module, for traveling through described SQL syntax tree, according to the distribution situation of distributed data base system, the SQL that generation can be carried out at each database node of described distributed data base system carries out tree;
Global transaction identification module, carries out with described SQL the global transaction mark GTID that tree is corresponding for applying for, wherein, described GTID is carried at described SQL and carries out in the SQL statement on the XM of setting;
Executive Module, carries out tree for traveling through described SQL, and the SQL statement that described SQL is carried out on the XM of setting issues routing module;
Described routing module, is issued on corresponding database node and carries out for the SQL statement that described Executive Module is issued, and execution result is fed back to described Executive Module;
Described Executive Module is further used for: receive execution result, travel through described SQL according to described execution result and carry out tree, determine SQL carry out tree on SQL statement all run succeeded and after, described execution result is returned to user, and control described global transaction identification module and discharge described GTID.
8. device as claimed in claim 7, is characterized in that, described Executive Module is further used for:
The execution result of submitting at partial database node is for carrying out SQL statement success, the execution result that partial database node is submitted to is to carry out in the situation of SQL statement failure, obtain the database journal of carrying out the successful database node of SQL statement, from described database journal, obtain the front and back value of the successful SQL statement of executed and operating data by described GTID, according to the reverse SQL statement of front and back value structure of the successful SQL statement of executed and operating data, the successful SQL statement of executed is carried out to rolling back action, successful executed SQL statement is rolled back to the state consistent with carrying out failed SQL statement.
9. device as claimed in claim 7, is characterized in that, described syntax parsing module specifically for:
Formulate SQL syntax analyzer according to the application rule of SQL syntax rule and Based on Distributed, analyze described affairs SQL statement by described SQL syntax analyzer, generate SQL syntax tree, and according to the needed SQL statement of described SQL syntax tree reconstruct, wherein, described SQL syntax tree comprises SQL statement node and SQL statement running node, if be master slave relation between two SQL statement nodes, logical SQL statement running node connects two SQL statement nodes.
10. device as claimed in claim 7, is characterized in that, described SQL processing module specifically for:
Travel through described SQL syntax tree from the root node degree of depth, traversing after leaf node, start to carry out merger operation, can be placed on and in a SQL statement, be issued to the node of set membership and the node of brotherhood that database node carries out and be merged into an XM, in the time that present node cannot merge, present node is distributed and is issued on the XM of SQL execution tree, finally gather operation, the SQL that generation can be carried out at each database node of described distributed data base system carries out tree.
11. devices as claimed in claim 7, is characterized in that,
Described SQL processing module is further used for:
In the time generating the SQL execution tree that can carry out at each database node of described distributed data base system, when the data that SQL statement on described SQL execution tree relates to are all distributed in same database node, this SQL statement is designated and is directly issued to the execution of correspondence database node; When the data that SQL statement on described SQL execution tree relates to are distributed in disparate databases node, this SQL statement is designated and need to gathers operation, and the sub-SQL statement that described SQL statement is resolved into be designated be directly issued to associated databases node carry out;
Described routing module specifically for: in the time that SQL statement is designated the correspondence database node that directly issues and carries out, directly this SQL statement is issued to associated databases node and carries out; The sub-SQL statement resolving at SQL statement is designated and is directly issued to the execution of associated databases node, this SQL statement is designated need to gather operation time, the sub-SQL statement of this SQL statement is issued to after each database node execution, the execution result of the each database node feedback receiving is sent to described Executive Module;
Described Executive Module is further used for: described execution result is carried out to data and gather operation.
12. devices as claimed in claim 7, is characterized in that, described Executive Module specifically comprises:
The submodule that locks, carries out the GTID of the operating data of SQL statement on the each XM of tree for inquiring about described SQL; In the time having other affairs application to the enlivening GTID in GTID list and carry out related data operation of current system, forbid that other affairs operate;
Judge submodule, for reading the described GTID inquiring, the active GTID list of current system of preserving in this GTID and described global transaction processing center server is contrasted, whether actively judge with the corresponding operating data of the GTID reading;
Process submodule, for in the situation that definite operating data is active, judge that whether this transaction operation is overtime, or this time whether the number of retries of transaction operation exceeds the number of retries threshold value setting in advance, if overtime or exceed number of retries threshold value, carry out distributed rolling back action, if not overtime or do not exceed number of retries threshold value, submodule locks described in calling; In the sluggish situation of decision operation data, control new GTID of described global transaction identification module application, and the corresponding GTID of current active operating data is stored in the active GTID list of described current system.
CN201410654868.3A 2014-11-17 2014-11-17 Transaction processing method and device for distributed database system Active CN105608086B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410654868.3A CN105608086B (en) 2014-11-17 2014-11-17 Transaction processing method and device for distributed database system
PCT/CN2015/083399 WO2016078423A1 (en) 2014-11-17 2015-07-06 Transaction processing method and apparatus for distributed database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410654868.3A CN105608086B (en) 2014-11-17 2014-11-17 Transaction processing method and device for distributed database system

Publications (2)

Publication Number Publication Date
CN105608086A true CN105608086A (en) 2016-05-25
CN105608086B CN105608086B (en) 2021-07-27

Family

ID=55988029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410654868.3A Active CN105608086B (en) 2014-11-17 2014-11-17 Transaction processing method and device for distributed database system

Country Status (2)

Country Link
CN (1) CN105608086B (en)
WO (1) WO2016078423A1 (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909467A (en) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 A kind of distributed transaction processing method based on micro services framework
CN107015885A (en) * 2016-07-12 2017-08-04 阿里巴巴集团控股有限公司 Service providing method, system and configuration center when primary standby data storehouse switches
WO2018010501A1 (en) * 2016-07-13 2018-01-18 中兴通讯股份有限公司 Global transaction identifier (gtid) synchronization method, apparatus and system, and storage medium
CN107644025A (en) * 2016-07-20 2018-01-30 阿里巴巴集团控股有限公司 The distribution method and device of the WAL records of distributed data base
CN107644073A (en) * 2017-09-18 2018-01-30 广东中标数据科技股份有限公司 A kind of field consanguinity analysis method, system and device based on depth-first traversal
WO2018068703A1 (en) * 2016-10-13 2018-04-19 Huawei Technologies Co., Ltd. Decentralized distributed database consistency
WO2018077073A1 (en) * 2016-10-24 2018-05-03 腾讯科技(深圳)有限公司 Distributed database system, transaction processing method, lock server and storage medium
CN108829876A (en) * 2018-06-26 2018-11-16 山东汇贸电子口岸有限公司 The solution and device that the pl/sql client request time-out of Oracle does not respond
CN109033248A (en) * 2018-07-05 2018-12-18 华为技术有限公司 The method and apparatus of storing data record, the method and apparatus for inquiring data record
CN109522098A (en) * 2018-11-28 2019-03-26 星环信息科技(上海)有限公司 Transaction methods, device, system and storage medium in distributed data base
CN109710388A (en) * 2019-01-09 2019-05-03 腾讯科技(深圳)有限公司 Method for reading data, device, electronic equipment and storage medium
CN109933412A (en) * 2019-01-28 2019-06-25 武汉慧联无限科技有限公司 Distributed transaction processing method based on distributed message middleware
CN110232057A (en) * 2019-05-29 2019-09-13 掌阅科技股份有限公司 Data rewind method, electronic equipment, storage medium
CN110427427A (en) * 2019-08-02 2019-11-08 北京快立方科技有限公司 A kind of bridged by pin realizes global transaction distributed approach
CN110569257A (en) * 2019-09-16 2019-12-13 上海达梦数据库有限公司 data processing method, corresponding device, equipment and storage medium
CN110688532A (en) * 2019-09-03 2020-01-14 视联动力信息技术股份有限公司 Transaction management method and device
CN110851534A (en) * 2019-11-15 2020-02-28 上海达梦数据库有限公司 Data processing method, system and storage medium
CN111190768A (en) * 2019-12-25 2020-05-22 中科驭数(北京)科技有限公司 Database execution error recovery method, database access method and device
CN111352704A (en) * 2018-12-21 2020-06-30 叶常青 Distributed global transaction processing system and method based on policy management
CN111581534A (en) * 2020-05-22 2020-08-25 哈尔滨工程大学 Rumor propagation tree structure optimization method based on consistency of vertical place
CN111625552A (en) * 2020-05-20 2020-09-04 北京百度网讯科技有限公司 Data collection method, device, equipment and readable storage medium
CN111666321A (en) * 2019-03-05 2020-09-15 百度在线网络技术(北京)有限公司 Method and device for operating multiple data sources
CN111861837A (en) * 2020-07-28 2020-10-30 安徽新华博信息技术股份有限公司 Method for rapidly realizing public safety research and judgment model
CN112115012A (en) * 2019-06-19 2020-12-22 中兴通讯股份有限公司 Transaction monitoring method, device and system for distributed database and storage medium
CN112286992A (en) * 2020-10-29 2021-01-29 星环信息科技(上海)股份有限公司 Query method, distributed system, device and storage medium
CN112328700A (en) * 2020-11-26 2021-02-05 北京海量数据技术股份有限公司 Distributed database
CN112380184A (en) * 2020-11-20 2021-02-19 北京百度网讯科技有限公司 Transaction processing method and device, electronic equipment and readable storage medium
CN112579637A (en) * 2020-12-15 2021-03-30 深圳市汉云科技有限公司 SQL statement execution method, system, terminal and medium
CN112749189A (en) * 2019-10-29 2021-05-04 北京国双科技有限公司 Data query method and device
CN112860740A (en) * 2019-11-27 2021-05-28 中兴通讯股份有限公司 Method and device for realizing trigger
CN108090056B (en) * 2016-11-21 2021-06-15 中兴通讯股份有限公司 Data query method, device and system
CN112988883A (en) * 2019-12-16 2021-06-18 中兴通讯股份有限公司 Database data synchronization method and device and storage medium
CN113254425A (en) * 2021-06-24 2021-08-13 阿里云计算有限公司 Method, apparatus, system, program and storage medium for database transaction retention
CN113495872A (en) * 2020-04-08 2021-10-12 北京万里开源软件有限公司 Transaction processing method and system in distributed database
CN113590652A (en) * 2021-09-30 2021-11-02 阿里云计算有限公司 Data storage system, data processing method, device and storage medium
CN114138888A (en) * 2021-12-03 2022-03-04 北京宇信科技集团股份有限公司 Processing method, system, medium and equipment for distributed data routing

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019112B (en) 2017-08-25 2023-10-31 阿里巴巴集团控股有限公司 Data transaction processing method and device and electronic equipment
CN107832125A (en) * 2017-10-10 2018-03-23 ***股份有限公司 Method for processing business and device under a kind of distributed environment
CN108009011A (en) * 2017-12-04 2018-05-08 科大国创软件股份有限公司 A kind of workflow platform multiplex roles affairs chain processing method based on java principles of reflection
CN109324905B (en) * 2018-09-30 2021-03-30 拉卡拉支付股份有限公司 Database operation method and device, electronic equipment and storage medium
CN109783578B (en) * 2019-01-09 2022-10-21 腾讯科技(深圳)有限公司 Data reading method and device, electronic equipment and storage medium
CN109918177B (en) * 2019-02-19 2023-08-04 创新先进技术有限公司 Distributed transaction processing method, device and equipment
CN110309196A (en) * 2019-05-22 2019-10-08 深圳壹账通智能科技有限公司 Block chain data storage and query method, apparatus, equipment and storage medium
CN110532280B (en) * 2019-07-18 2023-06-20 创新先进技术有限公司 SQL sentence visualization method and device
CN110633258B (en) * 2019-08-07 2022-08-12 平安科技(深圳)有限公司 Log insertion method, device, computer device and storage medium
CN110489490B (en) * 2019-08-23 2022-11-29 上海新炬网络信息技术股份有限公司 Data storage and query method based on distributed database
CN112650561B (en) * 2019-10-11 2023-04-11 金篆信科有限责任公司 Transaction management method, system, network device and readable storage medium
CN111680105B (en) * 2020-06-15 2023-09-22 浙江创邻科技有限公司 Management method and system of distributed relational database based on block chain
CN111897891B (en) * 2020-06-19 2023-06-13 阿里云计算有限公司 Data processing method and device
CN111859426B (en) * 2020-07-21 2023-04-07 西安电子科技大学 Universal encrypted database connector and setting method thereof
CN111984678B (en) * 2020-08-24 2022-06-14 安徽新华博信息技术股份有限公司 SQL using method based on Elasticissearch
CN112035514A (en) * 2020-09-02 2020-12-04 北京金山云网络技术有限公司 Database statement processing method and device, electronic equipment and storage medium
CN112487089B (en) * 2020-11-26 2024-07-02 广州海量数据库技术有限公司 Distributed storage method and system based on data page routing
CN112966101B (en) * 2021-02-07 2024-06-18 白腊梅 Statement clustering method, transaction clustering method, statement clustering device and transaction clustering device
CN113722347B (en) * 2021-02-10 2024-07-16 京东科技控股股份有限公司 Database management method, device, electronic equipment and storage medium
CN113127427B (en) * 2021-04-21 2022-08-02 山东英信计算机技术有限公司 Method, system and device for analyzing transaction distribution in database log
CN114328613B (en) * 2022-03-03 2022-07-05 阿里云计算有限公司 Method, device and system for processing distributed transactions in Structured Query Language (SQL) database
CN116644086B (en) * 2023-05-24 2024-02-20 上海沄熹科技有限公司 SST-based Insert SQL statement implementation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093501A (en) * 2007-07-31 2007-12-26 武汉大学 Method for querying high performance, transparent distributed spatial database
CN102306197A (en) * 2011-09-22 2012-01-04 用友软件股份有限公司 Device and method for guaranteeing consistency of data-source-crossing operation results
CN103345502A (en) * 2013-07-01 2013-10-09 曙光信息产业(北京)有限公司 Transaction processing method and system of distributed type database
KR20140049202A (en) * 2012-10-16 2014-04-25 케이티하이텔 주식회사 Distributed database management system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275843B1 (en) * 1994-12-22 2001-08-14 Unisys Corporation Method and apparatus for processing multiple service requests within a global transaction by a single server application program instance
CN103020147B (en) * 2012-11-22 2015-10-21 用友软件股份有限公司 Data integrated system and data integrating method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093501A (en) * 2007-07-31 2007-12-26 武汉大学 Method for querying high performance, transparent distributed spatial database
CN102306197A (en) * 2011-09-22 2012-01-04 用友软件股份有限公司 Device and method for guaranteeing consistency of data-source-crossing operation results
KR20140049202A (en) * 2012-10-16 2014-04-25 케이티하이텔 주식회사 Distributed database management system and method
CN103345502A (en) * 2013-07-01 2013-10-09 曙光信息产业(北京)有限公司 Transaction processing method and system of distributed type database

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015885A (en) * 2016-07-12 2017-08-04 阿里巴巴集团控股有限公司 Service providing method, system and configuration center when primary standby data storehouse switches
CN107623703B (en) * 2016-07-13 2021-08-17 中兴通讯股份有限公司 Synchronization method, device and system for Global Transaction Identifier (GTID)
WO2018010501A1 (en) * 2016-07-13 2018-01-18 中兴通讯股份有限公司 Global transaction identifier (gtid) synchronization method, apparatus and system, and storage medium
CN107623703A (en) * 2016-07-13 2018-01-23 中兴通讯股份有限公司 Global transaction identifies GTID synchronous method, apparatus and system
CN107644025A (en) * 2016-07-20 2018-01-30 阿里巴巴集团控股有限公司 The distribution method and device of the WAL records of distributed data base
WO2018068703A1 (en) * 2016-10-13 2018-04-19 Huawei Technologies Co., Ltd. Decentralized distributed database consistency
US10503725B2 (en) 2016-10-13 2019-12-10 Futurewei Technologies, Inc. Decentralized distributed database consistency
US11243920B2 (en) 2016-10-24 2022-02-08 Tencent Technology (Shenzhen) Company Limited Distributed database system, transaction processing method, lock server and storage medium
WO2018077073A1 (en) * 2016-10-24 2018-05-03 腾讯科技(深圳)有限公司 Distributed database system, transaction processing method, lock server and storage medium
CN108090056B (en) * 2016-11-21 2021-06-15 中兴通讯股份有限公司 Data query method, device and system
CN106909467A (en) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 A kind of distributed transaction processing method based on micro services framework
CN106909467B (en) * 2017-02-28 2021-06-29 郑州云海信息技术有限公司 Distributed transaction processing method based on micro-service architecture
CN107644073A (en) * 2017-09-18 2018-01-30 广东中标数据科技股份有限公司 A kind of field consanguinity analysis method, system and device based on depth-first traversal
CN108829876A (en) * 2018-06-26 2018-11-16 山东汇贸电子口岸有限公司 The solution and device that the pl/sql client request time-out of Oracle does not respond
CN109033248A (en) * 2018-07-05 2018-12-18 华为技术有限公司 The method and apparatus of storing data record, the method and apparatus for inquiring data record
CN109033248B (en) * 2018-07-05 2021-01-12 华为技术有限公司 Method and device for storing data record and method and device for inquiring data record
CN109522098A (en) * 2018-11-28 2019-03-26 星环信息科技(上海)有限公司 Transaction methods, device, system and storage medium in distributed data base
CN111352704A (en) * 2018-12-21 2020-06-30 叶常青 Distributed global transaction processing system and method based on policy management
CN109710388B (en) * 2019-01-09 2022-10-21 腾讯科技(深圳)有限公司 Data reading method and device, electronic equipment and storage medium
CN109710388A (en) * 2019-01-09 2019-05-03 腾讯科技(深圳)有限公司 Method for reading data, device, electronic equipment and storage medium
CN109933412A (en) * 2019-01-28 2019-06-25 武汉慧联无限科技有限公司 Distributed transaction processing method based on distributed message middleware
CN111666321B (en) * 2019-03-05 2024-01-05 百度在线网络技术(北京)有限公司 Multi-data source operation method and device thereof
CN111666321A (en) * 2019-03-05 2020-09-15 百度在线网络技术(北京)有限公司 Method and device for operating multiple data sources
CN110232057A (en) * 2019-05-29 2019-09-13 掌阅科技股份有限公司 Data rewind method, electronic equipment, storage medium
CN110232057B (en) * 2019-05-29 2021-03-12 掌阅科技股份有限公司 Data rollback method, electronic device and storage medium
WO2020253314A1 (en) * 2019-06-19 2020-12-24 中兴通讯股份有限公司 Transaction monitoring method, apparatus and system for distributed database, and storage medium
CN112115012A (en) * 2019-06-19 2020-12-22 中兴通讯股份有限公司 Transaction monitoring method, device and system for distributed database and storage medium
CN110427427A (en) * 2019-08-02 2019-11-08 北京快立方科技有限公司 A kind of bridged by pin realizes global transaction distributed approach
CN110427427B (en) * 2019-08-02 2022-05-27 北京快立方科技有限公司 Method for realizing global transaction distributed processing through pin bridging
CN110688532B (en) * 2019-09-03 2022-06-21 视联动力信息技术股份有限公司 Transaction management method and device
CN110688532A (en) * 2019-09-03 2020-01-14 视联动力信息技术股份有限公司 Transaction management method and device
CN110569257A (en) * 2019-09-16 2019-12-13 上海达梦数据库有限公司 data processing method, corresponding device, equipment and storage medium
CN110569257B (en) * 2019-09-16 2022-04-01 上海达梦数据库有限公司 Data processing method, corresponding device, equipment and storage medium
CN112749189A (en) * 2019-10-29 2021-05-04 北京国双科技有限公司 Data query method and device
CN110851534A (en) * 2019-11-15 2020-02-28 上海达梦数据库有限公司 Data processing method, system and storage medium
CN110851534B (en) * 2019-11-15 2022-09-06 上海达梦数据库有限公司 Data processing method, system and storage medium
CN112860740B (en) * 2019-11-27 2022-12-20 金篆信科有限责任公司 Method and device for realizing trigger
CN112860740A (en) * 2019-11-27 2021-05-28 中兴通讯股份有限公司 Method and device for realizing trigger
CN112988883A (en) * 2019-12-16 2021-06-18 中兴通讯股份有限公司 Database data synchronization method and device and storage medium
CN112988883B (en) * 2019-12-16 2023-03-10 金篆信科有限责任公司 Database data synchronization method and device and storage medium
CN111190768A (en) * 2019-12-25 2020-05-22 中科驭数(北京)科技有限公司 Database execution error recovery method, database access method and device
CN111190768B (en) * 2019-12-25 2020-10-16 中科驭数(北京)科技有限公司 Database execution error recovery method, database access method and device
CN113495872A (en) * 2020-04-08 2021-10-12 北京万里开源软件有限公司 Transaction processing method and system in distributed database
CN111625552B (en) * 2020-05-20 2024-01-02 北京百度网讯科技有限公司 Data collection method, device, equipment and readable storage medium
CN111625552A (en) * 2020-05-20 2020-09-04 北京百度网讯科技有限公司 Data collection method, device, equipment and readable storage medium
CN111581534A (en) * 2020-05-22 2020-08-25 哈尔滨工程大学 Rumor propagation tree structure optimization method based on consistency of vertical place
CN111581534B (en) * 2020-05-22 2022-12-13 哈尔滨工程大学 Rumor propagation tree structure optimization method based on consistency of vertical place
CN111861837A (en) * 2020-07-28 2020-10-30 安徽新华博信息技术股份有限公司 Method for rapidly realizing public safety research and judgment model
CN112286992A (en) * 2020-10-29 2021-01-29 星环信息科技(上海)股份有限公司 Query method, distributed system, device and storage medium
CN112286992B (en) * 2020-10-29 2021-08-24 星环信息科技(上海)股份有限公司 Query method, distributed system, device and storage medium
CN112380184A (en) * 2020-11-20 2021-02-19 北京百度网讯科技有限公司 Transaction processing method and device, electronic equipment and readable storage medium
CN112328700A (en) * 2020-11-26 2021-02-05 北京海量数据技术股份有限公司 Distributed database
CN112579637A (en) * 2020-12-15 2021-03-30 深圳市汉云科技有限公司 SQL statement execution method, system, terminal and medium
CN113254425A (en) * 2021-06-24 2021-08-13 阿里云计算有限公司 Method, apparatus, system, program and storage medium for database transaction retention
CN113590652A (en) * 2021-09-30 2021-11-02 阿里云计算有限公司 Data storage system, data processing method, device and storage medium
CN114138888A (en) * 2021-12-03 2022-03-04 北京宇信科技集团股份有限公司 Processing method, system, medium and equipment for distributed data routing

Also Published As

Publication number Publication date
WO2016078423A1 (en) 2016-05-26
CN105608086B (en) 2021-07-27

Similar Documents

Publication Publication Date Title
CN105608086A (en) Transaction processing method and device of distributed database system
US9830372B2 (en) Scalable coordination aware static partitioning for database replication
CN111143389B (en) Transaction execution method and device, computer equipment and storage medium
EP3117349B1 (en) System and method for massively parallel processing database
US20130110873A1 (en) Method and system for data storage and management
CA2913036C (en) Index update pipeline
US9747356B2 (en) Eager replication of uncommitted transactions
US9904721B1 (en) Source-side merging of distributed transactions prior to replication
US8285677B2 (en) Method and apparatus for propagating tables while preserving cyclic foreign key relationships
US9922086B1 (en) Consistent query of local indexes
US20150269215A1 (en) Dependency-aware transaction batching for data replication
US20170364273A1 (en) Consensus protocol enhancements for supporting flexible durability options
US11449550B2 (en) Ad-hoc graph definition
US10831737B2 (en) Method and device for partitioning association table in distributed database
Yang et al. F1 Lightning: HTAP as a Service
CN111522631A (en) Distributed transaction processing method, device, server and medium
US11386078B2 (en) Distributed trust data storage system
US11720451B2 (en) Backup and recovery for distributed database with scalable transaction manager
Agrawal et al. Survey on Mongodb: an open-source document database
US11507575B2 (en) Complex query rewriting
CN117234670A (en) Distributed transaction processing method, system, computer equipment and storage medium
US20200192914A1 (en) Dependent object analysis
US11675778B2 (en) Scalable transaction manager for distributed databases
US11372838B2 (en) Parallel processing of changes in a distributed system
US10353920B2 (en) Efficient mirror data re-sync

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Dai Lijian

Inventor after: Deng Qiong

Inventor after: Chen Jianfeng

Inventor after: Jia Xinhua

Inventor after: Zuo Zhuangtai

Inventor after: Bai Tao

Inventor after: Chen Hedui

Inventor after: Zou Haili

Inventor after: Chen Xiaoqiang

Inventor after: Peng Jiping

Inventor after: Liu Wentao

Inventor before: Dai Lijian

Inventor before: Jia Xinhua

Inventor before: Zuo Zhuangtai

Inventor before: Bai Tao

Inventor before: Chen Hedui

Inventor before: Zou Haili

Inventor before: Chen Xiaoqiang

Inventor before: Peng Jiping

CB03 Change of inventor or designer information
TA01 Transfer of patent application right

Effective date of registration: 20180124

Address after: 518057, A building, Zhongxing building, Nanshan District science and Technology Park, Shenzhen, Guangdong, five

Applicant after: ZTE Corporation

Applicant after: China Citic Bank Co., Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant before: ZTE Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant