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

文档序号:32208976发布日期:2022-11-16 05:29阅读:74来源:国知局
数据同步方法、装置、电子设备和计算机可读存储介质与流程

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.目标配置信息更新子模块,用于若所述第二检测结果为是,所述目标配置信息与已存储的配置信息不同,则将所述已存储的配置信息更新为所述目标配置信息。
31.可选地,所述第一检测结果获取子模块还可以具体用于:
32.若所述第一检测结果为否,则生成所述第一配送任务;
33.将所述第一配送任务发送至包含至少一个配送任务的目标队列。
34.可选地,所述配送任务调度子模块还可以具体用于:
35.获取第三检测结果,所述第三检测结果用于表征所述数据配送任务的运行状态;
36.若所述数据配送任务的状态为待运行,则将所述数据配送任务发送至第一线程,所述第一线程为用于执行所述数据配送任务的线程;
37.执行所述数据配送任务的同时,获取下一数据配送任务对应的第三检测结果。
38.可选地,所述配送任务执行子模块还可以具体用于:
39.获取第四检测结果,所述第四检测结果用于表征所述数据配送任务对应的待同步数据的版本;
40.若所述第四检测结果为所述待同步数据的版本,高于所述服务器存储的对应数据,则将所述待同步数据发送至所述服务器,否则跳过发送所述待同步数据的操作;
41.将所述待同步数据发送至所述服务器后,获取第五检测结果,所述第五检测结果用于表征所述待同步数据的完整性;
42.若所述第五检测结果为所述待同步数据完整,则确定所述待同步数据同步至所述服务器,否则重新执行所述调度后的数据配送任务。
43.可选地,配置信息获取模块还可以具体用于:
44.获取第三配置信息;
45.检测第三配置信息是否已存在;
46.若检测不存在所述第三配置信息,则接收所述第三配置信息;
47.若检测到存在所述第三配置信息,则进一步检测所述第三配置信息相较于已存储的配置信息是否不同;
48.若所述第三配置信息发生变化,则对所述第三配置信息进行更新。
49.可选地,所述数据同步模块还可以具体用于:
50.获取数据同步加速节点,所述数据同步加速节点由所述服务器的第一服务节点注册得到;
51.通过所述数据同步加速节点,将所述待同步数据发送至所述服务器的第二服务节点。
52.本技术实施例第三方面还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本技术实施例所提供的任一种数据同步方法中的步骤。
53.本技术实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术实施例所提供的任一种数据同步方法中的步骤。
54.本技术实施例第五方面还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本技术实施例所提供的任一种数据同步方法中的步骤。
55.由此可知,本技术实施例能够对不同数据类型的待同步数据进行快速、有效的数据同步,且在数据同步的过程中还能够对待同步数据进行管理,从而能够有效地解决待同步数据因数据类型不同,而无法被统一进行数据同步和管理的问题。并且,本技术可以通过全程托管的方式,将待同步数据同步至服务器,既能够避免服务器重启时进行数据同步操作的等待时间,也能够提升同步不同数据类型的待同步数据的效果和效率。
附图说明
56.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
57.图1是本技术实施例提供的数据同步方法的场景示意图;
58.图2是本技术实施例提供的数据同步方法的流程示意图;
59.图3是本技术实施例提供的另一种数据同步方法的流程示意图;
60.图4是本技术实施例提供的配置平台获取配置信息的示意图;
61.图5是本技术实施例提供的同步更新配置信息的示意图;
62.图6是本技术实施例提供的同步更新配置信息的流程示意图;
63.图7是本技术实施例提供的管理数据配送任务的示意图;
64.图8是本技术实施例提供的更新数据配送任务的示意图;
65.图9是本技术实施例提供的调度数据配送任务的示意图;
66.图10是本技术实施例提供的调度数据配送任务的流程示意图;
67.图11是本技术实施例提供的对全局类型的待同步数据进行数据同步的示意图;
68.图12是本技术实施例提供的对分布式类型的待同步数据进行数据同步的示意图;
69.图13是本技术实施例提供的数据同步加速节点执行数据同步的示意图;
70.图14是本技术实施例提供的数据同步装置的结构示意图;
71.图15是本技术实施例提供的电子设备的结构示意图。
具体实施方式
72.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
73.人工智能(artificial intelligence,ai)是一种利用数字计算机来模拟人类感知环境、获取知识并使用知识的技术,该技术可以使机器具有类似于人类的感知、推理与决策的功能。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
74.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
75.本技术实施例提供一种数据同步方法、装置、电子设备和存储介质。
76.其中,该数据同步装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、台式电脑、智能电视、车载设备等设备;服务器也即服务器,服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群或云服务器。
77.在一些实施例中,该数据同步装置还可以集成在多个电子设备中,比如,数据同步装置可以集成在多个服务器中,由多个服务器来实现本技术的数据同步方法。
78.例如,参考图1,该电子设备可以为应用本技术实施例的服务器/终端,也可以为其他能够执行本技术实施例的各种终端,存储端上的数据可以同步至服务器上,也可以同步至终端,服务器与终端也可以进行数据交互。
79.以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺
序的限定。
80.如图1所示,存储端可以为存储待同步数据的远程文件存储系统,服务器和终端上可以运行着同步待同步数据的目标存储系统或目标数据库,其中,存储端可以集成在服务器/终端上,也可以分开设置。在通过电子设备进行数据同步时,该存储端可以接收服务器或终端的数据同步请求,数据同步请求用于请求待同步数据;再根据数据同步请求,获取待同步数据的配置信息,配置信息包括待同步数据的数据类型;最后根据配置信息对应的同步流程进行数据同步操作,同步流程用于将不同数据类型的待同步数据同步至服务器,并对不同数据类型的待同步数据进行管理。
81.另外,本技术实施例中的“多个”指两个或两个以上。本技术实施例中的“第一”和“第二”等用于区分描述,而不能理解为暗示相对重要性。
82.以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
83.该数据同步方法可以由终端或服务器单独执行,也可以由终端和服务器共同执行,在本技术各实施例中,以该方法由终端执行为例进行说明。
84.在本实施例中,提供了一种数据同步方法,如图2所示,该数据同步方法的具体流程可以如下:
85.201、接收服务器的数据同步请求。
86.其中,数据同步请求可以用于请求待同步数据。在一些场景中,本地的服务器或数据库中数据的更新,依赖于外部存储系统或数据库将更新数据同步至服务器或数据中实现。例如图1中的场景,服务器/终端可以将远程文件存储系统的数据同步至服务器,以更新服务器中的数据。
87.在一些场景中,服务器或终端还可以借助带有数据同步功能的相关工具、程序或软件执行本技术的数据同步方法。为便于理解,以视频推荐系统服务器的数据同步场景为例。视频推荐系统通常是根据用户的观看数据,根据观看数据指定视频推荐策略,并最终基于该视频推荐策略为用户进行视频推荐,因此在在该场景下待同步数据为观看数据。其中,观看数据可以包括观看视频的视频名称、视频分类、视频标签、观看时长、观看时段等数据。可以理解,以上观看数据是不断变化、具有时效性的,视频推荐系统应获取最新或较新的观看数据,以使得视频推荐系统能够实现更准确、高效的视频推荐。
88.为获取最新或较新的观看数据,视频推荐系统可以向存储以上观看数据的远程文件存储系统发送数据同步请求,可以同步接收该数据同步请求。使得可以在远程文件存储系统接收到数据同步请求后,协助远程文件存储系统将数据同步请求中请求的待同步数据,发送至视频推荐系统,以同步更新视频推荐系统中版本较旧、存储时间较久的观看数据。
89.步骤202、根据所述数据同步请求,获取所述待同步数据的配置信息。
90.其中,配置信息可以包括待同步数据的数据类型。可选地,待同步数据的数据类型可以包括全局类型的全局类型的待同步数据和分布式类型的分布式类型的待同步数据,也即,全局类型的待同步数据为全局数据,分布式类型的待同步数据为分布式数据。其中,全局数据是指服务器中各服务节点均需要进行全局共享并全局更新的数据,可以将全局数据作为一个整体看待,在应用时服务器的每个服务节点均需加载该全局数据。可选地,全局数
据可以包括保存在本地的本地数据。
91.其中,分布式数据是以分布式的基础架构以及计算方式进行存储和操作的数据,分布式数据可以包含多个数据分片,多个数据分片可以分布在服务器的各个服务节点。
92.请参阅图4,图4是本技术实施例提供的配置平台获取配置信息的示意图。
93.其中,本技术实施例的电子设备中可以搭载有如图4所示的配置,该电子设备可以为终端、服务器等设备,例如如个人电脑、云服务器等;可以包括用于执行数据配置的配置平台,配置平台可以获取待同步数据的基础信息。其中,存储路径是指待同步数据存储在远程存储系统中的位置路径。其中,数据格式是指待同步数据是目录格式还是文件格式。以待同步数据为用户的观看数据为例,观看数据既可以存储为目录格式,也可以存储为文件或文件夹格式。
94.其中,文件标识可以是待同步数据所对应文件的标识信息,例如对应文件的前缀、后缀或其他标识等。其中,其他标识可以是功能性标识,仍以视频推荐场景为例,其他标识可以是无效文件标识,通过在数据配置阶段获取该无效文件标识,可以实现在数据同步的过程中进行数据筛选,例如筛选去除带有该无效文件标识的数据,以保留有效的待同步数据。
95.如图4所示,配置平台中存储有数据配置列表,数据配置列表中包括已存储的数据配置信息。其中,数据配置信息的数量取决于待同步数据的数据类型。前文提到,待同步数据的数据类型可以包括全局类型的待同步数据和分布式类型的待同步数据,因此数据配置列表中可以包括第一配置信息和第二配置信息两种配置信息。也即,在获取待同步数据的基础信息的过程中,可以将获取到的全局数据的基础信息均归为数据配置列表的第一配置信息、将获取到的分布式数据的基础信息均归为数据配置列表的第二配置信息。
96.需要说明的是,数据配置列表中包含数据配置信息的数量和分类依据,可以根据需求设置,例如配置信息的数量并不局限于两个,也并不局限于仅包含第一配置信息和第二配置信息,对配置信息的分类依据也不局限于待同步数据的数据类型,本技术实施例不做限制。
97.步骤203、根据所述配置信息对应的同步流程进行数据同步操作。
98.其中,同步流程可以用于将不同数据类型的待同步数据同步至服务器,并对不同数据类型的待同步数据进行管理。可以理解,在数据配置列表中,由于第一配置信息对应待同步数据中的全局数据,第二配置信息对应待同步数据中的分布式数据,使得本技术能够对全局数据和分布式数据做到统一的数据同步和数据管理。可选地,步骤203还可以包括以下步骤:
99.生成数据配送任务,所述数据配送任务用于将所述配置信息发送至所述服务器;
100.将所述数据配送任务进行调度;
101.执行所述调度后的数据配送任务。
102.可选地,步骤“生成数据配送任务”可以包括:
103.当所述待同步数据的数据类型为全局类型时,将所述待同步数据存储在第一空间,以生成所述待同步数据的配送任务;当所述待同步数据的数据类型为分布式类型,将所述待同步数据存储在第二空间,以生成所述待同步数据的配送任务。
104.可选地,步骤“所述执行所述调度后的数据配送任务”可以包括:
105.对所述第一空间中的所述待同步数据执行全局同步流程处理,以执行所述待同步数据的配送任务;对所述第二空间中的待同步数据执行分布式同步流程处理,以执行所述待同步数据的配送任务。
106.根据步骤202的描述,待同步数据可以包括全局类型的全局类型的待同步数据,以及分布式类型的分布式类型的待同步数据,也即全局数据和分布式数据。如图4所示,配置平台中可以设置有多个用于存储配置信息的空间,例如第一空间、第二空间、

