CONVERTING A SERIAL TRANSACTION SCHEDULE TO A PARALLEL TRANSACTION SCHEDULE
First Claim
1. A method comprising:
- storing a list of data transactions in a transaction log;
reading, using one or more processors at a computer system, a respective data transaction from the transaction log;
adding the respective data transaction into a first transaction queue in a plurality of concurrent transaction queues;
reading the respective data transaction from the first transaction queue, wherein a plurality of data transactions are concurrently read off the plurality of concurrent transaction queues;
determining 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;
applying the respective data transaction to a reconstructed data set; and
in accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction;
delaying commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
62 Citations
20 Claims
-
1. A method comprising:
-
storing a list of data transactions in a transaction log; reading, using one or more processors at a computer system, a respective data transaction from the transaction log; adding the respective data transaction into a first transaction queue in a plurality of concurrent transaction queues; reading the respective data transaction from the first transaction queue, wherein a plurality of data transactions are concurrently read off the plurality of concurrent transaction queues; determining 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; applying the respective data transaction to a reconstructed data set; and in accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction; delaying commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions that, when executed by the one or more processors, cause the system to perform operations comprising; storing a list of data transactions in a transaction log; reading a respective data transaction from the transaction log; adding the respective data transaction into a first transaction queue in a plurality of concurrent transaction queues; reading the respective data transaction from the first transaction queue, wherein a plurality of data transactions are concurrently read off the plurality of concurrent transaction queues; determining 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; applying the respective data transaction to a reconstructed data set; and in accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction; delaying commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors of a machine, the one or more programs comprising instructions that, when executed by the one or more processors, cause the machine to perform operations comprising:
-
storing a list of data transactions in a transaction log; reading a respective data transaction from the transaction log; determining 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; applying the respective data transaction to a reconstructed data set; in accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction; delaying commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set. - View Dependent Claims (18, 19, 20)
-
Specification