CN109542664A - 基于人工智能的文件校验方法、装置及计算机设备 - Google Patents

基于人工智能的文件校验方法、装置及计算机设备 Download PDF

Info

Publication number
CN109542664A
CN109542664A CN201811527379.6A CN201811527379A CN109542664A CN 109542664 A CN109542664 A CN 109542664A CN 201811527379 A CN201811527379 A CN 201811527379A CN 109542664 A CN109542664 A CN 109542664A
Authority
CN
China
Prior art keywords
node
file
verification
tree
verified
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
Application number
CN201811527379.6A
Other languages
English (en)
Inventor
李远毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811527379.6A priority Critical patent/CN109542664A/zh
Publication of CN109542664A publication Critical patent/CN109542664A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请揭示了基于人工智能的文件校验方法、装置及计算机设备,其中,一种基于人工智能的文件校验方法,包括:在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系;通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则;分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验。本申请的校验规则以配置文件的形式存在,方便根据第一树状结构中对应的节点的数据发生变化更新时实时进行更新。

Description

基于人工智能的文件校验方法、装置及计算机设备
技术领域
本申请涉及到计算机领域,特别是涉及到基于人工智能的文件校验方法、装置及计算机设备。
背景技术
现有保单文件有些具有较长的管理周期,在管理周期过程中,有些数据需要根据投保人和被保险人等的有关信息进行顺应时间改变而变化,保单清单模型也随着业务的变化,会有一些属性校验需要变更,或者新增一些属性校验。而在以前这些校验修改都是硬编码在java代码里面,每次生效都需要发布升级后的版本,也就是对代码进行重新编译升级,然后再加载到虚拟机内才能完成本次修改生效,开发工作量大耗时长,且校验过程中通过人工参与逐步校验。
发明内容
本申请的主要目的为提供一种基于人工智能的文件校验方法,旨在解决校验规则修改时开发工作量大,耗时长的技术问题。
本申请提出一种基于人工智能的文件校验方法,包括:
在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系;
通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则;
根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
优选地,所述在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:
判断所述预关联数据库中是否存在与所述待校验文件的文件类型对应的校验规则模型;
若否,则筛选与所述第一树状结构相似度达到阈值的第一校验规则模型;
生成所述第一校验规则模型的复制文件,并确定所述第一校验规则模型与所述第一树状结构的差异节点信息;
根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中。
优选地,所述差异节点信息包括差异节点的位置信息和/或数据类型,所述根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中的步骤,包括:
根据各所述差异节点的位置信息,在所述第一校验规则模型的复制文件中分别对各所述差异节点进行位置修正,其中所述位置修正包括添加节点或删除节点,使修正后的第一校验规则模型与所述第一树状结构具有相同的树状结构;
接收用户输入的校验配置文件,其中所述校验配置文件包括多个,且分别与各所述差异节点的数据类型一一对应;
将所述校验配置文件以链接的方式与所述差异节点一一对应关联存储于所述预关联数据库中;
根据各所述校验配置文件将所述修正后的第一校验规则模型,更新为与所述第一树状结构对应的校验规则模型。
优选地,所述根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验的步骤,包括:
获取当前待校验节点的数据类型;
根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验;
判断所述当前待校验的节点是否为所述第一树状结构的根节点;
若是根节点,则继续根据预设校验路径对所述当前待校验的节点的下级节点进行校验,其中所述当前待校验的节点的下级节点包括多个,多个所述下级节点从左到右依次排布连接于所述当前待校验的节点,所述预设校验路径包括从最左边的下级节点依次到最右边的下级节点,或从最右边的下级节点依次到最左边的下级节点;
若不是根节点,则判定所述当前待校验的节点为叶子节点,并返回所述叶子节点的上一级根节点;
判断所有根节点的所有下级节点是否均已经过校验;
若均已经过校验,则结束对所述待校验文件的校验。
优选地,所述结束对所述待校验文件的校验的步骤之后,包括:
按照预设规则形成校验报告并输出。
优选地,所述根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验的步骤,包括:
判断所述数据类型是否为多层嵌套数据,其中所述多层嵌套数据包括List类型、Set类型或Array类型;
若是多层嵌套数据,则循环调用对应的校验规则进行逐层循环校验;
若不是多层嵌套数据,则单次调用对应的校验规则进行校验。
优选地,所述待校验文件为农户清单的数据,所述农户清单为包含多列数据的Excel文件,所述在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:
判断是否能获取到所述农户清单的清单信息;其中所述清单信息包括险种大类、农户清单序号以及农户清单对应的机构号;
若能获取到所述农户清单的清单信息,则上传所述农户清单至指定数据库;
判断是否成功上传;
若成功上传,则解析所述Excel文件,分别取出所述Excel文件中每一列数据;
判断解析是否成功完成;
若解析成功完成,则将所述每一列数据按照数据层级顺序依次映射存储于所述第一树状结构的各节点中,形成所述待校验文件。
本申请还提供了一种基于人工智能的文件校验的装置,包括:
第一调取模块,用于在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系;
解析模块,用于通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则;
第二调用模块,用于根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本申请的校验规则以配置文件的形式存在,方便根据第一树状结构中对应的节点的数据发生变化更新时实时进行更新。当第一树状结构中对应的节点的数据发生变化更新时,通过改变配置文件的具体内容实现校验规则的对应更新,在更新配置文件时不需要通过重新编辑代码进行版本升级进行更新,只需在线更改配置文件的内容进行更新,降低升级的开发工作量,提升数据更新时校验规则更新的效率,且在更新配置文件后无需重启系统,更方便数据更新管理。本申请通过按照不同的数据类型分别对应不同节点的形式,将待校验文件集成第一树状结构,而将对应不同数据类型的校验规则也通过分别对应节点的形式集成第二树状结构,第一树状结构和第二树状结构的节点一一对应,以便对应调用校验规则,实现人工智能校验,节省人力并提高校验的效率和准确度。本申请的校验过程从文件最高层级的根节点开始,逐层校验以避免遗漏校验的情况,且避免重复校验等资源浪费的情况,最大限度提高了校验的精准度和效率。
附图说明
图1本申请一实施例的基于人工智能的文件校验方法流程示意图;
图2本申请一实施例的第一树状结构示意图;
图3本申请一实施例的基于人工智能的文件校验装置结构示意图;
图4本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的基于人工智能的文件校验方法,包括:
S1:在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系。
本实施例的待校验文件的文件类型根据文件内的数据类型以及数据分布规则而定,数据类型不同则为不同的文件类型,数据类型相同,但数据分布规则不同也为不同的文件类型。本实施例通过细化文件类型以便根据文件类型精准地匹配对应的校验规则模型。举例地,本实施例的待校验文件中包括A数据类型、B数据类型和C数据类型,上述A数据类型、B数据类型和C数据类型分别对应待校验文件的位置a、位置b和位置c,则待校验文件的校验规则模型中,包括对位置a的A数据类型的校验规则、位置b的B数据类型的校验规则以及位置c的C数据类型的校验规则。本实施例位置a的A数据类型、位置b的B数据类型和位置c的C数据类型通过分别对应节点a、b和c的形式集成第一树状结构,而将位置a的A数据类型的校验规则、位置b的B数据类型的校验规则以及位置c的C数据类型的校验规则,也通过分别对应节点A、B和C的形式集成第二树状结构,节点a、b、c与节点A、B、C一一对应,以便对应调用相应的校验规则,实现人工智能校验,节省人力并提高校验的效率和准确度。本实施例的待校验文件包括用于不同农险种类的农户清单,不同农险种类对应的农户清单的数据类型以及数据分布规则不同,则文件类型也不同。
S2:通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则。
本实施例的第二树状结构中各节点对应的校验规则以配置文件的形式存在,方便根据第一树状结构中对应的节点的数据发生变化更新时实时进行更新。当第一树状结构中对应的节点的数据发生变化更新时,通过改变配置文件的具体内容实现校验规则的对应更新,也在更新配置文件时,不需要通过重新编辑代码进行版本升级进行更新,只需在线更改配置文件的内容进行更新,降低升级的开发工作量以及更新耗时,提升数据更新时校验规则对应更新的效率,且在更新配置文件后无需重启系统,更方便数据更新管理。
S3:根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
本实施例的第一树状结构包括根节点和叶子节点,根节点包括多个,凡是连接有下级节点的节点均为根节点,叶子节点为第一树状结构最底层的节点,叶子节点上未连接下一级节点。本实施例的校验过程从文件最高层级的根节点开始校验,逐层校验以避免遗漏校验的情况,且避免重复校验等资源浪费的情况,最大限度提高了校验的精准度和效率。本实施例的逐层校验指根据节点所处的层级顺序依次校验,比如按照层级顺序从高到低依次校验或从低到高依次校验。本实施例从最高层级的节点到最低层次的节点依次校验,上述最高层级的根节点为寻找不到上一级根节点的节点,最低层级的节点即为各叶子节点。举例地,第一树状结构中包括节点a、b、c、d、e、f、g、h、i、j、k、l、m、n,如图2所示,节点a为最高层级的节点,节点a从左到右依次连接下一层级节点b、c、d,节点b从左到右依次连接下一层级节点e、f,节点c从左到右依次连接下一层级节点g、h,节点d从左到右依次连接下一层级节点i、j、k,节点g从左到右依次连接次下一层级节点l、m、n。从上述第一树状结构中可知,根节点包括节点a、b、c、d、g;叶子节点包括e、f、h、i、j、k、l、m、n。本实施例的校验过程以对上述第一树状结构对应的各节点中的数据进行校验为例,校验从最高层级的节点a开始,逐层校验到各叶子节点。
进一步地,所述在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤S1之前,包括:
S10:判断所述预关联数据库中是否存在与所述待校验文件的文件类型对应的校验规则模型。
本实施例的校验规则模型统一存储于数据库中的指定位置,以便于集中管理和调用,且便于通过调用数据库的指定位置的链接地址直接调用校验规则模型,使调用过程更加方便快捷。
S11:若不存在与所述待校验文件的文件类型对应的校验规则模型,则筛选与所述第一树状结构相似度达到阈值的第一校验规则模型。
本实施例通过在数据库中搜寻历史形成的校验规则模型,以便通过直接调用已存在的历史校验规则模型,直接进行校验,节省了配置文件的编写过程,节省人力物力。本实施例不仅可搜寻与所述待校验文件的文件类型完全对应的历史校验规则模型,也可搜寻满足指定相似度阈值的历史校验规则模型,以最大限度的避免重复工作,提高工作效率。本实施例通过所述待校验文件的文件类型中的数据类型以及数据分布规则,分别与历史校验规则模型中校验规则适用的数据类型以及校验规则的分布规则一一比较,进而判断历史校验规则模型是否与所述待校验文件的文件类型相对应,或计算相似度。本实施例的相似度阈值为90%,即大于等于90%的相似度,即可通过简单二次编写更新配置文件后进行调用或通过简单的调节节点排布位置后进行调用。
S12:生成所述第一校验规则模型的复制文件,并确定所述第一校验规则模型与所述第一树状结构的差异节点信息。
本实施例通过将搜寻到的达到相似度阈值的文件进行复制,然后在复制文件上进行二次编写更新,以形成满足当前待校验文件对应的校验规则模型,相当于对历史校验规则模型进行衍生更新,以便在形成新的校验规则模型的同时,扩充数据库中校验规则模型的数量,以提高通过数据库中的校验规则模型实现人工智能化的自动校验的可实现性以及便利性。本实施例的差异节点信息包括对应节点的数据类型不同,或数据分布规则不同,或数据类型和数据分布规则均不相同,以便根据上述差异节点信息有针对性地进行调整,提高更新校验规则模型的效率。
S13:根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中。
本实施例的复制文件的命名包括原文件名称和更新日期,以便对更新形成的校验规则模型进行搜寻与比较,同时可区分通过二次编写更新的校验规则模型以及原始编写的校验规则模型,以便有关人员进行管理数据库中的校验规则模型,并方便掌握校验规则模型的变化过程,便于纠错或数据参考。
进一步地,所述差异节点信息包括差异节点的位置信息和/或数据类型,所述根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中的步骤S13,包括:
S130:根据各所述差异节点的位置信息,在所述第一校验规则模型的复制文件中分别对各所述差异节点进行位置修正,其中所述位置修正包括添加节点或删除节点,使修正后的第一校验规则模型与所述第一树状结构具有相同的树状结构。
本实施例的差异节点包括节点对应的数据分布规则中的相对位置、节点内的数据类型。若数据分布规则中的相对位置不同,比如修正前第一校验规则模型与第一树状结构相比,对应位置不存在对应的节点,则通过在对应位置处添加相应的节点;再比如对应位置存在多余的节点,则删除。通过位置修正使修正后的第一校验规则模型对应的树状结构,与第一树状结构具有相同的节点分布状态。
S131:接收用户输入的校验配置文件,其中所述校验配置文件包括多个,且分别与各所述差异节点的数据类型一一对应。
本实施例修正前第一校验规则模型与第一树状结构相比,差异节点对应的数据类型也不同,则可通过接收用户根据当前待校验的文件对应的节点数据类型更改或重新输入校验规则模型中对应的配置文件,使修正后的第一校验规则模型对应的校验规则与第一树状结构的节点数据类型一一对应。
S132:将所述校验配置文件以链接的方式与所述差异节点一一对应关联存储于所述预关联数据库中。
本实施例通过将更新的校验配置文件以链接的方式存储于所述预关联数据库中,以方便调用,且同时降低数据库的内存占用率。
S133:根据各所述校验配置文件将所述修正后的第一校验规则模型,更新为与所述第一树状结构对应的校验规则模型。
本实施例通过更新配置文件实现校验规则模型的版本升级,因为配置文件不是硬编码到代码里面的,直接通过修改配置文件更新校验规则,从而更新包含多个校验规则的校验规则模型,可以做到不重启系统服务。本实施例通过配置文件实现的是动态更新校验规则,直接修改配置文件就可以更改校验规则模型,对系统服务的影响范围小。
进一步地,所述根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验的步骤S3,包括:
S30:获取当前待校验节点的数据类型。
本实施例的数据类型包括数字、文字、字符、数组等。
S31:根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验。
比如数字和数组可调用正则表达式表示的校验规则,不同数字和数组结构对应的正则表达式的具体表示方式也不同,通过更改正则表达式的表达方式,能实现校验几乎所有数据类型的格式属性。但是对于一些业务相关的数据则无法通过正则表达式进行校验。例如,身份证的格式属性是否正确可以使用正则表达式,但判断清单内的身份证是否重复,则需要调用其他校验规则进行校验。
S32:判断所述当前待校验的节点是否为所述第一树状结构的根节点。
S320:若是根节点,则继续根据预设校验路径对所述当前待校验的节点的下级节点进行校验,其中所述当前待校验的节点的下级节点包括多个,多个所述下级节点从左到右依次排布连接于所述当前待校验的节点,所述预设校验路径包括从最左边的下级节点依次到最右边的下级节点,或从最右边的下级节点依次到最左边的下级节点。
本实施例中同一根节点的下级节点由多个时,可设定校验顺序,提高校验的有序性、提高效率且防遗漏或重复。
S33:若不是根节点,则判定所述当前待校验的节点为叶子节点,并返回所述叶子节点的上一级根节点。
S34:判断所有根节点的所有下级节点是否均已经过校验。
S35:若均已经过校验,则结束对所述待校验文件的校验。
本实施例在自动校验过程中,会按照预设的校验路径依次校验,比如从最高层级的节点依次逐层到最低层级的节点对应的校验路径。因下级节点的校验有时需要调取上级节点的赋值,所以本实施的校验从最高层级的节点向最低层级的节点逐层进行校验,以保障自动校验的顺利进行。本实施例当前校验的为一根节点,会将该根节点以及与该根节点相连的所有下级节点依次校验完,直到校验完该根节点对应的叶子节点,在重新回到该根节点,选择与该根节点具有相同的上级节点的同层级节点继续进行校验,如此依次进行,提高自动校验的次序性和遍历性,提高校验效率且防遗漏。举例地,参照图2,本实施例的校验路径为:节点a->b->e->f,然后返回节点a,再按照a->c->g->l->m->n->h,然后返回节点a,再按照a->d->g->i->j->k,则完成所有节点的校验。当所有的叶子节点均已校验完成,则说明所有节点均已校验完毕,则结束校验。
进一步地,所述结束对所述待校验文件的校验的步骤S35之后,包括:
S36:按照预设规则形成校验报告并输出。
本实施例可根据用户预先选择的校验报告模板,将校验结果导入到上述校验模板中形成校验报告,以满足用户的查寻文件的不同习惯需求。上述校验报告中包括校验成功或校验失败的状态信息以及失败的原因等。上述校验报告模板包括按照校验的时间顺序排布校验结果,或根据校验结果的类别进行优先排布指定信息,比如优先排布校验失败的校验结果以及校验失败的原因等。
进一步地,所述根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验的步骤S31,包括:
S310:判断所述数据类型是否为多层嵌套数据,其中所述多层嵌套数据包括List类型、Set类型或Array类型。
本实施例的多层套嵌结构,包括表格套嵌表格、数组套嵌数组等套嵌结构,需要逐层拆分套嵌结构后获得对应的数据。以JsonArray为例,Json格式中不区分整数、小数等类型,而统一使用Number来存储数字;Jsonobiect表示对象,类似于C语言中的结构体,以花括号"{}"括起来,其元素要求为键值对,包括Key和Value,Key必须为String类型,而Value则可为任意类型。Key和Value之间以":"表示映射关系,元素之间也以逗号分隔。JsonArray类型为多个Jsonobiect类型数据组成的数组,使用中括号包裹,中括号里面为Jsonobiect类型,例如:[{"address":"北京市西城区","age":"23","name":"JSON"},{"address":"北京市东城区","age":"24","name":"JSON"}],上述JsonArray包括两个Jsonobiect类型的数据,即两层套嵌结构数据。
S311:若是多层嵌套数据,则循环调用对应的校验规则进行逐层循环校验。
本实施例中第一树状结构对应的节点数据为多层嵌套数据时,对该节点进行校验时,需要多次循环的调用对应的校验规则,以便对多层嵌套数据的每个数据进行校验,提高校验的全面性和准确性。本实施例可通过获取多层嵌套数据的结构参数,比如层级数等,设定自动调用对应校验规则的次数,实现对多层嵌套数据的自动校验。
S312:若不是多层嵌套数据,则单次调用对应的校验规则进行校验。
本实施例对于单层数据结构的,默认调用一次校验规则进行校验,以提高自动校验的效率。当校验报告中显示校验失败需要进行校验验证时,可通过重新调用一次校验规则进行校验验证。
进一步地,所述待校验文件为农户清单的数据,所述农户清单为包含多列数据的Excel文件,所述根据待校验文件的文件类型在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤S1之前,包括:
S101:判断是否能获取到所述农户清单的清单信息;其中所述清单信息包括险种大类、农户清单序号以及农户清单对应的机构号。
本实施例以自动校验农户清单为例,进行具体说明基于人工智能的文件校验方法的具体应用。本实施例的农户清单为包含多列数据的Excel文件,在自动校验前,需先将上述Excel文件转换成对应的树形结构,才能通过调用对应树形结构的校验规则模型实现自动校验。本实施例为确保自动校验的有效性,先确定农户清单为有效清单,即能获取到对应的清单信息,包括险种大类、农户清单序号以及农户清单对应的机构号等基本信息。
S102:若能获取到所述农户清单的清单信息,则上传所述农户清单至指定数据库。
本实施例中对农户清单进行自动校验前需先将清单信息上传至指定数据库,以便统一管理,且对有效农户清单通过筛选到数据库中进而于无效农户清单进行区分,以避免自动校验中做无用功且增加校验过程中的故障系数。本实施例先将待校验的农户清单筛选入指定数据库,然后通过调用指定数据库实现多个有效农户清单依次进行自主校验的过程。
S103:判断是否成功上传。
通过判断是否接收到上传成功的回执,来确定是否成功上传,接收到回执成功上传,否则上传失败。
S104:若成功上传,则解析所述Excel文件,分别取出所述Excel文件中每一列数据。
本实施例将Excel文件转换成对应的树形结构时,通过解析Excel文件,分别取出所述Excel文件中每一列数据,然后将每一列数据分别对到树形结构的各个节点。
S105:判断解析是否成功完成。
通过判断是否接收到解析完成的通知确定是否解析完成,或通过比较树形结构的所有节点的数据是否包括Excel文件中所有的数据,若全包括或一一对应,则解析已成功完成。
S106:若解析成功完成,则将所述每一列数据按照数据层级顺序依次映射存储于所述第一树状结构的各节点中,形成所述待校验文件。
本实施例以Contract DTO中的农户清单为例,Contract DTO的农户清单的Excel文件如下:
通过解析上述Excel文件,形成的第一树状结构的待校验文件如下:最高层级根节点为Contract DTO,Contract DTO对应的下级节点有三个,分别为BaseInfoDTO、SaleDTO和List<PayInfoDTO>;BaseInfoDTO对应的下级节点有三个,分别为dataSource、status和policyNo;SaleDTO对应的下级节点有三个,分别为name、sex和EmployeeDTO,其中EmployeeDTO对应的下级节点有两个,分别为employeeCode和employeeName;List<PayInfoDTO>对应的下级节点有三个,分别为bankAccountNo、bankCode和List<PayplanInfoDTO>,其中List<PayplanInfoDTO>对应的下级节点有两个,分别为planCode和payInfold。上述待校验文件中List<PayplanInfoDTO>和List<PayInfoDTO>均为List类型的多层嵌套数据。
参照图3,本申请一实施例的基于人工智能的文件校验装置,包括:
第一调取模块1,用于在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系。
本实施例的待校验文件的文件类型根据文件内的数据类型以及数据分布规则而定,数据类型不同则为不同的文件类型,数据类型相同,但数据分布规则不同也为不同的文件类型。本实施例通过细化文件类型以便根据文件类型精准地匹配对应的校验规则模型。举例地,本实施例的待校验文件中包括A数据类型、B数据类型和C数据类型,上述A数据类型、B数据类型和C数据类型分别对应待校验文件的位置a、位置b和位置c,则待校验文件的校验规则模型中,包括对位置a的A数据类型的校验规则、位置b的B数据类型的校验规则以及位置c的C数据类型的校验规则。本实施例位置a的A数据类型、位置b的B数据类型和位置c的C数据类型通过分别对应节点a、b和c的形式集成第一树状结构,而将位置a的A数据类型的校验规则、位置b的B数据类型的校验规则以及位置c的C数据类型的校验规则,也通过分别对应节点A、B和C的形式集成第二树状结构,节点a、b、c与节点A、B、C一一对应,以便对应调用相应的校验规则,实现人工智能校验,节省人力并提高校验的效率和准确度。本实施例的待校验文件包括用于不同农险种类的农户清单,不同农险种类对应的农户清单的数据类型以及数据分布规则不同,则文件类型也不同。
解析模块2,用于通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则。
本实施例的第二树状结构中各节点对应的校验规则以配置文件的形式存在,方便根据第一树状结构中对应的节点的数据发生变化更新时实时进行更新。当第一树状结构中对应的节点的数据发生变化更新时,通过改变配置文件的具体内容实现校验规则的对应更新,也在更新配置文件时,不需要通过重新编辑代码进行版本升级进行更新,只需在线更改配置文件的内容进行更新,降低升级的开发工作量以及更新耗时,提升数据更新时校验规则对应更新的效率,且在更新配置文件后无需重启系统,更方便数据更新管理。
第二调用模块3,用于根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
本实施例的第一树状结构包括根节点和叶子节点,根节点包括多个,凡是连接有下级节点的节点均为根节点,叶子节点为第一树状结构最底层的节点,叶子节点上未连接下一级节点。本实施例的校验过程从文件最高层级的根节点开始校验,逐层校验以避免遗漏校验的情况,且避免重复校验等资源浪费的情况,最大限度提高了校验的精准度和效率。本实施例的逐层校验指根据节点所处的层级顺序依次校验,比如按照层级顺序从高到低依次校验或从低到高依次校验。本实施例从最高层级的节点到最低层次的节点依次校验,上述最高层级的根节点为寻找不到上一级根节点的节点,最低层级的节点即为各叶子节点。举例地,第一树状结构中包括节点a、b、c、d、e、f、g、h、i、j、k、l、m、n,如图2所示,节点a为最高层级的节点,节点a从左到右依次连接下一层级节点b、c、d,节点b从左到右依次连接下一层级节点e、f,节点c从左到右依次连接下一层级节点g、h,节点d从左到右依次连接下一层级节点i、j、k,节点g从左到右依次连接次下一层级节点l、m、n。从上述第一树状结构中可知,根节点包括节点a、b、c、d、g;叶子节点包括e、f、h、i、j、k、l、m、n。本实施例的校验过程以对上述第一树状结构对应的各节点中的数据进行校验为例,校验从最高层级的节点a开始,逐层校验到各叶子节点。
进一步地,本实施例的基于人工智能的文件校验装置,包括:
第一判断模块,用于判断所述预关联数据库中是否存在与所述待校验文件的文件类型对应的校验规则模型。
本实施例的校验规则模型统一存储于数据库中的指定位置,以便于集中管理和调用,且便于通过调用数据库的指定位置的链接地址直接调用校验规则模型,使调用过程更加方便快捷。
筛选模块,用于若不存在与所述待校验文件的文件类型对应的校验规则模型,则筛选与所述第一树状结构相似度达到阈值的第一校验规则模型。
本实施例通过在数据库中搜寻历史形成的校验规则模型,以便通过直接调用已存在的历史校验规则模型,直接进行校验,节省了配置文件的编写过程,节省人力物力。本实施例不仅可搜寻与所述待校验文件的文件类型完全对应的历史校验规则模型,也可搜寻满足指定相似度阈值的历史校验规则模型,以最大限度的避免重复工作,提高工作效率。本实施例通过所述待校验文件的文件类型中的数据类型以及数据分布规则,分别与历史校验规则模型中校验规则适用的数据类型以及校验规则的分布规则一一比较,进而判断历史校验规则模型是否与所述待校验文件的文件类型相对应,或计算相似度。本实施例的相似度阈值为90%,即大于等于90%的相似度,即可通过简单二次编写更新配置文件后进行调用或通过简单的调节节点排布位置后进行调用。
生成模块,用于生成所述第一校验规则模型的复制文件,并确定所述第一校验规则模型与所述第一树状结构的差异节点信息。
本实施例通过将搜寻到的达到相似度阈值的文件进行复制,然后在复制文件上进行二次编写更新,以形成满足当前待校验文件对应的校验规则模型,相当于对历史校验规则模型进行衍生更新,以便在形成新的校验规则模型的同时,扩充数据库中校验规则模型的数量,以提高通过数据库中的校验规则模型实现人工智能化的自动校验的可实现性以及便利性。本实施例的差异节点信息包括对应节点的数据类型不同,或数据分布规则不同,或数据类型和数据分布规则均不相同,以便根据上述差异节点信息有针对性地进行调整,提高更新校验规则模型的效率。
更新模块,用于根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中。
本实施例的复制文件的命名包括原文件名称和更新日期,以便对更新形成的校验规则模型进行搜寻与比较,同时可区分通过二次编写更新的校验规则模型以及原始编写的校验规则模型,以便有关人员进行管理数据库中的校验规则模型,并方便掌握校验规则模型的变化过程,便于纠错或数据参考。
进一步地,所述更新模块,包括:
复制单元,用于根据各所述差异节点的位置信息,在所述第一校验规则模型的复制文件中分别对各所述差异节点进行位置修正,其中所述位置修正包括添加节点或删除节点,使修正后的第一校验规则模型与所述第一树状结构具有相同的树状结构。
本实施例的差异节点包括节点对应的数据分布规则中的相对位置、节点内的数据类型。若数据分布规则中的相对位置不同,比如修正前第一校验规则模型与第一树状结构相比,对应位置不存在对应的节点,则通过在对应位置处添加相应的节点;再比如对应位置存在多余的节点,则删除。通过位置修正使修正后的第一校验规则模型对应的树状结构,与第一树状结构具有相同的节点分布状态。
接收单元,用于接收用户输入的校验配置文件,其中所述校验配置文件包括多个,且分别与各所述差异节点的数据类型一一对应。
本实施例修正前第一校验规则模型与第一树状结构相比,差异节点对应的数据类型也不同,则可通过接收用户根据当前待校验的文件对应的节点数据类型更改或重新输入校验规则模型中对应的配置文件,使修正后的第一校验规则模型对应的校验规则与第一树状结构的节点数据类型一一对应。
存储单元,用于将所述校验配置文件以链接的方式与所述差异节点一一对应关联存储于所述预关联数据库中。
本实施例通过将更新的校验配置文件以链接的方式存储于所述预关联数据库中,以方便调用,且同时降低数据库的内存占用率。
更新单元,用于根据各所述校验配置文件将所述修正后的第一校验规则模型,更新为与所述第一树状结构对应的校验规则模型。
本实施例通过更新配置文件实现校验规则模型的版本升级,因为配置文件不是硬编码到代码里面的,直接通过修改配置文件更新校验规则,从而更新包含多个校验规则的校验规则模型,可以做到不重启系统服务。本实施例通过配置文件实现的是动态更新校验规则,直接修改配置文件就可以更改校验规则模型,对系统服务的影响范围小。
进一步地,本实施例的第二调用模块3,包括:
获取单元,用于获取当前待校验节点的数据类型。
本实施例的数据类型包括数字、文字、字符、数组等。
第一校验单元,用于根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验。
比如数字和数组可调用正则表达式表示的校验规则,不同数字和数组结构对应的正则表达式的具体表示方式也不同,通过更改正则表达式的表达方式,能实现校验几乎所有数据类型的格式属性。但是对于一些业务相关的数据则无法通过正则表达式进行校验。例如,身份证的格式属性是否正确可以使用正则表达式,但判断清单内的身份证是否重复,则需要调用其他校验规则进行校验。
第一判断单元,用于判断所述当前待校验的节点是否为所述第一树状结构的根节点。
第二校验单元,用于若当前待校验的节点为所述第一树状结构的根节点,则继续根据预设校验路径对所述当前待校验的节点的下级节点进行校验,其中所述当前待校验的节点的下级节点包括多个,多个所述下级节点从左到右依次排布连接于所述当前待校验的节点,所述预设校验路径包括从最左边的下级节点依次到最右边的下级节点,或从最右边的下级节点依次到最左边的下级节点。
本实施例中同一根节点的下级节点由多个时,可设定校验顺序,提高校验的有序性、提高效率且防遗漏或重复。
判定单元,用于若当前待校验的节点不是所述第一树状结构的根节点,则判定所述当前待校验的节点为叶子节点,并返回所述叶子节点的上一级根节点。
第二判断单元,用于判断所有根节点的所有下级节点是否均已经过校验。
结束单元,用于若均已经过校验,则结束对所述待校验文件的校验。
本实施例在自动校验过程中,会按照预设的校验路径依次校验,比如从最高层级的节点依次逐层到最低层级的节点对应的校验路径。因下级节点的校验有时需要调取上级节点的赋值,所以本实施的校验从最高层级的节点向最低层级的节点逐层进行校验,以保障自动校验的顺利进行。本实施例当前校验的为一根节点,会将该根节点以及与该根节点相连的所有下级节点依次校验完,直到校验完该根节点对应的叶子节点,在重新回到该根节点,选择与该根节点具有相同的上级节点的同层级节点继续进行校验,如此依次进行,提高自动校验的次序性和遍历性,提高校验效率且防遗漏。举例地,参照图2,本实施例的校验路径为:节点a->b->e->f,然后返回节点a,再按照a->c->g->l->m->n->h,然后返回节点a,再按照a->d->g->i->j->k,则完成所有节点的校验。当所有的叶子节点均已校验完成,则说明所有节点均已校验完毕,则结束校验。
进一步地,本申请另一实施例的第二调用模块3,包括:
形成单元,用于按照预设规则形成校验报告并输出。
本实施例可根据用户预先选择的校验报告模板,将校验结果导入到上述校验模板中形成校验报告,以满足用户的查寻文件的不同习惯需求。上述校验报告中包括校验成功或校验失败的状态信息以及失败的原因等。上述校验报告模板包括按照校验的时间顺序排布校验结果,或根据校验结果的类别进行优先排布指定信息,比如优先排布校验失败的校验结果以及校验失败的原因等。
进一步地,所述第一校验单元,包括:
判断子单元,用于判断所述数据类型是否为多层嵌套数据,其中所述多层嵌套数据包括List类型、Set类型或Array类型。
本实施例的多层套嵌结构,包括表格套嵌表格、数组套嵌数组等套嵌结构,需要逐层拆分套嵌结构后获得对应的数据。以JsonArray为例,Json格式中不区分整数、小数等类型,而统一使用Number来存储数字;Jsonobiect表示对象,类似于C语言中的结构体,以花括号"{}"括起来,其元素要求为键值对,包括Key和Value,Key必须为String类型,而Value则可为任意类型。Key和Value之间以":"表示映射关系,元素之间也以逗号分隔。JsonArray类型为多个Jsonobiect类型数据组成的数组,使用中括号包裹,中括号里面为Jsonobiect类型,例如:[{"address":"北京市西城区","age":"23","name":"JSON"},{"address":"北京市东城区","age":"24","name":"JSON"}],上述JsonArray包括两个Jsonobiect类型的数据,即两层套嵌结构数据。
循环调用子单元,用于若是多层嵌套数据,则循环调用对应的校验规则进行逐层循环校验。
本实施例中第一树状结构对应的节点数据为多层嵌套数据时,对该节点进行校验时,需要多次循环的调用对应的校验规则,以便对多层嵌套数据的每个数据进行校验,提高校验的全面性和准确性。本实施例可通过获取多层嵌套数据的结构参数,比如层级数等,设定自动调用对应校验规则的次数,实现对多层嵌套数据的自动校验。
单次调用子单元,用于若不是多层嵌套数据,则单次调用对应的校验规则进行校验。
本实施例对于单层数据结构的,默认调用一次校验规则进行校验,以提高自动校验的效率。当校验报告中显示校验失败需要进行校验验证时,可通过重新调用一次校验规则进行校验验证。
进一步地,所述待校验文件为农户清单的数据,所述农户清单为包含多列数据的Excel文件,本申请再一实施例的基于人工智能的文件校验装置,包括:
第二判断模块,用于判断是否能获取到所述农户清单的清单信息;其中所述清单信息包括险种大类、农户清单序号以及农户清单对应的机构号。
本实施例以自动校验农户清单为例进行具体说明基于人工智能的文件校验方法的具体应用。本实施例的农户清单为包含多列数据的Excel文件,在自动校验前,需先将上述Excel文件转换成对应的树形结构,才能通过调用对应树形结构的校验规则模型实现自动校验。本实施例为确保自动校验的有效性,先确定农户清单为有效清单,即能获取到对应的清单信息,包括险种大类、农户清单序号以及农户清单对应的机构号等基本信息。
上传模块,用于若能获取到所述农户清单的清单信息,则上传所述农户清单至指定数据库。
本实施例中对农户清单进行自动校验前需先将清单信息上传至指定数据库,以便统一管理,且对有效农户清单通过筛选到数据库中进而于无效农户清单进行区分,以避免自动校验中做无用功且增加校验过程中的故障系数。本实施例先将待校验的农户清单筛选入指定数据库,然后通过调用指定数据库实现多个有效农户清单依次进行自主校验的过程。
第三判断模块,用于判断是否成功上传。
通过判断是否接收到上传成功的回执,来确定是否成功上传,接收到回执成功上传,否则上传失败。
解析模块,用于若成功上传,则解析所述Excel文件,分别取出所述Excel文件中每一列数据。
本实施例将Excel文件转换成对应的树形结构时,通过解析Excel文件,分别取出所述Excel文件中每一列数据,然后将每一列数据分别对到树形结构的各个节点。
第四判断模块,用于判断解析是否成功完成。
通过判断是否接收到解析完成的通知确定是否解析完成,或通过比较树形结构的所有节点的数据是否包括Excel文件中所有的数据,若全包括或一一对应,则解析已成功完成。
映射模块,用于若解析成功完成,则将所述每一列数据按照数据层级顺序依次映射存储于所述第一树状结构的各节点中,形成所述待校验文件。
本实施例以Contract DTO中的农户清单为例,Contract DTO的农户清单的Excel文件如下:
通过解析上述Excel文件,形成的第一树状结构的待校验文件如下:最高层级根节点为Contract DTO,Contract DTO对应的下级节点有三个,分别为BaseInfoDTO、SaleDTO和List<PayInfoDTO>;BaseInfoDTO对应的下级节点有三个,分别为dataSource、status和policyNo;SaleDTO对应的下级节点有三个,分别为name、sex和EmployeeDTO,其中EmployeeDTO对应的下级节点有两个,分别为employeeCode和employeeName;List<PayInfoDTO>对应的下级节点有三个,分别为bankAccountNo、bankCode和List<PayplanInfoDTO>,其中List<PayplanInfoDTO>对应的下级节点有两个,分别为planCode和payInfold。上述待校验文件中List<PayplanInfoDTO>和List<PayInfoDTO>均为List类型的多层嵌套数据。
参照图4,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于人工智能的文件校验过程需要的所有数据。该计算机设备的网络接口用于与外部的端通过网络连接通信。该计算机程序被处理器执行时以实现基于人工智能的文件校验方法。
上述处理器执行上述基于人工智能的文件校验方法,包括:在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系;通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则;根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
上述计算机设备,将校验规则以配置文件的形式存在,方便根据第一树状结构中对应的节点的数据发生变化更新时实时进行更新。当第一树状结构中对应的节点的数据发生变化更新时,通过改变配置文件的具体内容实现校验规则的对应更新,在更新配置文件时不需要通过重新编辑代码进行版本升级进行更新,只需在线更改配置文件的内容进行更新,降低升级的开发工作量,提升数据更新时校验规则更新的效率,且在更新配置文件后无需重启系统,更方便数据更新管理。通过按照不同的数据类型分别对应不同节点的形式,将待校验文件集成第一树状结构,而将对应不同数据类型的校验规则也通过分别对应节点的形式集成第二树状结构,第一树状结构和第二树状结构的节点一一对应,以便对应调用校验规则,实现人工智能校验,节省人力并提高校验的效率和准确度。校验过程从文件最高层级的根节点开始,逐层校验以避免遗漏校验的情况,且避免重复校验等资源浪费的情况,最大限度提高了校验的精准度和效率。
在一个实施例中,上述处理器在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:判断所述预关联数据库中是否存在与所述待校验文件的文件类型对应的校验规则模型;若否,则筛选与所述第一树状结构相似度达到阈值的第一校验规则模型;生成所述第一校验规则模型的复制文件,并确定所述第一校验规则模型与所述第一树状结构的差异节点信息;根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中。
在一个实施例中,所述差异节点信息包括差异节点的位置信息和/或数据类型,上述处理器根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中的步骤,包括:根据各所述差异节点的位置信息,在所述第一校验规则模型的复制文件中分别对各所述差异节点进行位置修正,其中所述位置修正包括添加节点或删除节点,使修正后的第一校验规则模型与所述第一树状结构具有相同的树状结构;接收用户输入的校验配置文件,其中所述校验配置文件包括多个,且分别与各所述差异节点的数据类型一一对应;将所述校验配置文件以链接的方式与所述差异节点一一对应关联存储于所述预关联数据库中;根据各所述校验配置文件将所述修正后的第一校验规则模型,更新为与所述第一树状结构对应的校验规则模型。
在一个实施例中,上述处理器根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验的步骤,包括:获取当前待校验节点的数据类型;根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验;判断所述当前待校验的节点是否为所述第一树状结构的根节点;若是根节点,则继续根据预设校验路径对所述当前待校验的节点的下级节点进行校验,其中所述当前待校验的节点的下级节点包括多个,多个所述下级节点从左到右依次排布连接于所述当前待校验的节点,所述预设校验路径包括从最左边的下级节点依次到最右边的下级节点,或从最右边的下级节点依次到最左边的下级节点;若不是根节点,则判定所述当前待校验的节点为叶子节点,并返回所述叶子节点的上一级根节点;判断所有根节点的所有下级节点是否均已经过校验;若均已经过校验,则结束对所述待校验文件的校验。
在一个实施例中,上述处理器结束对所述待校验文件的校验的步骤之后,包括:按照预设规则形成校验报告并输出。
在一个实施例中,上述处理器根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验的步骤,包括:判断所述数据类型是否为多层嵌套数据,其中所述多层嵌套数据包括List类型、Set类型或Array类型;若是多层嵌套数据,则循环调用对应的校验规则进行逐层循环校验;若不是多层嵌套数据,则单次调用对应的校验规则进行校验。
在一个实施例中,所述待校验文件为农户清单的数据,所述农户清单为包含多列数据的Excel文件,上述处理器在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:判断是否能获取到所述农户清单的清单信息;其中所述清单信息包括险种大类、农户清单序号以及农户清单对应的机构号;若能获取到所述农户清单的清单信息,则上传所述农户清单至指定数据库;判断是否成功上传;若成功上传,则解析所述Excel文件,分别取出所述Excel文件中每一列数据;判断解析是否成功完成;若解析成功完成,则将所述每一列数据按照数据层级顺序依次映射存储于所述第一树状结构的各节点中,形成所述待校验文件。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于人工智能的文件校验方法,包括:在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系;通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则;根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
上述计算机可读存储介质,将校验规则以配置文件的形式存在,方便根据第一树状结构中对应的节点的数据发生变化更新时实时进行更新。当第一树状结构中对应的节点的数据发生变化更新时,通过改变配置文件的具体内容实现校验规则的对应更新,在更新配置文件时不需要通过重新编辑代码进行版本升级进行更新,只需在线更改配置文件的内容进行更新,降低升级的开发工作量,提升数据更新时校验规则更新的效率,且在更新配置文件后无需重启系统,更方便数据更新管理。通过按照不同的数据类型分别对应不同节点的形式,将待校验文件集成第一树状结构,而将对应不同数据类型的校验规则也通过分别对应节点的形式集成第二树状结构,第一树状结构和第二树状结构的节点一一对应,以便对应调用校验规则,实现人工智能校验,节省人力并提高校验的效率和准确度。校验过程从文件最高层级的根节点开始,逐层校验以避免遗漏校验的情况,且避免重复校验等资源浪费的情况,最大限度提高了校验的精准度和效率。
在一个实施例中,上述处理器在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:判断所述预关联数据库中是否存在与所述待校验文件的文件类型对应的校验规则模型;若否,则筛选与所述第一树状结构相似度达到阈值的第一校验规则模型;生成所述第一校验规则模型的复制文件,并确定所述第一校验规则模型与所述第一树状结构的差异节点信息;根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中。
在一个实施例中,所述差异节点信息包括差异节点的位置信息和/或数据类型,上述处理器根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中的步骤,包括:根据各所述差异节点的位置信息,在所述第一校验规则模型的复制文件中分别对各所述差异节点进行位置修正,其中所述位置修正包括添加节点或删除节点,使修正后的第一校验规则模型与所述第一树状结构具有相同的树状结构;接收用户输入的校验配置文件,其中所述校验配置文件包括多个,且分别与各所述差异节点的数据类型一一对应;将所述校验配置文件以链接的方式与所述差异节点一一对应关联存储于所述预关联数据库中;根据各所述校验配置文件将所述修正后的第一校验规则模型,更新为与所述第一树状结构对应的校验规则模型。
在一个实施例中,上述处理器根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验的步骤,包括:获取当前待校验节点的数据类型;根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验;判断所述当前待校验的节点是否为所述第一树状结构的根节点;若是根节点,则继续根据预设校验路径对所述当前待校验的节点的下级节点进行校验,其中所述当前待校验的节点的下级节点包括多个,多个所述下级节点从左到右依次排布连接于所述当前待校验的节点,所述预设校验路径包括从最左边的下级节点依次到最右边的下级节点,或从最右边的下级节点依次到最左边的下级节点;若不是根节点,则判定所述当前待校验的节点为叶子节点,并返回所述叶子节点的上一级根节点;判断所有根节点的所有下级节点是否均已经过校验;若均已经过校验,则结束对所述待校验文件的校验。
在一个实施例中,上述处理器结束对所述待校验文件的校验的步骤之后,包括:按照预设规则形成校验报告并输出。
在一个实施例中,上述处理器根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验的步骤,包括:判断所述数据类型是否为多层嵌套数据,其中所述多层嵌套数据包括List类型、Set类型或Array类型;若是多层嵌套数据,则循环调用对应的校验规则进行逐层循环校验;若不是多层嵌套数据,则单次调用对应的校验规则进行校验。
在一个实施例中,所述待校验文件为农户清单的数据,所述农户清单为包含多列数据的Excel文件,上述处理器在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:判断是否能获取到所述农户清单的清单信息;其中所述清单信息包括险种大类、农户清单序号以及农户清单对应的机构号;若能获取到所述农户清单的清单信息,则上传所述农户清单至指定数据库;判断是否成功上传;若成功上传,则解析所述Excel文件,分别取出所述Excel文件中每一列数据;判断解析是否成功完成;若解析成功完成,则将所述每一列数据按照数据层级顺序依次映射存储于所述第一树状结构的各节点中,形成所述待校验文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于人工智能的文件校验方法,其特征在于,包括:
在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系;
通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则;
根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
2.根据权利要求1所述的基于人工智能的文件校验方法,其特征在于,所述在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:
判断所述预关联数据库中是否存在与所述待校验文件的文件类型对应的校验规则模型;
若否,则筛选与所述第一树状结构相似度达到阈值的第一校验规则模型;
生成所述第一校验规则模型的复制文件,并确定所述第一校验规则模型与所述第一树状结构的差异节点信息;
根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中。
3.根据权利要求2所述的基于人工智能的文件校验方法,其特征在于,所述差异节点信息包括差异节点的位置信息和/或数据类型,所述根据所述差异节点信息,将所述第一校验规则模型的复制文件更新为与所述第一树状结构对应的校验规则模型,并存储于所述预关联数据库中的步骤,包括:
根据各所述差异节点的位置信息,在所述第一校验规则模型的复制文件中分别对各所述差异节点进行位置修正,其中所述位置修正包括添加节点或删除节点,使修正后的第一校验规则模型与所述第一树状结构具有相同的树状结构;
接收用户输入的校验配置文件,其中所述校验配置文件包括多个,且分别与各所述差异节点的数据类型一一对应;
将所述校验配置文件以链接的方式与所述差异节点一一对应关联存储于所述预关联数据库中;
根据各所述校验配置文件将所述修正后的第一校验规则模型,更新为与所述第一树状结构对应的校验规则模型。
4.根据权利要求1所述的基于人工智能的文件校验方法,其特征在于,所述根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构的各节点的自动校验的步骤,包括:
获取当前待校验节点的数据类型;
根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验;
判断所述当前待校验的节点是否为所述第一树状结构的根节点;
若是根节点,则继续根据预设校验路径对所述当前待校验的节点的下级节点进行校验,其中所述当前待校验的节点的下级节点包括多个,多个所述下级节点从左到右依次排布连接于所述当前待校验的节点,所述预设校验路径包括从最左边的下级节点依次到最右边的下级节点,或从最右边的下级节点依次到最左边的下级节点;
若不是根节点,则判定所述当前待校验的节点为叶子节点,并返回所述叶子节点的上一级根节点;
判断所有根节点的所有下级节点是否均已经过校验;
若均已经过校验,则结束对所述待校验文件的校验。
5.根据权利要求4所述的基于人工智能的文件校验方法,其特征在于,所述结束对所述待校验文件的校验的步骤之后,包括:
按照预设规则形成校验报告并输出。
6.根据权利要求4所述的基于人工智能的文件校验方法,其特征在于,所述根据所述数据类型调用对应的校验规则,对所述当前待校验节点进行校验的步骤,包括:
判断所述数据类型是否为多层嵌套数据,其中所述多层嵌套数据包括List类型、Set类型或Array类型;
若是多层嵌套数据,则循环调用对应的校验规则进行逐层循环校验;
若不是多层嵌套数据,则单次调用对应的校验规则进行校验。
7.根据权利要求1所述的基于人工智能的文件校验方法,其特征在于,所述待校验文件为农户清单的数据,所述农户清单为包含多列数据的Excel文件,所述在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型的步骤之前,包括:
判断是否能获取到所述农户清单的清单信息;其中所述清单信息包括险种大类、农户清单序号以及农户清单对应的机构号;
若能获取到所述农户清单的清单信息,则上传所述农户清单至指定数据库;
判断是否成功上传;
若成功上传,则解析所述Excel文件,分别取出所述Excel文件中每一列数据;
判断解析是否成功完成;
若解析成功完成,则将所述每一列数据按照数据层级顺序依次映射存储于所述第一树状结构的各节点中,形成所述待校验文件。
8.一种基于人工智能的文件校验装置,其特征在于,包括:
第一调取模块,用于在预关联数据库中调取与待校验文件的文件类型对应的校验规则模型,其中所述待校验文件为包含多级节点的第一树状结构的文件,所述校验规则模型为包含多级节点的第二树状结构的文件,所述第一树状结构与所述第二树状结构的各节点具有一一对应关系;
解析模块,用于通过解析所述第二树状结构各节点分别对应的配置文件,获取各节点分别对应的校验规则;
第二调用模块,用于根据所述第一树状结构与所述第二树状结构各节点的一一对应关系,分别调用对应的校验规则逐层完成所述第一树状结构各节点的自动校验,其中所述第一树状结构的各节点包括根节点到各叶子节点,所述根节点为连接有下级节点的节点,所述叶子节点为未连接下级节点的节点。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201811527379.6A 2018-12-13 2018-12-13 基于人工智能的文件校验方法、装置及计算机设备 Pending CN109542664A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811527379.6A CN109542664A (zh) 2018-12-13 2018-12-13 基于人工智能的文件校验方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811527379.6A CN109542664A (zh) 2018-12-13 2018-12-13 基于人工智能的文件校验方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
CN109542664A true CN109542664A (zh) 2019-03-29

