访问限流方法、装置、设备、存储介质及计算机程序产品

文档序号:1908209 发布日期:2021-11-30 浏览:15次 >En<

阅读说明:本技术 访问限流方法、装置、设备、存储介质及计算机程序产品 (Access current limiting method, device, equipment, storage medium and computer program product ) 是由 陈录城 官祥臻 孙来超 刘杰 杨轩 张永庆 于 2021-09-09 设计创作,主要内容包括:本申请提供一种访问限流方法、装置、设备、存储介质及计算机程序产品。该方法包括:当检测到多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,针对每一终端设备,在访问接口外拦截终端设备发送的目标访问请求;判断预设时间段内接收到目标访问请求的次数;若次数大于第二预设值,则将目标访问请求发送给访问接口。本申请能够提高用户访问接口的成功率。(The application provides an access current limiting method, device, equipment, storage medium and computer program product. The method comprises the following steps: when the number of access requests sent to an access interface by a plurality of terminal equipment is detected to exceed a first preset value, a target access request sent by the terminal equipment is intercepted outside the access interface aiming at each terminal equipment; judging the times of receiving the target access request in a preset time period; and if the times are greater than a second preset value, sending the target access request to an access interface. The method and the device can improve the success rate of the user to access the interface.)

访问限流方法、装置、设备、存储介质及计算机程序产品

技术领域

本申请涉及通信技术,尤其涉及一种访问限流方法、装置、设备、存储介质及计算机程序产品。

背景技术

在互联网应用中经常会出现突发流量洪峰的情况,而任何系统的处理能力均有上限,当请求量超过系统处理能力时,通常会引起排队,造成响应时间迅速提升。如果对服务占用的资源量没有约束,还可能因为系统资源占用过多而宕机。为了保证系统在遭遇突发请求时能够稳定运行,业界通常采用的手段有缓存、限流或降级,其中,限流是当请求流量超过系统的瓶颈时,可进行拒绝服务、排队或等待、降级等处理的方式。

现有网络请求的限流组件均为正向限流,即当流量超过一定数量后开始进行限流,从而对一个时间窗口内的并发请求进行限速,以保护通信系统。然而在上述方法中,由于在该时间窗口内会对所有的请求均会限速,导致用户访问接口的成功率较低。

发明内容

本申请提供一种访问限流方法、装置、设备、存储介质及计算机程序产品,可以在保证系统稳定运行的同时,提高用户访问接口的成功率。

第一方面,本申请提供一种访问限流方法,包括:

当检测到多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,针对每一终端设备,在访问接口外拦截终端设备发送的目标访问请求;

判断预设时间段内接收到目标访问请求的次数;

若次数大于第二预设值,则将目标访问请求发送给访问接口。

在一种可能的实现方式中,判断预设时间段内接收到目标访问请求的次数,包括:

判断目标访问请求是否为非首次访问访问接口的请求;

若目标访问请求为非首次访问访问接口的请求,则判断预设时间段内接收到目标访问请求的次数。

在一种可能的实现方式中,方法还包括:

若次数不大于第二预设值,则禁止访问接口接收目标访问请求。

在一种可能的实现方式中,将目标访问请求发送给访问接口之后,方法还包括:

更新接收到目标访问请求的次数。

在一种可能的实现方式中,在访问接口外拦截用户发送的目标访问请求,包括:

获取访问接口的接口配置信息;

判断接口配置信息中是否包括限流配置信息;

若接口配置信息中包括限流配置信息,则在访问接口外拦截目标访问请求。

第二方面,本申请提供一种访问限流装置,包括:

拦截模块,用于在检测到多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,针对每一终端设备,在访问接口外拦截终端设备发送的目标访问请求;

判断模块,用于判断预设时间段内接收到目标访问请求的次数;

发送模块,用于在次数大于第二预设值时,将目标访问请求发送给访问接口。

在一种可能的实现方式中,判断模块,具体用于:

判断目标访问请求是否为非首次访问访问接口的请求;

若目标访问请求为非首次访问访问接口的请求,则判断预设时间段内接收到目标访问请求的次数。

在一种可能的实现方式中,发送模块,还用于:

若目标访问请求为首次访问访问接口的请求,用于将目标访问请求发送给访问接口。

