CN106445891A - 一种串匹配算法的加速方法及装置 - Google Patents

一种串匹配算法的加速方法及装置 Download PDF

Info

Publication number
CN106445891A
CN106445891A CN201610648826.8A CN201610648826A CN106445891A CN 106445891 A CN106445891 A CN 106445891A CN 201610648826 A CN201610648826 A CN 201610648826A CN 106445891 A CN106445891 A CN 106445891A
Authority
CN
China
Prior art keywords
state
rule
transformational rule
transformational
basic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610648826.8A
Other languages
English (en)
Inventor
朱亚涛
张志敏
范东睿
王达
张�浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Smartcore Beijing Co ltd
Institute of Computing Technology of CAS
Original Assignee
Smartcore Beijing Co ltd
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Smartcore Beijing Co ltd, Institute of Computing Technology of CAS filed Critical Smartcore Beijing Co ltd
Priority to CN201610648826.8A priority Critical patent/CN106445891A/zh
Publication of CN106445891A publication Critical patent/CN106445891A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种串匹配算法的加速方法及装置,该方法包括构造基本转换规则与交叉转换规则,根据缓存策略函数确定状态缓存寄存器中的状态Sc1与Sc2,判断当前状态Si在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则,根据相应转换规则,将字符c进行转换。本发明通过增加状态缓存组件和选通电路,如寄存器组和多路选通器,在串匹配过程中动态生成转换规则,实现了串匹配算法的加速,同时能够消除传统串匹配算法中需存储的大量转换规则,降低生成状态机的规模,提高串匹配算法的执行速度。

Description

一种串匹配算法的加速方法及装置
技术领域
本发明涉及信息检索、模式识别和计算机体系结构领域,特别涉及一种串匹配算法的加速方法及装置。
背景技术
串匹配算法广泛应用在生物信息学、入侵检测、信息过滤、数据库、中文分词等众多领域,高性能串匹配算法研究具有重要的理论意义和应用价值。
在多模式串匹配算法中基于状态机的模式匹配算法最具代表性,应用也最为广泛,基于状态机的模式匹配算法具备性能稳定的特点,该类算法以Aho-Corasick算法为代表,Aho-Corasick算法由贝尔实验室的Aho和Corasick于1975年提出,它采用有限状态自动机结构一次接收所有模式串,通过构造状态机来扫描匹配文本,在状态机结构中,无论某个前缀同时属于几个模式,它都有唯一的状态来表示,Aho-Corasick算法的时间复杂度为O(n),其中,n为输入串的长度。
IBM苏黎世研究院的Lunteren在2006年提出了带优先级的状态机类算法,它通过对转换规则进行优先级划分,从而进一步压缩了Aho-Corasick算法所需存储空间,尽管该算法具有很好的存储效率,并可以针对正则表达式进行匹配,但并没有进一步找到AC算法存储空间很大的本质原因。
Smith等人在2008年提出了将每个状态结合一个扩展变量的扩展状态机XFA,该方法可以通过定义变量进一步减少多模式产生的状态机规模,给出了一种灵活压缩状态机的办法,然而,该方法由于复杂的状态操作,更适用于软件实现,硬件实现复杂性较高.尽管Smith也给出了相关的硬件设计,但由于关键路径相关性很高,无法进行有效的流水线设计,延长了最短路径时间,从而降低了频率影响整体性能。
Yang等人提出了针对多正则表达式匹配的时空可切换半确定状态机SFA,该状态机是DFA(确定有穷自动机)和NFA(不确定有穷自动机)之间的一种结构,由确定数量并行DFA组成,但由该方法构造的状态机十分复杂,不适合大规模模式使用。
此外,GPU作为高速处理引擎,近年来也被引入多模式匹配领域,由于GPU具有高度并行性,且编程容易,已有方法都取得了较好效果,由于网络处理具有较为固定的处理模式,不需要经常改变,定制电路设计相比GPU,在芯片使用效率和成本上更有优势。
随着对模式匹配性能需求的增加,基于状态机类的模式匹配算法成为高性能模式匹配体系结构设计的基础,但是,这类算法生成的DFA规模较大,尤其是对于大规模模式集(10万以上规模的模式集),所生成状态机规模对存储空间需求很大,既不利于软件算法快速实现,也无法适合硬件实现,为此,国际上相关研究主要围绕如何降低状态机类算法所需的规模和存储空间展开,应该说,简洁且有效的算法是解决该领域问题的首选,过分追求存储空间最优但造成结构复杂的方法生命力有限。
发明内容
针对现有技术的不足,本发明提出一种串匹配算法的加速方法及装置。
本发明提出一种串匹配算法的加速方法,包括
构造基本转换规则与交叉转换规则,根据缓存策略函数确定状态缓存寄存器中的状态Sc1与Sc2,判断当前状态Si在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则,如果存在对应的转换规则,则应用对应的转换规则,并跳到下一个状态Sk,应用基本转换规则或n步交叉转换规则,同时按缓存策略函数更新缓存寄存器中的状态Sc1与Sc2;否则,将被缓存的状态Sc2取出,并以状态Sc2为当前状态,在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用2步交叉转换规则;否则,将被缓存的状态Sc1取出,并以状态Sc1为当前状态在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用1步交叉转换规则;否则,判断初始状态S0是否接收字符c;如果接收字符c,则跳到相应状态,应用重启转换规则;否则,跳转到初始状态S0,用于失败转换规则。
通过状态转换函数R构造所述交叉转换规则,所述状态转换函数R的定义为:
其中,Si为当前状态,Sj为被缓存的状态、Rbasic为基本转换规则、Rn-cross为交叉转换规则、字符c、状态Sj、状态Si、状态Sk、状态Sc1、状态Sc2、初始状态S0、priority为优先级标识,4为最高优先级,0为最低优先级,如果高优先级的结果有效,则与最高优先级的结果被优先采纳。
所述重启转换规则为从其他状态转换到初始状态的后一个状态的转换规则。
所述失败转换规则为从其他状态转换到初始状态的转换规则。
本发明还提出一种串匹配算法的加速装置,包括
构造基本转换规则模块,用于构造基本转换规则;
构造交叉转换规则模块,用于构造交叉转换规则;
匹配模块,用于根据缓存策略函数确定状态缓存寄存器中的状态Sc1与Sc2,判断当前状态Si在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则,如果存在对应的转换规则,则应用对应的转换规则,并跳到下一个状态Sk,应用基本转换规则或n步交叉转换规则,同时按缓存策略函数更新缓存寄存器中的状态Sc1与Sc2;否则,将被缓存的状态Sc2取出,并以状态Sc2为当前状态,在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用2步交叉转换规则;否则,将被缓存的状态Sc1取出,并以状态Sc1为当前状态在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用1步交叉转换规则;否则,判断初始状态S0是否接收字符c;如果接收字符c,则跳到相应状态,应用重启转换规则;否则,跳转到初始状态S0,用于失败转换规则。
通过状态转换函数R构造所述交叉转换规则,所述状态转换函数R的定义为:
其中,Si为当前状态,Sj为被缓存的状态、Rbasic为基本转换规则、Rn-cross为交叉转换规则、字符c、状态Sj、状态Si、状态Sk、状态Sc1、状态Sc2、初始状态S0、priority为优先级标识,4为最高优先级,0为最低优先级,如果高优先级的结果有效,则与最高优先级的结果被优先采纳。
所述重启转换规则为从其他状态转换到初始状态的后一个状态的转换规则。
所述失败转换规则为从其他状态转换到初始状态的转换规则。
还包括缓存寄存器模块,用于缓存各状态。
还包括选通电路。
由以上方案可知,本发明的优点在于:
本发明通过增加状态缓存组件和选通电路,如寄存器组和多路选通器,在串匹配过程中动态生成转换规则,实现了串匹配算法的加速,同时能够消除传统串匹配算法中需存储的大量转换规则,降低生成状态机的规模,提高串匹配算法的执行速度。
附图说明
图1为本发明的总体结构图;
图2为交叉转换规则动态生成装置图;
图3为总体流程框图;
图4为有穷状态机DFA图。
具体实施方式
本发明的总体结构图如图1所示,包含如下步骤:
步骤1)转换规则预处理
步骤11)构造基本转换规则
基本转换规则是指从确定有穷状态自动机DFA初始状态开始直接接收模式所包含字符串的转换规则,以Rbasic表示。
步骤12)构造交叉转换规则
交叉转换规则表示状态机中某个状态代表的模式后缀与其他模式或该模式的前缀相同,其实质是某一段子模式与其他模式或者该模式的前缀相同。在此处只需构造3步及3步以上的交叉转换规则,以Rn-cross表示,其中n为步长值,而大量的1步和2步交叉转换规则在后续步骤中动态生成。
步骤13)构造重启转换规则和失败转换规则
重启转换规则为DFA中从其他状态转换到初始状态的后一个状态的转换规则,这类转换规则在模式匹配问题中表示输入字符无法正确匹配当前的模式路径,但可以从初始状态重新开始一次模式匹配过程,并已经接收了第1个字符;失败转换规则为DFA中从其他状态转换到初始状态的转换规则,这类转换规则代表输入字符无法正确地匹配任何模式及其子模式,因此状态机回到初始位置。根据已有的带优先级的状态机类算法,可将重启转换规则和失败转换规则合并,并控制在256条规则以内。
步骤2)构造1步和2步交叉转换规则生成装置
步骤21)状态转换函数
状态转换函数R的定义为:
其中,Si为当前状态,Sj为被缓存的状态,空集表示不存在对应的转换规则;priority为优先级标识,4为最高优先级,0为最低优先级,如果高优先级的结果有效(非空),则该结果被优先采纳;如果优先级高的结果无效,则低优先级结果被采纳,结果无效是指某一状态Si在Rbasic和Rn-cross转换函数中没有接收字符c的转换规则。
步骤22)交叉转换规则动态生成装置
交叉转换规则动态生成装置如图2所示。
生成装置在原有状态机功能中增加对历史信息的记录,并由当前状态、当前输入符号和状态机的历史信息一起决定下一个状态,从外部接口来看,生成装置与传统状态机一样,仅接收输入符号,输出状态机的判断结果。所不同之处在于内部增加了缓存寄存器,能够对状态按照缓存策略函数T进行状态缓存。
步骤3)多模式串匹配
步骤31)根据缓存策略函数确定状态缓存寄存器1和2缓存的状态Sc1和Sc2,others是指不满足if后面的表达式的所有情况,即if(Rbasic(Sc1,c)≠Sj&&Rn-cross(Sc1,c)≠Sj):
步骤32)根据步骤1)的转换规则集和步骤2)中的状态转换函数进行串匹配:
判断当前状态Si在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则:
步骤321)如果存在对应的转换规则,则应用该规则,跳到下一个状态Sk,实施基本转换规则或n步交叉转换规则,同时按缓存策略函数更新缓存寄存器1和缓存寄存器2中的转换规则Sc1和Sc2
步骤322)如果不存在对应的转换规则,则将被缓存的状态Sc2取出,并以Sc2状态为当前状态在基本转换规则和n步交叉转换规则中寻找接收当前字符c的转换规则:
步骤3221)如果存在对应的转换规则,则跳转到对应的下一个状态Sj,实施2步交叉转换规则;
步骤3222)如果不存在对应的转换规则,则将被缓存的状态Sc1取出,并以Sc1状态为当前状态在基本转换规则和n步交叉转换规则中寻找接收当前字符c的转换规则:
步骤32221)如果存在对应的转换规则,则跳转到对应的下一个状态Sj,实施1步交叉转换规则;
步骤32222)如果不存在对应的转换规则,则判断初始状态S0是否接收字符c:
步骤322221)如果接收字符c,则跳到相应状态,实施重启转换规则;
步骤322222)如果不接收字符c,跳转到初始状态S0,实施失败转换规则。
本发明还提出一种串匹配算法的加速装置,包括
构造基本转换规则模块,用于构造基本转换规则;
构造交叉转换规则模块,用于构造交叉转换规则;
匹配模块,用于根据缓存策略函数确定状态缓存寄存器中的状态Sc1与Sc2,判断当前状态Si在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则,如果存在对应的转换规则,则应用对应的转换规则,并跳到下一个状态Sk,应用基本转换规则或n步交叉转换规则,同时按缓存策略函数更新缓存寄存器中的状态Sc1与Sc2;否则,将被缓存的状态Sc2取出,并以状态Sc2为当前状态,在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用2步交叉转换规则;否则,将被缓存的状态Sc1取出,并以状态Sc1为当前状态在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用1步交叉转换规则;否则,判断初始状态S0是否接收字符c;如果接收字符c,则跳到相应状态,应用重启转换规则;否则,跳转到初始状态S0,用于失败转换规则。
通过状态转换函数R构造所述交叉转换规则,所述状态转换函数R的定义为:
其中,Si为当前状态,Sj为被缓存的状态、Rbasic为基本转换规则、Rn-cross为交叉转换规则、字符c、状态Sj、状态Si、状态Sk、状态Sc1、状态Sc2、初始状态S0、priority为优先级标识,4为最高优先级,0为最低优先级,如果高优先级的结果有效,则与最高优先级的结果被优先采纳。
所述重启转换规则为从其他状态转换到初始状态的后一个状态的转换规则。
所述失败转换规则为从其他状态转换到初始状态的转换规则。
还包括缓存寄存器模块,用于缓存各状态;选通电路。
以下为本发明的具体实施例,如下所示:
本方法的总体流程框图如图3所示:
现在采用一个模式集为{BASIC,SIEAN}的实例作为本发明的一个实施例,结合本发明的算法,对输入“BASIEAN”进行串匹配操作。
步骤1转换规则预处理:
首先,构建基本转换规则Rbasic的DFA图,如图4所示:
接着由此DFA图建立基本转换规则表1:(12)
由于没有3个字符及以上的子串与模式集的前缀相同,故3步及3步以上的交叉转换规则无。
重启规则和失败规则见表2:(13)
步骤2利用1步和2步交叉转换规则生成装置动态生成转换规则并完成串匹配:
第一个周期接收字符“B”,此时应用规则R1,当前状态S0变为S1,同时根据缓存策略函数可得缓存寄存器2的内容则为空(Sc2=φ,others),缓存寄存器1的内容为状态S1(Sc1=Rbasic(S0,B)=S1);
第二个周期接收字符“A”,此时应用规则R2,当前状态S1变为S2,同时缓存寄存器2的内容则为S2(Sc2=Rbasic(Sc1,A)||Rn-cross(Sc1,A)=Rbasic(S1,A)||Rn-cross(S1,A)=S2),缓存寄存器1的内容为状态S0(Rbasic(S0,A)=φ→Sc1=S0);
第三个周期接收字符“S”,此时应用规则R3,当前状态S2变为S3,同时缓存寄存器2的内容则为S6(Sc2=Rbasic(Sc1,S)||Rn-cross(Sc1,S)=Rbasic(S0,S)||Rn-cross(S0,S)=S6),缓存寄存器1的内容为状态S6(Sc1=Rbasic(S0,S)=S6);
第四个周期接收字符“I”,此时应用规则R4,当前状态S3变为S4,同时缓存寄存器2的内容为S7(Sc2=Rbasic(Sc1,S)||Rn-cross(Sc1,S)=Rbasic(S6,I)||Rn-cross(S6,I)=S7),缓存寄存器1的内容为状态S0(Rbasic(S0,I)=φ→Sc1=S0);
第五个周期接收字符“E”,基本转换规则都为空,此时取出缓存寄存器2的内容S7,应用规则R8,当前状态S4变为S8,同时缓存寄存器2的内容变为空(Sc2=Rbasic(Sc1,E)||Rn-cross(Sc1,E)=Rbasic(S0,E)||Rn-cross(S0,E)=φ),缓存寄存器1的内容为状态S0(Rbasic(S0,E)=φ→Sc1=S0);
第六个周期接收字符“A”,此时应用规则R9,当前状态S8变为S9,同时缓存寄存器2的内容则为空(Sc2=Rbasic(Sc1,A)||Rn-cross(Sc1,A)=Rbasic(S0,A)||Rn-cross(S0,A)=φ),缓存寄存器1的内容为状态S0(Rbasic(S0,A)=φ→Sc1=S0);
第七个周期接收字符“N”,此时应用规则R10,当前状态S9变为S10,S10为终止状态且字符输入完毕,故成功匹配字符串“SIEAN”,串匹配结束。