、第n空间等。每个空间可以对应存储不同数据类型的待同步数据,例如图4中所示的,第一空间可以用于存储全局类型的待同步数据对应的第一配置信息、第二空间可以存储有分布式类型的待同步数据对应的第二配置信息。
107.因此,本技术实施例通过全局同步流程处理全局类型的待同步数据的数据同步操作、以分布式同步流程处理分布式类型的待同步数据的数据同步操作,可以兼容同步、管理全局数据和分布数据,以有效地解决待同步数据因数据类型不同,而无法被统一进行数据同步和管理的问题。
108.请参阅图7,图7是本技术实施例提供的管理数据配送任务的示意图。可以理解,在获取待同步数据的配置信息后,已经可以根据配置信息中所包含的基础信息,从远程文件存储系统中快速、准确地确定出具体的待同步数据。因此,可以生成用于配送该待同步数据的数据配送任务,以便于后续根据该数据配送任务将待同步数据同步至服务器。
109.如图7所示,为便于对待同步数据进行统一管理,本技术的服务器、终端可以维护有数据配送任务管理模块,该模块内部维护一个全局的数据配送任务队列。数据配置管理模块可以从配置平台获取待同步数据的配置信息,再向数据配送任务管理模块发送一个请求生成数据配送任务的请求消息,数据配送任务管理模块每收到一个请求消息,则会为该请求消息里包含的待同步数据配置生成一个对应且唯一的数据配送任务,然后将该数据配送任务发送至数据配送任务队列中,以完成后续配送。
110.请参阅图9,图是本技术实施例提供的调度数据配送任务的示意图。如图9所示,数据配送任务管理模块负责调度所有数据配送任务,该数据配送任务管理模块内部维护有全局的、后台运行的任务执行线程池,任务执行线程池中可以包括多个第一线程,第一线程即任务执行线程。此外,还维护有全局的、后台运行的任务调度线程。具体地,在数据配置任务生成后,任务调度线程会扫描目标队列中的数据配送任务,将扫描合格后的数据配送任务下发至任务执行线程池中的第一线程,以通过可以将远程文件存储系统中的待同步数据同步至服务器。
111.可选地,步骤“执行所述调度后的数据配送任务”,可以包括:
112.将所述全局数据以第一方式发送至所述服务器,所述第一方式包括将目标列表下的所述全局数据,发送至所述服务器的每个服务节点,所述目标列表为所述待同步数据所在的数据文件列表;
113.将所述分布式数据以第二方式发送至所述服务器,所述第二方式包括将目标列表下与所述每个服务节点各自对应的分布式数据,发送至对应的所述每个服务节点。
114.请参阅图11和图12,图11是本技术实施例提供的对全局数据进行数据同步的示意图,图12是本技术实施例提供的对分布式数据进行数据同步的示意图。
115.具体地,配置平台的数据配送任务管理模块内部维护有全局的任务执行线程池,
每当任务执行线程池接收到一个数据配送任务后,会由任务执行线程池中处于空闲的第一线程来实际执行该数据配送任务。具体执行时,可以根据数据文件配送任务的数据类型(例如全局数据或分布式数据)来执行不同的数据文件配送流程。
116.可选地,步骤“执行所述调度后的数据配送任务”,可以包括:
117.获取第四检测结果,所述第四检测结果用于表征所述数据配送任务对应的待同步数据的版本;
118.若所述第四检测结果为所述待同步数据的版本,高于所述服务器存储的对应数据,则将所述待同步数据发送至所述服务器,否则跳过发送所述待同步数据的操作;
119.将所述待同步数据发送至所述服务器后,获取第五检测结果,所述第五检测结果用于表征所述待同步数据的完整性;
120.若所述第五检测结果为所述待同步数据完整,则确定所述待同步数据同步至所述服务器,否则重新执行所述调度后的数据配送任务。
121.如图11所示,示出了全局数据文件的配送流程,可以获取远程文件存储系统对应存储路径下的数据文件目录列表,解析获取全局数据文件的版本列表,并根据版本时间的新旧顺序进行排序,然后按照由旧到新的顺序对版本列表依次进行检测,获取第四检测结果。如果第四检测结果为当前检测的待同步数据的版本目录已经完整产出,并且要新于在服务器已经保存的版本,则会将当前待同步数据对应的版本目录下的所有数据下载到服务器,否则会跳过当前版本的数据,继续按照顺序检测下一个待同步数据的版本。
122.当对应的待同步数据的版本目录下的所有数据文件被下载到服务器后,配置平台会对数据文件版本的完整性进行检测,获取第五检测结果。若第五检测结果通过,第五检测结果为待同步数据为完整数据,则会在服务器生成正式的待同步数据版本,更新配置平台内部维护的数据版本信息并输出到服务器的本地存储节点。否则,则认为当前版本的待同步数据下载失败,配置平台可以直接结束下载流程,并且清理当前数据版本在服务器对应的目录和数据文件,然后将当前任务执行线程放回任务执行线程池。
123.如图12所示,示出了分布式数据的配送流程,配置平台可以从外部装置获取分布式数据的拓扑结构,例如外部装置可以为智能的动态分布式路由管理装置。在执行分布式数据的数据配送任务时,可以确定服务器当前服务节点需要下载的分布式数据的逻辑分片列表,然后按照与全局数据相同的数据配送流程执行该分布式数据的数据配送任务。
124.需要说明的是,全局数据与分布式数据在数据配送任务执行上的区别在于,配置平台同步全局数据时,需要下载对应的数据版本目录下的所有全局数据文件;而配置平台同步分布式数据时,需要下载文件类型是下载对应的数据版本目录下的逻辑分片列表对应的分布式数据文件。
125.可选地,步骤“生成数据配送任务”,可以包括:
126.获取第一检测结果,所述第一检测结果用于表征对目标配置信息的第一配送任务是否已生成;
127.若所述第一检测结果为是,对所述目标配置信息的第一配送任务已生成,则获取第二检测结果,所述第二检测结果用于表征,所述目标配置信息相较于已存储的配置信息是否不同;
128.若所述第二检测结果为是,所述目标配置信息与已存储的配置信息不同,则将已
存储的配置信息更新为所述目标配置信息。
129.可选地,步骤“获取第一检测结果”,还可以包括:
130.若所述第一检测结果为否,则生成所述第一配送任务;
131.将所述第一配送任务发送至包含至少一个配送任务的目标队列。
132.请参阅图8,图8是本技术实施例提供的更新数据配送任务的示意图。可选地,本技术实施例还可以包括以下步骤:
133.步骤501、数据配置管理模块消息同步;
134.步骤502、获取配置信息;
135.步骤503、检测配置信息的配送任务是否存在;若是,则执行步骤504,若否则执行步骤505;
136.步骤504、配置信息是否不同,若是,则执行步骤507,若否,则执行步骤508;
137.步骤505、创建关联的数据配送任务;
138.步骤506、将数据配送任务发送至目标队列;
139.步骤507、更新该数据配送任务的配置信息;
140.步骤508、结束操作。
141.如图8所示,配置平台的数据配置管理模块可以生成配送目标配置信息的配送请求消息,并将该配送请求信息发送给数据配送任务管理模块,数据配送任务管理模块在收到该配送请求消息之后,可以先从该配送请求消息中获取关联的目标配置信息,然后可以获取第一检测结果,第一检测结果用于表征对目标配置信息的第一配送任务是否已生成。
142.若第一检测结果为否,则表示目标配置信息的第一配送任务未生成,则配置平台可以创建目标配置信息的数据配送任务,并放入目标队列;若第一检测结果为是,则目标配置信息的第一配送任务已生成。
143.进一步地,当第一检测结果为是,则可以继续获取第二检测结果,第二检测结果用于表征目标配置信息相较于已存储的配置信息是否不同。若第二检测结果为是,则表示目标配置信息与配置平台中已存储的配置信息不同,则可以将已存储的配置信息更新为所述目标配置信息,例如可以将目标配置信息覆盖掉版本较旧的已存储的配置信息,以对旧版本的已存储的数据配置信息进行更新;相应地,若第二检测结果为否,则不进行以上更新处理。
144.可以理解,本技术可以通过获取第一检测结果验证配送目标配置信息的配送任务是否生成,以确保配送任务的对象为目标配置信息。并且在确定目标配置信息的配送任务已生成后,还可以进一步地检测出配置平台已存储的配置信息是否为目标配置信息,以确保待配送的数据配置为版本最新的目标配置信息,从而能够通过以上方式显著地提升数据同步的准确性。
145.可选地,步骤“将所述数据配送任务进行调度”,可以包括:
146.获取第三检测结果,所述第三检测结果用于表征所述数据配送任务的运行状态;
147.若所述数据配送任务的状态为待运行,则将所述数据配送任务发送至第一线程,所述第一线程为所述配置平台中用于执行所述数据配送任务的线程;
148.执行所述数据配送任务的同时,获取下一数据配送任务对应的第三检测结果。
149.请参阅图10,图10是本技术实施例提供的调度数据配送任务的流程示意图。可选
地,本技术实施例可以包括以下步骤:
150.步骤601、任务调度线程扫描目标队列;
151.步骤602、数据配送任务状态是否为待运行;
152.若否,则执行步骤603、跳过当前任务扫描下一个目标队列;
153.若是,则执行步骤604、将数据配送任务发送至任务执行线程池;
154.步骤605、任务执行线程池执行数据配送任务;
155.步骤606、数据配送任务结束状态重置;
156.步骤607、结束操作。
157.如图10所示,在具体应用时,任务调度线程会周期性地扫描数据配送任务队列,每扫描到一个数据配送任务时,会判断该数据配送任务的状态,例如状态可以为运行中和待运行两种,如果该数据配送任务的状态为运行中,则直接跳过本次扫描,直接扫描队列中的下一个数据配送任务;如果该数据配送任务的状态为待运行,则将该数据配送任务发送至任务执行线程池进行处理。
158.由上可知,本技术实施例能够通过配置平台,对不同数据类型的待同步数据进行快速、有效的数据同步,且在数据同步的过程中还能够对待同步数据进行管理,从而能够有效地解决待同步数据因数据类型不同,而无法被统一进行数据同步和管理的问题。并且,本技术的配置平台可以通过全程托管的方式,将待同步数据同步至服务器,既能够避免服务器重启时进行数据同步操作的等待时间,也能够提升同步不同数据类型的待同步数据的效果和效率。
159.可选地,步骤202还可以包括以下步骤:
160.获取第三配置信息;
161.检测第三配置信息是否已存在;
162.若检测不存在所述第三配置信息,则接收所述第三配置信息;
163.若检测到存在所述第三配置信息,则进一步检测所述第三配置信息相较于已存储的配置信息是否不同;
164.若所述第三配置信息发生变化,则对所述第三配置信息进行更新。
165.请参阅图6,图6是本技术实施例提供的同步更新配置信息的流程示意图。可选地,本技术实施例可以包括以下步骤:
166.步骤401、获取配置信息;
167.步骤402、配置信息是否存在;若是,则执行步骤404,若否,则执行步骤403
168.步骤403、插入配置信息;
169.步骤404、配置信息是否不同;
170.步骤405、更新配置信息;
171.步骤406、结束操作。
172.如图6所示,数据配置管理模块在从配置平台获取数据配置信息时,每获取到一个数据配置信息时,则会先判断该数据配置信息是否已经存在于配置平台的配置列表中,例如,新获取的数据配置信息为第三配置信息,如果不存在该第三配置信息,则认为该第三配置信息是新增的,会将该新增的第三配置信息插入到配置平台内部保存的数据配置列表中。
173.相应地,如果存在该第三配置信息,则会将新获取的第三配置信息中的基础信息,与配置平台内部已保存的数据配置信息对应的基础信息进行比较,如果数据配置信息中的基础信息发生了变更,则用新获取的数据配置信息中的基础内容,覆盖配置平台内部已保存的数据配置信息的基础内容,如果数据配置信息中的基础信息未发生变更,则不进行处理。
174.可选地,步骤203还可以包括以下步骤:
175.获取数据同步加速节点,所述数据同步加速节点由所述服务器的第一服务节点注册得到;
176.通过所述数据同步加速节点,将所述待同步数据发送至所述服务器的第二服务节点。
177.请参阅图13,图13是是本技术实施例提供的数据同步加速节点执行数据同步的示意图。可选地,在将待同步数据分发至服务器的各个服务节点的过程中,对于涉及到多个服务节点(即服务集群)的服务器的使用场景中,本技术实施例引入了p2p分发来提升待同步数据的分发效率,以减少远程文件存储系统的带宽压力和加快数据文件分发的速度。
178.如图13所示,本技术中可以在配置平台之外引入了一个中心协调装置,该中心协调装置可以负责对由多个配置平台组成的集群进行授权管理和协调控制,如图13所示,每个配置平台所在的节点在将待同步数据同步下载到本地服务器后,会将自身对应的第一服务节点注册到中心协调装置,这样该第一服务节点就会成为对应待同步数据的数据同步加速节点。当第二服务节点上的配置平台开始下载数据文件的时候,会与中心协调装置进行通信,获取到该待同步数据对应的加速节点信息,优先从加速节点上下载数据文件,这样就可以充分利用服务集群多节点之间的网络带宽和低网络传输时延来提升数据文件的配送效率。相应地,如果该服务集群中没有对应的数据加速节点,则再从远程文件存储系统下载数据文件。
179.另外,配置平台对下载到本地服务器的多个待同步数据可以进行版本管理,并且将版本管理的信息同步输出到本地服务器,供外部装置或者服务器进行访问。
180.可选地,配置平台还可以定期对待同步数据中的旧版本数据进行清理操作,只保留指定数量(例如通过数据配置控制)的版本数据,同时还支持版本回退,通过操作数据配置,可以将本地服务器的待同步数据回流为指版本的数据。
181.由上可知,本技术实施例可以将服务节点注册为数据同步加速节点,并且其他服务节点能够从该数据同步加速节点处获取待同步数据,由于各个服务节点之间的传输,相较于服务节点与远程文件存储系统的传输速度较快、延迟较小,使得本技术实施例的方法能够进一步地提升数据同步的效率。
182.根据上述实施例所描述的方法,以下将作进一步详细说明。
183.在本实施例中,将以数据同步为例,对本技术实施例的方法进行详细说明。
184.如图3所示,一种数据同步方法具体流程如下:
185.步骤301、接收服务器的数据同步请求。
186.服务器向远程文件存储系统发送数据同步请求的同时,配置平台也可以同步获取该数据同步请求,以实现后续将远程存储系统的待同步数据发送至该服务器。
187.步骤302、根据所述数据同步请求,获取所述待同步数据的配置信息。
188.其中,配置信息可以包括待同步数据的基础信息,基础信息可以包括待同步数据的数据类型、存储路径、数据格式和文件标识。
189.步骤303、定期同步更新所述配置信息。
190.请参阅图5,图5是是本技术实施例提供的同步更新配置信息的示意图。
191.如图5所示,可以理解,为了加强对待同步数据的管理,可以定期更新待同步数据的配置信息,例如定期更新的频率可以达到毫秒级别,以尽最大程度实现对配置信息的实时更新操作。
192.步骤304、生成数据配送任务。
193.具体地,在获取数据配置信息后,配置平台可以生成针对该数据配置信息的数据配送任务,以将远程文件存储系统中的待同步数据配送至目标服务器。
194.步骤305、检测数据配送任务是否存在,以及该数据配送任务的配置信息是否变更,并执行相应的操作。
195.可以理解,在数据同步的过程中,若配置平台检测某一数据配送任务已存在,则继续检测下一数据配送任务。相应地,若检测该数据配送任务不存在,则可以将该数据配送任务添加至目标队列。
196.若配置平台检测到数据配送任务中的数据配置信息发生变更,则将数据配送任务中的数据配置信息更新为最新版本。相应地,若配置平台检测到数据配送任务中的数据配置信息未发生变更,则结束该流程,继续执行该数据配送任务。
197.步骤306、调动数据配送任务。
198.具体地,在数据配送任务生成后,可以将该数据配送任务调动至执行该数据配送任务的第一线程。
199.步骤307、检测数据配送任务是否已存在于目标队列,并执行相应的操作。
200.具体地,若配置平台检测到数据配送任务已存在于目标队列,则跳过本次检测操作,继续检测下一个数据配送任务。相应地,若配置平台检测到数据配送任务不存在于目标队列,则创建对应的数据配送任务,并将该数据配送任务放入目标队列。
201.步骤308、通过配置平台,将待同步数据从存储端同步至服务器的第一服务节点。
202.步骤309、以第一服务节点为数据同步加速节点,将带同步数据同步至服务器的其他第二服务节点。
203.具体地,在进行数据同步时,配置平台可以先将待同步数据发送至服务器的其中一个服务节点,例如第一服务节点,第一服务节点相较于其他服务节点(例如第二服务节点)先获取待同步数据,则可以将第一服务节点注册为数据同步加速节点,使得其他的第二服务节点可以不从远程存储系统,而直接从该数据同步加速节点获取待同步数据,以减小数据同步过程中的延迟,提升数据同步的效率。
204.由此可知,本技术实施例能够通过配置平台,对不同数据类型的待同步数据进行快速、有效的数据同步,且在数据同步的过程中还能够对待同步数据进行管理,从而能够有效地解决待同步数据因数据类型不同,而无法被统一进行数据同步和管理的问题。并且,本技术的配置平台可以通过全程托管的方式,将待同步数据同步至服务器,既能够避免服务器重启时进行数据同步操作的等待时间,也能够提升同步不同数据类型的待同步数据的效果和效率。
205.为了更好地实施以上方法,本技术实施例还提供一种数据传输装置,该数据传输装置可以集成在终端或服务器中。
206.例如,如图14所示,为本技术实施例提供的数据传输装置的结构示意图,该数据传输装置可以应用于配置平台,该装置可以包括数据同步请求接收模块701、配置信息获取模块702和数据同步模块703,具体如下:
207.数据同步请求接收模块701,用于接收服务器的数据同步请求,所述数据同步请求用于请求待同步数据;
208.配置信息获取模块702,用于根据所述数据同步请求,获取所述待同步数据的配置信息,所述配置信息包括所述待同步数据的数据类型;
209.数据同步模块703,用于根据所述配置信息对应的同步流程进行数据同步操作,所述同步流程用于将不同数据类型的所述待同步数据同步至所述服务器,并对所述不同数据类型的待同步数据进行管理。
210.可选地,所述数据同步模块703还可以包括:
211.配送任务生成子模块,用于生成数据配送任务,所述数据配送任务用于将所述配置信息发送至所述服务器;
212.配送任务调度子模块,用于将所述数据配送任务进行调度;
213.配送任务执行子模块,用于执行所述调度后的数据配送任务。
214.可选地,所述配送任务生成子模块还具体用于:
215.当所述待同步数据的数据类型为全局类型时,将所述待同步数据存储在第一空间,以生成所述待同步数据的配送任务;
216.所述配送任务执行子模块还具体用于:
217.对所述第一空间中的所述待同步数据执行全局同步流程处理,以执行所述待同步数据的配送任务。
218.可选地,所述数据类型包括分布式类型,所述配送任务生成子模块还具体用于:
219.当所述待同步数据的数据类型为分布式类型,将所述待同步数据存储在第二空间,以生成所述待同步数据的配送任务;
220.所述配送任务执行子模块还具体用于:
221.对所述第二空间中的待同步数据执行分布式同步流程处理,以执行所述待同步数据的配送任务。
222.可选地,所述基础信息分类子模块还可以包括:
223.配送任务生成子模块,用于生成数据配送任务,所述数据配送任务用于将所述配置信息发送至所述服务器;
224.配送任务调度子模块,用于将所述数据配送任务进行调度;
225.配送任务执行子模块,用于执行所述调度后的数据配送任务。
226.可选地,所述配送任务调度子模块还可以具体用于:
227.将所述全局数据以第一方式发送至所述服务器,所述第一方式包括将目标列表下的所述全局数据,发送至所述服务器的每个服务节点,所述目标列表为所述待同步数据所在的数据文件列表;
228.将所述分布式数据以第二方式发送至所述服务器,所述第二方式包括将目标列表
下与所述每个服务节点各自对应的分布式数据,发送至对应的所述每个服务节点。
229.可选地,所述配送任务生成子模块还可以包括:
230.第一检测结果获取子模块,用于获取第一检测结果,所述第一检测结果用于表征对目标配置信息的第一配送任务是否已生成;
231.第二检测结果获取子模块,用于若所述第一检测结果为是,对所述目标配置信息的第一配送任务已生成,则获取第二检测结果,所述第二检测结果用于表征,所述目标配置信息相较于已存储的配置信息是否不同;
232.目标配置信息更新子模块,用于若所述第二检测结果为是,所述目标配置信息与已存储的配置信息不同,则将已存储的配置信息更新为所述目标配置信息。
233.可选地,所述第一检测结果获取子模块还可以具体用于:
234.若所述第一检测结果为否,则生成所述第一配送任务;
235.将所述第一配送任务发送至包含至少一个配送任务的目标队列。
236.可选地,所述配送任务调度子模块还可以具体用于:
237.获取第三检测结果,所述第三检测结果用于表征所述数据配送任务的运行状态;
238.若所述数据配送任务的状态为待运行,则将所述数据配送任务发送至第一线程,所述第一线程为所述配置平台中用于执行所述数据配送任务的线程;
239.执行所述数据配送任务的同时,获取下一数据配送任务对应的第三检测结果。
240.可选地,所述配送任务执行子模块还可以具体用于:
241.获取第四检测结果,所述第四检测结果用于表征所述数据配送任务对应的待同步数据的版本;
242.若所述第四检测结果为所述待同步数据的版本,高于所述服务器存储的对应数据,则将所述待同步数据发送至所述服务器,否则跳过发送所述待同步数据的操作;
243.将所述待同步数据发送至所述服务器后,获取第五检测结果,所述第五检测结果用于表征所述待同步数据的完整性;
244.若所述第五检测结果为所述待同步数据完整,则确定所述待同步数据同步至所述服务器,否则重新执行所述调度后的数据配送任务。
245.可选地,配置信息获取模块702还可以具体用于:
246.获取第三配置信息;
247.检测第三配置信息是否已存在;
248.若检测不存在所述第三配置信息,则接收所述第三配置信息;
249.若检测到存在所述第三配置信息,则进一步检测所述第三配置信息相较于已存储的配置信息是否不同;
250.若所述第三配置信息发生变化,则对所述第三配置信息进行更新。
251.可选地,所述数据同步模块703还可以具体用于:
252.获取数据同步加速节点,所述数据同步加速节点由所述服务器的第一服务节点注册得到;
253.通过所述数据同步加速节点,将所述待同步数据发送至所述服务器的第二服务节点。
254.具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作
为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
255.根据上述描述可知,本技术实施例提供的数据传输装置,通过数据同步请求接收模块701接收服务器的数据同步请求,数据同步请求用于请求待同步数据;配置信息获取模块702根据数据同步请求,获取待同步数据的配置信息,配置信息包括待同步数据的数据类型;数据同步模块703,用于根据配置信息对应的同步流程进行数据同步操作,同步流程用于将不同数据类型的待同步数据同步至服务器,并对不同数据类型的待同步数据进行管理。
256.由此,本技术实施例能够对不同数据类型的待同步数据进行快速、有效的数据同步,且在数据同步的过程中还能够对待同步数据进行管理,从而能够有效地解决待同步数据因数据类型不同,而无法被统一进行数据同步和管理的问题。并且,本技术可以通过全程托管的方式,将待同步数据同步至服务器,既能够避免服务器重启时进行数据同步操作的等待时间,也能够提升同步不同数据类型的待同步数据的效果和效率。
257.本技术实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。如图15所示,其示出了本技术实施例所涉及的电子设备的结构示意图,具体来讲:
258.该电子设备可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803、输入模块804以及通信模块805等部件。本领域技术人员可以理解,图15中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
259.处理器801是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行电子设备的各种功能和处理数据。在一些实施例中,处理器801可包括一个或多个处理核心;在一些实施例中,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
260.存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
261.电子设备还包括给各个部件供电的电源803,在一些实施例中,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
262.该电子设备还可包括输入模块804,该输入模块804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
263.该电子设备还可包括通信模块805,在一些实施例中通信模块805可以包括无线模块,电子设备可以通过该通信模块805的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块805可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
264.尽管未示出,电子设备还可以包括显示模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
265.接收服务器的数据同步请求,所述数据同步请求用于请求待同步数据;
266.根据所述数据同步请求,获取所述待同步数据的配置信息,所述配置信息包括所述待同步数据的数据类型;
267.根据所述配置信息对应的同步流程进行数据同步操作,所述同步流程用于将不同数据类型的所述待同步数据同步至所述服务器,并对所述不同数据类型的待同步数据进行管理。
268.在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种数据同步方法中的步骤。
269.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
270.由上可知,本技术实施例能够对不同数据类型的待同步数据进行快速、有效的数据同步,且在数据同步的过程中还能够对待同步数据进行管理,从而能够有效地解决待同步数据因数据类型不同,而无法被统一进行数据同步和管理的问题。并且,本技术可以通过全程托管的方式,将待同步数据同步至服务器,既能够避免服务器重启时进行数据同步操作的等待时间,也能够提升同步不同数据类型的待同步数据的效果和效率。
271.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
272.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术实施例所提供的任一种数据同步方法中的步骤。例如,该指令可以执行如下步骤:
273.接收服务器的数据同步请求,所述数据同步请求用于请求待同步数据;
274.根据所述数据同步请求,获取所述待同步数据的配置信息,所述配置信息包括所述待同步数据的数据类型;
275.根据所述配置信息对应的同步流程进行数据同步操作,所述同步流程用于将不同数据类型的所述待同步数据同步至所述服务器,并对所述不同数据类型的待同步数据进行管理。
276.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
277.根据本技术的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述实施例中的数据同步方法中的步骤。
278.由此可知,本技术实施例能够对不同数据类型的待同步数据进行快速、有效的数据同步,且在数据同步的过程中还能够对待同步数据进行管理,从而能够有效地解决待同步数据因数据类型不同,而无法被统一进行数据同步和管理的问题。并且,本技术可以通过全程托管的方式,将待同步数据同步至服务器,既能够避免服务器重启时进行数据同步操作的等待时间,也能够提升同步不同数据类型的待同步数据的效果和效率。
279.由于该存储介质中所存储的指令,可以执行本技术实施例所提供的任一种数据同步方法中的步骤,因此,可以实现本技术实施例所提供的任一种数据同步方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
280.以上对本技术实施例所提供的一种数据同步方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1