CN116737736A - 数据一致性检查及修复方法、装置、设备、介质及产品 - Google Patents
数据一致性检查及修复方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN116737736A CN116737736A CN202310675823.3A CN202310675823A CN116737736A CN 116737736 A CN116737736 A CN 116737736A CN 202310675823 A CN202310675823 A CN 202310675823A CN 116737736 A CN116737736 A CN 116737736A
- Authority
- CN
- China
- Prior art keywords
- global transaction
- data
- consistency
- library
- transaction identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000001514 detection method Methods 0.000 claims abstract description 16
- 230000008439 repair process Effects 0.000 claims description 113
- 230000002159 abnormal effect Effects 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 47
- 230000010076 replication Effects 0.000 claims description 29
- 238000007689 inspection Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 25
- 238000013523 data management Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000011084 recovery Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种数据一致性检查及修复方法、装置、电子设备、介质及产品,涉及计算机技术领域,可应用于金融科技领域,检查方法包括:对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。
Description
技术领域
本公开涉及计算机技术领域,可以应用于金融科技技术领域,特别涉及一种数据一致性检查及修复方法、装置、设备、介质及产品。
背景技术
商业银行一般使用数据管理平台(Data Management Platform,DMP)管理和维护MySQL(关系型数据库管理系统)数据库,同组数据库的数据一致性由DMP平台高可用组件检查和保障。随着MySQL数据库高可用的进一步提升,灾备环境需要具备接管全量业务的能力,且灾备数据库与生产环境数据库需要实现解耦和隔离,故分布在不同的DMP中,无法通过DMP高可用组件实现数据一致性的对比和保障,需要研究和部署其他方式进行数据一致性保障。
现有的数据一致性保障方案主要依赖于人工检查和确认,这种方式存在耗时久,效率慢,容易遗漏及对比繁琐的问题,并且需要人工执行命令修复,串写命令复杂,易出错且难以核对。
发明内容
有鉴于此,本公开的主要目的是提供一种数据一致性检查及修复方法、装置、电子设备、介质及产品,旨在至少部分解决现有数据一致性检查方法存在耗时久,效率慢,容易遗漏、对比繁琐、易出错且难以核对等技术问题。
为实现上述目的,本公开实施例的第一方面提供一种数据一致性检查方法,包括:对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。
根据本公开的实施例,其中,所述对数据库进行状态检查包括:对所述数据库的进程、命令返回进行状态检查来确定所述数据库的可用状态;响应于所述数据库处于可用状态,对所述数据库的复制状态和复制延迟进行检查来确定所述备库与所述主库是否建立复制;响应于所述备库与所述主库建立复制,确定所述检查类型为一般性一致性检查;响应于所述备库与所述主库未建立复制,确定所述检查类型为强一致性检查。
根据本公开的实施例,其中,所述响应于所述检查类型为一般性一致性检查,对主库的全局事务标识符与备库的全局事务标识符进行一般一致性对比,得到数据一致性信息包括:从所述至少一个主库中确定待检查主库;对与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;响应于多个备库的多个第二全局事务标识不一致,确定所述待检查主库和对应的多个备库中存在数据不一致;响应于多个备库的多个第二全局事务标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识无变化,检测所述待检查主库和对应的多个备库中的复制状态;响应于多个备库的多个第二全局事务标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识持续增长,确定所述待检查主库和对应的多个备库中的数据一致。
根据本公开的实施例,其中,所述响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息包括:从所述至少一个主库中确定待检查主库;对所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识一致,确定所述待检查主库和对应的多个备库中的数据一致;响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定所述待检查主库和对应的多个备库中存在数据不一致。
根据本公开的实施例,其中,所述方法还包括:获取配置文件,其中,所述配置文件包括待检查数据库的信息;根据所述配置文件对所述待检查数据库进行批量检查。
本公开的第二方面提供一种数据一致性修复方法,包括:获取数据库的数据一致性信息,其中,所述数据一致性信息是由上述数据一致性检查方法检测得到的;响应于数据不一致,生成异常全局事务标识符的修复脚本;执行所述修复脚本来修复所述异常全局事务标识符。
根据本公开的实施例,其中,响应于数据不一致,生成异常全局事务标识符的修复脚本包括:获取同组数据库中与数据不一致关联的数据库之外的第三方数据库的第三全局事务标识符;将所述第三全局事务标识符与所述数据不一致关联的数据库的第一全局事务标识符或第二全局事务标识符进行对比,确定异常全局事务标识符;对所述异常全局事务标识符进行解析,生成所述修复脚本。
根据本公开的实施例,所述执行所述修复脚本来修复所述异常全局事务标识符包括:响应于所述异常全局事务标识符解析得到的数据包括系统侧心跳信息,执行所述修复脚本;响应于所述异常全局事务标识符解析得到的数据包括业务数据,确认所述业务数据的有效性;响应于所述业务数据为无效数据,执行所述修复脚本;响应于所述业务数据为有效数据,不执行所述修复脚本。
根据本公开的实施例,其中,在对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比的情况下,所述方法还包括:响应于待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定所述待检查主库和与所述待检查主库对应的多个备库是否符合一般性一致性检查;响应于所述待检查主库和与所述待检查主库对应的多个备库符合一般性一致性检查,重建所述待检查主库与对应的多个备库之间的复制关系,直至待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识完全一致。
根据本公开的实施例,其中,在所述执行所述修复脚本来修复所述异常全局事务标识符之后,所述方法还包括:对修复后的数据库进行数据一致性检查,得到数据一致性的修复结果,所述修复结果包括修复成功或修复失败;根据所述修复结果生成处理日志。
根据本公开的实施例,其中,所述根据所述修复结果生成处理日志包括:响应于修复失败,记录异常全局事务标识和修复脚本执行异常信息;根据异常全局事务标识和修复脚本执行异常信息生成所述处理日志。
本公开实施例的第三方面提供一种数据一致性检查装置,包括:检查模块,用于对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;第一对比模块,用于响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;第二对比模块,用于响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。
本公开实施例的第四方面提供一种数据一致性修复装置,包括:如上述所述的数据一致性检查装置,用于检查数据库的数据一致性信息;生成模块,用于响应于数据不一致,生成异常全局事务标识符的修复脚本;执行模块,用于执行所述修复脚本来修复所述异常全局事务标识符。
本公开实施例第五方面提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据上述数据一致性检查及修复方法。
本公开实施例第六方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器执行根据上述数据一致性检查及修复方法。
本公开实施例第七方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据上述数据一致性检查及修复方法。
根据本公开实施例提供的数据一致性检查及修复方法、装置、电子设备、介质及产品,至少具备以下有益效果:
针对不同阶段对比全局事务标识符的需求不一致设置不同的检查方式,一般一致性对比可适用于日常灾备与生产同步数据期间数据一致性对比和快速修复,强一致对比功能使用与应用级全量灾备带载切换演练过程中数据一致性对比和修复,从而解决了灾备、生产数据库分别部署在不同DMP下数据一致性无法快速核对的问题。
通过获取提供待检查数据库清单的配置文件进行检查,能够快速实现全局事务标识符对比,能够实现数据库的批量检查,解决了现有检查方案耗时长、易出错、无法实时批量检查和控制、人工步骤繁琐等问题。
针对异常全局事务标识符信息,提供自动解析和自动修复脚本;同时,针对异常全局事务标识符信息进行初步自动判断,若为系统数据则可实现自动修复;若为应用数据,可直接提供异常信息的具体结构化查询语言内容,便于业务人员直接判断并执行补数方案;针对每个模块的检查、处理结果均进行批量统计,便于运维人员快速掌握整体对比情况并快速制定补处理方案。
该方法及装置全面提升批量操作的自动化处理能力,尽可能减少人为操作和干预,降低人工操作成本和人为操作风险;针对必须人工介入分析、判断的内容,提供完成的对比结果、异常全局事务标识符解析信息、全局事务标识符修复脚本、自动处理结果和全量日志,为人工快速介入、决策提供必要的数据和信息基础。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1示意性示出了根据本公开实施例的数据一致性检查和修复方法及装置的系统架构100;
图2示意性示出了根据本公开一实施例的数据一致性检查方法的流程图;
图3示意性示出了根据本公开实施例的操作S201的对数据库进行状态检查的方法流程图;
图4示意性示出了根据本公开实施例的图3所示对数据库进行状态检查方法的原理图;
图5示意性示出了根据本公开实施例的操作S202的一般性一致性检查的方法流程图;
图6示意性示出了根据本公开实施例的数据一致性对比的原理图;
图7示意性示出了根据本公开实施例的操作S203的强一致性检查的方法流程图;
图8示意性示出了根据本公开另一实施例的数据一致性检查方法流程图;
图9示意性示出了根据本公开一实施例的数据一致性修复方法流程图;
图10示意性示出了根据本公开实施例的操作S902的修复脚本生成方法流程图;
图11示意性示出了根据本公开实施例的操作S903的执行修复脚本修复异常全局事务标识符的流程图;
图12示意性示出了根据本公开实施例的执行修复脚本修复异常全局事务标识符的原理图;
图13示意性示出了根据本公开另一实施例的数据一致性修复方法的流程图;
图14示意性示出了根据本公开又一实施例的数据一致性修复方法的流程图;
图15示意性示出了根据本公开实施例的数据一致性检查装置的框图;
图16示意性示出了根据本公开实施例的数据一致性修复装置的框图;
图17示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据一致性修复装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
在本公开的技术方案中,所涉及的信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,若需要获取用户个人信息,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
针对相关技术中存在的技术问题,本公开实施例提供了一种数据一致性检查及修复方法,检查方法包括:对数据库进行健康状态检查,确定数据一致性的检查类型,其中,检查类型包括一般性一致性检查或强一致性检查;数据库包括至少一个主库,每个主库对应多个备库。响应于检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,据一致性信息表征数据一致或数据不一致。响应于检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到数据一致性信息。修复方法包括:响应于数据一致性信息指示数据不一致,生成异常全局事务标识符的修复脚本。执行修复脚本来修复异常全局事务标识符。
图1示意性示出了根据本公开实施例的数据一致性检查和修复方法及装置的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括数据库101,网络102和数据管理平台103。网络103用于数据库101与服务器103之间提供通信链路。
数据库101例如可以是MySQL数据库。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。其中有线方式例如可以是采用线缆及以下多种接口中的任一种连接:光纤通道、红外线接口、D型数据接口、串行接口、USB接口、USB Type-C接口或Dock接口,无线方式例如可以是采用无线通信方式连接的,其中的无线通信例如可采用蓝牙、Wi-Fi、Infrared、ZigBee等多个无线技术标准中的任一个。数据管理平台103用于纳管MySQL数据库,并对纳管其中的数据库提供高可用、日常运维、性能监控、应急等功能,提供MySQL台账导出功能。具体地,数据管理平台103通过网络102对数据库101进行健康状态检查,确定数据一致性的检查类型,响应于检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,响应于检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到数据一致性信息,响应于数据一致性信息指示数据不一致,生成异常全局事务标识符的修复脚本。执行修复脚本来修复异常全局事务标识符。
需要说明的是,本公开实施例所提供的数据一致性检查及修复方法可以由数据管理平台103执行。相应地,本公开实施例所提供的数据一致性检查及修复装置可以设置于数据管理平台103中。或者,本公开实施例所提供的数据一致性检查及修复方法也可以由不同于数据管理平台103且能够与数据管理平台103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据一致性检查及修复也可以设置于不同于数据管理平台103且能够与数据管理平台103通信的服务器或服务器集群中。或者,本公开实施例所提供的数据一致性检查方法也可以部分由服务器104执行,部分由存储设备102执行。相应的,本公开实施例所提供的数据一致性检查及修复装置也可以部分设置于数据管理平台103中,部分设置于数据库101中。
应该理解,图1中的数据库、网络和数据管理平台的数目仅仅是示意性的。根据实现需要,可以具有任意数目的数据库、网络和数据管理平台。
本公开实施例提供的数据一致性检查及修复方法,可以应用于金融科技领域。例如,对于银行而言,使用DMP平台管理和维护MySQL数据库,而在数据一致性检查及修复过程中,通过人工检查复制状态和复制延迟情况,对与数据库组内数据库实例逐一执行命令获取各实例全局事务标识(Global Transaction Identifier,GTID)信息并逐一对比,分析和记录GTID异常信息,通过手工逐台修复异常GTID,保障数据一致性。然而,目前的MySQL规模超过18000个实例,通过人工检查复制状态、复制延迟情况耗时久,效率慢,容易遗漏。并且,GTID对比繁琐:以大型银行MySQL架构为例,生产环境4个数据库实例、灾备环境2个数据库实例,则一组数据库中GTID可能存在6条GTID信息,人工对比繁琐且易错。此外,人工执行命令修复GTID,串写命令复杂,易出错且难以核对。在此应用场景下,采用本公开实施例提供的数据一致性检查及修复方法,能够解决上述技术问题。
应当理解是,本公开实施例提供的数据一致性检查及修复方法不仅限于应用于金融科技领域,也可用于除金融领域之外的任意领域。上述描述只是示例性的,对于例涉及数据一致性检查及修复的例如电子商务、商品推荐、物流等其他技术领域,都可以应用本公开实施例的数据一致性检查方及修复法。
以下将基于图1描述的行外资产挖掘场景,通过图2~图11对本公开实施例的数据一致性检查方法及修复方法进行详细描述。
图2示意性示出了根据本公开一实施例的数据一致性检查方法的流程图。
如图2所示,该数据一致性检查方法例如可以包括操作S201~操作S203。
在操作S201,对数据库进行健康状态检查,确定数据一致性的检查类型。
在本公开的实施例中,检查类型包括一般性一致性检查或强一致性检查。数据库包括至少一个主库,每个主库对应多个备库,每个主库和该主库对应的多个备库可以划分为同组数据库。一般一致性检查可以理解为主要针对日常同步数据期间的数据一致性检查,获取主备库的GTID信息,除当前主库对应的GTID信息记录外其他GTID信息完全一致,当前主库对应的GTID信息,备库中的记录范围小于或等于主库中的GTID范围(主库的GTID包含备库的GTID)。强一致性可以理解为主库、备库中GTID信息完全一致。其中,本公开实施例中的GTID以“serverID:”序号范围的方式表示,每个数据库服务器的serverID唯一。
在操作S202,响应于检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息。
在本公开的实施例中,数据一致性信息表征数据一致或数据不一致。
在操作S203,响应于检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到数据一致性信息。
在本公开的实施例中,日常数据同步过程中,可能存在数据复制延迟,备库的GTID可能小于当前主库的GTID,此时,GTID对比不需要强一致性。切换演练过程中,因需要保障数据一致性,此时,GTID对比需要强一致。
根据本公开的实施例提供的数据一致性检查方法,针对不同阶段对比全局事务标识符的需求不一致设置不同的检查方式,一般一致性对比可适用于日常灾备与生产同步数据期间数据一致性对比和快速修复,强一致对比功能使用与应用级全量灾备带载切换演练过程中数据一致性对比和修复,对两种不同的需求进行适配,从而解决了灾备、生产数据库分别部署在不同DMP下数据一致性无法快速核对的问题。
图3示意性示出了根据本公开实施例的操作S201的对数据库进行状态检查的方法流程图。
如图3所示,操作S201的对数据库进行状态检查例如可以包括操作S301~操作S304。
在操作S301,对数据库的进程、命令返回进行状态检查来确定数据库的可用状态。
在操作S302,响应于数据库处于可用状态,对数据库的复制状态和复制延迟进行检查来确定备库与主库是否建立复制。
在操作S303,响应于备库与主库建立复制,确定检查类型为一般性一致性检查。
在操作S304,响应于备库与主库未建立复制,确定检查类型为强一致性检查。
图4示意性示出了根据本公开实施例的图3所示对数据库进行状态检查方法的原理图。
如图4所示,数据库状态检查主要包括数据库进程、命令返回等状态检查,保证数据库正常且可用。日常情况下,备库实时从主库同步数据,GTID检查为一般性检查。保证数据库健康的前提下,检查数据库复制和延迟情况,若当前建立复制,则判断数据一致性检查为一般一致性检查;若当前未建立复制,则判断为强一致性检查。该数据库状态检查执行完成后,记录检查结果和日志记录,用于后续判断。
根据本公开实施例的数据一致性检查方法,基于数据库的复制状态和复制延迟,能够快速判断当前数据库数据一致性检查需求,从而提高了数据一致性的检查效率。
图5示意性示出了根据本公开实施例的操作S202的一般性一致性检查的方法流程图。
图6示意性示出了根据本公开实施例的数据一致性对比的原理图。
如图5及图6所示,操作S202的一般性一致性检查例如可以包括操作S501~操作S504。
在操作S501,从至少一个主库中确定待检查主库。
在操作S502,对与待检查主库对应的多个备库的多个第二全局事务标识进行对比。
在操作S503,响应于多个备库的多个第二全局事务标识不一致,确定待检查主库和对应的多个备库中存在数据不一致。
在操作S504,响应于多个备库的多个第二全局事务标识一致且待检查主库的第一全局事务标识包含第二全局事务标识且待检查主库的第一全局事务标识无变化,检测待检查主库和对应的多个备库中的复制状态。
在操作S505,响应于多个备库的多个第二全局事务标识一致且待检查主库的第一全局事务标识包含第二全局事务标识且待检查主库的第一全局事务标识持续增长,确定待检查主库和对应的多个备库中的数据一致。
在本公开的实施例中,待检测的主库可以是一个,也可以是多个,待检测的主库的具体数量可以根据当前实际应用需求确定,本公开不做限制。当待检查的主库为多个时,可以采用并行处理的方式,进行状态检查、数据一致性对比和数据修复。
在本公开的实施例中,可以根据数据库信息获取对应的待检测主库的信息。并获取待检测主库所属数据库组的GTID集合。可以通过获取待检测主库的通用唯一识别码(Universally Unique Identifier,UUID),识别GTID集合中属于待检测主库的GTID信息记录,对比同组数据库其他GTID信息和当前主库对应GTID信息。若该组数据库中除待检测主库的GTID之外的其他GTID信息一致、当前主库GTID对应记录备库小于或等于当前主库中记录且该条记录持续增长,则认为一般一致性对比成功,该组数据库的数据一致。若该组数据库中除待检测主库的GTID之外的其他GTID信息一致、当前主库GTID对应记录备库小于或等于当前主库中记录且该条记录持续增长无变化,则检查复制状态是否正常,若复制状态异常则重建复制,保证数据同步。若该组数据库中除待检测主库的GTID之外的其他GTID信息不一致,则说明该组数据库中发生数据不一致情况。
图7示意性示出了根据本公开实施例的操作S203的强一致性检查的方法流程图。
如图6及图7所示,操作S203的强一致性检查可以包括操作S701~操作S704。
在操作S701,从至少一个主库中确定待检查主库。
在操作S702,对待检查主库的第一全局事务标识和与待检查主库对应的多个备库的多个第二全局事务标识进行对比。
在操作S703,响应于待检查主库的第一全局事务标识和与待检查主库对应的多个备库的多个第二全局事务标识一致,确定待检查主库和对应的多个备库中的数据一致。
在操作S704,响应于待检查主库的第一全局事务标识和与待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定待检查主库和对应的多个备库中存在数据不一致。
在本公开的实施例中,待检测的主库可以是一个,也可以是多个,待检测的主库的具体数量可以根据当前实际应用需求确定,本公开不做限制。当待检查的主库为多个时,可以采用并行处理的方式,进行状态检查、数据一致性对比和数据修复。对比同组数据库中主库GTID信息和当前主库对应GTID信息,若GTID信息完全一致,则认为该组数据库中数据一致,若GTID信息不完全一致,则认为该组数据库中发生数据不一致的情况,可以进一步判断该组数据库是否符合一般性一致性检查。
根据本公开实施例的数据一致性检查方法,通过设置一般性一致性检查和强一致性检查的具体检查方法,能够更好地适应不同需求。
图8示意性示出了根据本公开另一实施例的数据一致性检查方法流程图。
如图8所示,数据一致性检查方法还可以包括操作S801~操作S802。
在操作S801,获取配置文件,其中,配置文件包括待检查数据库的信息。
在操作S802,根据配置文件对待检查数据库进行批量检。
在本公开的实施例中,需要进行数据一致性检查时,直接获取配置文件便可以进行批量的数据一致性检查,换言之,通过获取提供待检查数据库清单的配置文件进行检查,能够快速实现全局事务标识符对比,能够实现数据库的批量检查,解决了现有检查方案耗时长、易出错、无法实时批量检查和控制、人工步骤繁琐等问题。
图9示意性示出了根据本公开一实施例的数据一致性修复方法流程图。
如图9所示,该数据一致性修复方法例如可以包括操作S901~操作S903。
在操作S901,获取数据库的数据一致性信息。
在操作S902,响应于数据不一致,生成异常全局事务标识符的修复脚本。
在操作S903,执行修复脚本来修复异常全局事务标识符。
在本公开的实施例中,数据一致性信息是由前述图2~图7所示的数据一致性检查方法获取,具体不再赘述。
根据本公开实施例的数据一致性修复方法,根据数据一致性对比结果自动生成修复GTID的执行脚本,能够实现数据不一致性的快速批量修复。
图10示意性示出了根据本公开实施例的操作S902的修复脚本生成方法流程图。
如图10所示,修复脚本生成方法流可以包括操作S1001~操作S1003。
在操作S1001,获取同组数据库中与数据不一致关联的数据库之外的第三方数据库的第三全局事务标识符。
在操作S1002,将第三全局事务标识符与数据不一致关联的数据库的第一全局事务标识符或第二全局事务标识符进行对比,确定异常全局事务标识符。
在操作S1003,对异常全局事务标识符进行解析,生成修复脚本。
例如,待检测的主库为A,与待检测的主库为A对应的备库为B、C,备库B的GTID与备库C的GTID不一致,则获取备库D的GTID,与备库B的GTID与备库C的GTID进行三者之间的对比,确认异常GTID的信息和范围。又例如,待检测的主库为A的GTID与备库B的GTID不一致,则获取备库D的GTID,与待检测的主库为A的GTID与备库B的GTID进行三者之间的对比,确认异常GTID的信息和范围。在保留异常GTID信息和范围的同时自动解析异常GTID的信息、生成修复GTID的修复脚本。
根据本公开实施例提供的数据一致性修复方法,针对异常全局事务标识符信息,提供自动解析和自动修复脚本,能够实现数据不一致性对应的GTID信息的快速批量修复。
图11示意性示出了根据本公开实施例的操作S903的执行修复脚本修复异常全局事务标识符的流程图。
图12示意性示出了根据本公开实施例的执行修复脚本修复异常全局事务标识符的原理图。
如图11及图12所示,执行修复脚本复异常全局事务标识符可以包括操作S1101~操作S1104
在操作S1101,响应于异常全局事务标识符解析得到的数据包括系统侧心跳信息,执行修复脚本。
在操作S1102,响应于异常全局事务标识符解析得到的数据包括业务数据,确认业务数据的有效性。
在操作S1103,响应于业务数据为无效数据,执行修复脚本。
在操作S1104,响应于业务数据为有效数据,不执行修复脚本。
根据本公开实施例的数据一致性修复方法,针对异常GTID信息进行初步自动判断,若为系统数据则可实现自动修复;若为应用数据,可直接提供异常信息的具体结构化查询语言内容,便于业务人员直接判断并执行补数方案。
图13示意性示出了根据本公开另一实施例的数据一致性修复方法的流程图。
如图13所示,数据一致性修复方法例如可以包括操作S1301~操作S1302。
在操作S1301,响应于待检查主库的第一全局事务标识和与待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定待检查主库和与待检查主库对应的多个备库是否符合一般性一致性检查。
在操作S1302,响应于待检查主库和与待检查主库对应的多个备库符合一般性一致性检查,重建待检查主库与对应的多个备库之间的复制关系,直至待检查主库的第一全局事务标识和与待检查主库对应的多个备库的多个第二全局事务标识完全一致。
根据本公开实施例的数据一致性修复方法,在强一致性对比不通过时,可以进一步结合一般性一致性对比,在符合一般性一致性对比的情况下,自动重建到主库的复制关系进行追数,直至GTID完全一致后自动断开复制,进一步保证数据一致性。
图14示意性示出了根据本公开又一实施例的数据一致性修复方法的流程图。
如图12和图14所示,数据一致性修复方法例如可以包括操作S1401~操作S1402。
在操作S1401,对修复后的数据库进行数据一致性检查,得到数据一致性的修复结果,修复结果包括修复成功或修复失败。
在操作S1402,根据修复结果生成处理日志。
示例性地,执行GTID修复脚本后,再次检查GTID的一致性。若数据一致,则表示修复成功并记录修复结果;若修复后GTID仍然不一致,则记录GTID异常信息和脚本执行异常信息。完成该数据一致性后,统计批量修复的结果并生成处理日志。
根据本公开实施例的数据一致性修复方法,针对必须人工介入分析、判断的内容,提供完成的对比结果、异常GTID解析信息、GTID修复脚本、自动处理结果和全量日志,为人工快速介入、决策提供必要的数据和信息基础。
综上所述,本公开实施例提供的数据一致性检查及修复方法,对两种不同的需求进行适配,由用户灵活选择是否进行强一致对比。
基于图2~图8所示的数据一致性检查方法和图9~图14所示的数据一致性修复方法,本公开实施例还提供一种数据一致性检查装置及修复装置,以下将基于图1描述的场景,通过图11~图14对本公开实施例的数据一致性修复装置进行描述。
图15示意性示出了根据本公开实施例的数据一致性检查装置的框图。
如图15所示,数据一致性检查装置1500可以包括检查模块1510、第一对比模块1520以及第二对比模块1530。
检查模块1510,用于对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库。
第一对比模块1520,用于响应于检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,数据一致性信息表征数据一致或数据不一致。
第二对比模块1530,用于响应于检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到数据一致性信息。
图16示意性示出了根据本公开实施例的数据一致性修复装置的框图。
如图16所示,数据一致性修复装置1600可以包括数据一致性检查装置1500、生成模块1610以及执行模块1620。
数据一致性检查装置1500,用于检查数据库的数据一致性信息。
生成模块1610,用于响应于数据不一致,生成异常全局事务标识符的修复脚本。
执行模块1620,用于执行修复脚本来修复异常全局事务标识符。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,检查模块1510、第一对比模块1520、第二对比模块1530、生成模块1610以及执行模块1620中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,检查模块1510、第一对比模块1520、第二对比模块1530、生成模块1610以及执行模块1620中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,检查模块1510、第一对比模块1520、第二对比模块1530、生成模块1610以及执行模块1620中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中数据一致性检查装置及数据一致性修复装置部分与本公开的实施例中数据一致性检查方法及数据一致性修复方法付部分是相对应的,其具体实施细节及带来的技术效果也是相同的,在此不再赘述。
图17示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图17示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图17所示,根据本公开实施例的电子设备1700包括处理器1701,其可以根据存储在只读存储器(ROM)1702中的程序或者从存储部分1708加载到随机访问存储器(RAM)1703中的程序而执行各种适当的动作和处理。处理器1701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1701还可以包括用于缓存用途的板载存储器。处理器1701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1703中,存储有电子设备1700操作所需的各种程序和数据。处理器1701、ROM 1702以及RAM1703通过总线1704彼此相连。处理器1701通过执行ROM 1702和/或RAM1703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1702和RAM 1703以外的一个或多个存储器中。处理器1701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1700还可以包括输入/输出(I/O)接口1705,输入/输出(I/O)接口1705也连接至总线1704。电子设备1700还可以包括连接至I/O接口1705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被处理器1701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM1702和/或RAM 1703和/或ROM 1702和RAM 1703以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
Claims (16)
1.一种数据一致性检查方法,包括:
对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;
响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;
响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。
2.根据权利要求1所述的数据一致性检查方法,其中,所述对数据库进行状态检查包括:
对所述数据库的进程、命令返回进行状态检查来确定所述数据库的可用状态;
响应于所述数据库处于可用状态,对所述数据库的复制状态和复制延迟进行检查来确定所述备库与所述主库是否建立复制;
响应于所述备库与所述主库建立复制,确定所述检查类型为一般性一致性检查;
响应于所述备库与所述主库未建立复制,确定所述检查类型为强一致性检查。
3.根据权利要求1所述的数据一致性检查方法,其中,所述响应于所述检查类型为一般性一致性检查,对主库的全局事务标识符与备库的全局事务标识符进行一般一致性对比,得到数据一致性信息包括:
从所述至少一个主库中确定待检查主库;
对与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;
响应于多个备库的多个第二全局事务标识不一致,确定所述待检查主库和对应的多个备库中存在数据不一致;
响应于多个备库的多个第二全局事务标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识无变化,检测所述待检查主库和对应的多个备库中的复制状态;
响应于多个备库的多个第二全局事务标识一致且所述待检查主库的第一全局事务标识包含所述第二全局事务标识且所述待检查主库的第一全局事务标识持续增长,确定所述待检查主库和对应的多个备库中的数据一致。
4.根据权利要求1所述的数据一致性检查方法,其中,所述响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息包括:
从所述至少一个主库中确定待检查主库;
对所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识进行对比;
响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识一致,确定所述待检查主库和对应的多个备库中的数据一致;
响应于所述待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定所述待检查主库和对应的多个备库中存在数据不一致。
5.根据权利要求1-4任一项所述的数据一致性检查方法,其中,所述方法还包括:
获取配置文件,其中,所述配置文件包括待检查数据库的信息;
根据所述配置文件对所述待检查数据库进行批量检查。
6.一种数据一致性修复方法,包括:
获取数据库的数据一致性信息,其中,所述数据一致性信息是由权利要求1-5任一项所述的数据一致性检查方法检测得到的;
响应于数据不一致,生成异常全局事务标识符的修复脚本;
执行所述修复脚本来修复所述异常全局事务标识符。
7.根据权利要求6所述的数据一致性修复方法,其中,响应于数据不一致,生成异常全局事务标识符的修复脚本包括:
获取同组数据库中与数据不一致关联的数据库之外的第三方数据库的第三全局事务标识符;
将所述第三全局事务标识符与所述数据不一致关联的数据库的第一全局事务标识符或第二全局事务标识符进行对比,确定异常全局事务标识符;
对所述异常全局事务标识符进行解析,生成所述修复脚本。
8.根据权利要求7所述的数据一致性修复方法,其中,所述执行所述修复脚本来修复所述异常全局事务标识符包括:
响应于所述异常全局事务标识符解析得到的数据包括系统侧心跳信息,执行所述修复脚本;
响应于所述异常全局事务标识符解析得到的数据包括业务数据,确认所述业务数据的有效性;
响应于所述业务数据为无效数据,执行所述修复脚本;
响应于所述业务数据为有效数据,不执行所述修复脚本。
9.根据权利要求6所述的数据一致性修复方法,其中,在对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比的情况下,所述方法还包括:
响应于待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识不完全一致,确定所述待检查主库和与所述待检查主库对应的多个备库是否符合一般性一致性检查;
响应于所述待检查主库和与所述待检查主库对应的多个备库符合一般性一致性检查,重建所述待检查主库与对应的多个备库之间的复制关系,直至待检查主库的第一全局事务标识和与所述待检查主库对应的多个备库的多个第二全局事务标识完全一致。
10.根据权利要求6所述的数据一致性修复方法,其中,在所述执行所述修复脚本来修复所述异常全局事务标识符之后,所述方法还包括:
对修复后的数据库进行数据一致性检查,得到数据一致性的修复结果,所述修复结果包括修复成功或修复失败;
根据所述修复结果生成处理日志。
11.根据权利要求10所述的数据一致性修复方法,其中,所述根据所述修复结果生成处理日志包括:
响应于修复失败,记录异常全局事务标识和修复脚本执行异常信息;
根据异常全局事务标识和修复脚本执行异常信息生成所述处理日志。
12.一种数据一致性检查装置,包括:
检查模块,用于对数据库进行状态检查,确定数据一致性的检查类型,其中,所述检查类型包括一般性一致性检查或强一致性检查;所述数据库包括至少一个主库,每个主库对应多个备库;
第一对比模块,用于响应于所述检查类型为一般性一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行一般一致性对比,得到数据一致性信息,其中,所述数据一致性信息表征数据一致或数据不一致;
第二对比模块,用于响应于所述检查类型为强一致性检查,对主库的第一全局事务标识符与备库的第二全局事务标识符进行强一致性对比,得到所述数据一致性信息。
13.一种数据一致性修复装置,包括:
如权利要求12所述的数据一致性检查装置,用于检查数据库的数据一致性信息;
生成模块,用于响应于数据不一致,生成异常全局事务标识符的修复脚本;
执行模块,用于执行所述修复脚本来修复所述异常全局事务标识符。
14.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~11中任一项所述的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~11中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310675823.3A CN116737736A (zh) | 2023-06-08 | 2023-06-08 | 数据一致性检查及修复方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310675823.3A CN116737736A (zh) | 2023-06-08 | 2023-06-08 | 数据一致性检查及修复方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737736A true CN116737736A (zh) | 2023-09-12 |
Family
ID=87900563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310675823.3A Pending CN116737736A (zh) | 2023-06-08 | 2023-06-08 | 数据一致性检查及修复方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737736A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076212A (zh) * | 2023-10-17 | 2023-11-17 | 北京卡普拉科技有限公司 | Mpi通信数据内容的一致性检查方法、装置、介质及设备 |
-
2023
- 2023-06-08 CN CN202310675823.3A patent/CN116737736A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076212A (zh) * | 2023-10-17 | 2023-11-17 | 北京卡普拉科技有限公司 | Mpi通信数据内容的一致性检查方法、装置、介质及设备 |
CN117076212B (zh) * | 2023-10-17 | 2024-02-23 | 北京卡普拉科技有限公司 | Mpi通信数据内容的一致性检查方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073683B2 (en) | System and method for providing software build violation detection and self-healing | |
CN110088744B (zh) | 一种数据库维护方法及其系统 | |
CN109614262B (zh) | 业务校验方法、装置及计算机可读存储介质 | |
US10762544B2 (en) | Issue resolution utilizing feature mapping | |
CN111666186B (zh) | 数据访问异常的检测方法、装置、存储介质及计算机设备 | |
US9256489B2 (en) | Synchronized debug information generation | |
CN113238924B (zh) | 分布式图数据库系统中的混沌工程实现方法和系统 | |
CN109885431B (zh) | 用于备份数据的方法和装置 | |
CN114201408A (zh) | 回归测试方法、装置、计算机设备及存储介质 | |
CN116737736A (zh) | 数据一致性检查及修复方法、装置、设备、介质及产品 | |
CN113242157B (zh) | 一种分布式处理环境下的集中式数据质量监测方法 | |
CN110063042A (zh) | 一种数据库故障的响应方法及其终端 | |
CN115114064B (zh) | 一种微服务故障分析方法、系统、设备及存储介质 | |
CN110291505A (zh) | 减少应用的恢复时间 | |
Zhang et al. | Automated Root Causing of Cloud Incidents using In-Context Learning with GPT-4 | |
CN111563002B (zh) | 交易故障的处理方法和装置、以及电子设备和存储介质 | |
CN117573452A (zh) | 性能测试方法、装置、计算机设备、存储介质和程序产品 | |
US20140181017A1 (en) | Consistent replication of transactional updates | |
CN111694724B (zh) | 分布式表格系统的测试方法、装置、电子设备及存储介质 | |
KR20220121227A (ko) | 블록체인 네트워크의 위험 월렛 주소를 관리하는 방법 및 장치 | |
CN111949479B (zh) | 交互系统和索引创建情况的确定方法、设备 | |
US10291700B2 (en) | Network optimized scan with dynamic fallback recovery | |
US11621960B2 (en) | System and method to update aircraft maintenance records using blockchain technology | |
CN115048439B (zh) | 数据转换方法、装置、电子设备及存储介质 | |
CN118646649A (zh) | 节点参数管理方法、装置、计算机设备、存储介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |