本技术属于大数据,尤其涉及一种报文的校验方法、装置、设备、介质及程序产品。
背景技术:
1、在一些系统设计中,单个接口被设计为处理多样化的逻辑请求,为了确保请求的准确性和业务逻辑的正确执行,需要对请求报文进行校验。由于请求报文中携带有请求类型信息和待校验的参数字段对应的参数信息,因此系统根据请求类型信息可以匹配到相应的报文校验策略,报文校验策略中包括每个待校验的参数字段对应的校验逻辑代码。
2、然而,随着系统复杂度的增加和请求类型的多样化,对于众多不同类型的请求,开发人员需要逐一编写每个字段的校验逻辑代码,这不仅工作量大,而且极易导致大量重复代码的出现。并且由于每个请求类型可能包含多个共同的校验字段,这些字段的校验逻辑在多个校验策略中被重复编写,进一步加剧了代码的冗余。再者,当系统需要新增或修改请求类型时,往往只能通过重新编写代码或者在现有校验策略的基础上进行复制和修改来实现,难以灵活扩展,不利于后期维护。
3、因此,相关技术在设计报文校验时,存在工作量大、代码冗余度高、难以灵活扩展和维护的问题,无法满足快速变化的业务场景。
技术实现思路
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、本技术实施例的报文的校验方法、装置、设备、介质及程序产品,该方法通过在接收到请求报文的情况下,按照预设的拆分规则,对请求报文进行拆分,可以得到请求报文中报文类型字段对应的报文类型标识信息和参数字段对应的参数信息,参数字段包括没有分组的第一参数字段和被分到校验组的第二参数字段,其中,报文类型标识信息表示报文属于哪种类型,不同的报文类型对应了不同的校验策略,参数字段是待校验的字段。然后,在预设的报文类型标识与报文校验策略的对应关系中,可以获取报文类型标识信息对应的目标报文校验策略,其中,目标报文校验策略包括第一参数字段对应的第一字段校验规则标识的信息和第二参数字段对应的校验组标识信息,也就是说请求报文中的报文类型标识信息用于查找目标报文校验策略。接着,在预设的校验组标识与第二参数字段对应的第二字段校验规则标识的对应关系中,获取校验组标识信息对应的目标第二字段校验规则标识,至此找到了参数字段中没有分组的第一参数字段对应的第一字段校验规则标识,以及被分到校验组的第二参数字段对应的目标第二字段校验规则标识。接下来,在预设的字段校验规则标识与字段校验规则可执行脚本的对应关系中,获取第一字段校验规则标识和目标第二字段校验规则标识分别对应的目标校验规则可执行脚本,并将参数字段对应的参数信息分别代入并运行对应的目标校验规则可执行脚本,得到参数字段对应的字段校验结果。再按照预设的第一目标布尔组合规则,将字段校验结果进行布尔组合,得到请求报文的报文校验结果。从而通过引入校验组,将不同报文的具有相同校验规则的参数字段对应的校验规则以校验组的形式进行管理,降低了工作量,减少了重复代码,提高了代码的可读性和可维护性,还增强了系统的可扩展性和灵活性,并且引入布尔组合规则使得系统能够综合考虑多个字段的校验结果,进一步提高了报文校验的灵活性。