CN113992586B - 流量控制方法、装置、计算机设备和存储介质 - Google Patents
流量控制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113992586B CN113992586B CN202010663327.2A CN202010663327A CN113992586B CN 113992586 B CN113992586 B CN 113992586B CN 202010663327 A CN202010663327 A CN 202010663327A CN 113992586 B CN113992586 B CN 113992586B
- Authority
- CN
- China
- Prior art keywords
- quota
- request
- service
- period
- current limiting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 401
- 230000003068 static effect Effects 0.000 claims abstract description 147
- 230000036541 health Effects 0.000 claims abstract description 125
- 230000009467 reduction Effects 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000011038 discontinuous diafiltration by volume reduction Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 152
- 230000007246 mechanism Effects 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000003321 amplification Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000003199 nucleic acid amplification method Methods 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- KDYFGRWQOYBRFD-UHFFFAOYSA-N succinic acid Chemical compound OC(=O)CCC(O)=O KDYFGRWQOYBRFD-UHFFFAOYSA-N 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000003642 hunger Nutrition 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
- 238000002360 preparation method Methods 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 238000012546 transfer Methods 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/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/827—Aggregation of resource allocation or reservation requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种流量控制方法、装置、计算机设备和存储介质。所述方法包括:从流量配额节点拉取标准请求处理量配额,所述标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;确定处理量配额对应的配额缩放方向,所述配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长;根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额;在当前静态限流周期中,根据所述目标请求处理量配额对所述业务处理设备的业务请求进行流量控制。采用本方法能够提高流量控制的准确度。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种流量控制方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,越来越多的用户通过互联网访问业务系统以办理所需的业务,业务系统例如可以为缴费机构的缴费系统。用户可以通过互联网向缴费机构缴纳费用,例如通过互联网向燃气局缴纳燃气费。
由于业务系统处理用户访问量的能力可能是有限,当同时有大量的用户访问业务系统时可能影响业务系统的正常工作。为了防止大量用户访问业务系统造成业务系统不能正常工作的情况发生,通常采用人工处理的方式控制业务系统的流量,然而经常存在不能准确进行流量控制的情况,即流量控制的准确度低。
发明内容
基于此,有必要针对上述流量控制准确度低的技术问题,提供一种流量控制方法、装置、计算机设备和存储介质。
一种流量控制方法,所述方法包括:从流量配额节点拉取标准请求处理量配额,所述标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;确定处理量配额对应的配额缩放方向,所述配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长;根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额;在当前静态限流周期中,根据所述目标请求处理量配额对所述业务处理设备的业务请求进行流量控制。
一种流量控制系统,所述系统包括:流量配额节点,用于根据业务处理设备在当前静态限流周期的请求量处理额度进行分配;多个流量控制节点,用于:从流量配额节点拉取标准请求处理量配额,所述标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;确定处理量配额对应的配额缩放方向,所述配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长;根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额;在当前静态限流周期中,根据所述目标请求处理量配额对所述业务处理设备的业务请求进行流量控制。
一种流量控制装置,所述装置包括:标准请求处理量配额拉取模块,用于从流量配额节点拉取标准请求处理量配额,所述标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;配额缩放方向确定模块,用于确定处理量配额对应的配额缩放方向,所述配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长;目标请求处理量配额得到模块,用于根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额;流量控制模块,用于在当前静态限流周期中,根据所述目标请求处理量配额对所述业务处理设备的业务请求进行流量控制。
在一些实施例中,所述配额缩放方向确定模块包括:目标业务请求量阈值确定单元,用于根据所述历史动态限流周期对应的历史业务处理健康度以及历史业务请求量,确定目标动态限流周期对应的目标业务请求量阈值,所述目标动态限流周期为所述历史动态限流周期的后向动态限流周期;配额缩放方向确定单元,用于根据所述目标业务请求量阈值确定处理量配额对应的配额缩放方向。
在一些实施例中,所述配额缩放方向确定单元,还用于根据所述目标业务请求量阈值确定静态限流周期对应的业务请求量阈值,作为参考业务请求量阈值;根据所述参考业务请求量阈值与所述当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向。
在一些实施例中,所述配额缩放方向确定单元,还用于当所述参考业务请求量阈值小于所述标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为缩小。
在一些实施例中,所述目标请求处理量配额得到模块包括:配额缩小调整因子得到单元,用于计算所述参考业务请求量阈值与所述标准业务请求量阈值的比值,作为配额缩小调整因子;目标请求处理量配额得到单元,用于根据所述配额缩小调整因子对所述标准请求处理量配额进行缩小处理,得到所述目标请求处理量配额。
在一些实施例中,所述配额缩放方向确定单元,还用于当所述参考业务请求量阈值大于或等于所述标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为保持。
在一些实施例中,所述目标业务请求量阈值确定单元,还用于根据所述历史动态限流周期对应的历史业务处理健康度与健康度阈值的大小关系,确定业务请求量对应的请求量缩放方向;根据所述请求量缩放方向对所述历史业务请求量进行缩放处理,得到所述目标动态限流周期对应的目标业务请求量阈值。
在一些实施例中,所述目标业务请求量阈值确定单元,还用于当所述请求量缩放方向为收缩时,根据所述历史业务处理健康度确定请求量缩小调整因子,所述请求量缩小调整因子与所述历史业务处理健康度成正相关关系;根据所述请求量缩小调整因子对所述历史业务请求量进行缩小处理,得到所述目标动态限流周期对应的目标业务请求量阈值。
在一些实施例中,所述流量控制装置还包括标准请求处理量配额得到模块,所述标准请求处理量配额得到模块包括:重试次数阈值获取单元,用于获取配额拉取对应的重试次数阈值;配额拉取响应时长获取单元,用于获取配额拉取响应时长;配额拉取重试时长阈值确定单元,用于根据所述重试次数阈值以及所述配额拉取响应时长确定配额拉取重试时长阈值;标准请求处理量配额确定单元,用于根据所述配额拉取重试时长阈值确定所述标准请求处理量配额,所述标准请求处理量配额对应的配额使用时长大于所述配额拉取重试时长阈值。
在一些实施例中,所述重试次数阈值获取单元,还用于获取所述业务处理设备对应的流量控制节点的控制节点数量;根据所述控制节点数量确定所述配额拉取对应的重试次数阈值。
在一些实施例中,所述流量控制装置还包括历史业务处理健康度得到模块,所述历史业务处理健康度得到模块包括:请求量获取单元,用于获取所述业务处理设备在所述历史动态限流周期的业务查询请求总量、业务查询请求成功量、业务更新请求总量以及业务更新请求成功量;加权请求总量得到单元,用于根据所述业务查询请求总量以及业务查询权重、所述业务更新请求总量以及业务更新权重进行加权求和,得到加权请求总量;加权请求成功量得到单元,用于根据所述业务查询请求成功量以及所述业务查询权重、所述业务更新请求成功量以及所述业务更新权重进行加权求和,得到加权请求成功量;历史业务处理健康度确定单元,用于根据所述加权请求成功量以及所述加权请求总量,确定所述历史动态限流周期的历史业务处理健康度。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述流量控制方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述流量控制方法的步骤。
上述流量控制方法、装置、计算机设备和存储介质,从流量配额节点拉取标准请求处理量配额,标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到,确定处理量配额对应的配额缩放方向,根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额,在当前静态限流周期中,根据目标请求处理量配额对业务处理设备的业务请求进行流量控制。通过从流量配额节点拉取标准请求处理量配额,能够消耗当前静态限流周期的配额,通过目标请求处理量配额对业务处理设备的业务请求进行流量控制,由于目标请求处理量配额是根据配额缩放方向对标准请求处理量配额进行缩放处理得到的,而配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,由于动态限流周期大于静态限流周期,因此动态限流周期的健康度能够反映业务处理设备的真实健康度,即能够根据一个大的时间范围内的健康度对配额进行调整,实现了既能够消耗当前静态限流周期的配额,又能根据动态限流周期调整得到的与健康度匹配的目标请求处理量配额进行流量控制,提高了流量控制的准确度。
附图说明
图1A为一些实施例中流量控制方法的应用环境图;
图1B为一些实施例中流量控制方法的应用环境图;
图2为一些实施例中流量控制方法的流程示意图;
图3为一些实施例中动态限流周期和静态限流周期之间关系的示意图;
图4为一些实施例中流量控制节点得到目标请求量处理配额的原理图;
图5为一些实施例中请求失败的界面图;
图6为一些实施例中流量控制方法的应用环境图;
图7为一些实施例中流量控制方法的时序图;
图8为一些实施例中流量控制装置的结构框图;
图9为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的流量控制方法,可以应用于如图1A所示的应用环境中。该应用环境包括终端102、流量控制节点104、业务处理设备106以及流量配额节点108,流量控制节点104可以有多个,终端102可以通过流量控制节点104与业务处理设备106进行通信,流量控制节点104用于对业务处理设备106进行流量控制。其中,终端102通过网络与流量控制节点104进行通信,流量控制节点104通过网络与流量配额节点108进行通信,流量控制节点104通过网络与流量配额节点108进行通信。流量配额节点108可以对业务处理设备106在当前静态限流周期的请求量处理额度进行切分,得到多个标准请求处理量配额,每个静态限流周期包括可以包括多个标准请求处理量配额,如图1B中所示,流量配额节点包括静态限流周期1~3,每个静态限流周期包括L(L≥1)个标准请求处理量配额,例如标准请求处理量配额1-1~标准请求处理量配额1-L。每个静态限流周期中的标准请求处理量配额的数量可以是相同的也可以不相同。流量控制节点104可以从流量配额节点108拉取标准请求处理量配额,标准请求处理量配额是根据业务处理设备106在当前静态限流周期的请求量处理额度分配得到;流量控制节点104确定处理量配额对应的配额缩放方向,配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长,流量控制节点104根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额;流量控制节点104在当前静态限流周期中,根据目标请求处理量配额对业务处理设备106的业务请求进行流量控制。当流量控制节点104为多个时,终端102的业务请求可以发送至多个流量控制节点104中的任意一个,各个流量控制节点104均可以从流量配额节点108拉取标准请求处理量配额。如图1B所示,流量控制节点可以为N(N≥1)个,各个流量控制节点均可以从流量配额节点拉取标准请求处理量配额。当在一个静态限流周期中,请求量处理额度被消耗完时,流量控制节点在该静态限流周期内再拉取时,则无法拉取到标准请求处理量配额。需要在下一个静态限流周期才可以拉取到标准请求处理量配额。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,流量控制节点104、业务处理设备106以及流量配额节点108可以用独立的服务器或者是多个服务器组成的服务器集群来实现。业务设备可以包括不同类型的缴费机构对应的设备。缴费机构可以包括水费缴费机构、电费缴费机构或燃气费缴费机构中的至少一种。水费缴费机构可以是提供水服务的事业单位,电费缴费机构可以是提供电服务的事业单位,燃气费缴费机构可以是提供燃气服务的事业单位。
在一些实施例中,如图2所示,提供了一种流量控制方法,以该方法应用于图1A中的流量控制节点104为例进行说明,包括以下步骤:
S202,从流量配额节点拉取标准请求处理量配额,标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到。
其中,请求量处理额度指的是一个限流周期内,业务处理设备所允许处理的请求的数额,即业务处理设备在限流周期内,最大的请求处理量为请求量处理额度。例如,在一个周期内,业务处理设备设置为最多能够处理1000个业务请求,则请求量处理额度为1000。
配额指的是分配的额度,将额度进行切分,得到配额。一个请求量处理额度可以切分为多个标准请求处理量配额,标准请求处理量配额可以理解为是标准的额度拉取的单位,也可以称为限流片(slice),即一个请求量处理额度可以分为多个限流片,即流量控制节点在拉取额度时,每次拉取的是一个限流片,限流片(标准请求处理量配额)的大小可以根据需要设置,例如可以为100。例如,假设当前静态限流周期的请求量处理额度为1000,限流片的大小为100,则可以切分为10个限流片。流量控制节点在拉取时,每次拉取1个限流片,当10个限流片都消耗完毕,则流量配额节点在该周期内不再分配限流片。
流量配额节点指的是对请求处理量配额进行分配的节点,流量配额节点可以将业务处理设备对应的请求量处理额度切分为多个配额,将配额分配给多个流量控制节点,当多个控制节点拉取到配额时,可以根据配额对业务处理设备的业务请求进行流量控制,每处理一个业务请求,标准请求处理量配额就消耗1,当配额被消耗完时,控制节点可以重新从流量配额节点获取标准请求处理量配额,直至请求量处理额度的所有配额被消耗完毕。例如,假设静态限流周期1内,有3个限流片,流量控制节点1从流量配额节点拉取静态限流周期1对应1个限流片时,则还剩下2个限流片。其他流量控制节点进行限流片的拉取,当剩下的2个限流片拉取完毕,说明静态限流周期1对应的请求量处理额度被消耗完,流量控制节点需要等到下一个静态限流周期才可以拉取到限流片。
在限流时,可以是按周期进行限流的。限流周期可以包括静态限流周期和动态限流周期,静态限流周期与动态限流周期是相对的概念。限流周期的“静态”与“动态”是根据限流的效果区分的。静态限流中流量的控制不发生变化。动态限流是指流量的控制是根据实际情况动态变化的。当只有静态限流周期时,按照固定的预先设置的请求量处理配额进行流量的控制,则流量的控制是静态的。当在静态限流周期的基础上,增加动态限流周期,则可以根据业务处理设备的实际运行情况,对静态限流周期处理的流量进行动态的控制,即进行弹性的限流。例如,可以根据动态限流周期的健康度,对静态限流周期的配额的大小进行缩放,达到动态限流的效果。
静态限流周期的时长可以根据需要进行设置,也可以是预先设置的。例如为1秒。静态限流周期的时长还可以根据业务处理设备的请求量进行确定,静态限流周期的大小可以与业务处理设备的请求量成负相关关系,例如当业务处理设备的请求量较小时,静态限流周期可以设置的大一些,当业务处理设备的请求量较大时,静态限流周期可以设置的小一些。不同的业务处理设备对应的静态限流周期的时长可以相同也可以不同。同一业务处理设备在不同的时间段对应的静态限流周期的时长可以相同也可以不同。当前静态限流周期指的是当前时间对应的静态限流周期。
当请求量处理额度未消耗完时,流量控制节点可以拉取配额并处理业务请求,当请求量处理额度消耗完时且流量控制节点拉取的配额已经消耗完时,流量控制节点拒绝业务请求。当请求量处理额度对应的配额被拉取后,流量配额节点中对应的请求量处理额度被消耗相应配额大小,例如请求量处理额度为1000个请求,若一个大小为100个请求的配额被拉取,则请求量处理额度对应的已消耗的额度为100个请求,未消耗的为900个请求。
请求量处理额度可以是预先设置的,例如可以根据静态限流周期的时长或业务处理设备的性能中的至少一种确定,请求量处理额度可以与静态限流周期的时长成正相关关系,请求量处理额度可以与业务处理设备的性能成正相关关系,性能越好,则请求量处理额度越高。不同的业务处理设备对应的请求量处理额度可以相同也可以不同。
标准请求处理量配额可以是预设配额大小的请求处理量配额。流量配额节点可以将静态限流周期的请求量处理额度进行划分,得到多个标准请求处理量配额。流量配额节点可以先确定标准请求处理量配额的大小,然后对请求量处理额度进行分割得到多个标准请求处理量配额。流量配额节点可以根据拉取配额所消耗的时间或者业务处理设备对应的流量控制节点的数量确定。
具体地,流量控制节点可以从流量配额节点拉取标准请求处理量配额,指的是从流量配额节点获取标准请求处理量配额。流量控制节点在当前静态限流周期中可以从流量配额节点拉取至少一次标准请求处理量配额。流量配额节点可以存储请求量处理额度,并预先将请求量处理额度进行切分,得到多个标准请求处理量配额。
在一些实施例中,流量配额节点可以将请求量处理额度均匀划分,也可以将请求量处理额度进行非均匀划分,这里对划分的方式不做限制。划分得到的各个配额可以相同也可以不同。例如,请求量处理额度为1000个请求,可以将1000个请求均匀分配为10份(10个限流片),每份为100个请求,即每个配额的大小为100个请求。当然,流量配额节点还可以先确定配额的大小,然后对请求量处理额度进行分配。
在一些实施例中,流量控制节点可以在当前静态限流周期内的任意时刻从流量配额节点拉取标准请求处理量配额。例如,当流量控制节点中没有请求处理量配额时,可以触发从流量配额节点拉取标准请求处理量配额。另外,流量控制节点中同一时间可以存储有预设配额数量的标准请求处理量配额,当流量控制节点确定存储的标准请求处理量配额的数量小于预设配额数量时,可以触发从流量配额节点拉取标准请求处理量配额。预设配额数量可以为多个,多个指的是至少两个,也可以根据需要进行设置,例如为2。由于每次拉取标准请求处理量配额需要消耗一定的时间,而通过同一时间存储多个配额数量的标准请求处理量配额,当一个标准请求处理量配额被使用完时,可以直接使用存储的标准请求处理量配额,而不需要等待,即将采用并行的方式拉取配额,提高了限流的效率。
S204,确定处理量配额对应的配额缩放方向,配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长。
其中,动态限流周期的时长可以根据需要进行设置,也可以是按照预设时长将时间进行划分得到的时间段,预设时长即为动态限流周期的时长,预设时长可以根据需要进行设置,例如为40秒。例如可以将9:00:00-12:00:00这段时间按照40秒的时长进行划分,得到多个时长为40秒的动态限流周期,例如时间段9:00:00-9:00:40为一个动态限流周期。动态限流周期也可以是预先设置好的。可以通过动态限流周期的起始时间点和终止时间点来表示动态限流周期。动态限流周期例如可以是9:00:00-9:00:40(包括9:00:00和9:00:40),其中,9:00:00表示动态限流周期的起始时间点,9:00:40表示动态限流周期的终止时间点。动态限流周期的时长大于静态限流周期的时长。动态限流周期用于对静态限流周期中的请求处理量配额进行动态的调整。一个动态限流周期可以对应有至少一个静态限流周期,一个静态限流周期可以对应至少一个动态限流周期。如图3所示,动态限流周期2对应静态限流周期1和静态限流周期2,静态限流周期3对应动态限流周期2和动态限流周期3。
将确定处理量配额对应的配额缩放方向的时间点记作方向确定时间点,则历史动态限流周期指可以是方向确定时间点之前的动态限流周期,历史动态限流周期可以有多个。如图3所示,若方向确定时间点为时间点2,即方向确定事件点所属的动态限流周期为动态限流周期2,则历史动态限流周期可以是动态限流周期1,若方向确定时间点为时间点3,即方向确定时间点所属的动态限流周期为动态限流周期3,则历史动态限流周期可以是动态限流周期1和动态限流周期2。可以是根据离方向确定时间点最近的历史动态周期的历史业务处理健康度确定配额缩放方向。
业务处理健康度用于表示业务处理设备的健康程度,健康度越大,则表示业务处理设备越健康。健康度可以用于反映业务设备的服务质量(QOS,Quality of Service),业务设备的服务质量与业务处理健康度可以是正相关关系的,即业务处理健康度越大服务质量越好,业务处理健康度越小服务质量越差。业务处理健康度可以用百分数表示,例如可以为90%。历史业务处理健康度指的是历史动态限流周期内业务处理设备的业务处理健康度。
处理量配额对应的配额缩放方向可以包括缩小、放大或保持中的至少一种,当配额缩放方向为缩小时,将处理量配额朝着缩小的方向进行调整,当配额缩放方向为保持时,不对处理量配额进行调整,当配额缩放方向为放大时,可以将处理量配额朝着增加的方向进行调整。
具体地,流量控制节点或者其它节点可以直接根据历史业务处理健康度确定处理量配额对应的配额缩放方向,例如可以计算多个历史业务处理健康度的统计值,根据统计值确定处理量配额对应的配额缩放方向,也可以根据历史业务处理健康度以及动态限流周期对应的健康度阈值确定配额缩放方向。例如可以根据历史业务处理健康度与健康度阈值的大小关系确定配额缩放方向。例如,流量控制节点或者其它节点可以历史业务处理健康度与健康度阈值的大小关系得到业务请求量阈值,根据业务请求量阈值确定配额缩放方向。其中,业务请求量阈值指的是历史动态限流周期的下一动态限流周期内允许处理的业务请求量的最大值。如图3所示,可以根据动态限流周期1的业务处理健康度确定动态限流周期2的业务请求量阈值,根据动态限流周期2的业务处理健康度确定动态限流周期3的业务请求量阈值.
在一些实施例中,流量配额节点中可以存储有多个动态限流周期分别对应的业务请求量阈值。如图4所示,流量配额节点中存储有最近M个动态周期的健康数据,健康数据是与健康度相关的数据,例如可以包括业务处理设备在动态限流周期内的业务请求量或健康度中的至少一种,流量配额节点或者其它节点可以根据动态限流周期的健康数据计算业务请求量阈值并进行存储。
在一些实施例中,流量配额节点可以记录业务请求量阈值的更新时间,当一个新的业务请求量阈值生成时,可以将该业务请求量阈值的生成时间作为业务请求量阈值的更新时间。如图4所示,流量配额节点中存储有业务请求量阈值对应的更新时间。其中,更新时间可以根据需要进行设置,例如可以是历史动态限流周期的下一动态限流周期的起始时间点。当流量控制节点需要确定配额缩放方向时,可以从流量配额节点拉取更新时间对应的业务请求量阈值,根据更新时间对应的业务请求量阈值确定配额缩放方向,这样可以获取到最新的业务请求量阈值。
需要说明的是,由于在一个静态限流周期内,一个流量控制节点可以多次拉取配额,每次拉取配额后,都可以执行确定处理量配额对应的配额缩放方向的步骤,即需要从流量配额节点拉取到业务请求量阈值,由于业务请求量阈值是的更新时间是不断变化的,因此,一个静态限流周期中前一次拉取到的业务请求量阈值与后一次拉取到的业务请求量阈值可以是对应不同的动态限流周期的。举例说明,如图3所示,在静态限流周期3中,若第一次拉取业务请求量阈值的时间为时间点2,业务请求量阈值的更新时间为时间点1,则第一次拉取的业务请求量阈值为动态限流周期2对应的业务请求量阈值,在静态限流周期3中,若第二次拉取业务请求量阈值的时间为时间点4,业务请求量阈值的更新时间为时间点3,则第二次拉取的业务请求量阈值为动态限流周期3对应的业务请求量阈值,若第二次拉取业务请求量阈值的时间为时间点4,业务请求量阈值的更新时间为时间点5,则第二次拉取业务请求量阈值为动态限流周期2对应的业务请求量阈值,即更新时间点的变更,拉取到的业务请求量阈值也在变化,使得流量的控制更加实时与准确。
在一些实施例中,业务处理健康度可以根据业务处理设备的业务请求量计算得到。业务处理设备的业务请求量可以包括业务处理设备的业务查询请求量或业务更新请求量中的至少一种计算得到。其中业务请求可以包括查询请求和更新请求,更新请求例如可以是销账请求。其中查询请求用于查询业务处理设备中的数据,更新请求用于对业务处理设备中的数据进行更新。
S206,根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额。
其中,目标请求处理量配额是根据配额缩放方向以及标准请求处理量配额进行缩放处理得到的。
具体地,当配额缩放方向为缩小时,流量控制节点可以确定配额缩小调整因子,配额缩小调整因子可以根据需要进行设置,例如为0.8,也可以是通过计算确定的。流量控制节点可以计算配额缩小调整因子与标准请求处理量配额的乘积,将计算得到的结果作为目标请求处理量配额。例如,当标准请求处理量配额为100个请求且配额缩小调整因子为0.8时,则目标请求处理量配额为100*0.8=80个请求。当配额缩放方向为保持时,流量控制节点可以将标准请求处理量配额作为目标请求处理量配额。
在一些实施例中,配额缩放方向是从缩小和保持中选取的。即可以不对配额进行放大,从而避免配额放大,造成业务处理设备接收到大量的业务请求而运行异常。
S208,在当前静态限流周期中,根据目标请求处理量配额对业务处理设备的业务请求进行流量控制。
其中,流量控制指的是控制业务处理设备获取到的业务请求量,当流量控制节点接受业务请求即将业务请求转发给业务处理设备时,业务处理设备可以获取到业务请求,当流量控制节点拒绝业务请求即拒绝将业务请求转发给业务处理设备时,业务处理设备可以无法获取到该业务请求。
具体地,流量控制节点可以接受业务请求,当流量控制节点接受业务请求时表示请求成功,流量控制节点可以拒绝业务请求,当流量控制节点接受业务请求时表示请求失败。目标请求处理量配额的大小可以随着流量控制节点接受的业务请求的数量的增加而被消耗,当目标请求处理量配额消耗完毕时,流量控制节点可以从流量配额节点拉取新的标准请求处理量配额,并按照S204和S206的步骤确定新的目标请求处理量配额,并根据新的目标请求处理量配额进行流量控制。当然,流量控制节点可以拉取新的标准请求处理量配额后,将上一次确定的目标请求处理量配额的大小,作为新的目标请求处理量配额的大小。若流量控制节点在当前静态限流周期中未获取到新的目标请求处理量配额,则在当前静态限流周期中,流量控制节点拒绝接收到的业务请求。
在一些实施例中,当流量配额节点中当前静态限流周期的标准请求处理量配额均已经被各个流量控制节点拉取,即流量配额节点中当前静态限流周期的处理量额度已经消耗完,则当前静态限流周期内流量控制节点不能再拉取到标准请求处理量配额,在这种情况下,若流量控制节点中的目标请求处理量配额被用完,即目标请求处理量配额消耗完,则当流量控制节点接收到业务请求时,拒绝业务请求。
在一些实施例中,当配额缩放方向为缩小时,则目标请求处理量配额小于标准请求处理量配额,从而流量控制节点在当前静态限流周期中允许处理(即允许接受)的请求的数量减少了,从而减少了业务处理设备的流量。
在一些实施例中,当流量控制节点拦截业务请求时,流量控制节点可以向业务请求对应的发送终端返回请求失败提示信息,以通知发送终端对应的用户业务请求失败。请求失败提示信息中可以携带参考时间信息,参考时间信息可以是重新发送业务请求的相关时间,参考时间信息可以根据静态限流周期的时长确定,例如可以为一个静态限流周期的时长,从而可以在当前静态限流周期的下一个静态限流周期进行请求,保证终端不会在同一个静态限流周期内反复重试失败。参考时间信息可以方便用户明确重新发送业务请求的时间,并且可以防止用户不停的发送业务请求加重流量控制节点的负担。请求失败提示信息例如可以是“请2分钟后重试”,其中“2分钟后”为参考时间信息。如图5所示,为业务请求的发送终端的缴费界面,当用户在缴费界面上填写缴费金额并点击立即缴费按钮时,可以触发缴费请求,发送终端可以将缴费请求传输到缴费单位对应的业务处理设备的流量控制节点,当流量控制节点由于流量控制拦截缴费请求时,可以将请求失败提示信息发送给发送终端,发送终端可以将请求失败提示信息显示在缴费界面上,请求失败提示信息例如为缴费界面上显示的“缴费失败,请2分钟后重试”。
在一些实施例中,流量控制节点将拉取到的标准请求处理量配额存储到共享内存中,当计算得到目标请求处理量配额时,可以用目标请求处理量配额覆盖共享内存中的标准请求处理量配额,以根据目标请求处理量配额对业务处理设备进行流量控制。当流量控制节点中的目标请求处理量配额被消耗完时,可以触发流量控制节点从流量配额节点拉取标准请求处理量配额。另外,有可能存在多个业务请求触发的拉取请求(拉取标准请求处理量配额的请求),为了防止重复的拉取,当一个业务请求触发的拉取请求对拉取标准请求处理量配额的进程加锁时,其他的进行则不能同时进行拉取,避免了重复的拉取。如图4所示,流量控制节点获取业务请求,当当前的目标请求量配额消耗完时,流量控制节点进行抢占加锁并从流量配额节点拉取标准请求处理量配额以及目标业务请求量阈值,可以将标准请求处理量配额存储到共享内存中,根据标准请求处理量配额以及目标业务请求量阈值计算得到新的目标请求量处理配额,并利用新的目标请求量处理配额覆盖共享内存中的标准请求处理量配额,解锁并返回请求结果,其中,请求结果可以为请求成功或请求失败中的一种。其中,共享内存指的是多个不相关的进行访问同一内存(例如逻辑内存或物理内存),共享内存是多个正在运行的进程之间共享和传递数据的一种有效方式。
上述流量控制方法中,从流量配额节点拉取标准请求处理量配额,标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到,确定处理量配额对应的配额缩放方向,根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额,在当前静态限流周期中,根据目标请求处理量配额对业务处理设备的业务请求进行流量控制。通过从流量配额节点拉取标准请求处理量配额,能够消耗当前静态限流周期的配额,通过目标请求处理量配额对业务处理设备的业务请求进行流量控制,由于目标请求处理量配额是根据配额缩放方向对标准请求处理量配额进行缩放处理得到的,而配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,由于动态限流周期大于静态限流周期,因此动态限流周期的健康度能够反映业务处理设备的真实健康度,即能够根据一个大的时间范围内的健康度对配额进行调整,实现了既能够消耗当前静态限流周期的配额,又能根据动态限流周期调整得到的与健康度匹配的目标请求处理量配额进行流量控制,提高了流量控制的准确度。
目前的流量控制方法,无法按照业务处理设备的QOS来调整流量。当告警以某种形式传达给用户后,依然需要人工确认当前系统的状况来决策下一步的动作,尤其是当未达到最大限流值时,束手无措,只能等待业务处理设备恢复正常。本申请可以自动计算业务处理设备的健康度,动态调整请求流量,在服务质量差时自动降低请求量,等服务质量提升时自动提升流量。即当业务处理设备健康度下降时自动减少用户请求流量,当健康度上升时动态增加用户请求流量,最大限度地保护业务处理设备的同时,使其在能力范围内为用户提供最佳的服务。同时,又可以最大化利用业务处理设备的系统承受能力,在保证高质量的情况下,使其提供最大化的服务。
在一些实施例中,确定处理量配额对应的配额缩放方向包括:根据历史动态限流周期对应的历史业务处理健康度以及历史业务请求量,确定目标动态限流周期对应的目标业务请求量阈值,目标动态限流周期为历史动态限流周期的后向动态限流周期;根据目标业务请求量阈值确定处理量配额对应的配额缩放方向。
其中,历史业务请求量指的是历史动态限流周期内业务处理设备的业务请求的总数量,业务请求量阈值是对动态限流周期内允许处理的业务请求量的最大值的预测值,也可以称为门限值。目标业务请求量阈值是对目标动态限流周期内允许处理的业务请求量的最大值的预测值。目标动态限流周期为历史动态限流周期的后向动态限流周期,当前静态限流周期可以是在目标动态限流周期内或者之后,从而使得当前静态限流周期对应的目标请求处理配额可以根据最近的目标动态限流周期的业务请求量阈值进行调整,提高实时性。如图3所示,动态限流周期2为动态限流周期1的后向动态限流周期,当历史动态限流周期为动态限流周期1时,目标动态限流周期为动态限流周期2。
具体地,流量控制节点可以根据历史动态限流周期对应的历史业务处理健康度,与业务处理设备在历史动态限流周期的健康度阈值之间的大小关系,确定请求量调整因子,根据请求量调整因子以及历史业务请求量进行计算,得到目标业务请求量阈值。目标业务请求量阈值可以与请求量调整因子以及历史业务请求量分别成正相关关系。请求量调整因子可以是从请求量缩小调整因子和请求量放大调整因子中选取的,当请求量调整因子为请求量缩小调整因子时,目标业务请求量阈值小于历史业务请求量,当请求量调整因子为请求量放大调整因子时,目标业务请求量阈值大于历史业务请求量。
在一些实施例中,流量控制节点可以根据目标业务请求量阈值以及当前静态限流周期对应的限流数据,确定处理量配额对应的配额缩放方向。限流数据可以包括当前静态限流周期的时长、标准请求处理量配额或预先设置的允许处理的请求的数量的最大值中的至少一种。如图4所示,流量配额节点存储的限流数据中可以包括静态限流周期对应的限流数据。
本实施例中,由于历史业务处理健康度的状况,能够反映历史动态限流周期中,业务处理设备所处理业务处理请求的历史业务请求量是否超过其在历史动态限流周期的处理能力,历史业务处理健康度越大,则历史业务请求量在其处理能力之内,历史业务处理健康度越小,则历史业务请求量可能超出其处理能力,因此根据历史动态限流周期对应的历史业务处理健康度以及历史业务请求量,确定目标动态限流周期对应的目标业务请求量阈值,提高了目标业务请求量阈值的准确度。
在一些实施例中,根据目标业务请求量阈值确定处理量配额对应的配额缩放方向包括:根据目标业务请求量阈值确定静态限流周期对应的业务请求量阈值,作为参考业务请求量阈值;根据参考业务请求量阈值与当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向。
其中,参考业务请求量阈值指的是静态限流周期对应的所参考的业务请求量阈值。标准业务请求量阈值可以是根据业务设备的性能预先设置的,指的是当前静态限流周期内允许处理的业务请求的数量的最大值。
具体地,流量控制节点可以根据静态限流周期的时长与动态限流周期的时长的倍数关系,确定静态限流周期对应的业务请求量阈值。例如,流量控制节点可以计算静态限流周期的时长与动态限流周期的时长的比值,得到时长比值,将时长比值与目标业务请求量阈值的乘积,作为静态限流周期对应的业务请求量阈值,即将时长比值与目标业务请求量阈值的乘积作为参考业务请求量阈值。例如,静态限流周期的时长为2秒,动态限流周期的时长为40秒,则时间比值为2/40,若目标业务请求量阈值为1000个请求,则参考业务请求量阈值为1000*2/40个请求。
在一些实施例中,流量控制节点可以将参考业务请求量阈值与标准业务请求量阈值进行比较,根据比较的结果确定处理量配额对应的配额缩放方向。
本实施例中,根据目标业务请求量阈值确定静态限流周期对应的业务请求量阈值,作为参考业务请求量阈值,即根据动态限流周期对应的目标业务请求量阈值,确定静态限流周期的业务请求量阈值,方便了在相同类型的周期上进行数据的比较,另外根据参考业务请求量阈值与当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向,能够使得处理量配额根据参考业务请求量阈值大小而缩放,提高了处理量配额缩放的准确度。
在一些实施例中,根据参考业务请求量阈值与当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向包括:当参考业务请求量阈值小于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为缩小。
具体地,流量控制节点可以根据参考业务请求量阈值以及标准业务请求量阈值进行计算得到配额缩小调整因子,根据配额缩小调整因子和配额缩放方向得到目标请求处理量配额。
本实施例中,当参考业务请求量阈值小于标准业务请求量阈值时,可以说明当前静态限流周期内业务处理设备能够处理的业务请求量的最大值小于标准业务请求量阈值,因此,当参考业务请求量阈值小于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为缩小,能够减少处理量配额的大小,从而减少当前静态限流周期内业务处理设备处理的请求数量,对业务处理设备进行有效的限流。
在一些实施例中,根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额包括:计算参考业务请求量阈值与标准业务请求量阈值的比值,作为配额缩小调整因子;根据配额缩小调整因子对标准请求处理量配额进行缩小处理,得到目标请求处理量配额。
其中,目标请求处理量配额可以与配额缩小调整因子以及标准请求处理量配额分别成正相关关系。
具体地,流量控制节点可以计算配额缩小调整因子与标准请求处理量配额的乘积,得到缩小后的请求处理量配额,根据缩小后的请求处理量配额得到目标请求处理量配额。例如可以对缩小后的请求处理量配额进行向上取整,将取整后的结果作为目标请求处理量配额。
本实施例中,计算参考业务请求量阈值与标准业务请求量阈值的比值,作为配额缩小调整因子,根据配额缩小调整因子对标准请求处理量配额进行缩小处理,得到目标请求处理量配额,使得目标请求处理量配额随着参考业务请求量阈值的变化而变化,提高了目标请求处理量配额的准确度。
在一些实施例中,根据参考业务请求量阈值与当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向包括:当参考业务请求量阈值大于或等于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为保持。
具体地,当参考业务请求量阈值大于或等于标准业务请求量阈值时,流量控制节点可以将确定处理量配额对应的配额缩放方向为保持,即将标准请求处理量配额作为目标请求处理量配额。
本实施例中,当参考业务请求量阈值大于或等于标准业务请求量阈值时,可以说明当前静态限流周期内业务处理设备能够处理的业务请求量的最大值大于或等于标准业务请求量阈值,因此,当参考业务请求量阈值大于或等于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为保持,能够使处理量配额足够大但不会超过标准业务请求量阈值,保证了目标请求处理量配额不至于过大而对业务处理设备造成影响。
在一些实施例中,流量控制节点可以通过以下代码,计算得到目标请求处理量配额,
其中,ssthresh为目标业务请求量阈值,var_interval为目标动态限流周期的时长,interval为当前静态限流周期的时长,total为当前静态限流周期对应的标准业务请求量阈值,slice为标准请求处理量配额,即限流片的大小,new_slice为目标请求处理量配额,即新的限流片的大小。
在一些实施例中,根据历史动态限流周期对应的历史业务处理健康度以及历史业务请求量,确定目标动态限流周期对应的目标业务请求量阈值包括:根据历史动态限流周期对应的历史业务处理健康度与健康度阈值的大小关系,确定业务请求量对应的请求量缩放方向;根据请求量缩放方向对历史业务请求量进行缩放处理,得到目标动态限流周期对应的目标业务请求量阈值。
其中,健康度阈值可以是根据需要预先设置的,例如为80%。业务请求量对应的请求量缩放方向,请求量缩放方向可以包括缩小或放大中的至少一种。
具体地,当历史业务处理健康度大于或者等于健康度阈值时,可以确定业务请求量对应的请求量缩放方向为放大。当历史业务处理健康度小于健康度阈值时,可以确定业务请求量对应的请求量缩放方向为缩小。
在一些实施例中,当缩放方向为放大时,流量控制节点可以获取请求量放大调整因子,利用请求量放大调整因子对历史业务请求量进行放大,得到放大后的历史业务请求量,根据放大后的历史业务请求量确定目标动态限流周期对应的目标业务请求量阈值。其中,请求量放大调整因子可以根据需要进行设置,例如可以为0.2。具体地,流量控制节点可以获取业务处理设备的动态限流周期内的预设请求量上限值,根据请求量放大调整因子以及历史业务请求量的进行相乘计算,得到放大后的历史业务请求量,将放大后的历史业务请求量和预设请求量上限值中较小的一个作为目标业务请求量阈值。例如放大后的历史业务请求量可以为(1+请求量放大调整因子)*历史业务请求量,预设请求量上限值指的是动态限流周期的预先设置的允许处理的请求的最大数量,预设请求量上限值可以是根据业务处理设备的性能确定的,预设请求量上限值可以与业务处理设备的性能成正相关关系,预设请求量上限值也可以根据需要进行设置,例如为1000个请求。
本实施例中,根据历史动态限流周期对应的历史业务处理健康度与健康度阈值的大小关系,确定业务请求量对应的请求量缩放方向;根据请求量缩放方向对历史业务请求量进行缩放处理,得到目标动态限流周期对应的目标业务请求量阈值,从而可以在业务处理设备的健康度不达标(小于健康度阈值)时,减少流量,而在业务处理设备的健康度达标时(大于等于健康度阈值)时,减少流量,从而实现合理的流量控制。
在一些实施例中,根据请求量缩放方向对历史业务请求量进行缩放处理,得到目标动态限流周期对应的目标业务请求量阈值包括:当请求量缩放方向为收缩时,根据历史业务处理健康度确定请求量缩小调整因子,请求量缩小调整因子与历史业务处理健康度成正相关关系;根据请求量缩小调整因子对历史业务请求量进行缩小处理,得到目标动态限流周期对应的目标业务请求量阈值。
其中,请求量缩小调整因子可以为历史业务处理健康度,也可以是历史业务处理健康度与预设数值的乘积,预设数值可以根据需要进行设置,例如为0.9。
具体地,流量控制节点可以计算历史业务请求量与请求量缩小调整因子的乘积,得到缩小后的历史业务请求量,根据缩小后的历史业务请求量得到目标动态限流周期对应的目标业务请求量阈值。
在一些实施例中,流量控制节点可以获取业务处理设备的动态限流周期内的预设请求量下限值,预设请求量下限值可以根据需要进行设置,例如为1个请求。流量控制节点可以将缩小后的历史业务请求量和预设请求量下限值中较大的作为目标业务请求量阈值。通过将缩小后的历史业务请求量和预设请求量下限值中较大的作为目标业务请求量阈值,可以防止过度收缩。
本实施例中,当请求量缩放方向为收缩时,根据请求量缩小调整因子对历史业务请求量进行缩小处理,得到目标动态限流周期对应的目标业务请求量阈值,从而在业务处理设备的健康度不达标(小于健康度阈值)时,减少了流量,实现了合理的流量控制。
在一些实施例中,流量控制节点可以通过以下代码,计算得到目标业务请求量阈值,
其中,ssthresh为目标业务请求量阈值,c_rate为历史业务处理健康度,c_total为历史业务请求量,T_Heath_Rate为健康度阈值,T_Max预设请求量上限值,Req_Min为预设请求量下限值,Rate为请求量放大调整因子。
在一些实施例中,得到标准请求处理量配额的步骤包括:获取配额拉取对应的重试次数阈值;获取配额拉取响应时长;根据重试次数阈值以及配额拉取响应时长确定配额拉取重试时长阈值;根据配额拉取重试时长阈值确定标准请求处理量配额,标准请求处理量配额对应的配额使用时长大于配额拉取重试时长阈值。
其中,配额拉取对应的重试次数阈值,指的是流量控制节点从流量配额节点成功拉取标准请求处理量配额需要重试拉取的次数的最大值,即流量控制节点最多需要重试拉取的次数,就可以成功拉取到标准请求处理量配额,例如,假设发送了8次配额拉取请求,才拉取到配额,则重试次数为7。配额拉取对应的重试次数阈值可以根据需要预先设置的,也可以根据业务处理设备对应的流量控制节点的数量确定。
配额拉取响应时长是流量控制节点发送一个拉取请求,到接收到该请求对应的响应结果的时间长度。响应结果可以是拉取成功或者拉取失败。配额拉取响应时长可以是平均值,可以是预先设置得到的,也可以是对每发送一次拉取请求到接收到请求对应的响应结果的时长进行统计所得到的平均时间长度。
配额拉取重试时长阈值是指从第一次重试拉取配额开始,到最后成功拉取到配额的时长的阈值。配额拉取重试时长阈值可以是对配额拉取响应时长以及重试次数阈值进行相乘计算得到的。配额使用时长指的是业务处理设备消耗完标准请求处理量配额所需要的时间长度。
在一些实施例中,可以根据标准请求处理量配额与流量控制节点的每秒处理请求量(Query Per Second,QPS)的比值,得到配额使用时长,例如假设标准请求处理量配额为S,流量控制节点的每秒处理请求量为C,则标准请求处理量配额对应的配额使用时长可以为S/C秒。
在一些实施例中,流量控制节点可以根据业务处理设备的单位时间处理请求量,计算得到流量控制节点的单位时间处理请求量。其中单位时间处理请求量可以是每秒处理请求量(Query Per Second,QPS)。可以根据业务处理设备的每秒处理请求量和流量控制节点的数量确定流量控制节点的每秒处理请求量,流量控制节点的每秒处理请求量例如可以为业务处理设备的每秒处理请求量与流量控制节点的数量的比值,例如为Q/N,单位为个请求量/秒,其中Q为业务处理设备每秒处理的请求量,则配额使用时长可以为
在一些实施例中,流量控制节点可以将配额使用时长大于配额拉取重试时长阈值的配额作为候选请求处理量配额,从候选请求处理量配额中选取得到标准请求处理量配额。例如,可以根据候选请求处理量配额中的最小配额,确定标准请求处理量配额。例如可以将与最小配额的差异满足差异条件的目标配额作为标准请求处理量配额,差异条件可以包括目标配额为大于最小配额的整数,差异条件还可以包括与最小配额的差异小于预设差异值或者差异值的排序在预设排序之内。配额使用时长大于配额拉取重试时长阈值例如可以表示为其中P为配额拉取重试时长阈值。则标准请求处理量配额的取值范围可以表示为/>即标准请求处理量配额S需要大于/>例如可以将与/>的差异最小,且大于/>的整数,作为标准请求处理量配额。
本实施例中,由于配额拉取重试时长阈值根据重试次数阈值以及配额拉取响应时长确定,因此当标准请求处理量配额对应的配额使用时长大于配额拉取重试时长阈值,能够使得在多个流量控制节点同时拉取标准请求处理量配额时,通过有限次数(小于等于重试次数阈值)的重复拉取,可以拉取到标准请求处理量配额,避免了流量控制节点长期拉取不到配额导致饥饿的情况发生。
若标准请求处理量配额过大,当负载不均时容易导致资源浪费,例如,当流量控制节点A接收到的业务请求的数量远大于流量控制节点B接收到的业务请求的数量时,可能出现流量控制节点A的标准请求处理量配额被消耗完时,流量控制节点B的标准请求处理量配额的消耗很少,使得流量控制节点A的标准请求处理量配额不够用,而流量控制节点B占用了比较大的标准请求处理量配额但消耗很少,从而导致资源浪费,标准请求处理量配额过小,则会频繁的访问流量配额节点,增加流量配额节点的负担。本实施例,可以保证标准请求处理量配额不过大或者过小,提高了资源的利用率并且减轻了流量配额节点的负担。
在一些实施例中,获取配额拉取对应的重试次数阈值包括:获取业务处理设备对应的流量控制节点的控制节点数量;根据控制节点数量确定配额拉取对应的重试次数阈值。
其中,控制节点数量指的是业务处理设备对应的流量控制节点的数量。当业务处理设备的各个流量控制节点同时拉取标准请求处理量配额时,当流量配额节点同时只允许一个业务处理设备拉取成功时,则业务处理设备可能需要多次拉取操作才能成功拉取到配额。
在一些实施例中,重试次数阈值可以等于控制节点数量减1。举例说明,如图1B所示,流量控制节点的数量为N,即控制节点数量为N,当N个流量控制节点同时从流量控制节点拉取配额时,假设一个流量控制节点拉取成功后不再拉取,若其中一个拉取成功,则剩余的N-1个拉取失败,从而最后一个拉取成功的流量控制节点需要重复拉取N-1次才能拉取成功,即一共拉取N次才能拉取成功。因此可以将N-1作为重试次数阈值。则对应的配额拉取重试时长阈值可以为(N-1)T,其中T为配额拉取响应时长,配额使用时长大于配额拉取重试时长阈值例如可以表示为则标准请求处理量配额的取值范围可以表示为即标准请求处理量配额S需要大于/>
通常一个流量控制节点拉取成功后不再拉取这个假设是不成立的,即当流量控制节点将拉取到的配额消耗完之后,还会重新从进行拉取,如果在其他N-1个节点还未成功拉取时(假设配额充足),第一个拉取成功的流量控制节点(记作一号流量控制节点)的配额已经消耗完,则会一直存在流量控制节点没有配额使用的情况发生,导致资源的利用率低。由于如果N-1个流量控制节点均拉取完成之前,一号流量控制节点的配额未消耗完,则可以避免一直存在流量控制节点没有配额使用的情况发生,因此当标准请求处理量配额对应的配额使用时长大于配额拉取重试时长阈值,可以避免一直存在流量控制节点没有配额使用的情况发生。
本实施例中,根据控制节点数量确定配额拉取对应的重试次数阈值,能够避免一直存在流量控制节点没有配额使用的情况发生,提高资源的利用率。
在一些实施例中,得到历史动态限流周期的历史业务处理健康度的步骤包括:获取业务处理设备在历史动态限流周期的业务查询请求总量、业务查询请求成功量、业务更新请求总量以及业务更新请求成功量;根据业务查询请求总量以及业务查询权重、业务更新请求总量以及业务更新权重进行加权求和,得到加权请求总量;根据业务查询请求成功量以及业务查询权重、业务更新请求成功量以及业务更新权重进行加权求和,得到加权请求成功量;根据加权请求成功量以及加权请求总量,确定历史动态限流周期的历史业务处理健康度。
其中,业务查询请求总量指的是业务处理设备在历史动态限流周期内的查询请求的总数量、业务查询请求成功量指的是业务处理设备在历史动态限流周期内的查询成功的查询请求的数量、业务更新请求总量指的是业务处理设备在历史动态限流周期内的更新请求的总数量,业务更新请求成功量指的是业务处理设备在历史动态限流周期内的更新成功的更新请求的数量。业务查询权重为业务查询请求总量以及业务查询请求成功量对应的权重,业务更新权重为业务更新请求总量以及业务更新请求成功量对应的权重。业务查询权重以及业务更新权重可以是根据需要进行设置的,业务查询权重例如为0.4,业务更新权重例如为0.6。历史业务处理健康度可以与加权请求成功量成正相关关系,与加权请求总量成负相关关系。更新请求例如为销账请求。
具体地,流量控制节点可以根据业务查询权重以及业务更新权重,对业务查询请求总量以及业务更新请求总量进行加权求和,得到加权请求总量。流量控制节点可以根据业务查询权重以及业务更新权重,对业务查询请求成功量以及业务更新请求成功量进行加权求和,得到加权请求成功量。
在一些实施例中,流量控制节点可以计算加权请求成功量与加权请求总量的比值,将计算得到的比值作为历史动态限流周期的历史业务处理健康度。历史业务处理健康度的计算公式例如可以为公式(1)
其中,query_succ为业务查询请求成功量,charge_succ为业务更新请求成功量,query_total为业务查询请求总量,charge_total为业务更新请求总量,wq为业务查询权重,wc为业务更新权重。
本实施例中,能够根据不同类型的业务请求确定历史业务处理健康度,由于不同类型的业务请求对健康度的影响程度可能是不同的,因此通过对业务查询请求以及业务更新请求分别设置权重,并根据设置的权值计算得到,达到历史业务处理健康度,提高了历史业务处理健康度的准确度。
在一些实施例中,以流量控制节点1为例,对本申请实施例提供的流量控制方法进行说明,包括以下步骤:
1、从流量配额节点拉取标准请求处理量配额。
具体地,流量控制节点1可以是在配额使用完之后,从流量配额节点拉取标准请求处理量配额。例如,假设流量配额节点中当前静态限流周期有3个限流片,即限流片1、2以及3,则流量控制节点1可以拉取限流片1,则流量配额节点中当前静态限流周期剩下限流片2和限流片3。
2、根据目标业务请求量阈值确定静态限流周期对应的业务请求量阈值,作为参考业务请求量阈值。
具体地,流量控制节点1可以计算静态限流周期的时长与动态限流周期的时长的比值,得到时长比值,将时长比值与目标业务请求量阈值的乘积,作为静态限流周期对应的业务请求量阈值,即将时长比值与目标业务请求量阈值的乘积作为参考业务请求量阈值。例如,静态限流周期的时长为2秒,动态限流周期的时长为40秒,则时间比值为2/40,若目标业务请求量阈值为1000个请求,则参考业务请求量阈值为1000*2/40个请求。
3、根据参考业务请求量阈值与当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向。
具体地,当参考业务请求量阈值小于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为缩小,当参考业务请求量阈值大于或等于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为保持。
4、根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额。
具体地,当配额缩放方向为缩小时,流量控制节点1可以计算参考业务请求量阈值与标准业务请求量阈值的比值,作为配额缩小调整因子,配额缩小调整因子可以根据需要进行设置,例如为0.8,也可以是通过计算确定的。流量控制节点1可以计算配额缩小调整因子与标准请求处理量配额的乘积,将计算得到的结果作为目标请求处理量配额。例如,当标准请求处理量配额为100个请求且配额缩小调整因子为0.8时,则目标请求处理量配额为100*0.8=80个请求。当配额缩放方向为保持时,流量控制节点1可以将标准请求处理量配额作为目标请求处理量配额。
5、在当前静态限流周期中,根据目标请求处理量配额对业务处理设备的业务请求进行流量控制。
具体地,当目标请求处理量配额,即限流片被消耗完时,流量控制节点1可以返回步骤1,即继续从流量配额节点拉取标准请求处理量配额。例如,假设限流片2已经被流量控制节点2拉取,则流量控制节点1可以拉取限流片3。当限流片3被流量控制节点1拉取,则限流片消耗完毕,当前静态限流周期内,流量控制节点无法继续拉取限流片。当当前静态限流周期变更为下一个静态限流周期,则可以根据本申请实施例提供的流量控制方法,继续拉取限流片。
本申请还提供如图6所示的应用场景,该应用场景应用上述的流量控制方法。该应用场景包括生活缴费系统、多维度监控系统、消息队列(MQ,Message queue)节点、健康度计算守护进程(daemon)系统、存储节点以及限流服务系统,其中,限流服务器系统对应本申请中的流量控制节点,存储节点对应本申请中的流量配额节点,消息队列是用于保存消息的队列,消息队列例如可以是异步消息队列。生活缴费系统是用于进行缴费的系统,限流服务系统为缴费机构对应的限流服务系统,用户可以通过生成缴费系统发送缴费请求,限流服务系统可以将缴费请求转发给缴费机构,也可以拒绝缴费请求,即拒绝将缴费请求转发给缴费机构,通过合理的拒绝将缴费请求转发给缴费机构可以实现对缴费机构进行流量控制。具体地,该流量控制方法在该应用场景的应用下对应的时序图如图7所示:
1、生活缴费系统可以将缴费机构的监控数据上报到多维度监控系统,缴费机构的监控数据可以包括查询请求总数、查询请求成功数、查询系统失败数、查询逻辑失败数、销账请求总数、销账请求成功数、销账系统失败数和销账逻辑失败数中的至少一种;
2、健康度计算守护进程系统可以在每个动态限流周期,将健康度计算任务发送给消息队列;其中动态限流周期对应本申请的动态限流周期;健康度计算任务可以携带缴费机构的机构标识;
3、计算健康度的进程可以从消息队列中获取健康度计算任务,根据健康度计算任务中的机构标识,从多维度监控系统中获取到机构标识对应的缴费机构的监控数据,根据监控数据进行计算得到缴费机构在对应的动态限流周期内的健康度数据,并根据前向动态限流周期的健康度数据计算得到后向动态限流周期的预测门限值,预测门限值对应本申请中的业务请求量阈值,并将计算得到的数据进行存储,例如图6中的最近m个周期健康数据、更新时间以及最新预测门限值,更新时间为生成最新预测门限值对应的时间。最新预测门限值对应本申请中的业务请求量阈值。
4、限流服务系统在每个限流片消耗完之后,拉取一个新的限流片到本机,并拉取最近且最新的预测门限值;这里的限流片对应本申请中的标准请求处理量配额。
5、限流服务系统可以计算出新的限流片的大小,并写入限流服务系统的共享内存,新的限流片对应本申请中的目标请求处理量配额。
本申请的流量控制方法提升了缴费机构的服务质量和用户体验,有效得保护了机构的系统,使其在有限的能力范围内提供优质的缴费服务,并且可以节省运营成本。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,提供了一种流量控制系统,该系统包括:流量配额节点,用于根据业务处理设备在当前静态限流周期的请求量处理额度进行分配;多个流量控制节点,用于:从流量配额节点拉取标准请求处理量配额,标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;确定处理量配额对应的配额缩放方向,配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长;根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额;在当前静态限流周期中,根据目标请求处理量配额对业务处理设备的业务请求进行流量控制。
在一些实施例中,如图8所示,提供了一种流量控制装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:标准请求处理量配额拉取模块802、配额缩放方向确定模块804、目标请求处理量配额得到模块806和流量控制模块808,其中:
标准请求处理量配额拉取模块802,用于从流量配额节点拉取标准请求处理量配额,标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到。
配额缩放方向确定模块804,用于确定处理量配额对应的配额缩放方向,配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长。
目标请求处理量配额得到模块806,用于根据配额缩放方向对标准请求处理量配额进行缩放处理,得到目标请求处理量配额。
流量控制模块808,用于在当前静态限流周期中,根据目标请求处理量配额对业务处理设备的业务请求进行流量控制。
在一些实施例中,配额缩放方向确定模块804包括:
目标业务请求量阈值确定单元,用于根据历史动态限流周期对应的历史业务处理健康度以及历史业务请求量,确定目标动态限流周期对应的目标业务请求量阈值,目标动态限流周期为历史动态限流周期的后向动态限流周期。
配额缩放方向确定单元,用于根据目标业务请求量阈值确定处理量配额对应的配额缩放方向。
在一些实施例中,配额缩放方向确定单元,还用于根据目标业务请求量阈值确定静态限流周期对应的业务请求量阈值,作为参考业务请求量阈值;根据参考业务请求量阈值与当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向。
在一些实施例中,配额缩放方向确定单元,还用于当参考业务请求量阈值小于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为缩小。
在一些实施例中,目标请求处理量配额得到模块806包括:
配额缩小调整因子得到单元,用于计算参考业务请求量阈值与标准业务请求量阈值的比值,作为配额缩小调整因子。
目标请求处理量配额得到单元,用于根据配额缩小调整因子对标准请求处理量配额进行缩小处理,得到目标请求处理量配额。
在一些实施例中,配额缩放方向确定单元,还用于当参考业务请求量阈值大于或等于标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为保持。
在一些实施例中,目标业务请求量阈值确定单元,还用于根据历史动态限流周期对应的历史业务处理健康度与健康度阈值的大小关系,确定业务请求量对应的请求量缩放方向;根据请求量缩放方向对历史业务请求量进行缩放处理,得到目标动态限流周期对应的目标业务请求量阈值。
在一些实施例中,目标业务请求量阈值确定单元,还用于当请求量缩放方向为收缩时,根据历史业务处理健康度确定请求量缩小调整因子,请求量缩小调整因子与历史业务处理健康度成正相关关系;根据请求量缩小调整因子对历史业务请求量进行缩小处理,得到目标动态限流周期对应的目标业务请求量阈值。
在一些实施例中,流量控制装置还包括标准请求处理量配额得到模块,标准请求处理量配额得到模块包括:
重试次数阈值获取单元,用于获取配额拉取对应的重试次数阈值。
配额拉取响应时长获取单元,用于获取配额拉取响应时长。
配额拉取重试时长阈值确定单元,用于根据重试次数阈值以及配额拉取响应时长确定配额拉取重试时长阈值。
标准请求处理量配额确定单元,用于根据配额拉取重试时长阈值确定标准请求处理量配额,标准请求处理量配额对应的配额使用时长大于配额拉取重试时长阈值。
在一些实施例中,重试次数阈值获取单元,还用于获取业务处理设备对应的流量控制节点的控制节点数量;根据控制节点数量确定配额拉取对应的重试次数阈值。
在一些实施例中,流量控制装置还包括历史业务处理健康度得到模块,历史业务处理健康度得到模块包括:
请求量获取单元,用于获取业务处理设备在历史动态限流周期的业务查询请求总量、业务查询请求成功量、业务更新请求总量以及业务更新请求成功量。
加权请求总量得到单元,用于根据业务查询请求总量以及业务查询权重、业务更新请求总量以及业务更新权重进行加权求和,得到加权请求总量。
加权请求成功量得到单元,用于根据业务查询请求成功量以及业务查询权重、业务更新请求成功量以及业务更新权重进行加权求和,得到加权请求成功量。
历史业务处理健康度确定单元,用于根据加权请求成功量以及加权请求总量,确定历史动态限流周期的历史业务处理健康度。
关于流量控制装置的具体限定可以参见上文中对于流量控制方法的限定,在此不再赘述。上述流量控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储流量相关的数据,例如请求处理量配额以及健康度数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种流量控制方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种流量控制方法,其特征在于,所述方法包括:
从流量配额节点拉取标准请求处理量配额,所述标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;
确定处理量配额对应的配额缩放方向,所述配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长;
根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额;
在当前静态限流周期中,根据所述目标请求处理量配额对所述业务处理设备的业务请求进行流量控制。
2.根据权利要求1所述的方法,其特征在于,所述确定处理量配额对应的配额缩放方向包括:
根据所述历史动态限流周期对应的历史业务处理健康度以及历史业务请求量,确定目标动态限流周期对应的目标业务请求量阈值,所述目标动态限流周期为所述历史动态限流周期的后向动态限流周期;
根据所述目标业务请求量阈值确定处理量配额对应的配额缩放方向。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标业务请求量阈值确定处理量配额对应的配额缩放方向包括:
根据所述目标业务请求量阈值确定静态限流周期对应的业务请求量阈值,作为参考业务请求量阈值;
根据所述参考业务请求量阈值与所述当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向。
4.根据权利要求3所述的方法,其特征在于,所述根据所述参考业务请求量阈值与所述当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向包括:
当所述参考业务请求量阈值小于所述标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为缩小。
5.根据权利要求4所述的方法,其特征在于,所述根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额包括:
计算所述参考业务请求量阈值与所述标准业务请求量阈值的比值,作为配额缩小调整因子;
根据所述配额缩小调整因子对所述标准请求处理量配额进行缩小处理,得到所述目标请求处理量配额。
6.根据权利要求3所述的方法,其特征在于,所述根据所述参考业务请求量阈值与所述当前静态限流周期对应的标准业务请求量阈值的大小关系,确定处理量配额对应的配额缩放方向包括:
当所述参考业务请求量阈值大于或等于所述标准业务请求量阈值时,确定处理量配额对应的配额缩放方向为保持。
7.根据权利要求2所述的方法,其特征在于,所述根据所述历史动态限流周期对应的历史业务处理健康度以及历史业务请求量,确定目标动态限流周期对应的目标业务请求量阈值包括:
根据所述历史动态限流周期对应的历史业务处理健康度与健康度阈值的大小关系,确定业务请求量对应的请求量缩放方向;
根据所述请求量缩放方向对所述历史业务请求量进行缩放处理,得到所述目标动态限流周期对应的目标业务请求量阈值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述请求量缩放方向对所述历史业务请求量进行缩放处理,得到所述目标动态限流周期对应的目标业务请求量阈值包括:
当所述请求量缩放方向为收缩时,根据所述历史业务处理健康度确定请求量缩小调整因子,所述请求量缩小调整因子与所述历史业务处理健康度成正相关关系;
根据所述请求量缩小调整因子对所述历史业务请求量进行缩小处理,得到所述目标动态限流周期对应的目标业务请求量阈值。
9.根据权利要求1所述的方法,其特征在于,得到所述标准请求处理量配额的步骤包括:
获取配额拉取对应的重试次数阈值;
获取配额拉取响应时长;
根据所述重试次数阈值以及所述配额拉取响应时长确定配额拉取重试时长阈值;
根据所述配额拉取重试时长阈值确定所述标准请求处理量配额,所述标准请求处理量配额对应的配额使用时长大于所述配额拉取重试时长阈值。
10.根据权利要求9所述的方法,其特征在于,所述获取配额拉取对应的重试次数阈值包括:
获取所述业务处理设备对应的流量控制节点的控制节点数量;
根据所述控制节点数量确定所述配额拉取对应的重试次数阈值。
11.根据权利要求1所述的方法,其特征在于,得到所述历史动态限流周期的历史业务处理健康度的步骤包括:
获取所述业务处理设备在所述历史动态限流周期的业务查询请求总量、业务查询请求成功量、业务更新请求总量以及业务更新请求成功量;
根据所述业务查询请求总量以及业务查询权重、所述业务更新请求总量以及业务更新权重进行加权求和,得到加权请求总量;
根据所述业务查询请求成功量以及所述业务查询权重、所述业务更新请求成功量以及所述业务更新权重进行加权求和,得到加权请求成功量;
根据所述加权请求成功量以及所述加权请求总量,确定所述历史动态限流周期的历史业务处理健康度。
12.一种流量控制系统,其特征在于,所述系统包括:
流量配额节点,用于根据业务处理设备在当前静态限流周期的请求量处理额度进行分配;
多个流量控制节点,用于:
从流量配额节点拉取标准请求处理量配额,所述标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;
确定处理量配额对应的配额缩放方向,所述配额缩放方向根据目标动态限流周期的历史动态限流周期的历史业务处理健康度得到,所述目标动态限流周期为当前静态限流周期的动态周期;
根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额;
在当前静态限流周期中,根据所述目标请求处理量配额对所述业务处理设备的业务请求进行流量控制。
13.一种流量控制装置,其特征在于,所述装置包括:
标准请求处理量配额拉取模块,用于从流量配额节点拉取标准请求处理量配额,所述标准请求处理量配额根据业务处理设备在当前静态限流周期的请求量处理额度分配得到;
配额缩放方向确定模块,用于确定处理量配额对应的配额缩放方向,所述配额缩放方向根据历史动态限流周期的历史业务处理健康度得到,动态限流周期对应的时长大于静态限流周期的时长;
目标请求处理量配额得到模块,用于根据所述配额缩放方向对所述标准请求处理量配额进行缩放处理,得到目标请求处理量配额;
流量控制模块,用于在当前静态限流周期中,根据所述目标请求处理量配额对所述业务处理设备的业务请求进行流量控制。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010663327.2A CN113992586B (zh) | 2020-07-10 | 2020-07-10 | 流量控制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010663327.2A CN113992586B (zh) | 2020-07-10 | 2020-07-10 | 流量控制方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992586A CN113992586A (zh) | 2022-01-28 |
CN113992586B true CN113992586B (zh) | 2023-11-24 |
Family
ID=79731288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010663327.2A Active CN113992586B (zh) | 2020-07-10 | 2020-07-10 | 流量控制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992586B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745328B (zh) * | 2022-02-16 | 2023-12-26 | 多点生活(成都)科技有限公司 | 一种网关动态限流方法及其构成的实时限流方法 |
CN115277713B (zh) * | 2022-07-27 | 2024-06-18 | 京东科技信息技术有限公司 | 负载均衡方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612989B1 (en) * | 2010-10-04 | 2013-12-17 | Teradata Us, Inc. | Assigning resources among multiple groups of workloads in a database system |
CN105897484A (zh) * | 2016-06-01 | 2016-08-24 | 努比亚技术有限公司 | 一种流量管理装置、服务器和方法 |
CN109660400A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 流控配置方法及系统 |
CN109784963A (zh) * | 2017-11-14 | 2019-05-21 | 阿里巴巴集团控股有限公司 | 一种资源管理系统、方法、服务器及计算机存储介质 |
CN110297698A (zh) * | 2018-03-22 | 2019-10-01 | 财付通支付科技有限公司 | 一种多优先级动态限流方法、装置、服务器及存储介质 |
CN111277640A (zh) * | 2020-01-17 | 2020-06-12 | 平安科技(深圳)有限公司 | 用户请求处理方法、装置、系统、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491541B2 (en) * | 2016-10-10 | 2019-11-26 | International Business Machines Corporation | Quota management protocol for shared computing systems |
-
2020
- 2020-07-10 CN CN202010663327.2A patent/CN113992586B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8612989B1 (en) * | 2010-10-04 | 2013-12-17 | Teradata Us, Inc. | Assigning resources among multiple groups of workloads in a database system |
CN105897484A (zh) * | 2016-06-01 | 2016-08-24 | 努比亚技术有限公司 | 一种流量管理装置、服务器和方法 |
CN109784963A (zh) * | 2017-11-14 | 2019-05-21 | 阿里巴巴集团控股有限公司 | 一种资源管理系统、方法、服务器及计算机存储介质 |
CN110297698A (zh) * | 2018-03-22 | 2019-10-01 | 财付通支付科技有限公司 | 一种多优先级动态限流方法、装置、服务器及存储介质 |
CN109660400A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 流控配置方法及系统 |
CN111277640A (zh) * | 2020-01-17 | 2020-06-12 | 平安科技(深圳)有限公司 | 用户请求处理方法、装置、系统、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
Web集群的区分服务与负载均衡策略研究;高昂;慕德俊;胡延苏;;电子与信息学报(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113992586A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9984013B2 (en) | Method, controller, and system for service flow control in object-based storage system | |
CN110489447B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN105159782A (zh) | 基于云主机为订单分配资源的方法和装置 | |
US7624208B2 (en) | Method, system, and computer program for managing a queuing system | |
US9442763B2 (en) | Resource allocation method and resource management platform | |
CN109300217B (zh) | 排队叫号方法、计算机存储介质、排队叫号服务器及系统 | |
US7594016B1 (en) | Calculating numbers of servers for tiers of a multi-tiered system | |
CN111190745B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN113992586B (zh) | 流量控制方法、装置、计算机设备和存储介质 | |
US9292336B1 (en) | Systems and methods providing optimization data | |
CN112600761B (zh) | 一种资源分配的方法、装置及存储介质 | |
CN114155026A (zh) | 一种资源分配方法、装置、服务器及存储介质 | |
US7886055B1 (en) | Allocating resources in a system having multiple tiers | |
US11709707B2 (en) | Low latency distributed counters for quotas | |
CN112306696B (zh) | 一种节能高效的边缘计算任务卸载方法和系统 | |
CN110347477B (zh) | 一种云环境下服务自适应部署方法和装置 | |
CN113765969A (zh) | 一种流量控制方法和装置 | |
CN116541167A (zh) | 系统流量控制方法、装置、电子设备及计算机可读介质 | |
Cunha et al. | Exploiting user patience for scaling resource capacity in cloud services | |
CN114827033B (zh) | 数据流控方法、装置、设备与计算机可读存储介质 | |
US10992517B1 (en) | Dynamic distributed execution budget management system | |
CN112632074A (zh) | 用于数据库的库存分配方法、装置、电子设备和介质 | |
Gokulraj et al. | Integration of firefly optimization and Pearson service correlation for efficient cloud resource utilization | |
CN112925639B (zh) | 一种自适应交易限流方法、装置及系统 | |
US11418417B2 (en) | Managing stateful workloads executing on temporarily available resources of a cloud computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40064638 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |