对多队列的缓存空间进行分配控制的方法及装置制造方法及图纸

技术编号:11158287 阅读:64 留言:0更新日期:2015-03-18 14:16
本发明专利技术公开了一种对多队列的缓存空间进行分配控制的方法及装置,本发明专利技术通过确定的需要分配待共享的缓存空间的队列个数为每个需要分配待共享的缓存空间的队列分配共享缓存空间,并随着需要分配待共享的缓存空间的队列个数的变化为每个需要分配待共享的缓存空间的队列分配共享缓存空间,实现了根据网络流量进行缓存空间自动调整分配,节约了硬件资源,有利于硬件实践,同时提高了缓存空间的利用率。

【技术实现步骤摘要】

本专利技术涉及到缓存领域,特别涉及到一种对多队列的缓存空间进行分配控制的方法及装置
技术介绍
随着网络的普及,信息交流与信息共享成为人们日常生活中必不可少的一部分。而随着网络中交互信息(数据包)的不断增长,必然引起网络拥塞。因此,如何避免拥塞显得尤为重要,现在Internet(互联网)上使用得比较广泛的拥塞避免机制是RED(Random Early Discard,随机早期丢弃)机制。而RED机制的关键在于如何有效的使用有限的缓存资源,执行合理的丢弃,从而实现拥塞避免,保障网络的顺畅。在现有的采用RED机制的RED装置的多队列缓存中,通常的分配缓存方式包括:方式一、使用的都是按照端口、队列的数量及队列的优先级来分配缓存的方式;方式二、采用指数移动加权平均算法并配合其他函数实现多队列共享缓存的方式。然而,上述方式存在不可回避的缺陷:缺陷一、采用上述方式一划分缓存比较简单,但由于各队列的缓存是预先分配,且分配完毕即是固定的,不能根据各队列实时网络流量进行自动调整,缓存利用率偏低,缺乏自适应性,并且也无法真正达到共享缓存的效果,因为分配好之后,每个队列能使用缓存的最大额度就是分配给自己的那一部分;缺陷二、采用上述方式二进行共享缓存,在激活队列较少时,缓存利用率偏低,并且算法相对复杂,不利于硬件实现。
技术实现思路
本专利技术的主要目的为提供一种对多队列的缓存空间进行分配控制的方法<br>及装置,旨在实现根据网络流量进行缓存自动调整分配,进而提高缓存空间的利用率。本专利技术提出一种对多队列的缓存空间进行分配控制的方法,该方法包括:分析各个队列中是否存在需要分配待共享的缓存空间的队列;在存在需要分配待共享的缓存空间的队列时,确定需要分配待共享的缓存空间的队列的个数;根据确定的需要分配待共享的缓存空间的队列个数,将待共享的缓存空间分配给各个需要分配待共享的缓存空间的队列。优选地,所述根据确定的需要分配待共享的缓存空间的队列个数,将待共享的缓存空间分配给各个需要分配待共享的缓存空间的队列的步骤包括:将所述待共享的缓存空间中预留出预设值的缓存空间,并将预留后剩余的缓存空间作为待分配的缓存空间;根据确定的需要分配待共享的缓存空间的队列个数,将所述待分配的缓存空间分配给各个需要分配待共享的缓存空间的队列。优选地,在所述分析各个队列中是否存在需要分配待共享的缓存空间的队列的步骤之前,该方法还包括:将待独享的缓存空间分配给各个队列。优选地,所述将待独享的缓存空间分配给各个队列的步骤之后,该方法还包括:分析为各个队列分配的待独享的缓存空间是否满足各个队列的执行需要;若有队列被分配的待独享的缓存空间不满足执行需要,则确定该队列为需要分配待共享的缓存空间的队列。优选地,在所述将待共享的缓存空间分配给各个需要分配待共享的缓存空间的队列的步骤之后,该方法还包括:分析为各个需要分配待共享的缓存空间的队列分配的共享缓存空间是否被占用;当有需要分配待共享的缓存空间的队列被分配的共享缓存空间未被占用时,则确定该队列为不需要分配待共享的缓存空间的队列,将确定的需要分配待共享的缓存空间的队列个数减一,并根据减一后的队列个数,将待共享的缓存空间分配给各个需要分配待共享的缓存空间的队列。一种对多队列的缓存空间进行分配控制的装置,该装置包括:分析模块,用于分析各个队列中是否存在需要分配待共享的缓存空间的队列;处理模块,用于在存在需要分配待共享的缓存空间的队列时,确定需要分配待共享的缓存空间的队列的个数;分配模块,用于根据确定的需要分配待共享的缓存空间的队列个数,将待共享的缓存空间分配给各个需要分配待共享的缓存空间的队列。优选地,所述处理模块,还用于将所述待共享的缓存空间中预留出预设值的缓存空间,并将预留后剩余的缓存空间作为待分配的缓存空间;所述分配模块,还用于根据确定的需要分配待共享的缓存空间的队列个数,将所述待分配的缓存空间分配给各个需要分配待共享的缓存空间的队列。优选地,所述分配模块,还用于将待独享的缓存空间分配给各个队列。优选地,所述分析模块,还用于分析为各个队列分配的待独享的缓存空间是否满足各个队列的执行需要;所述处理模块,还用于若有队列被分配的待独享的缓存空间不满足执行需要,则确定该队列为需要分配待共享的缓存空间的队列。优选地,所述分析模块,还用于分析为各个需要分配待共享的缓存空间的队列分配的共享缓存空间是否被占用;所述处理模块,还用于当有需要分配待共享的缓存空间的队列被分配的共享缓存空间未被占用时,则确定该队列为不需要分配待共享的缓存空间的队列,将确定的需要分配待共享的缓存空间的队列个数减一;所述分配模块,还用于根据减一后的队列个数,将待共享的缓存空间分配给各个需要分配待共享的缓存空间的队列。相对现有技术,通过确定的需要分配待共享的缓存空间的队列个数为每个需要分配待共享的缓存空间的队列分配共享缓存空间,并随着需要分配待共享的缓存空间的队列个数的变化为每个需要分配待共享的缓存空间的队列分配共享缓存空间,实现了根据网络流量进行缓存空间自动调整分配,节约了硬件资源,有利于硬件实践,同时提高了缓存空间的利用率。附图说明图1为本专利技术对多队列的缓存空间进行分配控制的方法的第一实施例的具体流程图;图2为本专利技术对多队列的缓存空间进行分配控制的方法的第二实施例的具体流程图;图3为本专利技术对多队列的缓存空间进行分配控制的方法的第三实施例的具体流程图;图4为本专利技术对多队列的缓存空间进行分配控制的方法的第四实施例的具体流程图;图5为本专利技术对多队列的缓存空间进行分配控制的方法的第五实施例的具体流程图;图6为本专利技术对多队列的缓存空间进行分配控制的装置的较佳实施例的具体架构图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,为本专利技术对多队列的缓存空间进行分配控制的方法的第一实施例的具体流程图。需要强调的是:图1所示流程图仅为一个较佳实施例,本领域的技术人员当知,任何围绕本专利技术思想构建的实施例都不应脱离于如下技术方案涵盖的范围:分析各个队列中是否存在需要分配待共享的缓存空间的队列;在存在需要分配待共享的本文档来自技高网...
对多队列的缓存空间进行分配控制的方法及装置

