Creating updates for copies of hierarchically structured data
One embodiment of the present invention provides a system that generates an update for updating an old version of hierarchically organized data. The system operates by receiving an old tree of nodes reflecting a state of the old version of the hierarchically organized data, and receiving a new tree...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Patent |
Sprache: | eng ; fre ; ger |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | One embodiment of the present invention provides a system that generates an update for updating an old version of hierarchically organized data. The system operates by receiving an old tree of nodes reflecting a state of the old version of the hierarchically organized data, and receiving a new tree of nodes reflecting a current state of the hierarchically organized data. The system matches (502) leaf nodes from the old tree with leaf nodes in the new tree, and generates (504) node deletion operations to delete leaf nodes in the old tree that are not present in the new tree. Next, the system generates additional updating operations (506, 508, 510, 512) by ascending levels of the old tree (and corresponding levels of the new tree) starting with nodes furthest from their respective roots, and by generating a node insertion (506) operation if a node in the new tree is not present in the old tree; generating a node move operation (508) if a node in the old tree has a different position in the new tree; generating a node collapse operation (510) (instead of individual node move operations) if all the children of a parent node are to be moved to another parent node; and generating a node split operation (512) after node collapse operations are complete, if a parent has all of the nodes that is does in the new tree as well as additional nodes. The system additionally assembles (514) the operations into an update for the old version of the hierarchically organized data. This update is sent (314, 410) to the old version of the data, and applied to the old version of the data to produce an updated version of the data. |
---|