掌桥专利:专业的专利平台
掌桥专利
首页

数据检核方法、装置、电子设备及存储介质

文献发布时间:2024-01-17 01:27:33


数据检核方法、装置、电子设备及存储介质

技术领域

本公开涉及数据处理技术领域,尤其涉及一种数据检核方法、装置、电子设备及存储介质。

背景技术

目前,数据迁移需要执行大量的数据检核规则脚本来验证迁入数据的准确性。且数据检核规则会不断增补,不同检核规则的结构化查询语言(Structured QueryLanguage,SQL)生成方法也不相同,因而数据迁移需要投入的工作量巨大,且耗时费力。

发明内容

本公开提供一种数据检核方法、装置、设备及存储介质,用以解决现有技术中数据检核过程中面对不同检核规则,需要人工调整生成SQL条件语句方法的问题。

为此,本公开的一个目的在于提出一种数据检核方法。

本公开的第二个目的在于提出一种数据检核装置。

本公开的第三个目的在于提出一种电子设备。

本公开的第四个目的在于提出一种非瞬时计算机可读存储介质。

本公开的第五个目的在于提出一种计算机程序产品。

为达上述目的,本公开第一方面实施方式提出了一种数据检核方法,包括:获取待检核数据库的检核配置文件;对所述检核配置文件进行解析,并基于解析结果生成结构化查询语言SQL条件语句集合;基于所述检核配置文件和所述SQL条件语句集合,生成可执行SQL脚本集合;对所述待检核数据库执行所述SQL脚本集合,得到所述待检核数据库的数据检核结果。

根据本公开的一个实施方式,所述对所述检核配置文件进行解析,并基于解析结果生成结构化查询语言SQL条件语句集合,包括:对所述检核配置文件进行解析,获取所述待检核数据库中的待检核数据表,以及所述待检核数据表内的待检核字段和所述待检核字段对应的检核类型;根据所述待检核数据表、所述待检核字段和对应的所述检核类型,获取所述SQL条件语句集合。

根据本公开的一个实施方式,所述根据所述待检核数据表、所述待检核字段和对应的所述检核类型,获取所述SQL条件语句集合,包括:针对每个所述待检核字段,从所述待检核数据表中获取所述待检核字段所属的目标待检核数据表的表名;根据所述待检核字段对应的目标检核类型,确定所述目标检核类型对应的目标SQL条件;根据所述目标待检核数据表的表名、所述待检核字段的字段名和目标SQL条件进行组装,得到SQL条件语句,以生成所述SQL条件语句集合。

根据本公开的一个实施方式,所述根据所述目标待检核数据表的表名、所述待检核字段的字段名和目标SQL条件进行组装,得到SQL条件语句,包括:对所述目标待检核数据表的表名、所述标待检核字段的字段名和所述SQL条件进行组装;获取所述目标检核类型对应的SQL关键字;在组装后的SQL初始条件语句中添加所述SQL关键字,得到所述SQL条件语句。

根据本公开的一个实施方式,所述基于所述检核配置文件和所述SQL条件语句集合进行脚本生成,得到可执行SQL脚本集合,包括:基于所述检核配置文件,获取每个待检核字段对应的目标检核类型的标识和结果提示信息;从所述SQL条件语句集合中读取每个待检核字段的SQL条件语句;针对每个所述待检核字段,将所述待检核字段对应的目标检核类型的标识和结果提示信息,与所述待检核字段的SQL条件语句进行重新组装,得到可执行SQL语句;对所述可执行SQL语句配置所述待检核数据库的环境变量和数据库连接符,以生成所述可执行SQL脚本集合。

根据本公开的一个实施方式,所述对所述待检核数据库执行所述SQL脚本集合,得到所述待检核数据库的数据检核结果,包括:获取所述待检核数据库的配置信息;对所述待检核数据库执行测试语句,判断所述待检核数据库的所述配置信息是否正确;在所述配置信息正确时,基于所述数据库连接符连接所述待检核数据库,并对所述待检核数据库执行所述SQL脚本集合,得到所述待检核数据库的数据检核结果。

根据本公开的一个实施方式,所述对所述待检核数据库执行所述SQL脚本集合,得到所述待检核数据库的数据检核结果之前,还包括:在所述可执行SQL脚本集合中增加登录数据库的登录脚本命令,并执行所述登录脚本命令对所述待检核数据库进行登录操作。

根据本公开的一个实施方式,所述对所述待检核数据库执行所述SQL脚本集合,得到所述待检核数据库的数据检核结果之后,还包括:对所述数据检核结果进行格式转换,得到格式化检核结果,并存储在检核表中。

为达上述目的,本公开第二方面实施例提出了一种数据检核装置,包括:获取模块,用于获取待检核数据库的检核配置文件;第一生成模块,用于对所述检核配置文件进行解析,并基于解析结果生成结构化查询语言SQL条件语句集合;第二生成模块,用于基于所述检核配置文件和所述SQL条件语句集合,生成可执行SQL脚本集合;执行模块,用于对所述待检核数据库执行所述SQL脚本集合,得到所述待检核数据库的数据检核结果。

根据本公开的一个实施方式,所述第一生成模块,还用于:对所述检核配置文件进行解析,获取所述待检核数据库中的待检核数据表,以及所述待检核数据表内的待检核字段和所述待检核字段对应的检核类型;根据所述待检核数据表、所述待检核字段和对应的所述检核类型,获取所述SQL条件语句集合。

根据本公开的一个实施方式,所述第一生成模块,还用于:针对每个所述待检核字段,从所述待检核数据表中获取所述待检核字段所属的目标待检核数据表的表名;根据所述待检核字段对应的目标检核类型,确定所述目标检核类型对应的目标SQL条件;根据所述目标待检核数据表的表名、所述待检核字段的字段名和目标SQL条件进行组装,得到SQL条件语句,以生成所述SQL条件语句集合。

根据本公开的一个实施方式,所述第一生成模块,还用于:对所述目标待检核数据表的表名、所述标待检核字段的字段名和所述SQL条件进行组装;获取所述目标检核类型对应的SQL关键字;在组装后的SQL初始条件语句中添加所述SQL关键字,得到所述SQL条件语句。

根据本公开的一个实施方式,所述第二生成模块,还用于:基于所述检核配置文件,获取每个待检核字段对应的目标检核类型的标识和结果提示信息;从所述SQL条件语句集合中读取每个待检核字段的SQL条件语句;针对每个所述待检核字段,将所述待检核字段对应的目标检核类型的标识和结果提示信息,与所述待检核字段的SQL条件语句进行重新组装,得到可执行SQL语句;对所述可执行SQL语句配置所述待检核数据库的环境变量和数据库连接符,以生成所述可执行SQL脚本集合。

根据本公开的一个实施方式,所述执行模块,还用于:获取所述待检核数据库的配置信息;对所述待检核数据库执行测试语句,判断所述待检核数据库的所述配置信息是否正确;在所述配置信息正确时,基于所述数据库连接符连接所述待检核数据库,并对所述待检核数据库执行所述SQL脚本集合,得到所述待检核数据库的数据检核结果。

根据本公开的一个实施方式,所述执行模块,还用于:在所述可执行SQL脚本集合中增加登录数据库的登录脚本命令,并执行所述登录脚本命令对所述待检核数据库进行登录操作。

根据本公开的一个实施方式,所述执行模块,还用于:对所述数据检核结果进行格式转换,得到格式化检核结果,并存储在检核表中。

为达上述目的,本公开第三方面实施例提出了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以实现如本公开第一方面实施例所述的数据检核方法。

为达上述目的,本公开第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于实现如本公开第一方面实施例所述的数据检核方法。

为达上述目的,本公开第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时用于实现如本公开第一方面实施例所述的数据检核方法。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本公开实施例提供的一种数据检核方法的流程示例图;

图2为本公开实施例提供的数据检核的流程示例图;

图3为本公开实施例提供的另一种数据检核方法的流程图;

图4为本公开实施例提供的另一种数据检核方法的流程图;

图5为本公开实施例提供的对检核配置文件进行解析的流程示例图;

图6为本公开实施例提供的另一种数据检核方法的流程图;

图7为本公开实施例提供的生成可执行脚本的流程示例图;

图8为本公开实施例提供的另一种数据检核方法的流程图;

图9为本公开实施例提供的执行脚本的流程示例图;

图10为本公开实施例提供的数据检核装置的结构示意图;

图11为本公开实施例提供的电子设备的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。

图1为本公开实施例提供的数据检核方法的流程示意图。如图1所示,该数据检核方法包括:

S101,获取待检核数据库的检核配置文件。

需要说明的是,本公开的数据检核方法的执行主体为电子设备,该电子设备可以是终端设备,或者服务器。可选地,终端设备可以为移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等。服务器也可以服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器等。本公开实施例不作具体限定。

在一些实现中,可以通过基于业务的检核需求,确定待检核数据库的检核配置文件。可选地,可以对业务特性进行分析确定出检核相关信息,例如,需要检核的数据表以及数据表中需要检核的字段等关键字,并基于检核相关信息进行配置,得到待检核数据库的检核配置文件。需要说明的是,检核配置文件也就是检核规则文件,其中包含了待检核数据表、待检核数据表内的待检核字段和待检核字段对应的检核类型。检核类型也就是检核规则,包括但不限于:非空检核、唯一性检核、取值范围检核、有效性检核、关联相符检核、勾稽关系检核等。

可以理解的是,待检核字段对应的检核类型是将检核类型配置给待检核数据表内的待检核字段。例如,将唯一性检核配置给字段X,通过该配置可以指示需要对待检核字段X进行唯一性检核。

S102,对检核配置文件进行解析,并基于解析结果生成结构化查询语言SQL条件语句集合。

在一些实现中,通过预先设置的检核规则解析器可以确定检核配置文件的格式,进而对检核配置文件进行解析,得到检核配置文件的解析结果。可选地,检核规则解析器可以读入文件配置或数据库表配置两种格式。可选地,解析结果包括待检核数据表、待检核数据表内的待检核字段和待检核字段对应的检核类型。

在一些实现中,根据解析结果可以得到待检核数据表、待检核字段和对应的检核类型,基于待检核字段对应的检核类型,可以生成对应的结构化查询语言(StructuredQuery Language,SQL),将多个SQL条件语句进行组装,得到SQL条件语句集合。可以理解的是,每个检核类型都可以生成对应的SQL条件语句,将不同检核类型对应的SQL条件语句进行组装,可以得到SQL条件语句集合。

可选地,任一待检核字段可以对应一个待检核类型,也可以对应多个检核类型,也就是任一待检核字段可以生成一个或多个SQL条件语句。

S103,基于检核配置文件和SQL条件语句集合,生成可执行SQL脚本集合。

在一些实现中,基于检核配置文件可以确定检核类型对应的标识信息,以及对待检核字段进行对应检核类型的检核的结果提示信息。通过读取SQL条件语句集合,得到每个SQL条件语句,根据标识信息与结果提示信息对SQL条件语句进行重新组装,得到可执行SQL条件语句。

进一步地,根据数据库的环境变量和数据库连接符对可执行SQL条件语句进行脚本组装,得到可执行SQL脚本集合。可选地,可以将待检核数据库的标识和类型作为环境变量,可以将访问地址作为数据库连接符。

S104,对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

在一些实现中,可以通过将可执行SQL脚本集合与待检核数据库连接,对待检核数据库执行SQL脚本集合,并记录检核结果。可选地,可以将待检核数据库的数据检核结果保存在数据库表中,以便后续使用。可选地,可以通过数据库的配置信息,建立与待检核数据库的连接,以通过可执行SQL脚本集合对该数据库进行检核流程,得到该数据库的检核结果。

需要说明的是,在对待检核数据库执行SQL脚本集合之前,需要对待检核数据库执行测试语句,用于判断待数据库的配置信息是否正确。

可选地,数据库的配置信息可以包括数据库地址、用户名、密码、数据库的环境信息等相关内容,可以通过地址,用户名和密码可以实现对数据库的登录,并对数据库的环境信息进行安全验证,在安全验证通过后可以对数据库执行可执行SQL脚本集合。

在本公开实施例提供的数据检核方法中,通过对检核配置文件进行解析,并基于解析结果生成SQL条件语句集合。基于检核配置文件将SQL条件语句集合生成可执行SQL脚本集合,以提高数据检核的准确性。进而对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。本公开的数据检核方法可以自动对待检核数据库进行检核,可以提高数据检核的效率,节省人工成本,有效缩短数据检核的时间。

图2是自动化进行数据检核的流程图,如图2所示的通过解析器对检核配置文件进行解析,对各种不同检核类型进行不同处理,初步组装SQL条件语句,形成SQL条件语句集合。针对SQL条件语句集合,每条SQL条件语句通过脚本生成器生成对应的可执行脚本,生成可执行脚本集。读取可执行脚本集,由脚本生执行器执行,输出数据检核结果。

