CN107526629B - Transaction processing system and concurrency control method - Google Patents

Transaction processing system and concurrency control method Download PDF

Info

Publication number
CN107526629B
CN107526629B CN201610458546.0A CN201610458546A CN107526629B CN 107526629 B CN107526629 B CN 107526629B CN 201610458546 A CN201610458546 A CN 201610458546A CN 107526629 B CN107526629 B CN 107526629B
Authority
CN
China
Prior art keywords
transaction
data
long
transactions
accessed
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.)
Active
Application number
CN201610458546.0A
Other languages
Chinese (zh)
Other versions
CN107526629A (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.)
ZTE Corp
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 CN201610458546.0A priority Critical patent/CN107526629B/en
Publication of CN107526629A publication Critical patent/CN107526629A/en
Application granted granted Critical
Publication of CN107526629B publication Critical patent/CN107526629B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Abstract

The invention relates to a transaction processing system, which is applied to a central database server and comprises: the device comprises a dividing module, a summarizing module and an accessing module. The dividing module is used for dividing data to be accessed by the short transaction into one or more free data and one or more trailing queue data transferred by the long transaction; and a step of inducing a module to induce, for attributing at least one of said free data to another suitable long transaction; and the access module is used for controlling the short transaction to access the data of the trailing queue transferred by the one or more long transactions and access the data of the trailing queue, which is transferred by the suitable long transaction and comprises at least one free data. The invention also provides a concurrency control method, the transaction processing system and the concurrency control method provided by the invention can well relieve the delay phenomenon of the XAL protocol.

Description

