[发明专利]并行正则表达式匹配器在审
申请号: | 202110632853.7 | 申请日: | 2021-06-07 |
公开(公告)号: | CN113360726A | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 苟鹏飞;陆泳;刘扬帆;徐越;杨浩;施葹 | 申请(专利权)人: | 青芯半导体科技(上海)有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/901 |
代理公司: | 上海智晟知识产权代理事务所(特殊普通合伙) 31313 | 代理人: | 张东梅 |
地址: | 200120 上海市浦东新区自由贸易试验*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 正则 表达式 配器 | ||
本发明提供了一种并行正则表达式匹配器,包括:软件预编译单元,被配置为将正则表达式规则集中的多个正则表达式规则进行预编译,转换为符合硬件处理行为的格式的正则表达式规则,以供硬件匹配电路进行匹配;硬件匹配电路,被配置为将待匹配报文和符合硬件处理行为的格式的正则表达式规则进行匹配,得出匹配结果。
技术领域
本发明涉及正则表达式技术领域,特别涉及一种并行正则表达式匹配器。
背景技术
正则表达式是由普通字符(字母/数字/符号)以及特殊字符(又称为“元字符”)组成的文字模式,用来描述在搜索文本时要匹配的一个或多个字符串。它被广泛应用于数据处理的各种领域。在高速度、大带宽的网络和数据库应用中,对正则表达式的处理速度提出了极高的要求。该要求主要包含两方面:(1)待匹配数据的处理带宽;(2)并行匹配的正则表达式数量。
目前的产品主要用软件实现。知名的正则表达式匹配软件(库)包含:POSIX REAPI,PCRE,Google RE2,Oniguruma,Hyperscan等。实现方法的核心是有限状态自动机,可分为确定性有限自动机(DFA),非确定性有限自动机(NFA)以及它们的组合。例如图1所示为一个对正则表达式a(b|c)*构造出来的有限自动机。每个圆圈代表一个状态,双线圆圈代表结束(匹配)状态。当文本的字符逐一输入该自动机时,如果当前字符和箭头上的字符相同,就可以按箭头前进到下一个状态。如果能够达到结束状态,则表明发生一次匹配(Matched)。如果文本的所有字符扫描完时都没能到达结束状态,则说明没有匹配。
软件的正则表达式匹配特点是使用灵活,缺点是速度慢,并行处理能力有限。上述软件(库)使用了一些方法例如对多个正则表达式进行状态图归并、多线程、分阶段匹配、利用单指令多数据(SIMD)指令等来改善上述缺点,但是仍然无法满足日益增长的数据处理速度需求。举例来说,目前速度最快的、被主流数据中心厂商广泛采用的Hyperscan,可以达到7Gbit/秒的Snort正则表达式集的单线程匹配速度。但是,多线程并不能线性提速、待扫描文本的不同有时会显著地影响速度。其它常用的正则表达式匹配软件(库)往往只有几十或几百Mbit/秒的匹配速度。此外,如果想把正则表达式的处理嵌入于网络处理设备或数字信号处理设备中,软件算法也难以做到(上述设备往往没有CPU或只有性能较低的微控制器)。
现有的正则表达式的数字电路实现,一般是单纯的DFA(确定性有限状态自动机)或NFA(非确定性有限状态自动机)电路,对于单条正则表达式能够达到较好的处理速度(例如几Gbit/秒到几十Gbit/s),但当正则表达式的数量增加时,速度以反比例快速下降。当正则表达式数量为100这个数量级时,速度不如软件,缺少实际应用价值。
目前的产品/方法存在的问题是:软件正则表达式实现使用灵活,但是速度较慢,跟不上现在高速网络(25Gbps,100Gbps)或高速接口(PCIe Gen3x16)的数据输入速度。现有的数字电路实现无法高效地同时处理多条正则表达式。
发明内容
本发明的目的在于提供一种并行正则表达式匹配器,以解决现有的正则表达式速度较慢或无法并行处理的问题。
为解决上述技术问题,本发明提供一种并行正则表达式匹配器,包括:
软件预编译单元,被配置为将正则表达式规则集中的多个正则表达式规则进行预编译,转换为符合硬件处理行为的格式的正则表达式规则,以供硬件匹配电路进行匹配;
硬件匹配电路,被配置为将待匹配报文和符合硬件处理行为的格式的正则表达式规则进行匹配,得出匹配结果。
可选的,在所述的并行正则表达式匹配器中,所述软件预编译单元包括拆分模块、状态归并模块和配置表模块,其中:
所述拆分模块用于将多个正则表达式规则拆分为纯字符串和正则单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青芯半导体科技(上海)有限公司,未经青芯半导体科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110632853.7/2.html,转载请声明来源钻瓜专利网。