发明内容
基于此,有必要提供一种能提高带宽利用率的带宽占用率控制方法。
一种带宽占用率控制方法,包括:
获取通道,获取所述通道对应的带宽占用率;
获取所述通道对应的带宽限额,所述带宽限额以变化速度上升或下降;
获取带宽占用率阈值区间;
根据所述带宽占用率与所述带宽占用率阈值区间的关系调整所述带宽限额的变化速度。
在其中一个实施例中,所述带宽占用率阈值区间包括上限阈值和下限阈值;
所述根据所述带宽占用率与所述带宽占用率阈值区间的关系调整所述带宽限额的变化速度的步骤还包括:
在所述带宽占用率大于所述上限阈值时,设置所述变化速度为下降速度,所述带宽限额以所述下降速度下降。
在其中一个实施例中,所述根据所述带宽占用率与所述带宽占用率阈值区间的关系调整所述带宽限额的变化速度的步骤还包括:
在所述带宽占用率小于所述下限阈值时,设置所述变化速度为上升速度,所述带宽限额以所述上升速度上升。
在其中一个实施例中,所述方法还包括:
获取所述通道对应的带宽限额调整上限,判断所述获取到的所述通道对应的带宽限额是否大于所述带宽限额调整上限,若是,则设置所述带宽限额为所述带宽限额调整上限。
在其中一个实施例中,所述方法还包括:
获取所述通道对应的带宽限额调整下限,判断所述获取到的所述通道对应的带宽限额是否大于所述带宽限额调整下限,若是,则设置所述带宽限额为所述带宽限额调整下限。
此外,还有必要提供一种能提高带宽利用率的带宽占用率控制装置。
一种带宽占用率控制装置,包括:
通道信息获取模块,用于获取通道,获取所述通道对应的带宽占用率;
带宽限额获取模块,用于获取所述通道对应的带宽限额;
带宽限额设置模块,用于以变化速度上调或下调所述带宽限额;
阈值区间获取模块,用于获取带宽占用率阈值区间;
变化速度调整模块,用于根据所述带宽占用率与所述带宽占用率阈值区间的关系调整所述带宽限额的变化速度。
在其中一个实施例中,所述带宽占用率阈值区间包括上限阈值和下限阈值;
所述变化速度调整模块还用于在所述带宽占用率大于所述上限阈值时,设置所述变化速度为下降速度;
所述带宽限额设置模块还用于以所述下降速度下调所述带宽限额。
在其中一个实施例中,所述变化速度调整模块还用于在所述带宽占用率小于所述下限阈值时,设置所述变化速度为上升速度;
所述带宽限额设置模块还用于以所述上升速度上调所述带宽限额。
在其中一个实施例中,所述带宽限额设置模块还用于获取所述通道对应的带宽限额调整上限,判断所述获取到的所述通道对应的带宽限额是否大于所述带宽限额调整上限,若是,则设置所述带宽限额为所述带宽限额调整上限。
在其中一个实施例中,所述带宽限额设置模块还用于获取所述通道对应的带宽限额调整下限,判断所述获取到的所述通道对应的带宽限额是否大于所述带宽限额调整下限,若是,则设置所述带宽限额为所述带宽限额调整下限。
上述带宽占用率控制方法及装置中,通道对应的带宽限额不为固定值,而为以变化速度上升或下降的浮动值,根据带宽占用率的大小来调整带宽限额的变化速度,可使得在带宽资源有剩余时,动态地为通道分配额外的带宽资源;在带宽资源紧张时,动态地对通道的带宽占用进行限制,从而更加合理地利用了带宽资源,提高了带宽利用率。
具体实施方式
在一个实施例中,如图1所示,一种带宽占用率控制方法,包括循环执行如下步骤:
步骤S 102,获取通道,获取通道对应的带宽占用率。
通道为根据数据包的IP地址、端口、协议类型、应用类型等信息划分的网络请求类型簇,即具有相应特征的网络请求的集合。例如,P2P通道,即包含了P2P协议或对应了P2P端口的网络请求的集合;HTTP通道,即包含了HTTP协议的网络请求的集合。通道为预先根据业务需求划分,可以有多个。
通道对应的带宽占用率为带宽实时的使用情况。例如,若一条100Mbps的光纤专线宽带服务,其全局带宽即100Mbps,若当前通道中的网络流量为70Mbps,则通道对应的带宽占用率即为70%。
步骤S104,获取通道对应的带宽限额,带宽限额以变化速度上升或下降。
在本实施例中,还包括以变化速度上调或下调通道对应的带宽限额的步骤。
通道对应的带宽限额为该通道对应的实时的带宽限额。相较于传统技术中预先分配的固定值的带宽限额,本实施例中,带宽限额可具有预设的初始值和预设的初始的变化速度,且该带宽限额以变化速度上升或下降。
可启动独立的带宽限额调整线程,在单位时间内,该带宽限额调整线程可以预设的比例上调或下调带宽限额。例如,带宽限额调整线程可以每秒10%的速度上调变化速度,也可以每秒10%的速度下调变化速度。
在一个实施例中,通道可包括静态通道和动态通道。静态通道即带宽限额为固定值的通道,动态通道即带宽限额以变化速度上升或下降的通道。也就是说,在本实施例中,带宽限额调整线程可仅对动态通道对应的变化速度进行调整,而对静态通道的带宽限额不做处理。
步骤S106,获取带宽占用率阈值区间。
带宽占用率阈值区间为通道对应的带宽占用率浮动的限定范围。带宽占用率阈值区间可根据输入的配置请求进行配置。
在一个实施例中,带宽占用率阈值区间包括上限阈值和下限阈值,带宽占用率阈值区间即为大于该下限阈值并小于该上限阈值的限定范围。
例如,若下限阈值为50%,上限阈值为80%,则带宽占用率阈值区间为50%至80%之间的区域。
步骤S108,根据带宽占用率与带宽占用率阈值区间的关系调整带宽限额的变化速度。
可根据前述的实时获取通道对应的带宽占用率在带宽占用率阈值区间中的相对位置调整通道对应的带宽限额的变化速度。
在本实施例中,根据带宽占用率与带宽占用率阈值区间的关系调整带宽限额的变化速度的步骤可包括:
在带宽占用率大于上限阈值时,设置变化速度为下降速度,带宽限额以下降速度下降。
进一步的,根据带宽占用率与带宽占用率阈值区间的关系调整带宽限额的变化速度的步骤还可包括:
在带宽占用率小于下限阈值时,设置变化速度为上升速度,带宽限额以上升速度上升。
如前所述,带宽限额以变化速度上升或下降。在循环执行步骤S102、步骤S104、步骤S106、步骤S108的过程中,若某次循环中步骤S102获取到的带宽占用率高于上限阈值,则将带宽限额的变化速度设置为下降速度,从而使带宽限额以下降速度递减;若某次循环中,步骤S102获取到的带宽占用率低于下限阈值,则将带宽限额的变化速度设置为上升速度,从而使带宽限额以上升速度递增。
例如,如表1所示,表1示出了通道对应的带宽限额随时间浮动的情况。
表1
时刻 |
带宽占用 |
预期单位时间后的带宽限额 |
T1 |
10Mbps |
10×(1+10%)=11Mbps |
T1+1 |
11Mbps |
11×(1+10%)=12.1Mbps |
T1+2 |
12.1Mbps |
12.1×(1+10%)=13.31Mbps |
T1+3 |
13.31Mbps |
13.31×(1+10%)=14.64Mbps |
T2 |
14.5Mbps |
14.5×(1-20%)=11.6Mbps |
T2+1 |
10Mbps |
11.6×(1-20%)=9.28Mbps |
T2+2 |
10.5Mbps |
9.28×(1-20%)=7.42Mbps |
T3+1 |
7.5Mbps |
7.5×(1+10%)=8.25Mbps |
T3+2 |
8.25Mbps |
8.25×(1+10%)=9.08Mbps |
T3+3 |
9.08Mbps |
9.08×(1+10%)=9.99Mbps |
在该例中,上限阈值为14.5Mbps,下限阈值为7.5Mbps,且通道中的网络流量为繁忙状态,即通道对应的带宽占用总是达到其对应的带宽限额。
在时刻T1时,获取到的带宽占用为10Mbps,通道对应的带宽限额以10%每单位时间的上升速度上升。在时刻T1+3时,带宽占用为13.31Mbps,预期单位时间后的带宽限额可调整为14.64Mbps,即在T1+3至T1+4的时间段内的T2时刻,带宽占用上升到14.5Mbps,到达了上线阈值(14.5Mbps)。因此,在T2时刻,设置变化速度为-20%每单位时间的下降速度,带宽限额开始以-20%每单位时间下降,且在T2+1至T2+2时刻内,即T3时刻带宽占用下降到7.5Mbps,到达下限阈值,于是在T3时刻,设置变化速度为10%每单位时间的上升速度,带宽限额开始以10%每单位时间上升,并按照上述过程反复调整。
如图2所示,通过以变化速度上调和下调带宽限额,使得通道对应的带宽占用呈波浪形浮动。
本实施例中,下降速度和上升速度可通过输入的速度配置请求进行配置。优选的,下降速度优选为上升速度的两倍。
在一个实施例中,还可获取通道对应的带宽限额调整上限,判断获取到的通道对应的带宽限额是否大于带宽限额调整上限,若是,则设置带宽限额为带宽限额调整上限。
在一个实施例中,还可获取通道对应的带宽限额调整下限,判断获取到的通道对应的带宽限额是否大于带宽限额调整下限,若是,则设置带宽限额为带宽限额调整下限。
如前所述,通道可包括静态通道和动态通道。静态通道即为前述的带宽限额为固定值的通道,动态通道即为前述的带宽限额以变化速度上升或下降的通道。
在本实施例中,动态通道还可包括半动态通道和全动态通道。半动态通道即对应了带宽限额调整上限和/或带宽限额调整下限的通道,全动态通道即不对应带宽限额调整上限且不对应带宽限额调整下限的通道。带宽限额调整上限和带宽限额调整下限可通过输入的带宽限额调整请求进行配置。
也就是说,在本实施例中,对于对应了带宽限额调整上限的半动态通道,可在以变化速度上调或下调半动态通道的过程中判断其对应的带宽限额是否高于带宽限额调整上限,若是,则将半动态通道对应的带宽限额重置为该带宽限额调整上限,否则,继续执行以变化速度上调或下调通道对应的带宽限额的步骤。
对于对应了带宽限额调整下限的半动态通道,可在以变化速度上调或下调半动态通道的过程中判断其对应的带宽限额是否低于带宽限额调整下限,若是,则将半动态通道对应的带宽限额重置为该带宽限额调整下限,否则,继续执行以变化速度上调或下调通道对应的带宽限额的步骤。
为半动态通道配置带宽限额调整上限和/或带宽限额调整下限,对通道的带宽占用进行了进一步的优先级划分,使得对应了带宽限额调整上限的通道即使在网络状况良好时,也只能占用带宽限额调整上限限定的份额,从而将空闲的带宽分配给未对应带宽限额调整上限的通道;而对应了带宽限额调整下限的通道即使在网络状况不理想时,也可以使用带宽限额调整下限限定的份额,从而限制了未对应带宽限额调整下限的通道对带宽的过度占用,从而起到了为通道合理分配带宽的作用,提高了带宽的利用率。
在一个实施例中,如图3所示,一种带宽占用率控制装置,包括:通道信息获取模块102、带宽限额获取模块104、带宽限额设置模块106、阈值区间获取模块108以及变化速度调整模块110。其中,通道信息获取模块102、阈值区间获取模块108和变化速度调整模块110循环调用,且:
通道信息获取模块102,用于获取通道,获取通道对应的带宽占用率。
通道为根据数据包的IP地址、端口、协议类型、应用类型等信息划分的网络请求类型簇,即具有相应特征的网络请求的集合。例如,P2P通道,即包含了P2P协议或对应了P2P端口的网络请求的集合;HTTP通道,即包含了HTTP协议的网络请求的集合。通道为预先根据业务需求划分,可以有多个。
通道对应的带宽占用率为带宽实时的使用情况。例如,若一条100Mbps的光纤专线宽带服务,其全局带宽即100Mbps,若当前通道中的网络流量为70Mbps,则通道对应的带宽占用率即为70%。
带宽限额获取模块104,用于获取通道对应的带宽限额。
带宽限额设置模块106,用于以变化速度上调或下调通道对应的带宽限额的步骤。
通道对应的带宽限额为该通道对应的实时的带宽限额。相较于传统技术中预先分配的固定值得带宽限额,本实施例中,带宽限额可具有预设的初始值和预设的初始的变化速度,且该带宽限额以变化速度上升或下降。
带宽限额设置模块106可用于启动独立的带宽限额调整线程,在单位时间内,该带宽限额调整线程可以预设的比例上调或下调带宽限额。例如,带宽限额调整线程可以每秒10%的速度上调变化速度,也可以每秒10%的速度下调变化速度。
在一个实施例中,通道可包括静态通道和动态通道。静态通道即带宽限额为固定值的通道,动态通道即带宽限额以变化速度上升或下降的通道。也就是说,在本实施例中,带宽限额设置模块106可用于仅对动态通道对应的变化速度进行调整,而对静态通道的带宽限额不做处理。
阈值区间获取模块108,用于获取带宽占用率阈值区间。
带宽占用率阈值区间为通道对应的带宽占用率浮动的限定范围。带宽占用率阈值区间可根据输入的配置请求进行配置。
在一个实施例中,带宽占用率阈值区间包括上限阈值和下限阈值,带宽占用率阈值区间即为大于该下限阈值并小于该上限阈值的限定范围。
例如,若下限阈值为50%,上限阈值为80%,则带宽占用率阈值区间为50%至80%之间的区域。
变化速度调整模块110,用于根据带宽占用率与带宽占用率阈值区间的关系调整带宽限额的变化速度。
可根据前述的实时获取通道对应的带宽占用率在带宽占用率阈值区间中的相对位置调整通道对应的带宽限额的变化速度。
在本实施例中,变化速度调整模块110还用于在所述带宽占用率大于所述上限阈值时,设置所述变化速度为下降速度。
进一步的,变化速度调整模块110还用于在带宽占用率小于下限阈值时,设置变化速度为上升速度,带宽限额以上升速度上升。
如前所述,带宽限额以变化速度上升或下降。在循环调用通道信息获取模块102、阈值区间获取模块108以及变化速度调整模块110的过程中,若某次循环中通道信息获取模块102获取到的带宽占用率高于上限阈值,则将带宽限额的变化速度设置为下降速度,从而使带宽限额以下降速度递减;若某次循环中,通道信息获取模块102获取到的带宽占用率低于下限阈值,则将带宽限额的变化速度设置为上升速度,从而使带宽限额以上升速度递增。
例如,如表2所示,表2示出了通道对应的带宽限额随时间浮动的情况。
表2
时刻 |
带宽占用 |
预期单位时间后的带宽限额 |
T1 |
10Mbps |
10×(1+10%)=11Mbps |
T1+1 |
11Mbps |
11×(1+10%)=12.1Mbps |
T1+2 |
12.1Mbps |
12.1×(1+10%)=13.31Mbps |
T1+3 |
13.31Mbps |
13.31×(1+10%)=14.64Mbps |
T2 |
14.5Mbps |
14.5×(1-20%)=11.6Mbps |
T2+1 |
10Mbps |
11.6×(1-20%)=9.28Mbps |
T2+2 |
10.5Mbps |
9.28×(1-20%)=7.42Mbps |
T3+1 |
7.5Mbps |
7.5×(1+10%)=8.25Mbps |
T3+2 |
8.25Mbps |
8.25×(1+10%)=9.08Mbps |
T3+3 |
9.08Mbps |
9.08×(1+10%)=9.99Mbps |
在该例中,上限阈值为14.5Mbps,下限阈值为7.5Mbps,且通道中的网络流量为繁忙状态,即通道对应的带宽占用总是达到其对应的带宽限额。
在时刻T1时,获取到的带宽占用为10Mbps,通道对应的带宽限额以10%每单位时间的上升速度上升。在时刻T1+3时,带宽占用为13.31Mbps,预期单位时间后的带宽限额可调整为14.64Mbps,即在T1+3至T1+4的时间段内的T2时刻,带宽占用上升到14.5Mbps,到达了上线阈值(14.5Mbps)。因此,在T2时刻,设置变化速度为-20%每单位时间的下降速度,带宽限额开始以-20%每单位时间下降,且在T2+1至T2+2时刻内,即T3时刻带宽占用下降到7.5Mbps,到达下限阈值,于是在T3时刻,设置变化速度为10%每单位时间的上升速度,带宽限额开始以10%每单位时间上升,并按照上述过程反复调整。
如图2所示,通过以变化速度上调和下调带宽限额,使得通道对应的带宽占用呈波浪形浮动。
本实施例中,下降速度和上升速度可通过输入的速度配置请求进行配置。优选的,下降速度优选为上升速度的两倍。
在一个实施例中,带宽限额设置模块106还用于获取通道对应的带宽限额调整上限,判断获取到的通道对应的带宽限额是否大于带宽限额调整上限,若是,则设置带宽限额为带宽限额调整上限。
在一个实施例中,带宽限额设置模块106还用于获取通道对应的带宽限额调整下限,判断获取到的通道对应的带宽限额是否大于带宽限额调整下限,若是,则设置带宽限额为带宽限额调整下限。
如前所述,通道可包括静态通道和动态通道。静态通道即为前述的带宽限额为固定值的通道,动态通道即为前述的带宽限额以变化速度上升或下降的通道。
在本实施例中,动态通道还可包括半动态通道和全动态通道。半动态通道即对应了带宽限额调整上限和/或带宽限额调整下限的通道,全动态通道即不对应带宽限额调整上限且不对应带宽限额调整下限的通道。带宽限额调整上限和带宽限额调整下限可通过输入的带宽限额调整请求进行配置。
也就是说,在本实施例中,对于对应了带宽限额调整上限的半动态通道,带宽限额设置模块106可用于在以变化速度上调或下调半动态通道的过程中判断其对应的带宽限额是否高于带宽限额调整上限,若是,则将半动态通道对应的带宽限额重置为该带宽限额调整上限,否则,继续以变化速度上调或下调通道对应的带宽限额。
对于对应了带宽限额调整下限的半动态通道,带宽限额设置模块106可用于在以变化速度上调或下调半动态通道的过程中判断其对应的带宽限额是否低于带宽限额调整下限,若是,则将半动态通道对应的带宽限额重置为该带宽限额调整下限,否则,继续以变化速度上调或下调通道对应的带宽限额。
为半动态通道配置带宽限额调整上限和/或带宽限额调整下限,对通道的带宽占用进行了进一步的优先级划分,使得对应了带宽限额调整上限的通道即使在网络状况良好时,也只能占用带宽限额调整上限限定的份额,从而将空闲的带宽分配给未对应带宽限额调整上限的通道;而对应了带宽限额调整下限的通道即使在网络状况不理想时,也可以使用带宽限额调整下限限定的份额,从而限制了未对应带宽限额调整下限的通道对带宽的过度占用,从而起到了为通道合理分配带宽的作用,提高了带宽的利用率。
上述带宽占用率控制方法及装置中,通道对应的带宽限额不为固定值,而为以变化速度上升或下降的浮动值,根据带宽占用率的大小来调整带宽限额的变化速度,可使得在带宽资源有剩余时,动态地为通道分配额外的带宽资源;在带宽资源紧张时,动态地对通道的带宽占用进行限制,从而更加合理地利用了带宽资源,提高了带宽利用率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。