[发明专利]共享缓存的使用方法无效
申请号: | 201010245495.6 | 申请日: | 2010-08-06 |
公开(公告)号: | CN102347891A | 公开(公告)日: | 2012-02-08 |
发明(设计)人: | 蔡云阳;何运锋 | 申请(专利权)人: | 高通创锐讯通讯科技(上海)有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 丁纪铁 |
地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 缓存 使用方法 | ||
技术领域
本发明涉及一种网络通信方法,特别是涉及一种多个队列分享同一个缓存的使用方法。
背景技术
共享缓存是一种网络通信领域常见的资源配置策略,并普遍存在于各种网络通信设备和环境之中。
通常对共享缓存的使用方法是:根据输入输出端口的不同,将进出共享缓存的数据包分为多个队列。每个队列由多个数据包构成。每个数据包先被分为固定长度的信元,然后才能进入共享缓存。在系统负载较重时,各个队列会竞争对共享缓存的使用。此时,流量较大的队列会非常频繁地访问共享缓存,从而大量挤占共享缓存的空间,这会导致其他队列无空间存储而出现丢包现象。
上述缺陷在各个队列根据重要程度分为不同的优先级的情况下更为明显。流量大的队列一般都是低优先级的数据包,而流量小的队列都是高优先级的数据包。现有对共享缓存的使用方法导致低优先级队列抢占了大量的共享缓存空间,而导致高优先级队列丢包,这显然是不符合期望的。
发明内容
本发明所要解决的技术问题是提供一种共享缓存的使用方法,可以根据访问共享缓存的队列的优先级不同,合理分配共享缓存空间。
为解决上述技术问题,本发明共享缓存的使用方法为,将共享缓存划分为共享区域和非共享区域;
所述共享区域按照优先级的数量划分为相应数量的共享块,每个共享块对应于一个优先级的所有队列;
所述非共享区域按照队列的数量划分为相应数量的非共享块,每个非共享块对应于一个队列;
每个队列首先使用该队列所对应的非共享块,其次再使用该队列所属优先级及更低优先级所对应的共享块。
本发明提供了一种根据队列优先级高、低对共享缓存进行分配的管理策略,使得共享缓存的使用更加公平合理,并且逻辑实现简单。
附图说明
图1是本发明共享缓存的使用方法的流程图;
图2是本发明共享缓存的使用方法的示意图。
具体实施方式
共享缓存所能支持的最大队列数量是由共享缓存的输入输出端口数量所决定的。在一个具体的使用环境中,设定使用共享缓存的队列数量为M,M≤共享缓存所能支持的最大队列数量。
在一个具体的使用环境中,设定这M个队列分为N个优先级,N≤M。N<M表示同一个优先级可能具有多个队列。N=M表示每个队列具有不同的优先级。通常优先级固定为8个,而队列数量远大于8个。
为了描述简便,假设优先级的数量越大表示优先级越高,即最低优先级为1,最高优先级为N。
本发明共享缓存的使用方法为:将共享缓存的存储空间划分为共享区域和非共享区域。所述共享区域又划分为N个共享块,这N个共享块分别对应于N个优先级,每个共享块对应于一个优先级的所有队列。优选情况下这N个共享块的容量是相等的,当然也可以设为不同。所述非共享区域又划分为M个非共享块,这M个非共享块分别对应于M个队列,每个非共享块对应于一个队列。优选情况下这M个非共享块的容量是相等的,当然也可以设为不同。
每个队列对共享缓存的使用为:首先使用该队列所对应的非共享块。当该非共享块的容量无法满足需求时,再使用该队列所属优先级及更低优先级所对应的共享块。
进一步地,当一个队列使用非共享块时,先使用最低优先级所对应的共享块,这样按照优先级由低到高的顺序使用各个优先级所对应的共享块,最后使用该队列所属优先级所对应的共享块。
在此方法下,最低优先级的队列只能使用该队列所对应的非共享块,以及对应于最低优先级的一个共享块。最高优先级的队列只能使用该队列所对应的非共享块,以及所有的共享块。
下面举一个具体的实施例对本发明进行详细地说明。一个共享缓存的大小为72信元,每个信元为1KB。使用该共享缓存的队列有8个(即M=8),这8个队列分为8个优先级(即N=8)。
根据本发明所述方法,将共享缓存的存储空间分为共享区域和非共享区域,非共享区域分为8个非共享块,每个非共享块的大小是MIN_S。共享区域也分为8个共享块,每个共享块的大小是SS,每个共享块都有一个统计计数器CNT_S统计该共享块的使用情况。显然0≤CNT_S≤SS。每个队列都有一个统计计数器CNT_Q统计该队列在共享缓存中的总的占用空间大小。上述MIN_S、SS、CNT_S、CNT_Q、CNT_Q_N的单位都是信元。
每个队列都是由一个或多个数据包组成,所有队列的数据包在使用共享缓存时均采用如下方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通创锐讯通讯科技(上海)有限公司,未经高通创锐讯通讯科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010245495.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于车辆的导流器装置
- 下一篇:温度传感器