CPC G06F 16/2365 (2019.01) [G06F 16/2329 (2019.01); G06F 16/2358 (2019.01); G06F 16/2474 (2019.01); G06F 16/27 (2019.01)] | 18 Claims |
1. A computer-implemented method executed by data processing apparatus of a remote version of a database that causes the data processing apparatus to perform operations comprising:
receiving, from a client device, a request requesting to update the remote version of the database with a client version of the database, the remote version of the database comprising a first value for an entity and the client version of the database comprising a second value for the entity that is greater than the first value for the entity, the remote version of the database remote from the client device and the client version of the database stored on the client device, wherein the request comprises:
a client database version number representing a version of the client version of the database; and
a client value to update a corresponding remote value of the remote version of the database;
determining, based on the client database version number of the request and a remote database version number representing the version of the remote version of the database, a conflict;
based on a conflict resolution policy specific to the database, determining that the second value for the entity is greater than the first value for the entity;
based on determining that the second value for the entity is greater than the first value for the entity, determining not to perform the request; and
providing, to the client device, conflict response data indicating that the request was not performed, the conflict response data configured to cause the client device to update the second value for the entity of the client version of the database with the first value for the entity, the conflict response data comprising:
the remote database version number; and
the first value for the entity of the remote version of the database.
|