MASTER DATA MANAGEMENT
Multiple instances of a computer system subscribe to a central data storage system. The central data storage system receives a set of entities that the instances wish to synchronize with one another, along with a schema representing those entities, from each instance. The central data storage system receives changes to the identified entities from the various instances, identifies conflicts, and synchronizes changes from a given instance to the other subscribing instances.
1 - 20 . (canceled)
21 . A computer-implemented method, comprising:
receiving, by a synchronization system from a first computing system, an indication of a first schema corresponding to a first data record associated with the first computing system;
receiving, by the synchronization system from a second computing system, synchronization data indicative of a change made to a second data record associated with the second computing system, wherein the second data record corresponds to the first data record and has a second schema that is different than the first schema;
determining a schema conflict based on a comparison of the first schema to the second schema;
identifying a conflict resolution rule based on the schema conflict;
transforming the synchronization data based on the conflict resolution rule, wherein the transformed synchronization data is indicative of a change to the first data record; and
sending the transformed synchronization data to the first computing system.
22 . The computer-implemented method of claim 21 and further comprising:
storing, by the synchronization system, a superset of the first and second schemas.
23 . The computer-implemented method of claim 21 , wherein the first schema defines a first number of data fields in the first data record, the second schema defines a second number of data fields in the second data record, and wherein determining a schema conflict comprises:
determining a conflict between the first number of data fields and the second number of data fields.
24 . The computer-implemented method of claim 23 , wherein transforming the synchronization data based on the conflict resolution rule comprises:
generating the transformed synchronization data to have the first number of data fields.
25 . The computer-implemented method of claim 21 , wherein transforming the synchronization data based on the conflict resolution rule comprises:
selecting one of the first and second schemas as a prevailing schema according to a schema hierarchy.
26 . The computer-implemented method of claim 25 , wherein the transformed synchronization data is indicative of the change performed on the first data record according to the prevailing schema.
27 . The computer-implemented method of claim 21 , wherein the first schema defines a first table structure of the first data record, and the second schema defines a second table structure of the second data record.
28 . The computer-implemented method of claim 27 , wherein transforming the synchronization data based on the conflict resolution rule comprises:
automatically transforming the first table structure to the second table structure, and wherein the first data record is changed to correspond to the second table structure.
29 . The computer-implemented method of claim 22 , wherein accessing the conflict resolution rule comprises:
identifying one of the first and second computing systems as an authorized computing system, that is authorized to change the first and second data records; and
selecting the authorized computing system to transform the synchronization data according to the first or second schema associated with the authorized computing system.
30 . An electronic data synchronization system comprising:
at least one processor; and
memory storing instructions executable by the processor, wherein the instructions configure the electronic data synchronization system to:
receive an indication of a first schema corresponding to a first data record in a first computing system;
receive synchronization data indicative of a change made to a second data record in a second computing system, wherein the second data record corresponds to the first data record and has a second schema that is different than the first schema;
determine a schema conflict based on a comparison of the first schema to the second schema;
identify a schema conflict resolution rule based on the schema conflict;
transform the synchronization data based on the schema conflict resolution rule, wherein the transformed synchronization data is indicative of a change to the first data record; and
send the transformed synchronization data to the first computing system.
31 . The electronic data synchronization system of claim 30 , wherein the instructions configure the electronic data synchronization system to:
determine the schema conflict is indicative of a difference between the first schema and the second schema; and
identify the first schema as a prevailing schema.
32 . The electronic data synchronization system of claim 31 , wherein the instructions configure the electronic data synchronization system to:
generate the transformed synchronization data to include the change according to the prevailing schema.
33 . The electronic data synchronization system of claim 32 , wherein the instructions configure the electronic data synchronization system to:
send the transformed synchronization data to the first computing system according to the prevailing schema.
34 . A computer-implemented method, comprising:
identifying, by a first computer system instance, a data record to be synchronized with a second computer system instance;
identifying a data schema used by the first computer system instance to store the data record;
sending, to a data synchronization system configured to synchronize data between the first and second computer system instances, a record identifier indicative of the data record and an indication of the data schema;
identifying a change to the data record on the first computer system instance;
generating first synchronization data indicative of the change to the data record;
sending the first synchronization data to the data synchronization system;
receiving second synchronization data from the data synchronization system, indicative of a change made to a corresponding data record in the second computer system instance;
identifying a conflict in the second synchronization data received from the data synchronization system;
accessing a conflict resolution rule;
automatically resolving the identified conflict based on the conflict resolution rule; and
based on the automatic resolution of the identified conflict in the second synchronization data, updating the data record in a data store associated with the first computer system instance.
35 . The computer-implemented method of claim 34 , and further comprising:
identifying a plurality of conflicts in the second synchronization data received from the data synchronization system, and wherein performing conflict resolution further comprises:
generating a representation of a user interface display that indicates an unresolved conflict that is not automatically resolved and includes a conflict resolution user input mechanism; and
based on an indication of user actuation of the conflict resolution user input mechanism, resolving the unresolved conflict.
36 . The computer-implemented method of claim 34 and further comprising:
updating the data record, with the second synchronization data received from the data synchronization system.
37 . The computer-implemented method of claim 36 wherein updating comprises:
based on the second synchronization data received from the data synchronization system, updating a plurality of different tables in the data store, the plurality of different tables storing data corresponding to the data record.
38 . The computer-implemented method of claim 35 and further comprising:
generating a representation of a provisioning user interface display, the provisioning user interface display comprising a provisioning user input mechanism; and
based on an indication of user actuation of the provisioning user input mechanism, identifying the data synchronization system used by the first computer system instance.
39 . The computer-implemented method of claim 35 and further comprising:
generating a representation of a synchronization management user input display with a synchronization management user input mechanism; and
based on an indication of user actuation of the synchronization management user input mechanism, configuring a management parameter for synchronizing the identified data record.
40 . The computer-implemented method of claim 39 , wherein configuring the management parameter comprises configuring whether synchronization is initiated manually or automatically, and, if automatically, start and end times for the synchronization and a recurrence pattern for the synchronization.