一种丢弃报文的方法及装置的制作方法

文档序号:7741925阅读:162来源:国知局
专利名称:一种丢弃报文的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,具体涉及一种丢弃报文的方法及装置。
背景技术
在报文管理中,为了避免传输链路报文拥塞的情况,通常采用尾丢弃或者随机丢 弃的策略,通过丢弃报文的方式较好的防止内存溢出和网络瘫痪。随着网络技术的发展,网 络处理端口数量的扩大,服务质量精细化要求增强,内存需求也增大,在实际操作中,各报 文往往采用共享内存的方式。在共享内存的方式下,采用尾丢弃策略丢弃报文的方法可以为实时检测当前队 列缓存报文的数量;根据当前队列缓存的报文数量,判断当前缓存剩余空间的大小是否达 到配置的报文丢弃门限;若是,则丢弃报文,若否,则缓存报文。采用随机丢弃策略丢弃报文 的方法为实时检测当前队列缓存报文的数量;根据当前队列缓存的报文数量,判断是否 超过配置的队列门限;若超过最大丢弃门限,则将报文丢弃;若小于最低丢弃门限,则缓存 报文;若小于最大丢弃门限而大于最低丢弃门限,则根据配置的丢弃概率常数计算随机值, 根据随机值,判断是否丢弃报文,在判断为是时,丢弃报文。在对现有技术的研究和实践过程中,本发明的发明人发现,在共享内存的方式下, 若采用尾丢弃或随机丢弃策略管理报文,部分端口队列出现拥塞时,大量报文将被缓存从 而导致内存不够,其他没有拥塞或拥塞不够严重的端口的报文可能会因此而无法缓存,导 致这些没有拥塞或拥塞不够严重的端口的报文也丢弃,最终造成大面积网络中断。

