一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种解决实时海量数据的高效模式匹配方法与流程

2022-06-08 13:44:11 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体地说,涉及一种解决实时海量数据的高效模式匹配方法。


背景技术:

2.多源异构实时数据多模式匹配是传输资源采集分析的第一步,也是至关重要的一步。目前主干网的传输速率达到40gpbs,随着技术的发展,将来会出现100gbsp甚至tgbsp的网络。如何在如此高的速率下进行实时准确的传输资源采集分析,而不影响网络中既有的传输业务将是信息传输网络领域面临的一道难题。为了解决快速匹配,人们提出了ac多模匹配算法,该算法主要用于网络入侵检测系统,由于其自动机的每次跳转只能处理一个字符,且跳转太过频繁,需要不停的访问外部存储器以读取对应的跳转信息,这就造成了很大的访问延时,严重影响匹配速度的提高。为了进一步提升ac算法的效率,提出了基于ac改进的k步长状态机算法。目前软件的实现较为简单普遍,但数据实时处理速度却只能达到100kbps。随着多源异构数据时代的到来,处理数据越来越多,数据流越来越大,软件实现的匹配方式早已力不从心。以硬件实现的模式匹配引擎目前也经过广泛研究,主要有基于fpga的多模匹配,但是由于fpga的资源有限,很难保存太多的模式,无法应对复杂的场景,势必需要增加额外的rom或sdram支持,从而降低海量数据的采集分析速度和实时性。为了应对,人们提出了基于fpga tcam的多模匹配,tcam提供了模式的存储和并行访问,提升了模式匹配的速度,但是tcam存在功耗过大、容量增加价格成本增高的问题,不利于目前提倡的低碳经济。为了解决tcam功耗过大的问题,普遍采用bloom filter fpga的匹配模式,但是bloom filter在匹配上存在误报的缺陷,造成匹配精度下降。
3.目前在传输资源采集分析领域主要以软件实现多模匹配为主。为了应对多源异构传输资源采集分析的发展趋势,本项目充分考虑了各种硬件芯片的特点,设计了两级多模式匹配结构bf-tcam(bloom filter-ternary content addressable memory),结合了tcam和bloom filter各自的优点,既实现了高速精确多模式匹配,又使整个系统的功耗保持在较低的水平。


技术实现要素:

4.本发明的目的在于提供一种解决实时海量数据的高效模式匹配方法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明提供一种解决实时海量数据的高效模式匹配方法,包括如下步骤:s1、数据通过接口适配模块传输至长短包过滤模块,将过长和过短数据包进行过滤,其余数据包传输至解析子模块;s2、通过解析子模块判断数据的封装类型,对其进行解析,提取内容;s3、将提取的数据包通过关键词提取子模块提取关键词;
s4、关键词数据通过bf引擎过滤子模块;s5、关键词数据传输至关键词压缩子模块进行关键词长度缩减;s6、提取的关键词数据通过查表子模块送出,保障fpga能够按照tcam芯片的操作规范准确地送出关键词,并读取结果总线上送出的命中地址,保障了匹配的快速和准确。
6.作为本技术方案的进一步改进,所述s1中,长短包过滤模块具体步骤为:将过长和过短的数据包送往上层,由上层配置决定是否丢弃还是继续转发,其它数据包送往解析子模块,进行下一步分析。
7.作为本技术方案的进一步改进,所述s2中,解析子模块对于到来的数据首先判断其封装类型,即是否为ppp、直接封装的ip包、非ip包以及mpls1、2、3、4 层封装的数据包,然后对其进行解析,提取出内容。
8.作为本技术方案的进一步改进,所述s3中,关键词提取子模块的具体步骤为:提取数据包文中待查找的数据字段,对于到来的数据,首先区分其是tcp类型还是udp类型,然后分别提取出关键词。
9.作为本技术方案的进一步改进,所述s4中,bf引擎过滤子模块为bloom filter和tcam两级多模式匹配架构,结合了tcam和bloom filter各自的优点,既实现了高速精确多模式匹配,又使整个系统的功耗保持在较低的水平;两级多模式匹配架构的第一级过滤匹配由bloom filter来实现,保证匹配的快速,功耗不高,当第一级成功匹配后,才进行第二级精确匹配,由tcam来实现,这种设计在第一级大幅减少第二级匹配的执行次数,从而降低了功耗,同时由于第二级的精确匹配,消除bloom filter的误报,从而保障匹配的精度。针对大容量tcam造价高的问题,在引擎中采用动态加载模式匹配机制,实现根据业务需要进行动态匹配,减少对高价tcam的依赖,极大的降低整个系统的造价。
10.作为本技术方案的进一步改进,所述s5中,关键词压缩子模块采用hash-tcam算法通过哈希压缩减少待匹配的关键词长度,从而提升匹配速度。
11.作为本技术方案的进一步改进,所述s6中,关键词数据通过查表子模块送出至业务控制模块。
12.与现有技术相比,本发明的有益效果:该解决实时海量数据的高效模式匹配方法中,设计的芯片级模式匹配引擎消除了fpga容量小、tcam功耗和价格高以及bloom filer匹配精度低的缺点,将它们各自优点充分有机的结合在一起,在数据匹配性能上从k级别提升到g级别、功耗降低30%、造价降低20%。同时芯片级模式匹配引擎采用硬件模组化,根据实际资源采集的速度需求和接口数量,可以在物理的数据处理模块上部署多组,进一步增加了采集设备并发处理的能力和速度,为软件定义匹配提供支撑。
附图说明
13.图1为本发明的整体流程框图。
具体实施方式
14.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
15.实施例1 一种解决实时海量数据的高效模式匹配方法,包括:1、数据通过接口适配模块传输至长短包过滤模块,其具体步骤为:将过长和过短的数据包送往上层,由上层配置决定是否丢弃还是继续转发,其它数据包送往解析子模块,进行下一步分析;2、通过解析子模块对于到来的数据首先判断其封装类型,即是否为ppp、直接封装的ip包、非ip包以及mpls1、2、3、4 层封装的数据包,然后对其进行解析,提取出内容;3、将提取的数据包通过关键词提取子模块提取关键词,其具体步骤为:提取数据包文中待查找的数据字段,对于到来的数据,首先区分其是tcp类型还是udp类型,然后分别提取出关键词;4、关键词数据通过bf引擎过滤子模块,bf引擎过滤子模块为bloom filter和tcam两级多模式匹配架构,结合了tcam和bloom filter各自的优点,既实现了高速精确多模式匹配,又使整个系统的功耗保持在较低的水平;两级多模式匹配架构的第一级过滤匹配由bloom filter来实现,保证匹配的快速,功耗不高,当第一级成功匹配后,才进行第二级精确匹配,由tcam来实现,这种设计在第一级大幅减少第二级匹配的执行次数,从而降低了功耗,同时由于第二级的精确匹配,消除bloom filter的误报,从而保障匹配的精度。针对大容量tcam造价高的问题,在引擎中采用动态加载模式匹配机制,实现根据业务需要进行动态匹配,减少对高价tcam的依赖,极大的降低整个系统的造价;5、关键词数据传输至关键词压缩子模块进行关键词长度缩减,该模块采用hash-tcam算法通过哈希压缩减少待匹配的关键词长度,从而提升匹配速度;6、提取的关键词数据通过查表子模块送出至业务控制模块,保障fpga能够按照tcam芯片的操作规范准确地送出关键词,并读取结果总线上送出的命中地址,保障了匹配的快速和准确。
16.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献