【技术实现步骤摘要】
应用程序编程接口API信息的处理方法、装置和设备
本申请涉及数据处理领域,尤其涉及信息流
技术介绍
随着互联网的发展,网络访问流量越来越大,对服务的稳定性和可用性要求越来越高,高可用已经作为衡量一个服务性能的重要标准。应用程序编程接口(ApplicationProgrammingInterface,API)网关通常作为API的统一出入口,会提供负载均衡、服务降级、限流和熔断等功能,对服务的稳定性和可用性具有非常重要的作用。现有的API网关进行路由时,通常是客户端向API网关发送请求后,服务器将该请求和网关中的API配置信息进行匹配,获得所有匹配成功的API配置信息。由于API网关提供了路由路径(Path)通配符,因此匹配成功的API配置信息可能会有多个,然后再按照一定的优先级规则找出优先级最高的API配置。然而,上述匹配API配置信息的方式,路由效率较低。
技术实现思路
本申请实施例提供一种API信息的处理方法、装置和设备,可以提高路由的效率。第一方面,本申请实施例提供应用程序编程接口API信息的处理方法,该方法包括:接收终端设备发送的请求信息,所述请求信息中包括入口方法;根据所述入口方法,确定与所述入口方法对应的多个目标API配置信息;按照所述多个目标API配置信息的优先级从高到低的顺序,将所述请求信息依次与所述多个目标API配置信息进行匹配;当匹配成功时,则执行与匹配成功的目标API配置信息相关的操作。可以看出,与现有技术不同的是,本申 ...
【技术保护点】
1.一种应用程序编程接口API信息的处理方法,其特征在于,包括:/n接收终端设备发送的请求信息,所述请求信息中包括入口方法;/n根据所述入口方法,确定与所述入口方法对应的多个目标API配置信息;/n按照所述多个目标API配置信息的优先级从高到低的顺序,将所述请求信息依次与所述多个目标API配置信息进行匹配;/n当匹配成功时,则执行与匹配成功的目标API配置信息相关的操作。/n
【技术特征摘要】
1.一种应用程序编程接口API信息的处理方法,其特征在于,包括:
接收终端设备发送的请求信息,所述请求信息中包括入口方法;
根据所述入口方法,确定与所述入口方法对应的多个目标API配置信息;
按照所述多个目标API配置信息的优先级从高到低的顺序,将所述请求信息依次与所述多个目标API配置信息进行匹配;
当匹配成功时,则执行与匹配成功的目标API配置信息相关的操作。
2.根据权利要求1所述的方法,其特征在于,所述根据所述入口方法,确定与所述入口方法对应的多个API配置信息,包括:
根据所述入口方法,确定与所述入口方法对应的目标API列表,所述目标API列表中包括按照优先级从高到低的顺序排列的所述多个目标API配置信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取多个API配置信息;
根据每个API配置信息所包括的入口方法,对多个API配置信息进行分类,得到多个API列表,其中,每个API列表对应一类API配置信息;
针对每个API列表,按照优先级从高到低的顺序,对所述API列表中的API配置信息进行排序;
所述根据所述入口方法,确定与所述入口方法对应的目标API列表,包括:
根据所述入口方法,从所述多个API列表中确定所述目标API列表。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取第一目标API配置信息的第一路由路径和第二目标API配置信息的第二路由路径,所述第一目标API配置信息和所述第二目标API配置信息为多个目标API配置信息中的任意两个目标API配置信息;
根据预设字符,分别对所述第一路由路径和所述第二路由路径进行分割,获得所述第一路由路径对应的n个第一字符串数组,以及所述第二路由路径对应的m个第二字符串数组,其中,n和m均为正整数;
根据所述n个第一字符串数组和所述m个第二字符串数组,确定所述第一目标API配置信息和所述第二目标API配置信息的优先级。
5.根据权利要求4所述的方法,其特征在于,所述根据所述n个第一字符串数组和所述m个第二字符串数组,确定所述第一目标API配置信息和所述第二目标API配置信息的优先级,包括:
按照由前向后的顺序,将所述n个第一字符串数组和所述m个第二字符串数组进行比较,当存在第i个第一字符串数组和第i个第二字符串数组的优先级不相等时,则确定优先级高的字符串数组对应的目标API配置信息的优先级,高于优先级低的字符串数组对应的目标API配置信息的优先级,i为大于零的整数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若n大于m,且n个第一字符串数组中前m个第一字符串数组的优先级分别与m个第二字符串数组的优先级均相等,则确定所述n个第一字符串数组中第m+1个第一字符串数组的内容;
若所述内容为第一字符,则确定所述第一目标API配置信息的优先级低于所述第二目标API配置信息的优先级。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若n小于m,且m个第二字符串数组中前n个第二字符串数组的优先级分别与n个第一字符串数组的优先级均相等,则确定所述m个第二字符串数组中第n+1个第二字符串数组的内容;
若所述内容为第一字符,则确定所述第二目标API配置信息的优先级低于所述第一目标API配置信息的优先级。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
若所述内容为除所述第一字符之外的第二字符时,或者,若n等于m,且n个第一字符串数组的优先级分别与m个第二字符串数组的优先级均相等时,则分别确定所述第一目标API配置信息和所述第二目标API配置信息中具有固定值的参数的个数;
确定具有固定值的参数的个数多的目标API配置信息的优先级,高于具有固定值的参数的个数少的目标API配置信息。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若所述第一目标API配置信息中具有固定值的参数的个数等于所述第二目标API配置信息中具有固定值的参数的个数,则分别确定所述第一目标API配置信息和所述第二目标API配置信息中必选参数的个数;
确定必选参数的个数多的目标API配置信息的优先级,高于必选参数的个数少的目标API配置信息。
10.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述请求信息依次与所述多个目标API配置信息进行匹配,包括:
分别将所述请求信息中的入口方法、路由路径和参数位置,依次与所述目标API配置信息中的入口方法、路由路径和参数位置进行匹配,其中,所述请求信息中的参数位置和所述目标API配置信息中的参数位置均包括请求参数、头参数和主体参数。
11.一种应用程序编程接口API信息的处理装置,其特征在于,包括:
接收模块,用于接收终端设备发送的请求信息,所述请求信息中包括入口方法;
处理模块,用于根据所述入口方法,确定与所述入口方法对应的多个目标API配置信息;
所述...
【专利技术属性】
技术研发人员:郭少卿,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。