数据一致性检查及修复方法、装置、设备、介质及产品制造方法及图纸

技术编号:38822527 阅读:13 留言:0更新日期:2023-09-15 20:01
本公开提供一种数据一致性检查及修复方法、装置、电子设备、介质及产品,涉及计算机技术领域,可应用于金融科技领域,检查方法包括:对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。得到所述数据一致性信息。得到所述数据一致性信息。

【技术实现步骤摘要】
数据一致性检查及修复方法、装置、设备、介质及产品


[0001]本公开涉及计算机
,可以应用于金融科技
,特别涉及一种数据一致性检查及修复方法、装置、设备、介质及产品。

技术介绍

[0002]商业银行一般使用数据管理平台(Data Management Platform,DMP)管理和维护MySQL(关系型数据库管理系统)数据库,同组数据库的数据一致性由DMP平台高可用组件检查和保障。随着MySQL数据库高可用的进一步提升,灾备环境需要具备接管全量业务的能力,且灾备数据库与生产环境数据库需要实现解耦和隔离,故分布在不同的DMP中,无法通过DMP高可用组件实现数据一致性的对比和保障,需要研究和部署其他方式进行数据一致性保障。
[0003]现有的数据一致性保障方案主要依赖于人工检查和确认,这种方式存在耗时久,效率慢,容易遗漏及对比繁琐的问题,并且需要人工执行命令修复,串写命令复杂,易出错且难以核对。

技术实现思路

