跳至主要內容

Leon Zhao的博客

Movable Tree in CRDT

Tree Data Structures in Collaborative Applications

互联网使全世界的人们相互交流成为了可能,越来越多的公司通过支持远程的形式让世界各地的人才加入到自己的团队。实时协作或办公是异步协作办公变得更加普遍。远程协作办公变得如此热门除了网络基础设施越来越完善、网络传输速度越来越快之外,更加重要的一点是越来越多的基础软件支持了协作和跨端的功能,使得人们的工作流可以发生改变。

例如 Figma,Dropbox 和 Google Doc 等等,这些软件背后的协作算法让远程一起工作的人们无需考虑各方的数据是怎么达到一致的,无需小心地时刻和对方沟通避免产生编辑冲突。但目前的一些特殊场景下,人们的协作体验也不是期待中的丝滑便捷,不知道你是否遇到过 Dropbox 有时会多出几个有冲突的拷贝(A conflicted copy),在和团队成员一起使用 figma 移动了一些元素到其他层级时好像这些元素突然消失了一会。这是因为这些操作都是基于树结构进行建模的,但是使基于树结构的应用达到令人满意的协同效果是非常难的一件事情。


Leon Zhao...大约 8 分钟协作算法CRDTMovable Tree