CN101848149B - 分组网络中分级队列调度的方法和装置 - Google Patents

分组网络中分级队列调度的方法和装置 Download PDF

Info

Publication number
CN101848149B
CN101848149B CN2010101585993A CN201010158599A CN101848149B CN 101848149 B CN101848149 B CN 101848149B CN 2010101585993 A CN2010101585993 A CN 2010101585993A CN 201010158599 A CN201010158599 A CN 201010158599A CN 101848149 B CN101848149 B CN 101848149B
Authority
CN
China
Prior art keywords
formation
node
group
grouping
scheduling
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.)
Expired - Fee Related
Application number
CN2010101585993A
Other languages
English (en)
Other versions
CN101848149A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2010101585993A priority Critical patent/CN101848149B/zh
Publication of CN101848149A publication Critical patent/CN101848149A/zh
Application granted granted Critical
Publication of CN101848149B publication Critical patent/CN101848149B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种分组网络中分级队列调度的方法和装置,其中,方法包括:根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组;从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部;按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度。装置包括队列划分模块、分组归类模块和队列调度模块。本实施例实现了在严格保证高优先级队列的网络性能的同时,提高了低优先级队列的网络性能。

Description

分组网络中分级队列调度的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种分组网络中分级队列调度的方法和装置。 
背景技术
随着网络中各种业务的迅猛增长,人们对网络的服务质量越来越关心,队列调度算法作为保证网络有效性和实用性的一项关键技术,近年来引起了网络研究者的广泛关注。 
现有技术中的队列调度算法包括严格优先级(Strict Priority;以下简称:SP)队列调度算法和基于概率的队列调度算法。其中,SP队列调度算法是对分组进行分类,按照分组的类别将分组送入相应的队列,分类后属于较高优先级队列的分组被优先发送,而属于较低优先级队列的分组则等待至无较高优先级的分组发送时才能抢占到信道。而基于概率的队列调度算法则为每个队列分配一个概率,在每次队列调度时,从第一个队列开始轮询,当轮询到的队列非空时,则以分配的概率来进行调度。 
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:SP队列调度算法可以保证每个队列的绝对优先级,但其对于较高优先级队列网络性能的保证是以牺牲较低优先级队列网络性能为代价的,在网络繁忙时较低优先级队列可能长时间不能被调度。基于概率的队列调度算法虽然对较低优先级队列的网络性能有一定保证,但削减了对较高优先级队列的网络性能的严格保障。因此,这两种方法无法兼顾较高优先级队列和较低优先级队列的网络性能。 
发明内容
本发明提供一种分组网络中分级队列调度的方法和装置,用以解决现有技术中无法兼顾较高优先级队列和较低优先级队列的网络性能的缺陷,实现在严格保证高优先级队列的网络性能的同时,提高低优先级队列的网络性能。 
本发明提供一种分组网络中分级队列调度的方法,包括: 
根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组; 
从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部; 
按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于 概率的队列调度法对当前的所述优先级队列组中的队列进行调度; 
所述根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组具体包括: 
先根据所有队列中从最低网络性能值到最高网络性能值确定网络性能值的范围,并将该网络性能值范围划分为一系列小的范围段,将网络性能值相近而属于同一范围段的队列归为同一个优先级队列组。依此类推,逐级划分优先级队列组。直到最后一次划分成的优先级队列组满足实际要求。然后以一个根节点来表示所有队列所在的最大的优先级队列组,根节点为父节点,第一次划分成的几个优先级队列组表示成相应的子节点,第一次划分的子节点为父节点,第二次划分成的优先级队列组表示成相应的父节点的子节点。依次类推,直到所有的队列都以实的叶子节点的形式表示在树形结构中; 
所述按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度,具体包括: 
查找树形结构的每一级的子节点与上一级节点的从属关系,如果从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点,则采用基于概率的队列调度法对当前的优先级队列组中的队列进行调度;如果从属于同一个上一级节点的子节点数目大于1,且所述子节点不均为实节点,则采用优先级队列调度法对当前的优先级队列组中的队列进行调度;其中,所述实节点为叶子节点; 
将获取的待输出分组的队列对应的子节点代替所述子节点的父节点,对所述树形结构的从下到上的每一级依次重复执行上述步骤,直到所述树形结构的根节点被最终待输出分组的队列对应的子节点代替,并从代替所述根节点的子节点所代表的队列中输出分组。 
本发明提供一种分组网络中分级队列调度的装置,包括: 
队列划分模块,用于根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组; 
分组归类模块,用于从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部; 
队列调度模块,用于按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度; 
所述队列划分模块,具体用于先根据所有队列中从最低网络性能值到最高网络性能值确定网络性能值的范围,并将该网络性能值范围划分为一系列小的范围段,将网络性能值相近而属于同一范围段的队列归为同一个优先级队列组;依此类推,逐级划分优先级队列组;直到最后一次划分成的优先级队列组满足实际要求;然后以一个根节点来表示所有队列所在的最大的优先 级队列组,根节点为父节点,第一次划分成的几个优先级队列组表示成相应的子节点,第一次划分的子节点为父节点,第二次划分成的优先级队列组表示成相应的父节点的子节点;依次类推,直到所有的队列都以实的叶子节点的形式表示在树形结构中; 
所述队列调度模块具体包括: 
查找单元,用于查找树形结构的每一级的子节点与上一级节点的从属关系; 
第一调度单元,用于当从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点,则采用基于概率的队列调度法对当前的优先级队列组中的队列进行调度; 
第二调度单元,用于当从属于同一个上一级节点的子节点数据大于1,且所述子节点不均为实节点,则采用优先级队列调度法对当前的优先级队列组中的队列进行调度;其中,所述实节点为叶子节点; 
输出获取单元,用于将获取的待输出分组的队列对应的子节点代替所述子节点的父节点,对所述树形结构的从下到上的每一级依次重复执行上述步骤,直到所述树形结构的根节点被最终待输出分组的队列对应的子节点代替,并从代替所述根节点的子节点所代表的队列中输出分组。 
本发明的分组网络中分级队列调度的方法和装置,通过根据网络中各队列的网络性能要求对队列进行逐级划分,并形成树形结构的优先级队列组,根据接收到的分组的类别标识将分组归入所属的队列尾部,然后按照树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的优先级队列组中的队列进行调度;本实施例解决了现有技术中无法兼顾较高优先级队列和较低优先级队列的网络性能的缺陷,实现了在严格保证高优先级队列的网络性能的同时,提高了低优先级队列的网络性能。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 
图1为本发明分组网络中分级队列调度的方法实施例一的流程图; 
图2为本发明分组网络中分级队列调度的方法实施例二的流程图; 
图3为本发明分组网络中分级队列调度的方法实施例二中优先级队列组的树形结构图; 
图4为本发明分组网络中分级队列调度的装置实施例一的结构示意图; 
图5为本发明分组网络中分级队列调度的装置实施例二的结构示意图。 
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 
图1为本发明分组网络中分级队列调度的方法实施例一的流程图,如图1所示,本实施例提供了一种分组网络中分级队列调度的方法,可以包括如下步骤: 
步骤101,根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组; 
步骤102,从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部; 
步骤103,按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度。 
本实施例提供了一种分组网络中分级队列调度的方法,通过根据网络中各队列的网络性能要求对队列进行逐级划分,并形成树形结构的优先级队列组,根据接收到的分组的类别标识将分组归入所属的队列尾部,然后按照树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的优先级队列组中的队列进行调度;本实施例解决了现有技术中无法兼顾较高优先级队列和较低优先级队列的网络性能的缺陷,实现了在严格保证高优先级队列的网络性能的同时,提高了低优先级队列的网络性能。 
图2为本发明分组网络中分级队列调度的方法实施例二的流程图,如图2所示,本实施例提供了一种分组网络中分级队列调度的方法,可以包括如下步骤: 
步骤201,统计分组网络中的分组类别和每种分组对应的网络性能要求,并在缓冲区中为每种分组设置独立的大小相等的队列进行缓存。 
在分组网络中,由于用户使用的业务的多样化,使得分组网络中的分组种类也相应多种多样,如音频视频类分组、图像类分组等。在执行本实施例的技术方案之前,本步骤通过对网络内部存在分组的所有类别进行统计,获取分组网络中各个分组的类别,并统计每种分组所对应的网络性能要求,此处的网络性能可以包括时延、丢包率、吞吐量和时延抖动等等,本实施例中具体采用相应的网络性能要求值来表示。同时,在缓冲区中为统计到的每种分组开辟独立的大小相等且一定的队列进行缓存,每个队列中的分组大小是固定且相等的。在本实施例中,假设网络中共有10种分组,则在缓冲区中分别为这10种分组开辟10个缓存队列,本实施例中网络性能以时延为例进行说明,如下表1所示为统计到的各队列的时延性能要求: 
表1各队列的时延性能要求统计结果 
  队列编号   1   2   3   4   5   6   7   8   9   10
  时延性能要求/ms   29   15   36   22   45   90   21   80   10   55
