一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流量控制方法、装置、电子设备及存储介质与流程

2022-02-21 09:39:33 来源:中国专利 TAG:


1.本技术涉及网络通信领域,具体而言,涉及一种流量控制方法、装置、电子设备及存储介质。


背景技术:

2.qos(quality of service,服务质量)的目的是在有限的带宽资源下,通过流量控制,从而更好地为用户提供流量转发服务。
3.目前主流的qos解决方案分为硬件解决方案和软件解决方案两种。
4.硬件解决方案中有qos专用fpga(field-programmable gate array,现场可编程门阵列)或集成在网路处理器内部的qos协处理器,如ezchip网络处理器。硬件解决方案所提供的服务性能很好,但对于设备厂商来说成本太高。
5.而软件解决方案的代表是dpdk(date planedevelopment kit,数据平面开发套件)提供的qos模块,dpdk的qos模块通过代码优化,性能可以做到和硬件解决方案相当的程度。但dpdk的qos模块有严格的部署要求,必须单独分配一个core(处理器核心)给qos模块使用,相当于使用通用cpu(central processing unit/processor,中央处理器)的一个core完成fpga或qos协处理器的功能。相较于硬件方案,dpdk的方案成本更低,但对于一些需要部署灵活且对qos要求不高的场景,dpdk的方案还是限制过多。
6.除了dpdk的qos模块这一软件解决方案外,还可以通过linux内核中提供了一些qos相关的算法来实现,如采用htb(hierarchical token bucket,分层令牌桶)排队机制来实现。但是,htb排队机制需要在内存中缓存流量数据,对内存的压力很大,导致算法性能不高,无法在专用的网络出口设备上使用。


技术实现要素:

