数据结构与算法:OT
钉钉文档协同编辑背后的核心技术原理
互联网改变了人与人协作的方式,将信息传播的成本大幅降低。
Realtime Editing of Ordered Sequences
One of the problems we had to solve when we added multiplayer editing to Figma was supporting simultaneous editing of ordered sequences of objects.
浅谈文档的实时协同编辑
本文针对生活中常见的协同编辑场景,介绍了几种业内常见的解决方案及其原理,适合对协同编辑算法零基础的同学进行科普性的学习。
浅谈在线文档的那些事儿
对前端来说开发一个在线文档需要啥技术呢?想一下,开发一个在线文档我们可能要解决的问题:
- 最基础的文本编辑功能(哦?好像textarea就可以完成,那如果是富文本呢?)我们需要一个文档模型来描述文档;
- 富文本编辑器,提供富文本的编辑和渲染能力;
- 协同功能,不同的用户对同一份文档的编辑需要保持大家看到的都是一样的;
- 协同网络模型,保证服务器和客户端之间的文档模型一致;
文本文档的协同编辑实现
atom 编辑器新增一个 teletype 的功能,可以实现多人在线编辑代码。效果看起来挺炫酷,想了解一下是怎么实现的,于是研究了一下。
抽象一下文本文档的协同编辑这个问题,就是同步多个设备之间的操作合并,最后都能达到最终一致的结果。现在解决文本文档的协同编辑有两种方案,一种是 Google Doc 使用的 Operational transformation (OT),还有一种就是 Atom teletype 使用的 Conflict-free replicated data type (CRDT)。
58同城-OT算法在58云视中的应用
58云视是58自研的一款音视频通话系统,目前广泛应用在面试场景中,面试场景有一项重要功能是协同编辑,下面就让来分析一下协同编辑功能的实现方案和OT算法的应用。
揭开在线协作的神秘面纱 – OT 算法
相信大家或多或少都有使用过在线文档,国内的像我们在做的腾讯文档还有其他家的很多类似产品。今天主要为大家揭开在线协作的神秘面纱,那就是 OT 算法。
Operational Transformation算法图解
Operational Transformation算法解决的问题是如何merge基于相同的状态产生的不同的操作序列。如下图所示,从上往下看,基于相同的起点,左右有两个操作OP1和OP2.为了merge两个操作为一体,我们可以从两个方向入手…
SharedPen 之 Operational Transformation
当多用户协同编辑同一篇文档,由于没有锁的机制,便会出现内容冲突,这时就需要一定的算法来自动解决冲突,使所有对文档的修改同步后,每个协同编辑的用户看到的文档内容是完全一致的。而 Operational Transformation (简称 OT) 算法就是解决协同问题的通用算法,支持各类协同编辑引用,例如文档,表格,演示,代码编辑等。其最早发表于 1989 年,后因 Google 的在线协作产品
- «
- 1
- »