CN1949748A - 一种对多用户进行qos调度的方法和装置 - Google Patents

一种对多用户进行qos调度的方法和装置 Download PDF

Info

Publication number
CN1949748A
CN1949748A CNA2006101404756A CN200610140475A CN1949748A CN 1949748 A CN1949748 A CN 1949748A CN A2006101404756 A CNA2006101404756 A CN A2006101404756A CN 200610140475 A CN200610140475 A CN 200610140475A CN 1949748 A CN1949748 A CN 1949748A
Authority
CN
China
Prior art keywords
user
token
scheduling
module
token bucket
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
CNA2006101404756A
Other languages
English (en)
Other versions
CN100450102C (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.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Digital Technologies Chengdu 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 Huawei Digital Technologies Chengdu Co Ltd filed Critical Huawei Digital Technologies Chengdu Co Ltd
Priority to CNB2006101404756A priority Critical patent/CN100450102C/zh
Publication of CN1949748A publication Critical patent/CN1949748A/zh
Application granted granted Critical
Publication of CN100450102C publication Critical patent/CN100450102C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种对多用户进行QOS调度的方法和装置,属于通讯技术领域。为了解决对多用户进行QOS调度时,由于用户数量的增加,或者调度级数增加,导致软件分解和配置速率的工作量大大增加,以及其实现方法对逻辑资源消耗非常大的缺点,本发明提出了一种采用令牌桶来实现MDRR算法,最终实现用户的QOS调度方法。其具体步骤为:根据配置的QOS信息表定时刷新令牌桶中的令牌数;轮循出调度矩阵中的需要调度的用户号;根据轮循出的用户号发出调度请求;获得上次调度结果反馈后,执行调度请求。本发明还提供了一种用来实现对多用户进行QOS调度的装置。装置包括配置模块、令牌桶刷新模块、调度矩阵更新模块、轮循模块、调度请求发出模块和令牌减去模块。

Description

一种对多用户进行QOS调度的方法和装置
技术领域
本发明涉及通讯技术领域,特别涉及一种对多用户进行QOS(Quality of Service服务质量)调度的方法和装置。
背景技术
QOS的调度算法有很多种,其中RR(Round Robin-循环)最简单,即所有用户一个一个轮着来,大家的机会都是均等的,它适合于所有用户的重要性和允许的流量完全相同的情况。对于更高级更灵活的应用,诸如各个用户的权重不一样,或者允许的流量不相同,甚至各个队列内部支持不同优先级的队列,这些队列之间有严格的优先级等情况时,RR是无能为力的。因此针对各种应用情况,出现了各种各样的调度算法。比如,针对各个用户的权重不一样的情况,出现了WRR(Weighted Round Robin-加权轮循)调度算法;针对各个用户允许的流量不相同且每次调度的数据包的长度不一样的情况,例如以太网的包长可以是64字节到9600字节中的任意值,出现了DRR(Deficit Round Robin-差额循环)调度算法;针对各个用户允许的流量不相同,同时每个用户内部支持严格优先级队列的调度,出现了MDRR(ModifiedDeficit Round Robin-改进的差额循环)调度算法来解决该问题。此外还有DWRR(DynamicWeighted Round Robin-动态加权循环)、SHVC(Shaping Virtual Clock-整形虚拟时钟)、CAR(Committed Access Rate-承诺的接入速率)、WRED(Weighted RED-加权RED)等调度算法,分别适用于不同的应用情况。
MDRR作为一种QOS的调度算法,记录前次调度剩余或不足的包长,在下一次调度中进行补偿,并为优先级队列开辟了SP(Strict Priority-严格优先级)调度通道。具体来讲就是每次访问一个用户,根据该用户配置的带宽判断是否允许调度一定数量的包,如果是则将这些包调度出去,同时记录下超出用户带宽设定值的字节数,等下一轮调度时,较少的数据被调出,以补偿上次多调出的部分。调度完该用户后再调度下一个用户,依次轮循。这样,长时间来看,每次允许被调度出去的数据的平均值就等于该用户配置的带宽,同时每个用户下面可以有不同优先级的流数据,每个流数据之间遵循SP调度。
实现QOS调度的方法主要有漏桶和令牌桶两种。漏桶方法是指根据用户配置的速率,定时地检测该用户是否有数据需要调度,配置的速率越大,检测并调度的速度越快。令牌桶方法是指根据用户配置的速率,定时的往令牌桶中加令牌,当用户有数据需要调度时,从令牌桶中取出相应的令牌,同时得到调度,配置的速率越快,往令牌桶中加令牌的速度越快。
对于QOS的应用主要有单速率和双速率两种。单速率是指对某用户只配一个速率,该用户大于所配置的速率的部分将得不到调度。双速率是指对某用户配置两个速率,即CIR(Committed Information Rate-承诺的速率)和PIR(Peak Information Rate-最高速率)。CIR为无论当前网络是否拥塞,必须要保证的那部分速率;PIR为当前网络不拥塞时,允许被调度的最高速率。
针对双速率的实现,可以用漏桶方案实现SHVC算法来得以实现。如图1所示,SHVC模块共有N个飞轮,每个飞轮表示一种特定速率,飞轮表中存放用户ID,N值越大,其能表示的速率组合越多,比如第1个飞轮代表1Gbps的流量,第2个飞轮代表500Mbps的流量,第3个飞轮代表250Mbps的流量。各往这三个飞轮中写入用户号1则表示对用户1配1.75Gbps的流量。N值越大,其配置的速率的最小单位可以越小或者最大范围可以越大。时戳是一个时间标志,用来表示当前飞轮的下一个用户需要被读出的时间点。当轮循到第N个飞轮时,系统时间计数与当前飞轮的时戳比较,如果系统时间大于当前飞轮的时戳,则当前飞轮输出一个用户ID。如图2所示,用户CIR飞轮采用SHVC调度算法构成,配置必须保证的用户速率,用户PIR飞轮采用SHVC调度算法构成,配置用户允许超过CIR部分的额外的速率,用户组CIR飞轮采用SHVC调度算法构成,配置必须保证的用户组速率,用户组PIR飞轮采用SHVC调度算法构成,配置用户组允许超过CIR部分的额外的速率,限制出口速率。1个用户组对应1个CIR漏桶和1个PIR漏桶。用户飞轮输出的用户ID存放于漏桶,用户组飞轮控制漏桶的输出流量。双速率的功能是这样实现的:当配置一个用户或用户组的速率时,首先将其速率分解并配置到各个飞轮当中,根据该飞轮中配置的用户的总速率决定从该飞轮中读出的用户ID或用户组ID的快慢。配置完毕后,首先用户飞轮根据配置的速率轮循出用户ID,根据该轮循出的用户ID查表得到该用户对应的用户组号,放入该用户组对应的漏桶中,用户CIR飞轮中轮循出的用户ID放入图中CIR漏桶,用户PIR飞轮中轮循出的用户ID放入图中PIR漏桶;然后用户组CIR飞轮也根据其配置的速率轮循出用户组号,根据该用户组号从对应的用户组漏桶中漏出CIR漏桶中的用户号,如果CIR漏桶中没有任何数据,则根据用户组PIR飞轮轮循出的用户组号从对应的用户组的漏桶中漏出PIR漏桶中的用户号,根据该用户号读取该用户的需要调度的数据的最高优先级信息,发出调度请求。如此一直不停的轮循使得配置的用户或用户组的双速率得以实现。
但是以上方法有很大的局限性,如果用户或用户组数目增加,或者调度的级数增加,例如不止用户用户组两级而是三级或四级调度,软件分解和配置速率的工作量将大大增加,增加了软件设计的难度。采用这种方法还会消耗非常大的逻辑资源,首先每个用户组对应一个CIR和PIR漏桶,每个漏桶就对应一片缓存空间,如果用户组的数目增多,需要的缓存空间将非常大,必须挂片外RAM(Random Access Merory-随机存储器)才行;其次如果要使得配置的速率的最小单位越小或者最大范围越大,需要更多的飞轮,每一个飞轮就对应一片缓存空间,而飞轮基于访问速度的要求必须使用FPGA(Field Programmable Gate Array-现场可编程门阵列)片内存储资源,这样需要非常多的FPGA内部存储器资源;再次如果用户数目增多会使得飞轮的深度增加,也会增加对FPGA资源的耗费。
发明内容
为了解决对多用户进行QOS调度时,由于用户数量的增加,或者调度级数增加,导致软件分解和配置速率的工作量大大增加,以及其实现方法对逻辑资源消耗非常大的缺点,本发明提出了一种采用令牌桶实现改进的差额循环MDRR调度算法,将令牌桶的维护与用户轮循分开,各自独立地运行,最终实现用户的QOS调度方法。所述方法具体包括以下步骤:
根据配置的QOS信息表定时刷新令牌桶中的令牌数,并根据队列状态映射表中当前用户的状态,更新调度矩阵中当前用户的调度信息;
对调度矩阵进行轮循,直到轮循出需要调度的用户号;
根据轮循出的用户号查询队列状态映射表中该用户的流队列状态,得到需要调度的流的优先级信息并发出调度请求;
获得上次调度结果反馈后,执行所述调度请求,并根据反馈回的上次调度结果,从上次被调度的令牌桶中减去用去的令牌数,更新调度矩阵。
所述根据配置的QOS信息表定时刷新令牌桶中的令牌数的步骤具体包括:
在QOS信息表中配置调度速率,并将调度速率分解为高速率和低速率,分别配入高速率域和低速率域;
根据配置的调度速率,定时刷新令牌桶中的令牌数。
所述更新调度矩阵中当前用户的调度信息的步骤具体包括:根据所述令牌桶中的令牌数是否大于设定的门限值,及队列状态映射表中该用户是否有数据需要调度,更新调度矩阵中该用户号对应位置的数据。
所述定时刷新令牌桶中的令牌数包括高速率刷新和低速率刷新,所述高速率刷新根据所述QOS信息表高速率域中所配速率得到需要增加的令牌数,所述低速率刷新根据所述QOS信息表低速率域中所配速率得到需要增加的令牌数。
所述高速率刷新和低速率刷新必须在刷新周期内刷新完毕所有令牌桶,如果在刷新周期内无法刷新完毕所有令牌桶,则将刷新周期进行扩展。
所述令牌桶为用户令牌桶。
所述令牌桶为用户令牌桶和用户组令牌桶。
所述调度速率为承诺速率。
所述调度速率为承诺速率和最高速率。
本发明还提供了一种对多用户进行QOS调度的装置,其特征在于,所述装置包括配置模块、令牌桶刷新模块、调度矩阵更新模块、轮循模块、调度请求发出模块和令牌减去模块;
所述配置模块用于配置QOS信息表,并将配置结果发送给所述令牌桶刷新模块;
所述令牌桶刷新模块根据所述配置模块发送的配置结果,定时刷新令牌桶中的令牌数;
所述调度矩阵更新模块用于根据队列状态映射表中当前用户的状态,更新调度矩阵中当前用户的调度信息;
所述轮循模块用于轮循出调度矩阵中需要调度的用户号,并将该用户号发送给所述调度请求发出模块;
所述调度请求发出模块用于根据所述轮循模块轮循出的用户号,查询队列状态映射表中该用户的流队列状态,发出该用户的调度请求;
所述令牌减去模块用于根据反馈回的上次调度结果,从上次被调度的令牌桶中减去用去的令牌数。
所述配置模块包括速率配置单元和令牌桶桶深配置单元;
所述速率配置单元用于配置调度速率;
所述令牌桶桶深配置单元用于配置令牌桶的桶深。
本发明所述技术方案不仅支持多用户的双速率调度,而且也适用于多用户的单速率调度,将其扩展还可以支持两级或多级的双速率用户调度,同时提出的简化逻辑设计的流量设置方式和令牌计算方法,有效地解决了用户和调度级数增多带来的FPGA资源和配置问题,大大降低了逻辑实现的难度,这种配置方法适用于所有用令牌桶实现的QOS技术。
附图说明
图1是现有技术中SHVC调度算法工作原理图;
图2是现有技术中SHVC调度算法与漏桶算法模型图;
图3是本发明利用双令牌桶实现MDRR算法的逻辑框图;
图4是本发明实施例的流程图;
图5是本发明对用户和用户组两级进行QOS调度的装置结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
本发明提供了一种用令牌桶来实现对多用户进行QOS调度的方法。下面以使用双令牌桶来实现用户和用户组两级的双速率的QOS调度为例,来说明QOS调度的具体过程。对每个用户和用户组配置两个速率参数:CIR速率和PIR速率。对每个用户和用户组配置两个令牌桶:CIR令牌桶和PIR令牌桶,用来存储CIR和PIR的令牌。每隔一定时间就往CIR和PIR令牌桶中增加令牌数,增加的令牌个数由配置的CIR和PIR的速率决定,令牌桶满时不再往令牌桶中增加令牌。当在CIR带宽内实际发生了调度时,从CIR和PIR令牌桶中减去相应的令牌数;当在CIR带宽以外PIR带宽以内实际发生了调度时,从PIR令牌桶中减去相应的令牌数。为了实现每个用户和用户组配置的两个速率参数,采用如下调度方法:当用户有数据需要调度时,判断当前用户和用户组CIR令牌桶中的令牌数是否足够,如果足够,则允许调度,如果不够,则判断当前用户和用户组PIR令牌桶中的令牌数是否足够,如果足够,则允许调度,否则不允许调度,直到令牌数够为止。
参见图3,为一种使用双令牌桶来实现MDRR算法的逻辑框图,从而实现双速率的用户和用户组两级的QOS调度。下面结合这个逻辑框图来说明用户和用户组的QOS调度过程,参见图4,其调度过程如下:
步骤101:从配置端口设置用户和用户组的QOS信息表中的每个用户和用户组的CIR速率和PIR速率,以及CIR和PIR令牌桶桶深。将用户和用户组关联,逻辑初始化CIR令牌桶、PIR令牌桶、CIR调度矩阵和PIR调度矩阵。
配置CIR速率和PIR速率的具体方法为:以8Kbps为最小的速率单位,用10bits的低速率域表示1×8Kbps到999×8Kbps之间的速率,用8bits的高速率域表示1000×8Kbps以上的速率。软件必须按照这种配置方法对用户和用户组的CIR和PIR速率进行分解,分别配置好高速率域和低速率域。例如对用户和用户组的CIR速率分别配置为88Kbps和80.12Mbps,软件将这两个CIR速率分别分解为11×8Kbps+0×8Mbps和15×8Kbps+10×8Mbps,其中11×8Kbps代表用户CIR低速率,0×8Mbps代表用户CIR高速率,15×8Kbps代表用户组CIR低速率,10×8Mbps代表用户组CIR高速率,十进制数11对应的10个比特位的二进制数为0000001011,十进制数0对应的8个比特位的二进制数为00000000,十进制数15对应的10个比特位的二进制数为0000001111,十进制数10对应的8个比特位的二进制数为00001010,因此对用户CIR高速率域配置0,低速率域配置11,用户组CIR高速率域配置10,用户组CIR低速率域配置15。对每个用户和用户组的PIR速率按照与CIR速率同样的配置方法进行配置,得到PIR高速率域和低速率域。令牌桶桶深以字节为单位,令牌桶中的一个令牌代表1字节的调度权限。
步骤102:根据设置的用户和用户组的CIR速率和PIR速率,QOS信息管理模块根据用户和用户组QOS信息表,定时刷新用户和用户组的CIR令牌桶和PIR令牌桶中的令牌数,实现用户和用户组所设置的CIR速率和PIR速率。具体步骤如下:
刷新用户和用户组的CIR令牌桶和PIR令牌桶时,以N微秒为刷新周期进行高速率刷新,以M毫秒为刷新周期进行低速率刷新,高速率刷新时,将步骤101中得到的高速率域配置的数据乘以N,得到当前用户本次高速率刷新令牌桶时需要增加的令牌数,低速率刷新时,将步骤101中得到的低速率域配置的数据乘以M,得到当前用户本次低速率刷新令牌桶时需要增加的令牌数,这样就实现了所配置的高速率和低速率。例如对用户配置80.12Mbps的速率,首先软件将80.12M的速率分解为高速率区域和低速率区域,即80.12Mbps=10×8Mbps+15×8Kbps,所以高速率域配置10,低速率域配置15,QOS信息管理模块以Nμs为刷新周期进行高速率刷新时,每次高速率刷新增加的令牌数为10N字节,一秒钟时间内高速率刷新次数为1s/Nμs次,那么一秒钟时间内高速率刷新增加的令牌数为每次增加的令牌数乘以1秒钟时间内的刷新次数,即10N×1s/Nμs=10M字节,即每秒钟增加80Mbit的令牌,实现了所配置的80Mbps的高速率,QOS信息管理模块以Mms为刷新周期进行低速率刷新时,每次低速率刷新增加的令牌数为15M字节,一秒钟时间内低速率刷新次数为1s/Mms次,那么一秒钟时间内低速率刷新增加的令牌数为每次增加的令牌数乘以1秒钟时间内的刷新次数,即15M×1s/Mms=15K字节,即每秒钟增加120Kbit的令牌,实现了所配置的120Kbps的低速率,这样就实现了所配的80.12Mbps的速率。其中,理论上参数N和M可以是任意的正整数,但是考虑到实现的简单,N可以取32或64等,M可以取1、2或4等。
QOS信息管理模块在刷新周期内必须刷新完毕所有用户和用户组的CIR和PIR令牌桶中的令牌数,一般情况下为了保证刷新完毕,采取对CIR和PIR令牌桶同时刷新的处理方法。如果由于支持的用户/用户组数目太多使得在刷新周期内无法刷新完毕所有用户和用户组的令牌桶中的令牌数,则可以将刷新周期扩展。
步骤103:刷新令牌桶时如果发现用户和用户组的CIR令牌桶中的令牌数大于设定的门限值,说明用户有足够的可以用于调度的令牌数,同时如果该用户对应的队列状态映射表中有非空队列,则该用户允许被调度,QOS信息管理模块向矩阵更新信息模块发送将CIR调度矩阵中该用户对应的位置刷新为“1”的信息;否则向矩阵更新信息模块发送将CIR调度矩阵中该用户对应的位置刷新为“0”的信息。同理生成PIR调度矩阵刷新信息。
步骤104:矩阵更新模块根据矩阵更新信息模块中的更新信息,将CIR调度矩阵和PIR调度矩阵更新。
CIR调度矩阵为X行X列的RAM,一共X×X个存储单位,对应X×X个用户的调度使能标志。如果某用户对应的存储点上的调度使能标志位为“1”,表示该用户在CIR带宽内可以被调度。做成矩阵可以在花费较少资源的同时减少用户的轮循时间。
PIR调度矩阵为X行X列的RAM,一共X×X个存储单位,对应X×X个用户的调度使能标志。如果某用户对应的存储点上的调度使能标志位为“1”,表示该用户在PIR带宽内可以被调度。做成矩阵可以在花费较少资源的同时减少用户的轮循时间。
步骤105:用户轮循模块从CIR和PIR调度矩阵中轮循出本次需要调度的用户号,根据该用户号判断出队列状态映射表中该用户哪个优先级的流有数据,找到非空的最高优先级的流,发出本次的调度请求。具体步骤为:
用户轮偱模块对CIR调度矩阵和PIR调度矩阵进行同步扫描,按照RR的模式对所有用户进行调度。下面以1024个用户为例来说明轮偱过程:用户轮偱模块复位后首先从用户0开始扫描,扫描的优先级从0到1023递减,判断出哪个用户对应的bit为1,则该用户就是被扫描出的用户号。如果第一次调度出的用户号为4,则下次从用户号为5的矩阵点开始扫描,扫描优先级从5到1023到0到4递减,扫描出矩阵数据为“1”的用户。如果CIR调度矩阵中的数据全部为0,则判断PIR调度矩阵的扫描结果,如果PIR调度矩阵的数据也全部为0,则用户轮循模块重新开始扫描,如此循环下去,直至扫描出第一个扫描到的矩阵数据为“1”的用户。根据轮偱出的用户号判断出队列状态映射表中该用户哪个优先级的流有数据,找到非空的最高优先级的流,在调度结果反馈队列反馈回上次调度结果后发出本次的调度申请,如果该用户的N个优先级都没有数据,则将该次轮循出的用户的扫描优先级设为最低重新开始扫描。
步骤106:调度结果反馈队列收到上一次的调度结果,执行调度请求队列中缓存的用户调度请求,同时QOS信息管理模块根据调度结果反馈队列收到的上一次的调度结果,从上一次被调度的用户和用户组对应的令牌桶中减去用去的令牌数,得到减去令牌后CIR和PIR调度矩阵需要更新的信息。
QOS信息管理模块判断出上一次调度请求是由CIR调度矩阵轮循出来的,还是由PIR调度矩阵轮循出来的,如果是由CIR调度矩阵轮循出来的,则QOS信息管理模块从CIR令牌桶和PIR令牌桶中减去用去的令牌数,如果是由PIR调度矩阵轮循出来的,则QOS信息管理模块从PIR令牌桶中减去用去的令牌数。
步骤107:QOS信息管理模块更新矩阵更新信息模块中的更新信息,执行步骤104,直到调度结束。
本实施例实现的是两级的双速率的QOS调度,即用户和用户组的CIR和PIR的QOS调度。本发明所述方法不仅适用于双速率的QOS调度,而且还适用于单速率的QOS调度,具体的实施方法就是配置单速率的令牌桶,其调度过程与上面所述步骤一样,这里不再叙述。本发明所述方法同时还支持多级的QOS调度,通过增加相应的令牌桶,就可以实现多级的QOS调度。其调度过程也与上面所述步骤一样,这里也不再叙述。
采用将设置的流量分解为高速率和低速率,分别配置入高速率域和低速率域,针对着两个域以不同的刷新速度刷新令牌桶的方法,大大地降低了逻辑实现的难度。在现有技术中对用户和用户组的QOS信息表设置时,一般只设置一个总的速率,是不分CIR/PIR高速率和CIR/PIR低速率的,本发明之所以要求软件在设置的时候将速率分解为高低速率设置基于以下原因:
1.因为设置1Mbps的速率表示1000Kbps,而非1024Kbps,这样避免了软件在设置速率的时候做10进制到16进制的转换,便于软件设置。
2.高低速率分离使得实现所设置的速率相当简单。如果只设置一个总速率的话势必使得高速率和低速率的刷新周期是一样的。由于令牌的最小单位是以字节为单位,那么对用户和用户组QOS信息表的刷新周期必须是1ms,这样如果设置的速率较高的话会使得每次往令牌桶中投入很多的令牌,流量比较粗暴,突发很厉害。如果要提高刷新周期,逻辑必须自己对该速率做判断,根据设置的流量范围作出相应的处理,这样势必大大增加逻辑实现的难度。
参见图5,本发明还提供了一种对多用户进行QOS调度的装置,装置包括配置模块、令牌桶刷新模块、调度矩阵更新模块、轮循模块、调度请求发出模块和令牌减去模块;
配置模块用于配置QOS信息表,并将配置结果发送给令牌桶刷新模块;
令牌桶刷新模块根据配置模块发送的配置结果,定时刷新令牌桶中的令牌数;
调度矩阵更新模块用于根据队列状态映射表中当前用户的状态,更新调度矩阵中当前用户的调度信息;
轮循模块用于轮循出调度矩阵中需要调度的用户号,并将该用户号发送给调度请求发出模块;
调度请求发出模块用于根据轮循模块轮循出的用户号,查询队列状态映射表中该用户的流队列状态,发出该用户的调度请求;
令牌减去模块用于根据反馈回的上次调度结果,从上次被调度的令牌桶中减去用去的令牌数。
配置模块包括速率配置单元和令牌桶桶深配置单元;
速率配置单元用于配置调度速率;
令牌桶桶深配置单元用于配置令牌桶的桶深。
以上所述的实施例只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (11)

1.一种对多用户进行QOS调度的方法,其特征在于,用令牌桶实现改进的差额循环MDRR调度算法,将令牌桶的维护与用户轮循分开,各自独立地运行,所述方法具体包括以下步骤:
根据配置的QOS信息表定时刷新令牌桶中的令牌数,并根据队列状态映射表中当前用户的状态,更新调度矩阵中当前用户的调度信息;
对调度矩阵进行轮循,直到轮循出需要调度的用户号;
根据轮循出的用户号查询队列状态映射表中该用户的流队列状态,得到需要调度的流的优先级信息并发出调度请求;
获得上次调度结果反馈后,执行所述调度请求,并根据反馈回的上次调度结果,从上次被调度的令牌桶中减去用去的令牌数,更新调度矩阵。
2.如权利要求1所述的对多用户进行QOS调度的方法,其特征在于,所述根据配置的QOS信息表定时刷新令牌桶中的令牌数的步骤具体包括:
在QOS信息表中配置调度速率,并将调度速率分解为高速率和低速率,分别配入高速率域和低速率域;
根据配置的调度速率,定时刷新令牌桶中的令牌数。
3.如权利要求1所述的对多用户进行QOS调度的方法,其特征在于,所述更新调度矩阵中当前用户的调度信息的步骤具体包括:根据所述令牌桶中的令牌数是否大于设定的门限值,及队列状态映射表中该用户是否有数据需要调度,更新调度矩阵中该用户号对应位置的数据。
4.如权利要求2所述的对多用户进行QOS调度的方法,其特征在于,所述定时刷新令牌桶中的令牌数包括高速率刷新和低速率刷新,所述高速率刷新根据所述QOS信息表高速率域中所配速率得到需要增加的令牌数,所述低速率刷新根据所述QOS信息表低速率域中所配速率得到需要增加的令牌数。
5.如权利要求4所述的对多用户进行QOS调度的方法,其特征在于,所述高速率刷新和低速率刷新必须在刷新周期内刷新完毕所有令牌桶,如果在刷新周期内无法刷新完毕所有令牌桶,则将刷新周期进行扩展。
6.如权利要求1-5中任意一项权利要求所述的对多用户进行QOS调度的方法,其特征在于,所述令牌桶为用户令牌桶。
7.如权利要求1-5中任意一项权利要求所述的对多用户进行QOS调度的方法,其特征在于,所述令牌桶为用户令牌桶和用户组令牌桶。
8.如权利要求2所述的对多用户进行QOS调度的方法,其特征在于,所述调度速率为承诺速率。
9.如权利要求2所述的对多用户进行QOS调度的方法,其特征在于,所述调度速率为承诺速率和最高速率。
10.一种对多用户进行QOS调度的装置,其特征在于,所述装置包括配置模块、令牌桶刷新模块、调度矩阵更新模块、轮循模块、调度请求发出模块和令牌减去模块;
所述配置模块用于配置QOS信息表,并将配置结果发送给所述令牌桶刷新模块;
所述令牌桶刷新模块根据所述配置模块发送的配置结果,定时刷新令牌桶中的令牌数;
所述调度矩阵更新模块用于根据队列状态映射表中当前用户的状态,更新调度矩阵中当前用户的调度信息;
所述轮循模块用于轮循出调度矩阵中需要调度的用户号,并将该用户号发送给所述调度请求发出模块;
所述调度请求发出模块用于根据所述轮循模块轮循出的用户号,查询队列状态映射表中该用户的流队列状态,发出该用户的调度请求;
所述令牌减去模块用于根据反馈回的上次调度结果,从上次被调度的令牌桶中减去用去的令牌数。
11.如权利要求10所述的对多用户进行QOS调度的装置,其特征在于,所述配置模块包括速率配置单元和令牌桶桶深配置单元;
所述速率配置单元用于配置调度速率;
所述令牌桶桶深配置单元用于配置令牌桶的桶深。
CNB2006101404756A 2006-10-09 2006-10-09 一种对多用户进行qos调度的方法和装置 Expired - Fee Related CN100450102C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101404756A CN100450102C (zh) 2006-10-09 2006-10-09 一种对多用户进行qos调度的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101404756A CN100450102C (zh) 2006-10-09 2006-10-09 一种对多用户进行qos调度的方法和装置

Publications (2)

Publication Number Publication Date
CN1949748A true CN1949748A (zh) 2007-04-18
CN100450102C CN100450102C (zh) 2009-01-07

Family

ID=38019135

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101404756A Expired - Fee Related CN100450102C (zh) 2006-10-09 2006-10-09 一种对多用户进行qos调度的方法和装置

Country Status (1)

Country Link
CN (1) CN100450102C (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779514A (zh) * 2007-06-19 2010-07-14 艾利森电话股份有限公司 电信系统中调度资源的方法和系统
CN101969409A (zh) * 2010-11-05 2011-02-09 南京邮电大学 一种基于定时器和mdrr的队列调度方法
CN102202410A (zh) * 2010-03-23 2011-09-28 中兴通讯股份有限公司 无线通信网络的多用户多业务的调度方法及装置
CN101938403B (zh) * 2009-06-30 2012-02-22 中国电信股份有限公司 多用户多业务的服务质量的保证方法和业务接入控制点
CN103547330A (zh) * 2012-12-12 2014-01-29 华为技术有限公司 用户调度方法及其装置
CN103560974A (zh) * 2013-10-25 2014-02-05 华为技术有限公司 一种令牌维护的方法和装置
CN105574292A (zh) * 2016-01-29 2016-05-11 盛科网络(苏州)有限公司 一种基于动态数组实现多通道任意带宽发包的方法
CN107896197A (zh) * 2017-10-23 2018-04-10 深圳市楠菲微电子有限公司 通信设备中测量转发速率的方法和装置、存储介质
CN109729013A (zh) * 2017-10-30 2019-05-07 深圳市中兴微电子技术有限公司 一种流量整形中添加令牌的方法、装置及计算机可读存储介质
CN113645147A (zh) * 2021-07-01 2021-11-12 苏州裕太微电子有限公司 一种流量整形器的令牌更新系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862265B1 (en) * 2000-04-13 2005-03-01 Advanced Micro Devices, Inc. Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
US7447155B2 (en) * 2002-06-17 2008-11-04 Intel Corporation Guaranteed service in a data network
KR100608904B1 (ko) * 2003-12-18 2006-08-04 한국전자통신연구원 서비스 품질 보장을 위한 시스템 및 방법
CN100512207C (zh) * 2004-12-10 2009-07-08 华为技术有限公司 一种流量控制方法
CN100388682C (zh) * 2005-03-21 2008-05-14 北京北方烽火科技有限公司 一种在sgsn网络处理器中提高服务质量的方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101779514A (zh) * 2007-06-19 2010-07-14 艾利森电话股份有限公司 电信系统中调度资源的方法和系统
CN101938403B (zh) * 2009-06-30 2012-02-22 中国电信股份有限公司 多用户多业务的服务质量的保证方法和业务接入控制点
CN102202410A (zh) * 2010-03-23 2011-09-28 中兴通讯股份有限公司 无线通信网络的多用户多业务的调度方法及装置
WO2011116579A1 (zh) * 2010-03-23 2011-09-29 中兴通讯股份有限公司 无线通信网络的多用户多业务的调度方法及装置
CN101969409A (zh) * 2010-11-05 2011-02-09 南京邮电大学 一种基于定时器和mdrr的队列调度方法
CN103547330A (zh) * 2012-12-12 2014-01-29 华为技术有限公司 用户调度方法及其装置
WO2014089779A1 (zh) * 2012-12-12 2014-06-19 华为技术有限公司 用户调度方法及其装置
CN103547330B (zh) * 2012-12-12 2016-09-28 华为技术有限公司 用户调度方法及其装置
US9641440B2 (en) 2013-10-25 2017-05-02 Huawei Technologies Co., Ltd. Method and apparatus for maintaining token
CN103560974A (zh) * 2013-10-25 2014-02-05 华为技术有限公司 一种令牌维护的方法和装置
CN103560974B (zh) * 2013-10-25 2017-01-25 华为技术有限公司 一种令牌维护的方法和装置
CN105574292A (zh) * 2016-01-29 2016-05-11 盛科网络(苏州)有限公司 一种基于动态数组实现多通道任意带宽发包的方法
CN105574292B (zh) * 2016-01-29 2018-12-11 盛科网络(苏州)有限公司 一种基于动态数组实现多通道任意带宽发包的方法
CN107896197A (zh) * 2017-10-23 2018-04-10 深圳市楠菲微电子有限公司 通信设备中测量转发速率的方法和装置、存储介质
CN109729013A (zh) * 2017-10-30 2019-05-07 深圳市中兴微电子技术有限公司 一种流量整形中添加令牌的方法、装置及计算机可读存储介质
CN113645147A (zh) * 2021-07-01 2021-11-12 苏州裕太微电子有限公司 一种流量整形器的令牌更新系统及方法

Also Published As

Publication number Publication date
CN100450102C (zh) 2009-01-07

Similar Documents

Publication Publication Date Title
CN1949748A (zh) 一种对多用户进行qos调度的方法和装置
CN100342342C (zh) 支持多进程的Java虚拟机实现方法
WO2018120991A1 (zh) 一种资源调度方法及装置
CN104731799B (zh) 内存数据库管理装置
CN102915254A (zh) 任务管理方法及装置
CN1752896A (zh) 操作系统协作下的嵌入式设备电源管理方法及系统
CN1787483A (zh) 一种流量控制方法
CN1960334A (zh) 队列调度方法及装置
CN1797349A (zh) 多重呼叫处理线程处理方法
CN1866927A (zh) 实现信息交换的系统及方法和调度算法
CN101719869B (zh) 一种采用关联令牌桶算法动态分配带宽的方法
CN102098217B (zh) 一种基于概率的多优先级队列调度方法
CN1946225A (zh) 一种全分布式资源管理方法和系统
CN1787678A (zh) 多载波时分双工通信系统的动态信道分配方法
CN101588631B (zh) 一种控制信道资源分配方法
CN1643874A (zh) 使用定额和差额值进行调度
CN1518296A (zh) 一种支持多业务的综合队列调度的实现方法
CN108156595B (zh) 一种机器通信中基于定时提前命令的前导资源分配方法
CN1777145A (zh) 路由器及使用其管理分组队列的方法
CN1889038A (zh) 以类为单位的远程构件生命周期的管理方法
US7460544B2 (en) Flexible mesh structure for hierarchical scheduling
CN101459699B (zh) 一种网络地址转换方法和装置
CN1773955A (zh) 一种数据网络中的队列调度方法及装置
CN1665315A (zh) 在多业务环境下基于业务控制点的智能网过载的控制方法
CN104519150B (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
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20121009