[发明专利]一种字符串匹配装置及方法有效
申请号: | 202010475108.1 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111382327B | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 陈一骄;唐靖飚;张晓哲;杨白;周滔顺;王金明;颜卓华;白海强 | 申请(专利权)人: | 湖南戎腾网络科技有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F9/52 |
代理公司: | 长沙大珂知识产权代理事务所(普通合伙) 43236 | 代理人: | 伍志祥 |
地址: | 410199 湖南省长沙市开*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字符串 匹配 装置 方法 | ||
1.一种字符串匹配方法,通过字符串匹配装置实现,其特征在于:所述字符串匹配装置包括CPU模块、FPGA模块及存储模块,其中所述FPGA模块包括匹配引擎单元、存储块单元、存储模块控制器单元;
所述CPU模块用于实现软件功能,处理字符串规则的上传、编译及状态转移表、关键字符位置表的下发,其中所述状态转移表包括活跃状态转移表和次活跃状态转移表;
所述FPGA模块用于实现硬件功能,其中所述存储块单元用于存储所述活跃状态转移表和所述关键字符位置表,所述匹配引擎单元用于处理字符串匹配计算过程,所述存储模块控制器单元用于控制所述存储模块的数据读写;
所述匹配引擎单元包括报文缓存区和结果缓存区;
所述存储模块用于存储所述次活跃状态转移表;
包括字符串匹配方法以下步骤:
第一步,CPU模块根据AC算法将用户上传的字符串规则编译生成状态转移矩阵和状态转移表;
第二步,所述状态转移表定义状态转移的下一状态,根据所述状态转移表计算得到状态转移概率表,提取访问概率值最大的k个状态作为活跃状态转移表写入FPGA模块的存储块单元中,将剩余的所述状态转移表作为次活跃状态转移表写入存储模块中,同时将字符串规则的关键字符位置表写入所述FPGA模块的存储块单元中;
第三步,字符串匹配计算过程,匹配引擎单元在报文输入后对净荷进行提取并输出至报文缓存区,提取后进行分发;分发报文净荷时给每个报文净荷打上编号,然后再将报文净荷输出至匹配模块;所述匹配模块在初始状态收到报文启动信号时,进入开始匹配状态,查表逐字符匹配,活跃状态查询所述FPGA模块的存储块单元中的所述活跃状态转移表,次活跃状态查询所述存储块模块中的所述次活跃状态转移表,处理并输出匹配结果;匹配结果输出后输出至结果缓存区,根据在分发报文净荷时打上的编号依次输出匹配结果;
所述第三步还包括在开始匹配状态,先根据当前状态ID判断当前状态是否为活跃状态,若为当前状态为活跃状态查询所述活跃状态转移表,若当前状态为次活跃状态则跳回初始状态,将地址输出至存储模块控制器单元排队查询所述次活跃状态转移表,暂停当前顺序的报文净荷操作,将查询的字符位置指针存回到报文净荷RAM原位置,开始下一顺序报文净荷匹配操作;
所述报文净荷分发处理流程包括:报文净荷输入后,开始净荷分发操作,检测FIFO中是否有一个完整的报文净荷、是否有可用的编号、支路RAM是否有空闲bank以及是否已经计算出要发送的支路RAM地址,如果满足条件,取出报文净荷,重新封装,给每拍报文净荷打上编号和指针标签,根据计算出的支路RAM地址,给每拍报文净荷打上编号和指针标签,根据计算出的支路RAM地址,把报文净荷输出至匹配模块并写入至存储报文净荷的报文净荷RAM中。
2.根据权利要求1所述一种字符串匹配方法,其特征在于:报文净荷编号计算是根据匹配模块的RAM读指针计算已释放的可用的编号,确定当前报文净荷的编号,编号为num,取值范围0-127;支路RAM地址计算是根据m条匹配支路的报文净荷RAM存储空间的使用情况,将使用量最少的RAM支路作为输出支路,并计算出空闲RAM块的初始地址,当所有RAM空间都被写满时给出busy标识,等待RAM空间释放。
3.根据权利要求1所述一种字符串匹配方法,其特征在于:所述FPGA模块包括1个或多个所述匹配引擎单元。
4.根据权利要求1-3任一项所述一种字符串匹配方法,其特征在于:所述存储模块是DDR,所述存储块单元是RAM。
5.根据权利要求1所述一种字符串匹配方法,其特征在于:所述第一步还包括,对所述状态转移矩阵做多次矩阵相乘的计算,优化所述状态转移矩阵和所述状态转移表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南戎腾网络科技有限公司,未经湖南戎腾网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010475108.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图像透雾处理方法及装置
- 下一篇:区块链系统的版本升级方法、系统、及装置