CN113627937A - Block storage method, device, equipment and storage medium - Google Patents

Block storage method, device, equipment and storage medium Download PDF

Info

Publication number
CN113627937A
CN113627937A CN202110976341.2A CN202110976341A CN113627937A CN 113627937 A CN113627937 A CN 113627937A CN 202110976341 A CN202110976341 A CN 202110976341A CN 113627937 A CN113627937 A CN 113627937A
Authority
CN
China
Prior art keywords
block
current
transaction
transaction node
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110976341.2A
Other languages
Chinese (zh)
Inventor
刘辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Dianrong Information Technology Co ltd
Original Assignee
Shanghai Dianrong Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Dianrong Information Technology Co ltd filed Critical Shanghai Dianrong Information Technology Co ltd
Priority to CN202110976341.2A priority Critical patent/CN113627937A/en
Publication of CN113627937A publication Critical patent/CN113627937A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a block storage method, a device, equipment and a storage medium, wherein the method comprises the following steps: acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters; determining a current transaction node corresponding to the current block based on a consistent hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node. According to the technical scheme, the storage times are determined according to the configuration parameters of the current block, the mapping position of the current block on the consistent hash ring and the mapping position of each transaction node on the consistent hash ring are determined based on the consistent hash algorithm, the current transaction node is further determined according to the mapping position and the redundancy of the current block and the mapping position of each transaction node, and the current block is stored to the current transaction node, so that at least one storage of the current block is realized, the storage of a complete block chain is further realized, the storage waste is reduced, and the high-availability capacity is achieved.

Description