图3为本公开实施例提供的另一种数据检核方法的流程示意图。如图3所示,该数据检核方法包括:

S301,获取待检核数据库的检核配置文件。

步骤S301的相关内容可参见上述实施例,这里不再赘述。

S302,对检核配置文件进行解析,获取待检核数据库中的待检核数据表,以及待检核数据表内的待检核字段和待检核字段对应的检核类型。

在一些实现中,通过读取检核配置文件,得到检核配置文件的内容,利用检核配置文件解析器,对读取的内容进行解析,得到检核配置文件解析结果。可选地,检核配置文件解析器支持文件配置和数据表配置两种格式。

可选地,检核配置文件的解析结果包括待检核数据库中的待检核数据表,以及待检核数据表内的待检核字段和待检核字段对应的检核类型。

S303,根据待检核数据表、待检核字段和对应的检核类型,获取SQL条件语句集合。

在一些实现中,可以根据解析结果识别出待检核字段所在的待检核数据表的表名与字段名,进而根据表名与字段名可以创建SQL条件语句的框架。将检核类型中的SQL条件以及表名与字段名,填入创建的SQL条件语句中,得到组装好的不同检核规则对应的SQL条件语句。将多个SQL条件语句进行组合,可以得到SQL条件语句集合。

可选地,还可以将检核类型对应的SQL关键字添加至组装后的SQL条件语句中,得到SQL条件语句。其中,SQL关键字包括但不限于:WHERE、AND、QR、IN等。

S304,基于检核配置文件和SQL条件语句集合,生成可执行SQL脚本集合。

S305,对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

步骤S304-步骤S305的相关内容可参见上述实施例,这里不再赘述。

在本公开实施例提供的数据检核方法中,通过对检核配置文件进行解析,得到解析结果。基于待检核数据表、待检核字段和对应的检核类型生成SQL条件语句集合,进而根据检核配置文件将SQL条件语句集合生成可执行SQL脚本集合,以提高数据检核的准确性。对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。本公开的数据检核方法可以自动对待检核数据库进行检核,可以提高数据检核的效率,节省人工成本,有效缩短数据检核的时间。

图4为本公开实施例提供的另一种数据检核方法的流程图。如图4所示,该数据检核方法包括:

S401,获取待检核数据库的检核配置文件。

S402,对检核配置文件进行解析,获取待检核数据库中的待检核数据表,以及待检核数据表内的待检核字段和待检核字段对应的检核类型。

步骤S401-步骤S402的相关内容可参见上述实施例,这里不再赘述。

S403,针对每个待检核字段,从待检核数据表中获取待检核字段所属的目标待检核数据表的表名。

在一些实现中,待检核数据表内的每个待检核字段都有与之对应的待检核数据表的表名。可以通过查找待检核数据表的结构,确定待检核字段,通过查找待检核字段与待检核数据表的表名之间的对应关系,可以确定待检核字段所属的目标待检核数据表的表名。

S404,根据待检核字段对应的目标检核类型,确定目标检核类型对应的目标SQL条件。

在一些实现中,根据检核配置文件的解析结果,可以确定待检核字段对应的目标检核类型。针对任一目标检核类型,对其对应的待检核字段进行检核,可以确定该目标检核类型对应的目标SQL条件。

示例性说明,对于非空检核类型,识别对应的待检核字段,进行IS NULL检核,确定非空检核类型对应的SQL条件;对于唯一性检核类型,识别对应的待检核字段,进行增加having检核,确定唯一性检核类型对应的SQL条件;对于大小检核类型,识别对应的待检核字段,进行字段1与字段2大小比较检核,确定大小检核类型对应的SQL条件;对于数值精度检核类型,识别对应的待检核字段,进行精度识别,确定数值精度检核类型对应的SQL条件;对于指定条件检核类型,识别条件,确定对应的SQL条件。

S405,根据目标待检核数据表的表名、待检核字段的字段名和目标SQL条件进行组装,得到SQL条件语句,以生成SQL条件语句集合。