步骤202,根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组。 
在进行队列调度之前,先根据各队列的网络性能要求对队列进行逐级划分,并形成树形结构的优先级队列组。即根据队列对于网络性能要求的差异,逐级划分优先级队列组,直到最后一次划分成的优先级队列组满足实际要求。并将划分好的优先级队列组以节点的形式表示在树形结构中,直到所有的队列都以叶子节点的形式表示在树形结构中。具体地,先根据所有队列中从最低网络性能值到最高网络性能值确定网络性能值的范围,并将该网络性能值范围划分为一系列小的范围段,将网络性能值相近而属于同一范围段的队列归为同一个优先级队列组。依此类推,逐级划分优先级队列组。直到最后一次划分成的优先级队列组满足实际要求。然后以一个根节点来表示所有队列所在的最大的优先级队列组,根节点为父节点,第一次划分成的几个优先级队列组表示成相应的子节点,第一次划分的子节点为父节点,第二次划分成的优先级队列组表示成相应的父节点的子节点。依次类推,直到所有的队列都以实的叶子节点的形式表示在树形结构中。 
仍以上述表1为例进行说明,在本实施例中对队列进行划分时,以其对应的时延性能要求为划分依据,其中,对时延的最低要求值为10ms,而最高要求值为90ms,即时延性能要求的范围为10ms-90ms,本实施例中将其假设为A0组。图3为本发明分组网络中分级队列的调度方法实施例二中优先级队列组的树形结构图,则树形结构中的第一级为根节点0,即对应于优先级队列组的A0组。 
可以先将时延性能要求的范围划分为更小的两个范围段,即10ms-50ms、51ms-90ms,根据上述表1中各队列的时延性能要求值,此时划分的优先级队列组可以假设为A11组(10ms-50ms)和A12组(51ms-90ms),其中,A11 组包括队列9、2、7、4、1、3、5,A12组包括队列10、8、6。此时,队列被划分为两级,树形结构中的第二级节点11和12分别表示A11和A12。 
依照上述分级划分方法,继续对划分后的优先级队列组A11和A12进行划分,对于A11来说,各队列对时延的最低要求值为10ms,而最高要求值为50ms,可以将时延性能要求的范围划分为更小的两个范围段,即10-30ms、31-45ms,根据上述表1中各队列的时延性能要求值,此时划分的优先级队列组可以假设为A14组(10ms-30ms)和A13组(31ms-45ms),其中,A14组包括队列9、2、7、4、1,A13组包括队列3、5。对于A12来说,各队列对时延的最低要求值为55ms,而最高要求值为90ms,可以将时延性能要求的范围划分为更小的两个范围段,即55-70ms、71-90ms,根据上述表1中各队列的时延性能要求值,此时划分的优先级队列组可以假设为A15组(55ms-70ms)和A16组(71ms-90ms),其中,A15组包括队列8、6,A16组包括队列10。此时,队列被划分为三级,树形结构中的第三级节点13、14和15分别表示A13、A14和A15,由于A16组只包括队列10,则其直接用节点10来表示。 
经过上述两级划分之后,由于A16组只包含一个队列10,A13组只包含两个队列3和5,A15组只包含两个队列8和6,则不再对上述三个组进行划分。而A14组仍包含9、2、7、4、1五个队列,则依照上述分级划分方法,继续对A14进行划分,可以将时延性能要求的范围划分为更小的两个范围段,即10-20ms、21-30ms,根据上述表1中各队列的时延性能要求值,此时划分的优先级队列组可以假设为A17组(10ms-20ms)和A18组(21ms-30ms),其中,A17组包括队列9、2,A18组包括队列7、4、1。此时,队列被划分为四级,树形结构中的第四级节点16和17分别表示A18和A17。由于A17组包括队列9、2,A18组包括队列7、4、1,则将树形结构中的节点9和2作为节点17的子节点,将节点7、4、1作为节点16的子节点,则可以得到如图3所示的五级树形结构。 
在本实施例中,可以以实节点表示叶子节点,以空节点表示非叶子节点表示,即实节点可以表示包含的队列数目等于1的优先级队列组,而空节点可以表示包含的队列数目大于1的优先级队列组。 
步骤203,从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部。 
当分组网络中有分组需要进行传输时,则从接收到的分组的分组头中提取该分组的类别标识,根据该类别标识来确定该分组所属的队列。具体地,本步骤可以为先根据分组的类别标识获取该分组所属的队列,并判断该队列的长度是否等于预设的长度上限值,如果是,则表明该队列已满,则将该分组丢弃,不对其进行后续的传输处理;如果该分组所属的队列的长度小于预设的长度上限值,则表明该队列未满,则将该分组归入所属的队列尾部,将该分组放入所属队列的尾部。 
步骤204,按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度。 
在进行队列调度时,本实施例可以按照上述形成的树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的优先级队列组中的队列进行调度。具体地,本步骤204可以具体包括如下步骤:首先,查找树形结构的每一级的子节点与上一级节点的从属关系,如果从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点,则采用基于概率的队列调度法对当前的优先级队列组中的队列进行调度;如果从属于同一个上一级节点的子节点数据大于1,且所述子节点不均为实节点,则采用优先级队列调度法对当前的优先级队列组中的队列进行调度;其中,所述实节点为叶子节点。其次,将获取的待输出分组的队列对应的子节点代替所述子节点的父节点,对所述树形结构的从下到上的每一级依次重复执行上述步骤,直到所述树形结构的根节点被待输出分组的队列对应的子节点代替, 并从代替所述根节点的子节点所代表的队列中输出分组。 
此处仍以形成如图3所示的树形结构的优先级队列组为例进行说明,在执行本步骤时,假设当前级为树形结构的最高级,当前节点为当前级的下一级中的第一个节点,即当前级为第五级,当前节点为第四级中的叶子节点3。查找当前节点3在第五级中没有子节点,则跳过该节点3,同理也跳过节点5,当前节点为节点16。查找当前节点16在第五级中的子节点有7、4、1,且均为叶子节点,则采用基于概率的队列调度法对节点16对应的优先级队列组中的队列进行调度,即对子节点7、4、1对应的队列进行调度。在进行调度时,先对子节点7、4、1对应的队列进行检测,如果有两个或两个以上的队列同时不为空,则以相应的概率进行调度,选出一个待输出分组的队列,即选出一个即将被调度的队列;如果只有一个队列不为空,则直接将该队列作为待输出分组的队列,即直接将该队列作为即将被调度的队列。 
具体地,在采用基于概率的队列调度法进行调度时,可以先根据队列中的分组长度,并采用下述关系式设定所述队列的调度概率: 
Lm∶Ln=Pn∶Pm    (1) 
其中,Lm和Ln分别为任意两个队列Qm和Qn中的分组长度,Pm和Pn分别为所述队列Qm和Qn的调度概率。根据队列的调度概率和随机生成的随机数来获取当前的优先级队列组中待输出分组的队列,具体地,可以采用如下方法来进行队列调度。假设各队列Q1、Q2...Qn的调度概率的比值为p1∶p2∶p3∶p4∶L pn-1∶pn,则根据该比值生成并获取第一组定值,即:  x 1 = p 1 p 1 + p 2 + p 3 + p 4 + L + p n - 1 + p n , x 2 = p 2 p 1 + p 2 + p 3 + p 4 + L + p n - 1 + p n , x 3 = p 3 p 1 + p 2 + p 3 + p 4 + L + p n - 1 + p n , ..., x n - 1 = p n - 1 p 1 + p 2 + p 3 + p 4 + L + p n - 1 + p n , x n = p n p 1 + p 2 + p 3 + p 4 + L + p n - 1 + p n , 再根据上述第一组定值生成并获取第二组定值,即:y1=x1,y2=y1+x2,y3=y2+x3,y4=y3+x4,...,yn-1=yn-2+xn-1。 然后产生一个随机数R,根据随机数R与上述第二组定值的关系来获取当前的优先级队列组中待输出分组的队列。若0<R<y1,则获取本次调度的待输出分组的队列为Q1;若y1<R<y2,则获取本次调度的待输出分组的队列为Q2;若y2<R<y3,则获取本次调度的待输出分组的队列为Q3;...若yn-1<R<1,则获取本次调度的待输出分组的队列为Qn。此处采用基于概率的队列调度法对子节点7、4、1对应的队列Q7、Q4、Q1进行调度,假设其中的分组长度L7、L4、L1分别为30、20、50,则根据上述公式(1)可知设置的队列Q7、Q4、Q1的调度概率P7、P4、P1满足5∶2∶3。则根据上述调度概率的比值获取并生成第一组定值:1/2、1/5和3/10,根据第一组定值生成的第二组定值为:1/2、7/10。然后在调度过程中产生一个0到1的随机数R,假设随机数R满足:0<R<1/2,则待输出分组的队列为7,即选出的即将被调度的队列为7,若随机数R满足:1/2<R<7/10,则待输出分组的队列为4,即选出的即将被调度的队列为4,若随机数R满足:7/10<R<1,则待输出分组的队列为1,即选出的即将被调度的队列为1。假设经过调度之后选出的待输出分组的队列为4,则以队列4暂时代替节点16,即以队列4暂时作为当前节点16对应的队列。 
对节点16进行处理之后,将当前节点移动到节点17,同理依照上述方法选出待输出分组的队列为9,并以队列9暂时作为节点17对应的队列。由于节点8和6均没有子节点,则跳过节点8和6,完成第五级的调度。此时当前级减1,即对第四级进行处理,并将当前节点移动到第三级的第一个节点,即节点13。 
重复上述过程执行第四级的调度,由于当前节点13在第四级中的子节点为3、5,且均为叶子节点,则采用基于概率的队列调度法对节点3和5对应的队列进行调度。假设选出的待输出分组的队列为5,则以队列5暂时作为当前节点13对应的队列。然后将当前节点移动到节点14,查找当前节点14在第四级中的子节点为16和17,而均不是实节点,则采用 严格优先级队列调度法对节点16和17对应的队列进行调度,假设节点17对应的队列的优先级高于节点16对应的队列的优先级,因此此时选出的被调度的队列为节点17对应的队列。而由上述可知节点17暂时被节点9代替,则此时选出的被调度的队列实际为节点9对应的队列。然后将当前节点移动到节点10,该节点在第四级中没有子节点,则跳过该节点,将当前节点移动到节点15。节点15在第四级中的子节点为8、6,且均为实节点,则采用基于概率的队列调度法对节点8和6对应的队列进行调度。假设选出的待输出分组的队列为8,则以队列8暂时代替当前节点15。此时完成第四级的调度,当前级减1,即对三级进行处理,并将当前节点移动到第二级的第一个节点,即节点11。 
当前节点11在当前级中的子节点为节点13、14,两个节点均为空节点,进行严格的优先级调度。节点14对应的队列的优先级比13对应的队列的优先级高,因此14节点对应的队列将被调度,而14节点暂时被17号节点代替,同时17节点又被9节点代替,所以实际上被调度的队列为9号节点对应的队列,以9号节点暂时代替14号节点。将当前节点移动到节点12,节点12在当前级中的子节点为节点10、15,这两个节点不均为实节点,因此进行严格的优先级调度。节点10节点对应的队列的优先级高于15节点对应的队列,因此10节点对应的队列将被调度,以10号节点暂时代替12号节点。当此时完成第三级的调度,当前级减1,即对二级进行处理,并将当前节点移动到第一级的第一个节点,即根节点0。 
当前节点0在当前级中的子节点为节点11、12,两个都为空节点,因此进行严格的优先级调度。节点11对应的队列的优先级高于节点12对应的队列的优先级,因此被调度的队列为节点11对应的队列。而节点11暂时被9号节点代替,因此被调度的队列为9号节点,以9号节点暂时代替根节点0。由于根节点0为第一级中的最后一个节点,因此当前级调度结束。当前级减1后为第一级,因此本轮调度结束,节点9对应的队列即为最终被调度的队 列。 
需要指出的是,上述过程为一轮调度过程,调度结束后获取本轮调度过程的一个最终被调度的队列,可以重复上述过程来进行下一轮的调度过程,以获取下一个最终被调度的队列。 
本实施例提供了一种分组网络中分级队列调度的方法,通过根据网络中各队列的网络性能要求值对队列进行逐级划分,并形成树形结构的优先级队列组,根据接收到的分组的类别标识将分组归入所属的队列尾部,然后按照树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的优先级队列组中的队列进行调度;本实施例解决了现有技术中无法兼顾较高优先级队列和较低优先级队列的网络性能的缺陷,实现了在严格保证高优先级队列的网络性能的同时,提高了低优先级队列的网络性能。 
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 
图4为本发明分组网络中分级队列调度的装置实施例一的结构示意图,如图4所示,本实施例提供了一种分组网络中分级队列调度的装置,具体可以执行上述方法实施例一中的各个步骤,本实施例提供的分组网络中分级队列调度的装置可以具体包括队列划分模块401、分组归类模块402和队列调度模块403。其中,队列划分模块401用于根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组。分组归类模块402用于从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部。队列调度模块403用于按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度。 
图5为本发明分组网络中分级队列调度的装置实施例二的结构示意图,如图5所示,本实施例提供了一种分组网络中分级队列调度的装置,具体可以执行上述方法实施例二中的各个步骤,本实施例提供的分组网络中分级队列调度的装置在上述实施例一的基础之上,还可以具体包括统计模块501,统计模块501用于统计分组网络中的分组类别和每种分组对应的网络性能要求,并在缓冲区中为每种分组设置独立的大小相等的队列进行缓存。 
具体地,队列调度模块403可以具体包括查找单元413、第一调度单元423、第二调度单元433和输出获取单元443。其中,查找单元413用于查找树形结构的每一级的子节点与上一级节点的从属关系。第一调度单元423用于当从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点,则采用基于概率的队列调度法对当前的优先级队列组中的队列进行调度。第二调度单元433用于当从属于同一个上一级节点的子节点数据大于1,且所述子节点不均为实节点,则采用优先级队列调度法对当前的优先级队列组中的队列进行调度;其中,所述实节点为叶子节点。输出获取单元443用于将获取的待输出分组的队列对应的子节点代替所述子节点的父节点,对所述树形结构的从下到上的每一级依次重复执行上述步骤,直到所述树形结构的根节点被最终待输出分组的队列对应的子节点代替,并从代替所述根节点的子节点所代表的队列中输出分组。 
进一步地,第一调度单元423可以具体包括概率获取子单元4231和队列获取子单元4232。其中,概率获取子单元4231用于当从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点时,根据队列中的分组长度,并采用公式(1)设定所述队列的调度概率。队列获取子单元4232用于根据所述队列的调度概率和随机生成的随机数获取所述当前的优先级队列组中待输出分组的队列。 
更进一步地,分组归类模块402可以具体包括队列获取单元412和检测单元422。其中,队列获取单元412用于根据所述类别标识获取所述分组所 属的队列。检测单元422用于检测所述队列的长度是否等于预设的长度上限值,如果是,则丢弃所述分组,否则将所述分组归入所述队列尾部。 
本实施例提供了一种分组网络中分级队列调度的装置,通过根据网络中各队列的网络性能要求对队列进行逐级划分,并形成树形结构的优先级队列组,根据接收到的分组的类别标识将分组归入所属的队列尾部,然后按照树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的优先级队列组中的队列进行调度;本实施例解决了现有技术中无法兼顾较高优先级队列和较低优先级队列的网络性能的缺陷,实现了在严格保证高优先级队列的网络性能的同时,提高了低优先级队列的网络性能。 
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。 

Claims (8)

1.一种分组网络中分级队列调度的方法,其特征在于,包括:
根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组;
从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部;
按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度;
所述根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组,具体包括:
先根据所有队列中从最低网络性能值到最高网络性能值确定网络性能值的范围,并将该网络性能值范围划分为一系列小的范围段,将网络性能值相近而属于同一范围段的队列归为同一个优先级队列组;依此类推,逐级划分优先级队列组;直到最后一次划分成的优先级队列组满足实际要求;
然后以一个根节点来表示所有队列所在的最大的优先级队列组,根节点为父节点,第一次划分成的几个优先级队列组表示成相应的子节点,第一次划分的子节点为父节点,第二次划分成的优先级队列组表示成相应的父节点的子节点;依次类推,直到所有的队列都以实的叶子节点的形式表示在树形结构中;
所述按照所述树形结构的优先级队列组,选择严格优先级队列调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度,具体包括:
步骤A:查找树形结构的每一级的子节点与上一级节点的从属关系,如果从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点,则采用基于概率的队列调度法对当前的优先级队列组中的队列进行调度;如果从属于同一个上一级节点的子节点数目大于1,且所述子节点不均为实节点,则采用优先级队列调度法对当前的优先级队列组中的队列进行调度;其中,所述实节点为叶子节点; 
步骤B:将获取的待输出分组的队列对应的子节点代替所述子节点的父节点;
对所述树形结构的从下到上的每一级依次重复执行上述步骤A和步骤B,直到所述树形结构的根节点被最终待输出分组的队列对应的子节点代替,并从代替所述根节点的子节点所代表的队列中输出分组。
2.根据权利要求1所述的方法,其特征在于,还包括:
统计分组网络中的分组类别和每种分组对应的网络性能要求,并在缓冲区中为每种分组设置独立的大小相等的队列进行缓存。
3.根据权利要求1所述的方法,其特征在于,所述采用基于概率的队列调度法对当前的优先级队列组中的队列进行调度包括:
根据队列中的分组长度,并采用下述关系式设定所述队列的调度概率:
Lm∶Ln=Pn∶Pm,其中,Lm和Ln分别为任意两个队列Qm和Qn中的分组长度,Pm和Pn分别为所述队列Qm和Qn的调度概率;
根据所述队列的调度概率和随机生成的随机数获取所述当前的优先级队列组中待输出分组的队列。
4.根据权利要求1所述的方法,其特征在于,所述根据所述类别标识将所述分组归入所属的队列尾部包括:
根据所述类别标识获取所述分组所属的队列;
检测所述队列的长度是否等于预设的长度上限值,如果是,则丢弃所述分组,否则将所述分组归入所述队列尾部。
5.一种分组网络中分级队列调度的装置,其特征在于,包括:
队列划分模块,用于根据各队列的网络性能要求对所述队列进行逐级划分,并形成树形结构的优先级队列组;
分组归类模块,用于从接收到的分组的分组头中提取所述分组的类别标识,根据所述类别标识将所述分组归入所属的队列尾部;
队列调度模块,用于按照所述树形结构的优先级队列组,选择严格优先级队列 调度法或基于概率的队列调度法对当前的所述优先级队列组中的队列进行调度;
所述队列划分模块,具体用于先根据所有队列中从最低网络性能值到最高网络性能值确定网络性能值的范围,并将该网络性能值范围划分为一系列小的范围段,将网络性能值相近而属于同一范围段的队列归为同一个优先级队列组;依此类推,逐级划分优先级队列组;直到最后一次划分成的优先级队列组满足实际要求;然后以一个根节点来表示所有队列所在的最大的优先级队列组,根节点为父节点,第一次划分成的几个优先级队列组表示成相应的子节点,第一次划分的子节点为父节点,第二次划分成的优先级队列组表示成相应的父节点的子节点;依次类推,直到所有的队列都以实的叶子节点的形式表示在树形结构中;
所述队列调度模块具体包括查找单元、第一调度单元、第二调度单元和输出获取单元:
其中,所述查找单元,用于查找树形结构的每一级的子节点与上一级节点的从属关系;
所述第一调度单元,用于当从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点,则采用基于概率的队列调度法对当前的优先级队列组中的队列进行调度;
所述第二调度单元,用于当从属于同一个上一级节点的子节点数据大于1,且所述子节点不均为实节点,则采用优先级队列调度法对当前的优先级队列组中的队列进行调度;其中,所述实节点为叶子节点;
所述输出获取单元,用于将获取的待输出分组的队列对应的子节点代替所述子节点的父节点;
对所述树形结构的从下到上的每一级依次重复执行所述查找单元、第一调度单元、第二调度单元和输出获取单元的功能,直到所述树形结构的根节点被所述输出获取单元获取的最终待输出分组的队列对应的子节点代替,并从代替所述根节点的子节点所代表的队列中输出分组。
6.根据权利要求5所述的装置,其特征在于,还包括: 
统计模块,用于统计分组网络中的分组类别和每种分组对应的网络性能要求,并在缓冲区中为每种分组设置独立的大小相等的队列进行缓存。 
7.根据权利要求5所述的装置,其特征在于,所述第一调度单元包括: 
概率获取子单元,用于当从属于同一个上一级节点的子节点数目大于1,且所述子节点均为实节点时,根据队列中的分组长度,并采用下述关系式设定所述队列的调度概率: 
Lm:Ln=Pn:Pm,其中,Lm和Ln分别为任意两个队列Qm和Qn中的分组长度,Pm和Pn分别为所述队列Qm和Qn的调度概率; 
队列获取子单元,用于根据所述队列的调度概率和随机生成的随机数获取所述当前的优先级队列组中待输出分组的队列。 
8.根据权利要求5所述的装置,其特征在于,所述分组归类模块包括: 
队列获取单元,用于根据所述类别标识获取所述分组所属的队列; 
检测单元,用于检测所述队列的长度是否等于预设的长度上限值,如果是,则丢弃所述分组,否则将所述分组归入所述队列尾部。 
CN2010101585993A 2010-04-22 2010-04-22 分组网络中分级队列调度的方法和装置 Expired - Fee Related CN101848149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101585993A CN101848149B (zh) 2010-04-22 2010-04-22 分组网络中分级队列调度的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101585993A CN101848149B (zh) 2010-04-22 2010-04-22 分组网络中分级队列调度的方法和装置