[0004]有鉴于此,本公开的主要目的是提供一种数据一致性检查及修复方法、装置、电子设备、介质及产品,旨在至少部分解决现有数据一致性检查方法存在耗时久,效率慢,容易遗漏、对比繁琐、易出错且难以核对等技术问题。
[0005]为实现上述目的,本公开实施例的第一方面提供一种数据一致性检查方法,包括:对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。
[0006]根据本公开的实施例,其中,所述对数据库进行状态检查包括:对所述数据库的进程、命令返回进行状态检查来确定所述数据库的可用状态;响应于所述数据库处于可用状态,对所述数据库的复制状态和复制延迟进行检查来确定所述备库与所述主库是否建立复制;响应于所述备库与所述主库建立复制,确定所述检查类型为一般性一致性检查;响应于所述备库与所述主库未建立复制,确定所述检查类型为强一致性检查。
[0007]根据本公开的实施例,其中,所述响应于所述检查类型为一般性一致性检查,对主库的全局事务标识符与备库的全局事务标识符进行一般一致性对比,得到数据一致性信息包括:从所述至少一个主库中确定待检查主库;对与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;响应于多个备库的多个第二全局事务标识不一致,确定所述待检查主库和对应的多个备库中存在数据不一致;响应于多个备库的多个第二全局事务
标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识无变化,检测所述待检查主库和对应的多个备库中的复制状态;响应于多个备库的多个第二全局事务标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识持续增长,确定所述待检查主库和对应的多个备库中的数据一致。
[0008]根据本公开的实施例,其中,所述响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息包括:从所述至少一个主库中确定待检查主库;对所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识一致,确定所述待检查主库和对应的多个备库中的数据一致;响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定所述待检查主库和对应的多个备库中存在数据不一致。
[0009]根据本公开的实施例,其中,所述方法还包括:获取配置文件,其中,所述配置文件包括待检查数据库的信息;根据所述配置文件对所述待检查数据库进行批量检查。
[0010]本公开的第二方面提供一种数据一致性修复方法,包括:获取数据库的数据一致性信息,其中,所述数据一致性信息是由上述数据一致性检查方法检测得到的;响应于数据不一致,生成异常全局事务标识符的修复脚本;执行所述修复脚本来修复所述异常全局事务标识符。
[0011]根据本公开的实施例,其中,响应于数据不一致,生成异常全局事务标识符的修复脚本包括:获取同组数据库中与数据不一致关联的数据库之外的第三方数据库的第三全局事务标识符;将所述第三全局事务标识符与所述数据不一致关联的数据库的第一全局事务标识符或第二全局事务标识符进行对比,确定异常全局事务标识符;对所述异常全局事务标识符进行解析,生成所述修复脚本。
[0012]根据本公开的实施例,所述执行所述修复脚本来修复所述异常全局事务标识符包括:响应于所述异常全局事务标识符解析得到的数据包括系统侧心跳信息,执行所述修复脚本;响应于所述异常全局事务标识符解析得到的数据包括业务数据,确认所述业务数据的有效性;响应于所述业务数据为无效数据,执行所述修复脚本;响应于所述业务数据为有效数据,不执行所述修复脚本。
[0013]根据本公开的实施例,其中,在对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比的情况下,所述方法还包括:响应于待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定所述待检查主库和与所述待检查主库对应的多个备库是否符合一般性一致性检查;响应于所述待检查主库和与所述待检查主库对应的多个备库符合一般性一致性检查,重建所述待检查主库与对应的多个备库之间的复制关系,直至待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识完全一致。
[0014]根据本公开的实施例,其中,在所述执行所述修复脚本来修复所述异常全局事务标识符之后,所述方法还包括:对修复后的数据库进行数据一致性检查,得到数据一致性的修复结果,所述修复结果包括修复成功或修复失败;根据所述修复结果生成处理日志。
[0015]根据本公开的实施例,其中,所述根据所述修复结果生成处理日志包括:响应于修复失败,记录异常全局事务标识和修复脚本执行异常信息;根据异常全局事务标识和修复脚本执行异常信息生成所述处理日志。
[0016]本公开实施例的第三方面提供一种数据一致性检查装置,包括:检查模块,用于对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;第一对比模块,用于响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据一致性检查方法,包括:对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。2.根据权利要求1所述的数据一致性检查方法,其中,所述对数据库进行状态检查包括:对所述数据库的进程、命令返回进行状态检查来确定所述数据库的可用状态;响应于所述数据库处于可用状态,对所述数据库的复制状态和复制延迟进行检查来确定所述备库与所述主库是否建立复制;响应于所述备库与所述主库建立复制,确定所述检查类型为一般性一致性检查;响应于所述备库与所述主库未建立复制,确定所述检查类型为强一致性检查。3.根据权利要求1所述的数据一致性检查方法,其中,所述响应于所述检查类型为一般性一致性检查,对主库的全局事务标识符与备库的全局事务标识符进行一般一致性对比,得到数据一致性信息包括:从所述至少一个主库中确定待检查主库;对与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;响应于多个备库的多个第二全局事务标识不一致,确定所述待检查主库和对应的多个备库中存在数据不一致;响应于多个备库的多个第二全局事务标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识无变化,检测所述待检查主库和对应的多个备库中的复制状态;响应于多个备库的多个第二全局事务标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识持续增长,确定所述待检查主库和对应的多个备库中的数据一致。4.根据权利要求1所述的数据一致性检查方法,其中,所述响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息包括:从所述至少一个主库中确定待检查主库;对所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识一致,确定所述待检查主库和对应的多个备库中的数据一致;响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定所述待检查主库和对应的多个备库中存在数据不一致。
5.根据权利要求1

4任一项所述的数据一致性检查方法,其中,所述方法还包括:获取配置文件,其中,所述配置文件包括待检查数据库的信息;根据所述配置文件对所述待检查数据库进行批量检查。6.一种数据一致性修复方法,包括:获取数据库的数据一致性信息,其中,所述数据一致性信息是由权利要求1

5任一项所述的数据一致性检查方法检测得到的;响应于数据不一致,生成异常全局事务标识符的修复脚本;执行所述修复脚本来修复所述异常全局事务标识符。7.根据权利要求6所述的数据一致性修复方法,其中,响应于数据不一致,生成异常全局事务标识符的修复脚本包括:获取同组数据库中...

【专利技术属性】
技术研发人员:张娟林家雄
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1