WO2021027956A1 - Procédé et dispositif de traitement de transaction basé sur un système de chaîne de blocs - Google Patents

Procédé et dispositif de traitement de transaction basé sur un système de chaîne de blocs Download PDF

Info

Publication number
WO2021027956A1
WO2021027956A1 PCT/CN2020/109570 CN2020109570W WO2021027956A1 WO 2021027956 A1 WO2021027956 A1 WO 2021027956A1 CN 2020109570 W CN2020109570 W CN 2020109570W WO 2021027956 A1 WO2021027956 A1 WO 2021027956A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
operation information
log space
node
log
Prior art date
Application number
PCT/CN2020/109570
Other languages
English (en)
Chinese (zh)
Inventor
李陈希
李辉忠
张开翔
范瑞彬
Original Assignee
深圳前海微众银行股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳前海微众银行股份有限公司 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2021027956A1 publication Critical patent/WO2021027956A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention relates to the technical field of financial technology (Fintech), in particular to a transaction processing method and device based on a blockchain system.
  • Blockchain technology is no exception, but due to the security and real-time requirements of the financial industry , Also put forward higher requirements for technology.
  • the transaction can also be gradually written into the transaction database set up inside the node. For example, the transaction corresponding data can be inserted and updated in the transaction database. Data corresponding to the transaction, deleting the data corresponding to the transaction, etc.
  • the transaction when a node executes a transaction, the transaction may be abnormal due to data errors or program failures.
  • the node In order to ensure the accuracy of the transaction database, the node usually needs to roll back abnormal transactions, that is, cancel the transaction database. All write operations of this abnormal transaction restore the transaction database to the state before the abnormal transaction was executed.
  • the write log list can be preset in the node, and the write log list can be used to record all write operations performed by the node; in this way, if the transaction is found when the transaction is executed Abnormal, the node can obtain the latest write operation written in the log list and the initial write operation of the transaction, and perform the transaction database according to each write operation between the latest write operation and the initial write operation Roll back.
  • the embodiment of the present invention provides a data processing method based on a blockchain system to solve the technical problem of low transaction processing accuracy in the prior art when performing transaction rollback.
  • an embodiment of the present invention provides a transaction processing method based on a blockchain system.
  • the method is applied to any node in the blockchain system and includes:
  • the node determines the first log space corresponding to the first process; wherein, the first log space is used to record that the first process is processing the transaction
  • the operation information of the preset database; the log space allocated by the node for each parallel process is different; further, the node obtains each operation information of the first transaction from the first log space, and based on the Each operation information of the first transaction performs a rollback operation on the preset database.
  • each process corresponds to a log space. Because the process is based on the serial method to process multiple transactions, therefore, in the log space corresponding to the process, The operation information of the transaction is stored in sequence according to the processing order of the transaction; in this way, if the transaction currently processed by the process is abnormal, the node can quickly obtain the operation information of the abnormal transaction by querying the log space corresponding to the process, which can be based on this The operation information of abnormal transactions is accurately rolled back to the preset database to improve the accuracy of transaction processing.
  • the method before the first transaction processed by the first process by the node is abnormal, the method further includes: the node obtains the first log corresponding to the first process from a preset mapping table Space, and use the first log space to record the operation information of the first process on the preset database in the process of processing the first transaction; accordingly, if the node has not obtained from the preset mapping table To the first log space corresponding to the first process, the first log space is allocated for the first process, and the correspondence between the first process and the first log space is added in all The preset mapping table.
  • the corresponding relationship between the process and the log space is stored by setting the preset mapping table, so that when the node determines to use the process to process the transaction, it can directly query the preset mapping table to determine whether the corresponding log space has been allocated for the process. This can avoid allocating multiple log spaces for the same process and improve the flexibility of log space management.
  • the method before the node obtains the first log space corresponding to the first process from a preset mapping table, the method further includes: the node determines that the preset mapping table is in an unlocked state; The unlocked state is used to indicate that no process currently uses the preset mapping table.
  • the state of the preset mapping table needs to be queried before the node uses the preset mapping table. If the preset mapping table is in an unlocked state, the node can use the preset mapping table to assign the corresponding preset mapping table to the process If the preset mapping table is locked, the node cannot use the preset mapping table; that is to say, by setting the lock resource for the preset mapping table in advance (that is, recording the state of the preset mapping table), multiple processes can be avoided Simultaneous access to the preset mapping table causes resource conflicts, and can prevent nodes from allocating the same log space for multiple processes at the same time, thereby ensuring the accuracy of transaction processing.
  • the node uses the first log space to record the operation information of the first process on the preset database in the process of processing the first transaction, including: the node records the The initial position of the first transaction in the first log space where the first piece of operation information is located or the end position where the last operation information of the second transaction is recorded in the first log space; the second transaction is Processing the transaction processed by the first process before the first transaction; further, the node acquiring each operation information of the first transaction from the first log space includes: the node according to the first When the transaction is abnormal, the position of the latest piece of operation information in the first log space and the initial position determine each operation information of the first transaction; or, the node determines the operation information of the first transaction according to the first transaction when the first transaction is abnormal The position of the latest piece of operation information in a log space and the termination position determine each operation information of the first transaction.
  • the process can record the starting position of the transaction in the log space or the ending position of the previous transaction in the log space when processing each transaction.
  • the current log space The operation information between the position and the starting position of the transaction in the log space or the current position in the log space and the ending position of the previous transaction in the log space are the operation information corresponding to the transaction; that is, through Record the start position of each transaction in the log space or the end position of the previous transaction in the log space, which can quickly and accurately obtain the operation information corresponding to each transaction, and improve the rollback of the preset database based on the operation information corresponding to the transaction Accuracy.
  • the method further includes: if the node determines that the first process has processed all the corresponding transactions, releasing the resources occupied by the first log space.
  • an embodiment of the present invention provides a transaction processing device based on a blockchain system, and the device includes:
  • the determining module is used to determine the first log space corresponding to the first process when the first transaction processed by the first process is abnormal; wherein, the first log space is used to record the transaction processing of the first process Operation information of the preset database during the process; the log space allocated by the device for each parallel process is different;
  • An obtaining module configured to obtain various operation information of the first transaction from the first log space
  • the processing module is configured to perform a rollback operation on the preset database based on each operation information of the first transaction.
  • the determining module is further configured to: obtain the first log corresponding to the first process from a preset mapping table
  • the processing module is further configured to: use the first log space to record the operation information of the first process on the preset database in the process of processing the first transaction; further, if the The obtaining module does not obtain the first log space corresponding to the first process from the preset mapping table, and the processing module is further configured to: allocate the first log space for the first process, and Adding the correspondence between the first process and the first log space in the preset mapping table.
  • the determining module is further configured to: determine that the preset mapping table is not Locked state; the unlocked state is used to indicate that no process currently uses the preset mapping table.
  • the processing module is specifically configured to record the initial position of the first piece of operation information in the first log space of the first transaction or record the location of the second transaction in the first log space.
  • the end position of the last piece of operation information in the log space; the second transaction is a transaction processed by the first process before the first transaction is processed; accordingly, the acquisition module is specifically configured to: When a transaction is abnormal, the position of the latest piece of operation information in the first log space and the initial position determine each operation information of the first transaction; or, the node determines the operation information of the first transaction according to the The position of the latest piece of operation information in the first log space and the termination position determine each operation information of the first transaction.
  • the processing module is further configured to: if it is determined that the first process has processed all corresponding transactions, release the resources occupied by the first log space.
  • an embodiment of the present invention provides a computing device that includes at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, The processing unit executes any transaction processing method based on the blockchain system described in the first aspect.
  • an embodiment of the present invention provides a computer-readable storage medium that stores a computer program executable by a computing device, and when the program runs on the computing device, the computing device executes the foregoing On the one hand, any transaction processing method based on the blockchain system.
  • FIG. 1 is a schematic diagram of a flow corresponding to a transaction processing method based on a blockchain system provided by an embodiment of the present invention
  • FIG. 2 is a schematic diagram of the interaction flow of a transaction processing method based on a blockchain system provided by an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a transaction processing device based on a blockchain system provided by an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a computing device provided by an embodiment of the present invention.
  • the field of financial technology usually involves a variety of transactions.
  • bank transactions can include card sales, deposit transactions, loan transactions, insurance transactions, wealth management transactions, etc.
  • the daily transaction volume of banks can reach thousands or even several. Thousands of pens.
  • the financial technology field can also use blockchain technology to process transactions. For example, if multiple banks are involved in related transactions, you can set up a consortium chain to synchronize related transactions. , Or you can put the courts, customers, etc. on the chain at the same time to jointly maintain the security and stability of the alliance chain.
  • each node can be set up with a transaction database, and each node maintains the public ledger in the blockchain system through the transaction database.
  • the transaction database inside the node can store the transaction block processed by the node. Data and transaction data, block data can mainly include the timestamp of the start of the transaction, the hash value of the block, etc.
  • the transaction database can generally be a key-value database.
  • the key-value database is a non-relational database that can store data based on a simple key-value method.
  • each transaction data can be key-valued.
  • the collection method is stored in a key-value database, and the key is used as a unique identifier to retrieve the corresponding value.
  • Table 1 is a schematic table of a possible transaction database provided by an embodiment of the present invention.
  • Table 1 Schematic table of a transaction database
  • each key-value pair can include a key and a value corresponding to the key.
  • a key-value pair with a key of 1 corresponds to a value of 10
  • a key-value pair with a key of 2 corresponds to a value of 20
  • a key-value pair with a key of 3 corresponds to a value of 30.
  • each key-value pair in the transaction database can identify a certain transaction data of the transaction. For example, if the transaction is a transaction of a certain account, each income or each expenditure of the account can be used as a separate key Value pair.
  • the nodes in the blockchain system can perform various write operations on the internal transaction database, such as inserting a new key-value pair, modifying an existing key-value pair, and deleting an existing one. Key-value equivalence. Among them, these write operations can be performed based on the keys in the transaction database. Three possible write operations are described below:
  • Table 2 Schematic of a transaction database corresponding to an insert operation
  • the updated transaction database can be as shown in Table 3:
  • Table 3 A schematic diagram of the transaction database corresponding to a modification operation
  • the key-value pair with key 2 can be deleted in the transaction database shown in Table 3, and the operation information corresponding to the write operation can be deleted It can be "Type: Delete, Key: 2".
  • the updated transaction database can be as shown in Table 4:
  • Table 4 A schematic diagram of the transaction database corresponding to a delete operation
  • each node can set a log list for the internal transaction database, so as to save all write operations in the log list. Based on the foregoing Tables 1 to 4, the node can record the log list shown in Table 5a in the log list, or can also record the log list shown in Table 5b in the log list, which is not specifically limited.
  • Table 5a Schematic table of a possible log list
  • Types of key value insert 4 10 modify 2 40
  • this type of log list records the write operations of nodes to the transaction database in order from top to bottom, and each row of data is a piece of write operation information; refer to Table 5b, this type of log list It records the write operations of nodes to the transaction database in order from left to right, and each column of data is a piece of write operation information.
  • the node when a node executes each transaction in sequence, if a certain transaction is abnormal, the node can obtain the write operation corresponding to the abnormal transaction in the order of the write operations in the log list, thereby based on the write operation of the abnormal transaction.
  • the transaction database is rolled back by the import operation, which is no problem.
  • the nodes in the blockchain system usually process transactions in parallel, that is, there may be multiple transactions executing at the same time.
  • the write operations of each transaction in the log list can be interspersed; for example, the log The first to fifth write operations in the list belong to the five write operations of transaction a 1 , the sixth write operation belongs to one write operation of transaction a 2 , and the seventh to ten write operations belong to transaction a 1 If the transaction a 1 is found to be abnormal when the tenth write operation is executed, the node can follow the tenth write operation to the first write operation in the log list to return to the transaction database roll. It can be seen that this rollback operation not only rolls back the write operation of the abnormal transaction a 1 but also rolls back the write operation of the normal transaction a 2 , resulting in an error in the transaction processing process.
  • the embodiment of the present invention provides a transaction processing method based on a blockchain system, which is used to accurately roll back the write operation of an abnormal transaction, thereby improving the accuracy of transaction processing.
  • Fig. 1 is a schematic diagram of a process corresponding to a transaction processing method based on a blockchain system provided by an embodiment of the present invention.
  • the method can be applied to any node in the blockchain system.
  • the method includes:
  • Step 101 When the first transaction processed by the first process is abnormal, the node determines the first log space corresponding to the first process.
  • any node in the blockchain system after any node in the blockchain system receives the transaction, it can store the transaction in the transaction pool set inside the node, and at the same time can synchronize the transaction to other nodes in the blockchain system; Correspondingly, after receiving the transaction, other nodes can store the transaction in the transaction pool set internally by other nodes. Further, when the first node to process the transaction is determined from the multiple nodes of the blockchain system, the first node can first create a process for processing the transaction.
  • the first node can create multiple parallel processes at the same time, and can store the corresponding relationship between the process and the transaction in the process pool, and subsequently use each process to process the corresponding transaction; if the first node supports single-process serial processing transactions, You can create a process and use it to process multiple transactions in turn.
  • the first node may create a parallel process to process b 1 b 5 ⁇ ; ⁇ 1 the same process if the process b 5 b processing capacity, the first node may be assigned a transaction process b 1 and transaction 2, b 2 of the process 3 and 4 transactions dispensing transactions, transactions for the process b 3 to 5 and 6 transactions, transactions for the process b 4 to 7 and 8 transactions, transactions for the process b 5 to 9 and 10 transactions.
  • CPU central processing unit
  • the memory may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), and static random access memory (Static Random Access Memory, SRAM). , Programmable Read Only Memory (PROM), Read Only Memory (Read Only Memory, ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic memory, Disk, CD, etc.
  • PROM Programmable Read Only Memory
  • ROM Read Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • magnetic memory Disk, CD, etc.
  • the memory is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory in the embodiment of the present invention may also be a circuit or any other device capable of realizing a storage function for storing program instructions and/or data.
  • the first node can set an initial storage space in the memory in advance. After each process is created, the first node can select a sub-storage with a preset amount of data from the storage space not occupied by the initial storage space. The space is used as the log space corresponding to the process. In this way, all write operations performed by the process in the process of processing transactions can be recorded in the log space corresponding to the process.
  • the preset data amount of the sub-storage space and the size of the initial storage space can be set by those skilled in the art based on experience, or can also be set according to actual needs, and the specifics are not limited.
  • sub storage space 1 can Occupied space range 00000010 ⁇ 00000100
  • sub storage space 2 can occupy space range 00000100 ⁇ 00000110
  • sub storage space 3 can occupy space range 00000110 ⁇ 00001000
  • sub storage space 4 can occupy space range 00001000 ⁇ 00001010
  • sub storage space 5 can occupy space
  • the range is from 00001010 to 00001100, and each sub-storage space from sub-storage space 1 to sub-storage space 5 can store a data amount of 00000010.
  • sub-storage space 1 to sub-storage space 5 can be arbitrarily selected from 00000010 to 10000000, for example, sub-storage space 1 occupies a space range of 00000010 to 00000100, and sub-storage space 2 occupies a space range of 00001010 to 00001100, sub-storage space 3 occupies a space range of 0001000 to 00001010, sub-storage space 4 can occupy a space range of 00000100 to 00000110, and sub-storage space 5 can occupy a space range of 00000110 to 000010000, which is not specifically limited.
  • sub-storage space 1 is the log space corresponding to process b 1
  • process b 1 can transfer subsequent
  • the operation information of all transactions processed is recorded in the sub-storage space 1.
  • the process b 1 processes transaction 1 and transaction 2 in turn
  • the first node can preset the process b 1 to process transaction 1 and transaction 2
  • the operation information of the database is recorded in the log space corresponding to the process b 1 in order. So, if the process b 1 to determine which transaction is being processed two exceptions, it can obtain information on the operation of each transaction 2 from the storage space in the sub-1.
  • the first node may also set a preset mapping table, and use the preset mapping table to store the correspondence between the process and the log space.
  • the first node can allocate the corresponding log space for the process b 1 in the following manner: After the process b 1 is created, the first node can first query the preset mapping table to determine whether the preset mapping table is Contains the log space corresponding to the process b 1. If the preset mapping table contains the log space corresponding to the process b 1 , then the first node can directly use the log space corresponding to the process b 1 to record that the process b 1 is Set all operation information of the database.
  • the first node may select a sub-storage space with a preset amount of data from the storage space currently unoccupied by the initial storage space as the sub-storage space corresponding to process b 1 Log space, and the corresponding relationship between the log space corresponding to process b 1 and process b 1 can be added to the preset mapping table; in this way, the first node can use the log space corresponding to process b 1 to record that process b 1 is processing transactions All operation information of the preset database during the process.
  • Table 6 is a schematic table of a possible preset mapping table provided by an embodiment of the present invention.
  • Table 6 An illustration of a preset mapping table
  • the identification of the process and the start and end positions of the log space corresponding to the process can be stored in the preset mapping table.
  • the log space corresponding to the process b 1 occupies the range of 00000010 ⁇ 00000100
  • the first node can store the operation information of the preset database when process b 1 processes transaction 1 and transaction 2 in the space of 00000010 ⁇ 00000100; the log space corresponding to process b 2 occupies the space in the range of 00000100 ⁇ 00000110 ,
  • the first node can store the operation information of the preset database when process b 2 processes transaction 3 and transaction 4 in the space of 00000100 ⁇ 00000110; the log space corresponding to process b 3 occupies the space in the range of 00000110 ⁇ 00001000.
  • One node can store the operation information of the preset database when process b 3 processes transaction 5 and transaction 6 in the space in the range of 00000110 ⁇ 00001000; the log space corresponding to process b 4 occupies the space in the range of 00001000 ⁇ 00001010, the first node
  • the operation information of the preset database when process b 4 processes transactions 7 and 8 can be stored in the space of 00001000 ⁇ 00001010; the log space corresponding to process b 5 occupies the space of 00001010 ⁇ 00001100, the first node can store process 9 b 5 transactions and transaction processing of the default database stored in the operation information space 00001010 00001100 ⁇ 10 range.
  • operation information can be stored in the form of a table in the log space, or can also be stored in other forms, which is not limited.
  • a preset mapping table is set to store the corresponding relationship between the process and the log space, so that when the first node determines to use the process to process the transaction, it can directly query the preset mapping table to determine whether the corresponding process has been allocated Log space, which can avoid allocating multiple log spaces for the same process and improve the flexibility of log space management.
  • the preset mapping table is a common resource, if multiple processes access the preset mapping table at the same time, multiple processes may need to use a competitive method to obtain the preset mapping table, resulting in the preset mapping table being in Unstable state.
  • the first node when the first node sets the preset mapping table, it can also set lock resources for the preset mapping table; in this way, the first node obtains the log corresponding to the process b 1 from the preset mapping table Before space, the state of the preset mapping table can also be determined according to the lock resource of the preset mapping table. If the preset mapping table is determined to be in an unlocked state, the log space corresponding to process b 1 can be obtained. If the preset mapping table is determined to be Locked state, you can perform waiting.
  • the lock resource may exist in the form of a table, or may also exist in the form of a graph, which is not limited.
  • Table 7 is a schematic table of a lock resource provided by an embodiment of the present invention, and the lock resource in Table 7 exists in a table form.
  • Table 7 An illustration of a lock resource
  • the lock resource can include the corresponding relationship between the preset mapping table and the state of the preset mapping table. If the state of the preset mapping table is locked, it means that a certain process currently accesses the preset mapping table. In this way, other processes cannot access the preset mapping table temporarily; if the status of the preset mapping table is unlocked, it means that no process currently accesses the preset mapping table, so other processes can access the preset mapping table.
  • Implementation after creating the first node in the process b 1, can first query determines the default mapping table of the state, if it is determined the preset mapping table in an unlocked state, you can query to determine whether the preset mapping table contains the process b 1 Corresponding log space, and set the state of the preset mapping table to the locked state to prevent other processes from accessing the preset mapping table; further, when the first node obtains the log space corresponding to process b 1 from the preset mapping table log space, or the first node has been allocated for the process corresponding to b 1 b 1 and the process and process b correspondence relationship storage space 1 corresponding to the log after a preset mapping table, the first node may be a state preset mapping table Set to unlocked state. Accordingly, if it is determined the preset mapping table in a locked state, the first node may wait until a predetermined mapping table state to the unlocked state, then check to determine whether the preset mapping table contains the corresponding process b 1 log space.
  • the state of the preset mapping table needs to be queried. If the preset mapping table is in an unlocked state, the first node can use the preset mapping table to assign corresponding processes to the process. If the preset mapping table is locked, the first node cannot use the preset mapping table; that is, by setting lock resources for the preset mapping table in advance, multiple processes can avoid accessing the preset at the same time. The resource conflict caused by the mapping table can prevent the first node from allocating the same log space to multiple processes at the same time, thereby ensuring the accuracy of transaction processing.
  • Step 102 The first node obtains each operation information of the first transaction from the first log space.
  • the first node after the first node allocates the corresponding log space for the process b 1 , it can use the log space corresponding to the process b 1 to record the operation information of the process b 1 on the preset database during the transaction processing;
  • the process b 1 processes transactions in a serial manner. Therefore, if the process b 1 processes multiple transactions, the operation information of the multiple transactions can be sequentially recorded in the log space according to the processing order of the transactions.
  • the transaction process b 1 found in the exception processing a transaction, the first node directly from the process b 1 log space corresponding to the acquired information on the overall operation of unusual transactions; b 1 because the process according to the serial processing mode Therefore, the log space corresponding to the process b 1 will not have the operation information of multiple transactions interspersed with records, which can ensure that all the operation information of the abnormal transaction is obtained, and the speed of the acquisition can be improved.
  • process b 1 processes transaction 1 and transaction 2 in turn, the operation information on the preset database when processing transaction 1 includes operation information 1 and operation information 2, and the operation information on the default database when processing transaction 2 includes operation information 3.
  • Operation information 4 and operation information 5 the log space corresponding to process b 1 can record operation information 1, operation information 2, operation information 3, operation information 4, and operation information 5 in sequence, as shown in Table 8.
  • Table 8 A schematic diagram of log space corresponding to process b 1
  • the first node may log space from process b 1 corresponding to the operation information acquiring operation information 3 and 4.
  • the first node acquires operation information corresponding to unusual transactions
  • correspondence between the identifier of the first node and the transaction may be recorded in the process of operation information b 1 corresponding to log space, thus, the first After a node determines the abnormal transaction, it can obtain the operation information matching the identifier of the abnormal transaction from the log space corresponding to the process b 1 as each operation information of the abnormal transaction.
  • the following describes two implementation methods for obtaining operation information corresponding to abnormal transactions.
  • the first node in the process during process b 1 of each transaction the starting position may be recorded each transaction log space for the first preset operation information database resides; thus, determining a After a transaction is an abnormal transaction, the first node can obtain the location of the latest piece of operation information from the log space corresponding to process b 1 , and can compare the position between the location of the latest piece of operation information and the start position of the abnormal transaction. Each operation information is determined as each operation information of the abnormal transaction.
  • each operation information of the abnormal transaction includes the latest piece of operation information and the operation information corresponding to the starting position of the abnormal transaction.
  • the first node will record the location of the first operation information of transaction 1 when process b 1 is processing transaction 1. Since the first operation information of transaction 1 is operation information 1, Thus the first dot recording position in the first operation information for transactions where a first byte; Accordingly, the first node in a transaction processing 2, the first operation information records where the transaction in process b 2 of Location, since the first piece of operation information of transaction 2 is operation information 3, the position where the first node records the first piece of operation information of transaction 2 is the third byte.
  • process b 1 finds that transaction 2 is an abnormal transaction when processing operation information 4 corresponding to transaction 2, the first node can obtain the position of the current latest operation information, that is, the fourth byte, and can change the third word
  • the operation information between the section and the fourth byte (that is, operation information 3 and operation information 4) is used as the two operation information of abnormal transaction 2.
  • the first node before the process b 1 processes each transaction, the first node can record the termination position of the last operation information of the previous transaction in the log space corresponding to the process b 1 ; in this way, when determining a certain transaction After the abnormal transaction, the first node can obtain the location of the latest piece of operation information from the log space corresponding to the process b 1 , and can determine each piece of operation information between the location of the latest piece of operation information and the termination position as the abnormal transaction Each operation information.
  • each operation information of the abnormal transaction includes the latest piece of operation information, but does not include the operation information corresponding to the termination position of the previous transaction of the abnormal transaction.
  • the first node can record the last operation information of the last transaction of transaction 2 (ie transaction 1) in the log space corresponding to process b 1 before processing transaction 2 in process b 1 Since the last operation information of transaction 1 is operation information 2, the position where the first node records the last operation information of transaction 1 is the second byte.
  • the process b 1 2 4 corresponding to the operation information found in the process of transaction by transaction 2 is abnormal, then the first node may acquire the current position of the latest operation information is located, i.e. the fourth byte, and the second word may be The operation information between the section and the fourth byte (that is, operation information 3 and operation information 4) is used as the two operation information of abnormal transaction 2.
  • the process when processing each transaction, can record the starting position of the transaction in the log space or the ending position of the last transaction in the log space.
  • the log space The operation information between the current position and the starting position of the transaction in the log space or the ending position of the previous transaction in the log space is the operation information corresponding to the abnormal transaction; that is, by recording each transaction At the starting position in the log space or the ending position of the previous transaction in the log space, the operation information corresponding to each transaction can be quickly and accurately obtained, and the accuracy of rolling back the preset database based on the operation information corresponding to the transaction can be improved.
  • Step 103 The first node performs a rollback operation on the preset database based on each operation information of the first transaction.
  • the first node determines that the operation information 3 and the operation information 4 are the operation information of the abnormal transaction 2, it can use the operation information 4 to roll back the preset database, and then use Operation information 3 rolls back the preset database.
  • the state of the preset database is the same as the state of the preset database after the first node finishes executing the operation information 2.
  • the first node can query the thread pool to determine whether there are still transactions unprocessed by process b 1 in the thread pool. If it is determined that there are transactions that have not been processed by process b 1 in the thread pool (for example, transaction 11), the process can continue to be used b 1 Process transaction 11, and record the operation information of the preset database in the process of processing transaction 11 in the log space corresponding to process b 1. Repeat the process from step 101 to step 103 until there is no process in the thread pool b 1 Until unprocessed transactions.
  • the first node can release the log corresponding to process b 1 Resources occupied by space. Based on the preset mapping table shown in Table 6, in specific implementation, the first node determines by querying table 6 that the log space corresponding to process b 1 is 00000010 ⁇ 00000100. In this way, the first node can clear the initial storage space of 00000010 ⁇ 00000100 Data stored in the space.
  • the system resource occupation can be reduced and space is reserved for the log space corresponding to the subsequent process.
  • FIG. 2 is a schematic diagram of the interaction flow of the transaction processing method based on the blockchain system in the embodiment of the present invention. The following describes the embodiment of the present invention in detail with reference to FIG. 2.
  • the transaction processing method based on the blockchain system in the embodiment of the present invention involves various modules in the background, specifically including: a log space manager, a first thread, and the like.
  • the log space manager may be a software device
  • the first thread may be any thread in the nodes of the blockchain system.
  • Step 201 After being created by the node, the first thread sends a log space request message to the log space manager.
  • the node can allocate the corresponding transaction to the first thread; for example, the node can store the correspondence between the first thread and the transaction in the public thread pool, so that the first node can access the public thread by itself The pool obtains the transaction; alternatively, the node can also send the transaction to the first thread, and the first thread will store it in the internal space by itself, which is not limited.
  • the first thread may send a log space request message to the log space manager, and the log space request message may carry the identifier of the first process.
  • Step 202 After receiving the log space request message sent by the first thread, the log space manager obtains the state of the preset mapping table, and determines whether the preset mapping table is locked; if it is determined that the preset mapping table is locked, execute step 203. If it is determined that the preset mapping table is not locked, perform step 204.
  • the lock resource of the preset mapping table may be set in the log space manager, and the log space manager may query the state of the preset mapping table by accessing the lock resource of the preset mapping table. If the state is a locked state, it is determined that the preset mapping table is locked; if the state of the preset mapping table is an unlocked state, it is determined that the preset mapping table is not locked.
  • step 203 the log space manager sends a waiting instruction to the first thread and monitors the state of the preset mapping table until it is determined that the preset mapping table is switched from locked to unlocked, and step 204 is executed.
  • the log space manager can send a waiting instruction to the first process, and the waiting instruction is used to inform the first process to wait for the log The wake-up message of the space manager.
  • the log space manager can monitor the lock resource of the preset mapping table according to the preset period. For example, the lock resource of the preset mapping table can be accessed every 5s. If the status of the preset mapping table is found to be updated during a certain access process In the unlocked state, it can be determined that no other process currently accesses the preset mapping table. In this way, the log space manager can send a wake-up message to the first process.
  • Step 204 The log space manager locks the preset mapping table.
  • the log space manager can use the preset mapping table to process the log space request message of the first process.
  • the log space manager may first update the state in the lock resource of the preset mapping table to the locked state, thereby avoiding other processes accessing the preset mapping table at the same time when the first process accesses the preset mapping table.
  • the first process can be the process that competes for the lock resource first, or it can be the first to send a log space request to the log space manager The progress of the message.
  • step 205 the log space manager determines whether the first log space corresponding to the first thread exists in the preset mapping table, if it does not exist, execute step 206, and if it exists, execute step 207.
  • the preset mapping table may store the corresponding relationship between the process identifier and the location information of the log space.
  • the log space manager may query the preset mapping table according to the identifier of the first process to determine whether there is a corresponding relationship with the first process. The ID matches the log space.
  • Step 206 The log space manager allocates a corresponding first log space for the first thread, and stores the corresponding relationship between the first thread and the first log space in a preset mapping table.
  • Step 207 The log space manager releases the locked state of the preset mapping table, and registers a callback function for the first thread.
  • the log space manager After the log space manager obtains the first log space corresponding to the first thread, it can update the state in the lock resource of the preset mapping table to an unlocked state. In this way, if there are other processes waiting for the preset mapping table, Then the log space manager can wake up other processes.
  • the callback function may be a piece of software program preset in the node, and the callback function is used to instruct the process to release the log space corresponding to the process before exiting.
  • the callback function can monitor the running status of the first thread in real time. If it is determined that the first thread has processed all the corresponding transactions, it can trigger the first thread to release the first log Resources occupied by space.
  • Step 208 The log space manager sends the location information of the first log space to the first thread.
  • the position information of the first log space may refer to the start position and the end position of the space range occupied by the first log space in the initial storage space.
  • step 209 the first thread determines whether there is an unprocessed first transaction, if it exists, execute step 210, if it does not exist, execute step 213.
  • the identification of the process, the identification of the transaction corresponding to the process, and the processing status of the transaction can be stored in the common thread pool, and the processing status of the transaction can be any of unprocessed, processed, and abnormal. Therefore, after receiving the location information of the corresponding log space, the first thread can query the public thread pool to determine whether there are unprocessed transactions.
  • Step 210 The first thread starts to execute the first transaction, and records the starting position of the first operation information of the first transaction in the first log space corresponding to the first thread or the log corresponding to the last transaction in the first thread The location where the last piece of operation information in the space is located; and, during the execution of the first transaction, the first thread uses the first log space corresponding to the first thread to record the operation on the preset database during the execution of the first transaction information.
  • Step 211 in the process of executing the first transaction, the first thread determines whether the first transaction is abnormal, if it is abnormal, execute step 212, and if there is no abnormality, execute step 209.
  • Step 212 Obtain each operation information of the first transaction from the first log space corresponding to the first thread, perform a rollback on the preset database according to the reverse order of the position of each operation information, and execute the step after the rollback is completed 209.
  • the first thread when the first transaction is abnormal, can obtain the latest piece of operation information from the first log space corresponding to the first thread. If the first thread records the starting position of the first transaction, the first thread It can be judged whether the position of the piece of operation information is greater than or equal to the starting position, and if the position of the piece of operation information is greater than or equal to the starting position, a reverse operation can be performed on the preset database according to the piece of operation information .
  • the last piece of operation information of the piece of operation information is obtained, and it is determined whether the position of the last piece of operation information is greater than or equal to the starting position, if the position of the last piece of operation information is If it is less than the starting position, it can be determined that the rollback is completed; accordingly, if the position of the previous operation information is greater than or equal to the starting position, the reverse operation can be performed on the preset database according to the previous operation information, and This process is repeated until the position of the operation information is smaller than the starting position.
  • the first thread can determine whether the location of the piece of operation information is greater than the termination location, and if the location of the piece of operation information is greater than the termination location, Then you can perform a reverse operation on the preset database according to the piece of operation information.
  • the last piece of operation information of the piece of operation information is obtained, and it is determined whether the position of the last piece of operation information is greater than the termination position, and if the position of the last piece of operation information is less than or equal to According to the termination position, the rollback can be determined to be completed; accordingly, if the location of the last operation information is greater than the termination position, the reverse operation can be performed on the preset database according to the previous operation information, and the process can be repeated until The position where the operation information is located is less than or equal to the end position.
  • Step 213 The first thread executes the callback function, releases the resources occupied by the first log space, and exits.
  • step 207 because the log space manager registers the callback function with the first thread, the callback function monitors the state of the first process at all times. Therefore, when all transactions corresponding to the first thread are executed, the first thread can trigger the callback Function so that the callback function releases the resources occupied by the first log space corresponding to the first process. In this way, it can be ensured that the resources occupied by the first log space corresponding to the first process are released while the first process exits, thereby reducing the resource occupancy rate and improving the processing efficiency of the system.
  • any node in the blockchain system determines the first log space corresponding to the first process when the first transaction processed by the first process is abnormal; wherein, the first log space is used to record the first transaction.
  • the operation information of a process on the preset database in the process of processing transactions; the log space allocated by the node for each parallel process is different; further, the node obtains each operation information of the first transaction from the first log space, and based on the first log space
  • Each operation information of the transaction performs a rollback operation on the preset database.
  • each process corresponds to a log space.
  • the operation information of the transaction is stored sequentially according to the processing order of the transaction; in this way, if the transaction currently processed by the process is abnormal, the node can quickly obtain the operation information of the abnormal transaction by querying the log space corresponding to the process, which can be based on The operation information of the abnormal transaction is accurately rolled back to the preset database to improve the accuracy of transaction processing.
  • an embodiment of the present invention also provides a transaction processing device based on a blockchain system.
  • the specific content of the device can be implemented with reference to the foregoing method.
  • Figure 3 is a schematic structural diagram of a transaction processing device based on a blockchain system provided by an embodiment of the present invention, including:
  • the determining module 301 is configured to determine the first log space corresponding to the first process when the first transaction processed by the first process is abnormal; wherein, the first log space is used to record that the first process is processing the transaction The operation information of the preset database during the process; the log space allocated by the device for each parallel process is different;
  • the obtaining module 302 is configured to obtain various operation information of the first transaction from the first log space;
  • the processing module 303 is configured to perform a rollback operation on the preset database based on each operation information of the first transaction.
  • the obtaining module 302 is further configured to: obtain the first log space corresponding to the first process from a preset mapping table;
  • the processing module 303 is further configured to: use the first log space to record the operation information of the first process on the preset database in the process of processing the first transaction;
  • the processing module 303 is further configured to: allocate the first log space for the first process A log space, and the corresponding relationship between the first process and the first log space is added to the preset mapping table.
  • the determining module 301 is further configured to:
  • the preset mapping table is in an unlocked state; the unlocked state is used to indicate that no process currently uses the preset mapping table.
  • the processing module 303 is specifically configured to: record the initial position of the first piece of operation information in the first log space of the first transaction or record the second transaction in the first log space The termination location where the last piece of operation information is located; the second transaction is a transaction processed by the first process before the first transaction is processed;
  • the acquiring module 302 is specifically configured to: determine each operation information of the first transaction according to the location of the latest piece of operation information in the first log space and the initial location when the first transaction is abnormal; or, The node determines each operation information of the first transaction according to the position of the latest piece of operation information in the first log space when the first transaction is abnormal and the termination position.
  • processing module 303 is further configured to:
  • the resources occupied by the first log space are released.
  • any node in the blockchain system determines the first log space corresponding to the first process when the first transaction processed by the first process is abnormal;
  • a log space is used to record the operation information of the first process on the preset database in the process of processing transactions; the log space allocated by the node for each parallel process is different; further, the node obtains each of the first transaction from the first log space Operation information, and roll back the preset database based on each operation information of the first transaction.
  • each process corresponds to a log space.
  • the operation information of the transaction is stored sequentially according to the processing order of the transaction; in this way, if the transaction currently processed by the process is abnormal, the node can quickly obtain the operation information of the abnormal transaction by querying the log space corresponding to the process, which can be based on The operation information of the abnormal transaction is accurately rolled back to the preset database to improve the accuracy of transaction processing.
  • an embodiment of the present invention also provides a computing device, including at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit , So that the processing unit executes any method described in FIG. 1 or FIG. 2 above.
  • an embodiment of the present invention also provides a computing device for executing a method of a data processing system in any embodiment of the present invention, and may include a memory 401 and a processor 402.
  • the memory 401 is configured to store a computer program executed by the processor 402.
  • the memory 401 may mainly include a program storage area and a data storage area.
  • the program storage area may store an operating system, an application program required for at least one function, and the like; the data storage area may store data created according to the use of a computing device.
  • the processor 402 may be a central processing unit (central processing unit, CPU), or a digital processing unit, and so on.
  • the embodiment of the present invention does not limit the specific connection medium between the foregoing memory 401 and the processor 402.
  • the memory 401 and the processor 402 are connected through a bus 403, and the bus 403 is represented by a thick line in FIG. 4.
  • the connection mode between other components is only for schematic illustration, not Limited.
  • the bus 403 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in FIG. 4 to represent it, but it does not mean that there is only one bus or one type of bus.
  • the memory 401 may be a volatile memory (volatile memory), such as a random-access memory (RAM); the memory 401 may also be a non-volatile memory (non-volatile memory), such as a read-only memory, flash Flash memory, hard disk drive (HDD) or solid-state drive (SSD), or memory 401 can be used to carry or store desired program codes in the form of instructions or data structures and can be used by Any other medium accessed by the computer, but not limited to this.
  • the memory 401 may be a combination of the above-mentioned memories.
  • the processor 402 is configured to execute the data processing method based on the blockchain system provided by the embodiment of the present invention when calling the computer program stored in the memory 401.
  • the embodiments of the present invention may be provided as methods or computer program products. Therefore, the present invention may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • a computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un procédé et un dispositif de traitement de transaction basé sur un système de chaîne de blocs. Ledit procédé comprend : un nœud déterminant un premier espace de journal correspondant au premier processus lorsqu'une première transaction traitée par un premier processus est anormale, acquiert, à partir du premier espace de journal, des informations d'opération de la première transaction, et effectue une opération de retour en arrière sur une base de données prédéfinie sur la base des informations de d'opération de la première transaction. Un traitement consiste à traiter une pluralité de transactions en série, et ainsi d'attribuer différents espaces de journal pour des traitements parallèles, l'espace de journal correspondant à chaque processus stocke séquentiellement des informations d'opération de la transaction traitée ; de cette manière, le nœud peut acquérir rapidement des informations d'opération d'une transaction anormale par interrogation de l'espace de journal correspondant au traitement, améliore la précision de la réalisation d'un retour en arrière sur la base de données prédéfinie sur la base des informations d'opération de la transaction anormale, et améliore la précision du traitement de transaction.
PCT/CN2020/109570 2019-08-15 2020-08-17 Procédé et dispositif de traitement de transaction basé sur un système de chaîne de blocs WO2021027956A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910752822.8 2019-08-15
CN201910752822.8A CN110473100B (zh) 2019-08-15 2019-08-15 一种基于区块链系统的交易处理方法及装置

Publications (1)

Publication Number Publication Date
WO2021027956A1 true WO2021027956A1 (fr) 2021-02-18

Family

ID=68511415

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/109570 WO2021027956A1 (fr) 2019-08-15 2020-08-17 Procédé et dispositif de traitement de transaction basé sur un système de chaîne de blocs

Country Status (2)

Country Link
CN (1) CN110473100B (fr)
WO (1) WO2021027956A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363162A (zh) * 2021-12-31 2022-04-15 支付宝(杭州)信息技术有限公司 区块链日志的生成方法及装置、电子设备、存储介质
CN115357664A (zh) * 2022-10-21 2022-11-18 北京航空航天大学 一种基于区块链的多向可信系统及数据查询方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110473100B (zh) * 2019-08-15 2023-07-11 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置
CN111046109B (zh) * 2019-12-27 2023-09-15 深圳市迅雷网络技术有限公司 一种跨链任务处理方法、装置、设备及可读存储介质
CN111210350A (zh) * 2020-01-03 2020-05-29 平安科技(深圳)有限公司 区块链的交易方法、装置、计算机设备及存储介质
CN111324425B (zh) * 2020-02-28 2023-03-31 百度在线网络技术(北京)有限公司 一种数据访问方法、装置、设备及存储介质
CN112016921B (zh) * 2020-03-03 2022-08-19 支付宝(杭州)信息技术有限公司 交易处理方法、装置及设备
CN112433885B (zh) * 2020-11-19 2021-09-10 腾讯科技(深圳)有限公司 区块链共识处理方法及装置、电子设备、存储介质
CN112835687B (zh) * 2021-01-22 2023-05-26 恒生电子股份有限公司 一种计算机事务处理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105278922A (zh) * 2015-09-29 2016-01-27 新浪网技术(中国)有限公司 一种数据分发方法、系统及装置
CN107391628A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据同步方法及装置
CN108537543A (zh) * 2018-03-30 2018-09-14 百度在线网络技术(北京)有限公司 区块链数据的并行处理方法、装置、设备和存储介质
CN108804112A (zh) * 2018-05-22 2018-11-13 上海分布信息科技有限公司 一种区块链落账处理方法及系统
US20190182284A1 (en) * 2016-08-16 2019-06-13 Alcatel Lucent Blockchain-based security threat detection method and system
CN110473100A (zh) * 2019-08-15 2019-11-19 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63307551A (ja) * 1987-06-08 1988-12-15 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法
US8296271B1 (en) * 2005-03-28 2012-10-23 Federal Home Loan Mortgage Corporation System and method for optimizing data recovery in a parallel database
US9183200B1 (en) * 2012-08-02 2015-11-10 Symantec Corporation Scale up deduplication engine via efficient partitioning
CN105868391B (zh) * 2012-09-25 2019-06-04 北京奇虎科技有限公司 一种日志记录的方法和装置
CN110019050A (zh) * 2017-10-19 2019-07-16 中兴通讯股份有限公司 一种数据回滚方法、系统、设备及计算机可读存储介质
CN110111147A (zh) * 2019-05-07 2019-08-09 上海哈蜂信息科技有限公司 一种基于信任评估机制与回滚交易的商场积分方法及实现所述方法的系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105278922A (zh) * 2015-09-29 2016-01-27 新浪网技术(中国)有限公司 一种数据分发方法、系统及装置
US20190182284A1 (en) * 2016-08-16 2019-06-13 Alcatel Lucent Blockchain-based security threat detection method and system
CN107391628A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据同步方法及装置
CN108537543A (zh) * 2018-03-30 2018-09-14 百度在线网络技术(北京)有限公司 区块链数据的并行处理方法、装置、设备和存储介质
CN108804112A (zh) * 2018-05-22 2018-11-13 上海分布信息科技有限公司 一种区块链落账处理方法及系统
CN110473100A (zh) * 2019-08-15 2019-11-19 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363162A (zh) * 2021-12-31 2022-04-15 支付宝(杭州)信息技术有限公司 区块链日志的生成方法及装置、电子设备、存储介质
CN114363162B (zh) * 2021-12-31 2024-05-03 支付宝(杭州)信息技术有限公司 区块链日志的生成方法及装置、电子设备、存储介质
CN115357664A (zh) * 2022-10-21 2022-11-18 北京航空航天大学 一种基于区块链的多向可信系统及数据查询方法

Also Published As

Publication number Publication date
CN110473100B (zh) 2023-07-11
CN110473100A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
WO2021027956A1 (fr) Procédé et dispositif de traitement de transaction basé sur un système de chaîne de blocs
JP2021521556A (ja) データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス
US8108587B2 (en) Free-space reduction in cached database pages
US8135688B2 (en) Partition/table allocation on demand
CN108509462B (zh) 一种同步活动事务表的方法及装置
US20130254240A1 (en) Method of processing database, database processing apparatus, computer program product
US20090063807A1 (en) Data redistribution in shared nothing architecture
WO2021057482A1 (fr) Procédé et dispositif de génération d'un filtre de bloom dans une chaîne de blocs
KR20070074836A (ko) 트랜잭션 처리를 위한 로그 정보 관리 시스템 및 방법
WO2017128028A1 (fr) Procédé et appareil de traitement de transaction
TW202109511A (zh) 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備
CN112416972A (zh) 实时数据流处理方法、装置、设备、及可读存储介质
US11983168B2 (en) Block verification method, apparatus and device
CN111159140A (zh) 数据处理方法、装置、电子设备及存储介质
JP2017027326A (ja) ストレージシステムおよびストレージシステム用プログラム
US20110099347A1 (en) Managing allocation and deallocation of storage for data objects
WO2021093323A1 (fr) Procédé et système de récupération de données, nœud de stockage de données et nœud de gestion de base de données
US11138231B2 (en) Method and system for data handling
CN109710698B (zh) 一种数据汇聚方法、装置、电子设备及介质
US20140149697A1 (en) Memory Pre-Allocation For Cleanup and Rollback Operations
US11940972B2 (en) Execution of operations on partitioned tables
CN106202271A (zh) Ota的产品数据库的读取方法
CN109508140B (zh) 存储资源管理方法、装置、电子设备及电子设备、系统
CN115563109A (zh) 一种LSM-tree存储的L0层数据处理方法及装置
WO2022002128A1 (fr) Procédé de lecture de données, procédé d'écriture de données, dispositif et système

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: 20851990

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20851990

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 05.08.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20851990

Country of ref document: EP

Kind code of ref document: A1