CN101741751A - 流量整形调度方法、流量整形调度装置及路由设备 - Google Patents
流量整形调度方法、流量整形调度装置及路由设备 Download PDFInfo
- Publication number
- CN101741751A CN101741751A CN201010109580A CN201010109580A CN101741751A CN 101741751 A CN101741751 A CN 101741751A CN 201010109580 A CN201010109580 A CN 201010109580A CN 201010109580 A CN201010109580 A CN 201010109580A CN 101741751 A CN101741751 A CN 101741751A
- Authority
- CN
- China
- Prior art keywords
- queue
- flow queue
- group
- flow
- described flow
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/621—Individual queue per connection or flow, e.g. per VC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种流量整形调度方法、流量整形调度装置及路由设备,方法包括:获取上一级调度通过的用户队列的用户队列标识,查询与用户队列标识对应的至少一个流队列组标识,每个流队列组标识与用户队列的一个或多个流队列相对应;根据每个流队列组标识对应的令牌桶的当前剩余令牌数目,判断对应的流队列是否满足调度条件,并将满足调度条件的流队列调度出队。本发明实施例通过将用户队列的每个业务分别配置到对应的流队列组中,通过对与各业务对应的各流队列组的流量进行限制,进而限制各业务所占用的带宽流量,从而避免了因用户的单项业务流量过大而引起的该用户或其他用户的其他业务被阻塞的情况的出现。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种流量整形调度方法、流量整形调度装置及路由设备。
背景技术
随着因特网的普及和数据通信技术的发展,通信网络中时刻都在传递着大量数据,为了满足用户定制的网络服务质量,需要对网络中传输的数据进行发送控制,以实现不同用户对应的不同等级的服务。实现这些差别服务的关键技术之一是流量整形。流量整形调度方法是一种对一定时间内进入网络中的业务量进行控制,使之变成期望的形式便于传送的方法。流量整形可以对用户不规则或不符合预定流量特征的流量进行整形,使用户的流量更加平滑,以利于网络上下游之间的带宽匹配。
现有技术中常见的用于对用户组的流量进行限制,以使其与定制的宽带服务相匹配的流量整形调度方法为用户组队列整形(Subscriber GroupQueue shaping,GQ shaping)方法。这种方法的基本原理为:根据区域的划分或者其它参考因素,将所有的用户队列(Subscriber Queue,简称SQ)划分为多个用户组队列(Group Queue,简称GQ),每一个GQ包括多个SQ。为每个GQ设置对应的令牌桶,代表该GQ允许通过的带宽流量,通过对每个GQ的令牌桶中令牌数目的控制,限制该GQ对应的带宽流量,以达到对该GQ所包括的所有SQ的总流量进行限制的目的。因而在一个GQ用户组中,当其中一部分SQ消耗的流量较少时,GQ分配给其余的SQ的流量便可以增大,从而网络带宽得到了充分的利用。
但是这种流量整形调度方法却存在一定的缺陷:用户组队列整形方法只以GQ为单位,对该用户组的总流量进行了有效限制,却并没有考虑到各用户所对应的各个业务所消耗的流量。而当一个GQ组内的某一个用户,或者多个用户的单项或单类业务流量特别大,需占用很大带宽时,由于该GQ组的总流量有限,因而该用户的其他业务或者该GQ组内的其他用户的流量便会被阻塞,得不到很好的宽带服务。因此,现有技术的这种用户组队列整形方案,虽然从GQ组的角度对多个SQ的流量总和进行了控制,却有可能导致用户的单项业务的阻塞。
发明内容
本发明实施例提供一种流量整形调度方法、流量整形调度装置及路由设备,用以以业务为单位,对用户的业务流量进行较之合理的限制。
本发明实施例提供一种流量整形调度方法,包括:
读取上一级调度通过的用户队列的用户队列标识,查询与所述用户队列标识对应的至少一个流队列组标识,每个所述流队列组标识与所述用户队列的一个或多个流队列相对应;
根据每个所述流队列组标识对应的令牌桶的剩余令牌数目,判断对应的所述流队列是否满足调度条件,并将满足调度条件的所述流队列调度出队。
以及,本发明实施例还提供一种流量整形调度装置,包括:
查询模块,用于读取上一级调度通过的用户队列的用户队列标识,查询与所述用户队列标识对应的至少一个流队列组标识,每个所述流队列组标识与所述用户队列的一个或多个流队列相对应;
判断模块,用于根据每个所述流队列组标识对应的令牌桶的剩余令牌数目,判断对应的所述流队列是否满足调度条件,并将满足调度条件的所述流队列调度出队。
以及,本发明实施例还提供一种路由设备,包括路由模块,以及上述的流量整形调度装置,所述流量整形调度装置与所述路由模块连接。
可见,本发明实施例的流量整形调度方法、流量整形调度装置及路由设备,基于用户队列的每项业务对应的每个流队列分别配置到对应的流队列组中的前提下,通过对与各业务对应的各流队列组的流量进行限制,进而限制各业务所占用的带宽流量,从而避免了因用户的单项业务流量过大而引起的、该用户或其他用户的其他业务被阻塞的情况的出现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种流量整形调度方法的流程示意图;
图2为本发明实施例的另一种流量整形调度方法的流程示意图;
图3为本发明实施例的第二对应列表的示意图;
图4为本发明实施例的一种流量整形调度装置的结构示意图;
图5为本发明实施例的另一种流量整形调度装置的结构示意图;
图6为本发明实施例的一种路由设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的一种流量整形调度方法的流程图,如图1所示,本实施例的方法可以包括如下步骤:
步骤100,获取上一级调度通过的用户队列的用户队列标识,查询与该用户队列标识对应的至少一个流队列组标识,每个流队列组标识与用户队列的一个或多个流队列相对应;
为了保证用户宽带业务的服务质量(Quality of Service,简称QoS),且使用户获得与其定制的服务等级级别对应的宽带服务,在为用户的各项网络业务提供宽带服务时,通常需要通过一系列的流量整形以及调度方法,对用户进入网络中的业务量进行较为合理的控制。
本发明实施例的流量整形调度方法以与单项业务对应的流队列(FlowQueue,简称FQ)为单位而进行。具体地,在本发明实施例中,根据各个业务的不同,将分别与每个用户SQ的多个业务相对应的多个FQ分别配置到不同的流队列组(Flow Group Queue,简称FGQ)中,且为每个FGQ组对应配置有一个令牌桶,用以限制该FGQ组对应的允许进入网络的数据流量。
该FGQ组的配置与划分与原有的多个SQ所对应的GQ组无关,而与用户的业务有关,即每个FGQ组所对应的SQ可以属于同一个GQ组,也可以分别属于不同的GQ组,具体的配置可以根据实际情况以及根据用户的需求而定。此外,对于一个FGQ组而言,为其分配的业务,即分配给该FGQ组的FQ可以为一个或者多个,例如可以将两个流量消耗较小的业务的FQ配置到一个FGQ组中,或者也可以将优先级较低的业务,如所有的BE业务的FQ配置到一个FGQ组中,而具体的配置同样可以根据实际情况以及根据用户的需求而定。在本发明实施例中,并不限制为各FGQ组分配对应的用户的FQ的具体方式。
而对于一个用户SQ而言,该SQ所对应的多个FQ可以分别属于与不同业务对应的不同FGQ组中,因此通过控制其中任意一个FGQ组的流量,可以相应地控制与该FGQ组对应的一项或多项业务所占用的流量,从而避免了用户的单项业务流量较大而引起的该用户或其他用户的其他业务被阻塞的情况的出现。
具体地,本实施例中,当上一级调度(如用户组队列整形GQshaping)结束后,调度装置从存储有上一级调度的调度结果的存储列表中,读取通过上一级调度的SQ所对应的标识SQID。这里的SQID为***分配给每个用户且与该用户的队列对应的唯一标识,且此时调度装置读取的该SQID为通过了上一级调度,可以进入本级调度的SQ对应的标识。读取了相应的SQID后,调度装置将查询与该对应或关联的所有的FGQ组的标识。具体地,此处所指的查询与SQID对应的所有FGQID,具体可以理解为,查询与SQID对应的用户队列SQ中的流队列FQ对应的所有FGQID,需要说明的是,与SQID对应的SQ中的多个FQ可以对应相同的FGQID,也可以分别对应不同的FGQID。
由于一个SQ可以对应多项业务,即对应多个FQ,而每个FQ都可以被配置到对应业务的一个FGQ组中,因此此时调度装置查询到的与读取到的SQID对应的FGQID同样可以为多个,而在本实施例中,根据实际应用情况,每个SQ通常最多可以有8个FQ,即一个SQID通常最多可以对应8项不同的业务,因此在本步骤中,查询到的与SQID对应的FGQID通常最多为8个,即如果该SQID对应的SQ中的多个FQ对应相同的FGQID,则查询到的与SQID对应的FGQID少于8个;如果该SQID对应的SQ中的每个FQ对应不同的FGQID,则查询到的与SQID对应的FGQID为8个。
步骤101,根据每个流队列组标识对应的令牌桶的当前剩余令牌数目,判断对应的流队列是否满足调度条件,并将满足调度条件的流队列调度出队。
调度装置查询得到SQID对应的各FGQID后,为了对用户的与各FGQID相对应的各业务的流量进行相应的控制,将根据与各FGQID对应的令牌桶中当前剩余令牌的数目,对与各FGQID对应的一个或多个FQ是否满足本级调度的调度条件,即是否能够通过本级调度,而进入下一级调度进行判断。具体地,对于一个与FGQID对应的FGQ组而言,该FGQ组的令牌桶中当前剩余的令牌数目代表该FGQ组当前允许被传输的数据流量,即代表了与该FGQ组对应的一项或多项业务可以承受的带宽能力。因此,调度装置根据与每个FGQID对应的令牌桶中剩余的令牌数目,可以判断出此时在本次调度中,与该FGQID对应的FQ是否能够被调度出队,而根据该判断的结果,调度装置将满足调度条件的FQ相应地调度出队,使该调度出队的FQ参与到下一级调度中,相反地,对于不满足调度条件的FQ,调度装置不将其调度出队,该FQ因而也不会参与到下一级的调度中。
需要说明的是,实际应用中,本发明实施例的流量整形调度方法可以与现有的GQ shaping方法进行结合,共同对用户组的总流量以及对各业务的流量进行控制。而且本发明实施例的FGQ shaping方法可以在GQ shaping方法之前进行、或者在GQ shaping方法之后进行,GQ shaping在整个流量整形与队列调度过程中,可以作为本发明实施例的流量整形调度的上一级调度,或者下一级调度。而优化地,将GQ shaping作为本实施例的流量整形调度的上一级调度,通过首先对各用户SQ是否可以通过GQ进行判断,过滤掉不能通过GQ shaping的SQ,再进行本发明实施例的FGQ shaping,能够大大地减小整个整形调度所消耗的资源,为一种较为优化的整形调度方式。可见,本实施例的流量整形调度方法,基于用户队列的每项业务对应的每个流队列被分别配置到对应的流队列组的前提下,通过对与各业务对应的各流队列组的流量进行限制,进而限制各业务所占用的带宽流量,从而避免了因用户的单项业务流量过大而引起的该用户或其他用户的其他业务被阻塞的情况的出现。
进一步地,本实施例的流量整形调度方法,既可以对同一个用户的不同业务划分为不同的组,使一些流量大的业务不会影响到该用户其他业务的使用;又可以对不同用户的相同业务组成一组,限制其流量,使不同用户使用该业务的总带宽是有限制的,保证该业务不会阻塞到其他用户的其他业务。
图2为本发明实施例的另一种流量整形调度方法的流程示意图,如图2所示,本实施例的方法包括如下步骤:
步骤200,获取上一级调度通过的SQ对应的SQID;
在本实施例中,以上一级调度为GQ shaping调度为例进行说明。即在本步骤200中,流量整形调度装置读取到的SQID为在上一级的GQ shaping调度中,被调度出队的SQ对应的ID。
步骤201,查询与获取到的SQID对应的至少一个FGQID;
流量整形调度装置读取到上一级调度通过的SQID后,将在其配置信息中,查询与该SQID对应的各FGQID,以对查询到的各FGQID对应用户的各业务流量进行控制,该FGQID与SQ的一个或者多个FQ相对应,即对应于用户的一项或多项业务。
具体地,查询与SQID对应的各FGQID可以理解为,查询与SQID对应的用户队列SQ中的流队列FQ的ID所对应的FGQID,且需要说明的是,与SQID对应的SQ中的多个FQ可以对应相同的FGQID,也可以分别对应不同的FGQID。
具体地,本实施例中,本步骤201可以包括如下子步骤:
步骤2010,根据存储有SQID和流队列组标识基数(BASE_FGQID)对应关系的第一对应列表,查询与SQ对应的BASE_FGQID;
步骤2011,根据与SQID对应的、存储有FQID和增量值对应关系的第二对应列表,查询与SQ中需要流量整形的FQ各自对应的增量值;
步骤2012,将查询到的BASE_FGQID和每个FQ对应的增量值相加,计算得到对应的每个FQ的FGQID;
为了查询与读取到的SQID对应的FGQID,本实施例中,流量整形调度装置将在存储有各SQID与流队列组标识基数(BASE_FGQID)的对应关系的第一对应列表中,查询与该SQID对应的SQ的BASE_FGQID。并在存储有该SQ中各FQ的ID与增量值的对应关系的第二对应列表中,查询与该SQ中的需要进行本次流量整形的各FQ对应的各增量值。根据查询到的该SQ对应的BASE_FGQID、以及与该SQ的各FQ分别对应的各增量值,流量整形调度装置可以计算得到各FQ分别对应的各FGQID。
具体地,由于对于每个SQ而言,都对应了该用户的多项业务,即对应了多个FQ,因而若在对应列表中,将每个用户SQ对应的各个FQ都与该各个FQ各自对应的FGQID一一对应存储,由于FGQID的比特数据量较大,将消耗较多的存储资源。因此,在本实施例中,为每个用户的SQID对应配置了一个FGQID的基数值BASE_FGQID,每个SQID都与相对的一个BASE_FGQID一一对应,且存储在第一对应列表中,而在该与SQID对应的BASE_FGQID的基础上,SQ的各FQ的FGQID都可以通过该BASE_FGQID与一定的增量值计算得到。本实施例中,将每个SQ的各FQ所对应的FGQID在BASE_FGQID基础上的增量值与该FQ的对应关系存储在第二对应列表中,进一步地,第二对应列表中还对各FQ是否需要进行本次的流量整形调度进行了标识。
如图3所示,图3为本发明实施例的第二对应列表的示意图。在图3所示的第二对应列表中,以1个SQ对应8个FQ(FQ0~FQ7)为例进行说明,如图所示,在第二对应列表中为每个FQ都分配了1bit的标识位F,用于标识该FQ是否需要进行本次的流量整形调度,此外还为每个FQ分配了3bit的存储空间,以对应存储该FQ的增量值OFFSET_FGQID。因此当标识位F标识该FQ需要参与到本次的流量整形调度中时,流量整形装置通过查询与该FQ对应的增量值OFFSET_FGQID,便可以根据在第一对应列表中查询得到的BASE_FGQID分别与该增量值,计算得到该FQ对应的FGQID。于是,根据第一对应列表和第二对应列表,流量整形装置可以查询得到SQ中需要流量整形的所有FQ各自对应的FGQID。
具体地,在本实施例中,根据BASE_FGQID和各增量值得到每个FQ的FGQID的具体计算过程可以为基于相加、相减或者其他运算规则,具体的设置可以根据实际情况而定。在本发明实施例中,并不对其进行限制。
下面以16K数量级的SQID和16K数量级的FGQID为例,分别对上述第一对应列表和第二对应列表的所占用的存储资源进行说明。由于所有的FGQID为16K数量级,因此FGQID需要使用14bit的数据表示,于是对于16K数量级的SQID而言,需要一个深度为16K,宽度为14bit的第一对应列表来映射所有的SQID和BASE_FGQID的对应关系。此外对于每个SQ而言,该SQ的每个FQ还需要3bit的数据来表示该FQ对应的增量值,以及1bit的数据来表示该FQ是否需要参与到本实施例的FGQ shaping中,因此,以每个SQ对应8个FQ为例,每个SQ还需要一个32bit的第二对应列表来映射该SQ的所有FQ与增量值的对应关系。对应于每个SQ,***为其配置的FQ与增量值的对应关系可能是相同的,因此,这些对应关系相同的SQ可以共同使用一个第二对应列表模板,以减少消耗的存储资源。
步骤202,读取查询到的每个FGQID各自对应的令牌桶的当前剩余令牌数目;
查询到与SQID对应的各FGQID之后,流量整形调度装置将对与各FGQID对应的SQ的各FQ是否能够通过本级调度,而进入下一级调度进行判断。具体地,流量整形调度装置的此次判断通过令牌桶流量控制方法进行。因此,流量整形调度装置将首先根据查询到的各FGQID,读取与各FGQID对应的令牌桶中的剩余令牌数目,以根据该剩余令牌数目决定与该FGQID对应的用户SQ的一个或多个FQ是否满足本次调度的条件。
步骤203,根据读取到的各FGQID对应的令牌桶中的当前剩余令牌数目,判断对应的FQ是否满足调度条件;
读取到各FGQID各自对应的令牌数后,流量整形调度装置根据该读取结果,分别对与该FGQID对应的一个或多个FQ是否能够通过本次调度进行判断。具体地,本实施例中,流量整形调度装置的判断过程可以包括如下几个子步骤:
步骤2030,判断各FGQID对应的令牌桶中的剩余令牌数目是否大于等于该FGQID的预设阈值,若是,执行步骤2031,若否,执行步骤2032;
步骤2031,确定该SQ中与该FGQID对应的FQ满足调度条件,执行步骤204;
步骤2032,确定该SQ中与该FGQID对应的FQ不满足调度条件,执行步骤204;
流量整形调度装置判断读取到的与SQID对应的各FGQID的剩余令牌数目是否大于等于该FGQ组的预设阈值,此处所指的该FGQ组的预设阈值为针对该FGQ组对应的业务设置的、在对应的业务的服务过程中,至少需要为该FGQ组的令牌桶保留的最低的业务流量。因此,若流量整形调度装置经过判断,得到该FGQ组的令牌桶中的剩余令牌数大于或等于该预设阈值的结果,将由此确定该SQ中该FGQID对应的FQ满足了本级调度的调度条件,能够通过本级调度,进入到下一级调度中或数据被传输。相反地,若量整形调度装置经过判断,得到该FGQ组的令牌桶中的剩余令牌数小于该预设阈值的结果,则将由此确定该SQ中该FGQID对应的FQ并不满足本级调度的调度条件,不能够通过本级调度。
步骤204,将满足调度条件的SQ的各FQ调度出队;
流量整形调度装置将与满足了调度条件的FQ的调度通过标识相应地置位,并将该FQ调度出队,这些FQ将进入到下一级的调度中或数据直接被传输,而不满足调度条件的FQ则将被本次调度过滤掉,不参与到下一级调度中或丢弃。
步骤205,根据下一级调度反馈的调度结果信息,对通过下一级调度的FQ的FGQID对应的令牌桶的令牌数目进行更新;
流量整形调度装置将满足了本级调度条件的FQ调度出队,以使这些FQ进入下一级调度,而下一级调度完成后将向本级调度的流量整形调度装置反馈下一级调度的调度结果信息。该调度结果信息中指示了在下一级调度的过程中,通过了下一级调度的所有FQ,而流量整形装置在接收到该调度结果信息后,根据其中指示的通过了下一级调度的所有FQ,对与该FQ对应的FGQID的令牌桶的令牌数目进行更新,减去对应的令牌桶中的相应令牌数目,以表示因为该FQ出队,一些令牌被消耗掉了,以使该FGQID对应的令牌桶中的令牌数目与实际调度相符合。而对于没有通过下一级调度的FQ,即便在本级调度中满足了调度条件,得到了本级调度出队,由于在下一级调度中没有被通过,因此流量整形装置也不会对这些没有通过下一级调度的FQ的FGQID对应的令牌桶的令牌数目进行更新。
需要说明的是,在本实施例的方法中,对于与每个FGQ组对应的令牌桶中的令牌数目,流量整形调度装置还将根据各FGQ组的FGQID对应的配置信息,相应地向与该FGQID对应的令牌桶中进行令牌的回填。具体地,该配置信息包括第一配置信息和第二配置信息,第一配置信息指定相邻两次令牌回填间的时间间隔,第二配置信息指定每次回填的令牌的数目,流量整形调度装置将以与第一配置信息对应的固定时间间隔,定期地向与该FGQID对应的令牌桶中回填与第二配置信息对应的数目的令牌,以使各FGQ组的令牌桶中的令牌数目以一定的速率得以恢复。
可见,本实施例的流量整形调度方法,基于用户队列的每个业务或流队列FQ被分别配置到对应的流队列组的前提,通过对与各业务对应的各流队列组的流量进行限制,进而限制各业务所占用的带宽流量,从而避免了因用户的单项业务流量过大而引起的该用户或其他用户的其他业务被阻塞的情况的出现。
本实施例的流量整形调度方法,既可以对同一个用户的不同业务划分为不同的组,使一些流量大的业务不会影响到该用户其他业务的使用;又可以对不同用户的相同业务组成一组,限制其流量,使不同用户使用该业务的总带宽是有限制的,保证该业务不会阻塞到其他用户的其他业务。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明实施例的一种流量整形调度装置的结构示意图,如图4所示,具体地,本实施例的流量整形调度装置包括:查询模块11、判断模块12和调度模块13。其中:
查询模块11用于获取上一级调度通过的SQ,查询与该SQID对应的至少一个FGQID,每个FGQID与SQ的一个或多个FQ相对应;
判断模块12用于根据每个FGQID对应的令牌桶的当前剩余令牌数目,判断对应的FQ是否满足调度条件;
调度模块13则用于将判断模块12确定的满足调度条件的FQ调度出队。
具体地,本实施例中,所有模块所涉及的具体工作过程,可以参考上述流量整形调度方法所涉及的相关实施例揭露的相关内容,在此不再赘述。
可见,本实施例的流量整形调度装置,基于用户队列的每个业务或流队列FQ被分别配置到对应的流队列组的前提,通过对与各业务对应的各流队列组的流量进行限制,进而限制各业务所占用的带宽流量,从而避免了因用户的单项业务流量过大而引起的该用户或其他用户的其他业务被阻塞的情况的出现。
图5为本发明实施例的另一种流量整形调度装置的结构示意图,如图5所示,在上述实施例的技术方案的基础上,本实施例的流量整形调度装置中的查询模块11还可以包括:第一查询模块111、第二查询模块112以及计算模块113。其中:
第一查询模块111用于根据存储有SQID和BASE_FGQID对应关系的第一对应列表,查询与上一级调度通过的SQID对应的BASE_FGQID;
第二查询模块112用于根据与上述SQID对应的、存储有FQ和增量值对应关系的第二对应列表,查询与SQ的FQ各自对应的增量值;
计算模块113用于根据第一查询模块111查询到的BASE_FGQID、以及第二查询模块112查询到的每个FQ各自对应的增量值,计算得到对应的每个FQ的FGQID。
进一步地,本实施例的流量整形调度装置中的判断模块12还可以包括:读取模块121和确定模块122。其中:
读取模块121用于读取与查询模块11查询到的每个FGQID各自对应的令牌桶的剩余令牌数目;
确定模块122用于若FGQID的剩余令牌数目大于等于该FGQ的预设阈值,则确定与该FGQID对应的SQ的FQ满足调度条件,若FGQID的剩余令牌数目小于该FGQ的预设阈值,则确定与该FGQID对应的SQ的FQ不满足调度条件。
更进一步地,在上述实施方案的基础上,本实施例的流量整形调度装置还可以包括令牌更新模块14和令牌回填模块15。
具体地,令牌更新模块14用于根据下一级调度反馈的调度结果信息,对通过下一级调度的FQ的FGQID对应的令牌桶的令牌数目进行更新,该调度结果信息中指示了该通过下一级调度的FQ。
令牌回填模块15用于根据各FGQID对应的第一配置信息和第二配置信息,以第一配置信息指定的速率,向该FGQID对应的令牌桶中回填第二配置信息指定的数目的令牌。
具体地,本实施例中,所有模块所涉及的具体工作过程,可以参考上述流量整形调度方法所涉及的相关实施例揭露的相关内容,在此不再赘述。
可见,本实施例的流量整形调度装置,基于用户队列的每个业务或流队列FQ被分别配置到对应的流队列组的前提,通过对与各业务对应的各流队列组的流量进行限制,进而限制各业务所占用的带宽流量,从而避免了因用户的单项业务流量过大而引起的该用户或其他用户的其他业务被阻塞的情况的出现。
本实施例的流量整形调度装置,既可以对同一个用户的不同业务划分为不同的组,使一些流量大的业务不会影响到该用户其他业务的使用;又可以对不同用户的相同业务组成一组,限制其流量,使不同用户使用该业务的总带宽是有限制的,保证该业务不会阻塞到其他用户的其他业务。
图6为本发明实施例的一种路由设备的结构示意图,如6所示,本实施例的路由设备包括路由模块1,以及上述实施例中的流量整形调度装置2,用于对以与业务对应的FQ为单位,对单项或多项的业务的流量进行控制。
具体地,本实施例中,所有模块所涉及的具体工作过程,可以参考上述流量整形调度方法、流量整形调度装置所涉及的相关实施例揭露的相关内容,在此不再赘述。
可见,本实施例的路由设备,基于用户队列的每个业务或流队列FQ被分别配置到对应的流队列组的前提,通过对与各业务或流队列FQ对应的各流队列组的流量进行限制,进而限制各业务所占用的带宽流量,从而避免了因用户的单项业务流量过大而引起的该用户或其他用户的其他业务被阻塞的情况的出现。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种流量整形调度方法,其特征在于,包括:
获取上一级调度通过的用户队列的用户队列标识,查询与所述用户队列标识对应的至少一个流队列组标识,每个所述流队列组标识与所述用户队列的一个或多个流队列相对应;
根据每个所述流队列组标识对应的令牌桶的当前剩余令牌数目,判断对应的所述流队列是否满足调度条件,并将满足调度条件的所述流队列调度出队。
2.根据权利要求1所述的流量整形调度方法,其特征在于,所述查询与所述用户队列标识对应的至少一个流队列组标识包括:
根据存储有所述用户队列标识和流队列组基数标识对应关系的第一对应列表,查询与所述用户队列对应的所述流队列组标识基数;
根据与所述用户队列标识对应的、存储有所述流队列标识和增量值对应关系的第二对应列表,查询与所述用户队列中需要流量整形的流队列各自对应的增量值;
根据查询到的所述流队列组标识基数和分别与每个所述流队列对应的增量值,计算得到对应的每个所述流队列的流队列组标识。
3.根据权利要求1或2所述的流量整形调度方法,其特征在于,所述根据每个所述流队列组标识对应的令牌桶的当前剩余令牌数目,判断对应的所述流队列是否满足调度条件包括:
读取查询到的所述每个所述流队列组标识各自对应的令牌桶的当前剩余令牌数目;
若所述流队列组标识的当前剩余令牌数目大于等于所述流队列组标识的预设阈值,则确定所述用户队列中与所述流队列组标识对应的流队列满足调度条件,若所述流队列组标识的当前剩余令牌数目小于所述流队列组标识的预设阈值,则确定所述用户队列中与所述流队列组标识对应的流队列不满足调度条件。
4.根据权利要求1所述的流量整形调度方法,其特征在于,所述方法还包括:
根据所述下一级调度反馈的调度结果信息,对通过了所述下一级调度的流队列的所述流队列组标识对应的令牌桶的令牌数目进行更新,所述调度结果信息用于指示所述通过了所述下一级调度的流队列。
5.根据权利要求1所述的流量整形调度方法,其特征在于,所述方法还包括:
根据所述流队列组标识的第一配置信息和第二配置信息,以所述第一配置信息指定的固定时间间隔,定期向所述流队列组标识对应的令牌桶中回填所述第二配置信息指定的数目的令牌。
6.一种流量整形调度装置,其特征在于,包括:
查询模块,用于获取上一级调度通过的用户队列的用户队列标识,查询与所述用户队列标识对应的至少一个流队列组标识,每个所述流队列组标识与所述用户队列的一个或多个流队列相对应;
判断模块,用于根据每个所述流队列组标识对应的令牌桶的当前剩余令牌数目,判断对应的所述流队列是否满足调度条件;
调度模块,用于将所述判断模块确定的满足调度条件的所述流队列调度出队。
7.根据权利要求6所述的流量整形调度装置,其特征在于,所述查询模块包括:
第一查询模块,用于根据存储有所述用户队列标识和流队列组标识基数对应关系的第一对应列表,查询与所述用户队列对应的所述流队列组标识基数;
第二查询模块,用于根据与所述用户队列标识对应的、存储有所述流队列和增量值对应关系的第二对应列表,查询与所述用户队列的流队列各自对应的所述增量值;
计算模块,用于根据所述第一查询模块查询到的所述流队列组标识基数、和所述第二查询模块查询到的每个所述流队列对应的所述增量值,计算得到对应的每个所述流队列的所述流队列组标识。
8.根据权利要求6或7所述的流量整形调度装置,其特征在于,所述判断模块包括:
读取模块,用于读取查询到的每个所述流队列组标识各自对应的令牌桶的剩余令牌数目;
确定模块,用于若所述流队列组标识的当前剩余令牌数目大于等于所述流队列组标识的预设阈值,则确定与所述流队列组标识对应的所述用户队列的流队列满足调度条件,若所述流队列组标识的当前剩余令牌数目小于所述流队列组标识的预设阈值,则确定与所述流队列组标识对应的所述用户队列的流队列不满足调度条件。
9.根据权利要求6所述的流量整形调度装置,其特征在于,还包括:
令牌更新模块,用于根据所述下一级调度反馈的调度结果信息,对通过所述下一级调度的流队列的所述流队列组标识对应的令牌桶的令牌数目进行更新,所述调度结果信息中指示了所述通过所述下一级调度的流队列。
10.根据权利要求6所述的流量整形调度装置,其特征在于,还包括:
令牌回填模块,用于根据所述流队列组标识的第一配置信息和第二配置信息,以所述第一配置信息指定的固定时间间隔,定期向所述流队列组标识对应的令牌桶中回填所述第二配置信息指定的数目的令牌。
11.一种路由设备,包括路由模块,其特征在于,还包括:如权利要求6~10任一所述的流量整形调度装置,所述流量整形调度装置与所述路由模块连接。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010109580XA CN101741751B (zh) | 2010-02-09 | 2010-02-09 | 流量整形调度方法、流量整形调度装置及路由设备 |
EP11151784.3A EP2357764B1 (en) | 2010-02-09 | 2011-01-24 | Traffic shaping scheduling method, traffic shaping scheduling apparatus, and routing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010109580XA CN101741751B (zh) | 2010-02-09 | 2010-02-09 | 流量整形调度方法、流量整形调度装置及路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741751A true CN101741751A (zh) | 2010-06-16 |
CN101741751B CN101741751B (zh) | 2012-04-04 |
Family
ID=42464656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010109580XA Active CN101741751B (zh) | 2010-02-09 | 2010-02-09 | 流量整形调度方法、流量整形调度装置及路由设备 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2357764B1 (zh) |
CN (1) | CN101741751B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012109880A1 (zh) * | 2011-08-04 | 2012-08-23 | 华为技术有限公司 | 队列调度方法和装置 |
CN102857440A (zh) * | 2012-08-17 | 2013-01-02 | 杭州华三通信技术有限公司 | 数据处理方法与交换机 |
CN103685062A (zh) * | 2013-12-02 | 2014-03-26 | 华为技术有限公司 | 缓存管理方法及装置 |
CN104980779A (zh) * | 2015-04-10 | 2015-10-14 | 腾讯科技(成都)有限公司 | 视频数据的传输控制方法和装置 |
CN107579877A (zh) * | 2017-09-18 | 2018-01-12 | 南京国电南自电网自动化有限公司 | 一种基于fpga的电力交换机流量监控***及监控方法 |
US9940471B2 (en) | 2013-07-31 | 2018-04-10 | Zte Corporation | Virtual output queue authorization management method and device, and computer storage medium |
CN111131089A (zh) * | 2019-12-24 | 2020-05-08 | 西安电子科技大学 | 改善多播业务hol阻塞的队列管理方法 |
CN111858011A (zh) * | 2020-07-31 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种多数据流任务处理方法、装置、设备及存储介质 |
CN115242726A (zh) * | 2022-07-27 | 2022-10-25 | 阿里巴巴(中国)有限公司 | 队列的调度方法和装置及电子设备 |
CN115277577A (zh) * | 2022-09-28 | 2022-11-01 | 平安银行股份有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546423B (zh) * | 2012-01-20 | 2014-10-29 | 福建星网锐捷网络有限公司 | 队列调度方法、装置及网络设备 |
CN105764091B (zh) * | 2016-02-19 | 2019-02-01 | 杭州敦崇科技股份有限公司 | 一种有效利用无线带宽的方法 |
-
2010
- 2010-02-09 CN CN201010109580XA patent/CN101741751B/zh active Active
-
2011
- 2011-01-24 EP EP11151784.3A patent/EP2357764B1/en active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012109880A1 (zh) * | 2011-08-04 | 2012-08-23 | 华为技术有限公司 | 队列调度方法和装置 |
US9521086B2 (en) | 2011-08-04 | 2016-12-13 | Huawei Technologies Co., Ltd. | Queue scheduling method and apparatus |
CN102857440A (zh) * | 2012-08-17 | 2013-01-02 | 杭州华三通信技术有限公司 | 数据处理方法与交换机 |
US9940471B2 (en) | 2013-07-31 | 2018-04-10 | Zte Corporation | Virtual output queue authorization management method and device, and computer storage medium |
CN103685062A (zh) * | 2013-12-02 | 2014-03-26 | 华为技术有限公司 | 缓存管理方法及装置 |
CN104980779A (zh) * | 2015-04-10 | 2015-10-14 | 腾讯科技(成都)有限公司 | 视频数据的传输控制方法和装置 |
CN104980779B (zh) * | 2015-04-10 | 2018-04-20 | 腾讯科技(成都)有限公司 | 视频数据的传输控制方法和装置 |
CN107579877A (zh) * | 2017-09-18 | 2018-01-12 | 南京国电南自电网自动化有限公司 | 一种基于fpga的电力交换机流量监控***及监控方法 |
CN107579877B (zh) * | 2017-09-18 | 2020-09-25 | 南京国电南自电网自动化有限公司 | 一种基于fpga的电力交换机流量监控***及监控方法 |
CN111131089A (zh) * | 2019-12-24 | 2020-05-08 | 西安电子科技大学 | 改善多播业务hol阻塞的队列管理方法 |
CN111131089B (zh) * | 2019-12-24 | 2021-07-27 | 西安电子科技大学 | 改善多播业务hol阻塞的队列管理方法 |
CN111858011A (zh) * | 2020-07-31 | 2020-10-30 | 深圳大普微电子科技有限公司 | 一种多数据流任务处理方法、装置、设备及存储介质 |
CN115242726A (zh) * | 2022-07-27 | 2022-10-25 | 阿里巴巴(中国)有限公司 | 队列的调度方法和装置及电子设备 |
CN115242726B (zh) * | 2022-07-27 | 2024-03-01 | 阿里巴巴(中国)有限公司 | 队列的调度方法和装置及电子设备 |
CN115277577A (zh) * | 2022-09-28 | 2022-11-01 | 平安银行股份有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2357764B1 (en) | 2017-08-23 |
EP2357764A1 (en) | 2011-08-17 |
CN101741751B (zh) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101741751B (zh) | 流量整形调度方法、流量整形调度装置及路由设备 | |
CN110381541B (zh) | 一种基于强化学习的智能电网切片分配方法及装置 | |
CN102130823B (zh) | 用于数据通信的方法和网络设备 | |
CN111400022A (zh) | 一种资源调度方法、装置及电子设备 | |
US9112809B2 (en) | Method and apparatus for controlling utilization in a horizontally scaled software application | |
US20190205164A1 (en) | System and method for scheduling workload based on a credit-based mechanism | |
CN109471705A (zh) | 任务调度的方法、设备及***、计算机设备 | |
US20110173626A1 (en) | Efficient maintenance of job prioritization for profit maximization in cloud service delivery infrastructures | |
CN109144716A (zh) | 基于机器学习的操作***调度方法及装置、设备 | |
CN104239154B (zh) | 一种Hadoop集群中的作业调度方法和作业调度器 | |
CN101729386B (zh) | 一种基于令牌调度的流量控制方法及装置 | |
CN111614754B (zh) | 面向雾计算的成本效率优化的动态自适应任务调度方法 | |
CN102326369B (zh) | 队列调度方法和装置 | |
CN103064744A (zh) | 一种基于SLA的面向多层Web应用的资源优化方法 | |
CN109992418A (zh) | Sla感知的多租户大数据平台资源优先级调度方法及*** | |
CN102076097A (zh) | 资源调度方法及基站 | |
CN109389328A (zh) | 一种卡产品开发过程管理方法及*** | |
CN101472258B (zh) | 业务运营支撑***调度归属位置寄存器指令的方法及装置 | |
CN114138453B (zh) | 一种适合边缘计算环境的资源优化分配方法与*** | |
CN110348795A (zh) | 配送资源管理方法、装置、电子设备及计算机存储介质 | |
CN115658319A (zh) | 资源调度方法、***、设备及存储介质 | |
CN115550284A (zh) | 消息处理方法、装置和设备 | |
Gupta et al. | Optimal revenue management in two class pre-emptive delay dependent Markovian queues | |
Wan et al. | Utility-driven share scheduling algorithm in hadoop | |
Guo et al. | Delay-optimal scheduling for heavy-tailed and light-tailed flows via reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |