[发明专利]一种正则表达式匹配方法、装置、FPGA及介质在审
申请号: | 202111017189.1 | 申请日: | 2021-08-31 |
公开(公告)号: | CN113703715A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 李建权;文曦畅;徐敬蘅;闫凡;郜振锋 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F5/06 | 分类号: | G06F5/06;G06F16/903;G06F13/42 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 陈彦如 |
地址: | 518055 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 表达式 匹配 方法 装置 fpga 介质 | ||
本申请公开了一种正则表达式匹配方法、装置、FPGA、介质,该方法包括:接收与所述FPGA相连接的计算机设备发送的待匹配字符串;通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配,得到匹配结果;将所述匹配结果发送给所述计算机设备。这样将原本由CPU执行的正则表达式匹配卸载到FPGA上,利用FPGA的高并行能力,对待匹配字符串进行并行匹配,由于在匹配过程中各个正则表达式与待匹配字符串是并行进行匹配的,所以相比于现有技术中CPU只能逐个正则表达式的进行串行匹配来说,可以减少匹配时延,提高匹配效率,从而提高整个系统的性能。
技术领域
本申请涉及计算机技术领域,特别涉及一种正则表达式匹配方法、装置、FPGA、介质。
背景技术
在实际计算机业务处理中,有很多业务处理需要进行正则匹配,例如,入侵防御系统、深度包检测等规则类业务包含大量正则表达式,用以判断报文数据内容是否满足特定规则,并根据规则匹配结果对报文数据内容进行相关处理。CPU(central processingunit,中央处理器)作为通用处理器,需要逐条进行正则表达式的匹配,导致系统匹配延时较长、匹配效率低。且相关数据表明,入侵防御系统、深度包检测等规则类业务消耗了30%以上的CPU计算资源,成为系统性能提升的瓶颈。
发明内容
有鉴于此,本申请的目的在于提供一种正则表达式匹配方法、装置、FPGA、介质,能够减少匹配时延、提高匹配效率,有助于提升系统的性能。其具体方案如下:
第一方面,本申请公开了一种正则表达式匹配方法,应用于FPGA,包括:
接收与所述FPGA相连接的计算机设备发送的待匹配字符串;
通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配,得到匹配结果;
将所述匹配结果发送给所述计算机设备。
可选地,所述接收与所述FPGA相连接的计算机设备发送的待匹配字符串,包括:
接收与所述FPGA相连接的计算机设备利用AXI-Stream协议发送的待匹配字符串。
可选地,所述通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配之前,还包括:
将处于空闲状态,且模块标识最小的正则表达式匹配模块确定为目标正则表达式匹配模块;
将所述待匹配字符串发送到所述目标正则表达式匹配模块中;
相应地,所述通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配,包括:
通过所述目标正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配。
可选地,所述将所述匹配结果发送给所述计算机设备,包括:
当所述正则表达式匹配模块处于计算完成状态时,从所述正则表达式匹配模块中读取所述匹配结果;
将所述匹配结果发送给所述计算机设备。
可选地,所述通过处于空闲状态的正则表达式匹配模块中的各个正则表达式对所述待匹配字符串进行并行匹配,得到匹配结果,包括:
通过所述正则表达式匹配模块对所述待匹配字符串进行预处理;
通过所述正则表达式匹配模块对预处理之后的待匹配字符串进行并行匹配,得到匹配结果。
可选地,所述通过所述正则表达式匹配模块对所述待匹配字符串进行预处理,包括:
通过所述正则表达式匹配模块中的FIFO缓存器对所述待匹配字符串进行缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111017189.1/2.html,转载请声明来源钻瓜专利网。