数据校验方法及装置、存储介质、电子设备与流程

文档序号:37355440发布日期:2024-03-18 18:40阅读:23来源:国知局
数据校验方法及装置、存储介质、电子设备与流程

本技术实施例涉及数据处理领域,具体而言,涉及一种数据校验方法及装置、存储介质、电子设备。


背景技术:

1、随着信息创新工作的不断深入,各个领域和行业都致力于自主研发数据库平台,以满足不断增长的数据存储和处理需求。而启用信息创新工作数据库就必须进行数据迁移工作。在整个数据迁移过程中,数据库迁移校验是在数据迁移完成后,对源数据库和目标数据库进行数据一致性验证和性能评估的过程,它保证了数据的完整性、业务的连续性、性能的评估和优化,以及数据的安全性和合规性。

2、目前数据库迁移后往往使用迁移工具对每条数据进行一一比对或比对数据库哈希值等方式。在数据量较小时可快速得出计算结果,但在数据量庞大的情况下,会耗费大量时间,效率极低。


技术实现思路

1、本技术实施例提供了一种数据校验方法及装置、存储介质、电子设备,以解决相关技术中校验数据的一致性效率低的问题。

2、根据本技术的一个实施例,提供了一种数据校验方法,包括:计算源校验树的源校验值和目标校验树的目标校验值,其中,上述源校验树中包括源数据库中的数据信息,上述目标校验树中包括目标数据库中的数据信息,上述目标数据库中的数据是从上述源数据库中迁移的数据,上述源校验值是对上述源校验树中的节点进行循环冗余校验得到的值,上述目标校验值是对上述目标校验树中的节点进行循环冗余校验得到的值;比对上述源校验值和上述目标校验值,得到比对结果;基于上述比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性。

3、在一个示例性实施例中,计算源校验树的源校验值和目标校验树的目标校验值之前,上述方法还包括:创建空闲处理队列,其中,上述空闲处理队列中包括多个处理单元,其中,多个上述处理单元以循环单链表的结构存储在上述空闲处理队列中,多个上述处理单元用于按照上述循环单链表的结构计算上述源校验值和上述目标校验值。

4、在一个示例性实施例中,计算源校验树的源校验值和目标校验树的目标校验值之前,上述方法还包括:获取上述源数据库中的数据信息,其中,上述源数据库中的数据信息中包括上述源数据库的名称、上述源数据库中源数据表的名称以及上述源数据表中源字段的名称;将上述源数据库的名称保存至上述源校验树的根节点中;将上述源数据表的名称保存至上述源校验树的子节点中;将上述源字段的名称保存至上述源校验树的叶节点中。

5、在一个示例性实施例中,计算源校验树的源校验值和目标校验树的目标校验值之前,上述方法还包括:获取上述目标数据库中的数据信息,其中,上述目标数据库中的数据信息中包括上述目标数据库的名称、上述目标数据库中目标数据表的名称以及上述目标数据表中目标字段的名称;将上述目标数据库的名称保存至上述目标校验树的根节点中;将上述目标数据表的名称保存至上述目标校验树的子节点中;将上述目标字段的名称保存至上述目标校验树的叶节点中。

6、在一个示例性实施例中,计算源校验树的源校验值,包括:确定上述源校验树中叶节点对应的第一校验队列,其中,上述第一校验队列中包括上述源校验树中每个上述叶节点的校验值,上述源校验树中每个上述叶节点的校验值均是对上述源校验树中每个上述叶节点对应的数据进行循环冗余校验得到的值;利用上述第一校验队列确定上述源校验树中子节点对应的第二校验队列,其中,上述第二校验队列中包括上述源校验树中每个上述子节点的校验值,上述源校验树中每个上述子节点的校验值均是对上述源校验树中每个上述子节点对应的叶节点的校验值进行循环冗余校验得到的值;利用上述第二校验队列确定上述源校验树中根节点的校验值;将上述源校验树中每个上述叶节点的校验值、上述源校验树中每个上述子节点的校验值以及上述源校验树中上述根节点的校验值确定为上述源校验值,其中,上述源校验树中上述叶节点的校验值和上述叶节点对应的字段的名称均存储在上述叶节点中、上述源校验树中上述子节点的校验值和上述子节点对应的数据表的名称均存储在上述子节点中,上述源校验树中上述根节点的校验值和上述源数据库的名称均存储在上述根节点中。

