数据一致性检测方法、装置、计算设备以及介质制造方法及图纸

技术编号:23604637 阅读:30 留言:0更新日期:2020-03-28 05:44
本公开提供了一种由计算设备执行的数据一致性检测方法,包括:获取主数据库的多个第一数据表和备数据库的多个第二数据表;将多个第一数据表的标识和多个第二数据表的标识进行比较处理,得到处理结果;在处理结果表征多个第一数据表的标识与多个第二数据表的标识不一致的情况下,将多个第一数据表和多个第二数据表分为第一数据库表集合和第二数据库表集合;确定第一数据表集合中的第一数据表或第二数据表是否为例外数据表,如果不是例外数据表,则生成报警信息;确定第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件,如果不满足则生成报警信息。本公开还提供了一种数据一致性检测装置、计算设备、介质。

Data consistency testing methods, devices, computing equipment and media

【技术实现步骤摘要】
数据一致性检测方法、装置、计算设备以及介质
本公开涉及计算机
,特别是涉及一种数据一致性检测方法、一种数据一致性检测装置、一种计算设备以及一种计算机可读存储介质。
技术介绍
在主机AA(ACTIVE-ACTIVE)双活架构中,主机镜像站点包括主站点和备份站点,其中,主站点具有主数据库,备份站点具有备数据库,可以通过各类数据复制工具实现主数据库和备数据库的数据同步。其中,主数据库和备数据库的数据是否一致,是双活架构中的关键环节,也是备份站点是否具备业务接管能力的先决条件。因此,需要实时检测主数据库和备数据库的数据是否一致,以便及时采取相应的措施来保证主数据库和备数据库的数据同步。在实现本公开构思的过程中,专利技术人发现现有技术中至少存在如下问题。针对检测主数据库和备数据库的数据是否一致的问题,传统的检测方式是对主数据库和备数据库进行静态的数据全量比对,但是,在主数据库和备数据库处于非停机状态下,主数据库和备数据库的数据在持续更新,导致无法进行静态的数据全量比对,并且,通过静态的数据全量比对的方式检测数据的一致性,导致检测效率低。
技术实现思路
本公开的一个方面提供了一种由计算设备执行的数据一致性检测方法,包括:获取主数据库的多个第一数据表和备数据库的多个第二数据表,其中,所述主数据库里的数据信息能够被同步至所述备数据库,所述第一数据表和所述第二数据表均包括标识,所述标识包括数据表的表名和数据库表的索引字段。将所述多个第一数据表的标识和所述多个第二数据表的标识进行比较处理,得到处理结果。在所述处理结果表征所述多个第一数据表的标识与所述多个第二数据表的标识不一致的情况下,将所述多个第一数据表和所述多个第二数据表分为第一数据库表集合和第二数据库表集合,其中,所述第一数据库表集合中的第一数据表的标识与第二数据表的标识不一致,所述第二数据库表集合中的第一数据表的标识与第二数据表的标识一致。确定所述第一数据表集合中的第一数据表或第二数据表是否为例外数据表,如果不是例外数据表,则生成报警信息。确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件,如果不满足所述一致性条件,则生成报警信息。根据本公开实施例,上述将所述多个第一数据表的标识和所述多个第二数据表的标识进行比较处理包括以下至少一项:将所述多个第一数据表的表名和所述多个第二数据表的表名进行比较处理,将所述多个第一数据表的索引字段和所述多个第二数据表的索引字段进行比较处理,将所述多个第一数据表的索引数组和所述多个第二数据表的索引数组进行比较处理,其中,所述索引数组包括所述索引字段和字段类型。根据本公开实施例,上述确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件包括:从所述第二数据表集合中确定当前第一数据表和与所述当前第一数据表的标识一致的当前第二数据表,获取所述当前第一数据表的第一信息量和所述当前第二数据表的第二信息量,其中,所述第一信息量包括所述当前第一数据表的记录数和索引键值数,所述第二信息量包括所述当前第二数据表的记录数和索引键值数,确定所述第一信息量与所述第二信息量的比值是否在预设比值范围之内,如果所述第一信息量与所述第二信息量的比值在预设比值范围之内,则确定所述当前第一数据表的数据内容和所述当前第二数据表的数据内容一致,如果所述第一信息量与所述第二信息量的比值在预设比值范围之外,则确定所述第一信息量与所述第二信息量的比值变化率是否在预设变化率范围之内。根据本公开实施例,上述确定所述第一信息量与所述第二信息量的比值变化率是否在预设变化率范围之内包括:获取多个时刻的多个信息量比值,其中,所述多个信息量比值中的每个信息量比值为任一时刻的第一信息量与任一时刻的第二信息量的比值,对所述多个信息量比值进行拟合处理,得到多个信息量比值的比值变化率,如果所述比值变化率在预设变化率范围之内,则确定所述当前第一数据表的数据内容和所述当前第二数据表的数据内容一致,如果所述比值变化率在预设比值范围之外,则确定所述当前第一数据表的数据内容和所述当前第二数据表的数据内容不一致。根据本公开实施例,上述获取主数据库的多个第一数据表和备数据库的多个第二数据表包括:在第一时刻获取主数据库的多个第一数据表和备数据库的多个第二数据表。所述确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件包括:确定所述第一时刻的第二数据表是否具有与所述第一时刻的第一数据表不一致的信息,如果确定所述第一时刻的第二数据表具有与所述第一时刻的第一数据表不一致的信息,则在第二时刻获取所述第二数据表的数据内容,确定所述第二时刻的第二数据表是否具有增量信息,如果所述第二时刻的第二数据表不具有所述增量信息,则确定所述第一数据表的数据内容和所述第二数据表的数据内容不一致。根据本公开实施例,上述确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件包括:获取历史复制错误信息,其中,所述历史复制错误信息为将所述主数据库里的数据信息复制至所述备数据库的过程中产生错误的信息,如果所述历史复制错误信息表征复制错误类型为预设类型,确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性不满足一致性条件,并且生成报警信息。根据本公开实施例,上述确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件包括:获取异常索引信息,所述异常索引信息包括将所述主数据库里的数据信息复制至所述备数据库的过程中产生的异常查询语句,获取与所述异常索引信息对应的目标键值,确定所述第一数据表和所述第二数据表中是否均包括所述目标键值,如果所述第一数据表和所述第二数据表中任意一个不包括所述目标键值,则确定所述第一数据表的数据内容和所述第二数据表的数据内容不一致,并且生成报警信息。本公开的另一个方面提供了一种数据一致性检测装置,包括:获取模块、处理模块、划分模块、第一确定模块以及第二确定模块。其中,获取模块,用于获取主数据库的多个第一数据表和备数据库的多个第二数据表,其中,所述主数据库里的数据信息能够被同步至所述备数据库,所述第一数据表和所述第二数据表均包括标识,所述标识包括数据表的表名和数据库表的索引字段。处理模块,用于将所述多个第一数据表的标识和所述多个第二数据表的标识进行比较处理,得到处理结果。划分模块,用于在所述处理结果表征所述多个第一数据表的标识与所述多个第二数据表的标识不一致的情况下,将所述多个第一数据表和所述多个第二数据表分为第一数据库表集合和第二数据库表集合,其中,所述第一数据库表集合中的第一数据表的标识与第二数据表的标识不一致,所述第二数据库表集合中的第一数据表的标识与第二数据表的标识一致。第一确定模块,用于确定所述第一数据表集合中的第一数据表或第二数据表是否为例外数据表,如果不是例外数据表,则生成报警信息。第二确定模块,用于确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据本文档来自技高网...

