领域如何解决列表中的冲突



领域移动数据库如何能够从编写多个用户到同一列表的冲突?

这似乎并不是一个简单的最后写胜利。例如,在列表[A,B,C,D]中,User1可以交换A和B [B,A,C,D]和User2可以交换C和D [A,B,D,C]。一旦同步,它们都有组合变化[B,A,D,C]。

冲突通常总是解决的,以使相应的操作似乎是按照它们实际发生在不同设备上的实时顺序进行的。

插入订单,以便如果两个设备将元素附加到列表中,则这些元素将以附加的顺序结束。

元素交换操作更难以可视化,但相同的原理适用。如果您交换列表[a, b, c],并且每个设备分别在t=0swap(1, 2)分别在t=1上独立使用swap(0, 1),则结果将好像操作swap(0, 1),然后在每个设备上运行swap(0, 2),从而产生[c, a, b]。请注意,如何将第二个交换转换为第一个考虑,并维护列表元素身份。

关于解决冲突的最简单方法是它总是解决冲突,使其似乎在当地发生了。我们想改善有关这种行为的文档,但挑战是操作的组合很多。如果您对文档中哪种信息会回答您的问题有任何建议,请随时向我们发送更多反馈。

最新更新