运营转型常见问题解答(2015)

2021-06-07 01:23:03

此常见问题旨在提供全面的问题覆盖, 答案和参考资料 与OT主题有关。本文件是Chengzheng的版权所有©2010 C 2015 太阳。版权所有。

OT是A. 用于支持协作计算功能和应用的技术。 OT有丰富的协作功能,并已成为 用于支持各种应用程序。

提出了第一个OT系统,用于在实时协同中支持并发控制 编辑(CE)1989年的纯文本文件[6]。几年后,有些 正确的问题 检测到第一个OT系统,几种方法是独立的 建议解决这些问题[42]。 1998年,一个特殊的兴趣团体 建立了协作编辑(SIGCE),以促进CE之间的沟通和合作 和OT研究人员。这是 其次是另一十年的持续延伸和改善ot的努力 由一个研究人员社区[1 C 64]。 能力和应用 多年来,OT的范围一直在不断扩大。

OT能够支持丰富的协作功能或功能, 包括但不仅限于:

(1)一致性维护或并发 控制:OT可以 在允许多用户生成的同时维护共享文档一致性 自由而同时运行以及系统响应本地用户的操作 快速并执行不同订单中的远程操作[6,7, 8, 13,14,20,21,25, 27, 30, 31, 37, 38,39,42,43,53, 54, 58, 59]。

(1)冲突解决:OT能够解决同时运营目标之间的冲突 以一种维持一致性的方式共享或依赖对象,并在面上保留所有操作的效果 冲突[3,51,56, 62,63,55]。

(2)组撤消:OT能够支持撤消操作 多用户并发编辑环境[28,29, 30, 46, 50, 54]。

(3)工作区意识:OT能够支持工作区的认识功能(例如,电视亭, 雷达视图)在并发,动态和复杂(2D / 3D)工作空间[2,52,61]中。

(4)锁定:OT 能够支持细粒度和响应的锁定,以帮助保护 共享对象的完整性,并在协同中维护语义维护 计算环境[44,49]。

(5)操作通知:OT能够支持一系列操作通知策略 这涵盖了实时和非实时协同的需求 应用[33]。

(6)操作压缩:OT能够支持压缩 在非实时和/或移动中累积的大量操作 协作计算环境[34,35]。

(7)透明自适应:OT是otS-石头 透明自适应(TA)方法[1, 2, 52,60,61,62,63],能够转换现有 或新的单用户应用程序/组件到多用户协同组件中 在不对原始源代码进行任何更改 应用程序/组件。基于TA的协作应用保留 功能和单用户应用程序的外观和感觉,以及 提供支持的高级协作功能 通过OT。

已经是 适用于各种实时和非实时协作 应用程序,包括:

(1)协作文本编辑[4,5,8,12,28, 30, 31, 43, 50, 58]。示例系统:

科沃姆:一个实时的协作 文本编辑器使多个用户能够编辑相同的文本文档 同时在Vim中。

coflash:实时 协作多媒体编辑器,使多个用户能够编辑相同的用户 同时文档在Adobe Flash中。

CockEditor:基于Web的 实时协作编辑器,使多个用户能够编辑相同的用户 在CKEDITOR中同时发写。

Codoxword:实时 协作文字处理器,使多个用户能够编辑相同 在Microsoft同时发生 单词。

CopowerPoint:一个实时协作幻灯片编辑器 使多个用户能够在Microsoft PowerPoint中同时编辑相同的文档。

Cocalc:一个实时的协作电子表格 编辑器使多个用户能够在OpenOffice.org Calc中同时编辑相同的文档。

COMAYA:一个实时的协作 3D设计工具,使多个设计师能够编辑相同的设计 在Autodesk Maya中同时文档。

Google Wave:OT是核心 Google Wave背后的实时协同技术,整合了电子邮件, 即时消息,博客,维基和社交网络。

Novell Pulse [36]:企业实时协作软件平台,即 利用谷歌 波联盟协议。

开放合作网络框架: 一个dojo. 基础项目使用操作转换算法 启用合作网络概念。

基础的 可以使用简单的文本说明OT的概念。 编辑方案,如图所示 1。

在这方面 场景,初始文本文档包含两个字符串ABC 合作网站;并且有两个并发操作:o 1 =插入[0,x](将字符x插入位置0),o 2 =删除[2,1](删除位置2的一个(1)个字符,即c ) 通过分别在站点1和2的用户协作生成。在下面 控制OT的控制,本地操作将按原样执行;远程操作将是 在他们执行前转变。

(1)在站点1中,首先执行o 1,并将文件变为XABC。 然后o 2到达并是 反对o 1转变为 变成O 2 = T(O 2,O 1)=删除[3,1],其位置参数递增1 包括由并发操作造成的一个字符插入的影响O 1.在XABC上执行O 2应正确删除 C和文档变为XAB(注意:如果O 2以其原始形式执行,那么它将 错误地删除b,而不是c)。