【技术保护点】
1.一种由计算设备执行的数据一致性检测方法,包括:/n获取主数据库的多个第一数据表和备数据库的多个第二数据表,其中,所述主数据库里的数据信息能够被同步至所述备数据库,所述第一数据表和所述第二数据表均包括标识,所述标识包括数据表的表名和数据库表的索引字段;/n将所述多个第一数据表的标识和所述多个第二数据表的标识进行比较处理,得到处理结果;/n在所述处理结果表征所述多个第一数据表的标识与所述多个第二数据表的标识不一致的情况下,将所述多个第一数据表和所述多个第二数据表分为第一数据库表集合和第二数据库表集合,其中,所述第一数据库表集合中的第一数据表的标识与第二数据表的标识不一致,所述第二数据库表集合中的第一数据表的标识与第二数据表的标识一致;/n确定所述第一数据表集合中的第一数据表或第二数据表是否为例外数据表,如果不是例外数据表,则生成报警信息;以及/n确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件,如果不满足所述一致性条件,则生成报警信息。/n

【技术特征摘要】
1.一种由计算设备执行的数据一致性检测方法,包括:
获取主数据库的多个第一数据表和备数据库的多个第二数据表,其中,所述主数据库里的数据信息能够被同步至所述备数据库,所述第一数据表和所述第二数据表均包括标识,所述标识包括数据表的表名和数据库表的索引字段;
将所述多个第一数据表的标识和所述多个第二数据表的标识进行比较处理,得到处理结果;
在所述处理结果表征所述多个第一数据表的标识与所述多个第二数据表的标识不一致的情况下,将所述多个第一数据表和所述多个第二数据表分为第一数据库表集合和第二数据库表集合,其中,所述第一数据库表集合中的第一数据表的标识与第二数据表的标识不一致,所述第二数据库表集合中的第一数据表的标识与第二数据表的标识一致;
确定所述第一数据表集合中的第一数据表或第二数据表是否为例外数据表,如果不是例外数据表,则生成报警信息;以及
确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件,如果不满足所述一致性条件,则生成报警信息。


2.根据权利要求1所述的方法,其中,所述将所述多个第一数据表的标识和所述多个第二数据表的标识进行比较处理包括以下至少一项:
将所述多个第一数据表的表名和所述多个第二数据表的表名进行比较处理;
将所述多个第一数据表的索引字段和所述多个第二数据表的索引字段进行比较处理;以及
将所述多个第一数据表的索引数组和所述多个第二数据表的索引数组进行比较处理,其中,所述索引数组包括所述索引字段和字段类型。


3.根据权利要求1所述的方法,其中,所述确定所述第二数据表集合中的第一数据表的数据内容和第二数据表的数据内容的一致性是否满足一致性条件包括:
从所述第二数据表集合中确定当前第一数据表和与所述当前第一数据表的标识一致的当前第二数据表;
获取所述当前第一数据表的第一信息量和所述当前第二数据表的第二信息量,其中,所述第一信息量包括所述当前第一数据表的记录数和索引键值数,所述第二信息量包括所述当前第二数据表的记录数和索引键值数;
确定所述第一信息量与所述第二信息量的比值是否在预设比值范围之内;
如果所述第一信息量与所述第二信息量的比值在预设比值范围之内,则确定所述当前第一数据表的数据内容和所述当前第二数据表的数据内容一致;以及
如果所述第一信息量与所述第二信息量的比值在预设比值范围之外,则确定所述第一信息量与所述第二信息量的比值变化率是否在预设变化率范围之内。


4.根据权利要求3所述的方法,其中,所述确定所述第一信息量与所述第二信息量的比值变化率是否在预设变化率范围之内包括:
获取多个时刻的多个信息量比值,其中,所述多个信息量比值中的每个信息量比值为任一时刻的第一信息量与任一时刻的第二信息量的比值;
对所述多个信息量比值进行拟合处理,得到多个信息量比值的比值变化率;以及
如果所述比值变化率在预设变化率范围之内,则确定所述当前第一数据表的数据内容和所述当前第二数据表的数据内容一致;以及
如果所述比值变化率在预设比值范围之外,则确定所述当前第一数据表的数据内容和所述当前第二数据表的数据内容不一致。


5.根据权利要求1所述的方法,其中,所述获取主数据库的多个第一数据表和备数据库的多个第二数据表包括:在第一时刻获取主数据库的多个第一数据表和备...

【专利技术属性】
技术研发人员:周湉林晖宋逸斐余瑾
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1