在一些实现中,目标待检核数据表的表名和待检核字段的字段名可以利用SQL关键字与目标SQL条件进行组装,将表名与字段名填入目标SQL条件中的相应位置,得到SQL条件语句,多个SQL条件语句组成SQL条件语句集合。

可选地,可以对目标待检核数据表的表名、标待检核字段的字段名和SQL条件进行组装,得到SQL初始条件语句。通过获取目标检核类型对应的SQL关键字,在组装后的SQL初始条件语句中添加SQL关键字,得到SQL条件语句。可选地,SQL关键字包括但不限于:WHERE、AND、QR、IN等。

S406,基于检核配置文件和SQL条件语句集合,生成可执行SQL脚本集合。

S407,对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

步骤S406-步骤S407的相关内容可参见上述实施例,这里不再赘述。

在本公开实施例提供的数据检核方法中,通过对检核配置文件进行解析,得到解析结果。基于待检核数据表、待检核字段和对应的检核类型生成SQL条件语句集合,进而根据检核配置文件将SQL条件语句集合生成可执行SQL脚本集合,以提高数据检核的准确性。对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。本公开的数据检核方法可以自动对待检核数据库进行检核,可以提高数据检核的效率,节省人工成本,有效缩短数据检核的时间。

图5是检核规则解析器的流程图。读入检核配置文件并解析,根据解析结果,识别出待检核的数据库表和字段名称。根据检核类型,确定SQL条件。将数据表名、字段名、SQL条件,加上SQL关键字(如WHERE、AND等)进行组装,得到SQL条件语句,进而生成SQL语句条件集合。

图6为本公开实施例提供的另一种数据检核方法的流程图。如图6所示,该数据检核方法包括:

S601,获取待检核数据库的检核配置文件。

S602,对检核配置文件进行解析,并基于解析结果生成SQL条件语句集合。

步骤S601-步骤S602的相关内容可参见上述实施例,这里不再赘述。

S603,基于检核配置文件,获取每个待检核字段对应的目标检核类型的标识和结果提示信息。

在一些实现中,可以通过读取检核配置文件,得到检核类型的标识信息、每个待检核字段对应的目标检核类型以及检核结果提示信息。可选地,检核类型的标识信息可以是检核类型的编号。例如,非空检核的编号为1,唯一性检核的编号为2,取值范围检核的编号为3,确定非空检核的标识信息为1,唯一性检核的标识信息为2,取值范围检核的标识信息为3。可选地,结果提示信息是待检核字段在对应的检核类型下的检核结果。

示例性说明,设字段的检核类型为非空检核,其标识信息为1,检核结果是该字段为空数,表示字段未通过非空检核,则生成结果提示信息,如“非空检核:1,待检核字段为空数”。

S604,从SQL条件语句集合中读取每个待检核字段的SQL条件语句。

在一些实现中,根据检核类型的标识信息,从SQL条件语句集合中读取每个待检核字段的SQL条件语句,并确定每个SQL条件语句对应的检核类型的标识。

S605,针对每个待检核字段,将待检核字段对应的目标检核类型的标识和结果提示信息,与待检核字段的SQL条件语句进行重新组装,得到可执行SQL语句。

在一些实现中,根据待检核字段的结果提示信息,可以确定每个待检核字段在当前检核类型下的检核结果,根据检核结果,将待检核字段对应的目标检核类型的标识与待检核字段的SQL条件语句进行重新组装,也就是重新将检核类型的标识与待检核字段的SQL条件语句对应,得到可执行SQL语句。

示例性说明,若任一待检核字段A对应的目标检核类型的标识为非空检核,检核结果未通过,则重新确定字段A的SQL条件语句对应的检核类型。可选地,将检核类型标识2与字段A的SQL条件语句进行组装,得到可执行SQL语句。

S606,对可执行SQL语句配置待检核数据库的环境变量和数据库连接符,以生成可执行SQL脚本集合。

在一些实现中,将待检核数据库的环境变量和数据库连接符配置给可执行SQL语句,可以生成可执行SQL脚本集合。以实现自动化的数据检核,减少人工成本,提高数据检核的效率。

可选地,待检核数据库的环境变量包括数据库的标识、数据库的类型、数据库的名称等;数据库连接符包括访问地址、端口、用户等。

S607,对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

步骤S607的相关内容可参见上述实施例,这里不再赘述。

