CN113077344A - Transaction method and device based on block chain, electronic equipment and storage medium - Google Patents

Transaction method and device based on block chain, electronic equipment and storage medium Download PDF

Info

Publication number
CN113077344A
CN113077344A CN202110405948.5A CN202110405948A CN113077344A CN 113077344 A CN113077344 A CN 113077344A CN 202110405948 A CN202110405948 A CN 202110405948A CN 113077344 A CN113077344 A CN 113077344A
Authority
CN
China
Prior art keywords
transaction
executed
target
transactions
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110405948.5A
Other languages
Chinese (zh)
Other versions
CN113077344B (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

Abstract

The application provides a transaction method, a device, electronic equipment and a storage medium based on a block chain, which not only perform grouping operation on transactions to be performed to obtain at least one target transaction group, but also determine at least one target transaction in a current transaction turn when the latest performed grouping operation is not the first grouping operation performed on the current transaction turn; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be executed again; and taking the target transaction which is not adopted in the current transaction round as a new transaction to be executed, and performing grouping operation of the next transaction round. By classifying transactions according to transaction status, only partial transactions are regrouped, thereby improving the efficiency of blockchain transaction execution.

Description

Transaction method and device based on block chain, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of blockchain technologies, and in particular, to a method and an apparatus for transaction based on blockchain, an electronic device, and a storage medium.
Background
At present, the execution of the blockchain transaction based on the account model is performed in sequence, so as to ensure the consistency of the overall state after all nodes of the blockchain perform the transaction. However, each transaction is executed in sequence, which cannot fully and effectively utilize the advantage that a computer can execute in parallel, some existing researches are executed in parallel based on transaction grouping, but the grouping is not accurate, and the transaction grouping needs to be executed again, the execution efficiency is slow, and the executed transaction grouping cannot be utilized to carry out the maximum correct grouping on the subsequent transaction grouping. Resulting in slower transaction execution efficiency for existing account model-based blockchains.
Disclosure of Invention
In view of this, the present application provides a transaction method, an apparatus, an electronic device and a storage medium based on a blockchain, which can effectively improve the efficiency of executing blockchain transactions.
The application provides a transaction method based on a block chain in a first aspect, which comprises the following steps:
grouping the transactions to be executed in the transaction set required to be executed in the current transaction turn to obtain at least one target transaction group; the address information set of the transaction to be executed in each target transaction group does not intersect with the address information sets of the transactions to be executed in other target transaction groups;
determining at least one target transaction in the current transaction round if the grouping operation executed last time is not the first grouping operation executed on the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction that needs to be re-executed; the pending transaction is a transaction that allows direct multiplexing of transaction execution results in a previous transaction round;
judging whether each target transaction is adopted or not;
if each target transaction is judged to be adopted, ending the transaction of the current transaction round;
and if any target transaction is judged not to be adopted, taking the unadopted target transaction as a new transaction to be executed, and returning to execute the operation of executing the grouping operation of the transactions to be executed in the transaction set which needs to be executed in the current transaction turn aiming at the new transaction to be executed, so as to obtain at least one target transaction group.
Optionally, the blockchain-based transaction method further includes:
if the grouping operation executed last time is the first grouping operation executed on the current transaction turn, each target transaction group is processed in parallel; wherein one or more of the transactions to be executed in the target transaction group are executed serially.
Optionally, the performing a grouping operation on the to-be-executed transactions in the transaction set that needs to be executed in the current transaction turn to obtain at least one target transaction group includes:
acquiring a transaction set which needs to be executed in the current transaction turn; the transaction set needing to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
in all the transactions to be executed, confirming that the address information sets of every two transactions to be executed have the transactions to be executed of an intersection;
and in all the transactions to be executed, taking the transactions to be executed with the intersection of the address information sets of the transactions to be executed as the same target transaction group.
Optionally, if the grouping operation executed last time is a first grouping operation executed on a current transaction turn, after each target transaction group is processed in parallel, the method further includes:
judging whether the pending transaction set in the previous transaction turn 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 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, and returning to execute the transaction to be executed in the transaction set to be executed in the current transaction round to execute grouping operation to obtain at least one target transaction group;
and if the undetermined transaction set in the previous transaction round is not empty, combining the executed transactions to be executed in each target transaction group in the current transaction round with the undetermined transaction set, assigning the combined transactions to the transaction set to be executed, and returning to execute the executed transaction execution grouping operation 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 of the target transactions is not accepted, the method further includes, as a new transaction to be executed, executing a grouping operation of the transactions to be executed in the transaction set that needs to be executed in the current transaction round in return for the new transaction to be executed, and after obtaining at least one target transaction group:
and 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, before performing grouping operation on the transactions to be executed in the transaction set that needs to be executed in the current transaction turn and obtaining at least one target transaction group, the method further includes:
initializing a transaction grouping dependency base; 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: transacting party address information for a transaction, transacted party address information, and contract address information.
Optionally, before performing grouping operation on the transactions to be executed in the transaction set that needs to be executed in the current transaction turn and obtaining at least one target transaction group, the method further includes:
initializing a transaction set needing to be executed, a front-round transaction set needing to be executed, an admissible transaction set, a pending transaction set and a maximum sequence number variable of a currently-adopted transaction in a block.
Optionally, the transactions to be executed in the target transaction group are sorted from small to large according to a transaction index, and if the grouping operation executed last time is not the first grouping operation executed on the current transaction turn, determining at least one target transaction in the current transaction turn includes:
determining a target transaction group in which a conflict transaction exists;
determining a conflict index for each of the target set of conflicting transactions; wherein, the conflict index is a transaction index value of a first conflict to-be-executed transaction in the target transaction group with conflict transactions;
determining the minimum value of the conflict indexes of all the target groups with conflict transactions as a target conflict index;
determining the transaction to be executed with the transaction index value smaller than the target conflict index as an adoptable transaction;
determining 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 transaction set to be executed as the transaction needing to be executed again;
and determining the transaction to be executed with the transaction index value greater than or equal to the target conflict index in the target transaction group without conflict transaction as the pending transaction.
A second aspect of the present application provides a blockchain-based transaction apparatus, including:
the grouping unit is used for performing grouping operation on the to-be-executed transaction in the transaction set which needs to be executed in the current transaction turn to obtain at least one target transaction group; the address information set of the transaction to be executed in each target transaction group does not intersect with the address information sets of the transactions to be executed in other target transaction groups;
a determining unit, configured to determine at least one target transaction in a current transaction round if the grouping operation performed last time 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 that needs to be re-executed; the pending transaction is a transaction that allows direct reuse of transaction execution results in a previous transaction round;
the first judgment unit is used for judging whether each target transaction is adopted or not;
the ending unit is used for ending the transaction of the current transaction round if each target transaction is adopted according to the judgment of the first judging unit;
and the activation unit is used for taking the unadopted target transaction as a new transaction to be executed if the first judgment unit judges that any target transaction is unadopted, and activating the grouping unit to execute the grouping operation of the transactions to be executed in the transaction set which needs to be executed in the current transaction round according to the new transaction to be executed so as to obtain at least one target transaction group.
Optionally, the blockchain-based transaction apparatus further includes:
a processing unit, configured to process each target transaction group in parallel if the grouping operation executed last time is a first grouping operation executed on a current transaction turn; wherein one or more of the transactions to be performed in the target transaction group are performed 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 turn; the transaction set needing to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
the confirming unit is used for confirming the to-be-executed transaction with intersection of the address information sets of every two to-be-executed transactions in all the to-be-executed transactions;
and the grouping subunit is used for taking the to-be-executed transactions with intersection in the address information sets of the to-be-executed transactions as the same target transaction group in all the to-be-executed transactions.
Optionally, the blockchain-based transaction apparatus further includes:
the second judgment unit is used for judging whether the pending transaction set in the previous transaction turn is empty or not; wherein the set of pending transactions consists of at least one of the pending transactions;
the assignment unit is configured to assign, if the second determination unit determines that the pending transaction set in the previous transaction round is empty, an execution result of the to-be-executed transaction in each target transaction group in the current transaction round to the transaction set to be executed, and activate the grouping unit to execute the to-be-executed transaction execution grouping operation in the transaction set to be executed in the current transaction round, so as to obtain at least one target transaction group;
the assignment unit is further configured to, if the second determination unit determines that the transaction set to be determined in the previous transaction round is not empty, merge executed transactions in each target transaction group in the current transaction round with the pending transaction set, assign the transaction set to be executed after merging the executed transactions in each target transaction group, and activate the grouping unit to execute the executed transaction execution grouping operation on the transactions in the transaction set to be executed in the current transaction round, so as to obtain at least one target transaction group.
Optionally, the blockchain-based transaction apparatus 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 apparatus further includes:
a first initialization unit for initializing a transaction group dependency base; wherein the transaction group dependency library is composed of a plurality of dependency tables, and the dependency variables of the transaction group dependency library are: transacting party address information for a transaction, transacted party address information, and contract address information.
Optionally, the blockchain-based transaction apparatus further includes:
and the second initialization unit is used for initializing the transaction set needing to be executed, the front-round transaction set needing to be executed, the admissible transaction set, the pending transaction set and the maximum serial number variable of the currently-adopted transaction in the block.
Optionally, the determining unit includes:
a conflict transaction determination 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 for which there is a conflict transaction, a conflict index for the target group for which there is a conflict transaction; wherein, the conflict index is a transaction index value of a first conflict to-be-executed transaction in the target transaction group with conflict transactions;
the target conflict index determining unit is used for determining the minimum value of conflict indexes of all the target groups with conflict transactions as a target conflict index;
the receivable transaction determining unit is used for determining the transaction to be executed with the transaction index value smaller than the target conflict index as the receivable transaction;
the transaction confirmation unit is used for determining the transaction to be executed which is not in the pending transaction set and has the transaction index value larger than or equal to the target conflict index and needs to be executed again;
and the pending transaction confirmation unit is used for 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 the 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 a blockchain based transaction method according to any one of the first aspects.
A fourth aspect of the present application provides a storage medium having a computer program stored thereon, wherein the computer program when executed by a processor implements the blockchain-based transaction method according to any one of the first aspects.
According to the scheme, in the block chain-based transaction method, the block chain-based transaction 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 the to-be-executed transactions in the transaction set required to be executed in the current transaction turn; the address information set of the transaction to be executed in each target transaction group does not intersect with the address information sets of the transactions to be executed in other target transaction groups; if the grouping operation executed last time is not the first grouping operation executed on the current transaction turn, determining at least one target transaction in the current transaction turn; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction needing to be executed again; the pending transaction is a transaction that allows direct multiplexing of the transaction execution results in the previous transaction round; if each target transaction is adopted, ending the transaction of the current transaction round; and if any target transaction is not adopted, taking the unadopted target transaction as a new transaction to be executed, and returning to execute the execution grouping operation of the transactions to be executed in the transaction set which needs to be executed in the current transaction turn aiming at the new transaction to be executed to obtain at least one target transaction group. Compared with the prior art, when conflict transactions occur in the transaction execution process, all transactions need to be regrouped, the transactions are classified according to the transaction states, and only partial transactions are regrouped, so that the efficiency of block chain transaction execution 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 used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a detailed flowchart of a transaction method based on a blockchain 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 of validating a target transaction according to another embodiment of the present application;
FIG. 4 is a schematic diagram of a conflict transaction provided in accordance with another embodiment of the present application;
fig. 5 is a schematic diagram of a transaction apparatus based on a blockchain 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 view of an electronic device implementing a blockchain-based transaction method according to another embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first", "second", and the like, referred to in this application, are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence of functions performed by these devices, modules or units, but the terms "include", or any other variation thereof are intended to cover a non-exclusive inclusion, so that a process, method, article, or apparatus that includes a series of elements does not include only those elements, but also includes other elements that are not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The embodiment of the application provides a transaction method based on a block chain, which specifically comprises the following steps as shown in fig. 1:
s101, grouping operation is carried out on the transactions to be executed in the transaction set which needs to be executed in the current transaction turn, 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; the address information set of each transaction to be executed comprises: trading party address information, traded party address information and contract address information; the transactions to be executed in the target transaction group are sorted from small to large according to the transaction indexes of the transactions to be executed; the address information set of the transaction to be executed in each target transaction group does not intersect with the address information sets of the transactions to be executed in other target transaction groups.
It will be appreciated that the first time the transaction device is started, the transaction group in the transaction device needs to be initialized against the 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: transacting party address information for a transaction, transacted party address information, and contract address information. And the dependent variables in each set of dependency tables are necessarily related.
It should be noted that, if the current transaction turn is the first transaction turn, the transaction set that needs to be executed, the front-round transaction set that needs to be executed, the admissible transaction set, the pending transaction set, and the maximum sequence number variable of the currently-adopted transaction in the block need to be initialized.
The transaction in the pending transaction set is not required to be executed again in the current transaction turn, and the transaction execution result in the previous transaction turn can be directly reused, but whether the transaction is adopted or not cannot be determined.
It can be understood that the transaction set to be executed includes at least one transaction group to be executed, the front-round transaction set to be executed includes at least one front-round transaction group to be executed, the adoptable transaction set includes at least one adoptable transaction group, and the pending transaction set includes at least one pending transaction group. The set of Transactions that need to be executed may be denoted as executing Transactions { }, the set of front round Transactions that need to be executed may be denoted as preGroups { }, the set of admissible Transactions may be denoted as accept Transactions { }, the set of pending Transactions may be denoted as pending Groups { }, and the largest sequence number variable of the currently-admitted Transactions in the block may be denoted as lastAccept TrxIndex.
Specifically, initialization transformations is { transformations in block }, pre Groups is acquisition transformations, pending Groups is empty set, and lastAccept TrxIndex is-1.
Optionally, in another embodiment of the present application, an implementation manner of step S101, as shown in fig. 2, includes:
s201, acquiring a transaction set which needs to be executed in the current transaction turn.
The transaction set to be executed includes at least one transaction to be executed and an address information set of each transaction to be executed.
S202, in all the transactions to be executed, the transactions to be executed with intersection of the address information sets of every two transactions to be executed are confirmed.
For example: and if the address information of the transaction A to be executed is the same as that of the transaction part of the transaction B to be executed, confirming that an 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 can be understood that, only when the address information of the transaction a to be executed and the transaction B to be executed, the address information of the transacted party of the transaction a to be executed and the transaction B to be executed, and the contract address information of the transaction a to be executed and the transaction B to be executed are different, it can be confirmed that there is no intersection between the address information set of the transaction a to be executed and the address information set of the transaction B to be executed.
And S203, in all the transactions to be executed, taking the transactions to be executed with the intersection of the address information sets of the transactions to be executed as the same target transaction group.
It can be understood that, when the address information set of the transaction a to be executed intersects with the address information set of the transaction B to be executed, and the address information set of the transaction C to be executed intersects with the address information set of the transaction B to be executed, the transaction a to be executed, the transaction B to be executed, and the transaction C to be executed are in the same target transaction group.
It should be noted that, after the transactions to be executed are grouped, it is also necessary to determine 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, it is necessary to determine 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 group in the transaction group dependency base, merging 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 group in the transaction group dependency base, not processing.
S102, judging whether the grouping operation executed last time is the first grouping operation executed on the current transaction turn.
Specifically, if it is determined that the grouping operation executed last time is not the first grouping operation executed for the current transaction turn, step S103 is executed. If it is determined that the grouping operation executed last time is the first grouping operation executed for the current transaction turn, because the grouping manner adopted in step S101 is such that the address information set of the transaction to be executed in each target transaction group obtained after grouping does not intersect with the address information sets of the transactions to be executed in other target transaction groups, 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 dependent field of each transaction to be executed needs to be cleared, and in the process of executing the transaction to be executed, each time when operations such as reading and writing contract variables, account addresses and the like are performed, the related addresses need to be stored in the dependent field of the transaction to be executed.
Optionally, in another embodiment of the present application, an implementation after processing each target transaction group in parallel includes:
judging whether the pending transaction set in the previous transaction turn is empty or not; wherein the set of pending transactions consists of at least one pending transaction.
Specifically, if the pending transaction set in the previous transaction round is determined to be empty, 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, and returning to the execution step S101; if the pending transaction set in the previous transaction round is not empty, combining the executed transactions to be executed in each target transaction group in the current transaction round with the pending transaction set, assigning values to the transaction set to be executed, and returning to the step S101.
S103, determining at least one target transaction in the current transaction turn.
Wherein the target transaction is an adoptable transaction or a pending transaction or a transaction that needs to be re-executed.
It should be noted that, after the admissible transaction is determined, the admissible transaction is added to the admissible transaction set, after the pending transaction is determined, the pending transaction is added to the pending transaction set, after the transaction needing to be re-executed is determined, the transaction needing to be re-executed is added to the transaction set needing to be executed in the next transaction round, after at least one target transaction in the current transaction round is determined, the maximum serial number variable of the currently-adopted transaction in the block needs to be calculated, and the transaction set after the maximum serial number variable of the currently-adopted 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 manner of step S103, as shown in fig. 3, includes:
s301, determining a target transaction group with conflict transactions.
And the transactions to be executed in the target transaction group are sorted from the small to the small according to the transaction indexes 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 the transactions in part of the target transaction Groups are from different pre Groups or pending Groups in the target transaction set to which the target transaction group belongs, it is indicated that the transactions are related and cannot be executed in parallel, that is, there is a conflict transaction. That is, the obtained target transaction group of this group is incorrect.
Referring to fig. 4, taking a target transaction group 1 in the target transaction set as an example, a first to-be-executed transaction trx 1, a second to-be-executed transaction trx 2, and a third to-be-executed transaction trx 3 in the target transaction group 1 are all from group 1 in Groups of; the fourth transaction trx4 to be executed in the target transaction group 1 is from the group 3 in the pre Groups or the pending Groups, which indicates that the target transaction group 1 in the target transaction set is a conflict transaction.
Specifically, the target transaction group with transactions in the target transaction group from different pre Groups or pending Groups is used as the target transaction group with conflict transactions.
S302, aiming at each target transaction group with conflict transactions, determining a conflict index of the target group with the conflict transactions.
The conflict index is a transaction index value of the first conflict to be executed transaction in the target transaction group with conflict transactions.
Referring to FIG. 4, continuing with the above example, the transaction index value of the fourth pending transaction trx4 in the target transaction group 1 is used as the conflict index of the target transaction group 1.
S303, determining the minimum value of the conflict indexes of all the target groups with conflict transactions as a target conflict index.
S304, determining the transaction to be executed with the transaction index value smaller than the target conflict index as an adoptable transaction.
S305, determining the transaction index value of the transaction to be executed is larger than or equal to the target conflict index, and the transaction to be executed does not belong to the transaction to be executed in the transaction set to be executed, and determining the transaction 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 pending transaction.
And S104, judging whether each target transaction is adopted.
Specifically, if it is determined that each target transaction is accepted, step S105 is executed; if it is determined that any target transaction is not accepted, step S106 is executed.
And S105, ending the transaction of the current transaction round.
And S106, taking the unadopted target transaction as a new transaction to be executed.
It is understood that, in order to make the data in the dependency library richer and more accurate, in another embodiment of the present application, an implementation manner after step S106 further includes:
and 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.
According to the scheme, in the block chain-based transaction method, grouping operation is performed on the transaction to be executed to obtain at least one target transaction group, and when the latest executed grouping operation is the first grouping operation performed on the current transaction turn, each target transaction group is directly processed in parallel, so that the block chain transaction execution efficiency is improved; and when the latest executed grouping operation is not the first grouping operation executed on the current transaction turn, determining at least one target transaction in the current transaction turn, wherein the target transaction is an adoptable transaction, an undetermined transaction or a transaction needing to be executed again, taking the unapproved target transaction in the current transaction turn as a new transaction to be executed, performing the grouping operation of the next transaction turn, classifying the transactions according to the transaction state, and only regrouping partial transactions, thereby further improving the efficiency of block chain transaction execution.
Another embodiment of the present application provides a transaction apparatus based on a blockchain, as shown in fig. 5, specifically including:
the grouping unit 501 is configured to perform a grouping operation on transactions to be executed in a transaction set that needs to be executed in a current transaction turn, so as to obtain at least one target transaction group.
And the address information set of the transaction to be executed in each target transaction group does not have intersection with the address information sets of the transactions to be executed in other target transaction groups.
Optionally, in another embodiment of the present application, an implementation manner of the grouping unit 501, as shown in fig. 6, includes:
the obtaining unit 601 is configured to obtain a transaction set that needs to be executed in a current transaction turn.
The transaction set to be executed includes at least one transaction to be executed and an address information set of each transaction to be executed.
The confirming unit 602 is configured to confirm, in all the transactions to be executed, the transactions to be executed where the address information sets of every two transactions to be executed intersect.
The grouping subunit 603 is configured to, in all transactions to be executed, use the transactions to be executed with the intersection of the address information sets of the transactions to be executed as the same target transaction group.
For a specific working process of the unit disclosed in the above embodiment of the present application, reference may be made 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 grouping operation performed last time 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 executed again; pending transactions are transactions that allow for direct multiplexing of the transaction execution results in the previous transaction round.
Optionally, in another embodiment of the present application, an implementation manner of the determining unit 502 is shown in fig. 7. The method comprises the following steps:
a conflict transaction determination 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 there is a conflict transaction, a conflict index of the target group in which there is a conflict transaction.
The conflict index is a transaction index value of the first conflict to be executed transaction in the target transaction group with conflict transactions.
A target conflict index determining unit 703, configured to determine the minimum value of the conflict indexes of all target groups in which conflict transactions exist, as a target conflict index.
An admissible transaction determining unit 704, configured to determine a transaction to be executed whose transaction index value is smaller than the target conflict index as an admissible transaction.
And the transaction confirmation unit 705 is used for determining the transaction to be executed, which has the transaction index value greater than or equal to the target conflict index and does not belong to the transactions to be executed in the pending transaction set, as the transaction to be executed again.
The pending transaction confirmation unit 706 is configured to determine, as a pending transaction, a transaction to be executed in the target transaction group without the conflict transaction, where the transaction index value to be executed is greater than or equal to the target conflict index.
For a specific working process of the unit disclosed in the above embodiment of the present application, reference may be made to the content of the corresponding method embodiment, as shown in fig. 3, which is not described herein again.
A first judging unit 503, configured to judge whether each target transaction is adopted.
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 accepted, use the unadopted target transaction as a new transaction to be executed, and activate the grouping unit 501 to execute a grouping operation on the transactions to be executed in the transaction set that needs to be executed in the current transaction round, so as to obtain at least one target transaction group.
For a specific working process of the unit disclosed in the above embodiment of the present application, reference may be made to the content of the corresponding method embodiment, as shown in fig. 1, which is not described herein again.
Optionally, in another embodiment of the present application, an implementation of a blockchain-based transaction apparatus further includes:
and the processing unit is used for processing each target transaction group in parallel if the grouping operation executed last time is the first grouping operation executed on the current transaction turn.
Wherein one or more transactions to be executed in the target transaction group are executed serially.
For specific working processes of the units disclosed in the above embodiments of the present application, reference may be made to the contents of the corresponding method embodiments, which are not described herein again.
Optionally, in another embodiment of the present application, an implementation of a blockchain-based transaction apparatus further includes:
and the second judgment unit is used for judging whether the pending transaction set in the previous transaction turn is empty or not.
Wherein the set of pending transactions consists of at least one pending transaction.
The assignment unit is configured to assign an execution result of the to-be-executed transaction in each target transaction group in the current transaction round to the transaction group to be executed if the to-be-determined transaction group in the previous transaction round is empty as determined by the second determination unit, and activate the grouping unit 501 to execute a grouping operation on the to-be-executed transaction in the to-be-executed transaction group in the current transaction round to obtain at least one target transaction group; and 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, merge executed transactions in each target transaction group in the current transaction round with the pending transaction set, assign the merged transactions to the transaction set to be executed, and activate the grouping unit 501 to execute a grouping operation on the executed transactions in the transaction set to be executed in the current transaction round, so as to obtain at least one target transaction group.
For specific working processes of the units disclosed in the above embodiments of the present application, reference may be made to the contents of the corresponding method embodiments, which are not described herein again.
Optionally, in another embodiment of the present application, an implementation of a blockchain-based transaction apparatus 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.
For specific working processes of the units disclosed in the above embodiments of the present application, reference may be made to the contents of the corresponding method embodiments, and details are not repeated here
Optionally, in another embodiment of the present application, an implementation of a blockchain-based transaction apparatus further includes:
the first initialization unit is used for initializing the transaction group 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: transacting party address information for a transaction, transacted party address information, and contract address information.
For specific working processes of the units disclosed in the above embodiments of the present application, reference may be made to the contents of the corresponding method embodiments, which are not described herein again.
Optionally, in another embodiment of the present application, an implementation of a blockchain-based transaction apparatus further includes:
and the second initialization unit is used for initializing the transaction set needing to be executed, the front-round transaction set needing to be executed, the admissible transaction set, the pending transaction set and the maximum serial number variable of the currently-adopted transaction in the block.
For specific working processes of the units disclosed in the above embodiments of the present application, reference may be made to the contents of the corresponding method embodiments, which are not described herein again.
According to the scheme, in the transaction device based on the block chain, the grouping unit 501 performs grouping operation on the to-be-executed transactions to obtain at least one target transaction group, when the latest 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 adoptable transaction, an undetermined transaction or a transaction needing to be re-executed, the first judging unit 503 judges that any target transaction is not adopted, the target transaction which is not adopted in the current transaction round is used as a new to-be-executed transaction, the activating unit 505 activates the grouping unit 501 to perform grouping operation on the next transaction round, the transactions are classified according to the transaction states, and only partial transactions are re-grouped, further improving the efficiency of block chain transaction execution.
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 a blockchain based transaction method as any of the embodiments described 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 the blockchain-based transaction method according to any one of the above embodiments.
In the above embodiments disclosed in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The apparatus and method embodiments described above are illustrative only, as the flowcharts 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, the functional modules in the embodiments of the present disclosure may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent 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 or parts thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a live broadcast device, or a network device) to execute 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), a magnetic disk or an optical disk, and the like.
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 the transactions to be executed in the transaction set required to be executed in the current transaction turn to obtain at least one target transaction group; the address information set of the transaction to be executed in each target transaction group does not intersect with the address information sets of the transactions to be executed in other target transaction groups;
determining at least one target transaction in the current transaction round if the grouping operation executed last time is not the first grouping operation executed on the current transaction round; wherein the target transaction is an adoptable transaction or a pending transaction or a transaction that needs to be re-executed; the pending transaction is a transaction that allows direct multiplexing of transaction execution results in a previous transaction round;
judging whether each target transaction is adopted or not;
if each target transaction is judged to be adopted, ending the transaction of the current transaction round;
and if any target transaction is judged not to be adopted, taking the unadopted target transaction as a new transaction to be executed, and returning to execute the operation of executing the grouping operation of the transactions to be executed in the transaction set needing to be executed in the current transaction turn aiming at the new transaction to be executed to obtain at least one target transaction group.
2. The transaction method according to claim 1, further comprising:
if the grouping operation executed last time is the first grouping operation executed on the current transaction turn, each target transaction group is processed in parallel; wherein one or more of the transactions to be performed in the target transaction group are performed serially.
3. The transaction method according to claim 1, wherein the performing a grouping operation on the transactions to be performed in the set of transactions that need to be performed in the current transaction turn to obtain at least one target transaction group comprises:
acquiring a transaction set which needs to be executed in the current transaction turn; the transaction set needing to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
in all the transactions to be executed, confirming the transactions to be executed with intersection of the address information sets of every two transactions to be executed;
and in all the transactions to be executed, taking the transactions to be executed with the intersection of the address information sets of the transactions to be executed as the same target transaction group.
4. The transaction method according to claim 2, wherein if the grouping operation performed last time is a first grouping operation performed on a current transaction turn, after processing each of the target transaction groups in parallel, further comprising:
judging whether the pending transaction set in the previous transaction turn 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 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, and returning to execute the transaction to be executed in the transaction set to be executed in the current transaction round to execute grouping operation to obtain at least one target transaction group;
if the undetermined transaction set in the previous transaction round is judged not to be empty, the executed transactions to be executed in each target transaction group in the current transaction round are merged with the undetermined transaction set, then the executed transactions to be executed are assigned to the transaction sets to be executed, the executed transactions to be executed in the transaction sets to be executed in the current transaction round are returned to be executed, grouping operation is executed, and at least one target transaction group is obtained.
5. The transaction method according to claim 1, wherein if it is determined that any of the target transactions is not accepted, the unadopted target transaction is used as a new transaction to be executed, and for the new transaction to be executed, the to-be-executed transaction in the transaction set that needs to be executed for the current transaction round is returned to be executed for executing the grouping operation, and after at least one target transaction group is obtained, the method further comprises:
and 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.
6. The transaction method according to claim 1, wherein before the grouping operation of the transactions to be executed in the transaction set that need to be executed in the current transaction turn is performed, obtaining at least one target transaction group, the method further comprises:
initializing a transaction grouping dependency base; 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: transacting party address information for a transaction, transacted party address information, and contract address information.
7. The transaction method according to claim 1, wherein before the grouping operation of the transactions to be executed in the transaction set that need to be executed in the current transaction turn is performed, obtaining at least one target transaction group, the method further comprises:
initializing a transaction set needing to be executed, a front-round transaction set needing to be executed, an admissible transaction set, a pending transaction set and a maximum sequence number variable of a currently-adopted transaction in a block.
8. The transaction method according to claim 1, wherein the transactions to be executed in the target transaction group are sorted from small to large according to a transaction index, and the determining at least one target transaction in the current transaction round if the grouping operation executed last time is not the first grouping operation executed on the current transaction round comprises:
determining a target transaction group in which a conflict transaction exists;
determining a conflict index for each of the target set of conflicting transactions; wherein, the conflict index is a transaction index value of a first conflict to-be-executed transaction in the target transaction group with conflict transactions;
determining the minimum value of the conflict indexes of all the target groups with conflict transactions as a target conflict index;
determining the transaction to be executed with the transaction index value smaller than the target conflict index as an adoptable transaction;
determining 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 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 greater than or equal to the target conflict index in the target transaction group without conflict transaction as the pending transaction.
9. A blockchain-based transaction apparatus, comprising:
the grouping unit is used for executing grouping operation on the transactions to be executed in the transaction set which needs to be executed in the current transaction turn to obtain at least one target transaction group; the address information set of the transaction to be executed in each target transaction group does not intersect with the address information sets of the transactions to be executed in other target transaction groups;
a determining unit, configured to determine at least one target transaction in a current transaction round if the grouping operation performed last time 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 that needs to be re-executed; the pending transaction is a transaction that allows direct multiplexing of transaction execution results in a previous transaction round;
the first judgment unit is used for judging whether each target transaction is adopted or not;
the ending unit is used for ending the transaction of the current transaction round if each target transaction is adopted according to the judgment of the first judging unit;
and the activation unit is used for taking the unadopted target transaction as a new transaction to be executed if the first judgment unit judges that any target transaction is unadopted, and activating the grouping unit to execute the grouping operation of the transactions to be executed in the transaction set which needs to be executed in the current transaction turn aiming at the new transaction to be executed so as to obtain at least one target transaction group.
10. The transaction arrangement of claim 9, further comprising:
a processing unit, configured to process each target transaction group in parallel if the grouping operation performed last time is a first grouping operation performed on a current transaction turn; wherein one or more of the transactions to be performed in the target transaction group are performed serially.
11. The transaction arrangement 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 turn; the transaction set needing to be executed comprises at least one transaction to be executed and an address information set of each transaction to be executed;
the confirming unit is used for confirming the to-be-executed transaction with intersection of the address information sets of every two to-be-executed transactions in all the to-be-executed transactions;
and the grouping subunit is used for taking the to-be-executed transactions with intersection in the address information sets of the to-be-executed transactions as the same target transaction group in all the to-be-executed transactions.
12. The transaction arrangement of claim 10, further comprising:
the second judgment unit is used for judging whether the pending transaction set in the previous transaction turn is empty or not; wherein the set of pending transactions consists of at least one of the pending transactions;
an assigning unit, configured to assign, if the pending transaction set in the previous transaction round is determined to be empty by the second determining unit, an execution result of the to-be-executed transaction in each target transaction group in the current transaction round to the transaction set that needs to be executed, and activate the grouping unit to execute the to-be-executed transaction execution grouping operation 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 assignment unit is further configured to, if the second determination unit determines that the pending transaction set in the previous transaction round is not empty, merge executed transactions in each target transaction group in the current transaction round with the pending transaction set, assign the transactions to be executed to the transaction set to be executed, and activate the grouping unit to execute the to-be-executed transaction execution grouping operation in the transaction set to be executed in the current transaction round, so as to obtain at least one target transaction group.
13. The transaction arrangement of 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 arrangement of claim 9, further comprising:
a first initialization unit for initializing a transaction group dependency base; 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: transacting party address information for a transaction, transacted party address information, and contract address information.
15. The transaction arrangement of claim 9, further comprising:
and the second initialization unit is used for initializing the transaction set needing to be executed, the front-round transaction set needing to be executed, the admissible transaction set, the pending transaction set and the maximum serial number variable of the currently-adopted transaction in the block.
16. The transaction arrangement of claim 9, further comprising:
a conflict transaction determination 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 for which there is a conflict transaction, a conflict index for the target group for which there is a conflict transaction; wherein, the conflict index is a transaction index value of a first conflict to-be-executed transaction in the target transaction group with conflict transactions;
the target conflict index determining unit is used for determining the minimum value of the conflict indexes of all the target groups with conflict transactions as a target conflict index;
the receivable transaction determining unit is used for determining the transaction to be executed with the transaction index value smaller than the target conflict index as the receivable transaction;
the transaction confirmation unit is used for determining the transaction to be executed which is not in the pending transaction set and has the transaction index value larger than or equal to the target conflict index as the transaction to be executed again;
and the pending transaction confirmation unit is used for determining the transaction to be executed with the transaction index value greater than or equal to the target conflict index in the target transaction group without the 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 one 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 according to any one 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 true CN113077344A (en) 2021-07-06
CN113077344B 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)

