一种多核中实现超有限自动机图变更时不丢包的方法技术

技术编号:15518747 阅读:86 留言:0更新日期:2017-06-04 08: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保存对应的报文。对上述方案进行进一步优选,所述特征码规则由用户动态配置。本专利技术与现有技术相比,具有以下优点及有益效果:(1)本专利技术克服了HFA引擎在工作的过程中出现图切换导致的丢包问题;(2)本专利技术采用异常查询HFA的方式可轻松解决丢包问题;(3)本专利技术采用异步查询HFA,提高报文深度检测系统业务处理能力。附图说明图1为一种多核中实现超有限自动机图变更时不丢包的方法中动态加载HFA图文件工作流程示意图;图2为一种多核中实现超有限自动机图变更时不丢包的方法中实现异步查询切换图工作流程示意图。具体实施方式下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:本专利技术通过下述技术方案实现:如图1、图2所示,首先动态加载HFA图文件,然后对HFA图文件进行异步查询和切换;所述多核CPU处理器中的任一核用于动态加载HFA图文件,其他核用于对HFA图文件进行异步查询和切换。所述动态加载HFA图文件包括以下工作步骤:步骤S1:实时检测识别特征码规则是否有更新;步骤S2:当特征码规则有更新时,则根据特征码规则编译并加载新的HFA图文件,并通知其他核切换到新的HFA图文件;没有更新则继续检测。步骤S3:等所有核都将切换到新的图文件上,清除旧的HFA图文件;首先规划将一核用来做动态HFA图文件加载,其他核用来做报文深度检测,一核负责时时检测用户特征码规则是否有更新,如果特征码规则更新,则根据特征码规则编译并加载HFA图文件,并通知除一核外的其他核当前工作的HFA(超有限自动机)图文件。等所有核都将切换到新的图文件上,清除旧的HFA图文件,完成一次HFA图文件动态加载。多核动态加载HFA图文件过程,当前HFA使用的图文件为动态加载多核HFA图文件工作流程(图1),一核检测到特征码规则有更新,编译出新的HFA图文件,一核加载新的HFA图文件,告知其他核切换到异步查询切换图工作流程(图2),等待所有核切换到异步查询切换图工作流程(图2),删除动态加载多核HFA图文件(图1)完成动态图切换。其他核后续收到的报文提交给HFA都使用异步查询切换图工作流程,添加到链表2,并且遍历链表1、链表2将HFA匹配成功的报文从链表删除。等到链表1的节点全部删除,则切换到图2。在切换图的过程中HFA始终能正常工作,不会导致丢包。在其他核收到后续报文时,均进入其他核(不包括动态加载HFA图文所使用的核)实施的异步查询HFA切换图,包括以下步骤:步骤S4:在其他核收到后续报文时获取报文,如获取到报文则解析报文识别payload位置,将payload内容提交给HFA匹配特征码,并且将报文保存到链表里。如果没有获取报文,则直接遍历链表,将HFA已匹配的完成的报文处理掉;步骤S5:遍历链表查询HFA的匹配状态;步骤S6:将HFA已匹配完成的报文从链表删除,并且根据匹配结果处理报文。异步的方式查询HFA报文处理流程为,获取报文,如获取到报文则解析报文识别payload位置,将payload提交给HFA匹配特征码,并且将报文保存到链表里(根据HFA使用的图信息,分别用链表1,链表2保存对应的报文),这里就完成了报文提交给HFA的流程,不用等到HFA匹配完成,遍历链表链表1或链表2来查询HFA的匹配状态,将HFA已匹配完成的报文从链表删除,并且根据匹配结果处理报文。如果没有获取报文,则直接遍历链表,将HFA已匹配的完成的报文处理掉。实施例2:本实施例在上述实施例的基础上做进一步优化,所述步骤S1中特征码识别功能由HFA实现,包括工作步骤:步骤S11:将特征码翻译成正则表达式;步骤S12:将正则表达式编译成HFA图文件;步骤S13:加载HFA图文件;步骤S14:匹配内容提交HFA;步骤S15:获取HFA匹配结果。需要说明的是,通过上述改进,深度报文检测系中的特征码识别功能由HFA实现,HFA的工作步骤:步骤11将特征码翻译成正则表达式;步骤12将正则表达式编译成HFA图文件;步骤13加载HFA图文件;步骤14匹配内容提交HFA;步骤15获取HFA匹配结果。本实施例的其他部分与上述实施例相同,故不再赘述。实施例3:本实施例在上述实施例的基础上做进一步优化,所述特征码规则由用户动态配置。需要本文档来自技高网...
一种多核中实现超有限自动机图变更时不丢包的方法

【技术保护点】
一种多核中实现超有限自动机图变更时不丢包的方法,基于多核CPU处理器,其特征在于,首先动态加载HFA图文件,然后对HFA图文件进行异步查询和切换;所述多核CPU处理器中的任一核用于动态加载HFA图文件,其他核用于对HFA图文件进行异步查询和切换。

【技术特征摘要】
1.一种多核中实现超有限自动机图变更时不丢包的方法,基于多核CPU处理器,其特征在于,首先动态加载HFA图文件,然后对HFA图文件进行异步查询和切换;所述多核CPU处理器中的任一核用于动态加载HFA图文件,其他核用于对HFA图文件进行异步查询和切换。2.根据权利要求1所述的一种多核中实现超有限自动机图变更时不丢包的方法,其特征在于,所述动态加载HFA图文件包括以下工作步骤:步骤S1:实时检测识别特征码规则是否有更新;步骤S2:当特征码规则有更新时,则根据特征码规则编译并加载新的HFA图文件,并通知其他核切换到新的HFA图文件;步骤S3:等所有核都将切换到新的HFA图文件时,将对旧的HFA图文件清除。3.根据权利要求2所述的一种多核中实现超有限自动机图变更时不丢包的方法,其特征在于,所述步骤S1中特征码识别功能由HFA实现,包括工作步骤:步骤S11:将特征码翻译成正则表达式;步骤S12:将正则表达式编译成HFA图文件;步骤S13:加载HFA图文件;步骤S14:匹配内容提交HFA...

【专利技术属性】
技术研发人员:张迪希
申请(专利权)人:成都欧飞凌通讯技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1