Block storage method, device, equipment and storage medium
Technical Field
Embodiments of the present invention relate to a block chain technology, and in particular, to a block storage method, apparatus, device, and storage medium.
Background
The block chain technology, also called as distributed ledger technology, is an emerging technology in which a plurality of node devices participate in accounting together, and a complete distributed database is stored and maintained together. For a transaction node of a blockchain, blockchain data that needs to be stored and maintained includes: the block data and account state data corresponding to block chain accounts in the block chain; the tile data may further include tile header data, tile transaction data in the tile, and transaction receipts corresponding to the tile transaction data in the tile.
In the prior art, in a federation chain scenario, one or more blockchain nodes may exist in an organization, and the blockchain nodes may include consensus nodes and transaction nodes, where each transaction node stores blockchain data of each block to form a completed blockchain.
However, with the development of business, the data volume increases sharply, the block number increases sharply, the data capacity on each transaction node becomes very large, and if each transaction node stores complete book data, storage waste may be caused. Therefore, a block storage method is needed to store a complete block chain and reduce the storage waste and have high availability.
Disclosure of Invention
The invention provides a block storage method, a block storage device, a block storage equipment and a block storage medium, which are used for realizing storage of a complete block chain, reducing storage waste and having high availability.
In a first aspect, an embodiment of the present invention provides a block storage method, including: acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters; determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node.
The embodiment of the invention provides a block storage method, which comprises the following steps: acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters; determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node. According to the technical scheme, the configuration parameters of the current block can be determined firstly, the redundancy of the current block, namely the storage times, can be determined according to the configuration parameters, the mapping position of the current block on the consistent hash ring can be determined based on the hash algorithm, of course, the mapping position of each transaction node on the consistent hash ring can be determined based on the hash algorithm, the current transaction node corresponding to the current block can be determined according to the mapping position of the current block on the consistent hash ring, the mapping position of each transaction node on the consistent hash ring and the redundancy of the current block, the current block is stored to the current transaction node, at least one storage of the current block is achieved, the storage of a complete block chain is further achieved, the storage waste is reduced, and the high-availability capacity is achieved.
Further, determining the redundancy of the current block according to the configuration parameters includes: determining the storage times of the current block according to the configuration parameters; determining the number of times of storage as the redundancy of the current block.
Further, determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block includes: determining a first mapping position of the current block on a consistent hash ring based on a hash algorithm; and determining the current transaction node according to the first mapping position and the redundancy.
Further, before determining the current transaction node according to the first mapping position and the redundancy, the method further includes: and determining a second mapping position of each transaction node on the consistent hash ring based on the hash algorithm and the address information of each transaction node.
Further, determining the current transaction node according to the first mapping location and the redundancy, comprising: based on the first mapping position of the current block and the second mapping position of each transaction node, clockwise sequentially searching the transaction nodes adjacent to the current block; and determining the current transaction node according to the adjacent transaction nodes and the redundancy.
Further, before determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block, the method further includes: acquiring a transaction node list, wherein the transaction node list comprises each transaction node and the address information of each transaction node.
Further, before obtaining the configuration parameters of the current block, the method further includes: acquiring a generated block based on the consensus node; performing block verification on transactions contained in the block; after the block verification is passed, executing the transaction contained based on the block, and updating the state of the book according to the transaction result; updating a transaction index by associating a transaction name of the transaction contained in the block with a block number of the block.
Further, the method further comprises: receiving an access request; determining the block number needing to be accessed according to the access request; if the current transaction node stores the target block corresponding to the block number, returning to the target block; otherwise, returning the block head of the target block and the transaction node list stored with the target block.
Further, determining the block number to be accessed according to the access request includes: and if the access request contains a transaction name, determining the block number of the block where the transaction name is located according to the transaction name and the transaction index.
In a second aspect, an embodiment of the present invention further provides a block storage apparatus, including: the acquisition module is used for acquiring the configuration parameters of the current block and determining the redundancy of the current block according to the configuration parameters; a determining module, configured to determine, based on a hash algorithm and the redundancy of the current block, a current transaction node corresponding to the current block; and the storage module is used for storing the block heads of the current block and other blocks to the current transaction node.
In a third aspect, an embodiment of the present invention further provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the block storage method according to any one of the first aspect when executing the program.
In a fourth aspect, embodiments of the present invention also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, are used to perform the block storage method according to any one of the first aspect.
In a fifth aspect, the present application provides a computer program product comprising computer instructions which, when run on a computer, cause the computer to perform the block storage method as provided in the first aspect.
It should be noted that all or part of the computer instructions may be stored on the computer readable storage medium. The computer-readable storage medium may be packaged with a processor of the block storage device, or may be packaged separately from the processor of the block storage device, which is not limited in this application.
For the descriptions of the second, third, fourth and fifth aspects in this application, reference may be made to the detailed description of the first aspect; in addition, for the beneficial effects described in the second aspect, the third aspect, the fourth aspect and the fifth aspect, reference may be made to the beneficial effect analysis of the first aspect, and details are not repeated here.
In the present application, the names of the above-mentioned block storage do not limit the devices or the functional modules themselves, and in actual implementation, the devices or the functional modules may be presented by other names. Insofar as the functions of the respective devices or functional modules are similar to those of the present application, they fall within the scope of the claims of the present application and their equivalents.
These and other aspects of the present application will be more readily apparent from the following description.
Drawings
Fig. 1 is a flowchart of a block storage method according to an embodiment of the present invention;
fig. 2 is a flowchart of a block storage method according to a second embodiment of the present invention;
fig. 3 is a schematic diagram illustrating a block being stored in a transaction node according to a second embodiment of the present invention;
fig. 4 is a flowchart illustrating step 240 of a block storage method according to a second embodiment of the present invention;
fig. 5 is a schematic diagram illustrating multiple storage blocks in a block storage method according to a second embodiment of the present invention;
fig. 6 is a flowchart illustrating an implementation of a block storage method according to a second embodiment of the present invention;
fig. 7 is a schematic structural diagram of a block memory device according to a third embodiment of the present invention;
fig. 8 is a schematic structural diagram of a computer device according to a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone.
The terms "first" and "second" and the like in the description and drawings of the present application are used for distinguishing different objects or for distinguishing different processes for the same object, and are not used for describing a specific order of the objects.
Furthermore, the terms "including" and "having," and any variations thereof, as referred to in the description of the present application, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the operations (or steps) as a sequential process, many of the operations can be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like. In addition, the embodiments and features of the embodiments in the present invention may be combined with each other without conflict.
It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
In the description of the present application, the meaning of "a plurality" means two or more unless otherwise specified.
Example one
Fig. 1 is a flowchart of a block storage method according to an embodiment of the present invention, where the embodiment is applicable to a situation that multiple storage blocks are required and robustness and concurrency of a storage system are improved, the method may be executed by a block storage device, and specifically includes the following steps:
step 110, obtaining a configuration parameter of a current block, and determining redundancy of the current block according to the configuration parameter.
The current block can be an account book block, the account book block can sequentially enter an organization, the organization can comprise a consensus node and at least one storage node, namely at least one transaction node, and the account book block can be stored to each transaction node through the consensus node.
The configuration parameter of the current block may be determined according to actual requirements, for example, if the current block needs to be stored three times in actual application, the configuration parameter of the current block is determined to be 3. Of course, in practical applications, the configuration parameters of each block may be obtained separately, and the configuration parameters of the current block and the following blocks may also be obtained.
Specifically, after the configuration parameter of the current block is obtained, the storage frequency of the current block included in the configuration parameter may be determined as the redundancy of the current block, and the storage frequency of the current block may be greater than or equal to one time, so that the redundancy of the current block may also be greater than or equal to 1.
In the embodiment of the present invention, the redundancy of the current block is greater than or equal to 1, so as to store the current block at least once, and certainly, the redundancy of the current block is less than the total number of transaction nodes in the organization, so as to ensure that there is enough space in the organization to store the current block.
And step 120, determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block.
The consistent Hash algorithm is 0-2321, the hash spaces head-to-tail may form a closed consistent hash ring.
Because the node certificate of each transaction node can ensure the uniqueness of the transaction node, the Key value of the certificate of each transaction node can be determined as the unique Key value of the transaction node, and then the Key value of the unique transaction node can be mapped to a consistent hash ring; of course, if the IP address of each transaction node can also ensure the uniqueness of the transaction node, the Key value of the IP address of each transaction node can also be determined as the unique Key value of the transaction node, so in practical application, the node certificate or the Key value of the IP address of each transaction node is determined as the unique Key value of the transaction node. The Key value of the block number of each block can also be determined as the unique Key value of the block, and the unique Key value of the block can be mapped to the consistent hash ring.
Specifically, adjacent transaction nodes may be searched clockwise from the position of the consistent hash ring to which the current chunk is mapped, and the transaction nodes with the same redundancy number may be determined as the current transaction node. For example, the redundancy of the current block is 3, which indicates that the current block needs to be stored three times, so after the current block is mapped to the consistent hash ring, the adjacent transaction nodes can be searched clockwise according to the first mapping position to which the current block is mapped, and the searched first, second, and third transaction nodes are determined as the current transaction node.
In the embodiment of the invention, the storage frequency of the current block can be determined according to the redundancy of the current block, and then the transaction nodes with the same number as the storage frequency are found in the consistent hash ring clockwise and determined as the current transaction nodes.
Step 130, storing the block headers of the current block and the other blocks to the current transaction node.
Specifically, after determining the current transaction node corresponding to the current block, the block data of the current block may be sequentially stored to the current transaction node, where the block data may include a block header and transaction data, and of course, the current transaction node may also store block headers of other blocks. The current transaction node may also store transaction data in blocks of other blocks, transaction receipts corresponding to the transaction data in the blocks, and the like.
In the embodiment of the invention, each transaction node can store the block data of the corresponding block and can also store the block heads of other blocks, so that the complete block head is stored on each transaction node, the high availability of the transaction node is realized, the data storage space is saved as much as possible, and the redundancy of a part of data is further maintained under the condition of reducing data redundancy.
An embodiment of the present invention provides a block storage method, including: acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters; determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node. According to the technical scheme, the configuration parameters of the current block can be determined firstly, the redundancy of the current block, namely the storage times, can be determined according to the configuration parameters, the mapping position of the current block on the consistent hash ring can be determined based on the hash algorithm, of course, the mapping position of each transaction node on the consistent hash ring can be determined based on the hash algorithm, the current transaction node corresponding to the current block can be determined according to the mapping position of the current block on the consistent hash ring, the mapping position of each transaction node on the consistent hash ring and the redundancy of the current block, the current block is stored to the current transaction node, at least one storage of the current block is achieved, the storage of a complete block chain is further achieved, the storage waste is reduced, and the high-availability capacity is achieved.
Example two
Fig. 2 is a flowchart of a block storage method according to a second embodiment of the present invention, which is embodied on the basis of the second embodiment. In this embodiment, the method may further include:
step 210, acquiring a generated block based on the consensus node; block verification is performed on transactions contained by the block.
Fig. 3 is a schematic diagram illustrating a block is stored in a transaction node in a block storage method according to a second embodiment of the present invention, as shown in fig. 3, an organization of a federation chain scenario may include a consensus node and a transaction node, and the transaction node may include a master transaction node and a slave transaction node generated by election. The blocks may be synchronized first to consensus nodes within the organization and then to transaction nodes. For example, within an organization, transaction node #1 may be a master transaction node, transaction nodes #2 and #3 may be slave transaction nodes, and a consensus node may synchronize tile #1, tile #2, and tile #3 to transaction node #1, and thus to transaction nodes #2 and # 3.
In particular, the transaction node may synchronize the tiles received by the consensus node. It should be noted that each transaction node contains a complete transaction, and therefore, after receiving the block, the transaction node can perform a transaction-by-transaction verification on each transaction contained in the block.
Step 220, after the block verification is passed, executing the transaction included in the block based on the block, and updating the state of the account book according to the transaction result; updating a transaction index by associating a transaction name of the transaction contained in the block with a block number of the block.
Specifically, after the block verification is passed, i.e., the block transaction is verified, the transaction may be performed in the block, and the ledger status, i.e., the world status, may be updated according to the transaction result. For example, a value of 100 for a in state 1, 200 for B, and a transaction is to move 50 in a to B, so state 1 can be updated to state 2, a value of 50 for a in state 2, and 250 for B, so the transaction result can be 50 for a and 250 for B, and the transaction result can be updated to the ledger state.
In practical applications, a block may contain multiple transactions, so that when the transaction index is updated, the transaction name and the block number of each transaction may be associated, so as to facilitate searching transactions according to the block.
In the embodiment of the invention, each pair of blocks is updated once, the blocks need to be verified once, and the state of the ledger and the transaction index also need to be updated.
Step 230, obtaining a configuration parameter of the current block, and determining the redundancy of the current block according to the configuration parameter.
In one embodiment, determining the redundancy of the current block according to the configuration parameters includes:
determining the storage times of the current block according to the configuration parameters; determining the number of times of storage as the redundancy of the current block.
Specifically, the storage frequency required by the current block may be determined according to the configuration parameter, where the storage frequency may indicate the number of transaction nodes required to store the current block, and the storage frequency may be determined as the redundancy of the current transaction node.
Step 240, determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block.
Specifically, the current block and each transaction node in the organization may be mapped to the mapping position of the consistent hash ring, so that the transaction node where the current block needs to be stored may be determined according to the mapping position of the current block, the mapping position of each transaction node, and the redundancy of the current block, and the transaction node where the current block needs to be stored is determined as the current transaction node.
Fig. 4 is a flowchart illustrating a step 240 in a block storage method according to a second embodiment of the present invention, as shown in fig. 4, in an implementation manner, the step 240 may specifically include:
step 2410, determining a first mapping position of the current block on the consistent hash ring based on the hash algorithm.
Specifically, a unique block Key value corresponding to the block number of the current block may be determined based on a hash algorithm, and a first mapping position of the current block on the consistent hash ring may be determined according to the block Key value.
Step 2420, determining a second mapping position of each transaction node on the consistent hash ring based on the hash algorithm and the address information of each transaction node.
The address information of the transaction node may be a node certificate of the transaction node or an IP address of the transaction node.
Specifically, a node Key value corresponding to the address information of each transaction node may be determined based on a hash algorithm, and a second mapping position of each transaction node on the consistent hash ring may be determined according to the node Key value.
Of course, for the current transaction node, the current transaction node list in the current organization may be obtained through node communication to determine each transaction node in the current organization, and then each transaction node may be mapped to the second mapping position corresponding to the consistent hash ring.
And 2430, determining the current transaction node according to the first mapping position and the redundancy.
Specifically, after the first mapping position of the current block and the second mapping position of each transaction node are determined, the transaction nodes at adjacent positions may be clockwise searched according to the first mapping position and the second mapping position, and the searched transaction nodes with the same redundancy number are determined as a transaction node list, so that each transaction node included in the transaction node list is determined as the current transaction node.
In one embodiment, step 2430 may specifically include: based on the first mapping position of the current block and the second mapping position of each transaction node, clockwise sequentially searching the transaction nodes adjacent to the current block; and determining the current transaction node according to the adjacent transaction nodes and the redundancy.
Fig. 5 is a schematic diagram of multiple storage blocks in a block storage method according to a second embodiment of the present invention, as shown in fig. 5, the book block may include a block #0, a block #1, a block #2, a block #3, a block #4, a block #5, and a block #6, and hash operations may be performed on block numbers of the block #0, the block #1, the block #2, the block #3, the block #4, the block #5, and the block #6, respectively, to determine first mapping positions of the block #0, the block #1, the block #2, the block #3, the block #4, the block #5, and the block #6, and further determine that the first mapping positions of the block #0 and the block #4 are a, the first mapping positions of the block #1 and the block #3 are b, the first mapping position of the block #6 is c, and the first mapping positions of the block #2 and the block #5 are d. The current organization may include a transaction node #1, a transaction node #2, a transaction node #3, and a transaction node #4, and hash operations are performed on node certificates or IP addresses of the transaction node #1, the transaction node #2, the transaction node #3, and the transaction node #4, respectively, so that second mapping positions of the transaction node #1, the transaction node #2, the transaction node #3, and the transaction node #4 may be determined, and further, the second mapping position of the transaction node #1 may be determined to be D, the second mapping position of the transaction node #2 may be B, the second mapping position of the transaction node #3 may be a, and the second mapping position of the transaction node #4 may be C.
When the current block is a block #0 or a block #4, the first mapping position is a, the transaction nodes adjacent to the block #0 or the block #4 are found to be a transaction node #3, a transaction node #2, a transaction node #4 and the like clockwise, and the redundancy of the current block is 2, so that the current transaction nodes are determined to be the transaction node #3 and the transaction node # 2; when the current block is a block #1 or a block #3, the first mapping position is b, the transaction nodes adjacent to the block #1 or the block #3 are found to be a transaction node #2, a transaction node #4, a transaction node #1 and the like clockwise, and the redundancy of the current block is 2, so that the current transaction nodes are determined to be the transaction node #2 and the transaction node # 4; when the current block is the block #6, the first mapping position is c, the transaction nodes adjacent to the block #6 are found clockwise to be the transaction node #4, the transaction node #1, the transaction node #3 and the like, and the redundancy of the current block is 2, so that the current transaction nodes are determined to be the transaction node #4 and the transaction node # 1; when the current block is the block #2 or the block #5, the first mapping position is d, the transaction nodes adjacent to the block #2 or the block #5 are found to be the transaction node #1, the transaction node #3, the transaction node #2 and the like clockwise, and the redundancy of the current block is 2, so that the current transaction nodes are determined to be the transaction node #1 and the transaction node # 3.
In practical application, the redundancy of each block can be adjusted according to actual requirements, so that the storage times of the blocks can be determined according to the actual requirements.
And step 250, storing the block headers of the current block and other blocks to the current transaction node.
Specifically, the block data of the current block and the block headers of other blocks may be stored to the current transaction node. As shown in fig. 5, the tile data of tile #0, tile #2, tile #4 and tile #5 and the tile headers of tile #1, tile #3 and tile #6 may be stored to the transaction node #3, the tile data for tile #0, tile #1, tile #3, and tile #4 and the tile headers for tile #2, tile #5, and tile #6 may be stored to transaction node #2, the tile data for tile #1, tile #3, and tile #6 and the tile headers for tile #0, tile #2, tile #4, and tile #5 may be stored to transaction node #4, the block data of block #2, block #5 and block #6 and the block headers of block #0, block #1, block #3 and block #4 may be stored to transaction node #1, and storing each block to each transaction node according to the redundancy of the block, so that the redundant storage of each block is realized.
In the embodiment of the invention, each transaction node can store the block data of the corresponding block and can also store the block heads of other blocks, so that the complete block head can be stored on each transaction node, each transaction node can comprise a block chain formed by connecting the block head and the complete block in series, and the block number is monotonically increased. Therefore, high availability of the transaction node is realized, data storage space is saved as much as possible, and redundancy of a part of data is further maintained under the condition of reducing data redundancy.
Step 260, receiving an access request, and determining a block number to be accessed according to the access request.
Specifically, the client sends an access request to any transaction node, where the access request may include a block number of a block that needs to be accessed, and after receiving the access request, the transaction node may determine the block number included in the access request.
In one embodiment, determining the block number to be accessed according to the access request includes: and if the access request contains a transaction name, determining the block number of the block where the transaction name is located according to the transaction name and the transaction index.
Specifically, if the access request includes the transaction name, the block number of the block where the transaction name is located needs to be searched in the transaction index according to the transaction name, and step 270 is executed continuously.
Step 270, if the target block corresponding to the block number is stored in the current transaction node, returning to the target block; otherwise, returning the block head of the target block and the transaction node list stored with the target block.
Specifically, whether the complete content of the target block corresponding to the block number is stored in the current transaction node is judged, if the complete content of the target block corresponding to the block number is stored in the current transaction node, the complete content of the block is sent to the client, and the client realizes the shop culture of the target block; if the current transaction node only stores the block head of the target block corresponding to the block number, the block head of the target block and the address list of the transaction node where the complete content of the target block is located are sent to the client, and after the client receives the address list of the transaction node where the complete content of the target block corresponding to the block number sent by the current transaction node is located, an access request can be sent to the corresponding transaction node to obtain the complete content of the target block.
In the embodiment of the present invention, the address list may include a node certificate list or an IP address list.
The second block storage method provided by the embodiment of the invention comprises the following steps: acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters; determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node. According to the technical scheme, the configuration parameters of the current block can be determined firstly, the redundancy of the current block, namely the storage times, can be determined according to the configuration parameters, the mapping position of the current block on the consistent hash ring can be determined based on the hash algorithm, of course, the mapping position of each transaction node on the consistent hash ring can be determined based on the hash algorithm, the current transaction node corresponding to the current block can be determined according to the mapping position of the current block on the consistent hash ring, the mapping position of each transaction node on the consistent hash ring and the redundancy of the current block, the current block is stored to the current transaction node, at least one storage of the current block is achieved, the storage of a complete block chain is further achieved, the storage waste is reduced, and the high-availability capacity is achieved. In addition, the current transaction node may also synchronize ledger blocks based on consensus nodes within the current organization before storing the corresponding blocks. And updating the world state and the transaction index after the transactions contained in the ledger block pass verification. Of course, after receiving an access request sent by the client, the method may further determine the block number according to the access request, further determine a target block corresponding to the block number, and send the target to the client.
Fig. 6 is a flowchart of an implementation of a block storage method according to a second embodiment of the present invention, which exemplarily shows an implementation manner of the block storage method. As shown in fig. 6, includes:
step 610, the generated block is obtained based on the consensus node, and block verification is performed on the transaction contained in the block.
Step 611, if the block verification passes, executing the transaction included based on the block, and updating the state of the ledger according to the transaction result; and updating the transaction index by associating the transaction name of the transaction contained in the block with the block number of the block.
Step 612, obtaining a configuration parameter of the current block, determining the storage frequency of the current block according to the configuration parameter, and determining the storage frequency as the redundancy of the current block.
Step 613, determining a first mapping position of the current block on a consistent hash ring based on a hash algorithm; and determining a second mapping position of each transaction node on the consistent hash ring based on the hash algorithm and the address information of each transaction node.
Step 614, based on the first mapping position of the current block and the second mapping position of each transaction node, clockwise sequentially searching the transaction nodes adjacent to the current block.
Step 615, determining the current trading node corresponding to the current block according to the adjacent trading nodes and the redundancy.
And step 616, storing the block headers of the current block and other blocks to the current transaction node.
Step 617, receiving an access request, and determining a block number to be accessed according to the access request.
Step 618, determining whether the current transaction node stores the target block corresponding to the block number.
If the current transaction node stores the target block corresponding to the block number, step 619 is performed, and if the current transaction node does not store the target block corresponding to the block number, step 620 is performed.
Step 619, sending the target block to a client.
Step 620, sending the block head of the target block and the transaction node list storing the target block to the client.
In the implementation manner of the block storage method provided by the second embodiment of the present invention, the block of the current organization is synchronously entered based on the consensus node in the current organization; performing block verification on transactions contained in the block; if the block passes the verification, executing the transaction contained based on the block, and updating the state of the ledger according to the transaction result; updating a transaction index by associating the transaction name of the transaction contained in the block with the block number of the block; acquiring configuration parameters of a current block, and determining the storage times of the current block according to the configuration parameters; determining the number of times of storage as the redundancy of the current block; determining a first mapping position of the current block on a consistent hash ring based on a hash algorithm; determining a second mapping position of each transaction node on the consistent hash ring based on the hash algorithm and address information of each transaction node; based on the first mapping position of the current block and the second mapping position of each transaction node, clockwise sequentially searching the transaction nodes adjacent to the current block; determining the current trading node corresponding to the current block according to the adjacent trading node and the redundancy; storing the block headers of the current block and other blocks to the current transaction node; receiving an access request; determining the block number needing to be accessed according to the access request; determining whether a target block corresponding to the block number is stored in the current transaction node; and if the target block corresponding to the block number is stored in the current transaction node, sending the target block to the client, and if the target block corresponding to the block number is not stored in the current transaction node, sending the block head of the target block and the transaction node list in which the target block is stored to the client. According to the technical scheme, the configuration parameters of the current block can be determined firstly, the redundancy of the current block, namely the storage times, can be determined according to the configuration parameters, the mapping position of the current block on the consistent hash ring can be determined based on the hash algorithm, of course, the mapping position of each transaction node on the consistent hash ring can be determined based on the hash algorithm, the current transaction node corresponding to the current block can be determined according to the mapping position of the current block on the consistent hash ring, the mapping position of each transaction node on the consistent hash ring and the redundancy of the current block, the current block is stored to the current transaction node, at least one storage of the current block is achieved, the storage of a complete block chain is further achieved, the storage waste is reduced, and the high-availability capacity is achieved.
Of course, the current transaction node may also synchronize ledger blocks based on consensus nodes within the current organization before storing the corresponding blocks. And updating the world state and the transaction index after the transactions contained in the ledger block pass verification. Of course, after receiving an access request sent by the client, the method may further determine the block number according to the access request, further determine a target block corresponding to the block number, and send the target to the client.
EXAMPLE III
Fig. 7 is a schematic structural diagram of a block storage device according to a third embodiment of the present invention, where the block storage device can be applied to a situation that multiple storage blocks are required while the robustness and concurrency of a storage system are improved. The apparatus may be implemented by software and/or hardware and is typically integrated in a computer device.
As shown in fig. 7, the apparatus includes:
an obtaining module 710, configured to obtain a configuration parameter of a current block, and determine redundancy of the current block according to the configuration parameter;
a determining module 720, configured to determine, based on a hash algorithm and the redundancy of the current block, a current transaction node corresponding to the current block;
a storage module 730, configured to store the block headers of the current block and the other blocks to the current transaction node.
In the block storage device provided in this embodiment, the redundancy of the current block is determined by obtaining the configuration parameters of the current block and according to the configuration parameters; determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node. According to the technical scheme, the configuration parameters of the current block can be determined firstly, the redundancy of the current block, namely the storage times, can be determined according to the configuration parameters, the mapping position of the current block on the consistent hash ring can be determined based on the hash algorithm, of course, the mapping position of each transaction node on the consistent hash ring can be determined based on the hash algorithm, the current transaction node corresponding to the current block can be determined according to the mapping position of the current block on the consistent hash ring, the mapping position of each transaction node on the consistent hash ring and the redundancy of the current block, the current block is stored to the current transaction node, at least one storage of the current block is achieved, the storage of a complete block chain is further achieved, the storage waste is reduced, and the high-availability capacity is achieved.
On the basis of the foregoing embodiment, the obtaining module 710 is specifically configured to:
acquiring configuration parameters of a current block, and determining the storage times of the current block according to the configuration parameters; determining the number of times of storage as the redundancy of the current block.
On the basis of the foregoing embodiment, the determining module 720 is specifically configured to:
determining a first mapping position of the current block on a consistent hash ring based on a hash algorithm; determining a second mapping position of each transaction node on the consistent hash ring based on the hash algorithm and address information of each transaction node; and determining the current transaction node according to the first mapping position and the redundancy.
In one embodiment, determining the current transaction node based on the first mapping location and the redundancy comprises: based on the first mapping position of the current block and the second mapping position of each transaction node, clockwise sequentially searching the transaction nodes adjacent to the current block; and determining the current transaction node according to the adjacent transaction nodes and the redundancy.
On the basis of the above embodiment, the apparatus further includes: the list acquisition module is used for acquiring a transaction node list, wherein the transaction node list comprises each transaction node and the address information of each transaction node.
On the basis of the above embodiment, the apparatus further includes: a first execution module for obtaining the generated block based on the consensus node; performing block verification on transactions contained in the block; after the block verification is passed, executing the transaction contained based on the block, and updating the state of the book according to the transaction result; updating a transaction index by associating a transaction name of the transaction contained in the block with a block number of the block.
On the basis of the above embodiment, the apparatus further includes: the second execution module is used for receiving the access request; determining the block number needing to be accessed according to the access request; if the current transaction node stores the target block corresponding to the block number, returning to the target block; otherwise, returning the block head of the target block and the transaction node list stored with the target block.
In one embodiment, determining the block number to be accessed according to the access request includes: and if the access request contains a transaction name, determining the block number of the block where the transaction name is located according to the transaction name and the transaction index.
The block storage device provided by the embodiment of the invention can execute the block storage method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
It should be noted that, in the embodiment of the block storage device, the included units and modules are only divided according to functional logic, but are not limited to the above division as long as the corresponding functions can be implemented; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
Example four
Fig. 8 is a schematic structural diagram of a computer device according to a fourth embodiment of the present invention. FIG. 8 illustrates a block diagram of an exemplary computer device 8 suitable for use in implementing embodiments of the present invention. The computer device 8 shown in fig. 8 is only an example and should not bring any limitation to the function and the scope of use of the embodiments of the present invention.
As shown in fig. 8, the computer device 8 is in the form of a general purpose computing electronic device. The components of computer device 8 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer device 8 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer device 8 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)30 and/or cache memory 32. The computer device 8 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 8, and commonly referred to as a "hard drive"). Although not shown in FIG. 8, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. System memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally carry out the functions and/or methodologies of the described embodiments of the invention.
Computer device 8 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with the computer device 8, and/or with any devices (e.g., network card, modem, etc.) that enable the computer device 8 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Also, computer device 8 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the Internet) through network adapter 20. As shown in FIG. 8, the network adapter 20 communicates with the other modules of the computer device 8 via the bus 18. It should be appreciated that although not shown in FIG. 8, other hardware and/or software modules may be used in conjunction with computer device 8, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processing unit 16 executes various functional applications and page displays by running programs stored in the system memory 28, for example, implementing the block storage method provided by the embodiment of the present invention, including: acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters; determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node.
Of course, those skilled in the art can understand that the processor can also implement the technical solution of the block storage method provided in any embodiment of the present invention.
EXAMPLE five
An embodiment five of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements, for example, a block storage method provided in this embodiment, and the method includes: acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters; determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block; and storing the block headers of the current block and other blocks to the current transaction node.
Computer storage media for embodiments of the invention may employ any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer-readable storage medium may be, for example but not limited to: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, or the like, as well as conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It will be understood by those skilled in the art that the modules or steps of the invention described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of computing devices, and optionally they may be implemented by program code executable by a computing device, such that it may be stored in a memory device and executed by a computing device, or it may be separately fabricated into various integrated circuit modules, or it may be fabricated by fabricating a plurality of modules or steps thereof into a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments illustrated herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (12)

1. A method for block storage, comprising:
acquiring configuration parameters of a current block, and determining the redundancy of the current block according to the configuration parameters;
determining a current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block;
and storing the block headers of the current block and other blocks to the current transaction node.
2. The method of claim 1, wherein determining the redundancy of the current block according to the configuration parameters comprises:
determining the storage times of the current block according to the configuration parameters;
determining the number of times of storage as the redundancy of the current block.
3. The block storage method according to claim 1, wherein determining the current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block comprises:
determining a first mapping position of the current block on a consistent hash ring based on a hash algorithm;
and determining the current transaction node according to the first mapping position and the redundancy.
4. A block storage method as claimed in claim 3, wherein before determining the current transaction node based on the first mapping location and the redundancy, further comprising:
and determining a second mapping position of each transaction node on the consistent hash ring based on the hash algorithm and the address information of each transaction node.
5. A block storage method according to claim 4, wherein determining the current transaction node based on the first mapping location and the redundancy comprises:
based on the first mapping position of the current block and the second mapping position of each transaction node, clockwise sequentially searching the transaction nodes adjacent to the current block;
and determining the current transaction node according to the adjacent transaction nodes and the redundancy.
6. The block storage method according to claim 5, wherein before determining the current transaction node corresponding to the current block based on a hash algorithm and the redundancy of the current block, the method further comprises:
acquiring a transaction node list, wherein the transaction node list comprises each transaction node and the address information of each transaction node.
7. The block storage method of claim 1, further comprising, before obtaining the configuration parameters of the current block:
acquiring a generated block based on the consensus node;
performing block verification on transactions contained in the block;
after the block verification is passed, executing the transaction contained based on the block, and updating the state of the book according to the transaction result;
updating a transaction index by associating a transaction name of the transaction contained in the block with a block number of the block.
8. The block storage method of claim 1, further comprising:
receiving an access request;
determining the block number needing to be accessed according to the access request;
if the current transaction node stores the target block corresponding to the block number, returning to the target block;
otherwise, returning the block head of the target block and the transaction node list stored with the target block.
9. The method of claim 8, wherein determining the block number to be accessed according to the access request comprises:
and if the access request contains a transaction name, determining the block number of the block where the transaction name is located according to the transaction name and the transaction index.
10. A block storage device, comprising:
the acquisition module is used for acquiring the configuration parameters of the current block and determining the redundancy of the current block according to the configuration parameters;
a determining module, configured to determine, based on a hash algorithm and the redundancy of the current block, a current transaction node corresponding to the current block;
and the storage module is used for storing the block heads of the current block and other blocks to the current transaction node.
11. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the block storage method according to any one of claims 1-9 when executing the program.
12. A storage medium containing computer-executable instructions for performing the block storage method of any one of claims 1-9 when executed by a computer processor.
CN202110976341.2A 2021-08-24 2021-08-24 Block storage method, device, equipment and storage medium Pending CN113627937A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110976341.2A CN113627937A (en) 2021-08-24 2021-08-24 Block storage method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110976341.2A CN113627937A (en) 2021-08-24 2021-08-24 Block storage method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113627937A true CN113627937A (en) 2021-11-09

Family

ID=78387538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110976341.2A Pending CN113627937A (en) 2021-08-24 2021-08-24 Block storage method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113627937A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990497A (en) * 2019-12-19 2020-04-10 上海优扬新媒信息技术有限公司 Block chain-based information processing method and device, equipment and storage medium
CN111080445A (en) * 2019-10-28 2020-04-28 北京大学 Credible certificate storing method and system based on graph structure
CN111324633A (en) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 Block chain transaction distributed caching method, system, equipment and storage medium
CN111339106A (en) * 2020-05-18 2020-06-26 杭州趣链科技有限公司 Block chain data indexing method
CN112069169A (en) * 2020-07-30 2020-12-11 北京奇艺世纪科技有限公司 Block data storage method and device, electronic equipment and readable storage medium
CN112953981A (en) * 2019-11-26 2021-06-11 北京沃东天骏信息技术有限公司 Node selection method, block chain consensus method, device, system and equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111080445A (en) * 2019-10-28 2020-04-28 北京大学 Credible certificate storing method and system based on graph structure
CN112953981A (en) * 2019-11-26 2021-06-11 北京沃东天骏信息技术有限公司 Node selection method, block chain consensus method, device, system and equipment
CN110990497A (en) * 2019-12-19 2020-04-10 上海优扬新媒信息技术有限公司 Block chain-based information processing method and device, equipment and storage medium
CN111324633A (en) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 Block chain transaction distributed caching method, system, equipment and storage medium
CN111339106A (en) * 2020-05-18 2020-06-26 杭州趣链科技有限公司 Block chain data indexing method
CN112069169A (en) * 2020-07-30 2020-12-11 北京奇艺世纪科技有限公司 Block data storage method and device, electronic equipment and readable storage medium

