数据同步方法、装置、计算机设备和存储介质与流程

文档序号:30084719发布日期:2022-05-18 05:21阅读:81来源:国知局
数据同步方法、装置、计算机设备和存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种数据同步方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着计算机技术的发展,经常需要在不同系统和应用之间进行数据同步,在进行数据同步时,为保障数据的回滚能力,怎样将未同步完成的数据和已同步完成的数据相隔离成为重要的问题。传统技术中,通过数据库的长事务机制进行数据同步,以保障数据的回滚能力。但是,使用一个长时间的事务进行数据同步可能会导致数据的读写阻塞,影响其他应用的正常使用。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够避免发生数据读写阻塞的数据同步方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
4.第一方面,本技术提供了一种数据同步方法。所述方法包括:
5.获取待同步的目标数据集合,以及所述目标数据集合对应的目标版本编号;
6.向目标存储区同步所述目标数据集合中的数据;
7.若同步过程中发生异常,对所述目标版本编号添加未启用标记;
8.若同步过程中未发生异常,在同步完成时,对所述目标版本编号添加启用标记,以使终端根据所述启用标记,确定所述目标数据集合已同步完成。
9.第二方面,本技术还提供了一种数据同步装置。所述装置包括:
10.获取模块,用于获取待同步的目标数据集合,以及所述目标数据集合对应的目标版本编号;
11.同步模块,用于向目标存储区同步所述目标数据集合中的数据;
12.添加模块,用于若同步过程中发生异常,对所述目标版本编号添加未启用标记;
13.所述添加模块,还用于若同步过程中未发生异常,在同步完成时,对所述目标版本编号添加启用标记,以使终端根据所述启用标记,确定所述目标数据集合已同步完成。
14.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
15.获取待同步的目标数据集合,以及所述目标数据集合对应的目标版本编号;
16.向目标存储区同步所述目标数据集合中的数据;
17.若同步过程中发生异常,对所述目标版本编号添加未启用标记;
18.若同步过程中未发生异常,在同步完成时,对所述目标版本编号添加启用标记,以使终端根据所述启用标记,确定所述目标数据集合已同步完成。
19.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
20.获取待同步的目标数据集合,以及所述目标数据集合对应的目标版本编号;
21.向目标存储区同步所述目标数据集合中的数据;
22.若同步过程中发生异常,对所述目标版本编号添加未启用标记;
23.若同步过程中未发生异常,在同步完成时,对所述目标版本编号添加启用标记,以使终端根据所述启用标记,确定所述目标数据集合已同步完成。
24.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
25.获取待同步的目标数据集合,以及所述目标数据集合对应的目标版本编号;
26.向目标存储区同步所述目标数据集合中的数据;
27.若同步过程中发生异常,对所述目标版本编号添加未启用标记;
28.若同步过程中未发生异常,在同步完成时,对所述目标版本编号添加启用标记,以使终端根据所述启用标记,确定所述目标数据集合已同步完成。
29.上述数据同步方法、装置、计算机设备、存储介质和计算机程序产品,获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号并向目标存储区同步目标数据集合中的数据。若同步过程中发生异常,对目标版本编号添加未启用标记。若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。从而可以通过对未同步完成的数据集合的版本编号添加未启用标记,对已同步完成的数据集合的版本编号添加启用标记,来实现将未同步完成的目标数据集合中的数据和其他已同步完成的数据集合中的数据相隔离,避免了通过启动一个长事务进行数据同步而造成数据读写阻塞。并且,由于已同步的目标数据集合都具有对应的版本编号,因此服务器可以对不同版本的数据集合进行比对,从而可以通过比对快速得到不同版本的数据集合的数据变动趋势,提高了对不同版本数据集合进行管理的效率。
附图说明
30.图1为一个实施例中数据同步方法的应用环境图;
31.图2为一个实施例中数据同步方法的流程示意图;
32.图3为一个实施例中数据同步方法的原理示意图;
33.图4为一个实施例中选取数据集合方法的流程示意图;
34.图5为一个实施例中多个版本的数据集合的示意图;
35.图6为一个实施例中数据变动趋势图;
36.图7为一个实施例中恢复数据集合方法的流程示意图;
37.图8为一个实施例中第一信息表和第二信息表的示意图;
38.图9为一个实施例中数据查询方法的流程示意图;
39.图10为一个实施例中数据查询方法的原理示意图;
40.图11为另一个实施例中数据同步方法的流程示意图;
41.图12为一个实施例中数据同步装置的结构框图;
42.图13为另一个实施例中数据同步装置的结构框图;
43.图14为一个实施例中计算机设备的内部结构图。
具体实施方式
44.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
45.本技术实施例提供的数据同步方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号;向目标存储区同步目标数据集合中的数据;若同步过程中发生异常,对目标版本编号添加未启用标记;若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端102根据启用标记,确定目标数据集合已同步完成。
46.其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
47.在一个实施例中,如图2所示,提供了一种数据同步方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
48.s202,获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号。
49.其中,目标数据集合可以是任意格式的数据组成的数据集合,包括文本数据、视频数据、音频数据或者网页数据等。例如,目标数据集合可以是由从交易客户端获取的销售数据组成的数据集合,或者目标数据集合也可以是由财务数据组成的数据集合,或者目标数据集合也可以社交数据组成的数据集合。目标数据集合中可以包括json(javascript object notation,js对象简谱)格式、csv(comma separate values,逗号分隔符文件)格式、xml(extensible markup language,可扩展标记语言)格式等多种格式的数据。目标版本编号是目标数据集合对应的数据版本的编号,可以由数字、字母、字符或者特殊符合等组成。例如,目标版本编号可以为b-001。
50.在一个实施例中,s202具体包括:服务器获取待同步的目标数据集合,基于历史版本的数据集合的版本编号,对目标数据集合分配版本编号,得到目标版本编号,所分配的目标版本编号和历史版本编号相连续。例如,目标存储区已经存储了b-001、b-002和b-003三个版本的数据集合,当服务器获取目标数据集合时,对目标数据集合分配的目标版本编号可以为b-004。
51.s204,向目标存储区同步目标数据集合中的数据。
52.其中,目标存储区是用于存储目标数据集合中数据的存储区域,可以是数据仓库、数据库或者大数据平台中的存储区,或者也可以是云存储区等。
53.在一个实施例中,服务器可以通过etl(extract-transform-load,抽取-转换-加载)工具从应用客户端抽取待同步的目标数据集合,然后通过etl工具向数据仓库的目标存储区同步目标数据集合中的数据。或者,服务器也可以通过sqoop工具或者datax工具向目标存储区同步目标数据集合中的数据。
54.s206,若同步过程中发生异常,对目标版本编号添加未启用标记。
55.其中,未启用标记是用于表示目标版本编号对应的目标数据集合尚未同步完成的标记,包括禁用标记和删除标记。由于在发生异常时,服务器对目标版本编号添加了未启用标记,所以即使服务器不删除发生同步异常的目标数据集合中的数据,也可以通过未启用标记识别出未同步完成的目标数据集合中的数据,不会将目标数据集合中的数据和已同步完成的其他数据集合中的数据混淆,从而实现了将未同步完成的数据和已同步完成的数据相隔离。
56.在一个实施例中,如图3所示,服务器向数据存储系统的目标存储区同步目标数据集合中的数据,并将目标数据集合对应的版本编号写入数据版本记录中。若同步过程中发生异常,对目标版本编号添加未启用标记,然后启动新的数据同步任务。
57.在一个实施例中,s206之后还包括:在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。在向目标存储区同步目标数据集合中的数据时,若同步过程中发生异常,服务器并不立即对目标存储区中属于目标数据集合的数据进行删除,而是先对目标版本编号添加未启用标记,使目标数据集合中的数据和其他已同步完成的数据集合中的数据相隔离,然后在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除,可以节省目标存储区的存储空间,并且避免了在系统繁忙时进行数据清理,影响其他应用的正常使用。
58.s208,若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。
59.其中,启用标记是用于表示目标版本编号对应的目标数据集合已同步完成的标记。当服务器对目标版本编号对应的目标数据集合添加了启用标记时,确定目标数据结合为已同步完成的可用数据集合。
60.上述实施例中,获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号并向目标存储区同步目标数据集合中的数据。若同步过程中发生异常,对目标版本编号添加未启用标记,以在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。从而可以通过对未同步完成的数据集合的版本编号添加未启用标记,对已同步完成的数据集合的版本编号添加启用标记,来实现将未同步完成的目标数据集合中的数据和其他已同步完成的数据集合中的数据相隔离,避免了通过启动一个长事务实现数据隔离而造成数据读写阻塞。并且,由于已同步的目标数据集合都具有对应的版本编号,因此服务器可以对不同版本的数据集合进行比对,从而可以通过比对快速得到不同版本的数据集合的数据变动趋势,提高了对不同版本数据集合进行管理的效率。
61.在一个实施例中,如图4所示,s208之后还包括如下步骤:
62.s402,在系统空闲时,对目标存储区中存储的目标数据集合以及其他版本的数据集合,按照各数据集合对应的版本编号进行排序,得到排序后数据集合。
63.其中,其他版本的数据集合可以是目标存储区中,除目标数据集合之外的、其他已同步完成的数据集合。
64.在一个实施例中,服务器可以按照版本编号从小到大或者从大到小的顺序对各数据集合进行排序,得到排序后数据集合。例如,如图4所示,目标存储区中存储了版本-1至版
本-5五个版本的数据集合。服务器按照各数据集合对应的版本编号从小到大的顺序对各数据集合进行排序,得到排序后数据集合。
65.s404,从排序后数据集合中的首个数据集合开始,将当前的数据集合与下一数据集合进行比对,直到最后一个数据集合时比对结束,得到各数据集合对应的比对信息。
66.其中,比对信息是用于表示数据集合间差异的信息,包括差量信息、增量信息和变动信息。差量信息是用于表示删除数据的信息。增量信息是用于表示新增数据的信息。变动信息是用于表示发生改变的数据的信息。例如,如图5所示,版本-2的数据集合中删除了版本-1中的c、d、e数据,版本-2对应的差量信息为删c、删d和删e。例如,版本-3的数据集合中新增了版本-2的数据集合中没有的c数据,版本-3对应的增量信息为新增c。例如,在版本-2的数据集合中,对版本-1的数据集合中的a数据和b数据进行了改变,版本-2对应的变动信息为a改、b改。
67.在一个实施例中,s404之后还包括:服务器根据各数据集合对应的比对信息绘制出数据变动趋势图并展示。例如,如图6所示,横坐标表示对应的数据集合的版本编号,纵坐标表示将各版本数据集合与前一版本的数据集合进行比对,所得的删除数据的数量。
68.s406,在排序后数据集合中,基于比对信息选取关注的数据集合,并将关注的数据集合对应的版本编号反馈至终端。
69.其中,关注的数据集合可以是与前一版本的数据集合间差异大于预设值的数据集合。例如,关注的数据集合为版本编号为b-003的数据集合,服务器将b-003反馈至终端。
70.在一个实施例中,s406具体包括:基于比对信息确定各排序后数据集合对应的差异值;当差异值大于比对阈值时,将差异值对应的排序后数据集合确定为关注的数据集合。其中,差异值是用于表示两个数据集合间差异的数值,可以是删除数据数量、变动数据数量或者新增数据数量的一种或多种,或者也可以是删除数据数量、变动数据数量或者新增数据数量的总和。服务器可以根据实际需求设置比对阈值,例如,将比对阈值设置为20、36或者100等。
71.上述实施例中,服务器在系统空闲时,对目标存储区中存储的目标数据集合以及其他版本的数据集合进行比对,基于比对信息选取关注的数据集合,并将关注的数据集合对应的版本编号反馈至终端。从而服务器可以快速定位出与前一版本的数据集合间差异超出范围的关注的数据集合,提高了数据处理的效率。
72.在一个实施例中,比对信息包括差量信息、增量信息和变动信息;如图7所示,s304之后还包括如下步骤:
73.s702,将差量信息存入第一信息表,以及将增量信息和变动信息存入第二信息表。
74.其中,第一信息表是用于存储差量信息的数据表。第二信息表是用于存储增量信息和变动信息的数据表。例如,如图8所示,假设版本-1的前一版本的数据集合为空的数据集合。服务器将版本-1至版本-5的任一数据集合与前一版本的数据集合间的差量信息存入第一信息表,将版本-1至版本-5的任一数据集合与前一版本的数据集合间的增量信息和变动信息存入第二信息表。
75.s704,当接收到数据回滚指令时,从数据回滚指令中提取待恢复版本编号。
76.其中,数据回滚指令是用于指示服务器恢复历史版本的数据集合的指令。待恢复版本编号是用户期望回滚的数据集合对应的版本编号,例如,b-003。当目标存储区存在多
个版本的数据集合时,服务器可以对多个版本的数据集合进行清理。例如,服务器可以按照数据同步的时间,保留最新版本的数据集合,并对其他数据集合进行清理。在进行清理后,若服务器接收到数据回滚指令,从数据回滚指令中提取待恢复版本编号,并可以通过第一信息表、第二信息表和保留的最新版本的数据集合对待恢复版本编号对应的数据集合进行恢复。
77.s706,基于第一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合。
78.服务器基于第一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合。例如,如图8所示,假如待恢复版本编号为版本-3,最新版本的数据集合为版本-5的数据集合。服务器根据版本-5的数据集合以及版本-5的数据集合对应的第一信息表和第二信息表可以恢复版本-4的数据集合,然后根据版本-4的数据集合以及版本-4的数据集合对应的第一信息表和第二信息表可以恢复版本-3的数据集合。
79.上述实施例中,服务器将各版本的数据集合对应的差量信息存入第一信息表,并且将各版本的数据集合对应的增量信息和变动信息存入第二信息表。当接收到数据回滚指令时,从数据回滚指令中提取待恢复版本编号,并基于第一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合,从而服务器可以仅保留最新版本的数据集合,并可以通过最新版本的数据集合恢复其他版本的数据集合,降低了数据存储量,节省了存储空间。
80.在一个实施例中,如图9所示,s208之后还包括如下步骤:
81.s902,当接收到数据查询指令时,获取添加了启用标记的待查询版本编号。
82.其中,数据查询指令是用于指示服务器进行数据查询的指令。当服务器接收到数据查询指令时,根据数据查询指令在已启用的数据集合中进行查询,得到查询结果。由于服务器对已启用的数据集合对应的版本编号添加了启用标记,所以服务器在接收到数据查询指令时,通过搜索获取添加了启用标记的版本编号,将获取的版本编号作为待查询版本编号。例如,如图10所示,服务器在进行数据同步时,将待同步的目标数据集合对应的版本编号存入数据版本记录,并在对目标数据集合同步完成时,将在数据版本记录中对已同步完成的目标数据集合对应的目标版本编号添加启用标记。服务器在接收到数据查询指令时,从数据版本记录中获取添加了启用标记的待查询版本编号。
83.s904,针对各待查询版本编号对应的数据集合进行查询,得到查询记录。
84.服务器在各待查询版本编号对应的数据集合中进行查询,得到查询记录。例如,假如待查询版本编号为b-001、b-002,服务器在b-001和b-002对应的数据集合中进行查询,得到查询记录。
85.s906,从查询记录中选取目标查询记录并反馈。
86.在一个实施例中,s906具体包括:获取各查询记录对应的维度标识;若各维度标识均相同,从查询记录中,选取最新版本的查询记录作为目标查询记录并反馈;若各维度标识不同,则将全部查询记录作为目标查询记录并反馈。
87.其中,维度标识是用于表示数据集合中数据的维度的标识。例如维度标识可以是数字序列,或者维度标识也可以是md5(message-digest algorithm,消息摘要算法)散列值
等。
88.服务器在获取查询记录时,如果各查询记录的维度标识均相同,则从查询记录中,选取最新版本的查询记录作为目标查询记录并反馈,从而仅反馈最新版本的查询记录。若各维度标识不同,则将全部查询记录作为目标查询记录并反馈,从而可以向用户反馈各个版本的查询记录。
89.上述实施例中,服务器在接收到数据查询指令时,获取添加了启用标记的待查询版本编号,针对各待查询版本编号对应的数据集合进行查询,得到查询记录并从查询记录中选取目标查询记录并反馈。从而可以根据启用标记确定已启用的数据集合,并在已启用的数据集合中进行查询,保证了所反馈的查询记录的有效性。
90.在一个实施例中,如图11所示,数据同步方法包括如下步骤:
91.s1102,获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号;向目标存储区同步目标数据集合中的数据。
92.s1104,若同步过程中发生异常,对目标版本编号添加未启用标记,以在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。
93.s1106,若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。
94.s1108,在系统空闲时,对目标存储区中存储的目标数据集合以及其他版本的数据集合,按照各数据集合对应的版本编号进行排序,得到排序后数据集合。
95.s1110,从排序后数据集合中的首个数据集合开始,将当前的数据集合与下一数据集合进行比对,直到最后一个数据集合时比对结束,得到各数据集合对应的比对信息。
96.s1112,基于比对信息确定各排序后数据集合对应的差异值。
97.s1114,当差异值大于比对阈值时,将差异值对应的排序后数据集合确定为关注的数据集合,并将关注的数据集合对应的版本编号反馈至终端。
98.s1116,将差量信息存入第一信息表,以及将增量信息和变动信息存入第二信息表。
99.s1118,当接收到数据回滚指令时,从数据回滚指令中提取待恢复版本编号;基于第一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合。
100.s1120,当接收到数据查询指令时,获取添加了启用标记的待查询版本编号;针对各待查询版本编号对应的数据集合进行查询,得到查询记录。
101.s1122,获取各查询记录对应的维度标识。
102.s1124,若各维度标识均相同,从查询记录中,选取最新版本的查询记录作为目标查询记录并反馈;若各维度标识不同,则将全部查询记录作为目标查询记录并反馈。
103.上述s1102至s1124的具体内容可以参考上文所述的具体实现过程。
104.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这
些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
105.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据同步方法的数据同步装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据同步装置实施例中的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。
106.在一个实施例中,如图12所示,提供了一种数据同步装置,包括:获取模块1202、同步模块1204和添加模块1206,其中:
107.获取模块1202,用于获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号;
108.同步模块1204,用于向目标存储区同步目标数据集合中的数据;
109.添加模块1206,用于若同步过程中发生异常,对目标版本编号添加未启用标记;
110.添加模块1206,还用于若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。
111.上述实施例中,获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号并向目标存储区同步目标数据集合中的数据。若同步过程中发生异常,对目标版本编号添加未启用标记,以在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。从而可以通过对未同步完成的数据集合的版本编号添加未启用标记,对已同步完成的数据集合的版本编号添加启用标记,来实现将未同步完成的目标数据集合中的数据和其他已同步完成的数据集合中的数据相隔离,避免了通过启动一个长事务进行数据同步而造成数据读写阻塞。并且,由于已同步的目标数据集合都具有对应的版本编号,因此服务器可以对不同版本的数据集合进行比对,从而可以通过比对快速得到不同版本的数据集合的数据变动趋势,提高了对不同版本数据集合进行管理的效率。
112.在一个实施例中,如图13所示,装置还包括:
113.排序模块1208,用于在系统空闲时,对目标存储区中存储的目标数据集合以及其他版本的数据集合,按照各数据集合对应的版本编号进行排序,得到排序后数据集合;
114.比对模块1210,用于从排序后数据集合中的首个数据集合开始,将当前的数据集合与下一数据集合进行比对,直到最后一个数据集合时比对结束,得到各数据集合对应的比对信息;
115.第一选取模块1212,用于在排序后数据集合中,基于比对信息选取关注的数据集合,并将关注的数据集合对应的版本编号反馈至终端。
116.在一个实施例中,第一选取模块1212,还用于:
117.基于比对信息确定各排序后数据集合对应的差异值;
118.当差异值大于比对阈值时,将差异值对应的排序后数据集合确定为关注的数据集合。
119.在一个实施例中,比对信息包括差量信息、增量信息和变动信息;装置还包括:
120.存储模块1214,用于将差量信息存入第一信息表,以及将增量信息和变动信息存
入第二信息表;
121.提取模块1216,用于当接收到数据回滚指令时,从数据回滚指令中提取待恢复版本编号;
122.恢复模块1218,用于基于第一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合。
123.在一个实施例中,装置还包括:
124.获取模块1202,还用于当接收到数据查询指令时,获取添加了启用标记的待查询版本编号;
125.查询模块1220,用于针对各待查询版本编号对应的数据集合进行查询,得到查询记录;
126.第二选取模块1222,用于从查询记录中选取目标查询记录并反馈。
127.在一个实施例中,第二选取模块1222,还用于:
128.获取各查询记录对应的维度标识;
129.若各维度标识均相同,从查询记录中,选取最新版本的查询记录作为目标查询记录并反馈;
130.若各维度标识不同,则将全部查询记录作为目标查询记录并反馈。
131.在一个实施例中,装置还包括:
132.删除模块1224,用于在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。
133.上述数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
134.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据同步数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据同步方法。
135.本领域技术人员可以理解,图14中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
136.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号;向目标存储区同步目标数据集合中的数据;若同步过程中发生异常,对目标版本编号添加未启用标记,以在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除;若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。
137.在一个实施例中,处理器执行计算机程序时还实现以下步骤:在系统空闲时,对目
标存储区中存储的目标数据集合以及其他版本的数据集合,按照各数据集合对应的版本编号进行排序,得到排序后数据集合;从排序后数据集合中的首个数据集合开始,将当前的数据集合与下一数据集合进行比对,直到最后一个数据集合时比对结束,得到各数据集合对应的比对信息;在排序后数据集合中,基于比对信息选取关注的数据集合,并将关注的数据集合对应的版本编号反馈至终端。
138.在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于比对信息确定各排序后数据集合对应的差异值;当差异值大于比对阈值时,将差异值对应的排序后数据集合确定为关注的数据集合。
139.在一个实施例中,比对信息包括差量信息、增量信息和变动信息;处理器执行计算机程序时还实现以下步骤:将差量信息存入第一信息表,以及将增量信息和变动信息存入第二信息表;当接收到数据回滚指令时,从数据回滚指令中提取待恢复版本编号;基于第一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合。
140.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到数据查询指令时,获取添加了启用标记的待查询版本编号;针对各待查询版本编号对应的数据集合进行查询,得到查询记录;从查询记录中选取目标查询记录并反馈。
141.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取各查询记录对应的维度标识;若各维度标识均相同,从查询记录中,选取最新版本的查询记录作为目标查询记录并反馈;若各维度标识不同,则将全部查询记录作为目标查询记录并反馈。
142.在一个实施例中,处理器执行计算机程序时还实现以下步骤:在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。
143.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号;向目标存储区同步目标数据集合中的数据;若同步过程中发生异常,对目标版本编号添加未启用标记,以在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除;若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。
144.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在系统空闲时,对目标存储区中存储的目标数据集合以及其他版本的数据集合,按照各数据集合对应的版本编号进行排序,得到排序后数据集合;从排序后数据集合中的首个数据集合开始,将当前的数据集合与下一数据集合进行比对,直到最后一个数据集合时比对结束,得到各数据集合对应的比对信息;在排序后数据集合中,基于比对信息选取关注的数据集合,并将关注的数据集合对应的版本编号反馈至终端。
145.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于比对信息确定各排序后数据集合对应的差异值;当差异值大于比对阈值时,将差异值对应的排序后数据集合确定为关注的数据集合。
146.在一个实施例中,比对信息包括差量信息、增量信息和变动信息;计算机程序被处理器执行时还实现以下步骤:将差量信息存入第一信息表,以及将增量信息和变动信息存入第二信息表;当接收到数据回滚指令时,从数据回滚指令中提取待恢复版本编号;基于第
一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合。
147.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到数据查询指令时,获取添加了启用标记的待查询版本编号;针对各待查询版本编号对应的数据集合进行查询,得到查询记录;从查询记录中选取目标查询记录并反馈。
148.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取各查询记录对应的维度标识;若各维度标识均相同,从查询记录中,选取最新版本的查询记录作为目标查询记录并反馈;若各维度标识不同,则将全部查询记录作为目标查询记录并反馈。
149.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。
150.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取待同步的目标数据集合,以及目标数据集合对应的目标版本编号;向目标存储区同步目标数据集合中的数据;若同步过程中发生异常,对目标版本编号添加未启用标记,以在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除;若同步过程中未发生异常,在同步完成时,对目标版本编号添加启用标记,以使终端根据启用标记,确定目标数据集合已同步完成。
151.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在系统空闲时,对目标存储区中存储的目标数据集合以及其他版本的数据集合,按照各数据集合对应的版本编号进行排序,得到排序后数据集合;从排序后数据集合中的首个数据集合开始,将当前的数据集合与下一数据集合进行比对,直到最后一个数据集合时比对结束,得到各数据集合对应的比对信息;在排序后数据集合中,基于比对信息选取关注的数据集合,并将关注的数据集合对应的版本编号反馈至终端。
152.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于比对信息确定各排序后数据集合对应的差异值;当差异值大于比对阈值时,将差异值对应的排序后数据集合确定为关注的数据集合。
153.在一个实施例中,比对信息包括差量信息、增量信息和变动信息;计算机程序被处理器执行时还实现以下步骤:将差量信息存入第一信息表,以及将增量信息和变动信息存入第二信息表;当接收到数据回滚指令时,从数据回滚指令中提取待恢复版本编号;基于第一信息表、第二信息表、以及排序后数据集合中最新版本的数据集合,恢复待恢复版本编号对应的数据集合。
154.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到数据查询指令时,获取添加了启用标记的待查询版本编号;针对各待查询版本编号对应的数据集合进行查询,得到查询记录;从查询记录中选取目标查询记录并反馈。
155.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取各查询记录对应的维度标识;若各维度标识均相同,从查询记录中,选取最新版本的查询记录作为目标查询记录并反馈;若各维度标识不同,则将全部查询记录作为目标查询记录并反馈。
156.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在系统空闲时,基于未启用标记,将目标存储区中属于目标数据集合的数据删除。
157.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人
信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
158.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
159.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
160.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1