CN115665054A - 带宽分配的方法和模块、以及数据传输管理系统 - Google Patents
带宽分配的方法和模块、以及数据传输管理系统 Download PDFInfo
- Publication number
- CN115665054A CN115665054A CN202211222346.7A CN202211222346A CN115665054A CN 115665054 A CN115665054 A CN 115665054A CN 202211222346 A CN202211222346 A CN 202211222346A CN 115665054 A CN115665054 A CN 115665054A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- token
- group
- guaranteed
- total
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000005540 biological transmission Effects 0.000 title claims abstract description 22
- 238000009826 distribution Methods 0.000 claims abstract description 42
- 238000004519 manufacturing process Methods 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 239000002699 waste material Substances 0.000 abstract description 9
- 238000004364 calculation method Methods 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000002596 correlated effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了带宽分配的方法和模块、以及数据传输管理系统,涉及计算机技术领域。该方法的一具体实施方式包括:获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数;根据分配参数分别更新每个带宽组的保证带宽令牌桶参数;根据每个带宽组的更新后的保证带宽令牌桶参数,确定每个带宽组的保证带宽令牌增量,以根据每个带宽组的保证带宽令牌增量更新分配参数。该实施方式一方面能够有效利用总带宽,避免带宽浪费和影响用户体验,实现带宽的超卖,另一方面,当带宽使用情况改变或者用户数量改变时,可以自适应地分配共享带宽。此外,本发明实施例中无需预先判断各个带宽组是否空闲以及总共享带宽数量,从而大大降低方法的计算量,便于实现。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种带宽分配的方法和模块、以及数据传输管理系统。
背景技术
传统的带宽管理普遍的管理方式是将带宽按照一个固定的数值分配给各个用户,通常根据用户购买的带宽数量来确定这个数值。为了实现简单可靠和算法简单,这个数值往往是一个固定值,或者设置一个最大值和一个最小值。
传统的带宽管理方式,在有些用户使用的带宽小于设置带宽、而一些用户需要更多的带宽时,不能把空闲带宽及时分配给需要的用户,无法有效利用总带宽,造成带宽浪费,且影响用户体验,同时无法实现带宽的超卖。
发明内容
有鉴于此,本发明实施例提供一种带宽分配的方法和模块、以及数据传输管理系统,通过根据分配参数分别更新每个带宽组的保证带宽令牌桶参数,一方面能够有效利用总带宽,避免带宽浪费和影响用户体验,实现带宽的超卖,另一方面,由于分配参数以及每个带宽组的保证带宽令牌桶参数可以根据实际情况进行配置,因此当带宽使用情况改变或者用户数量改变时,可以自适应地分配共享带宽。此外,本发明实施例中无需预先判断各个带宽组是否空闲以及总共享带宽数量,从而大大降低方法的计算量,便于实现。
为实现上述目的,根据本发明实施例的一个方面,提供了一种带宽分配的方法,包括:
获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数;
根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数;
根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,以根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
可选地,所述根据每个所述带宽组的保证带宽令牌增量更新所述分配参数,包括:
获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;
根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;
在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数。
可选地,基于预设的步长参数调增或调减所述分配参数。
可选地,所述保证带宽令牌桶参数包括:保证带宽承诺信息速率、共享带宽分配优先级和保证带宽令牌数量;
所述根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,包括:根据所述分配参数和所述带宽组的共享带宽分配优先级,确定可分配给所述带宽组的保证带宽令牌桶的共享带宽;根据所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、以及所述带宽组的保证带宽承诺信息速率,更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量。
可选地,所述保证带宽令牌桶参数还包括:保证带宽承诺突发尺寸;
所述更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量,包括:对所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、所述带宽组的保证带宽承诺信息速率和所述带宽组的更新前的保证带宽令牌数量求和,得到第一令牌数量;在所述第一令牌数量大于所述带宽组的保证带宽承诺突发尺寸的情况下,以所述保证带宽承诺突发尺寸作为所述带宽组的更新后的保证带宽令牌数量,否则以所述第一令牌数量作为所述带宽组的更新后的保证带宽令牌数量。
可选地,所述带宽组的共享带宽分配优先级,与所述带宽组的保证带宽承诺信息速率正相关。
可选地,本发明实施例的方法还包括:
获取每个所述带宽组的最高带宽令牌桶参数;所述最高带宽令牌桶参数包括:最高带宽承诺信息速率和最高带宽令牌数量;
根据所述带宽组的最高带宽承诺信息速率,确定所述带宽组的最高带宽令牌增量;根据所述带宽组的最高带宽令牌增量,更新所述带宽组的最高带宽令牌数量。
可选地,所述最高带宽令牌桶参数还包括:最高带宽承诺突发尺寸;
所述更新所述带宽组的最高带宽令牌数量,包括:对所述带宽组的最高带宽令牌增量和所述带宽组的更新前的最高带宽令牌数量求和,得到第二令牌数量;在所述第二令牌数量大于所述带宽组的最高带宽承诺突发尺寸的情况下,以所述最高带宽承诺突发尺寸作为所述带宽组的更新后的最高带宽令牌数量,否则以所述第二令牌数量作为所述带宽组的更新后的最高带宽令牌数量。
可选地,本发明实施例的方法还包括:
获取总带宽令牌桶参数;所述总带宽令牌桶参数包括:总带宽承诺信息速率和总带宽令牌数量;
根据所述总带宽承诺信息速率,确定总带宽令牌增量;根据所述总带宽令牌增量,更新所述总带宽令牌数量。
可选地,所述总带宽令牌桶参数还包括:总带宽承诺突发尺寸;
所述更新所述总带宽令牌数量,包括:对所述总带宽令牌增量和更新前的总带宽令牌数量求和,得到第三令牌数量;在所述第三令牌数量大于所述总带宽承诺突发尺寸的情况下,以所述总带宽承诺突发尺寸作为更新后的总带宽令牌数量,否则以所述第三令牌数量作为更新后的总带宽令牌数量。
根据本发明实施例的第二方面,提供一种带宽生产模块,包括:
保证带宽参数获取单元,获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数;
保证带宽参数更新单元,根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数;
保证带宽增量确定单元,根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,以根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
可选地,所述根据每个所述带宽组的保证带宽令牌增量更新所述分配参数,包括:
获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;
根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;
在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数。
可选地,基于预设的步长参数调增或调减所述分配参数。
可选地,所述保证带宽令牌桶参数包括:保证带宽承诺信息速率、共享带宽分配优先级和保证带宽令牌数量;
所述根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,包括:根据所述分配参数和所述带宽组的共享带宽分配优先级,确定可分配给所述带宽组的保证带宽令牌桶的共享带宽;根据所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、以及所述带宽组的保证带宽承诺信息速率,更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量。
可选地,所述保证带宽令牌桶参数还包括:保证带宽承诺突发尺寸;
所述更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量,包括:对所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、所述带宽组的保证带宽承诺信息速率和所述带宽组的更新前的保证带宽令牌数量求和,得到第一令牌数量;在所述第一令牌数量大于所述带宽组的保证带宽承诺突发尺寸的情况下,以所述保证带宽承诺突发尺寸作为所述带宽组的更新后的保证带宽令牌数量,否则以所述第一令牌数量作为所述带宽组的更新后的保证带宽令牌数量。
可选地,所述带宽组的共享带宽分配优先级,与所述带宽组的保证带宽承诺信息速率正相关。
可选地,本发明实施例的方法还包括:
最高带宽参数获取单元,获取每个所述带宽组的最高带宽令牌桶参数;所述最高带宽令牌桶参数包括:最高带宽承诺信息速率和最高带宽令牌数量;
最高带宽参数更新单元,根据所述带宽组的最高带宽承诺信息速率,确定所述带宽组的最高带宽令牌增量;根据所述带宽组的最高带宽令牌增量,更新所述带宽组的最高带宽令牌数量。
可选地,所述最高带宽令牌桶参数还包括:最高带宽承诺突发尺寸;
所述更新所述带宽组的最高带宽令牌数量,包括:对所述带宽组的最高带宽令牌增量和所述带宽组的更新前的最高带宽令牌数量求和,得到第二令牌数量;在所述第二令牌数量大于所述带宽组的最高带宽承诺突发尺寸的情况下,以所述最高带宽承诺突发尺寸作为所述带宽组的更新后的最高带宽令牌数量,否则以所述第二令牌数量作为所述带宽组的更新后的最高带宽令牌数量。
可选地,本发明实施例的方法还包括:
总带宽参数获取单元,获取总带宽令牌桶参数;所述总带宽令牌桶参数包括:总带宽承诺信息速率和总带宽令牌数量;
总带宽参数更新单元,根据所述总带宽承诺信息速率,确定总带宽令牌增量;根据所述总带宽令牌增量,更新所述总带宽令牌数量。
可选地,所述总带宽令牌桶参数还包括:总带宽承诺突发尺寸;
所述更新所述总带宽令牌数量,包括:对所述总带宽令牌增量和更新前的总带宽令牌数量求和,得到第三令牌数量;在所述第三令牌数量大于所述总带宽承诺突发尺寸的情况下,以所述总带宽承诺突发尺寸作为更新后的总带宽令牌数量,否则以所述第三令牌数量作为更新后的总带宽令牌数量。
根据本发明实施例的第三方面,提供一种分配参数生产模块,包括:
共享带宽参数获取单元,获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;
共享带宽令牌更新单元,根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;
分配参数更新单元,在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数;
其中,每个所述带宽组的令牌增量是采用本发明实施例第一方面提供的方法得到的。
可选地,所述分配参数更新单元基于预设的步长参数调增或调减所述分配参数。
根据本发明实施例的第四方面,提供一种数据传输管理系统,包括:带宽请求模块,带宽检查模块,带宽组模块,带宽生产模块、分配参数生产模块,以及数据传输模块;其中,
所述带宽请求模块响应于用户操作生成带宽请求,将所述带宽请求发送至所述带宽检查模块;所述带宽检查模块响应于所述带宽请求,从所述带宽组模块中获取对应带宽组的保证带宽令牌数量和最高带宽令牌数量,在所述对应带宽组的保证带宽令牌数量和最高带宽令牌数量满足预设条件的情况下,对所述带宽请求放行;所述带宽请求模块响应于所述带宽请求被放行,向所述带宽组模块申请所述对应带宽组的带宽,所述数据传输模块基于申请到的带宽处理所述带宽请求;
所述带宽生产模块用于获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数,根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,将每个所述带宽组的保证带宽令牌增量上报至所述分配参数生产模块;所述分配参数生产模块根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
根据本发明实施例的第五方面,提供一种带宽分配的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一或第二方面提供的方法。
根据本发明实施例的第六方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一或第二方面提供的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过根据分配参数分别更新每个带宽组的保证带宽令牌桶参数,一方面能够有效利用总带宽,避免带宽浪费和影响用户体验,实现带宽的超卖,另一方面,由于分配参数以及每个带宽组的保证带宽令牌桶参数可以根据实际情况进行配置,因此当带宽使用情况改变或者用户数量改变时,可以自适应地分配共享带宽。此外,本发明实施例中无需预先判断各个带宽组是否空闲以及总共享带宽数量,从而大大降低方法的计算量,便于实现。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例的带宽分配的方法的主要流程的示意图;
图2是本发明可选实施例中保证带宽令牌桶令牌生产原理的示意图;
图3是本发明可选实施例中保证带宽令牌桶令牌生产流程的示意图;
图4是本发明可选实施例中分配参数生产原理的示意图;
图5是本发明可选实施例中分配参数生产流程的示意图;
图6是本发明可选实施例中保证带宽令牌桶、最高带宽令牌桶和总带宽令牌桶中令牌生产原理的示意图;
图7是本发明可选实施例中最高带宽令牌桶和总带宽令牌桶中令牌生产流程的示意图;
图8是应用本发明实施例的数据传输管理系统的结构示意图;
图9是应用本发明实施例的数据传输管理系统处理带宽请求的流程示意图;
图10是本发明实施例的带宽生产模块的主要组成的示意图;
图11是本发明实施例的分配参数生产模块的主要组成的示意图;
图12是本发明实施例可以应用于其中的示例性系统架构图;
图13是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
根据本发明实施例的一个方面,提供了一种带宽分配的方法。
图1是本发明实施例的带宽分配的方法的主要流程的示意图,如图1所示,带宽分配的方法包括步骤S101、步骤S102和步骤S103。
步骤S101,获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数。
本发明实施例中,每个带宽组的保证带宽由对应带宽组的保证带宽令牌桶来维护。保证带宽令牌桶参数包括保证带宽承诺信息速率、共享带宽分配优先级、保证带宽令牌数量、保证带宽承诺突发尺寸等。
承诺信息速率(Committed Information Rate,CIR)即令牌生产速度,指每个周期生产多少令牌。每个令牌对应的数据量根据是实际情况对应,可以是1Byte,也可以是512Byte。
承诺突发尺寸(Committed Burst Size,CBS)即令牌桶的深度,指令牌桶组多可以存储多少令牌,溢出的令牌直接减掉。
共享带宽分配优先级(Priority,PRI)指当前令牌桶获取共享带宽的优先级。每个带宽组的PRI参数可以根据实际情况进行选择性设定,例如根据带宽组的业务类型进行设定,或者带宽提供方根据带宽售卖策略进行设定。带宽组的PRI也可以通过该带宽组的保证带宽的CIR比率生成,具体地,将所有带宽组的保证带宽CIR进行比较,然后根据比例获得每个带宽组PRI参数。可选地,所述带宽组的共享带宽分配优先级,与所述带宽组的保证带宽承诺信息速率正相关。示例性地,各个带宽组的保证带宽CIR分别为1G、2G、4G,对应的PRI可以分别设置成0、1、2;或者,也可以运营商自己设置,带宽组的保证带宽CIR为1-5G时对应的PRI为1,带宽组的保证带宽CIR为5-8G时对应的PRI为2。
保证带宽令牌桶以承诺信息速率生产令牌,生产出的令牌存入保证带宽令牌桶。带宽组中每消耗一部分令牌,便从保证带宽令牌桶中减去对应数量的令牌。为了提高带宽利用率,在各个带宽组的保证带宽令牌桶生产令牌的基础上,可以额外获取其他带宽组分享出来的带宽。
在一轮带宽分配过程中,额外分配给所有带宽组的令牌总数即分配参数。每轮带宽分配完成后,从总带宽令牌数量中减去对应数量的令牌。根据扣减之后的总带宽令牌数量,可以进一步调整分配参数的数值,以便将总带宽令牌数量尽量控制在一个预设范围,例如控制在0左右,以实现所有用户的实际使用带宽的和尽量靠近物理总带宽。当总带宽令牌数量为0时,各个带宽组的实际使用总等于带宽提供方提供的物理总带宽,带宽提供方提供的物理总带宽的利用率最高。实际应用过程中,也可以将总带宽令牌数量尽量控制在其他范围,例如可知在±M范围内(M代表正整数,其数值可以自定义)。本发明实施例在每一轮带宽分配过程中,按照比例将分配参数对应数量的令牌分配给各个带宽组。确定各个带宽组中哪些是空闲带宽组、以及确定系统的共享带宽令牌总数量的过程需要耗费大量的计算资源,本发明实施例中的分配参数不是共享带宽令牌总数量,本发明实施例不需要预先确定哪些带宽组时空闲带宽组,也不需要确定可以共享的共享带宽令牌总数量,通过调整分配参数调整每次分配给各个带宽组的令牌数量,能够大大降低计算资源消耗量。
步骤S102,根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数。
保证带宽是保证带宽组能分配到的最小带宽,所有带宽组的最小带宽的和小于等于物理总带宽,物理总带宽减去用户实际使用带宽的差值就是共享带宽。保证带宽令牌桶中包括保证带宽令牌数量这一参数,该参数反映保证令牌桶中当前令牌的数量。考虑到用户使用过程中会消耗令牌、令牌桶生产令牌过程中会产生新的令牌,因此保证带宽令牌数量是动态变化的。在步骤S102中,先获取当前的保证带宽令牌数量,然后根据新产生的令牌的数量更新该参数的数值,具体地,根据保证带宽令牌桶自身生成出的令牌数量和获取到的共享带宽令牌数量,更新保证带宽令牌数量。
根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,可以包括:根据所述分配参数和所述带宽组的共享带宽分配优先级,确定可分配给所述带宽组的保证带宽令牌桶的共享带宽;根据所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、以及所述带宽组的保证带宽承诺信息速率,更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量。带宽组获取到的共享带宽令牌数量,是根据保证令牌PRI和分配参数确定的。例如,以二者的乘积作为带宽组获取到的共享带宽令牌数量。为了减少运算,也可以按照二进制形式对PRI进行左移运算,以后将运算得到的数值与分配参数相乘,得到的数值即带宽组获取到的共享带宽令牌数量。
步骤S102中更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量,可以包括:对所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、所述带宽组的保证带宽承诺信息速率和所述带宽组的更新前的保证带宽令牌数量求和,得到第一令牌数量;在所述第一令牌数量大于所述带宽组的保证带宽承诺突发尺寸的情况下,以所述保证带宽承诺突发尺寸作为所述带宽组的更新后的保证带宽令牌数量,否则以所述第一令牌数量作为所述带宽组的更新后的保证带宽令牌数量。
图3是本发明可选实施例中保证带宽令牌桶令牌生产流程的示意图。本实施例中,轮询器按照一定的时钟周期性地发起轮询请求,轮流发起对每一个带宽组的请求,请求中包括带宽组标识ID;根据带宽组ID,读取对应的保证带宽令牌桶参数;读取分配参数;计算新的保证带宽令牌桶令牌数量:new_L_token=old_L_token+L_CIR+S_unit*PRI(*代表乘法运算或者左移运算);判断new_L_token是否溢出,即判断new_L_token>L_CBS是否成立,如果溢出则令new_L_token=L_CBS,如果没有溢出则new_L_token保持不变;然后将new_L_token写入保证令牌桶参数,并计算保证带宽令牌增量:ΔL_token=new_L_token–old_L_token,将ΔL_token上报给分配参数生产模块;之后,判断当前是否是轮询的最后一个带宽组,即判断n=N(N代表带宽组的数量)是否成立;如果是,则输出轮询结束标识给分配参数生产模块,然后结束当前轮询,否则直接结束当前轮询流程。
步骤S103,根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,以根据每个所述带宽组的保证带宽令牌增量更新所述分配参数,实现所有用户的实际使用带宽的和尽量靠近物理总带宽。
在步骤S103中,可以在每确定出一个带宽组的保证带宽令牌增量之后,将该保证带宽令牌增量发送至分配参数生产模块;也可以在一个轮询周期结束后,即确定出所有带宽组的保证带宽令牌增量之后,一次性将所有带宽组的保证带宽令牌增量发送至分配参数生产模块。
图2是本发明可选实施例中保证带宽令牌桶令牌生产原理的示意图。如图2所示,轮询器按照一定的时钟周期性地发起请求。在一个轮询周期内,轮询器轮流发起对每一个带宽组的请求。带宽生产模块是用于生产保证带宽令牌的模块,保证带宽令牌生产模块响应轮询器的请求,读取对应带宽组的保证令牌参数和分配参数S_unit,计算新的保证带宽令牌数量new_L_token=old_L_token+L_CIR+S_unit*PRI。如果new_L_token>L_CBS,则令new_L_token=L_CBS,否则new_L_token保持不变。S_unit*PRI就是本次轮询,当前带宽组获得的共享带宽令牌数量。同一轮轮询中S_unit的值对于每个带宽组都是一样的,这样PRI就决定了当前带宽组获取的共享带宽比例。计算出本次生产L_token的增量为:ΔL_token=new_L_token–old_L_token,将ΔL_token和本次轮询完成标识(如最后一个带宽组标识)输出给分配参数生成模块。
每个带宽组的保证带宽CBS是固定的,对于令牌使用数量不多的带宽组,其保证带宽令牌数量old_L_token数量相对较大,进而保证带宽令牌增量ΔL_token很小或者等于0。由于该带宽组在当前周期内产生了L_CIR个保证令牌,而该带宽组的保证带宽令牌增量ΔL_token很小或者等于0,二者的差值(L_CIR-ΔL_toke)可以作为共享带宽,分享给别的带宽组使用。
分配参数是根据总带宽令牌桶中的总带宽令牌数量G_token产生的。在循环执行本发明实施例的带宽分配方法时,可以通过调整分配参数将总带宽令牌数量G_token控制在预定范围,使分配参数的确定逐步逼近理想状态。实际应用过程中,可以每个周期对分配参数进行一次更新,也可以多个周期对分配参数进行一次更新。每次根据每个所述带宽组的保证带宽令牌增量更新所述分配参数,可以包括:获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数。可选地,基于预设的步长参数S_step调增或调减所述分配参数,S_step是可以自定义配置的,本领域技术人员可以根据带宽使用率变化的情况灵活设置。本发明实施例中,由于保证带宽令牌增量是根据带宽组的令牌桶参数确定的,因此,每次修改带宽组的令牌桶参数时,或者用户的带宽使用情况改变时,共享带宽的分配会自适应变化,不需要额外设置。
图4是本发明可选实施例中分配参数生产原理的示意图,图5是本发明可选实施例中分配参数生产流程的示意图。如图4和5所示,总带宽令牌消耗包括:当接收到保证带宽生产模块输入ΔL_token时,降总带宽令牌桶中的总带宽令牌数量:New_G_token=old_G_token-ΔL_token,这样就把每次轮询分配给当前带宽组的带宽从总带宽令牌桶中减去了。以尽量使总带宽令牌数量G_token=0为例,当收到轮询完成标识时,如果G_token<0,说明这一轮分配的给带宽组的带宽和大于总带宽了,此时可以减小分配参数:S_unit=S_uint–S_step(S_step是步长参数);如果G_token≥0,说明这一轮分配的给带宽组的带宽和小于总带宽了。即还有共享带宽没有分配完,此时可以增大分配参数:S_unit=S_uint+S_step。
动态的每个轮询周期调整一次S_uint的大小,而保证带宽通过S_uint和PRI参数决定得到共享带宽的数量。这样总带宽的分配就逐步逼近最优化的分配方式:每个轮询周期完毕尽量将总带宽分配完毕,即G_token=0。
最高带宽是带宽组能享受到的最大带宽,所有带宽组的最大带宽的和可以大于物理总带宽。实际应用过程中,保证带宽、最高带宽、总带宽的计算可以分别用三个令牌桶来实现:保证带宽令牌桶、最高带宽令牌桶、总带宽令牌桶。每个令牌桶都有自己的令牌参数。
在一些可选实施例中,本发明实施例的方法还包括获取:每个所述带宽组的最高带宽令牌桶参数,最高带宽令牌桶参数包括最高带宽承诺信息速率和最高带宽令牌数量;根据所述带宽组的最高带宽承诺信息速率,确定所述带宽组的最高带宽令牌增量;根据所述带宽组的最高带宽令牌增量,更新所述带宽组的最高带宽令牌数量。最高带宽令牌桶参数还可以包括最高带宽承诺突发尺寸,更新所述带宽组的最高带宽令牌数量包括:对所述带宽组的最高带宽令牌增量和所述带宽组的更新前的最高带宽令牌数量求和,得到第二令牌数量;在所述第二令牌数量大于所述带宽组的最高带宽承诺突发尺寸的情况下,以所述最高带宽承诺突发尺寸作为所述带宽组的更新后的最高带宽令牌数量,否则以所述第二令牌数量作为所述带宽组的更新后的最高带宽令牌数量。
在另一些可选实施例中,本发明实施例的方法还包括:获取总带宽令牌桶参数,总带宽令牌桶参数包括总带宽承诺信息速率和总带宽令牌数量;根据所述总带宽承诺信息速率,确定总带宽令牌增量;根据所述总带宽令牌增量,更新所述总带宽令牌数量。总带宽令牌桶参数还可以包括总带宽承诺突发尺寸,更新所述总带宽令牌数量包括:对所述总带宽令牌增量和更新前的总带宽令牌数量求和,得到第三令牌数量;在所述第三令牌数量大于所述总带宽承诺突发尺寸的情况下,以所述总带宽承诺突发尺寸作为更新后的总带宽令牌数量,否则以所述第三令牌数量作为更新后的总带宽令牌数量。
图6是本发明可选实施例中保证带宽令牌桶、最高带宽令牌桶和总带宽令牌桶中令牌生产原理的示意图,如图6所示,一个保证令牌桶和一个最高令牌桶加令牌参数组成一个带宽组。每个令牌桶的令牌桶参数包括:CIR、CBS、token(令牌桶中当前令牌的数量)。保证令牌桶参数还包括PRI。前文已经详述各个参数的含义,此处不再赘述。具体而言,保证带宽令牌桶参数包括:L_CIR、L_CBS/PRI、L_token;最高带宽令牌桶参数包括:H_CIR、H_CBS、H_token;总带宽令牌桶参数包括:G_CIR、G_CBS、G_token。最高带宽和总带宽令牌桶的基本工作原理是:按照一定的时钟周期,生产出CIR个令牌放入令牌桶中即加到当前的token上面,如果token>CBS,这时就溢出了,token的值就强制成等于CBS的值。最高带宽令牌桶和总带宽令牌桶都是按照这种方式生产令牌。所有带宽组保证带宽的和不能超过总带宽,每个用户使用的实际带宽不会超过最高带宽。图7是本发明可选实施例中最高带宽令牌桶和总带宽令牌桶中令牌生产流程的示意图,如图7所示,最高带宽令牌桶和总带宽令牌桶中令牌生产流程包括:在最高带宽令牌桶或总带宽令牌桶中令牌生产流程的循环周期到了的情况下,读取对应令牌桶参数(token、CIR、CBS),计算新的令牌数量:new_token=old_token+CIR;然后将计算结果与对应令牌桶的CBS参数比较:若new_token>CBS,则令token=CBS,否则token=new_token;之后将新的令牌数量写回令牌桶,从而更新令牌桶参数。
本发明实施例中,总带宽令牌桶和最高带宽令牌桶按照设定周期循环生产令牌,总带宽令牌桶的循环周期可以自定义,也可以与分配参数的更新周期相同,最高带宽令牌桶的循环周期与分配参数的更新周期相同。总带宽和最高带宽令牌生产流程是相同的。
图8是应用本发明实施例的数据传输管理系统的结构示意图。如图8所示,数据传输管理系统包括:带宽请求模块,带宽检查模块,带宽组模块,带宽生产模块、分配参数生产模块,以及数据传输模块。带宽请求模块响应于用户操作生成带宽请求,将带宽请求发送至带宽检查模块。带宽检查模块响应于带宽请求,从带宽组模块中获取对应带宽组的保证带宽令牌数量和最高带宽令牌数量,在对应带宽组的保证带宽令牌数量和最高带宽令牌数量满足预设条件(预设条件可以自定义,例如保证带宽和最高带宽大于0)的情况下,对带宽请求放行。如果满足条件就让这个带宽请求通过,如果不满足,带宽请求模块对该请求进行反压,然后过一段时间再来请求,直到带宽检查模块对请求放行。带宽请求模块响应于带宽请求被放行,向带宽组模块申请对应带宽组的带宽。通过带宽检查模块后,带宽请求模块向带宽组请求消费带宽,对应的带宽组会减去对应的带宽(如果是网络请求,可以根据报文大小确定需要消费的带宽,如果是存储请求,可以根据数据大小确定需要消费的带宽)。数据传输模块基于申请到的带宽处理所述带宽请求。带宽生产模块用于获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数,根据分配参数分别更新每个带宽组的保证带宽令牌桶参数,根据每个带宽组的更新后的保证带宽令牌增量,确定每个带宽组的保证带宽令牌增量,将每个带宽组的保证带宽令牌增量上报至分配参数生产模块。分配参数生产模块根据每个带宽组的保证带宽令牌增量更新分配参数。
图9是应用本发明实施例的数据传输管理系统处理带宽请求的流程示意图。如图9所示,带宽检查模块同时检查对应的带宽组中的保证带宽和最高带宽令牌桶中是否还有令牌,即判断L_token和H_token是否都大于0。若是,则检查通过,可以进入下一个模块处理,如果不通过,这笔请求会被反压回发起请求的模块。发起请求的模块需要暂存这笔请求,过一段时间再次发起请求,直到检查通过。
传统的带宽管理普遍的管理方式是将带宽按照一个固定的数值分配给各个用户,通常根据用户购买的带宽数量来确定这个数值。为了实现简单可靠和算法简单,这个数值往往是一个固定值,或者设置一个最大值和一个最小值。传统的带宽管理方式,在有些用户使用的带宽小于设置带宽、而一些用户需要更多的带宽时,不能把空闲带宽及时分配给需要的用户,无法有效利用总带宽,造成带宽浪费,且影响用户体验,同时无法实现带宽的超卖。
固定的带宽管理方式,在用户不使用带宽或者使用带宽小于设置的带宽值时,总带宽的使用小于物理带宽,会造成带宽的浪费;在有些用户使用的带宽小于设置带宽时,而一些用户需要更多的带宽时,无法把这些空闲的带宽实时分配给需要的用户,影响客户使用体验;对于提供带宽方,固定的带宽管理方式,无法把空闲的带宽卖给需要的用户,有多少用户就需要建设对应的物理带宽,没法实现超卖;当用户的带宽使用变化,或者用户数量变化的时候,无法自适应的改变带宽的分配,造成带宽浪费。所以,传统的固定带宽管理方式,无法实时地将共享带宽公平的分配给用户。
本发明实施例中,在保证每个带宽组可以分配到对应保证带宽的基础上,如果还有多余的带宽,可以实时地把这些带宽按照一定的优先级分配给各个带宽组,在一些带宽组使用的带宽小于其保证带宽时,其他用户可以使用他们空闲出来的带宽,这样减少浪费;带宽提供方可以按照总的保证带宽提供总的带宽资源,而不用按照总的最高带宽提供总带宽资源;当带宽使用情况改变或者用户数量改变时,可以自适应地分配共享带宽。本发明实施例实现了对带宽的灵活管理,且不需要很大的计算量,算法简单,功能丰富。此外,由于分配参数以及每个带宽组的保证带宽令牌桶参数可以根据实际情况进行配置,因此当带宽使用情况改变或者用户数量改变时,可以自适应地分配共享带宽。
根据本发明实施例的第二方面,提供一种带宽生产模块。图10是本发明实施例的带宽生产模块的主要组成的示意图,如图10所示,带宽生产模块1000包括:
保证带宽参数获取单元1001,获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数;
保证带宽参数更新单元1002,根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数;
保证带宽增量确定单元1003,根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,以根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
可选地,所述根据每个所述带宽组的保证带宽令牌增量更新所述分配参数,包括:
获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;
根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;
在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数。
可选地,基于预设的步长参数调增或调减所述分配参数。
可选地,所述保证带宽令牌桶参数包括:保证带宽承诺信息速率、共享带宽分配优先级和保证带宽令牌数量;
所述根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,包括:根据所述分配参数和所述带宽组的共享带宽分配优先级,确定可分配给所述带宽组的保证带宽令牌桶的共享带宽;根据所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、以及所述带宽组的保证带宽承诺信息速率,更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量。
可选地,所述保证带宽令牌桶参数还包括:保证带宽承诺突发尺寸;
所述更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量,包括:对所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、所述带宽组的保证带宽承诺信息速率和所述带宽组的更新前的保证带宽令牌数量求和,得到第一令牌数量;在所述第一令牌数量大于所述带宽组的保证带宽承诺突发尺寸的情况下,以所述保证带宽承诺突发尺寸作为所述带宽组的更新后的保证带宽令牌数量,否则以所述第一令牌数量作为所述带宽组的更新后的保证带宽令牌数量。
可选地,所述带宽组的共享带宽分配优先级,与所述带宽组的保证带宽承诺信息速率正相关。
可选地,本发明实施例的方法还包括:
最高带宽参数获取单元,获取每个所述带宽组的最高带宽令牌桶参数;所述最高带宽令牌桶参数包括:最高带宽承诺信息速率和最高带宽令牌数量;
最高带宽参数更新单元,根据所述带宽组的最高带宽承诺信息速率,确定所述带宽组的最高带宽令牌增量;根据所述带宽组的最高带宽令牌增量,更新所述带宽组的最高带宽令牌数量。
可选地,所述最高带宽令牌桶参数还包括:最高带宽承诺突发尺寸;
所述更新所述带宽组的最高带宽令牌数量,包括:对所述带宽组的最高带宽令牌增量和所述带宽组的更新前的最高带宽令牌数量求和,得到第二令牌数量;在所述第二令牌数量大于所述带宽组的最高带宽承诺突发尺寸的情况下,以所述最高带宽承诺突发尺寸作为所述带宽组的更新后的最高带宽令牌数量,否则以所述第二令牌数量作为所述带宽组的更新后的最高带宽令牌数量。
可选地,本发明实施例的方法还包括:
总带宽参数获取单元,获取总带宽令牌桶参数;所述总带宽令牌桶参数包括:总带宽承诺信息速率和总带宽令牌数量;
总带宽参数更新单元,根据所述总带宽承诺信息速率,确定总带宽令牌增量;根据所述总带宽令牌增量,更新所述总带宽令牌数量。
可选地,所述总带宽令牌桶参数还包括:总带宽承诺突发尺寸;
所述更新所述总带宽令牌数量,包括:对所述总带宽令牌增量和更新前的总带宽令牌数量求和,得到第三令牌数量;在所述第三令牌数量大于所述总带宽承诺突发尺寸的情况下,以所述总带宽承诺突发尺寸作为更新后的总带宽令牌数量,否则以所述第三令牌数量作为更新后的总带宽令牌数量。
根据本发明实施例的第三方面,提供一种分配参数生产模块。图11是本发明实施例的分配参数生产模块的主要组成的示意图,如图11所示,分配参数生产模块1100包括:
共享带宽参数获取单元1101,获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;
共享带宽令牌更新单元1102,根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;
分配参数更新单元1103,在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数;
其中,每个所述带宽组的令牌增量是采用本发明实施例第一方面提供的方法得到的。
可选地,所述分配参数更新单元基于预设的步长参数调增或调减所述分配参数。
根据本发明实施例的第四方面,提供一种数据传输管理系统,常见吐8,数据传输管理系包括:带宽请求模块,带宽检查模块,带宽组模块,带宽生产模块、分配参数生产模块,以及数据传输模块;其中,
所述带宽请求模块响应于用户操作生成带宽请求,将所述带宽请求发送至所述带宽检查模块;所述带宽检查模块响应于所述带宽请求,从所述带宽组模块中获取对应带宽组的保证带宽令牌数量和最高带宽令牌数量,在所述对应带宽组的保证带宽令牌数量和最高带宽令牌数量满足预设条件的情况下,对所述带宽请求放行;所述带宽请求模块响应于所述带宽请求被放行,向所述带宽组模块申请所述对应带宽组的带宽,所述数据传输模块基于申请到的带宽处理所述带宽请求;
所述带宽生产模块用于获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数,根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,将每个所述带宽组的保证带宽令牌增量上报至所述分配参数生产模块;所述分配参数生产模块根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
根据本发明实施例的第五方面,提供一种带宽分配的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一或第二方面提供的方法。
根据本发明实施例的第六方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一或第二方面提供的方法。
图12示出了可以应用本发明实施例的带宽分配的方法或带宽分配的装置的示例性系统架构1200。
如图12所示,系统架构1200可以包括终端设备1201、1202、1203,网络1204和服务器1205。网络1204用以在终端设备1201、1202、1203和服务器1205之间提供通信链路的介质。网络1204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1201、1202、1203通过网络1204与服务器1205交互,以接收或发送消息等。终端设备1201、1202、1203上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备1201、1202、1203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1205可以是提供各种服务的服务器,例如对用户利用终端设备1201、1202、1203所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例第一方面所提供的带宽分配的方法一般由服务器1205执行,相应地,带宽生产模块和分配参数生产模块一般设置于服务器1205中。当然,本发明实施例提供的带宽分配的方法、以及带宽生产模块和分配参数生产模块也可以设置在用于在网络层提供网络互联服务的网关服务器中,有网关服务器执行。
应该理解,图12中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图13,其示出了适于用来实现本发明实施例的终端设备的计算机系统1300的结构示意图。图13示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括保证带宽参数获取单元、保证带宽参数更新单元和保证带宽增量确定单元;或者,一种处理器包括共享带宽参数获取单元、共享带宽令牌更新单元和分配参数更新单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,保证带宽参数获取单元还可以被描述为“调增所述分配参数的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数;根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数;根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,以根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
根据本发明实施例的技术方案,通过根据分配参数分别更新每个带宽组的保证带宽令牌桶参数,一方面能够有效利用总带宽,避免带宽浪费和影响用户体验,实现带宽的超卖,另一方面,由于分配参数以及每个带宽组的保证带宽令牌桶参数可以根据实际情况进行配置,因此当带宽使用情况改变或者用户数量改变时,可以自适应地分配共享带宽。此外,本发明实施例中无需预先判断各个带宽组是否空闲以及总共享带宽数量,从而大大降低方法的计算量,便于实现。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种带宽分配的方法,其特征在于,包括:
获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数;
根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数;
根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,以根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
2.根据权利要求1所述的方法,其特征在于,所述根据每个所述带宽组的保证带宽令牌增量更新所述分配参数,包括:
获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;
根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;
在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数。
3.根据权利要求2所述的方法,其特征在于,基于预设的步长参数调增或调减所述分配参数。
4.根据权利要求1所述的方法,其特征在于,所述保证带宽令牌桶参数包括:保证带宽承诺信息速率、共享带宽分配优先级和保证带宽令牌数量;
所述根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,包括:根据所述分配参数和所述带宽组的共享带宽分配优先级,确定可分配给所述带宽组的保证带宽令牌桶的共享带宽;根据所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、以及所述带宽组的保证带宽承诺信息速率,更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量。
5.根据权利要求4所述的方法,其特征在于,所述保证带宽令牌桶参数还包括:保证带宽承诺突发尺寸;
所述更新所述带宽组的保证带宽令牌桶的保证带宽令牌数量,包括:对所述可分配给所述带宽组的保证带宽令牌桶的共享带宽、所述带宽组的保证带宽承诺信息速率和所述带宽组的更新前的保证带宽令牌数量求和,得到第一令牌数量;在所述第一令牌数量大于所述带宽组的保证带宽承诺突发尺寸的情况下,以所述保证带宽承诺突发尺寸作为所述带宽组的更新后的保证带宽令牌数量,否则以所述第一令牌数量作为所述带宽组的更新后的保证带宽令牌数量。
6.根据权利要求4所述的方法,其特征在于,所述带宽组的共享带宽分配优先级,与所述带宽组的保证带宽承诺信息速率正相关。
7.根据权利要求1所述的方法,其特征在于,还包括:
获取每个所述带宽组的最高带宽令牌桶参数;所述最高带宽令牌桶参数包括:最高带宽承诺信息速率和最高带宽令牌数量;
根据所述带宽组的最高带宽承诺信息速率,确定所述带宽组的最高带宽令牌增量;根据所述带宽组的最高带宽令牌增量,更新所述带宽组的最高带宽令牌数量。
8.根据权利要求7所述的方法,其特征在于,所述最高带宽令牌桶参数还包括:最高带宽承诺突发尺寸;
所述更新所述带宽组的最高带宽令牌数量,包括:对所述带宽组的最高带宽令牌增量和所述带宽组的更新前的最高带宽令牌数量求和,得到第二令牌数量;在所述第二令牌数量大于所述带宽组的最高带宽承诺突发尺寸的情况下,以所述最高带宽承诺突发尺寸作为所述带宽组的更新后的最高带宽令牌数量,否则以所述第二令牌数量作为所述带宽组的更新后的最高带宽令牌数量。
9.根据权利要求1所述的方法,其特征在于,还包括:
获取总带宽令牌桶参数;所述总带宽令牌桶参数包括:总带宽承诺信息速率和总带宽令牌数量;
根据所述总带宽承诺信息速率,确定总带宽令牌增量;根据所述总带宽令牌增量,更新所述总带宽令牌数量。
10.根据权利要求9所述的方法,其特征在于,所述总带宽令牌桶参数还包括:总带宽承诺突发尺寸;
所述更新所述总带宽令牌数量,包括:对所述总带宽令牌增量和更新前的总带宽令牌数量求和,得到第三令牌数量;在所述第三令牌数量大于所述总带宽承诺突发尺寸的情况下,以所述总带宽承诺突发尺寸作为更新后的总带宽令牌数量,否则以所述第三令牌数量作为更新后的总带宽令牌数量。
11.一种带宽生产模块,其特征在于,包括:
保证带宽参数获取单元,获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数;
保证带宽参数更新单元,根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数;
保证带宽增量确定单元,根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,以根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
12.一种分配参数生产模块,其特征在于,包括:
共享带宽参数获取单元,获取总带宽令牌数量、当前的分配参数、以及所有带宽组上报的保证带宽令牌增量;
共享带宽令牌更新单元,根据每个所述带宽组上报的保证带宽令牌增量,更新所述总带宽令牌数量;
分配参数更新单元,在所述总带宽令牌数量大于等于预设值的情况下,调增所述分配参数;在所述总带宽令牌数量小于所述预设值的情况下,调减所述分配参数;
其中,每个所述带宽组的令牌增量是采用权利要求1、3-10中任一所述的方法得到的。
13.一种数据传输管理系统,其特征在于,包括:带宽请求模块,带宽检查模块,带宽组模块,带宽生产模块、分配参数生产模块,以及数据传输模块;其中,
所述带宽请求模块响应于用户操作生成带宽请求,将所述带宽请求发送至所述带宽检查模块;所述带宽检查模块响应于所述带宽请求,从所述带宽组模块中获取对应带宽组的保证带宽令牌数量和最高带宽令牌数量,在所述对应带宽组的保证带宽令牌数量和最高带宽令牌数量满足预设条件的情况下,对所述带宽请求放行;所述带宽请求模块响应于所述带宽请求被放行,向所述带宽组模块申请所述对应带宽组的带宽,所述数据传输模块基于申请到的带宽处理所述带宽请求;
所述带宽生产模块用于获取分配参数和待分配的每个带宽组的保证带宽令牌桶参数,根据所述分配参数分别更新每个所述带宽组的保证带宽令牌桶参数,根据每个所述带宽组的更新后的保证带宽令牌桶参数,确定每个所述带宽组的保证带宽令牌增量,将每个所述带宽组的保证带宽令牌增量上报至所述分配参数生产模块;所述分配参数生产模块根据每个所述带宽组的保证带宽令牌增量更新所述分配参数。
14.一种带宽分配的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211222346.7A CN115665054A (zh) | 2022-10-08 | 2022-10-08 | 带宽分配的方法和模块、以及数据传输管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211222346.7A CN115665054A (zh) | 2022-10-08 | 2022-10-08 | 带宽分配的方法和模块、以及数据传输管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115665054A true CN115665054A (zh) | 2023-01-31 |
Family
ID=84986334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211222346.7A Pending CN115665054A (zh) | 2022-10-08 | 2022-10-08 | 带宽分配的方法和模块、以及数据传输管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665054A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294656A (zh) * | 2023-11-24 | 2023-12-26 | 沐曦集成电路(南京)有限公司 | 一种面向多用户的动态带宽管理系统及其方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188562A (zh) * | 2007-12-20 | 2008-05-28 | 杭州华三通信技术有限公司 | 流量控制方法、系统和装置 |
US7602721B1 (en) * | 2003-12-22 | 2009-10-13 | Extreme Networks, Inc. | Methods and systems for fine grain bandwidth allocation in a switched network element |
KR20100113851A (ko) * | 2009-04-14 | 2010-10-22 | 한국전자통신연구원 | 네트워크 자원 공유 방법 및 이를 이용한 컴퓨팅 장치 |
CN103067306A (zh) * | 2012-12-28 | 2013-04-24 | 苏州山石网络有限公司 | 分配带宽的方法及装置 |
CN113810306A (zh) * | 2021-09-07 | 2021-12-17 | 山石网科通信技术股份有限公司 | 带宽分配方法、装置、存储介质及处理器 |
-
2022
- 2022-10-08 CN CN202211222346.7A patent/CN115665054A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7602721B1 (en) * | 2003-12-22 | 2009-10-13 | Extreme Networks, Inc. | Methods and systems for fine grain bandwidth allocation in a switched network element |
CN101188562A (zh) * | 2007-12-20 | 2008-05-28 | 杭州华三通信技术有限公司 | 流量控制方法、系统和装置 |
KR20100113851A (ko) * | 2009-04-14 | 2010-10-22 | 한국전자통신연구원 | 네트워크 자원 공유 방법 및 이를 이용한 컴퓨팅 장치 |
CN103067306A (zh) * | 2012-12-28 | 2013-04-24 | 苏州山石网络有限公司 | 分配带宽的方法及装置 |
CN113810306A (zh) * | 2021-09-07 | 2021-12-17 | 山石网科通信技术股份有限公司 | 带宽分配方法、装置、存储介质及处理器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294656A (zh) * | 2023-11-24 | 2023-12-26 | 沐曦集成电路(南京)有限公司 | 一种面向多用户的动态带宽管理系统及其方法 |
CN117294656B (zh) * | 2023-11-24 | 2024-03-12 | 沐曦集成电路(南京)有限公司 | 一种面向多用户的动态带宽管理系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020173778A (ja) | リソースの割り当て方法、装置、電子設備、コンピュータ可読媒体およびコンピュータプログラム | |
EP3985932A1 (en) | Method and apparatus for node speed limiting, electronic device, and storage medium | |
CN113742114B (zh) | 一种系统限流的方法和装置 | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN112749002A (zh) | 一种集群资源动态管理的方法和装置 | |
WO2020259208A1 (zh) | 内存调度方法、装置、设备及存储介质 | |
CN112379982A (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN115665054A (zh) | 带宽分配的方法和模块、以及数据传输管理系统 | |
CN110401731B (zh) | 用于分配内容分发节点的方法和装置 | |
CN109861922B (zh) | 用于控制流量的方法和装置 | |
CN112667368A (zh) | 一种任务数据处理方法和装置 | |
CN113742389A (zh) | 一种业务处理方法和装置 | |
CN113127561B (zh) | 业务单号的生成方法、装置、电子设备和存储介质 | |
CN110716809B (zh) | 用于调度云资源的方法和装置 | |
CN108683608B (zh) | 分配流量的方法和装置 | |
CN110838989B (zh) | 一种用于基于令牌进行网络限流的方法和装置 | |
CN110113176B (zh) | 用于配置服务器的信息同步方法及装置 | |
CN112685481A (zh) | 一种数据处理方法和装置 | |
CN113596920B (zh) | 流量控制方法、装置、电子设备及存储介质 | |
CN112148448B (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
CN112163176A (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
CN112527454A (zh) | 容器组调度方法、装置、电子设备和计算机可读介质 | |
CN113064620A (zh) | 一种处理系统数据的方法和装置 | |
CN114064256A (zh) | 分配计算资源的方法、电子设备和计算机程序产品 | |
CN113448715B (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 |