7.本技术实施例的目的在于提供一种流量控制方法、装置、电子设备及存储介质,用以提供一种可以在网络出口设备上使用的qos软件解决方案。
8.本技术实施例提供了一种流量控制方法,应用于网络出口设备上,包括:
9.确定当前待转发流量对应的目标节点;所述目标节点为发送所述当前待转发流量的设备在所述网络出口设备中映射的节点;
10.判断所述当前待转发流量在所述目标节点以及所述目标节点的各上级节点中是否满足预设转发条件;
11.若所述当前待转发流量在所述目标节点以及所述目标节点的各上级节点中均满足预设转发条件,则转发所述当前待转发流量;否则,丢弃所述当前待转发流量;其中:
12.所述目标节点以及除最高级节点外的各上级节点的转发条件包括:节点内,当前的剩余保证令牌数量不满足转发所述当前待转发流量的需求,当前的剩余限制令牌数量满足转发所述当前待转发流量的需求,且该节点在本周期内当前已使用的限制令牌数量小于该节点对应的限制值;其中,节点对应的限制值大于等于该节点的保证令牌总数,且小于等
于该节点的限制令牌总数。
13.在上述实现过程中,通过采用令牌桶来实现对于网络出口设备中各节点的流量限制,从而达到了对于流量的控制效果,且该过程无需流量进行排队,在内存中无需缓存流量数据,对内存的压力很小,从而具有较高的算法性能,可以在网络出口设备上使用,并实现对于流量的控制,为用户提供流量转发服务。此外,本技术的方案通过设置除最高级节点外的各节点对应的限制值,从而使得在周期内已使用的限制令牌数量达到该限制值时,即丢弃当前待转发流量,不再向上争夺上级节点的限制令牌,从而实现对于下级节点的流量提前限制,防止个别下级节点抢占过多上级节点的资源,缓解了带宽资源分配不公的情况,保障了用户感知到的流量转发服务体验。
14.进一步地,所述方法还包括:若节点的上级节点在上一周期内的限制令牌使用完毕,则减小该节点的限制值;若节点的上级节点在上一周期内的限制令牌未使用完毕,则增大该节点的限制值。
15.在上述实现过程中,通过上级节点在上一周期内的限制令牌使用情况来动态调整下级节点的限制值。当上级节点在上一周期内的限制令牌使用完毕,即表明上级节点令牌紧张,通过减小下级节点的限制值,从而可以更为提前的进行下级节点的流量限制,从而进一步防止个别下级节点抢占过多上级节点的资源,缓解带宽资源分配不公的情况。相反,当上级节点在上一周期内的限制令牌未使用完毕,即表明上级节点令牌有空余,该上级节点对应的带宽使用情况并不紧张,从而可以增大下级节点的限制值,这样使得对于下级节点的流量提交限制时机延后,从而可以更为充分的利用上级节点的资源。
16.进一步地,在确定当前待转发流量对应的目标节点之后,所述方法还包括:确定所述当前待转发流量的流量优先级;基于所述流量优先级确定优先级系数;所述流量优先级越高,所述优先级系数越小,且所述优先级系数大于0小于1;将设定的标准限制值与所述优先级系数进行乘法计算,得到所述目标节点的限制值。
17.在上述实现过程中,通过当前待转发流量的流量优先级来动态调整限制值,这就使得流量优先级越高的待转发流量对应的限制值越小,从而可以使得流量优先级越高的待转发流量可以具有更多获取到限制令牌的机会,即使得流量优先级越高的待转发流量可以具有更大的转发机会,从而实现针对不同流量的更为精细化的差异服务。
18.进一步地,所述目标节点以及除最高级节点外的各上级节点的转发条件还包括:节点内,当前的剩余保证令牌数量满足转发所述当前待转发流量的需求,且所述当前待转发流量具有第一标记;所述第一标记表征在该节点的上一节点的剩余保证令牌数量满足转发所述当前待转发流量的需求;其中,所述目标节点默认所述当前待转发流量具有所述第一标记。
19.进一步地,所述最高级节点的转发条件包括:节点内,当前的剩余保证令牌数量不满足转发所述当前待转发流量的需求,当前的剩余限制令牌数量满足转发所述当前待转发流量的需求。
20.进一步地,在同一周期内:上级节点的保证令牌总数大于等于该上级节点的所有下级节点的保证令牌总数之和;上级节点的限制令牌总数大于等于该上级节点的任一下级节点的限制令牌总数。
21.在上述实现过程中,通过设定上级节点的保证令牌总数大于等于该上级节点的所
有下级节点的保证令牌总数之和,且上级节点的限制令牌总数大于等于该上级节点的任一下级节点的限制令牌总数,可以保证利用保证令牌转发的流量必然可以正常转发,且可以使得通过限制令牌总数转发的流量可以充分竞争。
22.进一步地,所述方法还包括:在监测到任一节点在本周期内当前已使用的限制令牌数量大于预设的丢包阈值后,针对接收到的该节点对应的待转发流量随机进行丢弃;其中,所述丢包阈值大于该节点的保证令牌总数,且小于该节点的限制值。
23.在上述实现过程中,通过采用丢包阈值来进行限制,可以提前对待转发流量随机进行丢弃,而丢包可以触发端对端流控机制,从而使得流量的发送端主动减少发送窗口,减少发送流量,进而达到提前控制流量的目的。
24.本技术实施例还提供了一种流量控制装置,设置于网络出口设备上,包括:确定模块和处理模块;
25.所述确定模块,用于确定当前待转发流量对应的目标节点;所述目标节点为发送所述当前待转发流量的设备在所述网络出口设备中映射的节点;
26.所述处理模块,用于判断所述当前待转发流量在所述目标节点以及所述目标节点的各上级节点中是否满足预设转发条件;
27.若所述当前待转发流量在所述目标节点以及所述目标节点的各上级节点中均满足预设转发条件,则转发所述当前待转发流量;否则,丢弃所述当前待转发流量;其中:
28.所述目标节点以及除最高级节点外的各上级节点的转发条件包括:节点内,当前的剩余保证令牌数量不满足转发所述当前待转发流量的需求,当前的剩余限制令牌数量满足转发所述当前待转发流量的需求,且该节点在本周期内当前已使用的限制令牌数量小于该节点对应的限制值;其中,节点对应的限制值大于等于该节点的保证令牌总数,且小于等于该节点的限制令牌总数。
29.本技术实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的流量控制方法。
30.本技术实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的流量控制方法。
附图说明
31.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
32.图1为本技术实施例提供的一种流量控制方法的流程示意图;
33.图2为本技术实施例提供的一种示例性的节点关系图;
34.图3为本技术实施例提供的另一种示例性的节点关系图;
35.图4为本技术实施例提供的一种流量控制装置的结构示意图;
36.图5为本技术实施例提供的一种网络出口设备的结构示意图。
具体实施方式
37.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
38.实施例一:
39.为了在网络出口设备上实现轻量级的qos软件解决方案,本技术实施例中提供了一种应用于网络出口设备上的流量控制方法。可以参见图1所示,图1为本技术实施例中提供的流量控制方法的流程示意图,包括:
40.s101:确定当前待转发流量对应的目标节点。
41.需要说明的是,网络出口设备是指设置在网络出口位置处,用于决定网络中的流量是否外发的设备。
42.在本技术实施例中,网络出口设备上会以节点形式维护有网络的体系架构。
43.示例性的,参见图2所示,图2为本技术实施例中示例的一种节点关系图。其中,各级节点以树形结构构成。图中最下级节点可以对应到网络中具体的流量发送实体,而上级节点则表征各下级节点所述的组别。
44.比如,假设在实际应用中,设备1和设备2归属于一个项目组a。假设设备1和设备2在图2中对应节点1和节点2,那么项目组a即对应图2中的节点9。
45.假设在实际应用中,项目组a和项目组b同属于项目部c,假设项目组b在图2中对应节点10,那么项目部c即对应图2中的节点13。
46.再假设在实际应用中,项目部c和项目部d同属于公司e,假设项目部d在图2中对应节点14,那么公司e即对应图2中的节点15。
47.在上述示例中,图2所示的是公司e的系统,节点15表征公司e,节点15的带宽即为整个公司的带宽,节点15的保证令牌数量和限制令牌数量,即为整个公司所有设备的总的保证令牌数量和限制令牌数量。而最下级的节点1至8即对应各个实体设备。
48.应理解,对于节点关系图中的各个分支,根据实际应用过程中各分支的实际划分情况的不同,各个分支的长度可以不同。
49.而在本技术实施例中,目标节点为发送当前待转发流量的设备在网络出口设备中映射的节点。
50.比如上述示例中,假设发送当前待转发流量的设备为设备1,那么目标节点即为节点1。在本技术实施例中,可以预先记录各节点对应的设备标识信息,如设备的源ip地址等,从而可以据此确定出目标节点。
51.s102:判断当前待转发流量在目标节点以及目标节点的各上级节点中是否满足预设转发条件。若当前待转发流量在目标节点以及该目标节点的各上级节点中均满足预设转发条件,转至步骤s103;否则,转至步骤s104。
52.在本技术实施例中,对于目标节点以及除最高级节点外的各上级节点的转发条件(后文为便于描述,记为第一转发条件)可以包括:
53.节点内,当前的剩余保证令牌数量不满足转发当前待转发流量的需求,当前的剩余限制令牌数量满足转发当前待转发流量的需求,且该节点在本周期内当前已使用的限制令牌数量小于该节点对应的限制值。
54.在本技术实施例中,第一转发条件还可以包括:节点内,当前的剩余保证令牌数量满足转发所述当前待转发流量的需求,且所述当前待转发流量具有第一标记。
55.在本技术实施例中,目标节点默认当前待转发流量具有第一标记。而第一标记表征在该节点的上一节点的剩余保证令牌数量满足转发当前待转发流量的需求。
56.需要说明的是,在本技术实施例中,每个节点具有两个令牌桶,分别为保证令牌桶和限制令牌桶。其中,保证令牌桶中的令牌根据节点对应的保证带宽进行设置,用于保证该节点最少可以使用的带宽大小;而限制令牌桶根据节点对应的限制带宽进行设置,用以限制节点所能使用的最大带宽。
57.在使用时,针对具有第一标记(比如标记为绿色)的流量,通过保证令牌桶中的保证令牌来进行外发控制。而针对具有第二标记(比如标记为黄色)的流量,则通过限制令牌桶中的限制令牌进行外发控制。
58.在本技术实施例中,可以默认接收到待转发流量时,待转发流量具有第一标记。从而首先判断节点内,当前的剩余保证令牌数量是否满足转发当前待转发流量的需求。
59.若满足,则继续使得该待转发流量携带第一标记,继续进行上层节点的判断。
60.若不满足,则继续判断节点内当前的剩余限制令牌数量是否满足转发当前待转发流量的需求。
61.若剩余限制令牌数量不满足转发当前待转发流量的需求,则表明该节点内的令牌不足以让该待转发流量进行转发。此时,在本技术实施例中有两种处理方式:
62.一种是:可以直接将该待转发流量丢弃,从而不再继续进行上级节点的判断。
63.第二种是:可以将该待转发流量具有的标记改为第三标记(比如标记为红色),进而进行上级节点的判断时,首先进行标记识别,在确定为第三标记时,直接不改变标记,继续进行再上级的判断,直至达到最高级节点。此时整个流程中不进行实质性判断,最终的标记仍为第三标记,从而丢弃该待转发流量。
64.若剩余限制令牌数量满足转发当前待转发流量的需求,则表明该节点内虽然保证令牌不能支持转发该待转发流量,但是限制令牌是足够支持的,可以进一步地在上级节点中进行进一步判断。
65.在本技术实施例中,为了保证在目标节点认可可以采用保证令牌转发当前待转发流量的情况下,在各上级节点上也可以判断通过。可以设置上级节点的保证令牌总数大于等于该上级节点的所有下级节点的保证令牌总数之和。比如,图2中上级节点13的保证令牌总数为100,那么其下级节点9和节点10的保证令牌总数之和不得超过100。
66.此外,为了使得各下级节点得以充分竞争,本技术实施例中,上级节点的限制令牌总数应大于等于该上级节点的任一下级节点的限制令牌总数。
67.需要注意的是,对于同一节点而言,由于保证令牌桶中的令牌数是根据节点对应的保证带宽进行设置的,限制令牌桶中的令牌数是根据节点对应的限制带宽进行设置的,因此限制令牌总数应大于保证令牌总数。
68.应理解,单纯只设置保证令牌桶和限制令牌桶来进行流量控制,会存在资源分配不公以及资源浪费的问题。
69.如图3所示,假设上级节点a的流量控制(后文简称流控)设置10m至20m(最小保证带宽为10m,最大限制带宽为20m),下级节点的流控设置都为2m-20m。
70.此时,如果b节点本周期内需转发的流量远超20m,那么当限制令牌桶中的令牌更新后,立刻就会被节点b抢占了,节点c、节点d和节点e无法公平的使用最大限制带宽,造成
资源分配不公的问题。
71.而如果下级节点本周期内需转发的流量均超过20m,那么这几个下级节点在令牌更新后很短的时间内就会把令牌耗尽,本周期内后续时间段内报文都无法通过,从而导致用户体验不好。另外,令牌更新周期的后半段,节点a的令牌都耗尽了,但是所有下级节点还在不断尝试申请令牌,这也导致了资源浪费。
72.而在本技术实施例中,通过在除最高级节点外的各节点中设置相应的一个限制值,从而在进行转发条件判断时,除了判断节点内,当前的剩余保证令牌数量(即节点的保证令牌桶中的剩余令牌数量)是否满足转发当前待转发流量的需求,或判断当前的剩余限制令牌数量(即节点的限制令牌桶中的剩余令牌数量)是否满足转发当前待转发流量的需求外,还进一步判断该节点在本周期内当前已使用的限制令牌数量是否小于该节点对应的限制值。若该节点在本周期内当前已使用的限制令牌数量已经大于等于该节点对应的限制值,则可以将该当前待转发流量丢弃,或者将标记更新为第三标记。
73.应理解,如果剩余限制令牌数量满足转发当前待转发流量的需求,但是该节点在本周期内当前已使用的限制令牌数量已经大于等于该节点对应的限制值了,那么即表明虽然在该节点上没有出现流量拥堵,但是在该节点的上级节点处,已经可能出现流量拥堵。而本技术实施例中,通过限制值的设置,使得下级节点的流量得到提前限制,防止个别下级节点抢占过多上级节点的资源,缓解了带宽资源分配不公的情况,保障了用户感知到的流量转发服务体验。
74.需要说明的是,在本技术实施例中,各节点对应的限制值应当大于等于该节点的保证令牌总数(即该节点的保证令牌桶的容量),且小于等于该节点的限制令牌总数(即该节点的限制令牌桶的容量)。
75.还需要说明的是,为了使得各节点的限制值可以更好地达到调控效果,在本技术实施例中,还可以根据各节点的上级节点在上一周期内的限制令牌使用情况,来动态调整本周期内各节点的限制值。
76.示例性的,若节点的上级节点在上一周期内的限制令牌使用完毕,则减小该节点的限制值;若节点的上级节点在上一周期内的限制令牌未使用完毕,则增大该节点的限制值。
77.应理解,当上级节点在上一周期内的限制令牌使用完毕,即表明上级节点令牌紧张,通过减小下级节点的限制值,从而可以更为提前的进行下级节点的流量限制,从而进一步防止个别下级节点抢占过多上级节点的资源,缓解带宽资源分配不公的情况。相反,当上级节点在上一周期内的限制令牌未使用完毕,即表明上级节点令牌有空余,该上级节点对应的带宽使用情况并不紧张,从而可以增大下级节点的限制值,这样使得对于下级节点的流量提交限制时机延后,从而可以更为充分的利用上级节点的资源。
78.需要说明的是,对于令牌桶而言,其内的令牌数量是周期性的补充的。本技术实施例中所述的周期是指令牌桶的补充周期,或者部分文献中也称为令牌桶内令牌的使用周期。
79.需要说明的是,在实际应用过程中,令牌桶内的令牌控制方式通常有两种。
80.第一种是:只要令牌桶内的令牌只要不为0或者不为负值,那么均可以为待转发流量分配令牌,令牌不足时令牌桶内的令牌数记为负值,在下一周期补充令牌时扣除该负值
所表征的令牌数。
81.此时,判断当前的剩余保证令牌数量是否满足转发当前待转发流量的需求,以及判断当前的剩余限制令牌数量是否满足转发当前待转发流量的需求,可以是判断当前的剩余保证令牌数量、当前的剩余限制令牌数量是否小于等于0。
82.判断限制令牌是否使用完毕可以是,判断限制令牌的数量是否小于等于0。
83.第二种是:在令牌桶内的令牌大于等于转发待转发流量所需的令牌数量时,才可以为待转发流量分配令牌。
84.此时,断当前的剩余保证令牌数量是否满足转发当前待转发流量的需求,以及判断当前的剩余限制令牌数量是否满足转发当前待转发流量的需求,可以是判断当前的剩余保证令牌数量、当前的剩余限制令牌数量是否大于等于转发当前待转发流量所需的令牌数量。
85.判断限制令牌是否使用完毕可以是:判断上一周期结束时,最后一次判断过程中,剩余限制令牌数量是否大于等于转发待转发流量所需的令牌数量。若大于,确定未使用完毕;若小于,确定使用完毕。
86.或者,判断限制令牌是否使用完毕也可以是:判断上一周期结束时,限制令牌桶内的剩余限制令牌数量是否小于等于设定阈值(阈值为大于等于0的常数,可以由工程师根据实际需要设置)。若是,确定限制令牌使用完毕。否则,确定限制令牌未使用完毕。
87.还需要注意的是,在实际应用过程中,不同的流量往往具有不同的优先级。为此,在本技术实施例中,在确定当前待转发流量对应的目标节点之后,还可以确定当前待转发流量的流量优先级,进而基于流量优先级确定优先级系数,然后将设定的标准限制值与优先级系数进行乘法计算,得到目标节点的限制值。
88.在本技术实施例中,流量优先级越高,那么优先级系数越小,且优先级系数大于0小于1。
89.在本技术实施例中,可以根据当前待转发流量的报文中的dscp(differentiated services code point,差分服务代码点)字段或者80211.p中的prior字段,来表征流量优先级。进而基于报文中的dscp字段或者80211.p中的prior字段的值来确定优先级系数。
90.示例性的,可以预先记录不同dscp字段或者prior字段的值对应的优先级系数值,从而通过查表方式获取到当前待转发流量的优先级系数。
91.此外,针对各上级节点,同样可以采用上述方式计算当前待转发流量的限制值,从而实现针对不同流量的更为精细化的差异服务。
92.应理解,在实际应用过程中,不同的节点可能也具有不同的优先级。为此,在本技术实施例中,各上级节点在判断之前,还可以先根据当前判断路径中自身的下级节点(比如图2中节点1为节点9的下级节点,节点9为节点13的下级节点)的节点优先级,确定优先级系数,然后将设定的标准限制值与优先级系数进行乘法计算,得到该节点当前用于判断的限制值,从而实现对于不同节点的更为精细化的差异服务。
93.应理解,上述两种方案可以结合使用。即,各上级节点在判断之前,可以先根据当前待转发流量的流量优先级和上报该当前待转发流量的下级节点的节点优先级,计算出一个优先级系数,然后将设定的标准限制值与优先级系数进行乘法计算,得到该节点当前用于判断的限制值,从而实现对于不同流量、不同节点的差异服务。
94.值得注意的是,在上述基于优先级系数计算限制值的各实施方式中,可以根据节点的上级节点在上一周期内的限制令牌使用情况,动态更新本周期内的标准限制值。更新方式可参见前文所述,在此不再赘述。
95.需要注意的是,在本技术实施例中,最高级节点中不需要设置限制值。为此,最高级节点的转发条件(后文称第二转发条件)可以包括:节点内,当前的剩余保证令牌数量不满足转发当前待转发流量的需求,当前的剩余限制令牌数量满足转发当前待转发流量的需求。
96.此外,第二转发条件还可以包括:节点内,当前的剩余保证令牌数量满足转发当前待转发流量的需求,且当前待转发流量具有第一标记。
97.s103:转发当前待转发流量。
98.需要说明的是,在转发当前待转发流量时,需要在各进行了转发条件判断的节点中,扣减转发该当前待转发流量所需的令牌数量。
99.若当前待转发流量是以第一标记转发的,那么扣除各节点的保证令牌数量。若当前待转发流量是以第二标记转发的,那么扣除各节点的限制令牌数量。
100.s104:丢弃当前待转发流量。
101.需要注意的是,在本技术实施例的一种可行实施方式中,网络出口设备中,还可以为各节点设置一个丢包阈值,并监测各节点当前已使用的限制令牌数量是否已经大于等于该丢包阈值。
102.在监测到任一节点在本周期内当前已使用的限制令牌数量大于预设的丢包阈值后,即可以针对接收到的该节点对应的待转发流量随机进行丢弃,从而触发端对端流控机制,使得流量的发送端主动减少发送窗口,减少发送流量,达到提前控制流量的目的。
103.应理解,若采用上述可行实施方式,则在接收到当前待转发流量后,在各节点上进行是否满足转发条件的判断之前,可以先进行上述丢包阈值阈值的判断,进而进行随机丢包。在每个节点中,若该当前待转发流量没有被丢弃,才进一步进行是否满足转发条件的判断。若当前待转发流量被随机丢弃了,那么则可以直接结束流程。
104.在本技术实施例中,节点的丢包阈值应大于该节点的保证令牌总数,且小于该节点的限制值。示例性的,可以取该节点的限制值的80%作为丢包阈值。
105.本技术实施例所提供的流量控制方法,通过采用令牌桶来实现对于网络出口设备中各节点的流量限制,从而达到了对于流量的控制效果,且该过程无需流量进行排队,在内存中无需缓存流量数据,对内存的压力很小,从而具有较高的算法性能,可以在网络出口设备上使用,并实现对于流量的控制,为用户提供流量转发服务。此外,本技术的方案通过设置除最高级节点外的各节点对应的限制值,从而使得在周期内已使用的限制令牌数量达到该限制值时,即丢弃当前待转发流量,不再向上争夺上级节点的限制令牌,从而实现对于下级节点的流量提前限制,防止个别下级节点抢占过多上级节点的资源,缓解了带宽资源分配不公的情况,保障了用户感知到的流量转发服务体验。
106.实施例二:
107.本实施例在实施例一的基础上,以一个具体流量控制过程为例,为本技术做进一步示例说明。
108.假设网络出口设备中的节点关系图如图3所示。
109.图中,节点a的保证令牌总数大于等于节点b、节点c、节点d和节点e的保证令牌总数之和。节点a的限制令牌总数等于节点b、节点c、节点d和节点e的限制令牌总数。
110.假设节点b接收到了一个待转发流量。
111.s1,判断节点b的剩余保证令牌数是否小于等于0。若否,转发该待转发流量,并扣减节点b和节点a中的保证令牌数量(扣减值为发送该待转发流量所需的令牌数)。若是,继续执行后续步骤。
112.s2,根据待转发流量的报文中的dscp字段,确定优先级系数θ。
113.s3,将优先级系数θ和标准限制值相乘,得到节点b针对该待转发流量的限制值。
114.该标准限制值根据节点a上一周期的限制令牌使用情况确定。节点a上一周期内,限制令牌使用完毕,则本周期内的标准限制值在上一周期内的标准限制值基础上减一。若节点a上一周期内,限制令牌未使用完毕,则本周期内的标准限制值在上一周期内的标准限制值基础上加一。
115.s4,判断节点b本周期内已使用的限制令牌数量是否大于该限制值的80%。若否,执行后续步骤。若是,随机确定该待转发流量是否丢弃。若确定为丢弃,结束流程。若确定为不丢弃,则执行后续步骤。
116.s5,判断节点b本周期内已使用的限制令牌数量是否大于该限制值,以及判断节点b的剩余限制令牌数是否小于等于0。
117.若节点b本周期内已使用的限制令牌数量大于该限制值,或节点b的剩余限制令牌数小于等于0,则丢弃该待转发报文。
118.若节点b本周期内已使用的限制令牌数量小于等于该限制值,且节点b的剩余限制令牌数大于0,则将该待转发流量标记为黄色,继续后续步骤。
119.s6,判断节点a的剩余限制令牌数是否小于等于0。若是,丢弃该待转发报文。若不是,转发该待转发流量,并扣减节点b和节点a中的限制令牌数量(扣减值为发送该待转发流量所需的令牌数)。
120.通过上述方案,在网络出口设备中实现了轻量级的qos软件解决方案,且该过程无需流量进行排队,在内存中无需缓存流量数据,对内存的压力很小,从而具有较高的算法性能。且流量分配基于上级节点的拥堵状态动态可调,防止个别下级节点抢占过多上级节点的资源,缓解了带宽资源分配不公的情况,保障了用户感知到的流量转发服务体验。
121.实施例三:
122.基于同一发明构思,本技术实施例中还提供了一种设置于网络出口设备中的流量控制装置400。请参阅图4所示,图4示出了采用图1所示的方法的流量控制装置。应理解,装置400具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置400包括至少一个能以软件或固件的形式存储于存储器中或固化在装置400的操作系统中的软件功能模块。具体地:
123.参见图4所示,装置400包括:确定模块401和处理模块402。其中:
124.所述确定模块401,用于确定当前待转发流量对应的目标节点;所述目标节点为发送所述当前待转发流量的设备在所述网络出口设备中映射的节点;
125.所述处理模块402,用于判断所述当前待转发流量在所述目标节点以及所述目标节点的各上级节点中是否满足预设转发条件;若所述当前待转发流量在所述目标节点以及
所述目标节点的各上级节点中均满足预设转发条件,则转发所述当前待转发流量;否则,丢弃所述当前待转发流量;其中:
126.所述目标节点以及除最高级节点外的各上级节点的转发条件包括:节点内,当前的剩余保证令牌数量不满足转发所述当前待转发流量的需求,当前的剩余限制令牌数量满足转发所述当前待转发流量的需求,且该节点在本周期内当前已使用的限制令牌数量小于该节点对应的限制值;其中,节点对应的限制值大于等于该节点的保证令牌总数,且小于等于该节点的限制令牌总数。
127.在本技术实施例的一种可行实施方式中,所述处理模块402还用于,若节点的上级节点在上一周期内的限制令牌使用完毕,则减小该节点的限制值;若节点的上级节点在上一周期内的限制令牌未使用完毕,则增大该节点的限制值。
128.在本技术实施例的一种可行实施方式中,所述确定模块401还用于,在确定出当前待转发流量对应的目标节点之后,确定所述当前待转发流量的流量优先级;所述处理模块402还用于,基于所述流量优先级确定优先级系数;将设定的标准限制值与所述优先级系数进行乘法计算,得到所述目标节点的限制值。所述流量优先级越高,所述优先级系数越小,且所述优先级系数大于0小于1。
129.在本技术实施例的一种可行实施方式中,所述目标节点以及除最高级节点外的各上级节点的转发条件还包括:节点内,当前的剩余保证令牌数量满足转发所述当前待转发流量的需求,且所述当前待转发流量具有第一标记;所述第一标记表征在该节点的上一节点的剩余保证令牌数量满足转发所述当前待转发流量的需求;其中,所述目标节点默认所述当前待转发流量具有所述第一标记。
130.在本技术实施例的一种可行实施方式中,所述最高级节点的转发条件包括:节点内,当前的剩余保证令牌数量不满足转发所述当前待转发流量的需求,当前的剩余限制令牌数量满足转发所述当前待转发流量的需求。
131.在本技术实施例的一种可行实施方式中,在同一周期内:上级节点的保证令牌总数大于等于该上级节点的所有下级节点的保证令牌总数之和;上级节点的限制令牌总数大于等于该上级节点的任一下级节点的限制令牌总数。
132.在本技术实施例中,所述处理模块402还用于,在监测到任一节点在本周期内当前已使用的限制令牌数量大于预设的丢包阈值后,针对接收到的该节点对应的待转发流量随机进行丢弃;其中,所述丢包阈值大于该节点的保证令牌总数,且小于该节点的限制值。
133.需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
134.实施例四:
135.本实施例提供了一种网络出口设备,参见图5所示,其包括处理器501、存储器502、内部通信总线503和外部通信模组504。其中:
136.内部通信总线503用于实现处理器501、存储器502和外部通信模组504之间的连接通信。
137.外部通信模组504用于接收和转发流量。
138.处理器501用于执行存储器502中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的流量控制方法。
139.可以理解,图5所示的结构仅为示意,网络出口设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
140.本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、u盘、sd(secure digitalmemory card,安全数码卡)卡、mmc(multimedia card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中的流量控制方法。在此不再赘述。
141.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
142.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
143.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
144.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
145.在本文中,多个是指两个或两个以上。
146.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献