【技术实现步骤摘要】
本专利技术属于文本或网络内容处理
,尤其涉及一种匹配规则包含次 数指示符的并行多模式匹配的方法及系统。
技术介绍
多模式匹配 (Multiple Pattern String Matching)是计算机科学领域 中的基本问题之一,用于快速判断某一数据块中是否包含规则集中的某一或某 些规则。多模式匹配技术广泛应用于文本处理、网络内容分析、入侵检测、生 物信息学、信息检索等领域。解决并行多模式匹配问题的经典方法之一,是基于有限状态自动机的方 法。该方法最初由Alfred V. Aho和Margaret J. Corasick于1975年提出, 通常以专利技术者的名字简称为AC多模式匹配算法。AC算法的突出优点在于其具 有相同的最坏和平均性能,可用于处理各种模式集合(例如不等长、大规 模),是一种高性能的多模式匹配方法。对于各种确定性规则的模式匹配来说,AC算法(以及其变种)无疑是个 非常优秀的算法,但却无法处理含有通配符的非确定性规则的匹配。中国专利申请200810104416.2 —种并行多模式匹配的方法及系统提 供了一种应用AC算法来处理含有通配符的非确定 ...
【技术保护点】
一种匹配规则包含次数指示符的并行多模式匹配的系统,其特征在于,包括: 生成模块,用于读取包含匹配规则的规则集,将所述规则集中包含次数指示符的匹配规则从次数指示符处分割成所述匹配规则的子规则,所述子规则为确定规则,所述次数指示符规定的次数为所述次数指示符前面相连的子规则对应的规定连续重复次数,所述规则集中为确定规则的匹配规则作为其自身的子规则,所述子规则对应的规定连续重复次数为1,并将所有子规则按照AC算法生成AC自动机; 匹配模块,用于读取搜索对象,按AC算法应用所述AC自动机进行搜索,判断所述搜索对象是否按子规则在所述匹配规则中的顺序和子规则对应的规定连续重复 ...
【技术特征摘要】
1.一种匹配规则包含次数指示符的并行多模式匹配的系统,其特征在于,包括生成模块,用于读取包含匹配规则的规则集,将所述规则集中包含次数指示符的匹配规则从次数指示符处分割成所述匹配规则的子规则,所述子规则为确定规则,所述次数指示符规定的次数为所述次数指示符前面相连的子规则对应的规定连续重复次数,所述规则集中为确定规则的匹配规则作为其自身的子规则,所述子规则对应的规定连续重复次数为1,并将所有子规则按照AC算法生成AC自动机;匹配模块,用于读取搜索对象,按AC算法应用所述AC自动机进行搜索,判断所述搜索对象是否按子规则在所述匹配规则中的顺序和子规则对应的规定连续重复次数匹配所述匹配规则的所有子规则,如果是,则所述搜索对象匹配所述匹配规则,并输出匹配结果。2.如权利要求1所述的匹配规则包含次数指示符的并行多模式匹配的系 统,其特征在于,所述生成模块进一步包括规则解析模块、匹配状态表生成模 块和节点处理模块,所述规则解析模块,用于进行所述将所述规则集中包含次数指示符的匹配 规则从次数指示符处分割成所述匹配规则的子规则,所述规则集中为确定规则 的匹配规则作为其自身的子规则,并将所有子规则按照AC算法生成AC自动机 的过程,并在确定所述匹配规则的子规则后,标识所述匹配规则的子规则;所述节点处理模块,用于生成节点规则表,所述节点规则表记录在所述 AC自动机中的终态节点处匹配的所有子规则标识、每个所述子规则对应的规 定连续重复次数和子规则长度,以供所述匹配模块在搜索时进行査找;所述匹配状态表生成模块,用于生成匹配状态表,所述匹配状态表中的一 行对应于所述规则集中的一个匹配规则,每行记录对应匹配规则包含的子规则 总数、最近匹配的子规则的顺序号、最近匹配的子规则的规定连续重复次数、 最近匹配的子规则的已连续重复次数和最近匹配的子规则的匹配位置,以供所 述匹配模块在搜索时进行査找。3. 如权利要求2所述的匹配规则包含次数指示符的并行多模式匹配的系 统,其特征在于,所述在确定所述匹配规则的子规则后,标识所述匹配规则的 子规则进一步为标识所述匹配规则,使用所述子规则所属匹配规则的标识和所 述子规则在匹配规则中的顺序号标识所述子规则。4. 如权利要求2所述的匹配规则包含次数指示符的并行多模式匹配的系 统,其特征在于,所述匹配模块进一步包括状态转移模块、参数获得模块、 匹配判断模块、重复判断模块、结果输出模块和搜索继续模块,所述状态转移模块,用于进行所述读取搜索对象,按AC算法应用所述AC 自动机进行搜索的过程,当转移到终态节点时,启动所述参数获得模块;所述参数获得模块,用于査找所述节点规则表以获得匹配的子规则标识、 所述子规则对应的规定连续重复次数和子规则长度,査找匹配状态表,获得所 述子规则所属匹配规则的子规则总数、最近匹配的子规则顺序号、最近匹配的 子规则的规定连续重复次数、最近匹配的子规则的已连续重复次数和最近匹配 的子规则的匹配位置;所述匹配判断模块,用于判断是否满足所述子规则的顺序号减去所述最近 匹配的子规则顺序号等于1并且所述最近匹配的子规则的已连续重复次数在 所述最近匹配的子规则的规定连续重复次数范围内,或者,所述子规则是所述 匹配规则的第一个子规则并且获得的最近匹配的子规则顺序号大于1,如果满 足,则将所述匹配状态表中所述匹配规则对应的最近匹配的子规则顺序号更新 为所述子规则的顺序号,最近匹配的子规则的规定连续重复次数更新为所述子 规则对应的规定连续重复次数,最近匹配的子规则的己连续重复次数更新为 1,最近匹配的子规则的匹配位置更新为所述子规则的匹配位置,启动所述结 果输出模块,否则,启动所述重复判断模块;所述重复判断模块,用于判断是否满足所述子规则的顺序号同所述最近匹 配的子规则顺序号相同,并且所述子规则的匹配位置减去所述最近匹配的子规 则的匹配位置等于所述子规则长度,如果满足,则将所述匹配状态表中所述匹 配规则对应的最近匹配的子规则的已连续重复次数加1,最近匹配的子规则的 匹配位置更新为所述子规则的匹配位置,启动所述结果输出模块,否则,启动 所述搜索继续模块;所述结果输出模块,用于根据所述子规则顺序号和所述子规则总数判断所 述子规则是否是所述匹配规则的最后一个子规则,并且判断所述匹配规则表中 所述匹配规则对应的最近匹配的子规则的己连续...
【专利技术属性】
技术研发人员:胡振宇,叶润国,
申请(专利权)人:北京启明星辰信息技术股份有限公司,北京启明星辰信息安全技术有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。