CN115391322A - 数据检核方法、装置、设备、存储介质及程序产品 - Google Patents
数据检核方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115391322A CN115391322A CN202211045131.2A CN202211045131A CN115391322A CN 115391322 A CN115391322 A CN 115391322A CN 202211045131 A CN202211045131 A CN 202211045131A CN 115391322 A CN115391322 A CN 115391322A
- Authority
- CN
- China
- Prior art keywords
- field
- target
- checking
- data
- database table
- 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
Images
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- 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/24—Querying
- G06F16/248—Presentation of query results
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Abstract
本发明公开了一种数据检核方法、装置、设备、存储介质及程序产品,本发明涉及数据库技术领域。该方法包括:响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将目标数据文件导入的目标数据库表;基于目标数据库表的标识,从存储单元中读取目标数据库表对应的目标检核规则;其中,目标检核规则包括目标数据库表中各字段分别对应的字段属性信息;基于读取的目标检核规则对目标数据文件中的各字段数据的属性进行检核,得到检核结果。本发明的技术方案,能够有效的提高数据文件中字段数据的检核方法的灵活性,并降低了检核数据文件中字段数据的检核成本,提升检核效率。
Description
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据检核方法、装置、设备、存储介质及程序产品。
背景技术
目前一般通过接口将外部的数据文件中的数据导入到数据库表内进行存储。需要先在数据库内建立相应的数据库表,再通过ETL(Extract Transform Load,抽取转换加载)工具将待导入的数据文件中的数据导入到建立的数据库表中。
在将数据文件中的数据导入到数据库表的过程中,需要对数据文件中的数据进行检核,以确定该数据的数据格式是否符合要求。目前采用预先编写的检核脚本对数据文件中的数据进行检核,然而一个校验脚本只能对应一个数据文件,因此对于多个不同的数据文件需要分别预先编写检核脚本,灵活性差,造成检核成本较高,检核效率低下。
发明内容
本发明实施例提供一种数据检核方法、装置、设备、存储介质及程序产品,能够有效提高数据文件中的数据检核方法的灵活性,并降低检核数据文件中的数据的检核成本,提升数据检核效率。
第一方面,本发明实施例提供了一种数据检核方法,包括:
响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将所述目标数据文件导入的目标数据库表;
基于所述目标数据库表的标识,从存储单元中读取所述目标数据库表对应的目标检核规则;其中,所述目标检核规则包括所述目标数据库表中各字段分别对应的字段属性信息;
基于读取的所述目标检核规则对所述目标数据文件中的各字段数据的属性进行检核,得到检核结果。
第二方面,本发明实施例还提供了一种数据检核装置,该装置包括:
目标数据文件导入模块,用于响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将所述目标数据文件导入的目标数据库表;
目标检核规则读取模块,用于基于所述目标数据库表的标识,从存储单元中读取所述目标数据库表对应的目标检核规则;其中,所述目标检核规则包括所述目标数据库表中各字段分别对应的字段属性信息;
检核模块,用于基于读取的所述目标检核规则对所述目标数据文件中的各字段数据的属性进行检核,得到检核结果。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据检核方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的数据检核方法。
第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本发明实施例中任一所述的数据检核方法。
本发明实施例中,在导入目标数据文件时,确定将目标数据文件将要导入的目标数据库表,读取导入的目标数据库表对应的检核规则,然后根据该检核规则对目标数据文件中的字段数据的属性进行检核,得到目标数据文件中字段数据的检核结果,这样在对数据文件中的字段数据进行检核时,无需针对多个不同的数据文件分别编写检核脚本,有效的提高了数据文件中字段数据的检核方法的灵活性,并降低了检核数据文件中字段数据的检核成本,提升了检核效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种数据检核方法的一个流程示意图;
图2为本发明实施例提供的一种数据检核方法的另一个流程示意图;
图3为本发明实施例提供的一种数据检核方法的又一个流程示意图;
图4为本发明实施例提供的数据检核装置的一个结构示意图;
图5为本发明实施例提供的一种电子设备的一个结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。本发明技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1为本发明实施例提供的一种数据检核方法的一个流程示意图,本实施例可适用于数据检核,比如对要导入数据库表的数据文件中的数据进行检核的情况,该方法可以由本发明实施例中的数据检核装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在电子设备中。以下实施例将以该装置集成在电子设备中为例进行说明,参考图1,该方法具体可以包括如下步骤:
S101,响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将目标数据文件导入的目标数据库表。
其中,文件导入指令可以理解为数据文件的导入命令;目标数据文件可以理解为需要导入至数据库表中的数据文件;目标数据库表可以理解为与目标数据文件标识映射的数据库表标识对应的数据库表。
具体地,确定将目标数据文件导入的目标数据库表,包括:
步骤a1,获取第一映射关系表;其中,第一映射关系表中包含至少一条数据文件标识与数据库表标识的映射关系,映射关系是基于通过用户界面输入的数据文件标识和数据库表标识建立的。
其中,数据文件标识可以理解为数据文件名称;数据库表标识可以理解为数据库表名称;映射关系可以理解为不同对象之间的关系映射,第一映射关系表可以理解为数据文件标识与数据库表标识之间的关系映射表,一个数据文件标识可以对应一个数据库表标识。
具体地,在数据检核之前,用户可以在用户界面输入数据文件标识以及数据文件标识对应的数据库表标识,预先建立数据文件标识与数据文件标识对应的数据库表标识的映射关系,得到第一映射关系表,并将第一映射关系表存储于存储单元中,以便于基于第一映射关系表确定目标数据文件导入的目标数据库表,这样可以提高确定目标数据库表的准确率,进而提高数据检核结果的准确率。
步骤a2,基于第一映射关系表,确定将目标数据文件导入的目标数据库表。
具体地,在获取到第一映射关系表之后,可以根据目标数据文件的数据文件标识在第一映射关系表中确定目标数据文件的数据文件标识对应的数据库表标识,然后基于确定的目标数据文件的数据文件标识对应的数据库表标识,确定目标数据库表。
示例地,若待导入的目标数据文件为薪酬水平信息文件,目标数据文件的数据文件标识为薪酬水平信息,数据文件标识(薪酬水平信息)对应的数据库表标识为工资水平信息,数据库表标识(工资水平信息)对应的数据库表为工资水平信息表。响应于检测到文件导入指令,获取待导入的目标数据文件(薪酬水平信息文件),确定目标数据文件的数据文件标识为薪酬水平信息,可以根据目标数据文件的数据文件标识(薪酬水平信息)在第一映射关系表中确定数据文件标识(薪酬水平信息)对应的数据库表标识为工资水平信息,然后基于确定的数据库表标识(工资水平信息),确定目标数据库表为工资水平信息表,则可以确定将目标数据文件(薪酬水平信息文件)导入的目标数据库表为工资水平信息表。
S102,基于目标数据库表的标识,从存储单元中读取目标数据库表对应的目标检核规则;其中,目标检核规则包括目标数据库表中各字段分别对应的字段属性信息。
其中,目标数据库表的标识可以理解为目标数据库表的名称;字段属性信息可以包括字段标识、数据格式、以及备注信息中的至少一项;字段标识可以理解为字段名称;数据格式可以包括数据长度和/或数据类型;目标检核规则可以包括数据库表中各字段分别对应的字段属性信息。
具体地,可以基于目标数据库表的标识,从存储单元中读取目标数据库表对应的各字段的字段属性信息。
示例地,若目标数据库表为工资水平信息表,工资水平信息表中包含三个字段,第一个字段的字段属性信息中的字段标识为DATA-DT,该字段的数据类型为DATE,备注信息为无;第二个字段的字段属性信息中的字段标识为MULTI-TENANCY-ID,该字段的数据类型为VARCHAR,数据长度为18,备注信息为无;第三个字段的字段属性信息中的字段标识为LEVEL-EI,该字段的数据类型为VARCHAR,数据长度为16,备注信息为无;目标数据库表的标识为工资水平信息,可以基于目标数据库表的标识(工资水平信息),从存储单元中读取目标数据库表(工资水平信息表)对应的目标核验规则为工资水平信息表中包含的三个字段的字段属性信息。
S103,基于读取的目标检核规则对目标数据文件中的各字段数据的属性进行检核,得到检核结果。
具体地,基于读取的目标检核规则对目标数据文件中的各字段数据的属性进行检核,包括:
步骤b1,对目标数据文件中的各字段数据进行遍历。
其中,遍历可以理解为按照目标数据文件中的各字段数据的存储顺序,依次检核目标数据文件中的各字段数据。
步骤b2,确定遍历到的当前字段数据对应的目标数据库表中的目标字段,将当前字段数据的属性信息与目标检核规则中目标字段的字段属性信息进行匹配,根据匹配结果确定对当前字段数据的检核是否成功,得到检核结果。
其中,目标字段可以理解为目标数据库表中与当前字段数据对应的字段,目标字段的字段属性信息可以包括字段标识、数据格式、以及备注信息中的至少一项。
具体地,可以确定遍历到的当前字段数据对应的目标数据库表中的目标字段,将当前字段数据的字段标识、数据格式和备注信息,分别与目标检核规则中目标字段的字段标识、数据格式和备注信息进行匹配,根据匹配结果确定对当前字段数据的检核是否成功,得到检核结果。
进一步地,确定遍历到的当前字段数据对应的目标数据库表中的目标字段,包括:
步骤c1,获取第二映射关系表;其中,第二映射关系表中包含至少一条文件字段标识与表字段标识的映射关系,映射关系是基于通过用户界面输入的文件字段标识和表字段标识建立的。
其中,文件字段标识可以理解为数据文件中的字段对应的字段名称;表字段标识可以理解为数据库表中的字段对应的字段名称;第二映射关系表可以理解为文件字段标识与表字段标识的关系映射表。
具体地,在数据检核之前,用户可以在用户界面输入数据文件字段标识以及文件字段标识对应的表字段标识,建立数据文件字段标识以及文件字段标识对应的表字段标识的映射关系,得到第二映射关系表,并将第二映射关系表存储于存储单元中,以便于基于第二映射关系表和当前字段数据对应的字段标识,确定当前字段数据对应的目标数据库表中的目标字段,这样可以提高确定当前字段数据对应的目标数据库表中的目标字段的准确率,进而提高数据检核结果的准确率。
步骤c2,确定遍历到的当前字段数据对应的字段标识,基于第二映射关系表和当前字段数据对应的字段标识,确定当前字段数据对应的目标数据库表中的目标字段。
具体地,在获取到第二映射关系表之后,可以根据遍历到的当前字段数据对应的字段标识在第二映射关系表中确定当前字段数据对应的表字段标识,然后可以根据当前字段数据对应的表字段标识,确定当前字段数据对应的目标数据库表中的目标字段。
示例地,继续上述举例,若目标检核规则包括工资水平信息表中包含的三个字段的字段属性信息(1、字段标识为DATA-DT,数据类型为DATE,备注信息为无;2、字段标识为MULTI-TENANCY-ID,数据类型为VARCHAR,数据长度为18,备注信息为无;3、字段标识为LEVEL-EI,数据类型为VARCHAR,数据长度为16,备注信息为无),假设工资水平信息表中的字段A的字段属性信息为:字段标识为DATA-DT,数据类型为DATE,备注信息为无,而当前遍历到的当前字段数据为:DATT-DT DATE NOTNULL,可以确定遍历到的当前字段数据对应的字段标识为DATT-DT,可以根据字段标识(DATT-DT)在第二映射关系表中确定字段标识(DATT-DT)对应的表字段标识(DATA-DT)。将当前字段数据的字段标识(DATT-DT)、数据格式中的数据类型(DATE)和备注信息(无)与目标检核规则中目标字段(A)的字段标识(DATA-DT)、数据格式中的数据类型(DATE)和备注信息(无)进行匹配,确定匹配结果为匹配成功,则可以确定对当前字段数据的检核结果为检核成功。
相应地,可以按照上述确定当前字段数据(DATT-DT DATE NOTNULL)对应的目标数据库表中的目标字段,将当前字段数据的字段标识、数据格式(例如,数据长度和/或数据类型)和备注信息与目标检核规则中目标字段的字段标识、数据格式(例如,数据长度和/或数据类型)和备注信息进行匹配,根据匹配结果确定对当前字段数据的检核是否成功,得到检核结果的方法,继续依次遍历目标数据文件中的其他字段数据,确定遍历到的其他字段数据对应的目标数据库表中的目标字段,将其他字段数据的属性信息与目标检核规则中目标字段的字段属性信息进行匹配,直到得到所有字段数据的属性信息与目标检核规则中目标字段的字段属性信息进行匹配的匹配结果,根据匹配结果确定对其他字段数据的检核是否成功,得到检核结果。
本发明实施例中,可以在导入目标数据文件时,确定将目标数据文件将要导入的目标数据库表,读取导入的目标数据库表对应的检核规则,然后根据该检核规则对目标数据文件中的字段数据的属性进行检核,得到目标数据文件中字段数据的检核结果,这样在对数据文件中的字段数据进行检核时,无需针对多个不同的数据文件分别编写检核脚本,有效的提高了数据文件中字段数据的检核方法的灵活性,并降低了检核数据文件中字段数据的检核成本,提升了检核效率。
图2为本发明实施例提供的一种数据检核方法的另一个流程示意图。如图2所示,本实施例的方法具体包括如下步骤:
S201,读取数据库中的至少一个建表语句。
S202,对于各建表语句,对当前建表语句进行解析,得到当前建表语句对应的已创建数据库表的标识、以及已创建数据库表中各字段分别对应的字段属性信息;基于解析结果生成包含已创建数据库表中各字段分别对应的字段属性信息的检核规则,并将已创建数据库表的标识与检核规则关联存储至存储单元中。
其中,检核规则可以包括各字段分别对应的字段属性信息。
具体地,对当前建表语句进行解析,包括:
步骤d1,识别当前建表语句中的数据库表名,将数据库表名作为当前建表语句对应的已创建数据库表的标识。
具体地,建表语句中一般包括字符串“CREATE TABLE”,在字符串“CREATE TABLE”后会紧跟所要创建的数据库表的数据库表名,因此可以在识别到建表语句中的字符串“CREATE TABLE”后,将“CREATE TABLE”后的连续的多个字符构成的字符串比如“ABC”识别为当前建表语句中的数据库表名,将数据库表名作为当前建表语句对应的已创建数据库表的标识。
步骤d2,识别当前建表语句中的分隔符,根据分隔符将当前建表语句划分为多行,每一行包括一个字段的字段属性信息。
其中,分隔符可以是逗号。
示例地,若建表语句为:CREATE TABLE ABC{字段标识DATA-DT、数据类型DATE、备注信息无,字段标识UDT-TMS、数据类型TIMESTAMP、备注信息无},可以识别当前建表语句中的数据库表名为ABC,将数据库表名ABC作为当前建表语句对应的已创建数据库表的标识,识别当前建表语句中的分隔符(,),然后根据分隔符将当前建表语句划分为如下两行:
字段标识DATA-DT、数据类型DATE、备注信息无;
字段标识UDT-TMS、数据类型TIMESTAMP、备注信息无。
其中,第一行包含的字段属性信息为:字段标识为DATA-DT,该字段的数据类型为DATE,备注信息为无;第二行包含的字段属性信息为:字段标识为UDT-TMS,该字段的数据类型为TIMESTAMP,备注信息为无。
即对于各建表语句,对当前建表语句进行解析,得到当前建表语句对应的已创建数据库表的标识(ABC),以及已创建数据库表中各字段分别对应的字段属性信息包括:
字段标识为DATA-DT,该字段的数据类型为DATE,备注信息为无;
字段标识为UDT-TMS,该字段的数据类型为TIMESTAMP,备注信息为无。
可以基于已创建数据库表中各字段属性信息生成包含已创建数据库表中各字段分别对应的字段属性信息的检核规则,例如,字段标识为DATA-DT对应的字段属性信息的检核规则为:字段标识为DATA-DT对应的字段的数据类型为DATE,备注信息为无。又例如,字段标识为UDT-TMS对应的字段属性信息的检核规则为:字段标识为UDT-TMS对应的字段的数据类型为TIMESTAMP,备注信息为无。
即数据库表标识ABC的检核规则为:字段标识为DATA-DT对应的字段的数据类型为DATE,备注信息为无;字段标识为UDT-TMS对应的字段的数据类型为TIMESTAMP,备注信息为无。
为了能够根据数据库表标识ABC,从存储单元中读取数据库表对应的检核规则,可以将已创建数据库表的标识ABC与检核规则关联存储至存储单元中,这样可以在从存储单元中读取数据库表对应的检核规则时,快速地根据数据库表标识从存储单元中确定并读取对应的检核规则。
本发明实施例中,可以读取数据库中的至少一个建表语句,对于各建表语句,对当前建表语句进行解析,得到当前建表语句对应的已创建数据库表的标识、以及已创建数据库表中各字段分别对应的字段属性信息;基于解析结果生成包含已创建数据库表中各字段分别对应的字段属性信息的检核规则,并将已创建数据库表的标识与检核规则关联存储至存储单元中。即本发明实施例可以预先生成每个已创建的数据库表分别对应的检核规则,在导入目标数据文件时,确定将目标数据文件将要导入的目标数据库表,读取导入的目标数据库表对应的检核规则,然后根据该检核规则对目标数据文件中的字段数据的属性进行检核,得到目标数据文件中字段数据的检核结果,这样在对数据文件中的字段数据进行检核时,无需针对多个不同的数据文件分别编写检核脚本,有效的提高了数据文件中字段数据的检核方法的灵活性,并降低了检核数据文件中字段数据的检核成本,提升了检核效率。
图3为本发明实施例提供的一种数据检核方法的又一个流程示意图。如图3所示,本实施例的方法具体包括如下步骤:
S301,在基于检核结果确定检核失败的情况下,生成检核报告;其中,检核报告中包括检核失败的字段数据和/或失败原因。
具体地,在确定检核结果为检核失败的情况下,可以将目标数据文件中的检核失败的字段数据和/或失败原因写入检核报告中,以便于人工根据检核报告中的检核失败的字段数据和/或失败原因,及时核实失败原因的准确性,若检核报告中的失败原因是正确的,可以及时对数据检核方法进行更改或者对检核失败的字段数据进行数据处理,以在检核结果为检核失败的情况下,尽可能的缩短目标数据文件中的各字段数据进行数据检核时的检核时间,进而提高数据检核的速度。
示例地,若检核失败的字段数据为:字段标识DATA-DT,数据类型DATE,备注信息无,检核报告中的失败原因为:数据格式错误,在确定检核结果为检核失败的情况下,可以将目标数据文件中的检核失败的字段数据(字段标识DATA-DT,数据类型DATE,备注信息无)和失败原因(数据格式错误)写入检核报告中,以便于人工根据检核报告中的检核失败的字段数据和失败原因进行核实,经过人工核实,可以确定的确是由于字段数据的数据格式错误而检核失败,可以通过人工去及时更改检核失败的字段数据的数据格式,提高数据检核的速度。
S302,将检核报告进行可视化展示。
其中,可视化展示可以理解为将检核报告转换成图形或图像在计算机屏幕上展示,这样可以在检核结果为检核失败的情况下,更加直观地从检核报告中了解检核失败的字段数据和/或失败原因,提高人工根据检核报告中的检核失败的字段数据和/或失败原因确定检核失败原因是否正确的判断速度。
具体地,可以将检核报告转换为图像,然后通过计算机屏幕显示转换为图像后的检核报告。
S303,在目标数据文件中将检核失败的字段数据进行标记。
具体地,可以在目标数据文件中将检核失败的字段数据做下划线标记,或者将目标数据文件中检核失败的字段数据的字体颜色调整为预设颜色,其中,预设颜色可以理解为与检核失败的字段数据的字体颜色不同的颜色,或者调大目标数据文件中检核失败的字段数据的字体,具体的标记方式不限。通过在目标数据文件中将检核失败的字段数据进行标记,可以更加快速地根据标记的检核失败的字段数据进行人工判断失败原因是否正确,并根据失败原因及时地更改数据检核方法的脚本或者检核失败的字段数据,缩短目标数据文件中的各字段数据进行数据检核的检核时间,进而提高数据检核方法的检核速度。
本发明实施例中,可以在基于检核结果确定检核失败的情况下,生成检核报告,将检核报告进行可视化展示,在目标数据文件中将检核失败的字段数据进行标记,这样可以更加快速地根据标记的检核失败的字段数据进行人工判断失败原因是否正确,并根据失败原因及时地更改数据检核方法的脚本或者检核失败的字段数据,缩短目标数据文件中的各字段数据进行数据检核的检核时间,进而提高数据检核方法的检核速度。
可选地,本发明实施例中,在基于检核结果确定检核成功的情况下,可以确定目标数据文件中各字段数据在目标数据库表中的导入位置,并将各字段数据写入至目标数据库表中对应的导入位置,这样可以更加准确的确定目标数据文件中各字段数据在目标数据库表中的导入位置,提高将各字段数据写入至目标数据库表中对应的导入位置的写入速度。
其中,导入位置可以理解为数据文件中的各字段数据导入至数据库表中的列位置。
具体地,可以按照行的顺序将各字段数据依次导入目标数据库表中,在识别到分号时,分号之后的字段数据需要导入至目标数据库表的下一行单元格中,也就是在识别到分号时,需要换行将剩余的各字段数据依次导入至目标数据库表,直至将所有的字段数据全部导入至目标数据库表。例如,四个字段数据为{字段A,字段B,字段C;字段D},可以按照行的顺序将字段A导入目标数据库表中的第一行的第一列,将字段B导入目标数据库表中的第一行的第二列,将字段C导入目标数据库表中的第一行的第三列;在识别到分号时,分号之后的字段D需要导入至目标数据库表的第二行的第一列中,也就是需要换行将字段D导入目标数据库表。
图4为本发明实施例提供的数据检核装置的一个结构示意图。本实施例可适用于数据检核,比如对要导入数据库表的数据文件中的数据进行检核的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在电子设备中,如图4所示,所述数据检核装置具体包括:
目标数据文件导入模块401,用于响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将所述目标数据文件导入的目标数据库表;
目标检核规则读取模块402,用于基于所述目标数据库表的标识,从存储单元中读取所述目标数据库表对应的目标检核规则;其中,所述目标检核规则包括所述目标数据库表中各字段分别对应的字段属性信息;
检核模块403,用于基于读取的所述目标检核规则对所述目标数据文件中的各字段数据的属性进行检核,得到检核结果。
进一步地,该装置还包括:
建表语句读取模块,用于读取数据库中的至少一个建表语句;
检核规则生成模块,用于对于各所述建表语句,对当前建表语句进行解析,得到当前建表语句对应的已创建数据库表的标识、以及所述已创建数据库表中各字段分别对应的字段属性信息;基于解析结果生成包含所述已创建数据库表中各字段分别对应的字段属性信息的检核规则,并将所述已创建数据库表的标识与所述检核规则关联存储至存储单元中。
可选地,检核规则生成模块对当前建表语句进行解析,包括:
识别当前建表语句中的数据库表名,将所述数据库表名作为当前建表语句对应的已创建数据库表的标识;
识别当前建表语句中的分隔符,根据所述分隔符将所述当前建表语句划分为多行,每一行包括一个字段的字段属性信息。
可选地,所述字段属性信息包括字段标识、数据格式、以及备注信息中的至少一项;所述数据格式包括数据长度和/或数据类型。
可选地,目标数据文件导入模块401确定将所述目标数据文件导入的目标数据库表,包括:
获取第一映射关系表;其中,所述第一映射关系表中包含至少一条数据文件标识与数据库表标识的映射关系,所述映射关系是基于通过用户界面输入的数据文件标识和数据库表标识建立的;
基于所述第一映射关系表,确定将所述目标数据文件导入的目标数据库表。
可选地,检核模块403基于读取的所述目标检核规则对所述目标数据文件中的各字段数据的属性进行检核,包括:
对所述目标数据文件中的各字段数据进行遍历;
确定遍历到的当前字段数据对应的所述目标数据库表中的目标字段,将所述当前字段数据的属性信息与所述目标检核规则中所述目标字段的字段属性信息进行匹配,根据匹配结果确定对所述当前字段数据的检核是否成功。
可选地,检核模块403确定遍历到的当前字段数据对应的所述目标数据库表中的目标字段,包括:
获取第二映射关系表;其中,所述第二映射关系表中包含至少一条文件字段标识与表字段标识的映射关系,所述映射关系是基于通过用户界面输入的文件字段标识和表字段标识建立的;
确定遍历到的当前字段数据对应的字段标识,基于所述第二映射关系表和所述当前字段数据对应的字段标识,确定所述当前字段数据对应的所述目标数据库表中的目标字段。
进一步地,该装置还包括:
检核报告生成模块,用于:
在基于所述检核结果确定检核失败的情况下,生成检核报告;其中,所述检核报告中包括检核失败的字段数据和/或失败原因;
检核报告展示模块,用于将所述检核报告进行可视化展示。
进一步地,检核报告生成模块,还包括:
字段数据标记单元,用于在所述目标数据文件中将检核失败的字段数据进行标记。
进一步地,该装置还包括:
字段数据写入模块,用于在基于所述检核结果确定检核成功的情况下,确定所述目标数据文件中各字段数据在所述目标数据库表中的导入位置,并将各所述字段数据写入至所述目标数据库表中对应的导入位置。
本发明实施例所提供的数据检核装置可执行本发明任意实施例所提供的数据检核方法,具备执行方法相应的功能模块和有益效果。
图5为本发明实施例提供的一种电子设备的一个结构示意图。图5示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图5显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。另外,本实施例中的电子设备12,显示器24不是作为独立个体存在,而是嵌入镜面中,在显示器24的显示面不予显示时,显示器24的显示面与镜面从视觉上融为一体。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种数据检核方法:响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将目标数据文件导入的目标数据库表;基于目标数据库表的标识,从存储单元中读取目标数据库表对应的目标检核规则;其中,目标检核规则包括目标数据库表中各字段分别对应的字段属性信息;基于读取的目标检核规则对目标数据文件中的各字段数据的属性进行检核,得到检核结果。即本发明实施例可以在导入目标数据文件时,确定将目标数据文件将要导入的目标数据库表,读取导入的目标数据库表对应的检核规则,然后根据该检核规则对目标数据文件中的字段数据的属性进行检核,得到目标数据文件中字段数据的检核结果,这样在对数据文件中的字段数据进行检核时,无需针对多个不同的数据文件分别编写检核脚本,有效的提高了数据文件中字段数据的检核方法的灵活性,并降低了检核数据文件中字段数据的检核成本,提升了检核效率。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明所有发明实施例提供的数据检核方法:响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将目标数据文件导入的目标数据库表;基于目标数据库表的标识,从存储单元中读取目标数据库表对应的目标检核规则;其中,目标检核规则包括目标数据库表中各字段分别对应的字段属性信息;基于读取的目标检核规则对目标数据文件中的各字段数据的属性进行检核,得到检核结果。即本发明实施例可以在导入目标数据文件时,确定将目标数据文件将要导入的目标数据库表,读取导入的目标数据库表对应的检核规则,然后根据该检核规则对目标数据文件中的字段数据的属性进行检核,得到目标数据文件中字段数据的检核结果,这样在对数据文件中的字段数据进行检核时,无需针对多个不同的数据文件分别编写检核脚本,有效的提高了数据文件中字段数据的检核方法的灵活性,并降低了检核数据文件中字段数据的检核成本,提升了检核效率。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现如本发明任一实施例所提供的数据检核方法。
计算机程序产品在实现的过程中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (17)
1.一种数据检核方法,其特征在于,包括:
响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将所述目标数据文件导入的目标数据库表;
基于所述目标数据库表的标识,从存储单元中读取所述目标数据库表对应的目标检核规则;其中,所述目标检核规则包括所述目标数据库表中各字段分别对应的字段属性信息;
基于读取的所述目标检核规则对所述目标数据文件中的各字段数据的属性进行检核,得到检核结果。
2.根据权利要求1所述的方法,其特征在于,在检测到文件导入指令之前,所述方法还包括:
读取数据库中的至少一个建表语句;
对于各所述建表语句,对当前建表语句进行解析,得到当前建表语句对应的已创建数据库表的标识、以及所述已创建数据库表中各字段分别对应的字段属性信息;基于解析结果生成包含所述已创建数据库表中各字段分别对应的字段属性信息的检核规则,并将所述已创建数据库表的标识与所述检核规则关联存储至存储单元中。
3.根据权利要求2所述的方法,其特征在于,所述对当前建表语句进行解析,包括:
识别当前建表语句中的数据库表名,将所述数据库表名作为当前建表语句对应的已创建数据库表的标识;
识别当前建表语句中的分隔符,根据所述分隔符将所述当前建表语句划分为多行,每一行包括一个字段的字段属性信息。
4.根据权利要求3所述的方法,其特征在于,所述字段属性信息包括字段标识、数据格式、以及备注信息中的至少一项;所述数据格式包括数据长度和/或数据类型。
5.根据权利要求1所述的方法,其特征在于,所述确定将所述目标数据文件导入的目标数据库表,包括:
获取第一映射关系表;其中,所述第一映射关系表中包含至少一条数据文件标识与数据库表标识的映射关系,所述映射关系是基于通过用户界面输入的数据文件标识和数据库表标识建立的;
基于所述第一映射关系表,确定将所述目标数据文件导入的目标数据库表。
6.根据权利要求1所述的方法,其特征在于,所述基于读取的所述目标检核规则对所述目标数据文件中的各字段数据的属性进行检核,包括:
对所述目标数据文件中的各字段数据进行遍历;
确定遍历到的当前字段数据对应的所述目标数据库表中的目标字段,将所述当前字段数据的属性信息与所述目标检核规则中所述目标字段的字段属性信息进行匹配,根据匹配结果确定对所述当前字段数据的检核是否成功。
7.根据权利要求6所述的方法,其特征在于,所述确定遍历到的当前字段数据对应的所述目标数据库表中的目标字段,包括:
获取第二映射关系表;其中,所述第二映射关系表中包含至少一条文件字段标识与表字段标识的映射关系,所述映射关系是基于通过用户界面输入的文件字段标识和表字段标识建立的;
确定遍历到的当前字段数据对应的字段标识,基于所述第二映射关系表和所述当前字段数据对应的字段标识,确定所述当前字段数据对应的所述目标数据库表中的目标字段。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
在基于所述检核结果确定检核失败的情况下,生成检核报告;其中,所述检核报告中包括检核失败的字段数据和/或失败原因;
将所述检核报告进行可视化展示。
9.根据权利要求8所述的方法,其特征在于,还包括:
在所述目标数据文件中将检核失败的字段数据进行标记。
10.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
在基于所述检核结果确定检核成功的情况下,确定所述目标数据文件中各字段数据在所述目标数据库表中的导入位置,并将各所述字段数据写入至所述目标数据库表中对应的导入位置。
11.一种数据检核装置,其特征在于,包括:
目标数据文件导入模块,用于响应于检测到文件导入指令,获取待导入的目标数据文件,并确定将所述目标数据文件导入的目标数据库表;
目标检核规则读取模块,用于基于所述目标数据库表的标识,从存储单元中读取所述目标数据库表对应的目标检核规则;其中,所述目标检核规则包括所述目标数据库表中各字段分别对应的字段属性信息;
检核模块,用于基于读取的所述目标检核规则对所述目标数据文件中的各字段数据的属性进行检核,得到检核结果。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
建表语句读取模块,用于读取数据库中的至少一个建表语句;
检核规则生成模块,用于对于各所述建表语句,对当前建表语句进行解析,得到当前建表语句对应的已创建数据库表的标识、以及所述已创建数据库表中各字段分别对应的字段属性信息;基于解析结果生成包含所述已创建数据库表中各字段分别对应的字段属性信息的检核规则,并将所述已创建数据库表的标识与所述检核规则关联存储至存储单元中。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
检核报告生成模块,用于在基于所述检核结果确定检核失败的情况下,生成检核报告;其中,所述检核报告中包括检核失败的字段数据和/或失败原因;
检核报告展示模块,用于将所述检核报告进行可视化展示。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
字段数据写入模块,用于在基于所述检核结果确定检核成功的情况下,确定所述目标数据文件中各字段数据在所述目标数据库表中的导入位置,并将各所述字段数据写入至所述目标数据库表中对应的导入位置。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的数据检核方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一所述的数据检核方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-10中任一项所述的数据检核方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211045131.2A CN115391322A (zh) | 2022-08-30 | 2022-08-30 | 数据检核方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211045131.2A CN115391322A (zh) | 2022-08-30 | 2022-08-30 | 数据检核方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115391322A true CN115391322A (zh) | 2022-11-25 |
Family
ID=84122890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211045131.2A Pending CN115391322A (zh) | 2022-08-30 | 2022-08-30 | 数据检核方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391322A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576959A (zh) * | 2022-12-08 | 2023-01-06 | 云粒智慧科技有限公司 | 实时质检方法、装置、电子设备及存储介质 |
CN116010349A (zh) * | 2023-02-17 | 2023-04-25 | 广州汇通国信科技有限公司 | 基于元数据的数据检核方法和装置、电子设备和存储介质 |
-
2022
- 2022-08-30 CN CN202211045131.2A patent/CN115391322A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576959A (zh) * | 2022-12-08 | 2023-01-06 | 云粒智慧科技有限公司 | 实时质检方法、装置、电子设备及存储介质 |
CN116010349A (zh) * | 2023-02-17 | 2023-04-25 | 广州汇通国信科技有限公司 | 基于元数据的数据检核方法和装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110852065B (zh) | 一种文档审核方法、装置、系统、设备及存储介质 | |
CN115391322A (zh) | 数据检核方法、装置、设备、存储介质及程序产品 | |
CN107221328B (zh) | 修改源的定位方法及装置、计算机设备及可读介质 | |
CN110347598B (zh) | 一种测试脚本生成方法、装置、服务器及存储介质 | |
CN109165209B (zh) | 数据库中对象类型的数据校验方法、装置、设备及介质 | |
CN110688544A (zh) | 一种查询数据库的方法、设备及存储介质 | |
CN102937949A (zh) | 一种在富文本编辑器内实现英文拼写检查的方法及系统 | |
CN110990411A (zh) | 数据结构的生成方法及装置、调用方法及装置 | |
CN114996288A (zh) | 数据比对方法及装置、计算机存储介质、电子设备 | |
CN113094625B (zh) | 页面元素定位方法、装置、电子设备及存储介质 | |
CN114373460A (zh) | 车载语音助手的指令确定方法、装置、设备及介质 | |
CN112783482B (zh) | 一种可视化表单生成方法、装置、设备及存储介质 | |
CN112364145A (zh) | 一种工单处理方法、装置、电子设备及存储介质 | |
CN112487025A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN112559541B (zh) | 一种单证的审核方法、装置、设备及存储介质 | |
CN115761778A (zh) | 一种文献重构方法、装置、设备和存储介质 | |
CN113010208B (zh) | 一种版本信息的生成方法、装置、设备及存储介质 | |
CN113517047A (zh) | 医学数据的获取方法、装置、电子设备及存储介质 | |
CN112966671A (zh) | 一种合同检测方法、装置、电子设备及存储介质 | |
CN110134435B (zh) | 一种代码修复案例获取方法、装置、设备及存储介质 | |
CN113792138A (zh) | 报表生成方法、装置、电子设备及存储介质 | |
CN113946601A (zh) | 一种人员数据查询方法、装置、设备及存储介质 | |
CN112364268A (zh) | 资源获取方法、装置、电子设备及存储介质 | |
CN111447268A (zh) | 文件结构转换方法、装置、设备和存储介质 | |
CN111858645A (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 |