在一种可能的实现方式中,该装置还包括:处理模块;

处理模块,用于在次数不大于第二预设值时,禁止访问接口接收目标访问请求。

在一种可能的实现方式中,该装置还包括:更新模块;

更新模块,用于更新接收到目标访问请求的次数。

在一种可能的实现方式中,拦截模块,具体用于:

获取访问接口的接口配置信息;

判断接口配置信息中是否包括限流配置信息;

若接口配置信息中包括限流配置信息,则在访问接口外拦截目标访问请求。

第三方面,本申请实施例还提供了一种服务器,该服务器可以包括处理器和存储器;其中,

存储器,用于存储计算机程序。

处理器,用于读取存储器存储的计算机程序,并根据存储器中的计算机程序执行上述第一方面任一种可能的实现方式中的访问限流方法。

第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现上述第一方面任一种可能的实现方式中的访问限流方法。

第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述第一方面任一种可能的实现方式的访问限流方法。

本申请实施例提供的访问限流方法、装置、设备、存储介质及计算机程序产品,通过检测到多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,针对每一终端设备,在访问接口外拦截终端设备发送的目标访问请求,然后判断预设时间段内接收到目标访问请求的次数,若次数大于第二预设值,则将目标访问请求发送给访问接口。在大批量并发访问请求的场景下,会针对每一个终端设备,在访问接口外设置限流组件,通过限流方法拦截终端设备发送的目标访问请求,在预设时间内目标访问请求超过第二预设值,表示用户迫切需求访问该访问接口,此时限流组件会放行访问请求去调用访问接口。这样可以避免因个人频繁发送访问请求,导致系统开启限流而拒绝所有访问请求,从而在系统稳定运行的前提下提高用户访问的成功率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。附图为:

图1为本申请实施例提供的访问限流方法的系统架构图;

图2为本申请实施例提供的一种访问限流方法的流程示意图;

图3为服务器在访问接口外拦截目标访问请求的过程示意图;

图4为本申请实施例提供的一种滑动窗口接收访问请求的过程示意图;

图5为本申请实施例提供的一种对访问接口是否限流的方法的流程示意图;

图6为本申请实施例提供的一种访问限流装置的结构示意图;

图7为本申请实施例提供的一种服务器的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

为了帮助本领域技术人员更好地理解本申请的技术方案,下面将对本申请技术方案中涉及的相关内容进行介绍。

限流:是指限制数据流量的速率。是一个计算机网络的网络交通管理技术,从而延缓部分或所有数据包,使之符合用户所需的网络交通规则。

限流组件:是指包含某种限流方法或规则,对接口访问的频次进行限制,以减轻服务器压力的组件。

本申请实施例提供的访问限流方法,可以应用于高并发业务系统在遭遇大量频繁请求而需要进行限流的场景中。在高并发场景下,可以通过限流的方式对一个时间窗口内的并发请求进行限速,从而达到保护系统的目的。

现有的限流方法主要包括漏桶方法、令牌桶方法、计数器方法以及滑动窗口方法等。其中漏桶方法是将服务器处理请求的能力假设为一个桶,当有请求到来时,先将请求放到木桶中,服务器处理请求是以固定的速率从木桶中取出请求进行相应的处理。如果木桶满了,即到达了服务器的处理能力则拒绝服务新到的请求。在面对突发流量时,漏桶算法会出现大量请求失败的问题。令牌桶方法是以恒定的速度往木桶里加入令牌,木桶满了则不再加入令牌。服务收到请求时尝试从木桶中取出一个令牌,如果能够得到令牌则继续执行后续的业务逻辑。如果没有得到令牌,直接返回访问频率超限的错误码或页面等,不继续执行后续的业务逻辑。计数器算法其思想是在固定时间窗口内对请求进行计数,与阀值进行比较判断是否需要限流,一旦到了时间临界点,将计数器清零,存在“时间临界点”缺陷,导致系统出现瞬时双倍流量而崩溃。滑动窗口方法则是将一个大的时间窗口分成多个小窗口,每次大窗口向后滑动一个小窗口,并保证大的窗口内流量不会超出最大值以实现限流。

然而,不论是上述的哪一种限流方法,均是在访问请求的数量超过服务器处理能力后开始进行限流,而且在限流过程中,服务器将拒绝接收所有用户发送的所有访问请求,造成用户访问业务接口的成功率较低,导致用户体验较差。

以购物系统中用户需在购物应用程序(Application,APP)的订单列表中查看物流状态信息为例,当用户通过终端设备访问自己的订单列表时,若订单中已经添加了物流单号,但是后台还没有刷新到该订单的物流状态时,终端设备将会调用第三方物流接口刷新物流状态。在这个过程中,当用户访问频率太过频繁时,发送的访问请求将会被第三方接口限制,而且在此后的一段时间内所有用户发出的访问请求都被拒绝服务,从而导致所有用户的物流状态都无法查询及刷新,将会导致用户访问业务接口的成功率较低,给用户带来不好的用户体验。有鉴于此,本申请实施例提出了一种访问限流方法、装置、设备、存储介质及计算机程序产品。

本申请实施例提供的访问限流方法,在该方法中,当多用户使用终端设备并发向访问接口发出访问请求时,会对每一个终端设备的访问请求进行限流。当在一个预设时间段内,统计滑动窗口内接收到目标访问请求的次数,当次数大于设定的预设值便允许调用访问接口,否则便执行访问限流。

通过这种方式,能够弥补现有技术中漏桶和令牌桶的不足,抵御短时间内的大量访问请求冲击。通过在预设时间段内访问请求的次数来对访问请求进行限流,从而为网络中访问请求提供一个稳定、高效的流量控制,提高用户访问接口的成功率。

图1为本申请实施例提供的一种访问限流方法的系统架构图,如图1所示,该系统中包括终端设备11、终端设备12、终端设备13与服务器15。其中,网络14为终端设备11、终端设备12、终端设备13和服务器15之间提供通信链路介质。用户可以使用终端设备11、终端设备12、终端设备13通过网络14与服务器15交互,以接收或发送消息等。

示例性的,用户可以通过终端设备11、终端设备12或终端设备13登录各终端设备上的应用操作界面,以向各终端设备发送各种指令或者信息,各终端设备基于用户发送的指令或者信息,向服务器15发送访问请求。

若服务器15在预设时间段内,同时接收到终端设备11、终端设备12或终端设备13发送的访问请求的数量超过第一预设值时,服务器15将会在访问请求发送至访问接口之前拦截各终端设备发送的访问请求。拦截之后,服务器15将判断在该预设时间段内接收到各个终端设备发送的访问请求的次数。假设终端设备11发送访问请求的次数超过第二预设值,则说明终端设备11对应的用户访问该访问接口的需求非常急迫,此时,会将目标访问请求发送给访问接口。并且,服务器将访问请求的次数未超过第二预设值的终端设备发送的访问请求进行拦截,从而得到限流的目的。

应该理解,在上述系统架构中的用户、终端设备11、终端设备12、终端设备13、网络14与服务器15的数目仅仅是示例性的,更多或更少的数量都属于本申请的保护范畴。并且,在上述系统中,终端设备11、终端设备12、终端设备13例如可以是个人计算机、服务器、平板、手机、PDA、笔记本或其它任何具有联网功能的计算设备。而服务器15则可以利用具有更强大处理能力和更高安全性的一个服务器或服务器组来实现。而它们之间所使用的网络14可以包括各种类型的有线和无线网络,例如但不局限于:互联网、局域网、WIFI、WLAN、蜂窝通信网络(GPRS、CDMA、2G/3G/4G/5G蜂窝网络)、卫星通信网络等等。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图2为本申请实施例提供的一种访问限流方法的流程示意图,本申请实施例提供了一种访问限流方法,该方法可以由任意执行访问限流方法的装置来执行,该装置可以通过软件和/或硬件实现。本实施例中,该装置可以集成在如图1所示的服务器15中。如图2所示,本申请实施例提供的访问限流方法包括如下步骤:

步骤201:当检测到多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,针对每一终端设备,在访问接口外拦截终端设备发送的目标访问请求。

在本实施例中,在预设时间段内,若多个终端设备同时向访问接口发送访问请求,也即多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,为了防止系统发生崩溃,通常此时需要进行限流操作。其中,第一预设值可以根据服务器能够处理的访问请求的数量进行设置,对于第一预设值的具体取值,本申请实施例在此不做任何限制。

针对每一个终端设备,服务器会在该终端设备发送的目标访问请求发送至访问接口之前,拦截该目标访问请求。其中,拦截通常是使用添加的限流方法或规则对新产生的访问请求阻止直接调用访问接口。

具体的,当用户通过终端设备发送访问请求去调用访问接口时,服务器会接收到终端设备发送的目标访问请求,并在访问接口外先拦截该目标访问请求。图3是服务器在访问接口外拦截目标访问请求的示意图,如图3所示,当服务器同时接收到多个用户使用终端设备发送的访问请求时,服务器会为每一个不同id的终端设备创建一个隔离的滑动窗口。同时滑动窗口内的访问请求会经过限流组件,限流组件会根据内部的访问限流方法和规则判断是否放过目标访问请求以调用访问接口。其中,限流组件中包含了设定的访问限流方法和规则。

其中,滑动窗口是指,将一段时间窗口划分为等时间间隔的多个小格,每个小格中分别维护一个计数器,每隔一个小格的时间便会向后移动一个小格。

隔离的滑动窗口是指,每一个不同id的终端设备含有彼此相互独立的滑动窗口,即避免其他id的终端设备的滑动窗口被全部消耗而占用该id终端设备的滑动窗口。每一个滑动窗口中储存着服务器接收到终端设备发送的访问请求,滑动窗口能接受的访问请求的数量是一定的,例如一个时间窗口为60s。

在图3所示的滑动窗口中存放了服务器接收的访问请求。下面为了对滑动窗口接收访问请求的过程作深入的了解,将结合图4所示的实施例,对图3所示滑动窗口接收访问请求的过程进行说明。

在本申请的一些具体实施方式中,设定一段时间窗口,一般情况下,将该段时间窗口划分为等时间间隔的时间段,且滑动窗口的长度与一段时间窗口的长度相同,且在该段时间窗口内,访问接口的访问请求次数均不能超过服务器处理请求的阈值。例如图4滑动窗口接收访问请求过程40中,虚线框401代表一个滑动窗口,一个实线框402代表了一个小时间单元,斜线填满的小时间单元403代表此时间单元内接收到访问请求,箭头404代表滑动窗口移动的方向。其一段时间窗口时间长度为N,将该段时间窗口分为若干个等间隔的小时间单元,一小时间单元长度为n,每隔一小时间单元n,滑动窗口便向前移动一个小时间单元。同时一个滑动窗口内处理请求的数目是一定的,超过一个滑动窗口处理访问请求数目的访问请求会被执行访问限流。例如,一段时间窗口的大小设定为60秒,并将该时间窗口划分为4个小时间单元,一个小时间单元分别为15秒,任意一个60秒的滑动窗口内访问接口的访问请求次数均不能大于1000个请求。如果1000个请求并发进入,在第一个60秒时间窗口内,当在15秒的小时间单元内突发1000个访问请求,此时已经超过服务器处理的阈值,则出现的新的访问请求将会被拒绝服务、排队或等待;15秒后滑动窗口向前移动一小格便可重新接收新的1000个请求。

进一步的,1000个请求也可以拆分,分批进入滑动窗口。例如在第一个60秒时间窗口内,15秒的小时间单元内进入400个访问请求,45秒小时间单元内进入600个访问请求,那么15秒后滑动窗口向前移动一小时间单元便可重新接收400个访问请求。以此类推,便可实现滑动窗口接收新请求的过程。

示例性的,在访问接口外拦截终端设备发送的目标访问请求,可以是当检测到终端设备向访问接口发送目标访问请求时,获取访问接口的接口配置信息,并判断该接口配置信息中是否包括限流配置信息,若接口配置信息中包括限流配置信息,则在访问接口外拦截目标访问请求。

在访问接口外拦截终端设备发送的目标访问请求前,需要先获取该访问接口的配置信息,判断该访问接口配置信息中是否包含有限流配置信息,从而决定是否执行访问限流。

具体的,可通过图5,对访问接口是否需要限流的过程进行说明。具体的过程如下:

步骤501:获取访问接口的接口配置信息。

步骤502:判断访问接口配置信息中是否包括限流配置信息。

步骤503:若访问接口配置信息中包括限流配置信息,则在访问接口外拦截目标访问请求。

