CN113077344B - Block chain-based transaction method, device, electronic equipment and storage medium - Google Patents

Block chain-based transaction method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113077344B
CN113077344B CN202110405948.5A CN202110405948A CN113077344B CN 113077344 B CN113077344 B CN 113077344B CN 202110405948 A CN202110405948 A CN 202110405948A CN 113077344 B CN113077344 B CN 113077344B
Authority
CN
China
Prior art keywords
transaction
executed
target
transactions
round
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
CN202110405948.5A
Other languages
Chinese (zh)
Other versions
CN113077344A (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202110405948.5A priority Critical patent/CN113077344B/en
Publication of CN113077344A publication Critical patent/CN113077344A/en
Application granted granted Critical
Publication of CN113077344B publication Critical patent/CN113077344B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application provides a transaction method, a device, electronic equipment and a storage medium based on a blockchain, which are used for not only executing grouping operation on a transaction to be executed to obtain at least one target transaction group, but also determining at least one target transaction in a current transaction round when the last executed grouping operation is not the first grouping operation executed by the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed; and taking the target transaction which is not adopted in the current transaction round as a new transaction to be executed, and carrying out grouping operation of the next transaction round. By classifying the transactions according to the transaction status, only partial transactions are regrouped, thereby improving the efficiency of blockchain transaction execution.

Description

Block chain-based transaction method, device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of blockchain technologies, and in particular, to a blockchain-based transaction method, device, electronic apparatus, and storage medium.
Background
Currently, blockchain transaction execution based on an account model is performed sequentially, so that consistency of the overall state of all nodes of the blockchain after executing transactions is ensured. However, executing each transaction sequentially, the advantage that the computer can execute in parallel cannot be fully and effectively utilized, and some existing researches are based on parallel execution of transaction grouping and the like, but the grouping is inaccurate, and instead, the execution needs to be re-executed, the execution efficiency is low, and the executed transaction grouping cannot be used for carrying out the maximized correct grouping on the subsequent transaction grouping. Resulting in slower transaction execution efficiency for existing blockchains based on account models.
Disclosure of Invention
In view of the above, the present application provides a blockchain-based transaction method, device, electronic apparatus and storage medium, which can effectively improve the efficiency of blockchain transaction execution.
The first aspect of the present application provides a blockchain-based transaction method, comprising:
grouping operation is carried out on the to-be-executed transactions in the transaction set required to be executed in the current transaction round, and at least one target transaction group is obtained; the address information sets of the to-be-executed transactions in each target transaction group are not intersected with the address information sets of the to-be-executed transactions in other target transaction groups;
if the last executed grouping operation is not the first grouping operation executed on the current transaction round, determining at least one target transaction in the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed; the pending transaction is a transaction that allows for direct multiplexing of the transaction execution results in a previous transaction round;
judging whether each target transaction is adopted;
if each target transaction is judged to be adopted, ending the transaction of the current transaction round;
If any target transaction is judged not to be adopted, the target transaction which is not adopted is taken as a new transaction to be executed, and the grouping operation of the transaction to be executed in the transaction set which needs to be executed for the current transaction round is returned to be executed aiming at the new transaction to be executed, so that at least one target transaction group is obtained.
Optionally, the blockchain-based transaction method further includes:
if the last executed grouping operation is the first grouping operation executed on the current transaction round, processing each target transaction group in parallel; wherein one or more of the transactions to be executed in the target transaction group are executed serially.
Optionally, the grouping operation is performed on the transactions to be performed in the transaction set to be performed in the current transaction round, so as to obtain at least one target transaction group, which includes:
acquiring a transaction set to be executed of a current transaction round; the transaction set to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
confirming that each two address information sets of the transactions to be executed have the transaction sets of the transactions to be executed in all the transactions to be executed;
And in all the transactions to be executed, the transactions to be executed with the intersection set of the address information sets of the transactions to be executed are taken as the same target transaction group.
Optionally, after processing each of the target transaction groups in parallel if the last performed grouping operation is a first grouping operation performed on a current transaction round, the method further includes:
judging whether a pending transaction set in a previous transaction round is empty or not; wherein the set of pending transactions consists of at least one of the pending transactions;
if the pending transaction set in the previous transaction round is judged to be empty, assigning an execution result of the transaction to be executed in each target transaction group in the current transaction round to the transaction set to be executed, and returning to execute the grouping operation of the transaction to be executed in the transaction set to be executed in the current transaction round to obtain at least one target transaction group;
if the pending transaction set in the previous transaction round is judged not to be empty, merging the already executed pending transaction set with the pending transaction set in each target transaction group in the current transaction round, assigning the merged pending transaction set to the transaction set to be executed, and returning to execute the grouping operation of the pending transaction in the transaction set to be executed in the current transaction round to obtain at least one target transaction group.
Optionally, if it is determined that any one of the target transactions is not adopted, taking the unadopted target transaction as a new transaction to be executed, and for the new transaction to be executed, returning to execute the grouping operation of the transaction to be executed in the transaction set to be executed for the current transaction round, to obtain at least one target transaction group, and then further including:
storing the address information set of the unadopted target transaction and the address information set of the transaction conflicting with the unadopted target transaction into the same dependency table in the transaction grouping dependency library.
Optionally, before the grouping operation is performed on the transactions to be performed in the transaction set to be performed in the current transaction round to obtain at least one target transaction group, the method further includes:
initializing a transaction grouping dependency library; the transaction grouping dependency library consists of a plurality of dependency tables, and the dependency variables of the transaction grouping dependency library are as follows: transaction party address information, transacted party address information, and contract address information for a transaction.
Optionally, before the grouping operation is performed on the transactions to be performed in the transaction set to be performed in the current transaction round to obtain at least one target transaction group, the method further includes:
Initializing a transaction set to be executed, a front-wheel transaction set to be executed, an adoptable transaction set, a pending transaction set and a maximum serial number variable of a currently adoptable transaction in a block.
Optionally, the transactions to be executed in the target transaction group are ordered according to the transaction index from small to large, and if the grouping operation executed last time is not the first grouping operation executed for the current transaction round, determining at least one target transaction in the current transaction round includes:
determining a target transaction group for which a conflicting transaction exists;
determining a conflict index of the target group of the conflict transaction for each target transaction group of the conflict transaction; the conflict index is a transaction index value of a transaction to be executed, wherein the transaction index value is in conflict with a first transaction group in the target transaction group with conflict;
determining the minimum value of all conflict indexes of the target groups with conflict transactions as a target conflict index;
determining the transaction to be executed, of which the transaction index value is smaller than the target conflict index, as an acceptable transaction;
determining that the transaction index value of the transaction to be executed is larger than or equal to the target conflict index and does not belong to the transaction to be executed in the transaction set to be determined as the transaction needing to be executed again;
And determining the transaction to be executed with the transaction index value to be executed being greater than or equal to the target conflict index in the target transaction group without conflict transaction as the transaction to be determined.
A second aspect of the present application provides a blockchain-based transaction device, comprising:
the grouping unit is used for performing grouping operation on the to-be-executed transactions in the transaction set required to be executed in the current transaction round to obtain at least one target transaction group; the address information set of the to-be-executed transaction in each target transaction group is not intersected with the address information sets of the to-be-executed transactions in other target transaction groups;
a determining unit, configured to determine at least one target transaction in the current transaction round if the grouping operation performed last time is not a first grouping operation performed on the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed; the pending transaction is a transaction that allows for direct multiplexing of the transaction execution results in a previous transaction round;
a first judging unit configured to judge whether each of the target transactions is accepted;
The ending unit is used for ending the transaction of the current transaction round if the first judging unit judges that each target transaction is adopted;
and the activating unit is used for taking the unadopted target transaction as a new transaction to be executed if the first judging unit judges that any target transaction is not adopted, and activating the grouping unit to execute grouping operation on the transaction to be executed in the transaction set which needs to be executed for the current transaction round aiming at the new transaction to be executed to obtain at least one target transaction group.
Optionally, the blockchain-based transaction device further includes:
a processing unit, configured to, if the last executed grouping operation is a first grouping operation executed on a current transaction round, process each of the target transaction groups in parallel; wherein one or more of the transactions to be executed in the target transaction group are executed serially.
Optionally, the grouping unit includes:
the acquisition unit is used for acquiring a transaction set which needs to be executed in the current transaction round; the transaction set to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
The confirmation unit is used for confirming that each two sets of address information of the transactions to be executed have intersection transactions in all the transactions to be executed;
and the grouping subunit is used for taking the transaction to be executed, of which the address information sets are intersected, as the same target transaction group in all the transactions to be executed.
Optionally, the blockchain-based transaction device further includes:
the second judging unit is used for judging whether the pending transaction set in the previous transaction round is empty or not; wherein said set of pending transactions consists of at least one of said pending transactions;
the assignment unit is used for assigning an execution result of the transaction to be executed in each target transaction group in the current transaction round to the transaction set to be executed if the second judgment unit judges that the pending transaction set in the current transaction round is empty, and activating the grouping unit to execute grouping operation of the transaction to be executed in the transaction set to be executed in the current transaction round to obtain at least one target transaction group;
the assigning unit is further configured to, if the second determining unit determines that the pending transaction set in the previous transaction round is not empty, combine the pending transaction set with the pending transaction set that has already been executed in each target transaction group in the current transaction round, assign the combined result to the transaction set that needs to be executed, and activate the grouping unit to execute the grouping operation for the pending transaction in the transaction set that needs to be executed in the current transaction round, so as to obtain at least one target transaction group.
Optionally, the blockchain-based transaction device further includes:
and the storage unit is used for storing the address information set of the unadopted target transaction and the address information set of the transaction which conflicts with the unadopted target transaction into the same dependency table in the transaction grouping dependency library.
Optionally, the blockchain-based transaction device further includes:
a first initializing unit for initializing a transaction grouping dependency library; the transaction grouping is composed of Lai Kuyou dependency tables, and the dependency variables of the transaction grouping dependency library are as follows: transaction party address information, transacted party address information, and contract address information for a transaction.
Optionally, the blockchain-based transaction device further includes:
the second initializing unit is used for initializing a transaction set to be executed, a front-wheel transaction set to be executed, an acceptable transaction set, a pending transaction set and a maximum serial number variable of a currently adopted transaction in a block.
Optionally, the determining unit includes:
a conflict transaction determining unit for determining a target transaction group in which a conflict transaction exists;
a conflict index determining unit, configured to determine, for each target transaction group of the conflicting transactions, a conflict index of the target group of the conflicting transactions; wherein, the conflict index is a transaction index value of the first conflicting transaction to be executed in the target transaction group with conflict transaction;
A target conflict index determining unit, configured to determine, as a target conflict index, a minimum value of all conflict indexes of the target group in which conflict transactions exist;
an adoptable trade determining unit for determining the trade to be executed with the trade index value smaller than the target conflict index as adoptable trade;
a transaction confirmation unit needing to be re-executed, configured to determine that a transaction index value of a transaction to be executed is greater than or equal to the target conflict index and does not belong to a transaction to be executed in a pending transaction set, as a transaction needing to be re-executed;
and the pending transaction confirmation unit is used for determining the pending transaction with the transaction index value to be executed being greater than or equal to the target conflict index in the target transaction group without conflict transaction as the pending transaction.
A third aspect of the present application provides an electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon;
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the blockchain-based transaction method of any of the first aspects.
A fourth aspect of the present application provides a storage medium having stored thereon a computer program, wherein the computer program when executed by a processor implements the blockchain-based transaction method of any of the first aspects.
According to the block chain-based transaction method, the device, the electronic equipment and the storage medium, the block chain-based transaction method obtains at least one target transaction group by performing grouping operation on transactions to be performed in a transaction set which needs to be performed in a current transaction round; the address information set of the to-be-executed transaction in each target transaction group is not intersected with the address information sets of the to-be-executed transactions in other target transaction groups; if the last performed grouping operation is not the first grouping operation performed on the current transaction round, determining at least one target transaction in the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed; pending transactions are transactions that allow for direct multiplexing of the transaction execution results in a previous transaction round; ending the transaction of the current transaction round if each target transaction is adopted; if any target transaction is not adopted, the unadopted target transaction is used as a new transaction to be executed, and the grouping operation of the transaction to be executed in the transaction set which needs to be executed for the current transaction round is returned to be executed aiming at the new transaction to be executed, so that at least one target transaction group is obtained. Compared with the prior art, when conflict transactions occur in the transaction execution process, the method and the device need to regroupe all transactions, and the transactions are classified according to the transaction states and regrouped only for part of the transactions, so that the execution efficiency of the blockchain transactions is effectively improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are needed in the description of the embodiments or the prior art will be briefly described below, it being obvious that the drawings in the description below are only embodiments of the present invention, and that other drawings can be obtained from the provided drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart of a blockchain-based transaction method according to an embodiment of the present disclosure;
FIG. 2 is a flow chart of a method for grouping transactions to be performed according to another embodiment of the present application;
FIG. 3 is a flow chart of a method for validating a target transaction according to another embodiment of the present application;
FIG. 4 is a schematic diagram of a conflicting transaction according to another embodiment of the present application;
FIG. 5 is a schematic diagram of a blockchain-based transaction device according to another embodiment of the present disclosure;
fig. 6 is a schematic diagram of a grouping unit according to another embodiment of the present application;
FIG. 7 is a schematic diagram of a determining unit according to another embodiment of the present application;
fig. 8 is a schematic diagram of an electronic device implementing a blockchain-based transaction method according to another embodiment of the present application.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without creative efforts, are within the protection scope of the invention.
It should be noted that the terms "first," "second," and the like in this application are used merely to distinguish between different devices, modules, or units and are not intended to limit the order or interdependence of functions performed by such devices, modules, or units, but the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but also other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The embodiment of the application provides a transaction method based on a blockchain, as shown in fig. 1, specifically comprising the following steps:
s101, grouping operation is performed on the to-be-executed transactions in the transaction set which needs to be executed on the current transaction round, and at least one target transaction group is obtained.
The transaction set to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed; each set of address information for a transaction to be performed includes: transaction party address information, transacted party address information, and contract address information; the transactions to be executed in the target transaction group are ordered according to the transaction index of the transactions to be executed; the address information set of the to-be-executed transaction in each target transaction group has no intersection with the address information sets of the to-be-executed transactions in other target transaction groups.
It will be appreciated that when the transaction device is first started, the transaction group dependency library in the transaction device needs to be initialized.
The transaction grouping dependency library consists of a plurality of dependency tables, and the dependency variables of the transaction grouping dependency library are as follows: transaction party address information, transacted party address information, and contract address information for a transaction. And the dependent variables in each set of dependency tables must be related.
It should be noted that, if the current transaction round is the first transaction round, the transaction set to be executed, the front-round transaction set to be executed, the applicable transaction set, the pending transaction set, and the maximum serial number variable of the currently adopted transaction in the block need to be initialized.
Wherein the transaction in the pending transaction set is a transaction execution result in a previous transaction round which does not need to be re-executed in the current transaction round and can be directly multiplexed, but it cannot be determined whether the transaction is a accepted transaction.
It will be appreciated that the set of transactions to be performed includes at least one transaction group to be performed, the set of front-wheel transactions to be performed includes at least one front-wheel transaction group to be performed, the adaptable set of transactions includes at least one adaptable transaction group, and the pending set of transactions includes at least one pending transaction group. The set of transactions that need to be performed may be denoted executing Transactions { }, the set of front-wheel transactions that need to be performed may be denoted presroups { }, the set of admissible transactions may be denoted accept Transactions { }, the set of pending transactions may be denoted pending Groups { }, and the maximum sequence number variable in the block for the currently admissible transaction may be denoted lastAccept TrxIndex.
Specifically, executingtransactions= { transactions in block }, pregroups= accept Transactions =recirculating groups=empty set, lastAccept TrxIndex is-1.
Optionally, in another embodiment of the present application, an implementation of step S101, as shown in fig. 2, includes:
s201, acquiring a transaction set which needs to be executed in the current transaction round.
The transaction set to be executed comprises at least one transaction to be executed and address information sets of each transaction to be executed.
S202, confirming that each two address information sets of the transactions to be executed have intersection transactions among all the transactions to be executed.
For example: and if the address information of the transaction party of the transaction A to be executed is the same as that of the transaction party of the transaction B to be executed, confirming that the intersection exists between the address information set of the transaction A to be executed and the address information set of the transaction B to be executed.
It is understood that only when the address information of the transaction party of the transaction to be executed a and the transaction party of the transaction to be executed B, and the contract address information of the transaction to be executed a and the transaction to be executed B are different, it is confirmed that the address information set of the transaction to be executed a and the address information set of the transaction to be executed B have no intersection.
S203, in all the transactions to be executed, the transaction to be executed with the intersection set of the address information sets of the transaction to be executed is used as the same target transaction group.
It will be understood that when there is an intersection between the set of address information of the to-be-executed transaction a and the set of address information of the to-be-executed transaction B, and there is an intersection between the set of address information of the to-be-executed transaction C and the set of address information of the to-be-executed transaction B, then the to-be-executed transaction a, the to-be-executed transaction B, and the to-be-executed transaction C are the same target transaction group.
It should be noted that, after grouping the transactions to be executed, it is also required to confirm whether the generated target transaction group is the first generated target transaction group. Specifically, if the target transaction group is the first generated transaction group, determining whether the first generated target transaction group conflicts with the transaction group in the transaction group dependency library; if the first generated transaction group is judged to have conflict with the transaction groups in the transaction group dependence library, combining the two conflicting transaction groups to obtain a final target transaction group, and if the first generated transaction group is judged to have no conflict with the transaction groups in the transaction group dependence library, not processing.
S102, judging whether the last executed grouping operation is the first grouping operation executed for the current transaction round.
Specifically, if it is determined that the last packet operation performed is not the first packet operation performed on the current transaction round, step S103 is performed. If it is determined that the last grouping operation is the first grouping operation performed on the current transaction round, because of the grouping manner adopted in step S101, the address information set of the transaction to be performed in each target transaction group obtained after grouping does not have an intersection with the address information sets of the transaction to be performed in other target transaction groups, so that each target transaction group can be directly processed in parallel.
It should be noted that one or more transactions to be executed in the target transaction group are executed serially. Before executing the transaction to be executed, the dependency field of each transaction to be executed needs to be cleared, and during the execution process of the transaction to be executed, related addresses need to be stored into the dependency field of the transaction to be executed when operations such as reading and writing contract variables, account addresses and the like are performed each time.
Optionally, in another embodiment of the present application, an implementation after parallel processing of each target transaction group includes:
Judging whether a pending transaction set in a previous transaction round is empty or not; wherein the set of pending transactions consists of at least one pending transaction.
Specifically, if it is determined that the pending transaction set in the previous transaction round is empty, assigning an execution result of the transaction to be executed in each target transaction group in the current transaction round to the transaction set to be executed, and returning to the execution step S101; if it is determined that the set of pending transactions in the previous transaction round is not empty, merging the set of pending transactions with the set of pending transactions in each target transaction group in the current transaction round, assigning the set of pending transactions to the set of transactions to be executed, and returning to the execution step S101.
S103, determining at least one target transaction in the current transaction round.
Wherein the target transaction is an adoptable transaction or a pending transaction or a transaction requiring re-execution.
It should be noted that, after determining the admissible transaction, the admissible transaction is added to the admissible transaction set, after determining the pending transaction, the pending transaction is added to the pending transaction set, after determining the transaction needing to be re-executed, the transaction needing to be re-executed is added to the transaction set needing to be executed in the next transaction round, after determining at least one target transaction in the current transaction round, the maximum serial number variable of the currently admissible transaction in the block is also required to be calculated, and the transaction set after the maximum serial number variable of the currently admissible transaction in the block is marked as the transaction set needing to be executed in the next round.
Optionally, in another embodiment of the present application, an implementation of step S103, as shown in fig. 3, includes:
s301, determining a target transaction group with conflict transactions.
The transactions to be executed in the target transaction group are ordered from small to up to small according to the transaction index of the transactions to be executed.
It should be noted that all transactions in the target transaction group must belong to the same group in the pre Groups or the pending Groups. If all transactions within a portion of the target transaction group are from different pre Groups or pending Groups in the target transaction set to which the target transaction group belongs, then it is indicated that the transactions are related and cannot be performed in parallel, i.e., there is a conflicting transaction. I.e. the resulting target transaction group for the current packet is incorrect.
Referring to fig. 4, taking a target transaction group 1 in the target transaction set as an example, a first transaction trx 1 to be executed, a second transaction trx 2 to be executed, and a third transaction trx 3 to be executed in the target transaction group 1 are all from the group 1 in the pre Groups or the pending Groups; the fourth to-be-executed transaction trx 4 in the target transaction group 1 is from the group 3 in the presroups or the pending Groups, which indicates that the target transaction group 1 in the target transaction set is a conflicting transaction.
Specifically, transactions within the target transaction group are from different target transaction Groups of pre-Groups or pending Groups as target transaction Groups for which conflicting transactions exist.
S302, for each target transaction group with conflict transactions, determining conflict indexes of the target groups with conflict transactions.
The conflict index is a transaction index value of a first conflict transaction to be executed in a target transaction group with conflict transactions.
Referring to fig. 4, continuing the above example, the transaction index value of the fourth transaction trx4 to be executed in the target transaction group 1 is used as the conflict index of the target transaction group 1.
S303, determining the minimum value of all conflict indexes of the target groups with conflict transactions as target conflict indexes.
S304, determining the transaction to be executed with the transaction index value smaller than the target conflict index as the applicable transaction.
S305, determining that the transaction index value of the transaction to be executed is larger than or equal to the target conflict index and does not belong to the transaction to be executed in the pending transaction set as the transaction needing to be executed again.
S306, determining the transaction to be executed with the transaction index value larger than or equal to the target conflict index in the target transaction group without conflict transaction as the transaction to be determined.
S104, judging whether each target transaction is adopted.
Specifically, if it is determined that each target transaction is adopted, step S105 is executed; if it is determined that any target transaction is not accepted, step S106 is performed.
S105, ending the transaction of the current transaction round.
S106, taking the unadopted target transaction as a new transaction to be executed.
It will be appreciated that in order to make the data in the dependency library richer and more accurate, in another embodiment of the present application, an implementation after step S106 further includes:
storing the address information set of the unadopted target transaction and the address information set of the transaction conflicting with the unadopted target transaction into the same dependency table in the transaction grouping dependency library.
As can be seen from the above solution, in the blockchain-based transaction method provided by the present application, not only is the transaction to be executed performed in a grouping manner, so as to obtain at least one target transaction group, but also each target transaction group is directly processed in parallel when the last performed grouping operation is the first grouping operation performed on the current transaction round, so that the efficiency of executing the blockchain transaction is improved; and when the last executed grouping operation is not the first grouping operation executed by the current transaction round, determining at least one target transaction in the current transaction round, wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed, taking the unadopted target transaction in the current transaction round as a new transaction to be executed, and performing the grouping operation of the next transaction round, wherein the grouping operation is performed by classifying the transactions according to the transaction state, and only re-grouping part of the transactions, thereby further improving the execution efficiency of the blockchain transaction.
Another embodiment of the present application provides a transaction device based on blockchain, as shown in fig. 5, specifically including:
a grouping unit 501, configured to perform a grouping operation on a transaction to be performed in a transaction set that needs to be performed in a current transaction round, so as to obtain at least one target transaction group.
The address information set of the to-be-executed transaction in each target transaction group is not intersected with the address information sets of the to-be-executed transactions in other target transaction groups.
Optionally, in another embodiment of the present application, an implementation of the grouping unit 501, as shown in fig. 6, includes:
an obtaining unit 601 is configured to obtain a transaction set that needs to be executed in a current transaction round.
The transaction set to be executed comprises at least one transaction to be executed and address information sets of each transaction to be executed.
A confirmation unit 602, configured to confirm, among all the transactions to be executed, that each two sets of address information of the transactions to be executed have an intersection.
The grouping subunit 603 is configured to set, as the same target transaction group, the transaction to be executed having the address information of the transaction to be executed aggregated in all the transactions to be executed.
The specific working process of the unit disclosed in the foregoing embodiments of the present application may refer to the content of the corresponding method embodiment, as shown in fig. 2, which is not described herein again.
A determining unit 502, configured to determine at least one target transaction in the current transaction round if the last performed grouping operation is not the first grouping operation performed on the current transaction round.
Wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed; pending transactions are transactions that allow for the direct multiplexing of the results of execution of transactions in a previous transaction round.
Alternatively, in another embodiment of the present application, an implementation of the determining unit 502 is shown in fig. 7. Comprising the following steps:
a conflict transaction determining unit 701, configured to determine a target transaction group in which a conflict transaction exists.
A conflict index determining unit 702, configured to determine, for each target transaction group in which a conflict transaction exists, a conflict index of the target group in which the conflict transaction exists.
The conflict index is a transaction index value of a first conflict transaction to be executed in a target transaction group with conflict transactions.
The target conflict index determining unit 703 is configured to determine, as a target conflict index, a minimum value of conflict indexes of all target groups where conflict transactions exist.
An admissible transaction determining unit 704, configured to determine, as an admissible transaction, a transaction to be executed whose transaction index value is smaller than the target conflict index.
The transaction confirmation unit 705 for determining that the transaction index value of the transaction to be executed is greater than or equal to the target conflict index and does not belong to the transaction to be executed in the pending transaction set as the transaction to be executed again is needed.
A pending transaction confirmation unit 706, configured to determine, as a pending transaction, a pending transaction having a transaction index value greater than or equal to the target conflict index, from the target transaction group without the conflict transaction.
The specific working process of the unit disclosed in the foregoing embodiments of the present application may refer to the content of the corresponding method embodiment, as shown in fig. 3, which is not described herein again.
A first determining unit 503, configured to determine whether each target transaction is accepted.
An ending unit 504, configured to end the transaction of the current transaction round if the first determining unit 503 determines that each target transaction is accepted.
An activating unit 505, configured to, if the first determining unit 503 determines that any target transaction is not adopted, take the unadopted target transaction as a new transaction to be executed, and activate the grouping unit 501 to perform a grouping operation on the transaction to be executed in the transaction set that needs to be executed for the current transaction round, so as to obtain at least one target transaction group.
The specific working process of the unit disclosed in the foregoing embodiments of the present application may refer to the content of the corresponding method embodiment, as shown in fig. 1, which is not repeated herein.
Optionally, in another embodiment of the present application, an implementation of the blockchain-based transaction device further includes:
and the processing unit is used for processing each target transaction group in parallel if the last executed grouping operation is the first grouping operation executed on the current transaction round.
Wherein one or more transactions to be performed in the target transaction group are performed serially.
The specific working process of the unit disclosed in the foregoing embodiments of the present application may refer to the content of the corresponding method embodiment, which is not described herein again.
Optionally, in another embodiment of the present application, an implementation of the blockchain-based transaction device further includes:
and the second judging unit is used for judging whether the pending transaction set in the previous transaction round is empty or not.
Wherein the set of pending transactions consists of at least one pending transaction.
A assigning unit, configured to assign an execution result of the transaction to be executed in each target transaction group in the current transaction round to the transaction set to be executed if the second judging unit judges that the pending transaction set in the previous transaction round is empty, and activate the grouping unit 501 to execute a grouping operation on the transaction to be executed in the transaction set to be executed in the current transaction round, so as to obtain at least one target transaction group; the assigning unit is further configured to, if the second determining unit determines that the pending transaction set in the previous transaction round is not empty, combine the pending transaction set with the already executed pending transaction set in each target transaction group in the current transaction round, assign the combined result to the transaction set to be executed, and activate the grouping unit 501 to execute a grouping operation on the pending transaction in the transaction set to be executed in the current transaction round, so as to obtain at least one target transaction group.
The specific working process of the unit disclosed in the foregoing embodiments of the present application may refer to the content of the corresponding method embodiment, which is not described herein again.
Optionally, in another embodiment of the present application, an implementation of the blockchain-based transaction device further includes:
and the storage unit is used for storing the address information set of the unadopted target transaction and the address information set of the transaction which conflicts with the unadopted target transaction into the same dependency table in the transaction grouping dependency library.
The specific working process of the unit disclosed in the above embodiments of the present application may be referred to in the corresponding method embodiments, and will not be repeated here
Optionally, in another embodiment of the present application, an implementation of the blockchain-based transaction device further includes:
a first initializing unit for initializing a transaction grouping dependency library.
The transaction grouping dependency library consists of a plurality of dependency tables, and the dependency variables of the transaction grouping dependency library are as follows: transaction party address information, transacted party address information, and contract address information for a transaction.
The specific working process of the unit disclosed in the foregoing embodiments of the present application may refer to the content of the corresponding method embodiment, which is not described herein again.
Optionally, in another embodiment of the present application, an implementation of the blockchain-based transaction device further includes:
the second initializing unit is used for initializing a transaction set to be executed, a front-wheel transaction set to be executed, an acceptable transaction set, a pending transaction set and a maximum serial number variable of a currently adopted transaction in a block.
The specific working process of the unit disclosed in the foregoing embodiments of the present application may refer to the content of the corresponding method embodiment, which is not described herein again.
As can be seen from the above solution, in the blockchain-based transaction device provided by the present application, the grouping unit 501 performs the grouping operation on the transaction to be performed to obtain at least one target transaction group, when the last performed grouping operation is not the first grouping operation performed on the current transaction round, the determining unit 502 determines at least one target transaction in the current transaction round, the target transaction is an acceptable transaction or a pending transaction or a transaction that needs to be re-performed, the first judging unit 503 judges that any target transaction is not adopted, the target transaction that is not adopted in the current transaction round is used as a new transaction to be performed, the activating unit 505 activates the grouping unit 501 to perform the grouping operation of the next transaction round, and by classifying the transactions according to the transaction state, only the partial transactions are re-grouped, so as to further improve the efficiency of executing the blockchain transaction.
Another embodiment of the present application provides an electronic device, as shown in fig. 8, including:
one or more processors 801.
A storage device 802 on which one or more programs are stored.
The one or more programs, when executed by the one or more processors 801, cause the one or more processors 801 to implement the blockchain-based transaction method as in any of the embodiments above.
Another embodiment of the present application provides a storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements a blockchain-based transaction method as in any of the above embodiments.
In the above embodiments of the disclosure, it should be understood that the disclosed apparatus and method may be implemented in other manners. The apparatus and method embodiments described above are merely illustrative, for example, flow diagrams and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in various embodiments of the present disclosure may be integrated together to form a single part, or each module may exist alone, or two or more modules may be integrated to form a single part. The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present disclosure may be embodied in essence or a part contributing to the prior art or a part of the technical solution, or in the form of a software product stored in a storage medium, including several instructions for causing a computer device (which may be a personal computer, a live device, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present disclosure. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Those skilled in the art can make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (18)

1. A blockchain-based transaction method, comprising:
grouping operation is carried out on the to-be-executed transactions in the transaction set required to be executed in the current transaction round, so that at least one target transaction group is obtained; the address information sets of the to-be-executed transactions in each target transaction group are not intersected with the address information sets of the to-be-executed transactions in other target transaction groups;
if the last executed grouping operation is not the first grouping operation executed on the current transaction round, determining at least one target transaction in the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed; the pending transaction is a transaction that allows for direct multiplexing of the transaction execution results in a previous transaction round; the applicable trade is to-be-executed trade with a trade index value smaller than a target conflict index; the target conflict index is the minimum value of conflict indexes of all target transaction groups with conflict transactions; the conflict index is a transaction index value of a first conflicting transaction to be executed in a target transaction group with conflicting transactions;
Judging whether each target transaction is adopted;
if each target transaction is judged to be adopted, ending the transaction of the current transaction round;
if any target transaction is judged not to be adopted, the target transaction which is not adopted is taken as a new transaction to be executed, and the grouping operation of the transaction to be executed in the transaction set which needs to be executed for the current transaction round is executed in a return mode aiming at the new transaction to be executed, so that at least one target transaction group is obtained.
2. The transaction method according to claim 1, further comprising:
if the last grouping operation is the first grouping operation executed by the current transaction round, processing each target transaction group in parallel; wherein one or more of the transactions to be executed in the target transaction group are executed serially.
3. The method of claim 1, wherein the grouping of transactions to be performed in the set of transactions requiring performance for the current transaction round to obtain at least one target transaction group comprises:
acquiring a transaction set which needs to be executed in the current transaction round; the transaction set to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
Confirming that each two address information sets of the transactions to be executed have intersection transactions in all the transactions to be executed;
and in all the transactions to be executed, the transactions to be executed with the intersection set of the address information sets of the transactions to be executed are taken as the same target transaction group.
4. The method of claim 2, wherein, after processing each of the target transaction groups in parallel if the last performed grouping operation is a first grouping operation performed on a current transaction round, further comprising:
judging whether a pending transaction set in a previous transaction round is empty or not; wherein the set of pending transactions consists of at least one of the pending transactions;
if the pending transaction set in the previous transaction round is judged to be empty, assigning an execution result of the transaction to be executed in each target transaction group in the current transaction round to the transaction set to be executed, and returning to execute the grouping operation of the transaction to be executed in the transaction set to be executed in the current transaction round to obtain at least one target transaction group;
if the pending transaction set in the previous transaction round is judged not to be empty, merging the already executed pending transaction set with the pending transaction set in each target transaction group in the current transaction round, assigning the merged pending transaction set to the transaction set to be executed, and returning to execute the grouping operation of the pending transaction in the transaction set to be executed in the current transaction round to obtain at least one target transaction group.
5. The method according to claim 1, wherein if it is determined that any of the target transactions is not accepted, taking the target transaction that is not accepted as a new transaction to be executed, and returning to execute the grouping operation for the transaction to be executed in the transaction set that needs to be executed for the current transaction round, to obtain at least one target transaction group, further comprising:
storing the address information set of the unadopted target transaction and the address information set of the transaction conflicting with the unadopted target transaction into the same dependency table in the transaction grouping dependency library.
6. The method of claim 1, wherein the grouping of transactions to be performed in the set of transactions requiring performance for the current transaction round further comprises, prior to obtaining the at least one target transaction group:
initializing a transaction grouping dependency library; the transaction grouping dependency library consists of a plurality of dependency tables, and the dependency variables of the transaction grouping dependency library are as follows: transaction party address information, transacted party address information, and contract address information for a transaction.
7. The method of claim 1, wherein the grouping of transactions to be performed in the set of transactions requiring performance for the current transaction round further comprises, prior to obtaining the at least one target transaction group:
initializing a transaction set to be executed, a front-wheel transaction set to be executed, an adoptable transaction set, a pending transaction set and a maximum serial number variable of a currently adoptable transaction in a block.
8. The method of claim 1, wherein the transactions to be performed in the target transaction group are ordered from small to large according to a transaction index, and wherein determining at least one target transaction in the current transaction round if the last performed grouping operation is not the first grouping operation performed on the current transaction round comprises:
determining a target transaction group for which a conflicting transaction exists;
determining a conflict index of the target transaction group of the conflict transaction for each target transaction group of the conflict transaction; wherein, the conflict index is a transaction index value of the first conflicting transaction to be executed in the target transaction group with conflict transaction;
Determining the minimum value of the conflict indexes of all the target transaction groups with conflict transactions as a target conflict index;
determining the transaction to be executed, of which the transaction index value is smaller than the target conflict index, as an acceptable transaction;
determining that the transaction index value of the transaction to be executed is larger than or equal to the target conflict index and does not belong to the transaction to be executed in the transaction set to be determined as the transaction needing to be executed again;
and determining the transaction to be executed with the transaction index value to be executed being greater than or equal to the target conflict index in the target transaction group without conflict transaction as the transaction to be determined.
9. A blockchain-based transaction device, comprising:
the grouping unit is used for performing grouping operation on the to-be-executed transactions in the transaction set required to be executed in the current transaction round to obtain at least one target transaction group; the address information sets of the to-be-executed transactions in each target transaction group are not intersected with the address information sets of the to-be-executed transactions in other target transaction groups;
a determining unit, configured to determine at least one target transaction in the current transaction round if the grouping operation performed last time is not a first grouping operation performed on the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be re-executed; the pending transaction is a transaction that allows for direct multiplexing of the transaction execution results in a previous transaction round; the applicable trade is to-be-executed trade with a trade index value smaller than a target conflict index; the target conflict index is the minimum value of conflict indexes of all target transaction groups with conflict transactions; the conflict index is a transaction index value of a first conflicting transaction to be executed in a target transaction group with conflicting transactions;
A first judging unit configured to judge whether each of the target transactions is accepted;
the ending unit is used for ending the transaction of the current transaction round if the first judging unit judges that each target transaction is adopted;
and the activating unit is used for taking the unadopted target transaction as a new transaction to be executed if the first judging unit judges that any target transaction is not adopted, and activating the grouping unit to execute grouping operation of the transaction to be executed in the transaction set required to be executed for the current transaction round aiming at the new transaction to be executed to obtain at least one target transaction group.
10. The transaction device according to claim 9, further comprising:
a processing unit, configured to, if the last executed grouping operation is a first grouping operation executed on a current transaction round, process each of the target transaction groups in parallel; wherein one or more of the transactions to be executed in the target transaction group are executed serially.
11. The transaction device according to claim 9, wherein the grouping unit comprises:
The acquisition unit is used for acquiring a transaction set which needs to be executed in the current transaction round; the transaction set to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
the confirmation unit is used for confirming that each two address information sets of the transactions to be executed have intersection transactions in all the transactions to be executed;
and the grouping subunit is used for taking the transaction to be executed, of which the address information sets are intersected, as the same target transaction group in all the transactions to be executed.
12. The transaction device according to claim 10, further comprising:
the second judging unit is used for judging whether the pending transaction set in the previous transaction round is empty or not; wherein the set of pending transactions consists of at least one of the pending transactions;
the assigning unit is used for assigning the execution result of the transaction to be executed in each target transaction group in the current transaction round to the transaction set to be executed if the second judging unit judges that the transaction set to be determined in the previous transaction round is empty, and activating the grouping unit to execute grouping operation of the transaction to be executed in the transaction set to be executed in the current transaction round to obtain at least one target transaction group;
The assigning unit is further configured to, if the second determining unit determines that the pending transaction set in the previous transaction round is not empty, combine the pending transaction set with the pending transaction set that has already been executed in each target transaction group in the current transaction round, assign the combined result to the transaction set that needs to be executed, and activate the grouping unit to execute the grouping operation for the pending transaction in the transaction set that needs to be executed in the current transaction round, so as to obtain at least one target transaction group.
13. The transaction device according to claim 9, further comprising:
and the storage unit is used for storing the address information set of the unadopted target transaction and the address information set of the transaction which conflicts with the unadopted target transaction into the same dependency table in the transaction grouping dependency library.
14. The transaction device according to claim 9, further comprising:
a first initializing unit for initializing a transaction grouping dependency library; the transaction grouping dependency library consists of a plurality of dependency tables, and the dependency variables of the transaction grouping dependency library are as follows: transaction party address information, transacted party address information, and contract address information for a transaction.
15. The transaction device according to claim 9, further comprising:
the second initializing unit is used for initializing a transaction set to be executed, a front-wheel transaction set to be executed, an adoptable transaction set, a pending transaction set and a maximum serial number variable of a currently adoptable transaction in a block.
16. The transaction device according to claim 9, further comprising:
a conflict transaction determining unit for determining a target transaction group in which a conflict transaction exists;
a conflict index determining unit, configured to determine, for each of the target transaction groups of the conflicting transactions, a conflict index of the target transaction group of the conflicting transaction; wherein, the conflict index is a transaction index value of the first conflicting transaction to be executed in the target transaction group with conflict transaction;
a target conflict index determining unit, configured to determine, as a target conflict index, a minimum value of conflict indexes of all the target transaction groups in which conflict transactions exist;
an adoptable trade determining unit for determining the trade to be executed with the trade index value smaller than the target conflict index as adoptable trade;
A transaction confirmation unit needing to be re-executed, configured to determine that a transaction index value of a transaction to be executed is greater than or equal to the target conflict index and does not belong to a transaction to be executed in a pending transaction set, as a transaction needing to be re-executed;
and the pending transaction confirmation unit is used for determining the pending transaction with the transaction index value to be executed being greater than or equal to the target conflict index in the target transaction group without conflict transaction as the pending transaction.
17. An electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon;
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the blockchain-based transaction method of any of claims 1 to 8.
18. A storage medium having stored thereon a computer program, wherein the computer program when executed by a processor implements the blockchain-based transaction method of any of claims 1 to 8.
CN202110405948.5A 2021-04-15 2021-04-15 Block chain-based transaction method, device, electronic equipment and storage medium Active CN113077344B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110405948.5A CN113077344B (en) 2021-04-15 2021-04-15 Block chain-based transaction method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110405948.5A CN113077344B (en) 2021-04-15 2021-04-15 Block chain-based transaction method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113077344A CN113077344A (en) 2021-07-06
CN113077344B true CN113077344B (en) 2023-06-30

Family

ID=76617618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110405948.5A Active CN113077344B (en) 2021-04-15 2021-04-15 Block chain-based transaction method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113077344B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564412B (en) * 2022-04-27 2022-07-22 北京微芯感知科技有限公司 Method and system for deterministic transaction concurrent scheduling of block chains

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108389129A (en) * 2018-02-27 2018-08-10 阿里巴巴集团控股有限公司 Transaction based on block chain executes method and device, electronic equipment

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110709871A (en) * 2017-05-22 2020-01-17 区块链控股有限公司 Parameterizable intelligent contracts
CN107678865A (en) * 2017-09-20 2018-02-09 中国银行股份有限公司 The verification method and system of block chain based on transaction packet
KR102444425B1 (en) * 2018-10-23 2022-09-16 삼성에스디에스 주식회사 Apparatus for performing batch processing for blockchain transactions and method thereof
CN109636384A (en) * 2018-10-26 2019-04-16 阿里巴巴集团控股有限公司 A kind of parallelization executes the method, apparatus and system of block chain transaction
WO2019120320A2 (en) * 2019-03-28 2019-06-27 Alibaba Group Holding Limited System and method for parallel-processing blockchain transactions
CN110135985B (en) * 2019-04-04 2021-07-27 杭州抖音科技有限公司 Parallel execution method and system for transactions on block chain
JP6827564B2 (en) * 2019-04-12 2021-02-10 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Performing parallel execution of transactions in a distributed ledger system
CN110175188B (en) * 2019-05-31 2021-05-11 杭州复杂美科技有限公司 Block chain state data caching and querying method, equipment and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108389129A (en) * 2018-02-27 2018-08-10 阿里巴巴集团控股有限公司 Transaction based on block chain executes method and device, electronic equipment

Also Published As

Publication number Publication date
CN113077344A (en) 2021-07-06

Similar Documents

Publication Publication Date Title
EP3678346B1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN110728578A (en) Parallel execution method, system and storage medium for block chain transaction
CN108595157B (en) Block chain data processing method, device, equipment and storage medium
CN112150163A (en) Block chain contract transaction parallel execution method and device
US7539689B2 (en) Bundling database
CN112506671B (en) Transaction processing method and device in block chain and electronic equipment
CN112037061A (en) Processing method and device for transactions in block chain, electronic equipment and storage medium
CN113077344B (en) Block chain-based transaction method, device, electronic equipment and storage medium
CN113704577A (en) Data query method and device based on multithreading concurrent processing
CN109344169B (en) Data processing method and device
CN111666150B (en) Storage space allocation method and device, terminal and computer readable storage medium
CN113486109A (en) Data synchronization method and device of heterogeneous database and electronic equipment
CN110706108A (en) Method and apparatus for concurrently executing transactions in a blockchain
CN113656507B (en) Method and device for executing transaction in block chain system
CN115760405A (en) Transaction execution method, device, computer equipment and medium
CN107203550B (en) Data processing method and database server
CN113703753B (en) Method and device for product development and product development system
CN112764897B (en) Task request processing method, device and system and computer readable storage medium
CN114356768A (en) Method and device for reducing transaction read-write conflict through placeholder
CN113342647A (en) Test data generation method and device
CN108984780B (en) Method and device for managing disk data based on data structure supporting repeated key value tree
CN114546884B (en) Block chain batch transaction conflict detection method and system
CN113672300B (en) Plug-in scheduling method, device and storage medium
CN115952172B (en) Data matching method and device based on database temporary table
CN116263773A (en) Data sorting method and device

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