Parallel Transaction Scheduling for Data Restoration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data restoration methods from serial transaction logs are inefficient, leading to a significant increase in restoration time due to the need for sequential execution of concurrent data changes, which can result in a tenfold increase in time required for data recovery.
Innovation Solution
Converting the serial transaction log into multiple concurrent queues, where transactions are sorted based on dependencies and executed in parallel, ensuring that each transaction is only executed once its dependencies have been completed, thereby speeding up the restoration process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If transactions are executed in serial format to ensure accurate representation, then data integrity is maintained, but restoration time increases significantly (up to tenfold)
Solution Approach 1:
The patent divides the serial transaction log into multiple parallel execution queues, segmenting the restoration process into concurrent threads. Each queue handles a subset of transactions that can be safely executed in parallel, maintaining data integrity through dependency tracking while reducing overall restoration time by eliminating sequential bottlenecks.
Solution Approach 2:
The patent implements dynamic transaction scheduling where the execution order is determined at runtime based on dependency analysis. Transactions are dynamically assigned to available worker threads based on current system state and dependency resolution, allowing the system to adaptively balance between parallel execution speed and serial execution correctness rather than using a fixed execution model.
2Productivity
If concurrent execution is implemented to speed up restoration, then restoration rate increases, but risk of executing transactions in incorrect order increases
Solution Approach 1:
The patent introduces a dependency tracking mechanism as an intermediary between the transaction log and execution queues. This mediator analyzes transaction dependencies, determines safe parallel execution boundaries, and coordinates between multiple worker threads to ensure that transactions are applied in the correct logical order even when executed concurrently, thus maintaining reliability while enabling parallelism.
3Ease of manufacture
If serial transaction log format is used, then implementation simplicity is maintained, but restoration efficiency decreases
Solution Approach 1:
The patent segments the monolithic serial transaction processing into multiple independent worker queues and threads, each capable of processing transactions independently. This segmentation maintains implementation simplicity by using standard parallel processing patterns while dramatically improving restoration efficiency through concurrent execution of multiple transaction batches.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A method and system for transforming a serial schedule of transactions into a parallel schedule of transaction is disclosed. In one example, a computer system stores a list of data transactions in a transaction log. The computer system then reads a respective data transaction from the transaction log. The computer system determines whether the respective data transaction is dependent on any other currently pending data transaction. In accordance with a determination that the respective data transaction is not dependent on any other currently pending data transaction, the computer system applies the data changes to a reconstructed data set. In accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction, the computer system delays commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set.