Cited By (1)

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

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678865A (en) * 2017-09-20 2018-02-09 中国银行股份有限公司 The verification method and system of block chain based on transaction packet
CN108389129A (en) * 2018-02-27 2018-08-10 阿里巴巴集团控股有限公司 Transaction based on block chain executes method and device, electronic equipment
WO2019120334A2 (en) * 2019-04-12 2019-06-27 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system
CN110135985A (en) * 2019-04-04 2019-08-16 杭州抖音科技有限公司 A kind of parallel execution method and system traded on block chain
CN110175188A (en) * 2019-05-31 2019-08-27 杭州复杂美科技有限公司 A kind of block chain state data buffer storage and querying method, equipment and storage medium
CN110651289A (en) * 2017-05-22 2020-01-03 区块链控股有限公司 Facilitating byte code injection for prior transactions in blockchain transactions
US20200044824A1 (en) * 2019-03-28 2020-02-06 Alibaba Group Holding Limited System and method for parallel-processing blockchain transactions
US20200125391A1 (en) * 2018-10-23 2020-04-23 Samsung Sds Co., Ltd. Apparatus and method for batch processing for blockchain transactions
WO2020082871A1 (en) * 2018-10-26 2020-04-30 阿里巴巴集团控股有限公司 Method, device and system for executing blockchain transactions in parallel

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110651289A (en) * 2017-05-22 2020-01-03 区块链控股有限公司 Facilitating byte code injection for prior transactions in blockchain transactions
CN107678865A (en) * 2017-09-20 2018-02-09 中国银行股份有限公司 The verification method and system of block chain based on transaction packet
CN108389129A (en) * 2018-02-27 2018-08-10 阿里巴巴集团控股有限公司 Transaction based on block chain executes method and device, electronic equipment
US20200125391A1 (en) * 2018-10-23 2020-04-23 Samsung Sds Co., Ltd. Apparatus and method for batch processing for blockchain transactions
WO2020082871A1 (en) * 2018-10-26 2020-04-30 阿里巴巴集团控股有限公司 Method, device and system for executing blockchain transactions in parallel
US20200044824A1 (en) * 2019-03-28 2020-02-06 Alibaba Group Holding Limited System and method for parallel-processing blockchain transactions
CN110135985A (en) * 2019-04-04 2019-08-16 杭州抖音科技有限公司 A kind of parallel execution method and system traded on block chain
WO2019120334A2 (en) * 2019-04-12 2019-06-27 Alibaba Group Holding Limited Performing parallel execution of transactions in a distributed ledger system
CN111095324A (en) * 2019-04-12 2020-05-01 阿里巴巴集团控股有限公司 Performing parallel execution of transactions in a distributed ledger system
CN110175188A (en) * 2019-05-31 2019-08-27 杭州复杂美科技有限公司 A kind of block chain state data buffer storage and querying method, equipment and storage medium

