一种限流控制方法、网关设备及限流控制系统
文献发布时间:2023-06-19 11:21:00
技术领域
本申请涉及限流控制技术领域,尤其涉及一种限流控制方法、网关设备及限流控制系统。
背景技术
微服务化可以实现功能解耦,故应用范围愈加广泛。而微服务的限流是微服务需要考虑的问题之一,目前在对微服务进行限流时使用统一的默认限流参数,这样导致限流的灵活性较差。
发明内容
本申请实施例提供了一种限流控制方法、网关设备及限流控制系统,能够针对不同API设置不同的限流阈值,使得限流的灵活性较高。
有鉴于此,第一方面,本申请提供一种限流控制方法,包括:
网关设备接收客户端发送的API访问请求,所述访问请求中携带有微服务的第一API的第一API标识;
所述网关设备根据限流数据和所述第一API标识,确定所述第一API对应的第一限流阈值;所述限流数据包括不同API标识与不同限流阈值之间的映射关系;
所述网关设备通过所述第一限流阈值对所述第一API进行限流控制。
可选地,所述方法还包括:
所述网关设备获取zookeeper集群中存储的限流数据;其中,所述限流数据中的限流阈值为通过在API控制设备中对所述不同API标识分别进行设置得到的。
可选地,所述方法还包括:
所述网关设备监听zookeeper集群中存储的限流数据;
所述网关设备在监听到所述限流数据存在更新时,获取更新后的限流数据;
所述网关设备根据所述更新后的限流数据,更新所述限流数据。
可选地,所述不同API标识为所述API控制设备从服务注册中心获取到的;其中,所述服务注册中心用于针对所述微服务进行服务信息的注册,所述服务信息包括所述不同API标识,或者,包括所述不同API标识对应的默认限流阈值,所述不同API标识对应的默认限流阈值为同一数值。
可选地,所述网关设备通过所述第一限流阈值对所述第一API进行限流控制,包括:
所述网关设备采用预设限流算法,通过所述第一限流阈值对所述第一API进行限流控制;
其中,在所述预设限流算法包括令牌桶算法的情况下,所述第一限流阈值包括第一令牌桶容量和令牌流入速率;
或者,
在所述预设限流算法包括漏桶算法的情况下,所述第一限流阈值包括第二令牌桶容量和令牌流出速率。
可选地,所述网关设备通过所述第一限流阈值对所述第一API进行限流控制,包括:
所述网关设备在通过所述第一限流阈值确定所述第一API满足限流条件的情况下,拒绝所述API访问请求;
或者,
所述网关设备在通过所述第一限流阈值确定所述第一API不满足所述限流条件的情况下,向所述微服务的第一API发送所述API访问请求;
所述限流条件包括:所述API访问请求的令牌数量大于可提供令牌数量;
其中,在所述预设限流算法包括所述令牌桶算法的情况下,所述可提供令牌数量为根据所述第一令牌桶容量和所述令牌流入速率得到的;或者,在所述预设限流算法包括所述漏桶算法的情况下,所述可提供令牌数量为根据所述第二令牌桶容量和所述令牌流出速率得到的。
采用上述所述的限流控制方法,考虑到限流数据包括不同API标识与不同限流阈值之间的映射关系,故网关设备在进行限流控制的过程中,针对当前请求访问的API获取对应的限流阈值,并根据限流阈值准确地进行限流控制,提高了限流的灵活性。
第二方面,本申请提供一种网关设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意可选方式所述的方法。
第三方面,本申请提供一种限流控制系统,包括:网关设备和zookeeper集群;
所述网关设备用于获取zookeeper集群中存储的限流数据,所述限流数据包括不同API标识与不同限流阈值之间的映射关系;
所述网关设备还用于接收客户端发送的API访问请求,所述访问请求中携带有微服务的第一API的第一API标识;
所述网关设备还用于根据所述限流数据和所述第一API标识,获取所述第一API对应的第一限流阈值;
所述网关设备还用于通过所述第一限流阈值对所述第一API进行限流控制。
可选地,所述网关设备还用于监听zookeeper集群中存储的限流数据;
所述网关设备还用于在监听到所述限流数据存在更新时,获取更新后的限流数据;
所述网关设备还用于根据所述更新后的限流数据,更新所述限流数据。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意可选方式所述的方法。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在限流控制设备上运行时,使得限流控制设备执行上述第一方面或第一方面的任意可选方式所述方法的步骤。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种限流控制系统的结构示意图;
图2是本申请实施例提供的一种限流控制系统的结构示意图;
图3是本申请实施例提供的一种限流控制方法的流程示意图;
图4是本申请实施例提供的一种限流控制方法的流程示意图;
图5是本申请实施例提供的一种限流控制方法的流程示意图;
图6是本申请实施例提供的一种网关设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
还应当理解,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了便于理解,首先对本申请涉及的限流控制系统进行示例性描述。如图1所示,限流控制系统可以包括网关设备集群(即图1中的网关设备1、网关设备2、…、网关设备m,m为正整数)和zookeeper集群(即图1中的zookeeper1、zookeeper2、…、zookeepern,n为正整数)。
在本申请实施例中,zookeeper集群中存储有限流数据,网关设备可以获取zookeeper集群中存储的限流数据。其中,限流数据包括不同API(applicationprogramming interface,应用程序接口)标识与不同限流阈值之间的映射关系,网关设备为网关设备集群中的一个设备。
可选地,网关设备集群中的全部网关设备或者部分网关设备可以动态监听zookeeper集群,以获取到限流数据。
可选地,网关设备用于接收客户端发送的API访问请求,访问请求中携带有微服务的第一API的第一API标识;根据限流数据和第一API标识,获取第一API对应的第一限流阈值;通过第一限流阈值对第一API进行限流控制。
可选地,网关设备还用于监听zookeeper集群中存储的限流数据;在监听到限流数据存在更新时,获取更新后的限流数据;根据更新后的限流数据,更新限流数据。
需要说明的是,网关设备集群和zookeeper集群的具体内容可以参考图2所示实施例中的内容,此处不再赘述。
结合图1,如图2所示,限流控制系统还可以包括:API控制设备、服务注册中心、微服务架构以及服务器(本申请以图2中的redis服务器为例进行说明)中的至少一种。其中,服务注册中心可以为终端设备。
可以理解的是,zookeeper集群中可以包括多个zookeeper,每个zookeeper均存储有微服务架构中微服务的API对应的限流数据,且不同zookeeper之间可以同步限流数据。本申请通过采用zookeeper集群,若当前工作的zookeeper存在故障,则从剩余zookeeper中选取一个zookeeper继续进行工作,由此可以保证zookeeper的可靠性。其中,剩余zookeeper为zookeeper集群中除当前工作的zookeeper外的设备。
可选地,本申请中的zookeeper集群可以替换为单个zookeeper,这样,可以通过单个zookeeper存储限流数据。
还应理解,每个zookeeper中可以存在多个节点,且可以从zookeeper的多个节点中选取一个节点进行限流数据的存储。
如图2所示,网关设备集群中可以包括多个网关设备,每个网关设备可以从zookeeper集群中获取并存储限流数据,以对微服务架构中微服务的各个API进行限流控制。通过采用网关设备集群,若当前工作的网关设备存在故障,则可以从剩余网关设备中选取一个网关设备继续进行工作,由此可以保证网关设备的可靠性。其中,剩余网关设备为网关设备集群中除当前工作的网关设备外的设备。
一种实施例中,网关设备集群中当前工作的网关设备可以首先从zookeeper集群(或者当前工作的zookeeper)中获取限流数据,接着当前工作的网关设备可以将限流数据同步至剩余网关设备;另一种实施例中,网关设备集群中的各个网关设备可以直接从zookeeper集群(或者当前工作的zookeeper)中获取限流数据。上述示例只是举例说明,本申请对此不作特殊限制。
可选地,本申请中的网关设备集群可以替换为单个网关设备,这样,可以通过单个网关设备进行限流控制。
在本申请实施例中,考虑到客户端可以由至少一个微服务构成,且每个微服务用于完成独立的业务。故本申请可以通过微服务架构将不同客户端的微服务进行分布式部署。如图2所示,微服务架构中包括多个微服务(即图2中的微服务1、微服务2、…、微服务p,p为正整数)。
可以理解的是,本申请中微服务的API均只对网关设备集群开放,这样,一定程度上提高了API的调用安全性。
还应理解,微服务的API存在接口多样化,但是通过使用网关设备集群,网关设备集群可以对外提供一个规范接口。
其中,服务注册中心用于微服务架构中的各个微服务、网关设备集群中的各个网关设备以及API控制设备分别进行服务信息的注册;API控制设备用于对不同API设置限流阈值;网关设备集群中的网关设备可以调用redis服务器获取API的限流结果。
为了便于理解,结合图2所示的限流控制系统,图3示出了一种限流控制方法的示意图。如图3所示,所述方法可以包括两个阶段,第一阶段为限流数据的获取过程,第二阶段为根据获取到的限流数据进行限流控制的过程。
具体地,第一阶段可以包括以下步骤:
S301、微服务架构向服务注册中心注册微服务的服务信息。
可以理解的是,微服务架构中的各个微服务可以均向服务注册中心注册微服务的服务信息。其中,微服务的服务信息可以包括不同API的API标识,或者,包括不同API标识对应的默认限流阈值,不同API标识对应的默认限流阈值为同一数值。
可选地,API控制设备也可以向服务注册中心注册控制设备的服务信息。其中,控制设备的服务信息可以包括API控制设备中API的标识信息和API控制设备中IP(internetprotocol,网络之间互联的协议)的标识信息。
同理地,网关设备集群中各个网关设备也可以向服务注册中心注册网关设备的服务信息。其中,网关设备的服务信息可以包括网关设备中API的标识信息和网关设备中IP的标识信息。
由此可见,服务注册中心通过对不同设备进行注册,这样,服务调用者可以直接从服务注册中心获取到需要使用设备的服务信息,便于服务调用者调用需要使用的设备。
S302、服务注册中心向API控制设备发送微服务的服务信息。
可选地,API控制设备可以向服务注册中心获取全部微服务的服务信息,或者部分微服务的服务信息。这样,可以通过人工选取需要进行个性化限流的API标识。
S303、API控制设备根据微服务的服务信息,设置微服务中不同API对应的限流数据。
其中,限流数据包括不同API标识与不同限流阈值之间的映射关系。
在一种实施例中,在微服务的服务信息包括不同API的API标识的情况下,本申请可以针对不同API标识分别设置对应的限流阈值。
在另一种实施例中,在微服务的服务信息包括不同API标识对应的默认限流阈值,且不同API标识对应的默认限流阈值为同一数值的情况下,本申请可以首先将不同API标识对应的默认限流阈值进行删除,接着对不同API标识分别设置对应的限流阈值。
在又一些实施例中,在微服务的服务信息包括不同API标识对应的默认限流阈值,且不同API标识对应的默认限流阈值为同一数值的情况下,本申请还可以将不同API标识进行分类得到第一类API标识和第二类API标识。接着将第一类API标识对应的限流阈值保持为默认限流阈值,对第二类API标识分别设置对应的限流阈值。这样,通过将API标识进行分类,使得用户可以针对部分API进行个性化限流,针对另一部分API进行常规限流。
需要说明的是,在用户登录API控制设备,且API控制设备中不存在限流数据的情况下,API控制设备向zookeeper集群获取限流数据。此时,若zookeeper集群中也不存在限流数据,则可以确定限流控制系统为首次启动,那么在API控制设备中进行限流数据的配置;若zookeeper集群中存在限流数据,则可以确定API控制设备可能存在故障导致数据丢失,API控制设备可以根据zookeeper集群中的限流数据进行重置。
S304,API控制设备向zookeeper集群发送限流数据。
其中,API控制设备可以向zookeeper集群中的各个zookeeper发送限流数据,又或者,API控制设备可以向zookeeper集群中当前工作的zookeeper发送限流数据,并通过当前工作的zookeeper向剩余zookeeper同步限流数据,本申请对此不作特殊限制。
在可选实施例中,zookeeper集群可以周期性地从API控制设备中获取限流数据。
S305,zookeeper集群存储限流数据。
S306,网关设备获取zookeeper集群中存储的限流数据。
其中,网关设备可以周期性地向zookeeper集群发送数据获取请求,并接收zookeeper集群根据数据获取请求发送的限流数据。又或者,zookeeper集群可以周期性地向网关设备发送限流数据。
可以理解的是,图3中是以网关设备集群中的一个网关设备为例进行说明的。
通过上述第一阶段中的步骤,网关设备可以获取到限流数据,从而便于后续根据限流数据进行限流控制。具体地,第二阶段可以包括以下步骤:
S307,客户端向网关设备发送的API访问请求,访问请求中携带有微服务的第一API的第一API标识。
S308,网关设备在接收到API访问请求的情况下,向redis服务器发送第一API标识对应的第一限流阈值。
S309,redis服务器根据第一API标识对应的第一限流阈值,获取第一API的限流结果。
需要说明的是,考虑到网关设备的处理资源有限,故通过调用redis服务器获取第一API的限流结果,这样减少对网关设备的处理资源的占用。
S310,redis服务器向网关设备发送第一API的限流结果。
其中,在限流结果包括第一API不满足限流条件的情况下,执行S311和S312;
在限流结果包括第一API满足限流条件的情况下,执行S313。
S311,网关设备向微服务架构发送API访问请求。
S312,微服务架构在接收到API访问请求的情况下,调用第一API。
S313,网关设备拒绝API访问请求。
综上所述,本申请可以在API控制设备中针对不同API进行限流阈值的灵活设置,从而网关设备在进行限流控制的过程中,针对当前请求访问的API获取对应的限流阈值,并根据限流阈值准确地进行限流控制,提高了限流的灵活性。
图4是本申请提供的一种限流控制方法的流程示意图。如图4所示,该限流控制方法可以包括:
S401,网关设备接收客户端发送的API访问请求,访问请求中携带有微服务的第一API的第一API标识。
其中,网关设备可以为图1或图2中网关设备集群中的一个网关设备。
可以理解的是,用户在使用客户端时,可以在客户端中进行不同的业务操作。这样,客户端确定业务操作需要调用的第一API,并生成包括第一API标识的API访问请求。由此可见,客户端可以根据不同的业务操作生成对应的API访问请求。
示例性的,假设用户在客户端中进行秒杀购物操作,由于秒杀购物操作需要调用API1,故客户端可以生成包括API1的API访问请求;假设用户在客户端中进行售后评价操作,由于售后评价操作需要调用API2,故客户端可以生成包括API2的API访问请求,等等。
S402,网关设备根据限流数据和第一API标识,确定第一API对应的第一限流阈值;限流数据包括不同API标识与不同限流阈值之间的映射关系。
在一些实施例中,网关设备获取zookeeper集群中存储的限流数据;其中,限流数据中的限流阈值为通过在API控制设备中对不同API标识分别进行设置得到的。这样,网关设备可以预先存储有限流数据。此时,本步骤可以为:网关设备可以从本地中的限流数据中,确定第一API对应的第一限流阈值。
在另一些实施例中,网关设备可以在接收到API访问请求时,向zookeeper集群发送第一API标识。由于zookeeper集群可以从API控制设备中预先获取并存储限流数据,故网关设备可以接收zookeeper集群根据第一API标识和限流数据确定的第一限流阈值。由此可见,网关设备可以预先不存储限流数据,避免占用网关设备的内存容量。
其中,不同API标识为API控制设备从服务注册中心获取到的;其中,服务注册中心用于针对微服务进行服务信息的注册,服务信息包括不同API标识,或者,包括不同API标识对应的默认限流阈值,不同API标识对应的默认限流阈值为同一数值。
可选地,API控制设备具备可视化界面,以使得操作者可以在可视化界面中对不同API标识分别设置限流阈值。
可选地,考虑到同一API在不同时间段内的请求量不同,例如,在双十一期间,某个API的请求量较大;在工作日的9:00~11:00期间,该某个API的请求量较小。基于此,本申请还可以在API控制设备中,根据同一API在不同时间段内的请求量,对同一API标识设置不同时间段内的限流阈值。
可选地,考虑到不同API执行不同类型业务,故不同API的接口响应速率不同。例如,API1执行XX1业务,API2执行XX2业务,且API1执行XX1业务时的接口响应速率为v1,API2执行XX2业务时的接口响应速率为v2。基于此,本申请还可以在API控制设备中,根据不同API执行业务的接口响应速率,对不同API标识分别设置限流阈值。
S403,网关设备通过第一限流阈值对第一API进行限流控制。
在本申请实施例中,网关设备可以采用预设限流算法,通过第一限流阈值对第一API进行限流控制。其中,预设限流算法包括令牌桶算法或者漏桶算法等等。
可选地,在预设限流算法包括令牌桶算法的情况下,第一限流阈值包括第一令牌桶容量和令牌流入速率。
可选地,在预设限流算法包括漏桶算法的情况下,第一限流阈值包括第二令牌桶容量和令牌流出速率。
示例性的,在预设限流算法包括令牌桶算法的情况下,限流数据可以如表1所示:
表1限流数据
进一步地,网关设备在通过第一限流阈值确定第一API满足限流条件的情况下,拒绝API访问请求,有效避免API过载导致的微服务奔溃;或者,网关设备在通过第一限流阈值确定第一API不满足限流条件的情况下,向微服务的第一API发送API访问请求。
其中,限流条件可以包括:API访问请求的令牌数量大于可提供令牌数量。
可以理解的是,API访问请求的令牌数量可以为预先设定的数值,例如为1。
可选地,在预设限流算法包括令牌桶算法的情况下,可提供令牌数量为根据第一令牌桶容量和所述令牌流入速率得到的。
可以理解的是,在redis服务器中设置有不同API的令牌桶。针对第一API的第一令牌桶,redis服务器可以存储有第一令牌桶的历史记录信息,该历史记录信息中包括在上一API访问请求通过第一令牌桶获取到令牌时,第一令牌桶中的剩余令牌数量以及获取到令牌时的历史时间。
接着redis服务器可以获取当前的API访问请求通过第一令牌桶的当前时间;并计算当前时间与历史时间之间的时间差;以及获取第一令牌桶中的当前令牌数量,即计算时间差与令牌流入速率之间的乘积得到令牌流入量,计算令牌流入量和剩余令牌数量之间的和值得到当前令牌数量;从当前令牌数量和第一令牌桶容量中选取较小的数值作为可提供令牌数量。
可选地,在预设限流算法包括漏桶算法的情况下,可提供令牌数量为根据第二令牌桶容量和令牌流出速率得到的。
可以理解的是,可以通过上述令牌桶算法所述的方法获取历史记录信息以及当前时间;并计算当前时间与历史时间之间的时间差;以及获取第一令牌桶中的当前令牌数量,即计算时间差与令牌流出速率之间的乘积得到令牌流出量,计算剩余令牌数量和令牌流出量之间的差值,若该差值大于0,则可以确定该差值为当前令牌数量,若该差值小于等于0,则可以确定当前令牌数量为0;计算第二令牌桶容量与当前令牌数量之间的差值作为可提供令牌数量。上述确定可提供令牌数量的过程只是示例性说明,本申请对此不作特殊限制。
采用上述所述的限流控制方法,考虑到限流数据包括不同API标识与不同限流阈值之间的映射关系,故网关设备在进行限流控制的过程中,针对当前请求访问的API获取对应的限流阈值,并根据限流阈值准确地进行限流控制,提高了限流的灵活性。
结合图4所示的实施例,如图5所示,在本申请可选实施例中,在S403之后,还包括以下步骤:
S404,网关设备监听zookeeper集群中存储的限流数据。
可以理解的是,现有技术中将微服务的限流数据存储在本地的配置文件中,无法在线监听限流数据是否发生变化,需要重新启动网关。这样增加了运维负担的同时造成微服务短时间不可用,降低了用户体验。而本申请通过采用zookeeper集群存储限流数据,这样可以实时在线监听到限流数据的更新,无需重启网关。
S405,网关设备在监听到限流数据存在更新时,获取更新后的限流数据。
其中,限流数据存在更新可以包括:限流数据的增加、删除或者更改等。此时,在一种实施例中,更新后的限流数据可以对应为:增加的限流数据,删除的限流数据、更改的限流数据。由此可见,本申请采用增量更新的方式可以减少数据传输量。
例如,若微服务架构中新增加了微服务service1,则微服务service1可以向服务注册中心注册微服务service1的服务信息。并且通过在API控制设备中对微服务service1的各个API设置限流数据,以及将微服务service1的限流数据发送至zookeeper集群,zookeeper集群将微服务service1的限流数据增加至限流数据库中。这样,网关设备监听到zookeeper集群在限流数据库中进行增加操作时,从zookeeper集群中获取微服务service1的限流数据。
又如,若微服务架构中的微服务service2不再使用并删除,则服务注册中心注销微服务service2的服务信息,并且向API控制设备发送微服务service2的注销信息,此时,API控制设备可以删除微服务service2的限流数据,并向zookeeper集群转发微服务service2的注销信息,以便zookeeper集群可以将微服务service2的限流数据从限流数据库中删除。这样,网关设备监听到zookeeper集群在限流数据库中进行删除操作时,从zookeeper集群中获取删除的限流数据。
再如,若微服务架构中的微服务service3的限流数据需要更改,则可以在API控制设备中更改微服务service3的限流数据,并向zookeeper集群发送微服务service3更改后的限流数据,以便zookeeper集群可以将微服务service3之前的限流数据替换为微服务service3更改后的限流数据。这样,网关设备监听到zookeeper集群在限流数据库中进行更改操作时,从zookeeper集群中获取更改的限流数据。
在另一种实施例中,更新后的限流数据可以为zookeeper集群中当前的限流数据。由此可见,本申请还可以采用全量更新的方式进行数据更新。
S406,网关设备根据更新后的限流数据,更新限流数据。
由此可见,网关设备可以通过动态监听zookeeper集群中的限流数据,达到对限流数据的同步更新,从而提高了限流的准确率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的限流控制方法,本发明实施例进一步给出实现上述方法实施例的装置实施例。
图6是本申请实施例提供的网关设备的示意图。如图6所示,该实施例的网关设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如限流控制程序。处理器60执行所述计算机程序62时实现上述各个限流控制方法实施例中的步骤,例如图3所示的S301-S303。或者,所述处理器60执行所述计算机程序62时实现各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述网关设备6中的执行过程。
所述网关设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是网关设备6的示例,并不构成对网关设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述网关设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述网关设备6的内部存储单元,例如网关设备6的硬盘或内存。所述存储器61也可以是所述网关设备6的外部存储设备,例如所述网关设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述网关设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述网关设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述限流控制方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在网关设备上运行时,使得网关设备执行时实现可实现上述限流控制方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
- 一种限流控制方法、网关设备及限流控制系统
- 一种限流方法、装置、系统、存储介质和设备、以及网关