[发明专利]一种利用越界保护机制对字符串匹配进行加速的方法无效
| 申请号: | 200810064442.7 | 申请日: | 2008-05-05 |
| 公开(公告)号: | CN101271468A | 公开(公告)日: | 2008-09-24 |
| 发明(设计)人: | 范洪博;姚念民 | 申请(专利权)人: | 哈尔滨工程大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 150001黑龙江省哈尔滨市南岗区南通*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 利用 越界 保护 机制 字符串 匹配 进行 加速 方法 | ||
(一)技术领域
本发明涉及的是一种信息处理方法,具体地说是一种用于信息处理领域中的字符串匹配方法。
(二)背景技术
字符串匹配可以理解为从给定的符号序列中找出一个或若干具有某种性质的模式。字符串匹配问题应用范围极其广泛,几乎所有涉及文本处理的应用中都会涉及到字符串匹配操作,该问题是网络安全、信息检索、计算生物学等重要领域的核心问题。目前随着网络安全问题的凸显,以及超大型数据库、高速搜索引擎、人类基因图谱计划等应用的出现,对高速匹配算法的需求非常强烈。
字符串匹配可根据待处理文本在进行匹配操作时是否已知来进行分类。若进行匹配时文本已知的匹配应用为离线文本匹配,如在文本文件中进行匹配或者在socket缓冲区中进行匹配等应用;当匹配时文本未知并在不断更新的匹配应用则为在线文本匹配,匹配时文本仍在不断更新。目前各种匹配应用以离线文本匹配为主。
在处理离线文本时,现有字符串匹配算法至少在每发生一次跳跃时判定是否出现待读入字符超出文本边界的事件(或称下标越界,其中KMP类算法在每读入一个字符时均需检查是否下标越界)。由于字符串匹配所处理的文本长度一般远大于模式的长度,实际的操作中下标越界的出现概率很低,这样频繁的检查是否下标越界降低了匹配应用的实际性能。
为降低下标越界检查的开销,HUME A.与SUNDAY D.M.提出的tunedBoyer-Moore算法(简称tuned BM算法,HUME,A.,SUNDAY,D.M.,Fast stringsearching,Software-Practice&Experience,1991,21(11),1721-1248)中给出了一种越界保护的思想。tuned BM算法在较大字符集下(如英文文本检索)是目前最常用而且性能最高的精确单模式匹配算法,该算法被著名的字符串匹配软件Gungrep作为精确单模式匹配的处理算法。tuned BM算法利用BM坏字符规则进行跳跃,每次跳跃后待读入字符为窗口最末字符,并且当被读入字符和模式最末字符匹配时窗口的跳跃距离为0。利用此特性,tuned BM算法中提出了一种简单的越界保护机制,在文本的末尾接入m个字符的越界保护带,越界保护带内字符与模式的最末字符一致。这样,当窗口沿文本匹配至文本尾后,当出现下标越界时,此时的待读入字符位于越界保护带中,因此,窗口的跳跃距离将为0,窗口将不再继续向后跳跃。因此可进行若干次跳跃后,才检查一次是否发生下标越界。这样的做法将把下标越界的检查的开销分摊在若干次跳跃中,降低了每次跳跃的平均开销。
上述方法被称为简易的越界保护方法,该方法并没有将越界保护检查的次数降到最低。同时,该方法只能适用于tuned BM算法,其他算法由于没有当待读入字符和模式最末字符匹配时跳跃距离为0的特性,而无法应用到其他算法中。
(三)发明内容
本发明的目的在于提供一种可将下标越界检查开销降至最低,并且可顺利应用于现有大多数串匹配算法和串匹配应用的利用越界保护机制对字符串匹配进行加速的方法。
本发明的目的是这样实现的:
按以下步骤进行:
a)根据待匹配文本长度,得到文本尾位置,假定文本最末字符位于loc位置;
b)在loc+1位置设置1个字符的隔离字,该隔离字是任意在模式中没有出现的字符;
c)拷贝模式串至文本的loc+2位置;
d)进行正常的字符串匹配,在输出模式匹配位置前进行是否下标越界的判断,若没有下标越界,则输出匹配位置,若下标越界,则结束匹配动作。
其中,对于某些算法,c)步中所述的拷贝模式串至文本的loc+2位置应拷贝多次,多模式匹配应用中拷贝待匹配的多个模式中的其中一个模式。
对任何不会出现匹配遗漏的字符串匹配算法(含多模式匹配,待扩展字符匹配,正则表达式匹配和近似匹配等等应用),当下标越界时,上述c)步骤所接入的模式串均将引发一次模式匹配事件的发生,本发明所述方法与字符串匹配的具体实现无关,是现有各种字符串匹配问题的通用改进方法。同时,在整个串匹配过程中模式匹配后的输出动作是串匹配过程中所有动作中出现频率最低的动作,本发明所述方法可以将检查下标越界操作的总数降至最低。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810064442.7/2.html,转载请声明来源钻瓜专利网。





