本技术涉及网关路由,尤其涉及一种服务请求路由方法、装置、设备及可读存储介质。
背景技术:
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、可选地,所述依据各所述预设路由规则中定义的接口信息,确定各所述预设路由规则对应的补偿优先级分数的步骤,包括:
31、对于任一所述预设路由规则,统计所述预设路由规则中定义的接口信息中所包含的子信息的数量,得到目标数量;
32、依据所述目标数量,查找所述预设路由规则对应的补偿优先级分数。
33、本技术还提供一种服务请求路由装置,所述服务请求路由装置包括:
34、获取模块,用于获取目标提取规则,其中,所述目标提取规则为预设的各提取规则中,优先级最高的提取规则,所述提取规则的优先级越高则对应需提取出的接口信息越多;
35、提取模块,用于基于所述目标提取规则,提取目标服务请求的目标接口信息;
36、匹配模块,用于将所述目标接口信息与各预设路由规则进行匹配;
37、确定模块,用于若所述目标接口信息与各所述预设路由规则均不匹配,则从预设的各所述提取规则中选取下一优先级的提取规则作为新的目标提取规则,返回执行所述基于所述目标提取规则,提取目标服务请求的目标接口信息的步骤,直至确定与所述目标接口信息相匹配的目标路由规则;
38、路由模块,用于将所述目标服务请求路由至所述目标路由规则中定义的目标路由地址。
39、本技术还提供一种服务请求路由设备,所述服务请求路由设备为实体设备,所述服务请求路由设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述服务请求路由方法的步骤。
40、本技术还提供一种可读存储介质,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现服务请求路由方法的程序,所述实现服务请求路由方法的程序被处理器执行以实现如上所述服务请求路由方法的步骤。
41、本技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的服务请求路由方法的步骤。
42、本技术提供了一种服务请求路由方法,本技术通过设置多个用于提取接口信息的提取规则,并按各提取规则所需提取出的接口信息的信息量的大小确定各提取规则的使用顺序,也即确定各提取规则的优先级高低,从而能够在匹配路由规则的过程中,如果通过优先级最高的提取规则从目标服务请求中所提取出的目标接口信息无法匹配到相应的路由规则,则更换下一优先级的提取规则来从目标服务请求中提取新的目标接口信息,以在使用较多的信息量无法匹配到相应的路由规则的情形下减少从目标服务请求中提取出的目标接口信息的信息量,也即减少用于与各预设路由规则进行匹配的目标接口信息的信息量,从而,本技术能够在匹配路由规则的过程中,通过变更提取规则来不断减少从服务请求中提取出的接口信息的信息量,由此,仅需存在路由规则与所提取出的接口信息匹配,则可判定该路由规则与服务请求匹配,以降低服务请求匹配不到路由规则的概率,解决了现有的路由规则的匹配方式的匹配容错性低的技术问题,提高了路由规则的匹配容错性。
43、另外地,由于本技术在为服务请求匹配相应的路由规则时,优先是通过较多的信息量与各路由规则进行匹配,也就是说,会优先通过能够确保匹配得到的路由规则的准确性的信息量与各路由规则进行匹配,而如果通过较多的信息量无法匹配到相应的路由规则,则会减少用于与路由规则进行匹配的信息量,由于本技术是通过更换提取规则来减少信息量,因而减少信息量的过程也是有规律的进行的,并不会减少掉一些必要的接口信息,所以对于路由规则的匹配准确性的影响也较小,也就是说,本技术能够在尽可能确保匹配得到的路由规则的准确性的基础上,提高路由规则的匹配容错性。