[发明专利]文档协同编辑中的一致性维护方法在审
申请号: | 201410613054.5 | 申请日: | 2014-11-04 |
公开(公告)号: | CN104462037A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 黄敏;林彬;何擎昊 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F17/24 | 分类号: | G06F17/24 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 罗观祥 |
地址: | 510006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文档 协同 编辑 中的 一致性 维护 方法 | ||
技术领域
本发明涉及一种文档协同编辑技术,特别涉及一种文档协同编辑中的一致性维护方法。
背景技术
正在进行的信息革命对传统的生产、生活方式产生了深远的影响。技术的进步和发展使许多原来只能在同一地点进行的高交互性协同活动可以通过由网络连接的协同应用系统在线进行。实时协同广泛采用数据复制技术来隐藏网络延迟、提高响应速度和改善交互体验。在复制式结构中,用户可以无约束地在不同数据副本上进行操作,这必然会引发一致性维护问题。随着网络技术的发展、Web应用的普及以及多种协同终端以不同接入模式的参与,涌现了一大批以Web2.0和移动计算为代表的新型协同应用。这些应用呈现出大规模、动态性、操作复杂性、数据类型多样性等新特性,给实时协同中一致性维护的研究带来了新的技术挑战。
综上所述,数据的一致性维护在协同工作中是十分重要的,而一致性维护的研究已经经过了许多年,在这方面有各种方案被提出来,其中操作转换算法是最高效也是最被大家所认可的一种解决方法。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种文档协同编辑中的一致性维护方法,该一致性维护方法以Node.js平台为基础,利用Node.js的特点构建高并发高响应性的一致性维护方法;该一致性维护系统在传统操作转换算法的基础上加入了适用于移动网络环境下的操作转换算法,通过中间层来调度操作转换算法,使得该发明可以适用于异构网络环境下的一致性维护。
本发明的目的通过下述技术方案实现:一种文档协同编辑中的一致性维护方法,包括以下步骤:
步骤1、利用传统操作转换算法构建一个基于操作转换的一致性维护框架。可以将文本内容修改转成以下3种类型的操作:retain(n)---保持n个字符,也就是说这n个字符不变;insert(str)---插入字符str;delete(str)---删除字符str;假设用户为两个人,一个为Alice,另一个为Tom,初始字符串为hello.o world.o,具体示例可以如下:
用户Alice的操作执行情况如下:当操作O2到达Alice的站点时,如果该操作直接在当前副本执行,Alice的Makefile中,该片段将被修改为:foo.o hebar.o llo.o world.o,由于Alice之前已经执行了操作O1,当Alice执行操作O2时,O2操作的上下文已经不是它产生时的上下文,因此直接在当前的上下文下执行操作O2会产生错误的结果。在这个场景中,Alice需要将O2转换成O2’,使O2’可以在当前的文档状态“foo.o hello.o world.o”上正确执行。因为O1在O2的插入位置之前插入了一个长度为6的字符串“foo.o”,所以需要将O2的插入位置右移6个操作位置来包含O1已经执行操作O1的操作效果,得到O2’=ins(14,“bar.o”)。这时,在Alice的当前状态“foo.o hello.o world.o”上执行O2’得到:foo.o hello.o bar.o world.o。对于用户Tom来说,当收到操作O1后,O1可以直接按其原始形式即ins(0,”foo.o”)正确地执行,因为此时O1的操作位置不受操作O2的影响。在Tom当前状态“hello.o bar.o world.o”上执行操作O1后也可以得到:foo.o hello.o bar.o world.o。这样,Alice和Tom协同编写的程序片段的一致性得到了维护。操作转换就是通过这种方式对并发的操作进行转换,使得最后文本达到一致。在操作转换算法中,操作之间有几种不同的关系:上下文等价关系,上下文串行关系,上下文可比关系和效果等价关系。操作转换算法通过判断两个操作之间的关系来进行相应的操作转换,来使得两个操作可以在相互的文档中进行操作。对于上下文等价的两个操作,操作转换算法会把其中一个操作在另一个操作的基础上进行转换,然后在作用于产生前一个操作的文档中;对于上下文串行的操作只需要把后发生的操作作用在先发生的操作之后就可以了;对于上下文可比的两个操作,需要先把两个操作转换成上下文等价的状态,然后根据上下文等价状态下的操作转换算法进行转换;对于效果等价的两个操作就不需要执行任何操作就可以了。
基于操作转换的一致性维护架构如图1所示,主要包括客户端、服务器端、客户端操作缓存、服务器接受的操作缓存、服务器要发送的操作缓存等几个部分,整体流程包括以下的a、b、c和d四个步骤:
a.客户端每个时间间隔会与服务器进行同步,在这个时间间隔内客户端产生的操作会保存在客户端的操作缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410613054.5/2.html,转载请声明来源钻瓜专利网。