IP Library Granted Patent US 11,106,487
Granted Patent B2
US 11,106,487 · App. 16/945,749 · Granted Aug 31, 2021

Performing parallel execution of transactions in a distributed ledger system

Inventors: Guilu Xie (Hangzhou, CN); Ning Xia (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06F9/466G06F16/2365G06F16/2379
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,106,487
App. No.
16/945,749
Granted
Aug 31, 2021
Kind
B2
Abstract

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing parallel execution of transactions by a network node in a blockchain network. One of the methods includes receiving multiple transactions, grouping all first-type transactions in the multiple transactions into a group of first-type transactions, dividing the group of first-type transactions into one or more subgroups, and executing the group of first-type transactions by executing the one or more subgroups of the group of first-type transactions in parallel.

Claims (49)

1. A computer-implemented method for executing a plurality of transactions in a blockchain network, wherein the blockchain network comprises a plurality of network nodes, the method comprising:

receiving, by a network node of the plurality of network nodes, a plurality of transactions, wherein the plurality of transactions comprise a plurality of first-type transactions and a plurality of second-type transactions;

dividing, by the network node, the plurality of first-type transactions into one or more subgroups, wherein:

each subgroup of the plurality of first-type transactions comprises one or more first-type transactions that affect one or more common transaction entities by execution of the one or more first-type transactions, and

any first-type transaction in any subgroup of the plurality of first-type transactions does not affect any common transaction entity of any first-type transaction in any other subgroup of the plurality of first-type transactions;

executing, by the network node, the plurality of first-type transactions by executing the one or more subgroups of the plurality of first-type transactions in parallel on the network node, wherein the one or more first-type transactions within each of the one or more subgroups of the plurality of first-type transactions are executed in series; and

executing, by the network node, the plurality of second-type transactions in series with the plurality of first-type transactions according to a protocol used by the plurality of network nodes of the blockchain network comprising:

determining a serial order of executing the one or more first-type transactions within each of the one or more subgroups of the plurality of first-type transactions;

determining a serial order of executing the plurality of second-type transactions within a group of second-type transactions; and

determining whether to execute the plurality of first-type transactions before or after executing the group of second-type transactions.

2. The computer-implemented method of claim 1 , wherein the plurality of transactions comprise a plurality of transactions on which a consensus process has been performed by the network node.

3. The computer-implemented method of claim 1 , wherein the executing the group of second-type transactions comprises executing the plurality of second-type transactions within the group of second-type transactions in series.

4. The computer-implemented method of claim 1 , wherein the executing the group of second-type transactions comprises executing the plurality of second-type transactions within the group of second-type transactions in a different order from an order of the plurality of second-type transactions in the plurality of transactions.

5. The computer-implemented method of claim 1 , wherein the executing the group of second-type transactions in series with the plurality of first-type transactions comprises executing the group of second-type transactions prior to executing the plurality of first-type transactions.

6. The computer-implemented method of claim 1 , wherein the executing the group of second-type transactions in series with the plurality of first-type transactions comprises executing the group of second-type transactions after executing the plurality of first-type transactions.

7. The computer-implemented method of claim 1 , wherein a first-type transaction comprises a non-smart-contract transaction and a second-type transaction comprises a smart contract transaction.

8. The computer-implemented method of claim 1 , wherein a first-type transaction of the one or more first-type transactions is configured to be executed in parallel or series with another of the one or more first-type transactions, and a second-type transaction of the plurality of second-type transactions is configured to be executed only in series with another of the plurality of second-type transactions or a first-type transaction of the one or more first-type transactions.

9. The computer-implemented method of claim 1 , wherein the one or more common transaction entities comprise one or more of a transferee, a transferor, an account of the transferee, or an account of the transferor associated with a first-type transaction in each subgroup of the plurality of first-type transactions.

10. The computer-implemented method of claim 1 , wherein the plurality of transactions are executed by the network node in a same order as an order in which the plurality of transactions are executed by any other network node of the plurality of network nodes of the blockchain network.

11. A non-transitory, computer-readable storage medium storing one or more instructions executable by a computer system to perform operations for executing a plurality of transactions in a blockchain network, wherein the blockchain network comprises a plurality of network nodes, the operations comprising:

receiving, by a network node of the plurality of network nodes, a plurality of transactions, wherein the plurality of transactions comprise a plurality of first-type transactions and a plurality of second-type transactions;

dividing, by the network node, the plurality of first-type transactions into one or more subgroups, wherein:

each subgroup of the plurality of first-type transactions comprises one or more first-type transactions that affect one or more common transaction entities by execution of the one or more first-type transactions, and

any first-type transaction in any subgroup of the plurality of first-type transactions does not affect any common transaction entity of any first-type transaction in any other subgroup of the plurality of first-type transactions;

executing, by the network node, the plurality of first-type transactions by executing the one or more subgroups of the plurality of first-type transactions in parallel on the network node, wherein the one or more first-type transactions within each of the one or more subgroups of the plurality of first-type transactions are executed in series; and

executing, by the network node, the plurality of second-type transactions in series with the plurality of first-type transactions according to a protocol used by the plurality of network nodes of the blockchain network comprising:

determining a serial order of executing the one or more first-type transactions within each of the one or more subgroups of the plurality of first-type transactions;

determining a serial order of executing the plurality of second-type transactions within a group of second-type transactions; and

determining whether to execute the plurality of first-type transactions before or after executing the group of second-type transactions.

12. The non-transitory, computer-readable storage medium of claim 11 , wherein the plurality of transactions comprise a plurality of transactions on which a consensus process has been performed by the network node.

13. The non-transitory, computer-readable storage medium of claim 11 , wherein the executing the group of second-type transactions comprises executing the plurality of second-type transactions within the group of second-type transactions in series.

14. The non-transitory, computer-readable storage medium of claim 11 , wherein the executing the group of second-type transactions comprises executing the plurality of second-type transactions within the group of second-type transactions in a different order from an order of the plurality of second-type transactions in the plurality of transactions.

15. The non-transitory, computer-readable storage medium of claim 11 , wherein the executing the group of second-type transactions in series with the plurality of first-type transactions comprises executing the group of second-type transactions prior to executing the plurality of first-type transactions.

16. The non-transitory, computer-readable storage medium of claim 11 , wherein the executing the group of second-type transactions in series with the plurality of first-type transactions comprises executing the group of second-type transactions after executing the plurality of first-type transactions.

17. The non-transitory, computer-readable storage medium of claim 11 , wherein a first-type transaction of the one or more first-type transactions is configured to be executed in parallel or series with another of the one or more first-type transactions, and a second-type transaction of the plurality of second-type transactions is configured to be executed only in series with another of the plurality of second-type transactions or a first-type transaction of the one or more first-type transactions.

18. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving, by a network node of a plurality of network nodes of a blockchain network, a plurality of transactions, wherein the plurality of transactions comprise a plurality of first-type transactions and a plurality of second-type transactions;

dividing, by the network node, the plurality of first-type transactions into one or more subgroups, wherein:

each subgroup of the plurality of first-type transactions comprises one or more first-type transactions that affect one or more common transaction entities by execution of the one or more first-type transactions, and

any first-type transaction in any subgroup of the plurality of first-type transactions does not affect any common transaction entity of any first-type transaction in any other subgroup of the plurality of first-type transactions;

executing, by the network node, the plurality of first-type transactions by executing the one or more subgroups of the plurality of first-type transactions in parallel on the network node, wherein the one or more first-type transactions within each of the one or more subgroups of the plurality of first-type transactions are executed in series; and

executing, by the network node, the plurality of second-type transactions in series with the plurality of first-type transactions according to a protocol used by the plurality of network nodes of the blockchain network comprising:

determining a serial order of executing the one or more first-type transactions within each of the one or more subgroups of the plurality of first-type transactions;

determining a serial order of executing the plurality of second-type transactions within a group of second-type transactions; and

determining whether to execute the plurality of first-type transactions before or after executing the group of second-type transactions.

19. The computer-implemented system of claim 18 , wherein the plurality of transactions comprise a plurality of transactions on which a consensus process has been performed by the network node.

20. The computer-implemented system of claim 18 , wherein a first-type transaction comprises a non-smart-contract transaction and a second-type transaction comprises a smart contract transaction.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: XIE, GUILU; XIA, NING
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053650/0957 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →