通量控制方法及装置制造方法及图纸

技术编号:37070692 阅读:11 留言:0更新日期:2023-03-29 19:48
本发明专利技术公开一种通量控制方法及装置,涉及网络安全技术领域,应用于客户端,该方法包括:向服务端发送请求前,计算采样桶中所有已返回请求的平均响应时长;根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,其中ADSR包络状态包括:启动、衰减、保持、或释放;根据当前ADSR包络状态,计算通量值,将待返回请求数与通量值进行比较;所述通量值用于控制发往服务器请求的最大并发量;在待返回请求数低于通量值时,通过当前请求,增加待返回请求数;在待返回请求数不低于通量值时,拒绝当前请求;在接收到服务端返回的请求结果时,减小待返回请求数。本发明专利技术可以保证客户端保持较高的吞吐量,服务端出现问题时,能及时发现并调整。能及时发现并调整。能及时发现并调整。

【技术实现步骤摘要】
通量控制方法及装置


[0001]本专利技术涉及网络安全
,尤其涉及一种通量控制方法及装置。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]系统间通讯,最常用方式是网络通讯。使用这种方式的两端,一方为客户端,使用服务;另一方为服务端,提供服务。通常,服务端为保护自己,会做一些控制,如限制客户端接入总数、限制请求等待队列上限、设置通讯超时控制等等,这些属于服务端通量控制范畴。
[0004]当服务端繁忙时,服务端要么直接拒绝,要么将待处理请求放入待处理队列,按照一定的策略后续再处理。对于前者,客户端的请求立即得到失败结果,客户端会根据此次失败来做相应善后处理;对于后者,客户端执行会被挂起,等待服务端处理并返回结果后恢复执行,如果客户端设置了正确的超时时刻,则当该时刻超过且依然未得到结果时,客户端会主动放弃,然后做相应善后处理。
[0005]目前系统设计中,超时设置依据“漏斗原则”,即客户端的超时设置不小于服务端的超时设置。当服务端故障而处理能力低下时,如果客户端超时设置大于服务端超时设置时,会出现服务端已放弃,而客户端还被挂住等待的情况。如果此时客户端自身也繁忙,有大量发往服务端的请求,则可能导致客户端自身网络资源被大量挂住,进而导致客户端自身资源耗尽而出现拒绝服务的情况。为防止此状况的发生,需要在客户端也进行适当通量控制。
[0006]针对上述问题,现有技术中未提供有效的解决方案。<br/>
技术实现思路

[0007]针对上述问题,本专利技术实施例提供一种基于ADSR包络的通量控制方法,涉及网络安全
,应用于客户端,用以有效实现客户端的通量控制,其中该方法包括:
[0008]在向服务端发送请求前,计算采样桶中所有已返回请求的平均响应时长;
[0009]根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,其中,ADSR包络状态包括:启动、衰减、保持、或释放;
[0010]根据当前ADSR包络状态,计算通量值,将待返回请求数与通量值进行比较;所述通量值用于控制发往服务器请求的最大并发量;
[0011]在待返回请求数低于通量值时,通过当前请求,增加待返回请求数;
[0012]在待返回请求数不低于通量值时,拒绝当前请求;
[0013]在接收到服务端返回的请求结果时,减小待返回请求数。
[0014]本专利技术实施例还提供一种通量控制装置,应用于客户端,用以有效实现客户端的通量控制,该装置包括:
[0015]ADSR包络模块:用于在向服务端发送请求前,计算采样桶中所有已返回请求的平均响应时长;根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,其中,ADSR包络状态包括:启动、衰减、保持、或释放;
[0016]通量控制模块:用于根据当前包络状态计算通量值,将待返回请求数与通量值进行比较;所述通量值用于控制发往服务器请求的最大并发量;在待返回请求数低于通量值时,通过当前请求,增加待返回请求数;在待返回请求数不低于通量值时,拒绝当前请求;用于在接收到服务端返回的请求结果时,减小待返回请求数。
[0017]本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于ADSR包络的通量控制方法。
[0018]本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于ADSR包络的通量控制方法。
[0019]本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述基于ADSR包络的通量控制方法。
[0020]本专利技术实施例中在向服务端发送请求前,计算采样桶中所有已返回请求的平均响应时长;根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,其中,ADSR包络状态包括:启动、衰减、保持、或释放;根据当前ADSR包络状态,计算通量值,将待返回请求数与通量值进行比较;所述通量值用于控制发往服务器请求的最大并发量;在待返回请求数低于通量值时,通过当前请求,增加待返回请求数;在待返回请求数不低于通量值时,拒绝当前请求;在接收到服务端返回的请求结果时,减小待返回请求数;与现有技术中超时设置的方式相比,基于ADSR包络模型进行通量控制,保证客户端可以保持较高的吞吐量,尽可能多的将请求发送给服务端,以获得服务的同时又能在服务端出现性能问题时,及时发现并调整,防止自身资源被耗尽,且采用时间参数既能达到对通量的及时控制,又能使得通量变化相对平滑。
附图说明
[0021]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0022]图1为本专利技术实施例中通量控制方法流程图;
[0023]图2为本专利技术实施例中通量控制方法具体实例的流程图;
[0024]图3为本专利技术实施例中通量控制方法具体实例的流程图;
[0025]图4为本专利技术实施例中通量控制装置结构框图;
[0026]图5为本专利技术实施例中通量控制装置结构框图。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并
不作为对本专利技术的限定。
[0028]专利技术人考虑到,作为客户端,首先要保证自己尽可能获得更多的服务,其次是保证自己不会由于服务端的原因导致自身出现故障。因此,为了使客户端保持较高的吞吐量,在服务端出现问题时,能及时发现并调整通量,本专利技术的实施例中通量控制方法基于ADSR包络,应用于客户端,以使通量控制响应迅速且变化平滑。图1是本专利技术实施例中通量控制方法流程图。如图1所示,所述通量控制方法应用于客户端,可以包括:
[0029]步骤101、在向服务端发送请求前,计算采样桶中所有已返回请求的平均响应时长;
[0030]步骤102、根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,其中,ADSR包络状态包括:启动、衰减、保持、或释放;
[0031]步骤103、根据当前ADSR包络状态,计算通量值,将待返回请求数与通量值进行比较;所述通量值用于控制发往服务器请求的最大并发量;
[0032]步骤104、在待返回请求数低于通量值时,通过当前请求,增加待返回请求数;
[0033]步骤105、在待返回请求数不低于通量值时,拒绝当前请求;
[0034]步骤106、在接收到服务端返回的请求结果时,减小待返回请求数。
[0035本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通量控制方法,其特征在于,应用于客户端,包括:在向服务端发送请求前,计算采样桶中所有已返回请求的平均响应时长;根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,其中,ADSR包络状态包括:启动、衰减、保持、或释放;根据当前ADSR包络状态,计算通量值,将待返回请求数与通量值进行比较;所述通量值用于控制发往服务器请求的最大并发量;在待返回请求数低于通量值时,通过当前请求,增加待返回请求数;在待返回请求数不低于通量值时,拒绝当前请求;在接收到服务端返回的请求结果时,减小待返回请求数。2.如权利要求1所述的方法,其特征在于,根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,包括:在ADSR包络状态为已启动时,根据当前时间更新ADSR包络状态;在ADSR包络状态为未启动或释放,且平均响应时长大于启动阀值时,更新ADSR包络状态为已启动;在ADSR包络状态为已启动且非释放状态,且平均响应时长小于释放阀值时,更新ADSR包络状态为释放。3.如权利要求1所述的方法,其特征在于,在向服务端发送请求前,还包括如下一项或多项初始化配置过程:设置通量值的上限和下限;设置启动阀值和释放阀值;设置ADSR包络控制值;设置通量值的初始值为通量值上限;设置采样桶及采样间隔;设置待返回请求数的初始值为零。4.如权利要求3所述的方法,其特征在于,设置ADSR包络控制值,包括:设置ADSR包络控制的启动时刻、衰减时刻、释放时刻其中之一或任意组合。5.如权利要求1所述的方法,其特征在于,在待返回请求数低于通量值时,通过当前请求,增加待返回请求数,包括:从上一次采样时刻至当前时刻的间隔时长大于采样间隔时,将当前请求存入采样桶,更新上一次采样时刻为当前时刻。6.如权利要求1所述的方法,其特征在于,在接收到服务端返回的请求结果时,减小待返回请求数,包括:在采样桶中存在服务端返回的请求结果对应请求时,更新相应采样点的响应时刻。7.一种通量控制装置,其特征在于,应用于客户端,包括:ADSR包络模块,用于在向服务端发送请求前,计算采样桶中所有已返回请求的平均响应时长;根据当前时间及平均响应时长,更新通量控制的ADSR包络状态,其中...

【专利技术属性】
技术研发人员:崔晓军方曦
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1