本公开涉及数据处理的,具体而言,涉及一种数据同步方法、系统、计算机设备以及存储介质。
背景技术:
1、数据同步系统可以将源端数据库中数据同步至目标数据库中进行存储。在该数据同步系统中,可以通过数据同步系统中的存储模块将源端数据库中的数据缓存至本地硬盘中,进而将本地硬盘中的数据同步至目标数据库中进行存储。当数据同步系统中的存储模块发生故障时,需要重新从源端数据库拉取大量的数据。这样,当需要拉取的数据量较大时,将延长数据同步系统的恢复时长。
技术实现思路
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、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。