快速高效多模式匹配算法的研究与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:weige1985
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
模式匹配算法是计算机科学领域的一个经典的研究方向,被广泛地应用在信息检索、入侵检测系统、病毒检测、信息过滤以及生物计算等众多领域中。多模式匹配算法通过遍历一次文本串找到模式集中所有模式出现的位置。近年来,多模式匹配已经成为模式匹配的研究热点。WM算法是多模式匹配算法中效果最好的算法之一。它的性能很大程度上依赖于预处理阶段构建的三张表,PREFIX表、SHIFT表和HASH表。WM算法构建的这三张表存在明显缺陷,有很大的改进空间。本文对WM算法进行了改进,主要工作如下:1、通过改进PREFIX表、SHIFT表和HASH表,设计了一个自适应哈希的WM算法:AHWM算法,提高了WM算法的时间性能。其基本改进策略为:1)、将PREFIX表存储的模式串B位前缀的哈希值改进为lsp位前缀的哈希值,更大程度地过滤掉了不匹配的模式串;2)、建立了两个跳转表SHIFT1表和SHIFT2表,SHIFT1表和WM算法中的SHIFT表功能一样,用于记录在一次匹配之前字符块对应的跳转距离。SHIFT2表用于记录一次匹配结束后滑动窗口可以跳转的最大安全距离,可使算法跳过很多没有必要比较的字符,加快了模式匹配过程;3)、将HASH表表项数据结构由链表转换为自适应哈希子结构HASH_STRUCT。HASH_STRUCT可以根据当前哈希表槽中模式串的个数,动态地选择一种合适的数据结构来存储模式串。当模式集规模很大的时候,与链表相比,HASH_STRUCT在保证尽量少占用内存的情况下,减少了在HASH表中查找模式消耗的时间。2、对AHWM算法进行了改进,提出了一种高效并行的多模式匹配算法EPPM算法。虽然AHWM算法有着很好的时间性能,但是当模式集最短模式串长度比较小时,算法的性能变差。EPPM算法克服了这个缺陷,它按照模式串长度将原来的模式集划分为四个模式子集SET1、SET2、SET3和SET4。对于每一个模式子集,使用合适的模式匹配算法,各个匹配算法之间相互独立,并发执行。SET1和SET2利用构建的TABLE1和TABLE2进行模式匹配。SET3使用AC算法进行模式匹配。SET4使用AHWM算法进行模式匹配。这样,不管最短模式串长度是大是小,都拥有较高的时间性能。3、对两个算法进行了实验验证,结果表明了它们的有效性。
其他文献
随着数据挖掘技术的逐渐发展,数据挖掘模型越来越复杂,使得数据挖掘可视化的需求越来越强烈。数据挖掘可视化有三个方面动机:1.帮助初学者和用户理解数据挖掘模型的工作原理;
虚函数表劫持攻击是破坏C++程序控制流完整性的攻击手段之一,尤其在攻击现代浏览器中得到广泛应用,其攻击目标包括程序中的虚函数表和虚函数表指针。针对性的防御方法通过静
互联网在诞生初期的目标仅仅是为了提供计算机之间端到端的互联互通,这种设计思想导致基于传输控制协议/因特网互联协议(TCP/IP,Transmission Control Protocol/Internet Pro
标准必要专利许可中权利人和被许可人利益的冲突,引发滥用标准必要专利许可案件的发生,影响市场正常的竞争秩序,亟需法律规制。由于缺少对禁令滥用的规制及FRAND原则的不完善
由于无线信道的广播特性,无线通信安全极易受到威胁,而窃听是最主要的一种安全问题。随着多天线技术、信号处理技术和编码技术的发展,在物理层实现信息的安全传输成为可能。
随着移动互联网和物联网的快速发展,人们的生活质量得到提升,日常生活中产生的数据量也大大增加。海量的生活数据被转换成多维数的形式由数据拥有者集中存储,数据拥有者根据
混凝土在当代土木工程中不可或缺。同时,由于其对自然资源的浪费和对环境的严重破坏,再生混凝土的研究到目前已经得到足够的重视。另外,人类活动产生大量不可降解的废弃纤维,其对环境的影响不可忽视。因此,为了更加了解废弃纤维再生混凝土并推进废弃纤维再生混凝土的研究和应用。以龄期、纤维体积掺量和再生粗骨料取代率为主要指标来进行试验,研究早龄期力学性能及拉伸徐变性能。本文主要完成的工作如下:(1)经试验验证,再
随着移动通信技术的不断发展,终端用户对通信服务质量的要求也越来越高,同时本地多媒体数据业务急剧增长,使得频谱资源问题变得日益严峻。为解决该问题,终端直通技术(D2D,Dev
无源光网络具有卓越的高带宽和稳定性特性,被广泛地认为是一种完美的解决方案。然而,无源光网络并不能保证用户随时随地的接入,并且其部署成本比较大。作为另一种选择的无线
当今时代,物联网的发展带来了物联网终端、应用的爆炸式增长。终端的异构性、海量性特点导致了物联网资源标识的种类各不相同。尽管出现了一系列的物联网资源标识,比如EPC标