(2)在站点2,首先执行O 2,并将文件变为AB。然后 o 1到达并是 反对O 2转变为 变成O 1 = T(O 1,O 2)=插入[0,x]。在这种情况下,变换的操作O 1与原始O 1相同,因为之前的 执行O 2没有 对O 1.在AB上执行o 1的影响将插入x 位置0和文档变为XAB,其与文档相同 在现场1。

总之,对一致性维护的OT的基本概念是 根据效果将编辑操作转换为新形式 以前执行的并发操作,以便转换操作可以 达到正确的效果(意图保存)并确保 复制文档相同(收敛)[42,43]。

值得的 指出,为了简单和直观,协作文本编辑 具有重叠或相邻对象的并发操作的场景 经常用于OT研究文献以说明OT技术问题 和算法。例如,两个并发编辑的位置 在图中的操作 1仅通过仅少数(三个)字符ABC分隔。这样的 仅在用户同时编辑时,才能将简单的示例解释为需要或仅用 相邻的角色,例如相同的词,同一行或相同的段落, 实际上,OT的适用性与数量无关 分隔并发操作的字符/对象。需要ot和有用 用于对象定位的操作的并发控制 定位依赖(或转移)关系,无论是那些 目标物体是重叠的,相邻或彼此相邻(例如, 在大字文档中分离数百万物体[52,60])。

基础的 用于支持(非线性)撤消的OT的想法可以使用简单的文本说明 编辑图中的场景 2。

在这方面 场景,初始文本文档包含一个字符串123,两个字符串123 合作网站。

(1) 第一的, o 1 = INSERT [2,Y](在第2位插入字符y) 用户在网站2; o 1 然后将其传播到站点1并按原样执行,从而导致文档 国家" 12Y"在两个网站。

(2) 第二, o 2 =插入[0," x"](在位置0插入字符x)是 由用户在站点1生成的;然后o 2 将传播到站点2,并按原样执行,从而导致文档状态 " x12y"在两个网站。

(3) 后 执行o 1和O 2 序列,用户在站点2发出undo命令撤消(o 1) 撤消O 1,这不是 上次执行的操作。基于OT的撤消系统将首先创建一个逆 手术 ! o 1 =逆(O 1 =插入[2,Y])=删除[2]; 然后改变! o 1反对 o 2,即! O' 1 = T(!O 1,O 2) =删除[3];最后执行! O' 1,导致文件状态进入" x12", 这实现了正确的撤消效果,即消除O 1的效果,但是 保留效果O 2。如果原来的逆! o 1 =删除[2] 未经转换执行, 文件状态将成为" x1y",这是不正确的。

总之,撤消OT的基本概念是改变O的逆(操作) 根据所执行的这些操作的影响,撤消到一种新形式 o之后,让转变为 逆操作可以达到正确的 撤消效果。一种 正确的撤消效果将消除O的效果,但保留其他效果 操作。换句话说,正确的撤消效果将转换文档 如果O从未被履行但其他 已经进行了操作[50,54]。

基础的 可以使用简单的文本说明操作压缩OT的概念 编辑图中的场景 3.

在这方面 场景,初始文本文档包含一个字符串123,两个字符串123 合作网站。在站点1,用户依次生成四个操作: o 1 =插入[2,x](插入位置2的字符x),o 2 =插入[1,abc] (要在第1位插入字符串ABC),O 3 =插入[2,Y] (将字符y插入位置2),o 4 =删除[7] (删除位置7的字符x)。假设这些操作都是 登录L = [O 1,O 2,O 3,O 4], 没有在执行后立即传播(这可能发生 在实时或非实时协作会话中)。在某些情况下 条件(由用户或自动确定),L中的操作可能是 传播到站点2以进行远程集成。在传播之前,操作 l可以通过基于OT的压缩 压缩算法[34,35],扫描L中的操作 从最终(最右端)到开始 (最近)一个接一个地,检查每对之间的关​​系 邻近的操作来决定是否转换, 消除或合并它们。在此示例中,以下步骤可以采取 地方:

(1) 这 最右边的操作o 4是 用相邻操作输置O 3: 转置(O 3,O 4) = [o' 4,o' 3],其中O' 4 =删除[6]和O' 3 = O 3,导致L' = [O 1,O 2,O' 4, o 3]。

(2) O' 4进一步与新相邻的 操作O 2:转置(O 2,O 4) = [o'' 4,o' 2],其中O'' 4 =删除[3]和O' 2 = O 2,导致L' = [o 1,o'' 4,o 2, o 3]。

(3) O'' 4是用新的相邻审查的 操作O 1;和 它们被发现重叠和 相互补充(即没有对文件的影响),所以O''从L中消除了4和O 1, 导致L' = [O 2,O 3]。

(4) 这 两个相邻和重叠的操作O 2 和l中的o 3是 合并为单一操作O' 2 =插入[1,AyBC],导致L' = [o 2]。

(5) L' = [O 2],而不是L = [O 1,O 2,O 3,O 4],传播到远程 网站进行集成。