步骤504:若访问接口配置信息中不包括限流配置信息,则不对目标访问请求进行拦截处理。

具体的,访问接口中的配置信息是访问接口包含的配置,例如:访问接口配置信息中包含限流配置信息。在访问接口外拦截目标访问请求前,首先需要判断该访问接口是否包含限流配置信息,若包含限流配置信息,便会针对每一个终端用户,在访问接口外拦截终端设备发送的目标访问请求。

在本实施例中,在申请拦截访问请求前,在访问接口的配置信息中查看是否包含限流配置信息,可以提前确认访问接口是否包含限流方法,从而保证系统的稳定性。

步骤202:判断预设时间段内接收到目标访问请求的次数。

其中,预设时间段通常包括一个滑动时间窗口。

示例性的,当用户通过终端设备访问接口时,服务器在接收到该终端设备发送的目标访问请求后,会判断在上述预设时间段内,接收到目标访问请求的次数。服务器在预设时间段内接收到目标访问请求的次数,也可以理解为终端设备在预设时间段内向服务器发送目标访问请求的次数。其中,服务器可以在本地获取该目标访问请求的次数,也可以从限流服务器中获取该目标访问请求的次数。

进一步的,为了提高每一个用户的访问成功率,服务器在拦截目标访问请求后,还可以先判断目标访问请求是否为非首次访问接口的请求,若目标访问请求为非首次访问该访问接口的请求时,再判断预设时间段内接收到目标访问请求的次数;若目标访问请求为首次访问该访问接口的请求,则将目标访问请求发送给访问接口。

具体的,如果该用户通过终端设备发送目标访问请求,以首次访问该访问接口,则服务器会创建一个与该用户对应的独立滑动窗口,请求在访问该访问接口前需要通过限流组件,限流组件可以根据其内部添加的限流方法或规则直接放过该目标访问请求,使该目标访问请求访问一次上述访问接口。在接下来设定的一段时间窗口内,若该用户继续通过终端设备发送访问请求时,此时该用户的访问请求为非首次访问该访问接口的请求。首先若滑动窗口内没有足够的请求处理能力时便直接拒绝请求;若滑动窗口内有足够的请求处理能力时,接收请求后并开始启动计数器统计预设时间内请求访问接口的次数。

更进一步的,滑动窗口内统计到的预设时间内请求访问该访问接口的次数后,限流组件便可以依据统计到的次数判断是否要放行该目标访问请求访问接口。

在本实施例中,对接收到的目标访问请求,判断是否为首次访问访问接口的请求可以在多用户同时并发请求的情况下,保障每一位用户均可成功的访问访问接口,避免因一个用户频繁发送访问请求而堵塞系统,导致系统限流而拒绝所有访问请求,进一步提高用户的访问成功率,提升用户体验感。

步骤203:若次数大于第二预设值,则将目标访问请求发送给访问接口。

其中,第二预设值是指预设时间段内,限流组件中含有的限流方法或规则设定的最高访问接口次数,其值可以根据实际情况或者经验进行设置,对于第二预设值的具体取值,本申请实施例在此不做限制。

示例性的,服务器对终端设备发送的访问请求进行接收并处理,服务器能够处理并发访问请求的能力是通过吞吐率来衡量的,所以任何服务器都有其处理并发访问请求能力的阈值。为了能够保证系统稳定的运行,使得在大批量并发访问请求情况下保证每个用户均可成功访问到访问接口,可根据限流组件中设定的限流方法或规则设定在滑动窗口内第二预设值。

进一步的,当用户为非首次请求访问接口时,统计预设时间段内接收到目标访问请求的次数,当预设时间段内接收到目标访问请求的次数超过第二预设值,则限流组件执行放行规则,使得该目标访问请求访问一次访问接口,也即服务器会将该目标访问请求发送给访问接口,同时重置或者更新滑动窗口内接收到目标访问请求的次数,这样可以保证该用户在成功访问到访问接口后,不会再重复调用访问接口而导致系统限流,从而进一步的提高每一个用户的访问成功率,节省系统资源。

当一段滑动窗口时间内接收到目标访问请求的次数不大于第二预设值,则,则禁止访问接口接收目标访问请求,也即拦截该目标访问请求对访问接口的访问,并执行降级方法,并将目标访问请求的接收的次数加1。需要注意是,若超过设定的滑动窗口时间后,该目标访问请求对访问接口的请求次数仍未超过第二预设值,则删除该滑动窗口内的访问请求。

