Method and system for partition level cleanup of replication conflict metadata
First Claim
1. A method of removing conflict resolution metadata from a distributed database in a multi-node replication system wherein data from the database is replicated out to users at multiple nodes for use and changing thereat, the method comprising:
- establishing a conflict resolution metadata retention period for nodes in the system, the conflict resolution metadata retention period upon expiring for a node triggering discarding of conflict resolution metadata concerning conflict resolution for the node from the database, the nodes in the system requesting selected partitions of database data for change before returning changed data back to the database, the conflict resolution metadata concerning the conflict resolution being used to resolve conflicts between the changed data and the database data before the changed data is stored into the database;
associating data changes with nodes, a change to a portion of database data made by the node being mapped to other interested nodes, such that the node and the other interested nodes can receive updated changes to the portion of database data;
removing conflict resolution metadata corresponding to the node if a conflict resolution metadata retention period for the node has expired and other interested nodes are included in the association of data changes; and
maintaining conflict resolution metadata corresponding to the node if the conflict resolution metadata retention period for the node has expired and no other interested nodes are included in the association of data changes, the conflict resolution metadata for each change to a partition element comprising a node making the change, a time of the change, a type of change, other nodes affected by the change, and before and after values associated with the change,the conflict resolution metadata for each node being maintained thereby at the node and including;
a first list indicating for each change those other nodes to which the change needs to be distributed;
a second list indicating information about each change including metadata about the change and a time the change was made; and
a third list indicating for each other node a last time the other node received all changes from the node, conflict resolution metadata for a particular change being removable if all nodes that need the particular change, according to the first list, have already received the particular change, according to the second and third lists.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of removing metadata from a database in a multimode replication system includes establishing a metadata retention period for nodes in the system as well as associating changes with nodes on the system. The system responds to an expiration of the retention period for any one node by analyzing the associated changes and nodes and determining if the change affects data shared with other nodes. If the data is shared with other nodes then the expired retention period node metadata is removed from the system. If the expired metadata retention period node does not share the changes with other nodes, the metadata is not removed. This allows any unique changes to still be entered into the database without adversely affecting other nodes.
-
Citations
5 Claims
-
1. A method of removing conflict resolution metadata from a distributed database in a multi-node replication system wherein data from the database is replicated out to users at multiple nodes for use and changing thereat, the method comprising:
-
establishing a conflict resolution metadata retention period for nodes in the system, the conflict resolution metadata retention period upon expiring for a node triggering discarding of conflict resolution metadata concerning conflict resolution for the node from the database, the nodes in the system requesting selected partitions of database data for change before returning changed data back to the database, the conflict resolution metadata concerning the conflict resolution being used to resolve conflicts between the changed data and the database data before the changed data is stored into the database; associating data changes with nodes, a change to a portion of database data made by the node being mapped to other interested nodes, such that the node and the other interested nodes can receive updated changes to the portion of database data; removing conflict resolution metadata corresponding to the node if a conflict resolution metadata retention period for the node has expired and other interested nodes are included in the association of data changes; and maintaining conflict resolution metadata corresponding to the node if the conflict resolution metadata retention period for the node has expired and no other interested nodes are included in the association of data changes, the conflict resolution metadata for each change to a partition element comprising a node making the change, a time of the change, a type of change, other nodes affected by the change, and before and after values associated with the change, the conflict resolution metadata for each node being maintained thereby at the node and including;
a first list indicating for each change those other nodes to which the change needs to be distributed;
a second list indicating information about each change including metadata about the change and a time the change was made; and
a third list indicating for each other node a last time the other node received all changes from the node, conflict resolution metadata for a particular change being removable if all nodes that need the particular change, according to the first list, have already received the particular change, according to the second and third lists. - View Dependent Claims (2, 3)
-
-
4. A system for replicating data which includes conflict resolution metadata management, the system comprising:
-
a distributed database having distribution nodes, data from the database being replicated out to users at the distribution nodes for use and changing thereat, the nodes requesting selected partitions of database data for change before returning changed data back to the database, conflict resolution metadata concerning conflict resolution being used to resolve conflicts between the changed data and the database data before the changed data is stored into the database, means for executing instructions, the instructions performing a method comprising; establishing a conflict resolution metadata retention period for nodes in the system, the conflict resolution metadata retention period upon expiring for a node triggering discarding of conflict resolution metadata concerning conflict resolution for the node; associating data changes with nodes, a change to a portion of database data made by the node being mapped to other interested nodes, such that the node and the other interested nodes can receive updated changes to the portion of database data by generating a change-to-node mapping; removing conflict resolution metadata corresponding to the node if a conflict resolution metadata retention period for the node has expired and other interested nodes are included in the association of data changes; and maintaining conflict resolution metadata corresponding to the node if the conflict resolution metadata retention period for the node has expired and no other interested nodes are included in the association of data changes, the conflict resolution metadata for each change to a partition element comprising a node making the change, a time of the change, a type of change, other nodes affected by the change, and before and after values associated with the change, the conflict resolution metadata for each node being maintained thereby at the node and including;
a first list indicating for each change those other nodes to which the change needs to be distributed;
a second list indicating information about each change including metadata about the change and a time the change was made; and
a third list indicating for each other node a last time the other node received all changes from the node, conflict resolution metadata for a particular change being removable if all nodes that need the particular change, according to the first list, have already received the particular change, according to the second and third lists.
-
-
5. A computer-readable storage medium having computer-executable instructions for performing a method for removing conflict resolution metadata from a distributed database in a multi-node replication system wherein data from the database is replicated out to users at multiple nodes for use and changing thereat, the method comprising:
-
establishing a conflict resolution metadata retention period for nodes in the system, the conflict resolution metadata retention period upon expiring for a node triggering discarding of conflict resolution metadata concerning conflict resolution for the node from the database, the nodes in the system requesting selected partitions of database data for change before returning changed data back to the database, the conflict resolution metadata concerning the conflict resolution being used to resolve conflicts between the changed data and the database data before the changed data is stored into the database; associating data changes with nodes, a change to a portion of database data made by the node being mapped to other interested nodes, such that the node and the other interested nodes can receive updated changes to the portion of database data; removing conflict resolution metadata corresponding to the node if a conflict resolution metadata retention period for the node has expired and other interested nodes are included in the association of data changes; and maintaining conflict resolution metadata corresponding to the node if the conflict resolution metadata retention period for the node has expired and no other interested nodes are included in the association of data changes, the conflict resolution metadata for each change to a partition element comprising a node making the change, a time of the change, a type of change, other nodes affected by the change, and before and after values associated with the change, the conflict resolution metadata for each node being maintained thereby at the node and including;
a first list indicating for each change those other nodes to which the change needs to be distributed;
a second list indicating information about each change including metadata about the change and a time the change was made; and
a third list indicating for each other node a last time the other node received all changes from the node, conflict resolution metadata for a particular change being removable if all nodes that need the particular change, according to the first list, have already received the particular change, according to the second and third lists.
-
Specification