一种带宽分配方法及装置的制造方法

xiaoxiao2021-2-23  111

一种带宽分配方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,特别是涉及一种带宽分配方法及装置。
【背景技术】
[0002]目前路由器一般下挂多台设备共享网络带宽,如果一台设备使用迅雷下载抢占整个带宽后,其他设备很难再将带宽抢占过来,导致其他设备无法正常使用网络服务。
[0003]目前一些类似P2P下载软件使用了特殊的下载机制,使得使用该机制的软件在下载时可以迅速抢占较大带宽,直至抢占到整个带宽。比如迅雷下载软件,BT下载软件,风行下载软件,土豆、优酷在线视频等,在开启多线程模式下,下载多部电影时可以抢占所有带宽,导致其他设备无法再次抢占带宽,影响其他设备使用网络服务,甚至不能浏览网页。
[0004]在相关技术中,即使使用HTB算法(Hierarchical Token Bucket,算法的流量管理功能)将总带宽均分给每台设备,依然不能完美解决这个问题。目前可分为两种情况分析,一种情况是均分带宽且允许借用带宽,这种情况下某台设备抢占整个带宽后,因其无义务偿还其他设备的带宽,导致其他设备无法再次抢占带宽,参见图1所示的根据相关技术的基于HTB算法为两台设备分配带宽的第一示意图,图1中设备A抢占了绝大部分带宽,而设备B无法再次抢占更多带宽。另外一种情况,均分带宽且不允许借用带宽,此时虽然不存在某些设备无法抢到带宽的情况,但是当某些设备使用带宽较少时,整个带宽的浪费较为严重,参见图2所示的根据相关技术的基于HTB算法为两台设备分配带宽的第二示意图,设备A最多只能占用部分带宽,设备B占用较少带宽,造成其余带宽的资源浪费。由上文分析可知,现有HTB算法的固有特性导致多台设备无法公平使用总带宽。
[0005]针对相关技术中带宽分配方法不够合理的问题,目前尚未提出有效的解决方案。

【发明内容】

