数据库同步一致性的快速比对方法及系统技术方案

技术编号:38514189 阅读:9 留言:0更新日期:2023-08-19 16:56
本发明专利技术公开的属于数据库技术领域,具体为数据库同步一致性的快速比对方法及系统,包括具体步骤如下:定义并创建比对任务:定义比对任务的配置,生成Hash阶段,进入数据比对阶段,比对结果处理,扫描步骤三的结果记录,并进行处理,本发明专利技术支持全量数据比对;数据初次进行比对,最好执行一次全量比对,以确定期初源数据库和目标数据库的一致性,如果有差异,可以利用数据追平功能保持数据一致,如果数据量巨大,全量比对的性能将成为评价数据比对系统的重要性能指标,因此,高性能的数据处理过程将成为整个系统的支撑和亮点。成为整个系统的支撑和亮点。成为整个系统的支撑和亮点。

【技术实现步骤摘要】
数据库同步一致性的快速比对方法及系统


[0001]本专利技术涉及数据库
,具体为数据库同步一致性的快速比对方法及系统。

技术介绍

[0002]在云计算和大数据的蓬勃发展下,当今时代已是数据的时代,保证分散在各个业务系统与本地数据中心、远程数据中心以及各个灾备中心数据的一致性成为人们不可忽视的技术选项。各类型的数据比对及追平产品也在这个大环境下顺应而生,当前主流的数据比对和追平技术主要有以下几种:
[0003]采用值与值的一一对比。即对于非键列,采用Column for Column的对比,也就是源数据库表与目标数据库表的列采用文本一一比较,校验源与目标是否相同。这种方法实现相对容易,同时比较结果精确,但是数据量大的时候导致比对性能不足,尤其是对于LOB类型的字段,由于数据量相对普通字段偏大,数据比对的性能将严重下降。
[0004]基于Hash值的比对。其原理是对于构成键的列,采用文本比较;对于非键列,采用Hash值比较。对源数据库表和目标数据库表分别进行Hash运算并进行数据签名后传递到server端进行比对。该方法将需要比对的数据的网络传输、比对运算量都有所降低,因此性能上会有提升,但是增加了Hash和数据签名的运算。需要有可靠的Hash算法和数据签名算法
[0005]前面是两种比对算法,在比数据上有全量数据比对和增量数据比对。如果数据库比较庞大,例如TB级、PB级甚至更大级别的数据量,如果每次采用全量数据比对,不仅仅耗费时间,资源消耗也是不容忽视的一个重要因素。因此在比对数据上,需要提供全量数据比对和增量数据比对的方法。增量数据比对,主要涉及增量数据的采集和解析方法,例如目前相对成熟的数据库日志挖掘技术实现增量数据采集等方法。
[0006]以上数据比对方法和数据比对的数据量考量是实现数据库比对尤其是在线数据的实时比对需要考虑的关键因素。如何保证在线数据库数据比对的及时、准确,以及比对过程的稳定、可靠,无论是从商业价值还是技术难度,仍然是时下的一个研究热点。现有技术中有采用统计方法的简单数据比对,进而会存在源数据与目标数据不一致、不准确的现象。因此,专利技术数据库同步一致性的快速比对方法及系统。

技术实现思路

