CN112118188B - 一种流量限速方法、装置、电子设备及存储介质 - Google Patents
一种流量限速方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112118188B CN112118188B CN202010865844.8A CN202010865844A CN112118188B CN 112118188 B CN112118188 B CN 112118188B CN 202010865844 A CN202010865844 A CN 202010865844A CN 112118188 B CN112118188 B CN 112118188B
- Authority
- CN
- China
- Prior art keywords
- reporting
- period
- flow
- traffic
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000670 limiting effect Effects 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种流量限速方法、装置、电子设备及存储介质。所述方法,包括:获取待限速的目标系统中的任一节点作为限速控制节点;针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数;响应于所述第二流量超出流量阈值,根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速;其中,所述流量限速参数包括所述限速控制节点收集到的每个所述上报周期内的第一流量、所述流量统计周期内的第二流量。从而取得了提高流量限速准确性的有益效果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种流量限速方法、装置、电子设备及存储介质。
背景技术
随着互联网分布式系统的发展,对全局分布式流量限速解决方案的需求也越来越多。目前市面上分布式系统下的流量限速解决方案主要分为两种,第一种是借助其他系统,比如redis(一个key-value存储系统)作为限速控制节点来协调全局限速,周期性地向各个节点获取或发布消息,协调计算整个集群的访问速率;第二种是按照节点的个数对流量计算出一个平均值,再对每个节点进行单点限速。
但是,第一种限速方式需要借助外部系统,除了需要保证本身系统以外,还需要保证外部系统的可用性、一致性等要求,部署管理起来都很复杂,并且由于外部系统是周期性的统计发布限速指令,如果在一个统计周期中由于某些原因导致某些节点的流量统计延迟或者丢失,那么也会导致实时限速的效果不佳;而第二种方式对节点流量不均衡的情况无法做正确的限制,同样会导致实时限速的效果不佳。
发明内容
本发明实施例提供一种流量限速方法、装置、电子设备及存储介质,以解决现有的流量限速的效果不佳的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种流量限速方法,包括:
获取待限速的目标系统中的任一节点作为限速控制节点;
针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数;
响应于所述第二流量超出流量阈值,根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速;
其中,所述流量限速参数包括所述限速控制节点收集到的每个所述上报周期内的第一流量、所述流量统计周期内的第二流量。
可选地,所述根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长的步骤,包括:
按照所述流量统计周期内各个所述上报周期的时间顺序,依次获取限速控制节点收集到的各个上报周期内的第一流量的累加和;
获取所述第一流量的累加和首次超出流量阈值时,所述累加和对应的上报周期的第一数量;
根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长。
可选地,所述根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长的步骤,包括:
响应于所述第一数量小于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为(N-K)*T/N;
响应于所述第一数量等于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为T/N;
其中,所述N为所述流量统计周期内包含的上报周期的数量,所述K为所述第一数量,所述T为所述流量统计周期的时间长度。
可选地,所述针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数的步骤,包括:
将所述目标系统的流量统计周期拆分为N个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,N为大于1的整数;
针对任一上报周期,从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量;
获取所述N个上报周期的第一流量的和值,作为所述限速控制节点收集到的一个流量统计周期内的第二流量。
可选地,所述从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量的步骤,包括:
针对所述目标系统内每个节点,从所述上报周期开始向前取满足预设上报条件的N个上报周期,所述上报条件包括所述节点成功上报所述上报周期内的流量;
获取每个所述节点上报的第i个上报周期内的流量的和值,得到所述所述限速控制节点收集到的第i个上报周期内的第一流量,所述第i个上报周期为所述N个上报周期中的任一上报周期,所述i的取值为[1,N]范围内的整数。
可选地,每个所述上报周期的时间长度均为T/N,所述T为所述流量统计周期的时间长度,所述N为所述流量统计周期内包含的上报周期的数量。
可选地,所述对每个所述节点进行流量限速的步骤,包括:
控制所述限速控制节点发布限速消息至每个所述节点,所述限速消息中包括所述限速时长,以通知每个所述节点根据所述限速时长进行流量限速。
第二方面,本发明实施例提供了一种流量限速装置,包括:
限速控制节点设置模块,用于获取待限速的目标系统中的任一节点作为限速控制节点;
流量上报设置模块,用于针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数;
流量限速处理模块,用于响应于所述第二流量超出流量阈值,根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速;
其中,所述流量限速参数包括所述限速控制节点收集到的每个所述上报周期内的第一流量、所述流量统计周期内的第二流量。
可选地,所述流量限速处理模块,包括:
第一流量累加子模块,用于按照所述流量统计周期内各个所述上报周期的时间顺序,依次获取限速控制节点收集到的各个上报周期内的第一流量的累加和;
第一数量获取子模块,用于获取所述第一流量的累加和首次超出流量阈值时,所述累加和对应的上报周期的第一数量;
限速时长获取子模块,用于根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长。
可选地,所述限速时长获取子模块,具体用于:
响应于所述第一数量小于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为(N-K)*T/N;
响应于所述第一数量等于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为T/N;
其中,所述N为所述流量统计周期内包含的上报周期的数量,所述K为所述第一数量,所述T为所述流量统计周期的时间长度。
可选地,所述流量上报设置模块,包括:
流量上报子模块,用于将所述目标系统的流量统计周期拆分为N个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,N为大于1的整数;
第一流量获取子模块,用于针对任一上报周期,从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量;
第二流量获取子模块,用于获取所述N个上报周期的第一流量的和值,作为所述限速控制节点收集到的一个流量统计周期内的第二流量。
可选地,所述第一流量获取子模块,具体用于:
针对所述目标系统内每个节点,从所述上报周期开始向前取满足预设上报条件的N个上报周期,所述上报条件包括所述节点成功上报所述上报周期内的流量;
获取每个所述节点上报的第i个上报周期内的流量的和值,得到所述所述限速控制节点收集到的第i个上报周期内的第一流量,所述第i个上报周期为所述N个上报周期中的任一上报周期,所述i的取值为[1,N]范围内的整数。
可选地,每个所述上报周期的时间长度均为T/N,所述T为所述流量统计周期的时间长度,所述N为所述流量统计周期内包含的上报周期的数量。
可选地,所述流量限速处理模块,包括:
流量限速子模块,用于控制所述限速控制节点发布限速消息至每个所述节点,所述限速消息中包括所述限速时长,以通知每个所述节点根据所述限速时长进行流量限速。
第三方面,本发明实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的流量限速方法的步骤。
第四方面,本发明实施例另外提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的流量限速方法的步骤。
在本发明实施例中,通过系统内部节点通过一定规则选出其中一个节点作为限速控制节点而不使用外部系统作为限速协调器,避免对外部系统的依赖。而且,对流量统计周期切分成N个上报周期,并控制每个节点以上报周期为单位上报流量。从而取得了提高流量限速准确性的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种流量限速方法的步骤流程图;
图2A是本发明实施例中的一种采用redis集群等外部系统进行流量限速的结构示意图;
图2B是本发明实施例中的一种系统内个节点选出限速控制节点的示意图;
图3是本发明实施例中的另一种流量限速方法的步骤流程图;
图4A是本发明实施例中的一个流量统计周期划分为N个上报周期的示意图;
图4B是本发明实施例中的一种统计一个流量统计周期中每个上报周期的第一流量的示意图;
图4C是本发明实施例中的一种第N+2上报周期时刻在一个流量统计周期内的第二流量示意图;
图4D是本发明实施例中的一种第一数量的获取过程示意图;
图5是本发明实施例中的一种流量限速装置的结构示意图;
图6是本发明实施例中的另一种流量限速装置的结构示意图;
图7是本发明实施例中的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例中一种流量限速方法的步骤流程图。
步骤110,获取待限速的目标系统中的任一节点作为限速控制节点。
步骤120,针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数。其中,所述流量限速参数包括所述限速控制节点收集到的每个所述上报周期内的第一流量、所述流量统计周期内的第二流量。
步骤130,响应于所述第二流量超出流量阈值,根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速。
在实际应用中,分布式限速系统一般采用redis集群等外部系统,作为限速协调集群,周期性地向待限速的目标系统内的各个节点获取或发布消息,协调计算整个系统的访问速率,也即流量来达到分布式限速的目的。其基本架构可以如图2A所示。
但是,如上述,这种引入外部系统的解决方案除了需要保证本身系统以外,还需要保证外部系统的可用性一致性等要求,部署管理起来都很复杂.另外外部系统周期性的统计所有节点流量,如果在一个统计周期中由于某些原因导致某些节点的流量延迟被统计到或者丢失,那么在这个统计周期中的总体流量值其实是不准的,因此这个统计周期的限速也是不准的。
因此,在本发明实施例中,为了提高限速过程的准确性以及限速效果,可以从以下两个方面考虑:第一个是不使用外部系统作为限速协调器,而是采用目标系统内部的其中一个节点作为限速协调器,也即限速控制节点,负责目标系统的总体流量限速协调;第二个是解决一个统计周期中,由于某些原因导致某些节点的流量延迟被统计到或者丢失而导致的限速不准问题。
具体地,可以获取待限速的目标系统中的任一节点作为限速控制节点。其中,可以通过任何可用方式选定限速控制节点,对此本发明实施例不加以限定。例如,可以根据目标系统内各个节点的名称、性能等对各个节点进行排序,进而选择其中排名最靠前的节点作为限速控制节点;或者,也可以根据任何可用的限速控制节点的选择算法,通过各个节点选出其中一个节点作为限速控制节点,等等。而且在流量限速的过程中,目标系统的限速控制节点可以根据需求进行调整或更新,也可以保持不变,对此本发明实施例不加以限定。如图2B所示为一种系统内个节点通过一定规则选出其中一个节点作为限速控制节点的示意图。
而且,在确定目标系统中的限速控制节点之后,针对任一流量统计周期,可以将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数。此时,由于上报周期的时间长度相对于原有的流量统计周期的时间长度会明显缩短,而且在流量统计周期内各个节点可以上报周期为单位多次上报自身在每个上报周期内的实时流量,可以有效减少流量上报延迟或者漏报等异常情况,以及偶发性地流量上报延迟或者漏报等异常情况对最终得到的流量限速参数的影响。而且,为了保证节点(包括限速控制节点,以及限速控制节点之外的其他节点)可以上报每个上报周期内的流量,可以控制每个节点在每个上报周期内的结束时间点时上报相应上报周期内的流量,也即以上报周期为间隔周期性地在上报每个上报周期内的流量。
其中,流量限速参数包括所述限速控制节点在每个所述上报周期内收集到的第一流量(也即各个节点上报至限速控制节点的同一上报周期内的流量之和)、所述限速控制节点在所述流量统计周期内收集到的第二流量(也即一个流量统计周期的时间长度内各个节点上报至限速控制节点的流量之和)。可以看出,限速控制节点在收集到的一流量统计周期内的第二流量可以为相应限速控制节点在相应流量统计周期内的每个上报周期内收集到的第一流量的和值。其中,第一流量和第二流量均为流量,为了区分两者所对应的周期不同,所以分别定义为第一流量和第二流量。
针对任一流量统计周期,如果限速控制节点收集到的该流量统计周期内的第二流量超出流量阈值,则可以进一步根据该流量统计周期内的每个上报周期内限速控制节点采集得到的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速。
其中的流量阈值可以根据需求进行自定义设置,对此本发明实施例不加以限定。而且,限速控制节点在每个上报周期内收集得到的第一流量,与每个节点的限速时长之间的对应关系也可以根据需求进行自定义设置,对此本发明实施例也不加以限定。
例如,可以根据限速控制节点收集到的每个上报周期内的第一流量,设置预设阈值,筛选出在当前的流量统计周期中的第一流量超出预设阈值的各个上报周期,进而以筛选得到的各个上报周期的时间长度之和与N的比值,作为相应流量统计周期对应的各个节点的限速时长;或者,也可以按照各个上报周期的时间顺序,逐个获取同一流量统计周期内的各个上报周期对应的第一流量的和值,从第一流量的和值首次超出流量阈值时的上报周期直至相应流量统计周期内的最后一个上报周期之间的时间长度之和与N的比值,作为相应流量统计周期对应的各个节点的限速时长;等等。其中,N的取值为相应流量统计周期内包含的上报周期的数量。
其中,流量是网络信息技术名词,指在一定时间内打开网站地址的人气访问量(例如某一查询服务器的查询量、某一网站的访问量等)或者是手机移动数据的通俗意思。目标系统可以为任意一种可以进行流量限速的系统,包括但不限于上述的分布式系统,等等。节点则可以为系统内任意一种可以产生流量的设备,例如可以为服务器、用户终端,等等。
参照图3,在本发明实施例中,根据每个上报周期内的第一流量,获取每个节点的限速时长的过程,进一步可以包括:
步骤131,按照所述流量统计周期内各个所述上报周期的时间顺序,依次获取限速控制节点收集到的各个上报周期内的第一流量的累加和;
步骤132,获取所述第一流量的累加和首次超出流量阈值时,所述累加和对应的上报周期的第一数量;
步骤133,根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长。
在实际应用中,在一个流量统计周期内,随着时间的增加,流量会越来越多,那么在其中任意一个上报周期以及其之前的各个上报周期内流量控制节点采集到的第一流量之和已经达到流量阈值的情况下,后续上报周期内各个节点上报的流量会使得流量控制节点采集到的第一流量之和始终超出流量阈值,那么为了进行流量限速,可以根据流量控制节点采集到的第一流量之和超出流量阈值的时间长度,获取每个节点的限速时长,以平衡流量。
具体地,可以按照所述流量统计周期内各个所述上报周期的时间顺序,依次获取限速控制节点收集到的各个上报周期内的第一流量的累加和;进而可以获取所述第一流量的累加和首次超出流量阈值时,所述累加和对应的上报周期的第一数量,然后根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长。
例如,假设将每个流量统计周期划分为N个上报周期,那么针对第N+2个上报周期而言,可以将该上报周期同时结合其之前的N-1(也即第3至第N+1个)个上报周期,作为一个流量统计周期。此时相对于该流量统计周期而言,那么则可以依次计算第3至第N+2个上报周期的第一流量的和值,也即相应流量统计周期内的N个上报周期的第一流量的累加和,如果相应流量统计周期内的第1至第J个上报周期的第一流量的累加和未超出流量阈值,而第1至第J+1个上报周期的第一流量的累加和超出流量阈值,那么对于该流量统计周期而言,和值首次超出流量阈值时对应的上报周期数量为相应流量统计周期内的第1至第J+1个上报周期,那么此时的第一数量为J+1,其中N为大于1的正整数,J为小于N的正整数。
其中,流量统计周期对应的每个节点的限速时长,与相应流量统计周期对应的第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量之间的对应关系,可以根据需求进行自定义设置,对此本发明实施例不加以限定。
例如,可以设置每个节点的限速时长为(流量统计周期内包含的上报周期的数量-第一数量)*流量统计周期的时间长度/流量统计周期内包含的上报周期的数量,或者为了增强流量限速强度,可以设置每个节点的限速时长为(流量统计周期内包含的上报周期的数量-第一数量+p)*流量统计周期的时间长度/流量统计周期内包含的上报周期的数量,其中p为正整数,等等。
可选地,在本发明实施例中,所述步骤133进一步可以包括:
步骤1331,响应于所述第一数量小于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为(N-K)*T/N;
步骤1332,响应于所述第一数量等于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为T/N;其中,所述N为所述流量统计周期内包含的上报周期的数量,所述K为所述第一数量,所述T为所述流量统计周期的时间长度。
如果一个流量统计周期的总体实际流量超过限速的流量阈值,那么此时对于每个节点限速的时长可以为(N-K)*T/N,其中(K<N),如果K=N,则对于每个节点限速时长为T/N。
假设目标系统的QPS(Query Per Second,每秒查询率)为100次每秒,一个流量统计周期的时间长度为10秒,N为10,流量阈值为500次查询上限,对于某一流量统计周期而言,其K为5,也即相当于该流量统计周期内的前4个上报周期的第一流量的和值未超出流量阈值,前5个上报周期的第一流量的和值已超出流量阈值,之后各个上报周期的第一流量的和值(例如,第1-6个上报周期的第一流量的和值,第1-7个上报周期的第一流量的和值、第1-8个上报周期的第一流量的和值、第1-9个上报周期的第一流量的和值、第1-10个上报周期的第一流量的和值)也必然会超出流量阈值,那么此时对于该流量统计周期而言,其前5个上报周期的第一流量的和值已超出流量阈值,但是并无法确定实时流量超出流量阈值时的准确时机,如果将第5个上报时机也考虑在内,可能会导致过度限速,因此在本发明实施例中,为了调节流量的同时提高流量限速效果,可以仅考虑第一流量的和值超出流量阈值之后的上报周期的数量(例如上述的流量统计周期内的第6-10个上报周期)其对应的每个节点的限速时长可以为(10-5)*10/10=5秒。
而如果对于一流量统计周期,直至其内的最后一个上报周期,各个上报周期的第一流量的和值超出流量阈值,例如上述流量统计周期内的前9个上报周期的第一流量的和值未超出流量阈值,而10个上报周期的第一流量的和值超出流量阈值,那么此时可以针对相应流量统计周期不进行流量限速。但是,由于该流量统计周期的第二流量也超出了流量阈值,因此针对第一数量等于所述流量统计周期内包含的上报周期的数量的情况,也可以设置相应流量统计周期对应的每个节点限速的时长可以为T/N。
参照图3,在本发明实施例中,所述步骤120进一步可以包括:
步骤121,将所述目标系统的流量统计周期拆分为N个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,N为大于1的整数;
步骤122,针对任一上报周期,从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量;
步骤123,获取所述N个上报周期的第一流量的和值,作为所述限速控制节点收集到的一个流量统计周期内的第二流量。
在本发明实施例中,由于各个节点以上报周期为单位进行流量上报,那么在获取流量限速参数之前,需要先将目标系统的流量统计周期拆分为N个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量。其中,N为大于1的整数,而且N的具体取值可以根据需求进行自定义设置,而且不同流量统计周期对应的N可以有所不同,也可以完全相同,对此本发明实施例不加以限定。此外,同一流量统计周期内包含的各个上报周期的时间长度也可以有所不同,当然各个上报周期的时间时间长度可以完全相同,那么此时则可以对流量统计周期平均划分为多个上报周期,对此本发明实施例也不加以限定。如图
而且由于时间的连续性,多个连续的上报周期的组合可以为一个流量统计周期,因此在对流量统计周期拆分为N个上报周期之后,可以任意连续N个上报周期作为一个流量统计周期,那么针对任一上报周期,可以从该上报周期开始向前取N个上报周期,作为一个流量统计周期,并且可以获取所述限速控制节点在N个上报周期中的每个上报周期收集到的第一流量,相应地,可以获取N个上报周期的第一流量的和值,作为一个流量统计周期内所述限速控制节点收集到的第二流量,从而可以得到相应流量上报周期的流量限速参数。
可选地,在本发明实施例中,每个所述上报周期的时间长度均为T/N,所述T为所述流量统计周期的时间长度,所述N为所述流量统计周期内包含的上报周期的数量。
而如果每个上报周期的时长不完全一致,那么在以每个上报周期获取流量统计周期时,可能会出现各个流量统计周期也出现长短不一的情况,而且上报周期长度不一致的情况下,也会影响每个上报周期内统计得到的流量的均衡性,影响后续限速的准确性。因此,在本发明实施例中,优选地可以设置各个上报周期的时间长度相同,也即对流量统计周期进行平均划分,每个上报周期的时间长度均为T/N,其中T为所述流量统计周期的时间长度,所述N为所述流量统计周期内包含的上报周期的数量。
如图4A所示为一个流量统计周期划分为N个上报周期的示意图。系统中的所有节点,包括被选作限速控制节点的节点,都可以上报周期为单位,向限速控制节点上报其在每个上报周期内的本地流量,限速控制节点从而可以收集得到各个节点上报的每个上报周期内的流量和。如图4B所示为一种统计一个流量统计周期中的各个节点上报的每个上报周期内流量的和值,也即每个上报周期的第一流量。上报周期到来时,限速控制节点从当前上报周期开始向前取N个上报周期,并且可以获取该N个上报周期内限速控制节点收集到的第一流量的总和作为一个流量统计周期的总体实际流量,也即第二流量。如图4C所示为第N+2上报周期时刻在一个流量统计周期内的第二流量示意图。
如果一个流量统计周期的第二流量超过限速阈值,为了获取限速时长,则可以获取该流量统计周期内各个上报周期的第一流量的累加和首次超过限速阈值时的最后一个上报周期在相应流量统计周期内的排序,也即当前累加和对应的上报周期的数量。
如图4D所示,对于第N+2上报周期时刻之前的一个流量统计周期,假设第5上报周期开始,也即第3-5个上报周期内的第一流量的累加和首次超出限速阈值,那么此时的第一数量可以为5-3+1,即为3。
可选地,在本发明实施例中,所述从所述上报周期开始向前取N个上报周期,获取所述限速控制节点在每个所述上报周期收集到的第一流量的步骤,具体可以包括:
S1,针对所述目标系统内每个节点,从所述上报周期开始向前取满足预设上报条件的N个上报周期,所述上报条件包括所述节点成功上报所述上报周期内的流量;
S2,获取每个所述节点上报的第i个上报周期内的流量的和值,得到所述所述限速控制节点收集到的第i个上报周期内的第一流量,所述第i个上报周期为所述N个上报周期中的任一上报周期,所述i的取值为[1,N]范围内的整数。
如上述,在实际应用中,各个节点在上报流量时,可能会出现流量上报延迟或者是丢失等异常情况,那么在将流量统计周期划分为多个上报周期的情况下,流量统计周期内的流量可以分多次上报,相对于原始的流量统计周期内的流量上报一次的情况,可以在一定程度上降低一个流量统计周期内流量统计的误差程度。
但是,由于对于各个上报周期而言,各个节点也存在出现流量上报延迟或丢失的风险,从而影响流量限速参数的准确性。因此,在本发明实施例中,为了进一步提高各个流量统计周期的流量限速参数的准确性,在把流量统计周期划分成N个上报周期之后,即使某些节点在上报周期的流量由于某种原因延迟了或者丢弃了,在计算一个流量统计周期的流量限速参数的时候,还可以针对相应节点往前多拿一个旧流量补充延迟或者丢弃了的流量,这样在计算相应存在流量延迟了或者丢弃了的上报周期的第一流量、一个流量统计周期内总体的第二流量时会相对接近真实的流量,进而提高限速准确率。
具体地,针对所述目标系统内每个节点,在获取从所述上报周期开始向前取N个上报周期时,可以从所述上报周期开始向前取满足预设上报条件的N个上报周期,其中所述上报条件包括所述节点成功上报所述上报周期内的流量,从而获取N个相应节点成功上报流量的上报周期,得到一个流量统计周期的时间长度。进而可以获取每个所述节点上报的第i个上报周期内的流量的和值,得到所述所述限速控制节点收集到的第i个上报周期内的第一流量,所述第i个上报周期为所述N个上报周期中的任一上报周期,所述i的取值为[1,N]范围内的整数。
例如,假设目标系统中包含两个节点,分别为节点A和节点B,对于从流量限速开始时刻之后的第N+2个上报周期而言,假设节点A未成功上报其中第6个上报周期内的流量,也即节点A丢弃了第6个上报周期内的流量,而节点B均成功上报连续N+2个上报周期内的流量,那么针对节点A,从第N+2个上报周期开始向前取满足预设上报条件的N个上报周期时,可以去除其中的第6个上报周期,同时向前再多取一个上报周期,也即获取N+2个上报周期中的第2、3、4、5、7、8、9…、N、N+1、N+2个上报周期,作为与相应节点A当前对应的N个上报周期,而对于节点B,从第N+2个上报周期开始向前取满足预设上报条件的N个上报周期时,可以直接获取其中第3、4、5、6、7、8、9…、N、N+1、N+2个上报周期,作为与相应节点B当前对应的N个上报周期。
进一步地,在得到每个节点对应的N个上报周期之后,则可以按照各个上报周期在N个上报周期内的排序,获取节点A上报的其对应的N个上报周期中的第1个上报周期(也即上述的连续N+2个上报周期中的第2个上报周期)内的流量,与节点B上报的其对应的N个上报周期中的第1个上报周期(也即上述的连续N+2个上报周期中的第3个上报周期)内的流量的和值,得到目标系统中的限速控制节点(可以为节点A、节点B中的任意一个)收集到的相应第1个上报周期内的第一流量,以此类推,可以分别得到限速控制节点收集到的每个上报周期内的第一流量。而且,在获取第一流量时,所参照的是各个上报周期在N个上报周期内的排序,而不是各个上报周期在原始的时间序列中的时间位置。
在获取N个上报周期内的第一流量之后,则可以进一步获取N个上报周期内的第一流量的和值,得到一个流量统计周期内的第二流量。例如,对于上述的节点A和节点B,以及连续N+2个上报周期中的第N+2个上报周期,获取限速控制节点收集到的N个上报周期内的第一流量的和值,则可以得到以连续N+2个上报周期中的第N+2个上报周期为最后一个上报周期的流量统计周期内的第二流量。
参照图3,在本发明实施例中,对每个所述节点进行流量限速的过程,进一步可以包括:
步骤134,控制所述限速控制节点发布限速消息至每个所述节点,所述限速消息中包括所述限速时长,以通知每个所述节点根据所述限速时长进行流量限速。
在实际应用中,限速控制节点可以周期性地向各个节点获取或发布消息,因此在本发明实施例中,在获取各个节点进行流量限速时,在每次确定各个节点的限速时长之后,可以控制所述限速控制节点发布限速消息至每个所述节点,所述限速消息中包括所述限速时长,以通知每个所述节点根据所述限速时长进行流量限速。
而各个节点在接收到限速消息之后,则可以根据限速消息中包含的限速时长对自身进行流量限速。例如,对于上述的包含节点A和节点B的目标系统,当前节点A和节点B接收到的限速消息中的限速时长为1秒,那么节点A和节点B则可以同时限速1秒。
另外,在本发明实施例中,为了在限速的同时还可以接收查询请求等,也可以设置节点周期性地进行多次限速,直至每次限速的总时长达到当前的限速时长。例如,可以设置各个节点连续两次限速之间的时间间隔为10毫秒,且每次连续限速的时长为100毫秒,那么对于上述的节点A和节点B,在限速时长为1秒的情况下,可以拆分为连续的10次限速,且连续两次限速之间时间间隔10毫秒,此时,在间隔的10毫秒内节点A和节点B仍可以接收请求产生流量。
而且上述周期性限速等限速策略可以根据需求进行自定义设置,而且限速策略也可以设置在限速消息内发布至各个节点,对此本发明实施例也不加以限定。
另外,如果一个流量统计周期的总体实际流量,也即第二流量不超过限速阈值,则可以不启动限速。
在本发明实施例中,系统内部节点通过一定规则选出其中一个节点作为限速控制节点而不使用外部系统作为限速协调器,避免对外部系统的依赖。而且,对流量统计周期切分成N个上报周期,用当前时间往前找N个上报周期的流量和作为一个流量统计周期的总体流量。如果总体流量超出阈值,则可以根据纪录流量统计周期内从第K个上报周期开始超出阈值的,那么对于相应流量统计周期而言,每个节点的限速时长可以为(N-K)*T/N,其中(K<N),如果K=N,则对于每个节点限速时长可以为T/N。这样在计算一个流量统计周期的总体流量时会相对接近真实的流量,从而提高限速准确性。
参照图5,示出了本发明实施例中一种流量限速装置的结构示意图。
本发明实施例的流量限速装置包括:限速控制节点设置模块210、流量上报设置模块220和流量限速处理模块230。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
限速控制节点设置模块210,用于获取待限速的目标系统中的任一节点作为限速控制节点;
流量上报设置模块220,用于针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数;
流量限速处理模块230,用于响应于所述第二流量超出流量阈值,根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速;其中,所述流量限速参数包括所述限速控制节点收集到的每个所述上报周期内的第一流量、所述流量统计周期内的第二流量。
参照图6,在本发明实施例中,所述流量限速处理模块230,进一步可以包括:
第一流量累加子模块231,用于按照所述流量统计周期内各个所述上报周期的时间顺序,依次获取限速控制节点收集到的各个上报周期内的第一流量的累加和;
第一数量获取子模块232,用于获取所述第一流量的累加和首次超出流量阈值时,所述累加和对应的上报周期的第一数量;
限速时长获取子模块233,用于根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长。
可选地,在本发明实施例中,所述限速时长获取子模块233,具体可以用于:
响应于所述第一数量小于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为(N-K)*T/N;
响应于所述第一数量等于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为T/N;
其中,所述N为所述流量统计周期内包含的上报周期的数量,所述K为所述第一数量,所述T为所述流量统计周期的时间长度。
参照图6,在本发明实施例中,所述流量上报设置模块220,进一步可以包括:
流量上报子模块221,用于将所述目标系统的流量统计周期拆分为N个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,N为大于1的整数;
第一流量获取子模块222,用于针对任一上报周期,从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量;
第二流量获取子模块223,用于获取所述N个上报周期的第一流量的和值,作为所述限速控制节点收集到的一个流量统计周期内的第二流量。
可选地,在本发明实施例中,所述第一流量获取子模块222,具体可以用于:
针对所述目标系统内每个节点,从所述上报周期开始向前取满足预设上报条件的N个上报周期,所述上报条件包括所述节点成功上报所述上报周期内的流量;
获取每个所述节点上报的第i个上报周期内的流量的和值,得到所述所述限速控制节点收集到的第i个上报周期内的第一流量,所述第i个上报周期为所述N个上报周期中的任一上报周期,所述i的取值为[1,N]范围内的整数。
可选地,每个所述上报周期的时间长度均为T/N,所述T为所述流量统计周期的时间长度,所述N为所述流量统计周期内包含的上报周期的数量。
参照图6,在本发明实施例中,所述流量限速处理模块230,进一步可以包括:
流量限速子模块234,用于控制所述限速控制节点发布限速消息至每个所述节点,所述限速消息中包括所述限速时长,以通知每个所述节点根据所述限速时长进行流量限速。
本发明实施例提供的流量限速装置能够实现图1和图3的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
优选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述流量限速方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述流量限速方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
图7为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图7中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种流量限速方法,其特征在于,包括:
获取待限速的目标系统中的任一节点作为限速控制节点;
针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数,所述流量限速参数包括所述限速控制节点收集到的每个所述上报周期内的第一流量、所述流量统计周期内的第二流量;
响应于所述第二流量超出流量阈值,根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速,包括:按照所述流量统计周期内各个所述上报周期的时间顺序,依次获取限速控制节点收集到的各个上报周期内的第一流量的累加和;获取所述第一流量的累加和首次超出流量阈值时,所述累加和对应的上报周期的第一数量;根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长的步骤,包括:
响应于所述第一数量小于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为(N-K)*T/N;
响应于所述第一数量等于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为T/N;
其中,所述N为所述流量统计周期内包含的上报周期的数量,所述K为所述第一数量,所述T为所述流量统计周期的时间长度。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数的步骤,包括:
将所述目标系统的流量统计周期拆分为N个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,N为大于1的整数;
针对任一上报周期,从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量;
获取所述N个上报周期的第一流量的和值,作为所述限速控制节点收集到的一个流量统计周期内的第二流量。
4.根据权利要求3所述的方法,其特征在于,所述从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量的步骤,包括:
针对所述目标系统内每个节点,从所述上报周期开始向前取满足预设上报条件的N个上报周期,所述上报条件包括所述节点成功上报所述上报周期内的流量;
获取每个所述节点上报的第i个上报周期内的流量的和值,得到所述所述限速控制节点收集到的第i个上报周期内的第一流量,所述第i个上报周期为所述N个上报周期中的任一上报周期,所述i的取值为[1,N]范围内的整数。
5.根据权利要求3所述的方法,其特征在于,每个所述上报周期的时间长度均为T/N,所述T为所述流量统计周期的时间长度,所述N为所述流量统计周期内包含的上报周期的数量。
6.根据权利要求1-2中任一项所述的方法,其特征在于,所述对每个所述节点进行流量限速的步骤,包括:
控制所述限速控制节点发布限速消息至每个所述节点,所述限速消息中包括所述限速时长,以通知每个所述节点根据所述限速时长进行流量限速。
7.一种流量限速装置,其特征在于,包括:
限速控制节点设置模块,用于获取待限速的目标系统中的任一节点作为限速控制节点;
流量上报设置模块,用于针对任一流量统计周期,将所述目标系统的流量统计周期拆分为多个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,以获取流量限速参数,所述流量限速参数包括所述限速控制节点收集到的每个所述上报周期内的第一流量、所述流量统计周期内的第二流量;
流量限速处理模块,用于响应于所述第二流量超出流量阈值,根据每个所述上报周期内的第一流量,获取每个所述节点的限速时长,并对每个所述节点进行流量限速,所述流量限速处理模块,包括:第一流量累加子模块,用于按照所述流量统计周期内各个所述上报周期的时间顺序,依次获取限速控制节点收集到的各个上报周期内的第一流量的累加和;第一数量获取子模块,用于获取所述第一流量的累加和首次超出流量阈值时,所述累加和对应的上报周期的第一数量;限速时长获取子模块,用于根据所述第一数量、所述流量统计周期的时间长度、所述流量统计周期内包含的上报周期的数量,获取每个所述节点的限速时长。
8.根据权利要求7所述的装置,其特征在于,所述限速时长获取子模块,具体用于:
响应于所述第一数量小于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为(N-K)*T/N;
响应于所述第一数量等于所述流量统计周期内包含的上报周期的数量,每个节点的限速时长为T/N;
其中,所述N为所述流量统计周期内包含的上报周期的数量,所述K为所述第一数量,所述T为所述流量统计周期的时间长度。
9.根据权利要求7-8中任一项所述的装置,其特征在于,所述流量上报设置模块,包括:
流量上报子模块,用于将所述目标系统的流量统计周期拆分为N个上报周期,并控制所述目标系统中的每个节点以所述上报周期为单位向所述限速控制节点上报流量,N为大于1的整数;
第一流量获取子模块,用于针对任一上报周期,从所述上报周期开始向前取N个上报周期,并获取所述限速控制节点收集到的所述N个上报周期中的每个所述上报周期内的第一流量;
第二流量获取子模块,用于获取所述N个上报周期的第一流量的和值,作为所述限速控制节点收集到的一个流量统计周期内的第二流量。
10.根据权利要求9所述的装置,其特征在于,所述第一流量获取子模块,具体用于:
针对所述目标系统内每个节点,从所述上报周期开始向前取满足预设上报条件的N个上报周期,所述上报条件包括所述节点成功上报所述上报周期内的流量;
获取每个所述节点上报的第i个上报周期内的流量的和值,得到所述所述限速控制节点收集到的第i个上报周期内的第一流量,所述第i个上报周期为所述N个上报周期中的任一上报周期,所述i的取值为[1,N]范围内的整数。
11.根据权利要求9所述的装置,其特征在于,每个所述上报周期的时间长度均为T/N,所述T为所述流量统计周期的时间长度,所述N为所述流量统计周期内包含的上报周期的数量。
12.根据权利要求7-9中任一项所述的装置,其特征在于,所述流量限速处理模块,包括:
流量限速子模块,用于控制所述限速控制节点发布限速消息至每个所述节点,所述限速消息中包括所述限速时长,以通知每个所述节点根据所述限速时长进行流量限速。
13.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的流量限速方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的流量限速方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010865844.8A CN112118188B (zh) | 2020-08-25 | 2020-08-25 | 一种流量限速方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010865844.8A CN112118188B (zh) | 2020-08-25 | 2020-08-25 | 一种流量限速方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118188A CN112118188A (zh) | 2020-12-22 |
CN112118188B true CN112118188B (zh) | 2024-07-09 |
Family
ID=73805616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010865844.8A Active CN112118188B (zh) | 2020-08-25 | 2020-08-25 | 一种流量限速方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118188B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113328906B (zh) * | 2021-04-22 | 2023-01-06 | 成都欧珀通信科技有限公司 | 一种流量实时监控方法、装置、存储介质及电子设备 |
CN114124820A (zh) * | 2021-11-15 | 2022-03-01 | 京东科技控股股份有限公司 | 流量控制方法、装置、电子设备及存储介质 |
CN115174358B (zh) * | 2022-09-08 | 2023-01-17 | 浪潮电子信息产业股份有限公司 | 存储集群接口的监测处理方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838932A (zh) * | 2018-08-17 | 2020-02-25 | 阿里巴巴集团控股有限公司 | 网络限流方法、装置以及电子设备 |
CN111352967A (zh) * | 2020-02-27 | 2020-06-30 | 携程旅游网络技术(上海)有限公司 | 滑动窗口算法的频次控制方法、系统、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676964B2 (en) * | 2008-07-31 | 2014-03-18 | Riverbed Technology, Inc. | Detecting outliers in network traffic time series |
CN108282411B (zh) * | 2017-12-29 | 2022-07-29 | 北京五八信息技术有限公司 | 一种访问限流方法、装置、设备及计算机可读存储介质 |
CN110233769B (zh) * | 2018-03-06 | 2021-09-14 | 华为技术有限公司 | 流量检测方法和设备、样本训练方法和设备、以及介质 |
CN108959399B (zh) * | 2018-06-04 | 2022-07-15 | 平安科技(深圳)有限公司 | 分布式数据删除流控方法、装置、电子设备及存储介质 |
CN109587072A (zh) * | 2019-01-04 | 2019-04-05 | 中企动力科技股份有限公司 | 分布式系统全局限速系统及方法 |
-
2020
- 2020-08-25 CN CN202010865844.8A patent/CN112118188B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838932A (zh) * | 2018-08-17 | 2020-02-25 | 阿里巴巴集团控股有限公司 | 网络限流方法、装置以及电子设备 |
CN111352967A (zh) * | 2020-02-27 | 2020-06-30 | 携程旅游网络技术(上海)有限公司 | 滑动窗口算法的频次控制方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112118188A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905907B (zh) | 一种搜网方法及移动终端 | |
CN112118188B (zh) | 一种流量限速方法、装置、电子设备及存储介质 | |
JP7221971B2 (ja) | 伝送方法、移動端末及びネットワーク機器 | |
CN108900231B (zh) | 动态天线调整方法及相关产品 | |
CN111741058A (zh) | 一种消息推送方法、装置、电子设备及存储介质 | |
CN109857559B (zh) | 终端控制方法及终端 | |
CN108984066B (zh) | 一种应用程序图标显示方法及移动终端 | |
CN109995862B (zh) | 一种资源调度方法及终端 | |
CN108322599B (zh) | 一种网络访问方法和移动终端 | |
CN107835495B (zh) | 一种消息提示方法、装置及移动终端 | |
CN111371705B (zh) | 一种下载任务执行方法及电子设备 | |
CN108897516B (zh) | 一种可穿戴设备音量调整方法及相关产品 | |
CN107277364B (zh) | 一种拍摄方法、移动终端及计算机可读存储介质 | |
CN110505660B (zh) | 一种网络速率调整方法及终端设备 | |
CN108810261B (zh) | 通话中天线切换方法及相关产品 | |
CN108521417B (zh) | 一种通信处理方法及移动终端 | |
CN112612552B (zh) | 应用程序资源加载方法、装置、电子设备及可读存储介质 | |
CN111107223B (zh) | 一种消息处理方法及电子设备 | |
CN111818657B (zh) | 上行发送丢弃方法、上行发送丢弃配置方法及相关设备 | |
CN109413592B (zh) | 一种广播方法和移动终端 | |
CN108536272B (zh) | 一种调整应用程序帧率的方法及移动终端 | |
CN111694536A (zh) | 音频控制方法、电子设备及计算机可读存储介质 | |
CN108234745B (zh) | 一种信号接收方法、移动终端及计算机可读存储介质 | |
CN108076287B (zh) | 一种图像处理方法、移动终端及计算机可读存储介质 | |
CN108089799B (zh) | 一种屏边控件的控制方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |