[发明专利]一种字符串匹配装置及方法有效
申请号: | 202010475108.1 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111382327B | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 陈一骄;唐靖飚;张晓哲;杨白;周滔顺;王金明;颜卓华;白海强 | 申请(专利权)人: | 湖南戎腾网络科技有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F9/52 |
代理公司: | 长沙大珂知识产权代理事务所(普通合伙) 43236 | 代理人: | 伍志祥 |
地址: | 410199 湖南省长沙市开*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字符串 匹配 装置 方法 | ||
本发明公开了一种字符串匹配装置及方法,通过硬件和软件相互协同来实现,字符串匹配自动机的编译及配置由系统的CPU完成,系统的核心字符串匹配任务由FPGA上的硬件引擎来完成,以达到兼顾状态收敛与匹配性能两方面的要求。主要包括CPU模块、FPGA模块及存储模块,其中FPGA模块包括匹配引擎单元、存储块单元、存储模块控制器单元;用户上传的字符串规则通过AC算法编译成活跃状态转移表和次活跃状态转移表分别存储在FPGA模块的存储块单元及外部存储模块中,根据字符不同的活跃状态查询不同的状态转移表实现字符串的快速匹配。
技术领域
本发明涉及网络报文检测技术领域,具体为一种字符串匹配装置及方法。
背景技术
深度报文检测技术,是高速网络监测技术中的一项重要技术,也是特征识别的核心技术,被广泛地应用于流量计费、应用层协议识别、入侵检测系统、网络监控系统、计算机取证系统等领域。随着互联网的发展与应用,当前网络也越来越依赖于深度报文检测技术来对报文净荷部分关键字符进行识别、检测。
深度报文检测技术主要采用传统的高效字符串匹配算法如AC算法、WM算法及SBOM算法。在深度报文检测中,首先要将字符串编译成有限状态自动机FSM,并将FSM的状态表配置在存储器中。匹配过程是基于访问自动机状态表来驱动的,每处理报文的一个字符都需要至少一次查表,以获取下一次要访问的状态地址。
当前深度报文检测技术发展过程中主要面临两个挑战:第一个是匹配时间复杂度问题,随着网络应用的发展,需要检测的特征数量越来越多,特征复杂度也越来越大,导致匹配过程越来越复杂;第二挑战是性能要求,随着互联网流量爆发式增加,对报文检测系统处理带宽能力、线速处理能力都有很高的要求。对于第一个挑战本发明采用AC算法,AC算法的优点在于巧妙的将字符匹配转换为了状态转移;匹配长字符串只需要遍历一遍,即只需要在AC算法自动机里面运行一遍就可以完成字符串匹配;另外本发明对AC算法状态转移矩阵做了优化处理,将活跃状态和次活跃状态表项分开存储、查询,大大提升了匹配效率。对于第二个挑战取决于访存性能,对于确定的访存次数,关键在于提高每次访存的速度。由于硬件本身具有高速并行处理能力,使得基于硬件的字符串匹配成为近年来网络深度报文检测技术的研究热点。基于硬件实现的字符匹配的最大优点是在大规模状态集下仍能获得高吞吐率的匹配性能,从而大大提高了整体匹配处理的性能,而软件实现时,它的性能随着状态集的增长而迅速递减。
发明内容
为实现上述目的:提供一种结构简单、能够快速实现字符串匹配的装置和方法。
本发明所采用的技术方案是:一种字符串匹配装置及方法,通过硬件和软件相互协同来实现,字符串匹配自动机的编译及配置由系统的CPU完成,系统的核心字符串匹配任务由FPGA上的硬件引擎来完成。
一种字符串匹配装置,其特征在于:包括CPU模块、FPGA模块及存储模块,其中所述FPGA模块包括匹配引擎单元、存储块单元、存储模块控制器单元;
所述CPU模块用于实现软件功能,处理字符串规则的上传、编译及状态转移表、关键字符位置表的下发,其中所述状态转移表包括活跃状态转移表和次活跃状态转移表;
所述FPGA模块用于实现硬件功能,其中所述存储块单元用于存储所述活跃状态转移表和关键字符位置表,所述匹配引擎单元用于处理字符串匹配计算过程,所述存储模块控制器单元用于对存储模块的数据读写;
所述匹配引擎单元均包括报文缓存区和结果缓存区;
所述存储模块用于存储所述次活跃状态转移表。
进一步的所述FPGA模块包括1个或多个所述匹配引擎单元。
进一步的所述存储模块是DDR,所述存储块单元是RAM。
一种字符串匹配方法,其特征在于包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南戎腾网络科技有限公司,未经湖南戎腾网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010475108.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图像透雾处理方法及装置
- 下一篇:区块链系统的版本升级方法、系统、及装置