本技术涉及互联网数据处理领域,具体而言,涉及一种数据同步方法、装置、电子设备及存储介质。
背景技术:
1、随着计算机技术的发展,大数据技术也逐渐发展起来,大数据技术的主要特点是数据量大,即大数据是由大量数据组成的数据集合。为了适应业务发展需求,可能会通过数据同步方式,将已有的海量大数据由一个系统中的数据源同步至另一个或几个系统中的数据源。
2、目前,常用的数据同步方式,是在需要进行数据同步时由人工手动触发数据同步开始流程,数据同步过程中由人工手动从主系统中的数据源(即主数据源)导出待同步的数据,再手动将所导出的数据导入另一个或多个从系统(备用系统)的数据源(即从数据源)中,从而实现主从数据源之间的数据同步。
3、然而,该种数据同步方式依赖于人工的手动参与,不仅浪费了人力物力,还存在同步效率低下等问题。
技术实现思路
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、本技术实施例提供的一种数据同步方法、装置、电子设备及存储介质,能够按照预先设置好的同步时间,自动对从数据源进行数据同步,并且能够对从数据源未接收到的数据进行重复发送,从而保证了从数据源接收到的同步数据的完整性。