基于分桶算法的灾备数据比对方法技术

技术编号:10072769 阅读:245 留言:0更新日期:2014-05-23 19:14
本发明专利技术涉及一种基于分桶算法的灾备数据比对方法,特别涉及一种基于分桶算法的灾备数据比对方法,本发明专利技术属于信息技术领域。一种基于分桶算法的灾备数据比对方法,包括由灾备端数据库模块、数据比对工具模块和生产端数据库模块组成的灾备数据比对系统;所述灾备数据比对方法包括以下步骤:1)获取数据;2)对数据分桶;3)对每一桶中的数据记录的hash值进行比对;4)排序后比较每条记录。本发明专利技术提供一种基于分桶算法的灾备数据比对方法,该方法在异地灾备的情况下,在保证比对结果的精确度的前提下,不仅降低传输量,而且减少了比对时间,提高了比对效率。

【技术实现步骤摘要】

本专利技术涉及一种基于分桶算法的灾备数据比对方法,特别涉及一种基于分桶算法的灾备数据比对方法,本专利技术属于信息

技术介绍
随着科学技术的迅猛发展和信息技术的广泛应用,我国政府及各行业对信息系统的依赖日益增强,尤其是电力、银行、铁路、民航、证券、保险、海关、税务等行业和部门的信息系统以及电子政务系统已经成为国家的重要基础设施。重要信息系统的安全直接影响到国民经济的正常运行,直接关系到社会稳定和群众生活。为了提高应对风险,尤其是重大风险的防护能力,以及安全保障水平,各行业都在建或已建成统一的数据灾备系统。对于数据灾备系统而言,数据的一致性是确保灾备有效的基础保证。1)现有的数据比对方法对于关系型数据表记录的比对,每次只能比对一条记录,导致比对效率低下;2)现有的数据比对方法对于关系型数据表记录的比对,需要对每条记录的字段逐个进行比对,以确定一条记录是否一致,导致比对效率低下;3)现有的数据比对方法对于关系型数据表记录的比对,前提是需要两端完整的数据信息,在异地灾备的场景下,短时间内超大数据量的传输,会耗费大量网络带宽并且导致传输效率低下。
技术实现思路
本专利技术提供一种基于分桶算法的的灾备数据比对方法,该方法在异地灾备的情况下,在保证比对结果的精确度的前提下,不仅降低传输量,而且减少了比对时间,提高了比对效率。本专利技术的技术方案如下:一种基于分桶算法的灾备数据比对方法,包括由灾备端数据库模块、数据比对工具模块和生产端数据库模块组成的灾备数据比对系统,所述灾备端数据库模块和生产端数据库模块与数据比对工具模块互联;所述灾备端数据库模块用于储存灾备端数据记录;所述生产端数据库模块用于储存生产端数据记录;所述数据比对工具模块用于将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录进行比对;所述灾备数据比对方法包括以下步骤:1)获取数据:分别将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录的记录主键转为32位码值,并通过数据比对工具模块获取所有需要比对的记录主键中的最大值和最小值;2)对数据分桶:数据比对工具模块先根据需要比对的数据记录总数量设定分桶数量为N桶,并配置数据比对工具模块所允许包含的每一桶的数据记录总数量的最小值,再根据步骤1)所获取的记录主键中的最大值和最小值计算出N-1个间隔主键值,以各间隔主键值为间隔,分别将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录分为N桶;3)对每一桶中的数据记录的hash值进行比对:数据比对工具模块通过调用ora_hash函数先算出每条数据记录的hash值;接着对桶内所有数据记录的hash值累加形成每一桶数据记录的hash值;然后将灾备端数据库模块和生产端数据库模块对应的每一桶数据的hash值进行比较,如果一致,则确定整桶数据一致,如不一致,则继续分桶;4)排序后比较每条记录:当需要继续分桶时,在分桶到每一桶的数据记录总数量小于或者等于数据比对工具模块所允许包含的每一桶的数据记录总数量的最小值后,数据比对工具模块不再执行分桶操作,而是将数据记录按记录主键进行排序;灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录通过主键映射,对每一桶桶内的数据记录逐条比对,从而得出比对结果。本方法对比现有的灾备数据比对方法,具有以下优点:1)数据比对工具对于关系型数据表记录的比对,通过分桶策略,达到每次可比对多条记录(没有条数限制,可达千万条级别),极大地提高比对效率;2)数据比对工具对于关系型数据表记录的比对,通过将关系型数据表记录转为码值,只需比较码值是否一致即可,不用逐个字段进行比对,极大地提高了比对效率;3)数据比对工具对于关系型数据表记录的比对,通过将关系型数据表记录转为码值,在异地灾备的场景下,极大地低降低了数据传输量,所需耗费的带宽极低,从而,准确无误地实现数据的高速备份及恢复。附图说明图1为本专利技术所包括的灾备数据比对系统的系统结构图;图2为本专利技术步骤1)至步骤3)的流程示意图;图3为本专利技术步骤4)的流程示意图。具体实施方式实施例1如图1至图3所示:本专利技术的技术方案如下:一种基于分桶算法的灾备数据比对方法,其特征在于:包括由灾备端数据库模块、数据比对工具模块和生产端数据库模块组成的灾备数据比对系统,所述灾备端数据库模块和生产端数据库模块与数据比对工具模块互联;所述灾备端数据库模块用于储存灾备端数据记录;所述生产端数据库模块用于储存生产端数据记录;所述数据比对工具模块用于将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录进行比对;所述灾备数据比对方法包括以下步骤:1)获取数据:分别将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录的记录主键转为32位码值,并通过数据比对工具模块获取所有需要比对的记录主键中的最大值和最小值;2)对数据分桶:数据比对工具模块先根据需要比对的数据记录总数量设定分桶数量为N桶,并配置数据比对工具模块所允许包含的每一桶的数据记录总数量的最小值,再根据步骤1)所获取的记录主键中的最大值和最小值计算出N-1个间隔主键值,以各间隔主键值为间隔,分别将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录分为N桶;3)对每一桶中的数据记录的hash值进行比对:数据比对工具模块通过调用ora_hash函数先算出每条数据记录的hash值;接着对桶内所有数据记录的hash值累加形成每一桶数据记录的hash值;然后将灾备端数据库模块和生产端数据库模块对应的每一桶数据的hash值进行比较,如果一致,则确定整桶数据一致,如不一致,则继续分桶;4)排序后比较每条记录:当需要继续分桶时,在分桶到每一桶的数据记录总数量小于或者等于数据比对工具模块所允许包含的每一桶的数据记录总数量的最小值后,数据比对工具模块不再执行分桶操作,而是将数据记录按记录主键进行排序;灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录通过主键映射,对每一桶桶内的数据记录逐条比对,从而得出比对结果。通过灾备端数据库与生产端数据库之间的实际数据比对,本专利技术所提供的数据比对方法对比现有技术的数据比对方法所得到的比对时间、传输量和比对结果的各项技术性能数据的结果如下表所示:表1:实际数据比对结果表从表1可明显看出,本专利技术所本文档来自技高网...

【技术保护点】
一种基于分桶算法的灾备数据比对方法,其特征在于:包括由灾备端数据库模块、数据比对工具模块和生产端数据库模块组成的灾备数据比对系统,所述灾备端数据库模块和生产端数据库模块与数据比对工具模块互联;所述灾备端数据库模块用于储存灾备端数据记录;所述生产端数据库模块用于储存生产端数据记录;所述数据比对工具模块用于将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录进行比对;所述灾备数据比对方法包括以下步骤:1)获取数据:分别将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录的记录主键转为32位码值,并通过数据比对工具模块获取所有需要比对的记录主键中的最大值和最小值;2)对数据分桶:数据比对工具模块先根据需要比对的数据记录总数量设定分桶数量为N桶,并配置数据比对工具模块所允许包含的每一桶的数据记录总数量的最小值,再根据步骤1)所获取的记录主键中的最大值和最小值计算出N‑1个间隔主键值,以各间隔主键值为间隔,分别将灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录分为N桶;3)对每一桶中的数据记录的hash值进行比对:数据比对工具模块通过调用ora_hash函数先算出每条数据记录的hash值;接着对桶内所有数据记录的hash值累加形成每一桶数据记录的hash值;然后将灾备端数据库模块和生产端数据库模块对应的每一桶数据的hash值进行比较,如果一致,则确定整桶数据一致,如不一致,则继续分桶;4)排序后比较每条记录:当需要继续分桶时,在分桶到每一桶的数据记录总数量小于或者等于数据比对工具模块所允许包含的每一桶的数据记录总数量的最小值后,数据比对工具模块不再执行分桶操作,而是将数据记录按记录主键进行排序;灾备端数据库模块的灾备端数据记录和生产端数据库模块的生产端数据记录通过主键映射,对每一桶桶内的数据记录逐条比对,从而得出比对结果。...

【技术特征摘要】
1.一种基于分桶算法的灾备数据比对方法,其特征在于:包括由灾备端数
据库模块、数据比对工具模块和生产端数据库模块组成的灾备数据比对系统,
所述灾备端数据库模块和生产端数据库模块与数据比对工具模块互联;所述灾
备端数据库模块用于储存灾备端数据记录;所述生产端数据库模块用于储存生
产端数据记录;所述数据比对工具模块用于将灾备端数据库模块的灾备端数据
记录和生产端数据库模块的生产端数据记录进行比对;所述灾备数据比对方法
包括以下步骤:
1)获取数据:分别将灾备端数据库模块的灾备端数据记录和生产端数据库
模块的生产端数据记录的记录主键转为32位码值,并通过数据比对工具模块获
取所有需要比对的记录主键中的最大值和最小值;
2)对数据分桶:数据比对工具模块先根据需要比对的数据记录总数量设定
分桶数量为N桶,并配置数据比对工具模块所允许包含的每一桶的数据记录总
数量的最小值,再根据步骤1)所获取的记录主键中的最大值和最小值计算出<...

【专利技术属性】
技术研发人员:许元斌邹保平黄文思赖伟平林佳能戴伟坚陈洪锦金逸费益军
申请(专利权)人:国网信通亿力科技有限责任公司国家电网公司江苏省电力公司
类型:发明
国别省市:福建;35

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

1