一种动态带宽调整方法与流程

文档序号:23624675发布日期:2021-01-12 10:36阅读:183来源:国知局
一种动态带宽调整方法与流程

本发明涉及一种动态带宽调整方法领域,具体涉及一种动态带宽调整方法。



背景技术:

htb(hierarchicaltokenbucket)算法是最常用的qos算法,支持针对不同类别的数据流进行带宽控制,支持预留和限制最高带宽。htb的分层结构支持灵活的带宽分配策略;

在htb算法中,要实现弹性带宽共享,而非单纯的限速,上下行带宽是必须设置的重要参数。如果带宽参数比实际值小,会造成带宽浪费;如果参数比实际值大,会造成htb的分类整流失效;

上下行带宽参数的获取一般有两种方式:测速工具,通过测速工具,如speedtest进行测速,测速时需要其他客户端停止大流量应用;手动设置,用户手动设置带宽值,需要用户有简单的网络知识,已从运营商处了解到带宽值;

采用第一种方法(测速工具)获取上下行带宽,首先要求其他客户端停止大流量应用,否则将影响测试结果(偏小),从而导致带宽浪费,其次,设备中内置测速工具进行测速,对cpu性能有一定的要求,如果测速受限于cpu的性能,那么也会造成带宽浪费;

采用第二种方法(手动设置)则要求用户有一定的网络知识,需从运营商处获取实际的带宽值,用户体验较差。



技术实现要素:

本发明要解决的技术问题是要求其他客户端停止大流量应用,否则将影响测试结果(偏小),从而导致带宽浪费,其次,设备中内置测速工具进行测速,对cpu性能有一定的要求,如果测速受限于cpu的性能,那么也会造成带宽浪费,本发明提供一种动态带宽调整方法,当开启qos功能后,会预设一个较小的带宽初始值b(0),或者是进行一次快速的测速保守估计,即尽量使得初始值比wan口的实际带宽值小,确保qos功能能够生效,当实际流量逼近设置的带宽值时或触发qos丢包时进行带宽值的调整,使得带宽值在短时间内从最初较小的初始值不断逼近实际带宽值,用以解决现有技术导致的缺陷。

为解决上述技术问题本发明提供以下的技术方案:

第一方面,本申请提供一种动态带宽调整方法,其中,包含以下步骤:

步骤a1:获取带宽初始值记为b(0);

步骤a2:在开启qos功能时对带宽值进行设置记为b(i),其中i=1,2,3…n,表示第几次;

步骤a3:统计wan口实际速率记为w(i),统计qos丢包数量记为d(i),其中i=1,2,3…n,表示第几次;

步骤a4:判断wan口实际速率w(i)是否接近设置的带宽值b(i),若接近,或触发qos丢包,即d(i)>0,则调整带宽值,随后返回步骤a3,若不接近,则进入步骤a5;

步骤a5:如果wan口实际速率w(i)连续多次超过或等于上一次设置的带宽值b(i-1),但并未触发qos丢包,即d(i)=0,则回调带宽值,并锁定该带宽值b(i-1),否则返回步骤a3;

qos丢包说明当前设置的带宽值b(i)<=wan口真实的带宽值,为了使得设置的带宽值b(i)接近真实的带宽值,需试探性的增大设置带宽值,直至wan口统计速率连续多次大于等于上一次的设置的带宽值b(i-1)却并未触发qos丢包,则认为当前设置的带宽值b(i)比实际偏大,锁定b(i-1)。

调整带宽值后,存在两种可能:

1.当前带宽值还小于实际带宽值;

2.当前带宽值已经超过实际带宽值;

对于第1种情况,wan口的实时流量可以得到提升,从而继续触发qos丢包,则可以继续尝试将带宽值调大;

对于第2种情况,wan口的实时流量可能会有较小的提升,当无论无何将无法再次触发qos丢包,为了避免qos长时间处于失效的状态,进行回调并锁定最终的带宽值,回调的判断条件为:wan口的实时流量在一段时间内持续逼近当前的带宽值但并没有触发qos丢包;

上述的一种动态带宽调整方法,其中,所述带宽初始值b(0)通过wan口自动快速测速进行获取,当一些客户端在使用大流量应用时,初始值可能会成为一个严重的瓶颈,按照逐步增大的算法进行调整会比较慢,从而造成不好的用户体验,为了规避这种情况的发生,本发明在算法中引入了快速调整的机制,如果在较短的一段时间内连续多次触发调整,那么将短暂关闭qos,使得实际流量直接提升到最大值,在qos短暂失效的时候进行wan口的速率统计,然后将统计得到的值设为快速调整的目标值。

上述的一种动态带宽调整方法,其中,需要周期性统计wan口实际速率w(i),周期性统计qos丢包数量d(i)。

上述的一种动态带宽调整方法,其中,判断wan口设置的带宽值b(i)是否调整的步骤如下:

步骤b1:计算设置的带宽值b(i)*95%的得到数值a,其中阈值95%可根据实验测定;

步骤b2:判断wan口实际速率w(i)与数值a的大小或判断qos是否出现丢包;

步骤b3:若wan口实际速率w(i)大于等于数值a或qos出现丢包,则调整设置带宽值b(i);

若wan口实际速率w(i)小于数值a且qos未出现丢包,则进入步骤a5。

上述的一种动态带宽调整方法,其中,调整设置带宽值b(i)的方法包含增加固定大小或增加固定比例。

上述的一种动态带宽调整方法,其中,步骤a5中wan口速率w(i)需连续多个周期超过或等于上一次设置的带宽值b(i-1)。

第二方面,本申请提供一种动态带宽调整装置,包含:

获取模块,用于获取带宽初始值记为b(0);

设置模块,用于在开启qos功能时对带宽值进行设置记为b(i),其中i=1,2,3…n,表示第几次;

统计模块,用于统计wan口实际速率记为w(i),统计qos丢包数量记为d(i),其中i=1,2,3…n,表示第几次;

判断模块,用于判断wan口实际速率w(i)是否接近设置的带宽值b(i),或qos丢包,即d(i)>0,若接近,则调整带宽值,随后返回步骤a3,若不接近,则进入步骤a5;

所述设置模块,还用于如果wan口实际速率w(i)连续多次超过或等于上一次设置的带宽值b(i-1),但并未触发qos丢包,即d(i)=0,则回调带宽值,并锁定该带宽值b(i-1),否则返回步骤a3。

第二方面第二个实施例,本申请动态带宽调整装置,其中统计模块用于周期性统计wan口实际速率w(i),周期性统计qos丢包数量d(i)。

第二方面第三个实施例,本申请动态带宽调整装置,其中,所述判断模块包括:

计算单元,用于计算设置的带宽值b(i)*95%的得到数值a;

判断单元,用于判断wan口实际速率w(i)与数值a的大小或判断qos是否出现丢包;

调整单元,用于若wan口实际速率w(i)大于等于数值a或qos出现丢包,则调整设置带宽值b(i);以及,若wan口实际速率w(i)小于数值a且qos未出现丢包,则进入步骤a5。

第三方面,本申请实施例还提供了一种电子设备,包括:处理器以及存储器;

所述存储器,用于存储所述处理器的计算机程序;

其中,所述处理器被配置为通过执行所述计算机程序来实现第一方面中任意一种可能的动态带宽调整方法。

第四方面,本申请实施例还提供了一种机器可读存储介质,其上存储有可执行指令,所述可执行指令在被机器执行时使得实现第一方面所提供的动态带宽调整方法。

依据上述本发明一种动态带宽调整方法提供的技术方案具有以下技术效果:

