[发明专利]缓存调整方法及装置有效
申请号: | 201210411981.X | 申请日: | 2012-10-25 |
公开(公告)号: | CN102916903A | 公开(公告)日: | 2013-02-06 |
发明(设计)人: | 曹学成 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 调整 方法 装置 | ||
技术领域
本发明涉及通信领域,尤其涉及一种缓存调整方法及装置。
背景技术
在通信系统中,设备通常具有多个出口,而且每个出口的速率是可变的(如以太网口、低速的同步串口等),在报文从设备的入口进入后,会分发到该设备的多个速率不同的出口而发送出去。当报文从设备入口进入后,缓存到一个出口对应的缓存队列中,如果该出口缓存队列中的报文达到一定数量时,新发往该出口的报文将被丢弃。在确定每个出口对应的缓存队列大小时,需要考虑该设备的总缓存量以及该设备中出口的数量、各出口的出口速率以及不同出口的优先级等。通常在设备初始化时会配置每个出口缓存队列大小,且以后不再改变。如果出口缓存队列配置得太小,在有数据突发时,会造成大量丢包,影响整体性能;如果出口缓存队列配置得太大,则会占用更多缓存,这会增加设备硬件成本。当出口的出口速率为低速且是传输语音之类对延迟要求较高的业务时,如果该出口的缓存空间太大的话会增加数据传输延迟,使得该出口的缓存队列的尾部数据经常需要超时重传,浪费了入口有效带宽以及缓存空间。
现有动态调整缓存的技术是检测设备每个出口处报文的驻留时长,对于设备中每个出口来说,当存在每个出口出口处报文的驻留时长超过预设驻留时长阈值的报文时,则从该出口对应的缓存队列中删除驻留时长超过预设驻留时长阈值的报文,释放已删除的报文占用的缓存,并将因释放共享缓存而节省出来的缓存给其它出口使用。
发明人在实现本发明的过程中发现,现有技术至少存在以下缺陷:
只是给出了每个出口释放共享缓存的条件,并未给出如何分配释放出的缓存,因而不能实现对于有多个出口的设备中,在缓存总量不变的前提下,如何为多个出口动态地调整缓存空间。因此现有技术存在设备缓存利用率不高的问题。
发明内容
本发明实施例提供一种缓存调整方法及装置,能够对于有多个出口的设备,在缓存总量不变的前提下,根据每个出口当前实际速率自动调整出口缓存队列深度,实现为多个出口动态地调整缓存空间。
第一方面,提供一种缓存调整方法,包括:
根据设备中每个出口的预定出口速率,确定每个出口对应的缓存队列的初始值;
根据每个出口的预先设定的最大时延值,确定每个出口对应的缓存队列的最大缓存值;
检测设备中每个出口的当前实际速率,在当前实际速率高于该出口的预定出口速率时,从动态缓存中为该出口分配缓存,分配缓存后该出口对应的缓存队列的缓存值小于或等于该出口的最大缓存值,所述动态缓存的大小不大于设备总缓存值减去所有出口对应的缓存队列的初始值之和得到的差值。
在所述第一方面的第一种可能的实现方式中,所述根据设备中每个出口的预定出口速率,确定每个出口对应的缓存队列的初始值,包括:
将用于分配的固定缓存值除以预设系统速率精度与出口数的乘积得到的结果,作为所述系统速率精度下的缓存数;
针对每个出口,当所述系统速率精度下的缓存数大于或等于预置的该出口的最小缓存数时,将所述系统速率精度下的缓存数乘以该出口的预定出口速率,得到该出口对应的缓存队列的初始值。
在所述第一方面的第二种可能的实现方式中,所述检测设备中每个出口的当前实际速率,在当前实际速率高于该出口的预定出口速率时,从动态缓存中为该出口分配缓存,包括:
检测设备中每个出口的当前实际速率,若当前实际速率高于该出口的预定出口速率,判断该出口对应的缓存队列的当前缓存值与固定步长之和是否小于该出口的最大缓存值;
若是,按照所述固定步长从动态缓存中为该出口分配缓存。
在所述第一方面的第二种可能的实现方式中,还提供了所述第一方面的第三种可能的实现方式,若当前实际速率低于该出口的预定出口速率,根据该出口当前实际速率计算该出口实际所需的缓存值;
判断所述出口实际所需的缓存值是否大于该出口对应的缓存队列的初始值;
若大于该出口对应的缓存队列的初始值,则在所述出口对应的缓存队列中超出所述出口实际所需的缓存值的部分空间已被占用的情况下,在发送完数据后,将所述部分空间释放给动态缓存;在所述出口对应的缓存队列中超出所述出口实际所需的缓存值的部分空间未占用的情况下,将所述部分空间释放给动态缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210411981.X/2.html,转载请声明来源钻瓜专利网。