7、在一个示例性实施例中,计算目标校验树的目标校验值,包括:确定上述目标校验树中叶节点对应的第一校验队列,其中,上述第一校验队列中包括上述目标校验树中每个上述叶节点的校验值,上述目标校验树中每个上述叶节点的校验值均是对上述目标校验树中每个上述叶节点对应的数据进行循环冗余校验得到的值;利用上述第一校验队列确定上述目标校验树中子节点对应的第二校验队列,其中,上述第二校验队列中包括上述目标校验树中每个上述子节点的校验值,上述目标校验树中每个上述子节点的校验值均是对上述目标校验树中每个上述子节点对应的叶节点的校验值进行循环冗余校验得到的值;利用上述第二校验队列确定上述目标校验树中根节点的校验值;将上述目标校验树中每个上述叶节点的校验值、上述目标校验树中每个上述子节点的校验值以及上述目标校验树中上述根节点的校验值确定为上述源校验值,其中,上述目标校验树中上述叶节点的校验值和上述叶节点对应的字段的名称均存储在上述叶节点中、上述目标校验树中上述子节点的校验值和上述子节点对应的数据表的名称均存储在上述子节点中,上述目标校验树中上述根节点的校验值和上述源数据库的名称均存储在上述根节点中。

8、在一个示例性实施例中,比对上述源校验值和上述目标校验值,得到比对结果,包括:将上述源校验值中上述源校验树的根节点的校验值,与上述目标校验值中上述目标校验树的根节点的校验值进行比对,得到第一比对结果;基于上述比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性,包括:基于上述第一比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性。

9、在一个示例性实施例中,基于上述第一比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性,包括:在上述源校验值中上述源校验树的根节点的校验值,与上述目标校验值中上述目标校验树的根节点的校验值相同的情况下,确定上述目标数据库中数据与上述源数据库中的数据一致;在上述源校验值中上述源校验树的根节点的校验值,与上述目标校验值中上述目标校验树的根节点的校验值不相同的情况下,将上述源校验值中上述源校验树的子节点的校验值,与上述目标校验值中上述目标校验树的子节点的校验值进行比对,得到第二比对结果;基于上述第二比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性。

10、在一个示例性实施例中,基于上述第二比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性,包括:在上述源校验值中上述源校验树的子节点的校验值,与上述目标校验值中上述目标校验树的子节点的校验值中包括不相同的子节点的校验值的情况下,提取异常子节点集合,其中,上述异常子节点集合中包括上述源校验树中的异常子节点和上述目标校验树中的异常子节点;将上述源校验树中的异常子节点对应的叶节点的校验值和上述目标校验树中的异常子节点对应的叶节点的校验值进行比对,得到第三比对结果;基于上述第三比对结果确定上述目标数据库中的异常数据。

11、在一个示例性实施例中,基于上述第三比对结果确定上述目标数据库中的异常数据,包括:从上述第三比对结果中确定上述目标校验树中的异常子节点对应的异常叶节点;将上述异常叶节点对应的数据确定为上述目标数据库中的异常数据。

12、根据本技术的另一个实施例,提供了一种数据校验装置,第一计算模块,用于计算源校验树的源校验值和目标校验树的目标校验值,其中,上述源校验树中包括源数据库中的数据信息,上述目标校验树中包括目标数据库中的数据信息,上述目标数据库中的数据是从上述源数据库中迁移的数据,上述源校验值是对上述源校验树中的节点进行循环冗余校验得到的值,上述目标校验值是对上述目标校验树中的节点进行循环冗余校验得到的值;第一比对模块,用于比对上述源校验值和上述目标校验值,得到比对结果;第一校验模块,用于基于上述比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性。

13、在一个示例性实施例中,上述装置还包括:第一创建模块,用于计算源校验树的源校验值和目标校验树的目标校验值之前,创建空闲处理队列,其中,上述空闲处理队列中包括多个处理单元,其中,多个上述处理单元以循环单链表的结构存储在上述空闲处理队列中,多个上述处理单元用于按照上述循环单链表的结构计算上述源校验值和上述目标校验值。

14、在一个示例性实施例中,上述装置还包括:第一获取模块,用于计算源校验树的源校验值和目标校验树的目标校验值之前,获取上述源数据库中的数据信息,其中,上述源数据库中的数据信息中包括上述源数据库的名称、上述源数据库中源数据表的名称以及上述源数据表中源字段的名称;第一保存模块,用于将上述源数据库的名称保存至上述源校验树的根节点中;第二保存模块,用于将上述源数据表的名称保存至上述源校验树的子节点中;第三保存模块,用于将上述源字段的名称保存至上述源校验树的叶节点中。

15、在一个示例性实施例中,上述装置还包括:第二获取模块,用于计算源校验树的源校验值和目标校验树的目标校验值之前,获取上述目标数据库中的数据信息,其中,上述目标数据库中的数据信息中包括上述目标数据库的名称、上述目标数据库中目标数据表的名称以及上述目标数据表中目标字段的名称;第四保存模块,用于将上述目标数据库的名称保存至上述目标校验树的根节点中;第五保存模块,用于将上述目标数据表的名称保存至上述目标校验树的子节点中;第六保存模块,用于将上述目标字段的名称保存至上述目标校验树的叶节点中。

16、在一个示例性实施例中,上述第一计算模块,包括:第一确定子模块,用于确定上述源校验树中叶节点对应的第一校验队列,其中,上述第一校验队列中包括上述源校验树中每个上述叶节点的校验值,上述源校验树中每个上述叶节点的校验值均是对上述源校验树中每个上述叶节点对应的数据进行循环冗余校验得到的值;第二确定子模块,用于利用上述第一校验队列确定上述源校验树中子节点对应的第二校验队列,其中,上述第二校验队列中包括上述源校验树中每个上述子节点的校验值,上述源校验树中每个上述子节点的校验值均是对上述源校验树中每个上述子节点对应的叶节点的校验值进行循环冗余校验得到的值;第三确定子模块,用于利用上述第二校验队列确定上述源校验树中根节点的校验值;第四确定子模块,用于将上述源校验树中每个上述叶节点的校验值、上述源校验树中每个上述子节点的校验值以及上述源校验树中上述根节点的校验值确定为上述源校验值,其中,上述源校验树中上述叶节点的校验值和上述叶节点对应的数据表的名称均存储在上述叶节点中、上述源校验树中上述子节点的校验值和上述子节点对应的字段的名称均存储在上述子节点中,上述源校验树中上述根节点的校验值和上述源数据库的名称均存储在上述根节点中。

17、在一个示例性实施例中,上述第一计算模块,包括:第五确定子模块,用于确定上述目标校验树中叶节点对应的第一校验队列,其中,上述第一校验队列中包括上述目标校验树中每个上述叶节点的校验值,上述目标校验树中每个上述叶节点的校验值均是对上述目标校验树中每个上述叶节点对应的数据进行循环冗余校验得到的值;第六确定子模块,用于利用上述第一校验队列确定上述目标校验树中子节点对应的第二校验队列,其中,上述第二校验队列中包括上述目标校验树中每个上述子节点的校验值,上述目标校验树中每个上述子节点的校验值均是对上述目标校验树中每个上述子节点对应的叶节点的校验值进行循环冗余校验得到的值;第七确定子模块,用于利用上述第二校验队列确定上述目标校验树中根节点的校验值;第八确定子模块,用于将上述目标校验树中每个上述叶节点的校验值、上述目标校验树中每个上述子节点的校验值以及上述目标校验树中上述根节点的校验值确定为上述源校验值,其中,上述目标校验树中上述叶节点的校验值和上述叶节点对应的数据表的名称均存储在上述叶节点中、上述目标校验树中上述子节点的校验值和上述子节点对应的字段的名称均存储在上述子节点中,上述目标校验树中上述根节点的校验值和上述源数据库的名称均存储在上述根节点中。

18、在一个示例性实施例中,上述第一比对模块,包括:第一比对子模块,用于将上述源校验值中上述源校验树的根节点的校验值,与上述目标校验值中上述目标校验树的根节点的校验值进行比对,得到第一比对结果;第二比对子模块,用于基于上述比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性,包括:基于上述第一比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性。

19、在一个示例性实施例中,上述第二比对子模块,包括:第一确定单元,用于在上述源校验值中上述源校验树的根节点的校验值,与上述目标校验值中上述目标校验树的根节点的校验值相同的情况下,确定上述目标数据库中数据与上述源数据库中的数据一致;第一比对单元,用于在上述源校验值中上述源校验树的根节点的校验值,与上述目标校验值中上述目标校验树的根节点的校验值不相同的情况下,将上述源校验值中上述源校验树的子节点的校验值,与上述目标校验值中上述目标校验树的子节点的校验值进行比对,得到第二比对结果;第一校验单元,用于基于上述第二比对结果校验上述目标数据库中数据与上述源数据库中的数据的一致性。

20、在一个示例性实施例中,上述第一校验单元,包括:第一提取子单元,用于在上述源校验值中上述源校验树的子节点的校验值,与上述目标校验值中上述目标校验树的子节点的校验值中包括不相同的子节点的校验值的情况下,提取异常子节点集合,其中,上述异常子节点集合中包括上述源校验树中的异常子节点和上述目标校验树中的异常子节点;第一比对子单元,用于将上述源校验树中的异常子节点对应的叶节点的校验值和上述目标校验树中的异常子节点对应的叶节点的校验值进行比对,得到第三比对结果;第一确定子单元,用于基于上述第三比对结果确定上述目标数据库中的异常数据。

21、在一个示例性实施例中,第一确定子单元,包括:第一确定部分,用于从上述第三比对结果中确定上述目标校验树中的异常子节点对应的异常叶节点;第二确定部分,用于将上述异常叶节点对应的数据确定为上述目标数据库中的异常数据。

22、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,其中,上述计算机程序被设置为处理器执行上述任一项方法实施例中的步骤。

23、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器被设置为执行上述计算机程序以执行上述任一项方法实施例中的步骤。

24、通过本技术,通过将源数据库和目标数据库的数据信息分别保存至源校验树和目标校验树中,分别对源校验树和目标校验树的节点进行循环冗余校验得到校验值,对应比对源校验树和目标校验树的节点校验值,基于比对结果校验数据库迁移的一致性。因此,可以解决相关技术中校验数据的一致性效率低的问题,达到高效校验数据库迁移后的数据的一致性的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1