Conflict-Free Replicated Data Types (CRDTs) for JSON allow users to concurrently update a JSON document without introducing any conflicts and automatically merge the updates into a consistent state. However, moving a subtree in a map or reordering elements in a list for a JSON CRDT is considered challenging as an algorithm that is not carefully designed may introduce unexpected results such as duplicates or cycles. In this paper, we show how to extend Automerge, a CRDT library, by incorporating move operations and evaluating the performance of our algorithm.
翻译:针对JSON的无冲突复制数据类型(CRDT)允许用户并发更新JSON文档而不会引入任何冲突,并能自动将更新合并到一致状态。然而,在JSON CRDT中移动映射中的子树或重新排序列表中的元素被认为具有挑战性,因为未经精心设计的算法可能会引入重复或循环等意外结果。本文展示了如何通过集成移动操作来扩展CRDT库Automerge,并评估了我们算法的性能。