[0006]针对相关技术中带宽分配方法不够合理的问题,本发明提供了一种带宽分配方法及装置,用以解决上述技术问题。
[0007]根据本发明的一个方面,本发明提供了一种带宽分配方法,其中,该方法包括:将路由器的上/下行总带宽按照预设分配比,划分为上/下行父类带宽和上/下行预留带宽;监测路由器下挂的各个设备的带宽流量;其中,带宽流量超过预设门限的各个设备为第一类设备,带宽流量未超过预设门限的各个设备为第二类设备;根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备。
[0008]优选地,所述带宽流量超过所述预设门限,包括以下四种情况之一:各个设备的上行带宽流量超过上行预设门限;各个设备的下行带宽流量超过下行预设门限;各个设备的上行带宽流量超过上行预设门限,且,各个设备的下行带宽流量超过下行预设门限;各个设备的上行带宽流量超过上行预设门限,或,各个设备的下行带宽流量超过下行预设门限;
[0009]优选地,根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备,包括:将所述上/下行父类带宽,分配给第一类设备使用;将剩余带宽分配给第二类设备使用;其中,所述剩余带宽=上/下行预留带宽+(上/下行父类带宽一所述第一类设备使用的带宽)。
[0010]优选地,所述上/下行预设门限值小于上/下行预留带宽值。
[0011]优选地,采取以下方式至少之一进行第一类设备的带宽分配:平均分配、按预设比例分配、按优先级分配。
[0012]根据本发明的另一方面,本发明还提供了一种带宽分配装置,其中,该装置包括:带宽划分模块,用于将路由器的上/下行总带宽按照预设分配比,划分为上/下行父类带宽和上/下行预留带宽;流量监测模块,用于监测路由器下挂的各个设备的带宽流量;其中,带宽流量超过预设门限的各个设备为第一类设备,带宽流量未超过预设门限的各个设备为第二类设备;带宽分配模块,用于根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备。
[0013]优选地,所述带宽流量超过所述预设门限,包括以下四种情况之一:各个设备的上行带宽流量超过上行预设门限;各个设备的下行带宽流量超过下行预设门限;各个设备的上行带宽流量超过上行预设门限,且,各个设备的下行带宽流量超过下行预设门限;各个设备的上行带宽流量超过上行预设门限,或,各个设备的下行带宽流量超过下行预设门限;
[0014]优选地,所述带宽分配模块包括:第一分配单元,用于将所述上/下行父类带宽分配给第一类设备使用;第二分配单元,用于将剩余带宽分配给第二类设备使用;其中,所述剩余带宽=上/下行预留带宽+(上/下行父类带宽一所述第一类设备使用的带宽)。
[0015]优选地,所述上/下行预设门限值小于上/下行预留带宽值。
[0016]优选地,采取以下方式至少之一进行第一类设备的带宽分配:平均分配、按预设比例分配、按优先级分配。
[0017]本发明有益效果如下:
[0018]本发明利用HTB算法中已有的带宽控制功能,通过在总带宽中预留带宽,设定门限以及动态配置设备带宽等机制,在较少浪费总带宽的情况下,实现所有用户均能实时抢占均分带宽,达到公平共享带宽的目的,提升了用户享受网络服务的体验。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0020]图1是根据相关技术的基于HTB算法为两台设备分配带宽的第一示意图;
[0021]图2是根据相关技术的基于HTB算法为两台设备分配带宽的第二示意图;
[0022]图3是根据本发明实施例的带宽分配方法的流程图;
[0023]图4是根据本发明实施例的带宽分配的第一示意图;
[0024]图5是根据本发明实施例的带宽分配的第二示意图;
[0025]图6是根据本发明实施例的带宽分配的第三示意图;
[0026]图7是根据本发明实施例的带宽分配的第四示意图;
[0027]图8是根据本发明实施例的带宽分配装置的结构框图。
【具体实施方式】
[0028]为了解决现有技术中带宽分配方法不够合理的问题,本发明提供了一种带宽分配方法及装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0029]本实施例提供了一种带宽分配方法,该方法可以在路由器侧实现,图3是根据本发明实施例的带宽分配方法的流程图,如图3所示,该方法包括以下步骤(步骤S302-步骤S306):
[0030]步骤S302,将路由器的上/下行总带宽按照预设分配比,划分为上/下行父类带宽和上/下行预留带宽。该预设分配比可根据实际情况确定,例如:上/下行父类带宽占80%,上/下行预留带宽占20%等。
[0031]步骤S304,监测路由器下挂的各个设备的带宽流量;其中,带宽流量超过预设门限的各个设备归为第一类设备,带宽流量未超过预设门限的各个设备归为第二类设备。该预设门限的数值,可根据实际操作情况具体设定。
[0032]在本实施例中,基于路由器的上下行两条线路,带宽流量超过预设门限,可以包括以下四种情况之一:
[0033]1)各个设备的上行带宽流量超过上行预设门限;
[0034]2)各个设备的下行带宽流量超过下行预设门限;
[0035]3)各个设备的上行带宽流量超过上行预设门限,且,各个设备的下行带宽流量超过下行预设门限;
[0036]4)各个设备的上行带宽流量超过上行预设门限,或,各个设备的下行带宽流量超过下行预设门限。
[0037]其中,上/下行预设门限值小于上/ 下行预留带宽值。
[0038]步骤S306,根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备。
[0039]在该步骤中,带宽的分配方法可以是:将上/下行父类带宽,分配给第一类设备使用;将剩余带宽分配给第二类设备使用;其中,剩余带宽=上/下行预留带宽+ (上/下行父类带宽一第一类设备使用的带宽)。在实际操作过程中,第一类设备使用的带宽不一定等于为其分配的上/下行父类带宽,即第一类设备不一定将为其分配的上/下行父类带宽全部使用。
[0040]本实施例利用HTB算法中已有的带宽控制功能,通过在总带宽中预留带宽,设定门限以及动态配置设备带宽等机制,在较少浪费总带宽的情况下,实现所有用户均能实时抢占均分带宽,达到公平共享带宽的目的,提升了用户享受网络服务的体验。
[0041]第一类设备的带宽分配原则可以是以下方式至少之一:平均分配、按预设比例分配、按优先级分配。对超过预设门限的所有设备共享父类带宽,且不允许这些设备再借用总带宽。
[0042]本实施例在总带宽中预留部分带宽作为突发带宽(即预留带宽),剩余带宽(父类带宽)动态均分下挂设备,初始时允许所有设备突发抢占带宽。本实施例中定义父类带宽为总带宽减去预留带宽后的剩余带宽。HTB算法中子类可以借用父类带宽,且无义务偿还带宽,从而容易导致其他子类“饿死”,而本发明在总带宽中预留部分带宽,不允许已经抢占了总带宽所有剩余带宽的子类借用,从而可以使其他子类通过该部分预留带宽突发。在本发明中特别设置预设门限值,当其他子类突发流量超过预设门限时,即可与所有其他超过门限值的子类共享父类带宽。其中,
[0043]总带宽包括上行总带宽和下行总带宽。
[0044]预留带宽包括上行预留带宽和下行预留带宽。
[0045]父类带宽包括上行父类带宽和下行父类带宽。
[0046]每台设备对应一个子类,每个子类基于设备MAC (Media Access Control)分配带宽。
[0047]预留带宽可以按照总带宽百分比预留,一般预留带宽要保证非抢占情况下可以正常浏览网页,即预留带宽一般为非零值。预留带宽也可以结合带宽绝对值共同限制预留大小,即可以在取总带宽百分比的基础上限定最小值和最大值。预留带宽包括上行预留带宽和下行预留带宽。当前只有一台设备时,预留带宽为零,即不再预留带宽,该设备可使用整个带宽。预留带宽的设置在可以保证成功抢占带宽的前提下越小越好。
[0048]预设门限是设备可以共享父类带宽的流量最小值。流量超过该最小值的设备有权公平分享父类带宽。预设门限分为上行带宽预设门限和下行带宽预设门限。预设门限一般小于预留带宽。
[0049]预设门限虽然越小越容易触发动态均分带宽,但是频繁均分带宽容易造成带宽浪费,特别是有的设备只使用较小流量的情况。抢占带宽的灵敏度与预设门限有关,预设门限越低灵敏度越高;反之越低。
[0050]在本实施例中,优选地,可以设置定时器实时检测每台设备流量。抢占带宽的灵敏度与定时器的时间间隔有关。时间间隔越小灵敏度越高,反之越低。时间间隔并非越小越好,时间间隔越小占用CPU (Central Processing Unit)时间越长,影响系统运行其他业务。时间间隔的设置要在保证不影响系统性能的基础上达到最好的用户体验,即具有较高的灵敏度。
[0051]当检测到超过预设门限的设备流量经过一段时间低于预设门限时,该设备将不再与其他设备均分父类带宽。该设备仅保证最小带宽为所有设备均分总带宽后的平均带宽,且允许该设备借用总带宽。当路由器只有一台设备在线时,该设备可以使用整个总带宽。
[0052]下面举例说明该实施例的具体运行方式。
[0053]本实施例的实施方案:初始化时,将总带宽预留20%,剩余80%均分给所有下挂设备。如果总带宽预留20%超过1Mbps (Mill1n bits per second),则预留1Mbps。总带宽80%的带宽称为父类带宽。启动定时器可以每隔一秒检测上下行网络流量,若有N个设备上行或下行流量超过某一预设门限,则将父类带宽均分给这N个设备(不允许借用),允许其他设备在父类带宽均分基础上突发至父类带宽。上下行流量未超过预设门限的设备,可以使用总带宽的预留带宽突发抢占带宽,直至与其他超过预设门限的设备共同均分带宽。
[0054]假设网络环境下行总带宽为10Mbps,上行总带宽为1Mbps,那么按照上述实施方案,下行预留带宽为1Mbps,下行父类带宽为9Mbps,上行预留带宽为200Kbps,上行父类带宽为800Kbps,假设上行带宽预设门限和下行带宽预设门限均为50Kbps,动态配置带宽触发机制类型为:超过上行预设门限或超过下行预设门限。
[0055]A.当路由器只下挂一台设备时,允许其占用全部带宽,可以配置TC(TrafficControl)规则如下:
[0056]tc class add dev ifbO parent 1:2 classid 1:101 htb rate lOOOOkbit ceillOOOOkbit pr1 0
[0057]tc class add dev ethO parent 1:2 classid 1:101 htb rate lOOOkbit ceillOOOkbit pr1 0
[0058]其中ifbO为下行汇聚口设备,ethO为上行汇聚口设备。
[0059]B.当路由器下挂四台设备,其中有两台设备(设备101、设备102)流量超过预设门限时,可以配置TC规则如下:
[0060]下行:
[0061]tc class add dev ifbO parent 1:2 classid 1:101 htb rate 4500kbit ceil4500kbit pr1 0
[0062]tc class add dev ifbO parent 1:2 classid 1:102 htb rate 4500kbit ceil4500kbit pr1 0
[0063]tc class add dev ifbO parent 1:2 classid 1:103 htb rate 2500kbit ceillOOOOkbit pr1 0
[0064]tc class add dev ifbO parent 1:2 classid 1:104 htb rate 2500kbit ceillOOOOkbit pr1 0
[0065]上述设备103和设备104的可用带宽资源可以限定为2500kbit到lOOOOkbit,其中,2500kbit为下行总带宽10Mbps除以4 (总设备数量)得到。
[0066]上行:
[0067]tc class add dev ethO parent 1:2 classid 1:101 htb rate 400kbit ceil400kbit pr10
[0068]tc class add dev ethO parent 1:2 classid 1:102 htb rate 400kbit ceil400kbit pr10
[0069]tc class add dev ethO parent 1:2 classid 1:103 htb rate 250kbit ceillOOOkbit pr1 0
[0070]tc class add dev ethO parent 1:2 classid 1:104 htb rate 250kbit ceillOOOkbit pr1 0
[0071]上述设备103和设备104的可用带宽资源可以限定为250kbit到lOOOkbit,其中,250kbit为上行总带宽1Mbps除以4 (总设备数量)得到。
[0072]当设备101或102流量超过50Kbps时,两台设备均可使用4.5Mbps下行父类带宽,且不会抢占更多带宽,参见图4所示的带宽分配的第一示意图。
[0073]此时设备103或104可以借用下行总带宽的下行预留带宽lMbps+(4.5Mbps 一设备使用带宽)*2(注:两台设备101和102)来抢占带宽,一旦其流量超过预设门限,即可与设备101和102共享均分9Mbps下行带宽。其中,设备使用带宽不一定等于3Mbps或
2.25Mbps,即为设备103或104分配的下行父类带宽,不一定被设备103或104全部使用。
[0074]设备103带宽流量超过预设门限参见图5所示的带宽分配的第二示意图。
[0075]设备104带宽流量也超过预设门限参见图6所示的带宽分配的第三示意图。
[0076]设备102、103和104均低于预设门限参见图7所示的带宽分配的第四示意图。
[0077]对应于上述实施例介绍的带宽分配方法,本实施例提供了一种带宽分配装置,该装置可以设置在路由器侧,用以实现上述实施例。图8是根据本发明实施例的带宽分配装置的结构框图,如图8所示,该装置包括:带宽划分模块10、流量监测模块20和带宽分配模块30。下面对该结构进行详细介绍。
[0078]带宽划分模块10,用于将路由器的上/下行总带宽按照预设分配比,划分为上/下行父类带宽和上/下行预留带宽;
[0079]流量监测模块20,连接至带宽划分模块10,用于监测路由器下挂的各个设备的带宽流量;其中,带宽流量超过预设门限的各个设备归为第一类设备,带宽流量未超过预设门限的各个设备归为第二类设备;
[0080]带宽分配模块30,连接至流量监测模块20,用于根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备。
[0081]本实施例利用HTB算法中已有的带宽控制功能,通过在总带宽中预留带宽,设定门限以及动态配置设备带宽等机制,在较少浪费总带宽的情况下,实现所有用户均能实时抢占均分带宽,达到公平共享带宽的目的,提升了用户享受网络服务的体验。
[0082]带宽流量超过预设门限,包括以下四种情况之一:各个设备的上行带宽流量超过上行预设门限;各个设备的下行带宽流量超过下行预设门限;各个设备的上行带宽流量超过上行预设门限,且,各个设备的下行带宽流量超过下行预设门限;各个设备的上行带宽流量超过上行预设门限,或,各个设备的下行带宽流量超过下行预设门限;
[0083]优选地,带宽分配模块30包括:第一分配单元,用于将上/下行父类带宽分配给第一类设备使用;第二分配单元,用于将剩余带宽分配给第二类设备使用;其中,剩余带宽=上/下行预留带宽+ (上/下行父类带宽一第一类设备使用的带宽)。
[0084]本实施例中,上/下行预设门限值小于上/下行预留带宽值。
[0085]本实施例中,可以采取以下方式至少之一进行第一类设备的带宽分配:平均分配、按预设比例分配、按优先级分配。
[0086]目前一些类似P2P下载软件使用了特殊的下载机制,使得使用该机制的软件在下载时可以迅速抢占较大带宽,直至抢占到整个带宽。比如迅雷下载软件,BT下载软件,风行下载软件,土豆、优酷在线视频等,在开启多线程模式下,下载多部电影时可以抢占所有带宽,导致其他设备无法再次抢占带宽,影响其他设备使用网络服务,甚至不能浏览网页。使用本发明后这些抢占带宽的软件将无法抢占所有带宽,且其他设备可以抢占并公平共享带宽。
[0087]尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
【主权项】
1.一种带宽分配方法,其特征在于,所述方法包括: 将路由器的上/下行总带宽按照预设分配比,划分为上/下行父类带宽和上/下行预留带宽; 监测路由器下挂的各个设备的带宽流量;其中,带宽流量超过预设门限的各个设备归为第一类设备,带宽流量未超过预设门限的各个设备归为第二类设备; 根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备。2.如权利要求1所述的方法,其特征在于,所述带宽流量超过所述预设门限,包括以下四种情况之一: 各个设备的上行带宽流量超过上行预设门限; 各个设备的下行带宽流量超过下行预设门限; 各个设备的上行带宽流量超过上行预设门限,且,各个设备的下行带宽流量超过下行预设门限; 各个设备的上行带宽流量超过上行预设门限,或,各个设备的下行带宽流量超过下行预设门限。3.如权利要求1所述的方法,其特征在于,根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备,包括: 将所述上/下行父类带宽,分配给第一类设备使用; 将剩余带宽分配给第二类设备使用;其中,所述剩余带宽=上/下行预留带宽+(上/下行父类带宽一所述第一类设备使用的带宽)。4.如权利要求2所述的方法,其特征在于,所述上/下行预设门限值小于上/下行预留带宽值。5.如权利要求1所述的方法,其特征在于,采取以下方式至少之一进行第一类设备的带宽分配: 平均分配、按预设比例分配、按优先级分配。6.一种带宽分配装置,其特征在于,所述装置包括: 带宽划分模块,用于将路由器的上/下行总带宽按照预设分配比,划分为上/下行父类带宽和上/下行预留带宽; 流量监测模块,用于监测路由器下挂的各个设备的带宽流量;其中,带宽流量超过预设门限的各个设备归为第一类设备,带宽流量未超过预设门限的各个设备归为第二类设备; 带宽分配模块,用于根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备。7.如权利要求6所述的装置,其特征在于,所述带宽流量超过所述预设门限,包括以下四种情况之一: 各个设备的上行带宽流量超过上行预设门限; 各个设备的下行带宽流量超过下行预设门限; 各个设备的上行带宽流量超过上行预设门限,且,各个设备的下行带宽流量超过下行预设门限; 各个设备的上行带宽流量超过上行预设门限,或,各个设备的下行带宽流量超过下行预设门限。8.如权利要求6所述的装置,其特征在于,所述带宽分配模块包括: 第一分配单元,用于将所述上/下行父类带宽分配给第一类设备使用; 第二分配单元,用于将剩余带宽分配给第二类设备使用;其中,所述剩余带宽=上/下行预留带宽+ (上/下行父类带宽一所述第一类设备使用的带宽)。9.如权利要求7所述的装置,其特征在于,所述上/下行预设门限值小于上/下行预留带宽值。10.如权利要求6所述的装置,其特征在于,采取以下方式至少之一进行第一类设备的带宽分配:平均分配、按预设比例分配、按优先级分配。
【专利摘要】本发明公开了一种带宽分配方法及装置。其中,该方法包括:将路由器的上/下行总带宽按照预设分配比,划分为上/下行父类带宽和上/下行预留带宽;监测路由器下挂的各个设备的带宽流量;其中,带宽流量超过预设门限的各个设备为第一类设备,带宽流量未超过预设门限的各个设备为第二类设备;根据监测结果,将上/下行父类带宽和上/下行预留带宽,相应分配给第一类设备和第二类设备。本发明利用HTB算法中已有的带宽控制功能,设定门限以及动态配置设备带宽等机制,在较少浪费总带宽的情况下,实现所有用户均能实时抢占均分带宽,达到公平共享带宽的目的,提升了用户享受网络服务的体验。
【IPC分类】H04L12/911
【公开号】CN105490967
【申请号】CN201410475540
【发明人】邵长春
【申请人】中兴通讯股份有限公司
【公开日】2016年4月13日
【申请日】2014年9月17日
【公告号】WO2015131692A1

最新回复(0)