一种通用与专用混合流量控制方法、计算机设备和存储介质与流程

文档序号:27692172发布日期:2021-12-01 03:43阅读:137来源:国知局
一种通用与专用混合流量控制方法、计算机设备和存储介质与流程

1.本发明涉及流量管理技术领域,尤其是涉及一种通用与专用混合流量控制方法、计算机设备和存储介质。


背景技术:

2.随着计算机技术的发展,越来越多的技术应用在金融领域或it技术等领域,但由于各行业的安全性及实时性要求,也对技术提出了更高的要求。其中,在数据流量管理方面,为了防止某一服务器访问量或某一应用访问量过大而导致系统瘫痪,常常采用流量控制的方式来对服务器或应用后台进行保护。
3.现有常见的流量控制方法是采用令牌桶算法,如图1所示,程序首先设置一个令牌桶,用于存放固定数量的令牌。程序以r(r=限流值/时间周期秒)的速度向令牌桶中增加令牌,直到令牌桶满。请求到达时需向令牌桶请求令牌,若获取到令牌则通过请求,否则触发限流策略。放置令牌这个动作是一直持续的,如果令牌桶放满,则无法再放入更多的令牌。而如果令牌桶中令牌数为0的时候,请求会被阻塞或拒绝。令牌桶算法中,令牌桶容量通常对应系统资源所能处理请求的上限。令牌桶算法的优点在于既可以保障流量流入的频率,还能保障系统请求突发性大增时,系统仍然能稳定运行。现有的利用令牌桶算法进行的限流方法是设定令牌桶最大令牌数量,通常对应系统资源所能承受的容量进行限定。然而此方式在系统资源不足开始执行限流策略的情况下,所有请求会一概被阻塞或拒绝,无法充分利用系统资源保障重要请求的处理。


技术实现要素:

4.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种通用与专用混合流量控制方法、计算机设备和存储介质,本发明在系统资源紧张或不足的情况下,可优先保障高权限请求(系统核心业务请求)的处理,将低权重请求抛弃降低系统负载,提高系统资源使用效能。
5.本发明的目的可以通过以下技术方案来实现:
6.一种通用与专用混合流量控制方法,该方法包括下列步骤:
7.s1:预先将现有系统流量上限设定一个阈值,根据阈值将整体流量分为通用流量和专用流量,并相应地生成通用流量令牌桶和专用流量令牌桶。
8.s2:对请求设定一个权重值,根据权重值判定请求为高权重请求或低权重请求。
9.s3:请求到达时,首先向通用流量令牌桶请求令牌,若获取到令牌,则执行请求,并将通用流量令牌桶中的令牌数减少一个,若此刻通用流量令牌桶中的令牌数量不足,则执行下一步。
10.s4:判断该请求的权重,若为低权重请求,则拒绝请求,若为高权重请求,则再向专用流量令牌桶请求令牌,若获取到令牌,则执行请求,若专用流量令牌桶中令牌不足,则拒绝请求。
11.s1中,以一定速率持续放置令牌至通用流量令牌桶直至通用流量令牌桶满,并以一定速率持续放置令牌至专用流量令牌桶直至通用流量令牌桶满,二者放置令牌的速率不同。令现有系统流量上限为r,所述通用流量令牌桶放置令牌的速率为r*设定阈值对应的百分数,所述专用流量令牌桶放置令牌的速率为r*(1

设定阈值对应的百分数)。
12.进一步地,将现有系统流量上限设定为500请求/秒,并设定阈值对应的百分数为80%,则通用流量令牌桶放置令牌的速率为500
×
80%=400请求/秒,专用流量令牌桶放置令牌的速率为500*20%=100请求/秒。
13.进一步地,对请求设定的权重值的范围为1~10。若请求的权重值大于5,则判定该请求属于高权重请求,若请求的权重值小于或等于5,则判定该请求属于低权重请求。
14.进一步地,当通用流量令牌桶中的令牌数数量为零时,判断通用流量令牌桶中的令牌数量不足。当专用流量令牌桶中的令牌数数量为零时,判断专用流量令牌桶中的令牌数量不足。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述通用与专用混合流量控制方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述通用与专用混合流量控制方法的步骤。
17.本发明提供的通用与专用混合流量控制方法、计算机设备和存储介质,相较于现有技术至少包括如下有益效果:
18.1)本发明对请求设定权重值或者优先级进行区分,高权重的请求允许请求专用流量,并对系统资源根据阈值设置不同的流量池,针对系统资源紧张的情况下,可按请求权重值或优先级使用专用流量,可避免所有请求会一概被阻塞或拒绝的情况;
19.2)与现有采用令牌桶算法的流量控制方法相比,本发明可以根据请求的权重,在系统资源达到紧张阈值后,优先保障高权重请求的服务,先抛弃低权重请求,能够提升系统资源利用效能,保障核心业务运行;且能够提高系统稳定性,在接近系统处理阈值后,拒绝掉不重要的请求,避免系统资源瓶颈。
附图说明
20.图1为现有采用令牌桶算法的流量控制方法的原理示意图;
21.图2为实施例中通用与专用混合流量控制方法的原理流程示意图。
具体实施方式
22.下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
23.实施例
24.图2是根据本发明实施例的通用与专用混合流量控制方法的主要流程示意图。作为本发明的一个实施例,如图2所示,所述通用与专用混合流量控制方法可以包括:
25.步骤一、预先将现有系统流量上限r设定一个阈值,将整体的流量分为通用流量和
专用流量,并相应地生成通用流量令牌桶和专用流量令牌桶。
26.在实际过程中,以一定速率放令牌至通用流量令牌桶,放置令牌的动作是一直持续的,如果令牌桶放满,则无法再放入更多的令牌。同时,以一定速率放令牌至专用流量令牌桶,放置令牌的动作是一直持续的,如果令牌桶放满,则无法再放入更多的令牌。两个桶放令牌的速率是不同的。通用流量令牌桶放令牌的速率为r*阈值(百分数),专用流量令牌桶放令牌的速率为r*(1

阈值)。
27.作为优选实施方式,设定整体流量上限为(r=500请求/秒),如果资源使用达到阈值80%,则可以认为资源紧张需要限流,则通用流量令牌桶上限为500
×
80%=400请求/秒。专用流量令牌桶上限为500*20%=100请求/秒。即如果r为系统处理请求的上限500请求/秒,阈值为80%,则通用流量令牌桶放入令牌的速度为r1=400请求/秒,专用流量令牌桶放入令牌的速度为r2=100/秒。
28.步骤二、对请求设定一个权重值q(范围1

10),根据权重值判定请求的高低。设定权重的方式可根据系统业务请求重要程度设置,本实施例中不做限定说明。
29.作为优选方案,如果q>5则属于高权重请求,如果q<=5,则认为请求为低权重。
30.步骤三、请求到达时,先向通用流量令牌桶请求令牌,如果获取到令牌,则执行请求。令牌桶中令牌数减少一个。如果此刻通用流量令牌桶中的令牌数量不足(令牌数量为0),则执行下一步。
31.步骤四、对于令牌数量不足的情况,检查该请求的权重,如果为低权重请求,则拒绝请求。如果为高权重请求,则再向专用流量令牌桶请求令牌。如果获取到令牌,则执行请求,如果专用流量令牌桶中令牌不足(令牌数量为0),则拒绝请求。
32.在本实施例中,还提供了一种计算机设备,该计算机设备可以是服务器,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述通用与专用混合流量控制方法。
33.在本实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述通用与专用混合流量控制方法的步骤。
34.相比于现有常用的令牌桶算法不区分请求权重,也不区分令牌桶分类。在系统实际业务场景中,并非所有请求的重要程度都是一样的,为了更加有效的利用系统资源,保障系统重要业务,本发明对请求的权重进行了区分,以此分配流量池,因为通常系统流量都不是一贯稳定的,而是有波峰波谷,当系统资源进入紧张阈值后,需要优先满足重要业务请求,舍弃次要业务请求,能够增加符合实际系统业务要求。在系统资源紧张或不足的情况下,可优先保障高权限请求(系统核心业务请求)的处理,将低权重请求抛弃降低系统负载,提高系统资源使用效能。
35.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1