CA3141599A1 - Transaction log processing method, device and system - Google Patents
Transaction log processing method, device and system Download PDFInfo
- Publication number
- CA3141599A1 CA3141599A1 CA3141599A CA3141599A CA3141599A1 CA 3141599 A1 CA3141599 A1 CA 3141599A1 CA 3141599 A CA3141599 A CA 3141599A CA 3141599 A CA3141599 A CA 3141599A CA 3141599 A1 CA3141599 A1 CA 3141599A1
- Authority
- CA
- Canada
- Prior art keywords
- transaction
- storage
- global
- twistlock
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000003860 storage Methods 0.000 claims abstract description 117
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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/1805—Append-only file systems, e.g. using logs or journals to store data
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Disclosed in the present invention are a method, a device, and a system for transaction log processing. The described method comprises: storing a transaction log with acquiring storage location; recognizing a global transaction ID as the only identification for a transaction submission; joining the global transaction ID and the transaction storage location, then storing the global transaction ID according to the submission time of the transaction by serial storage, wherein the described storage location is to determine the transaction log associated with the global transaction ID. The technical strategies provided in the present invention permits a transaction log storage process wherein only the serial storage of the global transaction IDs is required and transaction logs can be stored in parallel, consequently to solve problems of slow read-in process and crushing in current technologies due to the large transaction log data volume with the serial storage of the transaction logs.
Description
TRANSACTION LOG PROCESSING METHOD, DEVICE AND SYSTEM
Technical Field [0001] The present invention is related to the field of database technologies, in particular, to a method, a device, and a system for transaction log processing.
Background
Technical Field [0001] The present invention is related to the field of database technologies, in particular, to a method, a device, and a system for transaction log processing.
Background
[0002] A transaction in a database is an operation sequencing of the database, as a non-separable work unit. Operations within the sequence should be executed all in once as the whole, or not executed as the whole. A transaction log is the documenting file generated when the transaction is processed, wherein a transaction log stores modifications, insertions, updates, deletions, submissions and rollbacks for the database and changes of database modes. In general, operations of the transactions are in chronological order. In order to keep the consistency of the transactions with the database, the transaction logs are stored in the magnetic disks according to the order of submission time, as known as the serial storage mechanism. When data volume is too large, the data read-in process is slowed down, more badly leading to system crush.
[0003] In order to solve the problems of slow data read-in process due to a large data volume, the current technology uses the cache technique, wherein the transaction logs are loaded in the content cache section, then write in the disks to reduce the pressure over the disks. On the other hand, the disk write-on operation is triggered ever time at the transaction submission to prevent large disk write-on data volume. However, the forementioned two methods significantly slowed down the read-in process for log data.
Summary
Summary
[0004] In order to solve the current technical problems, the present invention provides a method, a device and a system for transaction log processing. The technical strategy comprises:
[0005] From the first perspective, a transaction log processing method is provided, comprising:
Date Recue/Date Received 2021-09-24
Date Recue/Date Received 2021-09-24
[0006] storing a transaction log of a transaction with acquiring the storage location;
[0007] recognizing a global transaction ID of the described transaction, wherein the described global transaction ID is the only identification for a transaction submission;
and
and
[0008] joining the global transaction ID and the described transaction storage location, then storing the described global transaction ID according to the submission time of the described transaction by serial storage, wherein the described storage location is used to determine the described transaction log associated with the described global transaction ID.
[0009] Furthermore, the described transaction log is stored by parallel storage.
[0010] Furthermore, the described global transaction ID is stored according to the submission time of the described transaction by serial storage in a nonvolatile storage medium.
[0011] Furthermore, the described global transaction ID is obtained, comprising:
[0012] after initiating the described transaction, allocating a preliminary ID; and
[0013] after processing the described transaction and generating the described transaction log, the described preliminary ID is assigned as the global transaction ID when the submission of the described transaction is confirmed.
[0014] In particular, the described method also includes:
[0015] after initiating the described transaction, determining that if the self-twistlock is released;
[0016] where if the self-twistlock is not release, assigning the described preliminary ID in the waiting queue; and
[0017] where if the self-twistlock is released, accessing the self-twistlock;
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID
in a waiting queue.
Date Recue/Date Received 2021-09-24 After successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log.
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID
in a waiting queue.
Date Recue/Date Received 2021-09-24 After successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log.
[0018] In particular, the described method also includes:
[0019] after confirming not to submit the described transaction, determining that if the rollback operation is executed for the described transaction,
[0020] where if a rollback operation will be executed, executing the transaction rollback operation, and storing the rollback transaction log of the transaction obtained from the rollback operation.
[0021] In particular, the described method also includes:
[0022] after confirming the submission of the described transaction, accessing the described self-twistlock;
[0023] where if with the self-twistlock is successfully accessed, then storing the described global transaction ID according to the submission time of the described transaction by serial storage, and releasing the described self-twistlock after completing the storage.
[0024] From the second perspective, a transaction log processing device is provided, comprising
[0025] a transaction log storage module, configured to store the transaction logs and acquiring the storage locations;
[0026] a global transaction ID recognition module, configured to recognize a global transaction ID of the described transaction, wherein the described global transaction ID
is the only identification for a transaction submission;
is the only identification for a transaction submission;
[0027] a joining module, configured to join the described global transaction ID and the described transaction storage location, wherein the described storage location is used to determine the described transaction log associated with the described global transaction ID; and Date Recue/Date Received 2021-09-24
[0028] an ID storage module, configured to store the described global transaction ID according to the submission time of the described transaction by serial storage.
[0029] In particular, a storage module for the described transaction log is used for storing the described transaction logs by parallel storage.
[0030] In particular, a storage module for the described transaction log is a nonvolatile storage medium.
[0031] In particular, the described device also includes:
[0032] a global transaction ID acquisition module, configured to allocate a preliminary ID after initiating the described transaction; and after processing the described transaction and generating the described transaction log, assigning the described preliminary ID as the global transaction ID
when the submission of the described transaction is confirmed.
when the submission of the described transaction is confirmed.
[0033] In particular, the described device also includes:
[0034] a self-twistlock management module, configured to determine that if the self-twistlock is released and accessing the self-twistlock after initiating the described transaction;
[0035] a preliminary ID management module, assigning the described preliminary ID in the waiting queue where if the self-twistlock is not release; and
[0036] where if the self-twistlock is released, accessing the self-twistlock;
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID
in a waiting queue.
After successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log.
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID
in a waiting queue.
After successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log.
[0037] In particular, the described device also includes:
[0038] a transaction rollback log storage module, configured to confirm not to submit the described transaction, where if a rollback operation will be executed, executing the transaction Date Recue/Date Received 2021-09-24 rollback operation, and storing the rollback transaction log of the transaction obtained from the rollback operation.
[0039] In particular, the described self-twistlock management module is also configured to access the described self-twistlock after confirming the submission of the described transaction, then storing the described global transaction ID according to the submission time of the described transaction by serial storage, and releasing the described self-twistlock after completing the storage.
[0040] From the third perspective, a computer system is provided, comprising:
[0041] one or more processors; and
[0042] a storage medium related to the described one or more processors, configured to store the program commands. When the described program commands are executed by the described one or more processors, any of the forementioned methods in the first perspective are performed.
[0043] The technical strategies in the present invention result in the benefits of:
[0044] The present invention allows the separate storage of transaction logs and the global transaction IDs of the transactions, and joins the transaction log storage locations with the global transaction IDs so as to direct global transaction IDs to the corresponding transaction logs.
Consequently, when the transaction logs are stored, the global transaction IDs can be stored by the serial storage. The transaction logs can be stored by the parallel storage, to solve the problems of slow read-in process and crushing by the current technologies due to a large transaction log data volume associated with the serial storage of the transaction logs.
Brief description of the drawings
Consequently, when the transaction logs are stored, the global transaction IDs can be stored by the serial storage. The transaction logs can be stored by the parallel storage, to solve the problems of slow read-in process and crushing by the current technologies due to a large transaction log data volume associated with the serial storage of the transaction logs.
Brief description of the drawings
[0045] In order to make the technical strategies of the present invention clearer, the accompany drawings for the present invention will be briefly introduced below.
Obviously, the following drawings in the descriptions are only a portion of embodiments of the present invention. Those skilled in the art are able to generate other configurations according to the provided drawings without requiring any creative works.
Date Recue/Date Received 2021-09-24
Obviously, the following drawings in the descriptions are only a portion of embodiments of the present invention. Those skilled in the art are able to generate other configurations according to the provided drawings without requiring any creative works.
Date Recue/Date Received 2021-09-24
[0046] Fig. 1 is a flow diagram of the transaction log processing method in an embodiment of the present invention.
[0047] Fig. 2 is a flow diagram of the global transaction ID processing method in an embodiment of the present invention.
[0048] Fig. 3 is a structure diagram of the transaction log processing device in an embodiment of the present invention.
[0049] Fig. 4 is a structure diagram of the computer system in an embodiment of the present invention.
Detailed descriptions
Detailed descriptions
[0050] In order to make the objective, the technical scheme, and the advantages of the present invention clearer, the present invention will be explained further in detail precisely below with references to the accompany drawings. Obviously, the embodiments described below are only a portion of embodiments of the present invention and cannot represent all possible embodiments.
Based on the embodiments in the present invention, the other applications by those skilled in the art without any creative works are falling within the scope of the present invention.
Based on the embodiments in the present invention, the other applications by those skilled in the art without any creative works are falling within the scope of the present invention.
[0051] According to the background introduction, a transaction is an operation sequence for the database. Each of the operation in the transaction follow the chronological order.
Mismatching of the order will lead to inconsistency of the transactions with the database. For example, A deposits 1000 dollars in his own account, then withdraws 1000 dollars, wherein the deposit is performed before the withdrawal. In another case, the operation sequence is switched to that A withdraws 1000 dollars then deposits 1000 dollars, indicating that the account balance for the two different operations should have different value at a certain time point. Based on the chronological order of the operations, the transaction log should also follow the chronological order. To ensure the transaction logs to be stored chronologically, the transactions should be written on the disks by serial storage according to the submission time of the transactions.
Date Recue/Date Received 2021-09-24
Mismatching of the order will lead to inconsistency of the transactions with the database. For example, A deposits 1000 dollars in his own account, then withdraws 1000 dollars, wherein the deposit is performed before the withdrawal. In another case, the operation sequence is switched to that A withdraws 1000 dollars then deposits 1000 dollars, indicating that the account balance for the two different operations should have different value at a certain time point. Based on the chronological order of the operations, the transaction log should also follow the chronological order. To ensure the transaction logs to be stored chronologically, the transactions should be written on the disks by serial storage according to the submission time of the transactions.
Date Recue/Date Received 2021-09-24
[0052] In order to distinguish different transactions, the global transaction IDs are allocated to the transactions indicating the uniqueness of the transactions. In the current technologies, one transaction log carries one global transaction ID, and the transaction log is stored with the global transaction IDs at the same storage location. As a result, when the transaction logs carry a large data volume, the transaction serial storage process is slowed down to further affect the database operations. However, the serial storage of transactions guarantees the chronological sequence of the transaction operations. Hence, the technical strategies in the present invention are aiming at the parallel storage of the transaction logs and also guarantees the consistency of the transactions and the database. The forementioned method comprises:
[0053] A transaction log processing method as shown in Fig 1, comprising:
[0054] Si: storing the transaction log of a transaction with acquiring the storage location.
[0055] The forementioned transaction log corresponds to the transaction, and the storage location includes the detailed storage location information of the transaction log.
[0056] In an embodiment of the present invention, in order to improve the performance of the transaction log storage, the present invention adopts the parallel storage for storing transaction logs, wherein the chronological sequence is no longer required for the transaction log storage.
[0057] S2: recognizing a global transaction ID of the described transaction, wherein the described global transaction ID is the only identification for a transaction submission.
[0058] The forementioned global transaction ID can be the preliminary ID
allocated for the transaction, as a unique coding sequence. Recognition of the global transaction ID is used to separate the global transaction ID from the transaction log, and to store the global transaction ID
separately from the transaction log.
allocated for the transaction, as a unique coding sequence. Recognition of the global transaction ID is used to separate the global transaction ID from the transaction log, and to store the global transaction ID
separately from the transaction log.
[0059] To clarify, the order of step 1 and step 2 is interchangeable in the embodiments of the present invention. The present invention does not restrict the order of the two steps.
[0060] S3: joining the global transaction ID and the transaction storage location, then storing the global transaction ID according to the submission time of the transaction by serial storage, Date Recue/Date Received 2021-09-24 wherein the storage location is used to determine the transaction log associated with the global transaction ID.
[0061] The operation of joining the global transaction ID and the transaction storage location can be achieve by at least two methods:
[0062] the first method is to join the global transaction ID and the transaction storage location into one item, in particular, to assign the transaction location after the global transaction ID.
[0063] The second method is to generate the mapping of the global transaction ID and the transaction storage location. The storage location can be located according to the global transaction ID via the mapping, then the associated transaction log is also located. In this method, joining the global transaction ID and the transaction storage location into one item is not required, to achieve the aim of the present invention of storing the transaction logs and guaranteeing the consistency of the transactions and the database.
[0064] The forementioned step Si ¨ S3 allows the separate storage of the transaction logs and the global transaction IDs. In particular, step S3, wherein the global transaction ID is stored according to the submission time of the transaction by the serial storage, is able to accurately identify the associated transaction logs according to the global transaction IDs. Consequently, although the transaction logs are not stored by serial storage in step Si, the chronological sequence of the transactions can still be identified by the global transaction ID, so as to achieve the aim of the present invention of storing the transaction logs and to guarantee the consistency of the transactions and the database.
[0065] In an embodiment of the present invention, the global transaction ID is stored according to the submission time of the transaction by serial storage in a nonvolatile storage medium.
[0066] A nonvolatile storage medium is memory that will not lose data if the computer is shut down, or accidentally shut down in a sudden. In an embodiment of the present invention, the global transaction IDs occupies little storage room. Hence, a nonvolatile storage medium with intermediate storage capacity can be used to reduce the costs for practical applications of the present invention.
Date Recue/Date Received 2021-09-24
Date Recue/Date Received 2021-09-24
[0067] In particular, the nonvolatile storage media allows the access via storage location queries, using byte as the operating unit. Comparing to the traditional database management system with minimum 4k bytes as the operating unit, using the nonvolatile storage media can significantly improve the system performance and efficiency. The transaction logs and the global transaction IDs should be stored separately in different partitions.
[0068] In an embodiment of the present invention, before step Si, the embodiment of the present invention also includes:
[0069] allocating a preliminary ID after initiating the transaction.
[0070] After processing the transaction and generating the transaction log, the preliminary ID
is assigned as the global transaction ID when the submission of the transaction is confirmed.
is assigned as the global transaction ID when the submission of the transaction is confirmed.
[0071] The forementioned transaction initiation implies the generation of the transaction, and the transaction processing is to process the generated transactions. Each preliminary ID
corresponds to one transaction uniquely. If the transaction is confirmed to be not submitted, the preliminary ID is abandoned.
corresponds to one transaction uniquely. If the transaction is confirmed to be not submitted, the preliminary ID is abandoned.
[0072] In an embodiment of the present invention, after the transaction initiation and before the transaction processing, the embodiment of the present invention also includes:
[0073] determining that if the self-twistlock is released;
[0074] where if the self-twistlock is not release, assigning the preliminary ID in a waiting queue; and
[0075] where if the self-twistlock is released, accessing the self-twistlock;
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID
in a waiting queue.
After successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log.
Date Recue/Date Received 2021-09-24
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID
in a waiting queue.
After successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log.
Date Recue/Date Received 2021-09-24
[0076] The forementioned self-twistlock implies the process that the thread will get in a waiting loop and keep determining that if the lock can be successfully accessed when a thread is accessing a lock with the lock been accessed by other threads. The thread is only able to end the waiting loop once the lock is accessed. In the present embodiment with the conflict data access during the transaction processing, the process is controlled by the lock management mechanisms of the relational database. The order of transaction initiations does not affect the consistency of the transactions. Hence, the preliminary IDs can be written in the waiting queue in a separate step, to speed up the process once the self-twistlock is successful accessed and released.
[0077] In an embodiment of the present invention, after confirming not to submit the described transaction, the embodiment of the present invention also includes:
[0078] after confirming not to submit the transaction, determining that if the rollback operation is executed for the transaction, where if a rollback operation will be executed, executing the transaction rollback operation, and storing the rollback transaction log of the transaction obtained from the rollback operation.
[0079] The forementioned rollback implies the process of reversely executing the transactions and recover the operation for the transactions before being processed. In detail, the forementioned method also includes storing the transaction logs generated by the transaction processing where if the transaction does not rollback, and keeping determining that if the transaction is submitted until the transaction is submitted or rollbacks.
[0080] In an embodiment of the present invention, the forementioned method also includes:
[0081] accessing the self-twistlock after confirming the submission of the transaction; and
[0082] where if with the self-twistlock is successfully accessed, then storing the described global transaction ID according to the submission time of the described transaction by serial storage, and releasing the described self-twistlock after completing the storage.
[0083] In Fig 2, the procedures for processing the global transaction ID by the technical strategies of combining the forementioned embodiments are provided. In particular:
Date Recue/Date Received 2021-09-24
Date Recue/Date Received 2021-09-24
[0084] transaction initiation (in the meanwhile allocating the preliminary ID
for the transaction);
for the transaction);
[0085] determining that if the self-twistlock is released, where if the self-twistlock is released, accessing the self-twistlock, and where if the self-twistlock is not release, assigning the described preliminary ID in a waiting queue; and
[0086] where if the self-twistlock is successfully accessed, storing the described preliminary ID;
[0087] where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID in a waiting queue. After successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log;
[0088] processing the transaction and generating the transactions after releasing the self-twistlock; and
[0089] determining that if the transaction is to be submitted, where if the transaction is to be submitted, the self-twistlock is accessed; where if the access of self-twistlock is failed, keeping attempting the process of accessing self-twistlock; where if the self-twistlock is accessed successfully, the preliminary ID is assigned to the global transaction ID and stored in the ID
storage according to the transaction submission time, followed by releasing the self-twistlock, indicating the completion of the rollback and the transaction.
storage according to the transaction submission time, followed by releasing the self-twistlock, indicating the completion of the rollback and the transaction.
[0090] Where if the transaction is not to be submitted, determining that if the rollback operation is executed for the described transaction, where if a rollback operation will be executed, executing the transaction rollback operation, and storing the rollback transaction log of the transaction obtained from the rollback operation, indicating the completion of the rollback and the transaction.
[0091] As shown in Fig. 3, based on the transaction log processing method in the present invention, a transaction log processing device is also provided in the present invention, comprising:
Date Recue/Date Received 2021-09-24
Date Recue/Date Received 2021-09-24
[0092] a transaction log storage module 301, configured to store the transaction logs and acquiring the storage locations.
[0093] A global transaction ID recognition module 302, configured to recognize a global transaction ID of the described transaction, wherein the described global transaction ID is the only identification for a transaction submission.
[0094] A joining module 303, configured to join the global transaction ID and the transaction storage location, wherein the storage location is used to determine the transaction log associated with the global transaction ID.
[0095] An ID storage module 304, is configured to store the global transaction ID according to the submission time of the transaction by serial storage.
[0096] The forementioned transaction log storage module 301 and the ID storage module 304 can be two individual storage areas on one memory unit, or two separate storage devices.
[0097] The joining module 303 involves at least two operating methods:
[0098] The first method is to join the global transaction ID and the transaction storage location into one item, in particular, to assign the transaction location after the global transaction ID.
Hereby the storage locations are stored by the serial storage when the global transaction IDs are stored.
Hereby the storage locations are stored by the serial storage when the global transaction IDs are stored.
[0099] The second method is to generate the mapping of the global transaction ID and the transaction storage location. The storage location can be located according to the global transaction ID via the mapping, then the associated transaction log is also located. In this method, joining the global transaction ID and the transaction storage location into one item is not required.
Particularly, the joining module 303 can store the mapping table of the global transaction IDs and the storage locations.
Particularly, the joining module 303 can store the mapping table of the global transaction IDs and the storage locations.
[0100] In an embodiment of the present invention, in particular, the transaction log storage module is configured to store transaction logs by parallel storage.
Date Recue/Date Received 2021-09-24
Date Recue/Date Received 2021-09-24
[0101] In an embodiment of the present invention, in particular, the transaction log storage module is a nonvolatile storage medium.
[0102] In an embodiment of the present invention, the forementioned device also includes:
[0103] a global transaction ID acquisition module, configured to allocate a preliminary ID after initiating the transaction; and after processing the transaction and generating the transaction log, assigning the described preliminary ID as the global transaction ID when the submission of the described transaction is confirmed.
[0104] In an embodiment of the present invention, the forementioned device also includes:
[0105] a self-twistlock management module, configured to, after processing the described transaction, determine that if the self-twistlock is released and access the self-twistlock;
[0106] a preliminary ID management module, configured to, after processing the described transaction, where if the self-twistlock is not release, then assign the preliminary ID in a waiting queue; and
[0107] where if the self-twistlock is released, access the self-twistlock;
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assign the described preliminary ID in a waiting queue, after successfully accessing the described self-twistlock, process the described transaction and generate the described transaction log.
then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assign the described preliminary ID in a waiting queue, after successfully accessing the described self-twistlock, process the described transaction and generate the described transaction log.
[0108] In an embodiment of the present invention, the forementioned device also includes:
[0109] a transaction rollback log storage module, configured to confirm not to submit the described transaction, where if a rollback operation will be executed, execute the transaction rollback operation, and store the rollback transaction log of the transaction obtained from the rollback operation.
[0110] In an embodiment of the present invention, particularly the forementioned the self-twistlock management module is also configured to access the self-twistlock after confirming the Date Recue/Date Received 2021-09-24 submission of the transaction, then store the global transaction ID according to the submission time of the transaction by serial storage, and release the self-twistlock after completing the storage.
[0111] Based on the forementioned methods, a computer system is also provided by the present invention, comprising
[0112] one or more processors; and
[0113] a storage medium related to the described one or more processors, configured to store the program commands, when the described program commands are executed by the described one or more processors, any of the forementioned transaction log processing methods are performed.
[0114] In particular, a schematic of the computer system structure, shown in Fig. 4, comprises a processor 410, a video display adaptor 411, a disk driver 412, an input/output connection port 413, an internet connection port 414, and a memory 420. The forementioned processor 410, video display adaptor 411, disk driver 412, input/output connection port 413, and internet connection port 414 are connected and communicated via the system bus control 430.
[0115] In particular, the processor 410 can adopt a universal CPU (central processing unit), a microprocessor, an ASIC (application specific integrated circuit) or the use of one or more integrated circuits. The processor is used for executing associated programmes to achieve the technical strategies provided in the present invention.
[0116] The memory 420 can adopt a read-only memory (ROM), a random access memory (RAM), a static memory, a dynamic memory, etc. The memory 420 is used to store the operating system 421 for controlling the electronic apparatus 400, and the basic input output system (BIOS) 422 for controlling the low-level operations of the electronic apparatus 400.
In the meanwhile, the memory can also store the internet browser 424, data storage management system 424, the device label information processing system 425, etc. The described device label information processing system 425 can be a program to achieve the forementioned methods and procedures in the present invention. In summary, when the technical strategies are performed via software or Date Recue/Date Received 2021-09-24 hardware, the codes for associated programs are stored in the memory 420, then called and executed by the processor 410.
In the meanwhile, the memory can also store the internet browser 424, data storage management system 424, the device label information processing system 425, etc. The described device label information processing system 425 can be a program to achieve the forementioned methods and procedures in the present invention. In summary, when the technical strategies are performed via software or Date Recue/Date Received 2021-09-24 hardware, the codes for associated programs are stored in the memory 420, then called and executed by the processor 410.
[0117] The input/output connection port 413 is used to connect with the input/output modules for information input and output. The input/output modules can be used as components that are installed in the devices (not included in the drawings), or can be externally connected to the devices to provide the described functionalities. In particular, the input devices may include keyboards, mouse, touch screens, microphones, various types of sensors, etc.
The output devices may include monitors, speakers, vibrators, signal lights, etc.
The output devices may include monitors, speakers, vibrators, signal lights, etc.
[0118] The internet connection port 414 is used to connect with a communication module (not included in the drawings), to achieve the communication and interaction between the described device and other equipment. In particular, the communication module may be connected by wire connection (such as USB cables or internet cables), or wireless connection (such as mobile data, WIFI, Bluetooth, etc.)
[0119] The system bus control 430 include a path to transfer data across each component of the device (such as the processor 410, the video display adaptor 411, the disk driver 412, the input/output connection port 413, the internet connection port 414 and the memory 420).
[0120] Besides, the described electronic device 400 can access the collection condition information from the collection condition information database 441 via a virtual resource object, so as for conditional statements and other purposes.
[0121] To clarify, although the schematic of the forementioned device only includes the processor 410, the video display adaptor 411, the disk driver 412, the input/output connection port 413, the internet connection port 414, the memory 420 and the system bus control 430, the practical applications may include the other necessary components to achieve successful operations. It is comprehensible for those skilled in the art that the structure of the device may comprise of less components than that in the drawings, to achieve successful operations.
[0122] By the forementioned descriptions of the applications and embodiments, those skilled in the art can understand that the present invention can be achieve by combination of software and Date Recue/Date Received 2021-09-24 necessary hardware platforms. Based on this concept, the present invention is considered as providing the technical benefits in the means of software products. The mentioned computer software products are be stored in the storage media such as ROM/RAM, magnetic disks, compact disks, etc. The mentioned computer software products also include using several commands to have a computer device (such as a personal computer, a server, or a network device) to perform portions of the methods described in each or some of the embodiments in the present invention.
[0123] The embodiments in the description of the present invention are explained step-by-step.
The similar contents can be referred amongst the embodiments, while the differences amongst the embodiments are emphasized. In particular, the system and the corresponding embodiments have similar contents to the method embodiments. Hence, the system and the corresponding embodiments are described concisely, and the related contents can be referred to the method embodiments. The described system and system embodiments are for demonstration only, where the components that are described separately can be physically separated or not. The components shown in individual units can be physical units or not. In other words, the mentioned components can be at a single location or distributed onto multiple network units. All or portions of the modules can be used to achieve the purposes of embodiments of the present invention based on the practical scenarios. Those skilled in the art can understand and apply the associated strategies without creative works.
The similar contents can be referred amongst the embodiments, while the differences amongst the embodiments are emphasized. In particular, the system and the corresponding embodiments have similar contents to the method embodiments. Hence, the system and the corresponding embodiments are described concisely, and the related contents can be referred to the method embodiments. The described system and system embodiments are for demonstration only, where the components that are described separately can be physically separated or not. The components shown in individual units can be physical units or not. In other words, the mentioned components can be at a single location or distributed onto multiple network units. All or portions of the modules can be used to achieve the purposes of embodiments of the present invention based on the practical scenarios. Those skilled in the art can understand and apply the associated strategies without creative works.
[0124] The technical strategies in the present invention result in the benefits of:
[0125] The present invention allows the separate storage of transaction logs and the global transaction IDs of the transactions, and joins the transaction log storage locations with the global transaction IDs so as to direct global transaction IDs to the corresponding transaction logs.
Consequently, when the transaction logs are stored, the global transaction IDs can be stored by the serial storage. The transaction logs can be stored by the parallel storage, to solve the problems of slow read-in process and crushing by the current technologies due to a large transaction log data volume associated with the serial storage of the transaction logs.
Date Recue/Date Received 2021-09-24
Consequently, when the transaction logs are stored, the global transaction IDs can be stored by the serial storage. The transaction logs can be stored by the parallel storage, to solve the problems of slow read-in process and crushing by the current technologies due to a large transaction log data volume associated with the serial storage of the transaction logs.
Date Recue/Date Received 2021-09-24
[0126] The described technical strategies can be adopted by all possible combinations to generate possible embodiments of the present invention, and will not be discussed in further detail.
[0127] The forementioned contents of preferred embodiments of the present invention shall not limit the applications of the present invention. Therefore, all alternations, modifications, equivalence, improvements of the present invention fall within the scope of the present invention.
Date Recue/Date Received 2021-09-24
Date Recue/Date Received 2021-09-24
Claims (10)
- I. A transaction log processing method comprises:
storing a transaction log for a transaction with acquiring the storage location;
recognizing a global transaction ID of the described transaction, wherein the described global transaction ID is the only identification for a transaction submission; and joining the described global transaction ID and the described transaction storage location, then storing the described global transaction ID according to the submission time of the described transaction by serial storage, wherein the described storage location is used to determine the described transaction log associated with the described global transaction ID. - 2. The method of claim 1 is characterized by adopting the parallel storage for the transaction logs.
- 3. The method of claim 1 is characterized by storing the described global transaction ID
according to the submission time of the described transaction by serial storage in a nonvolatile storage medium. - 4. Any method of claims 1-3, wherein the global transaction ID is obtained, comprises:
after initiating the described transaction, allocating a preliminary ID; and after processing the described transaction and generating the described transaction log, the described preliminary ID is assigned as the global transaction ID when the submission of the described transaction is confirmed. - 5. The method of claim 4 also comprises:
after initiating the described transaction, determining that if the self-twistlock is released;
where if the self-twistlock is not release, assigning the described preliminary ID in a waiting queue; and Date Recue/Date Received 2021-09-24 where if the self-twistlock is released, accessing the self-twistlock; then where if the self-twistlock is successfully accessed, storing the described preliminary ID, or where if the self-twistlock is accessed unsuccessfully, assigning the described preliminary ID
in a waiting queue;
after successfully accessing the described self-twistlock, processing the described transaction and generating the described transaction log. - 6. The method of claim 4 also comprises:
after confirming not to submit the described transaction, determining that if the rollback operation is executed for the described transaction, where if a rollback operation will be executed, executing the transaction rollback operation, and storing the rollback transaction log of the transaction obtained from the rollback operation. - 7. The method of claim 5 also comprises:
after confirming the submission of the described transaction, accessing the described self-twistlock; and where if with the self-twistlock is successfully accessed, then storing the described global transaction ID according to the submission time of the described transaction by serial storage, and releasing the described self-twistlock after completing the storage. - 8. A transaction log processing device comprises:
a transaction log storage module, configured to store a transaction log for a transaction and acquiring the storage location;
a global transaction ID recognition module, configured to recognize a global transaction ID
of the described transaction, wherein the described global transaction ID is the only identification for transaction submission;
Date Recue/Date Received 2021-09-24 a joining module, configured to join the described global transaction ID and the described transaction storage location, wherein the described storage location is used to determine the described transaction log associated with the described global transaction ID;
and an ID storage module, configured to store the described global transaction ID
according to the submission time of the described transaction by serial storage. - 9. The device of claim 8 includes a storage module for parallelly storing the described transaction log.
- 10. A computer system, comprises:
one or more processors; and a storage medium related to the described one or more processors, configured to store the program commands, when the described program commands are executed by the described one or more processors, any of the methods in claims 1-7 are performed.
Date Recue/Date Received 2021-09-24
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011016358.5A CN112162833B (en) | 2020-09-24 | 2020-09-24 | Transaction log processing method, device and system |
CN202011016358.5 | 2020-09-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA3141599A1 true CA3141599A1 (en) | 2022-03-24 |
CA3141599C CA3141599C (en) | 2023-11-07 |
Family
ID=73862704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA3141599A Active CA3141599C (en) | 2020-09-24 | 2021-09-24 | Transaction log processing method, device and system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112162833B (en) |
CA (1) | CA3141599C (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899117B (en) * | 2015-06-17 | 2019-04-16 | 江苏师范大学 | Memory database parallel logging method towards Nonvolatile memory |
US10445308B2 (en) * | 2016-05-31 | 2019-10-15 | Vmware, Inc. | Commit coalescing for micro-journal based transaction logging |
CN109446173B (en) * | 2018-09-18 | 2023-05-16 | 平安科技(深圳)有限公司 | Log data processing method, device, computer equipment and storage medium |
-
2020
- 2020-09-24 CN CN202011016358.5A patent/CN112162833B/en active Active
-
2021
- 2021-09-24 CA CA3141599A patent/CA3141599C/en active Active
Also Published As
Publication number | Publication date |
---|---|
CA3141599C (en) | 2023-11-07 |
CN112162833B (en) | 2022-11-15 |
CN112162833A (en) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3608792B1 (en) | Managed switching between one or more hosts and solid state drives (ssds) based on the nvme protocol to provide host storage services | |
US9811369B2 (en) | Method and system for physical computer system virtualization | |
US20200081902A1 (en) | Synchronization cache seeding | |
US9043776B2 (en) | Transferring files to a baseboard management controller (‘BMC’) in a computing system | |
US10459802B2 (en) | Backup image restore | |
US20070073907A1 (en) | Device, method and computer program product readable medium for determining the identity of a component | |
CN109101342B (en) | Distributed job coordination control method and device, computer equipment and storage medium | |
US10607714B2 (en) | Verification of storage media upon deployment | |
CN110109824B (en) | Big data autoregression test method and device, computer equipment and storage medium | |
US9558028B2 (en) | Systems and methods for migration of virtual machines across virtual storage resources | |
CN106777394B (en) | Cluster file system | |
CN109313593B (en) | Storage system | |
US10599530B2 (en) | Method and apparatus for recovering in-memory data processing system | |
US20160170842A1 (en) | Writing to files and file meta-data | |
CA3141599C (en) | Transaction log processing method, device and system | |
US20120179885A1 (en) | Write control system | |
US11093175B1 (en) | Raid data storage device direct communication system | |
US9703601B2 (en) | Assigning levels of pools of resources to a super process having sub-processes | |
WO2016091068A1 (en) | Method and device for executing special instruction | |
CN114741350A (en) | Method, system, equipment and medium for cascading multiple NVME hard disk backplanes | |
US11048523B2 (en) | Enabling software sensor power operation requests via baseboard management controller (BMC) | |
EP1645969B1 (en) | Remote configuration management for data processing units | |
US20170115888A1 (en) | Method and system for a common processing framework for memory device controllers | |
US9189160B2 (en) | Transport agnostic sequential drive recovery with mode data snooping | |
US10628349B2 (en) | I/O control method and I/O control system |