×

Converting a serial transaction schedule to a parallel transaction schedule

  • US 9,594,644 B2
  • Filed: 09/19/2014
  • Issued: 03/14/2017
  • Est. Priority Date: 09/19/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • reading each of a plurality of data transaction records from a single transaction log in a sequence in which the plurality of data transaction records were added to the transaction log, each of the plurality of data transaction records indicating a change to be applied to a section of a data set;

    for each respective data transaction record read from the transaction log in the sequence in which the plurality of data transaction records were added to the transaction log;

    selecting, based on metadata associated with the respective data transaction record, a single transaction queue from a plurality of first in, first out (FIFO) transaction queues for the respective data transaction record; and

    adding a pending data transaction for the respective data transaction record into the selected transaction queue; and

    concurrently processing the plurality of FIFO transaction queues, the processing comprising, for each associated transaction queue of the plurality of FIFO transaction queues;

    determining whether a next pending data transaction of the associated transaction queue is dependent on any other pending data transaction in the plurality of FIFO transaction queues based on the section of the data set indicated in the next pending data transaction;

    in accordance with a determination that the next pending data transaction is not dependent on any other pending data transaction in the plurality of FIFO transaction queues;

    applying the next pending data transaction to the data set; and

    removing the next pending data transaction from the associated transaction queue; and

    in accordance with a determination that the next pending data transaction is dependent on another pending data transaction in the plurality of FIFO transaction queues;

    waiting until the other pending data transaction has been applied to the data set; and

    after waiting until the other pending data transaction has been applied;

    applying the next pending data transaction to the data set; and

    removing the next pending data transaction from the associated transaction queue.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×