Blockchain based hierarchical data storage

US11288247B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11288247-B2
Application numberUS-202117318064-A
CountryUS
Kind codeB2
Filing dateMay 12, 2021
Priority dateJun 28, 2019
Publication dateMar 29, 2022
Grant dateMar 29, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for blockchain-based hierarchical data storage. One of the methods includes determining, based on a blockchain stored in a database that includes multiple levels of storage, a level of storage of the multiple levels of storage that meets a data migration condition as a target level of storage, wherein state data of the blockchain are stored as state Merkle trees in data worksheets of the multiple levels of storage, generating, for the target level of storage, an empty data worksheet in response to determining that the target level of storage meets the data migration condition, and storing at least a portion of a state Merkle tree corresponding to a newly created block of the blockchain to the empty data worksheet.

First claim

Opening claim text (preview).

What is claimed: 1. A blockchain-based hierarchical storage method comprising: generating, for a target level of storage, an empty data worksheet in response to determining that the target level of storage meets a data migration condition; storing at least a portion of a first state Merkle tree corresponding to a newly created block of a blockchain to the empty data worksheet; migrating a second state Merkle tree corresponding to a target block stored in a data worksheet to the empty data worksheet, wherein the target block has a largest block number among block numbers of blocks corresponding to state Merkle trees stored in the target level of storage; and after migrating the second state Merkle tree corresponding to the target block, migrating the state Merkle trees stored in the data worksheet to a lower level of storage than the target level of storage. 2. The method according to claim 1 , further comprising: after migrating the second state Merkle tree corresponding to the target block to the empty data worksheet, renaming the data worksheet as a historical data worksheet. 3. The method according to claim 2 , further comprising: after renaming the data worksheet as the historical data worksheet and migrating the state Merkle trees stored in the historical data worksheet to the lower level of storage, deleting the historical data worksheet. 4. The method according to claim 1 , wherein a remainder of the first state Merkle tree corresponding to the newly created block other than at least the portion of the first state Merkle tree is stored in the empty data worksheet if not all the first state Merkle tree is stored in the empty data worksheet. 5. The method according to claim 4 , further comprising: receiving a search request for a data node of the first state Merkle tree after the empty data worksheet is generated; determining whether all the first state Merkle tree is stored in the empty data worksheet; searching the empty data worksheet in response to determining that all the first state Merkle tree is stored in the empty data worksheet; and searching the empty data worksheet and the data worksheet in response to determining that not all the first state Merkle tree is stored in the empty data worksheet. 6. The method according to claim 1 , wherein the first state Merkle tree corresponding to the newly created block comprises a latest block appended to the blockchain and historical blocks migrated from higher level of storage that has higher storage cost. 7. The method according to claim 1 , wherein the blockchain is stored in a database, the database is a key-value database, data nodes included in the state Merkle state tree are stored as key-value pairs (KVPs), keys of the KVPs are hash values of corresponding values of the KVPs, and the values of the KVPs are data content of the corresponding data nodes. 8. The method according to claim 1 , wherein the first state Merkle tree or the second state Merkle tree has a tree structure constructed based on a Merkle tree and a prefix tree. 9. The method according to claim 8 , wherein the first state Merkle tree or the second state Merkle tree is a Merkle Patricia tree (MPT). 10. The method according to claim 1 , wherein the blockchain is stored in a database and the database is a LevelDB database. 11. The method according to claim 1 , wherein the blockchain is stored in a database and the database is a RocksDB database. 12. The method according to claim 1 , wherein the lower level of storage is associated with lower storage cost and lower read-write performance. 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: generating, for a target level of storage, an empty data worksheet in response to determining that the target level of storage meets a data migration condition; storing at least a portion of a first state Merkle tree corresponding to a newly created block of a blockchain to the empty data worksheet; migrating a second state Merkle tree corresponding to a target block stored in a data worksheet to the empty data worksheet, wherein the target block has a largest block number among block numbers of blocks corresponding to state Merkle trees stored in the target level of storage; and after migrating the second state Merkle tree corresponding to the target block, migrating the state Merkle trees stored in the data worksheet to a lower level of storage than the target level of storage. 14. The computer-implemented system according to claim 13 , further comprising: after migrating the second state Merkle tree corresponding to the target block to the empty data worksheet, renaming the data worksheet as a historical data worksheet. 15. The computer-implemented system according to claim 14 , further comprising: after renaming the data worksheet as the historical data worksheet and migrating the state Merkle trees stored in the historical data worksheet to the lower level of storage, deleting the historical data worksheet. 16. The computer-implemented system according to claim 13 , wherein a remainder of the first state Merkle tree corresponding to the newly created block other than at least the portion of the first state Merkle tree is stored in the empty data worksheet if not all the first state Merkle tree is stored in the empty data worksheet. 17. The computer-implemented system according to claim 16 , further comprising: receiving a search request for a data node of the first state Merkle tree after the empty data worksheet is generated; determining whether all the first state Merkle tree is stored in the empty data worksheet; searching the empty data worksheet in response to determining that all the first state Merkle tree is stored in the empty data worksheet; and searching the empty data worksheet and the data worksheet in response to determining that not all the first state Merkle tree is stored in the empty data worksheet. 18. The computer-implemented system according to claim 13 , wherein the first state Merkle tree corresponding to the newly created block comprises a latest block appended to the blockchain and historical blocks migrated from higher level of storage that has higher storage cost. 19. The computer-implemented system according to claim 13 , wherein the blockchain is stored in a database, the database is a key-value database, data nodes included in the state Merkle state tree are stored as key-value pairs (KVPs), keys of the KVPs are hash values of corresponding values of the KVPs, and the values of the KVPs are data content of the corresponding data nodes. 20. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising: generating, for a target level of storage, an empty data worksheet in response to determining that the target level of storage meets a data migration condition; storing at least a portion of a first state Merkle tree corresponding to a newly created block of a blockchain to the empty data worksheet; migrating a second state Merkle tree corresponding to a target block stored in a data worksheet to the empty data worksheet, wherein the target block has a largest block number among block numbers of blocks corresponding to state Merkle trees store

Assignees

Inventors

Classifications

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • Database migration support · CPC title

  • Trees, e.g. B+trees · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Peer-to-peer [P2P] networks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11288247B2 cover?
Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for blockchain-based hierarchical data storage. One of the methods includes determining, based on a blockchain stored in a database that includes multiple levels of storage, a level of storage of the multiple levels of storage that meets a data migration condition as a target lev…
Who is the assignee on this patent?
Advanced New Technologies Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F16/2246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 29 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).