WO2020151635A1 - 数据处理方法、装置、计算机设备及存储介质 - Google Patents
数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- WO2020151635A1 WO2020151635A1 PCT/CN2020/073127 CN2020073127W WO2020151635A1 WO 2020151635 A1 WO2020151635 A1 WO 2020151635A1 CN 2020073127 W CN2020073127 W CN 2020073127W WO 2020151635 A1 WO2020151635 A1 WO 2020151635A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- node
- transaction record
- reconciliation
- transaction
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- This application relates to the field of computer technology, in particular to a data processing method, device, computer equipment and storage medium.
- Blockchain technology is a very important technology in today's era and has been applied in many scenarios.
- the blockchain is mainly used for accounting, that is, for storing transaction records.
- the transaction records Once the transaction records are stored on the blockchain, they cannot be deleted or tampered with, which ensures that the stored transaction records are true and effective.
- the traditional method cannot delete the transaction records that do not need to be retained, making these unnecessary data occupy a lot of space and waste a lot of storage resources.
- this application provides a data processing method, device, computer equipment, and storage medium, which can save storage resources in the blockchain.
- a data processing method is executed by a blockchain node, and the method includes:
- the block header of the block and the node retention tree storing the transaction records are updated to the second block file; the block header of the block is adjacent to the previous block in the second block file Block header; and
- the first block file is deleted.
- a data processing device the device being used in a blockchain node, the device comprising:
- the node retention module is used to detect the transaction records that need to be retained in the block for each block in the first block file; filter the transaction records used to prove the transaction from the hash tree of the block Nodes belonging to the block; construct a node retention tree according to the selected nodes;
- Transaction storage module configured to store the transaction record in the corresponding leaf node of the node retention tree
- the block update module is used to associate the block header of the block and the node retention tree storing the transaction records in the second block file; the block header of the block is in the second block file The block header adjacent to the previous block; and
- the deleting module is configured to delete the first block file after the update processing for each block is completed.
- a computer device includes a memory and a processor, and a computer program is stored in the memory.
- the processor executes the following steps:
- the block header of the block and the node retention tree storing the transaction records are updated to the second block file; the block header of the block is adjacent to the previous block in the second block file Block header; and
- the first block file is deleted.
- a computer-readable storage medium having a computer program stored on the computer-readable storage medium, and when the computer program is executed by a processor, the processor executes the following steps:
- the block header of the block and the node retention tree storing the transaction records are updated to the second block file; the block header of the block is adjacent to the previous block in the second block file Block header; and
- the first block file is deleted.
- the above-mentioned data processing method, device, computer equipment and storage medium detect the transaction records that need to be kept in the block for each block in the first block file; from the hash tree of the block, filter for proof
- the transaction record to be retained belongs to the node of the block; the node retention tree is constructed according to the selected nodes; the transaction record is stored in the corresponding leaf node of the node retention tree.
- the block header of the block and the node retention tree storing the transaction records are updated in the second block file; the block header is adjacent to the block header of the previous block in the second block file. In the second block file, since the block header has not changed and the block headers are still adjacent to each other in sequence, the characteristic of connecting end to end by the hash value on the blockchain is maintained.
- the transaction record of the leaf node and the node in the node retention tree can prove that the transaction record belongs to the original corresponding block, which is equivalent to still retaining the original hash tree verification data authenticity function.
- the second block file The transaction records kept in the database still cannot be forged and tampered with. After the update processing for each block is completed, the first block file is deleted. Since the second block file does not store transaction records that do not need to be retained in the original block, but only saves the transaction records that need to be retained and the node retention tree used to verify the authenticity of the transaction records, so compared to The first block file greatly saves storage resources.
- Figure 1 is an application scenario diagram of a data processing method in an embodiment
- Figure 2 is a schematic flowchart of a data processing method in an embodiment
- FIG. 3 is a schematic diagram of the principle of constructing a node retention tree in an embodiment
- Figure 4 is a schematic flow diagram of the reconciliation step in an embodiment
- Figure 5 is a schematic flowchart of a data processing method in another embodiment
- Figure 6 is a block diagram of a data processing device in an embodiment
- Figure 7 is a block diagram of a data processing device in another embodiment
- Fig. 8 is a schematic diagram of the internal structure of a computer device in an embodiment.
- Fig. 1 is an application scenario diagram of a data processing method in an embodiment.
- the application scenario includes a first reconciliation device 110, a second reconciliation device 120, and a blockchain node 130 connected via a network.
- the blockchain node 130 is used to store blocks in the blockchain.
- the blockchain node 130 is composed of one or more servers. Multiple blockchain nodes 130 constitute a blockchain platform.
- the blockchain platform can be a private blockchain platform or a developed blockchain platform.
- the blockchain platform can be a cloud blockchain platform.
- the cloud blockchain platform is a platform built on the foundation of the cloud, allowing users to quickly build the infrastructure and blockchain services they need on an open cloud platform.
- the first account reconciliation device 110 and the second account reconciliation device 120 are devices used by both parties to perform account reconciliation.
- the first reconciliation device 110 and the second reconciliation device 120 may be terminals or servers.
- the terminal may be a smart TV, a desktop computer, or a mobile terminal.
- the mobile terminal may include at least one of a mobile phone, a tablet computer, a notebook computer, a personal digital assistant, and a wearable device.
- the server can be implemented as an independent server or a server cluster composed of multiple physical servers.
- the first reconciliation device 110 and the second reconciliation device 120 can store the transaction records that need to be reconciled on the blockchain in the blockchain node 130.
- Each block on the blockchain is stored in the first block file.
- the blockchain node 130 can detect the transaction records that need to be kept in the block for each block in the first block file; from the hash tree of the block, filter to prove that the transaction record belongs to the zone
- the node of the block construct a node retention tree according to the selected node; store the transaction record in the corresponding leaf node of the node retention tree; update the association between the block header of the block and the node retention tree that stores the transaction record to the first In the second block file; the block header of the block is adjacent to the block header of the previous block in the second block file; after the update processing for each block is completed, delete the first block file .
- the second block file stores the transaction records that need to be retained after each block is updated, and removes the transaction records that do not need to be retained, thereby saving storage space.
- the block header of each block in the second block file is still adjacent in the order in the first block file, that is, it still maintains the characteristic of connecting end to end by hash value on the block chain. Then, the second The transaction records kept in the block file still cannot be forged and tampered with.
- Fig. 1 is only an application scenario of the data processing method in this application.
- the data processing method in this application is not limited to reasonably clearing transaction records in the reconciliation scenario of FIG. 1, and may also be clearing transaction records stored in other scenarios.
- FIG. 2 is a schematic flowchart of a data processing method in an embodiment.
- the data processing method is mainly applied to the blockchain node 130 in FIG. 1 for illustration.
- the method specifically includes the following steps:
- the first block file is the original block chain file stored on the block chain node.
- the first block file includes multiple blocks constituting the blockchain. Each block can include one or more transaction records. There can be one or more transaction records to be kept.
- the transaction record may be a transaction record for reconciliation. In other embodiments, the transaction record may also be a transaction record purely for storing backups. It can be understood that the transaction records may also be transaction records that need to be used in other usage scenarios. There is no restriction on this.
- the blockchain node can detect the transaction records directly specified in the block that need to be retained.
- the blockchain node may also analyze the transaction records in each block to determine the transaction records to be retained.
- the blockchain node can obtain the status of each transaction record in the block, and determine the transaction record in a valid state as the transaction record to be retained.
- Blockchain nodes can also filter the transaction records in the unsuccessful processing set in the block to obtain transaction records that need to be retained.
- the blockchain node can start from the first block in the first block file and execute steps S202 to S210 block by block.
- the blockchain node can also concurrently execute steps S202 to S210 for each block in the first block file. There is no limitation here.
- the blockchain node may detect transaction records that need to be retained from the block, or may detect that there are no transaction records that need to be retained. Then, in response to detecting the transaction record that needs to be retained in the block, steps S204 to S210 are executed.
- the block header can only be adjacent to The block header of the previous block is updated to the second block file. For example, for a block where there is no transaction record that needs to be retained, the blockchain node can determine the block header of the previous block in the second block file, and place it in the previous block in the second block file. Afterwards, update the block header storing the block. That is, for blocks where there is no transaction record that needs to be retained, only the block header can be retained in the second block file without any transaction records.
- the hash tree of the block is a hash tree generated according to each transaction record in the block.
- the leaf nodes of the hash tree correspond to the hash value of each transaction record in the block.
- the hash value of the root node of the hash tree is calculated according to the hash value of each leaf node.
- the hash value of the root node of the hash tree uniquely corresponds to the block.
- the node used to prove that the transaction record to be retained belongs to the block refers to the node corresponding to the hash value required when the hash value of the root node is calculated from the hash value of the leaf node corresponding to the transaction record to be retained. It can be understood that because the hash value of the root node is calculated from the hash value of the leaf node corresponding to the transaction record that needs to be retained, the selected nodes include the leaf node and the root node corresponding to the transaction record that needs to be retained.
- the hash tree may be a double-layer hash tree.
- a two-layer hash tree refers to a two-level hash tree including a root node and leaf nodes.
- the hash value of the root node of the double-layer hash tree can be obtained by performing a hash operation after the hash value of each leaf node is combined in series. It can be understood that when the hash tree is a double-layer hash tree, the nodes selected to prove that the transaction record belongs to the block are all nodes of the hash tree.
- the hash tree may also be a multi-layer hash tree.
- Multi-layer hash tree refers to a hash tree with more than two layers.
- the node used to prove that the transaction record belongs to the block is only a part of the node of the multi-layer hash tree.
- the multi-layer hash tree may be a Merkel tree.
- Merkle Tree is a multi-level tree data structure.
- Each leaf node of the Merkel tree uses the hash value of each transaction record as the label, and the leaf node uses the hash value obtained by the hash operation after the serialization of the child node labels as the label. It can be understood that the root node of the Merkel tree uses the label of the node at the level closest to the root node in series to obtain the hash value obtained by the hash operation.
- the selected nodes are the nodes that need to be retained in the original hash tree.
- the node retention tree is a hash tree reconstructed according to the selected nodes to be retained.
- the node retention tree can be constructed only based on the selected nodes for the transaction record.
- the nodes selected for the multiple transaction records that need to be retained can be summarized and deduplicated, and then the node retention tree can be reconstructed according to the deduplicated nodes. It should be noted that the constructed node retention tree retains the hierarchical relationships that exist in the original hash tree of the filtered nodes.
- the node retention tree is illustrated with reference to Figure 3.
- the block header of the n-1th block includes the hash value of the previous block and the root hash of the n-1th block itself.
- the root hash in Figure 3 refers to The root node of the Merkel tree
- the block header of the nth block includes the hash value of the n-1th block and the root hash of the nth block itself, and the area of the n+1th block
- the block header includes the hash value of the nth block and the root hash of the n+1th block itself.
- the nth block includes 4 transaction records Tx(1) ⁇ Tx(4), and hash calculations on Tx(1) ⁇ Tx(4) respectively to obtain the corresponding The hash value H(1) ⁇ H(4).
- a hash tree including leaf nodes H(1) to H(4), H(1+2), H(3+4), and the root node can be generated.
- H(1+2) is the parent node of H(1) and H(2), and the corresponding hash value is obtained by hash calculation after H(1) and H(2) are connected in series.
- H(3+4) is the parent node of H(3) and H(4), and the corresponding hash value is obtained by hash calculation after H(3) and H(4) are connected in series.
- the root node is the parent node of H(1+2) and H(3+4), and the corresponding hash value is obtained by hash calculation after H(1+2) and H(3+4) are concatenated.
- the selected nodes are the nodes that need to be filtered out except the root node, that is, in addition to the root node, the nodes H(1+2), H(3+4), H(3) need to be filtered And H(4) to build a node-preserving tree.
- the nodes used to prove that Tx(2) and Tx(3) belong to the block can be selected.
- the nodes selected for Tx(2) must also include H(1+2) and H(3+4), then the nodes selected for Tx(2) and Tx(3) need to be summarized and deduplicated , After deduplication, it is equivalent to filtering all nodes in the entire hash tree to construct a node retention tree. Then, only Tx(2) and Tx(3) are stored in the respective leaf nodes.
- the blockchain node may store them in the data block corresponding to the corresponding leaf node in the node retention tree.
- the blockchain node can store the transaction record Tx(3) in the data block corresponding to the corresponding leaf node H(3).
- the block header of the block and the node retention tree storing the transaction records are associated and updated to the second block file; the block header is adjacent to the block header of the previous block in the second block file.
- the second block file is different from the first block file and is a newly created block file on the blockchain node.
- the blockchain node can serialize the block header and the node retention tree storing transaction records, and convert the block header and the node retention tree storing transaction records into a storable form .
- the blockchain node can determine the block header of the previous block in the second block file. Update the block header of the serialized block adjacent to the block header of the previous block to the second block file, and in the second block file, store the serialized transactions that need to be retained
- the recorded node retention tree is stored in association with the block header of the block.
- the method further includes: obtaining a second storage location of the second block file; modifying the location index of the block from the first storage location pointing to the first block file to pointing to the The second storage location.
- the location index of the block refers to an index used to find the storage location of the block.
- the location index of the block initially points to the first storage location of the first block file.
- the block chain node updates the block to the second block file according to steps S204-210, the block can be The location index of is modified to point to the second storage location of the second block. In this way, the block can be found from the second block file according to the location index pointing to the second storage location later.
- each blockchain node will update the association between the block header and the node retention tree storing the transaction records to the second block file in.
- the block header of the block can be adjacent to the block header of the previous block by performing steps S204 to S210, and the block header of the block may be The node retention tree association of the retained transaction records is updated to the second block file.
- the block header storing the block can be updated after the block header of the previous block in the second block file.
- the content of each block stored in the second block file is equivalent to the updated content of the block.
- each blockchain node will delete the first block file.
- the second block file does not store transaction records that do not need to be retained in the original block, but only saves the transaction records that need to be retained and the node retention tree used to verify the authenticity of the transaction records, so compared to The first block file greatly saves storage resources.
- the transaction record is a transaction record for reconciliation.
- Step S202 includes: for each block in the first block file, comparing the transaction records in the block with the transaction records in the set of unsuccessful reconciliations; in response to the transaction records in the block being included in the The set of successful reconciliations will determine the transaction record as the transaction record to be retained.
- the set of unsuccessful reconciliation is a set formed by each transaction record that has not been successfully reconciled.
- the set of unsuccessful reconciliation may be a set that includes both unreconciled transaction records and transaction records that have failed reconciliation.
- the set of unsuccessful reconciliations may include an unreconciled set or a set of reconciliation errors.
- the unsuccessful reconciliation set may include two sub-sets, the unreconciled set and the reconciliation error set.
- the unreconciled set is a set formed by transaction records that have not yet been reconciled.
- the set of reconciliation errors is a set of transaction records with inconsistent reconciliation (that is, errors in reconciliation).
- the blockchain node can compare each transaction record in the block with the transaction record in the set of unsuccessful reconciliations to determine whether the block is included in the set of unsuccessful reconciliations Transaction records in.
- the transaction record in the block is matched with the transaction record in the set of unsuccessful reconciliations, it means that the transaction record is included in the set of unsuccessful reconciliations, and the block in the unsuccessful reconciliation can be included
- the transaction records of the collection of accounts are determined as transaction records that need to be retained.
- the transaction record is a transaction that does not need to be retained recording.
- a set of unsuccessful reconciliations is set on the blockchain, and the transaction records in the block are compared with the transaction records in the set of unsuccessful reconciliations, which can more quickly determine the transactions that need to be retained. recording.
- the set of unsuccessful reconciliation includes an unreconciled set.
- the method also includes a reconciliation step, which may include the following steps:
- the unreconciled set is a set formed by transaction records that have not yet been reconciled.
- the first reconciliation device is a device used by the party that initiates the reconciliation process.
- the reconciliation call request is used to request to call the smart contract on the blockchain to realize the reconciliation process.
- a smart contract is a piece of code set on the blockchain obtained by programming an agreement that is jointly formulated by various blockchain nodes and used to clarify rights and obligations.
- the code contains conditions that trigger the automatic execution of the contract. It can be understood that when the trigger condition for an event is reached, the smart contract can automatically execute the event after each blockchain node reaches a consensus on the event.
- the blockchain node has pre-established an unreconciled set for storing transaction records that have not yet been reconciled.
- the initially created unreconciled set can be an empty set, which does not include transaction records.
- both parties can send a reconciliation call request to the blockchain node through their respective reconciliation devices to request to call the smart contract set on the blockchain node.
- the reconciliation call request can be parsed through the smart contract to obtain the first transaction record to be reconciled.
- the blockchain node can store the first transaction record in the block of the first block file through the smart contract.
- the blockchain node when receiving a reconciliation call request sent by the reconciliation device used by either party to the reconciliation, the blockchain node can store the transaction record carried in the reconciliation call request to the first area through the smart contract In the block of the block file.
- the reconciliation association identifier is used to associate the transaction records that are sent by the reconciliation devices used by both parties to the account and represent the same transaction.
- the reconciliation association identifier may include a transaction serial number. Then, the transaction records corresponding to the same transaction serial number sent by both parties need to be reconciled. It can be understood that, in other embodiments, the reconciliation association identifier may also be another identifier that can uniquely represent the same transaction.
- the blockchain node can extract the reconciliation associated identifier from the first transaction record through the smart contract.
- the blockchain node can also extract the reconciliation association identifier corresponding to the first transaction record from the reconciliation call request through the smart contract.
- S406 Search for a second transaction record of the second reconciliation device corresponding to the reconciliation associated identifier from the unreconciled set created on the blockchain.
- the second reconciliation device is a device used by the other party that initiates the reconciliation process.
- the blockchain node can check whether there is a second transaction record corresponding to the reconciliation associated identifier in the transaction records of the unreconciled set through the smart contract.
- the second transaction record is the transaction record carried when the second reconciliation device used by the other party that initiates the reconciliation process sends the reconciliation call request.
- the reconciling parties are not exactly the same when calling the smart contract for reconciliation, there must be speed and slowness, and the order of selecting transaction records for reconciliation may also be different.
- the other party may not have sent the transaction record corresponding to the same reconciliation associated identifier to the smart contract, so there may be a second reconciliation device that has not found the second reconciliation device corresponding to the reconciliation associated identifier.
- the situation of transaction records Similarly, if the other party first sends the transaction record that needs to be reconciled to the smart contract, the transaction record sent first cannot find the transaction record corresponding to the same reconciliation associated identifier, and therefore cannot be reconciled. Therefore, the first sent The transaction record will be added to the unreconciled set.
- the blockchain node may find the second transaction record of the second reconciliation device corresponding to the reconciliation associated identifier, or it may not find the second reconciliation corresponding to the reconciliation associated identifier.
- the second transaction record of the device may be found.
- the blockchain node may add the first transaction record to the unreconciled set.
- the blockchain node in response to finding the second transaction record of the second reconciliation device corresponding to the reconciliation associated identifier, may delete the second transaction record from the unreconciled set, and The first transaction record is compared with the second transaction record. In response to the inconsistency in the comparison, the first transaction record and the second transaction record may be processed differently from the transaction record that is successfully reconciled. Distinguishing processing refers to processing that separates the first transaction record and the second transaction record from the transaction record that has been successfully reconciled.
- the blockchain node may add a reconciliation failure mark to the first transaction record and the second transaction record that are not aligned. It can be understood that the blockchain node may also use other methods to distinguish between the first transaction record and the second transaction record that are inconsistent with the transaction record that is successfully reconciled.
- the unreconciled set is set on the blockchain, and when the reconciliation call request is received, the unreconciled set is combined to realize real-time reconciliation processing, making the reconciliation more timely and convenient.
- the set of unsuccessful reconciliations also includes a set of reconciliation errors.
- the reconciliation step also includes the following steps:
- S412 Compare the first transaction record with the second transaction record.
- the blockchain node in response to finding the second transaction record in the unreconciled set, deletes the second transaction record from the unreconciled set, and compares the second transaction record with the first transaction record , To compare whether the two are consistent.
- the reconciliation error collection is a collection of transaction records that are inconsistent in reconciliation.
- the result of comparing the second transaction record with the first transaction record includes two cases of consistent comparison and inconsistent comparison.
- the comparison being consistent, it is determined that the first transaction record and the second transaction record belong to the transaction records for which the reconciliation is successful.
- the first transaction record and the second transaction record may be added to the reconciliation error set.
- the blockchain node may receive the modification processing for the transaction records in the reconciliation error set, and perform the reconciliation processing on the modified transaction records again.
- two types of unsuccessful reconciliation sets are set on the blockchain, namely, unreconciled sets and reconciliation error sets. It is very convenient to realize real-time reconciliation through these two sets. Manage the reconciliation results more accurately.
- step S204 includes: determining the leaf node corresponding to the transaction record in the hash tree of the block; filtering the first ancestor node and sibling leaf nodes of the leaf node from the hash tree; The non-sibling leaf nodes of, filter the second ancestor node of the non-sibling leaf node closest to the root node; construct a node retention tree based on the leaf node, the first ancestor node, the sibling leaf node and the second ancestor node.
- the leaf node corresponding to the transaction record refers to the leaf node that uses the hash value of the transaction record to be retained as the label.
- An ancestor node refers to a node that has an ancestor relationship with a leaf node. It can be understood that parent nodes, grandparent nodes, great-grandparent nodes, etc., are all ancestor nodes of leaf nodes.
- a sibling leaf node refers to a leaf node corresponding to the same parent node as the leaf node.
- Non-sibling leaf nodes refer to leaf nodes that do not have the same parent node as the leaf node.
- the blockchain node can filter the first ancestor node of the leaf node corresponding to the transaction record to be retained and the sibling leaf nodes of the leaf node from the hash tree.
- the first ancestor node refers to all ancestor nodes of the leaf node. Because the root node must be the ancestor node of the leaf node corresponding to the transaction record to be retained, the first ancestor node includes the root node.
- the blockchain node can determine the non-sibling leaf node of the leaf node corresponding to the transaction record from the hash tree, determine the ancestor node of the non-sibling leaf node closest to the root node, and obtain the second ancestor node.
- each ancestor node closest to the root node will be filtered out.
- the ancestor nodes of the leaf nodes closest to the root node are the same, only the ancestor node closest to the root node can be filtered out.
- Blockchain nodes can construct a node retention tree based on leaf nodes, first ancestor nodes, sibling leaf nodes, and second ancestor nodes.
- the transaction record to be retained is Tx(3)
- the corresponding leaf node is H(3)
- the sibling leaf node of H(3) is H(4)
- the first ancestor node of H(3) is H(3+4) and the root node.
- H(1) and H(2) are the non-sibling leaf nodes of H(3)
- the second ancestor nodes of non-sibling leaf nodes H(1) and H(2) that are closest to the root node are both H(1+2) ). Therefore, the blockchain node can construct a node retention tree based on the leaf nodes H(3), H(4), H(3+4), H(1+2) and the root node corresponding to Tx(3).
- a node retention tree is constructed, and the original hash tree verification data Under the premise of authenticity function, unnecessary node and transaction record data can be eliminated, saving storage resources to a certain extent.
- a data processing method is provided, and the data processing method specifically includes the following steps:
- S502 Create an unreconciled set and a reconciled error set on the blockchain.
- the initially created unreconciled set and reconciliation error set can be empty sets, which do not include transaction records, and then add corresponding transaction records based on the actual reconciliation situation.
- S504 in response to receiving the reconciliation call request sent by the first reconciliation device for the smart contract, store the first transaction record to be reconciled carried in the reconciliation call request into a block of the first block file through the smart contract .
- step S506 Obtain the reconciliation associated identifier corresponding to the first transaction record through the smart contract; search for the second transaction record of the second reconciliation device corresponding to the reconciliation associated identifier from the unreconciled set created on the blockchain.
- step S508 is executed, and in response to the second transaction record being found, step S510 is executed.
- the reconciliation association identifier is used to associate the transaction records that are sent by the reconciliation devices used by both parties to the account and represent the same transaction.
- the transaction records included in the unreconciled set in S506 are the first transaction records.
- the block there is no transaction record for reconciliation.
- the first 4 blocks in the first block file are already full, so the first transaction record R1 is stored to the fifth block, then the unreconciled set includes the fifth block Up to now there is no transaction record for reconciliation.
- the blockchain node can find from the current unreconciled set whether there is a second transaction record R2 corresponding to the same reconciliation associated identifier as the first transaction record R1. If it does not exist, the first transaction record R1 can also be Add to the unreconciled collection.
- S510 Remove the second transaction record from the unreconciled set; compare the first transaction record with the second transaction record; in response to the inconsistency in the comparison, add the first transaction record and the second transaction record to the set of reconciliation errors.
- the blockchain starts from the first block and sequentially generates blocks to store transaction records
- the transaction records included in the set of reconciliation errors after the first transaction record and the second transaction record are added , That is, the transaction records that have errors in reconciliation until the first transaction record is stored to the block.
- steps S504 to S510 describe a real-time reconciliation process, that is, the blockchain node can store the first transaction record carried in the reconciliation call request of the first reconciliation device in the block, and check The first transaction record is subjected to reconciliation processing, so as to realize real-time reconciliation processing while storing and reconciling.
- first reconciliation device and “second reconciliation device” here are only used for distinction and do not need to be other restrictions. It can be understood that after the smart contract receives a reconciliation call request from either party, it can store the transaction records carried in it in the block.
- the reconciliation parties are not exactly the same when calling the smart contract for reconciliation, there will necessarily be faster and slower, and the order of selecting the transaction records for reconciliation may also be different.
- a reconciling party uses the reconciliation device
- the transaction record that needs to be reconciled is sent to the smart contract, and another reconciling party has not sent the reconciliation data, the transaction record that needs to be reconciled can be added to the unreconciled set.
- step S512 For each block in the first block file, compare the transaction records in the block with the transaction records in the reconciliation error set and the unreconciled set. In response to the transaction records in the block being included in the reconciliation error set or the unreconciled set, steps S514 to S516 are executed, and in response to the transaction records in the block not being included in the reconciliation error set and the unreconciled set, then the steps are executed S518.
- the blockchain node can perform step S512 according to a preset period (equivalent to regularly cleaning data in the blockchain).
- the blockchain node may also trigger the execution of step S512 when the number of blocks in the first block file reaches the preset number threshold (equivalent to, when there are too many blocks in the blockchain, When the occupied storage space is too large, clean up the data in the blockchain).
- S514 In the hash tree of the block, determine the leaf node corresponding to the transaction record; from the hash tree, filter the first ancestor node and sibling leaf nodes of the leaf node; for non-sibling leaf nodes of the leaf node, filter non-sibling leaf nodes The second ancestor node of the sibling leaf node closest to the root node; construct a node retention tree according to the leaf node, sibling leaf node, first ancestor node and second ancestor node.
- S518 Update the block header of the block adjacent to the block header of the previous block to the second block file.
- S520 Modify the location index of the block from the first storage location pointing to the first block file to the second storage location pointing to the second block file.
- the characteristic that the block chain is connected end to end by the hash value is maintained. Retaining the transaction records of the leaf nodes of the tree at the node and the nodes in the tree can prove that the transaction record belongs to the original corresponding block, which is equivalent to still retaining the original hash tree verification data authenticity function.
- the transaction records kept in the second block file still cannot be forged and tampered with. After the update processing for each block is completed, the first block file is deleted.
- the second block file does not store transaction records that do not need to be retained in the original block, but only saves the transaction records that need to be retained and the node retention tree used to verify the authenticity of the transaction records, so compared to The first block file greatly saves storage resources.
- a data processing apparatus 600 is provided.
- the apparatus can be implemented as all or part of a computer device through hardware or a combination of software and hardware.
- the computer device may be The blockchain node in Figure 1.
- the device 600 includes: a node reservation module 602, a transaction storage module 604, a block update module 606, and a deletion module 608, wherein:
- the node retention module 602 is used to detect the transaction records that need to be retained in the block for each block in the first block file; from the hash tree of the block, filter the nodes used to prove that the transaction record belongs to the block ; Construct a node retention tree based on the selected nodes.
- the transaction storage module 604 is used to store transaction records in the corresponding leaf nodes of the node retention tree.
- the block update module 606 is used to associate the block header of the block and the node retention tree storing the transaction records in the second block file; the block header of the block is adjacent to the previous one in the second block file The block header of a block.
- the deleting module 608 is used to delete the first block file after the update processing for each block is completed.
- the node retention module 602 is configured to, in response to detecting the transaction records that need to be retained in the block, perform the step of screening the nodes used to prove that the transaction records belong to the block from the hash tree of the block;
- the node reservation module 620 is also used for notifying the block update module 606 to update the block header of the block adjacent to the block header of the previous block to the second block in response to detecting that there is no transaction record to be retained in the block. Block file.
- the transaction record is a transaction record used for reconciliation; the node retention module 602 is also used to compare the transaction record in the block with the transaction record in the set of unsuccessful reconciliation; in response to the block The transaction record in is included in the set of unsuccessful reconciliations, and the transaction record is determined to be a transaction record that needs to be retained.
- the unsuccessful reconciliation set includes the unreconciled set.
- the device 600 also includes:
- the real-time reconciliation module 601 is configured to store the first transaction record to be reconciled in the block of the first block file through the smart contract in response to receiving the reconciliation call request sent by the first reconciliation device; A transaction record is carried in the reconciliation call request; the reconciliation associated identifier corresponding to the first transaction record is obtained through the smart contract; the second pair corresponding to the reconciliation associated identifier is found from the unreconciled set created on the blockchain The second transaction record of the accounting device; in response to the second transaction record not being found, the first transaction record is added to the unreconciled set.
- the set of unsuccessful reconciliations also includes a set of reconciliation errors.
- the real-time reconciliation module 601 is also configured to remove the second transaction record from the unreconciled set in response to finding the second transaction record; compare the first transaction record with the second transaction record; The transaction record and the second transaction record are added to the set of reconciliation errors.
- the node retention module 602 is also used to determine the leaf node corresponding to the transaction record in the hash tree of the block; from the hash tree, filter the first ancestor node and sibling leaf nodes of the leaf node; For the non-sibling leaf nodes of the leaf node, the second ancestor node of the non-sibling leaf node closest to the root node is selected; according to the leaf node, the first ancestor node, the sibling leaf node and the second ancestor node, a node retention tree is constructed.
- the hash tree is a double-layer hash tree, and the hash value of the root node of the double-layer hash tree is obtained by performing a hash operation after the hash value of each leaf node is concatenated and combined; the filtered node That is, all nodes of the hash tree.
- the block update module 606 is also used to obtain the second storage location of the second block file; modify the location index of the block from pointing to the first storage location of the first block file to point to the second storage position.
- Fig. 8 is a schematic diagram of the internal structure of a computer device in an embodiment.
- the computer device may be each server in the blockchain node 130 shown in FIG. 1.
- the computer equipment includes a processor, a memory, and a network interface connected through a system bus.
- the memory includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium of the computer device can store an operating system and a computer program. When the computer program is executed, it can cause the processor to execute all or part of the steps of the data processing method shown in the foregoing method embodiments.
- the processor of the computer equipment is used to provide calculation and control capabilities, and supports the operation of the entire computer equipment.
- a computer program may be stored in the internal memory, and when the computer program is executed by the processor, the processor may execute all or part of the steps of the data processing method shown in the foregoing method embodiments.
- the network interface of the computer equipment is used for network communication.
- FIG. 8 is only a block diagram of part of the structure related to the solution of the present application, and does not constitute a limitation on the computer equipment to which the solution of the present application is applied.
- the specific computer equipment may Including more or less parts than shown in the figure, or combining some parts, or having a different part arrangement.
- the data processing device provided in the present application can be implemented in the form of a computer program.
- the computer program can run on the computer device as shown in FIG. 8, and the non-volatile storage medium of the computer device can store components.
- the various program modules of the data processing device for example, the node reservation module 602, the transaction storage module 604, the block update module 606, and the deletion module 608 shown in FIG.
- the computer program composed of each program module is used to make the computer device execute the steps in the data processing method of each embodiment of the present application described in this specification.
- the computer device can pass through the data processing device 600 shown in FIG.
- the node retention module 602 For each block in the first block file, the node retention module 602 detects the transaction records that need to be retained in the block; from the hash tree of the block, filters the nodes used to prove that the transaction records belong to the block; The filtered nodes construct a node retention tree.
- the computer device can store the transaction record in the corresponding leaf node of the node retention tree through the transaction storage module 604.
- the computer device can update the block header of the block and the node retention tree storing the transaction records to the second block file through the block update module 606; the block header of the block is adjacent to the second block file in the second block file.
- the block header of the previous block The computer device can delete the first block file after the update processing for each block is completed through the deletion module 608.
- a computer device including a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the above data processing method.
- the steps of the data processing method may be the steps in the data processing method of each of the foregoing embodiments.
- a computer-readable storage medium which stores a computer program, and when the computer program is executed by a processor, the processor executes the steps of the above-mentioned data processing method.
- the steps of the data processing method may be the steps in the data processing method of each of the foregoing embodiments.
- steps in the embodiments of the present application are not necessarily executed in sequence in the order indicated by the step numbers. Unless explicitly stated in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least part of the steps in each embodiment may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but may be executed at different times. The execution of these sub-steps or stages The sequence is not necessarily performed sequentially, but may be performed alternately or alternately with other steps or at least a part of sub-steps or stages of other steps.
- Non-volatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
- Volatile memory may include random access memory (RAM) or external cache memory.
- RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Channel (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
- SRAM static RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDRSDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM synchronous chain Channel
- memory bus Radbus direct RAM
- RDRAM direct memory bus dynamic RAM
- RDRAM memory bus dynamic RAM
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (18)
- 一种数据处理方法,所述方法由区块链节点执行,所述方法包括:针对第一区块文件中的每个区块,检测所述区块中需保留的交易记录;从所述区块的哈希树中,筛选用于证明所述交易记录属于所述区块的节点;根据筛选出的所述节点构建节点保留树;存储所述交易记录至所述节点保留树的相应叶节点中;将所述区块的区块头和存储了交易记录的节点保留树关联更新至第二区块文件中;所述区块的区块头在所述第二区块文件中相邻于前一区块的区块头;在对每个所述区块更新处理完毕后,删除所述第一区块文件。
- 根据权利要求1所述的方法,其特征在于,所述从所述区块的哈希树中,筛选用于证明所述交易记录属于所述区块的节点,包括:响应于检测出所述区块中需保留的交易记录,执行所述从所述区块的哈希树中,筛选用于证明所述交易记录属于所述区块的节点的步骤;所述方法还包括:响应于检测到所述区块中不存在需保留的交易记录,将所述区块的区块头相邻于前一区块的区块头更新至第二区块文件中。
- 根据权利要求1所述的方法,其特征在于,所述交易记录是用于对账的交易记录;所述检测所述区块中需保留的交易记录包括:将所述区块中的交易记录与未成功对账的集合中的交易记录进行比对;响应于所述区块中的交易记录包括于所述未成功对账的集合,判定所述交易记录为需保留的交易记录。
- 根据权利要求3所述的方法,其特征在于,未成功对账的集合包括未对账集合;所述方法还包括:响应于接收到第一对账设备发送的对账调用请求,通过智能合约将待对账的第一交易记录存储至第一区块文件的区块中;所述第一交易记录携带于所述对账调用请求中;通过智能合约获取所述第一交易记录对应的对账关联标识;从区块链上创建的未对账集合中,查找与所述对账关联标识对应的第二对账设备的第二交易记录;响应于未找到所述第二交易记录,将所述第一交易记录添加至未对账集合 中。
- 根据权利要求4所述的方法,其特征在于,所述未成功对账的集合还包括对账差错集合;所述方法还包括:响应于找到所述第二交易记录,从所述未对账集合中移除所述第二交易记录;比对所述第一交易记录和所述第二交易记录;响应于比对不一致,将所述第一交易记录和所述第二交易记录添加至对账差错集合。
- 根据权利要求1所述的方法,其特征在于,所述从所述区块的哈希树中,筛选用于证明所述交易记录属于所述区块的节点包括:在所述区块的哈希树中,确定与所述交易记录相应的叶节点;从所述哈希树中,筛选所述叶节点的第一祖先节点和兄弟叶节点;针对所述叶节点的非兄弟叶节点,筛选所述非兄弟叶节点的最接近根节点的第二祖先节点;所述根据筛选出的所述节点构建节点保留树,包括:根据所述叶节点、所述第一祖先节点、所述兄弟叶节点和所述第二祖先节点,构建节点保留树。
- 根据权利要求1所述的方法,其特征在于,所述哈希树为双层哈希树,所述双层哈希树的根节点的哈希值,由每个叶节点的哈希值串联合并后进行哈希运算得到;筛选的所述节点为所述哈希树的全部节点。
- 根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:获取所述第二区块文件的第二存储位置;将所述区块的位置索引由指向所述第一区块文件的第一存储位置修改为指向所述第二存储位置。
- 一种数据处理装置,其特征在于,所述装置用于区块链节点中,所述装置包括:节点保留模块,用于针对第一区块文件中的每个区块,检测所述区块中需保留的交易记录;从所述区块的哈希树中,筛选用于证明所述交易记录属于所 述区块的节点;根据筛选出的所述节点构建节点保留树;交易存储模块,用于存储所述交易记录至所述节点保留树的相应叶节点中;区块更新模块,用于将所述区块的区块头和存储了交易记录的节点保留树关联更新至第二区块文件中;所述区块的区块头在所述第二区块文件中相邻于前一区块的区块头;删除模块,用于在针对每个所述区块的更新处理完毕后,删除所述第一区块文件。
- 根据权利要求9所述的装置,其特征在于,所述节点保留模块,用于响应于检测出所述区块中需保留的交易记录,执行所述从所述区块的哈希树中,筛选用于证明所述交易记录属于所述区块的节点的步骤;所述节点保留模块,还用于响应于检测到所述区块中不存在需保留的交易记录,通知所述区块更新模块将所述区块的区块头相邻于前一区块的区块头更新至第二区块文件中。
- 根据权利要求9所述的装置,其特征在于,所述交易记录是用于对账的交易记录;所述节点保留模块还用于将所述区块中的交易记录与未成功对账的集合中的交易记录进行比对;响应于所述区块中的交易记录包括于所述未成功对账的集合,判定所述交易记录为需保留的交易记录。
- 根据权利要求11所述的装置,其特征在于,未成功对账的集合包括未对账集合;所述装置还包括:实时对账模块,用于响应于接收到第一对账设备发送的对账调用请求,通过智能合约将待对账的第一交易记录存储至第一区块文件的区块中;所述第一交易记录携带于所述对账调用请求中;通过智能合约获取所述第一交易记录对应的对账关联标识;从区块链上创建的未对账集合中,查找与所述对账关联标识对应的第二对账设备的第二交易记录;响应于未找到所述第二交易记录,将所述第一交易记录添加至未对账集合中。
- 根据权利要求12所述的装置,其特征在于,所述未成功对账的集合还包括对账差错集合;所述实时对账模块还用于响应于找到所述第二交易记录,从所述未对账集合中移除所述第二交易记录;比对所述第一交易记录和所述第二交易记录;响应于比对不一致,将所述第一交易记录和所述第二交易记录添 加至对账差错集合。
- 根据权利要求9所述的装置,其特征在于,所述节点保留模块还用于在所述区块的哈希树中,确定与所述交易记录相应的叶节点;从所述哈希树中,筛选所述叶节点的第一祖先节点和兄弟叶节点;针对所述叶节点的非兄弟叶节点,筛选所述非兄弟叶节点的最接近根节点的第二祖先节点;根据所述叶节点、所述第一祖先节点、所述兄弟叶节点和所述第二祖先节点,构建节点保留树。
- 根据权利要求9所述的装置,其特征在于,所述哈希树为双层哈希树,所述双层哈希树的根节点的哈希值,由每个叶节点的哈希值串联合并后进行哈希运算得到;筛选的所述节点为所述哈希树的全部节点。
- 根据权利要求15所述的装置,其特征在于,所述区块更新模块还用于获取第二区块文件的第二存储位置;将区块的位置索引由指向第一区块文件的第一存储位置修改为指向第二存储位置。
- 一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至8中任一项所述方法的步骤。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至8中任一项所述方法的步骤。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021537472A JP7090972B2 (ja) | 2019-01-23 | 2020-01-20 | データ処理方法、装置、コンピュータ機器、及びコンピュータプログラム |
| KR1020217005410A KR102455884B1 (ko) | 2019-01-23 | 2020-01-20 | 데이터 처리 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체 |
| EP20745941.3A EP3917115B1 (en) | 2019-01-23 | 2020-01-20 | Data processing method and apparatus, computer device, and storage medium |
| SG11202101120XA SG11202101120XA (en) | 2019-01-23 | 2020-01-20 | Data processing method and apparatus, computer device, and storage medium |
| US17/146,937 US11574290B2 (en) | 2019-01-23 | 2021-01-12 | Data processing method and apparatus, computer device, and storage medium |
| US18/093,313 US11935015B2 (en) | 2019-01-23 | 2023-01-04 | Data processing method and apparatus, computer device, and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910063326.1A CN110264187B (zh) | 2019-01-23 | 2019-01-23 | 数据处理方法、装置、计算机设备及存储介质 |
| CN201910063326.1 | 2019-01-23 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/146,937 Continuation US11574290B2 (en) | 2019-01-23 | 2021-01-12 | Data processing method and apparatus, computer device, and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020151635A1 true WO2020151635A1 (zh) | 2020-07-30 |
Family
ID=67911755
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2020/073127 Ceased WO2020151635A1 (zh) | 2019-01-23 | 2020-01-20 | 数据处理方法、装置、计算机设备及存储介质 |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US11574290B2 (zh) |
| EP (1) | EP3917115B1 (zh) |
| JP (1) | JP7090972B2 (zh) |
| KR (1) | KR102455884B1 (zh) |
| CN (1) | CN110264187B (zh) |
| SG (1) | SG11202101120XA (zh) |
| WO (1) | WO2020151635A1 (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114266578A (zh) * | 2021-11-23 | 2022-04-01 | 航天信息股份有限公司 | 一种基于默克尔树的交易对账方法和系统 |
| KR20220052117A (ko) * | 2020-10-20 | 2022-04-27 | 주식회사 커먼컴퓨터 | 트리 구조의 상태 데이터베이스를 포함하는 블록체인에 대한 상태 관리 방법 및 시스템 |
| CN117421254A (zh) * | 2023-12-19 | 2024-01-19 | 杭银消费金融股份有限公司 | 一种用于对账业务的自动化测试方法与系统 |
| CN120125369A (zh) * | 2025-03-04 | 2025-06-10 | 平安国际融资租赁有限公司 | 数据对账的方法、装置、计算机设备及存储介质 |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110264187B (zh) | 2019-01-23 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
| CN110659907B (zh) * | 2019-09-24 | 2021-11-12 | 北京海益同展信息科技有限公司 | 用于执行智能合约的方法和装置 |
| CN110879687B (zh) * | 2019-10-18 | 2021-03-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于磁盘存储的数据读取方法、装置及设备 |
| US11483131B2 (en) * | 2020-01-09 | 2022-10-25 | Eternal Paradise Limited | Ability to forget in blockchain |
| CN111444197B (zh) * | 2020-06-12 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 一种块链式账本中数据记录的验证方法、装置及设备 |
| CN111459948B (zh) * | 2020-06-15 | 2020-12-29 | 支付宝(杭州)信息技术有限公司 | 一种基于中心化块链式账本的交易完整性验证方法 |
| CN113297235B (zh) * | 2020-11-03 | 2023-12-19 | 阿里巴巴集团控股有限公司 | 分布式数据库集群的数据一致性检验方法及装置 |
| CN113254397B (zh) * | 2021-06-15 | 2021-10-15 | 成都统信软件技术有限公司 | 一种数据检查方法及计算设备 |
| CN116151813B (zh) * | 2021-11-23 | 2026-03-31 | 中国人民银行数字货币研究所 | 一种基于数字货币的交易校验方法和装置 |
| US11941589B2 (en) * | 2022-04-01 | 2024-03-26 | Shopify Inc. | System and method for associating a successful second transaction with a first failed transaction |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106686087A (zh) * | 2016-12-30 | 2017-05-17 | 先锋支付有限公司 | 一种区块链截断方法及分布式节点 |
| CN107728941A (zh) * | 2017-09-28 | 2018-02-23 | 中国银行股份有限公司 | 一种区块链数据压缩方法及系统 |
| US20180139278A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
| CN108270836A (zh) * | 2017-01-03 | 2018-07-10 | 华为技术有限公司 | 基于区块链的数据处理方法、设备和系统 |
| CN110264187A (zh) * | 2019-01-23 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5903881A (en) * | 1997-06-05 | 1999-05-11 | Intuit, Inc. | Personal online banking with integrated online statement and checkbook user interface |
| JP4111529B2 (ja) | 2005-07-01 | 2008-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トレーサビリティ署名システム、署名方法、プログラム |
| ES2836139T3 (es) * | 2013-11-19 | 2021-06-24 | Circle Line International Ltd | Procedimientos y aparatos de minería de bloques |
| WO2017127564A1 (en) * | 2016-01-19 | 2017-07-27 | Priv8Pay, Inc. | Network node authentication |
| JP6586046B2 (ja) | 2016-06-13 | 2019-10-02 | 日本電信電話株式会社 | 処理システムおよび処理方法 |
| US10157295B2 (en) * | 2016-10-07 | 2018-12-18 | Acronis International Gmbh | System and method for file authenticity certification using blockchain network |
| US11139957B2 (en) * | 2016-12-08 | 2021-10-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for creating a finite blockchain |
| US10447480B2 (en) * | 2016-12-30 | 2019-10-15 | Guardtime Sa | Event verification receipt system and methods |
| JP6495346B2 (ja) | 2017-01-10 | 2019-04-03 | 日本電信電話株式会社 | 情報処理システム |
| CN108696356B (zh) * | 2017-04-05 | 2020-08-18 | 中国移动通信有限公司研究院 | 一种基于区块链的数字证书删除方法、装置及系统 |
| JP6814094B2 (ja) | 2017-05-22 | 2021-01-13 | Kddi株式会社 | 合意形成システム、プログラム、及び生成方法 |
| WO2018223042A1 (en) * | 2017-06-01 | 2018-12-06 | Schvey, Inc. d/b/a/ Axoni | Distributed privately subspaced blockchain data structures with secure access restriction management |
| CN107423426B (zh) * | 2017-08-02 | 2020-06-02 | 众安信息技术服务有限公司 | 一种区块链块数据的数据归档方法及电子设备 |
| CN107807608A (zh) | 2017-11-02 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据处理系统及存储介质 |
| US20210182849A1 (en) * | 2017-11-06 | 2021-06-17 | Velo Holdings Limited | Limited scope blockchain system |
| KR101924026B1 (ko) * | 2017-11-10 | 2018-11-30 | 부산대학교 산학협력단 | 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법 |
| US12198149B2 (en) * | 2017-12-27 | 2025-01-14 | Emtruth, Inc. | System and method for product authentication |
| US10261711B1 (en) * | 2018-01-25 | 2019-04-16 | Merck Sharp & Dohme Corp. | Proof of non-tampering for stored data |
| US10630463B2 (en) * | 2018-02-26 | 2020-04-21 | Ca, Inc. | Meta block chain |
| CN108615156A (zh) * | 2018-05-09 | 2018-10-02 | 上海魅联信息技术有限公司 | 一种基于区块链的数据结构 |
| US11036395B2 (en) * | 2018-10-18 | 2021-06-15 | Nec Corporation | Secure and transparent pruning for blockchains |
-
2019
- 2019-01-23 CN CN201910063326.1A patent/CN110264187B/zh active Active
-
2020
- 2020-01-20 EP EP20745941.3A patent/EP3917115B1/en active Active
- 2020-01-20 JP JP2021537472A patent/JP7090972B2/ja active Active
- 2020-01-20 SG SG11202101120XA patent/SG11202101120XA/en unknown
- 2020-01-20 KR KR1020217005410A patent/KR102455884B1/ko active Active
- 2020-01-20 WO PCT/CN2020/073127 patent/WO2020151635A1/zh not_active Ceased
-
2021
- 2021-01-12 US US17/146,937 patent/US11574290B2/en active Active
-
2023
- 2023-01-04 US US18/093,313 patent/US11935015B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180139278A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
| CN106686087A (zh) * | 2016-12-30 | 2017-05-17 | 先锋支付有限公司 | 一种区块链截断方法及分布式节点 |
| CN108270836A (zh) * | 2017-01-03 | 2018-07-10 | 华为技术有限公司 | 基于区块链的数据处理方法、设备和系统 |
| CN107728941A (zh) * | 2017-09-28 | 2018-02-23 | 中国银行股份有限公司 | 一种区块链数据压缩方法及系统 |
| CN110264187A (zh) * | 2019-01-23 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3917115A4 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220052117A (ko) * | 2020-10-20 | 2022-04-27 | 주식회사 커먼컴퓨터 | 트리 구조의 상태 데이터베이스를 포함하는 블록체인에 대한 상태 관리 방법 및 시스템 |
| KR102473672B1 (ko) * | 2020-10-20 | 2022-12-02 | 주식회사 커먼컴퓨터 | 트리 구조의 상태 데이터베이스를 포함하는 블록체인에 대한 상태 관리 방법 및 시스템 |
| CN114266578A (zh) * | 2021-11-23 | 2022-04-01 | 航天信息股份有限公司 | 一种基于默克尔树的交易对账方法和系统 |
| CN117421254A (zh) * | 2023-12-19 | 2024-01-19 | 杭银消费金融股份有限公司 | 一种用于对账业务的自动化测试方法与系统 |
| CN117421254B (zh) * | 2023-12-19 | 2024-03-22 | 杭银消费金融股份有限公司 | 一种用于对账业务的自动化测试方法与系统 |
| CN120125369A (zh) * | 2025-03-04 | 2025-06-10 | 平安国际融资租赁有限公司 | 数据对账的方法、装置、计算机设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11574290B2 (en) | 2023-02-07 |
| JP7090972B2 (ja) | 2022-06-27 |
| US20230144811A1 (en) | 2023-05-11 |
| SG11202101120XA (en) | 2021-03-30 |
| KR20210034072A (ko) | 2021-03-29 |
| CN110264187A (zh) | 2019-09-20 |
| CN110264187B (zh) | 2021-06-04 |
| US11935015B2 (en) | 2024-03-19 |
| EP3917115A4 (en) | 2022-02-16 |
| JP2021536085A (ja) | 2021-12-23 |
| EP3917115B1 (en) | 2024-07-24 |
| EP3917115A1 (en) | 2021-12-01 |
| US20210133702A1 (en) | 2021-05-06 |
| KR102455884B1 (ko) | 2022-10-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020151635A1 (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
| CN108319602A (zh) | 数据库管理方法及数据库系统 | |
| CN115599295B (zh) | 一种存储系统的节点扩容方法和装置 | |
| CN114461659B (zh) | 查杀方法、装置、计算机设备和存储介质 | |
| CN113326165A (zh) | 基于区块链的数据处理方法、设备及计算机可读存储介质 | |
| CN109783274B (zh) | 一种磁盘快照的管理方法、装置以及可读存储介质 | |
| CN104899249A (zh) | 一种海量数据下可靠索引更新系统及方法 | |
| CN118349578A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
| US11604805B2 (en) | Terminal, storage medium, and database synchronization method thereof | |
| WO2018059239A1 (zh) | 一种文件存储方法及装置 | |
| CN115730933B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
| CN118779285A (zh) | 档案电子文件处理方法、装置、设备、存储介质和程序产品 | |
| CN119376638A (zh) | 键值存储系统的数据处理方法和键值存储系统 | |
| CN111966635A (zh) | 一种分布式存储文件系统提升文件探知速度的方法、装置 | |
| CN119149530A (zh) | 一种检索结果数据组织方法、装置、设备及介质 | |
| CN115543196A (zh) | 一种监控废旧塑料重复利用信息的云数据管理方法及系统 | |
| HK40009423B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
| HK40009423A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
| CN108989245B (zh) | 用户数据存储方法及装置 | |
| CN117130994B (zh) | 数据库日志处理的方法、装置、电子设备及介质 | |
| CN112487065A (zh) | 一种数据检索方法和装置 | |
| CN119415045B (zh) | 垃圾数据回收方法、装置、电子设备及存储介质 | |
| CN118585526A (zh) | 基于区块链的追溯数据的处理方法、装置、介质及设备 | |
| US20180225318A1 (en) | Data storing method using multi-version based data structure | |
| CN116909480A (zh) | 一种优化列举用户量的方法、系统、设备和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20745941 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 20217005410 Country of ref document: KR Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 2021537472 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2020745941 Country of ref document: EP Effective date: 20210823 |