多文档同步算法

多文档同步算法

一般文档同步算法有三种常见做法:

  • ownership
  • event passing
  • three-way merges

其中,ownership 算法其实就是加锁,一份文档只能同时一个用户编辑,第一个用户拥有写权限,剩下用户只有读权限。稍微好一点的做法,是只对某个子章节进行加锁。

Event Passing 是将用户对文档所做的任何操作都通过网络发送给其余用户,并在本地进行回放。

Three-Way Merge 是在服务器端将多个用户、以及服务器维系的当前 V1 版本进行归并,计算出 V2 版本,然后将 V2 版本发送回 Client 的算法。

参考