Family

ID=65855237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811527379.6A Pending CN109542664A (zh) 2018-12-13 2018-12-13 基于人工智能的文件校验方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN109542664A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090417A (zh) * 2019-11-14 2020-05-01 杭州中恒电气股份有限公司 二进制文件解析方法、装置、设备及介质
CN111428465A (zh) * 2020-03-24 2020-07-17 国网上海市电力公司 一种换流站直流控制保护软件修改工作辅助校验方法
CN111447268A (zh) * 2020-03-24 2020-07-24 中国建设银行股份有限公司 文件结构转换方法、装置、设备和存储介质
CN111507080A (zh) * 2020-03-18 2020-08-07 北京百度网讯科技有限公司 数据质检方法、装置、电子设备及存储介质
CN111736917A (zh) * 2020-06-10 2020-10-02 苏宁云计算有限公司 数据校验方法、装置、计算机设备和存储介质
CN113627754A (zh) * 2021-07-27 2021-11-09 北京达佳互联信息技术有限公司 指标检测的操作控制方法、装置、电子设备及存储介质
CN114756258A (zh) * 2022-01-04 2022-07-15 广州汽车集团股份有限公司 一种基于odx的ecu软件刷新方法与系统
CN116055326A (zh) * 2022-11-25 2023-05-02 国网山东省电力公司电力科学研究院 智能变电站自动化及网络安防设备配置校核方法和系统
CN117312292A (zh) * 2023-11-28 2023-12-29 深圳市移卡科技有限公司 基于树图的机构运营报表校验方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473896B1 (en) * 1998-10-13 2002-10-29 Parasoft, Corp. Method and system for graphically generating user-defined rules for checking language quality
CN101056303A (zh) * 2007-05-31 2007-10-17 威盛电子股份有限公司 水平树状结构可配置网络界面、其显示方法、节点处理法
US7680833B1 (en) * 2002-11-22 2010-03-16 Bmc Software, Inc. System and method for database structure comparison
CN102109984A (zh) * 2009-12-28 2011-06-29 北京大学 状态机的处理方法和系统
CN104391934A (zh) * 2014-11-21 2015-03-04 深圳市银雁金融配套服务有限公司 数据校验方法和装置
CN107402859A (zh) * 2016-05-19 2017-11-28 纬创资通股份有限公司 软件功能验证系统及其验证方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473896B1 (en) * 1998-10-13 2002-10-29 Parasoft, Corp. Method and system for graphically generating user-defined rules for checking language quality
US7680833B1 (en) * 2002-11-22 2010-03-16 Bmc Software, Inc. System and method for database structure comparison
CN101056303A (zh) * 2007-05-31 2007-10-17 威盛电子股份有限公司 水平树状结构可配置网络界面、其显示方法、节点处理法
CN102109984A (zh) * 2009-12-28 2011-06-29 北京大学 状态机的处理方法和系统
CN104391934A (zh) * 2014-11-21 2015-03-04 深圳市银雁金融配套服务有限公司 数据校验方法和装置
CN107402859A (zh) * 2016-05-19 2017-11-28 纬创资通股份有限公司 软件功能验证系统及其验证方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090417A (zh) * 2019-11-14 2020-05-01 杭州中恒电气股份有限公司 二进制文件解析方法、装置、设备及介质
CN111090417B (zh) * 2019-11-14 2023-11-28 杭州中恒电气股份有限公司 二进制文件解析方法、装置、设备及介质
CN111507080B (zh) * 2020-03-18 2023-06-23 北京百度网讯科技有限公司 数据质检方法、装置、电子设备及存储介质
CN111507080A (zh) * 2020-03-18 2020-08-07 北京百度网讯科技有限公司 数据质检方法、装置、电子设备及存储介质
CN111447268A (zh) * 2020-03-24 2020-07-24 中国建设银行股份有限公司 文件结构转换方法、装置、设备和存储介质
CN111428465B (zh) * 2020-03-24 2023-06-30 国网上海市电力公司 一种换流站直流控制保护软件修改工作辅助校验方法
CN111428465A (zh) * 2020-03-24 2020-07-17 国网上海市电力公司 一种换流站直流控制保护软件修改工作辅助校验方法
CN111736917A (zh) * 2020-06-10 2020-10-02 苏宁云计算有限公司 数据校验方法、装置、计算机设备和存储介质
CN111736917B (zh) * 2020-06-10 2022-11-18 苏宁云计算有限公司 数据校验方法、装置、计算机设备和存储介质
CN113627754A (zh) * 2021-07-27 2021-11-09 北京达佳互联信息技术有限公司 指标检测的操作控制方法、装置、电子设备及存储介质
CN114756258A (zh) * 2022-01-04 2022-07-15 广州汽车集团股份有限公司 一种基于odx的ecu软件刷新方法与系统
CN116055326A (zh) * 2022-11-25 2023-05-02 国网山东省电力公司电力科学研究院 智能变电站自动化及网络安防设备配置校核方法和系统
CN117312292A (zh) * 2023-11-28 2023-12-29 深圳市移卡科技有限公司 基于树图的机构运营报表校验方法、装置、设备及介质
CN117312292B (zh) * 2023-11-28 2024-02-02 深圳市移卡科技有限公司 基于树图的机构运营报表校验方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109542664A (zh) 基于人工智能的文件校验方法、装置及计算机设备
CN110333850A (zh) 接口文档的生成方法、装置、计算机设备和存储介质
CN112286779B (zh) 测试任务处理方法、装置、存储介质和计算机设备
US7370270B2 (en) XML schema evolution
CN110147413A (zh) 数据存储方法、数据查询方法、装置、设备及存储介质
CN109087054A (zh) 协同办公数据流处理方法、装置、计算机设备及存储介质
CN109308285A (zh) 数据库脚本管理方法、装置、计算机设备及存储介质
CN108762808B (zh) 接口文档的生成方法及系统
CN109446218A (zh) Sql语句生成方法、装置及计算机可读存储介质
CN110471694A (zh) 注释信息处理方法、装置、计算机设备及存储介质
US20070006130A1 (en) Model oriented method of automatically detecting alterations in the design of a software system
CN104781809A (zh) 容器数据库
CN110442603A (zh) 地址匹配方法、装置、计算机设备及存储介质
CN107291450A (zh) 一种编程友好型的敏捷代码自动生成方法
CN106873952B (zh) 移动端网页开发的数据处理系统和方法、及应用装置
CN109597754A (zh) 业务流程性接口测试方法、装置、计算机设备及存储介质
CN109799980A (zh) 基于数据处理多编程语言互连的方法、装置及计算机设备
CN116661756B (zh) 一种基于低代码dsl的对象解析方法及装置
CN101739340B (zh) 一种脚本文件的验证方法和装置
CN110825395B (zh) 多插件分层部署系统、设备及介质
Stevens Connecting software build with maintaining consistency between models: towards sound, optimal, and flexible building from megamodels
US20210263911A1 (en) Smart repository based on relational metadata
CN110020525A (zh) Kubernetes平台的权限配置方法、装置、计算机设备及存储介质
CN117312270A (zh) 一种数据库自动化构建和部署的变更管理方法
CN110018835A (zh) Yang模型配置数据处理方法及装置、终端设备及存储介质

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