队列调整方法及装置的制作方法

文档序号:7757987阅读:134来源:国知局
专利名称:队列调整方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种服务质量(Quality Of Service, QOS) 出队列的队列调整方法及装置。
背景技术
服务质量QOS是指允许用户在吞吐量、延迟、抖动、丢包率等方面获得可预期的服务水平的一系列技术的集合。对于QOS出队列,端口 QOS出队列长度是平均分配来实现的,交换机为所有端口各分配了 8个相同长度的队列。目前,QOS出队列技术是当一个QOS出队列满时,放入该队列的报文就会被丢弃,而此时,其他QOS出队列则可能是空闲的。例如,当端口 1的某个队列 (例如队列7)满时,队列7上的新增加的报文就会被丢弃,这时,该端口的其它队列则有可能是空闲的或者报文很少,此外,其它端口的QOS出队列也可能是空闲的或者报文很少。可见,在实际的使用中,大多数情况是较少的队列会满,而较多的队列是空闲或者报文很少,队列资源不能充分利用。由此,目前的QOS出队列技术方案中存在当部分端口的队列因队列满而导致丢包时,其它的QOS出队列此时可能是空闲或者使用的很少,从而使得QOS出队列在整体上队列资源没有被充分使用的问题。

发明内容
本发明的主要目的在于提供一种QOS出队列的队列调整方法及装置,以至少解决上述现有QOS出队列在整体上队列资源没有被充分使用的问题。根据本发明的一个方面,提供了一种队列调整方法,包括比较当前服务质量QOS 出队列的内存空间被占用长度与设定的第一阈值和第二阈值的关系,其中,第一阈值和第二阈值均小于当前QOS出队列的内存空间长度,第一阈值小于第二阈值;若当前QOS出队列的内存空间被占用长度大于第二阈值,则从其它的内存空间被占用长度小于第一阈值的 QOS出队列中选择一个队列,其中,当前QOS出队列和其它QOS出队列中均设置有借用缓冲区;将选择的QOS出队列的借用缓冲区借用到当前QOS出队列的队尾。优选地,借用缓冲区的长度为借用缓冲区的长度=QOS出队列长度-第二阈值 + (第二阈值-第一阈值)χN%,其中,N为0-100之间的整数。优选地,队列调整方法还包括若当前QOS出队列的内存空间被占用长度小于第一阈值,则设置当前QOS出队列为可借用队列,允许向其它QOS出队列供出其借用缓冲区。优选地,队列调整方法还包括若当前QOS出队列的内存空间被占用长度小于或等于第二阈值且大于或等于第一阈值,则当前QOS出队列判断其借用缓冲区是否借出;若是,则收回其借用缓冲区,并为借用其借用缓冲区的QOS出队列重新分配借用缓冲区;若否,则设置当前QOS出队列为不可借用队列,拒绝向其它QOS队列借出其借用缓冲区。优选地,队列调整方法还包括当当前QOS出队列的内存空间被占用长度由大于
4第二阈值减小到小于或等于第二阈值,则当前QOS出队列归还借用的借用缓冲区。优选地,队列调整方法还包括系统保存当前QOS出队列和其借用的借用缓冲区所属的QOS出队列的对应关系,并实时更新。根据本发明的另一方面,提供了一种队列调整装置,包括比较模块,用于比较当前服务质量QOS出队列的内存空间被占用长度与设定的第一阈值和第二阈值的关系,其中,第一阈值和第二阈值均小于当前QOS出队列的内存空间长度,第一阈值小于第二阈值; 第一分配模块,用于当比较模块的比较结果为当前QOS出队列的内存空间被占用长度大于第二阈值时,从其它的内存空间被占用长度小于第一阈值的QOS出队列中选择一个队列, 其中,当前QOS出队列和其它QOS出队列中均设置有借用缓冲区;将选择的QOS出队列的借用缓冲区借用到当前QOS出队列的队尾。优选地,借用缓冲区的长度为借用缓冲区的长度=QOS出队列长度-第二阈值 + (第二阈值-第一阈值)χN%,其中,N为0-100之间的整数。优选地,队列调整装置还包括第二分配模块,用于若比较模块的比较结果为当前 QOS出队列的内存空间被占用长度小于第一阈值,则设置当前QOS出队列为可借用队列,允许向其它QOS出队列供出其借用缓冲区;和/或,第三分配模块,用于若比较模块的比较结果为当前QOS出队列的内存空间被占用长度小于或等于第二阈值且大于或等于第一阈值, 则当前QOS出队列判断其借用缓冲区是否借出;若是,则收回其借用缓冲区,并为借用其借用缓冲区的QOS出队列重新分配借用缓冲区;若否,则设置当前QOS出队列为不可借用队列,拒绝向其它QOS队列借出其借用缓冲区。优选地,队列调整装置还包括归还模块,用于当当前QOS出队列的内存空间被占用长度由大于第二阈值减小到小于或等于第二阈值,则当前QOS出队列归还借用的借用缓冲区。通过本发明,采用对所有QOS出队列都划分出一个可以共享的队列缓冲区,当某个QOS出队列的使用超过第二阈值时,将其它使用队列长度小于第一阈值的QOS出队列中的队列缓冲区借用增加到该队列,使得该队列的长度大于原先初始分配的长度,从而使得当该QOS出队列中的报文超过该QOS出队列初始长度时,报文仍可以缓存在该QOS出队列中,而不会被丢弃,从而解决了现有QOS出队列在整体上队列资源没有被充分使用的问题, 进而达到了充分利用QOS出队列整体资源,提高服务质量的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例一的一种队列调整方法的步骤流程图;图2是根据本发明实施例二的一种队列调整方法的步骤流程图;图3是根据本发明实施例三的一种队列调整方法中的队列初始分配图;图4是根据本发明实施例三的一种队列调整方法中的缓冲队列管理图;图5是根据本发明实施例三的一种队列调整方法中的队列可借用长度图;图6是根据本发明实施例三的一种队列调整方法中的缓冲队列回收图;图7是根据本发明实施例三的一种队列调整方法中的缓冲队列借用图8是根据本发明实施例三的一种队列调整方法中的缓冲队列归还图;图9是根据本发明实施例三的一种队列调整方法中的缓冲队列借用管理图;图10是根据本发明实施例四的一种队列调整装置的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一参照图1,示出了根据本发明实施例一的一种队列调整方法的步骤流程图。本实施例的队列调整方法包括以下步骤步骤S102 比较当前QOS出队列的内存空间被占用长度与设定的第一阈值和第二阈值的关系;其中,第一阈值和第二阈值均小于当前QOS出队列的内存空间长度,并且,第一阈
值小于第二阈值。本实施例中,一个端口的所有QOS出队列中均设置有借用缓冲区,当一个QOS出队列空闲或使用的很少时,其借用缓冲区可以借出给其它QOS出队列使用;相反当一个QOS出队列很满时,则可以借用其它可借用的借用缓冲区来增加队列长度,扩展队列空间。在本实施例中,当队列空间占用长度小于第一阈值时,说明该队列较空闲,还有较多的空闲队列空间可被使用,可以向其它队列借出;当队列占用空间长度大于等于第一阈值且小于等于第二阈值时,说明该队列较忙,不能向其它队列借出其借用缓冲区,且有可能向其它队列借用可借用的借用缓冲区;当队列占用空间长度大于第二阈值时,则说明该队列很忙,需要向其它可借出缓冲区的队列借用相应的借用缓冲区。步骤S104 若当前QOS出队列的内存空间被占用长度大于第二阈值,则从其它的内存空间被占用长度小于第一阈值的QOS出队列中选择一个队列;其中,当前QOS出队列和其它QOS出队列中均设置有借用缓冲区,该借用缓冲区是一个共享缓冲区,可以在必要时向其它QOS出队列借出。步骤S106 将选择的QOS出队列的借用缓冲区借用到当前QOS出队列的队尾。通过将选择的QOS出队列的借用缓冲区借用到当前QOS出队列的队尾,可以扩展当前QOS出队列的缓存空间,以便于缓存更多的报文。借用的方式可以由本领域技术人员根据实际情况灵活设置,如使用链表方式,或使用表格记录方式等等,只要能够确定提供的借用缓冲区的地址,以便于存储报文数据即可。相关技术中,QOS出队列技术方案中存在当部分端口的队列因队列满而导致丢包时,其它的QOS出队列此时可能是空闲或者使用的很少,从而使得QOS出队列在整体上队列资源没有被充分使用。通过本实施例,采用对所有QOS出队列都划分出一个可以共享的队列缓冲区,当某个QOS出队列的使用超过第二阈值时,将其它使用队列长度小于第一阈值的QOS出队列中的队列缓冲区借用增加到该队列,使得该队列的长度大于原先初始分配的长度,从而使得当该QOS出队列中的报文超过该QOS出队列初始长度时,报文仍可以缓存在该QOS出队列中,而不会被丢弃,从而解决了现有QOS出队列在整体上队列资源没有被充分使用的问题,进而达到了充分利用QOS出队列整体资源,提高服务质量的效果。
实施例二参照图2,示出了根据本发明实施例二的一种队列调整方法的步骤流程图。本实施例中,对所有QOS出队列都划分出一个可以共享的队列缓冲区,在某个队列满时,借用其它的空闲队列来增加该队列的长度,减少丢包数量,提供更好的QOS服务。本实施例的队列调整方法包括以下步骤步骤S202 针对每个端口的每个QOS出队列,分别设置最小缓冲归还阀值(即第一阈值)和最大缓冲借用阀值(即第二阈值)。步骤S204 将所有QOS出队列中使用的队列长度未超过最小缓冲归还阀值的队列,由软件统一管理;对于已经借用的队列,记录借用与被借用的关系,由软件系统统一管理。其中,可以采用链表的方式对所有QOS出队列中使用的队列长度未超过最小缓冲归还阀值的队列进行统一管理,也可以采用表格登记的方式进行统一管理,当然,本领域技术人员也可以采用其它适当方式,本发明对此不作限制。通过对所有QOS出队列中使用的队列长度未超过最小缓冲归还阀值的队列的统一管理,可以在有QOS出队列需要借用其它队列的缓存空间时,方便快捷地获取和提供可借出缓存空间的队列,并且,也便于实时了解和获取可借出缓存空间的队列的情况,提高系统效率。对于已经借用的队列,借用缓存空间的队列和被借用缓存空间的队列之间存在一一对应的关系,及时记录该关系,一方面可以及时了解队列中借用和被借用的情况,另一方面,在借用缓存空间的队列不再需要借用时,可以及时有效地归还被借用的借用缓冲区给相应的队列。每个QOS出队列可供借用的长度可以为大于最大缓冲借用阀值的剩余队列。优选地,每个QOS出队列可供借用的长度可以由两部分组成,一部分是大于最大缓冲借用阀值的剩余队列,另一部分是最大缓冲借用阀值与最小缓冲归还阀值的差值乘以可以配置的百分比的空间长度。步骤S206 根据当前QOS出队列的内存空间被占用长度,进行相应的队列调整处理。具体地,当队列的使用超过最小缓冲归还阀值,将该队列的借用缓冲区设置为不可借用。 如果该队列的借用缓冲区已经借出,则需要收回,可从系统中重新分配一个队列的借用缓冲区给借用者使用。当队列的使用由最小缓冲归还阀值变为超过最大缓冲借用阀值,从空闲缓冲队列列表中找出一个借用,增加该队列的长度。空闲缓冲队列的查找优先选用借用队列所在端口的其它队列,如果其它队列不能借出或者已经借出,再选用其它端口的队列借用。当队列的使用由超过最大缓冲借用阀值变为小于最大缓冲借用阀值,归还借用的借用缓冲区。当队列的使用由超过最小缓冲归还阀值变为小于最小缓冲归还阀值,将该队列的借用缓冲区设置为可借用。通过本实施例提供的具有动态调整队列大小的方案,针对每个端口的每个QOS出队列,分别设置最小缓冲归还阀值(本文中也简称为最小阀值)和最大缓冲借用阀值(本文中也简称为最大阀值),并将超出最大阀值的那部分队列以及最小阀值和最大阀值之间的部分队列共同设置为可以借用的队列(本文中也称之为缓冲队列),当端口的使用队列长度超过最小阀值,则上报软件指明该队列不能借出缓冲队列(默认所有端口都是可以借出缓冲队列的)。当队列长度超过最大阀值,软件可以检测还有哪些端口的缓冲队列可以借用,查到之后将空闲的缓冲队列借用到繁忙队列上,增加该队列的长度,减少空闲队列长度,一旦空闲队列的开始繁忙起来了,即使用队列长度超过最小阀值,借用的缓冲要予以归还。为了防止缓冲震荡,每个队列可以设定了一个高位的最大阀值,一个低位的最小阀值, 使用队列长度由最小阀值增加到最大阀值时,触发高位,使用队列长度由最大阀值减小到最小阀值时,触发低位。与现有技术相比较,本实施例通过共享队列的部分资源,动态调整队列大小,使队列资源利用更充分。当某个队列的使用超过最大阀值时,将其它使用队列长度小于最小阀值的缓冲队列增加到该队列,使得该队列的长度大于原先初始分配的长度,当队列中的报文超过队列初始长度时,报文仍可以缓存在该队列中,而不会被丢弃,从而提高了服务质量。实施例三本实施例中,以一个QOS出队列的队列使用动态变化过程中的队列调整为例,详细说明本发明QOS队列调整方法。首先,参照图3,示出了根据本发明实施例三的一种队列调整方法中的队列初始分配图。如图3所示,本实施例将每个QOS出队列划分为三部分小于最小阀值(即第一阈值)的部分(图中竖条纹部分)、最小阀值与最大阀值(即第二阈值)之间部分(图中斜条纹部分)和大于最大阀值部分(图中斜条纹部分后面的剩余队列,即十字条纹部分)。其中,当队列的内存空间被占用长度位于小于最小阀值部分时,S卩,当队列的使用小于最小阀值时,将队列设置为可借用队列,允许向其它QOS出队列借出其缓存;当队列的内存空间被占用长度位于最小阀值与最大阀值之间部分时,即,当队列的使用介于最小阀值和最大阀值之间时,该队列设置为不可借用队列,此时,拒绝向其它QOS出队列借出其缓存;当队列的内存空间被占用长度位于大于最大阀值部分时,即,当队列的使用大于最大阀值后,说明该队列的使用快要达到队列的最大值,因此需要从别的队列借用,来增加该队列可供使用的长度。参照图4,示出了根据本发明实施例三的一种队列调整方法中的缓冲队列管理图。 如图4所示,本实施例在系统初始阶段,将所有空闲队列(即队列内存空间占用长度小于最小阀值的队列)都管理起来,连成一个可供借用的链表,该链表只记录该队列使用小于最小阀值的队列。同时,将所有借用队列和被借用队列连成一个链表,记录链表的借用情况和被借用情况,便于借用后归还。参照图5,示出了根据本发明实施例三的一种队列调整方法中的队列可借用长度图。如图5所示,本实施例设计可供借用的队列长度的计算,获取可供借用的队列。队列可供借用的长度由两部分组成,一部分是大于最大阀值的剩余队列,另一部分是最大阀值与最小阀值差值乘以可以配置的百分比,该百分比可以配置,根据实际使用情况进行调节。可供借用的长度的位置从队列的尾部向前分配,如图中的横条纹部分。具体地,可借用队列长度=队列长度-最大阀值+ (最大阀值-最小阀值),其中,N的大小为0-100之间的整数,可以根据实际需要灵活配置。参照图6,示出了根据本发明实施例三的一种队列调整方法中的缓冲队列回收图。如图6所示,当队列(例如端口 1的队列7)使用的内存空间由小于最小阀值增加到大于最小阀值时,需要将该队列设置为不可借用队列。如果该队列没有被其它队列借用, 即该队列在可供借用的队列中,将该队列从可供借用的队列中取出,即该队列不能再被借用;如果该队列已经被其它队列所借用,则强行收回该队列借出的队列,从已借用队列表中删除,同时,再为借用该队列的队列从可借用队列中重新分配一个可借用队列。具体地,包括步骤S602 从可借用队列中,查找该队列,如果找到,说明该队列没有被借用,将该队列从可借用队列中删除,不再执行后面的步骤;如果没有找到,执行步骤S604。步骤S604:该队列已经被借用,从已借用关系表中查找该队列,找到借用该队列的借用者,从借用者收回该借用队列。步骤S606 给借用本队列的借用者从可借用队列中重新借用一个队列,如果可借用队列为空,借用者将借用不到队列。参照图7,示出了根据本发明实施例三的一种队列调整方法中的缓冲队列借用图。如图7所示,当队列(如图中端口 1的队列7)使用的内存空间由小于最大阀值到超过最大阀值后,该队列的使用快要超过队列的最大值,需要借用其它队列来增加队列的大小,从可借用队列中查找一个可供借用的队列(如图中的端口 1的队列6),将借用的队列放入当前队列的尾部,增加队列的长度,同时减小借用队列的长度。具体地,包括步骤S702 从可借用队列中找出一个可供借用的队列(如图中的端口 1的队列 6),如果找不到可供借用的队列,不做任何操作,即下面的步骤不用执行;如果找到可供借用的队列,进行步骤S704。步骤S704 将借用队列(如图中的端口 1的队列6)从可供借用队列中删除,防止其它队列借用。当然,在实际操作中,也可以通过其它方式,如对该借用队列进行标记的方式,以区别其是否被借出。步骤S706 将借用队列(如图中的端口 1的队列7)和被借用队列(如图中的端口 1的队列6)加入到借用队列关系表。步骤S708 将被借用队列(如图中端口 1的队列6)增加到借用队列(如图中端口 1的队列7)的尾部,增加队列的长度。参照图8,示出了根据本发明实施例三的一种队列调整方法中的缓冲队列归还图。如图8所示,当队列(如图中端口 1的队列7)使用的内存空间由大于最大阀值降低到小于最大阀值后,该队列的长度足够使用,需要归还已借用的其它队列,更新队列借用关系表。具体地,包括步骤S802 检查队列借用关系表,查找是否有该队列借用其它队列的记录,如果有,执行步骤S804 ;如果没有,不做任何操作,即下面的步骤不用执行。步骤S804 将被借用队列(如图中的端口 1的队列6)从借用队列(如图中的端口 1的队列7)的尾部去掉,归还给被借用队列。步骤S806 将借用队列关系表中,借用队列和被借用队列的借用关系删除。步骤S808 将被借用队列(如图中端口 1的队列6)增加到可供借用队列链表中, 需要借用队列的其它队列可以借用该队列。参照图9,示出了根据本发明实施例三的一种队列调整方法中的缓冲队列借用管理图。如图9所示,当队列(如图中端口 1的队列7)使用的内存空间由大于最小阀值降低到小于最小阀值后,该队列的使用比较空闲,可设置为可借用队列,增加到可借用队列的链表中。通过本实施例,采用共享每个QOS出队列的部分资源,动态调整队列大小,使队列资源利用更充分,提高了服务质量。实施例四参照图10,示出了根据本发明实施例四的一种队列调整装置的结构框图。本实施例的队列调整装置包括比较模块1002,用于比较当前QOS出队列的内存空间被占用长度与设定的第一阈值和第二阈值的关系,其中,第一阈值和第二阈值均小于当前QOS出队列的内存空间长度,第一阈值小于第二阈值;第一分配模块1004,用于当比较模块1002的比较结果为当前QOS出队列的内存空间被占用长度大于第二阈值时,从其它的内存空间被占用长度小于第一阈值的QOS出队列中选择一个队列,其中,当前QOS出队列和其它QOS出队列中均设置有借用缓冲区;将选择的QOS出队列的借用缓冲区借用到当前 QOS出队列的队尾。优选地,借用缓冲区的长度为借用缓冲区的长度=QOS出队列长度-所述第二阈值+(所述第二阈值-所述第一阈值)XN%,其中,N为0-100之间的整数。优选地,本实施例的队列调整装置还包括第二分配模块1006,用于若比较模块 1002的比较结果为当前QOS出队列的内存空间被占用长度小于第一阈值,则设置当前QOS 出队列为可借用队列,允许向其它QOS出队列供出其借用缓冲区;和/或,第三分配模块 1008,用于若比较模块1002的比较结果为当前QOS出队列的内存空间被占用长度小于或等于第二阈值且大于或等于第一阈值,则当前QOS出队列判断其借用缓冲区是否借出;若是, 则收回其借用缓冲区,并为借用其借用缓冲区的QOS出队列重新分配借用缓冲区;若否,则设置当前QOS出队列为不可借用队列,拒绝向其它QOS队列借出其借用缓冲区。优选地,本实施例的队列调整装置还包括归还模块,用于当当前QOS出队列的内存空间被占用长度由大于第二阈值减小到小于或等于第二阈值,则当前QOS出队列归还借用的借用缓冲区。优选地,本实施例的队列调整装置还包括保存模块,用于系统保存当前QOS出队列和其借用的借用缓冲区所属的QOS出队列的对应关系,并实时更新。本实施例实现的方法可以参照前述相应方法实施例的相关描述,并具有上述实施例的有益效果,在此不再赘述。从以上的描述中,可以看出,本发明提供的QOS出队列在分布式交换机上的队列调整技术方案,根据QOS出队列的队列使用情况进行动态的调整,通过共享队列的部分资源,使队列资源利用更充分。尤其当某个队列的使用超过最大阀值时,将其它使用队列长度小于最小阀值的缓冲队列增加到该队列,使得该队列的长度大于原先初始分配的长度,当队列中的报文超过队列初始长度时,报文仍可以缓存在该队列中,而不会被丢弃,从而提高了服务质量。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种队列调整方法,其特征在于,包括比较当前服务质量QOS出队列的内存空间被占用长度与设定的第一阈值和第二阈值的关系,其中,所述第一阈值和所述第二阈值均小于所述当前QOS出队列的内存空间长度, 所述第一阈值小于所述第二阈值;若所述当前QOS出队列的内存空间被占用长度大于所述第二阈值,则从其它的内存空间被占用长度小于所述第一阈值的QOS出队列中选择一个队列,其中,所述当前QOS出队列和其它QOS出队列中均设置有借用缓冲区;将选择的所述QOS出队列的所述借用缓冲区借用到所述当前QOS出队列的队尾。
2.根据权利要求1所述的方法,其特征在于,所述借用缓冲区的长度为所述借用缓冲区的长度=QOS出队列长度-所述第二阈值+(所述第二阈值-所述第一阈值)XN%,其中,N为0-100之间的整数。
3.根据权利要求1或2所述的方法,其特征在于,还包括若所述当前QOS出队列的内存空间被占用长度小于所述第一阈值,则设置所述当前 QOS出队列为可借用队列,允许向其它QOS出队列供出其借用缓冲区。
4.根据权利要求1或2所述的方法,其特征在于,还包括若所述当前QOS出队列的内存空间被占用长度小于或等于所述第二阈值且大于或等于所述第一阈值,则所述当前QOS出队列判断其借用缓冲区是否借出;若是,则收回其借用缓冲区,并为借用其借用缓冲区的QOS出队列重新分配借用缓冲区;若否,则设置所述当前 QOS出队列为不可借用队列,拒绝向所述其它QOS队列借出其借用缓冲区。
5.根据权利要求1所述的方法,其特征在于,还包括当所述当前QOS出队列的内存空间被占用长度由大于所述第二阈值减小到小于或等于所述第二阈值,则所述当前QOS出队列归还借用的所述借用缓冲区。
6.根据权利要求1所述的方法,其特征在于,还包括系统保存所述当前QOS出队列和其借用的所述借用缓冲区所属的QOS出队列的对应关系,并实时更新。
7.一种队列调整装置,其特征在于,包括比较模块,用于比较当前服务质量QOS出队列的内存空间被占用长度与设定的第一阈值和第二阈值的关系,其中,所述第一阈值和所述第二阈值均小于所述当前QOS出队列的内存空间长度,所述第一阈值小于所述第二阈值;第一分配模块,用于当所述比较模块的比较结果为所述当前QOS出队列的内存空间被占用长度大于所述第二阈值时,从其它的内存空间被占用长度小于所述第一阈值的QOS出队列中选择一个队列,其中,所述当前QOS出队列和其它QOS出队列中均设置有借用缓冲区;将选择的所述QOS出队列的所述借用缓冲区借用到所述当前QOS出队列的队尾。
8.根据权利要求7所述的装置,其特征在于,所述借用缓冲区的长度为所述借用缓冲区的长度=QOS出队列长度-所述第二阈值+(所述第二阈值-所述第一阈值)XN%,其中,N为0-100之间的整数。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括第二分配模块,用于若所述比较模块的比较结果为所述当前QOS出队列的内存空间被占用长度小于所述第一阈值,则设置所述当前QOS出队列为可借用队列,允许向其它QOS出队列供出其借用缓冲区; 和/或,第三分配模块,用于若所述比较模块的比较结果为所述当前QOS出队列的内存空间被占用长度小于或等于所述第二阈值且大于或等于所述第一阈值,则所述当前QOS出队列判断其借用缓冲区是否借出;若是,则收回其借用缓冲区,并为借用其借用缓冲区的QOS出队列重新分配借用缓冲区;若否,则设置所述当前QOS出队列为不可借用队列,拒绝向所述其它QOS队列借出其借用缓冲区。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括 归还模块,用于当所述当前QOS出队列的内存空间被占用长度由大于所述第二阈值减小到小于或等于所述第二阈值,则所述当前QOS出队列归还借用的所述借用缓冲区。
全文摘要
本发明公开了一种队列调整方法及装置,其中,队列调整方法包括比较当前服务质量QOS出队列的内存空间被占用长度与设定的第一阈值和第二阈值的关系,其中,第一阈值和第二阈值均小于当前QOS出队列的内存空间长度,第一阈值小于第二阈值;若当前QOS出队列的内存空间被占用长度大于第二阈值,则从其它的内存空间被占用长度小于第一阈值的QOS出队列中选择一个队列,其中,当前QOS出队列和其它QOS出队列中均设置有借用缓冲区;将选择的QOS出队列的借用缓冲区借用到当前QOS出队列的队尾。通过本发明,达到了充分利用QOS出队列整体资源,提高服务质量的效果。
文档编号H04L12/56GK102263701SQ201110240078
公开日2011年11月30日 申请日期2011年8月19日 优先权日2011年8月19日
发明者李建国 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1