Transaction processing system and concurrency control method
[ technical field ] A
The present invention relates to the field of control and, more particularly, to a transaction processing system and a concurrency control method.
[ background ] technique (a)
Compared with the traditional distributed computing environment based on a fixed network, the mobile computing environment has the main characteristics of mobility, frequent disconnection, unreliability and the like. The real-time performance of the mobile database is relatively high, so that the short transaction with high priority cannot be delayed by the long transaction with low priority. This ensures that all transactions are executed in a timely and reliable manner, and the real-time performance of wireless network transactions is guaranteed. The traditional two-phase lock protocol can only meet general safety requirements, and cannot meet real-time requirements.
FIG. 1 is a schematic diagram of a three-tier architecture of a mobile distributed real-time database. The top layer is a central database server end, and the dispatching control of all mobile transactions is realized. The middle layer is a mobile support base station for transferring mobile affairs, and the bottom layer is a mobile client for initiating the mobile affairs.
<xnotran> , , , , (2 PL) (AL) (XAL), , . </xnotran>
Concurrent control: when a plurality of transactions execute data simultaneously, the system must perform coordination work, so that the execution of one transaction is not interfered by other transactions, and the consistency of the data is ensured.
Lock-when a transaction needs to ensure that the data in which it is interested does not change in some way as it completes, it must acquire a lock on the data.
Serialisation multiple transactions execute in parallel with the result necessarily being the same as they execute serially in some order.
Two-step Lock protocol (2 PL) A two-step Lock protocol is employed for concurrency control to ensure serializability of transactions. The specific content of the protocol is as follows: (1) Before operating on any one data object, a transaction must acquire a lock on that data object; (2) After acquiring one lock, the transaction does not acquire any other locks; (3) Ensuring that any two transactions cannot be simultaneous a lock is held against a data object. Transactions that adhere to this protocol are divided into two phases, a get lock phase and a release lock phase. However, this protocol is not suitable for mobile database systems, where long transactions occupy data for long periods of time and other transactions experience delays.
The lock is an extension of two-step locks, allowing several transactions to hold locks on a data object at the same time, i.e. introducing "transfer" operations, long transactions can temporarily transfer data to short transaction accesses.
After transaction T transfers access to data object a, it may continue to acquire a new lock, i.e., transfer and lock operations are one step, while after data object a is transferred, other transactions may acquire a lock to it. <xnotran> T2 T1 A B , T1 . </xnotran> At the same time, the user can select the required time, the assignment operation must follow the following rules: (1) A transaction can transfer only those data objects that already hold a lock; (2) Things cannot access any one of it data objects that have been transferred; (3) Transfer operations cannot replace unlock operations, a transaction must eventually unlock all of its over-locked data objects at once, and the scheduler also places some constraints on the transactions that are transferred. Two other lock rules are as follows: rule 1 two transactions cannot hold a lock on a data object at the same time unless one of the transactions has "transferred" out of the data object. Rule 2 if one transaction Ta is trailing another transaction Tb, it must completely trail Tb until Tb performs the first unlock operation. Following for a few of the concept is explained.
Trailing the transaction: the transaction of the transfer is accepted.
Transferring the transaction: the transaction of the transfer data.
Following: one transaction Ta locks a data object that another transaction Tb transfers (but not unlocks), and Ta is said to trail Tb.
Completely trailing: if the data locked by one transaction Ta is transferred by another transaction Tb, ta is said to completely trail Tb.
Free data: the data to be accessed by one transaction Ta is not transferred by another transaction Tb, and this data is free data.
The idea of the XAL protocol is to dynamically extend the tail queue, i.e., a transaction accepting transfer can access free data outside the transfer transaction before the transfer transaction is unlocked, without having to completely tail the transaction. That is, the transfer transaction is accepted as a short transaction, and the transfer transaction must access free data after accessing all its own data, but cannot access free data first and then access data of the transferred trailing queue, so that sometimes there is a delay.
Fig. 2 is an exemplary diagram of the locks by arm protocol (XAL). In fig. 2, transaction 1 is a long transaction, transaction 2, transaction 3, and transaction 4 is a short transaction. Transaction 1 accesses A, B, C, D, has assigned A, B, and C, is accessing D. Transaction 2 accesses B and E. Transaction 3 accesses E and F, and transaction 4 accesses F and J. If transaction 2 wants to access E first and then B, then access B is prohibited after E has been accessed. This is because E is not trailing the data in the queue, and transaction 2 can only be allowed access to B after the transaction 1 unlock operation. Transaction 2 is blocked in this example, and then transaction 3 only accesses E after transaction 2 performs the unlock operation, and therefore must be blocked.
Fig. 3 is a diagram of another example of a concurrency control process utilizing its lock protocol (XAL). In FIG. 3, long transaction 1, accesses A, B, C, D, E. Other data is not intended to be accessed. Long transaction 2, visits F, G, H, I, J; short transaction 3, access B, G, K.
Only one transaction is allowed to transfer data in the XAL protocol, only transaction 1 transfers data in fig. 3, at time t1, transaction 1 has access to a and B and has transferred, transaction 2 has access to F, and G cannot access because of the privilege issues. At time t2, transaction 3 has access to B but not to G, it must completely trail transaction 1, cannot access the data transferred by another transaction 2, and until transaction 3 can access G after transaction 2 is unlocked once. So G is only accessed at time t3 and finally free data K is accessed. Thus the delay phenomenon is obvious.
Compared with the AL protocol, the XAL protocol has a reduced delay phenomenon, and has been widely applied in a concurrency control strategy in a wireless network environment, but the delay phenomenon is still more frequent, so that a concurrency control method for improving the real-time performance of a mobile database needs to be researched on the basis.
[ summary of the invention ]
In view of the above, the present invention provides a concurrency control method, including:
dividing data to be accessed by short transactions into one or more free data and one or more trailing queue data transferred by long transactions;
attributing at least one of said free data to another suitable long transaction;
and controlling the short transaction to access the data of the trailing queue transferred by the one or more long transactions and to access the data of the trailing queue transferred by the suitable long transaction and comprising at least one free data.
Preferably, the method further comprises the following steps:
when the free data comprises free data which cannot be classified into the suitable long transaction, the short transaction is controlled to access the trailing queue data transferred by the one or more long transactions, the trailing queue data transferred by the suitable long transaction and including at least one free data is accessed, and the free data which cannot be classified into the suitable long transaction is accessed.
Preferably, the method further comprises the following steps:
determining whether the data to be accessed by the short transaction is locked by other transactions, wherein the other transactions are transactions except the one or more long transactions and the suitable long transaction;
when the data to be accessed by the short transaction is not locked by the other transactions, determining whether the one or more long transactions, the appropriate long transaction, have accessed the data to be accessed by the short transaction;
when the one or more long transactions and the appropriate long transaction have accessed the data to be accessed by the short transaction, and controlling the short transaction to access the data of the trailing queue transferred by the one or more long transactions and to access the data of the trailing queue transferred by the suitable long transaction and comprising at least one free data.
Preferably, the method further comprises the following steps:
and after the data to be accessed by the short transaction is unlocked by other transactions, judging whether the one or more long transactions and the suitable long transaction have accessed the data to be accessed by the short transaction.
Preferably, the method further comprises the following steps:
when the one or more long transactions and the suitable long transaction do not access the data to be accessed by the short transaction, judging whether the one or more long transactions and the suitable long transaction cannot be accessed because of the authority problem;
when the one or more long transactions and the suitable long transaction cannot be accessed because of authority problems, transferring the data to be accessed by the short transaction to the short transaction;
controlling the short transaction to access the transferred data.
<xnotran> , , : </xnotran>
A module for dividing the image into a plurality of blocks, the data to be accessed by the short transaction is divided into one or more free data and one or more trailing queue data transferred by the long transaction;
an induction module for attributing at least one of said free data to another suitable long transaction;
and the access module is used for controlling the short transaction to access the trailing queue data transferred by the one or more long transactions and accessing the trailing queue data which is suitable for being transferred by the long transaction and comprises at least one free data.
Preferably, when the free data includes free data that cannot be classified into the suitable long transaction, the access module is further configured to control the short transaction to access trailing queue data transferred by the one or more long transactions, access trailing queue data transferred by the suitable long transaction and including at least one free data, and access free data that cannot be classified into the suitable long transaction.
Preferably, the method further comprises the following steps:
a determining module, configured to determine whether data to be accessed by the short transaction is locked by other transactions, where the other transactions are transactions other than the one or more long transactions and the suitable long transaction;
when the data to be accessed by the short transaction is not locked by other transactions, the judging module is further configured to judge whether the one or more long transactions and the suitable long transaction have accessed the data to be accessed by the short transaction;
when the one or more long transactions and the suitable long transaction have accessed the data to be accessed by the short transaction, the access module is further used for controlling the short transaction to access the data of the trailing queue transferred by the one or more long transactions and access the data of the trailing queue transferred by the suitable long transaction and comprising at least one free data.
Preferably, the determining module is further configured to determine whether the one or more long transactions and the suitable long transaction have accessed the data to be accessed by the short transaction after the data to be accessed by the short transaction is unlocked by other transactions.
Preferably, the method further comprises the following steps:
when the one or more long transactions and the suitable long transaction do not access the data to be accessed by the short transaction, the judging module is further used for judging whether the one or more long transactions and the suitable long transaction cannot be accessed because of the authority problem;
said induction module being further adapted to transfer data to be accessed by said short transaction to said short transaction when said one or more long transactions, said appropriate long transaction, are not accessible because of an entitlement problem;
and the access module is also used for controlling the short transaction to access the transferred data.
The transaction processing system and the concurrency control method provided by the invention solve the problem of long-term coexistence of long-term and short-term transactions in a wireless network environment, can well relieve the delay phenomenon of the XAL protocol, and can improve the real-time property of the colleagues meeting the safety requirements.
[ description of the drawings ]
FIG. 1 is a schematic diagram of a three-tier architecture of a mobile distribution real-time database.
Fig. 2 is an exemplary diagram of the locks by arm protocol (XAL).
Fig. 3 is a diagram of an example of a concurrent process utilizing its lock protocol (XAL).
FIG. 4 is a diagram of an application environment of a transaction processing system in accordance with an embodiment of the present invention.
FIG. 5 is a functional block diagram of a second transaction processing system according to an embodiment of the present invention.
FIG. 6 is a functional block diagram of a three-transaction system according to an embodiment of the present invention.
Fig. 7 is a flowchart of a three-concurrency control method according to an embodiment of the present invention.
Fig. 8 is a flowchart of a four concurrency control method according to an embodiment of the present invention.
Fig. 9 is a diagram illustrating an example of a five-concurrency control method according to an embodiment of the present invention.
Fig. 10 is a graph comparing transaction restart rate performance of the 2PL protocol, the XAL protocol and the concurrency control method of the present invention.
Reference numerals:
transaction processing system 10
Partitioning module 101
Judging module 103
Inductive module 105
Access module 107
[ detailed description ] embodiments
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Referring to FIG. 4, FIG. 4 is a diagram of an application environment of a transaction processing system according to an embodiment of the invention. The mobile client is used for generating mobile affairs and transmitting mobile affair instances to the central database server through a network. The system for managing the mobile affairs by the central database server comprises: the system comprises a transaction pre-analysis system, a transaction splitting system, a transaction distribution system, a transaction processing system and a transaction result processing system, wherein the processed mobile transaction is transmitted to a mobile client through a network to complete the mobile transaction.
Referring to fig. 5, fig. 5 is a functional block diagram of a second transaction processing system according to an embodiment of the invention. The transaction system 10 shown in figure 5 comprises a partitioning module 101, a summarization module 105, an access module 107, the functional blocks will be described in detail below.
<xnotran> 101 , , . </xnotran>
Induction module 105 subsumes at least one free datum into another suitable long transaction; specifically, when the data to be accessed by the short transaction is free data and the trailing queue data transferred by the long transaction, the free data is classified into the trailing queue data transferred by another suitable long transaction.
The access module 107 controls short transactions to access trailing queue data transferred by one or more long transactions, and accessing trailing queue data comprising at least one free datum, transferred by an appropriate long transaction. Specifically, when attributing a free data to the trailing queue data of another suitable long transaction transfer, the accessing module 107 accesses the original trailing queue data of one long transaction transfer and the trailing queue data of at least one free data, which is suitable for long transaction transfer.
Referring to fig. 6, fig. 6 is a functional block diagram of a three-transaction processing system according to an embodiment of the invention. The functional modules in fig. 6 are used to execute the mobile transaction process in fig. 4, and the transaction processing system 10 shown in fig. 6 includes a dividing module 101, a determining module 103, a summarizing module 105, and an accessing module 107, which are described in detail below.
The dividing module 101 divides data to be accessed by a short transaction into one or more free data and one or more trailing queue data transferred by a long transaction, and specifically, may divide data to be accessed by a short transaction into one free data and one trailing queue data transferred by a long transaction.
Induction module 105 subsumes at least one free datum into another suitable long transaction; specifically, when the data to be accessed by the short transaction is free data and trailing queue data transferred by a long transaction, the free data is classified into the trailing queue data transferred by another suitable long transaction.
<xnotran> 107 , , . </xnotran> Specifically, when attributing a free data to the trailing queue data of another suitable long transaction transfer, the accessing module 107 accesses the original trailing queue data of one long transaction transfer and the trailing queue data of at least one free data, which is suitable for long transaction transfer.
It should be noted that, when the free data includes free data that cannot be categorized into a suitable long transaction, the access module 107 controls the short transaction to access one or more trailing queue data transferred by the long transaction, access trailing queue data transferred by a suitable long transaction and including at least one free data, and access free data that cannot be categorized into a suitable long transaction.
The determining module 103 determines whether the data to be accessed by the short transaction is locked by other transactions, where the other transactions are transactions other than one or more long transactions and suitable long transactions, and when the data to be accessed by the short transaction is not locked by other transactions, the determining module 103 determines whether one or more long transactions and suitable long transactions have already accessed the data to be accessed by the short transaction. When one or more long transactions, suitably long transactions, have accessed the data to be accessed by the short transaction, access module 107 controls the short transaction to access the trailing queue data transferred by the one or more long transactions and to access the trailing queue data transferred by the suitably long transaction, which includes at least one free data.
The determining module 103 determines whether one or more long transactions, suitable long transactions, have accessed the data to be accessed by the short transaction after the data to be accessed by the short transaction is unlocked by other transactions.
When one or more long transactions, suitably long transactions, do not access the data to be accessed by short transactions, the determination module 103 determines whether one or more long transactions, suitably long transactions, are not accessible because of an entitlement issue. When one or more long transactions and suitably long transactions are not accessible because of an authority issue, the induction module 105 transfers the data to be accessed by the short transaction to the short transaction, and the access module 107 controls the short transaction to access the transferred data.
Referring to fig. 7, fig. 7 is a flowchart of a three concurrency control method according to an embodiment of the invention. The method is applied to the transaction processing system 10 shown in fig. 5 and 6. The method is described in detail below.
In step S700, the mobile transaction set distributes the transaction set.
In step S701, it is determined whether the transaction uses the XAL protocol.
When the transaction is adapted to use the XAL protocol, concurrency control is performed using the XAL protocol in step S702.
When the transaction is not suitable for using the XAL protocol, in step S703, the partitioning module 101 partitions the data to be accessed by the short transaction into one or more free data and one or more trailing queue data transferred by the long transaction, and specifically, the data to be accessed by the short transaction can be partitioned into one free data and one trailing queue data transferred by the long transaction.
In step S704, the induction module 105 sorts at least one free data into another suitable long transaction; specifically, when the data to be accessed by the short transaction is free data and the trailing queue data transferred by the long transaction, the free data is classified into the trailing queue data transferred by another suitable long transaction.
In the step S705 in the step of the method, the access module 107 controls short transactions to access trailing queue data transferred by one or more long transactions.
In step S706, the accessing module 107 accesses the trailing queue data, which includes at least one free data, transferred by the suitable long transaction. Specifically, when attributing a free data to the trailing queue data of another suitable long transaction transfer, the accessing module 107 accesses the original trailing queue data of one long transaction transfer and the trailing queue data of at least one free data, which is suitable for long transaction transfer.
Referring to fig. 8, fig. 8 is a flowchart of a four concurrency control method according to an embodiment of the invention. The method is applied to the transaction processing system 10 shown in fig. 5 and 6. The method is described in detail below.
In step S800, the determining module 103 determines whether the data to be accessed by the short transaction is locked by other transactions, where the other transactions are other than one or more long transactions and suitable long transactions.
When the data to be accessed by the short transaction is locked by other transactions, in step S802, the determining module 103 waits for other transactions to be unlocked.
When the data to be accessed by the short transaction is not locked by other transactions, in step S803, the determining module 103 determines whether one or more long transactions, suitable long transactions, transferring the trailing queue data have already accessed the transferred trailing queue data, i.e., the data to be accessed by the short transaction.
When one or more long transactions, suitable long transactions, have accessed the data to be accessed by the short transaction, in step S806, the access module 107 controls the short transaction to access the data of the trailing queue transferred by one or more long transactions, and to access the data of the trailing queue transferred by suitable long transactions, which includes at least one free data.
When one or more long transactions, suitable long transactions, do not access the data to be accessed by the short transaction, in step S804, the determining module 103 determines whether one or more long transactions, suitable long transactions, cannot be accessed because of the permission problem. When one or more long transactions, suitably long transactions, cannot be accessed because of the authority problem, the induction module 105 transfers the data of the long transactions to short transactions, and in step S806, the access module 107 controls the short transactions to access the transferred data.
Referring to fig. 9, fig. 9 is a diagram illustrating an example of a five-concurrency control method according to an embodiment of the invention. Fig. 9 includes transaction 1, transaction 2, and transaction 3, where transaction 1 includes five data, a, B, C, D, and E, transaction 2 includes five data, F, G, H, I, and J, data G is transfer data G that is not accessed, transaction 3 includes three data, B, G, and K, and transaction 3 becomes a trailing transaction of transaction 1 and transaction 2 at the same time, and according to the concurrency control method in fig. 7 and 8, a trailing queue of two long transactions can access continuously, and at time t2, transaction 3 has accessed B, then can access G, and finally accesses free data K, and the delay phenomenon is alleviated. In the control concurrency method of the invention, one long transaction transfers some data, then free data is used as data transferred by another long transaction, the short transaction can be changed into two or more trailing transactions of the long transaction at the same time, so that the short transaction can be ensured to access data in time to a great extent, and other transactions can not be blocked.
Fig. 10 is a graph comparing transaction restart rate performance of the 2PL protocol, the XAL protocol and the concurrency control method of the present invention. The 2PL protocol, the AL protocol, and the restart rate of the concurrency control method of the present invention are listed in fig. 10. If the traditional protocol has serious delay phenomenon, the central database server adopts a strategy of restarting long transactions. In making performance comparisons of restart rates, observations are made by varying transaction arrival rates. As can be seen from fig. 10, the effects of the 2PL protocol, the AL protocol, and the concurrency control method of the present invention (the concurrency control method of the present invention is abbreviated as the 2DL method) are different in terms of transaction restart rate. When the transaction arrival rate is gradually increased from 5 to 25, the difference of the restart rate and the respective trend of the three protocols are observed under the condition that the transaction arrival rates are different, and the difference and the respective trend of the change are shown in the figure. As can be seen from the figure, when the transaction arrival rate increases from 5 to 25, the restart rate of the 2DL method and the XAL protocol is better than that of the 2PL protocol, and the effect of the 2DL method in reducing the restart rate is more obvious as the transaction arrival rate increases. This is because the 2DL method ensures the correctness of the concurrent operation scheduling, avoids all unnecessary transaction restarts, and alleviates the delay.
The transaction processing system and the concurrency control method provided by the invention solve the problem of long-term coexistence of long and short transactions in a wireless network environment, can well relieve the delay phenomenon of the XAL protocol, and can improve the real-time property of the colleagues meeting the safety requirements.
The present invention is not limited to the above preferred embodiments, and any modifications, equivalents and improvements made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (8)

