CN112396419A - 校验规则的生成方法、装置、设备和存储介质 - Google Patents

校验规则的生成方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN112396419A
CN112396419A CN202011422974.0A CN202011422974A CN112396419A CN 112396419 A CN112396419 A CN 112396419A CN 202011422974 A CN202011422974 A CN 202011422974A CN 112396419 A CN112396419 A CN 112396419A
Authority
CN
China
Prior art keywords
rule
data
preset
check
expression
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
CN202011422974.0A
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202011422974.0A priority Critical patent/CN112396419A/zh
Publication of CN112396419A publication Critical patent/CN112396419A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种校验规则的生成方法、装置、设备和存储介质。该方法包括:获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则;获取所述预设规则中业务数据与待校验数据的第一对应关系;将所述业务数据中至少一个属性以及待校验数据转换为规则参数;根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则。本申请实施例实现了自动将数据标准转化为校验规则,减少校验规则生成的复杂度,提高了将数据标准转化为校验规则的效率,减少了生成校验规则的工作量。

Description

校验规则的生成方法、装置、设备和存储介质
技术领域
本申请实施例涉及金融科技(Fintech)技术领域,尤其涉及一种校验规则的生成方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,数据质量校验技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
相关技术中,为了提升数据质量,一般会制定数据标准,根据质量校验规则对数据进行质量校验,跟踪数据质量问题并进行根因分析等,其中,需要根据制定的数据标准相关的规则定义,人工编写程序代码,从而将数据标准转化为质量校验规则,操作较为复杂。
发明内容
本申请实施例提供一种校验规则的生成方法、装置、设备和存储介质,以减少将数据标准转化为质量校验规则的复杂度。
第一方面,本申请实施例提供一种校验规则的生成方法,包括:
获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则;
获取所述预设规则中业务数据与待校验数据的第一对应关系;
将所述业务数据中至少一个属性转换以及待校验数据为规则参数;
根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则。
第二方面,本申请实施例提供一种校验规则的生成装置,包括:
获取模块,用于获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则;
所述获取模块,还用于获取所述预设规则中业务数据与待校验数据的第一对应关系;
处理模块,用于将所述业务数据中至少一个属性转换以及待校验数据为规则参数;
所述处理模块,还用于根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则。
第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的方法。
本申请实施例提供的校验规则的生成方法、装置、设备和存储介质,获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则,该预设规则可作为数据标准定义对业务数据的值进行约束;进一步,根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则,其中,规则参数为根据业务数据中至少一个属性以及待校验数据转换的,第一对应关系为预设规则中业务数据与待校验数据之间的对应关系,实现了自动将数据标准转化为校验规则,减少校验规则生成的复杂度,提高了将数据标准转化为校验规则的效率,减少了生成校验规则的工作量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的系统架构示意图;
图2是本申请实施例提供的校验规则的生成方法的流程示意图;
图3是本申请一实施例提供的验证原理示意图;
图4是本申请一实施例提供的原理示意图;
图5是本申请实施例提供的校验规则的生成装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本申请的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例涉及的部分词汇和应用场景进行介绍。
图1为本申请实施例提供的系统架构示意图。如图1所示,本申请实施例的系统架构中可以包括但不限于:电子设备11和服务器12。
其中,电子设备11和服务器12之间可以通过网络连接。
本申请实施例提供的方法可由一个电子设备如处理器执行相应的软件代码实现,也可由一个电子设备在执行相应的软件代码的同时,通过和控制器进行数据交互来实现。
相关技术中,为了提升数据质量,一般会制定数据标准,根据质量校验规则对数据进行质量校验,跟踪数据质量问题并进行根因分析等,其中,需要根据制定的数据标准中相关的规则定义,人工编写程序代码,从而将数据标准转化为质量校验规则,操作较为复杂。
本申请实施例的方法,技术构思如下:
将预设规则中业务数据与待校验数据之间建立对应关系;预设规则包括:业务数据的至少一项属性的规则,该预设规则可作为数据标准定义对业务数据的值进行约束;将业务数据中至少一个属性以及待校验数据转换为规则参数,进一步,利用前述的规则参数、预设规则以及第一对应关系,对通用规则模板进行解析,生成校验规则,实现了自动将数据标准转化为校验规则,减少校验规则生成的复杂度,提高了将数据标准转化为校验规则的效率。
下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2是本申请提供的校验规则的生成方法一实施例的流程示意图。如图2所示,本实施例提供的方法,包括:
步骤101、获取业务数据的预设规则;预设规则包括:业务数据的至少一项属性的规则。
其中,所述属性包括以下至少一项:业务数据的长度、类型、格式、取值范围或校验规则。
具体的,针对业务及数据的标准定义,预设规则是描述业务数据的长度、类型、格式、取值范围、校验规则等属性的相关要求,不符合该预设规则的数据一般认为有数据质量问题。例如表1表示业务数据为证件类型的预设规则,表2表示业务数据为证件号码的预设规则。
表1证件类型
Figure BDA0002823365260000041
Figure BDA0002823365260000051
表2证件号码
属性 定义
类型 Varchar
长度 50
精度
格式
取值范围
是否可为空
校验规则 身份证长度为18;护照长度大于3
步骤102、获取预设规则中业务数据与待校验的数据的第一对应关系。
具体的,将数据库中存储的待校验的数据字段,与预设规则中业务数据之间建立关联,即第一对应关系,一般是根据待校验的数据字段的业务含义和预设规则中业务数据进行关联。例如,将数据库中表Personal_info中id_no与预设规则中证件号码关联,将数据库中表Personal_info中id_type与预设规则中证件类型关联。
表3关联映射
Figure BDA0002823365260000052
其中,步骤101、步骤102不分先后顺序。
步骤103、将业务数据中至少一个属性以及待校验数据转换为规则参数。
具体的,业务数据中的各个属性均对应一个规则参数,例如表4所示,属性为类型时,对应规则参数dt.type等等,表5中所示的是待校验数据对应的规则参数。
表4
Figure BDA0002823365260000061
表5
Figure BDA0002823365260000062
步骤104、根据规则参数、预设规则以及第一对应关系,对通用规则模板进行解析,生成校验规则。
具体的,预先可以获取通用规则模板,通用规则模板例如包括以下两类:1)直接根据规则参数进行组合拼接,得到的通用规则模板,如表6中第3-6项;2)对预设规则解析,得到的通用规则模板,如表6中第7-8项。
对于第1类通用规则模板来说,直接获取至少两个规则参数,对至少两个规则参数进行组合拼接,得到通用规则模板,例如:
获取规则参数dt.islenth、dt.len、target.col,对以上规则参数进行组合拼接,得到如下的通用规则模板:
dt.islength==‘Y’?string.length(row.${target.col})==${dt.len}:string.length(row.${target.col})<=${dt.len};
对于第2类通用规则模板来说,对预设规则进行解析,对于业务数据为证件类型和证件号码来说,证件类型可以是身份证、护照等,分析可知对于不同的证件类型,证件号码的长度不同,因此,可以预先生成如下的通用规则模板:Row.${ruledepend}=‘01’?String.length(row.${target.col})==18:row.${target.col}!=nil。
表6
Figure BDA0002823365260000071
Figure BDA0002823365260000081
表7
Figure BDA0002823365260000082
表7中为业务数据的预设规则对应的规则参数的说明,如表4中最后一行的规则,对应的规则参数;表7中还示出了通用规则模板。
进一步,对通用规则模板进行解析,确定通用规则模板中的变量,将规则参数、预设规则以及第一对应关系,代入通用规则模板中,对通用规则模板中的变量进行赋值,生成校验规则。
例如,通用规则模板为Row.${ruledepend}=‘01’?String.length(row.${target.col})==18:row.${target.col}!=nil,确定变量为ruledepend、target.col;根据规则参数、第一对应关系以及预设规则,确定变量ruledepend为证件类型,赋值为01,待校验数据target.col赋值为id.no,则生成该通用规则模板对应的校验规则为:String.length(row.${id.no})==18。
上述方案中,根据数据标准定义的预设规则,将业务数据及属性转换为规则参数,解析通用规则模板,实现了根据数据标准定义的预设规则自动生成质量校验规则,降低校验规则生成的开发工作量。而且本申请实施例中一方面支持以表达式求值引擎AviatorExpression为主的表达式生成的校验规则、又支持用户通过自定义表达式函数的方式生成的校验规则,用户自定义表达式函数例如表8中的清单DataList表达式类型,扩展了表达式的支持范畴,适应更多规则类型。
利用清单DataList表达式类型生成的校验规则,如datalist=${dt.values.splits(‘,’)},校验某个业务数据的取值范围,例如某些取值离散的业务数据,如证件类型等。
表8
Figure BDA0002823365260000091
本实施例的方法,获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则,该预设规则可作为数据标准定义对业务数据的值进行约束;进一步,根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则,其中,规则参数为根据业务数据中至少一个属性以及待校验数据转换的,第一对应关系为预设规则中业务数据与待校验的数据之间的对应关系,实现了自动将数据标准转化为校验规则,减少校验规则生成的复杂度,提高了将数据标准转化为校验规则的效率,减少了生成校验规则的工作量。
在一实施例中,该方法还包括:
利用校验规则对待校验数据进行校验。
其中,该校验规则可以直接在数据质量校验工具中执行。
例如,若证件类型dt.type=01,即待校验数据id_type=01,校验规则为string.length(row.id_no)==18,对待校验数据、证件号码id_no进行校验,确定该证件号码id_no的取值是否符合数据标准的规定。
上述实施方式中,利用校验规则,对待校验数据进行校验,效率较高,校验结果的准确性较高。
在上述实施例的基础上,步骤103可以通过如下方式实现:
根据预设的第二对应关系,将所述业务数据中至少一个属性以及待校验数据转换为规则参数,其中,所述第二对应关系为字段与规则参数之间的对应关系。
具体的,根据预设的第二对应关系,第二对应关系为字段与规则参数之间的对应关系,如表4和表5所示的对应关系,将业务数据以及业务数据中至少一个属性转换为规则参数。例如,将属性长度转换为dt.len,将业务数据证件类型转换为规则参数depend.col,待校验数据证件号码转换为规则参数target.col。
如表9所示,规则参数包括以下几种,一种是根据业务数据中的属性转换的规则参数;一种是根据待校验数据转换的参数,如待校验的数据证件号码转化为target.col。
表9
Figure BDA0002823365260000101
Figure BDA0002823365260000111
上述实施方式中,通过预设的待校验字段与规则参数之间的第二对应关系,将业务数据中至少一个属性以及待校验数据转换为规则参数,效率较高。
在一实施例中,步骤104之前可以获取所述通用规则模板,具体可以通过以下几种方式获取通用规则模板:
对所述规则参数进行组合拼接,生成所述通用规则模板;或,
对所述预设规则进行解析,生成所述通用规则模板
具体的,如表6中第3-6项,直接根据规则参数进行组合拼接,得到通用规则模板;或,
如表6中第7-8项,对预设规则解析,得到通用规则模板。
其中,在生成通用规则模板之前可以预先设置表达式函数,例如表10中所示:
表10
Figure BDA0002823365260000112
上述实施方式中,预先获取通用规则模板,使得生成校验规则的效率较高。
在一实施例中,步骤104可以通过如下方式实现:
确定所述通用规则模板中的变量;
根据所述规则参数、所述预设规则以及所述第一对应关系,对所述通用规则模板中的变量进行赋值,生成所述校验规则。
具体的,对通用规则模板进行解析,确定通用规则模板中的变量,例如通用规则模板为Row.${ruledepend}=‘01’?String.length(row.${target.col})==18:row.${target.col}!=nil,其中,ruledepend、target.col为变量。
将规则参数、预设规则以及第一对应关系,代入通用规则模板中,对通用规则模板中的变量进行赋值,生成校验规则。
例如,通用规则模板为Row.${ruledepend}=‘01’?String.length(row.${target.col})==18:row.${target.col}!=nil,确定变量为ruledepend、target.col。根据规则参数、第一对应关系以及预设规则,对变量ruledepend赋值为01,变量target.col赋值为待校验数据id.no,则生成该通用规则模板对应的校验规则为:String.length(row.${id.no})==18。
上述实施方式中,确定所述通用规则模板中的变量;根据所述规则参数、所述预设规则以及所述第一对应关系,对所述通用规则模板中的变量进行赋值,生成所述校验规则,实现了自动将数据标准转化为校验规则,减少校验规则生成的复杂度。
在一实施例中,若通用规则模板为三元表达式,则步骤“确定所述通用规则模板中的变量”之前还可以进行如下操作:
根据所述规则参数以及所述预设规则,确定所述三元表达式对应的表达式结果;
“确定所述通用规则模板中的变量”具体可以通过如下方式实现:
根据变量标识符,确定所述表达式结果中的变量;
“生成校验规则”具体可以通过如下方式实现:
根据所述规则参数、预设规则和所述第一对应关系,将所述表达式结果中的变量进行赋值,生成所述校验规则。
具体的,解析通用规则模板包括如下两个步骤:
1)三元表达式的解析。
三元表达式是条件逻辑判断中比较简洁的表达方式,可以简便的实现针对条件的筛选。表达式的一般格式为:B?T:F;其中,“?”为条件判断符,其前部B为条件判断表达式,一般为布尔boolean表达式;“:”为结果选择符,当B为true时结果为T;当B为false时,结果为F。
针对该三元表达式的解析,可以对三元表达式中条件判断表达式中变量进行赋值,根据条件判断表达式的结果,选择三元表达式对应的表达式结果。
例如:针对模板
dt.islenth==‘是’?string.length(row.${target.col})==${dt.len}:string.lenght(row.${target.col})<=${dt.len}
该表达式的结果依赖dt.islenth(是否定长)字段判断,当为“是”(即字段定长)时,该三元表达式对应的表达式结果为:string.length(row.${target.col})==${dt.len}。
2)对表达式结果中的变量进行赋值。
根据“${}”变量标识符来针对表达式中的变量进行赋值替换。首先,根据预设规则和规则参数进行替换,结果如下:
例如:string.length(row.${target.col})==${dt.len}经赋值替换后结果为:
string.length(row.${target.col})==8;
进一步,根据第一对应关系进行替换,将待校验数据target.col,替换为id.no,结果如下:
string.length(row.${id.no})==8。
上述实施方式中,若通用规则模板为三元表达式,则根据所述规则参数以及所述预设规则,确定所述三元表达式对应的表达式结果;根据变量标识符,确定所述表达式结果中的变量;进而根据所述规则参数、预设规则和所述第一对应关系,将所述表达式结果中的变量进行赋值,生成所述校验规则,实现了自动将数据标准转化为校验规则,减少校验规则生成的复杂度,提高了将数据标准转化为校验规则的效率。
在一实施例中,如图3所示,为了保证生成的校验规则可用,步骤104之后还可以进行如下操作:
将所述校验规则转换为可执行代码;
若所述可执行代码中包括不是预设类型的函数,或所述可执行代码中包括参数解析失败的函数,则生成提示信息,用于指示对所述校验规则进行修正。
具体的,针对前述实施例中生成的校验规则,将校验规则转换为可执行代码,针对出现以下情况的校验规则进行提示,反馈给开发人员进行确认,确保校验规则的可执行。例如存在以下情况:可执行代码汇总包括不是预设类型的函数,例如不是预先定义的函数,或,可执行代码中包括参数解析失败的函数,例如函数实现过程需要参数,但是该函数未带相关参数,则会出现参数无法解析,即解析失败的错误,出现以上两种情况则说明校验规则不可执行,生成提示信息,例如包括错误原因,供开发人员进行问题解决,并再次进行验证。
上述过程可以通过执行引擎工具实现,执行引擎工具将校验规则转换为可执行代码,并对相关代码进行预执行(不获取真实的数据内容),能执行通过则表示校验规则可执行;若预执行过程中失败或是有异常,例如出现以上几种情况,则表示校验规则需要修正。
上述实施方式中,通过对生成的校验规则进行检查,可以使得最终生成的校验规则的可用性较高。
在一实施例中,步骤“所述将所述校验规则转换为可执行代码”,具体可以通过如下方式实现:
根据逻辑连接符,将所述校验规则进行拆分,得到至少一个运算表达式;
针对任一所述运算表达式,将所述运算表达式根据关系运算符进行拆分,得到拆分后的表达式;
根据所述拆分后的表达式,获取所述可执行代码。
具体的,以校验规则(string.length(row.id_no)<=8&&string.test!=nil)为例说明:
a)将校验规则按照&&,||等逻辑连接符拆分为单条运算表达式;
校验规则可拆分为:string.length(row.id_no)<=8和string.test!=nil;
b)根据关系运算符(‘<’,’>’,’=<’,’!=’等)拆分运算表达式;
如:a)中可拆为:string.length(row.id_no)和8,以及string.test和nil。
c)根据拆分后的表达式,获取可执行代码。例如,可执行代码为
string.length(row.id_no),以及string.test。
d)对可执行代码进行检查,即预执行,确定可执行代码是否可执行。
例如:string.length及row.id为预设的表达式函数,需要返回值,因此对该值进行预置,如string.length返回值为int型,则可设置默认值为1,在预执行时直接返回默认值1。若string.test在内置函数清单中未发现该函数,即不是预先定义的函数,则报“未定义函数类型”的错误,表示预执行失败,该表达式不可执行;若string.test在内置函数清单中,但是该函数实现过程需要参数,但是该函数未带相关参数,则报“函数参数无法解析”的错误,表示解析失败,该表达式不可执行。
最终得到的校验规则为(string.length(row.id_no)<=8&&row.id_no!=nil)
在一实施例中,如图4所示,本实施例的方法包括:
获取预设规则,即预先定义的数据标准,预设规则包括:业务数据的至少一项属性的规则;将业务数据中属性转化为规则参数;
获取预设规则中业务数据与待校验数据的对应关系;将待校验数据转化为规则参数;
根据规则参数、预设规则和对应关系,对通用规则模板进行解析,生成校验规则;
对校验规则进行检查,对问题进行解决及验证,得到最终的校验规则。
本申请实施例的方法,将预设规则中业务数据与待校验数据之间建立对应关系;预设规则包括:业务数据的至少一项属性的规则,该预设规则可作为数据标准定义对业务数据的值进行约束;将业务数据中至少一个属性以及待校验数据转换为规则参数,进一步,利用前述的规则参数、预设规则以及第一对应关系,对通用规则模板进行解析,生成校验规则,实现了自动将数据标准转化为校验规则,减少校验规则生成的复杂度,提高了将数据标准转化为校验规则的效率。
图5为本申请提供的校验规则的生成装置一实施例的结构示意图,如图5所示,本实施例的校验规则的生成装置,包括:
获取模块110,用于获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则;
所述获取模块110,还用于获取所述预设规则中业务数据与待校验数据的第一对应关系;
处理模块111,用于将所述业务数据中至少一个属性转换以及待校验数据为规则参数;
所述处理模块111,还用于根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则。
在一种可能的实现方式中,处理模块111具体用于:
根据预设的第二对应关系,将所述业务数据中至少一个属性转换以及所述待校验数据为规则参数,其中,所述第二对应关系为字段与规则参数之间的对应关系。
在一种可能的实现方式中,处理模块111具体用于:
确定所述通用规则模板中的变量;
根据所述规则参数、所述预设规则以及所述第一对应关系,对所述通用规则模板中的变量进行赋值,生成校验规则。
在一种可能的实现方式中,若所述通用规则模板为三元表达式,所述处理模块111还用于:
根据所述规则参数以及所述预设规则,确定所述三元表达式对应的表达式结果;
所述处理模块111具体用于:
根据变量标识符,确定所述表达式结果中的变量;
根据所述规则参数、所述预设规则和所述第一对应关系,将所述表达式结果中的变量进行赋值,生成所述校验规则。
在一种可能的实现方式中,处理模块111还用于:
对所述规则参数进行组合拼接,生成所述通用规则模板;或,
对所述预设规则进行解析,生成所述通用规则模板
在一种可能的实现方式中,处理模块111还用于:
将所述校验规则转换为可执行代码;
若所述可执行代码中包括不是预设类型的函数,或所述可执行代码中包括参数解析失败的函数,则生成提示信息,用于指示对所述校验规则进行修正。
在一种可能的实现方式中,处理模块111具体用于:
根据逻辑连接符,将所述校验规则进行拆分,得到至少一个运算表达式;
针对任一所述运算表达式,将所述运算表达式根据关系运算符进行拆分,得到拆分后的表达式;
根据所述拆分后的表达式,获取所述可执行代码。
在一种可能的实现方式中,所述属性包括以下至少一项:业务数据的长度、类型、格式、取值范围或校验规则。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请提供的电子设备实施例的结构示意图,如图6所示,该电子设备包括:
处理器210,以及,用于存储处理器210的可执行指令的存储器211。
可选的,还可以包括:通信接口212,用于实现与其他设备的通信。
上述部件可以通过一条或多条总线进行通信。
其中,处理器210配置为经由执行所述可执行指令来执行前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,此处不再赘述。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述方法实施例中任一项所述的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (12)

1.一种校验规则的生成方法,其特征在于,包括:
获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则;
获取所述预设规则中业务数据与待校验数据的第一对应关系;
将所述业务数据中至少一个属性以及所述待校验数据转换为规则参数;
根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则。
2.根据权利要求1所述的方法,其特征在于,所述将所述业务数据中至少一个属性以及所述待校验数据转换为规则参数,包括:
根据预设的第二对应关系,将所述业务数据中至少一个属性以及所述待校验数据转换为规则参数,其中,所述第二对应关系为字段与规则参数之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述生成校验规则,包括:
确定所述通用规则模板中的变量;
根据所述规则参数、所述预设规则以及所述第一对应关系,对所述通用规则模板中的变量进行赋值,生成校验规则。
4.根据权利要求3所述的方法,其特征在于,若所述通用规则模板为三元表达式,所述确定所述通用规则模板中的变量之前,还包括:
根据所述规则参数以及所述预设规则,确定所述三元表达式对应的表达式结果;
所述确定所述通用规则模板中的变量,包括:
根据变量标识符,确定所述表达式结果中的变量;
所述根据所述规则参数、所述预设规则以及所述第一对应关系,对所述通用规则模板中的变量进行赋值,生成校验规则,包括:
根据所述规则参数、所述预设规则和所述第一对应关系,将所述表达式结果中的变量进行赋值,生成所述校验规则。
5.根据权利要求1-4任一项所述的方法,其特征在于,生成校验规则之前,还包括:
对所述规则参数进行组合拼接,生成所述通用规则模板;或,
对所述预设规则进行解析,生成所述通用规则模板。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述生成所述校验规则之后,还包括:
将所述校验规则转换为可执行代码;
若所述可执行代码中包括不是预设类型的函数,或所述可执行代码中包括参数解析失败的函数,则生成提示信息,用于指示对所述校验规则进行修正。
7.根据权利要求6所述的方法,其特征在于,所述将所述校验规则转换为可执行代码,包括:
根据逻辑连接符,将所述校验规则进行拆分,得到至少一个运算表达式;
针对任一所述运算表达式,将所述运算表达式根据关系运算符进行拆分,得到拆分后的表达式;
根据所述拆分后的表达式,获取所述可执行代码。
8.根据权利要求1-4任一项所述的方法,其特征在于,
所述属性包括以下至少一项:业务数据的长度、类型、格式、取值范围或校验规则。
9.一种校验规则的生成装置,其特征在于,包括:
获取模块,用于获取业务数据的预设规则;所述预设规则包括:业务数据的至少一项属性的规则;
所述获取模块,还用于获取所述预设规则中业务数据与待校验数据的第一对应关系;
处理模块,用于将所述业务数据中至少一个属性转换以及待校验数据为规则参数;
所述处理模块,还用于根据所述规则参数、所述预设规则以及所述第一对应关系,对通用规则模板进行解析,生成校验规则。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的方法。
CN202011422974.0A 2020-12-08 2020-12-08 校验规则的生成方法、装置、设备和存储介质 Pending CN112396419A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011422974.0A CN112396419A (zh) 2020-12-08 2020-12-08 校验规则的生成方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011422974.0A CN112396419A (zh) 2020-12-08 2020-12-08 校验规则的生成方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN112396419A true CN112396419A (zh) 2021-02-23