Publications (2)

Publication Number Publication Date
CN101848149A CN101848149A (zh) 2010-09-29
CN101848149B true CN101848149B (zh) 2013-10-23

Family

ID=42772613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101585993A Expired - Fee Related CN101848149B (zh) 2010-04-22 2010-04-22 分组网络中分级队列调度的方法和装置

Country Status (1)

Country Link
CN (1) CN101848149B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109880A1 (zh) * 2011-08-04 2012-08-23 华为技术有限公司 队列调度方法和装置
CN103514037B (zh) * 2012-06-21 2018-06-01 中兴通讯股份有限公司 任务调度处理方法及装置
CN102868633B (zh) * 2012-09-12 2015-04-29 中国联合网络通信集团有限公司 分组数据调度方法及***
CN110618859B (zh) * 2019-09-10 2021-11-16 杭州秘猿科技有限公司 支持按顺序打包的交易池设计方法、电子设备
CN112787956B (zh) * 2021-01-30 2022-07-08 西安电子科技大学 一种队列管理中挤占处理方法、***、存储介质及应用

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0782300A1 (en) * 1995-12-27 1997-07-02 Digital Equipment Corporation Method and apparatus for hierarchical relative error scheduling
US20070086470A1 (en) * 2005-10-03 2007-04-19 Fujitsu Limited Queue selection method and scheduling device
CN101272349A (zh) * 2008-05-06 2008-09-24 北京星网锐捷网络技术有限公司 一种质量服务的优先级模拟队列控制方法及装置
CN101415242A (zh) * 2007-10-16 2009-04-22 中兴通讯股份有限公司 一种宽带无线接入的非实时业务的调度***及方法
CN101557340A (zh) * 2009-05-07 2009-10-14 中兴通讯股份有限公司 一种数据网络中实现多级队列调度的方法及装置
CN101631074A (zh) * 2009-07-30 2010-01-20 北京星网锐捷网络技术有限公司 一种多链路报文发送方法、装置和网络设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0782300A1 (en) * 1995-12-27 1997-07-02 Digital Equipment Corporation Method and apparatus for hierarchical relative error scheduling
US20070086470A1 (en) * 2005-10-03 2007-04-19 Fujitsu Limited Queue selection method and scheduling device
CN101415242A (zh) * 2007-10-16 2009-04-22 中兴通讯股份有限公司 一种宽带无线接入的非实时业务的调度***及方法
CN101272349A (zh) * 2008-05-06 2008-09-24 北京星网锐捷网络技术有限公司 一种质量服务的优先级模拟队列控制方法及装置
CN101557340A (zh) * 2009-05-07 2009-10-14 中兴通讯股份有限公司 一种数据网络中实现多级队列调度的方法及装置
CN101631074A (zh) * 2009-07-30 2010-01-20 北京星网锐捷网络技术有限公司 一种多链路报文发送方法、装置和网络设备

