一种基于Oracle伪列的数据一致性快速检测方法与流程
- 国知局
- 2024-07-31 22:45:34
本发明涉及异构或同构数据库间的数据一致性比对校验领域,特别涉及一种基于oracle伪列的数据一致性快速检测方法。
背景技术:
1、在实施信息系统本土化的过程中,利用传统线性扫描方法进行一致性校验,存在校验低速的问题,尤其在异构数据库环境下,缺乏直接连接功能,对数据进行差异核查变得更加棘手,如何更加快速的进行数据一致性检测同样是该问题的一个难点。
技术实现思路
1、针对现有技术下,实施信息系统本土化过程中,利用传统线性扫描方法进行一致性校验,存在校验低速的问题,本申请提供了一种基于oracle伪列的数据一致性快速检测方法。
2、本申请实施例采用下述技术方案:
3、第一方面,本申请提供一种基于oracle伪列的数据一致性快速检测方法包括:
4、利用同步源表数据基于oracle伪列进行边界划分得到源表数据与已同步数据的独立数据块;
5、利用所述源表数据与已同步数据的独立数据块进行多线程技术比对得到多线程技术比对结果;
6、根据所述多线程技术比对结果获得源表数据与已同步数据的数据差异结果;
7、根据所述源表数据与已同步数据的数据差异结果获得数据库间数据一致性的快速检测结果。
8、优选的,利用同步源表数据基于oracle伪列进行边界划分得到源表数据与已同步数据的独立数据块包括:
9、基于oracle数据库的rowid伪列得到所述源表数据与已同步数据的唯一物理地址;
10、利用所述源表数据与已同步数据的唯一物理地址,根据oracle指令进行数据块边界划分得到源表数据与已同步数据的独立数据块。
11、进一步的,利用所述源表数据与已同步数据的独立数据块进行多线程技术比对得到多线程技术比对结果包括:
12、利用所述源表数据对应的独立数据块进行数据读取处理得到源表数据对应的独立数据块的数据读取结果;
13、根据所述数据读取结果与已同步数据进行校验处理得到数据读取结果的校验结果作为多线程技术比对结果。
14、优选的,利用所述源表数据对应的独立数据块进行数据读取处理得到源表数据对应的独立数据块的数据读取结果包括:
15、根据所述源表数据划分得到生产者线程、消费者线程和内存队列;
16、利用所述生产者线程对源表数据的独立数据块进行扫描得到第一中间数据;
17、利用所述内存队列对中间数据进行缓存处理,得到第二中间数据;
18、利用所述消费者线程读取第二中间数据作为数据读取结果。
19、进一步的,根据所述数据读取结果与已同步数据进行校验处理得到数据读取结果的校验结果作为多线程技术比对结果包括:
20、利用所述数据读取结果与已同步数据进行全列匹配得到第一结果;
21、判断所述第一结果是否存在全列匹配的返回结果,若是,则获得全列匹配结果,所述校验结果为已同步数据表与源表数据的数据一致,否则,利用所述独立数据块内基于sql语法对源表数据的主键进行主键列查询,获得独立数据块内主键列查询结果;
22、判断主键列查询结果是否存在返回结果,若是,则所述校验结果为已同步数据表与源表数据部分数据列值不一致,否则,所述校验结果为已同步数据表与源表数据的数据丢失;
23、根据所述校验结果作为多线程技术比对结果;
24、其中,所述已同步数据表与源表数据部分数据列值不一致为除主键外的数据不一致。
25、进一步的,根据所述多线程技术比对结果获得源表数据与已同步数据的数据差异结果包括:
26、根据所述校验结果为已同步数据表与源表数据部分数据列值不一致,将所述主键列记录作为第一文件;
27、根据所述校验结果为已同步数据表与源表数据的数据丢失,将所述主键列记录作为第二文件;
28、根据第一文件或第二文件作为源表数据与已同步数据的数据差异结果。
29、进一步的,根据所述源表数据与已同步数据的数据差异结果获得数据库间数据一致性的快速检测结果包括:
30、根据所述全列匹配结果、源表数据与已同步数据的数据差异结果作为数据库间数据一致性的快速检测结果。
31、与最接近的现有技术相比,本发明具有的有益效果:
32、解决了相关技术中,实施信息系统本土化过程时数据一致性校验,校验低速的问题,尤其在异构数据库环境下,缺乏直接连接功能,对数据进行差异核查困难的问题,本发明将庞大数据集高效划分为多个独立的数据块,进而实现数据块的独立查询对比,并可并行处理多个数据块,进而达到增强处理速度、更加快速的进行数据一致性检测的效果,确保了单一数据区间内数据的物理连续性,并借助oracle数据库的并行查询功能,实现了对比性能的最优化。
技术特征:1.一种基于oracle伪列的数据一致性快速检测方法,其特征在于,包括:
2.如权利要求1所述的一种基于oracle伪列的数据一致性快速检测方法,其特征在于,利用同步源表数据基于oracle伪列进行边界划分得到源表数据与已同步数据的独立数据块包括:
3.如权利要求2所述的一种基于oracle伪列的数据一致性快速检测方法,其特征在于,利用所述源表数据与已同步数据的独立数据块进行多线程技术比对得到多线程技术比对结果包括:
4.如权利要求3所述的一种基于oracle伪列的数据一致性快速检测方法,其特征在于,利用所述源表数据对应的独立数据块进行数据读取处理得到源表数据对应的独立数据块的数据读取结果包括:
5.如权利要求3所述的一种基于oracle伪列的数据一致性快速检测方法,其特征在于,根据所述数据读取结果与已同步数据进行校验处理得到数据读取结果的校验结果作为多线程技术比对结果包括:
6.如权利要求5所述的一种基于oracle伪列的数据一致性快速检测方法,其特征在于,根据所述多线程技术比对结果获得源表数据与已同步数据的数据差异结果包括:
7.如权利要求6所述的一种基于oracle伪列的数据一致性快速检测方法,其特征在于,根据所述源表数据与已同步数据的数据差异结果获得数据库间数据一致性的快速检测结果包括:
技术总结本发明是一种数据一致性检测方法,涉及异构或同构数据库间的数据一致性比对校验领域,特别涉及一种基于Oracle伪列的数据一致性快速检测方法包括:利用同步源表数据基于Oracle伪列进行边界划分得到源表数据与已同步数据的独立数据块;利用所述源表数据与已同步数据的独立数据块进行多线程技术比对得到多线程技术比对结果;根据所述多线程技术比对结果获得源表数据与已同步数据的数据差异结果;根据所述源表数据与已同步数据的数据差异结果获得数据库间数据一致性的快速检测结果。技术研发人员:张文跃受保护的技术使用者:天津南大通用数据技术股份有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/194449.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表