[发明专利]一种数据库表比对方法及装置在审
申请号: | 202110845737.3 | 申请日: | 2021-07-26 |
公开(公告)号: | CN113590621A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 孙鸿亮;高志会;陈勇铨;胡军擎 | 申请(专利权)人: | 上海英方软件股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/27;G06F9/48 |
代理公司: | 上海国智知识产权代理事务所(普通合伙) 31274 | 代理人: | 潘建玲 |
地址: | 200011 上海市黄*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 方法 装置 | ||
本发明公开了一种数据库表比对方法及装置,所述方法包括如下步骤:步骤S1,分别对源端和目标端的数据库表的数据进行任务拆分,将数据库表分成若干分片,并记录源端和目标端的任务分片数量;步骤S2,分别利用若干导出线程从源端和目标端的数据库表中按分片抽取数据记录,并分别实时记录双方导出记录的总数,根据双方导出记录的总数出导出速度快的一方,并计算双方导出记录数量总和的差值,当双方导出记录数量总和的差值达到门限值时,令导出速度快的一方暂时休眠预设时间再执行导出线程;步骤S3,执行对比线程对导入内存中的数据进行源端与目标端的数据库表数据比对。
技术领域
本发明涉及计算机数据备份容灾技术领域,特别是涉及一种在对数据库进行表对比时维持源端和目标端抽取数据速度均衡的数据库表比对方法及装置。
背景技术
在数据库实时同步的过程中,经常需要验证某张表的同步数据是否一致,即需要对比源库表和目标库对应表的数据记录。
现有技术中,通常在进行表对比时,会先由不同的导出线程抽取源端和目标端表的数据记录,并将其放在内存中进行消重(具体的消重方法不在本发明讨论的范围之内)。当内存中的数据记录超过一定限制时,会将这些数据写入磁盘,等到双方数据全部导出后将磁盘保存的数据装入内存进行比较,读写磁盘的过程会引入额外的IO,导致效率降低。
其中,表对比效率低存在源端和目标端双方抽取速度不均衡、双方数据记录的内容存在很多不同、双方的数据记录行数有很大差异、对比线程的消重速度慢等多种原因。本发明主要考虑解决第一种原因导致的表对比效率低。
源库表和目标库对应表双方导出记录的速度不一致,会导致在对比线程首次比较数据时,另一方的数据尚未抽取出来,进而导致需要多次比较这些数据,如果消重后残留在内存的数据过多还会存入磁盘;当双方数据记录顺序一致时,因双方导出速度不均衡而需要多次比较,对运行效率的影响很大。对于一些有数千万甚至更多条记录的大容量数据表,这样的情况会使得表对比效率低下的现象更加严重。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种数据库表比对方法及装置,通过控制源端和目标端中抽取速度快的一方的速度,使源端与目标端双方的抽取速度基本均衡,从而提高数据库表比对的效率。
为达上述目的,本发明提供一种数据库表比对方法,包括如下步骤:
步骤S1,分别对源端和目标端的数据库表的数据进行任务拆分,将数据库表分成若干分片,并记录源端和目标端的任务分片数量;
步骤S2,分别利用若干导出线程从源端和目标端的数据库表中按分片抽取数据记录,并分别实时记录双方导出记录的总数,根据双方导出记录的总数出导出速度快的一方,并计算双方导出记录数量总和的差值,当双方导出记录数量总和的差值达到门限值时,令导出速度快的一方暂时休眠预设时间再执行导出线程;
步骤S3,执行对比线程对导入内存中的数据进行源端与目标端的数据库表数据比对。
优选地,所述门限值的初始值在数据库表对比开始之前根据抽取线程数量、抽取速度、内存中可存放的记录总数进行计算并提前配置。
优选地,所述门限值在b*v2*t到50万之间取值,其中,b为慢的一方的导出线程,v2为慢的一方平均每个线程的导出速度,t为快的一方的线程每次休眠时间。
优选地,于步骤S2中,在各导出线程导出数据记录的过程中,分别统计源端与目标端导出时的各自休眠次数,根据源端与目标端的休眠次数调节门限值。
优选地,如果记录的源端与目标端的休眠次数都不为0,则调大所述门限值,并返回步骤S1或将本次表对比执行完毕后再返回步骤S1。
优选地,当源端和目标端中有一方的记录导出完毕,则剩余的一方不再进行双方导出记录数量总和的差值与门限值的判断,也不再休眠。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海英方软件股份有限公司,未经上海英方软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110845737.3/2.html,转载请声明来源钻瓜专利网。