Systems and methods for synchronizing data
AssigneeAtlassian Pty Ltd.
InventorsHaymo Meran, Tobias Steiner
Life of this patent
Estimating the term…
Abstract
Described herein is a computer implemented method for updating a hierarchical dataset using a hierarchical edit script. The dataset comprises a plurality of dataset nodes and the edit script comprises a plurality of edit script nodes. The edit script nodes comprise at least one source node and at least one target node defining a move operation in which one or more nodes from the hierarchical dataset are moved from an original location to a target location.
Claims20
A computer implemented method for updating a hierarchical dataset using a hierarchical edit script, wherein the dataset comprises a plurality of dataset nodes, the edit script comprises at least a plurality of edit script nodes, and each edit script node of the plurality of edit script nodes is one of:
- a source node indicating a source of a move operation in which one or more dataset nodes are to be moved from an original location in the dataset to a target location or a target node indicating a target location to which one or more dataset nodes are to be moved to in a move operation;
- and wherein the method comprises:
- processing each edit script source node by:
- determining a move identifier identifying the move operation to which the source node relates,
- determining one or more dataset nodes which are to be moved in the identified move operation, and
- generating a move record in respect of the move operation, the move record comprising the move identifier and the one or more dataset nodes which are to be moved in the move operation;
- for each move operation, processing the dataset to delete the one or more dataset nodes which are involved in that move operation from their original location in the dataset;
- and
- processing each edit script target node by:
- determining a move identifier identifying the move operation to which the target node relates,
- using the move identifier to access the move record in respect of the move operation,
- retrieving the one or more dataset nodes which are to be moved from the identified move record, and
- inserting the one or more dataset nodes retrieved from the move record at a location in the dataset indicated by the target node.
A system for updating a hierarchical dataset using a hierarchical edit script, wherein the dataset comprises a plurality of dataset nodes;
- the edit script comprises a plurality of edit script nodes, each edit script node of the plurality of edit script nodes is one of:
- a source node indicating a source of a move operation in which one or more dataset nodes are to be moved from an original location in the dataset to a target location or a target node indicating a target location to which one or more dataset nodes are to be moved to in a move operation;
- wherein the system comprises one or more processors and one or more non-transitory computer readable storage media storing sequences of instructions which, when executed by the one or more processors, cause the one or more processors to:
- process each edit script source node by:
- determining a move identifier identifying the move operation to which the source node relates,
- determining one or more dataset nodes which are to be moved in the identified move operation, and
- generating a move record in respect of the move operation, the move record comprising the move identifier and the one or more dataset nodes which are to be moved in the move operation;
- for each move operation, process the dataset to delete the one or more dataset nodes which are involved in that move operation from their original location in the dataset;
- process each edit script target node by:
- determining a move identifier identifying the move operation to which the target node relates,
- using the move identifier to access the move record in respect of the move operation,
- retrieving the one or more dataset nodes which are to be moved from the identified move record, and
- inserting the one or more dataset nodes retrieved from the move record at a location in the dataset indicated by the target node.
Dependencies are inferred from the claim text.