当开启qos功能后,会预设一个较小的带宽初始值b(0),或者是进行一次快速的测速保守估计,即尽量使得初始值比wan口的实际带宽值小,确保qos功能能够生效,当实际流量逼近设置的带宽值时或触发qos丢包时进行带宽值的调整,使得带宽值在短时间内从最初较小的初始值不断逼近实际带宽值。

附图说明

为了更清楚地说明本申请的实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单介绍。然而,本领域技术人员应当理解的是,下面描述中的附图仅仅是本申请的一些示例,并不限制其范围。

图1是本申请根据一示例性实施例示出的动态带宽调整方法的流程示意图;

图2是本申请根据另一示例性实施例示出的动态带宽调整方法中判断步骤的流程示意图;

图3是本申请根据一示例性实施例示出的动态带宽调整装置的结构示意图;

图4是本申请根据一示例性实施例示出的电子设备的结构示意图。

具体实施方式

为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,下结合具体图示,进一步阐述本发明。

须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。

同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。

本发明的一较佳实施例是提供一种动态带宽调整方法,目的是当开启qos功能后,会预设一个较小的带宽初始值b(0),或者是进行一次快速的测速保守估计,即尽量使得初始值比wan口的实际带宽值小,确保qos功能能够生效,当实际流量逼近设置的带宽值时或触发qos丢包时进行带宽值的调整,使得带宽值在短时间内从最初较小的初始值不断逼近实际带宽值。

图1是本申请根据一示例性实施例示出的动态带宽调整方法的流程示意图,根据图1所示,本申请一种动态带宽调整方法,其中,包含以下步骤:

步骤a1:获取带宽初始值记为b(0);

步骤a2:在开启qos功能时对带宽值进行设置记为b(i),其中i=1,2,3…n,表示第几次;

步骤a3:统计wan口实际速率记为w(i),统计qos丢包数量记为d(i),其中i=1,2,3…n,表示第几次;

步骤a4:判断wan口实际速率w(i)是否接近设置的带宽值b(i),若接近,或触发qos丢包,即d(i)>0,则调整带宽值,随后返回步骤a3,若不接近,则进入步骤a5;

步骤a5:如果wan口实际速率w(i)连续多次超过或等于上一次设置的带宽值b(i-1),但并未触发qos丢包,即d(i)=0,则回调带宽值,并锁定该带宽值b(i-1),否则返回步骤a3;

qos丢包说明当前设置的带宽值b(i)<=wan口真实的带宽值,为了使得设置的带宽值b(i)接近真实的带宽值,需试探性的增大设置带宽值,直至wan口统计速率连续多次大于等于上一次的设置的带宽值b(i-1)却并未触发qos丢包,则认为当前设置的带宽值b(i)比实际偏大,锁定b(i-1)。

调整带宽值后,存在两种可能:

1.当前带宽值还小于实际带宽值;

2.当前带宽值已经超过实际带宽值;

对于第1种情况,wan口的实时流量可以得到提升,从而继续出发qos丢包,则可以继续尝试将带宽值调大;

对于第2种情况,wan口的实时流量可能会有较小的提升,当无论无何将无法再次触发qos丢包,为了避免qos长时间处于失效的状态,进行回调并锁定最终的带宽值,回调的判断条件为:wan口的实时流量在一段时间内持续逼近当前的带宽值但并没有触发qos丢包;

其中,带宽初始值b(0)通过wan口自动快速测速进行获取,当一些客户端在使用大流量应用时,初始值可能会成为一个严重的瓶颈,按照逐步增大的算法进行调整会比较慢,从而造成不好的用户体验,为了规避这种情况的发生,本发明在算法中引入了快速调整的机制,如果在较短的一段时间内连续多次触发调整,那么将短暂关闭qos,使得实际流量直接提升到最大值,在qos短暂失效的时候进行wan口的速率统计,然后将统计得到的值设为快速调整的目标值。

其中,需要周期性统计wan口实际速率w(i),周期性统计qos丢包数量d(i)。

图2是本申请根据另一示例性实施例示出的动态带宽调整方法中判断步骤的流程示意图,其中,判断wan口设置的带宽值b(i)是否调整的步骤如下:

