基于哈希分桶的数据比对方法、装置、设备及介质与流程

摘要: 本发明涉及数据比对,尤其涉及一种基于哈希分桶的数据比对方法、装置、设备及介质。背景技术:1、在当今大数据时代,数据迁移日益频繁,如何保障迁移过程中数据的准确性与...
基于哈希分桶的数据比对方法、装置、设备及介质与流程

本发明涉及数据比对,尤其涉及一种基于哈希分桶的数据比对方法、装置、设备及介质。

背景技术:

1、在当今大数据时代,数据迁移日益频繁,如何保障迁移过程中数据的准确性与一致性,已成为亟待解决的关键问题。为此,数据迁移比对工具应运而生,它能够对源端与目标端的数据进行细致比较,并自动生成差异结果,从而有效减少人工判断带来的误判风险。这类工具显著提升了比对工作的效率,降低了迁移风险,为数据迁移的顺利推进提供了可靠保障。

2、然而,当前主流的数据比对方式仍以直接库间比对为主,即在源端数据库和目标端数据库之间直接执行查询来完成比较。尽管该方法具有较好的实时性,但其弊端也十分明显,查询操作会给正在运行的源库和目标库带来额外的性能压力,尤其当数据量极为庞大时,极易影响业务系统的正常运行;同时,比对耗时较长、系统资源消耗严重,整体效率低下,难以满足大规模数据迁移对时效性的要求。此外,由于不同数据库在字符排序规则、数据写入顺序、存储引擎及优化器行为等方面存在固有差异,直接比对还常常导致结果不一致,进一步削弱了比对的准确性和可靠性。因此,亟需探索更高效、更稳健的比对方案,以应对日益复杂的数据迁移场景。

技术实现思路

1、本发明的主要目的在于提供一种基于哈希分桶的数据比对方法、装置、设备及存储介质,旨在解决现有数据比对方法在数据迁移场景下对数据库性能影响大、比对效率低以及异构数据库差异导致结果不准确的技术问题。

2、为实现上述目的,本发明提供一种基于哈希分桶的数据比对方法,包括:

3、响应于对比指令,分别从源端数据库和目标端数据库中获取源端待对比数据文件和目标端待对比数据文件;

4、基于源端待对比数据文件和目标端待对比数据文件,确定分桶关键字段;

5、采用哈希算法根据所述分桶关键字段分别计算所述源端待对比数据文件和目标端待对比数据文件中的哈希值,并根据预设分桶数量对所述哈希值进行取模运算,得到每条记录的桶编号,将属于同一桶编号的记录分别写入对应的源端桶文件和目标端桶文件中,得到源端桶内数据和目标端桶内数据;

6、分别为源端桶内数据和目标端桶内数据设置源端指针和目标端指针,根据所述源端指针和目标端指针对所述源端桶内数据和目标端桶内数据进行差异化比较,得到差异记录;

7、按照差异类型对所述差异记录进行分类统计,生成数据比对报告。

8、进一步地,为实现上述目的,本发明提供一种基于哈希分桶的数据比对装置,包括:

9、文件导出模块,用于响应于对比指令,分别从源端数据库和目标端数据库中获取源端待对比数据文件和目标端待对比数据文件;

10、分桶字段模块,用于基于源端待对比数据文件和目标端待对比数据文件,确定分桶关键字段;

11、数据分桶模块,用于采用哈希算法根据所述分桶关键字段分别计算所述源端待对比数据文件和目标端待对比数据文件中的哈希值,并根据预设分桶数量对所述哈希值进行取模运算,得到每条记录的桶编号,将属于同一桶编号的记录分别写入对应的源端桶文件和目标端桶文件中,得到源端桶内数据和目标端桶内数据;

12、差异比对模块,用于分别为源端桶内数据和目标端桶内数据设置源端指针和目标端指针,根据所述源端指针和目标端指针对所述源端桶内数据和目标端桶内数据进行差异化比较,得到差异记录;

13、比对报告模块,用于按照差异类型对所述差异记录进行分类统计,生成数据比对报告。

14、进一步地,为实现上述目的,本发明还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储至所述存储器上并可在所述处理器上运行的基于哈希分桶的数据比对程序,所述基于哈希分桶的数据比对程序被所述处理器执行时实现如上述所述的基于哈希分桶的数据比对方法的步骤。

15、进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述存储介质上存储有基于哈希分桶的数据比对程序,所述基于哈希分桶的数据比对程序被处理器执行时实现如上所述的基于哈希分桶的数据比对方法的步骤。

16、有益效果:本发明涉及数据比对技术领域,公开了一种基于哈希分桶的数据比对方法、装置、设备及介质,包括:响应于对比指令,分别从源端数据库和目标端数据库中获取源端待对比数据文件和目标端待对比数据文件;基于源端待对比数据文件和目标端待对比数据文件,确定分桶关键字段;采用哈希算法根据所述分桶关键字段分别计算所述源端待对比数据文件和目标端待对比数据文件中的哈希值,并根据预设分桶数量对所述哈希值进行取模运算,得到每条记录的桶编号,将属于同一桶编号的记录分别写入对应的源端桶文件和目标端桶文件中,得到源端桶内数据和目标端桶内数据;分别为源端桶内数据和目标端桶内数据设置源端指针和目标端指针,根据所述源端指针和目标端指针对所述源端桶内数据和目标端桶内数据进行差异化比较,得到差异记录;按照差异类型对所述差异记录进行分类统计,生成数据比对报告。本发明通过高效的哈希分桶与并行处理,将源端和目标端数据按桶分解并逐桶比对,精准识别源端缺失、目标端缺失及内容不一致三类差异,自动生成分类统计报告,帮助用户直观掌握数据一致性状况,快速定位问题记录,提高了数据迁移校验与维护的效率。

1.一种基于哈希分桶的数据比对方法,其特征在于,包括以下步骤:

2.如权利要求1所述的基于哈希分桶的数据比对方法,其特征在于,响应于对比指令,分别从源端数据库和目标端数据库中获取源端待对比数据文件和目标端待对比数据文件,包括:

3.如权利要求2所述的基于哈希分桶的数据比对方法,其特征在于,所述源端数据库和目标端数据库通过所述授权验证时,获取源端待对比数据和目标端待对比数据,包括:

4.如权利要求1所述的基于哈希分桶的数据比对方法,其特征在于,基于源端待对比数据文件和目标端待对比数据文件,确定分桶关键字段,包括:

5.如权利要求1所述的基于哈希分桶的数据比对方法,其特征在于,采用哈希算法根据所述分桶关键字段分别计算所述源端待对比数据文件和目标端待对比数据文件中的哈希值,并根据预设分桶数量对所述哈希值进行取模运算,得到每条记录的桶编号,将属于同一桶编号的记录分别写入对应的源端桶文件和目标端桶文件中,得到源端桶内数据和目标端桶内数据,包括:

6.如权利要求1所述的基于哈希分桶的数据比对方法,其特征在于,分别为源端桶内数据和目标端桶内数据设置源端指针和目标端指针,根据所述源端指针和目标端指针对所述源端桶内数据和目标端桶内数据进行差异化比较,得到差异记录,包括:

7.如权利要求1所述的基于哈希分桶的数据比对方法,其特征在于,按照差异类型对所述差异记录进行分类统计,生成数据比对报告,包括:

8.一种基于哈希分桶的数据比对装置,其特征在于,所述基于哈希分桶的数据比对装置包括:

9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储至所述存储器上并可以在所述处理器上运行的基于哈希分桶的数据比对程序,所述基于哈希分桶的数据比对程序被所述处理器执行时实现如权利要求1-7中任一项所述的基于哈希分桶的数据比对方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有基于哈希分桶的数据比对程序,所述基于哈希分桶的数据比对程序被处理器执行时实现如权利要求1-7中任一项所述的基于哈希分桶的数据比对方法的步骤。