在本公开实施例提供的数据检核方法中,通过对检核配置文件进行解析,得到解析结果。基于待检核数据表、待检核字段和对应的检核类型生成SQL条件语句集合,进而根据检核配置文件将SQL条件语句集合生成可执行SQL脚本集合,以提高数据检核的准确性。对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。本公开的数据检核方法可以自动对待检核数据库进行检核,可以提高数据检核的效率,节省人工成本,有效缩短数据检核的时间。

图7是生成可执行脚本的流程图。如图7所示,通过读取检核配置文件获得每个待检核字段对应的目标检核类型的标识和结果提示信息,通过读取SQL条件语句集合,得到每个待检核字段的SQL条件语句。根据检核类型的标识信息和结果提示信息,对SQL条件语句重新组装,生成可执行SQL语句。进一步地,将环境变量(数据库的关键字、标识)、数据库连接符(访问地址、端口)配置给可执行SQL语句,生成可执行SQL脚本集合。

图8为本公开实施例提供的另一种数据检核方法的流程图。如图8所示,该数据检核方法包括:

S801,获取待检核数据库的检核配置文件。

S802,对检核配置文件进行解析,并基于解析结果生成结构化查询语言SQL条件语句集合。

S803,基于检核配置文件和SQL条件语句集合,生成可执行SQL脚本集合。

步骤S801-步骤S803的相关内容可参见上述实施例,这里不再赘述。

S804,获取待检核数据库的配置信息。

在一些实现中,可以通过读取待检核数据库,以获得配置信息。可选地,待检核数据库的配置信息可以为数据库名称、地址、端口、用于连接数据库的用户名等信息。

S805,对待检核数据库执行测试语句,判断待检核数据库的配置信息是否正确。

在一些实现中,可以编写单独的测试语句,用于判断检核数据库的配置信息是否正确。使用配置信息连接待检核的数据库与测试语句,对待检核的数据库执行测试语句,判断待检核数据库的配置信息是否正确。

可选地,可以通过验证是否可以连接到待检核的数据库,判断待检核数据库的配置信息是否正确。

S806,在配置信息正确时,基于数据库连接符连接待检核数据库,并对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

在一些实现中,当测试语句确定待检核数据库的配置信息正确时,基于数据库连接符连接可执行SQL脚本集合与待检核数据库,并对待检核数据库执行SQL脚本集合,并记录待检核数据库的数据检核结果。

需要说明的是,通过可执行SQL脚本集合中的登录脚本命令,可以验证数据库连接符正确,以进行后续的对待检核数据库执行SQL脚本集合。可选地,在可执行SQL脚本集合中增加登录数据库的登录脚本命令,并执行登录脚本命令对待检核数据库进行登录操作。可选地,可以将在登录脚本命令增加在可执行SQL脚本集合的开头,以确保后续的可执行SQL脚本在正确的数据库连接符下执行,避免出现连接问题。

在一些实现中,在得到待检核数据库的数据检核结果之后,可以对数据检核结果进行格式转换,得到格式化检核结果,并存储在检核表中。将数据检核结果存储在检核表中可以方便的查看每次的检核结果,有利于对检核结果的分析。格式化检核结果可以生成可视化的检核结果,有助于直观的感受数据检核结果。格式化检核结果可以支持自动化的数据处理,减轻数据检核工作压力,有效缩短数据检核时间。

在本公开实施例提供的数据检核方法中,通过对检核配置文件进行解析,得到解析结果。基于待检核数据表、待检核字段和对应的检核类型生成SQL条件语句集合,进而根据检核配置文件将SQL条件语句集合生成可执行SQL脚本集合,以提高数据检核的准确性。对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。本公开的数据检核方法可以自动对待检核数据库进行检核,可以提高数据检核的效率,节省人工成本,有效缩短数据检核的时间。

图9是执行脚本的流程图。如图9所示,读取数据库的配置信息和可执行SQL脚本集合,基于数据库的配置信息,通过独立的测试语句,验证数据库的是否可以连接可执行SQL脚本集合,并可以执行可执行SQL脚本集合。将数据库连接符连接待检核数据库,并对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

与上述几种实施例提供的数据检核方法相对应,本公开的一个实施例还提供了一种数据检核装置,由于本公开实施例提供的数据检核装置与上述几种实施例提供的数据检核方法相对应,因此上述数据检核方法的实施方式也适用于本公开实施例提供的数据检核装置,在下述实施例中不再详细描述。

