[发明专利]一种高速精确单模式字符串匹配的方法无效
申请号: | 200910072467.6 | 申请日: | 2009-07-07 |
公开(公告)号: | CN101609455A | 公开(公告)日: | 2009-12-23 |
发明(设计)人: | 姚念民;范洪博 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001黑龙江省哈尔滨市南岗区南通*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供的是一种高速精确单模式字符串匹配的方法,包含预处理和搜索两个阶段。其中预处理阶段包括对模式的预处理、对文本的预处理和根据匹配条件判定最佳的匹配动作,共三个主要步骤,搜索阶段为进行串匹配的过程,包括Scan Loop、Match Loop和后续判定动作,共三个主要步骤。本发明在目前英文语料上进行匹配时最高速的方法之一的SBNDM2算法基础上进行如下改进:通过引入下标越界保护机制减少了下标越界检查的开销;通过修改位掩码与位向量定义的方式简化了算法;并通过扩展SBNDM2的循环展开机制,确定了一种对于不同模式长度和不同语料选择最优的循环展开字符的方法,提高算法针对不同匹配条件时的匹配性能。本发明所述方法是在模式长度不超过机器字长时的一种性能高,适用范围广泛的高速位并行精确单模式串匹配方法。 | ||
搜索关键词: | 一种 高速 精确 模式 字符串 匹配 方法 | ||
【主权项】:
1、一种高速精确单模式字符串匹配的方法,包含预处理和搜索;其特征是:所述的预处理主要包含如下三个步骤:a)对模式的预处理:首先给定一种字符在模式中出现位置和位掩码中的位的一种对应关系,然后对于字符集中的每个字符生成其对应位掩码,位掩码为一个无符号整数,若该字符在模式中出现,则位掩码中该字符在模式中每个出现位置在位掩码中按对应关系所对应的位被置1,而其它位置0,所有字符的位掩码存储于位掩码表B中;b)对文本的预处理:拷贝模式串至文本串尾部之后,形成越界保护带;c)根据匹配条件判定最佳的匹配动作:选择Scan Loop中的循环展开字符个数和Match Loop的最佳实现方式;所述的搜索由以下三个步骤循环实现:d)Scan Loop:记循环展开字符数为q,由步骤c)确定,位向量生成的过程为以下q个值进行按位与操作得到:窗口最末字符的位掩码左移q-1位、窗口倒数第二个字符的位掩码左移q-2位...窗口倒数第q个字符的位掩码,如果位向量为0,则窗口跳跃m-q+1个字符,重复本步骤,否则,转步骤e);e)Match Loop:根据步骤c)中确定的最佳Match Loop实现方式自后向前读入字符,并检查已读入字符串是否是模式的子串;其方法是从窗口倒数第q+1个字符起,逐个读入字符并更新位向量直至位向量为0为止,之后转步骤f);该循环中使用Scan Loop所生成的位向量,在每个字符读入时,通过位向量与读入字符的位掩码进行位与操作和左移操作的方法更新位向量;f)后续判定动作:确认是否发生模式匹配,并在发现模式匹配后,检查是否出现下标越界。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910072467.6/,转载请声明来源钻瓜专利网。
- 上一篇:液晶显示装置
- 下一篇:钩端螺旋体病诊断试剂盒