Cited By (1)

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

Also Published As

Publication number Publication date
CN113077344B (en) 2023-06-30

Similar Documents

Publication Publication Date Title
CN108595157B (en) Block chain data processing method, device, equipment and storage medium
CN110728578A (en) Parallel execution method, system and storage medium for block chain transaction
CN112150163A (en) Block chain contract transaction parallel execution method and device
CN106557307B (en) Service data processing method and system
CN113704577A (en) Data query method and device based on multithreading concurrent processing
CN113077344A (en) Transaction method and device based on block chain, electronic equipment and storage medium
CN116595918A (en) Method, device, equipment and storage medium for verifying quick logical equivalence
CN107392745B (en) Reconciliation data fragmentation processing method
US9348583B2 (en) Automatic untangling cyclic dependencies in software systems
CN109753552A (en) The appellation of family member determines method, system, computer equipment and storage medium
CN109901931B (en) Reduction function quantity determination method, device and system
CN112765014A (en) Automatic test system for multi-user simultaneous operation and working method
CN110765100A (en) Label generation method and device, computer readable storage medium and server
CN113792247B (en) Method, apparatus, device and medium for generating functional flow chart based on code characteristics
CN107085571B (en) Method and device for executing check rule
CN113672300B (en) Plug-in scheduling method, device and storage medium
CN111061640B (en) Software reliability test case screening method and system
CN115829705A (en) Method and device for risk processing according to failure information
CN116263773A (en) Data sorting method and device
CN117009629A (en) User classification method, device, electronic equipment and storage medium
CN114647503A (en) Asset data filtering method and device, electronic equipment and storage medium
CN115510164A (en) Data import method, system, equipment and medium for database
CN116226214A (en) Screening management method, system and storage medium for field data set
CN114997917A (en) Mobile banking information pushing method and device
CN117271487A (en) Service data verification method, device, equipment and storage medium

Legal Events

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