图10为本公开实施例提供的数据检核装置的结构示意图。如图10所示,该数据检核装置,包括:获取模块1001,第一生成模块1002,第二生成模块1003和执行模块1004。

获取模块1001,用于获取待检核数据库的检核配置文件。

第一生成模块1002,用于对检核配置文件进行解析,并基于解析结果生成结构化查询语言SQL条件语句集合。

第二生成模块1003,用于基于检核配置文件和SQL条件语句集合,生成可执行SQL脚本集合。

执行模块1004,用于对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

根据本公开的一个实施方式,第一生成模块1002,还用于:对检核配置文件进行解析,获取待检核数据库中的待检核数据表,以及待检核数据表内的待检核字段和待检核字段对应的检核类型;根据待检核数据表、待检核字段和对应的检核类型,获取SQL条件语句集合。

根据本公开的一个实施方式,第一生成模块1002,还用于:针对每个待检核字段,从待检核数据表中获取待检核字段所属的目标待检核数据表的表名;根据待检核字段对应的目标检核类型,确定目标检核类型对应的目标SQL条件;根据目标待检核数据表的表名、待检核字段的字段名和目标SQL条件进行组装,得到SQL条件语句,以生成SQL条件语句集合。

根据本公开的一个实施方式,第一生成模块1002,还用于:对目标待检核数据表的表名、标待检核字段的字段名和SQL条件进行组装;获取目标检核类型对应的SQL关键字;在组装后的SQL初始条件语句中添加SQL关键字,得到SQL条件语句。

根据本公开的一个实施方式,第二生成模块1003,还用于:基于检核配置文件,获取每个待检核字段对应的目标检核类型的标识和结果提示信息;从SQL条件语句集合中读取每个待检核字段的SQL条件语句;针对每个待检核字段,将待检核字段对应的目标检核类型的标识和结果提示信息,与待检核字段的SQL条件语句进行重新组装,得到可执行SQL语句;对可执行SQL语句配置待检核数据库的环境变量和数据库连接符,以生成可执行SQL脚本集合。

根据本公开的一个实施方式,执行模块1004,还用于:获取待检核数据库的配置信息;对待检核数据库执行测试语句,判断待检核数据库的配置信息是否正确;在配置信息正确时,基于数据库连接符连接待检核数据库,并对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。

根据本公开的一个实施方式,执行模块1004,还用于:在可执行SQL脚本集合中增加登录数据库的登录脚本命令,并执行登录脚本命令对待检核数据库进行登录操作。

根据本公开的一个实施方式,执行模块1004,还用于:对数据检核结果进行格式转换,得到格式化检核结果,并存储在检核表中。

在本公开实施例提供的数据检核装置中,通过对检核配置文件进行解析,并基于解析结果生成SQL条件语句集合。基于检核配置文件将SQL条件语句集合生成可执行SQL脚本集合,以提高数据检核的准确性。进而对待检核数据库执行SQL脚本集合,得到待检核数据库的数据检核结果。本公开的数据检核方法可以自动对待检核数据库进行检核,可以提高数据检核的效率,节省人工成本,有效缩短数据检核的时间。

图11为本公开实施例提供的电子设备的结构示意图。如图11所示,该电子设备1100可以包括:收发器1101、处理器1102、存储器1103。

处理器1102执行存储器存储的计算机执行指令,使得处理器1102执行上述实施例中的方案。处理器1102可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器1103通过系统总线与处理器1102连接并完成相互间的通信,存储器1103用于存储计算机程序指令。

收发器1101可以用于获取待运行任务和待运行任务的配置信息。

系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。

本公开实施例提供的电子设备,可以是上述实施例的终端设备。

本公开实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中数据检核方法的技术方案。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例数据检核方法的技术方案。

本公开实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中数据检核方法的技术方案。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

相关技术
  • 数据分布存储方法、装置、存储介质及电子设备
  • 多版本数据存储管理方法及装置、电子设备、存储介质
  • 海量数据存储方法、装置、存储介质及电子设备
  • 数据存储方法、装置、电子设备及存储介质
  • 数据提取方法、数据提取装置、存储介质和电子设备
  • 基于元数据的数据检核方法和装置、电子设备和存储介质
  • 基于检核脚本的数据检核方法、装置、电子设备以及介质
技术分类

06120116227252