CN115208833B - 一种流量控制方法、装置、电子设备及存储介质 - Google Patents
一种流量控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115208833B CN115208833B CN202210822427.4A CN202210822427A CN115208833B CN 115208833 B CN115208833 B CN 115208833B CN 202210822427 A CN202210822427 A CN 202210822427A CN 115208833 B CN115208833 B CN 115208833B
- Authority
- CN
- China
- Prior art keywords
- token bucket
- node
- token
- rate
- guaranteed
- 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 81
- 230000001276 controlling effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001105 regulatory effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 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
- H04L47/215—Flow control; Congestion control using token-bucket
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种流量控制方法、装置和电子设备,其中,方法包括:应用于流量控制系统,方法包括:步骤一:接收报文;步骤二:选中令牌桶树中的一个令牌桶节点;步骤三:判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于报文所需要的令牌扣除数量,若是,执行步骤四,若否,执行步骤七;步骤四:判断选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量,若是,执行步骤五,若否,执行步骤七;步骤五:根据令牌扣除数量扣除选中的令牌桶节点的父节点的限制令牌和选中的令牌桶节点的限制令牌,执行步骤六;步骤六:放行报文;步骤七:丢弃报文。实施上述实施例,能够对带宽资源进行合理应用。
Description
技术领域
本申请涉及流量管理技术领域,具体而言,涉及一种流量控制方法、装置、电子设备及计算机可读存储介质。
背景技术
随着网络技术的快速发展,基于网络的应用越来越多、越来越复杂,种类繁多的网络流量吞噬着越来越多的网络资源,造成企业网络运营和管理成本也越来越大。企业核心业务带宽得不到保证,企业各部门带宽分配不合理,造成网络带宽资源浪费等等。因此边界网关产品拥有网络流量管理功能具有重要意义。
现有支持网络流量管理的方法中,需要管理员预先配置管理对象的带宽上限值或带宽保证值,底层通过令牌桶实现,根据对管理对象配置的带宽值,分配对应带宽的令牌生成速率,每当报文经过时,从对应令牌桶中取出对应报文大小的令牌数,若此时令牌桶中令牌不足,则丢失数据包,以达到速率限制的目的。令牌桶根据预先配置好的速率定时向桶中添加令牌,当报文到达设备时,首先会根据报文的大小从令牌桶中取出与报文大小相当的令牌数量用来传输数据,也就是说要是报文被传输,必须保证令牌桶中有足够的令牌数,如果令牌数量不够,则报文被丢弃。这就可以限制报文的流量只能小于等于预先设置的令牌添加速率,达到限流的目的。但是,现有技术是不能基于带宽资源实际使用情况动态分配带宽资源,从而造成带宽资源的浪费。
发明内容
本申请实施例的目的在于提供一种流量控制方法、装置、电子设备及计算机可读存储介质,能够根据流量对带宽资源进行动态分配。
第一方面,本申请实施例提供了一种流量控制方法,应用于流量控制系统,所述流量控制系统包括:由多个令牌桶节点构成的令牌桶树;所述令牌桶节点具有令牌桶,所述令牌桶包括:限制速率令牌桶;所述限制速率令牌桶中具有限制令牌,所述限制令牌用于控制所述令牌桶节点占用的最大带宽资源;所述方法包括:
步骤一:接收报文,执行步骤二;
步骤二:选中所述令牌桶树中的一个令牌桶节点,若选中的令牌桶节点不具有保证令牌桶,执行步骤三;
步骤三:判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于所述报文所需要的令牌扣除数量,若是,执行步骤四,若否,执行步骤七;
步骤四:判断所述选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量,若是,执行步骤五,若否,执行步骤七;
步骤五:根据所述令牌扣除数量扣除所述选中的令牌桶节点的父节点的限制令牌和所述选中的令牌桶节点的限制令牌,执行步骤六;
步骤六:放行所述报文;
步骤七:丢弃所述报文。
在上述实现过程中,当报文到达时,首先命中令牌桶树中的一个令牌桶节点;判断命中的令牌桶节点的限制令牌数量是否大于报文所需要的令牌扣除数量;如果不满足,则进丢弃报文,如果满足,则去判断该令牌桶节点的父节点;根据父节点的令牌来实现判断是否放行该报文。与现有技术不同,上述过程不是单纯地基于单个令牌桶节点的限制令牌数来控制流量报文的放行,而是通过整个令牌桶树来实现流量的控制,整个令牌桶树具有多个令牌桶节点,基于多个令牌桶节点可以实现对宽带资源的灵活应用。
进一步地,所述令牌桶还包括:保证速率令牌桶;所述保证速率令牌桶中具有保证令牌,所述保证令牌用于控制所述令牌桶节点占用的最小带宽资源;在所述选中所述令牌桶树中的一个令牌桶节点之后,还包括:
若选中的令牌桶节点具有保证令牌桶,执行步骤八;
步骤八:判断所述选中的令牌桶节点的保证令牌桶中的保证令牌的数量是否大于所述令牌扣除数量,若是,执行步骤三,若否,执行步骤九;
步骤九:根据所述令牌扣除数量扣除所述选中的令牌桶节点的保证令牌和限制令牌,执行步骤六;
步骤五还包括:根据所述令牌扣除数量扣除所述选中的令牌桶节点的父节点的保证令牌。
在上述实现过程中,每个令牌桶节点还包括保证令牌桶,保证令牌桶用于控制所述令牌桶节点占用的最小带宽资源,当报文到达节点时,需要判断保证令牌数大于报文所需的扣除数量,如果不够,再根据选中的令牌桶节点的父节点判断是否放行该报文。基于上述实施方式,能够限定每个令牌桶的最小占用的宽带资源,从而能够进一步实现对宽带资源的灵活应用。
进一步地,所述方法还包括:
获取每个令牌桶节点的剩余保证速率;
根据所述剩余保证速率将剩余保证速率小于第一预设值的第一调整令牌桶节点的保证令牌发送到所述第一调整令牌桶节点的父节点。
在上述实现过程中,每个令牌桶节点代表一定的带宽资源,获取每个令牌桶的剩余保证速率,基于剩余保证速率的保证令牌发送到父节点,能够将空闲的宽带资源分配给其他节点,能够提高对带宽资源的利用率。
进一步地,所述方法还包括:
获取每个令牌桶节点的剩余保证带宽利用率;
将保证带宽利用率小于第一预设值的第一调整令牌桶节点的多余保证令牌发送到所述第一调整令牌桶节点的第一待调整父节点,以使所述第一待调整父节点将所述多余保证令牌发送给所述第一待调整父节点的其他子节点;
将保证带宽利用率大于第二预设值的第二调整令牌桶节点的第二待调整父节点中的保证令牌发送到所述第二调整令牌桶节点。
在上述实现过程中,通过获取每个令牌桶节点的剩余保证带宽利用率,基于每个令牌桶节点的剩余保证带宽利用率将每个令牌桶节点的令牌在该令牌桶节点和其它令牌桶节点之间进行转移,从而实现将令牌桶节点的空闲宽带资源分配到其他令牌桶节点,实现对带宽资源的灵活应用。
进一步地,每个所述令牌桶节点包括多个所述限制速率令牌桶;
每个所述限制速率令牌桶对应一个核心;
不同核心对应的限制速率令牌桶的限制令牌不能交换。
在上述实现过程中,提出了一种基于多核心的流量控制方法,每个核心在每个令牌桶节点具有对应的核心令牌桶子节点。每个核心令牌桶子节点只用于处理其对应核心的报文,从而实现在多核心下的宽带资源的合理利用。
进一步地,每个所述令牌桶节点包括多个所述限制速率令牌桶和多个保证速率令牌桶;
每个所述限制速率令牌桶对应一个核心;
每个所述保证速率令牌桶对应一个核心;
不同核心对应的限制速率令牌桶的限制令牌不能交换;
不同核心对应的保证速率令牌桶的保证令牌不能交换。
在上述实现过程中,提出了一种基于多核心的流量控制方法,每个核心在每个令牌桶节点具有对应的核心令牌桶子节点。每个核心令牌桶子节点只用于处理其对应核心的报文,从而实现在多核心下的宽带资源的合理利用。
进一步地,所述方法还包括:获取每个令牌桶节点的带宽利用率;
获取带宽利用率小于第三预设值的第二待调整令牌桶节点的第一令牌分配速率;
将所述第二待调整令牌桶节点中的每个令牌桶的第二分配速率调整为所述第一令牌分配速率。
在上述实现过程中,避免了在带宽利用率不高且每核心令牌子节点的分配速率分配极度不均的情况下面对较大突发流量,报文在未到达节点限速值时报文被大量丢弃的后果。
进一步地,所述方法还包括:获取每个令牌桶节点的带宽利用率;
获取带宽利用率小于第三预设值的第二待调整令牌桶节点的第一令牌分配速率;
将所述第二待调整令牌桶节点中的每个核心对应的令牌桶的第二分配速率调整为所述第一令牌分配速率。
在上述实现过程中,避免了在带宽利用率不高且每核心令牌子节点的分配速率分配极度不均的情况下面对较大突发流量,报文在未到达节点限速值时报文被大量丢弃的后果。
进一步地,所述每个令牌桶节点的带宽利用率的步骤之后,还包括:
确定带宽利用率大于所述第三预设值的第三待调整令牌桶节点;
获取所述第三待调整令牌桶节点每个令牌桶的当前核心速率;
根据所述第三待调整令牌桶节点的所述带宽利用率、所述当前核心速率更新所述第三待调整令牌桶节点每个令牌桶的核心速率。
在上述实现过程中,通过对每个核心令牌桶节点进行更新,提高带宽资源的利用率。
第二方面,本申请实施例提供一种流量控制装置,所述流量控制系统包括:由多个令牌桶节点构成的令牌桶树;所述令牌桶节点具有令牌桶,所述令牌桶包括:限制速率令牌桶;所述限制速率令牌桶中具有限制令牌,所述限制令牌用于控制所述令牌桶节点占用的最大带宽资源;所述装置包括:接收模块,用于接收报文;
选中模块,用于选中所述令牌桶树中的一个令牌桶节点;
第一判断模块,用于在选中的令牌桶节点不具有保证令牌桶时判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于所述报文所需要的令牌扣除数量;
第二判断模块,用于在所述第一判断模块的判断结果为是时判断所述选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量;
扣除模块,用于在所述第二判断模块的判断结果为否时根据所述令牌扣除数量扣除所述选中的令牌桶节点的父节点的限制令牌,根据所述令牌扣除数量扣除所述选中的令牌桶节点的限制令牌;
执行模块,用于在所述第一判断模块或第二判断模块的判断结果为否时,丢弃所述报文;在所述第二判断模块的判断结果为是时,放行所述报文。
第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
第四方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
本申请公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本申请公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的流量控制系统的结构示意图;
图2为本申请实施例提供的流量控制方法的流程示意图;
图3为本申请实施例提供的另一种流量控制方法的流程示意图;
图4为本申请实施例提供的流量控制系统的另一结构示意图;
图5为本申请实施例提供的流量控制装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
参见图1,本申请实施例提供一种流量控制系统,包括:由多个令牌桶节点构成的令牌桶树;令牌桶节点具有令牌桶,令牌桶包括:限制速率令牌桶A;限制速率令牌桶A中具有限制令牌,限制令牌用于控制令牌桶节点占用的最大带宽资源。
在一种可能的实施方式中,令牌桶节点包括:保证速率令牌桶B;保证速率令牌桶B中具有保证令牌,保证令牌用于控制令牌桶节点占用的最小带宽资源。
示例性地,配置父节点100Mbps限制带宽,该父节点两个子节点,子节点1为核心业务流量命中节点,配置100Mbps限制带宽,80Mbps保证带宽,子节点2为员工日常办公流量命中节点,配置100Mbps限制带宽。
实施例2
参见图2,本申请实施例提供一种流量控制方法,应用于实施例1的流量控制系统,该方法包括:
S11:接收报文;
S12:选中令牌桶树中的一个令牌桶节点;
优选地,选中的令牌桶节点为令牌桶数的子节点。
S13:判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于报文所需要的令牌扣除数量,若是,执行S14,若否,执行S17;
S14:判断选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量,若是,执行S15,若否,执行S17;
S15:根据令牌扣除数量扣除选中的令牌桶节点的父节点的限制令牌和选中的令牌桶节点的限制令牌,执行S16;
S16:放行报文;
S17:丢弃报文。
上述实施例中,不同的令牌桶节点对应不同的业务。
在上述实现过程中,当报文到达时,首先命中令牌桶树中的一个令牌桶节点;判断命中的令牌桶节点的限制令牌数量是否大于报文所需要的令牌扣除数量;如果不满足,则进行将限制令牌进行扣除之后放行报文,如果满足,则去判断该令牌桶节点的父节点;根据父节点的令牌来实现判断是否放行该报文。与现有技术不同,上述过程不是单纯地基于单个令牌桶节点的限制令牌数来控制流量报文的放行,而是通过整个令牌桶树来实现流量的控制,整个令牌桶树具有多个令牌桶节点,基于多个令牌桶节点可以实现对宽带资源的灵活应用。
参见图3,本申请实施例还提供另一种流量控制方法,该方法包括:
S21:接收报文;
S22:选中令牌桶树中的一个令牌桶节点,判断选中的令牌桶节点具有保证令牌桶,若是,执行S28;
S23:判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于报文所需要的令牌扣除数量,若是,执行S24,若否,执行S27;
S24:判断选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量,若是,执行S25,若否,执行S27;
S25:根据令牌扣除数量扣除选中的令牌桶节点的父节点的限制令牌和选中的令牌桶节点的限制令牌;根据令牌扣除数量扣除选中的令牌桶节点的父节点的保证令牌,执行S26;
S26:放行报文;
S27:丢弃报文。
S28:判断选中的令牌桶节点的保证令牌桶中的保证令牌的数量是否大于令牌扣除数量,若是,执行S23,若否,执行S29;
S9:根据令牌扣除数量扣除选中的令牌桶节点的保证令牌和限制令牌,执行S25。
在上述实现过程中,每个令牌桶节点包括还包括保证令牌桶,保证令牌桶用于控制令牌桶节点占用的最小带宽资源,当报文到达节点时,需要判断保证令牌数大于报文所需的扣除数量,如果不够,再根据选中的令牌桶节点的父节点判断是否放行该报文。基于上述实施方式,能够限定每个令牌桶的最小占用的宽带资源,从而能够进一步实现对宽带资源的灵活应用。
在一种可能的实施方式中,方法还包括:获取每个令牌桶节点的剩余保证带宽利用率;将保证带宽利用率小于第一预设值的第一调整令牌桶节点的多余保证令牌发送到第一调整令牌桶节点的第一待调整父节点,以使第一待调整父节点将多余保证令牌发送给第一待调整父节点的其他子节点;将保证带宽利用率大于第二预设值的第二调整令牌桶节点的第二待调整父节点中的保证令牌发送到第二调整令牌桶节点。
上述实施例中,核心可以为处理器。
优选地,第一预设值为60%;第二预设值为80%。
剩余保证带宽利用率是扣除节点返还给父节点的保证速率之后剩余的保证速率;保证带宽利用率的计算公式如下:
保证带宽利用率=实际速率/节点保证速率;其中,实际速率=(当前节点限制令牌桶放行令牌数+当前节点的所有子节点保证令牌桶放行令牌数) /单位时间。
参见图4,在一种可能的实施方式中,每个令牌桶节点包括多个限制速率令牌桶;每个限制速率令牌桶对应一个核心;每个限制速率令牌桶用于控制核心在令牌桶节点占用的最大带宽资源;不同核心对应的限制速率令牌桶的限制令牌不能交换。
在上述实现过程中,提出了一种基于多核心的流量控制方法,每个核心在每个令牌桶节点具有对应的核心令牌桶子节点。每个核心令牌桶子节点只用于处理其对应核心的报文,从而实现在多核心下的宽带资源的合理利用。
可以理解的是,S11-S17的方法仍然适用于提出的多核心处理系统,只是在令牌的交换过程中“不同核心对应的限制速率令牌桶的限制令牌不能交换”。上述方法不能单纯地认为是对系统的限定。
在一种可能的实施方式中,每个令牌桶节点包括多个限制速率令牌桶和多个保证速率令牌桶;每个限制速率令牌桶对应一个核心;
每个保证速率令牌桶对应一个核心;每个限制速率令牌桶用于控制一个核心在令牌桶节点占用的最大带宽资源;每个保证速率令牌桶用于控制一个核心在令牌桶节点占用的最小带宽资源;不同核心对应的限制速率令牌桶的限制令牌不能交换;不同核心对应的保证速率令牌桶的保证令牌不能交换。
可以理解的是,S21-S29的方法仍然适用于提出的多核心处理系统,只是在令牌的交换过程中“不同核心对应的限制速率令牌桶的限制令牌不能交换,不同核心对应的保证速率令牌桶的保证令牌不能交换”。上述方法不能单纯地认为是对系统的限定。
在上述实现过程中,提出了一种在多核背景下的流量控制方法,每个核心在每个令牌桶节点具有对应的核心令牌桶子节点。每个核心令牌桶子节点只用于处理其对应核心的报文,从而实现在多核心下的宽带资源的合理利用。
在一种可能的实施方式中,在多核背景下,方法还包括:获取每个令牌桶节点的带宽利用率;获取带宽利用率小于第三预设值的第二待调整令牌桶节点的第一令牌分配速率;将第二待调整令牌桶节点中的每个核心对应的令牌桶的第二分配速率调整为第一令牌分配速率。
上述实施例中,带宽利用率包括:限制带宽利用率和保证带宽利用率;其中,限制带宽利用率=实际速率/节点限制速率;保证带宽利用率=实际速率/节点保证速率;示例性地,第三预设值为总带宽/核心数* 100%。当限制带宽利用率满足预设条件时,对限制速率令牌桶进行调整,当保证带宽利用率满足预设条件时,对保证速率令牌桶进行调整。
具体地,是通过将限制令牌和/或保证令牌法在令牌桶树中的令牌桶进行转移从而实现对保证速率或保证速率的调整。
在上述实现过程中,避免了在带宽利用率不高且每核心令牌子节点的分配速率分配极度不均的情况下面对较大突发流量,报文在未到达节点限速值时报文被大量丢弃的后果。
在一种可能的实施方式中,在多核背景下,获取每个令牌桶节点的带宽利用率的步骤之后,还包括:确定带宽利用率大于第三预设值的第三待调整令牌桶节点;获取第三待调整令牌桶节点每个令牌桶的当前核心速率;根据第三待调整令牌桶节点的带宽利用率、当前核心速率更新第三待调整令牌桶节点每个令牌桶的核心速率。
上述实施例中,当前的节点核心速率=核心对应的令牌桶放行的令牌数/单位时间;更新的节点核心速率=当前的节点核心速率/节点整体带宽利用率。
具体地,是通过将限制令牌和/或保证令牌法在令牌桶树中的令牌桶进行转移从而实现对保证速率或保证速率的调整。
在上述实现过程中,通过对每个核心令牌桶节点进行更新,提高带宽资源的利用率。
在一种可能的实施方式中,限制每个核心对应的令牌桶的最小分配速率值不得为0,当核心令牌桶速率分配值为0时,在总带宽利用率大于总带宽/核心数 * 100%的情况下,依靠上述算法,此核心将永远分配不到速率值,所以为避免这种情况,应当限制每核心上令牌桶的最小分配速率值不得为0。
实施例3
参见图5,本申请实施例提供一种流量控制装置,包括:
接收模块1,用于接收报文;
选中模块2,用于选中令牌桶树中的一个令牌桶节点;
第一判断模块3,用于在选中的令牌桶节点不具有保证令牌桶时判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于报文所需要的令牌扣除数量;
第二判断模块4,用于在第一判断模块的判断结果为是时判断选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量;
扣除模块5,用于在第二判断模块的判断结果为否时根据令牌扣除数量扣除选中的令牌桶节点的父节点的限制令牌,根据令牌扣除数量扣除选中的令牌桶节点的限制令牌;
执行模块6,用于在第一判断模块或第二判断模块的判断结果为否时,丢弃报文;在第二判断模块的判断结果为是时,放行报文。
在一种可能的实施方式中,第二判断模块4还用于判断选中的令牌桶节点的保证令牌桶中的保证令牌的数量是否大于令牌扣除数量;扣除模块还用于根据令牌扣除数量扣除选中的令牌桶节点的保证令牌和限制令牌;扣除模块还用于根据令牌扣除数量扣除选中的令牌桶节点的父节点的保证令牌。
在一种可能的实施方式中,装置还包括调整模块,用于获取每个令牌桶节点的剩余保证带宽利用率;将保证带宽利用率小于第一预设值的第一调整令牌桶节点的多余保证令牌发送到第一调整令牌桶节点的第一待调整父节点,以使第一待调整父节点将多余保证令牌发送给第一待调整父节点的其他子节点;将保证带宽利用率大于第二预设值的第二调整令牌桶节点的第二待调整父节点中的保证令牌发送到第二调整令牌桶节点。
在一种可能的实施方式中,每个令牌桶节点包括多个限制速率令牌桶;每个限制速率令牌桶对应一个核心;不同核心对应的限制速率令牌桶的限制令牌不能交换。
在一种可能的实施方式中,每个令牌桶节点包括多个限制速率令牌桶和多个保证速率令牌桶;每个限制速率令牌桶对应一个核心;每个保证速率令牌桶对应一个核心;不同核心对应的限制速率令牌桶的限制令牌不能交换;不同核心对应的保证速率令牌桶的保证令牌不能交换。
在一种可能的实施方式中,装置还包括多核心调整模块,用于获取每个令牌桶节点的带宽利用率;获取带宽利用率小于第三预设值的第二待调整令牌桶节点的第一令牌分配速率;将第二待调整令牌桶节点中的每个核心对应的令牌桶的第二分配速率调整为第一令牌分配速率。
在一种可能的实施方式中,多核心调整模块还用于确定带宽利用率大于第三预设值的第三待调整令牌桶节点;获取第三待调整令牌桶节点每个令牌桶的当前核心速率;根据第三待调整令牌桶节点的带宽利用率、当前核心速率更新每个核心令牌桶节点的核心速率。
本申请还提供一种电子设备,请参见图6,图6为本申请实施例提供的一种电子设备的结构框图。电子设备可以包括处理器61、通信接口62、存储器63和至少一个通信总线64。其中,通信总线64用于实现这些组件直接的连接通信。其中,本申请实施例中电子设备的通信接口62用于与其他节点设备进行信令或数据的通信。处理器61可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器61可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器61也可以是任何常规的处理器等。
存储器63可以是,但不限于,随机存取存储器(RandomAccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器63中存储有计算机可读取指令,当计算机可读取指令由处理器61执行时,电子设备可以执行上述方法实施例涉及的各个步骤。
可选地,电子设备还可以包括存储控制器、输入输出单元。
存储器63、存储控制器、处理器61、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线64实现电性连接。处理器61用于执行存储器63中存储的可执行模块,例如电子设备包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当指令在计算机上运行时,计算机程序被处理器执行时实现方法实施例的方法,为避免重复,此处不再赘述。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (9)
1.一种流量控制方法,其特征在于,应用于流量控制系统,所述流量控制系统包括:由多个令牌桶节点构成的令牌桶树;所述令牌桶节点具有令牌桶,所述令牌桶包括:限制速率令牌桶;所述限制速率令牌桶中具有限制令牌,所述限制令牌用于控制所述令牌桶节点占用的最大带宽资源;所述方法包括:
步骤一:接收报文;
步骤二:选中所述令牌桶树中的一个令牌桶节点;
步骤三:判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于所述报文所需要的令牌扣除数量,若是,执行步骤四,若否,执行步骤七;
步骤四:判断所述选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量,若是,执行步骤五,若否,执行步骤七;
步骤五:根据所述令牌扣除数量扣除所述选中的令牌桶节点的父节点的限制令牌和所述选中的令牌桶节点的限制令牌,执行步骤六;
步骤六:放行所述报文;
步骤七:丢弃所述报文;
所述令牌桶还包括:保证速率令牌桶;所述保证速率令牌桶中具有保证令牌,所述保证令牌用于控制所述令牌桶节点占用的最小带宽资源;在所述选中所述令牌桶树中的一个令牌桶节点之后,还包括:
若选中的令牌桶节点具有保证令牌桶,执行步骤八;
步骤八:判断所述选中的令牌桶节点的保证令牌桶中的保证令牌的数量是否大于所述令牌扣除数量,若是,执行步骤三,若否,执行步骤九;
步骤九:根据所述令牌扣除数量扣除所述选中的令牌桶节点的保证令牌和限制令牌,执行步骤六;
步骤五还包括:根据所述令牌扣除数量扣除所述选中的令牌桶节点的父节点的保证令牌;
所述方法还包括:
获取每个令牌桶节点的剩余保证带宽利用率;
将保证带宽利用率小于第一预设值的第一调整令牌桶节点的多余保证令牌发送到所述第一调整令牌桶节点的第一待调整父节点,以使所述第一待调整父节点将所述多余保证令牌发送给所述第一待调整父节点的其他子节点;
将保证带宽利用率大于第二预设值的第二调整令牌桶节点的第二待调整父节点中的保证令牌发送到所述第二调整令牌桶节点;
保证带宽利用率=实际速率/节点保证速率;其中,实际速率=(当前节点限制令牌桶放行令牌数+当前节点的所有子节点保证令牌桶放行令牌数) /单位时间;
剩余保证带宽利用率是扣除节点返还给父节点的保证速率之后剩余的保证速率。
2.根据权利要求1所述的流量控制方法,其特征在于,每个所述令牌桶节点包括多个所述限制速率令牌桶;
每个所述限制速率令牌桶对应一个核心;
不同核心对应的限制速率令牌桶的限制令牌不能交换。
3.根据权利要求1所述的流量控制方法,其特征在于,每个所述令牌桶节点包括多个所述限制速率令牌桶和多个所述保证速率令牌桶;
每个所述限制速率令牌桶对应一个核心;
每个所述保证速率令牌桶对应一个核心;
不同核心对应的限制速率令牌桶的限制令牌不能交换;
不同核心对应的保证速率令牌桶的保证令牌不能交换。
4.根据权利要求2所述的流量控制方法,其特征在于,所述方法还包括:获取每个令牌桶节点的带宽利用率;
获取带宽利用率小于第三预设值的第二待调整令牌桶节点的第一令牌分配速率;
将所述第二待调整令牌桶节点中的每个令牌桶的第二分配速率调整为所述第一令牌分配速率;
带宽利用率包括:限制带宽利用率和保证带宽利用率;其中,限制带宽利用率=实际速率/节点限制速率;保证带宽利用率=实际速率/节点保证速率。
5.根据权利要求3所述的流量控制方法,其特征在于,所述方法还包括:获取每个令牌桶节点的带宽利用率;
获取带宽利用率小于第三预设值的第二待调整令牌桶节点的第一令牌分配速率;
将所述第二待调整令牌桶节点中的每个核心对应的令牌桶的第二分配速率调整为所述第一令牌分配速率;
带宽利用率包括:限制带宽利用率和保证带宽利用率;其中,限制带宽利用率=实际速率/节点限制速率;保证带宽利用率=实际速率/节点保证速率。
6.根据权利要求4或5所述的流量控制方法,其特征在于,所述每个令牌桶节点的带宽利用率的步骤之后,还包括:
确定带宽利用率大于所述第三预设值的第三待调整令牌桶节点;
获取所述第三待调整令牌桶节点每个令牌桶的当前核心速率;
根据所述第三待调整令牌桶节点的所述带宽利用率、所述当前核心速率更新所述第三待调整令牌桶节点每个令牌桶的核心速率;
当前的节点核心速率=核心对应的令牌桶放行的令牌数/单位时间;更新的节点核心速率=当前的节点核心速率/节点整体带宽利用率。
7.一种流量控制装置,其特征在于,应用于流量控制系统,所述流量控制系统包括:由多个令牌桶节点构成的令牌桶树;所述令牌桶节点具有令牌桶,所述令牌桶包括:限制速率令牌桶;所述限制速率令牌桶中具有限制令牌,所述限制令牌用于控制所述令牌桶节点占用的最大带宽资源;所述装置包括:接收模块,用于接收报文;
选中模块,用于选中所述令牌桶树中的一个令牌桶节点;
第一判断模块,用于在选中的令牌桶节点不具有保证令牌桶时判断选中的令牌桶节点的限制令牌桶中的限制令牌的数量是否大于所述报文所需要的令牌扣除数量;
第二判断模块,用于在所述第一判断模块的判断结果为是时判断所述选中的令牌桶节点的父节点的限制令牌的数量是否大于令牌扣除数量;
扣除模块,用于在所述第二判断模块的判断结果为否时根据所述令牌扣除数量扣除所述选中的令牌桶节点的父节点的限制令牌,根据所述令牌扣除数量扣除所述选中的令牌桶节点的限制令牌;
执行模块,用于在所述第一判断模块或第二判断模块的判断结果为否时,丢弃所述报文;在所述第二判断模块的判断结果为是时,放行所述报文;
所述令牌桶还包括:保证速率令牌桶;所述保证速率令牌桶中具有保证令牌,所述保证令牌用于控制所述令牌桶节点占用的最小带宽资源;
第二判断模块还用于判断选中的令牌桶节点的保证令牌桶中的保证令牌的数量是否大于令牌扣除数量;扣除模块还用于根据令牌扣除数量扣除选中的令牌桶节点的保证令牌和限制令牌;扣除模块还用于根据令牌扣除数量扣除选中的令牌桶节点的父节点的保证令牌;
装置还包括调整模块,用于获取每个令牌桶节点的剩余保证带宽利用率;将保证带宽利用率小于第一预设值的第一调整令牌桶节点的多余保证令牌发送到第一调整令牌桶节点的第一待调整父节点,以使第一待调整父节点将多余保证令牌发送给第一待调整父节点的其他子节点;将保证带宽利用率大于第二预设值的第二调整令牌桶节点的第二待调整父节点中的保证令牌发送到第二调整令牌桶节点;
保证带宽利用率=实际速率/节点保证速率;其中,实际速率=(当前节点限制令牌桶放行令牌数+当前节点的所有子节点保证令牌桶放行令牌数) /单位时间;
剩余保证带宽利用率是扣除节点返还给父节点的保证速率之后剩余的保证速率。
8.一种电子设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6任一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210822427.4A CN115208833B (zh) | 2022-07-12 | 2022-07-12 | 一种流量控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210822427.4A CN115208833B (zh) | 2022-07-12 | 2022-07-12 | 一种流量控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115208833A CN115208833A (zh) | 2022-10-18 |
CN115208833B true CN115208833B (zh) | 2023-11-28 |
Family
ID=83579582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210822427.4A Active CN115208833B (zh) | 2022-07-12 | 2022-07-12 | 一种流量控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208833B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227410A (zh) * | 2008-02-03 | 2008-07-23 | 杭州华三通信技术有限公司 | 流量监管方法及流量监管设备 |
CN105897610A (zh) * | 2016-03-31 | 2016-08-24 | 乐视控股(北京)有限公司 | 一种流量控制方法及装置 |
CN113992594A (zh) * | 2021-10-29 | 2022-01-28 | 北京天融信网络安全技术有限公司 | 流量控制方法、装置、电子设备和计算机可读存储介质 |
-
2022
- 2022-07-12 CN CN202210822427.4A patent/CN115208833B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227410A (zh) * | 2008-02-03 | 2008-07-23 | 杭州华三通信技术有限公司 | 流量监管方法及流量监管设备 |
CN105897610A (zh) * | 2016-03-31 | 2016-08-24 | 乐视控股(北京)有限公司 | 一种流量控制方法及装置 |
CN113992594A (zh) * | 2021-10-29 | 2022-01-28 | 北京天融信网络安全技术有限公司 | 流量控制方法、装置、电子设备和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
"基于OpenWrt的流量控制系统设计与实现";曾泓源;《中国硕士学位论文全文数据库信息科技辑》(第第2期期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115208833A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351384B (zh) | 大数据平台资源管理方法、装置、设备及可读存储介质 | |
CN102567086B (zh) | 一种任务调度的方法、设备和系统 | |
CN102369688B (zh) | 资源动态调整方法和调度设备 | |
US20140365774A1 (en) | Communication device, communication method, and communication system | |
CN106462389A (zh) | 消息通讯行为的上下文感知策略选择 | |
US10491541B2 (en) | Quota management protocol for shared computing systems | |
CN112789832A (zh) | 动态切片优先级处理 | |
WO2007074797A1 (ja) | クライアント・サーバ・システムにおける負荷分散 | |
Rajah et al. | Advance reservations and scheduling for bulk transfers in research networks | |
RU2643666C2 (ru) | Способ и устройство для управления авторизацией виртуальной очереди вывода, а также компьютерный носитель информации | |
CN110505158B (zh) | 一种网络带宽控制方法、装置及电子设备和存储介质 | |
WO2018090191A1 (zh) | 网络功能的管理方法、管理单元及系统 | |
CN114691567A (zh) | 基于微服务的多云接口适配方法、系统及存储介质 | |
JP2018527668A (ja) | データトラフィックを制限するための方法及びシステム | |
JP2013507089A (ja) | データサービスのポリシングおよび優先順位付けのための方法および装置 | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN112749002A (zh) | 一种集群资源动态管理的方法和装置 | |
Shen et al. | Goodbye to fixed bandwidth reservation: Job scheduling with elastic bandwidth reservation in clouds | |
CN115208833B (zh) | 一种流量控制方法、装置、电子设备及存储介质 | |
US11861397B2 (en) | Container scheduler with multiple queues for special workloads | |
CN113806027A (zh) | 任务编排方法、装置、电子设备和计算机可读存储介质 | |
Ni et al. | An optimal strategy for resource utilization in cloud data centers | |
CN113204433B (zh) | 一种集群资源的动态分配方法、装置、设备及存储介质 | |
US10555141B2 (en) | Network device subscription management | |
CN115665054A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |