IP Library Granted Patent US 10,726,049
Granted Patent B2
US 10,726,049 · App. 16/785,319 · Granted Jul 28, 2020

Obtaining blockchain data in stages

Inventor: Lukun Lai (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F16/278H04L9/0643H04L2209/38
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 10,726,049
App. No.
16/785,319
Granted
Jul 28, 2020
Kind
B2
Abstract

This disclosure relates to obtaining blockchain data in multiple stages. In some aspects, a first node device of a blockchain network receives a data request from a client device. A distributed database of the blockchain stores target data. The data request includes a first data position identifier that identifies a first position of a first portion of the target data. The first portion of the target data is obtained from the distributed database based on the first data position identifier. A second data position identifier for a second portion of the target data is generated based on the first portion of the target data. The second data position identifier identifies a second position of the second portion of the target data and enables the client device to continue to obtain one or more additional portions of the target data from any one of the node devices.

Claims (53)

1. A computer-implemented method for obtaining blockchain data of a blockchain in multiple stages, the method comprising:

receiving, by a first node device of a blockchain network comprising a plurality of node devices and a client device, a data request from the client device, wherein:

a distributed database of the blockchain stores target data; and

the data request comprises a first data position identifier that identifies a first position, within the distributed database, of a first portion of the target data;

obtaining the first portion of the target data from the distributed database based on the first data position identifier;

generating a second data position identifier for a second portion of the target data based on the first portion of the target data, wherein the second data position identifier identifies a second position, within the distributed database, of the second portion of the target data and enables the client device to continue to obtain one or more additional portions of the target data including the second portion of the target data from any one of the plurality of node devices; and

sending the first portion of the target data and the second data position identifier to the client device.

2. The computer-implemented method of claim 1 , wherein:

the first data position identifier identifies a starting position of the first portion of the target data, wherein the data request further comprises a capacity of the first portion of the target data; and

obtaining the first portion of the target data based on the first data position identifier comprises:

obtaining the first portion of the target data based on the first data position identifier and the capacity of the first portion of the target data.

3. The computer-implemented method of claim 2 , wherein:

the target data comprises list data in a list of data; and

the capacity of the first portion of the target data comprises (i) a number of entries in the list that is included in the first portion of the target data (ii) or a size of space occupied by the first portion of the target data.

4. The computer-implemented method of claim 3 , wherein the first data position identifier is a unique identifier generated based on a last entry of the list data included in the first portion of the target data.

5. The computer-implemented method of claim 3 , wherein the list data comprises a hash value of a transaction stored in the distributed database of the blockchain as ledger data.

6. The computer-implemented method of claim 1 , wherein the blockchain is a consortium chain, the first node device is a consortium chain node device, and the client device comprises a user client connected to the consortium chain node device.

7. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by a first node device of a blockchain network comprising a plurality of node devices and a client device, a data request from the client device, wherein:

a distributed database of a blockchain of the blockchain network stores target data; and

the data request comprises a first data position identifier that identifies a first position, within the distributed database, of a first portion of the target data;

obtaining the first portion of the target data from the distributed database based on the first data position identifier;

generating a second data position identifier for a second portion of the target data based on the first portion of the target data, wherein the second data position identifier identifies a second position, within the distributed database, of the second portion of the target data and enables the client device to continue to obtain one or more additional portions of the target data including the second portion of the target data from any one of the plurality of node devices; and

sending the first portion of the target data and the second data position identifier to the client device.

8. The non-transitory, computer-readable medium of claim 7 , wherein:

the first data position identifier identifies a starting position of the first portion of the target data, wherein the data request further comprises a capacity of the first portion of the target data; and

obtaining the first portion of the target data based on the first data position identifier comprises:

obtaining the first portion of the target data based on the first data position identifier and the capacity of the first portion of the target data.

9. The non-transitory, computer-readable medium of claim 8 , wherein:

the target data comprises list data in a list of data; and

the capacity of the first portion of the target data comprises (i) a number of entries in the list that is included in the first portion of the target data (ii) or a size of space occupied by the first portion of the target data.

10. The non-transitory, computer-readable medium of claim 9 , wherein the first data position identifier is a unique identifier generated based on a last entry of the list data included in the first portion of the target data.

11. The non-transitory, computer-readable medium of claim 9 , wherein the list data comprises a hash value of a transaction stored in the distributed database of the blockchain as ledger data.

12. The non-transitory, computer-readable medium of claim 7 , wherein the blockchain is a consortium chain, the first node device is a consortium chain node device, and the client device comprises a user client connected to the consortium chain node device.

13. 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 operations comprising:

receiving, by a first node device of a blockchain network comprising a plurality of node devices and a client device, a data request from the client device, wherein:

a distributed database of a blockchain of the blockchain network stores target data; and

the data request comprises a first data position identifier that identifies a first position, within the distributed database, of a first portion of the target data;

obtaining the first portion of the target data from the distributed database based on the first data position identifier;

generating a second data position identifier for a second portion of the target data based on the first portion of the target data, wherein the second data position identifier identifies a second position, within the distributed database, of the second portion of the target data and enables the client device to continue to obtain one or more additional portions of the target data including the second portion of the target data from any one of the plurality of node devices; and

sending the first portion of the target data and the second data position identifier to the client device.

14. The computer-implemented system of claim 13 , wherein:

the first data position identifier identifies a starting position of the first portion of the target data, wherein the data request further comprises a capacity of the first portion of the target data; and

obtaining the first portion of the target data based on the first data position identifier comprises:

obtaining the first portion of the target data based on the first data position identifier and the capacity of the first portion of the target data.

15. The computer-implemented system of claim 14 , wherein:

the target data comprises list data in a list of data; and

the capacity of the first portion of the target data comprises (i) a number of entries in the list that is included in the first portion of the target data (ii) or a size of space occupied by the first portion of the target data.

16. The computer-implemented system of claim 15 , wherein the first data position identifier is a unique identifier generated based on a last entry of the list data included in the first portion of the target data.

17. The computer-implemented system of claim 15 , wherein the list data comprises a hash value of a transaction stored in the distributed database of the blockchain as ledger data.

18. The non-transitory, computer-readable medium of claim 13 , wherein the blockchain is a consortium chain, the first node device is a consortium chain node device, and the client device comprises a user client connected to the consortium chain node device.

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: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2020
From: LAI, LUKUN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052414/0811 →
Priority Claims (1)
CN 2019 1 0309271 · Apr 17, 2019 · national
Continuity (2)
Continuation PCTCN2020072013 · Jan 14, 2020
Related Publication 20200175037A1 · Jun 4, 2020
Cited By (1)
US 12,271,169