其中,降级方法是指定访问请求为不同的级别,面临不同的异常等级执行不同的处理,根据服务方式:可以拒绝服务,可以延迟服务,也有时候可以随机服务。

更进一步的,使用过的滑动窗口会一直存在于系统资源中,为了保护系统资源,还有必要销毁不需要的滑动窗口。例如当判断某个滑动窗口已经很久没有使用时,发送一个自定义事件给自定义的spring事件监听器,由监听器负责移除该滑动窗口实例。

本申请实施例提供的访问限流方法、装置、设备、存储介质及计算机程序产品,通过检测到多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,针对每一终端设备,在访问接口外拦截终端设备发送的目标访问请求,然后判断预设时间段内接收到目标访问请求的次数,若次数大于第二预设值,则将目标访问请求发送给访问接口。在大批量并发访问请求的场景下,会针对每一个终端设备,在访问接口外设置限流组件,通过限流方法拦截终端设备发送的目标访问请求,在预设时间内目标访问请求超过第二预设值,表示用户迫切需求访问该访问接口,此时限流组件会放行访问请求去调用访问接口。这样可以避免因个人频繁发送访问请求,导致系统开启限流而拒绝所有访问请求,从而在系统稳定运行的前提下提高用户访问的成功率。

图6为本申请实施例提供的一种访问限流装置60的结构示意图,示例的,请参见图6所示,该访问限流装置60可以包括:

拦截模块601,用于在检测到多个终端设备向访问接口发送的访问请求的数量超过第一预设值时,针对每一终端设备,在访问接口外拦截终端设备发送的目标访问请求;

判断模块602,用于判断预设时间段内接收到目标访问请求的次数;

发送模块603,用于在次数大于第二预设值时,将目标访问请求发送给访问接口。

在一种可能的实现方式中,判断模块602,具体用于:

判断目标访问请求是否为非首次访问访问接口的请求;

若目标访问请求为非首次访问访问接口的请求,则判断预设时间段内接收到目标访问请求的次数。

在一种可能的实现方式中,发送模块603,具体用于:

若目标访问请求为首次访问访问接口的请求,用于将目标访问请求发送给访问接口。

在一种可能的实现方式中,该装置还包括:处理模块604;

处理模块604,用于在次数不大于第二预设值时,禁止访问接口接收目标访问请求。

在一种可能的实现方式中,该装置还包括:更新模块605;

更新模块605,用于更新接收到目标访问请求的次数。

在一种可能的实现方式中,拦截模块601,具体用于:

获取访问接口的接口配置信息;

判断接口配置信息中是否包括限流配置信息;

若接口配置信息中包括限流配置信息,则在访问接口外拦截目标访问请求。

本申请实施例提供的访问限流装置60,可以执行上述任一实施例中访问限流方法的技术方案,其实现原理以及有益效果与访问限流方法的实现原理及有益效果类似,可参见访问限流方法的实现原理及有益效果,此处不再进行赘述。

图7为本申请实施例提供的一种服务器70的结构示意图,示例的,请参见图7所示,该服务器可以包括处理器701和存储器702。其中,

存储器702,用于存储计算机程序。

处理器701,用于读取存储器702存储的计算机程序,并根据存储器702中的计算机程序执行上述任一实施例中的访问限流方法的技术方案。

可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。当存储器702是独立于处理器701之外的器件时,服务器还可以包括:总线,用于连接存储器702和处理器701。

可选地,本实施例还包括:通信接口,该通信接口可以通过总线与处理器701连接。处理器701可以控制通信接口来实现上述服务器的获取和发送的功能。

本申请实施例所示的服务器,可以执行上述任一实施例中的访问限流方法的技术方案,其实现原理以及有益效果与访问限流方法的实现原理及有益效果类似,可参见访问限流方法的实现原理及有益效果,此处不再进行赘述。

本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中的访问限流方法的技术方案,其实现原理以及有益效果与访问限流方法的实现原理及有益效果类似,可参见访问限流方法的实现原理及有益效果,此处不再进行赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所展示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元展示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。

应理解的是,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital SignalProcessor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:通信方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!