1. A concurrency control method, comprising:
dividing data to be accessed by short transactions into one or more free data and one or more trailing queue data transferred by long transactions;
attributing at least one of said free data into another suitable long transaction;
determining whether data to be accessed by the short transaction is locked by other transactions, wherein the other transactions are other than the one or more long transactions and the suitable long transaction;
when the data to be accessed by the short transaction is not locked by other transactions, judging whether the one or more long transactions and the suitable long transaction access the data to be accessed by the short transaction;
when the one or more long transactions and the appropriate long transaction have accessed the data to be accessed by the short transaction, and controlling the short transaction to access the data of the trailing queue transferred by the one or more long transactions and to access the data of the trailing queue transferred by the suitable long transaction and comprising at least one free data.
2. The method of claim 1, further comprising:
when the free data comprises free data which cannot be classified into the suitable long transaction, the short transaction is controlled to access the trailing queue data transferred by the one or more long transactions, the trailing queue data transferred by the suitable long transaction and including at least one free data is accessed, and the free data which cannot be classified into the suitable long transaction is accessed.
3. The method of claim 1, further comprising:
and after the data to be accessed by the short transaction is unlocked by other transactions, judging whether the one or more long transactions and the proper long transaction have already accessed the data to be accessed by the short transaction.
4. The method of claim 1, further comprising:
when the one or more long transactions and the suitable long transaction do not access the data to be accessed by the short transaction, judging whether the one or more long transactions and the suitable long transaction cannot be accessed because of the authority problem;
when the one or more long transactions and the suitable long transaction cannot be accessed because of authority problems, transferring the data to be accessed by the short transaction to the short transaction;
and controlling the short transaction to access the transferred data.
5. A transaction processing system for use with a central database server, it is characterized by comprising the following steps:
partitioning the module is used for carrying out the following steps, the data to be accessed by the short transaction is divided into one or more free data and one or more trailing queue data transferred by the long transaction;
an induction module for attributing at least one of said free data to another suitable long transaction;
the access module is used for controlling the short transaction to access the trailing queue data transferred by the one or more long transactions and access the trailing queue data which is transferred by the suitable long transaction and at least comprises one piece of free data;
wherein the access module comprises:
a determining module, configured to determine whether data to be accessed by the short transaction is locked by other transactions, where the other transactions are transactions other than the one or more long transactions and the suitable long transaction;
when the data to be accessed by the short transaction is not locked by other transactions, the judging module is further configured to judge whether the one or more long transactions and the suitable long transaction have accessed the data to be accessed by the short transaction;
when the one or more long transactions and the suitable long transaction have accessed the data to be accessed by the short transaction, the access module is further used for controlling the short transaction to access the data of the trailing queue transferred by the one or more long transactions and access the data of the trailing queue transferred by the suitable long transaction and including at least one free data.
6. A transaction processing system according to claim 5, wherein when the free data includes free data that cannot be attributed to the appropriate long transaction, the access module is further configured to control the short transaction to access trailing queue data transferred by the one or more long transactions, to access trailing queue data transferred by the appropriate long transaction that includes at least one free data, and to access free data that cannot be attributed to the appropriate long transaction.
7. A transaction processing system as claimed in claim 5, wherein said determining module is further configured to determine whether said one or more long transactions, said appropriate long transaction, have accessed the data to be accessed by said short transaction, after the data to be accessed by said short transaction is unlocked by said other transactions.
8. The transaction processing system of claim 5, further comprising:
when the one or more long transactions and the suitable long transaction do not access the data to be accessed by the short transaction, the judging module is further used for judging whether the one or more long transactions and the suitable long transaction cannot be accessed because of the authority problem;
said induction module being further adapted to transfer data to be accessed by said short transaction to said short transaction when said one or more long transactions, said adapted long transaction cannot be accessed because of an entitlement problem;
the access module is used for accessing the data file, and for controlling access to the transferred data by the short transaction.
CN201610458546.0A 2016-06-22 2016-06-22 Transaction processing system and concurrency control method Active CN107526629B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610458546.0A CN107526629B (en) 2016-06-22 2016-06-22 Transaction processing system and concurrency control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610458546.0A CN107526629B (en) 2016-06-22 2016-06-22 Transaction processing system and concurrency control method

