US 11,669,510 B2
Parallel processing of disjoint change streams into a single stream
Gary Baker, Zephyr Cove, NV (US); Mikhail Chainani, San Francisco, CA (US); Varun Jobanputra, San Francisco, CA (US); and William Dumaresq, San Francisco, CA (US)
Assigned to salesforce.com, inc., San Francisco, CA (US)
Filed by salesforce.com, inc., San Francisco, CA (US)
Filed on May 21, 2020, as Appl. No. 16/880,222.
Application 16/880,222 is a continuation of application No. 15/686,640, filed on Aug. 25, 2017, granted, now 10,678,773.
Prior Publication US 2020/0285627 A1, Sep. 10, 2020
Int. Cl. G06F 16/27 (2019.01); G06F 16/23 (2019.01); G06F 21/62 (2013.01); G06F 16/21 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/2358 (2019.01) [G06F 16/214 (2019.01); G06F 16/24568 (2019.01); G06F 16/27 (2019.01); G06F 16/273 (2019.01); G06F 21/6218 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method comprising:
subscribing a persistent data store to receive files associated with a source database, a file comprising log data associated with a change event;
extracting a plurality of change events from the received files, without consideration to a time stamp of a change event or the order in which the plurality of change events are received;
mapping, in parallel and out of order, a set of transactions comprising the plurality of change events from the received files, the parallel mapping taking into consideration dependencies between the plurality of change events;
collating the set of mapped transactions to create an ordered set of change events for processing; and
providing access to the ordered set of change events to apply the ordered set of change events to a target database.