CN115941610A - 基于令牌桶算法的限流方法、限流装置及电子设备 - Google Patents
基于令牌桶算法的限流方法、限流装置及电子设备 Download PDFInfo
- Publication number
- CN115941610A CN115941610A CN202211584492.4A CN202211584492A CN115941610A CN 115941610 A CN115941610 A CN 115941610A CN 202211584492 A CN202211584492 A CN 202211584492A CN 115941610 A CN115941610 A CN 115941610A
- Authority
- CN
- China
- Prior art keywords
- token
- capacity
- tokens
- token bucket
- bucket
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000008569 process Effects 0.000 claims description 9
- 238000009825 accumulation Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种基于令牌桶算法的限流方法、限流装置及电子设备,属于访问请求限流控制技术领域。该方法包括:首先接收访问请求,然后比较令牌桶中的令牌数量和令牌容量,如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求;如果令牌数量大于或等于令牌容量,则将访问请求丢弃。该方法通过比较令牌桶中的令牌数量和令牌容量,向令牌桶中新增令牌,如果可以新增令牌则对访问请求进行处理,如果不可以新增令牌则丢弃该访问请求。当堆积的正在处理的访问请求较多时,会直接丢弃新的访问请求,从而减少服务器的访问请求堆积的情况,提高服务器处理访问请求的效率。
Description
技术领域
本发明涉及访问请求限流控制技术领域,具体地涉及一种基于令牌桶算法的限流方法、限流装置及电子设备。
背景技术
目前,访问请求的限流控制主要是通过令牌桶算法,匀速的在令牌桶中放入令牌,当令牌数量超过令牌桶容量时,则将超出的令牌丢弃。当有访问请求时,从令牌桶中申请一个令牌,如果访问请求申请到令牌,对该访问请求进行处理,如果访问请求没有申请到令牌,则将该访问请求丢弃。当服务器对访问请求的处理速度变慢时,会造成访问请求堆积的情况,由于会匀速向令牌桶中放入令牌,使得访问请求堆积更加严重,从而导致服务器对访问请求处理效率较低。
发明内容
基于此,本发明第一方面提供一种基于令牌桶算法的限流方法,有效提高服务器对访问请求的处理效率,该方法包括:
接收访问请求;
比较令牌桶中的令牌数量和令牌容量;
如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求;
如果令牌数量大于或等于令牌容量,则将访问请求丢弃。
在本发明实施例中,如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求之后,还包括:
在访问请求处理结束后,从令牌桶中删除一个令牌。
在本发明实施例中,方法还包括:
每隔预设周期获取预设时间内令牌桶接收的访问请求数量;
基于访问请求数量,调整令牌桶中的令牌容量。
在本发明实施例中,基于访问请求数量,调整令牌桶中的令牌容量,包括:
比较当前周期的访问请求数量和上一周期的访问请求数量;
如果当前周期的访问请求数量大于上一周期的访问请求数量,则将令牌容量增加预设数值,得到增加后的令牌容量;
如果当前周期的访问请求数量小于上一周期的访问请求数量,则将令牌容量减少预设数值,得到减少后的令牌容量;
如果当前周期的请求数量等于上一周期的请求数量,则不改变令牌容量。
在本发明实施例中,每隔预设周期获取预设时间内的令牌桶接收的访问请求数量之前,还包括:
设置令牌桶的最大令牌容量;
将令牌容量增加预设数值,得到增加后的令牌容量之后,还包括:
如果增加后的令牌容量大于最大令牌容量,则将增加后的令牌容量设置为最大令牌容量。
在本发明实施例中,每隔预设周期获取预设时间内的令牌桶接收的访问请求数量之前,还包括:
设置令牌桶的最小令牌容量;
将令牌容量减少预设数值,得到减少后的令牌容量之后,包括:
如果减少后的令牌容量小于最小令牌容量,则将减少后的令牌容量设置为最小令牌容量。
本发明第二方面提供一种基于令牌桶算法的限流装置,包括:
请求接收模块,用于接收访问请求;
比较模块,用于比较令牌桶中的令牌数量和令牌容量;
令牌处理模块,用于如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求;
请求丢弃模块,用于如果令牌数量大于或等于令牌容量,则将访问请求丢弃。
在本发明实施例中,该装置还包括:
令牌删除模块,用于在访问请求处理结束后,从令牌桶中删除一个令牌。
本发明第三方面提供一种电子设备,该电子设备包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述任一项的基于令牌桶算法的限流方法。
本发明第四方面提供一种机器可读存储介质,机器可读存储介质上存储有指令,指令在被处理器执行时实现如上述任意一项的基于令牌桶算法的限流方法。
通过上述技术方案,首先接收访问请求,然后比较令牌桶中的令牌数量和令牌容量,如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求;如果令牌数量大于或等于令牌容量,则将访问请求丢弃。该方法通过比较令牌桶中的令牌数量和令牌容量,向令牌桶中新增令牌,如果可以新增令牌则对访问请求进行处理,如果不可以新增令牌则丢弃该访问请求。当堆积的正在处理的访问请求较多时,会直接丢弃新的访问请求,从而减少服务器的访问请求堆积的情况,提高服务器处理访问请求的效率。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明实施例提供的一种基于令牌桶算法的限流方法的流程示意图;
图2是本发明实施例提供的一种基于令牌桶算法的限流装置的结构示意图;
图3是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
目前,服务器接收客户端的访问请求时,如果服务器对访问请求的响应变慢,而访问请求持续发送,则会导致服务器的访问请求堆积,消耗服务器的资源,从而使得服务器对访问请求的响应变得更慢,最终有可能导致服务器的崩溃。因此,需要通过对访问请求的限流来解决服务器响应过慢的问题。
现有技术中,限流算法主要包括固定窗口限流算法、滑动窗口限流算法、漏桶算法以及令牌桶方法。固定窗口限流算法在大量的访问请求集中于很短的一个时间范围时,会导致这个单位时间内其他时间窗口无法响应请求,另外,如果访问请求集中在第一个时间窗口的最后以及下一个时间窗口的开始段,则此时服务器很可能会崩溃。滑动窗口限流算法虽然可以解决访问请求集中于第一个时间窗口的最后以及下一个时间窗口开始段的问题,但无法解决短时间内集中流量突击问题。漏桶算法可以使服务器匀速处理访问请求,保证服务器不会因短时集中接收访问请求而崩溃,但无法解决正常的流量突发问题(如各种秒杀场景),影响用户体验。传统的令牌桶方法可以解决流量突发的问题,但是在服务器对访问请求处理速度变慢时,会造成访问请求的堆积,传统的令牌桶方法由于还会匀速向令牌桶中放入令牌,从而会导致访问请求堆积更加严重。大量的访问请求堆积会消耗服务端资源,也会延长请求的响应时长。
基于此,本申请提供了一种基于令牌桶算法的限流方法,将传统的令牌桶算法进行改进,从而减少服务器访问请求堆积的情况,提高服务器处理访问请求的效率。图1为本发明实施例提供的一种基于令牌桶算法的限流方法的流程示意图,如图1所示,该方法包括:
步骤S101:接收访问请求。
在实际应用中,访问请求通过队列形式进入服务器,服务器顺次接收访问请求并对访问请求进行处理。
步骤S102:比较令牌桶中的令牌数量和令牌容量。
在实际应用中,对令牌桶进行初始化,即设置令牌桶的初始令牌容量,最大令牌容量和最小令牌容量。当服务器接收到访问请求时,比较当前令牌桶中的令牌数量和当前令牌桶的令牌容量。
步骤S103:如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求。
在实际应用中,如果当前的令牌数量小于当前令牌容量,则此时令牌桶没有存满令牌,可以新增一个令牌。基于令牌桶中的令牌对该访问请求进行处理,该令牌可以是令牌桶中原有的令牌,也可以是新增的令牌。
步骤S104:如果令牌数量大于或等于令牌容量,则将访问请求丢弃。
在实际应用中,如果当前的令牌数量大于或等于当前令牌容量,则此时令牌桶存满令牌,无法新增令牌,也无法对访问请求进行处理,则将该访问请求丢弃。
通过上述实施例,首先接收访问请求,然后比较令牌桶中的令牌数量和令牌容量,如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求;如果令牌数量大于或等于令牌容量,则将访问请求丢弃。该方法通过比较令牌桶中的令牌数量和令牌容量,向令牌桶中新增令牌,如果可以新增令牌则对访问请求进行处理,如果不可以新增令牌则丢弃该访问请求。当堆积的正在处理的访问请求较多时,会直接丢弃新的访问请求,从而减少服务器的访问请求堆积的情况,提高服务器处理访问请求的效率。
在一实施例中,步骤103之后,包括:
在访问请求处理结束后,从令牌桶中删除一个令牌。
在实际应用中,在服务器处理访问请求结束后,将令牌桶中的一个令牌删除。该方法可以通过在处理访问请求后将令牌桶中令牌桶的数量减少,从而防止服务器的访问请求堆积。
在一实施例中,基于令牌桶算法的限流方法,还包括:
每隔预设周期获取预设时间内令牌桶接收的访问请求数量;
基于访问请求数量,调整令牌桶中的令牌容量。
在实际应用中,预设时间可以设为10分钟,预设周期可以设为1分钟,可以理解的是预设时间和预设周期可根据需要设定。具体地,每一分钟,获取当前时间点之前十分钟内服务器接收的访问请求数量,例如,9点59分获取9点49分至9点59分之间服务器接收的第一访问请求数量,10点获取9点50分至10点之间服务器接收的第二访问请求数量。比较当前周期的访问请求数量和上一周期的请求访问数量,例如,将10点的第二访问请求数量与9点59分的第一访问请求数量比较。进而可以根据比较结果对令牌桶的令牌容量进行调整。下面将介绍具体的调整方式。
在一实施例中,基于访问请求数量,调整令牌桶中的令牌容量,包括:
比较当前周期的访问请求数量和上一周期的访问请求数量;
如果当前周期的访问请求数量大于上一周期的访问请求数量,则将令牌容量增加预设数值,得到增加后的令牌容量;
如果当前周期的访问请求数量小于上一周期的访问请求数量,则将令牌容量减少预设数值,得到减少后的令牌容量;
如果当前周期的请求数量等于上一周期的请求数量,则不改变令牌容量。
在实际应用中,比较当前周期预设时间内的访问请求数量和上一周期预设时间内的访问请求数量。如果当前周期预设时间内的访问请求数量大于上一周期预设时间内的访问请求数量,则服务器处理速度变快,应该适当增加令牌容量大小,从而增加进入的请求数量,具体地,将令牌容量增加预设数值。例如,当前周期十分钟内的访问请求数量为15个,上一周期十分钟内的访问请求数量为10个,则将令牌容量增加2个。可以理解的是,预设数值可根据实际需要设定。
在实际应用中,如果当前周期预设时间内的访问请求数量小于上一周期预设时间内的访问请求数量,则服务器处理速度变慢,应该适当减少令牌桶容量大小,从而减少进入的请求数量,具体地,将令牌容量减少预设数值。例如,当前周期十分钟内的访问请求数量为15个,上一周期十分钟内的访问请求数量为20个,则将令牌容量减少2个。
在实际应用中,如果当前周期预设时间内的访问请求数量和上一周期预设时间内的访问请求数量相同,则不改变令牌容量。
通过上述实施例,该过程通过每隔预设周期获取预设时间内的令牌数量,基于令牌数量增加或减少令牌容量,在服务器处理速度较慢时,减少令牌容量从而减少进入访问请求数量,达到减少新进请求对服务器资源的占用,提高正在处理中访问请求的处理速度。在服务器处理速度较快时,增加令牌容量从而增加进入访问请求数量,提高服务器处理并发量。并且每次对令牌桶容量增加或减少固定的预设数值,预设数值可根据需要设定。增加固定的预设数值可防止调整令牌容量变化差异较大导致服务器的消耗过多,根据服务器的处理速度动态调整令牌容量,也可降低服务器的消耗。
在一实施例中,每隔预设周期获取预设时间内的令牌桶接收的访问请求数量之前,还包括:
设置令牌桶的最大令牌容量;
将令牌容量增加预设数值,得到增加后的令牌容量之后,还包括:
如果增加后的令牌容量大于最大令牌容量,则将增加后的令牌容量设置为最大令牌容量。
在实际应用中,在每个预设周期获取预设时间内的令牌桶接收的访问请求数量之前,还需要设置令牌桶的最大令牌容量。当增加后的令牌容量大于最大令牌容量时,将增加后的令牌容量设置为最大令牌容量,防止令牌容量超出最大令牌容量使得服务器崩溃。
在一实施例中,每隔预设周期获取预设时间内的令牌桶接收的访问请求数量之前,还包括:
设置令牌桶的最小令牌容量;
将令牌容量减少预设数值,得到减少后的令牌容量之后,包括:
如果减少后的令牌容量小于最小令牌容量,则将减少后的令牌容量设置为最小令牌容量。
在实际应用中,除了需要设置最大令牌容量,还需要设置最小令牌容量,当减少后的令牌容量小于最小令牌容量,将令牌容量设置为最小令牌容量,防止令牌容量小于最小令牌容量使得服务器崩溃。
基于上述基于令牌桶算法的限流方法,本发明实施例还提供了一种基于令牌桶算法的限流装置200,图2为本发明实施例提供的一种基于令牌桶算法的限流装置的结构示意图,该装置200包括:
请求接收模块201,用于接收访问请求;
比较模块202,用于比较令牌桶中的令牌数量和令牌容量;
令牌处理模块203,用于如果令牌数量小于令牌容量,则在令牌桶中新增一个令牌,基于令牌桶中的令牌处理访问请求;
请求丢弃模块204,用于如果令牌数量大于或等于令牌容量,则将访问请求丢弃。
在一实施例中,该装置还包括:
令牌删除模块,用于在访问请求处理结束后,从令牌桶中删除一个令牌。
在一实施例中,该装置还包括:
访问请求数量获取模块,用于每隔预设周期获取预设时间内令牌桶接收的访问请求数量;
令牌容量调整模块,用于基于访问请求数量,调整令牌桶中的令牌容量。
在一实施例中,令牌容量调整模块,包括:
比较单元,用于比较当前周期的访问请求数量和上一周期的访问请求数量;
增加令牌容量单元,用于如果当前周期的访问请求数量大于上一周期的访问请求数量,则将令牌容量增加预设数值,得到增加后的令牌容量;
减少令牌容量单元,用于如果当前周期的访问请求数量小于上一周期的访问请求数量,则将令牌容量减少预设数值,得到减少后的令牌容量;
比较单元,还用于如果当前周期的请求数量等于上一周期的请求数量,则不改变令牌容量。
在一实施例中,该装置还包括:
最大令牌容量设置模块,用于设置令牌桶的最大令牌容量;
增加令牌容量单元,还用于如果增加后的令牌容量大于最大令牌容量,则将增加后的令牌容量设置为最大令牌容量。
在一实施例中,该装置包括:
最小令牌容量设置模块,用于设置令牌桶的最小令牌容量;
减少令牌容量单元,还用于如果减少后的令牌容量小于最小令牌容量,则将减少后的令牌容量设置为最小令牌容量。
本申请实施例提供的基于令牌桶算法的限流装置能够实现方法实施例中基于令牌桶算法的限流方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种电子设备,参见图3所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述基于令牌桶算法的限流方法。
进一步地,图3所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述基于令牌桶算法的限流方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的一种基于令牌桶算法的限流方法、限流装置及电子设备,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于令牌桶算法的限流方法,其特征在于,包括:
接收访问请求;
比较令牌桶中的令牌数量和令牌容量;
如果所述令牌数量小于所述令牌容量,则在所述令牌桶中新增一个令牌,基于所述令牌桶中的令牌处理所述访问请求;
如果所述令牌数量大于或等于所述令牌容量,则将所述访问请求丢弃。
2.根据权利要求1所述的方法,其特征在于,所述如果所述令牌数量小于所述令牌容量,则在所述令牌桶中新增一个令牌,基于所述令牌桶中的令牌处理所述访问请求之后,还包括:
在所述访问请求处理结束后,从所述令牌桶中删除一个令牌。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每隔预设周期获取预设时间内所述令牌桶接收的访问请求数量;
基于所述访问请求数量,调整所述令牌桶中的令牌容量。
4.根据权利要求3所述的方法,其特征在于,所述基于所述访问请求数量,调整所述令牌桶中的令牌容量,包括:
比较当前周期的访问请求数量和上一周期的访问请求数量;
如果所述当前周期的访问请求数量大于所述上一周期的访问请求数量,则将所述令牌容量增加预设数值,得到增加后的令牌容量;
如果所述当前周期的访问请求数量小于所述上一周期的访问请求数量,则将所述令牌容量减少所述预设数值,得到减少后的令牌容量;
如果所述当前周期的请求数量等于所述上一周期的请求数量,则不改变所述令牌容量。
5.根据权利要求4所述的方法,其特征在于,所述每隔预设周期获取预设时间内的所述令牌桶接收的访问请求数量之前,还包括:
设置所述令牌桶的最大令牌容量;
所述将所述令牌容量增加预设数值,得到增加后的令牌容量之后,还包括:
如果所述增加后的令牌容量大于所述最大令牌容量,则将所述增加后的令牌容量设置为所述最大令牌容量。
6.根据权利要求4所述的方法,其特征在于,所述每隔预设周期获取预设时间内的所述令牌桶接收的访问请求数量之前,还包括:
设置所述令牌桶的最小令牌容量;
所述将所述令牌容量减少所述预设数值,得到减少后的令牌容量之后,包括:
如果所述减少后的令牌容量小于所述最小令牌容量,则将所述减少后的令牌容量设置为所述最小令牌容量。
7.一种基于令牌桶算法的限流装置,其特征在于,包括:
请求接收模块,用于接收访问请求;
比较模块,用于比较令牌桶中的令牌数量和令牌容量;
令牌处理模块,用于如果所述令牌数量小于所述令牌容量,则在所述令牌桶中新增一个令牌,基于所述令牌桶中的令牌处理所述访问请求;
请求丢弃模块,用于如果所述令牌数量大于或等于所述令牌容量,则将所述访问请求丢弃。
8.根据权利要求7所述的装置,其特征在于,还包括:
令牌丢弃模块,用于在所述访问请求处理结束后,从所述令牌桶中删除一个令牌。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的基于令牌桶算法的限流方法。
10.一种机器可读存储介质,所述机器可读存储介质上存储有指令,其特征在于,所述指令在被处理器执行时实现如权利要求1至6中任意一项所述的基于令牌桶算法的限流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211584492.4A CN115941610A (zh) | 2022-12-09 | 2022-12-09 | 基于令牌桶算法的限流方法、限流装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211584492.4A CN115941610A (zh) | 2022-12-09 | 2022-12-09 | 基于令牌桶算法的限流方法、限流装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115941610A true CN115941610A (zh) | 2023-04-07 |
Family
ID=86555129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211584492.4A Pending CN115941610A (zh) | 2022-12-09 | 2022-12-09 | 基于令牌桶算法的限流方法、限流装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115941610A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829649B1 (en) * | 2000-11-10 | 2004-12-07 | International Business Machines Corporation | Method an congestion control system to allocate bandwidth of a link to dataflows |
CN106713168A (zh) * | 2016-12-21 | 2017-05-24 | 上海艾融软件股份有限公司 | 一种流量控制方法及系统 |
CN110830296A (zh) * | 2019-11-04 | 2020-02-21 | 紫光云技术有限公司 | 一种基于令牌桶算法的系统QoS设置方法 |
CN112350953A (zh) * | 2019-08-07 | 2021-02-09 | 亿度慧达教育科技(北京)有限公司 | 流量限制方法及其装置、电子设备和计算机可读存储介质 |
CN112631928A (zh) * | 2020-12-30 | 2021-04-09 | 上海中通吉网络技术有限公司 | 基于令牌桶的性能测试方法、装置及设备 |
CN114095444A (zh) * | 2020-07-15 | 2022-02-25 | 中移物联网有限公司 | 限流方法、装置及电子设备 |
CN115174486A (zh) * | 2022-06-01 | 2022-10-11 | 湖南天冠电子信息技术有限公司 | 一种报文传输方法、系统及存储介质 |
CN115277577A (zh) * | 2022-09-28 | 2022-11-01 | 平安银行股份有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
CN115334082A (zh) * | 2022-08-10 | 2022-11-11 | 中国工商银行股份有限公司 | 负载均衡方法、装置、计算机设备、存储介质和产品 |
-
2022
- 2022-12-09 CN CN202211584492.4A patent/CN115941610A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829649B1 (en) * | 2000-11-10 | 2004-12-07 | International Business Machines Corporation | Method an congestion control system to allocate bandwidth of a link to dataflows |
CN106713168A (zh) * | 2016-12-21 | 2017-05-24 | 上海艾融软件股份有限公司 | 一种流量控制方法及系统 |
CN112350953A (zh) * | 2019-08-07 | 2021-02-09 | 亿度慧达教育科技(北京)有限公司 | 流量限制方法及其装置、电子设备和计算机可读存储介质 |
CN110830296A (zh) * | 2019-11-04 | 2020-02-21 | 紫光云技术有限公司 | 一种基于令牌桶算法的系统QoS设置方法 |
CN114095444A (zh) * | 2020-07-15 | 2022-02-25 | 中移物联网有限公司 | 限流方法、装置及电子设备 |
CN112631928A (zh) * | 2020-12-30 | 2021-04-09 | 上海中通吉网络技术有限公司 | 基于令牌桶的性能测试方法、装置及设备 |
CN115174486A (zh) * | 2022-06-01 | 2022-10-11 | 湖南天冠电子信息技术有限公司 | 一种报文传输方法、系统及存储介质 |
CN115334082A (zh) * | 2022-08-10 | 2022-11-11 | 中国工商银行股份有限公司 | 负载均衡方法、装置、计算机设备、存储介质和产品 |
CN115277577A (zh) * | 2022-09-28 | 2022-11-01 | 平安银行股份有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677873B (zh) | 一种业务数据的传输方法和装置 | |
CN107547433B (zh) | 基于令牌漏桶进行限流的方法、装置和设备 | |
WO2022057391A1 (zh) | 缓存内存调整方法、装置及计算机设备 | |
CN111107017A (zh) | 一种交换机报文拥塞的处理方法、设备以及存储介质 | |
CN112261734A (zh) | 用于随机接入的方法和终端设备 | |
CN111245732A (zh) | 一种流量控制方法、装置及设备 | |
CN115941610A (zh) | 基于令牌桶算法的限流方法、限流装置及电子设备 | |
CN113395369B (zh) | 一种缓存管理方法、装置、电子设备及存储介质 | |
WO2021129742A1 (zh) | 网络数据的恢复方法、装置及移动终端 | |
CN110703897B (zh) | 控制方法、装置、芯片与设备 | |
CN107005433B (zh) | 一种流表项的定时处理方法及装置 | |
CN115514708B (zh) | 拥塞控制方法及装置 | |
CN112788106B (zh) | 一种应用于区块链的区块生成控制方法及相关装置 | |
CN112751912B (zh) | 配置调整方法、装置及电子设备 | |
CN115766866A (zh) | 数据访问方法、装置和电子设备 | |
CN108781170B (zh) | 一种配置装置及方法 | |
CN112996041B (zh) | 流量控制方法、装置及设备 | |
CN109284188B (zh) | 一种缓冲数组维护方法、装置、终端及可读介质 | |
CN114443274A (zh) | 调节微服务线程池中线程数的方法、装置及可读存储介质 | |
CN111177196A (zh) | 时间窗聚合计算方法及装置 | |
CN112672293B (zh) | 报警短信的下发方法、装置、系统及电子设备 | |
CN112312467A (zh) | 一种网络传输控制方法及装置 | |
CN115720349B (zh) | 一种近场通信的帧延迟时间调整方法及装置 | |
US11252568B1 (en) | Method and apparatus for rearranging traffic data | |
CN111193692A (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 |