# US 2021/0240860 A1 · Index creation for data records

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240860 A1
- Document ID: US20210240860A1
- Status: Published application
- Kind: A1
- Application number: 17/239,819
- Filed: 2021-04-26
- Published: 2021-08-05
- Earliest claimed: 2019-04-18
- Assignees: Advanced New Technologies Co., Ltd.
- Applicants: Advanced New Technologies Co., Ltd.
- Inventors: Xinying Yang; Li Lin; Le Zhang
- Web page: https://patentgrep.com/patent/US20210240860A1

## CPC

- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/901: Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951)
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 16/90335: {Query processing}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- G06F 2221/2151: Time stamp
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim at position 1

-20. (canceled)

### Claim 21

A computer-implemented index creation method comprising:
obtaining a first attribute value stored in a data record in a blockchain ledger;
determining location information of the data record in the blockchain ledger, wherein the location information comprises a block height of a first data block in which the data record is located and an offset of the data record in the first data block;
writing the location information into an index, wherein the index stores a correspondence between the location information and the first attribute value, the first attribute value being used as a primary key in the index;
receiving a verification instruction comprising a second attribute value and a block height parameter specifying a block interval;
performing matching in the index based on the second attribute value, to determine corresponding location information identifying one or more data records that include the second attribute value;
identifying, from the one or more data records that include the second attribute value, a subset of data records that include the second attribute value and are included in the block interval; and
performing integrity verification on the subset of data records,
wherein each data block in the blockchain ledger after an initial block comprises at least one data record, and
wherein each data block in the blockchain ledger after the initial block comprises a corresponding hash value, the corresponding hash value based on a hash value of a previous data block to the data block and on a data record included in the data block.

### Claim 22 (depends on 21)

The computer-implemented method of claim 21, wherein block heights of data blocks in the block interval increase monotonically based on an order of times of the data blocks in the block interval being written into the blockchain ledger.

### Claim 23 (depends on 21)

The computer-implemented method of claim 21, wherein writing the location information into the index comprises:
determining timestamps of a plurality of data records comprising the first attribute value; and
in an index record corresponding to the first 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.

### Claim 24 (depends on 21)

The computer-implemented method of claim 21, comprising:
receiving a query instruction comprising a third attribute value;
performing matching in the index based on the third attribute value, to determine second corresponding location information identifying a data record including the third attribute value;
obtaining the data record including the third attribute value from the blockchain ledger; and
returning the data record including the third attribute value to a sender of the query instruction.

### Claim 25 (depends on 24)

The computer-implemented method of claim 24, wherein the query instruction comprises a second block height parameter specifying a second block interval, and wherein obtaining the data record including the third attribute value comprises:
determining a second data record that is identified in the second corresponding location information, the second data record that is identified in the second corresponding location information being in a second data block having a block height within the second block interval, and
obtaining the second data record identified in the second corresponding location information.

### Claim 26 (depends on 21)

The computer-implemented method of claim 21, wherein performing the integrity verification comprises:
obtaining a hash value of a second data block; and
recalculating a hash value of a third data block based on the hash value of the second data block and based on a data record included in the third data block.

### Claim 27

A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:
obtaining a first attribute value stored in a data record in a blockchain ledger;
determining location information of the data record in the blockchain ledger, wherein the location information comprises a block height of a first data block in which the data record is located and an offset of the data record in the first data block;
writing the location information into an index, wherein the index stores a correspondence between the location information and the first attribute value, the first attribute value being used as a primary key in the index;
receiving a verification instruction comprising a second attribute value and a block height parameter specifying a block interval;
performing matching in the index based on the second attribute value, to determine corresponding location information identifying one or more data records that include the second attribute value;
identifying, from the one or more data records that include the second attribute value, a subset of data records that include the second attribute value and are included in the block interval; and
performing integrity verification on the subset of data records,
wherein each data block in the blockchain ledger after an initial block comprises at least one data record, and
wherein each data block in the blockchain ledger after the initial block comprises a corresponding hash value, the corresponding hash value based on a hash value of a previous data block to the data block and on a data record included in the data block.

### Claim 28 (depends on 27)

The computer-readable medium of claim 27, wherein block heights of data blocks in the block interval increase monotonically based on an order of times of the data blocks in the block interval being written into the blockchain ledger.

### Claim 29 (depends on 27)

The computer-readable medium of claim 27, wherein writing the location information into the index comprises:
determining timestamps of a plurality of data records comprising the first attribute value; and
in an index record corresponding to the first 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.

### Claim 30 (depends on 27)

The computer-readable medium of claim 27, wherein the operations comprise:
receiving a query instruction comprising a third attribute value;
performing matching in the index based on the third attribute value, to determine second corresponding location information identifying a data record including the third attribute value;
obtaining the data record including the third attribute value from the blockchain ledger; and
returning the data record including the third attribute value to a sender of the query instruction.

### Claim 31 (depends on 30)

The computer-readable medium of claim 30, wherein the query instruction comprises a second block height parameter specifying a second block interval, and wherein obtaining the data record including the third attribute value comprises:
determining a second data record that is identified in the second corresponding location information, the second data record that is identified in the second corresponding location information being in a second data block having a block height within the second block interval, and
obtaining the second data record identified in the second corresponding location information.

### Claim 32 (depends on 27)

The computer-readable medium of claim 27, wherein performing the integrity verification comprises:
obtaining a hash value of a second data block; and
recalculating a hash value of a third data block based on the hash value of the second data block and based on a data record included in the third data block.

### Claim 33

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 a first attribute value stored in a data record in a blockchain ledger;
determining location information of the data record in the blockchain ledger, wherein the location information comprises a block height of a first data block in which the data record is located and an offset of the data record in the first data block;
writing the location information into an index, wherein the index stores a correspondence between the location information and the first attribute value, the first attribute value being used as a primary key in the index;
receiving a verification instruction comprising a second attribute value and a block height parameter specifying a block interval;
performing matching in the index based on the second attribute value, to determine corresponding location information identifying one or more data records that include the second attribute value;
identifying, from the one or more data records that include the second attribute value, a subset of data records that include the second attribute value and are included in the block interval; and
performing integrity verification on the subset of data records,
wherein each data block in the blockchain ledger after an initial block comprises at least one data record, and
wherein each data block in the blockchain ledger after the initial block comprises a corresponding hash value, the corresponding hash value based on a hash value of a previous data block to the data block and on a data record included in the data block.

### Claim 34 (depends on 33)

The computer-implemented system of claim 33, wherein block heights of data blocks in the block interval increase monotonically based on an order of times of the data blocks in the block interval being written into the blockchain ledger.

### Claim 35 (depends on 33)

The computer-implemented system of claim 33, wherein writing the location information into the index comprises:
determining timestamps of a plurality of data records comprising the first attribute value; and
in an index record corresponding to the first 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.

### Claim 36 (depends on 33)

The computer-implemented system of claim 33, wherein the operations comprise:
receiving a query instruction comprising a third attribute value;
performing matching in the index based on the third attribute value, to determine second corresponding location information identifying a data record including the third attribute value;
obtaining the data record including the third attribute value from the blockchain ledger; and
returning the data record including the third attribute value to a sender of the query instruction.

### Claim 37 (depends on 36)

The computer-implemented system of claim 36, wherein the query instruction comprises a second block height parameter specifying a second block interval, and wherein obtaining the data record including the third attribute value comprises:
determining a second data record that is identified in the second corresponding location information, the second data record that is identified in the second corresponding location information being in a second data block having a block height within the second block interval, and
obtaining the second data record identified in the second corresponding location information.

### Claim 38 (depends on 33)

The computer-implemented system of claim 33, wherein performing the integrity verification comprises:
obtaining a hash value of a second data block; and
recalculating a hash value of a third data block based on the hash value of the second data block and based on a data record included in the third data block.
