IP Library Granted Patent US 11,423,015
Granted Patent B2
US 11,423,015 · App. 16/712,506 · Granted Aug 23, 2022

Log-structured storage systems

Inventor: Shikun Tian (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06F16/2379G06F16/2365
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,423,015
App. No.
16/712,506
Granted
Aug 23, 2022
Kind
B2
Abstract

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage devices, for processing data requests. One of the methods include receiving, by a storage system, a processing request of data of a distributive ledger system. Types of the data of the distributive ledger system include block data, transaction data, state data, and index data. The storage system determines a type of the data among the types of the data of the distributive ledger system, and applies a type of a processing engine specified for processing the type of the data.

Claims (74)

1. A computer-implemented method comprising:

receiving, by a storage system, a processing request of first data generated by a distributive ledger system, wherein the distributive ledger system stores data in one or more blocks in a blockchain, and generates two or more types of data of the distributive ledger system comprising block data, transaction data, and state data, wherein the block data comprise at least one block in the blockchain, and the at least one block comprises a hash value of a previous block in the blockchain, wherein the state data comprise a world state of the distributive ledger system, and wherein the state data comprise current state data and history state data;

in response to determining a type of the first data generated by the distributive ledger system to be the block data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the block data, wherein the corresponding type of the processing engine specified for processing the block data is configured with one or more first functions based on a characteristic of the block data;

receiving, by the storage system, a processing request of second data generated by the distributive ledger system;

in response to determining a type of the second data generated by the distributive ledger system to be the current state data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the current state data, wherein the corresponding type of the processing engine specified for processing the current state data is configured with one or more second functions based on a characteristic of the current state data, and the one or more first functions are different from the one or more second functions; or

in response to determining the type of the second data generated by the distributive ledger system to be the history state data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the history state data, wherein the corresponding type of the processing engine specified for processing the history state data is configured with one or more third functions based on a characteristic of the history state data;

receiving, by the storage system, a processing request of third data generated by the distributive ledger system; and

in response to determining a type of the third data generated by the distributive ledger system to be the transaction data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the transaction data, wherein the corresponding type of the processing engine specified for processing the transaction data is configured with one or more fourth functions based on a characteristic of the transaction data.

2. The computer-implemented method of claim 1 , further comprising: receiving, by the storage system, configurations of a plurality of processing engines, wherein the configurations are used to configure a respective type of a processing engine for processing each of the two or more types of the data of the distributive ledger system according to a characteristic of the each of the two or more types of the data.

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

receiving, by the storage system, the processing request of the first data generated by the distributive ledger system comprises receiving, by the storage system, an input/output (I/O) request of the block data generated by the distributive ledger system;

the corresponding type of the processing engine specified for processing the block data of the distributive ledger system comprises a corresponding type of an input/output (I/O) processing engine specified for performing a read or write operation of the block data of the distributive ledger system based on a characteristic of the block data;

receiving, by the storage system, the processing request of the second data generated by the distributive ledger system comprises receiving, by the storage system, an input/output (I/O) request of the state data generated by the distributive ledger system; and

the corresponding type of the processing engine specified for processing the state data of the distributive ledger system comprises a corresponding type of an input/output (I/O) processing engine specified for performing a read or write operation of the state data of the distributive ledger system based on a characteristic of the state data.

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

receiving, by the storage system, the processing request of the first data generated by the distributive ledger system comprises receiving, by the storage system, a data management request of the block data generated by the distributive ledger system;

the corresponding type of the processing engine specified for processing the block data of the distributive ledger system comprises a corresponding type of a data management processing engine specified for performing a first data management operation of the block data of the distributive ledger system based on a characteristic of the block data;

receiving, by the storage system, the processing request of the second data generated by the distributive ledger system comprises receiving, by the storage system, a data management request of the state data generated by the distributive ledger system; and

the corresponding type of the processing engine specified for processing the state data of the distributive ledger system comprises a corresponding type of a data management processing engine specified for performing a second data management operation of the state data of the distributive ledger system based on a characteristic of the state data.

5. The computer-implemented method of claim 1 , wherein the one or more first functions comprise tiering, erasure coding, and compression of the block data in the storage system.

6. The computer-implemented method of claim 1 , wherein the one or more second functions comprise tiering, erasure coding, compression, snapshot, and compaction of the current state data in the storage system.

7. The computer-implemented method of claim 1 , wherein the one or more third functions comprise tiering, erasure coding, and compression of the history state data in the storage system.

8. A non-transitory, computer-readable storage medium storing one or more instructions executable by a computer system to perform operations for processing data request, the operations comprising:

receiving, by a storage system, a processing request of first data generated by a distributive ledger system, wherein the distributive ledger system stores data in one or more blocks in a blockchain, and generates two or more types of data of the distributive ledger system comprising block data, transaction data, and state data, wherein the block data comprise at least one block in the blockchain, and the at least one block comprises a hash value of a previous block in the blockchain, wherein the state data comprise a world state of the distributive ledger system, and wherein the state data comprise current state data and history state data;

in response to determining a type of the first data generated by the distributive ledger system to be the block data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the block data, wherein the corresponding type of the processing engine specified for processing the block data is configured with one or more first functions based on a characteristic of the block data;

receiving, by the storage system, a processing request of second data generated by the distributive ledger system;

in response to determining a type of the second data generated by the distributive ledger system to be the current state data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the current state data, wherein the corresponding type of the processing engine specified for processing the current state data is configured with one or more second functions based on a characteristic of the current state data, and the one or more first functions are different from the one or more second functions; or

in response to determining the type of the second data generated by the distributive ledger system to be the history state data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the history state data, wherein the corresponding type of the processing engine specified for processing the history state data is configured with one or more third functions based on a characteristic of the history state data;

receiving, by the storage system, a processing request of third data generated by the distributive ledger system; and

in response to determining a type of the third data generated by the distributive ledger system to be the transaction data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the transaction data, wherein the corresponding type of the processing engine specified for processing the transaction data is configured with one or more fourth functions based on a characteristic of the transaction data.

9. The non-transitory, computer-readable storage medium of claim 8 , wherein the two or more types of data of the distributive ledger system further comprise index data, and the operations further comprise:

receiving, by the storage system, a processing request of fourth data generated by the distributive ledger system; and

in response to determining a type of the fourth data generated by the distributive ledger system to be the index data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the index data, wherein the corresponding type of the processing engine specified for processing the index data is configured with one or more fifth functions based on a characteristic of the index data.

10. The non-transitory, computer-readable storage medium of claim 9 , the operations further comprising: receiving, by the storage system, configurations of a plurality of processing engines, wherein the configurations are used to configure a respective type of a processing engine for processing each of the two or more types of the data of the distributive ledger system according to a characteristic of the each of the two or more types of the data.

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

receiving, by the storage system, the processing request of the first data generated by the distributive ledger system comprises receiving, by the storage system, an input/output (I/O) request of the block data generated by the distributive ledger system;

the corresponding type of the processing engine specified for processing the block data of the distributive ledger system comprises a corresponding type of an input/output (I/O) processing engine specified for performing a read or write operation of the block data of the distributive ledger system based on a characteristic of the block data;

receiving, by the storage system, the processing request of the second data generated by the distributive ledger system comprises receiving, by the storage system, an input/output (I/O) request of the state data generated by the distributive ledger system; and

the corresponding type of the processing engine specified for processing the state data of the distributive ledger system comprises a corresponding type of an input/output (I/O) processing engine specified for performing a read or write operation of the state data of the distributive ledger system based on a characteristic of the state data.

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

receiving, by the storage system, the processing request of the first data generated by the distributive ledger system comprises receiving, by the storage system, a data management request of the block data generated by the distributive ledger system;

the corresponding type of the processing engine specified for processing the block data of the distributive ledger system comprises a corresponding type of a data management processing engine specified for performing a first data management operation of the block data of the distributive ledger system based on a characteristic of the block data;

receiving, by the storage system, the processing request of the second data generated by the distributive ledger system comprises receiving, by the storage system, a data management request of the state data generated by the distributive ledger system; and

the corresponding type of the processing engine specified for processing the state data of the distributive ledger system comprises a corresponding type of a data management processing engine specified for performing a second data management operation of the state data of the distributive ledger system based on a characteristic of the state data.

13. The non-transitory, computer-readable storage medium of claim 8 , wherein the one or more first functions comprise tiering, erasure coding, and compression of the block data in the storage system.

14. The non-transitory, computer-readable storage medium of claim 8 , wherein the one or more second functions comprise tiering, erasure coding, compression, snapshot, and compaction of the current state data in the storage system.

15. The non-transitory, computer-readable storage medium of claim 8 , wherein the one or more third functions comprise tiering, erasure coding, and compression of the history state data in the storage system.

16. A storage system for processing data request, comprising:

one or more processors; and

one or more computer-readable memories coupled to the one or more processors and having instructions stored thereon that are executable by the one or more processors to perform operations comprising:

receiving, by the storage system, a processing request of first data generated by a distributive ledger system, wherein the distributive ledger system stores data in one or more blocks in a blockchain, and generates two or more types of data of the distributive ledger system comprising block data, transaction data, and state data, wherein the block data comprise at least one block in the blockchain, and the at least one block comprises a hash value of a previous block in the blockchain, wherein the state data comprise a world state of the distributive ledger system, and wherein the state data comprise current state data and history state data;

in response to determining a type of the first data generated by the distributive ledger system to be the block data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the block data, wherein the corresponding type of the processing engine specified for processing the block data is configured with one or more first functions based on a characteristic of the block data;

receiving, by the storage system, a processing request of second data generated by the distributive ledger system;

in response to determining a type of the second data generated by the distributive ledger system to be the current state data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the current state data, wherein the corresponding type of the processing engine specified for processing the current state data is configured with one or more second functions based on a characteristic of the current state data, and the one or more first functions are different from the one or more second functions; or

in response to determining the type of the second data generated by the distributive ledger system to be the history state data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the history state data, wherein the corresponding type of the processing engine specified for processing the history state data is configured with one or more third functions based on a characteristic of the history state data;

receiving, by the storage system, a processing request of third data generated by the distributive ledger system; and

in response to determining a type of the third data generated by the distributive ledger system to be the transaction data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the transaction data, wherein the corresponding type of the processing engine specified for processing the transaction data is configured with one or more fourth functions based on a characteristic of the transaction data.

17. The storage system of claim 16 , wherein the two or more types of data of the distributive ledger system further comprise index data, and the operations further comprise:

receiving, by the storage system, a processing request of fourth data generated by the distributive ledger system; and

in response to determining a type of the fourth data generated by the distributive ledger system to be the index data among the two or more types of the data of the distributive ledger system, applying, by the storage system, a corresponding type of a processing engine specified for processing the index data, wherein the corresponding type of the processing engine specified for processing the index data is configured with one or more fifth functions based on a characteristic of the index data.

18. The storage system of claim 17 , the operations further comprising: receiving, by the storage system, configurations of a plurality of processing engines, wherein the configurations are used to configure a respective type of a processing engine for processing each of the two or more types of the data of the distributive ledger system according to a characteristic of the each of the two or more types of the data.

19. The storage system of claim 16 , wherein:

receiving, by the storage system, the processing request of the first data generated by the distributive ledger system comprises receiving, by the storage system, an input/output (I/O) request of the block data generated by the distributive ledger system;

the corresponding type of the processing engine specified for processing the block data of the distributive ledger system comprises a corresponding type of an input/output (I/O) processing engine specified for performing a read or write operation of the block data of the distributive ledger system based on a characteristic of the block data;

receiving, by the storage system, the processing request of the second data generated by the distributive ledger system comprises receiving, by the storage system, an input/output (I/O) request of the state data generated by the distributive ledger system; and

the corresponding type of the processing engine specified for processing the state data of the distributive ledger system comprises a corresponding type of an input/output (I/O) processing engine specified for performing a read or write operation of the state data of the distributive ledger system based on a characteristic of the state data.

20. The storage system of claim 16 , wherein:

receiving, by the storage system, the processing request of the first data generated by the distributive ledger system comprises receiving, by the storage system, a data management request of the block data generated by the distributive ledger system;

the corresponding type of the processing engine specified for processing the block data of the distributive ledger system comprises a corresponding type of a data management processing engine specified for performing a first data management operation of the block data of the distributive ledger system based on a characteristic of the block data;

receiving, by the storage system, the processing request of the second data generated by the distributive ledger system comprises receiving, by the storage system, a data management request of the state data generated by the distributive ledger system; and

the corresponding type of the processing engine specified for processing the state data of the distributive ledger system comprises a corresponding type of a data management processing engine specified for performing a second data management operation of the state data of the distributive ledger system based on a characteristic of the state data.

21. The storage system of claim 16 , wherein the one or more first functions comprise tiering, erasure coding, and compression of the block data in the storage system.

22. The storage system of claim 16 , wherein the one or more second functions comprise tiering, erasure coding, compression, snapshot, and compaction of the current state data in the storage system.

23. The storage system of claim 16 , wherein the one or more third functions comprise tiering, erasure coding, and compression of the history state data in the storage system.

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 Mar 26, 2020
From: TIAN, SHIKUN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052238/0081 →
Continuity (2)
Continuation PCTCN2019105679 · Sep 12, 2019
Related Publication 20210081403A1 · Mar 18, 2021