【技术实现步骤摘要】
本专利技术属于计算机理论领域,用于为多模式字符串匹配的Aho-Corasick算法提供可动态加减的Aho-Corasick-tree数据结构。
技术介绍
随着信息技术的飞速发展,尤其在大数据处理的问题上,如何实现关键字段的快速检索是一个越来越突出的问题。尤其在WEB2. O时代,实时性的对大量数据进行遍历或搜索是ー个常态化的操作。在如此大量数据量处理上,往往同时需要检索很多不同字符串,进行多模式匹配操作,这就需要用到Aho-Corasick算法。但此算法存在一个问题,作为ー个自动机算法,它依靠的是来源于众多特征字符串而预先生成的树形数据结构,一旦在运行过程中需要增添或者删减特征串时,需要中断运行,删除以前的数据结构,重新生成新的数据结构。如果新的串集合较大,这样的步骤就需要相当的时间进行处理了。在此期间,数据的处理就无法及时反映出来,因此需要ー种算法,即能保证实现多模式匹配,又能在有限时间内完成数据的重组操作。
技术实现思路
本专利技术的目的在于针对上述算法的不足,,通过提供衣一种,实现对该数据结构的动态维护,方便实现对大量不断变动的字符串进行多模式匹配检索。本专利 ...
【技术保护点】
一种实现Aho?Corasick算法所用数据结构动态生成的改进方法,包括增加和删除特征字符串的操作;其特征在于:所述的增加特征字符串包括以下步骤:步骤1:将特征字符串拆成单个字符,经由DFA树进行单个匹配,当DFA中不存在相应字符时,在DFA该位置上增加相应节点;步骤2:在新节点设置相应的数据,检查父节点的失效目标,是否有对应于本节点指代字符的儿子节点。如有,设为本节点的失效目标,执行步骤5;如无,执行步骤3;步骤3:重复步骤4,如找到节点,停止;如没有,再踢出一个字符串的头字符,重复步骤4;如直到剩最后一个字符,都没有完成匹配,那么,执行步骤6;步骤4:踢出本节点指代字符 ...
【技术特征摘要】
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。