[发明专利]一种基于内存分配的报文处理方法和设备有效
申请号: | 201110113953.5 | 申请日: | 2011-05-04 |
公开(公告)号: | CN102158416A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 梁学伟;修亦宏;袁志亚;刘刀桂;祁正林;曹雷 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司 11297 | 代理人: | 龚家骅 |
地址: | 310053 浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 内存 分配 报文 处理 方法 设备 | ||
技术领域
本发明涉及通信技术领域,特别是涉及一种基于内存分配的报文处理方法和设备。
背景技术
网络设备收到待处理的报文后,需要将报文交由软件进行处理(即由报文处理模块进行相应处理,如根据报文下发表项、对报文进行转发等),而在网络设备中,内存是与CPU(Central Processing Unit,中央处理器)进行沟通的桥梁,CPU将需要处理的信息调度到内存中进行处理,因此需要为收到的待处理报文分配内存。
网络设备在分配内存的过程中,如果待处理报文过多,会占用大量内存资源,而如果内存较小,则会由于报文占用将内存耗尽,进而使得报文处理模块无法获得内存,不能进行报文处理。
现有技术中,为了解决上述问题,网络设备通常都具有分级限速的能力,如图1所示的分级限速示意图,需要进行硬件限速(即在芯片上对报文进行第一级限速)、以及进行软件限速(即由软件进行第二级限速)。在硬件限速和软件限速的过程中,限速值是固定的或者通过命令行进行配置的。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
如果报文过多的占用内存,则会导致报文处理模块无法获得内存,且不能处理报文,并将导致报文所占内存不能释放。此时即使CPU有能力处理报文,也无法继续处理报文,CPU功能丧失,且不可恢复。
发明内容
本发明提供一种基于内存分配的报文处理方法和设备,以合理使用内存资源,保证报文的正常处理。
为了达到上述目的,本发明提供一种基于内存分配的报文处理方法,用于为指定类型报文分配内存,为每种指定类型报文设置内存门限,所述内存门限为内存次数,在为指定类型报文分配内存时,更新内存使用计数为当前内存使用计数与预设数值的和,在指定类型报文处理完成时,更新内存使用计数为当前内存使用计数与所述预设数值的差,该方法包括以下步骤:
获取指定类型报文的当前内存使用计数以及指定类型报文的内存门限;如果所述当前内存使用计数不小于所述内存门限,当有所述指定类型的待处理报文需要分配内存时,丢弃所述待处理报文;如果所述当前内存使用计数小于所述内存门限,当有所述指定类型的待处理报文需要分配内存时,为所述待处理报文分配内存。
本发明提供一种基于内存分配的报文处理设备,用于为指定类型报文分配内存,为每种指定类型报文设置内存门限,所述内存门限为内存次数,在为指定类型报文分配内存时,更新内存使用计数为当前内存使用计数与预设数值的和,在指定类型报文处理完成时,更新内存使用计数为当前内存使用计数与所述预设数值的差,该设备包括:
获取模块,用于获取指定类型报文的当前内存使用计数以及指定类型报文的内存门限;
判断模块,用于判断所述当前内存使用计数是否小于所述内存门限;
分配模块,如果判断结果为是,当有所述指定类型的待处理报文需要分配内存时,用于为所述待处理报文分配内存;
丢弃模块,如果判断结果为否,当有所述指定类型的待处理报文需要分配内存时,用于丢弃所述待处理报文。
与现有技术相比,本发明至少具有以下优点:通过增加内存限速的方式,为指定类型报文设置内存门限,当指定类型报文的当前内存使用计数大于内存门限后,对于需要分配内存的待处理报文,不为其分配内存,并将其丢弃,从而可以保证内存的合理利用,解决因报文过多的占用内存,导致CPU因内存耗尽,功能失效的问题。
附图说明
图1是现有技术中的分级限速示意图;
图2是本发明提供的一种基于内存分配的报文处理方法流程图;
图3是本发明一种应用场景下内存利用率与内存门限的关系示意图;
图4是本发明提出的一种基于内存分配的报文处理设备结构图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
本发明提供一种基于内存分配的报文处理方法,用于为指定类型报文分配内存,该指定类型为需要进行大量处理的报文类型,例如,指定类型报文可以为板间通信报文、端口认证报文、安全认证报文、跨设备buffer透传报文等,当然该指定类型报文并不局限于此,本发明中不再详加赘述。
本发明中,网络设备需要为每种指定类型报文设置内存门限(该内存门限为内存次数),各指定类型报文的内存门限可以相同,也可以不同,且各内存门限值可根据实际需要进行选择。
例如,为A类型报文设置内存门限为10000、为B类型报文设置内存门限为20000。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110113953.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于相机和电脑间的无线取景摄影装置
- 下一篇:一种多频段手机