步骤b1:计算设置的带宽值b(i)*95%的得到数值a,其中阈值95%可根据实验测定;

步骤b2:判断wan口实际速率w(i)与数值a的大小或判断qos是否出现丢包;

步骤b3:若wan口实际速率w(i)大于等于数值a或qos出现丢包,则调整设置带宽值b(i);

若wan口实际速率w(i)小于数值a且qos未出现丢包,则进入步骤a5。

其中,调整设置带宽值b(i)的方法包含增加固定大小或增加固定比例。

其中,步骤a5中wan口速率w(i)需连续多个周期超过或等于上一次设置的带宽值b(i-1)。

综上,本发明的一种动态带宽调整方法,当开启qos功能后,会预设一个较小的带宽初始值b(0),或者是进行一次快速的测速保守估计,即尽量使得初始值比wan口的实际带宽值小,确保qos功能能够生效,当实际流量逼近设置的带宽值时或触发qos丢包时进行带宽值的调整,使得带宽值在短时间内从最初较小的初始值不断逼近实际带宽值。

第二方面,本申请提供一种动态带宽调整装置,图3是本申请根据一示例性实施例示出的动态带宽调整装置的结构示意图,动态带宽调整装置包含:

获取模块301,用于获取带宽初始值记为b(0);

设置模块302,用于在开启qos功能时对带宽值进行设置记为b(i),其中i=1,2,3…n,表示第几次;

统计模块303,用于统计wan口实际速率记为w(i),统计qos丢包数量记为d(i),其中i=1,2,3…n,表示第几次;

判断模块304,用于判断wan口实际速率w(i)是否接近设置的带宽值b(i),或qos丢包,即d(i)>0,若接近,则调整带宽值,随后返回步骤a3,若不接近,则进入步骤a5;

所述设置模块302,还用于如果wan口实际速率w(i)连续多次超过或等于上一次设置的带宽值b(i-1),但并未触发qos丢包,即d(i)=0,则回调带宽值,并锁定该带宽值b(i-1),否则返回步骤a3。

本发明在引入了快速调整的机制,如果在较短的一段时间内连续多次触发调整,那么将短暂关闭qos,使得实际流量直接提升到最大值,在qos短暂失效的时候进行wan口的速率统计,然后将统计得到的值设为快速调整的目标值。

本申请第二发明动态带宽调整装置的第二个实施例,其中统计模块用于周期性统计wan口实际速率w(i),周期性统计qos丢包数量d(i)。

本申请第二发明动态带宽调整装置的第三个实施例,其中,所述判断模块303包括:

计算单元,用于计算设置的带宽值b(i)*95%的得到数值a;

判断单元,用于判断wan口实际速率w(i)与数值a的大小或判断qos是否出现丢包;

调整单元,用于若wan口实际速率w(i)大于等于数值a或qos出现丢包,则调整设置带宽值b(i);以及,若wan口实际速率w(i)小于数值a且qos未出现丢包,则进入步骤a5。

图4是本申请根据一示例性实施例示出的电子设备的结构示意图。如图4所示,本实施例提供的电子设备700,包括:

处理器701以及存储器702;

所述存储器702,用于存储所述处理器的计算机程序;

其中,所述处理器701被配置为通过执行所述计算机程序来实现上述任一方法实施例中的步骤。

可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。

当所述存储器702是独立于处理器701之外的器件时,所述电子设备700,还可以包括:

总线703,用于连接所述处理器701以及所述存储器702。

此外,本申请实施例还提供一种机器可读存储介质。该机器可读存储介质可以存储有可执行指令,可执行指令在被机器执行时使得机器实现上面方法实施例的具体过程。

本申请上述的机器可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

此外,本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现。这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。

以上对发明的具体实施例进行了描述。需要理解的是,发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改做出若干简单推演、变形或替换,这并不影响发明的实质内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1