CN116010389A - 数据校验方法、装置、设备及存储介质 - Google Patents
数据校验方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116010389A CN116010389A CN202211714692.7A CN202211714692A CN116010389A CN 116010389 A CN116010389 A CN 116010389A CN 202211714692 A CN202211714692 A CN 202211714692A CN 116010389 A CN116010389 A CN 116010389A
- Authority
- CN
- China
- Prior art keywords
- rule
- verification
- data
- target
- algorithm
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据校验方法、装置、设备及存储介质,涉及数据处理技术领域,可满足政务服务平台的业务校验需求。该方法包括:接收数据校验请求;数据校验请求携带有待检验数据包和待检验数据包的校验编码;从至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串;一个候选规则字符串中包含至少一个校验规则;基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果;目标校验规则对应的校验参数标识,用于表征目标校验规则待校验的一组校验数据;目标校验规则对应的算法标识,用于表征目标校验规则执行校验时的校验算法。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据校验方法、装置、设备及存储介质。
背景技术
目前,政务服务平台在接收到其他平台上报的数据时,需要对上报数据的质量进行校验。具体的,需要对上报数据的准确性、完整性、一致性及稳定性等进行校验。比如,可以对上报数据的字段内容的类型、长度等进行校验,也可以对各字段内容的关联关系等进行校验。
现有的用于进行数据校验的规则引擎大多为重量级,集成较为复杂,灵活性较差不易扩展。然而,政务服务平台的业务复杂度很高,待校验的数据类型复杂多样,且校验项目多,所以现有的规则引擎无法满足政务服务平台的业务校验需求,亟待提出一种灵活性更高的数据校验方案。
发明内容
本申请提供一种数据校验方法、装置、设备及存储介质,该方案灵活性较高,可以满足政务服务平台的业务校验需求。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种数据校验方法,包括:接收数据校验请求;数据校验请求携带有待检验数据包和待检验数据包的校验编码;从至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串;一个候选规则字符串中包含至少一个校验规则;基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果;目标校验规则对应的校验参数标识,用于表征目标校验规则待校验的一组校验数据;目标校验规则对应的算法标识,用于表征目标校验规则执行校验时的校验算法;校验数据属于待检验数据包。
本申请提供的技术方案中,开发人员可以根据政务服务平台的业务场景需求,将业务场景下常用的各校验项目中的多个校验规则整合为一个候选规则字符串,然后创建各校验项目的校验编码与各候选规则字符串的对应关系,并且事先为各候选规则字符串对应配置校验算法。实际应用过程中,接收到政务服务平台侧发起的数据校验请求后,可以根据数据校验请求中携带的待检验数据包和待检验数据包的校验编码,从事先确定好的至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串,之后可以基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果。可以看出,本申请提供的技术方案中,可以支持开发人员根据政务服务平台的业务场景需求对校验项目进行部署,且校验规则和校验算法可以分开部署,也即是校验规则的代码与校验算法的代码相互独立。这样,开发人员可以根据政务服务平台的业务场景需求重写校验规则的代码,灵活性较高,可以满足政务服务平台的业务校验需求。
可选的,在一种可能的设计方式中,上述“基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果”可以包括:
基于各目标校验规则对应的各规则类别标识,确定出各目标校验规则中的各自定义规则和各MVEL规则;一个目标校验规则对应一个规则类别标识;基于各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识,对待检验数据包进行处理,得到各自定义规则对应的各第一校验子结果;并且,基于各MVEL规则对应的各校验参数标识,对待检验数据包进行处理,得到各MVEL规则对应的各第二校验子结果;一个自定义规则至少对应一种校验参数标识,且对应一种算法标识;一个MVEL规则至少对应一种校验参数标识;基于各第一校验子结果和各第二校验子结果,确定数据校验结果。
可选的,在另一种可能的设计方式中,上述“基于各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识,对待检验数据包进行处理,得到各自定义规则对应的各第一校验子结果”可以包括:
基于预设解析规则对各自定义规则进行解析,得到各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识;基于各自定义规则对应的各校验参数标识,从待检验数据包中确定出各自定义规则对应的各组校验数据,并基于各自定义规则对应的各算法标识确定各自定义规则对应的各校验算法;一种校验参数标识对应一组校验数据,一种算法标识对应一种校验算法;根据各自定义规则及各自定义规则对应的各校验算法,对各自定义规则对应的各组校验数据进行处理,得到各第一校验子结果。
可选的,在另一种可能的设计方式中,上述“基于各MVEL规则对应的各校验参数标识,对待检验数据包进行处理,得到各MVEL规则对应的各第二校验子结果”可以包括:
基于预设解析规则对各MVEL规则进行解析,得到各MVEL规则对应的各校验参数标识;基于各MVEL规则对应的各校验参数标识,从待检验数据包中确定出各MVEL规则对应的各组校验数据;一种校验参数标识对应一组校验数据;基于各MVEL规则,调用MVEL表达式解析器对各MVEL规则对应的各组校验数据进行处理,得到各第二校验子结果。
可选的,在另一种可能的设计方式中,候选规则字符串为预设格式的字符串,预设格式的字符串支持调用MVEL表达式解析器;基于各第一校验子结果和各第二校验子结果,确定数据校验结果,包括:
在目标规则字符串中,以各第一校验子结果替换各自定义规则对应的各算法标识,并以各第二校验子结果替换各MVEL规则对应的各算法标识,得到替换后的目标规则字符串;调用MVEL表达式解析器对替换后的目标规则字符串进行处理,得到数据校验结果。
可选的,在另一种可能的设计方式中,本申请提供的数据校验方法还可以包括:
接收规则配置请求;规则配置请求携带有用户配置的第一规则字符串,以及用户从至少一种候选校验算法中选择的与第一规则字符串对应的目标校验算法的目标算法标识;基于第一规则字符串和目标算法标识,确定第二规则字符串;基于预设转换规则对第二规则字符串进行处理,得到预设格式的第三规则字符串;预设格式的第三规则字符串支持调用MVEL表达式解析器;将第三规则字符串添加至至少一个候选规则字符串中。
可选的,在另一种可能的设计方式中,本申请提供的数据校验方法还可以包括:
接收规则绑定请求;规则绑定请求携带有用户从至少一个候选规则字符串中选择的第一候选规则字符串和待绑定的校验编码;创建第一候选规则字符串和待绑定的校验编码的映射关系。
第二方面,本申请提供一种数据校验装置,包括:接收模块、确定模块以及处理模块;
接收模块,用于接收数据校验请求;数据校验请求携带有待检验数据包和待检验数据包的校验编码;
确定模块,用于从至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串;一个候选规则字符串中包含至少一个校验规则;
处理模块,用于基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果;目标校验规则对应的校验参数标识,用于表征目标校验规则待校验的一组校验数据;目标校验规则对应的算法标识,用于表征目标校验规则执行校验时的校验算法;校验数据属于待检验数据包。
可选的,在一种可能的设计方式中,处理模块具体用于:
基于各目标校验规则对应的各规则类别标识,确定出各目标校验规则中的各自定义规则和各MVEL规则;一个目标校验规则对应一个规则类别标识;基于各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识,对待检验数据包进行处理,得到各自定义规则对应的各第一校验子结果;并且,基于各MVEL规则对应的各校验参数标识,对待检验数据包进行处理,得到各MVEL规则对应的各第二校验子结果;一个自定义规则至少对应一种校验参数标识,且对应一种算法标识;一个MVEL规则至少对应一种校验参数标识;基于各第一校验子结果和各第二校验子结果,确定数据校验结果。
可选的,在另一种可能的设计方式中,处理模块具体还用于:
基于预设解析规则对各自定义规则进行解析,得到各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识;基于各自定义规则对应的各校验参数标识,从待检验数据包中确定出各自定义规则对应的各组校验数据,并基于各自定义规则对应的各算法标识确定各自定义规则对应的各校验算法;一种校验参数标识对应一组校验数据,一种算法标识对应一种校验算法;根据各自定义规则及各自定义规则对应的各校验算法,对各自定义规则对应的各组校验数据进行处理,得到各第一校验子结果。
可选的,在另一种可能的设计方式中,处理模块具体还用于:
基于预设解析规则对各MVEL规则进行解析,得到各MVEL规则对应的各校验参数标识;基于各MVEL规则对应的各校验参数标识,从待检验数据包中确定出各MVEL规则对应的各组校验数据;一种校验参数标识对应一组校验数据;基于各MVEL规则,调用MVEL表达式解析器对各MVEL规则对应的各组校验数据进行处理,得到各第二校验子结果。
可选的,在另一种可能的设计方式中,候选规则字符串为预设格式的字符串,预设格式的字符串支持调用MVEL表达式解析器;处理模块具体还用于:
在目标规则字符串中,以各第一校验子结果替换各自定义规则对应的各算法标识,并以各第二校验子结果替换各MVEL规则对应的各算法标识,得到替换后的目标规则字符串;调用MVEL表达式解析器对替换后的目标规则字符串进行处理,得到数据校验结果。
可选的,在另一种可能的设计方式中,接收模块,还用于接收规则配置请求;规则配置请求携带有用户配置的第一规则字符串,以及用户从至少一种候选校验算法中选择的与第一规则字符串对应的目标校验算法的目标算法标识;
确定模块,还用于基于第一规则字符串和目标算法标识,确定第二规则字符串;
处理模块,还用于基于预设转换规则对第二规则字符串进行处理,得到预设格式的第三规则字符串;预设格式的第三规则字符串支持调用MVEL表达式解析器;将第三规则字符串添加至至少一个候选规则字符串中。
可选的,在另一种可能的设计方式中,本申请提供的数据校验装置还可以包括:创建模块;
接收模块,还用于接收规则绑定请求;规则绑定请求携带有用户从至少一个候选规则字符串中选择的第一候选规则字符串和待绑定的校验编码;
创建模块,用于创建第一候选规则字符串和待绑定的校验编码的映射关系。
第三方面,本申请提供一种数据校验设备,包括存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当数据校验设备运行时,处理器执行存储器存储的计算机执行指令,以使数据校验设备执行如上述第一方面提供的数据校验方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行指令时,使得计算机执行如第一方面提供的数据校验方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面提供的数据校验方法。
需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与数据校验设备的处理器封装在一起的,也可以与数据校验设备的处理器单独封装,本申请对此不做限定。
本申请中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请中,对于上述涉及到的设备或功能模块的名称不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,均属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种数据校验方法的流程示意图;
图2为本申请实施例提供的另一种数据校验方法的流程示意图;
图3为本申请实施例提供的又一种数据校验方法的流程示意图;
图4为本申请实施例提供的一种数据校验装置的结构示意图;
图5为本申请实施例提供的一种数据校验设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的数据校验方法、装置、设备及存储介质进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
另外,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
现有的用于进行数据校验的规则引擎大多为重量级,集成较为复杂,灵活性较差不易扩展。然而,政务服务平台的业务复杂度很高,待校验的数据类型复杂多样,且校验项目多,所以现有的规则引擎无法满足政务服务平台的业务校验需求,亟待提出一种灵活性更高的数据校验方案。
针对上述现有技术中存在的问题,本申请实施例提供了一种数据校验方法,可以支持开发人员根据政务服务平台的业务场景需求对校验项目进行部署,且校验规则和校验算法可以分开部署,也即是校验规则的代码与校验算法的代码相互独立。这样,开发人员可以根据政务服务平台的业务场景需求重写校验规则的代码,灵活性较高,可以满足政务服务平台的业务校验需求。
本申请实施例提供的一种数据校验方法可以由本申请实施例提供的数据校验装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在执行本方法的数据校验设备中。
下面结合附图对本申请提供的数据校验方法进行说明。
参照图1,本申请实施例提供的数据校验方法包括S101-S103:
S101、接收数据校验请求。
其中,数据校验请求携带有待检验数据包和待检验数据包的校验编码。
本申请实施例提供的数据校验方法,可以适用于对政务服务平台接收到的上报数据进行数据校验,也即是数据校验请求可以是政务服务平台侧向数据校验设备侧发起的请求。示例性的,政务服务平台接收到其他平台的上报数据后,可以根据上报数据确定出待检验数据包,并根据业务场景确定待检验数据包的校验编码,然后向数据校验设备发起携带有待检验数据包和待检验数据包的校验编码的数据校验请求。
其中,待检验数据包的校验编码可以是事先通过一些编码方式为校验项目确定的编码,不同的业务场景对应不同的校验项目,不同的校验项目的校验编码不同。
在一种可能的实现方式中,政务服务平台可以通过控制器接口(Controller)访问数据校验设备,数据校验设备在确定出数据校验结果后,同样可以通过Controller将数据校验结果返回给政务服务平台。
S102、从至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串。
其中,一个候选规则字符串中包含至少一个校验规则。对于一个校验项目而言,待检验数据包中可能包含有多个字段,可能每个字段都有进行相应规则的校验的需求,甚至有可能需要对各字段间进行联合校验。所以,每个校验项目中可以对应有多个校验规则,可以实现根据业务场景需求将各校验项目中的多个校验规则整合为一个候选规则字符串,供数据校验设备调用。
各候选规则字符串可以存储在数据校验设备中,也可以存储在专用数据库中。示例性,数据校验设备在接收到数据校验请求后,可以通过数据访问接口(Data AccessObject,DAO)访问数据库调用各候选规则字符串。
S103、基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果。
其中,目标校验规则对应的校验参数标识,用于表征目标校验规则待校验的一组校验数据;目标校验规则对应的算法标识,用于表征目标校验规则执行校验时的校验算法;校验数据属于待检验数据包。
数据校验设备在确定出目标规则字符串后,可以遍历目标规则字符串中的所有目标校验规则,采用当前的目标校验规则对应的校验算法和当前的目标校验规则,对待检验数据包中与当前的目标校验规则对应的一组校验数据进行处理,得到当前的目标校验规则的校验子结果。遍历完所有目标校验规则之后,再根据所有目标校验规则的校验子结果确定出待检验数据包的数据校验结果。
本申请实施例中,校验规则中可以包含对校验数据的校验条件等,比如,可以包含一些参考阈值。而校验算法也即是校验过程中采用的策略算法,比如,可以是正则匹配等策略算法。也即是,校验规则和校验算法是不同的两个概念。
可选的,基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果,可以包括:基于各目标校验规则对应的各规则类别标识,确定出各目标校验规则中的各自定义规则和各MVFLEX表达式语言(MVFLEX Expression Language,MVEL)规则;基于各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识,对待检验数据包进行处理,得到各自定义规则对应的各第一校验子结果;并且,基于各MVEL规则对应的各校验参数标识,对待检验数据包进行处理,得到各MVEL规则对应的各第二校验子结果;基于各第一校验子结果和各第二校验子结果,确定数据校验结果。
其中,一个目标校验规则对应一个规则类别标识;规则类别标识为创建目标规则字符串时,根据目标校验规则是属于自定义规则还是MVEL规则为其贴上的标签。一个自定义规则至少对应一种校验参数标识,且对应一种算法标识;一个MVEL规则至少对应一种校验参数标识。
示例性的,数据校验设备可以根据目标规则字符串中各校验规则的字符拼接格式对目标规则字符串进行拆解。比如,若目标规则字符串中各校验规则是通过预设间隔符号拼接的,则可以基于预设间隔符号将目标规则字符串拆解为一个个目标校验规则。
本申请实施例中的校验规则可以包括有MVEL规则,MVEL规则可以由MVEL表达式解析器直接解析得到对应的第二校验子结果。但MVEL表达式解析器仅支持运行简单规则,比如,正则匹配,真&&假等。为了适应政务服务平台的业务场景需求,本申请实施例中的校验规则还可以包括一些自定义的复杂规则(比如,统一社会信用代码的校验规则),这些自定义规则可以由对应配置的校验算法执行,得到对应的第一校验子结果。
可选的,基于各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识,对待检验数据包进行处理,得到各自定义规则对应的各第一校验子结果,可以包括:基于预设解析规则对各自定义规则进行解析,得到各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识;基于各自定义规则对应的各校验参数标识,从待检验数据包中确定出各自定义规则对应的各组校验数据,并基于各自定义规则对应的各算法标识确定各自定义规则对应的各校验算法;根据各自定义规则及各自定义规则对应的各校验算法,对各自定义规则对应的各组校验数据进行处理,得到各第一校验子结果。
其中,一种校验参数标识对应一组校验数据,一种算法标识对应一种校验算法,预设解析规则可以是事先根据校验规则的规则格式确定的解析规则。
本申请实施例中运用了策略模式,为自定义规则添加了对应的校验算法,这样可以弥补MVEL表达式解析器无法对复杂规则进行解析的缺陷,保证了校验规则的扩展能力,适用于政务服务平台的业务校验需求。
可选的,基于各MVEL规则对应的各校验参数标识,对待检验数据包进行处理,得到各MVEL规则对应的各第二校验子结果,可以包括:基于预设解析规则对各MVEL规则进行解析,得到各MVEL规则对应的各校验参数标识;基于各MVEL规则对应的各校验参数标识,从待检验数据包中确定出各MVEL规则对应的各组校验数据;基于各MVEL规则,调用MVEL表达式解析器对各MVEL规则对应的各组校验数据进行处理,得到各第二校验子结果。
其中,一种校验参数标识对应一组校验数据。
本申请实施例中,为了在满足业务校验需求的同时,提高校验速率,对于MVEL表达式解析器可以直接执行的MVEL规则,不使用策略模式,也即是不配置专用的校验算法,直接调用MVEL表达式解析器得到第二校验子结果即可。通过对两种类别的校验规则采用不同的处理方式进行分类处理,可以提高校验速率。
可选的,候选规则字符串为预设格式的字符串,预设格式的字符串支持调用MVEL表达式解析器;基于各第一校验子结果和各第二校验子结果,确定数据校验结果,可以包括:在目标规则字符串中,以各第一校验子结果替换各自定义规则对应的各算法标识,并以各第二校验子结果替换各MVEL规则对应的各算法标识,得到替换后的目标规则字符串;调用MVEL表达式解析器对替换后的目标规则字符串进行处理,得到数据校验结果。
示例性的,数据校验设备根据目标校验规则对对应的一组校验数据进行处理后,可以得到一个布尔(Boolean)字符串,然后可以以这个Boolean字符串替换第一校验子结果或第二校验子结果。类似处理完所有目标校验规则后,目标规则字符串会变成一个可以由MVEL表达式解析器执行的简单规则,此时可以调用MVEL表达式解析器对该简单规则进行处理,得到最终的数据校验结果。
本申请实施例中,虽然候选规则字符串中可以包含有自定义规则,但对于一个候选规则字符串而言,对于各校验子结果的最终校验仍是简单规则。所以,开发人员在构建候选规则字符串时,需按照事先确定的预设格式构建,以便于最终可以直接调用MVEL表达式解析器得到数据校验结果。
可选的,本申请实施例提高的数据校验方法还可以包括:接收规则配置请求;基于第一规则字符串和目标算法标识,确定第二规则字符串;基于预设转换规则对第二规则字符串进行处理,得到预设格式的第三规则字符串;将第三规则字符串添加至至少一个候选规则字符串中。
其中,预设格式的第三规则字符串支持调用MVEL表达式解析器;规则配置请求携带有用户配置的第一规则字符串,以及用户从至少一种候选校验算法中选择的与第一规则字符串对应的目标校验算法的目标算法标识。
预设转换规则可以是事先确定的转换规则。在一种可能的实现方式中,规则配置请求可以是开发人员通过在手机、电脑等用户终端提供的应用配置界面中进行的一系列操作触发的请求。
本申请实施例提供的技术方案未使用除java(一种计算机语言)和MVEL外的任何依赖,具备轻量级、易集成的特点,可以支持开发人员根据政务平台的业务需求变更快速添加候选规则字符串。
示例性的,若需要增加一个手机号码的校验,则可以通过以下步骤添加。首先,可以创建一个PhoneRule类继承抽象类RuleBaseStrategy,实现exec方法,也即是为手机号码的校验选择对应的目标校验算法;之后,可以在exec方法中编写手机号码的校验规则,返回Boolean结果,也即是为手机号码的校验添加第一规则字符串;然后,可以在RuleContext类中的静态代码块为STRATEGY_MAP中增加新校验,也即是绑定目标校验算法的目标算法标识和第一规则字符串。具体的,绑定目标算法标识和第一规则字符串后,开发人员可以在用户终端中触发规则配置请求。数据校验设备在接收到规则配置请求后,可以将第一规则字符串和目标算法标识进行组合,得到第二规则字符串,然后,可以基于预设转换规则对第二规则字符串的语法、语义进行处理,转换为统一格式的第三规则字符串,添加至原有的至少一个候选规则字符串中。
示例性的,用户终端中可以载入有事先确定的规则编辑器,当开发人员编写完一个校验规则时,用户终端可以显示多种校验算法供开发人员选择,并且可以根据开发人员的选择操作为该校验规则添加算法标识。在一种可能的实现方式中,用户终端可以使用“&&”或“||”对用户编写的多个校验规则进行拼接,最终形成完整的第二规则字符串发送给数据校验设备,由数据校验设备处理得到第三规则字符串后保存。或者,在另一种可能的实现方式中,也可以由数据校验设备使用“&&”或“||”对用户终端传输的用户编写的多个校验规则进行拼接。
可选的,本申请实施例提供的数据校验方法还包括:接收规则绑定请求;创建第一候选规则字符串和待绑定的校验编码的映射关系。其中,规则绑定请求携带有用户从至少一个候选规则字符串中选择的第一候选规则字符串和待绑定的校验编码。
本申请实施例中,开发人员可以根据业务场景需求从事先配置的多个候选规则字符串中为校验项目对应的待绑定的校验编码添加第一候选规则字符串,可以进一步提高配置的灵活性。
综合以上描述,本申请实施例提供的数据校验方法中,开发人员可以根据政务服务平台的业务场景需求,将业务场景下常用的各校验项目中的多个校验规则整合为一个候选规则字符串,然后创建各校验项目的校验编码与各候选规则字符串的对应关系,并且事先为各候选规则字符串对应配置校验算法。实际应用过程中,接收到政务服务平台侧发起的数据校验请求后,可以根据数据校验请求中携带的待检验数据包和待检验数据包的校验编码,从事先确定好的至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串,之后可以基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果。可以看出,本申请实施例中,可以支持开发人员根据政务服务平台的业务场景需求对校验项目进行部署,且校验规则和校验算法可以分开部署,也即是校验规则的代码与校验算法的代码相互独立。这样,开发人员可以根据政务服务平台的业务场景需求重写校验规则的代码,灵活性较高,可以满足政务服务平台的业务校验需求。
可选的,如图2所示,本申请实施例还提供了一种数据校验方法,可以包括S201-S206:
S201、接收数据校验请求。
S202、从至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串。
S203、基于各目标校验规则对应的各规则类别标识,确定出各目标校验规则中的各自定义规则和各MVEL规则。
S204、基于各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识,对待检验数据包进行处理,得到各自定义规则对应的各第一校验子结果;并且,基于各MVEL规则对应的各校验参数标识,对待检验数据包进行处理,得到各MVEL规则对应的各第二校验子结果。
S205、在目标规则字符串中,以各第一校验子结果替换各自定义规则对应的各算法标识,并以各第二校验子结果替换各MVEL规则对应的各算法标识,得到替换后的目标规则字符串。
S206、调用MVEL表达式解析器对替换后的目标规则字符串进行处理,得到数据校验结果。
可选的,如图3所示,本申请实施例还提供了一种数据校验方法,可以包括S301-S309:
S301、接收携带有第一规则字符串和目标算法标识的规则配置请求。
S302、基于第一规则字符串和目标算法标识,确定第二规则字符串。
S303、基于预设转换规则对第二规则字符串进行处理,得到预设格式的目标规则字符串。
S304、将目标规则字符串添加至至少一个候选规则字符串中。
S305、接收携带有目标规则字符串和目标校验编码的规则绑定请求。
S306、创建目标规则字符串和目标校验编码的映射关系。
S307、接收携带有待检验数据包和待检验数据包的目标校验编码的数据校验请求。
S308、从至少一个候选规则字符串中,确定出目标校验编码所对应的目标规则字符串。
S309、基于目标规则字符串中的各校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果。
如图4所示,本申请实施例还提供了一种数据校验装置,该装置可以包括:接收模块11、确定模块21以及处理模块31。
其中,接收模块11执行上述方法实施例中的S101,确定模块21执行上述方法实施例中的S102,处理模块31执行上述方法实施例中的S103。
具体地,接收模块11,用于接收数据校验请求;数据校验请求携带有待检验数据包和待检验数据包的校验编码;
确定模块21,用于从至少一个候选规则字符串中,确定出待检验数据包的校验编码所对应的目标规则字符串;一个候选规则字符串中包含至少一个校验规则;
处理模块31,用于基于目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对待检验数据包进行处理,得到待检验数据包的数据校验结果;目标校验规则对应的校验参数标识,用于表征目标校验规则待校验的一组校验数据;目标校验规则对应的算法标识,用于表征目标校验规则执行校验时的校验算法;校验数据属于待检验数据包。
可选的,在一种可能的设计方式中,处理模块31具体用于:
基于各目标校验规则对应的各规则类别标识,确定出各目标校验规则中的各自定义规则和各MVEL规则;一个目标校验规则对应一个规则类别标识;基于各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识,对待检验数据包进行处理,得到各自定义规则对应的各第一校验子结果;并且,基于各MVEL规则对应的各校验参数标识,对待检验数据包进行处理,得到各MVEL规则对应的各第二校验子结果;一个自定义规则至少对应一种校验参数标识,且对应一种算法标识;一个MVEL规则至少对应一种校验参数标识;基于各第一校验子结果和各第二校验子结果,确定数据校验结果。
可选的,在另一种可能的设计方式中,处理模块31具体还用于:
基于预设解析规则对各自定义规则进行解析,得到各自定义规则对应的各校验参数标识和各自定义规则对应的各算法标识;基于各自定义规则对应的各校验参数标识,从待检验数据包中确定出各自定义规则对应的各组校验数据,并基于各自定义规则对应的各算法标识确定各自定义规则对应的各校验算法;一种校验参数标识对应一组校验数据,一种算法标识对应一种校验算法;根据各自定义规则及各自定义规则对应的各校验算法,对各自定义规则对应的各组校验数据进行处理,得到各第一校验子结果。
可选的,在另一种可能的设计方式中,处理模块31具体还用于:
基于预设解析规则对各MVEL规则进行解析,得到各MVEL规则对应的各校验参数标识;基于各MVEL规则对应的各校验参数标识,从待检验数据包中确定出各MVEL规则对应的各组校验数据;一种校验参数标识对应一组校验数据;基于各MVEL规则,调用MVEL表达式解析器对各MVEL规则对应的各组校验数据进行处理,得到各第二校验子结果。
可选的,在另一种可能的设计方式中,候选规则字符串为预设格式的字符串,预设格式的字符串支持调用MVEL表达式解析器;处理模块31具体还用于:
在目标规则字符串中,以各第一校验子结果替换各自定义规则对应的各算法标识,并以各第二校验子结果替换各MVEL规则对应的各算法标识,得到替换后的目标规则字符串;调用MVEL表达式解析器对替换后的目标规则字符串进行处理,得到数据校验结果。
可选的,在另一种可能的设计方式中,接收模块11,还用于接收规则配置请求;规则配置请求携带有用户配置的第一规则字符串,以及用户从至少一种候选校验算法中选择的与第一规则字符串对应的目标校验算法的目标算法标识;
确定模块21,还用于基于第一规则字符串和目标算法标识,确定第二规则字符串;
处理模块31,还用于基于预设转换规则对第二规则字符串进行处理,得到预设格式的第三规则字符串;预设格式的第三规则字符串支持调用MVEL表达式解析器;将第三规则字符串添加至至少一个候选规则字符串中。
可选的,在另一种可能的设计方式中,本申请提供的数据校验装置还可以包括:创建模块;
接收模块11,还用于接收规则绑定请求;规则绑定请求携带有用户从至少一个候选规则字符串中选择的第一候选规则字符串和待绑定的校验编码;
创建模块,用于创建第一候选规则字符串和待绑定的校验编码的映射关系。
可选的,数据校验装置还可以包括存储模块,存储模块用于存储该数据校验装置的程序代码等。
如图5所示,本申请实施例还提供一种数据校验设备,包括存储器41、处理器(比如图5中的42-1和42-2)、总线43和通信接口44;存储器41用于存储计算机执行指令,处理器与存储器41通过总线43连接;当数据校验设备运行时,处理器执行存储器41存储的计算机执行指令,以使数据校验设备执行如上述实施例提供的数据校验方法。
在具体的实现中,作为一种实施例,处理器可以包括一个或多个中央处理器(central processing unit,CPU),例如图5中所示的CPU0和CPU1。且作为一种实施例,数据校验设备可以包括多个处理器,例如图5中所示的处理器42-1和处理器42-2。这些处理器中的每一个CPU可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器41可以是只读存储器41(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器相连接。存储器41也可以和处理器集成在一起。
在具体的实现中,存储器41,用于存储本申请中的数据和执行本申请的软件程序对应的计算机执行指令。处理器可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,数据校验设备的各种功能。
通信接口44,使用任何收发器一类的设备,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
总线43,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
作为一个示例,结合图4,数据校验装置中的接收模块实现的功能与图5中的接收单元实现的功能相同,数据校验装置中的处理模块实现的功能与图5中的处理器实现的功能相同。当数据校验装置包括有存储模块时,存储模块实现的功能与图5中的存储器实现的功能相同。
本实施例中相关内容的解释可参考上述方法实施例,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,使得计算机执行上述实施例提供的数据校验方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(erasable programmable read only memory,EPROM)、寄存器、硬盘、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specificintegrated circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种数据校验方法,其特征在于,包括:
接收数据校验请求;所述数据校验请求携带有待检验数据包和所述待检验数据包的校验编码;
从至少一个候选规则字符串中,确定出所述待检验数据包的校验编码所对应的目标规则字符串;一个候选规则字符串中包含至少一个校验规则;
基于所述目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对所述待检验数据包进行处理,得到所述待检验数据包的数据校验结果;目标校验规则对应的校验参数标识,用于表征目标校验规则待校验的一组校验数据;目标校验规则对应的算法标识,用于表征目标校验规则执行校验时的校验算法;所述校验数据属于所述待检验数据包。
2.根据权利要求1所述的数据校验方法,其特征在于,所述基于所述目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对所述待检验数据包进行处理,得到所述待检验数据包的数据校验结果,包括:
基于所述各目标校验规则对应的各规则类别标识,确定出所述各目标校验规则中的各自定义规则和各MVEL规则;一个目标校验规则对应一个规则类别标识;
基于所述各自定义规则对应的各校验参数标识和所述各自定义规则对应的各算法标识,对所述待检验数据包进行处理,得到所述各自定义规则对应的各第一校验子结果;并且,基于所述各MVEL规则对应的各校验参数标识,对所述待检验数据包进行处理,得到所述各MVEL规则对应的各第二校验子结果;一个自定义规则至少对应一种校验参数标识,且对应一种算法标识;一个MVEL规则至少对应一种校验参数标识;
基于所述各第一校验子结果和所述各第二校验子结果,确定所述数据校验结果。
3.根据权利要求2所述的数据校验方法,其特征在于,所述基于所述各自定义规则对应的各校验参数标识和所述各自定义规则对应的各算法标识,对所述待检验数据包进行处理,得到所述各自定义规则对应的各第一校验子结果,包括:
基于预设解析规则对所述各自定义规则进行解析,得到所述各自定义规则对应的各校验参数标识和所述各自定义规则对应的各算法标识;
基于所述各自定义规则对应的各校验参数标识,从所述待检验数据包中确定出所述各自定义规则对应的各组校验数据,并基于所述各自定义规则对应的各算法标识确定所述各自定义规则对应的各校验算法;一种校验参数标识对应一组校验数据,一种算法标识对应一种校验算法;
根据所述各自定义规则及所述各自定义规则对应的各校验算法,对所述各自定义规则对应的各组校验数据进行处理,得到所述各第一校验子结果。
4.根据权利要求2所述的数据校验方法,其特征在于,所述基于所述各MVEL规则对应的各校验参数标识,对所述待检验数据包进行处理,得到所述各MVEL规则对应的各第二校验子结果,包括:
基于预设解析规则对所述各MVEL规则进行解析,得到所述各MVEL规则对应的各校验参数标识;
基于所述各MVEL规则对应的各校验参数标识,从所述待检验数据包中确定出所述各MVEL规则对应的各组校验数据;一种校验参数标识对应一组校验数据;
基于所述各MVEL规则,调用MVEL表达式解析器对所述各MVEL规则对应的各组校验数据进行处理,得到所述各第二校验子结果。
5.根据权利要求2-4任意一项所述的数据校验方法,其特征在于,所述候选规则字符串为预设格式的字符串,所述预设格式的字符串支持调用MVEL表达式解析器;所述基于所述各第一校验子结果和所述各第二校验子结果,确定所述数据校验结果,包括:
在所述目标规则字符串中,以所述各第一校验子结果替换所述各自定义规则对应的各算法标识,并以所述各第二校验子结果替换所述各MVEL规则对应的各算法标识,得到替换后的目标规则字符串;
调用MVEL表达式解析器对替换后的目标规则字符串进行处理,得到所述数据校验结果。
6.根据权利要求1所述的数据校验方法,其特征在于,所述方法还包括:
接收规则配置请求;所述规则配置请求携带有用户配置的第一规则字符串,以及用户从至少一种候选校验算法中选择的与所述第一规则字符串对应的目标校验算法的目标算法标识;
基于所述第一规则字符串和所述目标算法标识,确定第二规则字符串;
基于预设转换规则对所述第二规则字符串进行处理,得到预设格式的第三规则字符串;所述预设格式的第三规则字符串支持调用MVEL表达式解析器;
将所述第三规则字符串添加至所述至少一个候选规则字符串中。
7.根据权利要求1所述的数据校验方法,其特征在于,所述方法还包括:
接收规则绑定请求;所述规则绑定请求携带有用户从所述至少一个候选规则字符串中选择的第一候选规则字符串和待绑定的校验编码;
创建所述第一候选规则字符串和所述待绑定的校验编码的映射关系。
8.一种数据校验装置,其特征在于,包括:
接收模块,用于接收数据校验请求;所述数据校验请求携带有待检验数据包和所述待检验数据包的校验编码;
确定模块,用于从至少一个候选规则字符串中,确定出所述待检验数据包的校验编码所对应的目标规则字符串;一个候选规则字符串中包含至少一个校验规则;
处理模块,用于基于所述目标规则字符串中的各目标校验规则对应的校验参数标识和算法标识对所述待检验数据包进行处理,得到所述待检验数据包的数据校验结果;目标校验规则对应的校验参数标识,用于表征目标校验规则待校验的一组校验数据;目标校验规则对应的算法标识,用于表征目标校验规则执行校验时的校验算法;所述校验数据属于所述待检验数据包。
9.一种数据校验设备,其特征在于,包括存储器、处理器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接;
当所述数据校验设备运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述数据校验设备执行如权利要求1-7任意一项所述的数据校验方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机执行所述指令时,使得所述计算机执行如权利要求1-7任意一项所述的数据校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211714692.7A CN116010389A (zh) | 2022-12-29 | 2022-12-29 | 数据校验方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211714692.7A CN116010389A (zh) | 2022-12-29 | 2022-12-29 | 数据校验方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010389A true CN116010389A (zh) | 2023-04-25 |
Family
ID=86036918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211714692.7A Pending CN116010389A (zh) | 2022-12-29 | 2022-12-29 | 数据校验方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010389A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117369866A (zh) * | 2023-09-22 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 参数校验方法、装置、设备及存储介质 |
-
2022
- 2022-12-29 CN CN202211714692.7A patent/CN116010389A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117369866A (zh) * | 2023-09-22 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 参数校验方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427731B (zh) | 页面代码的处理方法、装置、终端设备及介质 | |
US9742640B2 (en) | Identifying compatible web service policies | |
CN112181804A (zh) | 一种参数校验方法、设备以及存储介质 | |
CN111427782B (zh) | 安卓动态链接库的运行方法、装置、设备及存储介质 | |
CN113961919B (zh) | 恶意软件检测方法和装置 | |
CN112035344A (zh) | 多场景测试方法、装置、设备和计算机可读存储介质 | |
CN112559635B (zh) | 以太坊联盟链节点的业务处理方法、装置、设备及介质 | |
CN114553784A (zh) | 限流处理方法及装置 | |
CN114780107B (zh) | 一种规则运行文件的语法分析方法、装置和决策引擎 | |
CN116010389A (zh) | 数据校验方法、装置、设备及存储介质 | |
CN111338716A (zh) | 基于规则引擎的数据处理方法、装置及终端设备 | |
CN113626558B (zh) | 一种基于智能推荐的字段标准化的方法和系统 | |
CN108959294A (zh) | 一种访问搜索引擎的方法和装置 | |
CN110598419A (zh) | 一种区块链客户端漏洞挖掘方法、装置、设备及存储介质 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN106502707B (zh) | 代码生成方法及装置 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN117032646A (zh) | 指标配置方法、指标执行方法及系统 | |
CN115292178A (zh) | 测试数据搜索方法、装置、存储介质以及终端 | |
CN114115908A (zh) | 一种指令集生成、程序解析方法装置、设备以及存储介质 | |
CN113010409A (zh) | 智能合约测试方法及装置、电子设备、存储介质 | |
CN113553202B (zh) | 组合消息序列的验证方法、装置及存储介质 | |
CN112068814A (zh) | 可执行文件的生成方法、装置、系统及介质 | |
CN111258628A (zh) | 一种规则文件比对方法、装置、可读存储介质及终端设备 | |
CN114629954B (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 |