本说明书涉及数据校验,尤其是涉及一种主从存储的数据校验方法、装置、设备及存储介质。
背景技术:
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、由以上本说明书实施例提供的技术方案可见,本说明书实施例中,数据校验服务端可以将基于主存储端的全量数据文件生成的第一哈希值,与基于每个从存储端的全量数据文件分别生成的第二哈希值进行比较,当存在与第一哈希值不同的第二哈希值时,可以基于数据文件分段方式定位该第二哈希值对应全量数据文件中的异常数据,从而实现了分布式架构下主从存储的数据一致性校验及异常数据定位。
1.一种主从存储的数据校验方法,其特征在于,包括:
2.如权利要求1所述的主从存储的数据校验方法,其特征在于,所述基于数据文件分段方式定位所述目标第二哈希值对应全量数据文件中的异常数据,包括:
3.如权利要求2所述的主从存储的数据校验方法,其特征在于,所述主存储端的全量数据文件为:所述主存储端的按照目标键值排序的全量数据文件;所述目标第二哈希值对应全量数据文件为:所述目标第二哈希值对应的按照所述目标键值排序的全量数据文件。
4.如权利要求2所述的主从存储的数据校验方法,其特征在于,所述将所述哈希值第一数组与所述哈希值第二数组进行比较,以根据比较结果确定所述目标第二哈希值对应全量数据文件中的异常数据,包括:
5.如权利要求4所述的主从存储的数据校验方法,其特征在于,在基于数据文件分段方式定位所述目标第二哈希值对应全量数据文件中的异常数据之后,还包括:
6.如权利要求5所述的主从存储的数据校验方法,其特征在于,所述修复所述异常数据,包括:
7.如权利要求1所述的主从存储的数据校验方法,其特征在于,在基于数据文件分段方式定位所述目标第二哈希值对应全量数据文件中的异常数据之后,还包括:
8.如权利要求1所述的主从存储的数据校验方法,其特征在于,在基于数据文件分段方式定位所述目标第二哈希值对应全量数据文件中的异常数据之后,还包括:
9.一种主从存储的数据校验装置,其特征在于,包括:
10.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-8任意一项所述方法的指令。
11.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-8任意一项所述方法的指令。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-8任意一项所述方法的指令。