本发明涉及数据分析应用领域,具体而言,涉及一种基于动态反馈的协同在线编辑数据冲突解决方法、一种计算机设备、一种计算机可读存储介质。
背景技术:
1、目前,面向全集团各成员单位及下属公司的法治法规情况数据填报平台仅能实现数据填报等基础功能,数据收集过程中,单项文档内容繁复,存在单项文档需多人协同完成内容申报场景,多人协同时存在数据冲突,影响协同编辑效率。
技术实现思路
1、为了改善上述技术问题至少之一,本发明的一个目的在于提供一种基于动态反馈的协同在线编辑数据冲突解决方法,简称协同在线编辑数据冲突解决方法。
2、为实现上述目的,本发明第一方面的技术方案提供了一种基于动态反馈的协同在线编辑数据冲突解决方法,包括如下步骤:
3、步骤s1,由云平台实时接收心跳包及数据同步更新请求;
4、步骤s2,若接收到心跳包,则认定发送该心跳包的上游终端在当前时刻不存在更新数据;若接收到数据同步更新请求,则认定发送该数据同步更新请求的上游终端在当前时刻存在更新数据;
5、步骤s3,对于当前时刻接收到至少一个数据同步更新请求的情况,根据当前时间戳lowtime进行更新数据处理;和/或对于当前时刻接收到至少两个数据同步更新请求的情况,根据发送数据同步更新请求的每个上游终端的节点权值确定数据更新的先后顺序。
6、本技术方案所提供的协同在线编辑数据冲突解决方法基于云平台的数据同步机制采用云平台架构,通过云平台的数据处理能力支持多终端的数据更新和数据一致性保证。对于多上游终端同时进行数据更新时,云平台会出现数据版本冲突情况,本技术方案通过设置当前时间戳,保证全局有序局部无序情况下的文档更新流数据处理机制,并通过设置每个上游终端的节点权值,对不同终端的更新优先级进行排序,从而进行文档的有序更新操作。
7、另外,本发明提供的上述技术方案中的基于动态反馈的协同在线编辑数据冲突解决方法还可以具有如下附加技术特征:
8、在上述技术方案中,在步骤s3中,根据当前时间戳lowtime进行更新数据处理的步骤包括:
9、步骤s311,根据云平台的设定时间戳和发起数据同步更新请求的上游终端的设定时间戳中的最小值,确定当前时间戳lowtime;
10、步骤s312,判断上游终端发起数据同步更新请求的时间戳是在当前时间戳lowtime之前还是之后;
11、步骤s313,若上游终端发起数据同步更新请求的时间戳在当前时间戳lowtime之前,则丢弃该上游终端的更新数据或忽略该上游终端的数据同步更新请求;若上游终端发起数据同步更新请求的时间戳在当前时间戳lowtime之后,则允许进行该上游终端的数据更新。
12、在上述技术方案中,步骤s3中,根据发送数据同步更新请求的每个上游终端的节点权值确定数据更新的先后顺序的步骤包括:
13、步骤s321,设置上游终端的节点权值wi;
14、步骤s322,基于上游终端对云平台文档的更新频率、及节点权值wi获取上游终端的节点权值w′i;
15、步骤s323,重复执行步骤s321、步骤s322,获取每个上游终端的节点权值w′i;
16、步骤s324,根据每个上游终端的节点权值w′i的高低确定执行数据更新的先后顺序。
17、进一步地,步骤s324包括:
18、对比新权值w′i和原来的权值wi;
19、如果新权值大于原来的权值,则按新权值进入数据更新流程;如果新权值小于等于原来的权值,则不进行权值代替及数据更新;
20、进入更新流程后,判断是否存在数据冲突;如不存在数据冲突,则用新权值w′i代替原来的wi权值;如存在数据冲突,则根据各个上游终端进行节点权值排序,按节点权值的高低确定执行数据更新的先后顺序。
21、进一步地,数据冲突包括以下至少之一:
22、插入_插入冲突:对于同一节点下进行插入操作;
23、删除_插入冲突:在节点符合删除约束并进行删除后,对节点下新增插入操作;
24、更新_更新冲突:多个上游同时对单个节点进行更新操作。
25、其中,在一些具体情况中,步骤s3包括:
26、步骤s31,根据当前时间戳lowtime对接收到的全部数据同步更新请求进行更新数据处理;
27、步骤s32,确定经过处理后的数据同步更新请求的个数;
28、步骤s33,若经过处理后的数据同步更新请求的个数为一个,则进行数据更新;若经过处理后的数据同步更新请求的个数为多个,则根据发送数据同步更新请求的每个上游终端的节点权值确定数据更新的先后顺序。
29、其中,可以是节点权值大的先执行数据更新,也可以是节点权值小的先执行数据更新。
30、在另一些具体情况中,步骤s3则仅包括:
31、步骤s31,根据当前时间戳lowtime对接收到的全部数据同步更新请求进行更新数据处理。
32、在另一些具体情况中,步骤s3则仅包括:
33、步骤s33中的一部分:根据发送数据同步更新请求的每个上游终端的节点权值确定数据更新的先后顺序。
34、综上,本发明所提供的基于动态反馈的协同在线编辑数据冲突解决方法,适用于多终端并发读写场景下的数据冲突解决采用基于时间窗口lowtime推进的数据同步机制及基于动态反馈的节点更新机制,能够在数据冲突的解决过程中更贴近用户使用意图,降低协同编辑文档冲突中用户修改成本,提高协同编辑效率。
35、本发明第二方面的技术方案提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的第一方面的技术方案提出的任一项的基于动态反馈的协同在线编辑数据冲突解决方法的步骤。
36、在该技术方案中,处理器执行计算机程序时实现本发明的第一方面的技术方案提出的任一项的基于动态反馈的协同在线编辑数据冲突解决方法的步骤,因此具有上述本发明的第一方面的技术方案的全部有益效果,在此不再赘述。
37、本发明第三方面的技术方案提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的技术方案提出的任一项的基于动态反馈的协同在线编辑数据冲突解决方法的步骤。
38、在该技术方案中,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的技术方案提出的任一项的基于动态反馈的协同在线编辑数据冲突解决方法的步骤,因此具有上述本发明的第一方面的技术方案的全部有益效果,在此不再赘述。
39、本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
1.一种基于动态反馈的协同在线编辑数据冲突解决方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于动态反馈的协同在线编辑数据冲突解决方法,其特征在于,在步骤s3中,根据当前时间戳lowtime进行更新数据处理的步骤包括:
3.根据权利要求1或2所述的基于动态反馈的协同在线编辑数据冲突解决方法,其特征在于,步骤s3中,根据发送数据同步更新请求的每个上游终端的节点权值确定数据更新的先后顺序的步骤包括:
4.根据权利要求3所述的基于动态反馈的协同在线编辑数据冲突解决方法,其特征在于,步骤s324包括:
5.根据权利要求4所述的基于动态反馈的协同在线编辑数据冲突解决方法,其特征在于,数据冲突包括以下至少之一:
6.根据权利要求1至5中任一项所述的基于动态反馈的协同在线编辑数据冲突解决方法,其特征在于,步骤s3包括:
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如权利要求1至6中任一项所述的基于动态反馈的协同在线编辑数据冲突解决方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于动态反馈的协同在线编辑数据冲突解决方法的步骤。