WO2020063786A1 - 数据备份方法、存储介质及计算设备 - Google Patents
数据备份方法、存储介质及计算设备 Download PDFInfo
- Publication number
- WO2020063786A1 WO2020063786A1 PCT/CN2019/108295 CN2019108295W WO2020063786A1 WO 2020063786 A1 WO2020063786 A1 WO 2020063786A1 CN 2019108295 W CN2019108295 W CN 2019108295W WO 2020063786 A1 WO2020063786 A1 WO 2020063786A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- blockchain
- transaction
- information
- storage
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000008859 change Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000005096 rolling process Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 101150061874 TXN gene Proteins 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/40—Authorisation, 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/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q2220/00—Business processing using cryptography
-
- 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
- the present application relates to the field of computer technology, and in particular, to a data backup method, a storage medium, and a computing device.
- BT Blockchain Technology
- distributed ledger technology It is an Internet database technology, which is characterized by decentralization, openness and transparency, so that everyone can participate in database records.
- Blockchain technology was originally a basic technology for realizing Bitcoin transactions, and it is now beginning to be used in various fields such as finance. Since each node device in the blockchain will store all the data on the entire blockchain, it will take up a lot of storage space and affect the performance of the blockchain system.
- the embodiments of the present application propose the following technical solutions to save the storage space of the blockchain nodes and improve the performance of the blockchain system.
- the example of this application proposes a data backup method, including:
- query unused transaction output information from the first block in the first block chain When the first condition is met, query unused transaction output information from the first block in the first block chain, and the first block includes all blocks in the first block chain; Generate transaction information according to the unused transaction output information obtained by the query, where the transaction information is used to describe a transaction operation that does not change the account address to which the unused transaction output information belongs; record the generated transaction information And publishing the second block in the second block, recording the second block that has been agreed upon on the second block chain; and backing up the first block chain to a storage system connected to itself , Delete the first blockchain.
- the first condition includes: reaching a set time interval.
- the first condition includes: a block height of the first blockchain meets a preset value.
- the first condition includes: the remaining storage space is below a first threshold.
- the first condition includes: receiving a set operation instruction.
- the block height of the second block is continuous with the block height of the last block in the first block chain.
- a block header feature value of a parent block included in the second block is a block header feature value of a last block in the first block chain.
- the method further includes: when backing up the first blockchain to a storage system connected to the first blockchain, recording in a data backup table the identification information of each block in the first blockchain and its A storage address in the storage system; after deleting the first blockchain, when any block in the first blockchain is to be accessed, the query is obtained from the data backup table A storage address corresponding to the identification information of the block, and the block in the storage system is accessed according to the storage address.
- the method further includes: after deleting the first blockchain, when accessing transaction information of any block in the first blockchain, querying from the data backup table The storage address corresponding to the identification information of the block, accesses the block in the storage system according to the storage address, and obtains the content of the transaction information from the block according to the identification information of the transaction information.
- the example of the present application also proposes a data backup device, including: a query module, when the first condition is satisfied, querying the unused transaction output information from the first block in the first blockchain, the first The block includes all the blocks in the first blockchain; the transaction information module generates transaction information according to the unused transaction output information obtained by the query, and the transaction information is used to describe that the unused transaction information is not changed.
- the transaction operation of the account address to which the used transaction output information belongs a block publishing module records the generated transaction information in a second block and publishes the second block, and the consensus second block Recorded on the second blockchain; and a backup module that backs up the first blockchain to a storage system connected to it, and deletes the first blockchain.
- the backup module when the backup module backs up the first blockchain to its connected storage system, the backup module records the identification information of each block in the first blockchain and its location in the data backup table.
- the storage address in the storage system; the device further includes: a data access module, after deleting the first blockchain, when accessing any block in the first blockchain, A storage address corresponding to the identification information of the block is obtained by querying the data backup table, and the block in the storage system is accessed according to the storage address.
- the data access module queries the data backup table when the transaction information of any block in the first blockchain is to be accessed after the first blockchain is deleted. Obtain the storage address corresponding to the identification information of the block, access the block in the storage system according to the storage address, and query the content of the transaction information from the block according to the identification information of the transaction information .
- the example of the present application also proposes a storage medium that stores machine-readable instructions.
- the machine-readable instructions are executed by one or more processors, the one or more processors are loaded and executed to implement the following. step:
- query unused transaction output information from the first block of the first blockchain, the first block including all the blocks in the first blockchain;
- the example of the present application also proposes a computing device including one or more memories and one or more processors.
- the memories store machine-readable instructions, and the machine-readable instructions are provided by the one or more processors. Load and execute to achieve the following steps:
- query unused transaction output information from the first block of the first blockchain, the first block including all the blocks in the first blockchain;
- FIG. 1 is a system architecture diagram involved in an example of the present application
- Figure 2 is a block data structure diagram
- FIG. 3 is a partial schematic diagram of a blockchain in an example of the present application.
- FIG. 5 is an example diagram of transaction information generated in an example of this application.
- FIG. 6 is a schematic diagram of creating a block in an example of the present application.
- FIG. 7 is a schematic diagram of transaction information of a block record in the example of the present application.
- FIG. 8 is a schematic structural diagram of a device in an example of the present application.
- FIG. 9 is a schematic structural diagram of a computing device in an example of the present application.
- the system 100 includes at least an application layer 101, a network layer 103, and a data layer 104, and may further include an extension layer 102 and the like.
- the application layer 101 provides application clients 11 and 12 (such as a wallet client for digital asset transactions) and a trading platform 13 to a user.
- the application clients 11 and 12 run on a terminal device, and the terminal device may include a PC, a mobile phone, a tablet computer, a palmtop computer, a superbook, a wearable device, and the like.
- the trading platform 13 Users can log in to the trading platform 13 by operating the user interface (UI) provided by the application clients 11 and 12 to complete various trading operations, such as: digital asset transactions, checking of shared ledgers, etc .; the trading platform 13 may include a server or A server cluster can also include distributed systems.
- the extension layer 102 provides some extended application business functions, including side-chain applications such as smart contracts, and can also include storage and sharing functions of user data files such as documents, pictures, and videos. By operating the UI provided by the application clients 11 and 12, users can implement functions such as smart contract signing, data file storage, and sharing through the extension layer 102.
- the network layer 103 includes a plurality of blockchain nodes 14 distributed in various regions. These nodes 14 constitute a blockchain network.
- Each node 14 may be a computing device with a point-to-point communication function, such as a desktop computer, a notebook computer, and a tablet. Computers, etc.
- These blockchain nodes 14 constitute a peer-to-peer (P2P) network, and each node 14 stores a complete data of the blockchain 15.
- the network layer 103 is used to implement communication between the nodes 14 and encapsulates a P2P networking mechanism, a data transmission mechanism, a verification mechanism, and the like between the nodes 14.
- the blockchain network is essentially a P2P network.
- Each node 14 receives and generates information.
- Nodes 14 maintain a common blockchain to maintain communication. In a blockchain network, each node 14 can create a new block.
- the data layer 104 encapsulates the data structure of the blockchain 15. As shown in FIG. 1, a block chain 15 is formed by linking multiple blocks (block 0 to block n). The first created block 0 is the "genesis block", and then the blocks with the same data structure created under certain rules are connected in sequence through a chain structure to form a main chain. As the running time is getting longer and longer, new blocks are continuously added to the main chain after verification, and the main chain will continue to extend.
- FIG. 1 shows a part of the blockchain system 100.
- the consensus layer encapsulates a consensus mechanism so that highly decentralized nodes 14 can efficiently reach a consensus on the validity of block data in a decentralized system, that is, how to reach consensus among all nodes 14 to identify a
- the validity of the transaction record set is both a means of identification and a means of preventing tampering.
- the more commonly used consensus mechanisms are: Proof of Work, Proof of Stake, Delegated Proof of Stake.
- a block can contain a set of transaction records that occurred over a period of time, and the transaction record set is not recorded by the previous block. Each block records the events that occurred before it was created. The created blocks are linked in turn. Usually new blocks are added to the tail of the blockchain and linked to the previous block.
- Transaction represents a user's operation in the trading system. Whenever a change in ledger status is caused, a record is added to the ledger; a block records transactions and status results that occur over a period of time.
- a consensus on the current ledger status; a chain is a series of blocks created in chronological order and is a log record of changes in the status of the entire ledger.
- a block is a data structure that records transactions. Each block consists of a block header and a block body. The block body is responsible for recording transaction information from a previous period of time. The block header records information used to link the parent block, mining competition, and transaction data verification.
- Figure 2 shows the data structure of block 200A. As shown in FIG. 2, the block 200A includes a block header 21 and a block body 22.
- Block 22 records the number of transactions and information about multiple transactions that occurred within a period of time, such as transaction information for transaction 1, transaction 2, ..., and transaction m.
- Block header 21 records the following pieces of information:
- the parent block hash value is the block header hash value of the parent block of block 200A. Through this value, each block can be connected end to end to form a blockchain, and this value plays a role in the security of the blockchain. critical use;
- Merkle root This value is a value calculated from the hash value of all transaction information in block 22 and then hashed step by step. It is mainly used to verify whether a transaction exists in this block.
- Timestamp record the time when the block 200A was created, which can be accurate to seconds
- the difficulty value is the difficulty target value of the 200A related math problem in this block.
- Random number which records the value of the answer to the 200A related math problem in the block.
- the data of the block header of the block 200A that was recently added to the blockchain is generated by the SHA256 algorithm to fill a hash value into the parent block hash value of the current block;
- the difficulty value field will be adjusted according to the average generation time of the block in the previous period to respond to the changing overall calculation amount of the entire network. If the calculation amount increases, the system will increase the difficulty value of the math problem, making it expected The time to complete the next block is still within a certain time.
- the block header hash value can uniquely identify a block, and any node 14 can independently obtain the block header hash value by hashing the block header.
- the block header hash value is not actually included in the data structure of the block.
- the block header hash value is calculated by the node 14 when the block is received by the node 14 from the blockchain network.
- Block header hash values may be stored in a separate database table as part of the block metadata to facilitate indexing and faster retrieval of blocks from disk.
- the block also has a block height in the blockchain, which can be used to identify the position of the block in the blockchain.
- the block height of the first block (the genesis block) is 0, the height of the block that references the genesis block is 1, and so on, each block that is subsequently stored in the blockchain Both are "higher" than the previous block by one position, and the block height value is equal to the block height value of the previous block plus one.
- the block height is not the only identifier of the block. Two or more blocks may have the same block height and compete for the same position in the blockchain.
- the block height is not part of the block data structure, it is not stored in the block.
- Block height can also be stored as metadata in an index database table for quick retrieval.
- FIG. 3 shows a partial schematic diagram of a blockchain in an example of the present application.
- Figure 3 shows three blocks 23, 24, and 25 included in the local block chain 200B.
- the block height and block header hash value of each block are not recorded inside the block, but determine the area Link relationship between blocks.
- the block metadata table in the local database of node 14 can store the block height and block header hash value of each block.
- FIG. 4 shows a method flowchart of an example of the present application. As shown in FIG. 4, the method 300 starts at step S301.
- step S301 when the set first condition is met, the node 14 obtains unused transaction output information from the first block in the first blockchain.
- the first block includes all the blocks in the first block chain, that is, the unused transaction output information is obtained from each block in the first block chain, and further, Get all unused transaction output information.
- the above-mentioned first condition is equivalent to a starting condition of a data backup process provided in the embodiment of the present application.
- the first condition may include: a set time interval is reached, the block height of the first blockchain meets a preset value, the remaining storage space is lower than a threshold, or a set operation instruction is received, etc. At least one of them.
- the node 14 may start a data backup process at a certain time interval (such as: one day, one month, etc.), or at multiple set time points (such as : One month, three months, six months, etc. from the founding time of the first blockchain.
- a certain time interval such as: one day, one month, etc.
- multiple set time points such as : One month, three months, six months, etc. from the founding time of the first blockchain.
- the application does not limit the specific setting method of the time interval.
- the node 14 may start a data backup process when the block height of the first blockchain meets the preset value.
- the application does not limit the specific setting method of the preset value.
- the node 14 may start a data backup process when the remaining storage space is small.
- the node 14 can start a data backup process in response to an externally input operation instruction. For example, when a user needs to do some data cleaning or backup, the node 14 can input an operation instruction to The node 14 is caused to start a data backup process.
- node 14 will maintain account data locally as the number of blocks in the first blockchain increases.
- This account data records unused transaction output information in the various transaction information currently recorded in each block.
- the unspent transaction output (UTXO, Unspent transaction Output) table in Bitcoin transactions Each UTXO has a face value and an owner address (essentially defined by the address of a cryptographic public key).
- a transaction consists of one or more inputs and one or more outputs. Each input contains a reference to an existing UTXO and a cryptographic signature created by a private key corresponding to the owner's address. Each output contains a new UTXO.
- the node 14 may query the unused transaction output information recorded in each block according to the account data maintained locally.
- each unused transaction output information in the account data includes: transaction number, block height, and block header hash value. Therefore, according to these information, each unused item can be queried from the block.
- Transaction output information, an unused transaction output information can contain fields: the amount of unused assets, the owner's address, etc.
- step S302 the node 14 generates one or more pieces of transaction information according to the query of the unused transaction output information.
- the generated transaction information is used to describe a transaction operation that does not change the account address to which the unused transaction output information belongs. It can be said that it is a transaction operation (also known as transaction rolling operation or change operation) that transfers money to itself.
- one piece of transaction information includes at least one piece of transaction input information and at least one piece of transaction output information.
- the at least one piece of transaction input information respectively refers to at least one piece of unused transaction output information that is queried, and each piece of transaction input information corresponds to the transaction output information. It includes the unused transaction output information referenced by the query above to refer to the transaction operation of transferring funds to itself.
- the node 14 may generate one transaction information according to a plurality of unused transaction output information, and may also generate more than one transaction information according to implementation needs. For example: if five pieces of unused transaction information are queried, a piece of transaction information can be generated, which contains five transaction operation records (five sets of transaction input information and transaction output information). These five transaction operation records respectively describe the five unused transaction information The transaction scroll operation of the used transaction information. Other quantities of transaction information can also be generated. Each transaction information contains one or several transaction operation records. These transaction information contains a total of five transaction operation records, which can describe the transaction rolling operations for the five unused transaction information.
- the unused transaction output information that is queried includes UTXO1 to UTXO5, and three pieces of transaction information TX1 to TX3 can be generated.
- TX1 includes two transaction input information Input11 and Input12 that respectively reference UTXO1 and UTXO2.
- Input11 and Input12 correspond to transaction output information Output11 and Output12
- Output11 includes UTXO1
- Output12 includes UTXO2
- TX2 includes transaction input information Input21 that references UTXO3
- Input21 corresponds to transaction output information Output21.
- Output21 includes UTXO3.
- Output21 and UTXO3 are the same in number and address.
- TX3 includes two transaction input information Input31 and Input32, which respectively reference UTXO4 and UTXO5.
- Input31 and Input32 correspond to transaction output information Output31 and Output32, respectively.
- Output31 is the same as UTXO4
- Output32 is the same as UTXO5. In this way, the amount of unused assets represented by UTXO1 to UTXO5 is transferred to the owner himself, that is, this transaction operation will not change the ownership of the asset and will not bring substantial changes to the account data.
- the node 14 when the node 14 generates one or more pieces of transaction information based on the queryed unused transaction output information, for each piece of transaction information, the node 14 may output the unused transaction output information included in the transaction information. Assign the value of the number of scrolling times.
- the number of scrolling times refers to the number of times that the above-mentioned transaction scrolling operation is performed on any unused transaction output information.
- the node 14 sets the number of scrolls of each unused transaction output information in each transaction information to the original value plus 1
- the obtained value, and if any unused transaction output information is spent, the scroll number of the spent transaction output information is set to 0, thereby maintaining the scroll number of each unused transaction output information , which can vividly reflect the "activity" of each unused transaction output information.
- step S303 the node 14 records one or more pieces of transaction information generated in step S302 in a new block (that is, a second block) and issues a new block.
- the new block will be recorded on the second blockchain after consensus.
- the specific consensus processing mechanism is not detailed in this article.
- the node 14 backs up the first blockchain in which the one or more blocks (that is, the first block) queried in step S301 is stored in a storage system (such as a hard disk, a disk, a centralized or distributed disk) connected to the node Database system, etc.).
- a storage system such as a hard disk, a disk, a centralized or distributed disk
- step S303 after performing a rolling transaction operation on the unused transaction output information in the first block, the node 14 will delete the previous first block chain and then maintain a new block chain (second zone Block chain), and there is a certain correlation between the two blockchains.
- the block height of the second block and the block height of the last block in the first block chain may be continuous.
- the first blockchain has ten blocks (the block heights are 1 to 10). After querying these ten blocks for unused transaction output information and performing rolling transaction operations, the height can be generated. Is a new block of 11 (ie, the second block), then the height of the initial block of the second blockchain is 11, which is continuous with the block height of the last block in the first blockchain.
- the block header feature value of the parent block included in the second block is the block header feature value of the last block in the first block chain.
- the first blockchain has ten blocks. After querying the unused transaction output information from these ten blocks and performing a rolling transaction operation, a new block (ie, the second block) can be generated, then The parent block of the second block is the last block in the first blockchain, and the block header feature value (such as the block header hash value) of the parent block recorded in the block header of the second block is the first The block header feature value of the last block in the blockchain.
- the node 14 when the node 14 backs up the first blockchain to the storage system, it records the identification information (block height, block header) of each block in the backed up first blockchain in a local backup data table. Hash value, etc.) and the storage address of each block in the backed up first blockchain in the above storage system. In this way, when the node 14 needs to access any block in the backed up first blockchain, the target block can be queried from the storage system through the information in the backup data table, and the target block can also be restored to the node 14. in.
- the node 14 may query the data backup table to obtain the identification information corresponding to the block. Access the block in the storage system according to the storage address, and query from the block according to the identification information of the transaction information (transaction number, block height, block header hash value, etc.) Get the content of the transaction information (asset balance, account address, etc.).
- the node 14 backs up each block in the first blockchain, and these blocks are backed up to the hard disk, server, or server cluster connected to the node 14, and the transaction information contained in these backed up blocks Rarely used, these blocks are rarely accessed, the access frequency is very low, can be called cold data, it can also be said that node 14 "cold standby" these blocks.
- FIG. 6 shows a block diagram in an example of the present application.
- node 14 queries blocks 1 and 2 in the old blockchain to obtain unused transaction output information TX14 and TX25, and performs transaction rolling operations on TX14 and TX25 to generate a transaction information TXN1.
- the TXN1 contains two transaction records, which contain the transaction output information in TX14 and TX25, respectively.
- node 14 will create a new blockchain, include TXN1 in the new block N in the new blockchain, cold standby the old blockchain to the storage system, and node 14 delete the old area containing blocks 1 and 2. Block chain.
- FIG. 7 shows several examples of transaction information recorded in the block.
- the transaction output 41 records that the account balance of the account “A” is 12.5, and in the transaction information with the transaction number “# 2001”, the transaction output 42 records the account The account balance of "A” is 10, the account balance of account “B” is 2.5, and the transaction information of transaction number "# 3001”, the transaction output 43 records that the account balance of account “A” is 7.5 and 2.5, and the account " The account balance of "D” is 2.5 and the transaction information of transaction number "# 4001", the transaction output 44 records that the account balance of account “C” is 2.5.
- the transaction output information in transaction output 41 and 42 is used up, the transaction output information (1) and (3) in transaction output 43 are not used, and the transaction output information (1) in transaction output 44 are not used
- the item transaction output information 441 is not used, then according to the transaction output information 431 and 433 and 441, the transaction information with the transaction number "# 5001" can be generated, and the transaction output 45 includes these three unused transaction output information 431 and 433 and 441.
- the node 14 performs a transaction rolling operation on unused transaction output information in all blocks, so that it can generate new transaction information without changing the ownership of assets in the unused transaction output information.
- all transaction output information in these blocks can be used, which is a useless block (that is, a block that does not need to be accessed in future transaction operations), so node 14 can back up these blocks and save the local
- the deletion of the stored first blockchain saves the storage space of node 14, ensures the accuracy of the data, does not affect the execution of transaction operations, and does not affect the normal operation of the blockchain.
- the technical implementation is not complicated and can significantly improve System performance.
- the node 14 can meet the second condition (for example, the remaining storage space is lower than the target threshold) (H) further combine the transaction information in the generated second blockchain that has not been used for a long time in a new third block to generate a new third block, thereby generating a new third block Blockchain and back up this new third blockchain. Node 14 then deletes the block chain where the block is located from, which is the second blockchain, and backs up the second block accordingly.
- the second condition for example, the remaining storage space is lower than the target threshold
- the local backup data table When the node 14 backs up such a second block, the local backup data table records the identification information (block height, block header hash value, etc.) of the second block and the second block in the above storage system. Storage address in. In this way, when the node 14 needs to access the backed up second block, the target block can be queried from the storage system through the information in the backup data table, and the target block can be restored to the node 14.
- the identification information of the block in which it is located can be queried from the account data, so that the storage address can be queried from the backup data table, so that the storage can be accessed
- the unused transaction output information in the system can also be restored to the local storage of node 14 by the second blockchain to which the unused transaction output information belongs.
- you can query the identification information of the block where it is located from the account data so you can query the storage address from the backup data table, so you can access the storage system Specific details in the unused transaction output information, such as account address, asset balance, etc., to generate new transaction information based on the queried information, and use the unused transaction output information.
- the node 14 may perform an unscheduled number of scrolls in the second blockchain that is greater than the target Used transaction output information (that is, unused unused transaction output information), perform the above steps of merging into the third block, issue the third block, and agree on the third block based on the consensus mechanism
- the third block is added to the third blockchain. In the above process, it is equivalent to outputting information about these unused unused transactions and performing another transaction rolling operation.
- the target number of times may be any value greater than 0.
- the target number of times may be three.
- the transaction output information in the third block is still unused, that is, for the entire blockchain system, there is still a possibility of calling the transaction output information in the third block, but Since the number of times of scrolling has exceeded the target number of times, the possibility of invoking the transaction output information in the third block in the subsequent process is very low. Then backup the third block and delete the third block. While ensuring that the blockchain business is not affected, the storage space of node 14 is further saved.
- the node 14 can obtain the query from the data backup table.
- the storage address corresponding to the identification information of the block accesses the block in the storage system according to the storage address, and obtains the content of the transaction information from the block according to the identification information of the transaction information (such as Asset balance, account address, etc.).
- the adoption of the above technical solution can save the storage space of blockchain nodes, significantly improve the utilization of storage resources, and can roll out unused transaction output information from existing blocks without changing assets. Ownership, so that each block composed of used transaction output information can be cold prepared, and the blockchain where this block is located is deleted from the blockchain node, so that the limited storage space can be fully used for preservation For the current blockchain operation, more valuable unused transaction output information improves the performance of the blockchain system.
- the above technical solution is also very easy to apply to blockchain nodes and has strong implementability.
- the example of the application also proposes a data backup device, which can be applied to the blockchain node 14.
- the data backup device 500 includes:
- the query module 501 obtains unused transaction output information from the first block in the first block chain when the first condition is satisfied, and the first block includes the first block in the first block chain. All blocks.
- the transaction information module 502 generates transaction information according to the unused transaction output information obtained by the query, and the transaction information is used to describe a transaction operation that does not change an account address to which the unused transaction output information belongs.
- the block publishing module 503 records the generated transaction information in a second block and publishes the second block, and records the second block that has passed the consensus on a second blockchain.
- the backup module 504 backs up the first blockchain to a storage system connected to the first blockchain and deletes the first blockchain.
- the backup module 504 when backing up the first blockchain to a storage system connected to the first blockchain, records in a data backup table the identification information of each block in the first blockchain and its identification in the data backup table.
- the device 500 further includes a data access module 505. After deleting the first blockchain, when any block in the first blockchain is to be accessed, the area is obtained by querying from the data backup table. The storage address corresponding to the identification information of the block is accessed according to the storage address in the storage system.
- the data access module 505 after deleting the first blockchain, queries the data backup table when it wants to access transaction information of any block in the first blockchain. Obtain the storage address corresponding to the identification information of the block, access the block in the storage system according to the storage address, and query the content of the transaction information from the block according to the identification information of the transaction information .
- the above-mentioned data backup device 500 may be run in various computing devices and loaded in a memory of the computing device.
- the computing device may include one or more memories and one or more processors.
- the memories store machine-readable instructions.
- the machine-readable instructions are loaded and executed by the one or more processors to implement the following steps. :
- query unused transaction output information from the first block of the first blockchain, the first block including all the blocks in the first blockchain;
- the first condition includes: a block height of the first blockchain conforms to a preset value.
- the first condition includes: the remaining storage space is lower than a first threshold; or, a set time interval is reached; or a set operation instruction is received.
- the block height of the second block is continuous with the block height of the last block in the first block chain.
- the block header feature value of the parent block included in the second block is the block header feature value of the last block in the first block chain.
- the one or more processors are configured to perform the following steps:
- the data backup table records the identification information of each block in the first blockchain and the storage address of each block in the storage system.
- the one or more processors are configured to perform the following steps:
- the storage address corresponding to the identification information of the block is queried from the data backup table, and is accessed according to the storage address The block in the storage system; or,
- FIG. 9 is a structural diagram of a computing device in which the data backup device 500 is located.
- the computing device includes one or more processors (CPU) 602, a communication module 604, a memory 606, a user interface 610, and a communication bus 608 for interconnecting these components.
- processors CPU
- communication module 604
- memory 606
- user interface 610 a user interface 610
- communication bus 608 for interconnecting these components.
- the processor 602 may receive and send data through the communication module 604 to implement network communication and / or local communication.
- the user interface 610 includes one or more output devices 612 including one or more speakers and / or one or more visual displays.
- the user interface 610 also includes one or more input devices 614 including, for example, a keyboard, a mouse, a voice command input unit or microphone, a touch screen display, a touch-sensitive tablet, a gesture capture camera or other input buttons or controls, and the like.
- the memory 606 may be a high-speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid-state storage devices; or a non-volatile memory such as one or more disk storage devices, optical disk storage devices, flash memory devices, Or other non-volatile solid-state storage devices.
- a high-speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid-state storage devices
- non-volatile memory such as one or more disk storage devices, optical disk storage devices, flash memory devices, Or other non-volatile solid-state storage devices.
- the memory 606 stores an instruction set executable by the processor 602, including:
- Operating system 616 including programs for handling various basic system services and for performing hardware-related tasks
- the application 618 includes various application programs that can implement the processing flow in each of the foregoing examples, and for example, may include the apparatus 500 shown in FIG. 8.
- the device 500 may include some or all of the modules 501-505 shown in FIG. 8, and each module 501-505 may store machine executable instructions.
- the processor 602 can implement the functions of the foregoing modules 501 to 505 by executing machine-executable instructions in the modules 501 to 505 in the memory 606.
- the hardware modules in the embodiments may be implemented in a hardware manner or a hardware platform plus software manner.
- the software includes machine-readable instructions and is stored in a non-volatile storage medium. Therefore, the embodiments can also be embodied as software products.
- the hardware may be implemented by specialized hardware or hardware that executes machine-readable instructions.
- the hardware may be a specially designed permanent circuit or logic device (such as a special-purpose processor such as an FPGA or ASIC) to perform a specific operation.
- the hardware may also include programmable logic devices or circuits temporarily configured by software (such as including general-purpose processors or other programmable processors) for performing specific operations.
- each example of the present application can be realized by a data processing program executed by a data processing device such as a computer.
- the data processing program constitutes the present application.
- a data processing program usually stored in a storage medium is executed by directly reading the program out of the storage medium or by installing or copying the program to a storage device (such as a hard disk and or a memory) of the data processing device. Therefore, such a storage medium also constitutes the present application.
- the present application also provides a non-volatile storage medium in which a data processing program is stored. This data processing program can be used to execute any one of the above-mentioned method examples in this application. Kind of examples.
- the storage medium may store machine-readable instructions.
- the machine-readable instructions are executed by one or more processors, the one or more processors are loaded and executed to implement the following steps:
- query unused transaction output information from the first block of the first blockchain, the first block including all the blocks in the first blockchain;
- the first condition includes: the block height of the first blockchain meets a preset value; or, the remaining storage space is lower than a first threshold; or, a set time interval is reached; or, a set is received Operation instructions.
- the block height of the second block is continuous with the block height of the last block in the first block chain.
- the block header feature value of the parent block included in the second block is the block header feature value of the last block in the first block chain.
- the one or more processors are configured to perform the following steps:
- the data backup table records the identification information of each block in the first blockchain and the storage address of each block in the storage system.
- the one or more processors are configured to perform the following steps:
- the storage address corresponding to the identification information of the block is queried from the data backup table, and is accessed according to the storage address The block in the storage system; or,
- the machine-readable instructions corresponding to the modules in FIG. 8 may cause an operating system or the like operating on a computer to complete some or all of the operations described herein.
- the non-volatile computer-readable storage medium may be a memory provided in an expansion board inserted into the computer or written in a memory provided in an expansion unit connected to the computer.
- the CPU, etc. installed on the expansion board or expansion unit can perform part and all of the actual operations according to the instructions.
- Non-volatile computer-readable storage media include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD + RW), magnetic tape , Non-volatile memory cards and ROM.
- the program code may be downloaded from a server computer by a communication network.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (20)
- 一种数据备份方法,其特征在于,所述方法包括:在第一条件满足时,从第一区块链的第一区块中查询未被使用的交易输出信息,所述第一区块包括所述第一区块链中的所有区块;根据查询得到的所述未被使用的交易输出信息生成交易信息,所述交易信息用于描述不改变所述未被使用的交易输出信息所属账户地址的交易操作;将所述交易信息记录在第二区块中并发布所述第二区块,将经过共识的所述第二区块记录在第二区块链上;及将所述第一区块链备份到存储系统中,删除所述第一区块链。
- 根据权利要求1所述的方法,其特征在于,所述第一条件包括:所述第一区块链的区块高度符合预设值。
- 根据权利要求1所述的方法,其特征在于,所述第一条件包括:剩余存储空间低于第一阈值;或,达到设定时间间隔;或,收到设定的操作指令。
- 根据权利要求1所述的方法,其特征在于,所述第二区块的区块高度与所述第一区块链中最后一个区块的区块高度是连续的。
- 根据权利要求1所述的方法,其特征在于,所述第二区块包含的父区块的区块头特征值为所述第一区块链中最后一个区块的区块头特征值。
- 根据权利要求1所述的方法,其特征在于,所述将所述第一区块链备份到存储系统中包括:在数据备份表中记录所述第一区块链中各个区块的标识信息及各个区块在所述存储系统中的存储地址。
- 根据权利要求6所述的方法,其特征在于,所述在数据备份表中记录所述第一区块链中各个区块的标识信息及各个区块在所述存储系统中的存储地址之后,所述方法还包括:在删除所述第一区块链之后,当要访问所述第一区块链中的任一区块时,从所述数据备份表中查询所述区块的标识信息对应的存储地址,根据所述存储地址访问所述存储系统中的所述区块;或,在删除所述第一区块链之后,当要访问所述第一区块链中任一区块的交易信息时,从所述数据备份表中查询所述区块的标识信息对应的存储地址,根据所述存储地址访问所述存储系统中的所述区块,并根据所述交易信息的标识信息从所述区块中查询得到所述交易信息的内容。
- 一种存储介质,其特征在于,存储有机器可读指令,所述机器可读指令被一个或多个处理器执行时,使得所述一个或多个处理器加载并执行以实现下述步骤:在第一条件满足时,从第一区块链的第一区块中查询未被使用的交易输出信息,所述第一区块包括所述第一区块链中的所有区块;根据查询得到的所述未被使用的交易输出信息生成交易信息,所述交易信息用于描述不改变所述未被使用的交易输出信息所属账户地址的交易操作;将所述交易信息记录在第二区块中并发布所述第二区块,将经过共识的所述第二区块记录在第二区块链上;及将所述第一区块链备份到存储系统中,删除所述第一区块链。
- 根据权利要求8所述的存储介质,其特征在于,所述第一条件包括:所述第一区块链的区块高度符合预设值;或,剩余存储空间低于第一阈值;或,达到设定时间间隔;或,收到设定的操作指令。
- 根据权利要求8所述的存储介质,其特征在于,所述第二区块的区块高度与所述第一区块链中最后一个区块的区块高度是连续的。
- 根据权利要求8所述的存储介质,其特征在于,所述第二区块包含的父区块的区块头特征值为所述第一区块链中最后一个区块的区块头特征值。
- 根据权利要求8所述的存储介质,其特征在于,所述一个或多个处理 器用于执行下述步骤:在数据备份表中记录所述第一区块链中各个区块的标识信息及各个区块在所述存储系统中的存储地址。
- 根据权利要求12所述的存储介质,其特征在于,所述一个或多个处理器用于执行下述步骤:在删除所述第一区块链之后,当要访问所述第一区块链中的任一区块时,从所述数据备份表中查询所述区块的标识信息对应的存储地址,根据所述存储地址访问所述存储系统中的所述区块;或,在删除所述第一区块链之后,当要访问所述第一区块链中任一区块的交易信息时,从所述数据备份表中查询所述区块的标识信息对应的存储地址,根据所述存储地址访问所述存储系统中的所述区块,并根据所述交易信息的标识信息从所述区块中查询得到所述交易信息的内容。
- 一种计算设备,其特征在于,包括一个或多个存储器和一个或多个处理器,所述存储器存储有机器可读指令,所述机器可读指令由所述一个或多个处理器加载并执行以实现下述步骤:在第一条件满足时,从第一区块链的第一区块中查询未被使用的交易输出信息,所述第一区块包括所述第一区块链中的所有区块;根据查询得到的所述未被使用的交易输出信息生成交易信息,所述交易信息用于描述不改变所述未被使用的交易输出信息所属账户地址的交易操作;将所述交易信息记录在第二区块中并发布所述第二区块,将经过共识的所述第二区块记录在第二区块链上;及将所述第一区块链备份到存储系统中,删除所述第一区块链。
- 根据权利要求14所述的计算设备,其特征在于,所述第一条件包括:所述第一区块链的区块高度符合预设值。
- 根据权利要求14所述的计算设备,其特征在于,所述第一条件包括:剩余存储空间低于第一阈值;或,达到设定时间间隔;或,收到设定的操作指 令。
- 根据权利要求14所述的计算设备,其特征在于,所述第二区块的区块高度与所述第一区块链中最后一个区块的区块高度是连续的。
- 根据权利要求14所述的计算设备,其特征在于,所述第二区块包含的父区块的区块头特征值为所述第一区块链中最后一个区块的区块头特征值。
- 根据权利要求14所述的计算设备,其特征在于,所述一个或多个处理器用于执行下述步骤:在数据备份表中记录所述第一区块链中各个区块的标识信息及各个区块在所述存储系统中的存储地址。
- 根据权利要求19所述的计算设备,其特征在于,所述一个或多个处理器用于执行下述步骤:在删除所述第一区块链之后,当要访问所述第一区块链中的任一区块时,从所述数据备份表中查询所述区块的标识信息对应的存储地址,根据所述存储地址访问所述存储系统中的所述区块;或,在删除所述第一区块链之后,当要访问所述第一区块链中任一区块的交易信息时,从所述数据备份表中查询所述区块的标识信息对应的存储地址,根据所述存储地址访问所述存储系统中的所述区块,并根据所述交易信息的标识信息从所述区块中查询得到所述交易信息的内容。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020207033321A KR102392944B1 (ko) | 2018-09-30 | 2019-09-26 | 데이터 백업 방법, 저장 매체 및 컴퓨팅 기기 |
JP2020561794A JP7001843B2 (ja) | 2018-09-30 | 2019-09-26 | データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス |
SG11202011132PA SG11202011132PA (en) | 2018-09-30 | 2019-09-26 | Data backup method, storage medium, and computing device |
EP19867203.2A EP3779732A4 (en) | 2018-09-30 | 2019-09-26 | DATA BACKUP PROCEDURE, STORAGE MEDIUM AND COMPUTING DEVICE |
US17/065,883 US11494270B2 (en) | 2018-09-30 | 2020-10-08 | Data backup method, storage medium, and computing device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160527.5 | 2018-09-30 | ||
CN201811160527.5A CN109299336B (zh) | 2018-09-30 | 2018-09-30 | 数据备份方法、装置、存储介质及计算设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/065,883 Continuation US11494270B2 (en) | 2018-09-30 | 2020-10-08 | Data backup method, storage medium, and computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020063786A1 true WO2020063786A1 (zh) | 2020-04-02 |
Family
ID=65161494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/108295 WO2020063786A1 (zh) | 2018-09-30 | 2019-09-26 | 数据备份方法、存储介质及计算设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11494270B2 (zh) |
EP (1) | EP3779732A4 (zh) |
JP (1) | JP7001843B2 (zh) |
KR (1) | KR102392944B1 (zh) |
CN (1) | CN109299336B (zh) |
SG (1) | SG11202011132PA (zh) |
WO (1) | WO2020063786A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111836268A (zh) * | 2020-07-10 | 2020-10-27 | 全链通有限公司 | 终端设备接入信息处理方法、设备及存储介质 |
CN112364209A (zh) * | 2020-12-09 | 2021-02-12 | 杭州复杂美科技有限公司 | 分布式数据存储方法、数据查询方法、设备和存储介质 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299336B (zh) | 2018-09-30 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、存储介质及计算设备 |
EP3905636A1 (en) * | 2018-12-28 | 2021-11-03 | Hefei Dappworks Technology Co., Ltd. | Data processing method and apparatus for blockchain, and blockchain system |
US11010394B2 (en) * | 2019-02-15 | 2021-05-18 | Drfirst.Com, Inc. | Efficient access of chainable records |
US10990705B2 (en) | 2019-04-18 | 2021-04-27 | Advanced New Technologies Co., Ltd. | Index creation for data records |
CN110162662B (zh) * | 2019-04-18 | 2023-02-28 | 创新先进技术有限公司 | 一种块链式账本中数据记录的验证方法、装置及设备 |
CN110162526B (zh) * | 2019-04-18 | 2023-02-24 | 创新先进技术有限公司 | 一种块链式账本中数据记录的查询方法、装置及设备 |
CN110188096B (zh) * | 2019-04-18 | 2021-08-17 | 创新先进技术有限公司 | 一种数据记录的索引创建方法、装置及设备 |
JP2022539283A (ja) * | 2019-04-18 | 2022-09-08 | ライン プラス コーポレーション | ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証する方法およびシステム |
CN110275916B (zh) * | 2019-05-23 | 2021-01-12 | 创新先进技术有限公司 | 数据操作记录的存储方法、系统、装置及设备 |
US11204933B2 (en) | 2019-05-23 | 2021-12-21 | Advanced New Technologies Co., Ltd. | Data manipulation record storage method, system, apparatus, and device |
CN110347744B (zh) * | 2019-06-03 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 多层块链式账本的数据存储方法、装置及设备 |
US10949118B2 (en) | 2019-06-03 | 2021-03-16 | Advanced New Technologies Co., Ltd. | Data storage method, apparatus, and device for multi-layer blockchain-type ledger |
CN112153085B (zh) * | 2019-06-26 | 2022-05-17 | 华为技术有限公司 | 一种数据处理方法、节点及区块链系统 |
US11372724B2 (en) | 2019-07-05 | 2022-06-28 | Samsung Electronics Co., Ltd | Method and system for handling blockchain network based file storage system |
CN110413621B (zh) * | 2019-07-31 | 2021-08-06 | 中国工商银行股份有限公司 | 基于区块链的离线归档系统及方法 |
CN110489234A (zh) * | 2019-08-16 | 2019-11-22 | 中国银行股份有限公司 | 区块链层的报文处理方法、装置、设备及可读存储介质 |
CN110958300B (zh) * | 2019-10-30 | 2022-06-07 | 京东科技信息技术有限公司 | 一种数据的上传方法、系统、装置、电子设备和计算机可读介质 |
KR102274656B1 (ko) * | 2019-11-22 | 2021-07-09 | 주식회사 티맥스엔터프라이즈 | 블록체인 네트워크에서 데이터를 관리하기 위한 기법 |
CN110928950A (zh) * | 2019-11-25 | 2020-03-27 | 深圳壹账通智能科技有限公司 | 区块链交易信息管理方法、装置、计算机设备及存储介质 |
KR20210075654A (ko) * | 2019-12-13 | 2021-06-23 | 현대자동차주식회사 | 블록체인 생성 시스템 및 그 운용 방법 |
CN111177257A (zh) * | 2019-12-13 | 2020-05-19 | 东软集团股份有限公司 | 一种区块链的数据存储及访问方法、装置以及设备 |
US11062280B1 (en) * | 2020-01-14 | 2021-07-13 | Hiro Systems Pbc | Network consensus-based data processing |
CN111447069B (zh) * | 2020-03-23 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 一种基于区块链的低频访问数据处理方法 |
CN111506557A (zh) * | 2020-04-10 | 2020-08-07 | 上海七印信息科技有限公司 | Utxo库建立方法、装置、计算机设备和存储介质 |
CN111340496B (zh) * | 2020-05-20 | 2020-10-27 | 南京如般量子科技有限公司 | 一种自动优化历史交易数据的区块链系统及方法 |
CN113709197B (zh) * | 2020-05-21 | 2024-02-23 | 顺丰科技有限公司 | 联盟区块链组织系统、区块链系统 |
CN111798317B (zh) * | 2020-07-07 | 2024-05-07 | Gotcex有限公司 | 多维空间区块链及基于该区块链的数据处理方法 |
CN112329942A (zh) * | 2020-11-06 | 2021-02-05 | 联想(北京)有限公司 | 一种基于区块链的信息处理方法、装置及设备 |
US20220191005A1 (en) * | 2020-12-14 | 2022-06-16 | Brandon E. D'Amore | Stranded blockchain |
KR102389139B1 (ko) * | 2021-02-17 | 2022-04-22 | 유비콘 주식회사 | 블록체인 기반 분산저장을 통한 공간향상 솔루션 시스템 |
CN113127562A (zh) * | 2021-03-30 | 2021-07-16 | 河南九域腾龙信息工程有限公司 | 一种低冗余区块链数据存储和检索方法及系统 |
CN113157492A (zh) * | 2021-04-07 | 2021-07-23 | 北京思特奇信息技术股份有限公司 | 一种分布式数据库的备份方法和恢复方法以及备份系统 |
CN113505024B (zh) * | 2021-07-08 | 2024-02-23 | 网易(杭州)网络有限公司 | 联盟链的数据处理方法、装置、电子设备及存储介质 |
CN114089924A (zh) * | 2021-12-02 | 2022-02-25 | 东软集团股份有限公司 | 区块链账本数据存储系统及方法 |
CN115357346B (zh) * | 2022-10-13 | 2023-02-03 | 北京百度网讯科技有限公司 | 基于区块链的事务处理方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383754A (zh) * | 2016-09-19 | 2017-02-08 | 北京众享比特科技有限公司 | 一种基于区块链技术的数据库备份、恢复方法和系统 |
CN106713412A (zh) * | 2016-11-09 | 2017-05-24 | 弗洛格(武汉)信息科技有限公司 | 一种区块链系统及区块链系统的架构方法 |
CN106919476A (zh) * | 2017-02-24 | 2017-07-04 | 中国科学院软件研究所 | 基于联盟链的数据安全备份方法、客户端及云服务端 |
CN109299336A (zh) * | 2018-09-30 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、存储介质及计算设备 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3317775B1 (en) * | 2015-07-02 | 2022-02-16 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
GB201511964D0 (en) * | 2015-07-08 | 2015-08-19 | Barclays Bank Plc | Secure digital data operations |
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
KR101781583B1 (ko) | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 |
KR101727525B1 (ko) | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | 블록체인 기반 분산 저장 방법 및 이를 이용한 장치 |
CN106528346A (zh) | 2016-11-14 | 2017-03-22 | 捷开通讯(深圳)有限公司 | 一种智能终端及其应急数据备份系统与数据备份方法 |
US10460126B2 (en) * | 2016-11-21 | 2019-10-29 | Adobe Inc. | Providing user control of shared personal information |
US10586210B2 (en) * | 2016-11-30 | 2020-03-10 | International Business Machines Corporation | Blockchain checkpoints and certified checkpoints |
US10523421B2 (en) * | 2016-11-30 | 2019-12-31 | International Business Machines Corporation | Checkpoints for permissionless blockchains |
US10445302B2 (en) | 2017-01-03 | 2019-10-15 | International Business Machines Corporation | Limiting blockchain size to optimize performance |
KR102026225B1 (ko) * | 2017-01-19 | 2019-09-27 | 주식회사 케이티 | 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법 |
CN107819749A (zh) * | 2017-10-26 | 2018-03-20 | 平安科技(深圳)有限公司 | 基于以太坊的区块链系统和交易数据处理方法 |
JP2019109635A (ja) | 2017-12-16 | 2019-07-04 | 株式会社bitFlyer | ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及び当該ネットワークを構成するためのノード |
CN108564469A (zh) * | 2018-04-11 | 2018-09-21 | 北京奇虎科技有限公司 | 区块链节点的画像数据获取方法、装置及计算设备 |
US11323530B2 (en) * | 2018-06-06 | 2022-05-03 | International Business Machines Corporation | Proxy agents and proxy ledgers on a blockchain |
US20190378139A1 (en) * | 2018-06-06 | 2019-12-12 | The Bank Of New York Mellon | Tracking and recovering transactions performed across multiple applications |
US11070360B2 (en) * | 2018-08-13 | 2021-07-20 | International Business Machines Corporation | Parallel transaction validation and block generation in a blockchain |
-
2018
- 2018-09-30 CN CN201811160527.5A patent/CN109299336B/zh active Active
-
2019
- 2019-09-26 SG SG11202011132PA patent/SG11202011132PA/en unknown
- 2019-09-26 KR KR1020207033321A patent/KR102392944B1/ko active IP Right Grant
- 2019-09-26 WO PCT/CN2019/108295 patent/WO2020063786A1/zh unknown
- 2019-09-26 EP EP19867203.2A patent/EP3779732A4/en active Pending
- 2019-09-26 JP JP2020561794A patent/JP7001843B2/ja active Active
-
2020
- 2020-10-08 US US17/065,883 patent/US11494270B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383754A (zh) * | 2016-09-19 | 2017-02-08 | 北京众享比特科技有限公司 | 一种基于区块链技术的数据库备份、恢复方法和系统 |
CN106713412A (zh) * | 2016-11-09 | 2017-05-24 | 弗洛格(武汉)信息科技有限公司 | 一种区块链系统及区块链系统的架构方法 |
CN106919476A (zh) * | 2017-02-24 | 2017-07-04 | 中国科学院软件研究所 | 基于联盟链的数据安全备份方法、客户端及云服务端 |
CN109299336A (zh) * | 2018-09-30 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、存储介质及计算设备 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3779732A1 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111836268A (zh) * | 2020-07-10 | 2020-10-27 | 全链通有限公司 | 终端设备接入信息处理方法、设备及存储介质 |
CN111836268B (zh) * | 2020-07-10 | 2023-04-28 | 全链通有限公司 | 终端设备接入信息处理方法、设备及存储介质 |
CN112364209A (zh) * | 2020-12-09 | 2021-02-12 | 杭州复杂美科技有限公司 | 分布式数据存储方法、数据查询方法、设备和存储介质 |
CN112364209B (zh) * | 2020-12-09 | 2023-11-28 | 杭州复杂美科技有限公司 | 分布式数据存储方法、数据查询方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20210002574A (ko) | 2021-01-08 |
US20210026740A1 (en) | 2021-01-28 |
KR102392944B1 (ko) | 2022-04-29 |
CN109299336B (zh) | 2022-07-01 |
EP3779732A1 (en) | 2021-02-17 |
CN109299336A (zh) | 2019-02-01 |
JP7001843B2 (ja) | 2022-01-20 |
SG11202011132PA (en) | 2020-12-30 |
EP3779732A4 (en) | 2021-08-25 |
US11494270B2 (en) | 2022-11-08 |
JP2021521556A (ja) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020063786A1 (zh) | 数据备份方法、存储介质及计算设备 | |
CN108805570B (zh) | 数据处理方法、装置及存储介质 | |
EP3707613B1 (en) | Efficient management of client synchronization updates | |
WO2020063820A1 (zh) | 资产交易方法、存储介质及计算机设备 | |
US10255108B2 (en) | Parallel execution of blockchain transactions | |
CN110020542B (zh) | 数据读写方法及装置、电子设备 | |
TW202002587A (zh) | 基於區塊鏈的資料處理方法和裝置 | |
CN111597015B (zh) | 事务处理方法、装置、计算机设备及存储介质 | |
TW202004584A (zh) | 基於區塊鏈的資料遷移方法和裝置 | |
US20230074102A1 (en) | Method and apparatus for processing data based on block chain, device and readable storage medium | |
WO2021103403A1 (zh) | 区块链交易信息管理方法、装置、计算机设备及存储介质 | |
US10275400B1 (en) | Systems and methods for forming a fault-tolerant federated distributed database | |
JPWO2011108695A1 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
WO2020125233A1 (zh) | 字段更新方法及装置、电子设备 | |
US10855637B2 (en) | Architecture for large data management in communication applications through multiple mailboxes | |
US10873552B2 (en) | Large data management in communication applications through multiple mailboxes | |
WO2021057482A1 (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
WO2023185059A1 (zh) | 一种共识方法和区块链节点 | |
WO2023011022A1 (zh) | 基于区块链的数据处理方法、设备及计算机可读存储介质 | |
CN112685499A (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN116701452A (zh) | 数据处理方法、相关设备、存储介质及程序产品 | |
JP2023547439A (ja) | 非同期動作のための意図トラッキング | |
CN116521695A (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: 19867203 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020561794 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2019867203 Country of ref document: EP Effective date: 20201102 |
|
ENP | Entry into the national phase |
Ref document number: 20207033321 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |