[发明专利]CPU异常处理方法及装置有效
申请号: | 201510916234.5 | 申请日: | 2015-12-10 |
公开(公告)号: | CN105589764B | 公开(公告)日: | 2018-10-09 |
发明(设计)人: | 宋海宾 | 申请(专利权)人: | 新华三技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 衣淑凤;宋志强 |
地址: | 310052 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cpu 异常 处理 方法 装置 | ||
本申请提出CPU异常处理方法及装置。方法包括:CPU接收到任一报文,将该报文放入缓存中,将报文的缓存首地址和报文长度记录到预设的第一全局变量中;当CPU将报文从缓存中取出并成功发送出去时,CPU删除第一全局变量中保存的该报文的缓存首地址和报文长度信息;当CPU异常时,CPU根据第一全局变量中存储的所有报文的缓存首地址和报文长度信息,从缓存中读取对应的原始报文内容,将读取的原始报文内容保存到预设高端存储区域中,所述高端存储区域存储的信息在设备重启过程中不改变;当设备重启后,CPU从高端存储区域中读取所有原始报文内容,将读取的所有原始报文内容复制到磁盘中。本申请提高了CPU异常定位精度。
技术领域
本申请涉及设备异常处理技术领域,尤其涉及CPU异常处理方法及装置。
背景技术
当前网络安全设备需要针对过往的报文进行很多复杂的处理、分析、计算等,因为网络上的报文千奇百怪,设计上或者编码稍有差错,一个畸形报文就足以导致整个设备重启、CPU异常。例如目前的ALG(Application Layer Gateway,应用层网关)处理、DPI(DeepPacket Inspection,深度包检测)等处理过程,经常出现异常死机,而又不容易找到引起异常的报文,定位非常困难。
设备进入异常后,系统记录异常时各个CPU的寄存器信息及堆栈信息就重启恢复现场了。
但是,通过查看堆栈信息,只能初步定位出最后是哪个函数异常了,具体是什么原因引起CPU异常则无法得知。需要重新编译版本,增加调试信息,在现场进行复现,同时需要在设备的接口处抓报文,通过分析这些报文,逐个回放报文来分析具体哪个报文引起CPU异常。可见,通过这种方式定位问题复杂、耗时,且很多时候畸形报文出现的频率很低,因此当CPU异常后,若后续长时间畸形报文不出现,就会导致问题无法定位。
发明内容
本申请实施例提供CPU异常处理方法及装置。
本申请的技术方案是这样实现的:
一种CPU异常处理方法,该方法包括:
CPU接收到任一报文,将该报文放入缓存中,将报文的缓存首地址和报文长度记录到预设的第一全局变量中;
当CPU将报文从缓存中取出并成功发送出去时,CPU删除第一全局变量中保存的该报文的缓存首地址和报文长度信息;
当CPU异常时,CPU根据第一全局变量中存储的所有报文的缓存首地址和报文长度信息,从缓存中读取对应的原始报文内容,将读取的原始报文内容保存到预设高端存储区域中,所述高端存储区域存储的信息在设备重启过程中不改变;
当设备重启后,CPU从高端存储区域中读取所有原始报文内容,将读取的所有原始报文内容复制到磁盘中。
一种CPU异常处理方法,该方法包括:
CPU的任一核接收到任一报文,将该报文放入缓存中,将报文的缓存首地址和报文长度记录到预设的针对该核的第一全局变量中;
当CPU将报文从缓存中取出并成功发送出去时,CPU删除第一全局变量中保存的该报文的缓存首地址和报文长度信息;
当CPU异常时,CPU根据针对各核的第一全局变量中存储的所有报文的缓存首地址和报文长度,从缓存中读取对应的原始报文内容,将读取的所有原始报文内容保存到预设高端存储区域中,所述高端存储区域存储的信息在设备重启过程中不改变;
当设备重启后,CPU从高端存储区域中读取针对各核的所有原始报文内容,将读取的所有原始报文内容复制到磁盘中。
一种CPU异常处理装置,该装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司,未经新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510916234.5/2.html,转载请声明来源钻瓜专利网。