Publications (2)

Publication Number Publication Date
CN107526629A CN107526629A (en) 2017-12-29
CN107526629B true CN107526629B (en) 2023-04-14

Family

ID=60735512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610458546.0A Active CN107526629B (en) 2016-06-22 2016-06-22 Transaction processing system and concurrency control method

Country Status (1)

Country Link
CN (1) CN107526629B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214847A (en) * 1993-01-18 1994-08-05 Fuji Xerox Co Ltd Transaction processing control system
WO2001013202A2 (en) * 1999-08-17 2001-02-22 Progress Software, Inc. Concurrent commit lock
CN1319203A (en) * 1998-07-22 2001-10-24 艾利森电话股份有限公司 Method relating to handling of transactions in databases
CN102135980A (en) * 2010-12-21 2011-07-27 北京高森明晨信息科技有限公司 Real-time transaction processing method and device
CN103677771A (en) * 2012-09-06 2014-03-26 阿里巴巴集团控股有限公司 Processing method and device for concurrent transactions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214847A (en) * 1993-01-18 1994-08-05 Fuji Xerox Co Ltd Transaction processing control system
CN1319203A (en) * 1998-07-22 2001-10-24 艾利森电话股份有限公司 Method relating to handling of transactions in databases
WO2001013202A2 (en) * 1999-08-17 2001-02-22 Progress Software, Inc. Concurrent commit lock
CN102135980A (en) * 2010-12-21 2011-07-27 北京高森明晨信息科技有限公司 Real-time transaction processing method and device
CN103677771A (en) * 2012-09-06 2014-03-26 阿里巴巴集团控股有限公司 Processing method and device for concurrent transactions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种实时数据库系统的多版本两段锁的并发控制协议;万常选;《江西师范大学学报(自然科学版)》;20001230(第04期);全文 *
面向对象数据库中并发控制机制的研究与设计;曲云尧;《复旦学报(自然科学版)》;19960830(第04期);全文 *

