协同编辑要注意什么?
现代办公场景中,人与人之间的协作变得越来越频繁而重要,我们经常碰到多个人需要对同一份文档作出修改,使之融合多人工作成果的场景,这种行为称之为协同编辑(collaborative editing)。
狭义的协同编辑指的是对纯文本(plain text)的编辑,此时我们的编辑对象是一个纯文本。随着数据结构变得复杂,也可延伸到富文本(rich text)和代码(code)。更广义的,协同编辑的概念可应用于任何结构化数据,例如图形(graph)和表格(sheet)。
实时协同——
实时协同编辑(real-time collaborative editing)指的是多个副本同时并行的对同一原本进行修改,满足物理意义上的实时性。在这个过程中更改的发生是频繁的,副本更改发生的顺序是不确定的,同时其它副本的更改也会及时的更新到本地。与离线编辑相比,实时编辑带来了许多新的挑战:
书写冲突。多个副本可能会在同一时间对同一位置(比如文档末尾)产生插入字符操作。
删除冲突。如果多个副本同时删除了同一位置的字符,可能会产生重复删除问题。
通信成本。实时场景下的编辑行为很频繁,需要不断的同步更改内容,随着文档规模的不断扩大,需要传输的字符串越来越多,通信的成本也越来越高。
延迟问题。真实世界的网络通信存在延时,副本更改产生的时间顺序可能与到达服务器的时间顺序可能不一致。
断线重连。实际场景中,由于网络情况等诸多原因,如果某个副本在编辑时失去网络连接,在本地继续编辑一段时间后,重新连上服务器,此时服务器上的数据已经不再是断线前一瞬间的版本。
针对生活中常见的协同编辑场景,需要不停探索并注意上述问题,才能更好地使用这类工具,取得良好的工作效果。
-
本文分类: 行业资讯
-
浏览次数: 2565 次浏览
-
发布日期: 2023-04-07 16:34:53