IP Library Granted Patent US 10,990,705
Granted Patent B2
US 10,990,705 · App. 16/885,958 · Granted Apr 27, 2021

Index creation for data records

Inventors: Xinying Yang (Hangzhou, CN); Li Lin (Hangzhou, CN); Le Zhang (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06F21/64G06F16/901G06F16/90335H04L9/0637H04L2209/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,990,705
App. No.
16/885,958
Granted
Apr 27, 2021
Kind
B2
Abstract

A computer-implemented index creation method includes obtaining, by a server storing data in a blockchain ledger, an identifier, in which the identifier identifies an attribute value of a data record; determining location information of the data record in the blockchain ledger, in which the location information includes a block height of a data block in which the data record is located and an offset of the data record in the data block; and writing the location information into an index, in which the index stores a correspondence between the location information and the attribute value, the attribute value being used as a primary key in the index.

Claims (83)

1. A computer-implemented index creation method comprising:

obtaining, by a server storing data in a blockchain ledger, an identifier, wherein the identifier identifies an attribute value of a data record;

determining location information of the data record in the blockchain ledger, wherein the location information comprises a block height of a data block in which the data record is located and an offset of the data record in the data block; and

writing the location information into an index, wherein the index stores a correspondence between the location information and the attribute value, the attribute value being used as a primary key in the index, wherein writing the location information into the index comprises

determining whether the attribute value is used as a pre-existing primary key in the index, and

creating a first index record in the index, wherein the first index record uses the attribute value as the primary key, responsive to determining that the attribute value is not used as the pre-existing primary key, or

writing the location information into a second index record in the index, wherein the second index record corresponds to the attribute value, responsive to determining that the attribute value is used as the pre-existing primary key,

wherein each data block in the blockchain ledger after an initial block comprises at least one data record,

wherein each data block in the blockchain ledger after the initial block comprises a hash value of the data block, wherein the hash value of the data block is based on a hash value of a previous data block to the data block and on a data record included in the data block, and

wherein block heights of all data blocks in the blockchain ledger increase monotonically based on an order of times of the data blocks being written into the blockchain ledger.

2. The computer-implemented method of claim 1 , wherein writing the location information into the second index record corresponding to the attribute value comprises:

determining timestamps of a plurality of data records comprising the attribute value; and

in the second index record corresponding to the attribute value, writing location information of each data record of the plurality of data records based on an order of the timestamps of the plurality of data records.

3. The computer-implemented method of claim 1 , comprising:

receiving a query instruction comprising a second attribute value;

performing matching in the index based on the second attribute value, to determine corresponding location information identifying a data record including the second attribute value;

obtaining the data record including the second attribute value from the blockchain ledger; and

returning the data record including the second attribute value to a sender of the query instruction.

4. The computer-implemented method of claim 3 , wherein the query instruction comprises a block height parameter specifying a block interval, and wherein obtaining the data record including the second attribute value comprises:

determining at least one data record identified in the corresponding location information, the at least one data record identified in the corresponding location information being in a data block having a block height within the block interval, and

obtaining the at least one data record identified in the corresponding location information.

5. The computer-implemented method of claim 1 , comprising:

receiving a verification instruction comprising a second attribute value;

performing matching in the index based on the second attribute value, to determine corresponding location information identifying a data record including the second attribute value; and

performing integrity verification on the data record including the second attribute value.

6. The computer-implemented method of claim 5 , wherein the verification instruction comprises a block height parameter specifying a block interval, and wherein performing integrity verification on the data record including the second attribute value comprises:

determining at least one data record identified in the corresponding location information, the at least one data record identified in the corresponding location information being in a data block having a block height within the block interval, and

performing integrity verification on the at least one data record identified in the corresponding location information.

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

obtaining, by a server storing data in a blockchain ledger, an identifier, wherein the identifier identifies an attribute value of a data record;

determining location information of the data record in the blockchain ledger, wherein the location information comprises a block height of a data block in which the data record is located and an offset of the data record in the data block; and

writing the location information into an index, wherein the index stores a correspondence between the location information and the attribute value, the attribute value being used as a primary key in the index, wherein writing the location information into the index comprises

determining whether the attribute value is used as a pre-existing primary key in the index, and

creating a first index record in the index, wherein the first index record uses the attribute value as the primary key, responsive to determining that the attribute value is not used as the pre-existing primary key, or

writing the location information into a second index record in the index, wherein the second index record corresponds to the attribute value, responsive to determining that the attribute value is used as the pre-existing primary key,

wherein each data block in the blockchain ledger after an initial block comprises at least one data record,

wherein each data block in the blockchain ledger after the initial block comprises a hash value of the data block, wherein the hash value of the data block is based on a hash value of a previous data block to the data block and on a data record included in the data block, and

wherein block heights of all data blocks in the blockchain ledger increase monotonically based on an order of times of the data blocks being written into the blockchain ledger.

8. The computer-readable medium of claim 7 , wherein writing the location information into the second index record corresponding to the attribute value comprises:

determining timestamps of a plurality of data records comprising the attribute value; and

in the second index record corresponding to the attribute value, writing location information of each data record of the plurality of data records based on an order of the timestamps of the plurality of data records.

9. The computer-readable medium of claim 7 , wherein the operations further comprise:

receiving a query instruction comprising a second attribute value;

performing matching in the index based on the second attribute value, to determine corresponding location information identifying a data record including the second attribute value;

obtaining the data record including the second attribute value from the blockchain ledger; and

returning the data record including the second attribute value to a sender of the query instruction.

10. The computer-readable medium of claim 9 , wherein the query instruction comprises a block height parameter specifying a block interval, and wherein obtaining the data record including the second attribute value comprises:

determining at least one data record identified in the corresponding location information, the at least one data record identified in the corresponding location information being in a data block having a block height within the block interval, and

obtaining the at least one data record identified in the corresponding location information.

11. The computer-readable medium of claim 7 , wherein the operations further comprise:

receiving a verification instruction comprising a second attribute value;

performing matching in the index based on the second attribute value, to determine corresponding location information identifying a data record including the second attribute value; and

performing integrity verification on the data record including the second attribute value.

12. The computer-readable medium of claim 11 , wherein the verification instruction comprises a block height parameter specifying a block interval, and wherein performing integrity verification on the data record including the second attribute value comprises:

determining at least one data record identified in the corresponding location information, the at least one data record identified in the corresponding location information being in a data block having a block height within the block interval, and

performing integrity verification on the at least one data record identified in the corresponding location information.

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, cause the one or more computers to perform one or more operations comprising:

obtaining, by a server storing data in a blockchain ledger, an identifier, wherein the identifier identifies an attribute value of a data record;

determining location information of the data record in the blockchain ledger, wherein the location information comprises a block height of a data block in which the data record is located and an offset of the data record in the data block; and

writing the location information into an index, wherein the index stores a correspondence between the location information and the attribute value, the attribute value being used as a primary key in the index, wherein writing the location information into the index comprises

determining whether the attribute value is used as a pre-existing primary key in the index, and

creating a first index record in the index, wherein the first index record uses the attribute value as the primary key, responsive to determining that the attribute value is not used as the pre-existing primary key, or

writing the location information into a second index record in the index, wherein the second index record corresponds to the attribute value, responsive to determining that the attribute value is used as the pre-existing primary key,

wherein each data block in the blockchain ledger after an initial block comprises at least one data record,

wherein each data block in the blockchain ledger after the initial block comprises a hash value of the data block, wherein the hash value of the data block is based on a hash value of a previous data block to the data block and on a data record included in the data block, and

wherein block heights of all data blocks in the blockchain ledger increase monotonically based on an order of times of the data blocks being written into the blockchain ledger.

14. The computer-implemented system of claim 13 , wherein writing the location information into the second index record corresponding to the attribute value comprises:

determining timestamps of a plurality of data records comprising the attribute value; and

in the second index record corresponding to the attribute value, writing location information of each data record of the plurality of data records based on an order of the timestamps of the plurality of data records.

15. The computer-implemented system of claim 13 , wherein the operations further comprise:

receiving a query instruction comprising a second attribute value;

performing matching in the index based on the second attribute value, to determine corresponding location information identifying a data record including the second attribute value;

obtaining the data record including the second attribute value from the blockchain ledger; and

returning the data record including the second attribute value to a sender of the query instruction.

16. The computer-implemented system of claim 15 , wherein the query instruction comprises a block height parameter specifying a block interval, and wherein obtaining the data record including the second attribute value comprises:

determining at least one data record identified in the corresponding location information, the at least one data record identified in the corresponding location information being in a data block having a block height within the block interval, and

obtaining the at least one data record identified in the corresponding location information.

17. The computer-implemented system of claim 13 , wherein the operations further comprise:

receiving a verification instruction comprising a second attribute value;

performing matching in the index based on the second attribute value, to determine corresponding location information identifying a data record including the second attribute value; and

performing integrity verification on the data record including the second attribute value.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2025
From: ADVANCED NEW TECHNOLOGIES CO., LTD.
To: ANTCHAIN TECHNOLOGY PTE. LTD.
Reel/Frame 070253/0064 →
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 Jun 16, 2020
From: YANG, XINYING; LIN, LI; ZHANG, LE
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052948/0348 →
Priority Claims (3)
CN 201910313710.2 · Apr 18, 2019 · national
CN 201910313734.8 · Apr 18, 2019 · national
CN 201910314543.3 · Apr 18, 2019 · national
Continuity (2)
Continuation PCTCN2020078419 · Mar 9, 2020
Related Publication 20200334382A1 · Oct 22, 2020