Similar Documents

Publication Publication Date Title
JP6940662B2 (en) Methods and systems for the protection and verification of identities and certificates via the blockchain
CN109684307B (en) Data storage method, device, equipment and storage medium
CN107577427B (en) data migration method, device and storage medium for blockchain system
CN109710190B (en) Data storage method, device, equipment and storage medium
CN111427971B (en) Business modeling method, device, system and medium for computer system
CN109508326B (en) Method, device and system for processing data
CN109597640B (en) Account management method, device, equipment and medium for application program
US9355106B2 (en) Sensor data locating
CN109716321B (en) N-way hash connection
CN107391033B (en) Data migration method and device, computing equipment and computer storage medium
CN111061740B (en) Data synchronization method, device and storage medium
CN110427364A (en) A kind of data processing method, device, electronic equipment and storage medium
CN111611249A (en) Data management method, device, equipment and storage medium
CN109800336A (en) Table implementation method, device, equipment and medium based on key-value pair storage system
CN112039975A (en) Method, device, equipment and storage medium for processing message field
CN115408391A (en) Database table changing method, device, equipment and storage medium
CN109858285B (en) Block chain data processing method, device, equipment and medium
US10956125B2 (en) Data shuffling with hierarchical tuple spaces
CN105389394A (en) Data request processing method and device based on a plurality of database clusters
CN108845892A (en) Data processing method, device, equipment and the computer storage medium of distributed data base
CN108255434A (en) Label management method, managing device and computer readable storage medium
CN110515954B (en) Data processing method, device, equipment and storage medium
US11556519B2 (en) Ensuring integrity of records in a not only structured query language database
CN113627937A (en) Block storage method, device, equipment and storage medium
CN111857883B (en) Page data checking method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination