| CPC G06F 16/2329 (2019.01) [G06F 16/2358 (2019.01); G06F 16/2365 (2019.01)] | 20 Claims |

|
1. A system for detecting database conflicts across distributed database nodes, the system comprising:
one or more non-transitory media storing computer program instructions; and
one or more processors configured to execute the computer program instructions to effectuate operations comprising:
replicating a database across a plurality of distributed database nodes that are each configured to locally process record modification requests for modifying records in the database;
receiving (i) a first stream of record modification requests processed at a first node of the plurality of distributed database nodes and (ii) a second stream of record modification requests processed at a second node of the plurality of distributed database nodes, each record modification request in the first stream and the second stream specifying a corresponding record in the database and comprising a sequence number independently assigned by the first node or the second node respectively, wherein the sequence number independently assigned by the first node or the second node (i) indicates preceding modifications for the corresponding record that are locally replicated at the first node or the second node respectively and (ii) is incremented, by the first node or the second node, from a previous value of the sequence number in connection with processing a respective record modification request at the first node or the second node respectively;
detecting a conflicting set of record modification requests comprising a first request in the first stream and a second request in the second stream based on the first request and the second request both (i) specifying a same record in the database and (ii) being associated with a same sequence number, the conflicting set being respectively received within a preconfigured time period of each other;
in response to detecting the conflicting set of record modification requests for the same record, causing each of the plurality of distributed database nodes to suspend processing of subsequent record modification requests for the same record; and
subsequent to corrected sequence numbers for the conflicting set of record modification requests being determined, transmitting the corrected sequence numbers to each of the plurality of distributed database nodes such that the conflicting set of record modification requests is replicated at the first node and the second node, wherein the transmitting causes each of the plurality of distributed database nodes to permit subsequent record modification requests for the same record.
|