CN112398747A - 一种限流方法、装置、计算机设备和存储介质 - Google Patents
一种限流方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112398747A CN112398747A CN202011211393.2A CN202011211393A CN112398747A CN 112398747 A CN112398747 A CN 112398747A CN 202011211393 A CN202011211393 A CN 202011211393A CN 112398747 A CN112398747 A CN 112398747A
- Authority
- CN
- China
- Prior art keywords
- request
- limiting device
- current limiting
- flow
- period
- 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 54
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000004880 explosion Methods 0.000 claims description 8
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000005526 G1 to G0 transition Effects 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 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
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/627—Queue scheduling characterised by scheduling criteria for service slots or service orders policing
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/286—Time to live
-
- 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/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及互联网系统,提供了一种限流方法,所述方法包括:根据目标请求流量周期和关联关系表达式,确定限流装置容量值;根据限流装置容量值配置限流装置容量阈值;根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值,得到调整后的限流装置容量值,以根据调整后的限流装置容量值,对面向服务器的访问请求执行限流。因此,采用本申请实施例,能够对各个请求场景的请求流量周期进行推演,精准地得到与各个请求场景匹配的推荐请求流量周期;并根据目标请求流量周期和关联关系表达式,精准地确定出限流装置容量值;以及根据限流装置容量值和请求流量处于平稳期还是爆发期,精准且动态地执行限流。
Description
技术领域
本发明涉及互联网技术领域,特别涉及限流方法、装置、计算机设备和存储介质。
背景技术
现有的限流装置对请求队列中的各个请求进行限流的原理为:请求队列的各个请求均会放到限流装置中,限流装置有一个固定的请求通过速率。如果请求队列的速度进入限流装置的进入速度大于请求通过的速度,多余的请求就会暂存到限流装置中。如果请求队列中待处理的请求量超过限流装置的容量上限时,则请求会被直接拒绝。
在实际请求场景中,请求流量一般不是恒定的请求流量,而是以突发形式存在。例如,当请求流量处于爆发期时,则会快速地向限流装置中注入请求;当请求流量处于稳定期时,限流装置会将其中缓存的请求匀速排出。无论是在爆发期时间相对较短的请求场景中,还是在爆发期时间相对较长的请求场景中,现有的限流装置均无法精准地给出限流装置合理的请求流量周期,也无法给出限流装置合适的限流装置容量,因此,在某一时间段内,请求过多且过于密集,会出现请求拥堵现象;而在请求过少时,会出现资源闲置。
总之,现有的限流装置往往无法精准地预测出各个请求场景下的各项限流参数的较佳数值。
因此,如何精准地控制限流装置容量值至合理的数值,以有效地避免出现请求拥堵现象,是待解决的技术问题。
发明内容
基于此,有必要针对现有无法精准地控制限流装置容量值的问题,提供一种限流方法、装置、计算机设备和存储介质。
第一方面,本申请实施例提供了一种限流方法,所述方法包括:
对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;
选取任意一个所述推荐请求流量周期为目标请求流量周期,并获取所述目标请求流量周期与限流装置容量值之间的关联关系表达式;
根据所述目标请求流量周期和所述关联关系表达式,确定所述限流装置容量值;
根据所述限流装置容量值配置限流装置容量阈值;
根据所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值,得到调整后的限流装置容量值,以根据所述调整后的限流装置容量值,对面向服务器的访问请求执行限流。
在一种实施方式中,所述对各个请求场景的请求流量周期进行推演包括:
获取预设时间段内的历史请求数据;
根据所述历史请求数据和请求密度计算公式,计算得到所述历史请求数据的历史请求密度;
根据不同步长,配置对应的具有滑动距离的滑动时间块;
根据不同步长的滑动距离,由同一初始位置滑动至对应位置,并计算不同步长的各个拟合度,其中,拟合度为与当前步长的滑动请求密度与所述历史请求密度的偏差值;
将每一个拟合度均存入拟合度序列中;
对各个拟合度序列求取方差,将二次方差中最小类中具有最短时间块的周期,作为与当前场景匹配的推荐请求流量周期。
在一种实施方式中,所述请求密度计算公式为:
其中,Mn为第n个请求的请求密度,T为选取场景的请求周期,tn-1为第n个请求的上一个请求的时间戳,tn为第n个请求的时间戳,tn+1为第n个请求的下一个请求的时间戳。
在一种实施方式中,所述关联关系表达式为:
其中,y为所述限流装置的所述容量值、x为所述限流装置匀速排出请求的速度、a为推荐请求流量周期、b为进入所述限流装置的请求速度。
在一种实施方式中,所述限流装置容量阈值包括与爆发期对应的第一容量阈值和与平稳期对应的第二容量阈值,所述根据所述限流装置容量值配置限流装置容量阈值的方法包括:
对所述历史请求数据进行解析,得到解析结果,所述解析结果包括:处于爆发期的第一平均请求负载量、和处于平稳期的第二平均请求负载量;
根据所述第一平均请求负载量,配置第一容量阈值;和/或,
根据所述第二平均请求负载量,配置第二容量阈值。
在一种实施方式中,所述请求流量所处状态包括处于爆发期的第一状态和处于平稳期的第二状态,所述根据所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值包括:
若所述请求流量所处状态处于所述第一状态时,将所述限流装置容量值调整至大于或者等于所述第一容量阈值;或者,
若所述请求流量所处状态处于所述第二状态时,将所述限流装置容量值调整至小于或者等于所述第二容量阈值。
在一种实施方式中,在所述根据所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值之前,所述方法还包括:
配置处于所述第一状态时允许进入限流装置的第一速度大于允许流出所述限流装置的第二速度,以及
配置处于所述第二状态时允许进入所述限流装置的第三速度大于允许流出所述限流装置的第四速度。
第二方面,本申请实施例提供了一种限流装置,所述装置包括:
推演单元,用于对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;
选取单元,用于选取任意一个所述推演单元推演的所述推荐请求流量周期为目标请求流量周期;
获取单元,用于获取所述选取单元选取出的所述目标请求流量周期与限流装置容量值之间的关联关系表达式;
确定单元,用于根据所述选取单元选取的所述目标请求流量周期和所述获取单元获取的所述关联关系表达式,确定所述限流装置容量值;
配置单元,用于根据所述确定单元确定的所述限流装置容量值配置限流装置容量阈值;
调整单元,用于根据所述配置单元配置的所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值,得到调整后的限流装置容量值,以根据所述调整后的限流装置容量值,对面向服务器的访问请求执行限流。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述的方法步骤。
第四方面,本申请实施例提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;选取任意一个推荐请求流量周期为目标请求流量周期,并获取目标请求流量周期与限流装置容量值之间的关联关系表达式;根据目标请求流量周期和关联关系表达式,确定限流装置容量值;根据限流装置容量值配置限流装置容量阈值;根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值,得到调整后的限流装置容量值,以根据调整后的限流装置容量值,对面向服务器的访问请求执行限流。采用本申请实施例,由于能够对各个请求场景的请求流量周期进行推演,精准地得到与各个请求场景匹配的推荐请求流量周期;并根据目标请求流量周期和关联关系表达式,精准地确定出限流装置容量值;以及根据限流装置容量值和请求流量处于平稳期还是爆发期,精准且动态地执行限流。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本公开实施例提供的一种限流方法的流程示意图;
图2是本公开实施例提供的一种限流控制装置的结构示意图;
图3是本公开实施例提供的一种电子设备的逻辑结构框图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图详细说明本公开的可选实施例。
如图1所示,本公开实施例提供一种限流方法,具体包括以下方法步骤:
S102:对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期。
在本申请实施例中,对各个请求场景的请求流量周期进行推演包括以下步骤:
获取预设时间段内的历史请求数据;
根据历史请求数据和请求密度计算公式,计算得到历史请求数据的各个历史请求密度;
在本申请实施例中,计算历史请求密度的请求密度计算公式可以为:
其中,Mn为第n个请求的请求密度,T为选取场景的请求周期,tn-1为第n个请求的上一个请求的时间戳,tn为第n个请求的时间戳,tn+1为第n个请求的下一个请求的时间戳。
在此,仅仅罗列了某一应用场景下的计算历史请求密度的请求密度计算公式,还可以在上述公式(1)的基础上,引入新的参数,得到其它的公式以优化请求密度计算公式,在此不再赘述。
根据不同步长,配置对应的具有滑动距离的滑动时间块;在此,步长为时间步长,即为前后两个时间点之间的差值。在过程模拟中,将整个模拟过程离散为若干个细小的过程,而每一步需要的时间就是时间步长。
在本申请实施例中,针对不同步长,配置与当前步长对应的当前滑动时间块,当前滑动时间块能够滑动与当前步长匹配的滑动距离。在实际应用场景中,步长对应的时间越长,其对应的滑动时间块能够滑动的滑动距离也越大在,在此,对在每一个步长时间单元内,滑动块能够滑动的滑动距离不做具体限制,可以根据不同应用场景的需求,对该滑动距离做调整;
根据不同步长的滑动距离,由同一初始位置滑动至对应位置,并计算不同步长的各个拟合度,其中,拟合度为与当前步长的滑动请求密度与历史请求密度的偏差值;该对应位置由同一初始位置和不同步长对应的滑动距离共同确定出的位置。
在本申请实施例中,不同步长拟合度的计算公式分别如下所述:
其中,U1为第一个步长的拟合度值、U2为第二个步长的拟合度值、Un为第n个步长的拟合度值、k为步长、Mt+k为第i+k个请求的请求密度、Mi+2k为第i+2k个请求的请求密度、Mi+nk为第i+nk个请求的请求密度、n为总请求数。
在本申请实施例中,还可以对不同步长的滑动时间块的拟合度的拟合效果进行预测。根据历史拟合数据可知,随着滑动步长的增加,对应步长的拟合效果也越好。
将每一个拟合度均存入拟合度序列中;
对各个拟合度序列求取方差,将二次方差中最小类中具有最短时间块的周期,作为与当前场景匹配的推荐请求流量周期;这样,通过上述推演过程,就能够精准地推演得到不同请求场景下的推荐请求流量周期。
需要说明的是,该推荐请求流量周期具有如下属性:在该推荐请求流量周期下,将面向服务器的访问请求控制在合理的范围内,从而能够有效地对面向服务器的访问请求执行限流,即:既不会造成大量访问请求的拥堵,也不会造成闲置,浪费资源。
S104:选取任意一个推荐请求流量周期为目标请求流量周期,并获取目标请求流量周期与限流装置容量值之间的关联关系表达式。
通过上述S102中的推演过程,能够对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期。
在实际应用中,选取任意一个请求场景,并从各个推荐请求流量周期中遍历到与该请求场景匹配的推荐请求流量周期。
在本申请实施例中,
关联关系表达式为:
其中,y为限流装置的容量值、x为限流装置匀速排出请求的速度、a为推荐请求流量周期、b为进入限流装置的请求速度。
在本申请实施例中,根据目标请求流量周期和关联关系表达式,确定限流装置容量值,就能够精准地确定限流装置的容量值;最终,得到的限流装置的容量值往往是比较合理的,即:在请求爆发期不会出现大量请求拥堵的现象,在平稳期,也不会出现允许通过的请求数量过多而导致无法及时处理请求的现象。
下面给出得到上述公式(5)的推导过程,具体如下所述:
在本申请实施例中,在理想情况下,(在爆发期的请求流量刚好装满限流装置,例如,漏斗,然后进入平稳期,这样,就不会造成请求流量溢出),假设在该临界点,请求流量周期为恒定的情况下,给出了不同复杂请求场景下的请求流量周期与漏斗容量(限流装置容量)之间的函数关系。
其中,Mn为第n个请求的请求密度,T为选取场景的请求周期,tn-1为第n个请求的上一个请求的时间戳,tn为第n个请求的时间戳,tn+1为第n个请求的下一个请求的时间戳。
在实际应用场景中,为了初步确定限流装置容量值所处的范围,需要先预先计算出限流装置的临界容量值Space,该限流装置的临界容量值用于进一步地确定限流装置容量值,在实际应用场景中,限流装置容量值至少要大于或者等于限流装置的临界容量值;
Qout为漏斗匀速排出请求的速度(漏斗限流参数);
这样,对公式(6)进行变换,得到如下公式(7);
对公式(7)进行进一步地变换,得到上述公式(5);
上述就是公式(5)的推导过程。
在本申请实施例中,在各种实际请求场景中,下游服务对请求的承受能力是有上限的,即:Qout的值是固定的。因此,基于确定的Qout,就能够确定出在临界情况下的Space(限流装置的容量值)。
基于本申请实施例提供的限流方法,能够推演出不同请求场景下的推荐请求流量周期,再根据上述如公式(1)所述的推荐目标请求流量周期与限流装置容量值之间的关联关系表达式,能够精准地确定出不同请求场景下的最佳限流装置的容量值。
在本申请实施例中,最佳限流装置容量值具体体现在:在提案中提及到的请求爆发期不会出现大量请求拥堵的现象;在平稳期,也不会出现允许通过的请求数量过多而导致无法及时处理请求的现象。
S106:根根据目标请求流量周期和关联关系表达式,确定限流装置容量值。
通过上述推荐目标请求流量周期与关联关系表达式,即:上述公式(5),并结合选取的任意一个请求场景的推荐请求流量周期,就能够精准地确定出与之对应的限流装置容量值。
需要说明的是,该限流装置容量值具有如下属性:该限流装置容量值是根据上述公式(5)和选取的任意一个请求场景的推荐请求流量周期确定的。确定出的限流装置容量值能够将面向服务器的访问请求控制在合理的范围内,从而能够有效地对面向服务器的访问请求执行限流,即:既不会造成大量访问请求的拥堵,也不会造成闲置,以及浪费资源。
S108:根据限流装置容量值配置限流装置容量阈值。
在本申请实施例中,限流装置容量阈值包括与爆发期对应的第一容量阈值和与平稳期对应的第二容量阈值,根据限流装置容量值配置限流装置容量阈值包括以下步骤:
对历史请求数据进行解析,得到解析结果,解析结果包括:处于爆发期的第一平均请求负载量、和处于平稳期的第二平均请求负载量;
根据第一平均请求负载量,配置第一容量阈值;和/或,
根据第二平均请求负载量,配置第二容量阈值。
在实际应用中,根据获取到的历史请求数据统计出爆发期的第一平均请求负载量,将第一容量阈值配置为大于第一平均请求负载量,为了避免发生请求拥堵现象,可以将第一容量阈值配置为第一平均请求负载量的1.5倍,这里,仅仅是示例,可以根据不同应用场景的需求,配置第一容量阈值,在此对第一容量阈值不做具体限制,但是第一容量阈值至少要大于第一平均请求负载量。
同理,根据获取到的历史请求数据统计出平稳期的第二平均请求负载量,将第二容量阈值配置为大于第二平均请求负载量,为了避免发生请求拥堵现象,可以将第二容量阈值配置为第二平均请求负载量的1.5倍,这里,仅仅是示例,可以根据不同应用场景的需求,配置第二容量阈值,在此对第二容量阈值不做具体限制,但是第二容量阈值至少要大于第二平均请求负载量。
本申请实施例中的限流方法中的限流装置容量值至少包括两个阶段的容量阈值,即:第一容量阈值为与爆发期对应的容量阈值,而第二容量阈值为与平稳期对应的容量阈值。
爆发期为面向服务器的访问请求较多,而平稳期为面向服务器的访问请求较少。无论是爆发期,还是平稳期往往是根据历史统计数据确定的。可以根据不同请求场景的历史请求数据,预先设置处于爆发期的请求数量阈值,以及预先设置处于平稳期的请求数量阈值。在此对上述处于爆发期的请求数量阈值,以及处于平稳期的请求数量阈值不做具体限制。
通过将限流装置容量值设置为至少两个容量阈值,就能够实现动态限流,具体如下所述:
若判断当前请求场景处于访问请求较多的爆发期,则将当前限流装置容量值调整至于爆发期对应的第一容量阈值,第一容量阈值往往比与之对应的平稳期的第二容量阈值大,这样,就能够允许更多面向服务器的访问请求及时通过限流装置,以使得服务器及时处理更多的访问请求。
若判断当前请求场景处于访问请求较少的平稳期,则将当前限流装置容量值调整至平稳期对应的第二容量阈值,第二容量阈值往往比与之对应的爆发期的第一容量阈值大,这样,就能够有效地避免闲置,以及避免浪费资源。
在本申请实施例中,通过将限流装置容量值阈值配置成动态的,至少包括第一容量阈值和第二容量阈值,这样,最终可以实现限流装置容量值处于动态状态,其能够与当前请求场景下的面向请求服务器的访问请求数量相匹配。
S110:根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值,得到调整后的限流装置容量值,以根据调整后的限流装置容量值,对面向服务器的访问请求执行限流。
在本申请实施例中,请求流量所处状态包括处于爆发期的第一状态和处于平稳期的第二状态,根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值包括以下步骤:
若请求流量所处状态处于第一状态时,将限流装置容量值调整至大于或者等于第一容量阈值;通过将限流装置容量值调整至至少等于第一容量阈值,这样,就能够有效地允许更多的面向服务器的访问请求及时通过限流装置,以使得服务器及时处理更多的访问请求。
在本申请实施例中,请求流量所处状态包括处于爆发期的第一状态和处于平稳期的第二状态,根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值还包括以下步骤:
若请求流量所处状态处于第二状态时,将限流装置容量值调整至小于或者等于第二容量阈值;通过将限流装置容量值调整至小于或者等于第二容量阈值,这样,就能够有效地避免闲置,以及避免浪费资源。
在一种可能的实现方式中,为了尽可能地让更多的请求处于请求队列中,以及允许请求处理速度匀速,或者处理速度放慢一些,在根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值之前,所述方法还包括以下步骤:
配置处于第一状态时允许进入限流装置的第一速度大于允许流出限流装置的第二速度,以及配置处于第二状态时允许进入限流装置的第三速度大于允许流出限流装置的第四速度。通过上述配置过程,能够做到:无论是在处于爆发期的第一状态还是在处于平稳期的第二状态,通过上述配置过程,均能够使得请求进入限流装置的速度快,即:允许有更多的请求进入限流装置,同时,请求流出限流装置的速度慢,即:允许有较少的请求流出限流装置;这样,能够有效地避免由于过多的面向服务器的访问请求在服务器侧引起请求积压,从而由于服务器无法及时响应过多的请求而造成服务器瘫痪。
在本公开实施例中,根据目标请求流量周期和关联关系表达式,确定限流装置容量值;根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值,得到调整后的限流装置容量值,以根据调整后的限流装置容量值,对面向服务器的访问请求执行限流。由于本申请能够通过推演过程,对各个请求场景的请求流量周期进行推演,精准地得到与各个请求场景匹配的推荐请求流量周期;并根据目标请求流量周期和关联关系表达式,确定限流装置容量值,精准地确定出限流装置容量值;以及根据限流装置容量值和请求流量处于平稳期还是爆发期,精准且动态地执行限流。
下述为本发明限流装置实施例,可以用于执行本发明限流方法实施例。对于本发明限流装置实施例中未披露的细节,请参照本发明限流方法实施例。
请参见图2,其示出了本发明一个示例性实施例提供的限流装置的结构示意图。该限流装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该限流装置包括推演单元202、选取单元204、获取单元206、确定单元208、配置单元210和调整单元212。
具体而言,推演单元202,用于对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;
选取单元204,用于选取任意一个推演单元202推演的推荐请求流量周期为目标请求流量周期;
获取单元206,用于获取选取单元204选取出的目标请求流量周期与限流装置容量值之间的关联关系表达式;
确定单元208,用于根据选取单元204选取的目标请求流量周期和获取单元206获取的关联关系表达式,确定限流装置容量值;
配置单元210,用于根据确定单元208确定的限流装置容量值配置限流装置容量阈值;
调整单元212,用于根据配置单元210配置的限流装置容量阈值和请求流量所处状态,调整限流装置容量值,得到调整后的限流装置容量值,以根据调整后的限流装置容量值,对面向服务器的访问请求执行限流。
可选的,推演单元202具体用于:
获取预设时间段内的历史请求数据;
根据历史请求数据和请求密度计算公式,计算得到历史请求数据的历史请求密度;
根据不同步长,配置对应的具有滑动距离的滑动时间块;
根据不同步长的滑动距离,由同一初始位置滑动至对应位置,并计算不同步长的各个拟合度,其中,拟合度为与当前步长的滑动请求密度与历史请求密度的偏差值;
将每一个拟合度均存入拟合度序列中;
对各个拟合度序列求取方差,将二次方差中最小类中具有最短时间块的周期,作为与当前场景匹配的推荐请求流量周期。
可选的,请求密度计算公式为:
其中,Mn为第n个请求的请求密度,T为选取场景的请求周期,tn-1为第n个请求的上一个请求的时间戳,tn为第n个请求的时间戳,tn+1为第n个请求的下一个请求的时间戳。
可选的,关联关系表达式为:
其中,y为限流装置的容量值、x为限流装置匀速排出请求的速度、a为推荐请求流量周期、b为进入限流装置的请求速度。
可选的,限流装置容量阈值包括与爆发期对应的第一容量阈值和与平稳期对应的第二容量阈值,配置单元210具体用于:
对历史请求数据进行解析,得到解析结果,解析结果包括:处于爆发期的第一平均请求负载量、和处于平稳期的第二平均请求负载量;
根据第一平均请求负载量,配置第一容量阈值;和/或,
根据第二平均请求负载量,配置第二容量阈值。
可选的,请求流量所处状态包括处于爆发期的第一状态和处于平稳期的第二状态,调整单元212具体用于:
若请求流量所处状态处于第一状态时,将限流装置容量值调整至大于或者等于第一容量阈值;或者,
若请求流量所处状态处于第二状态时,将限流装置容量值调整至小于或者等于第二容量阈值。
可选的,在调整单元212根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值之前,配置单元210还用于:
配置处于第一状态时允许通过的第一请求数量阈值大于处于第二状态时允许通过的第二请求数量阈值、处于第一状态时允许通过的第一请求速度阈值大于处于第二状态时允许通过的第二请求速度阈值。
需要说明的是,上述实施例提供的限流装置在执行限流方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的限流装置与限流方法实施例属于同一构思,其体现实现过程详见限流方法实施例,这里不再赘述。
在本公开实施例中,推演单元对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;确定单元根据选取单元选取的目标请求流量周期和获取单元获取的关联关系表达式,确定限流装置容量值;配置单元根据确定单元确定的限流装置容量值配置限流装置容量阈值;以及调整单元根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值,得到调整后的限流装置容量值,以根据调整后的限流装置容量值,对面向服务器的访问请求执行限流。采用本申请实施例,由于能够对各个请求场景的请求流量周期进行推演,精准地得到与各个请求场景匹配的推荐请求流量周期;并根据选取单元选取的目标请求流量周期和获取单元获取的关联关系表达式,精准地确定出限流装置容量值;以及根据限流装置容量值和请求流量处于平稳期还是爆发期,精准且动态地执行限流。
图3是根据一示例性实施例示出的一种电子设备的逻辑结构框图。例如,电子设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,电子设备可以包括以下一个或多个组件:处理器301和存储器302。
处理器301可以包括一个或多个处理核心。处理器301可以采用DSP(DigitalSignal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器302可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非易失性的,也可以是易失性的。存储器302可以是半导体存储器,也可以是磁表面存储器。在一些实施例中,存储器302中的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的互动特效标定方法。
在一些实施例中,电子设备还可选包括有:外围设备接口303和至少一个外围设备。处理器301、存储器302和外围设备接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口303相连。具体地,外围设备包括:射频电路304、触摸显示屏305、摄像头组件306、音频电路307、定位组件308和电源309中的至少一种。
本领域技术人员可以理解,图3中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器302,上述指令可由电子设备的处理器301执行以完成上述限流的方法,该方法包括:通过推演过程,对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;从与各个请求场景匹配的推荐请求流量周期中,选取与任意一个请求场景匹配的推荐请求流量周期;根据推荐请求流量周期、推荐请求流量周期与限流装置容量值的对应关系,确定限流装置容量值;根据限流装置容量值配置限流装置容量阈值;根据限流装置容量阈值和请求流量所处状态,调整限流装置容量值,得到调整后的限流装置容量值,以根据调整后的限流装置容量值,对面向服务器的访问请求执行限流。可选地,上述指令还可以由电子设备的处理器301执行以完成上述示例性实施例中所涉及的其他步骤。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,并不能因此而理解为对本申请专利范围的限制。。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的保护范围仅由所附的权利要求来限制。
Claims (10)
1.一种限流方法,其特征在于,所述方法包括:
对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;
选取任意一个所述推荐请求流量周期为目标请求流量周期,并获取所述目标请求流量周期与限流装置容量值之间的关联关系表达式;
根据所述目标请求流量周期和所述关联关系表达式,确定所述限流装置容量值;
根据所述限流装置容量值配置限流装置容量阈值;
根据所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值,得到调整后的限流装置容量值,以根据所述调整后的限流装置容量值,对面向服务器的访问请求执行限流。
2.根据权利要求1所述的方法,其特征在于,所述对各个请求场景的请求流量周期进行推演包括:
获取预设时间段内的历史请求数据;
根据所述历史请求数据和请求密度计算公式,计算得到所述历史请求数据的历史请求密度;
根据不同步长,配置对应的具有滑动距离的滑动时间块;
根据不同步长的滑动距离,由同一初始位置滑动至对应位置,并计算不同步长的各个拟合度,其中,拟合度为与当前步长的滑动请求密度与所述历史请求密度的偏差值;
将每一个拟合度均存入拟合度序列中;
对各个拟合度序列求取方差,将二次方差中最小类中具有最短时间块的周期,作为与当前场景匹配的推荐请求流量周期。
5.根据权利要求1所述的方法,其特征在于,所述限流装置容量阈值包括与爆发期对应的第一容量阈值和与平稳期对应的第二容量阈值,所述根据所述限流装置容量值配置限流装置容量阈值的方法包括:
对所述历史请求数据进行解析,得到解析结果,所述解析结果包括:处于爆发期的第一平均请求负载量、和处于平稳期的第二平均请求负载量;
根据所述第一平均请求负载量,配置第一容量阈值;和/或,
根据所述第二平均请求负载量,配置第二容量阈值。
6.根据权利要求5所述的方法,其特征在于,所述请求流量所处状态包括处于爆发期的第一状态和处于平稳期的第二状态,所述根据所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值包括:
若所述请求流量所处状态处于所述第一状态时,将所述限流装置容量值调整至大于或者等于所述第一容量阈值;或者,
若所述请求流量所处状态处于所述第二状态时,将所述限流装置容量值调整至小于或者等于所述第二容量阈值。
7.根据权利要求6所述的方法,其特征在于,在所述根据所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值之前,所述方法还包括:
配置处于所述第一状态时允许进入限流装置的第一速度大于允许流出所述限流装置的第二速度,以及
配置处于所述第二状态时允许进入所述限流装置的第三速度大于允许流出所述限流装置的第四速度。
8.一种限流装置,其特征在于,所述装置包括:
推演单元,用于对各个请求场景的请求流量周期进行推演,得到与各个请求场景匹配的推荐请求流量周期;
选取单元,用于选取任意一个所述推演单元推演的所述推荐请求流量周期为目标请求流量周期;
获取单元,用于获取所述选取单元选取出的所述目标请求流量周期与限流装置容量值之间的关联关系表达式;
确定单元,用于根据所述选取单元选取的所述目标请求流量周期和所述获取单元获取的所述关联关系表达式,确定所述限流装置容量值;
配置单元,用于根据所述确定单元确定的所述限流装置容量值配置限流装置容量阈值;
调整单元,用于根据所述配置单元配置的所述限流装置容量阈值和请求流量所处状态,调整所述限流装置容量值,得到调整后的限流装置容量值,以根据所述调整后的限流装置容量值,对面向服务器的访问请求执行限流。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述限流方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述限流方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211393.2A CN112398747A (zh) | 2020-11-03 | 2020-11-03 | 一种限流方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211393.2A CN112398747A (zh) | 2020-11-03 | 2020-11-03 | 一种限流方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112398747A true CN112398747A (zh) | 2021-02-23 |
Family
ID=74599097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011211393.2A Pending CN112398747A (zh) | 2020-11-03 | 2020-11-03 | 一种限流方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398747A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012028850A (ja) * | 2010-07-20 | 2012-02-09 | Nippon Telegr & Teleph Corp <Ntt> | 通信システム、トラフィック制御方法及びトラフィック制御プログラム |
CN105578530A (zh) * | 2014-10-17 | 2016-05-11 | 中兴通讯股份有限公司 | 流量控制方法、装置及基站 |
CN107948084A (zh) * | 2017-12-15 | 2018-04-20 | 中国银联股份有限公司 | 一种限流方法和装置 |
CN110351357A (zh) * | 2019-07-08 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 服务器限流方法、装置、计算机设备以及存储介质 |
CN111131063A (zh) * | 2019-12-31 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 一种流量控制的方法、相关装置、设备以及存储介质 |
CN111641563A (zh) * | 2020-05-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 基于分布式场景的流量自适应方法与系统 |
-
2020
- 2020-11-03 CN CN202011211393.2A patent/CN112398747A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012028850A (ja) * | 2010-07-20 | 2012-02-09 | Nippon Telegr & Teleph Corp <Ntt> | 通信システム、トラフィック制御方法及びトラフィック制御プログラム |
CN105578530A (zh) * | 2014-10-17 | 2016-05-11 | 中兴通讯股份有限公司 | 流量控制方法、装置及基站 |
CN107948084A (zh) * | 2017-12-15 | 2018-04-20 | 中国银联股份有限公司 | 一种限流方法和装置 |
CN110351357A (zh) * | 2019-07-08 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 服务器限流方法、装置、计算机设备以及存储介质 |
CN111131063A (zh) * | 2019-12-31 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 一种流量控制的方法、相关装置、设备以及存储介质 |
CN111641563A (zh) * | 2020-05-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 基于分布式场景的流量自适应方法与系统 |
Non-Patent Citations (1)
Title |
---|
魏蔚: "基于流量分析与控制的DDoS攻击防御技术与体系研究", CNKI博士学位论文全文库, 15 July 2010 (2010-07-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210176174A1 (en) | Load balancing device and method for an edge computing network | |
US20210191783A1 (en) | Data processing method and device | |
CN111147395B (zh) | 一种网络资源调整方法及装置 | |
CN111324471B (zh) | 服务调整方法、装置、设备及存储介质 | |
CN110990138A (zh) | 资源调度方法、装置、服务器及存储介质 | |
CN111459758B (zh) | 一种应用信息的显示方法、装置、电子设备及存储介质 | |
CN103530109A (zh) | 同时确定多个参数变体的设置的系统、方法 | |
CN110851987B (zh) | 基于加速比预测计算时长的方法、装置和存储介质 | |
CN109831699B (zh) | 图像审核处理方法、装置、电子设备及存储介质 | |
CN111682975B (zh) | 网络状态预测方法、装置、电子设备及存储介质 | |
CN111338575B (zh) | 一种存储服务质量控制方法、装置、设备及存储介质 | |
CN115103210B (zh) | 信息处理方法、装置、终端和存储介质 | |
CN113032142B (zh) | 资源调整方法、装置、电子设备和计算机可读存储介质 | |
CN112398747A (zh) | 一种限流方法、装置、计算机设备和存储介质 | |
JP7255747B2 (ja) | 集計装置、集計方法、および、集計プログラム | |
CN111181875B (zh) | 带宽调节方法及装置 | |
JP2024016782A (ja) | リソース割り当ての決定方法、装置、計算装置及びコンピュータプログラム | |
CN110366035B (zh) | 帧率控制方法、装置、计算机设备和计算机可读存储介质 | |
CN114070730A (zh) | 为交换机配置拥塞通知门限的方法及装置 | |
CN114697142A (zh) | 一种通信数据加密方法及装置、电子设备、存储介质 | |
CN112306679A (zh) | 虚拟机配置方法和装置 | |
CN112073815A (zh) | 一种弹幕展示方法、装置、电子设备以及存储介质 | |
CN117896577B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN111767137B (zh) | 一种系统部署方法、装置、电子设备及存储介质 | |
CN115767163B (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 |