[发明专利]一种正则表达式匹配方法、装置、FPGA及介质在审
申请号: | 202111017189.1 | 申请日: | 2021-08-31 |
公开(公告)号: | CN113703715A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 李建权;文曦畅;徐敬蘅;闫凡;郜振锋 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F5/06 | 分类号: | G06F5/06;G06F16/903;G06F13/42 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 陈彦如 |
地址: | 518055 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 表达式 匹配 方法 装置 fpga 介质 | ||
1.一种正则表达式匹配方法,其特征在于,应用于FPGA,包括:
接收与所述FPGA相连接的计算机设备发送的待匹配字符串;
通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配,得到匹配结果;
将所述匹配结果发送给所述计算机设备。
2.根据权利要求1所述的正则表达式匹配方法,其特征在于,所述接收与所述FPGA相连接的计算机设备发送的待匹配字符串,包括:
接收与所述FPGA相连接的计算机设备利用AXI-Stream协议发送的待匹配字符串。
3.根据权利要求1所述的正则表达式匹配方法,其特征在于,所述通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配之前,还包括:
将处于空闲状态,且模块标识最小的正则表达式匹配模块确定为目标正则表达式匹配模块;
将所述待匹配字符串发送到所述目标正则表达式匹配模块中;
相应地,所述通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配,包括:
通过所述目标正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配。
4.根据权利要求1所述的正则表达式匹配方法,其特征在于,所述将所述匹配结果发送给所述计算机设备,包括:
当所述正则表达式匹配模块处于计算完成状态时,从所述正则表达式匹配模块中读取所述匹配结果;
将所述匹配结果发送给所述计算机设备。
5.根据权利要求1至4任一项所述的正则表达式匹配方法,其特征在于,所述通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配,得到匹配结果,包括:
通过所述正则表达式匹配模块对所述待匹配字符串进行预处理;
通过所述正则表达式匹配模块对预处理之后的待匹配字符串进行并行匹配,得到匹配结果。
6.根据权利要求5所述的正则表达式匹配方法,其特征在于,所述通过所述正则表达式匹配模块对所述待匹配字符串进行预处理,包括:
通过所述正则表达式匹配模块中的FIFO缓存器对所述待匹配字符串进行缓存;
通过所述正则表达式匹配模块中的移位寄存器对所述待匹配字符串进行数据位宽转换;
通过所述正则表达式匹配模块中的多时钟寄存器对数据位宽转换后的待匹配字符串进行复制。
7.根据权利要求6所述的正则表达式匹配方法,其特征在于,所述通过所述正则表达式匹配模块对预处理之后的待匹配字符串进行并行匹配,得到匹配结果,包括:
通过所述正则表达式匹配模块中的各个正则表达式对复制出的各份数据位宽转换后的待匹配字符串进行并行匹配,得到正则表达式输出结果;
对所述正则表达式输出结果进行数据位宽转换,得到所述匹配结果。
8.一种正则表达式匹配装置,其特征在于,应用于FPGA,包括:
数据分发模块,用于接收与所述FPGA相连接的计算机设备发送的待匹配字符串;
正则表达式匹配模块,用于通过各个正则表达式对所述待匹配字符串进行并行匹配,得到匹配结果;
数据选择模块,用于将所述匹配结果发送给所述计算机设备。
9.一种FPGA,其特征在于,包括:
存储单元和处理单元;
其中,所述存储单元,用于存储计算机程序;
所述处理单元,用于执行所述计算机程序,以实现权利要求1至7任一项所述的正则表达式匹配方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的正则表达式匹配方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111017189.1/1.html,转载请声明来源钻瓜专利网。