基于API网关的请求控制方法、装置、电子设备和存储介质制造方法及图纸

技术编号:27534511 阅读:22 留言:0更新日期:2021-03-03 11:18
本申请公开了基于API网关的请求控制方法、装置、电子设备和存储介质,涉及计算机网络领域。基于API网关的请求控制方法具体实现方案为:接收用于请求目标服务的客户端请求;确定与目标服务对应的目标应用编程接口;确定与目标应用编程接口匹配的目标计算空间,其中,目标计算空间中包括匹配条件,匹配条件包括多个应用编程接口的标识信息,多个应用编程接口共享与目标计算空间关联的请求控制策略;以及根据与目标计算空间关联的请求控制策略对客户端请求进行控制。户端请求进行控制。户端请求进行控制。

【技术实现步骤摘要】
基于API网关的请求控制方法、装置、电子设备和存储介质


[0001]本申请涉及计算机技术,具体涉及计算机网络技术。尤其涉及基于API网关的请求控制方法、装置、电子设备和存储介质。

技术介绍

[0002]应用编程接口(Application Programming Interface,API)网关是服务的入口。各个应用可以通过API网关接入服务。API网关中可以集成有路由、鉴权、流量控制、安全、缓存等功能。不同用户的应用可以连接API网关使用这些功能以接入服务。通过API网关统一提供这些服务,节省了应用开发者的精力,帮助开发者更专注于开发应用的业务能力。
[0003]API网关一般通过设置流量控制参数来进行流量控制,当监测到API网关接收到某一API请求的数量超过预设的流量控制参数时,API网关会向应用返回拒绝信息,并拒绝将API请求发送给服务,以保护服务集群的稳定运行。
[0004]但是,在实现本公开的过程中发现,现有的API请求控制方法不够灵活。

技术实现思路

[0005]提供了一种基于API网关的请求控制方法、装置、电子设备和存储介质。
[0006]根据第一方面,提供了一种基于API网关的请求控制方法,包括:接收用于请求目标服务的客户端请求;确定与上述目标服务对应的目标应用编程接口;确定与上述目标应用编程接口匹配的目标计算空间,其中,上述目标计算空间中包括匹配条件,上述匹配条件包括多个应用编程接口的标识信息,上述多个应用编程接口共享与上述目标计算空间关联的请求控制策略;以及根据与上述目标计算空间关联的请求控制策略对上述客户端请求进行控制。
[0007]根据第二方面,提供了一种基于API网关的请求控制装置,包括:接收模块,用于接收用于请求目标服务的客户端请求;第一确定模块,用于确定与上述目标服务对应的目标应用编程接口;第二确定模块,用于确定与上述目标应用编程接口匹配的目标计算空间,其中,上述目标计算空间中包括匹配条件,上述匹配条件包括多个应用编程接口的标识信息,上述多个应用编程接口共享与上述目标计算空间关联的请求控制策略;以及控制模块,用于根据与上述目标计算空间关联的请求控制策略对上述客户端请求进行控制。
[0008]根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行本申请上述的方法。
[0009]根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,上述计算机指令用于使上述计算机执行本申请上述的方法。
[0010]根据本申请的实施例,目标计算空间中包括匹配条件,匹配条件包括多个应用编程接口的标识信息,匹配条件中的多个应用编程接口可以共享与目标计算空间关联的请求
控制策略。无需为每个应用编程接口分别单独创建对应的流量控制策略,基于与目标计算空间关联的请求控制策略对客户端请求进行控制,达到了更加灵活的控制客户端请求的技术效果。
[0011]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0012]附图用于更好地理解本方案,不构成对本申请的限定。其中:
[0013]图1示意性示出了根据本公开实施例的可以应用基于API网关的请求控制方法及装置的示例性系统架构;
[0014]图2示意性示出了根据本公开实施例的基于API网关的请求控制方法的流程图;
[0015]图3示意性示出了根据本公开实施例的目标计算空间与请求控制策略关联的示意图;
[0016]图4示意性示出了根据本公开实施例的客户端请求不同API的示意图;
[0017]图5示意性示出了根据本公开实施例的不同API共享同一计算空间的流量计算值的示意图;
[0018]图6示意性示出了根据本公开实施例的根据与目标计算空间关联的请求控制策略对客户端请求进行控制的流程图;
[0019]图7示意性示出了根据本公开实施例的确定与目标应用编程接口匹配的目标计算空间的流程图;
[0020]图8A~8C示意性示出了根据本公开实施例的不同计算空间和请求控制策略关联的示意图;
[0021]图9示意性示出了根据本公开实施例的基于API网关的请求控制装置的框图;以及
[0022]图10示意性示出了根据本公开实施例的适于实现基于API网关的请求控制方法的电子设备的框图。
具体实施方式
[0023]以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0024]图1示意性示出了根据本公开实施例的可以应用基于API网关的请求控制方法及装置的示例性系统架构。
[0025]需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的
技术实现思路
,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
[0026]如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,API网关104,服务器105、106。API网关104设置在终端设备101、102、103和服务器105、106之间。
[0027]API网关104可以包含统一接入、协议适配、流量管理与容错、以及安全防护功能。
API网关104可以负责统一接入,然后将请求的协议转换成内部的接口协议,API网关104还可以在调用的过程中进行限流、降级、熔断等容错的方式来保护服务的整体稳定,同时,API网关104还可以进行基本的安全防护,以及黑白名单(比如IP白名单)等基本安全措施。
[0028]用户可以使用终端设备101、102、103通过API网关104与服务器105、106交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
[0029]用户通过应用发出的客户端请求经过API网关104可以转发至目标服务器,在API网关104中可以对客户端请求进行流量控制,以避免某一服务接收到过多的客户端请求,影响服务的稳定运行。
[0030]终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0031]服务器105、106可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的内容提供支持的后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于API网关的请求控制方法,包括:接收用于请求目标服务的客户端请求;确定与所述目标服务对应的目标应用编程接口;确定与所述目标应用编程接口匹配的目标计算空间,其中,所述目标计算空间中包括匹配条件,所述匹配条件包括多个应用编程接口的标识信息,所述多个应用编程接口共享与所述目标计算空间关联的请求控制策略;以及根据与所述目标计算空间关联的请求控制策略对所述客户端请求进行控制。2.根据权利要求1所述的方法,其中,所述请求控制策略包括至少一个控制维度,每个所述控制维度具有预设限制参数;所述多个应用编程接口共享所述目标计算空间在每个所述控制维度的流量计算值。3.根据权利要求2所述的方法,其中,所述根据与所述目标计算空间关联的请求控制策略对所述客户端请求进行控制包括:获取所述目标计算空间在每个所述控制维度下的流量计算值;根据所述客户端请求的请求参数和所述目标计算空间在每个所述控制维度下的流量计算值,计算所述目标计算空间在每个所述控制维度下的当前流量计算值;以及在所述目标计算空间在每个所述控制维度下的当前流量计算值满足所述控制维度的预设限制参数的情况下,允许所述客户端请求进行访问。4.根据权利要求3所述的方法,还包括:在所述目标计算空间在每个所述控制维度下的当前流量计算值不满足所述控制维度的预设限制参数的情况下,拒绝所述客户端请求。5.根据权利要求3所述的方法,其中,所述客户端请求的请求参数包括:发送所述客户端请求的客户端的属性信息和/或所述客户端请求的数据包大小。6.根据权利要求3所述的方法,其中,所述目标计算空间在每个所述控制维度下的流量计算值通过如下方式计算得到:在接收到用于请求与所述多个应用编程接口各自对应的服务的客户端请求的情况下,在每个所述控制维度下,通过累加每个与所述应用编程接口对应的服务的客户端请求的流量值,得到所述流量计算值。7.根据权利要求2所述的方法,其中,所述控制维度包括以下至少一种:客户端网络地址、客户端标识、客户端账号。8.根据权利要求2所述的方法,其中,所述预设限制参数包括以下至少一种:单位时间内的请求次数、第一预设时长范围内的请求次数、单次请求数据量、第二预设时长范围内的请求数据量。9.根据权利要求1所述的方法,其中,所述确定与所述目标应用编程接口匹配的目标计算空间包括:将所述目标应用编程接口的标识信息与多个计算空间中每个计算空间各自包括的应用编程接口的标识信息进行匹配;以及将包括所述目标应用编程接口的标识信息的计算空间作为所述目标计算空间。10.根据权利要求1所述的方法,其中,所述API网关中注册有不同服务各自对应的应用编程接口。
11.一种基于API网关的请求控制装置,包括:接收模块,用于接收用于请求目标服务的客户端请求;第一确定模块,用于确定...

【专利技术属性】
技术研发人员:郑伟强
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1