Family

ID=74605163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011422974.0A Pending CN112396419A (zh) 2020-12-08 2020-12-08 校验规则的生成方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112396419A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112990741A (zh) * 2021-03-31 2021-06-18 建信金融科技有限责任公司 一种工作量评估方法、装置、设备及存储介质
CN113535146A (zh) * 2021-07-14 2021-10-22 浙江集享电子商务有限公司 规则校验方法、装置、电子装置和存储介质
CN113792048A (zh) * 2021-09-06 2021-12-14 杭州安恒信息安全技术有限公司 非关系型数据库的表单校验规则生成方法和系统
CN113886483A (zh) * 2021-12-08 2022-01-04 中国光大银行股份有限公司 一种数据校验方法及装置
CN116150142A (zh) * 2023-04-14 2023-05-23 成都数联云算科技有限公司 字段校验及其规则获得方法、装置、介质、设备及产品

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112990741A (zh) * 2021-03-31 2021-06-18 建信金融科技有限责任公司 一种工作量评估方法、装置、设备及存储介质
CN113535146A (zh) * 2021-07-14 2021-10-22 浙江集享电子商务有限公司 规则校验方法、装置、电子装置和存储介质
CN113792048A (zh) * 2021-09-06 2021-12-14 杭州安恒信息安全技术有限公司 非关系型数据库的表单校验规则生成方法和系统
CN113792048B (zh) * 2021-09-06 2024-04-16 杭州安恒信息安全技术有限公司 非关系型数据库的表单校验规则生成方法和系统
CN113886483A (zh) * 2021-12-08 2022-01-04 中国光大银行股份有限公司 一种数据校验方法及装置
CN116150142A (zh) * 2023-04-14 2023-05-23 成都数联云算科技有限公司 字段校验及其规则获得方法、装置、介质、设备及产品
CN116150142B (zh) * 2023-04-14 2023-06-27 成都数联云算科技有限公司 字段校验及其规则获得方法、装置、介质、设备及产品

Similar Documents

Publication Publication Date Title
CN112396419A (zh) 校验规则的生成方法、装置、设备和存储介质
CN108614770B (zh) 自动化测试断言方法、装置、存储介质及设备
CN110287109B (zh) 协议接口的测试方法、装置、计算机设备及其存储介质
CN109800258B (zh) 数据文件部署方法、装置、计算机设备及存储介质
CN107145437B (zh) 一种java注解测试方法及装置
US6185583B1 (en) Parallel rule-based processing of forms
CN111158674B (zh) 组件管理方法、系统、设备及存储介质
WO2023123943A1 (zh) 接口自动化测试方法、装置、介质、设备及程序
CN106612204B (zh) 业务校验方法及装置
CN110413507B (zh) 系统测试方法、装置、计算机设备和存储介质
CN110727581B (zh) 崩溃定位方法与电子设备
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN109784738B (zh) 审批方法及审批装置
CN111651365B (zh) 接口自动化测试方法及装置
CN110674200A (zh) 一种基于注解的数据查询方法、数据查询设备及存储介质
CN112579461A (zh) 断言处理方法、系统和存储介质
US20230224319A1 (en) Transmission apparatus, reception apparatus, container transmission system, method, and program
CN115544132A (zh) 数据导入方法、系统及电子设备
CN112328503A (zh) 一种软件开发工作平台任务验收方法
CN114116268A (zh) Flink SQL语句的校验方法、装置、计算机设备和存储介质
CN114157439A (zh) 漏洞扫描方法、计算设备及记录介质
CN114253828A (zh) 确定测试模板的方法、装置、计算设备和存储介质
JP2021509996A (ja) ソースコードのテストスイートを生成する方法
CN117556809B (zh) 参数校验结果生成方法及装置、校验平台及存储介质
CN116382660A (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