[0007]鉴于上述和/或现有数据库同步一致性的快速比对方法及系统中存在的问题,提出了本专利技术。
[0008]因此,本专利技术的目的是提供数据库同步一致性的快速比对方法及系统,能够解决上述提出现有的问题。
[0009]为解决上述技术问题,根据本专利技术的一个方面,本专利技术提供了如下技术方案:
[0010]数据库同步一致性的快速比对方法,其包括具体步骤如下:
[0011]步骤一,定义并创建比对任务:定义比对任务的配置;
[0012]步骤二,生成Hash阶段;
[0013]步骤三,进入数据比对阶段;
[0014]步骤四,比对结果处理,扫描步骤三的结果记录,并进行处理。
[0015]作为本专利技术所述的数据库同步一致性的快速比对方法的一种优选方案,其中:所述步骤一中配置信息包括比对的源数据库信息、目标数据库信息。
[0016]作为本专利技术所述的数据库同步一致性的快速比对方法的一种优选方案,其中:所述步骤二中的阶段其过程如下:
[0017]S1:根据比对配置读取源数据库的数据,在内存中生成标准数据对象并生成该对象的Hash;
[0018]S2:如果是增量比对,首先获取增量数据的关键信息,并根据关键信息从数据库中读取源表的数据,然后根据S1的算法生成Hash;
[0019]S3:将S1或者S2生成的数据作为源Hash保存到中间数据库表中;
[0020]S4:根据比对配置读取目标数据库的数据,在内存中生成标准数据对象并生成该对象的Hash;
[0021]S5:如果是增量对比,则根据源端的数据键值查询目标数据,然后根据S4的算法生成Hash;
[0022]S6:将S4或者S5生成的数据作为目标Hash保存到中间数据库表中。
[0023]作为本专利技术所述的数据库同步一致性的快速比对方法的一种优选方案,其中:所述步骤三中的比对阶段其过程如下:
[0024]S1:计算源Hash集合和目标Hash集合共同的部分,作为相同数据;
[0025]S2:源Hash多出的部分作为缺失数据;
[0026]S3:源Hash与目标Hash不同的部分作为差异数据;
[0027]S4:目标Hash多出的部分,作为陌生数据。
[0028]作为本专利技术所述的数据库同步一致性的快速比对方法的一种优选方案,其中:所述步骤四中的处理过程如下:
[0029]S1:对于缺失数据,从源数据库表中获取数据作为数据差异记录;
[0030]S2:对于差异数据,分别从源数据库和目标数据库中获取对应的数据,并标记出差异的部分,作为字段列的差异记录;
[0031]S3:对于陌生数据,标记为删除;
[0032]S4:如果用户执行了追平操作,将上述记录的数据逐项复制到目标数据库,其缺失数据执行INSERT操作,差异数据执行UPDATE操作,陌生数据执行DELETE操作。
[0033]数据库同步一致性的快速比对系统,包括:
[0034]Hash阶段,用于在数据库中获取源数据库的数据,并经过处理作为源数据Hash存放;
[0035]比对阶段,用于对比源数据Hash数据集合和目标数据Hash数据集合,并获取目标数据库中的原始数据;
[0036]异常处理阶段,对比对阶段产生的数据进行可视化;
[0037]所述Hash阶段与所述比对阶段相连接,所述比对阶段与所述异常处理阶段相连接。
[0038]与现有技术相比:
[0039]1.支持全量数据比对;数据初次进行比对,最好执行一次全量比对,以确定期初源数据库和目标数据库的一致性,如果有差异,可以利用数据追平功能保持数据一致,如果数据量巨大,全量比对的性能将成为评价数据比对系统的重要性能指标,因此,高性能的数据处理过程将成为整个系统的支撑和亮点。
[0040]2.支持增量数据比对;数据比对过程总是比较耗时,对于在线事务系统,过于耗时的数据比对过程是不能接受和允许的,因此必须采用增量数据比对,即这次比对自上次比对后新增加的数据,这样可以大大缩短数据比对的时间、降低数据比对的资源耗费,因此安全可靠、稳定持续的增量数据采集和增量比是本专利技术的核心。
[0041]3.准确高效的数据比对系统;在数据量比较大的情况下,要判断源和目标数据库的数据是否一致,是一个比较困难的事情,即便采用数据比对工具,不仅耗时耗力,而且还耗费资源,如果比对不能准确高效,势必无法满足用户的客观需要,在应用系统发现数据有出入的情况下,数据比对系统能及时高效地发现问题并解决问题是本专利技术在技术上的优势。
附图说明
[0042]图1为本专利技术流程示意图。
具体实施方式
[0043]为使本专利技术的目的、技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.数据库同步一致性的快速比对方法,其特征在于,包括具体步骤如下:步骤一,定义并创建比对任务:定义比对任务的配置;步骤二,生成Hash阶段;步骤三,进入数据比对阶段;步骤四,比对结果处理,扫描步骤三的结果记录,并进行处理。2.根据权利要求1所述的数据库同步一致性的快速比对方法,其特征在于,所述步骤一中配置信息包括比对的源数据库信息、目标数据库信息。3.根据权利要求1所述的数据库同步一致性的快速比对方法,其特征在于,所述步骤二中的阶段其过程如下:S1:根据比对配置读取源数据库的数据,在内存中生成标准数据对象并生成该对象的Hash;S2:如果是增量比对,首先获取增量数据的关键信息,并根据关键信息从数据库中读取源表的数据,然后根据S1的算法生成Hash;S3:将S1或者S2生成的数据作为源Hash保存到中间数据库表中;S4:根据比对配置读取目标数据库的数据,在内存中生成标准数据对象并生成该对象的Hash;S5:如果是增量对比,则根据源端的数据键值查询目标数据,然后根据S4的算法生成Hash;S6:将S4或者S5生成的数据作为目标Hash保存到中间数据库表中。4.根据权利要求1所述的数据库同步一致性的快速比对方法,其特征在于,所述步骤三中的...

【专利技术属性】
技术研发人员:黄志春张定国李蓟田郑传坚李韧沙连玉卢小锋丁杰陈云
申请(专利权)人:广州伟宏智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1