CN114116691B 数据导入校验方法、系统、装置及计算机可读介质 (浪潮软件股份有限公司)_第1页
CN114116691B 数据导入校验方法、系统、装置及计算机可读介质 (浪潮软件股份有限公司)_第2页
CN114116691B 数据导入校验方法、系统、装置及计算机可读介质 (浪潮软件股份有限公司)_第3页
CN114116691B 数据导入校验方法、系统、装置及计算机可读介质 (浪潮软件股份有限公司)_第4页
CN114116691B 数据导入校验方法、系统、装置及计算机可读介质 (浪潮软件股份有限公司)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(19)国家知识产权局(12)发明专利(65)同一申请的已公布的文献号(73)专利权人浪潮软件股份有限公司浪潮科技园(74)专利代理机构济南信达专利事务所有限公司37100专利代理师潘悦梅数据导入校验方法、系统、装置及计算机可读介质本发明公开了数据导入校验方法、系统、装置及计算机可读介质,属于数据入库技术领域,要解决的技术问题为如何实现数据导入的完整性校验,并提升数据的可靠性和系统可用性。约束和管理约束构建数据校验模型,在Es搜索引擎中建立与数据校验模型对应的物理索引,并同步生成与对应的excel模板文件;S300、将符合约束的excel数据保存至Es搜索引擎,将不符合约束的excel数据作为失败数据保存并提示检测失据插入数据库,将失败数据进行excel导出并进行修正,对修正后识失败数据执行步骤输出数据集1输出数据集221.数据导入校验方法,其特征在于包括如下步骤:S100、配置基本约束和关联约束,所述基本约束用于对单表中字段进行约束,所述关联约束与Es搜索引擎配合,用于基于关联表之间的表结构关系确定所述关联表在Es搜索引擎中的索引关系,并根据索引关系将表数据依序导入Es搜索引擎中;S200、基于基本约束和关联约束构建数据校验模型,在Es搜索引擎中建立与所述数据校验模型对应的物理索引,并同步生成与所述数据校验模型对应的excel模板文件,所述数据校验模型能够导出excel文件并能够对excel文件保存导入使用,所述excel模板文件用于填写数据并导入对应的数据校验模型;S300、将数据填写至excel模板文件,得到待检验excel文件,并将待检验excel文件导入对应的数据校验模型进行基本约束和关联约束校验,将待检验excel文件中符合约束的excel数据保存至Es搜索引擎,将待检验excel文件中不符合约束的excel数据作为失败数据保存并提示检测失败原因;S400、将保存于Es搜索引擎中的excle数据插入数据库,将失败数据进行excel导出并进行修正,对修正后识失败数据执行步骤S300-步骤S400。2.根据权利要求1所述的数据导入校验方法,其特征在于所述基本约束包括:基础约束,所述基础约束用于对单表中单个字段进行约束,用于通过表结构分析,对需内容约束,所述内容约束用于设置表中字段的内容格式,包括时间格式、数字格式、和数据范围。3.根据权利要求1所述的数据导入校验方法,其特征在于基于POI程序通过如下步骤将待校验数据导入所述数据校验模型:通过excel模板文件与数据校验模型之间的对应关系,为待检验excel文件匹配对应的数据校验模型;对待校验excel文件的sheet页进行提取,以将待校验excel文件每个表进行单独分对excel数据进行分页提取,以保证快速高效的将excel数据导入到对应的数据校验模型中。4.根据权利要求1-3任一项所述的数据导入校验方法,其特征在于所述数据校验模型Excel模板文件通过文件名和与其对应的数据校验模型的模型标识进行匹配。约束配置模块,所述约束配置模块用于配置基本约束和关联约束,所述基本约束用于对单表中字段进行约束,所述关联约束与Es搜索引擎配合,用于基于关联表之间的表结构关系确定所述关联表在Es搜索引擎中的索引关系,并根据索引关系将表数据依序导入Es搜索引擎中;模型构建模块,所述模型构建模块用于基于基本约束和关联约束构建数据校验模型,在Es搜索引擎中建立与所述数据校验模型对应的物理索引,并同步生成与所述数据校验模型对应的excel模板文件,所述数据校验模型能够导出excel文件并能够对excel文件保存导入使用,所述excel模板文件用于填写数据并导入对应的数据校验模型;3数据校验模块,所述数据校验模块用于将数据填写至excel模板文件,得到待检验excel文件,并将待检验excel文件导入对应的数据校验模型进行基本约束和关联约束校验,将待检验excel文件中符合约束的excel数据保存至Es搜索引擎,将待检验excel文件中不符合约束的excel数据作为失败数据保存并提示检测失败原因;数据入库模块,所述数据入库模块用于将保存于Es搜索引擎中的excle数据插入数据库,将失败数据进行excel导出并进行修正,并对修正后识失败数据导入数据校验模块。6.根据权利要求5所述的数据导入校验系统,其特征在于所述基本约束包括:基础约束,所述基础约束用于对单表中单个字段进行约束,用于通过表结构分析,对需要导入的数据表中的字段的基础约束进行提取,包括非空约束、唯一约束、和主键约内容约束,所述内容约束用于设置表中字段的内容格式,包括时间格式、数字格式、和数据范围。7.根据权利要求5所述的数据导入校验系统,其特征在于所述数据校验模块用于基于POI程序通过如下步骤将待校验excel文件导入对应的数据校验模型:通过excel模板文件与数据校验模型之间的对应关系,为待检验excel文件匹配对应的数据校验模型;对待校验excel文件的sheet页进行提取,以将待校验excel文件每个表进行单独分对excel数据进行分页提取,以保证快速高效的将excel数据导入到对应的数据校验模型中。8.根据权利要求5-7任一项所述的数据导入校验系统,其特征在于所述数据校验模型Excel模板文件通过文件名和与其对应的数据校验模型的模型标识进行匹配。所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至4中任一所述的方法。10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至4任一所述的方法。4数据导入校验方法、系统、装置及计算机可读介质技术领域[0001]本发明涉及数据入库技术领域,具体地说是数据导入校验方法、系统、装置及计算机可读介质。背景技术[0002]在政务服务产品领域,存在很多需要将历史数据或者无法对接的系统数据进行数据导入的场景,但是每个业务系统都有自己的业务规则,这就导致导入的数据存在一定的约束要求,不然导入到数据库也是存在数据不合格的情况。[0003]针对上述出现的情况,并考虑到业务场景的数据关联性强,格式严格,数据量庞大等要求,在数据导入的时候采用合适的模型进行数据检验是必然的,并且针对导入数据量大的情况需要做到适配。[0004]数据库的完整性是指数据的正确性和相容性,数据的完整性控制是为了防止数据库中存在不符合语义的数据,也就是防止出现不正确的数据。目前在数据库进行数据检验时,解决数据完整性的约束机制主要有三种方法,前端应用控制、数据库触发器和声明约[0005]应用控制指的是在开发者应用中对输入的数据进行数据格式校验,包括数据的类型和内容,在插入时通过程序对数据的每个字段进行校验避免脏数据的插入。数据库触发器指的是通过定义触发条件和编写触发后执行语句,来实现对数据表操作的各种约束,可以引用其它表的字段。触发器可以引用其他表,可以包含复杂的SQL语句。当对一个表进行修改时,通过触发器按照相关业务规则去修改其他的表,一旦发现修改过程中出现违背业务规则的情况,可以通过回滚语句,将数据恢复到修改前的状态。声明约束主要包含三个方面,实体完整性校验即数据主键不为空且唯一,参照性完整性即表之间关联主外键的校验,用户自定义完整性即声明列数据需满足语义要求(如数值满足某范围或者非空)。[0006]在数据库中设置较多的约束会在一定程度上影响数据库的性能,真实环境很少应用,更多是放到程序逻辑中去进行处理,有可能在面对业务变更或是系统扩展时,数据库约束会使得处理不够方便。[0007]基于上述分析,结合政务服务系统应用场景,如何实现数据导入的完整性校验,并提升数据的可靠性和系统可用性,是需要解决的技术问题。发明内容[0008]本发明的技术任务是针对以上不足,提供数据导入校验方法、系统、装置及计算机可读介质,来解决如何实现数据导入的完整性校验,并提升数据的可靠性和系统可用性的技术问题。[0010]S100、配置基本约束和关联约束,所述基本约束用于对单表中字段进行约束,所述关联约束与Es搜索引擎配合,用于基于关联表之间的表结构关系确定所述关联表在Es搜索5引擎中的索引关系,并根据索引关系将表数据依序导入Es搜索引擎中;[0011]S200、基于基本约束和管理约束构建数据校验模型,在Es搜索引擎中建立与所述数据校验模型对应的物理索引,并同步生成与所述数据校验模型对应的excel模板文件,所述数据校验模型能够导出excel文件并能够对excel文件保存导入使用,所述excel模板文件用于填写数据并导入对应的数据校验模型;[0012]S300、将数据填写至excel模板文件,得到待检验excel文件,并将待检验excel文件导入对应的数据校验模型进行基本约束和关联约束,将待检验excel文件中符合约束的excel数据保存至Es搜索引擎,将待检验excel文件中不符合约束的excel数据作为失败数据保存并提示检测失败原因;[0013]S400、将保存于Es搜索引擎中的excle数据插入数据库,将失败数据进行excel导出并进行修正,对修正后识失败数据执行步骤S300-步骤S400。[0015]基础约束,所述基础约束用于对单表中单个字段进行约束,用于通过表结构分析,对需要导入的数据表中的字段的基础约束进行提取,包括非空约束、唯一约束、和主键约[0016]内容约束,所述内容约束用于设置表中字段的内容格式,包括时间格式、数字格[0017]作为优选,基于POI程序通过如下步骤将待校验数据导入所述数据校验模型:[0018]通过excel模板文件与数据校验模型之间的对应关系,为待检验excel文件匹配对应的数据校验模型;[0019]对待校验excel文件的sheet页进行提取,以将待校验excel文件每个表进行单独[0020]对excel数据进行分页提取,以保证快速高效的将excel数据导入到对应的数据校验模型中。[0021]作为优选,所述数据校验模型的格式包括模型名称、模型标识、模型创建时间、模[0022]Excel模板文件通过文件名和与其对应的数据校验模型的模型标识进行匹配。[0024]约束配置模块,所述约束配置模块用于配置基本约束和关联约束,所述基本约束用于对单表中字段进行约束,所述关联约束与Es搜索引擎配合,用于基于关联表之间的表结构关系确定所述关联表在Es搜索引擎中的索引关系,并根据索引关系将表数据依序导入Es搜索引擎中;[0025]模型构建模块,所述模型构建模块用于基于基本约束和管理约束构建数据校验模型,在Es搜索引擎中建立与所述数据校验模型对应的物理索引,并同步生成与所述数据校验模型对应的excel模板文件,所述数据校验模型能够导出excel文件并能够对excel文件保存导入使用,所述excel模板文件用于填写数据并导入对应的数据校验模型;[0026]数据校验模块,所述数据校验模块用于将数据填写至excel模板文件,得到待检验excel文件,并将待检验excel文件导入对应的数据校验模型进行基本约束和关联约束,将待检验excel文件中符合约束的excel数据保存至Es搜索引擎,将待检验excel文件中不符6合约束的excel数据作为失败数据保存并提示检测失败原因;[0027]数据入库模块,所述数据入库模块用于将保存于Es搜索引擎中的excle数据插入数据库,将失败数据进行excel导出并进行修正,并对修正后识失败数据导入数据校验模[0029]基础约束,所述基础约束用于对单表中单个字段进行约束,用于通过表结构分析,对需要导入的数据表中的字段的基础约束进行提取,包括非空约束、唯一约束、和主键约[0030]内容约束,所述内容约束用于设置表中字段的内容格式,包括时间格式、数字格[0031]作为优选,所述数据校验模块用于基于POI程序通过如下步骤将待校验excel文件导入对应的数据校验模型:[0032]通过excel模板文件与数据校验模型之间的对应关系,为待检验excel文件匹配对应的数据校验模型;[0033]对待校验excel文件的sheet页进行提取,以将待校验excel文件每个表进行单独分sheet页保存;[0034]对excel数据进行分页提取,以保证快速高效的将excel数据导入到对应的数据校验模型中。[0035]作为优选,所述数据校验模型的格式包括模型名称、模型标识、模型创建时间、模[0036]Excel模板文件通过文件名和与其对应的数据校验模型的模型标识进行匹配。[0038]所述至少一个存储器,用于存储机器可读程序;[0039]所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方[0040]第四方面,本发明的计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一项任一所述的方法。[0042]1、在高并发环境下响应速度快,能快速的对数据进行数据完整性约束检测,通过数据校验模型和Es搜索引擎配合解耦了前端操作和部分业务逻辑的处理,简化了请求的业务处理过程,在根本上提高了请求的响应速度;[0043]2、模型依托于elasticsearch搜索引擎对数据进行快速查询校验,提升模型可靠性和稳定性,在数据的落地上考虑了数据的准确性以及数据库的稳定性,保证了系统使用以及服务提供的高可靠性及高可用性;[0044]3、数据通过集成的POI程序进行数据导入,适配wps,office等多个版本的文件格[0045]4、数据通过excel文件进行数据导入导出,提升可操作性及实现数据可视化处理。7附图说明[0046]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0047]下面结合附图对本发明进一步说明。[0048]图1为实施例1数据导入校验方法的流程框图;[0049]图2为实施例1数据导入校验方法中Es搜索引擎的架构框图[0050]图3为实施例1数据导入校验方法中Excel模板文件的格式示意图;[0051]图4为实施例1数据导入校验方法中约束检测流程框图;[0052]图5为实施例1数据导入校验方法中失败数据的格式示意图。具体实施方式[0053]下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。[0054]本发明实施例提供数据导入校验方法、系统、装置及计算机可读介质,用于解决如何实现数据导入的完整性校验,并提升数据的可靠性和系统可用性的技术问题。[0055]实施例1:[0057]S100、配置基本约束和关联约束,基本约束用于对单表中字段进行约束,关联约束与Es搜索引擎配合,用于基于关联表之间的表结构关系确定所述关联表在Es搜索引擎中的索引关系,并根据索引关系将表数据依序导入Es搜索引擎中;[0058]S200、基于基本约束和管理约束构建数据校验模型,在Es搜索引擎中建立与数据校验模型对应的物理索引,并同步生成与数据校验模型对应的excel模板文件,数据校验模型能够导出excel文件并能够对excel文件保存导入使用,excel模板文件用于填写数据并导入对应的数据校验模型;[0059]S300、将数据填写至excel模板文件,得到待检验excel文件,并将待检验excel文件导入对应的数据校验模型进行基本约束和关联约束,将待检验excel文件中符合约束的excel数据保存至Es搜索引擎,将待检验excel文件中不符合约束的excel数据作为失败数据保存并提示检测失败原因;[0060]S400、将保存于Es搜索引擎中的excle数据插入数据库,将失败数据进行excel导出并进行修正,对修正后识失败数据执行步骤S300-步骤S400。[0061]Es(英文全称:Elasticsearch)搜索引擎(以下简称Es),是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流[0062]Gateway,代表ES索引的持久化存储方式。在Gateway中,ES默认先把索引存储8存中,然后当内存满的时候,再持久化到Gateway里。当ES集群关闭或重启的时候,它就会从[0063]DistributedLuceneDirectory,它是Lucene里的一些列索引文件组成的目录。它负责管理这些索引文件。包括数据的读取、写入,以及索引的添加和合并等。River,代表是数据源。是以插件的形式存在于ES中。[0064]Mapping,映射的意思,非常类似于静态语言中的数据类型。比如我们声明一个int类型的变量,那以后这个变量只能存储int类型的数据。比如我们声明一个double类型的mapping字段,则只能存储double类型的数据。[0065]SearchMoudle,搜索模块,支持搜索的一些常用操作,IndexMoudle,索引模块,支持索引的一些常用操作Disvcovery,主要是负责集群的master节点发现。比如某个节点突然离开或进来的情况,进行一个分片重新分片等。这里有个发现机制。RESTfulStyleAPI,通过RESTful方式来实现API编程,3rdplugins,代表第三方插件。Java(Netty)是开发[0066]对于POI文档导的OLE2复合文档格式(OLE2)处理各种文件格式的开源项目。简而言之,您可以使用Java读写MSExcel文件,可以使用Java读写MSWord和MSPowerPoint文件,分为一下几个模块。[0067]HSSF-提供读写MicrosoftExcelXLS格式(MicrosoftExcel97(-2003))档案的功能。[0068]XSSF—提供读写MicrosoftExcel00XMLXLSX格式(MicrosoftExcelXML)档案的功能。[0069]SXSSF—提供低内存占用量读写MicrosoftExcel00XMLXLSX格式档案的功能。的功能。的功能。[0072]HSLF/XSLF—提供读写MicrosoftPowerPoint格式档案的功能。[0073]HDGF/XDGF—提供读MicrosoftVisio格式档案的功能。[0074]HPBF—提供读MicrosoftPublisher格式档案的功能。[0075]HSMF—提供读MicrosoftOutlook格式档案的功能。[0076]本实施例为建立数据校验模型,需要配置建立基本约束和关联约束,基本数据包括基础约束和内容约束。[0077]基础约束主要是针对单表中单个字段的约束,通过表结构分析,对需要导入的数据表中的字段的基础约束进行提取,包括非空(NOTNULL)约束、唯一(UNIQUE)约束、主键(PRIMARYKEY)约束三大类,这些数据通过连接数据库就可以获取到,不需要人为控制。[0078]内容约束主要是去设置表中字段的内容格式(CHECK),包括时间格式,数字格式,数据范围等。[0079]以上两种约束都是简单的单表约束,在模型中的保存格式为:9表名字段名约束类型约束内容内容内容Check(男,女)内容在Es中的索引,将表数据按照索引关系按照顺序导入es,这样可以实现数据的快速关联查表名字段名关联字段Tablel.idTablel.idTable2.id_model:test_moodel//模型名称id:0a12dla212dfasfd//模型标识_user:admin_date:2021-09-01//时间_remark:test_moodel//描述f_name:id_type:base]_link:[//关联约束{_table:table2_name:biz_id_link:tablel_check:id][0087]步骤S300中,通过poi程序处理对已经填写的excel数据进行导入,导入的过程分11为三个步骤,首先是确定该excel对应的模型,这个目前是通过文件名对应模型id进行匹配。保证导入的excel格式符合模板的要求并且该模型成立,其次是对excel的sheet页进行提取,因为多表情况下需要将数据每个表进行单独分sheet页保存,最后是对数据进行分页提取,保证快速高效的把数据导入到模型中去,Poi能够支持10w+的数据一次性处理,避免数据包过大对模型造成压力。Excel模板的格式如图3所示。[0088]数据校验模型对导入的数据首先进行基础约束和内容约束的检测,检测通过之后再通过es进行关联比对查询,通过关联关系先后进行检验,如果符合要求的就直接进入es里面进行保存,对不符合要求的数据进行保存并提示检测失败的原因,在所有的数据都检测完成之后,将es中检测完整符合要求的进行数据库的数据插入,不符合的数据进行excel导出让操作人整改。具体检测流程图如图4,导出的excel格式如图5所示。[0089]本实施例的方法可应用于政务服务,在数据导入过程中对数据进行智能化检测。[0091]本发明数据导入校验系统,包括约束配置模块、模型构建模块、数据校验模块以及数据入库模块,约束配置模块用于配置基本约束和关联约束,所述基本约束用于对单表中字段进行约束,所述关联约束与Es搜索引擎配合,用于基于关联表之间的表结构关系确定所述关联表在Es搜索引擎中的索引关系,并根据索引关系将表数据依序导入Es搜索引擎中;模型构建模块用于基于基本约束和管理约束构建数据校验模型,在Es搜索引擎中建立与所述数据校验模型对应的物理索引,并同步生成与所述数据校验模型对应的excel模板文件,所述数据校验模型能够导出excel文件并能够对excel文件保存导入使用,所述excel模板文件用于填写数据并导入对应的数据校验模型;数据校验模块用于将数据填写至excel模板文件,得到待检验excel文件,并将待检验excel文件导入对应的数据校验模型进行基本约束和关联约束,将待检验excel文件中符合约束的excel数据保存至Es搜索引擎,将待检验excel文件中不符合约束的excel数据作为失败数据保存并提示检测失败原因;数据入库模块用于将保存于Es搜索引擎中的excle数据插入数据库,将失败数据进行excel导出并进行修正,并对修正后识失败数据导入数据校验模块。[0092]本实施例中基本约束包括基础约束和内容约束,基础约束用于对单表中单个字段进行约束,用于通过表结构分析,对需要导入的数据表中的字段的基础约束进行提取,包括[0093]数据校验模块用于基于POI程序通过如下步骤将待校验excel文件导入对应的数据校验模型:首先是确定该excel对应的模型,这个目前是通过文件名对应模型id进行匹配。保证导入的excel格式符合模板的要求并且该模型成立,其次是对excel的sheet页进行提取,因为多表情况下需要将数据每个表进行单独分sheet页保存,最后是对数据进行分页提取,保证快速高效的把数据导入到模型中去,Poi能够支持10w+的数据一次性处理,避免数据包过大对模型造成压力。[0094]数据校验模块通过数据校验模型对导入的数据首先进行基础约束和内容约束的检测,检测通过之后再通过es进行关联比对查询,通过关联关系先后进行检验,如果符合要求的就直接进入es里面进行保存,对不符合要求的数据进行保存并提示检测失败的原因,在所有的数据都检测完成之后,将es中检测完整符合要求的进行数据库的数据插入,不符合的数据进行excel导出让操作人整改。[0095]本实施例的数据导入校验系统可执行实施例公开的方法,基于数据约束关系对导入数据库的数据进行校验。[0097]本发明的装置,包括:至少一个存储器和至少一个处理器;至少一个存储器,用于存储机器可读程序;至少一个处理器,用于调用所述机器可读程序,执行实施例1公开的方[0099]本发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论