文档协同编辑中的一致性维护方法.pdf

上传人:g**** 文档编号:2238117 上传时间:2018-08-03 格式:PDF 页数:8 大小:827.90KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410613054.5

申请日:

2014.11.04

公开号:

CN104462037A

公开日:

2015.03.25

当前法律状态:

实审

有效性:

审中

法律详情:

授权|||实质审查的生效IPC(主分类):G06F17/24申请日:20141104|||公开

IPC分类号:

G06F17/24

主分类号:

G06F17/24

申请人:

华南理工大学

发明人:

黄敏; 林彬; 何擎昊

地址:

510006广东省广州市番禺区广州大学城华南理工大学

优先权:

专利代理机构:

广州市华学知识产权代理有限公司44245

代理人:

罗观祥

PDF下载: PDF下载
内容摘要

本发明公开了一种文档协同编辑中的一致性维护方法,包括如下步骤:步骤1、在多人协同编辑的环境下,通过操作转换算法提供对于一致性维护的支持;步骤2、在步骤1的基础上,结合移动环境下的操作转换算法,使得一致性维护方法可以满足异构环境下的要求;步骤3、在步骤2的基础上,利用Node.js的特点,使得一致性维护方法提供并发操作的支持。具有有效利用了服务器的资源和提高了资源的利用率等优点。

权利要求书

权利要求书
1.  一种文档协同编辑中的一致性维护方法,其特征在于,包括如下步骤:
步骤1、在多人协同编辑的环境下,通过操作转换算法提供对于一致性维护的支持;
步骤2、在步骤1的基础上,结合移动环境下的操作转换算法,使得一致性维护方法可以满足异构环境下的要求;
步骤3、在步骤2的基础上,利用Node.js的特点,使得一致性维护方法提供并发操作的支持。

2.  根据权利要求1所述的文档协同编辑中的一致性维护方法,其特征在于:在步骤1中,利用传统操作转换算法提供对于数据一致性维护的支持;操作转换技术以其无锁、细粒度的乐观并发控制特性,成为特别适合此类协同应用系统的一致性维护方法。

3.  根据权利要求2所述的文档协同编辑中的一致性维护方法,其特征在于:通过加入移动设备的情况下的网络环境特性,结合适用于移动环境的操作转换算法使得一致性维护方法使用在移动环境中,通过整合传统操作转换算法和适用于移动环境下的操作转换算法构建一个适用于异构环境下的操作转换算法。

4.  根据权利要求1所述的文档协同编辑中的一致性维护方法,其特征在于:在步骤3中,利用Node.js基于事件驱动的特点,通过事件轮询的机制带来的实时性的支持,对人力资源管理系统服务器端进行搭建和开发;所述Node.js利用服务器资源提供可伸缩快速的服务,在Node.js中,所有的异步操作都不会阻塞用户的请求,用户的请求能获得快速的响应并且不会阻塞其他用户的请求。

说明书

说明书文档协同编辑中的一致性维护方法
技术领域
本发明涉及一种文档协同编辑技术,特别涉及一种文档协同编辑中的一致性维护方法。
背景技术
正在进行的信息革命对传统的生产、生活方式产生了深远的影响。技术的进步和发展使许多原来只能在同一地点进行的高交互性协同活动可以通过由网络连接的协同应用系统在线进行。实时协同广泛采用数据复制技术来隐藏网络延迟、提高响应速度和改善交互体验。在复制式结构中,用户可以无约束地在不同数据副本上进行操作,这必然会引发一致性维护问题。随着网络技术的发展、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.客户端每个时间间隔会与服务器进行同步,在这个时间间隔内客户端产生的操作会保存在客户端的操作缓存中。
b.客户端与服务器端进行同步时,会接受服务器端要发送的操作缓存中的操作并且与本地客户端操作缓存中的操作进行相互转换,然后对文档进行服务器端发送的操作缓存中操作并且把转换后的客户端缓存操作发送给服务器端。
c.服务器每隔一定时间会处理客户端发送过来的保存在服务器端接受的操作缓存中的操作。
d.处理客户端发送过来的操作时,服务器会把服务器端接受的操作缓存和服务器端要发送的操作缓存中的操作合并并且放在服务器端要发送的操作缓存中。因此该框架能够很好的适应传统协同环境下的一致性维护问题;
步骤2、为了支持异构环境下的一致性维护,本发明在传统操作转换的基础上考虑了移动环境下的网络特点,结合适用于移动环境的操作转换算法,提出了一种可以适应异构网络环境的一致性维护算法。
由于移动环境中移动设备的电量有限,所以为了保证用户的实用性,无法保证客户端与服务器端的持续连接,所以传统的操作转换算法并不适用于这种环境下。在移动环境下,需要把用户的本地操作保存在客户端,然后在更长的一个时间间隔后与服务器端的操作进行合并转换,合并的过程并不是按照一个个操作进行合并,而是根据操作序列进行转换,每个序列也具有说明(1)中的几种关系,操作转换算法也是根据判断每个序列之间的关系进行相应的操作转换。在服务器端会维护两种环境下的操作,然后根据判断不同的客户端来进行相应的操作转换算法;
支持异构环境一致性维护的架构如图2,其中中间操作转换层负责针对不同的网络环境选择不同的操作转换算法进行一致性维护,使得异构环境下的数据保存一致。中间层判断不同客户端是通过判断http请求头中的userAgent字段来判断是来自移动客户端的请求还是来自PC客户端的请求。UserAgent记录了不同浏览器的版本信息,每个版本的浏览器UserAgent是不一样的,而移动浏览器和PC浏览器在这个字段上的值也是不一样的,所以可以根据这个字段来进行判断进而选择不同的操作转换算法;
步骤3、在上述的基础上,为了提高服务器的响应能力,本发明在客户端与服务器端加入了一层负载均衡层,以充分利用服务器资源。Node.js负载均衡架构如图3所示。在这一层中,负载均衡服务器会接受所有来自客户端的请求, 然后根据集群中每个服务器的负载情况选择最优的路由路径来进行转发,并且实时更新各个服务器上的负载情况,以实现负载均衡的功能。系统采用DNS轮询的方式来进行负载均衡,DNS轮询是最简单的负载均衡方式。以域名作为访问入口,通过配置多条DNS A记录使得请求可以分配到不同的服务器。
在步骤3中,利用Node.js基于事件驱动的特点,通过事件轮询的机制带来的实时性的支持,对人力资源管理系统服务器端进行搭建和开发;所述Node.js具有高响应性,高并发性的特点,可以充分利用服务器资源提供可伸缩快速的服务。在Node.js中,所有的异步操作都不会阻塞用户的请求,这样可以使得用户的请求获得快速的响应并且不会阻塞其他用户的请求,通过非阻塞I/O模型可以使得I/O操作不再像传统I/O操作那样影响用户的响应,使得I/O操作变得更加高效和轻量。
本发明的工作原理:本发明在实现传统基于操作转换的数据一致性维护方法基础上,结合适用于移动环境下的操作转换算法,利用Node.js的特点,通过事件驱动的编程模型来构建高并发性高响应的数据一致性维护方法,同时可以适用于异构环境下的一致性维护问题。
本发明相对于现有技术具有如下的优点及效果:
1、利用传统操作转换算法实现了基本的数据一致性维护功能。
2、在传统操作转换算法的基础上加入了适用于移动网络环境下的操作转换算法,通过中间层来调度操作转换算法,使得该发明可以适用于异构网络环境下的一致性维护。
3、由于Node.js非阻塞I/O的特点和事件驱动的特点,基于Node.js的人力资源管理系统比传统的系统具有更好的高并发性和数据处理能力,通过异步I/O来使得密集的I/O操作不会影响后续请求的处理,提供多用户情况下的响应速度。利用node.js来加入负载均衡层,进而提高系统的整体响应速度和处理能力。
4、本发明实现了对共享文档协同编辑的支持,支持多人高并发的操作;基于Node.js服务器端框架,使得这个方法支持实时多人高并发操作,并且可以有效利用服务器的资源,提高资源的利用率。本发明通过结合两种操作转换算法对一致性维护方法进行改进,使得一致性维护方法可以使用于异构环境中并且有更好实时性以及高响应性。
附图说明
图1是基于操作转换的一致性维护架构图。
图2是支持异构环境一致性维护的架构图。
图3是Node.js负载均衡架构图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本发明包括对传统操作转换算法的实现和基于移动环境的改进的操作转换算法以及基于操作转换一致性维护方法的设计和实现。所述的基于移动环境的改进的操作转换算法,是让文档协同编辑支持移动异构网络中的一致性维护,以及增加用户在移动环境中进行文档协同编辑时的准确率。所述的基于操作转换一致性维护方法的设计和实现,即基于改进的操作转换算法的一致性维护方法的实现,设计基于B/S结构的文档编辑工具。
如图1所示,该框架可以支持异构环境下的操作转换算法。首先,客户端每个时间间隔会与服务器进行同步,在这个时间间隔内客户端产生的操作会保存在客户端的操作缓存中。然后,客户端与服务器端进行同步时,会接受服务器端要发送的操作缓存中的操作并且与本地客户端操作缓存中的操作进行相互转换,然后对文档进行服务器端发送的操作缓存中操作并且把转换后的客户端缓存操作发送给服务器端。同时,服务器每隔一定时间会处理客户端发送过来的保存在服务器端接受的操作缓存中的操作。处理客户端发送过来的操作时,服务器会把服务器端接受的操作缓存和服务器端要发送的操作缓存中的操作合并并且放在服务器端要发送的操作缓存中。因此该框架能够很好的适应传统协同环境下的一致性维护问题。
对于不同网络环境下操作转换算法的切换,本方法是通过在中间层加入一个网络检测层,根据检测的结果采用不同的操作转换算法,同时对于接受到的操作序列采用不同的处理方式,如果是移动环境下,就根据操作序列为单位进行操作转换,如果是正常网络环境下,就根据操作为单位进行操作转换。
本发明公开了文档协同编辑中一致性维护的实现方法,该方法实现了基于改 进的操作转换算法的一致性维护。本发明是将两种操作转换相结合提供了异构网络环境下的一致性维护的支持,具有能从更根本的层次上广泛、快速、有效地实现文档一致性维护等优点。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

文档协同编辑中的一致性维护方法.pdf_第1页
第1页 / 共8页
文档协同编辑中的一致性维护方法.pdf_第2页
第2页 / 共8页
文档协同编辑中的一致性维护方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《文档协同编辑中的一致性维护方法.pdf》由会员分享,可在线阅读,更多相关《文档协同编辑中的一致性维护方法.pdf(8页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410613054.5(22)申请日 2014.11.04G06F 17/24(2006.01)(71)申请人华南理工大学地址 510006 广东省广州市番禺区广州大学城华南理工大学(72)发明人黄敏 林彬 何擎昊(74)专利代理机构广州市华学知识产权代理有限公司 44245代理人罗观祥(54) 发明名称文档协同编辑中的一致性维护方法(57) 摘要本发明公开了一种文档协同编辑中的一致性维护方法,包括如下步骤:步骤1、在多人协同编辑的环境下,通过操作转换算法提供对于一致性维护的支持;步骤2、在步骤1的基础上,结合移动环境下的操作转换算。

2、法,使得一致性维护方法可以满足异构环境下的要求;步骤3、在步骤2的基础上,利用Node.js的特点,使得一致性维护方法提供并发操作的支持。具有有效利用了服务器的资源和提高了资源的利用率等优点。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书4页 附图2页(10)申请公布号 CN 104462037 A(43)申请公布日 2015.03.25CN 104462037 A1/1页21.一种文档协同编辑中的一致性维护方法,其特征在于,包括如下步骤:步骤1、在多人协同编辑的环境下,通过操作转换算法提供对于一致性维护的支持;步骤2、在步骤1的基础上,结。

3、合移动环境下的操作转换算法,使得一致性维护方法可以满足异构环境下的要求;步骤3、在步骤2的基础上,利用Node.js的特点,使得一致性维护方法提供并发操作的支持。2.根据权利要求1所述的文档协同编辑中的一致性维护方法,其特征在于:在步骤1中,利用传统操作转换算法提供对于数据一致性维护的支持;操作转换技术以其无锁、细粒度的乐观并发控制特性,成为特别适合此类协同应用系统的一致性维护方法。3.根据权利要求2所述的文档协同编辑中的一致性维护方法,其特征在于:通过加入移动设备的情况下的网络环境特性,结合适用于移动环境的操作转换算法使得一致性维护方法使用在移动环境中,通过整合传统操作转换算法和适用于移动环。

4、境下的操作转换算法构建一个适用于异构环境下的操作转换算法。4.根据权利要求1所述的文档协同编辑中的一致性维护方法,其特征在于:在步骤3中,利用Node.js基于事件驱动的特点,通过事件轮询的机制带来的实时性的支持,对人力资源管理系统服务器端进行搭建和开发;所述Node.js利用服务器资源提供可伸缩快速的服务,在Node.js中,所有的异步操作都不会阻塞用户的请求,用户的请求能获得快速的响应并且不会阻塞其他用户的请求。权 利 要 求 书CN 104462037 A1/4页3文档协同编辑中的一致性维护方法技术领域0001 本发明涉及一种文档协同编辑技术,特别涉及一种文档协同编辑中的一致性维护方法。。

5、背景技术0002 正在进行的信息革命对传统的生产、生活方式产生了深远的影响。技术的进步和发展使许多原来只能在同一地点进行的高交互性协同活动可以通过由网络连接的协同应用系统在线进行。实时协同广泛采用数据复制技术来隐藏网络延迟、提高响应速度和改善交互体验。在复制式结构中,用户可以无约束地在不同数据副本上进行操作,这必然会引发一致性维护问题。随着网络技术的发展、Web应用的普及以及多种协同终端以不同接入模式的参与,涌现了一大批以Web2.0和移动计算为代表的新型协同应用。这些应用呈现出大规模、动态性、操作复杂性、数据类型多样性等新特性,给实时协同中一致性维护的研究带来了新的技术挑战。0003 综上所。

6、述,数据的一致性维护在协同工作中是十分重要的,而一致性维护的研究已经经过了许多年,在这方面有各种方案被提出来,其中操作转换算法是最高效也是最被大家所认可的一种解决方法。发明内容0004 本发明的目的在于克服现有技术的缺点与不足,提供一种文档协同编辑中的一致性维护方法,该一致性维护方法以Node.js平台为基础,利用Node.js的特点构建高并发高响应性的一致性维护方法;该一致性维护系统在传统操作转换算法的基础上加入了适用于移动网络环境下的操作转换算法,通过中间层来调度操作转换算法,使得该发明可以适用于异构网络环境下的一致性维护。0005 本发明的目的通过下述技术方案实现:一种文档协同编辑中的一。

7、致性维护方法,包括以下步骤:0006 步骤1、利用传统操作转换算法构建一个基于操作转换的一致性维护框架。可以将文本内容修改转成以下3种类型的操作:retain(n)-保持n个字符,也就是说这n个字符不变;insert(str)-插入字符str;delete(str)-删除字符str;假设用户为两个人,一个为Alice,另一个为Tom,初始字符串为hello.o world.o,具体示例可以如下:0007 用户Alice的操作执行情况如下:当操作O2到达Alice的站点时,如果该操作直接在当前副本执行,Alice的Makele中,该片段将被修改为:foo.o hebar.o llo.o worl。

8、d.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说 明 书CN 104462037 A2/4页4ins(14,“bar.o”)。这时,在Alice的当前状态“foo.o hello.o wor。

9、ld.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协同编写的程序片段的一致性得到了维护。操作转换就是通过这种方式对并发的操作进行转换,使得最后文本达到一致。在操作转换算法中,操作之间有几种不同的关系:上下文等价关系,上下文串行关系,上下文可比关系和效果。

10、等价关系。操作转换算法通过判断两个操作之间的关系来进行相应的操作转换,来使得两个操作可以在相互的文档中进行操作。对于上下文等价的两个操作,操作转换算法会把其中一个操作在另一个操作的基础上进行转换,然后在作用于产生前一个操作的文档中;对于上下文串行的操作只需要把后发生的操作作用在先发生的操作之后就可以了;对于上下文可比的两个操作,需要先把两个操作转换成上下文等价的状态,然后根据上下文等价状态下的操作转换算法进行转换;对于效果等价的两个操作就不需要执行任何操作就可以了。0008 基于操作转换的一致性维护架构如图1所示,主要包括客户端、服务器端、客户端操作缓存、服务器接受的操作缓存、服务器要发送的操。

11、作缓存等几个部分,整体流程包括以下的a、b、c和d四个步骤:0009 a.客户端每个时间间隔会与服务器进行同步,在这个时间间隔内客户端产生的操作会保存在客户端的操作缓存中。0010 b.客户端与服务器端进行同步时,会接受服务器端要发送的操作缓存中的操作并且与本地客户端操作缓存中的操作进行相互转换,然后对文档进行服务器端发送的操作缓存中操作并且把转换后的客户端缓存操作发送给服务器端。0011 c.服务器每隔一定时间会处理客户端发送过来的保存在服务器端接受的操作缓存中的操作。0012 d.处理客户端发送过来的操作时,服务器会把服务器端接受的操作缓存和服务器端要发送的操作缓存中的操作合并并且放在服务。

12、器端要发送的操作缓存中。因此该框架能够很好的适应传统协同环境下的一致性维护问题;0013 步骤2、为了支持异构环境下的一致性维护,本发明在传统操作转换的基础上考虑了移动环境下的网络特点,结合适用于移动环境的操作转换算法,提出了一种可以适应异构网络环境的一致性维护算法。0014 由于移动环境中移动设备的电量有限,所以为了保证用户的实用性,无法保证客户端与服务器端的持续连接,所以传统的操作转换算法并不适用于这种环境下。在移动环境下,需要把用户的本地操作保存在客户端,然后在更长的一个时间间隔后与服务器端的操作进行合并转换,合并的过程并不是按照一个个操作进行合并,而是根据操作序列进行转换,每个序列也具。

13、有说明(1)中的几种关系,操作转换算法也是根据判断每个序列之间的关系进行相应的操作转换。在服务器端会维护两种环境下的操作,然后根据判断不同的客户端来进行相应的操作转换算法;0015 支持异构环境一致性维护的架构如图2,其中中间操作转换层负责针对不同的网络环境选择不同的操作转换算法进行一致性维护,使得异构环境下的数据保存一致。中间层判断不同客户端是通过判断http请求头中的userAgent字段来判断是来自移动客户端说 明 书CN 104462037 A3/4页5的请求还是来自PC客户端的请求。UserAgent记录了不同浏览器的版本信息,每个版本的浏览器UserAgent是不一样的,而移动浏览。

14、器和PC浏览器在这个字段上的值也是不一样的,所以可以根据这个字段来进行判断进而选择不同的操作转换算法;0016 步骤3、在上述的基础上,为了提高服务器的响应能力,本发明在客户端与服务器端加入了一层负载均衡层,以充分利用服务器资源。Node.js负载均衡架构如图3所示。在这一层中,负载均衡服务器会接受所有来自客户端的请求,然后根据集群中每个服务器的负载情况选择最优的路由路径来进行转发,并且实时更新各个服务器上的负载情况,以实现负载均衡的功能。系统采用DNS轮询的方式来进行负载均衡,DNS轮询是最简单的负载均衡方式。以域名作为访问入口,通过配置多条DNS A记录使得请求可以分配到不同的服务器。00。

15、17 在步骤3中,利用Node.js基于事件驱动的特点,通过事件轮询的机制带来的实时性的支持,对人力资源管理系统服务器端进行搭建和开发;所述Node.js具有高响应性,高并发性的特点,可以充分利用服务器资源提供可伸缩快速的服务。在Node.js中,所有的异步操作都不会阻塞用户的请求,这样可以使得用户的请求获得快速的响应并且不会阻塞其他用户的请求,通过非阻塞I/O模型可以使得I/O操作不再像传统I/O操作那样影响用户的响应,使得I/O操作变得更加高效和轻量。0018 本发明的工作原理:本发明在实现传统基于操作转换的数据一致性维护方法基础上,结合适用于移动环境下的操作转换算法,利用Node.js的。

16、特点,通过事件驱动的编程模型来构建高并发性高响应的数据一致性维护方法,同时可以适用于异构环境下的一致性维护问题。0019 本发明相对于现有技术具有如下的优点及效果:0020 1、利用传统操作转换算法实现了基本的数据一致性维护功能。0021 2、在传统操作转换算法的基础上加入了适用于移动网络环境下的操作转换算法,通过中间层来调度操作转换算法,使得该发明可以适用于异构网络环境下的一致性维护。0022 3、由于Node.js非阻塞I/O的特点和事件驱动的特点,基于Node.js的人力资源管理系统比传统的系统具有更好的高并发性和数据处理能力,通过异步I/O来使得密集的I/O操作不会影响后续请求的处理,。

17、提供多用户情况下的响应速度。利用node.js来加入负载均衡层,进而提高系统的整体响应速度和处理能力。0023 4、本发明实现了对共享文档协同编辑的支持,支持多人高并发的操作;基于Node.js服务器端框架,使得这个方法支持实时多人高并发操作,并且可以有效利用服务器的资源,提高资源的利用率。本发明通过结合两种操作转换算法对一致性维护方法进行改进,使得一致性维护方法可以使用于异构环境中并且有更好实时性以及高响应性。附图说明0024 图1是基于操作转换的一致性维护架构图。0025 图2是支持异构环境一致性维护的架构图。0026 图3是Node.js负载均衡架构图。具体实施方式说 明 书CN 104。

18、462037 A4/4页60027 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。0028 实施例0029 本发明包括对传统操作转换算法的实现和基于移动环境的改进的操作转换算法以及基于操作转换一致性维护方法的设计和实现。所述的基于移动环境的改进的操作转换算法,是让文档协同编辑支持移动异构网络中的一致性维护,以及增加用户在移动环境中进行文档协同编辑时的准确率。所述的基于操作转换一致性维护方法的设计和实现,即基于改进的操作转换算法的一致性维护方法的实现,设计基于B/S结构的文档编辑工具。0030 如图1所示,该框架可以支持异构环境下的操作转换算法。首先,客户端每个时间。

19、间隔会与服务器进行同步,在这个时间间隔内客户端产生的操作会保存在客户端的操作缓存中。然后,客户端与服务器端进行同步时,会接受服务器端要发送的操作缓存中的操作并且与本地客户端操作缓存中的操作进行相互转换,然后对文档进行服务器端发送的操作缓存中操作并且把转换后的客户端缓存操作发送给服务器端。同时,服务器每隔一定时间会处理客户端发送过来的保存在服务器端接受的操作缓存中的操作。处理客户端发送过来的操作时,服务器会把服务器端接受的操作缓存和服务器端要发送的操作缓存中的操作合并并且放在服务器端要发送的操作缓存中。因此该框架能够很好的适应传统协同环境下的一致性维护问题。0031 对于不同网络环境下操作转换算。

20、法的切换,本方法是通过在中间层加入一个网络检测层,根据检测的结果采用不同的操作转换算法,同时对于接受到的操作序列采用不同的处理方式,如果是移动环境下,就根据操作序列为单位进行操作转换,如果是正常网络环境下,就根据操作为单位进行操作转换。0032 本发明公开了文档协同编辑中一致性维护的实现方法,该方法实现了基于改进的操作转换算法的一致性维护。本发明是将两种操作转换相结合提供了异构网络环境下的一致性维护的支持,具有能从更根本的层次上广泛、快速、有效地实现文档一致性维护等优点。0033 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。说 明 书CN 104462037 A1/2页7图1图2说 明 书 附 图CN 104462037 A2/2页8图3说 明 书 附 图CN 104462037 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1