发明内容
本发明实施例提供一种丢弃报文的方法和一种相应的丢弃报文的装置。一方面,本发明实施例提供一种丢弃报文的方法,包括检测当前缓存剩余空间的大小;根据当前缓存剩余空间的大小,获取当前缓存优先级;判断需要被缓存的报文的优先级是否低于或等于当前缓存优先级;若是,则丢弃报文,若否,则将报文加入缓存队列。另一方面,本发明实施例提供一种丢弃报文的装置,包括剩余缓存检测模块,用于检测当前缓存剩余空间的大小;优先级获取模块,用于根据当前缓存剩余空间的大小,获取当前缓存优先级;判断模块,用于判断需要被缓存的报文的优先级是否低于或等于当前缓存优先 级;执行模块,用于在判断模块判断为是时,丢弃报文,在判断模块判断为否时,缓存 报文。本发明实施例通过检测当前缓存剩余空间的大小,根据当前缓存剩余空间的大 小,获取当前缓存丢弃优先级,判断报文的优先级是否低于或等于当前缓存丢弃优先级,在判断为是时,丢弃报文。当前剩余缓存空间越小,能够通过的报文的优先级也越高,本发明 实施例根据优先级来丢弃报文,从而保证了高优先级的重要报文受部分队列拥塞的影响降 低,在一定程度上避免了部分链路出现短时拥塞缓存而影响其他正常链路正常通信,避免 造成大面积网络瘫痪。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。图1是本发明文件系统数据迁移方法第一实施例的基本流 程示意图;图2是本发明文件系统数据迁移方法第二实施例的基本流程示意图;图3是本发明实施例中文件系统数据迁移装置的结构示意图。
具体实施例方式本发明实施例提供一种丢弃报文的方法,可以降低缓存拥塞对重要报文的影响。 本发明实施例还提供相应的丢弃报文的装置。以下分别进行详细说明。本发明实施例一的丢弃报文的方法基本流程可参考图1,该方法主要包括步骤101,检测当前缓存剩余空间的大小。获取总内存的大小,用内存的大小减去当前缓存报文所占的空间大小,就可以知 道当前缓存剩余空间的大小,或者获取当前缓存可继续存储的报文的数量,由于总缓存大 小固定,通过检测当前缓存的报文数量,计算出可继续存储的报文的数量,可继续存储的报 文的数量与缓存剩余空间的大小本质一样,也可以用来表示当前缓存剩余空间的大小,本 发明实施例中的当前缓存剩余空间的大小至少包含上述两种表达方式。步骤102,根据当前缓存剩余空间的大小,获取当前缓存优先级。缓存剩余空间的大小与缓存优先级的对应关系预先被设置好,缓存剩余空间的大 小决定当前缓存优先级的高低,缓存剩余空间越大,缓存优先级越低,缓存剩余空间越小, 缓存优先级越高。根据当前缓存空间的大小和预先设置的对应关系,可以很容易获得当前 缓存优先级。例如可以根据当前缓存空间的大小,确定当前缓存空间的大小所属的区间; 以及根据当前缓存空间的大小所属的区间,获取与当前缓存空间大小对应的当前缓存优先 级。步骤103,判断需要被缓存的报文的优先级是否低于或等于当前缓存优先级,在判 断为是时进入步骤104,在判断为否时进入步骤105。报文本身带有优先级,报文的优先级是由报文的重要程度或报文的实时性来决定 的,越重要的或实时性越强的报文的优先级越高。例如,优先级分别为0、1、2和3的报文, 按报文优先级从低到高排列为优先级为3的报文、优先级为2的报文、优先级为1的报文 和优先级为0的报文,优先级为0的报文的优先级是最高的。判断报文的优先级是否低于或等于当前缓存优先级。若当前缓存优先级为1,优先 级为1的报文、优先级为2和报文和优先级为3的报文被认为是低于或等于当前缓存优先级1的报文。 步骤104,丢弃报文,结束流程。例如当前缓存优先级为1时,则低于或等于当前缓存优先级1的报文(即优先级 为1的报文、优先级为2和报文和优先级为3的报文)将被丢弃。步骤105,把报文加入缓存队列,缓存报文。本发明实施例通过实时检测当前缓存剩余空间的大小,根据当前缓存剩余空间的 大小,获取当前缓存丢弃优先级,判断报文的优先级是否不高于当前缓存丢弃优先级,在判 断为是时,丢弃报文。在当前剩余缓存空间的大小越小,能够通过的报文的优先级也越高, 从而降低了高优先级的重要报文不受部分队列拥塞的影响,在一定程度上避免了部分链路 出现短时拥塞缓存而影响其他正常链路正常通信,避免造成的大面积网络瘫痪。为便于理解,下面对本发明实施例中的丢弃报文的方法进行详细描述,请参阅图 2,本发明实施例中丢弃报文的方法第二实施例包括步骤201,根据用户配置信息,配置缓存优先级,所述用户配置信息指示门限与缓存优先级的对应关系,用户给缓存剩余空间的大 小配置的多个门限,每个门限与缓存优先级相对应。缓存剩余空间的大小不同可能对应不同的缓存优先级,缓存剩余空间越大,缓存
优先级越低。假设,0为报文的最高优先级,1、2、3......依次降低。总内存的大小为D(其
中D也可以认为是一个门限)。用户配置信息指示给缓存剩余空间的大小设置多个门限 为0、A、B和C(0 < A < B < C),剩余缓存空间的大小在
获取单元341,用于获取预先配置的尾丢弃或随机丢弃策略。执行单元342,用于按预先配置的尾丢弃或随机丢弃策略将缓存的部分报文丢弃。
尾丢弃策略为检测当前队列缓存报文的数量;根据当前缓存报文的数量,判断 是否超过预先配置的尾丢弃门限,若超过,则将报文丢弃。随机丢弃策略为检测当前队列缓存报文的数量,根据当前缓存报文的数量,判断 需要缓存的报文是否超过配置的队列门限,若超过最大丢弃门限,则丢弃报文;若小于最低 丢弃门限,则将报文加入缓存队列;若小于最大丢弃门限,大于最低丢弃门限,则根据配置 的丢弃概率常数计算随机值,在随机值指示丢弃报文时,将报文丢弃。本发明实施例通过实时检测当前缓存剩余空间的大小,根据当前缓存剩余空间的 大小,获取当前缓存丢弃优先级,判断报文的优先级是否不高于当前缓存丢弃优先级,在判 断为是时,丢弃报文。在当前剩余缓存空间的大小变小时,能够通过的报文的优先级也越 高,从而保证了高优先级的重要报文不受部分队列拥塞的影响而丢弃,在一定程度上避免 了部分链路出现短时拥塞缓存而影响其他正常链路正常通信而造成的大面积网络瘫痪。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储 介质可以包括ROM、RAM、磁盘或光盘等。以上对本发明实施例所提供的丢弃报文的方法及装置进行了详细介绍,本文中应 用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理 解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发 明的限制。
权利要求
一种丢弃报文的方法,其特征在于,包括检测当前缓存剩余空间的大小;根据当前缓存剩余空间的大小,获取当前缓存优先级;判断需要被缓存的报文的优先级是否低于或等于当前缓存优先级;若是,则丢弃报文,若否,则将报文加入缓存队列。
2.如权利要求1所述的丢弃报文的方法,其特征在于,所述根据当前缓存剩余空间的 大小,获取当前缓存优先级包括根据当前缓存空间的大小,确定当前缓存空间的大小所属的区间; 根据当前缓存空间的大小所属的区间,获取与当前缓存空间大小对应的当前缓存优先级。
3.如权利要求1所述的丢弃报文的方法,其特征在于,所述缓存空间的大小与所述缓 存优先级之间的对应关系由用户配置信息确定。
4.如权利要求1所述的丢弃报文的方法,其特征在于,所述检测当前缓存剩余空间的 大小包括检测当前缓存空间中报文的数量;根据总缓存空间的大小和当前缓存空间中报文的数量,获取当前缓存剩余空间的大小。
5.如权利要求1所述的丢弃报文的方法,其特征在于,在所述将报文加入缓存队列后 还包括按预先配置的尾丢弃或随机丢弃策略将加入缓存队列的部分报文丢弃。
6.一种丢弃报文的装置,其特征在于,包括剩余缓存检测模块,用于检测当前缓存剩余空间的大小; 优先级获取模块,用于根据当前缓存剩余空间的大小,获取当前缓存优先级; 判断模块,用于判断需要被缓存的报文的优先级是否低于或等于当前缓存优先级; 执行模块,用于在判断模块判断为是时,丢弃报文,在判断模块判断为否时,缓存报文。
7.如权利要求6所述的丢弃报文的装置,其特征在于,所述装置还包括配置模块,用于根据用户配置信息,配置缓存优先级,所述用户配置信息指示缓存剩余 空间的大小与缓存优先级的对应关系。
8.如权利要求6所述的丢弃报文的装置,其特征在于,所述优先级获取模块包括门限范围检测单元,用于根据当前缓存空间的大小,确定当前缓存空间的大小所属的 区间;优先级获取单元,用于根据当前缓存空间的大小所属的区间,获取与所述当前缓存空 间大小对应的当前缓存优先级。
9.如权利要求6所述的丢弃报文的装置,其特征在于,所述剩余缓存检测模块包括 报文检测单元,用于检测当前缓存空间中报文的数量;缓存获取单元,用于根据总缓存空间的大小和当前缓存空间中报文的数量,获取当前 缓存剩余空间的大小。
10.如权利要求6所述的丢弃报文的装置,其特征在于,所述执行模块包括 获取单元,用于获取预先配置的尾丢弃或随机丢弃策略;执行单元,用于按预先配置的尾丢弃或随机丢弃策略将缓存的部分报文丢弃。
全文摘要
本发明公开了一种丢弃报文的方法及装置,本发明实施例通过检测当前缓存剩余空间的大小,根据当前缓存剩余空间的大小,获取当前缓存丢弃优先级,判断需要被缓存的报文的优先级是否低于或等于当前缓存丢弃优先级,在判断为是时,丢弃报文。实施本发明实施例,在当前剩余缓存空间的大小变小时,能够通过的报文的优先级也越高,从而降低了高优先级的重要报文受部分队列拥塞的影响,在一定程度上避免了部分链路出现短时拥塞缓存而影响其他正常链路正常通信,避免大面积网络瘫痪。
文档编号H04L12/56GK101800699SQ201010110278
公开日2010年8月11日 申请日期2010年2月9日 优先权日2010年2月9日
发明者刘金波 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1