总之,对操作压缩的OT的基本概念是 转置(一种转换)累积操作以适当的形式和 Log L中的位置,使其重叠和补充 可以检查关系以决定它们是否可以合并或 消除,从而实现了操作压缩效果, 即,减少L中的操作数量,同时保留原件 L. L&#39的操作效果;和我 必须相当于意义上的 它们可以在应用于相同时导致相同的文档状态 初始文件状态:S O L' = s o l, 其中s是任何文件状态。这 l中的操作数可能非常大(例如 非实时和/或移动协作编辑会话),因此基于OT 在这种情况下,操作压缩特别有用和有效。

这个词 基本的OT系统通常用于 意味着具有一致性维护的基本能力的OT系统 一对原始字符 - 明智的插件 并删除操作。第一个OT 系统[6]是一个基本的OT系统。最多 现有的OT系统是基本OT系统的扩展。

这 OT系统的操作模型是通过转换函数直接处理的一组操作。不同的OT 系统可能具有不同的操作模型。例如,操作模型 基本的 OT系统由两个原始操作组成:字符-WISE插入和删除。此基本操作模型已扩展到包括 额外的原始操作,例如更新,支持协作Word文档 处理和3D模型编辑[1, 51]。基本OT的其他扩展 操作模型依赖于应用。

数据 OT系统的模型定义了文档中的数据对象的方式相关 彼此并通过操作引用。不同的OT系统可能有不同的 数据模型。例如,基本OT系统的数据模型是一个集合 单个线性地址空间寻址的独立对象(每个对象都有 该地址空间中的位置参考)。此基本数据模型是 足以为使用一维和线性有序数据建模文档 对象,例如一系列字符(纯文本文档),序列 幻灯片(在演示文档中)等。基本的OT数据模型已经扩展 进入用于支持单词的多个线性寻址域的层次结构 处理器和HTML / XML文档[5,8,52,56]以及依赖于对象图 用于支持数字媒体文档[3]。

是的。 ot. 支持协作编辑各种文档,包括 文本/图形/ Word文档,电子表格和数字媒体模型。

是的。此外 要插入和删除,OT可以支持其他原始操作,例如更新[51],点 [61],锁定 [44]等任意复杂的应用程序操作。

是的。基本OT需要通过A可引用的数据对象 线性地址空间,但复杂应用中的数据对象(例如Word 处理器和3D媒体设计工具可能具有非线性关系 用户界面(UI)。这种差异被认为是一个主要的障碍 使用复杂数据模型应用OT到应用程序。然而,后来的研究[52]发现了OT 适用性独立于数据对象是否表示或查看 在UI级别线性,但取决于数据对象是否可以是 通过从中访问的程序接口线性地址 应用程序数据。该程序接口可以是内部数据 界面如果在应用程序内实现(协作感知方法[43,50])或公共API(应用程序 编程接口)如果在应用程序之外实现OT(协作 - 透明方法[4,13,52])。数据适应过程通常是 需要桥接应用程序数据模型(可从程序访问 接口)和OT数据模型。 Codoxword,COMAYA和Google Wave [59]是代表性的OT支持 能够支持复杂和非线性数据的协同编辑系统 对象。

是的。那里 存在两个基本方法来支持复杂的应用程序级操作 用于操纵共享数据对象:

(1)原始操作模型方法:OT系统具有由a的操作模型组成 少量的原始操作(例如,String-Wise插图,删除和 更新)。在这种方法中,转型 函数在原始操作级别定义,这很简单 (相对容易设计并确保正确性)和转型 如此设计的功能在不同的应用中可重复使用。这种方法 需要操作适应过程 将特定于应用程序的操作映射到原始操作 转型。使用此方法的一个示例OT系统是通用协作引擎(GCE)[52] 支持Codoxword,CopowerPoort,Comaya等。

(2)特定于应用的操作模型方法:OT系统具有操作 由(可能)大量应用程序操作组成的模型。在 这种方法,转换函数在应用程序中定义 操作水平,复杂(相对难以设计和确保 正确的)和转换功能,因此设计不可重复使用 不同的应用程序。对于具有n个不同操作的应用程序,n n 支持此应用程序需要转换功能。示例OT 使用此方法的系统包括Google Wave OT [59], 共同电子表格[27]等。

没有现有的OT技术可以确保保存 用户意图。但是,OT能够 保留与用户意图有关但不同的操作意图 谁发出了这个操作。

没有现有的OT技术可以解决语义一致性问题 协作编辑系统。最多 在协作编辑系统中存在对一致性维护的工作 专注于与句法相关的问题和技术 一致性,主要关注操作是否是 以正确的顺序执行(因果关系 保存[42])和是否相同 (收敛和 意图保留[42])分享的视图 文档在所有网站上维护。语义 一致性涉及 在应用程序域中,共享视图是否有意义/正确 是否所有网站是否具有相同的视图。

在本文中,有一个英语语法错误(由带下划线的文本突出显示),即 带下划线的文本应该可以保留,保留等。认为 两个用户观察到这个语法错误并希望在两个中纠正它 不同的方式:一个用户发出一个在启动时插入罐头的操作 保留的位置,而另一个用户向其发出并发操作 插入保存的最终位置。假设协作 编辑系统使用了OT

......