CN107547433B - 基于令牌漏桶进行限流的方法、装置和设备 - Google Patents

基于令牌漏桶进行限流的方法、装置和设备 Download PDF

Info

Publication number
CN107547433B
CN107547433B CN201710532933.9A CN201710532933A CN107547433B CN 107547433 B CN107547433 B CN 107547433B CN 201710532933 A CN201710532933 A CN 201710532933A CN 107547433 B CN107547433 B CN 107547433B
Authority
CN
China
Prior art keywords
performance index
leaky bucket
threshold
current
token
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
Application number
CN201710532933.9A
Other languages
English (en)
Other versions
CN107547433A (zh
Inventor
康家邦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201710532933.9A priority Critical patent/CN107547433B/zh
Publication of CN107547433A publication Critical patent/CN107547433A/zh
Application granted granted Critical
Publication of CN107547433B publication Critical patent/CN107547433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请实施例公开了一种基于令牌漏桶进行限流的方法、装置和设备,该方法包括:获取被监控设备中的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶的限流阀值为该令牌漏桶的令牌放入速率,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。

Description

基于令牌漏桶进行限流的方法、装置和设备
技术领域
本申请涉及计算机网络领域,尤其涉及一种基于令牌漏桶进行限流的方法、装置和设备。
背景技术
在现有的限流方案中,通常采用固定配置的方式对接口进行限流,以防止访问流量过大导致计算机设备的系统崩溃。
但是,在设置的限流值后,往往在未达到计算机设备的系统性能就对用户的访问进行限流,从而造成系统资源的浪费。
亟需一种方案,既能够进行限流,又能够充分利用系统资源,减少系统资源浪费。
发明内容
本申请实施例的目的是提供一种基于令牌漏桶进行限流的方法、装置和设备,以既能够达到限流的目的,又能够充分利用系统资源,减少系统资源浪费。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出了一种基于令牌漏桶进行限流的方法,该方法包括:
获取被监控设备中的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶的限流阀值为该令牌漏桶的令牌放入速率,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;
如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
第二方面,提出了一种限流装置,该装置包括:
获取单元,获取被监控设备中的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶的限流阀值为该令牌漏桶的令牌放入速率,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;
调整单元,如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
第三方面,提出了一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
获取被监控设备的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;
如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
第四方面,提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序当被包括多个应用程序的电子设备执行时,使得该电子设备执行以下操作:
获取被监控设备的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;
如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
由以上本申请实施例提供的技术方案可见,本申请实施例通过根据被监控设备的性能指标要求,调整令牌漏桶的限流阀值,以使得被监控设备的性能指标达到预设的性能指标要求,从而既能够达到限流的目的,又能够充分利用系统资源,减少系统资源浪费。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例基于令牌漏桶进行限流的方法流程图。
图2是本申请的一个实施例限流阀值调整的具体流程示意图。
图3是本申请的一个实施例电子设备的结构示意图。
图4是本申请的一个实施例限流装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请的一个实施例基于令牌漏桶进行限流的方法流程图。图1的方法由限流装置执行。该方法可包括:
S102,获取被监控设备的性能指标和令牌漏桶当前的限流阀值。
其中,该令牌漏桶的限流阀值为该令牌漏桶的令牌放入速率,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值。
应理解,在本申请实施例中,被监控设备内应用的访问请求流量,可以是被监控设备各应用的访问请求流量,或者是被监控设备指定应用的访问请求流量,或者是被监控设备各应用对指定接口的访问请求流量,或者是被监控设备指定应用对指定接口的访问请求流量,等等。
应理解,本申请实施例中,限流装置可以部署在被监控设备上,也可以部署在能够管理调整令牌漏桶的第三方装置上。此外,应理解,限流装置所监控的设备,可以只有一个,例如限流装置所在的设备;也可以有多个,例如,限流装置所在的集群网络中的全部或部分单机设备,等等。被监控设备,可以包括计算机设备、移动终端等设备。
应理解,在本申请实施例中,该性能指标为该被监控设备当前的瞬时性能指标或该被监控设备在当前时刻之前预定时间内的平均性能指标。
S104,如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
应理解,第一性能指标可以是被监控设备中的任意一个性能指标。
应理解,在被监控设备中可包括多个性能指标,具体可包括软件性能指标和/或硬件性能指标。如果其中任一个性能指标满足限流阀值调整条件,或者说其中任一个性能指标满足限流阀值调整条件没有达到预设的性能指标要求,则可进行限流阀值的调整。
可选地,在本申请实施例中,性能指标可包括以下的一种或多种:cpu使用率、内存使用率、网络输入输出(input/output,IO)吞吐率、设备负载。
本申请实施例中,通过根据被监控设备的性能指标要求,调整令牌漏桶的限流阀值,以使得被监控设备的性能指标达到预设的性能指标要求,从而既能够达到限流的目的,又能够充分利用被监控设备的系统资源,减少系统资源浪费。
可选地,在步骤S104之前,该方法还可包括:获取限流阀值调整方式。具体地,在获取限流阀值调整方式时,可获取限流阀值调整方式中的相关参数,例如调整比例或调整幅度等。当然,应理解,限流阀值调整时,可包括提升限流阀值和降低限流阀值。在实际的应用中,提升限流阀值和降低限流阀值时的调整比例或调整幅度,可以相同,也可以不同。
可选地,在本申请实施例中,该限流阀值调整条件包括:
第一性能指标高于第一性能指标的上限阈值;或者
第一性能指标低于第一性能指标的下限阈值。
应理解,在本申请实施例中,可预先为被监控设备的性能指标规定上限阈值和下限阈值。也就是说,在调整令牌漏桶的限流阀值的时候,需要将性能指标控制在下限阈值和上限阈值之间。以CPU使用率为例,可设置CPU使用率的下限阈值为5%,CPU使用率的上限阈值为80%,等等。当然,此处的5%和80%仅仅是举例说明,在实际的应用中,可能设置其它的数值,本申请实施例对此不作限制。
应理解,根据性能指标与性能指标的阀值之间的关系的不同,可以有不同的限流阀值调整方式。或者说,不同的该限流阀值调整条件,对应于不同的限流阀值调整方式。
当限流阀值调整条件为第一性能指标高于第一性能指标的上限阈值时,可以存在如下限流阀值调整方式。
可选地,作为一个实施例,步骤S104具体可实现为:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值。
或者,可选地,作为另一个实施例,步骤S104具体可实现为:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值。
当然,应理解,在实际的使用中,可能由于性能指标阈值设置的不合理,无论如何调整令牌漏桶的限流阀值,都无法使得被监控设备的性能指标满足预先设置的性能指标要求。为避免无限制地降低令牌漏桶的限流阀值,本申请实施例还提出了以下方案:
可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的下限阀值。
可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的下限阀值。
本申请实施例中,通过设定令牌漏桶的下限阀值作为降低令牌漏桶的限流阀值的操作限制条件,可以避免无限制地降低令牌漏桶的限流阀值。
类似地,当限流阀值调整条件为第一性能指标低于第一性能指标的下限阈值时,可以存在如下限流阀值调整方式。
可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加比例提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
或者,可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加幅度提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
类似地,应理解,在实际的使用中,可能由于性能指标阈值设置的不合理,无论如何调整令牌漏桶的限流阀值,都无法使得被监控设备的性能指标满足预先设置的性能指标要求。为避免无限制地提高令牌漏桶的限流阀值,本申请实施例还提出了以下方案:
可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加比例提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的上限阀值。
或者,可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加幅度提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的上限阀值。
本申请实施例中,通过设定令牌漏桶的上限阀值作为提高令牌漏桶的限流阀值的操作限制条件,可以避免无限制地提高令牌漏桶的限流阀值。
当然,还可以通过其它的方式,避免无限制地提高令牌漏桶的限流阀值。
可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标低于第一性能指标的下限阈值,且该被监控设备内应用的当前访问请求流量大于预定访问流量阀值,则在第二预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
应理解,该被监控设备内应用的当前访问请求流量,可以是该被监控设备内应用在当前时刻的瞬时访问请求流量,或者是被监控设备内应用在当前时刻之前第三预定时间内的平均访问请求流量,或者是其它用于表示当前时刻或当前一段时间的访问请求流量的指标,本申请实施例对此不作限制。
或者,可选地,作为再一个实施例,步骤S104具体可实现为:
如果第一性能指标低于第一性能指标的下限阈值,且该被监控设备内应用的当前访问请求流量大于预定访问流量阀值,则在第二预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
图2是本申请的一个实施例限流阀值调整的具体流程示意图。下面,将结合图2,对本申请的实施例做进一步的描述。
202,管理员设置被监控设备的限流阀值、性能指标阈值、限流阀值调整方式。
应理解,在本申请实施例中,被监控设备可以是一个,也可以是多个,本申请实施例对此不作限制。
应理解,在本申请实施例中,管理员设置限流装置的单个设备的初始限流阀值和机器性能指标值,例如CPU使用率、网络IO吞吐量、内存使用率、系统负载,等等。
此外,管理员还可以设置限流阀值的调整方式,例如,设置每次调整的比例,或者每次调整的幅度。当然,应理解,限流阀值的调整可包括提高限流阀值和降低限流阀值两种方式,不同方式的调整比例或调整幅度可以相同,也可以不同。
调整比例,例如,20%。则系统在调整限流阀值时,可以每次增加20%的限流阀值,或每次减少20%的限流阀值。
调整幅度,例如10tps(Transaction per Second,每秒钟的处理的请求数)。则系统在调整限流阀值时,可以每次增加10tps的限流阀值,或每次减少10tps的限流阀值。
此外,为避免限流阀值调整过大或过小,还可设定限流阀值的上限阈值和下限阈值。例如,可规定上限阈值为1000tps,下限阈值为20tps,等等。
204,获取被监控设备的性能指标。
限流装置可采集被监控设备的性能指标。具体地,具体地,被监控设备的性能指标,可包括具有性能指标要求的性能指标。例如,CPU使用率、内存使用率、网络IO吞吐率、设备负载,等等。
应理解,在采集性能指标时,可采集当前时刻的瞬时性能指标,或者采集当前时刻之间预定时间内的平均性能指标。
206,判断性能指标是否满足对应的性能指标要求。
系统可根据步骤204采集的性能指标,判断性能指标是否满足对应的性能指标要求。
对于任何一个存在性能指标要求的性能指标,如果所有性能指标都达到预设的性能指标要求,则不需要进行令牌漏桶的限流阀值调整。当然,应理解,随着时间的变化,各性能指标可能发生变化。此时,可设定一个预定时间段,每隔预定时间段后,执行步骤204。
对于任何一个存在性能指标要求的性能指标,如果对被监控设备采集的性能指标达不到性能指标要求,则需要调整令牌漏桶的限流阀值。此时,执行步骤208。
208,计算在令牌漏桶中放入令牌的速率。
如果采集的性能指标达不到性能指标要求,限流装置需要对被监控设备的令牌漏桶的限流阀值进行调整,即调整令牌漏桶中放入令牌的速率。
限流阀值的计算方法如下:
第一步,获取限流阀值的当前值。
该限流阈值由限流装置设定,为便于举例说明,不妨假设为100tps。
第二步,获取限流阈值调整条件对应的限流阈值调整方式。
应理解,限流阀值调整条件,即性能指标达不到性能要求的条件。对于任一个具有性能指标要求的性能指标来说,达不到性能指标要求,一般有两种情况,第一种情况:超过性能指标上限阈值,第二种情况:低于性能指标下限阈值。
对于第一种情况,应按照使得性能指标降低的方式调整限流阀值,即降低限流阀值;
对于第二种情况,应按照使得性能指标升高的方式调整限流阀值,即提高限流阀值。
当然,不管是降低限流阀值还是提升限流阀值,都需要获取限流阀值调整条件对应的限流调整方式。如前面所述,限流调整方式可以按幅度调整,也可以按比例调整。本申请实施例中,不妨以比例调整为例,并假设调整比例为20%。幅度调整的方式可参考比例调整的方式。
第三步,按照限流阈值调整条件对应的限流阈值调整方式进行调整。
例如,假设当前CPU使用率超过CPU使用率上限阈值,则应降低限流阀值。此时,限流阈值为100tps*(1-20%)=80tps。
配置完成后,执行步骤210。
210,往令牌桶中放入令牌。
根据步骤208计算的阀值,已一定的速率往容器中放入令牌,容器中的令牌数表明当前机器可以承担的访问数。
前面论述了限流阀值的调整方法。当请求到来后,将按照此限流阀值来对用户请求进行限流。具体地,图2的方法还可包括:
220,用户请求。
用户发起访问请求。
222,判断令牌漏桶中是否存在令牌。
判断容器中是否含有令牌,以确定当前的请求是否被限流。
如果容器中含有令牌,则执行步骤224,当前请求被处理,并从容器中拿走一个令牌;
如果容器中不含有令牌时,则当前请求被抛弃,执行步骤226。
224,系统处理请求。
226,系统拒绝请求。
当然,应理解,前面图2所示实施例没有考虑令牌漏桶的上限阀值和下限阀值,也没有考虑被监控设备内应用的当前访问请求流量对性能指标的影响。但是,本领域的技术人员,可以结合图1所示实施例的方案,推导出与本申请图2所示实施例类似的流程图,本申请实施例在此不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图3是本申请的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成限流装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取被监控设备的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶的限流阀值为该令牌漏桶的令牌放入速率,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;
如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
上述如本申请图3所示实施例揭示的限流装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的方法,并实现限流装置在图1、图2所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图3所示实施例的方法,并具体用于执行以下操作:
获取被监控设备的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶的限流阀值为该令牌漏桶的令牌放入速率,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;
如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
图4是本申请的一个实施例限流装置400的结构示意图。请参考图4,在一种软件实施方式中,限流装置可包括:
获取单元401,获取被监控设备的性能指标和令牌漏桶当前的限流阀值,该令牌漏桶的限流阀值为该令牌漏桶的令牌放入速率,该令牌漏桶用于控制该被监控设备内应用的访问请求流量不超出该限流阀值;
调整单元402,如果该被监控设备的性能指标中的第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据该令牌漏桶当前的限流阀值,按照该限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值。
可选地,在本申请实施例中,该限流阀值调整条件包括:
第一性能指标高于第一性能指标的上限阈值;或者
第一性能指标低于第一性能指标的下限阈值。
本申请实施例中,通过根据被监控设备的性能指标要求,调整令牌漏桶的限流阀值,以使得被监控设备的性能指标达到预设的性能指标要求,从而既能够达到限流的目的,又能够充分利用系统资源,减少系统资源浪费。
可选地,作为一个实施例,调整单元402具体用于:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值。
可选地,作为另一个实施例,调整单元402具体用于:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的下限阀值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的下限阀值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加比例提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加幅度提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加比例提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的上限阀值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加幅度提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值,或者直至该令牌漏桶的限流阀值不高于该令牌漏桶的上限阀值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标低于第一性能指标的下限阈值,且该被监控设备内应用的当前访问请求流量大于预定访问流量阀值,则在第二预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
可选地,作为再一个实施例,调整单元402具体用于:
如果第一性能指标低于第一性能指标的下限阈值,且该被监控设备内应用的当前访问请求流量大于预定访问流量阀值,则在第二预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
限流装置400还可执行图1的方法,并实现限流装置在图1、图2所示实施例的功能,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (12)

1.一种基于令牌漏桶进行限流的方法,该方法包括:
获取被监控设备中的性能指标和令牌漏桶当前的限流阀值,所述令牌漏桶的限流阀值为所述令牌漏桶的令牌放入速率,所述令牌漏桶用于控制所述被监控设备内应用的访问请求流量不超出所述限流阀值;
如果对所述被监控设备采集的当前时刻的瞬时性能指标中的第一性能指标达不到预设的性能要求使得所述第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据所述令牌漏桶当前的限流阀值,按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值以使得所述令牌漏桶在所述第一性能指标达到所述预设的性能指标要求的情况下,控制所述被监控设备内应用的访问请求流量不超出所述限流阀值,当第一性能指标与第一性能指标的阀值的关系不满足限流阀值调整条件时,停止调整令牌漏桶的限流阀值。
2.如权利要求1所述的方法,其特征在于,
所述限流阀值调整条件包括:
第一性能指标高于第一性能指标的上限阈值;或者
第一性能指标低于第一性能指标的下限阈值。
3.如权利要求2所述的方法,其特征在于,
按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值,包括:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值;或者
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值。
4.如权利要求2所述的方法,其特征在于,
按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值,包括:
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值,或者直至所述令牌漏桶的限流阀值不高于所述令牌漏桶的下限阀值;或者
如果第一性能指标高于第一性能指标的上限阈值,则在第一预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不高于第一性能指标的上限阈值,或者直至所述令牌漏桶的限流阀值不高于所述令牌漏桶的下限阀值。
5.如权利要求2所述的方法,其特征在于,
按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值,包括:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加比例提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值;或者
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加幅度提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
6.如权利要求2所述的方法,其特征在于,
按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值,包括:
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加比例提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值,或者直至所述令牌漏桶的限流阀值不高于所述令牌漏桶的上限阀值;或者
如果第一性能指标低于第一性能指标的下限阈值,则在第二预定时间内按照预定增加幅度提高令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值,或者直至所述令牌漏桶的限流阀值不高于所述令牌漏桶的上限阀值。
7.如权利要求2所述的方法,其特征在于,
如果第一性能指标低于第一性能指标的下限阈值,且所述被监控设备内应用的当前访问请求流量大于预定访问流量阀值,则在第二预定时间内按照预定减少比例降低令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值;或者
如果第一性能指标低于第一性能指标的下限阈值,且所述被监控设备内应用的当前访问请求流量大于预定访问流量阀值,则在第二预定时间内按照预定减少幅度降低令牌漏桶的限流阀值,直至第一性能指标不低于第一性能指标的下限阈值。
8.如权利要求1-7中任一项所述的方法,其特征在于,
所述性能指标为所述被监控设备当前的瞬时性能指标或所述被监控设备在当前时刻之前预定时间内的平均性能指标。
9.如权利要求1-7中任一项所述的方法,其特征在于,
所述性能指标可包括以下的一种或多种:中央处理器CPU使用率、内存使用率、网络输入输出IO吞吐率、设备负载。
10.一种限流装置,该装置包括:
获取单元,获取被监控设备中的性能指标和令牌漏桶当前的限流阀值,所述令牌漏桶的限流阀值为所述令牌漏桶的令牌放入速率,所述令牌漏桶用于控制所述被监控设备内应用的访问请求流量不超出所述限流阀值;
调整单元,如果对所述被监控设备采集的当前时刻的瞬时性能指标中的第一性能指标达不到预设的性能要求使得所述第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据所述令牌漏桶当前的限流阀值,按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值以使得所述令牌漏桶在所述第一性能指标达到所述预设的性能指标要求的情况下,控制所述被监控设备内应用的访问请求流量不超出所述限流阀值,当第一性能指标与第一性能指标的阀值的关系不满足限流阀值调整条件时,停止调整令牌漏桶的限流阀值。
11.一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取被监控设备的性能指标和令牌漏桶当前的限流阀值,所述令牌漏桶用于控制所述被监控设备内应用的访问请求流量不超出所述限流阀值;
如果对所述被监控设备采集的当前时刻的瞬时性能指标中的第一性能指标达不到预设的性能要求使得所述第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据所述令牌漏桶当前的限流阀值,按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值以使得所述令牌漏桶在所述第一性能指标达到所述预设的性能指标要求的情况下,控制所述被监控设备内应用的访问请求流量不超出所述限流阀值,当第一性能指标与第一性能指标的阀值的关系不满足限流阀值调整条件时,停止调整令牌漏桶的限流阀值。
12.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取被监控设备中的性能指标和令牌漏桶当前的限流阀值,所述令牌漏桶的限流阀值为所述令牌漏桶的令牌放入速率,所述令牌漏桶用于控制所述被监控设备内应用的访问请求流量不超出所述限流阀值;
如果对所述被监控设备采集的当前时刻的瞬时性能指标中的第一性能指标达不到预设的性能要求使得所述第一性能指标与第一性能指标的阀值的关系满足限流阀值调整条件,则根据所述令牌漏桶当前的限流阀值,按照所述限流阀值调整条件对应的限流阀值调整方式,调整令牌漏桶的限流阀值以使得所述令牌漏桶在所述第一性能指标达到所述预设的性能指标要求的情况下,控制所述被监控设备内应用的访问请求流量不超出所述限流阀值,当第一性能指标与第一性能指标的阀值的关系不满足限流阀值调整条件时,停止调整令牌漏桶的限流阀值。
CN201710532933.9A 2017-07-03 2017-07-03 基于令牌漏桶进行限流的方法、装置和设备 Active CN107547433B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710532933.9A CN107547433B (zh) 2017-07-03 2017-07-03 基于令牌漏桶进行限流的方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710532933.9A CN107547433B (zh) 2017-07-03 2017-07-03 基于令牌漏桶进行限流的方法、装置和设备

Publications (2)

Publication Number Publication Date
CN107547433A CN107547433A (zh) 2018-01-05
CN107547433B true CN107547433B (zh) 2020-12-22

Family

ID=60970963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710532933.9A Active CN107547433B (zh) 2017-07-03 2017-07-03 基于令牌漏桶进行限流的方法、装置和设备

Country Status (1)

Country Link
CN (1) CN107547433B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842565B (zh) * 2018-12-15 2023-03-28 平安科技(深圳)有限公司 接口限流方法、装置、电子设备及存储介质
CN112242959B (zh) * 2019-07-16 2022-10-14 中国移动通信集团浙江有限公司 微服务限流控制方法、装置、设备及计算机存储介质
CN110417888A (zh) * 2019-07-30 2019-11-05 中国工商银行股份有限公司 流量控制方法、流量控制装置和电子设备
CN110996352B (zh) * 2019-12-20 2023-12-26 众安在线财产保险股份有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN113132254B (zh) * 2019-12-30 2023-03-24 浙江宇视科技有限公司 漏桶算法的自适应流量控制方法、装置、介质及电子设备
CN113381941B (zh) * 2020-02-25 2022-09-30 深信服科技股份有限公司 一种任务调度方法、装置、电子设备和计算机存储介质
CN111817974B (zh) * 2020-06-09 2022-11-15 平安科技(深圳)有限公司 基于令牌桶的接口限流方法、装置、系统及可读存储介质
US20240064103A1 (en) * 2022-08-11 2024-02-22 Cisco Technology, Inc. Packet flow sampling in network monitoring

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1536815A (zh) * 2003-04-03 2004-10-13 华为技术有限公司 采用令牌漏桶进行报文限流的方法
CN103929366A (zh) * 2014-04-02 2014-07-16 华为技术有限公司 流量控制方法、装置及设备
CN105740076A (zh) * 2016-01-30 2016-07-06 华为技术有限公司 一种负载均衡方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1536815A (zh) * 2003-04-03 2004-10-13 华为技术有限公司 采用令牌漏桶进行报文限流的方法
CN103929366A (zh) * 2014-04-02 2014-07-16 华为技术有限公司 流量控制方法、装置及设备
CN105740076A (zh) * 2016-01-30 2016-07-06 华为技术有限公司 一种负载均衡方法及装置

Also Published As

Publication number Publication date
CN107547433A (zh) 2018-01-05

Similar Documents

Publication Publication Date Title
CN107547433B (zh) 基于令牌漏桶进行限流的方法、装置和设备
CN107770088B (zh) 一种流量控制方法及装置
CN110768912B (zh) Api网关限流方法及装置
CN107483351B (zh) 一种限流方法及装置
CN110061930B (zh) 一种数据流量的限制、限流值的确定方法和装置
CN109257758B (zh) 一种网络扩容方法及装置
CN111767142B (zh) 服务节点的限流阈值设置方法和服务端设备
CN111488135A (zh) 高并发系统的限流方法、装置、存储介质及设备
CN108243032B (zh) 一种服务等级信息的获取方法、装置及设备
CN106155646B (zh) 一种限制外部应用程序调用服务的方法及装置
CN110222936B (zh) 一种业务场景的根因定位方法、系统及电子设备
CN110751515A (zh) 一种基于用户消费行为的决策方法和装置、电子设备及存储介质
CN113079189A (zh) 能力开放平台的容量控制方法、装置及电子设备
CN114124942B (zh) 核心网资源调度方法、装置及电子设备
CN112737798A (zh) 主机资源分配方法、装置及调度服务器、存储介质
CN110175450B (zh) 一种信息的处理方法、装置及设备
CN108804152B (zh) 配置参数的调节方法及装置
CN110535785B (zh) 一种发送频率的控制方法、装置和分布式系统
CN110659178B (zh) 系统运行状态调节方法、装置及存储介质、电子设备
CN111897785A (zh) 工单数量的控制方法、装置及设备
CN112367384B (zh) 基于Kafka集群的动态限速方法、装置以及计算机设备
CN112182454A (zh) 一种网页优化的方法、装置及存储介质、电子设备
CN113381867A (zh) 通信时延原因确定方法、装置及电子设备、存储介质
JP2014116814A (ja) 情報処理装置
CN111405000B (zh) 一种p2p网络资源共享方法和系统

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
TA01 Transfer of patent application right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant