[发明专利]匹配规则包含次数指示符的并行多模式匹配的方法及系统有效
| 申请号: | 200810222506.1 | 申请日: | 2008-09-18 |
| 公开(公告)号: | CN101677318A | 公开(公告)日: | 2010-03-24 |
| 发明(设计)人: | 胡振宇;叶润国 | 申请(专利权)人: | 北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F17/30 |
| 代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 祁建国;常大军 |
| 地址: | 100193北京市海淀区东北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 匹配 规则 包含 次数 指示 并行 模式 方法 系统 | ||
技术领域
本发明属于文本或网络内容处理技术领域,尤其涉及一种匹配规则包含次 数指示符的并行多模式匹配的方法及系统。
背景技术
多模式匹配(Multiple Pattern String Matching)是计算机科学领域 中的基本问题之一,用于快速判断某一数据块中是否包含规则集中的某一或某 些规则。多模式匹配技术广泛应用于文本处理、网络内容分析、入侵检测、生 物信息学、信息检索等领域。
解决并行多模式匹配问题的经典方法之一,是基于有限状态自动机的方 法。该方法最初由Alfred V.Aho和Margaret J.Corasick于1975年提出, 通常以发明者的名字简称为AC多模式匹配算法。AC算法的突出优点在于其具 有相同的最坏和平均性能,可用于处理各种模式集合(例如:不等长、大规 模),是一种高性能的多模式匹配方法。
对于各种确定性规则的模式匹配来说,AC算法(以及其变种)无疑是个 非常优秀的算法,但却无法处理含有通配符的非确定性规则的匹配。
中国专利申请200810104416.2“一种并行多模式匹配的方法及系统”提 供了一种应用AC算法来处理含有通配符的非确定规则的并行多模式匹配的方 法。该发明公开了一种并行多模式匹配的系统,包括:
生成模块,用于读取包含匹配规则的规则集,将所述规则集中包含通配符 的匹配规则从通配符处分割成所述匹配规则的子规则,所述子规则中不包含通 配符,所述规则集中不包含通配符的匹配规则作为其自身的子规则,并将所有 子规则按照AC算法生成AC自动机,并输出所述AC自动机;
匹配模块,用于读取搜索对象和所述AC自动机,按AC算法应用所述AC 自动机进行搜索,判断所述搜索对象是否按子规则在所述匹配规则中的顺序匹 配所述匹配规则的所有子规则,如果是,则所述搜索对象匹配所述匹配规则, 并输出匹配结果。
在具体的搜索过程中,当用AC算法成功匹配一个子规则后,按子规则标 识查找匹配状态表,获得子规则所属匹配规则的子规则总数和最近匹配的子规 则顺序号,比较子规则顺序号和最近匹配的子规则顺序号,如果子规则顺序号 比最近匹配的子规则顺序号大1,则根据子规则顺序号和子规则总数判断所述 子规则是否是最后一个子规则,如果是,则搜索对象同匹配规则匹配,如果不 是,则更新匹配状态表中最近匹配子规则顺序号为当前匹配子规则的顺序号。
上述发明将每个含有通配符的规则分解成多个子规则,并逐个检查各个子 规则是否按顺序匹配成功。该方法解决了用AC算法来处理象“334566*990000” 这样的含有通配符的非确定规则的并行多模式匹配问题,但其方法仅能用来处 理两个子模式之间的字符是任意的、长度也是任意的这种形式,并且各个子规 则只匹配一次。如果要更加精确指明子规则的连续重复次数,如“334566 (990000)<2,10>”(其中的次数指示符<2,10>表示,子规则“990000”重复 匹配2—10次),则上述发明则无法处理。
发明内容
为解决上述问题,本发明公开了一种匹配规则包含次数指示符的并行多模 式匹配的方法及系统,以应用AC算法来处理指定子规则连续重复次数的并行 多模式匹配。
本发明公开了一种匹配规则包含次数指示符的并行多模式匹配的系统,包 括:
生成模块,用于读取包含匹配规则的规则集,将所述规则集中包含次数指 示符的匹配规则从次数指示符处分割成所述匹配规则的子规则,所述子规则为 确定规则,所述次数指示符规定的次数为所述次数指示符前面相连的子规则对 应的连续重复次数,所述规则集中为确定规则的匹配规则作为其自身的子规 则,所述子规则对应的连续重复次数为1,并将所有子规则按照AC算法生成 AC自动机;
匹配模块,用于读取搜索对象,按AC算法应用所述AC自动机进行搜索, 判断所述搜索对象是否按子规则在所述匹配规则中的顺序和子规则对应的规 定连续重复次数匹配所述匹配规则的所有子规则,如果是,则所述搜索对象匹 配所述匹配规则,并输出匹配结果。
所述生成模块进一步包括规则解析模块、匹配状态表生成模块和节点处理 模块,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司,未经北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810222506.1/2.html,转载请声明来源钻瓜专利网。