【技术保护点】
一种对多队列的缓存空间进行分配控制的方法,其特征在于,该方法包括:分析各个队列中是否存在需要分配待共享的缓存空间的队列;在存在需要分配待共享的缓存空间的队列时,确定需要分配待共享的缓存空间的队列的个数;根据确定的需要分配待共享的缓存空间的队列个数,将待共享的缓存空间分配给各个需要分配待共享的缓存空间的队列。

【技术特征摘要】
1.一种对多队列的缓存空间进行分配控制的方法,其特征在于,该方法
包括:
分析各个队列中是否存在需要分配待共享的缓存空间的队列;
在存在需要分配待共享的缓存空间的队列时,确定需要分配待共享的缓
存空间的队列的个数;
根据确定的需要分配待共享的缓存空间的队列个数,将待共享的缓存空
间分配给各个需要分配待共享的缓存空间的队列。
2.根据权利要求1所述的对多队列的缓存空间进行分配控制的方法,其
特征在于,所述根据确定的需要分配待共享的缓存空间的队列个数,将待共
享的缓存空间分配给各个需要分配待共享的缓存空间的队列的步骤包括:
将所述待共享的缓存空间中预留出预设值的缓存空间,并将预留后剩余
的缓存空间作为待分配的缓存空间;
根据确定的需要分配待共享的缓存空间的队列个数,将所述待分配的缓
存空间分配给各个需要分配待共享的缓存空间的队列。
3.根据权利要求1或2所述的对多队列的缓存空间进行分配控制的方法,
其特征在于,在所述分析各个队列中是否存在需要分配待共享的缓存空间的
队列的步骤之前,该方法还包括:
将待独享的缓存空间分配给各个队列。
4.根据权利要求3所述的对多队列的缓存空间进行分配控制的方法,其
特征在于,所述将待独享的缓存空间分配给各个队列的步骤之后,该方法还
包括:
分析为各个队列分配的待独享的缓存空间是否满足各个队列的执行需
要;
若有队列被分配的待独享的缓存空间不满足执行需要,则确定该队列为
需要分配待共享的缓存空间的队列。
5.根据权利要求1或2所述的对多队列的缓存空间进行分配控制的方法,
其特征在于,在所述将待共享的缓存空间分配给各个需要分配待共享的缓存
空间的队列的步骤之后,该方法还包括:
分析为各个需要分配待共享的缓存空间的队列分配的共享缓存空间是否
被占用;
当有需要分配待共享的缓存空间的队列被分配的共享缓存空间未被占用
时,则确定该队列为不需要分配待共享的缓存空间的队列,将确定的需要分
配待共享的缓存空间的队列个数减一,并根据减一后的队列个数,将待共享
的缓存空...

【专利技术属性】
技术研发人员:陈杭洲
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1