[发明专利]一种按字长匹配的多模式串匹配方法有效

专利信息
申请号: 201210006598.6 申请日: 2012-01-10
公开(公告)号: CN102609450A 公开(公告)日: 2012-07-25
发明(设计)人: 顾乃杰;汪永进;郭利财;任开新 申请(专利权)人: 顾乃杰
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 安徽省合肥新安专利代理有限责任公司 34101 代理人: 汪祥虬
地址: 230026 安徽省合肥*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 按字长 匹配 模式 方法
【说明书】:

技术领域

发明属于计算机中字符串匹配技术领域,具体涉及按字长匹配的多模式串匹配方法。

背景技术

多模式串匹配方法现已被广泛的用于信息检索、网络内容过滤、病毒检测和生物计算学等方面。所谓多模式串匹配,就是从文本中搜索出模式串集合中所有模式串的所有出现的位置。经典的多模式匹配方法有基于前缀的匹配防范,基于后缀的匹配方法和基于子串的匹配方法。其中基于后缀的匹配方法,如1994年美国亚利桑那大学计算机学院报告《一种快速的多模式串匹配算法》中提出的Wu-Manber方法(报告编号为TR-94-17),是目前实际中平均性能最好的一个方法,被应用于操作系统的搜索程序和入侵检测系统中。该Wu-Manber方法采用哈希散列和跳跃式搜索的方式,具有很好的匹配效率,但Wu-Manber方法在模式集中最短模式串长度过小时,搜索时平均跳跃距离变小,需要频繁的计算哈希值,验证入口增多,匹配效率会严重下降。

发明内容

本发明提出一种按字长匹配的多模式串匹配方法,以克服现有技术的上述缺陷,使多模式串匹配达到比较高的效率。

本发明按字长匹配的多模式串匹配方法,包括预编译过程和搜索过程,在字长为32位的计算机上进行如下操作:

所述预编译过程和传统的Wu-Manber方法相同,为构造3个表:一个跳转表即SHIFT表,一个哈希表即HASH表,一个前缀表即PREFIX表;设B为字符块的长度,m为最短模式串的长度,X为当前需要计算哈希值的字符块;字符块哈希值的计算公式为:

hash(X)=(X[0]*256B-1)+(X[1]*256B-2)+...+(X[B-1]*2560);

首先建立SHIFT表:先建立一个空表,表项值都初始化为最大跳转距离m-B+1,在模式集中取每个模式串前m个字符,从后往前每次取相邻B个字符组成字符块,按上面给出的字符块哈希值的计算公式计算该字符块的哈希值,按字符块跳转值的计算公式修改表中索引值为该字符块哈希值的表项值,即形成SHIFT表;

然后建立HASH表:先建立一个空表,表项值都初始化为空,在模式集中取每个模式串前m个字符的后B个字符组成字符块,按字符块哈希值的计算公式计算该字符块的哈希值,把哈希值相等的模式串用链表链接起来,存储在表中对应索引值为该哈希值的表项中,即形成HASH表;

再建立PREFIX表:先建立一个空表,表项值初始化为空,取模式集中每个模式串前B个字符,把哈希值相等的模式串用链表链接起来,存储在表中对应索引值为该哈希值的表项中,即形成PREFIX表;

其特征在于:

将所述需要计算哈希值的字符块的长度B取2,在搜索过程中,每次按字长读取文本,即每次从文本中装载一个整型值,字符块的哈希值通过对该整型值的移位得到;具体操作如下:

设当前读取机器字的内容是对应文本中的字符“abcd”,该机器字对应三个字符块:前面字符块“ab”、中间字符块“bc”和后面字符块“cd”,机器字对应整型值为变量var,整个搜索过程分为四个阶段,用计算机语言描述如下:

第一阶段:

由计算前面字符块哈希值的公式hash(″ab″)=(var<<16)>>16得到前面字符块的哈希值V1,查SHIFT表得到表中索引值为前面字符块的哈希值V1的表项值:

switch(SHIFT[V1])

{

case 0:查找HASH表中索引值为前面字符块的哈希值V1的表项值,即为符合的模式串链表,对链表中每一个模式串,首先查找PREFIX表中索引值为V1的表项值,验证前缀是否匹配,最后再进行模式串其余部分的验证,之后进入第二阶段;

case 1:直接进入第二阶段;

case 2,3,4:直接进入第三阶段;

default:若文本结束,则整个搜索过程结束;若文本没有结束,进入下一个机器字长的读取,重新进入第一阶段;

};

第二阶段:

由计算中间字符块哈希值的公式hash(″bc″)=(var<<8)>>16得到中间字符块的哈希值V2,查SHIFT表:

switch(SHIFT[V2])

{

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于顾乃杰,未经顾乃杰许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210006598.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top