开发在线文档时,这个技术难点你解决了吗?
什么是多人协作?
操作化 可传输 可还原
传输内容 原始文本 清晰 冗余 压缩技术 逻辑压缩 协议压缩 手动压缩 网络协议 Socket TCP UDP HTTP WebSocket QoS(Quality of Service,服务质量) 快速失败 自动回滚 自动重连 自动恢复
绝对操作的还原 控制体积 合理的提示 相对操作的还原 严格的顺序性 从源头保障顺序性 顺序性的补救 本地操作的还原 过滤收到的操作集合 从源头细化操作颗粒 本地保存本地执行 无入侵的还原 定义入侵 排除入侵 千人千面
多人协作有哪些技术难点?
避免产生冲突,即不让多个用户同时编辑同一处地方。该解决方法简单粗暴,使用时需具体查看产品形态是否适合该方案。
把冲突暴露给用户,让用户自己解决。目前大多数专业的版本控制软件采用了该方法,但它不适用于拥有大量非专业用户的产品,如在线文档。
给写入操作打上全局 index,可以是时间戳或序列号,该 index 必须是全局的且递增。在任何冲突的地方,都选择 index 较高的那个写入。该方法的优势在于冲突的解决是完全自动化的,不需要用户参与。缺点就是如果遇到同步间隔很长的情况,会丢失很多用户的输入。
retain(n):保持 n 个字符
insert(str):插入字符 str
delete(str):删除字符 str
实现多人协作的突破口在哪里?
用于多人协作的表格组件需要具备哪些功能?
结语
评论