CN116108007A - 报表数据校验方法、装置、计算机设备和存储介质 - Google Patents
报表数据校验方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116108007A CN116108007A CN202310147395.7A CN202310147395A CN116108007A CN 116108007 A CN116108007 A CN 116108007A CN 202310147395 A CN202310147395 A CN 202310147395A CN 116108007 A CN116108007 A CN 116108007A
- Authority
- CN
- China
- Prior art keywords
- verification
- rule
- type
- report
- data
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及大数据校验技术领域,具体涉及一种报表数据校验方法、装置、计算机设备、存储介质和计算机程序产品,响应于校验启动请求,确定待校验报表,并根据其报表类型确定待校验报表对应的目标校验规则解析数据,根据校验元素确定待校验数据,根据验证类型确定目标校验程序,最后基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验,得到待校验报表对应的校验结果。根据基金报表数据校验的场景,拆解并预存校验规则解析数据,业务人员可基于需校验的报表发起校验,进而根据报表类型直接获取校验规则实现校验,无需对规则引擎进行重新开发,降低业务人员学习成本,数据库预存校验规则的方式也便于业务人员灵活调整规则。
Description
技术领域
本申请涉及大数据校验技术领域,特别是涉及一种报表数据校验方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着金融业与信息技术的结合以及经济的发展,越来越多的用户选择通过银行或基金公司对个人账户的资源进行存管,进而经常需要给用户或监管机构报送基金基础信息及财务信息报表。一般在此类基金报表报送前,均需按照规则进行严格的数据校验,以保证报表数据的准确性。
传统技术中,一般是通过使用规则引擎或者直接使用在程序代码中固定校验规则进行基金报表的数据校验,但这种校验方式对于业务人员的学习成本太高,无法让业务人员自行进行校验规则配置,通常需要开发人员辅助,校验效率较低。
发明内容
基于此,有必要针对上述传统校验方式校验效率较低的技术问题,提供一种能够提高报表数据校验效率的报表数据校验方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种报表数据校验方法。所述方法包括:
响应于校验启动请求,确定待校验报表,并根据所述待校验报表的报表类型从预存的校验规则解析数据中确定所述待校验报表对应的目标校验规则解析数据,所述校验规则解析数据包括校验元素与验证类型;
根据所述校验元素确定所述待校验报表的待校验数据;
根据所述验证类型从各预设校验程序中确定目标校验程序;
基于所述目标校验程序及所述目标校验规则解析数据,对所述待校验数据进行校验,得到所述待校验报表对应的校验结果。
在其中一个实施例中,所述验证类型包括非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证,所述预设校验程序的类型包括数据库校验类型与内存校验类型;所述根据所述验证类型从各预设校验程序中确定目标校验程序,包括:
在所述验证类型为所述非空验证、所述元素不存在验证、所述枚举值验证、所述取值范围验证、所述固定格式验证、以及所述勾稽关系验证中任意一种的情况下,确定所述目标校验程序为数据库校验类型;
在所述验证类型为比较关系验证或至少一项满足条件验证的情况下,确定所述目标校验程序为内存校验类型。
在其中一个实施例中,所述基于所述目标校验程序及所述目标校验规则解析数据,对所述待校验数据进行校验,包括:
在所述目标校验程序为数据库校验类型的情况下,基于所述目标校验规则解析数据,按照所述目标校验程序的执行逻辑在数据库中直接对所述待校验数据进行校验;
在所述目标校验程序为内存校验类型的情况下,将所述目标校验规则解析数据与所述待校验数据从数据库中获取至内存后,基于所述目标校验规则解析数据按照所述目标校验程序的执行逻辑对所述待校验数据进行校验。
在其中一个实施例中,在所述目标校验程序为数据库校验类型的情况下,所述目标校验程序的执行逻辑为根据所述验证类型生成的动态结构化查询语言。
在其中一个实施例中,所述校验规则解析数据的获取与预存过程包括:
获取校验规则文件,并对所述校验规则文件进行解析,获得所述校验规则解析数据;所述校验规则解析数据还包括校验条件、以及验证类型辅助信息中的至少一项;
将所述校验规则解析数据中的验证类型与校验元素存入所述数据库的预设规则表;
在所述校验规则解析数据中存在校验条件的情况下,将所述校验条件存入所述数据库的预设条件表;
在所述校验规则解析数据中存在与所述验证类型对应的验证类型辅助信息的情况下,将所述验证类型辅助信息存入所述数据库的预设辅助信息表。
在其中一个实施例中,所述预设辅助信息表的数量为多个;所述在所述校验规则解析数据中存在与所述验证类型对应的验证类型辅助信息的情况下,将所述验证类型辅助信息存入所述数据库的预设辅助信息表,包括:
根据所述验证类型从各所述预设辅助信息表中确定目标辅助信息表;
将所述验证类型辅助信息存入所述目标辅助信息表。
在其中一个实施例中,获取到所述校验规则解析数据之后,预存入数据库之前,所述方法还包括:
对所述校验规则解析数据进行有效性检查。
在其中一个实施例中,所述对所述校验规则解析数据进行有效性检查,包括:
检查所述校验元素是否在所述待校验报表的报表定义中存在;
检查所述校验条件中涉及的元素是否在所述报表定义中存在;
检查所述验证类型是否属于预设验证类型中的一种。
第二方面,本申请还提供了一种报表数据校验装置,所述装置包括:
报表与规则确定模块,用于响应于校验启动请求,确定待校验报表,并根据所述待校验报表的报表类型从预存的校验规则解析数据中确定所述待校验报表对应的目标校验规则解析数据,所述校验规则解析数据包括校验元素与验证类型;
校验数据确定模块,用于根据所述校验元素确定所述待校验报表的待校验数据;
校验程序确定模块,用于根据所述验证类型从各预设校验程序中确定目标校验程序;
校验执行模块,用于基于所述目标校验程序及所述目标校验规则解析数据,对所述待校验数据进行校验,得到所述待校验报表对应的校验结果。
在其中一个实施例中,所述验证类型包括非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证,所述预设校验程序的类型包括数据库校验类型与内存校验类型;
所述校验程序确定模块,还用于在所述验证类型为所述非空验证、所述元素不存在验证、所述枚举值验证、所述取值范围验证、所述固定格式验证、以及所述勾稽关系验证中的任意一种的情况下,确定所述目标校验程序为数据库校验类型;在所述验证类型为比较关系验证或至少一项满足条件验证的情况下,确定所述目标校验程序为内存校验类型。
在其中一个实施例中,所述校验执行模块,还用于在所述目标校验程序为数据库校验类型的情况下,基于所述目标校验规则解析数据,按照所述目标校验程序的执行逻辑在数据库中直接对所述待校验数据进行校验;在所述目标校验程序为内存校验类型的情况下,将所述目标校验规则解析数据与所述待校验数据从数据库中获取至内存后,基于所述目标校验规则解析数据按照所述目标校验程序的执行逻辑对所述待校验数据进行校验。
在其中一个实施例中,在所述目标校验程序为数据库校验类型的情况下,所述校验程序确定模块确定的所述目标校验程序的执行逻辑为根据所述验证类型生成的动态结构化查询语言。
在其中一个实施例中,所述装置还包括:
规则解析模块,用于获取校验规则文件,并对所述校验规则文件进行解析,获得所述校验规则解析数据;所述校验规则解析数据还包括校验条件、以及验证类型辅助信息中的至少一项;
规则预存模块,用于将所述校验规则解析数据中的验证类型与校验元素存入所述数据库的预设规则表;在所述校验规则解析数据中存在校验条件的情况下,将所述校验条件存入所述数据库的预设条件表;在所述校验规则解析数据中存在与所述验证类型对应的验证类型辅助信息的情况下,将所述验证类型辅助信息存入所述数据库的预设辅助信息表。
在其中一个实施例中,所述预设辅助信息表的数量为多个;
所述规则预存模块,还用于根据所述验证类型从各所述预设辅助信息表中确定目标辅助信息表;将所述验证类型辅助信息存入所述目标辅助信息表。
在其中一个实施例中,所述装置还包括:
规则有效性检查模块,用于对所述校验规则解析数据进行有效性检查。
在其中一个实施例中,所述规则有效性检查模块,还用于检查所述校验元素是否在所述待校验报表的报表定义中存在;检查所述校验条件中涉及的元素是否在所述报表定义中存在;检查所述验证类型是否属于预设验证类型中的一种。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述报表数据校验方法、装置、计算机设备、存储介质和计算机程序产品,响应于校验启动请求,确定待校验报表,并根据待校验报表的报表类型从预存的校验规则解析数据中确定待校验报表对应的目标校验规则解析数据,校验规则解析数据包括校验元素与验证类型;根据校验元素确定待校验报表的待校验数据,根据验证类型从各预设校验程序中确定目标校验程序,最后基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验,得到待校验报表对应的校验结果。根据基金报表数据校验的场景,拆解并预存有与报表类型对应的校验规则的校验规则解析数据,进而能让业务人员基于需校验的报表发起校验启动请求,进而根据待校验的报表类型即可直接获取得到校验规则实现校验,无需对规则引擎的复杂程序语言进行重新开发,降低业务人员学习成本,数据库预存校验规则的方式也便于业务人员灵活调整规则。
附图说明
图1为一个实施例中报表数据校验方法的应用环境图;
图2为一个实施例中报表数据校验方法的流程示意图;
图3为一个实施例中确定目标校验程序步骤的流程示意图;
图4为一个实施例中对待校验数据进行校验步骤的流程示意图;
图5为一个实施例中获取并预存校验规则解析数据步骤的流程示意图;
图6为一个实施例中预存验证类型辅助信息步骤的流程示意图;
图7为一个实施例中报表数据校验方法的数据流向示意图;
图8为一个实施例中报表数据校验装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、以及报表信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的报表数据校验方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的待校验报表数据与校验规则解析数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。具体地,服务器104响应于终端102发起的校验启动请求,确定待校验报表,并根据待校验报表的报表类型从预存的校验规则解析数据中确定待校验报表对应的目标校验规则解析数据,校验规则解析数据包括校验元素与验证类型;根据校验元素确定待校验报表的待校验数据;根据验证类型从各预设校验程序中确定目标校验程序;基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验,得到待校验报表对应的校验结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种报表数据校验方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S200:响应于校验启动请求,确定待校验报表,并根据待校验报表的报表类型从预存的校验规则解析数据中确定待校验报表对应的目标校验规则解析数据,校验规则解析数据包括校验元素与验证类型。
其中,校验启动请求由业务人员在终端发起,可以是业务人员在终端配置完成报表数据校验过程所需的待校验报表和校验规则后直接触发,也可以是根据业务人员在终端操作校验启动控件触发。可以理解,待校验报表可根据待校验报表的报表信息确定,待校验报表的报表信息可以是在校验启动请求中携带,也可以是业务人员配置完成后预存于数据库内。报表信息可包括报表编号、报表名称、报表所属产品以及报表类型等信息中的至少一种,进而可以是基于报表编号或报表名称确定待校验报表,也可以是基于报表所属产品以及报表类型确定待校验报表。其中,以基金报表校验为例,报表所属产品可以是基金主代码或基金名称,报表类型可以是年报、月报、或者日报等报表类型,进而当选择某一基金产品以及报表类型为年报时,可得到下表1所示的待校验报表。
表1待校验报表示例
基金代码 | 报表类型 | 元素ID | 元素名称 | 元素值 |
123456 | 年报 | 2023 | 报告期起始日 | 2018-10-01 |
2024 | 报告期结束日 | 2018-12-31 | ||
3583 | 是否为MOM基金 | 否 | ||
0010 | 基金类别 | 开放式货币 | ||
… | … | … |
具体地,校验规则解析数据为对各报表类型的至少一条校验规则进行分类解析得到的数据,可以理解为对校验规则的各信息项进行拆解得到的数据,例如可包括单条校验规则的校验元素与验证类型,还可包括单条校验规则的校验条件、以及验证类型辅助信息。校验规则解析数据在解析得到后,可以是直接预存于数据库中,且与报表类型建立一一对应的关系,以供后续校验过程中基于待校验报表的报表类型进行调用。预存于数据库的校验规则解析数据,可以是基于业务人员在终端录入或者批量导入校验规则文件后,进行分类解析得到并预存于数据库,也可以是基于业务人员直接在数据库中进行增删查改的维护操作得到。可以理解,同一条校验规则的校验规则解析数据可以仅为一种报表类型的校验规则,也可以对应为多种报表类型的校验规则,只要符合业务人员设定的报表类型与校验规则解析数据的对应关系即可。
进一步地,目标校验规则解析数据为确定的待校验报表对应的校验规则进行分类解析后得到的数据,可在确定待校验报表后,从预存于数据库的校验规则解析数据中,根据待校验报表的报表类型与校验规则解析数据的对应关系确定。可以理解,目标校验规则解析数据即用于对待校验报表进行校验的校验规则,可包括一条或多条校验规则。此外,在分类后,校验规则解析数据的各个信息可分别存储于数据库的不同预设表中,例如可将验证类型与校验元素存入预设规则表,校验条件存入预设条件表,验证类型辅助信息存入预设辅助信息表。
S400:根据校验元素确定待校验报表的待校验数据。
其中,元素为报表中的一个数据项,如表1所示,报表中每一元素均包括元素ID、元素名称以及元素值,元素ID用于表征每一个元素的编号,元素值用于表征对应元素名称的元素在该报表中的具体内容或具体值。校验元素用于表征在目标校验规则解析数据,也即校验规则中,涉及到需要进行校验的待校验报表的元素。
具体地,待校验数据用于表征需要进行校验的待校验报表的元素对应的元素值组成的数据,可以是在获得目标检验规则解析数据后,根据目标检验规则解析数据中所包含的校验元素确定。在确定待校验报表的待校验数据时,可以是根据校验元素在待校验报表的原始报表中进行确认得到,也可以是在进行过数据库处理的原始报表中进行确认得到,只要包含校验元素对应的元素值即可。
S600:根据验证类型从各预设校验程序中确定目标校验程序。
具体地,验证类型用于表征在目标校验规则解析数据,也即校验规则中,需对待校验数据进行何种形式的校验。验证类型的数量并不固定,可根据实际报表校验过程的需求设定,例如,在本实施例中,验证类型可包括非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证等八种验证类型。
可以理解,每一验证类型对应有其规则定义,例如,非空验证的规则定义为需验证校验元素对应的元素值不能为空;元素不存在验证的规则定义为需验证校验元素在确定的待校验数据中不存在,如校验元素-累计净值增长率元素不能在年报报表中存在;枚举值验证的规则定义为校验元素的元素值需为预设有效枚举值中的一个,如校验元素-基金类型的元素值需为股票型、混合型、债券型、货币型、QDII、基金中基金、以及商品基金中任意一个;取值范围验证的规则定义为校验元素的元素值需在预设合理取值范围内,如校验元素-基准日基金份额净值的元素值需在预设合理范围(0~200)内;固定格式验证的规则定义为校验元素的元素值需满足预设固定格式,如校验元素-基金交易代码的元素值需存在且为六位数字;勾稽关系验证的规则定义为校验元素的元素值需满足预设勾稽关系,如校验元素-交易性金融资产应计利息合计的元素值需等于股票、贵金属投资-金交所黄金合约、债券、资产支持证券、基金、以及其他等校验元素的元素值之和;比较关系验证的规则定义为校验元素需与另一校验元素满足预设比较关系,如校验元素-基金合同生效日的元素值需小于或等于校验元素-数据范围的元素值,校验元素-基金管理公司名称变更前的元素值需不等于校验元素-基金管理公司名称变更后的元素值;至少一项满足条件验证的规则定义为各校验元素的元素值中需至少有一项满足预设条件,如校验元素-增聘基金经理与解聘基金经理中至少有一项的元素值为“是”。
进一步地,预设校验程序表征根据验证类型的规则定义开发完成的校验程序,可用于实现按照验证类型的规则定义对待校验数据的校验。可以理解,每一验证类型均对应有采用至少一种语言开发的预设校验程序,进而可实现在不同设备或运行环境中进行报表校验,例如在数据库端或服务器端实现。因此,可根据目标校验规则解析数据中验证类型,在各预设校验程序中确定目标校验程序,进而基于目标校验程序完成对待校验数据的校验。
S800:基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验,得到待校验报表对应的校验结果。
具体地,基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验的方式并不唯一,可以是按照目标校验规则解析数据中的各条校验规则,逐条获取对应的待校验数据并启动对应的目标校验程序实现校验。也可以是先对目标校验规则解析数据中的各条校验规则按照验证类型进行分类,得到至少一个子目标校验规则解析数据,然后逐条获取子目标校验规则解析数据对应的待校验数据并启动对应的目标校验程序实现校验。可以理解,各子目标校验规则解析数据对应的目标校验程序不同,这样的方式下,涉及的目标校验程序可以并行运行进行校验,进而达到缩短校验时间,提高校验效率的目的。
此外,基于目标校验程序的开发语言的不同,实现校验的方式可以是直接在数据库内完成校验,或者将待校验数据读取至内存中完成校验。对待校验数据进行校验时,还可以是将目标校验规则解析数据或子目标校验规则解析数据中涉及的待校验数据,一次性获取至数据库的中间表或内存,再启动对应的目标校验程序逐条实现校验,以减少数据获取的次数,降低资源消耗压力。
可以理解,预设校验程序为根据验证类型的规则定义开发完成的通用程序,其在实现校验时需基于目标校验规则解析数据实现,也即例如需从数据的预设规则表中得到规则定义中涉及的校验元素,在一些验证类型下,还需从预设辅助信息表中得到例如预设有效枚举值、预设合理取值范围、预设固定格式等验证类型辅助信息。目标校验程序得到上述信息的方式可以是通过参数传入,也可以是基于数据库中的预设路径获取得到。
进一步地,校验得到的待校验报表对应的校验结果可包括但不限于校验通过与校验未通过。可以理解,校验通过表征待校验报表通过了目标校验规则解析数据中所有校验规则的校验,校验未通过表征待校验报表至少有一项目标校验规则解析数据的校验规则未通过校验。此外,校验过程中产生的所有待校验报表对应的校验结果均对应存入数据库中进行持久化保存,以供后续数据分析与查询的需要。
可以理解,校验是否通过的判断方式并不固定,可根据具体验证类型的规则定义确定。以某条校验规则的校验元素为A、验证类型为非空验证为例,若获取的待校验数据,也即报表中校验元素A的所有元素值均不为空,则待校验报表通过了该条校验规则的校验,校验结果为校验通过;若获取的待校验数据,也即报表中校验元素A的所有元素值至少有一项为空,则待校验报表未通过该条校验规则的校验,校验结果为校验未通过。以此类推,可根据上文对各验证类型的规则定义推理得到校验是否通过的判断方式,不在此赘述。
上述报表数据校验方法,根据基金报表数据校验的场景,拆解并预存有与报表类型对应的校验规则的校验规则解析数据,进而能让业务人员基于需校验的报表发起校验启动请求,进而根据待校验的报表类型即可直接获取得到校验规则实现校验,无需对规则引擎的复杂程序语言进行重新开发,降低业务人员学习成本,数据库预存校验规则的方式也便于业务人员灵活调整规则。
在一个实施例中,验证类型包括非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证,预设校验程序的类型包括数据库校验类型与内存校验类型。
其中,数据库校验类型表征预设校验程序采用动态结构化查询语言(StructuredQuery Language,SQL)构建得到,可在数据库端实现对报表数据的校验。内存校验类型表征预设校验程序采用计算机可读程序语言构建得到计算机程序,例如C、C++、Java等,可在服务器端实现对报表数据的校验。
具体地,根据非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、以及勾稽关系验证等验证类型的规则定义可知,其均可以通过数据库中一些判断语句或自定义函数表达,例如非空验证可采用类似is not null的语句进行表达,勾稽关系验证可采用数据库中的自定义函数进行表达。而对于比较关系验证与至少一项满足条件验证等验证类型,其逻辑关系更为复杂,不易采用数据库的结构化查询语言进行表达。因此,可根据验证类型将预设校验程序分为数据库校验类型与内存校验类型。进而,在一个实施例中,如图3所示,S600包括以下S620至S640,其中:
S620:在验证类型为非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、以及勾稽关系验证中任意一种的情况下,确定目标校验程序为数据库校验类型。具体地,在根据验证类型从各预设校验程序中确定目标校验程序时,也可确定目标校验程序是否为数据库校验类型。
进一步地,在目标校验程序为数据库校验类型时,对应需在数据库端实现对报表数据的校验。因此,在一个实施例中,如图4所示,S800的基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验,包括S820:在目标校验程序为数据库校验类型的情况下,基于目标校验规则解析数据,按照目标校验程序的执行逻辑在数据库中直接对待校验数据进行校验。
具体地,在目标校验程序为数据库校验类型的情况下,目标校验程序的执行逻辑为根据验证类型生成的动态结构化查询语言,也即根据验证类型的规则定义生成的动态结构化查询语言。在实现待校验报表的校验时,先对目标校验规则解析数据中的各条校验规则按照验证类型进行分类,得到至少一个子目标校验规则解析数据,再将各子目标校验规则解析数据中涉及的待校验数据,一次性获取后分别存至数据库不同中间表,再基于预设规则表与预设辅助信息表启动各子目标校验规则解析数据对应的目标校验程序,实现对各中间表中待校验数据的校验。
S640:在验证类型为比较关系验证或至少一项满足条件验证的情况下,确定目标校验程序为内存校验类型。具体地,在根据验证类型从各预设校验程序中确定目标校验程序时,也可确定目标校验程序是否为内存校验类型。
进一步地,在目标校验程序为内存校验类型时,对应需在服务器端实现对报表数据的校验。因此,在一个实施例中,如图4所示,S800的基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验,还包括S840:在目标校验程序为内存校验类型的情况下,将目标校验规则解析数据与待校验数据从数据库中获取至内存后,基于目标校验规则解析数据按照目标校验程序的执行逻辑对待校验数据进行校验。
具体地,在目标校验程序为内存校验类型的情况下,目标校验程序的执行逻辑为根据验证类型生成的计算机可读程序语言,也即根据验证类型的规则定义生成的计算机可读程序语言。在实现待校验报表的校验时,需先从待校验报表、预设规则表与预设辅助信息表等数据表中,获取得到待校验数据与目标校验规则解析数据至内存空间。然后对目标校验规则解析数据中的各条校验规则按照验证类型进行分类,得到至少一个子目标校验规则解析数据,再根据各子目标校验规则解析数据的校验元素,从待校验数据中提取得到多个子待校验数据,最后基于各子目标校验规则解析数据启动对应的目标校验程序,实现对子待校验数据的校验。
在本实施例中,对于非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、以及勾稽关系验证等六种验证类型的校验规则,直接使用数据库进行验证计算,由于这六种验证类型在基金报表的验证类型中占比通常超过95%,因此,将这些验证类型的校验放到数据库进行校验,较大程度的降低数据量传输和校验时间,提高了校验效率。此外,对于其他不易用数据库计算实现的验证,通过应用程序进行验证,也保证了校验功能的完备性。
可以理解,在启动校验之前,需在数据库内将各报表类型对应的校验规则进行配置,以供报表数据校验时调用。因此,在一个实施例中,方法还包括S100:获取并预存校验规则解析数据。如图5所示,S100包括以下步骤:
S120:获取校验规则文件,并对校验规则文件进行解析,获得校验规则解析数据;校验规则解析数据还包括校验条件、以及验证类型辅助信息中的至少一项。
具体地,校验规则文件可由业务人员在终端录入或者批量导入的校验规则生成,即校验规则文件包括各报表类型的至少一条校验规则。在获取得到校验规则文件后,即可对校验规则文件中的校验规则进行信息拆解,获得校验规则解析数据。以下表2所示的校验规则文件为例,可拆解得到的校验规则解析数据,包括有校验元素、验证类型、校验条件以及验证类型辅助信息等。此外,为了实现根据待校验报表的报表类型确定目标校验规则解析数据,校验规则解析数据中还需包括报表类型。为了确定每一条规则对应的具体内容,校验规则解析数据还需按照规则编号进行对应存储。
表2校验规则文件示例
S140:将校验规则解析数据中的验证类型与校验元素存入数据库的预设规则表。具体地,验证类型与校验元素作为校验规则中必须包括的内容,对应按照规则编号逐条存入数据库中构建的预设规则表中。
S160:在校验规则解析数据中存在校验条件的情况下,将校验条件存入数据库的预设条件表。
具体地,校验条件可以理解为待校验报表中满足该条件的数据才需要进行校验。校验条件如表2所示,可包括条件类型、条件元素与条件辅助信息,条件类型表征条件元素的值类型,例如枚举型、数值型等。以表2中校验规则RULE5对应存在的校验条件为例进行解释说明,由于其规则定义为ETF联接基金持有份额占总份额比例是否满足预设勾稽关系,则对应的需先判断条件元素-基金是否为ETF是否满足“是”。在校验规则解析数据中存在校验条件的情况下,需对应按照规则编号逐条将存在的校验条件存入数据库中构建的预设条件表中。可以理解,由于每一校验条件可能包括条件类型、条件元素与条件辅助信息等多个数据项,因此,采用区别于预设规则表的另外的预设条件表进行存储,可方便理解和维护校验规则。
S180:在校验规则解析数据中存在与验证类型对应的验证类型辅助信息的情况下,将验证类型辅助信息存入数据库的预设辅助信息表。
具体地,有些验证类型不存在验证类型辅助信息,例如非空验证与元素不存在验证。在校验规则解析数据中存在与验证类型对应的验证类型辅助信息的情况下,例如验证类型为枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证等,需将对应按照规则编号逐条将对应的验证类型辅助信息存入数据库中构建的预设辅助信息表中。
在一个实施例中,预设辅助信息表的数量为多个。如图6所示,S140包括以下步骤:
S181:根据验证类型从各预设辅助信息表中确定目标辅助信息表。
具体地,由于某些验证类型对应的验证类型辅助信息可能包括多个数据项,例如表2中校验规则RULE6对应的验证类型辅助信息包括关系类型以及比较元素,且在一条校验规则中,同一校验元素可能存在多个关系类型以及比较元素。同样,为了便于理解和维护校验规则,采用单独的预设辅助信息表对其进行存储。可以理解,可以根据存在验证类型辅助信息的验证类型,在数据库构建多个预设辅助信息表,例如:勾稽关系表、枚举值表、范围值表、元素间值关系表以及多元素规则表等。进一步,根据验证类型与预设辅助信息表的对应关系,从各预设辅助信息表中确定目标辅助信息表。
S182:将验证类型辅助信息存入目标辅助信息表。具体地,在确定目标辅助信息表后,即可将验证类型对应的验证类型辅助信息,按照规则编号逐条将对应的验证类型辅助信息存入其对应的目标辅助信息表中。
在一个实施例中,在S120之后,S140、S160与S180之前,S100还包括:对校验规则解析数据进行有效性检查。可以理解,只有有效性检查通过的校验规则解析数据才会预存入数据库中。在预存校验规则解析数据之前进行有效性检查,可减少报表数据校验中的无效执行,也可提高报表数据的校验效率。
在一个实施例中,对校验规则解析数据进行有效性检查,包括:检查校验元素是否在待校验报表的报表定义中存在;检查校验条件中涉及的元素是否在报表定义中存在;检查验证类型是否属于预设验证类型中的一种。其中,报表定义为待校验报表中所有元素的合集,是对报表中每个数据项名称、数据含义、数据编号给出规范说明。报表定义的获取方式可以是根据监管机构发布的官方数据获取,也可以是报表校验方进行规范定义后获取。可以理解,有效性检查仅在校验元素在待校验报表的报表定义中存在、校验条件中涉及的元素在报表定义中存在、且验证类型属于预设验证类型中的一种的情况下,才表征校验规则解析数据的有效性检查通过,其中任一不满足则表征校验规则解析数据的有效性检查未通过,需重新核查。
以下以图7所示的报表数据校验方法的数据流向示意图为例,对本申请提供的报表数据校验方法进行详细实施例说明。
具体地,报表数据校验方法主要包括以下两个部分模块:(1)规则管理部分,主要功能为对校验规则进行解析,并存入数据库;(2)数据校验部分,主要功能为根据校验规则对基金报表数据进行校验,并将校验结果存入数据库。
规则管理部分包括规则的录入及解析入库,一条解析规则包含以下内容:
(1)需要校验的元素,如基金主代码、基金名称等。元素在报表生成后,包含元素ID、元素名称以及元素值。
(2)校验条件,需要满足条件才需要做校验;如是否为MOM基金、基金类别是否为QDII等;所有条件均来源于报表信息。
(3)验证类型,验证类型包括以下八类:1)非空,元素值不能为空;2)元素不存在;如累计净值增长率元素不能在报表中存在;3)元素值为枚举值,如基金类型的有效值为:股票型、混合型、债券型、货币型、QDII、基金中基金、商品基金;4)值为某个范围,如基准日基金份额净值合理范围:0~200;5)值为固定格式,如基金交易代码必须有且为六位数字;6)值之间满足勾稽关系,如交易性金融资产应计利息合计=股票+贵金属投资-金交所黄金合约+债券+资产支持证券+基金+其他;7)值之间满足关系,如基金合同生效日<=数据范围、基金管理公司名称变更前!=基金管理公司名称变更后;8)至少一项满足条件,如以下元素应至少有一项的值为“是”:增聘基金经理、解聘基金经理。
可以理解,一条完整的校验规则包含报表类型、以及上面描述的三个信息:需要校验的元素、校验条件、验证类型及验证类型辅助信息。在用户录入或者批量导入的校验规则后,需要进行规则有效性校验及解析入库。
其中,规则有效性校验,包含以下三个方面:
(1)元素在该报表定义中存在,报表定义中有报表元素的定义;
(2)校验条件中的元素在该报表定义中存在,与(1)同样的方式进行验证;
(3)验证类型校验,只允许上面规则类型中的八种规则。
校验通过的规则进行解析入库,为了存储各种规则需要的信息,设计以下表用于存储规则相关信息:(1)规则表;(2)条件表;(3)勾稽关系表;(4)枚举值表;(5)范围值表;(6)元素间值关系表;(7)多元素规则表。解析时,校验条件均存入条件表,规则类型和元素信息存入规则表。根据不同验证类型,辅助信息填入对应的表,具体操作如下:
(1)非空;无辅助信息;
(2)元素不存在;无辅助信息;
(3)元素值为枚举值;辅助信息为枚举值,填入枚举值表;
(4)值为某个范围;辅助信息为范围起始值,填入范围值表;
(5)值为固定格式;辅助信息为正则表达式,正则表达式填入规则表中;
(6)值之间满足勾稽关系;辅助信息为勾稽关系表达式,填入勾稽关系表;
(7)值之间满足关系;辅助信息为比较的元素及关系类型,填入元素间值关系表;
(8)至少一项满足条件;选择第一个元素及元素值存入规则表;其余元素存入多元素规则表。
进一步地,数据校验部分用于对报表中的数据进行校验。校验时,根据校验条件获取需要校验的数据,进行校验并将校验结果存入数据库。具体操作时,根据验证类型分为数据库计算校验和应用程序计算校验。
其中,数据库计算校验包括以下步骤:
(1)根据校验条件读取需要校验的元素及规则放入中间表;
(2)对于验证类型1、3、4、5,直接验证中间表的值是否满足条件;通过数据库的非空判断、值范围及正则匹配判断元素是否符合规则;
(3)对于验证类型2元素不存在,直接验证元素在中间表中不存在;
(4)对于验证类型6,需要借助数据库的自定义函数,将勾稽关系中的元素值全部读取到临时变量中,并根据勾稽表达式计算出表达式的值,同规则中的元素值进行比较;如交易性金融资产应计利息合计=股票+贵金属投资-金交所黄金合约+债券+资产支持证券+基金+其他,需要分别读取股票、贵金属投资-金交所黄金合约、债券、资产支持证券、基金、其他元素的值,并计算其和,然后与交易性金融资产应计利息合计值进行比较;
(5)然后直接将验证结果存在数据库中,整个过程都数据库中进行处理,无需读取数据到内存中。
应用程序计算校验包括以下步骤:
(1)根据校验条件读取需要校验的元素、关联的元素及规则到内存中;
(2)对于验证类型7,应用程序根据验证元素值、待比较元素值和关系,进行验证,得到验证结果;
(3)对于验证类型8,应用程序根据验证元素值,关联元素值及目标值,进行验证,得到验证结果;
(4)然后将验证结果存在数据库中。
在本实施例中,可根据基金报表数据验证的场景,拆解出适用的校验条件类型和验证类型,能让业务人员根据这些校验条件类型和验证类型配置出校验规则,无需使用规则引擎的DSL语言,降低业务人员学习成本,便于业务人员灵活调整规则。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的报表数据校验方法的报表数据校验装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个报表数据校验装置实施例中的具体限定可以参见上文中对于报表数据校验方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种报表数据校验装置,包括:报表与规则确定模块810、校验数据确定模块820、校验程序确定模块830和校验执行模块840,其中:
报表与规则确定模块810,用于确定待校验报表,并根据待校验报表的报表类型从预存的校验规则解析数据中确定待校验报表对应的目标校验规则解析数据,校验规则解析数据包括校验元素与验证类型;
校验数据确定模块820,用于根据校验元素确定待校验报表的待校验数据;
校验程序确定模块830,用于根据验证类型从各预设校验程序中确定目标校验程序;
校验执行模块840,用于基于目标校验程序及目标校验规则解析数据,对待校验数据进行校验,得到待校验报表对应的校验结果。
在本实施例中,根据基金报表数据校验的场景,拆解并预存有与报表类型对应的校验规则的校验规则解析数据,进而能让业务人员基于需校验的报表发起校验启动请求,进而根据待校验的报表类型即可直接获取得到校验规则实现校验,无需对规则引擎的复杂程序语言进行重新开发,降低业务人员学习成本,数据库预存校验规则的方式也便于业务人员灵活调整规则。
在一个实施例中,验证类型包括非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证,预设校验程序的类型包括数据库校验类型与内存校验类型;
校验程序确定模块830,还用于在验证类型为非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、以及勾稽关系验证中的任意一种的情况下,确定目标校验程序为数据库校验类型;在验证类型为比较关系验证或至少一项满足条件验证的情况下,确定目标校验程序为内存校验类型。
在一个实施例中,校验执行模块840,还用于在目标校验程序为数据库校验类型的情况下,基于目标校验规则解析数据,按照目标校验程序的执行逻辑在数据库中直接对待校验数据进行校验;在目标校验程序为内存校验类型的情况下,将目标校验规则解析数据与待校验数据从数据库中获取至内存后,基于目标校验规则解析数据按照目标校验程序的执行逻辑对待校验数据进行校验。
在一个实施例中,在目标校验程序为数据库校验类型的情况下,校验程序确定模块830确定的目标校验程序的执行逻辑为根据验证类型生成的动态结构化查询语言。
在一个实施例中,装置还包括:
规则解析模块,用于获取校验规则文件,并对校验规则文件进行解析,获得校验规则解析数据;校验规则解析数据还包括校验条件、以及验证类型辅助信息中的至少一项;
规则预存模块,用于将校验规则解析数据中的验证类型与校验元素存入数据库的预设规则表;在校验规则解析数据中存在校验条件的情况下,将校验条件存入数据库的预设条件表;在校验规则解析数据中存在与验证类型对应的验证类型辅助信息的情况下,将验证类型辅助信息存入数据库的预设辅助信息表。
在其中一个实施例中,预设辅助信息表的数量为多个;
规则预存模块,还用于根据验证类型从各预设辅助信息表中确定目标辅助信息表;将验证类型辅助信息存入目标辅助信息表。
在其中一个实施例中,装置还包括:
规则有效性检查模块,用于对校验规则解析数据进行有效性检查。
在其中一个实施例中,规则有效性检查模块,还用于检查校验元素是否在待校验报表的报表定义中存在;检查校验条件中涉及的元素是否在报表定义中存在;检查验证类型是否属于预设验证类型中的一种。
上述报表数据校验装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待校验报表数据与校验规则解析数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种报表数据校验方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据校验逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (19)
1.一种报表数据校验方法,其特征在于,所述方法包括:
响应于校验启动请求,确定待校验报表,并根据所述待校验报表的报表类型从预存的校验规则解析数据中确定所述待校验报表对应的目标校验规则解析数据,所述校验规则解析数据包括校验元素与验证类型;
根据所述校验元素确定所述待校验报表的待校验数据;
根据所述验证类型从各预设校验程序中确定目标校验程序;
基于所述目标校验程序及所述目标校验规则解析数据,对所述待校验数据进行校验,得到所述待校验报表对应的校验结果。
2.根据权利要求1所述的方法,其特征在于,所述验证类型包括非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证,所述预设校验程序的类型包括数据库校验类型与内存校验类型;所述根据所述验证类型从各预设校验程序中确定目标校验程序,包括:
在所述验证类型为所述非空验证、所述元素不存在验证、所述枚举值验证、所述取值范围验证、所述固定格式验证、以及所述勾稽关系验证中任意一种的情况下,确定所述目标校验程序为数据库校验类型;
在所述验证类型为比较关系验证或至少一项满足条件验证的情况下,确定所述目标校验程序为内存校验类型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标校验程序及所述目标校验规则解析数据,对所述待校验数据进行校验,包括:
在所述目标校验程序为数据库校验类型的情况下,基于所述目标校验规则解析数据,按照所述目标校验程序的执行逻辑在数据库中直接对所述待校验数据进行校验;
在所述目标校验程序为内存校验类型的情况下,将所述目标校验规则解析数据与所述待校验数据从数据库中获取至内存后,基于所述目标校验规则解析数据按照所述目标校验程序的执行逻辑对所述待校验数据进行校验。
4.根据权利要求3所述的方法,其特征在于,在所述目标校验程序为数据库校验类型的情况下,所述目标校验程序的执行逻辑为根据所述验证类型生成的动态结构化查询语言。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述校验规则解析数据的获取与预存过程包括:
获取校验规则文件,并对所述校验规则文件进行解析,获得所述校验规则解析数据;所述校验规则解析数据还包括校验条件、以及验证类型辅助信息中的至少一项;
将所述校验规则解析数据中的验证类型与校验元素存入数据库的预设规则表;
在所述校验规则解析数据中存在校验条件的情况下,将所述校验条件存入数据库的预设条件表;
在所述校验规则解析数据中存在与所述验证类型对应的验证类型辅助信息的情况下,将所述验证类型辅助信息存入数据库的预设辅助信息表。
6.根据权利要求5所述的方法,其特征在于,所述预设辅助信息表的数量为多个;所述在所述校验规则解析数据中存在与所述验证类型对应的验证类型辅助信息的情况下,将所述验证类型辅助信息存入所述数据库的预设辅助信息表,包括:
根据所述验证类型从各所述预设辅助信息表中确定目标辅助信息表;
将所述验证类型辅助信息存入所述目标辅助信息表。
7.根据权利要求5所述的方法,其特征在于,获取到所述校验规则解析数据之后,预存入数据库之前,所述方法还包括:
对所述校验规则解析数据进行有效性检查。
8.根据权利要求7所述的方法,其特征在于,所述对所述校验规则解析数据进行有效性检查,包括:
检查所述校验元素是否在所述待校验报表的报表定义中存在;
检查所述校验条件中涉及的元素是否在所述报表定义中存在;
检查所述验证类型是否属于预设验证类型中的一种。
9.一种报表数据校验装置,其特征在于,所述装置包括:
报表与规则确定模块,用于响应于校验启动请求,确定待校验报表,并根据所述待校验报表的报表类型从预存的校验规则解析数据中确定所述待校验报表对应的目标校验规则解析数据,所述校验规则解析数据包括校验元素与验证类型;
校验数据确定模块,用于根据所述校验元素确定所述待校验报表的待校验数据;
校验程序确定模块,用于根据所述验证类型从各预设校验程序中确定目标校验程序;
校验执行模块,用于基于所述目标校验程序及所述目标校验规则解析数据,对所述待校验数据进行校验,得到所述待校验报表对应的校验结果。
10.根据权利要求9所述的装置,其特征在于,所述验证类型包括非空验证、元素不存在验证、枚举值验证、取值范围验证、固定格式验证、勾稽关系验证、比较关系验证、以及至少一项满足条件验证,所述预设校验程序的类型包括数据库校验类型与内存校验类型;
所述校验程序确定模块,还用于在所述验证类型为所述非空验证、所述元素不存在验证、所述枚举值验证、所述取值范围验证、所述固定格式验证、以及所述勾稽关系验证中的任意一种的情况下,确定所述目标校验程序为数据库校验类型;在所述验证类型为比较关系验证或至少一项满足条件验证的情况下,确定所述目标校验程序为内存校验类型。
11.根据权利要求10所述的装置,其特征在于,
所述校验执行模块,还用于在所述目标校验程序为数据库校验类型的情况下,基于所述目标校验规则解析数据,按照所述目标校验程序的执行逻辑在数据库中直接对所述待校验数据进行校验;在所述目标校验程序为内存校验类型的情况下,将所述目标校验规则解析数据与所述待校验数据从数据库中获取至内存后,基于所述目标校验规则解析数据按照所述目标校验程序的执行逻辑对所述待校验数据进行校验。
12.根据权利要求11所述的装置,其特征在于,在所述目标校验程序为数据库校验类型的情况下,所述校验程序确定模块确定的所述目标校验程序的执行逻辑为根据所述验证类型生成的动态结构化查询语言。
13.根据权利要求9至12任意一项所述的装置,其特征在于,所述装置还包括:
规则解析模块,用于获取校验规则文件,并对所述校验规则文件进行解析,获得所述校验规则解析数据;所述校验规则解析数据还包括校验条件、以及验证类型辅助信息中的至少一项;
规则预存模块,用于将所述校验规则解析数据中的验证类型与校验元素存入数据库的预设规则表;在所述校验规则解析数据中存在校验条件的情况下,将所述校验条件存入数据库的预设条件表;在所述校验规则解析数据中存在与所述验证类型对应的验证类型辅助信息的情况下,将所述验证类型辅助信息存入数据库的预设辅助信息表。
14.根据权利要求13所述的装置,其特征在于,所述预设辅助信息表的数量为多个;
所述规则预存模块,还用于根据所述验证类型从各所述预设辅助信息表中确定目标辅助信息表;将所述验证类型辅助信息存入所述目标辅助信息表。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
规则有效性检查模块,用于对所述校验规则解析数据进行有效性检查。
16.根据权利要求15所述的装置,其特征在于,
所述规则有效性检查模块,还用于检查所述校验元素是否在所述待校验报表的报表定义中存在;检查所述校验条件中涉及的元素是否在所述报表定义中存在;检查所述验证类型是否属于预设验证类型中的一种。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
19.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310147395.7A CN116108007A (zh) | 2023-02-10 | 2023-02-10 | 报表数据校验方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310147395.7A CN116108007A (zh) | 2023-02-10 | 2023-02-10 | 报表数据校验方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116108007A true CN116108007A (zh) | 2023-05-12 |
Family
ID=86254150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310147395.7A Pending CN116108007A (zh) | 2023-02-10 | 2023-02-10 | 报表数据校验方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116108007A (zh) |
-
2023
- 2023-02-10 CN CN202310147395.7A patent/CN116108007A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9652513B2 (en) | Generating data pattern information | |
US20190205993A1 (en) | Transaction data categorizer system and method | |
US9058380B2 (en) | Methods and systems for list filtering based on known entity matching | |
WO2011085497A1 (en) | Systems and methods for conducting more reliable financial transactions, credit decisions, and security assessments | |
US20230244653A1 (en) | Semantic compliance validation for blockchain | |
US12002098B2 (en) | System and method for secure information validation and exchange | |
CN112231747A (zh) | 数据脱敏方法、数据脱敏装置以及计算机可读介质 | |
CN112232818A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
US20230116362A1 (en) | Scoring trustworthiness, competence, and/or compatibility of any entity for activities including recruiting or hiring decisions, composing a team, insurance underwriting, credit decisions, or shortening or improving sales cycles | |
CN112667619B (zh) | 辅助检查数据的方法、装置、终端设备及存储介质 | |
CN113034275B (zh) | 一种基于区块链网络的管理系统、方法及终端设备 | |
CN110991992B (zh) | 业务流程信息的处理方法和装置、存储介质和电子设备 | |
CN111400187A (zh) | 基于定制数据源的参数动态化校验系统及方法 | |
CN111126966A (zh) | 票据审核方法、装置、计算机设备和计算机可读存储介质 | |
CN116108007A (zh) | 报表数据校验方法、装置、计算机设备和存储介质 | |
US10235719B2 (en) | Centralized GAAP approach for multidimensional accounting to reduce data volume and data reconciliation processing costs | |
CN114936921A (zh) | 贷款风险控制方法及装置 | |
US10460116B2 (en) | Access control method, system and storage medium | |
CN114119195A (zh) | 跨境电商数据资产管理方法、装置、计算机设备及介质 | |
CN111932368B (zh) | 一种信用卡发卡系统及其构建方法、装置 | |
CN115423595B (zh) | 文件信息处理方法、装置、计算机设备和存储介质 | |
US11900289B1 (en) | Structuring unstructured data via optical character recognition and analysis | |
CN117522502A (zh) | 元宇宙营业厅的资源推荐方法、装置、计算机设备和介质 | |
CN118277255A (zh) | 数据校验方法、装置、计算机设备、存储介质和计算机程序产品 | |
CN118261693A (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 |