[发明专利]一种多核中实现超有限自动机图变更时不丢包的方法有效
申请号: | 201710090690.8 | 申请日: | 2017-02-20 |
公开(公告)号: | CN106789447B | 公开(公告)日: | 2019-11-26 |
发明(设计)人: | 张迪希 | 申请(专利权)人: | 成都欧飞凌通讯技术有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/883;G06F16/835 |
代理公司: | 51228 成都君合集专利代理事务所(普通合伙) | 代理人: | 张鸣洁<国际申请>=<国际公布>=<进入 |
地址: | 610000 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 实现 有限 自动机 变更 时不丢包 方法 | ||
本发明公开了一种多核中实现超有限自动机图变更时不丢包的方法,基于多核CPU处理器,首先动态加载HFA图文件,然后对HFA图文件进行异步查询和切换,相比现有技术,本发明克服了HFA引擎在工作的过程中出现图切换导致的丢包问题,采用异常查询HFA的方式可轻松解决丢包问题;采用异步查询HFA,提高报文深度检测系统业务处理能力。
技术领域
本发明涉及网络安全技术领域,具体的说是一种多核中实现超有限自动机图变更时不丢包的方法。
背景技术
HFA(超有限自动机)是的硬件字符搜索引擎。HFA兼具DFA(确定性有限自动机)和NFA(非确定有限自动机)的优势,支持正则表达式规则。
目前,深度报文检测设备可以利用HFA引擎实现特征码匹配。HFA引擎的工作流程:步骤1把特征码编译成图文件,步骤2加载图文件,步骤3把匹配的内容提交给HFA,步骤4等待HFA返回结果,步骤5根据匹配结果处理报文;多核报文深度检测一般处理流程,获取报文,如果没有获取到则继续获取。获取到报文,解析报文识别报文payload(负载)位置,将payload内容提交给HFA匹配特征码,等到HFA匹配完成,根据匹配结果对报文做下一步处理(转发、丢弃、编辑报文等);在此工作过程中,HFA匹配特征码需要花很长时间,工作效率低下,同时在进行动态加载HFA图文件极易出现丢包。
发明内容
本发明的目的在于提供一种多核中实现超有限自动机图变更时不丢包的方法,克服了HFA引擎在工作的过程中出现图切换导致的丢包问题,采用异常查询HFA的方式可轻松解决丢包问题;采用异步查询HFA,提高报文深度检测系统业务处理能力。
本发明通过下述技术方案实现:一种多核中实现超有限自动机图变更时不丢包的方法,基于多核CPU处理器,首先动态加载HFA图文件,然后对HFA图文件进行异步查询和切换;所述多核CPU处理器中的任一核用于动态加载HFA图文件,其他核用于对HFA图文件进行异步查询和切换。
对上述方案进行进一步优选,所述动态加载HFA图文件包括以下工作步骤:
步骤S1:实时检测识别特征码规则是否有更新;
步骤S2:当特征码规则有更新时,则根据特征码规则编译并加载新的HFA图文件,并通知其他核切换到新的HFA图文件;
步骤S3: 等所有核都将切换到新的HFA图文件时,将对旧的HFA图文件清除。
对上述方案进行进一步优选,在多核CPU处理器中的其他核收到后续报文时,均进入异步查询HFA切换图,所述对HFA图文件进行异步查询和切换包括以下步骤:
步骤S4:在收到后续报文时获取报文,如获取到报文则解析报文识别负载位置,将负载内容提交给HFA匹配特征码,并且将报文保存到链表里;如果没有获取报文,则直接遍历链表,将HFA已匹配完成的报文处理掉;
步骤S5:遍历链表查询HFA的匹配状态;
步骤S6:将HFA已匹配完成的报文从链表删除,并且根据匹配结果处理报文。
对上述方案进行进一步优选,所述步骤S1中特征码识别功能由HFA实现,包括工作步骤:
步骤S11:将特征码翻译成正则表达式;
步骤S12:将正则表达式编译成HFA 图文件;
步骤S13:加载HFA图文件;
步骤S14:匹配内容提交HFA;
步骤S15:获取HFA匹配结果。
对上述方案进行进一步优选,所述步骤S4中的链表包括链表1和链表2;所述在将报文保存到链表里时,根据HFA使用的图信息,分别用链表1,链表2保存对应的报文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都欧飞凌通讯技术有限公司,未经成都欧飞凌通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710090690.8/2.html,转载请声明来源钻瓜专利网。