[发明专利]匹配规则包含可选字符的并行多模式匹配的方法及系统无效
申请号: | 200810239201.1 | 申请日: | 2008-12-03 |
公开(公告)号: | CN101441664A | 公开(公告)日: | 2009-05-27 |
发明(设计)人: | 胡振宇;叶润国;邓炜;王雷章 | 申请(专利权)人: | 北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁 挥;祁建国 |
地址: | 100193北京市海淀区东北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 匹配 规则 包含 可选 字符 并行 模式 方法 系统 | ||
技术领域
本发明属于文本或网络内容处理技术领域,尤其涉及一种匹配规则包含可选字符的并行多模式匹配的方法及系统。
背景技术
多模式匹配(Multiple Pattern String Matching)是计算机科学领域中的基本问题之一,用于快速判断某一数据块中是否包含规则集中的某一或某些规则。多模式匹配技术广泛应用于文本处理、网络内容分析、入侵检测、生物信息学、信息检索等领域。
解决并行多模式匹配问题的经典方法之一,是基于有限状态自动机的方法。该方法最初由Alfred V.Aho和Margaret J.Corasick于1975年提出,通常以发明者的名字简称为AC多模式匹配算法。AC算法的突出优点在于其具有相同的最坏和平均性能,可用于处理各种模式集合(例如:不等长、大规模),是一种高性能的多模式匹配方法。
图1为AC算法一个具体实施例的AC自动机。规则集为用于多模式匹配的匹配规则的集合,该实施例中的规则集为{she,he,hers,his},匹配规则为she、he、hers和his。AC自动机用于进行状态转移,图1中的节点为表示状态的状态节点。根据AC算法,规则集中每个匹配规则都可以由一条从初始状态节点0出发的路径标识出来,该路径的终点为终态节点。在图1中,匹配规则she由初始状态节点0到状态节点5的路径标识出来,状态节点5为终态节点;匹配规则he由初始状态节点0到状态节点2的路径标识出来,状态节点2为终态节点;匹配规则hers由初始状态节点0到状态节点9的路径标识出来,状态节点9为终态节点;匹配规则his由初始状态节点0到状态节点7的路径标识出来,状态节点7为终态节点。
对于各种确定性规则的模式匹配来说,AC算法(以及其变种)无疑是个非常优秀的算法,但却无法处理含有通配符的非确定性规则的匹配。但如果匹配规则是包含可选字符的非确定性规则,即,更加灵活地指明在匹配规则的某个位置有个若干个可选字符,如“334566[abx]dw4”(其中的可选字符指示符[abx]表示,在“334566”后面可以是字符‘a’、‘b’或‘x’中的任意一个,接着才是“dw4”),则AC算法无法直接处理。
发明内容
为解决上述问题,本发明提供了一种匹配规则包含可选字符的并行多模式匹配的方法及系统,从而能够应用AC算法对包含有可选字符的匹配规则进行匹配。
本发明公开了一种匹配规则包含可选字符的并行多模式匹配的系统,包括:
匹配自动机生成模块,用于读取原始匹配规则集,将所述原始匹配规则集中包含可选字符的原始匹配规则对应所述可选字符的每一种可选方式生成一个新匹配规则,将不包含可选字符的确定的原始匹配规则作为其对应的新匹配规则,并将所有新匹配规则按照AC算法生成AC自动机;
匹配执行模块,用于读取搜索对象,按AC算法应用所述AC自动机进行匹配搜索,判断所述搜索对象是否匹配一个所述新匹配规则,如果是,则匹配成功,输出被匹配的新匹配规则对应的原始匹配规则。
所述匹配自动机生成模块进一步包括规则处理模块、AC自动机生成模块和匹配规则表生成模块,
所述规则处理模块,用于进行所述将所述原始匹配规则集中包含可选字符的原始匹配规则对应所述可选字符的每一种可选方式生成一个新匹配规则,将不包含可选字符的确定的原始匹配规则作为其对应的新匹配规则;并标识所有新匹配规则,建立新旧规则对应表,以记录原始匹配规则与新匹配规则之间的对应关系;
所述AC自动机生成模块,用于将所述规则处理模块生成的确定匹配规则按AC算法生成一个AC自动机;
所述匹配规则表生成模块,用于对所述AC自动机生成模块生成的AC自动机的每个终态节点,生成一个匹配规则表,记录该所述终态节点处匹配的所有新匹配规则标识,以供所述匹配执行模块在匹配搜索时进行查找。
所述规则处理模块进一步包括原始匹配规则读入模块和确定规则生成模块,
所述原始匹配规则读入模块,用于逐条读入并标识原始匹配规则,以供所述确定规则生成模块生成新旧规则对应表;
所述确定规则生成模块,用于进行所述将所述原始匹配规则集中包含可选字符的原始匹配规则对应所述可选字符的每一种可选方式生成一个新匹配规则,将不包含可选字符的确定的原始匹配规则作为其对应的新匹配规则,标识所有所述新匹配规则,并将原始匹配规则的标识和其对应的新匹配规则的标识写入新旧规则对应表。
所述匹配执行模块进一步包括:
新规则匹配模块,用于进行所述读取搜索对象,按AC算法应用所述AC自动机进行匹配搜索的过程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司,未经北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810239201.1/2.html,转载请声明来源钻瓜专利网。