数据校验方法、装置、设备、存储介质及程序产品与流程
- 国知局
- 2024-10-21 14:24:07
本技术涉及信息处理,尤其涉及一种数据校验方法、装置、设备、存储介质及程序产品。
背景技术:
1、随着计算机技术的不断发展,基于计算机的业务应用越来越广泛。而业务所涉及的业务数据在多方之间传输时,往往需要对业务数据进行数据校验。
2、相关技术中,业务数据的数据校验是这样实现的:开发人员预先将每种业务数据的数据校验规则编写成数据校验代码,然后将数据校验代码再硬编码至该业务数据的业务逻辑代码中,从而通过执行业务逻辑代码,在执行业务逻辑代码的同时,实现对业务数据的校验。但是,随着数据校验规则的复杂化,实现逻辑和代码也越来越复杂;且由于是硬编码于业务逻辑代码中,更导致了维护和复用的复杂。
技术实现思路
1、本技术实施例提供一种数据校验方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够简化数据校验的实现逻辑,提高数据校验规则的灵活性,便于数据校验规则的维护和复用,并能够提高数据校验的开发效率。
2、本技术实施例的技术方案是这样实现的:
3、本技术实施例提供一种数据校验方法,包括:
4、当接收到目标业务的业务数据时,从至少一个数据结构中,确定所述业务数据的目标数据结构,各所述数据结构分别预定义有相应的数据校验规则;
5、获取针对所述目标数据结构预定义的目标数据校验规则;
6、对所述目标数据校验规则进行解析,得到解析后数据校验规则;
7、采用所述解析后数据校验规则,对所述业务数据进行数据校验,得到所述业务数据的校验结果,以基于得到的所述校验结果,对所述业务数据执行所述目标业务的业务逻辑。
8、本技术实施例还提供一种数据校验装置,包括:
9、确定模块,用于当接收到目标业务的业务数据时,从至少一个数据结构中,确定所述业务数据的目标数据结构,各所述数据结构分别预定义有相应的数据校验规则;
10、获取模块,用于获取针对所述目标数据结构预定义的目标数据校验规则;
11、解析模块,用于对所述目标数据校验规则进行解析,得到解析后数据校验规则;
12、校验模块,用于采用所述解析后数据校验规则,对所述业务数据进行数据校验,得到所述业务数据的校验结果,以基于得到的所述校验结果,对所述业务数据执行所述目标业务的业务逻辑。
13、在上述方案中,所述目标数据结构包括目标字段,所述目标字段用于定义所述目标数据结构的数据校验规则;所述获取模块,还用于对所述业务数据进行解析,确定所述目标字段的目标字段值;将所述目标字段值,作为针对所述目标数据结构预定义的目标数据校验规则。
14、在上述方案中,所述目标数据结构包括目标字段,所述目标字段用于存储所述目标数据结构的数据校验规则的指示信息;所述获取模块,还用于对所述业务数据进行解析,确定所述目标字段的目标字段值,所述目标字段值为所述指示信息;获取所述指示信息所指示的数据校验规则;将所述指示信息所指示的数据校验规则,作为针对所述目标数据结构预定义的目标数据校验规则。
15、在上述方案中,所述获取模块,还用于获取在定义所述目标数据结构时、针对所述目标数据结构编辑的注释信息;从所述注释信息中,提取针对所述目标数据结构编辑的注释数据校验规则;将所述注释数据校验规则,作为针对所述目标数据结构预定义的目标数据校验规则。
16、在上述方案中,所述获取模块,还用于获取数据结构和数据校验规则之间的对应关系;基于所述对应关系,从包括多种所述数据校验规则的数据校验规则库中,获取所述目标数据结构对应的数据校验规则;将所述目标数据结构对应的数据校验规则,作为针对所述目标数据结构预定义的目标数据校验规则。
17、在上述方案中,当所述目标数据校验规则包括单条校验规则时,所述解析模块,还用于获取所述目标数据校验规则的校验规则语法;基于所述校验规则语法,对所述目标数据校验规则进行解析,得到所述目标数据校验规则的校验规则语法树,所述校验语法树包括符合所述目标数据校验规则的校验表达式和校验运算符;基于所述校验表达式和所述校验运算符,生成所述解析后数据校验规则。
18、在上述方案中,所述解析模块,还用于基于所述校验表达式和所述校验运算符,将所述校验语法树转换为目标形式的目标表达式,并将所述目标表达式作为所述解析后数据校验规则。
19、在上述方案中,当所述目标数据校验规则包括多条子校验规则时,所述解析模块,还用于对所述目标数据校验规则进行拆分,得到各条所述子校验规则,并针对各条所述子校验规则分别执行如下处理:获取所述子校验规则的校验规则语法;基于所述校验规则语法,对所述子校验规则进行解析,得到所述子校验规则的校验规则语法树,所述校验语法树包括符合所述子校验规则的校验表达式和校验运算符;基于所述校验表达式和所述校验运算符,生成所述子校验规则的解析后子校验规则;其中,各所述子校验规则的解析后子校验规则,组成所述解析后数据校验规则。
20、在上述方案中,所述校验模块,还用于对所述业务数据进行解析,确定所述业务数据中待校验字段的字段值;采用所述解析后数据校验规则,对所述待校验字段的字段值进行校验,得到所述业务数据的校验结果。
21、在上述方案中,所述校验模块,还用于对所述业务数据进行解析,得到所述业务数据包括的各个字段;获取各所述字段的字段名;根据各所述字段的字段名以及所述解析后数据校验规则,确定所述业务数据中的待校验字段,并获取所述待校验字段的字段值。
22、在上述方案中,当所述解析后数据校验规则包括多条解析后校验规则、且所述待校验字段的数量为多个时,所述校验模块,还用于针对各所述解析后校验规则,分别执行如下处理:确定所述解析后校验规则对应的待校验字段组,所述待校验字段组包括至少一个所述待校验字段;采用所述解析后校验规则,对所述待校验字段组中待校验字段的字段值进行校验,得到所述待校验字段组的字段组校验结果;基于各所述解析后校验规则对应的字段组校验结果,确定所述业务数据的校验结果。
23、在上述方案中,所述校验模块,还用于在所述采用所述解析后数据校验规则,对所述业务数据进行数据校验,得到所述业务数据的校验结果之后,当所述校验结果表征所述业务数据校验未通过时,获取所述业务数据的校验告警策略;基于所述校验告警策略,对所述校验结果进行告警处理。
24、本技术实施例还提供一种电子设备,包括:
25、存储器,用于存储计算机可执行指令;
26、处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本技术实施例提供的数据校验方法。
27、本技术实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现本技术实施例提供的数据校验方法。
28、本技术实施例还提供一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令被处理器执行时,实现本技术实施例提供的数据校验方法。
29、本技术实施例具有以下有益效果:
30、应用本技术上述实施例,针对业务数据的每种数据结构,均预定义了相应的数据校验规则,当接收到目标业务的业务数据时,则获取针对该业务数据的目标数据结构预定义的目标数据校验规则,然后解析目标数据校验规则,以采用解析后数据校验规则实现业务数据的校验,从而在针对业务数据执行业务逻辑之前,即可实现业务数据的数据校验。如此,仅需要对每种数据结构预定义相应的数据校验规则,无需编写数据校验规则的校验代码、以及将校验代码硬编码至业务逻辑代码中,简化了数据校验的实现逻辑,提高了数据校验规则的灵活性,便于数据校验规则的维护和复用,并提高了数据校验的开发效率。
本文地址:https://www.jishuxx.com/zhuanli/20241021/317997.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表