CN115796874A - Operation-level block chain transaction concurrent execution method - Google Patents
Operation-level block chain transaction concurrent execution method Download PDFInfo
- Publication number
- CN115796874A CN115796874A CN202310026559.0A CN202310026559A CN115796874A CN 115796874 A CN115796874 A CN 115796874A CN 202310026559 A CN202310026559 A CN 202310026559A CN 115796874 A CN115796874 A CN 115796874A
- Authority
- CN
- China
- Prior art keywords
- transaction
- instruction
- conflicting
- operation log
- execution
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a concurrent execution method of operation-level blockchain transaction, which comprises the steps of dynamically generating an operation log while performing transaction in a concurrent execution block, wherein the operation log comprises a serial number, an instruction code, an operand, an operation result and a dependent operation serial number of each execution operation, identifying all conflict instruction sequences in the transaction based on the operation log when detecting that the concurrently performed transaction conflicts, verifying that the instruction sequences meet the condition of re-execution, and re-executing the conflict instruction sequences according to the operation log if the conflict instruction sequences meet the condition of re-execution, thereby solving the conflict and submitting of the transaction.
Description
Technical Field
The invention relates to the field of computer parallel computing, in particular to a concurrent execution method of blockchain transaction of operation level.
Background
Block chain technology has attracted extensive attention and application due to its decentralized and non-tamper-able nature. The introduction of intelligent contract technology further enables modern blockchain systems to execute user-written programs. This allows the use of blockchain technology in more areas, such as decentralized finance. However, the throughput of existing blockchain systems is still low (e.g., etherhouses can only process about 15 transactions per second), which greatly limits the range of applications of blockchain techniques.
Most of the existing blockchain systems process transactions in each block in a sequential execution manner. Sequential execution, while simple to implement, cannot take advantage of the parallelism of modern processors and memory devices, limiting the transaction processing capabilities of blockchain systems. The traditional concurrent execution method in the database field cannot effectively improve the throughput of the blockchain system. In a high-conflict blockchain transaction environment, the conventional concurrent execution method may frequently block or suspend the concurrently executed transactions, thereby causing a decrease in transaction processing performance. For example, the traditional two-phase lock method (2 PL) locks accessed data when executed concurrently, resulting in contention and blocking between multiple transactions accessing the same data simultaneously; optimistic control methods (OCC) can cause data collision problems because concurrently executing transactions modify the same data at the same time, and then frequently suspend and restart conflicting transactions. Therefore, an efficient concurrent execution method for a blockchain working environment is needed, which utilizes the parallelism of modern computer hardware on one hand, and solves the problem of transaction blocking and suspension caused by the conventional concurrent execution method on the other hand, so as to improve the speed of processing transactions by a blockchain system.
Disclosure of Invention
The invention aims to improve the defects of the prior art, and provides an operation-level concurrent execution method for blockchain transactions.
The invention discloses a concurrent execution method of operation-level blockchain transaction, which comprises the following steps:
the method comprises the following steps: concurrently speculatively executing all transactions in a block, recording the reading set and the writing set of each transaction, and generating an operation log;
step two: sequentially checking whether the read set of the transaction is matched with the global state of the current blockchain according to the sequence of the transaction in the block, if so, updating the write set of the transaction to the global state of the blockchain and submitting the write set of the transaction, otherwise, entering a third step;
step three: for the transactions which are not submitted in the second step, identifying conflicting instruction sequences in the transactions according to the operation log;
step four: checking whether the conflicting instruction sequences in the step three meet the condition of re-execution, if so, entering the step five, otherwise, directly entering the step six;
step five: re-executing the conflicting instruction sequences in step three, updating the transaction write set, then updating the transaction write set to the global state of the blockchain and submitting the transaction write set;
step six: and for the transaction which does not pass the verification of the reading set in the step two and the conflicting instruction sequence in the step four, re-executing the whole transaction, re-recording the writing set of the transaction, updating the writing set of the transaction to the global state of the block chain after the execution is finished, and submitting the writing set of the transaction.
In a further improvement, in the first step of the present invention, the operation log includes a sequence number of each executed operation, an instruction code, an operand, an operation result, and a sequence number of a dependent operation.
As a further improvement, the method for generating the operation log in the present invention is to trace data streams in the stack, the memory, and the storage, and obtain a sequence number of a parent operation on which each operation depends according to an instruction dependency embodied in the data streams.
As a further improvement, the instruction sequence for identifying conflicts in transactions in step three of the present invention specifically marks the instruction reading the conflict key value pair as a conflict instruction, finds all instructions directly or indirectly dependent on the conflict instruction according to the operation log, and marks the instructions as conflict instructions.
As a further improvement, in the fourth step of the present invention, the condition for re-executing the conflicting instruction sequence is specifically: the control flow and data flow of the transaction are not changed when the conflicting instructions are re-executed.
As a further improvement, in the step five of the present invention, the step three of re-executing the conflicting instruction sequences specifically is to re-execute all the conflicting instructions in sequence according to the instruction sequence numbers, each conflicting instruction re-obtains the value of the operand of the instruction from the operation result of the dependent instruction according to the dependent instruction sequence number recorded in the operation log, then re-executes the instruction according to the instruction code of the operation log and the newly obtained operand, and updates the operation log of the instruction according to the operation result.
The invention has the following beneficial effects:
the invention provides an operation-level block chain transaction concurrent execution method aiming at a high-conflict transaction environment of a block chain, which not only realizes transaction concurrent execution by utilizing the parallelism of modern computer hardware, but also effectively relieves the problems of blocking and stopping of the traditional concurrent execution method in the block chain environment, and accelerates the transaction processing rate of a block chain system. In order to avoid the problem of transaction blocking caused by the traditional pessimistic concurrency control method (such as 2 PL), the invention applies the optimistic concurrency control method in the field of the database to the field of the block chain. Further, in order to improve the transaction suspension problem of the traditional optimistic concurrency control method in the blockchain working environment, the invention provides the concepts of conflict identification and re-execution of the operation level in step three, so that the data conflict only causes a small part of operations to be re-executed, and most instructions unrelated to the data conflict can still be executed concurrently with high efficiency.
In addition, in order to realize conflict identification and re-execution at the operation level, the invention introduces a data structure of an operation log in the step one, and realizes the execution environment and interdependent record of all operations of each transaction. Meanwhile, the invention also provides a lightweight data tracking algorithm in the first step, and the generation of the operation log can be realized with lower performance loss. Through the operation log, the invention can realize rapid conflict identification and re-execution of the operation level in the third step, thereby avoiding the performance reduction caused by the blocking or stopping of the whole transaction in the traditional concurrent execution method. Experiments show that for the Etherhouse client, the performance of the block chain transaction concurrent execution method at the operation level is improved by 4.28 times compared with the original sequential execution method; and the traditional concurrent execution method, such as an optimistic concurrency control algorithm (OCC), can only accelerate by 2.49 times. Experiments prove that the method can obviously improve the transaction processing rate of the block chain system.
Drawings
FIG. 1 is a flow chart of a method for concurrent execution of blockchains at an operation level according to the present invention.
Detailed Description
The objects and effects of the present invention will become more apparent by describing in detail preferred embodiments thereof with reference to the accompanying drawings, it being understood that the embodiments described herein are merely illustrative of the present invention and are not intended to limit the present invention.
Fig. 1 is a flow chart of an operation level blockchain concurrent execution method, which is an visualized description of the concurrent execution of transactions.
The method comprises the following steps: concurrently speculatively executing all transactions in a block, recording the read set and write set of each transaction, and generating an operation log. The operation log includes the sequence number of each executed operation, the instruction code, the operand, the operation result, and the sequence number of the dependent operation, as shown in the following table.
The key to oplog generation is to obtain the sequence numbers of all operations on which each operation depends. The generation method of the operation log is to track data streams in a stack, a memory and storage and obtain the sequence number of a father operation which each operation depends on according to the instruction dependency embodied in the data streams. Specifically, the present invention classifies the operations within the transaction into the following categories, and performs log generation in different ways.
1) For the operation of modifying the balance of the account, generating a balance operation log, and recording the modified account address, the balance before modification and the balance after modification.
2) For the operation of modifying the account nonce, a nonce operation log is generated, and the modified account address, the pre-modification nonce and the post-modification nonce are recorded.
3) For the virtual machine operation of the access stack, a shadow stack is additionally arranged outside the original virtual machine stack and used for recording the serial number of the generation operation of each element in the stack. The maintenance of the shadow stack is similar to that of the stack, for example, an ether house virtual machine is taken as an example, for PUSH operation, the virtual machine pushes a constant into the stack, pushes NULL (indicating that the operation does not depend on any other operation) into the shadow stack, for POP operation, the virtual machine POPs up a value from the stack and also POPs up a value from the shadow stack, for SWAP operation, the virtual machine exchanges elements in the stack and also exchanges corresponding elements in the shadow stack, for DUP operation, the virtual machine copies the elements in the stack and also copies corresponding elements in the shadow stack, for other stack operation, the virtual machine POPs up parameters from the stack and also POPs up elements corresponding to the parameters from the shadow stack, if the popped elements in the shadow stack are all NULL, no operation log is generated, otherwise, a new operation log is generated, and the field of the new operation log is set as the element in the shadow stack.
4) For the operation of accessing the memory, a shadow memory is additionally arranged outside the original virtual machine memory and used for recording the operation write-in and the write-in offset of each byte in the memory, and by this way, the operation of accessing the memory can also obtain the serial number of the operation which depends on the operation from the shadow memory corresponding to each byte accessed by the operation. Taking the ethernet virtual machine as an example, for each byte of the memory of the virtual machine, a corresponding (LSN, offset) is stored in the shadow memory, where LSN represents the sequence number of the last operation writing the memory location, and offset represents the offset of the last operation writing the memory location. For an operation accessing memory, the def.memory field of the operation log is composed of several (start, len, lsn, offset) tuples, which indicate that the memory address from start to start + len is written by the operation with the sequence number lsn and the offset is offset. For the operation of reading the memory, the def.memory field can be obtained through the shadow memory.
5) For the operation of accessing the storage, a mapping is additionally maintained, and the sequence number of the operation corresponding to the latest writing of each storage slot pair is recorded.
6) For operations that may affect control and data flows (e.g., JUMP in etherhouse, JUMP pi, MLOAD, MSTORE, etc.), an additional log of conditional operations may be generated indicating that the condition must be satisfied when re-executed. For a control flow related operation, the conditional operation log records the control flow transfer condition and the control flow transfer destination of the operation, and for a data flow related operation, the conditional operation log records the address of data written by the operation.
Step two: and sequentially checking whether the read set of the transaction is matched with the global state of the current blockchain according to the sequence of the transaction in the blocks, if so, updating the write set of the transaction to the global state of the blockchain and submitting the write set of the transaction, and otherwise, entering the step three. Specifically, after a transaction is speculatively executed, the transaction enters a verification queue state, and only after all transactions sorted before the transaction (in the order of the blocks) are submitted, the transaction formally enters a reading verification step. In the read set verification step, the read set at speculative execution is compared to the global store at verification (i.e., after all transactions ordered before it were committed) for consistency. If so, directly submitting the write set obtained by the speculative execution to the global storage. Otherwise, recording all unmatched reading sets, and entering a conflict operation identification step.
Step three: for transactions that are not committed in step two, conflicting sequences of instructions within the transaction are identified from the oplog. Specifically, in the conflict identification step, all operations directly accessing unmatched read set elements are first found through the operation log and marked as source conflict operations. Since the operation log records the dependency relationship between the operations, the operation log can be regarded as a directed acyclic graph. Then, with the source conflict operation as a starting point, the graph is traversed by using a depth-first traversal algorithm or a breadth-first traversal algorithm, and all traversed operations are marked as conflict operations. After the traversal is finished, all marked operations are conflict operations.
Step four: and (5) checking whether the conflicting instruction sequences in the step three meet the condition of re-execution, if so, entering the step five, and otherwise, directly entering the step six. When the operation log in the first step is generated, the control flow and the data flow of the execution are recorded, and the conditions for maintaining the control flow and the data flow are also recorded. This step checks whether the conditions for consistency of the control and data streams are still met if the results of the conflicting operations are corrected. If not, the operation level re-execution can not be carried out, and only the transaction level re-execution can be carried out.
Step five: re-executing the conflicting instruction sequences in step three and updating the transaction write set, then updating the transaction write set to the global state of the blockchain and committing the transaction write set. The re-execution of the conflict instruction sequence specifically includes: first, all operations that directly access mismatched read set elements are found and the results of these operations are updated to the correct values in the current global store. For other conflict operations, according to the serial number of the dependent operation recorded in the operation log, the value of the operand of the operation is obtained again from the operation result of the dependent operation, then according to the instruction code of the operation log and the newly obtained operand, the instruction is executed again, and the result is stored in the operation result column of the operation log of the operation. Wherein, for a conflict operation (such as SSTORE instruction in EtherFang), the result of the operation is updated to the write set of the transaction. And after all conflict operations are executed again, writing the write set into the global storage and submitting the transaction.
Step six: and for the transaction which does not pass the verification of the reading set in the step two and the conflicting instruction sequence in the step four, discarding the writing set of the transaction in the speculative execution stage, re-executing all the operations of the transaction in a brand-new virtual machine environment, recording the writing set of the transaction in the transaction execution process, writing the writing set into the global storage after the transaction execution is completed, and submitting the transaction.
It will be understood by those skilled in the art that the foregoing is only a single example of the invention and is not intended to limit the invention, which has been described in detail with reference to the foregoing examples, but it will be apparent to those skilled in the art that various changes in the form and details of the invention may be made and equivalents may be substituted for elements thereof. All modifications, equivalents and the like which come within the spirit and principle of the invention are intended to be included within the scope of the invention.
Claims (6)
1. An operation-level blockchain transaction concurrent execution method is characterized in that transaction execution comprises the following steps:
the method comprises the following steps: concurrently speculatively executing all transactions in a block, recording the reading set and the writing set of each transaction, and generating an operation log;
step two: sequentially checking whether the read set of the transaction is matched with the global state of the current blockchain according to the sequence of the transaction in the block, if so, updating the write set of the transaction to the global state of the blockchain and submitting the write set of the transaction, otherwise, entering a third step;
step three: for the transactions which are not submitted in the second step, identifying conflicting instruction sequences in the transactions according to the operation log;
step four: checking whether the conflicting instruction sequences in the step three meet the condition of re-execution, if so, entering the step five, otherwise, directly entering the step six;
step five: re-executing the conflicting instruction sequences in step three, updating the transaction write set, then updating the transaction write set to the global state of the blockchain and submitting the transaction write set;
step six: and for the transaction which does not pass the verification of the reading set in the step two and the conflicting instruction sequence in the step four, re-executing the whole transaction, re-recording the writing set of the transaction, updating the writing set of the transaction to the global state of the block chain after the execution is finished, and submitting the writing set of the transaction.
2. The method of claim 1, wherein in step one, the operation log comprises a sequence number of each executed operation, an instruction code, an operand, an operation result, and a sequence number of a dependent operation.
3. The method of claim 1, wherein the operation log is generated by tracing data streams in a stack, a memory, and a storage, and obtaining a sequence number of a parent operation on which each operation depends according to an instruction dependency embodied in the data streams.
4. The method according to claim 1, 2 or 3, wherein the sequence of instructions for identifying conflicts within transactions in the third step is to mark the instruction reading the conflicting key-value pair as a conflicting instruction, find all instructions directly or indirectly dependent on the conflicting instruction according to the operation log, and mark the instructions as conflicting instructions.
5. The method of claim 4, wherein in step four, the re-execution of the conflicting command sequences is conditioned by: the control and data flow of transactions is not changed when conflicting instructions are re-executed.
6. The method according to claim 1, 2, 3 or 5, wherein the step five of re-executing the instruction sequence conflicted in the step three is to re-execute all conflicted instructions in sequence according to the instruction sequence number, each conflicted instruction re-acquires the operand value of the instruction from the operation result of the dependent instruction according to the dependent instruction sequence number recorded in the operation log, and then re-executes the instruction according to the instruction code of the operation log and the newly acquired operand, and updates the operation log of the instruction according to the operation result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310026559.0A CN115796874B (en) | 2023-01-09 | 2023-01-09 | Concurrent execution method for blockchain transaction at operation level |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310026559.0A CN115796874B (en) | 2023-01-09 | 2023-01-09 | Concurrent execution method for blockchain transaction at operation level |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115796874A true CN115796874A (en) | 2023-03-14 |
CN115796874B CN115796874B (en) | 2023-05-09 |
Family
ID=85428823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310026559.0A Active CN115796874B (en) | 2023-01-09 | 2023-01-09 | Concurrent execution method for blockchain transaction at operation level |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115796874B (en) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163221A1 (en) * | 2006-12-27 | 2008-07-03 | Hiroshi Horii | Method and system for dividing and executing on-line transaction processing in distributed environment |
US20180219883A1 (en) * | 2017-01-27 | 2018-08-02 | International Business Machines Corporation | Secured event monitoring leveraging blockchain |
CN109559226A (en) * | 2018-11-28 | 2019-04-02 | 杭州有盾网络科技有限公司 | Block chain transaction execution method, system and electronic equipment and storage medium |
CN110070445A (en) * | 2019-04-28 | 2019-07-30 | 深圳前海微众银行股份有限公司 | A kind of transaction processing method and device based on block catenary system |
CN110135985A (en) * | 2019-04-04 | 2019-08-16 | 杭州抖音科技有限公司 | A kind of parallel execution method and system traded on block chain |
CN110517140A (en) * | 2019-08-26 | 2019-11-29 | 华东师范大学 | A kind of transaction of block chain intelligence contract concurrently executes method |
WO2020113314A1 (en) * | 2018-12-04 | 2020-06-11 | Zeu Crypto Networks Inc. | System and method for augmenting database applications with blockchain technology |
CN112015558A (en) * | 2020-09-03 | 2020-12-01 | 深圳壹账通智能科技有限公司 | Data verification method, device and storage medium |
CN112037058A (en) * | 2020-08-28 | 2020-12-04 | 平安科技(深圳)有限公司 | Data verification method, device and storage medium |
CN112837163A (en) * | 2021-03-22 | 2021-05-25 | 中国工商银行股份有限公司 | Block chain based batch transaction uplink method and system |
CN112837153A (en) * | 2021-02-10 | 2021-05-25 | 北京航空航天大学 | Intelligent contract conflict detection method based on directed acyclic graph |
WO2021233167A1 (en) * | 2020-05-20 | 2021-11-25 | 腾讯科技(深圳)有限公司 | Transaction processing method and apparatus, computer device, and storage medium |
CN113743941A (en) * | 2021-11-04 | 2021-12-03 | 支付宝(杭州)信息技术有限公司 | Method for executing transaction in block chain, block chain and main node |
CN113743940A (en) * | 2021-11-04 | 2021-12-03 | 支付宝(杭州)信息技术有限公司 | Method for executing transaction in block chain, main node and slave node |
CN115443457A (en) * | 2021-04-06 | 2022-12-06 | 华为云计算技术有限公司 | Transaction processing method, distributed database system, cluster and medium |
-
2023
- 2023-01-09 CN CN202310026559.0A patent/CN115796874B/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163221A1 (en) * | 2006-12-27 | 2008-07-03 | Hiroshi Horii | Method and system for dividing and executing on-line transaction processing in distributed environment |
US20180219883A1 (en) * | 2017-01-27 | 2018-08-02 | International Business Machines Corporation | Secured event monitoring leveraging blockchain |
CN109559226A (en) * | 2018-11-28 | 2019-04-02 | 杭州有盾网络科技有限公司 | Block chain transaction execution method, system and electronic equipment and storage medium |
WO2020113314A1 (en) * | 2018-12-04 | 2020-06-11 | Zeu Crypto Networks Inc. | System and method for augmenting database applications with blockchain technology |
CN110135985A (en) * | 2019-04-04 | 2019-08-16 | 杭州抖音科技有限公司 | A kind of parallel execution method and system traded on block chain |
CN110070445A (en) * | 2019-04-28 | 2019-07-30 | 深圳前海微众银行股份有限公司 | A kind of transaction processing method and device based on block catenary system |
CN110517140A (en) * | 2019-08-26 | 2019-11-29 | 华东师范大学 | A kind of transaction of block chain intelligence contract concurrently executes method |
WO2021233167A1 (en) * | 2020-05-20 | 2021-11-25 | 腾讯科技(深圳)有限公司 | Transaction processing method and apparatus, computer device, and storage medium |
CN112037058A (en) * | 2020-08-28 | 2020-12-04 | 平安科技(深圳)有限公司 | Data verification method, device and storage medium |
WO2022041901A1 (en) * | 2020-08-28 | 2022-03-03 | 平安科技(深圳)有限公司 | Data verification method and apparatus, and storage medium |
CN112015558A (en) * | 2020-09-03 | 2020-12-01 | 深圳壹账通智能科技有限公司 | Data verification method, device and storage medium |
CN112837153A (en) * | 2021-02-10 | 2021-05-25 | 北京航空航天大学 | Intelligent contract conflict detection method based on directed acyclic graph |
CN112837163A (en) * | 2021-03-22 | 2021-05-25 | 中国工商银行股份有限公司 | Block chain based batch transaction uplink method and system |
CN115443457A (en) * | 2021-04-06 | 2022-12-06 | 华为云计算技术有限公司 | Transaction processing method, distributed database system, cluster and medium |
CN113743941A (en) * | 2021-11-04 | 2021-12-03 | 支付宝(杭州)信息技术有限公司 | Method for executing transaction in block chain, block chain and main node |
CN113743940A (en) * | 2021-11-04 | 2021-12-03 | 支付宝(杭州)信息技术有限公司 | Method for executing transaction in block chain, main node and slave node |
Non-Patent Citations (2)
Title |
---|
RISHI SAKET WT AL.: "Smart Contract Protocol for Authenticity and Compliance with Anonymity on Hyperledger Fabric" * |
郑观;范克韬;吴泓;: "区块链电子证据真实性的认定路径" * |
Also Published As
Publication number | Publication date |
---|---|
CN115796874B (en) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321637B2 (en) | Computing system with optimized support for transactional memory | |
US9009452B2 (en) | Computing system with transactional memory using millicode assists | |
US8095750B2 (en) | Transactional memory system with fast processing of common conflicts | |
US8117403B2 (en) | Transactional memory system which employs thread assists using address history tables | |
US9569254B2 (en) | Automatic checkpointing and partial rollback in software transaction memory | |
US8095741B2 (en) | Transactional memory computing system with support for chained transactions | |
US9411635B2 (en) | Parallel nested transactions in transactional memory | |
US8688920B2 (en) | Computing system with guest code support of transactional memory | |
US7962456B2 (en) | Parallel nested transactions in transactional memory | |
US8271464B2 (en) | Parallel nested transactions in transactional memory | |
US20140047186A1 (en) | Transactional memory system with efficient cache support | |
US9336066B2 (en) | Hybrid linear validation algorithm for software transactional memory (STM) systems | |
EP1456750A1 (en) | Collision handling apparatus and method | |
US10642792B2 (en) | Distributed transaction conflict resolution | |
EP3396560B1 (en) | Database operating method and device | |
US20080005498A1 (en) | Method and system for enabling a synchronization-free and parallel commit phase | |
TW201346721A (en) | Overlapping atomic regions in a processor | |
Litz et al. | Efficient correction of anomalies in snapshot isolation transactions | |
CN112100188B (en) | Concurrency control method and system based on machine learning | |
Lin et al. | Operation-level concurrent transaction execution for blockchains | |
CN115858252B (en) | Data recovery method, device and storage medium | |
CN115796874A (en) | Operation-level block chain transaction concurrent execution method | |
Chan et al. | TrC-MC: decentralized software transactional memory for multi-multicore computers | |
KR102105687B1 (en) | Apparatus and method of providing lock-free reading | |
Ma et al. | Key-Based Transaction Reordering: An Optimized Approach for Concurrency Control in Hyperledger Fabric |
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 |