Also Published As

Publication number Publication date
CN101848149A (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
CN101848149B (zh) 分组网络中分级队列调度的方法和装置
CN101446962B (zh) 一种数据转换方法、装置及数据处理***
KR101110904B1 (ko) 채널 트리 오퍼레이션들을 수행하는 방법 및 장치
Hordijk et al. On the assignment of customers to parallel queues
US7472095B2 (en) Methods and apparatus for automatic classification of text messages into plural categories
CN109033462A (zh) 在大数据存储的存储设备中确定低频数据项的方法及***
US20090206013A1 (en) Sort plan optimization
CN105099729A (zh) 一种识别用户身份标识的方法和装置
CN106027288A (zh) 一种配电线路信息监测业务通信流量预测方法
CN105471670A (zh) 流量数据分类方法及装置
CN105045911A (zh) 一种用于用户进行标记的标签生成方法及设备
CN106909575A (zh) 文本聚类方法和装置
CN114742043A (zh) 工单分类方法、装置及计算机可读存储介质
CN114254770A (zh) 工单生成方法、装置、设备及存储介质
CN111090624B (zh) 基于mes和cr板式定制家具板件分类方法
CN100488173C (zh) 对流分类算法进行自动选择的方法
CN100440859C (zh) 一种位图聚合的递推流分类方法及其***
CN104125146A (zh) 一种业务处理方法及装置
CN103037375A (zh) 小区话务场景划分方法及装置
CN101799803B (zh) 信息处理方法、模块及***
CN104462448A (zh) 一种分组名分类方法及装置
CN1925641A (zh) 码分多址集群通信***中被拆信道的确定方法
CN101827175A (zh) 一种话单分拣分目录存储的方法及***
CN109447490B (zh) 一种基于用户地址的户变关系异常判别方法
CN113053399B (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: 20131023

Termination date: 20140422