Claims (10)

1.一种串匹配算法的加速方法,其特征在于,包括
构造基本转换规则与交叉转换规则,根据缓存策略函数确定状态缓存寄存器中的状态Sc1与Sc2,判断当前状态Si在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则,如果存在对应的转换规则,则应用对应的转换规则,并跳到下一个状态Sk,应用基本转换规则或n步交叉转换规则,同时按缓存策略函数更新缓存寄存器中的状态Sc1与Sc2;否则,将被缓存的状态Sc2取出,并以状态Sc2为当前状态,在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用2步交叉转换规则;否则,将被缓存的状态Sc1取出,并以状态Sc1为当前状态在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用1步交叉转换规则;否则,判断初始状态S0是否接收字符c;如果接收字符c,则跳到相应状态,应用重启转换规则;否则,跳转到初始状态S0,用于失败转换规则。
2.如权利要求1所述的串匹配算法的加速方法,其特征在于,通过状态转换函数R构造所述交叉转换规则,所述状态转换函数R的定义为:
R ( S i , c , S j ) = S k , i f ( R b a s i c ( S i , c ) = S k | | R n - c r o s s ( S i , c ) = S k ) , p r i o r i t y = 4 S k , i f ( R b a s i c ( S j , c ) = S k | | R n - c r o s s ( S j , c ) = S k ) , p r i o r i t y = 3 S k , i f ( R b a s i c ( S j , c ) = S k | | R n - c r o s s ( S c 1 , c ) = S k ) , p r i o r i t y = 2 S k , i f ( R b a s i c ( S 0 , c ) = S k ) , p r i o r i t y = 1 S 0 , i f ( R b a s i c ( S 0 , c ) = φ ) , p r i o r i t y = 0
其中,Si为当前状态,Sj为被缓存的状态、Rbasic为基本转换规则、Rn-cross为交叉转换规则、字符c、状态Sj、状态Si、状态Sk、状态Sc1、状态Sc2、初始状态S0、priority为优先级标识,4为最高优先级,0为最低优先级,如果高优先级的结果有效,则与最高优先级的结果被优先采纳。
3.如权利要求1所述的串匹配算法的加速方法,其特征在于,所述重启转换规则为从其他状态转换到初始状态的后一个状态的转换规则。
4.如权利要求1所述的串匹配算法的加速方法,其特征在于,所述失败转换规则为从其他状态转换到初始状态的转换规则。
5.一种串匹配算法的加速装置,其特征在于,包括
构造基本转换规则模块,用于构造基本转换规则;
构造交叉转换规则模块,用于构造交叉转换规则;
匹配模块,用于根据缓存策略函数确定状态缓存寄存器中的状态Sc1与Sc2,判断当前状态Si在基本转换规则和n步交叉转换规则中是否存在接收当前字符c的转换规则,如果存在对应的转换规则,则应用对应的转换规则,并跳到下一个状态Sk,应用基本转换规则或n步交叉转换规则,同时按缓存策略函数更新缓存寄存器中的状态Sc1与Sc2;否则,将被缓存的状态Sc2取出,并以状态Sc2为当前状态,在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用2步交叉转换规则;否则,将被缓存的状态Sc1取出,并以状态Sc1为当前状态在基本转换规则与n步交叉转换规则中寻找接收当前字符c的转换规则;如果寻找到对应的转换规则,则跳转到对应的下一个状态Sj,并应用1步交叉转换规则;否则,判断初始状态S0是否接收字符c;如果接收字符c,则跳到相应状态,应用重启转换规则;否则,跳转到初始状态S0,用于失败转换规则。
6.如权利要求6所述的串匹配算法的加速装置,其特征在于,通过状态转换函数R构造所述交叉转换规则,所述状态转换函数R的定义为:
R ( S i , c , S j ) = S k , i f ( R b a s i c ( S i , c ) = S k | | R n - c r o s s ( S i , c ) = S k ) , p r i o r i t y = 4 S k , i f ( R b a s i c ( S j , c ) = S k | | R n - c r o s s ( S j , c ) = S k ) , p r i o r i t y = 3 S k , i f ( R b a s i c ( S j , c ) = S k | | R n - c r o s s ( S c 1 , c ) = S k ) , p r i o r i t y = 2 S k , i f ( R b a s i c ( S 0 , c ) = S k ) , p r i o r i t y = 1 S 0 , i f ( R b a s i c ( S 0 , c ) = φ ) , p r i o r i t y = 0
其中,Si为当前状态,Sj为被缓存的状态、Rbasic为基本转换规则、Rn-cross为交叉转换规则、字符c、状态Sj、状态Si、状态Sk、状态Sc1、状态Sc2、初始状态S0、priority为优先级标识,4为最高优先级,0为最低优先级,如果高优先级的结果有效,则与最高优先级的结果被优先采纳。
7.如权利要求6所述的串匹配算法的加速装置,其特征在于,所述重启转换规则为从其他状态转换到初始状态的后一个状态的转换规则。
8.如权利要求6所述的串匹配算法的加速装置,其特征在于,所述失败转换规则为从其他状态转换到初始状态的转换规则。
9.如权利要求6所述的串匹配算法的加速装置,其特征在于,还包括缓存寄存器模块,用于缓存各状态。
10.如权利要求6所述的串匹配算法的加速装置,其特征在于,还包括选通电路。
CN201610648826.8A 2016-08-09 2016-08-09 一种串匹配算法的加速方法及装置 Pending CN106445891A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610648826.8A CN106445891A (zh) 2016-08-09 2016-08-09 一种串匹配算法的加速方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610648826.8A CN106445891A (zh) 2016-08-09 2016-08-09 一种串匹配算法的加速方法及装置

Publications (1)

Publication Number Publication Date
CN106445891A true CN106445891A (zh) 2017-02-22

Family

ID=58184826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610648826.8A Pending CN106445891A (zh) 2016-08-09 2016-08-09 一种串匹配算法的加速方法及装置

Country Status (1)

Country Link
CN (1) CN106445891A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240040B2 (en) * 2001-09-12 2007-07-03 Safenet, Inc. Method of generating of DFA state machine that groups transitions into classes in order to conserve memory
WO2008141519A1 (fr) * 2007-05-18 2008-11-27 Beijing Zhean Technology Corporation Méthode et structure de puce de mise en concordance de chaînes de caractères
US20100198850A1 (en) * 2005-12-02 2010-08-05 Exegy Incorporated Method and Device for High Performance Regular Expression Pattern Matching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240040B2 (en) * 2001-09-12 2007-07-03 Safenet, Inc. Method of generating of DFA state machine that groups transitions into classes in order to conserve memory
US20100198850A1 (en) * 2005-12-02 2010-08-05 Exegy Incorporated Method and Device for High Performance Regular Expression Pattern Matching
WO2008141519A1 (fr) * 2007-05-18 2008-11-27 Beijing Zhean Technology Corporation Méthode et structure de puce de mise en concordance de chaînes de caractères

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵩天 等: "存储有效的多模式匹配算法和体系结构", 《软件学报》 *

Similar Documents

Publication Publication Date Title
WO2021083239A1 (zh) 一种进行图数据查询的方法、装置、设备及存储介质
US8843508B2 (en) System and method for regular expression matching with multi-strings and intervals
Zhou et al. Resolving surface forms to wikipedia topics
CN102929902A (zh) 一种基于中文检索的分词方法及装置
CN102163234A (zh) 一种基于纠错相关度对查询序列进行纠错的设备和方法
CN102200983A (zh) 属性提取装置和方法
CN101685502A (zh) 模式匹配方法及装置
CN107316062A (zh) 一种改进的面向领域的命名实体消歧方法
Kitaev et al. Tetra-tagging: Word-synchronous parsing with linear-time inference
CN105404677A (zh) 一种基于树形结构的检索方法
Scarpazza et al. High-performance regular expression scanning on the Cell/BE processor
TWI615727B (zh) 資訊處理系統及方法與資訊處理程式
CN116680420B (zh) 基于知识表示增强的低资源跨语言文本检索方法及装置
CN111046092B (zh) 一种基于cpu-gpu异构体系结构的并行相似性连接方法
CN106445891A (zh) 一种串匹配算法的加速方法及装置
CN102023858A (zh) 软硬件协同工作的字符匹配系统及其匹配方法
CN105426490A (zh) 一种基于树形结构的索引方法
CN103488305A (zh) 一种简繁对照中文输入法系统
CN103544167A (zh) 一种基于中文检索的逆向分词方法及装置
CN101464906B (zh) 一种网络搜词方法及系统
CN109558589A (zh) 一种基于中文分词技术的畅想文书的方法及系统
US9009200B1 (en) Method of searching text based on two computer hardware processing properties: indirect memory addressing and ASCII encoding
Soroushnia et al. Parallel implementation of fuzzified pattern matching algorithm on gpu
Peng et al. A fast engine for multi-string pattern matching
Yang et al. A dictionary mechanism for Chinese word segmentation based on the finite automata

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170222