CN103997467A - 一种数据流随机公平分享带宽的方法及装置 - Google Patents

一种数据流随机公平分享带宽的方法及装置 Download PDF

Info

Publication number
CN103997467A
CN103997467A CN201410212370.1A CN201410212370A CN103997467A CN 103997467 A CN103997467 A CN 103997467A CN 201410212370 A CN201410212370 A CN 201410212370A CN 103997467 A CN103997467 A CN 103997467A
Authority
CN
China
Prior art keywords
token
time
data packet
current data
time period
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.)
Granted
Application number
CN201410212370.1A
Other languages
English (en)
Other versions
CN103997467B (zh
Inventor
周明明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Gongjin Electronics Co Ltd
Original Assignee
Shenzhen Gongjin Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Gongjin Electronics Co Ltd filed Critical Shenzhen Gongjin Electronics Co Ltd
Priority to CN201410212370.1A priority Critical patent/CN103997467B/zh
Publication of CN103997467A publication Critical patent/CN103997467A/zh
Application granted granted Critical
Publication of CN103997467B publication Critical patent/CN103997467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明适用于流量控制技术领域,提供了一种数据流随机公平分享带宽的方法及装置,包括:在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次时间段或者偶数次时间段;在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。本发明提供了一种不基于队列的限速方式来实现数据流随机公平分享带宽,相比于传统的实现方式,大大降低了实现难度。

Description

一种数据流随机公平分享带宽的方法及装置
技术领域
本发明属于流量控制技术领域,尤其涉及一种数据流随机公平分享带宽的方法及装置。
背景技术
随着网络技术的飞速发展,网络终端设备越来越多,用户对网络的需求也越来越大。网络运营商虽然每年都在提高上行带宽,但其上行带宽的提高速度远不及广大用户对网速的增长需求。假设某网络中间设备的带宽为10Mb/s,用户A使用BitTorrent(又称比特洪流或BT)、视频传输或其他需要大流量的数据传输功能时,10Mb/s的上行带宽会被用户A占去大部分甚至全部,导致其他用户网络服务质量很差甚至无法获得网络服务。
因此,针对多用户上网,对于有限的带宽,如何保证每个用户的每种业务的网络需求都能公平地发起与处理,是一项重要的工作。
现有技术中,为了实现数据流随机公平分享带宽,采用Linux自带的QoS(Quality of Service)中的流量监管(Traffic Policing)机制。该机制是基于QDisc(Queuing Discipline,排队规则)的,所涉及的队列和过滤器种类繁多,且需要结合应用层TC(Traffic Control,流量控制)配置工具,实现难度高。
发明内容
本发明实施例的目的在于提供一种数据流随机公平分享带宽的方法,以降低数据流随机公平分享带宽的实现难度。
本发明实施例是这样实现的,一种数据流随机公平分享带宽的方法,包括:
在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次时间段或者偶数次时间段;
在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
本发明实施例的另一目的在于提供一种数据流随机公平分享带宽的装置,包括:
指定时间段数据包通过模块,用于在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次时间段或者偶数次时间段;
总令牌桶借用模块,用于在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过连接跟踪令牌桶来对业务数据流进行流量控制,通过总令牌桶来对总数据流进行流量控制,并根据时间段次数条件,借用总令牌桶内的剩余令牌给业务数据流,从而在网络拥塞的情况下提高上行带宽的利用率,且大大降低了数据流随机公平分享带宽的的实现难度。
附图说明
图1是本发明实施例提供的数据流随机公平分享带宽的方法的实现流程图;
图2是本发明实施例提供的数据流随机公平分享带宽的方法中的奇数次时间段和偶数次时间段的示意图;
图3是本发明实施例提供的数据流随机公平分享带宽的方法中采用双层令牌桶的示意图;
图4是本发明另一实施例提供的数据流随机公平分享带宽的方法的实现流程图;
图5是本发明实施例提供的数据流随机公平分享带宽的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过连接跟踪令牌桶来对业务数据流进行流量控制,通过总令牌桶来对总数据流进行流量控制,并根据时间段次数条件,借用总令牌桶内的剩余令牌给业务数据流,从而在网络拥塞的情况下提高上行带宽的利用率,且大大降低了数据流随机公平分享带宽的的实现难度。
本实施例中的令牌桶包括总令牌桶和至少一个连接跟踪令牌桶。可以认为,每个用户的每种网络业务对应于一条业务数据流,共享同一带宽的所有用户的所有网络业务对应于总数据流。为了保证每个用户的每种业务的网络需求能够公平地发起与处理,可以以相同的速率向每个连接跟踪令牌桶中放入令牌,且每个令牌允许发送相同的比特数,从而实现对业务数据流进行流量控制,以使每条业务数据流随机公平地分享带宽。
图1示出了本发明实施例提供的数据流随机公平分享带宽的方法的实现流程图,详述如下:
在S101中,在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次时间段或者偶数次时间段。
图2示出了本发明实施例提供的数据流随机公平分享带宽的方法中的奇数次时间段和偶数次时间段的示意图。在本发明实施例中,将时间段分为奇数次时间段和偶数次时间段。
需要说明的是,本实施例提供的数据流随机公平分享带宽的方法是不基于队列的,也就是说,没有队列对到来的数据包进行缓存,每个数据包的到来都是即时的。在指定时间段(奇数次时间段或者偶数次时间段)内,若到来的当前数据包所需消耗的令牌数小于或等于连接跟踪令牌桶内的剩余令牌数,则当前数据包获取对应个数的令牌,以通过当前数据包。在这里,通过当前数据包指的是,允许连接跟踪令牌桶对应的业务数据流发送当前数据包。
在S102中,在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
图3示出了本发明实施例提供的数据流随机公平分享带宽的方法中采用双层令牌桶的示意图。参照图3,在指定时间段内,当前数据包到来后,首先采用连接跟踪令牌桶对当前数据包进行处理,通过连接跟踪令牌桶判断当前数据包所需消耗的令牌数是否大于连接跟踪令牌桶内的剩余令牌数,若是,则进一步判断当前时间段次数条件是否满足总令牌桶的借用条件,若满足,则判断当前数据包所需消耗的令牌数是否小于或等于总令牌桶内的剩余令牌数,若是,则当前数据包获取对应个数的令牌,以通过当前数据包。其中,当当前时间段次数为奇数次时间段时,满足总令牌桶的借用条件。
进一步的,所述方法还包括:
在所述偶数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数时,丢弃所述当前数据包。
作为本发明的一个实施例,采用奇偶时间段次数错开处理的方式,在时间段次数为偶数的情况下,不允许当前数据包借用总令牌桶内的令牌;在时间段次数为奇数的情况下允许当前数据包借用总令牌桶内的令牌,以保证上行带宽的利用率达到最大值。需要说明的是,也可以规定在时间段次数为奇数的情况下,不允许当前数据包借用总令牌桶内的令牌;在时间段次数为偶数的情况下允许当前数据包借用总令牌桶内的令牌。为了便于说明,本实施例只说明允许在奇数次时间段内借用总令牌桶内令牌的情况。
在本实施例中,若当前时间段为奇数次时间段,则采用连接跟踪令牌桶和总令牌桶的双层令牌桶处理方式来对当前数据包进行处理。若当前时间段为偶数次时间段,则只采用连接跟踪令牌桶来对当前数据包进行处理,当当前数据包所需消耗的令牌数大于连接跟踪令牌桶内的剩余令牌数时,直接丢弃当前数据包。
进一步的,所述方法还包括:
在所述指定时间段内,当所述当前数据包所需消耗的令牌数大于所述总令牌桶内的剩余令牌数时,丢弃所述当前数据包。
在本发明实施例中,在奇数次时间段内,当当前数据包所需消耗的令牌数大于连接跟踪令牌桶内的剩余令牌数时,将当前数据包交给总令牌桶处理。若此时总令牌桶内的剩余令牌数不足以通过当前数据包,则丢弃当前数据包。
在偶数次时间段内,当当前数据包所需消耗的令牌数大于总令牌桶内的剩余令牌数时,该当前数据包所需消耗的令牌数必然大于连接跟踪令牌桶内的剩余令牌数,因此丢弃当前数据包。
图4示出了本发明另一实施例提供的数据流随机公平分享带宽的方法的实现流程图,为了便于说明,仅示出了与本实施例相关的部分。参照图4:
a:判断当前数据包所需消耗的令牌数是否大于连接跟踪令牌桶内的剩余令牌数?若否,则执行b;若是,则执行c;
b:通过当前数据包;
c:判断时间段次数是否为奇数?若否,则执行d;若是,则执行e;
d:丢弃当前数据包;
e:判断当前数据包所需消耗的令牌数是否小于或等于总令牌桶内的剩余令牌数?若是,则执行b;若否,则执行d。
进一步的,所述方法还包括:
当由所述偶数次时间段切换到所述奇数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值和叠加值重置所述总令牌桶内的剩余令牌数,所述叠加值为经过上一个偶数次时间段后所述总令牌桶内的剩余令牌数。
在本发明实施例中,在指定时间段由偶数次时间段切换到奇数次时间段时,对连接跟踪令牌桶和总令牌桶进行状态重置处理。根据预设值重置连接跟踪令牌桶内的剩余令牌数,根据上行带宽值和叠加值重置总令牌桶内的剩余令牌数。优选的,所有连接跟踪令牌桶的预设值之和等于上行带宽值。例如,预设值为x比特每秒,上行带宽值为y比特每秒,连接跟踪令牌桶的个数为N,则y=N×x。
由于采用奇偶时间段处理的方式,导致在偶数次时间段内存在一定的带宽流失,因此,本实施例在奇数次时间段的状态重置处理中,将经过上一个偶数次时间段后总令牌桶内的剩余令牌数添加到本次奇数次时间段的总令牌桶内,也就是将偶数次时间段的剩余总带宽延续到奇数次时间段内,从而保证在拥塞的情况下上行带宽的利用率达到最大。
进一步的,所述方法还包括:
当由所述奇数次时间段切换到所述偶数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值重置所述总令牌桶内的剩余令牌数。
在本发明实施例中,当指定时间段由奇数次时间段切换到偶数次时间段时,根据预设值重置连接跟踪令牌桶内的剩余令牌数,根据上行带宽值重置总令牌桶内的剩余令牌数。
本发明实施例通过连接跟踪令牌桶来对业务数据流进行流量控制,通过总令牌桶来对总数据流进行流量控制,并根据时间段次数条件,借用总令牌桶内的剩余令牌给业务数据流,从而在网络拥塞的情况下提高上行带宽的利用率,且大大降低了数据流随机公平分享带宽的的实现难度。
图5示出了本发明实施例提供的数据流随机公平分享带宽的装置的结构框图,该装置可以用于运行图1至图4所述的数据流随机公平分享带宽的方法。为了便于说明,仅示出了与本实施例相关的部分。
参照图5,该装置包括:
指定时间段数据包通过模块51,在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次时间段或者偶数次时间段。
总令牌桶借用模块52,在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
进一步的,所述装置还包括:
偶数次时间段数据包丢弃模块,在所述偶数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数时,丢弃所述当前数据包。
进一步的,所述装置还包括:
数据包丢弃模块,在所述指定时间段内,当所述当前数据包所需消耗的令牌数大于所述总令牌桶内的剩余令牌数时,丢弃所述当前数据包。
进一步的,所述装置还包括:
奇数次时间段状态重置模块,当由所述偶数次时间段切换到所述奇数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值和叠加值重置所述总令牌桶内的剩余令牌数,所述叠加值为经过上一个偶数次时间段后所述总令牌桶内的剩余令牌数。
进一步的,所述装置还包括:
偶数次时间段状态重置模块,当由所述奇数次时间段切换到所述偶数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值重置所述总令牌桶内的剩余令牌数。
本发明实施例通过连接跟踪令牌桶来对业务数据流进行流量控制,通过总令牌桶来对总数据流进行流量控制,并根据时间段次数条件,借用总令牌桶内的剩余令牌给业务数据流,从而在网络拥塞的情况下提高上行带宽的利用率,且大大降低了数据流随机公平分享带宽的的实现难度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据流随机公平分享带宽的方法,其特征在于,所述方法包括:
在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次时间段或者偶数次时间段;
在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述偶数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数时,丢弃所述当前数据包。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述指定时间段内,当所述当前数据包所需消耗的令牌数大于所述总令牌桶内的剩余令牌数时,丢弃所述当前数据包。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当由所述偶数次时间段切换到所述奇数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值和叠加值重置所述总令牌桶内的剩余令牌数,所述叠加值为经过上一个偶数次时间段后所述总令牌桶内的剩余令牌数。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当由所述奇数次时间段切换到所述偶数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值重置所述总令牌桶内的剩余令牌数。
6.一种数据流随机公平分享带宽的装置,其特征在于,所述装置包括:
指定时间段数据包通过模块,用于在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次时间段或者偶数次时间段;
总令牌桶借用模块,用于在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
偶数次时间段数据包丢弃模块,用于在所述偶数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数时,丢弃所述当前数据包。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
数据包丢弃模块,用于在所述指定时间段内,当所述当前数据包所需消耗的令牌数大于所述总令牌桶内的剩余令牌数时,丢弃所述当前数据包。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
奇数次时间段状态重置模块,用于当由所述偶数次时间段切换到所述奇数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值和叠加值重置所述总令牌桶内的剩余令牌数,所述叠加值为经过上一个偶数次时间段后所述总令牌桶内的剩余令牌数。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
偶数次时间段状态重置模块,用于当由所述奇数次时间段切换到所述偶数次时间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值重置所述总令牌桶内的剩余令牌数。
CN201410212370.1A 2014-05-20 2014-05-20 一种数据流随机公平分享带宽的方法及装置 Active CN103997467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410212370.1A CN103997467B (zh) 2014-05-20 2014-05-20 一种数据流随机公平分享带宽的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410212370.1A CN103997467B (zh) 2014-05-20 2014-05-20 一种数据流随机公平分享带宽的方法及装置

Publications (2)

Publication Number Publication Date
CN103997467A true CN103997467A (zh) 2014-08-20
CN103997467B CN103997467B (zh) 2017-11-14

Family

ID=51311476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410212370.1A Active CN103997467B (zh) 2014-05-20 2014-05-20 一种数据流随机公平分享带宽的方法及装置

Country Status (1)

Country Link
CN (1) CN103997467B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051936A (zh) * 2006-05-18 2007-10-10 华为技术有限公司 一种业务流量监管方法和系统
CN101075971A (zh) * 2007-07-16 2007-11-21 中兴通讯股份有限公司 一种层次化QoS的实现方法
CN101227410A (zh) * 2008-02-03 2008-07-23 杭州华三通信技术有限公司 流量监管方法及流量监管设备
CN101557348A (zh) * 2009-05-25 2009-10-14 杭州华三通信技术有限公司 一种基于令牌桶的报文转发方法及装置
CN101834786A (zh) * 2010-04-15 2010-09-15 华为技术有限公司 队列调度的方法和装置
EP2317701A1 (en) * 2009-10-28 2011-05-04 Broadcom Corporation Priority-based hierarchical bandwidth sharing
CN102238068A (zh) * 2010-05-04 2011-11-09 中兴通讯股份有限公司 一种报文的传输方法和系统
CN103326953A (zh) * 2013-03-28 2013-09-25 华为技术有限公司 一种基于令牌桶的流量限制方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051936A (zh) * 2006-05-18 2007-10-10 华为技术有限公司 一种业务流量监管方法和系统
CN101075971A (zh) * 2007-07-16 2007-11-21 中兴通讯股份有限公司 一种层次化QoS的实现方法
CN101227410A (zh) * 2008-02-03 2008-07-23 杭州华三通信技术有限公司 流量监管方法及流量监管设备
CN101557348A (zh) * 2009-05-25 2009-10-14 杭州华三通信技术有限公司 一种基于令牌桶的报文转发方法及装置
EP2317701A1 (en) * 2009-10-28 2011-05-04 Broadcom Corporation Priority-based hierarchical bandwidth sharing
CN101834786A (zh) * 2010-04-15 2010-09-15 华为技术有限公司 队列调度的方法和装置
CN102238068A (zh) * 2010-05-04 2011-11-09 中兴通讯股份有限公司 一种报文的传输方法和系统
CN103326953A (zh) * 2013-03-28 2013-09-25 华为技术有限公司 一种基于令牌桶的流量限制方法和装置

Also Published As

Publication number Publication date
CN103997467B (zh) 2017-11-14

Similar Documents

Publication Publication Date Title
US9185047B2 (en) Hierarchical profiled scheduling and shaping
US10103993B2 (en) Phantom queue link level load balancing system, method and device
EP3410641A1 (en) Network-traffic control method and network device thereof
EP2575329B1 (en) Proportional bandwidth sharing of the excess part in a MEF Traffic Profile
US9699095B2 (en) Adaptive allocation of headroom in network devices
US20130250762A1 (en) Method and apparatus for Lossless Behavior For Multiple Ports Sharing a Buffer Pool
US9548872B2 (en) Reducing internal fabric congestion in leaf-spine switch fabric
Wang et al. Freeway: Adaptively isolating the elephant and mice flows on different transmission paths
CN101692648B (zh) 一种队列调度方法及系统
CN102811176B (zh) 一种数据流量控制方法和装置
CN103634235A (zh) 一种限定虚拟机网络接口速度的方法
CN107835133B (zh) 一种基于多属性决策的流优先级控制方法
US20140029627A1 (en) Managing Crossbar Oversubscription
WO2021098730A1 (zh) 交换网络拥塞管理方法、装置、设备和存储介质
CN103441943B (zh) 一种流量报文控制方法及装置
CN101478486B (zh) 一种交换网数据调度方法、设备和系统
CN109995608B (zh) 网络速率计算方法和装置
CN102780630A (zh) 一种基于FPGA队列实现QoS队列的方法和设备
CN104348753A (zh) 数据包转发方法以及数据包转发装置
CN109391559A (zh) 网络设备
CN102611924A (zh) 一种视频云平台的流量控制方法及系统
CN102664803B (zh) 一种ef队列的实现方法和设备
US20140095902A1 (en) Power Saving Traffic Management Policies
CN103997467A (zh) 一种数据流随机公平分享带宽的方法及装置
CN103491020B (zh) 多链路绑定不同带宽负载均衡方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant