应用程序编程接口API信息的处理方法、装置和设备制造方法及图纸

技术编号:24863155 阅读:50 留言:0更新日期:2020-07-10 19:13
本申请公开了一种应用程序编程接口API信息的处理方法、装置和设备,涉及信息流技术领域。具体实现方案为:接收终端设备发送的请求信息,所述请求信息中包括入口方法;根据所述入口方法,确定与所述入口方法对应的多个目标API配置信息;按照所述多个目标API配置信息的优先级从高到低的顺序,将所述请求信息依次与所述多个目标API配置信息进行匹配;当匹配成功时,则执行与匹配成功的目标API配置信息相关的操作。可以看出,本申请实施例中在将请求信息与API配置信息进行匹配时,是按照目标API配置信息的优先级从高到低的顺序进行匹配的,当匹配成功时,将不会再继续进行匹配,由此可以提高路由的效率。

【技术实现步骤摘要】
应用程序编程接口API信息的处理方法、装置和设备
本申请涉及数据处理领域,尤其涉及信息流

技术介绍
随着互联网的发展,网络访问流量越来越大,对服务的稳定性和可用性要求越来越高,高可用已经作为衡量一个服务性能的重要标准。应用程序编程接口(ApplicationProgrammingInterface,API)网关通常作为API的统一出入口,会提供负载均衡、服务降级、限流和熔断等功能,对服务的稳定性和可用性具有非常重要的作用。现有的API网关进行路由时,通常是客户端向API网关发送请求后,服务器将该请求和网关中的API配置信息进行匹配,获得所有匹配成功的API配置信息。由于API网关提供了路由路径(Path)通配符,因此匹配成功的API配置信息可能会有多个,然后再按照一定的优先级规则找出优先级最高的API配置。然而,上述匹配API配置信息的方式,路由效率较低。
技术实现思路
本申请实施例提供一种API信息的处理方法、装置和设备,可以提高路由的效率。第一方面,本申请实施例提供应用程序编程接口API信息的处理方法,该方法包括:接收终端设备发送的请求信息,所述请求信息中包括入口方法;根据所述入口方法,确定与所述入口方法对应的多个目标API配置信息;按照所述多个目标API配置信息的优先级从高到低的顺序,将所述请求信息依次与所述多个目标API配置信息进行匹配;当匹配成功时,则执行与匹配成功的目标API配置信息相关的操作。可以看出,与现有技术不同的是,本申请实施例在将请求信息与API配置信息进行匹配时,是按照目标API配置信息的优先级从高到低的顺序进行匹配的,当匹配成功时,将不会再继续进行匹配,此时匹配成功的目标API配置信息即为所有能够与请求信息匹配成功的API配置信息中优先级最高的,由此可以提高路由的效率。第二方面,本申请实施例还提供一种应用程序编程接口API信息的处理装置,该装置包括:接收模块,用于接收终端设备发送的请求信息,所述请求信息中包括入口方法;处理模块,用于根据所述入口方法,确定与所述入口方法对应的多个目标API配置信息;所述处理模块,还用于按照所述多个目标API配置信息的优先级从高到低的顺序,将所述请求信息依次与所述多个目标API配置信息进行匹配;所述处理模块,还用于在匹配成功时,则执行与匹配成功的目标API配置信息相关的操作。第三方面,本申请实施例还提供一种电子设备,该电子设备可以包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面任一种可能的实现方式中所述的API信息的处理方法。第四方面,本申请实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述第一方面任一种可能的实现方式中所述的API信息的处理方法。上述申请中的一个实施例具有如下优点或有益效果:服务器通过接收终端设备发送的请求信息,该请求信息中包括入口方法,并根据该入口方法,确定与入口方法对应的多个目标API配置信息,然后按照目标API配置信息的优先级从高到低的顺序,将请求信息依次与多个目标API配置信息进行匹配,当匹配成功时,则执行与匹配成功的目标API配置信息相关的操作。由于在将请求信息与API配置信息进行匹配时,是按照目标API配置信息的优先级从高到低的顺序进行匹配的,当匹配成功时,将不会再继续进行匹配,此时匹配成功的目标API配置信息即为所有能够与请求信息匹配成功的API配置信息中优先级最高的,由此可以提高路由的效率。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1为本申请实施例提供的API信息的处理方法的系统架构图;图2是本申请实施例一提供的API信息的处理方法的流程示意图;图3是本申请实施例二提供的API信息的处理方法的流程示意图;图4是本申请实施例三提供的API信息的处理方法的流程示意图;图5是本申请实施例提供的API信息的处理装置的结构示意图;图6是用来实现本申请实施例的API信息的处理方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。图1为本申请实施例提供的API信息的处理方法的系统架构图,如图1所示,该系统架构中可以包括终端设备101、服务器102和服务器103。其中,终端设备可以为支持信息通信,并能够对数据进行处理的各种设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等。通常,如需在API调用过程中加入鉴权、流控等通用功能,并且不希望引入额外的开发量时,可以在服务器102中部署API网关。其中,API网关中包括多个API配置信息,服务器102在接收到终端设备101发送的请求信息时,服务器102需要将该请求信息路由到对应的API配置信息,并根据该API配置信息执行相关的操作,执行完之后,再将该请求信息转发给服务器103。需要进行说明的是,上述服务器102和服务器103可以为不同的服务器,也可以为同一个服务器。另外,值得注意的是,上述图1中所示的终端设备、网络和服务器的数量和类型仅作为示意,在实际应用中,根据实现的需要,可以具有任意数量和类型的电子设备、网络和服务器。服务器在将接收到的请求信息路由到对应的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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1