Log-structured storage systems
AssigneeAdvanced New Technologies Co., Ltd.
InventorShikun Tian
Life of this patent
Estimating the term…
Abstract
Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage devices, for data processing and storage. One of the systems includes a multi-tier storage subsystem including multiple tiers of storage devices, an input/output (I/O) subsystem that is configured to perform a write operation of blockchain data into a data log file, and a back-end data management subsystem that is configured to perform a management operation of the data log file stored in the one of the multiple tiers of storage devices.
Claims23
A storage system comprising:
- a multi-tier storage subsystem comprising a plurality of tiers of storage devices;
- an input/output (I/O) subsystem comprising:
- one or more first processors;
- and
- one or more first computer-readable memories coupled to the one or more first processors and having first instructions stored thereon that are executable by the one or more first processors to perform first operations comprising:
- receiving blockchain data generated by a blockchain network, wherein the blockchain data comprise one or more types of data comprising blockchain block data, blockchain transaction data, and blockchain state data, wherein the blockchain block data comprise at least one block in a blockchain and a hash value of a previous block in the blockchain, and the blockchain state data comprise a world state of the blockchain network;
- performing a write operation of the blockchain data into a data log file, wherein the data log file is an append-only file that stores the blockchain data and the data log file is stored in one of the plurality of tiers of storage devices, wherein performing the write operation comprises appending the blockchain data in a chronological order according to a time when the blockchain data are generated by the blockchain network;
- and
- in response to determining a seal condition is met, sealing the data log file and refraining from writing additional blockchain data into the data log file, wherein the seal condition comprises a predetermined threshold of writing into the data log file;
- and
- a back-end data management subsystem comprising:
- one or more second processors;
- and
- one or more second computer-readable memories coupled to the one or more second processors and having second instructions stored thereon that are executable by the one or more second processors to perform second operations comprising performing a management operation of the data log file that stores the blockchain data, wherein performing the management operation of the data log file comprises performing the management operation of the data log file by the back-end data management subsystem independently from performing the write operation by the I/O subsystem, by performing the management operation, by the back-end data management subsystem, of the data log file after the data log file is sealed,
- wherein the first operations further comprise:
- generating, by the I/O subsystem, an index that indicates a physical location of the data log file stored in the one of the plurality of tiers of storage devices;
- storing, by the I/O subsystem, the index into an index log file that is stored in one of the plurality of tiers of storage devices that has a fastest access speed among the plurality of tiers of storage devices;
- and
- in response to determining a second seal condition is met, sealing, by the I/O subsystem, the index log file and refraining from writing additional index data into the index log file, wherein the second seal condition comprises a second predetermined threshold of writing into the index log file;
- and
- wherein the second operations further comprise:
- performing, by the back-end data management subsystem, a management operation of the index log file after the index log file is sealed;
- and
- generating, by the back-end data management subsystem, a second index log file indicating location information of the data log file after performing the management operation of the data log file after the data log file is sealed.
A network node of a blockchain network comprising a storage system, wherein the storage system comprises:
- a multi-tier storage subsystem comprising a plurality of tiers of storage devices;
- an input/output (I/O) subsystem comprising:
- one or more first processors;
- and
- one or more first computer-readable memories coupled to the one or more first processors and having first instructions stored thereon that are executable by the one or more first processors to perform first operations comprising:
- receiving blockchain data generated by the blockchain network, wherein the blockchain data comprise one or more types of data comprising blockchain block data, blockchain transaction data, and blockchain state data, wherein the blockchain block data comprise at least one block in a blockchain and a hash value of a previous block in the blockchain, and the blockchain state data comprise a world state of the blockchain network;
- performing a write operation of the blockchain data into a data log file, wherein the data log file is an append-only file that stores the blockchain data and the data log file is stored in one of the plurality of tiers of storage devices, wherein performing the write operation comprises appending the blockchain data in a chronological order according to a time when the blockchain data are generated by the blockchain network;
- and
- in response to determining a seal condition is met, sealing the data log file and refraining from writing additional blockchain data into the data log file,
- wherein the seal condition comprises a predetermined threshold of writing into the data log file;
- and
- a back-end data management subsystem comprising:
- one or more second processors;
- and
- one or more second computer-readable memories coupled to the one or more second processors and having second instructions stored thereon that are executable by the one or more second processors to perform second operations comprising performing a management operation of the data log file that stores the blockchain data, wherein performing the management operation of the data log file comprises performing the management operation of the data log file by the back-end data management subsystem independently from performing the write operation by the I/O subsystem, by performing the management operation, by the back-end data management subsystem, of the data log file after the data log file is sealed;
- wherein the first operations further comprise:
- generating, by the I/O subsystem, an index that indicates a physical location of the data log file stored in the one of the plurality of tiers of storage devices;
- storing, by the I/O subsystem, the index into an index log file that is stored in one of the Plurality of tiers of storage devices that has a fastest access speed among the plurality of tiers of storage devices;
- and
- in response to determining a second seal condition is met, sealing, by the I/O subsystem, the index log file and refraining from writing additional index data into the index log file, wherein the second seal condition comprises a second predetermined threshold of writing into the index log file;
- and
- wherein the second operations further comprise:
- performing, by the back-end data management subsystem, a management operation of the index log file after the index log file is sealed;
- and
- generating, by the back-end data management subsystem, a second index log file indicating location information of the data log file after Performing the management operation of the data log file after the data log file is sealed.
A blockchain network comprising:
- a plurality of consensus nodes, wherein each of the plurality of consensus nodes comprises a storage system comprising:
- a multi-tier storage subsystem comprising a plurality of tiers of storage devices;
- an input/output (I/O) subsystem comprising:
- one or more first processors;
- and
- one or more first computer-readable memories coupled to the one or more first processors and having first instructions stored thereon that are executable by the one or more first processors to perform first operations comprising:
- receiving blockchain data generated by the blockchain network, wherein the blockchain data comprise one or more types of data comprising blockchain block data, blockchain transaction data, and blockchain state data, wherein the blockchain block data comprise at least one block in a blockchain and a hash value of a previous block in the blockchain, and the blockchain state data comprise a world state of the blockchain network;
- performing a write operation of the blockchain data into a data log file, wherein the data log file is an append-only file that stores the blockchain data and the data log file is stored in one of the plurality of tiers of storage devices, wherein performing the write operation comprises appending the blockchain data in a chronological order according to a time when the blockchain data are generated by the blockchain network;
- and
- in response to determining a seal condition is met, sealing the data log file and refraining from writing additional blockchain data into the data log file,
- wherein the seal condition comprises a predetermined threshold of writing into the data log file;
- and
- a back-end data management subsystem comprising:
- one or more second processors;
- and
- one or more second computer-readable memories coupled to the one or more second processors and having second instructions stored thereon that are executable by the one or more second processors to perform second operations comprising performing a management operation of the data log file that stores the blockchain data, wherein performing the management operation of the data log file comprises performing the management operation of the data log file by the back-end data management subsystem independently from performing the write operation by the I/O subsystem, by performing the management operation, by the back-end data management subsystem, of the data log file after the data log file is sealed;
- wherein the first operations further comprise:
- generating, by the I/O subsystem, an index that indicates a physical location of the data log file stored in the one of the plurality of tiers of storage devices;
- storing, by the I/O subsystem, the index into an index log file that is stored in one of the plurality of tiers of storage devices that has a fastest access speed among the plurality of tiers of storage devices;
- and
- in response to determining a second seal condition is met, sealing, by the I/O subsystem, the index log file and refraining from writing additional index data into the index log file, wherein the second seal condition comprises a second predetermined threshold of writing into the index log file;
- and
- wherein the second operations further comprise:
- performing, by the back-end data management subsystem, a management operation of the index log file after the index log file is sealed;
- and
- generating, by the back-end data management subsystem, a second index log file indicating location information of the data log file after Performing the management operation of the data log file after the data log file is sealed.
Dependencies are inferred from the claim text.