Also Published As

Publication number Publication date
CN107526629A (en) 2017-12-29

Similar Documents

Publication Publication Date Title
US6895585B2 (en) Method of mixed workload high performance scheduling
Yoo et al. A comparative review of job scheduling for MapReduce
US20110265098A1 (en) Message Passing with Queues and Channels
US10423558B1 (en) Systems and methods for controlling data on a bus using latency
CN106933664B (en) Hadoop cluster resource scheduling method and device
US9256506B1 (en) System and method for performing operations on target servers
US8661175B2 (en) Multiprocessor synchronization using region locks
CN104536724A (en) Hash table concurrent access performance optimization method under multi-core environment
CN104102542A (en) Network data packet processing method and device
CN104765577A (en) High-speed storage system achieving self-adaptive frequency
JP6468499B2 (en) Distributed computing architecture
JPS6122337B2 (en)
US20170078390A1 (en) Read-coherent group memory
US20190272201A1 (en) Distributed database system and resource management method for distributed database system
US7539995B2 (en) Method and apparatus for managing an event processing system
JP7506096B2 (en) Dynamic allocation of computing resources
Yan et al. EASE: Energy‐efficient task scheduling for edge computing under uncertain runtime and unstable communication conditions
Nicolae et al. Towards memory-optimized data shuffling patterns for big data analytics
CN107526629B (en) Transaction processing system and concurrency control method
US7234012B2 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
CN111124708B (en) Microservice-oriented batch reasoning method, server and computer readable storage medium
CN112311695B (en) On-chip bandwidth dynamic allocation method and system
Yadav et al. A review of various mutual exclusion algorithms in distributed environment
US20210303500A1 (en) Scaling performance in a storage server with storage devices
CN1205559C (en) Bus system and its instruct transmission method

Legal Events

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