CN115544132A - 数据导入方法、***及电子设备 - Google Patents
数据导入方法、***及电子设备 Download PDFInfo
- Publication number
- CN115544132A CN115544132A CN202211117008.7A CN202211117008A CN115544132A CN 115544132 A CN115544132 A CN 115544132A CN 202211117008 A CN202211117008 A CN 202211117008A CN 115544132 A CN115544132 A CN 115544132A
- Authority
- CN
- China
- Prior art keywords
- target
- field
- data
- rule
- import
- 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
- 230000008676 import Effects 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012795 verification Methods 0.000 claims abstract description 99
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- KLPWJLBORRMFGK-UHFFFAOYSA-N Molindone Chemical compound O=C1C=2C(CC)=C(C)NC=2CCC1CN1CCOCC1 KLPWJLBORRMFGK-UHFFFAOYSA-N 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 229940028394 moban Drugs 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
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)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据导入方法、***及电子设备,涉及数据处理技术领域,该方法包括:获取目标文件和目标数据库的配置标识,根据配置标识,从配置表中获取目标文件的字段校验规则和数据导入规则;根据字段校验规则对目标文件中的目标字段进行校验;在目标字段通过校验的情况下,根据目标字段的导入记录,在数据导入规则中获取目标接口地址;将校验后的目标字段配置在目标接口地址对应的报文模板中,生成目标字段的报文,并调用目标接口地址对应的目标接口将报文导入目标数据库中;本发明实现通过配置表对目标文件的数据进行校验以及导入,有效降低数据导入成本和提高可复用性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据导入方法、***及电子设备。
背景技术
在日常业务过程中,业务存在数据逐条新增或编辑场景,存在继发的从Excel文件导入数据至数据库的需求,以对数据进行高效管理。Excel中的数据可能为新数据,即新增场景,也可能为旧数据修改,即编辑场景。因此,如何低成本完成外部数据与数据库已有数据的合并,即通过一份文件的导入,同时完成对于新数据的新增和旧数据的更新,是本领域亟待解决的技术问题之一。
现有技术中,通常根据每一前端数据的导入需求编写一套代码,即将用于实现数据导入的规则,如导入方式以及校验规则等,编写在代码中。因此,针对不同导入需求的前端数据时,如导入字段及校验规则变更,需要频繁修改代码或重写代码,导致数据导入成本高和可复用性差。
发明内容
本发明提供一种数据导入方法、***及电子设备,用以解决现有技术中针对不同数据导入需求,频繁修改代码或重写代码,导致数据导入成本高和可复用性差的缺陷,实现降低数据导入成本和提高可复用性。
本发明提供一种数据导入方法,应用于通用接口,包括:
获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;
根据所述字段校验规则对所述目标文件中的目标字段进行校验;
在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;
将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
根据本发明提供的一种数据导入方法,所述将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,包括:
在所述校验后的目标字段中,获取所述报文模板中的占位标识对应的数据内容;
将所述报文模板中的所述占位标识替换为所述数据内容,生成所述目标字段的报文。
根据本发明提供的一种数据导入方法,所述根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址,包括:
在所述目标数据库的导入记录中查找所述目标字段;
在根据查找结果,确定所述目标字段的导入记录为非空的情况下,将所述数据导入规则中的第一接口地址作为所述目标接口地址;所述第一接口地址为修改数据的接口地址;
在根据所述查找结果,确定所述目标字段的导入记录为空的情况下,将所述数据导入规则中的第二接口地址作为所述目标接口地址;所述第二接口地址为新增数据的接口地址。
根据本发明提供的一种数据导入方法,所述根据所述字段校验规则对所述目标文件中的目标字段进行校验,包括:
根据所述配置表中的数据库表字段名称与文件字段名称之间的关联关系,以及所述配置标识,在所述目标文件中获取所述目标字段;
根据所述字段校验规则对所述目标字段进行校验。
根据本发明提供的一种数据导入方法,所述字段校验规则包括非空校验规则、字段长度校验规则、字段类型校验规则、主键校验规则、主键联合校验规则、字典值校验规则、数值集合校验规则以及正则化校验规则中的一种或多种组合。
根据本发明提供的一种数据导入方法,所述根据所述字段校验规则对所述目标文件中的目标字段进行校验,包括:
在所述字段校验规则包括主键校验规则的情况下,基于所述主键校验规则对应的主键查询语句,获取所述目标字段中的待查询数据对应的键值;
在获取到所述键值的情况下,基于所述键值对所述待查询数据进行替换。
根据本发明提供的一种数据导入方法,所述根据所述字段校验规则对所述目标文件中的目标字段进行校验,包括:
在所述字段校验规则包括字典值校验规则的情况下,在所述目标字段中获取与字典值校验规则对应的字典码值相匹配的目标数据;
在获取到所述目标数据的情况下,基于所述字典码值对所述目标数据进行替换。
根据本发明提供的一种数据导入方法,所述根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则,包括:
根据所述配置标识在所述配置表的表内容配置表中,获取所述数据导入规则;
根据所述配置标识在所述配置表的字段内容配置表中,获取所述字段校验规则。
本发明还提供一种数据导入***,包括:
第一获取模块,用于获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;
校验模块,用于根据所述字段校验规则对所述目标文件中的目标字段进行校验;
第二获取模块,用于在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;
数据导入模块,用于将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据导入方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据导入方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据导入方法。
本发明提供的数据导入方法、***及电子设备,通过配置标识,从配置表中获取相应的字段校验规则和数据导入规则,以根据字段校验规则对目标文件中的目标字段进行校验;并在目标字段通过校验的情况下,可根据目标字段的导入记录,在数据导入规则中获取目标接口地址,以将校验后的目标字段配置在目标接口地址对应的报文模板中,生成目标字段的报文,并通过调用目标接口地址对应的目标接口,即可将报文顺利导入目标数据库中;在进行数据导入时,只需针对不同数据导入需求配置相关配置表即可在已有新增数据接口的基础上完成数据合并导入的功能,可低开发成本的实现用户数据定制化合并导入功能;且可根据需要在数据新增接口的基础上进行数据字段的各种校验和数据筛选,可适用于各种类型的数据导入,可复用性强。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据导入方法的流程示意图;
图2是本发明提供的数据导入***的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1描述本发明的数据导入方法,该方法的执行主体为通用接口,该通用接口可用于实现如下通用功能:读取数据库配置以及读取目标文件内容;对目标文件中的每一行数据,调用配置表中的相关校验规则进行字段校验,以完成文件内容校验;对不符合要求的数据进行文件打标并传回给客户端;对通过校验的数据调用已有的数据新增接口或数据修改接口,根据校验后的目标文件,对数据库中的数据进行数据新增或修改,以将目标文件便捷快速地导入数据库。
如图1所示,为本发明提供的数据导入方法的流程示意图之一,该方法具体包括如下步骤:
步骤101,获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;
其中,配置表是开发人员根据文件导入需求预先在数据表中配置相应的文件导入规则、接口信息、字段信息,需导入的字段及相关字段校验信息、调用接口规则等信息生成的。
配置表中至少包含表内容配置表a和字段内容配置表b。
其中,配置表a中的配置内容至少包括不同配置标识对应的数据库表名(即table_name)以及数据导入规则;其中数据导入规则中至少包含已存在的新增接口地址(即url_key_i)、新增接口地址对应的报文模板,也即数据新增接口需要的输入文本(即json_str_i),以及已存在的修改接口地址(即url_key_u)和修改接口地址对应的报文模板,也即数据修改接口需要的输入文本(即json_str_u)。本实施例对配置表a的配置内容不做具体地限定。
配置表b中的配置内容至少包括数据库表字段名称(即column_name)、文件字段名称(即excel_column_name)、配置a表中报文模板json_str中的占位标识(即json_column)以及字段校验规则。其中,字段校验规则包括但不限于非空校验规则(用于进行非空校验)、字段长度校验规则(用于进行字段最大长度校验)、字段类型校验规则(用于进行字段类型校验)、主键校验规则(用于进行主键查询校验)、主键联合校验规则(用于进行主键联合查询校验)、字典值校验规则(用于进行字典码值查询校验)、数值集合校验规则(用于进行数值校验)以及正则化校验规则(用于进行正则化校验);同时配置更新列命令(is_update_column),并将所有作为表联合主键的字段均配置为1。本实施例对配置表b的配置内容不做具体地限定。
其中,配置表a和配置表b中的配置内容可根据导入业务需求进行重新配置。
需要说明的是配置表a和配置表b可以是以两张表的形式存储在配置表中,也可是以合并的方式存储在同一张表c中,本实施例对此不做具体地限定。其中,目标文件中有n列数据的话,则在合并之前表a针对性地配置1条数据并对应b表n条数据(n个导出字段);合并之后,则在表c中配置为n条数据,n条数据与原表a配置部分的内容一致。
其中,目标文件为需要将其导入数据库的文件;目标数据库为导入目标文件的数据库。
可选地,通用接口启动,在前端获取通用接口所需的参数,即用户导入的目标文件以及用户在前端以点击或下拉选择等输入形式选择导入内容类型时生成的配置标识。配置标识可以是ID(Identity document,身份标识号)等。
其中,配置标识用于标识所需导入数据库表的数据内容类型,如用户数据类型、角色数据类型、部门数据类型等,本实施例对此不做具体地限定。不同导入内容类型具有不同的配置标识,不同导入内容类型具有不同的字段校验规则和不同的数据导入规则。
在获取到配置标识后,即可根据配置标识,在配置文件中查找配置标识对应的字段校验规则以及数据导入规则。
步骤102,根据所述字段校验规则对所述目标文件中的目标字段进行校验;
其中,目标字段为目标文件中所需导入数据库的字段;目标文件可包含一个或多个目标字段,具体可根据实际业务需求进行设置。
在获取到字段校验规则之后,可采用字段校验规则对目标字段进行验证和校正,以使得导入数据库的目标字段的内容符合数据库导入规则,且与数据库的数据格式相适配。
在目标字段未校验通过的情况下,表明该目标字段的数据内容错误,可生成错误文件,并将错误文件返回至用户端。其中,错误文件中可以基于目标字段以及校验失败的字段校验规则生成的。
步骤103,在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;
其中,不同记录对应选择的接口地址,不同接口地址的接口以及接口所需的导入文本的内容以及格式不同,即不同接口地址对应的报文模板不同。
可选地,在目标字段通过校验的情况下,根据目标数据库中的字段导入记录判断目标字段的导入记录是否为空,即确定目标字段为新增数据或修改数据。根据目标字段的导入记录,在数据导入规则中确定相应的目标接口地址,即将数据导入规则中新增数据接口地址或修改数据接口地址作为目标接口地址。
步骤104,将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
可选地,在获取到目标接口地址的情况下,可获取目标接口地址对应的报文模板json_str;其中,报文模板中包含目标接口所需的输入文本。在报文模板中确定目标字段的配置位置。在报文模板中,将目标字段配置在该配置位置处,以生成目标字段的报文。并调用目标接口地址对应的目标接口(即数据修改接口或数据新增接口),将目标字段的报文导入合并至目标数据库中。
可选地,在将数据导入数据库时,还可根据配置表a配置标识对应的数据库表名确定目标数据库表,以调用目标接口地址对应的目标接口,将目标字段的报文导入合并至目标数据库的目标数据库表中。
需要说明的是,数据导入过程中,通用接口的实现只需最初实现1次,后续对于合并功能的实现只需进行数据表配置即可,数据导入方式简单便捷。
本实施例提供的数据导入方法,通用接口通过配置标识,从配置表中获取相应的字段校验规则和数据导入规则,以根据字段校验规则对目标文件中的目标字段进行校验;并在目标字段通过校验的情况下,可根据目标字段的导入记录,在数据导入规则中获取目标接口地址,以将校验后的目标字段配置在目标接口地址对应的报文模板中,生成目标字段的报文,并通过调用目标接口地址对应的目标接口,即可将报文顺利导入目标数据库中;在进行数据导入时,只需针对不同数据导入需求配置相关配置表即可在已有新增数据接口的基础上完成数据合并导入的功能,可低开发成本的实现用户数据定制化合并导入功能;且可根据需要在数据新增接口的基础上进行数据字段的各种校验和数据筛选,可适用于各种类型的数据导入,可复用性强。
在一些实施例中,步骤104中所述将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文的步骤进一步包括:
在所述校验后的目标字段中,获取所述报文模板中的占位标识对应的数据内容;
将所述报文模板中的所述占位标识替换为所述数据内容,生成所述目标字段的报文。
可选地,根据配置标识,在配置表b中获取配置表a中目标接口地址对应的报文模板中占位标识。并在校验后的目标字段中,获取报文模板中的占位标识对应的数据内容,以将报文模板中的占位标识替换为目标字段中的数据内容,生成目标字段的报文。
例如,调用语句“select*from xxx where name=“###””对报文模板进行配置,生成目标字段的报文。其中,“xxx”为table_name,“name”为column_name,“###”为json_column。通过调用该语句从校验后目标字段中读取校验处理后的键值内容,以利用该键值内容替换报文模板中的json_column,生成目标字段的报文,并返回目标字段ID,用于后续修改数据。
再如,报文模板的数据内容为“use_id:##;telephone:xx;department:++”。其中,“##”、“xx”和“++”均为报文模板中的占位标识。在生成目标字段的报文时,可从目标字段的键值内容中获取“use_id”的值,如101,以及“telephone”的值,如123456789,以及“department”的值,如12,以将这些值替换报文模板中的占位标识“##”、“xx”和“++”,得到目标字段的报文内容为“use_id:101;telephone:123456789;department:12”。
本实施例通过在报文模板中占位标识标记文件的导入位置,可将目标字段的数据内容便捷快速地配置在报文模板中,生成相应的报文,以便将目标字段的数据内容便捷快速地导入合并至目标数据库中。
在一些实施例中,步骤103中所述根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址的步骤进一步包括:
在所述目标数据库的导入记录中查找所述目标字段;
在根据查找结果,确定所述目标字段的导入记录为非空的情况下,将所述数据导入规则中的第一接口地址作为所述目标接口地址;所述第一接口地址为修改数据的接口地址;
在根据所述查找结果,确定所述目标字段的导入记录为空的情况下,将所述数据导入规则中的第二接口地址作为所述目标接口地址;所述第二接口地址为新增数据的接口地址。
可选地,根据用于标记已导入字段的标记(即is_update_column标记),在目标数据库的导入记录中查找目标字段,以判断数据库中是否存在目标标记。在查找到目标字段的情况下,表明目标字段的导入记录为非空,即目标字段在此之前已被导入过数据库中,将目标字段标记为修改数据,本次导入操作是需要根据目标字段对旧数据进行修改。在此场景下,可将数据导入规则中的第一接口地址(即数据修改接口地址)作为目标接口地址,以将校验后的目标字段配置在数据修改接口地址对应的报文模板json_str_u中,生成目标字段的报文,并调用数据修改接口地址对应的数据修改接口将报文导入目标数据库中。
在未查找到目标字段的情况下,表明目标字段的导入记录为空,即目标字段在此之前未被导入过数据库中,将目标字段标记为新增数据,本次导入操作是需要根据目标字段对数据进行新增。在此场景下,可将数据导入规则中的第二接口地址(即数据新增接口地址)作为目标接口地址,以将校验后的目标字段配置在数据新增接口地址对应的报文模板json_str_i中,生成目标字段的报文,并调用数据新增接口地址对应的数据新增接口将报文导入目标数据库中。
本实施例中通过目标字段的导入记录,即可通过配置表,快速、低成本完成外部数据与数据库已有数据的合并,即通过一份目标文件的导入,同时完成对于新数据的新增,以及对于旧数据的更新。
在一些实施例中,步骤102中所述根据所述字段校验规则对所述目标文件中的目标字段进行校验的步骤进一步包括:
根据所述配置表中的数据库表字段名称与文件字段名称之间的关联关系,以及所述配置标识,在所述目标文件中获取所述目标字段;
根据所述字段校验规则对所述目标字段进行校验。
可选地,可以从配置表b中获取数据库表字段名称与文件字段名称之间的关联关系,以根据关联系关系从目标文件中选择配置标识对应的目标字段,以采用字段校验规则对该目标字段进行校验以及通过导入规则将校验后的目标字段的数据内容导入数据库。
本实施例中通过配置标识即可便捷获取需要导入数据库的目标字段,以通过配置表,快速、低成本实现目标字段的数据内容的导入。
在一些实施例中,所述字段校验规则包括非空校验规则、字段长度校验规则、字段类型校验规则、主键校验规则、主键联合校验规则、字典值校验规则、数值集合校验规则以及正则化校验规则中的一种或多种组合。
其中,配置在配置表的字段校验规则包括但不限于如下规则:
1)非空校验规则:配置表b中配置该规则的值为1时,验证目标字段是否为非空,若为非空,则确定目标字段通过非空校验规则,否则按错误数据返回;
2)字段长度校验规则:配置表b中配置该规则有值时验证目标字段的长度是否符合配置表中相关要求;若符合,则确定目标字段通过字段长度校验,否则按错误数据返回;
3)字段类型校验规则:配置表b中配置该规则有值时验证目标字段的类型是否符合配置表中相关要求,如数据类型满足配置表中配置的数字类型、字符类型或布尔类型等,则确定目标字段通过字段类型校验,否则按错误数据返回;
4)主键校验规则:配置表b中配置的主键查询标志为1时,使用配置表中的主键查询语句,将目标文件中的目标字段的数据值替换至查询语句相应的位置,并执行得到原数据对应的键值,完成数据替换;若查询不到,按错误数据返回。
5)主键联合校验规则:需要通过本行数据的多列数据(多个字段)才可确定该列数据在数据库的对应键值,相应的使用联合查询语句并完成语句中相应值的替换,执行查询语句,得到对应键值,完成数据替换,若查询不到,按错误数据返回;
6)字典值校验规则:配置表b中配置的字典列有值时,通过查询该字典相关合法值,将目标字段中的数据由原始值替换为相应字典码值,若查询不到,按错误数据返回;
7)数值集合校验规则:配置表b中配置的该项有值时,目标字段的数据内容需为该项中列表中的内容,否则按错误数据返回;
8)正则化校验规则:配置表b中配置的该项有值时,目标字段的数据内容须符合该正则表达式规范的内容,否则按错误数据返回。
完成以上一种或多种字段校验后,目标字段的内容由原始数据a得到了处理数据b;其中,处理数据b的有关字段已替换为即将存储在数据库中的键值,即与数据库相适配的键值。
需要说明的是,配置表中用于对各字段进行校验的校验规则,也可以整合的形式进行配置,比如字典和值集合可合并为1个,将值集合放在字典中进行管理等。
本实施例中通过配置表中的一种或多种校验规则,即可通过配置校验字段完成合并导入文件内容的灵活检验,防止错误数据引入,避免重复开发代码,有效降低数据导入成本和复杂度。
在一些实施例中,步骤102中所述根据所述字段校验规则对所述目标文件中的目标字段进行校验的步骤还进一步包括:
在所述字段校验规则包括主键校验规则的情况下,基于所述主键校验规则对应的主键查询语句,获取所述目标字段中的待查询数据对应的键值;
在获取到所述键值的情况下,基于所述键值对所述待查询数据进行替换。
可选地,在字段校验规则包括主键校验规则的情况下,可基于主键校验规则对应的主键查询语句,获取目标字段中的待查询数据对应的键值,并基于获取的键值对待查询数据进行替换,得到校验后的目标字段,以将目标字段的内容由替换为即将存储在数据库中的键值,即与数据库相适配的键值,进而提高数据导入的正确性,避免因数据格式错误导致数据导入失败,提高数据导入成功率。
在一些实施例中,步骤102中所述根据所述字段校验规则对所述目标文件中的目标字段进行校验的步骤还进一步包括:
在所述字段校验规则包括字典值校验规则的情况下,在所述目标字段中获取与字典值校验规则对应的字典码值相匹配的目标数据;
在获取到所述目标数据的情况下,基于所述字典码值对所述目标数据进行替换。
可选地,在字段校验规则包括字典值校验规则的情况下,可在目标字段中获取与字典值校验规则对应的字典码值相匹配的目标数据;若未获取到,则表明校验失败;若获取到,则基于字典码值对目标数据进行替换,得到校验后的目标字段,以将目标字段的内容由替换为即将存储在数据库中的键值,即与数据库相适配的键值,进而提高数据导入的正确性,避免因数据格式错误导致数据导入失败,提高数据导入成功率。
在一些实施例中,步骤101中所述根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则的步骤包括:
根据所述配置标识在所述配置表的表内容配置表中,获取所述数据导入规则;
根据所述配置标识在所述配置表的字段内容配置表中,获取所述字段校验规则。
可选地,配置表包括表内容配置表a和字段内容配置表b;
可根据配置标识在表内容配置表a中查找获取配置标识对应的数据导入规则;以及根据配置标识在表内容配置表b中查找获取配置标识对应的字段校验规则,以根据字段校验规则对目标文件中的字段进行校验,根据数据导入规则,将校验后的字段导入数据库,以通过配置表快速实现数据合并导入功能;并可通过配置表快速实现合并导入文件内容列的选择。
本实施例提供的数据导入方法的整体流程包括如下步骤:
步骤0,通用接口的实现,包括读取数据库配置,读入目标文件的数据,完成文件内容校验,数据新增报文生成,以及数据新增接口调用,生成错误数据文件并返回等一系列通用功能。
步骤1,根据导出文件的需要在配置表中进行信息配置,包括配置相应的文件、接口、字段,需导入的字段及相关校验信息、调用接口等信息,以完成文件导入字段以及校验规则和导入规则的配置。
步骤2,前端通过通用接口,输入此次导入的目标文件及数据库配置标识。
步骤3,通用接口根据步骤0中配置表的配置内容,循环完成目标文件中每一条数据(每一字段)的校验。
步骤4,通过导入记录在数据库中判断目标文件是否已存在。
步骤5为校验合格的字段的数据内容通过新增接口或修改接口导入数据库及错误数据的返回。
本申请通过配置数据库的配置表,再通过统一的通过接口,调用相关配置信息对文件内容进行校验,并判断是否为数据库中的已有数据,以根据判断结果,调用已存在的数据新增接口或数据修改接口,将文件中数据导入数据库;在进行数据导入时,只需针对不同数据导入需求配置相关配置表即可在已有新增数据接口的基础上完成数据合并导入的功能,开发成本低、可复用性强。
下面对本发明提供的数据导入***进行描述,下文描述的数据导入***与上文描述的数据导入方法可相互对应参照。
如图2所示,本实施例提供一种数据导入***,该***包括第一获取模块201、校验模块202、第二获取模块203和数据导入模块204,其中:
第一获取模块201用于获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;
校验模块202用于根据所述字段校验规则对所述目标文件中的目标字段进行校验;
第二获取模块203用于在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;
数据导入模块204用于将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
本实施例提供的数据导入***,通用接口通过配置标识,从配置表中获取相应的字段校验规则和数据导入规则,以根据字段校验规则对目标文件中的目标字段进行校验;并在目标字段通过校验的情况下,可根据目标字段的导入记录,在数据导入规则中获取目标接口地址,以将校验后的目标字段配置在目标接口地址对应的报文模板中,生成目标字段的报文,并通过调用目标接口地址对应的目标接口,即可将报文顺利导入目标数据库中;在进行数据导入时,只需针对不同数据导入需求配置相关配置表即可在已有新增数据接口的基础上完成数据合并导入的功能,可低开发成本的实现用户数据定制化合并导入功能;且可根据需要在数据新增接口的基础上进行数据字段的各种校验和数据筛选,可适用于各种类型的数据导入,可复用性强。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行数据导入方法,该方法包括:获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;根据所述字段校验规则对所述目标文件中的目标字段进行校验;在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据导入方法,该方法包括:获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;根据所述字段校验规则对所述目标文件中的目标字段进行校验;在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据导入方法,该方法包括:获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;根据所述字段校验规则对所述目标文件中的目标字段进行校验;在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据导入方法,其特征在于,应用于通用接口,包括:
获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;
根据所述字段校验规则对所述目标文件中的目标字段进行校验;
在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;
将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
2.根据权利要求1所述的数据导入方法,其特征在于,所述将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,包括:
在所述校验后的目标字段中,获取所述报文模板中的占位标识对应的数据内容;
将所述报文模板中的所述占位标识替换为所述数据内容,生成所述目标字段的报文。
3.根据权利要求1所述的数据导入方法,其特征在于,所述根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址,包括:
在所述目标数据库的导入记录中查找所述目标字段;
在根据查找结果,确定所述目标字段的导入记录为非空的情况下,将所述数据导入规则中的第一接口地址作为所述目标接口地址;所述第一接口地址为修改数据的接口地址;
在根据所述查找结果,确定所述目标字段的导入记录为空的情况下,将所述数据导入规则中的第二接口地址作为所述目标接口地址;所述第二接口地址为新增数据的接口地址。
4.根据权利要求1所述的数据导入方法,其特征在于,所述根据所述字段校验规则对所述目标文件中的目标字段进行校验,包括:
根据所述配置表中的数据库表字段名称与文件字段名称之间的关联关系,以及所述配置标识,在所述目标文件中获取所述目标字段;
根据所述字段校验规则对所述目标字段进行校验。
5.根据权利要求1-4任一所述的数据导入方法,其特征在于,所述字段校验规则包括非空校验规则、字段长度校验规则、字段类型校验规则、主键校验规则、主键联合校验规则、字典值校验规则、数值集合校验规则以及正则化校验规则中的一种或多种组合。
6.根据权利要求5所述的数据导入方法,其特征在于,所述根据所述字段校验规则对所述目标文件中的目标字段进行校验,包括:
在所述字段校验规则包括主键校验规则的情况下,基于所述主键校验规则对应的主键查询语句,获取所述目标字段中的待查询数据对应的键值;
在获取到所述键值的情况下,基于所述键值对所述待查询数据进行替换。
7.根据权利要求5所述的数据导入方法,其特征在于,所述根据所述字段校验规则对所述目标文件中的目标字段进行校验,包括:
在所述字段校验规则包括字典值校验规则的情况下,在所述目标字段中获取与字典值校验规则对应的字典码值相匹配的目标数据;
在获取到所述目标数据的情况下,基于所述字典码值对所述目标数据进行替换。
8.根据权利要求1-4任一所述的数据导入方法,其特征在于,所述根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则,包括:
根据所述配置标识在所述配置表的表内容配置表中,获取所述数据导入规则;
根据所述配置标识在所述配置表的字段内容配置表中,获取所述字段校验规则。
9.一种数据导入***,其特征在于,包括:
第一获取模块,用于获取目标文件和目标数据库的配置标识,根据所述配置标识,从配置表中获取所述目标文件的字段校验规则和数据导入规则;
校验模块,用于根据所述字段校验规则对所述目标文件中的目标字段进行校验;
第二获取模块,用于在所述目标字段通过校验的情况下,根据所述目标字段的导入记录,在所述数据导入规则中获取目标接口地址;
数据导入模块,用于将所述校验后的目标字段配置在所述目标接口地址对应的报文模板中,生成所述目标字段的报文,并调用所述目标接口地址对应的目标接口将所述报文导入所述目标数据库中。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述数据导入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211117008.7A CN115544132A (zh) | 2022-09-14 | 2022-09-14 | 数据导入方法、***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211117008.7A CN115544132A (zh) | 2022-09-14 | 2022-09-14 | 数据导入方法、***及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115544132A true CN115544132A (zh) | 2022-12-30 |
Family
ID=84727015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211117008.7A Pending CN115544132A (zh) | 2022-09-14 | 2022-09-14 | 数据导入方法、***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544132A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150142A (zh) * | 2023-04-14 | 2023-05-23 | 成都数联云算科技有限公司 | 字段校验及其规则获得方法、装置、介质、设备及产品 |
-
2022
- 2022-09-14 CN CN202211117008.7A patent/CN115544132A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150142A (zh) * | 2023-04-14 | 2023-05-23 | 成都数联云算科技有限公司 | 字段校验及其规则获得方法、装置、介质、设备及产品 |
CN116150142B (zh) * | 2023-04-14 | 2023-06-27 | 成都数联云算科技有限公司 | 字段校验及其规则获得方法、装置、介质、设备及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104392B (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
CN112148509A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN110119292A (zh) | ***运行参数查询方法、匹配方法、装置及节点设备 | |
CN110351325B (zh) | 一种数据处理方法及相关设备 | |
CN109740129B (zh) | 基于区块链的报表生成方法、装置、设备及可读存储介质 | |
CN110795140A (zh) | 一种配置文件生成方法及装置 | |
CN111443901A (zh) | 一种基于Java反射的业务扩展方法及装置 | |
CN115544132A (zh) | 数据导入方法、***及电子设备 | |
CN115827084A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115328759A (zh) | 表单的校验方法及装置 | |
CN114386853A (zh) | 基于通用审核模型的数据审核处理方法、装置及设备 | |
CN109214362A (zh) | 单据处理方法及相关设备 | |
CN110516258B (zh) | 数据校验方法及装置、存储介质、电子装置 | |
CN117149631A (zh) | 一种参数校验方法、装置、设备及介质 | |
CN115544417B (zh) | 一种网页表单验证方法、装置、电子设备及存储介质 | |
CN108804889B (zh) | 一种网站注册方法及装置 | |
CN106506661A (zh) | 一种动态返回数据的方法、服务端及*** | |
CN113934526A (zh) | 业务流程的构建方法和装置 | |
CN111241082B (zh) | 数据修正方法及装置 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN111651362A (zh) | 测试案例生成方法、装置、存储介质和计算机设备 | |
CN116680203B (zh) | 面向多租户的SaaS平台的测试方法、装置、设备和介质 | |
CN115328948B (zh) | 主数据质量管理方法、装置、计算机设备及存储介质 | |
CN111949716B (zh) | 格式化数据输出字段处理方法、计算机设备及存储介质 | |
CN111930349B (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 |