CN102243656A - 基于散列的串匹配方法及其选择模式串子窗口的方法 - Google Patents

基于散列的串匹配方法及其选择模式串子窗口的方法 Download PDF

Info

Publication number
CN102243656A
CN102243656A CN 201110162453 CN201110162453A CN102243656A CN 102243656 A CN102243656 A CN 102243656A CN 201110162453 CN201110162453 CN 201110162453 CN 201110162453 A CN201110162453 A CN 201110162453A CN 102243656 A CN102243656 A CN 102243656A
Authority
CN
China
Prior art keywords
pattern string
string
substring
hashed value
pattern
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
CN 201110162453
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.)
Institute of Computing Technology of CAS
National Computer Network and Information Security Management Center
Original Assignee
Institute of Computing Technology of CAS
National Computer Network and Information Security Management Center
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 Institute of Computing Technology of CAS, National Computer Network and Information Security Management Center filed Critical Institute of Computing Technology of CAS
Priority to CN 201110162453 priority Critical patent/CN102243656A/zh
Publication of CN102243656A publication Critical patent/CN102243656A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于散列的串匹配方法及其选择模式串子窗口的方法。通过选择每个模式串的最优子窗口来计算该模式串的散列值,并以此来建立散列表。从而在大量的模式串有相同的前缀、后缀或子串的情况下,确保模式串尽量均匀地散列到散列表中,提高散列表的均匀性,保证基于散列的串匹配方法的高效运行。

Description

基于散列的串匹配方法及其选择模式串子窗口的方法
技术领域
本发明涉及信息检索领域。本发明尤其涉及串匹配方法。
背景技术
精确串匹配(后面简称“串匹配”)问题是计算机科学研究领域的一个经典问题。它指在文本T=t1t2…tn中找出某个给定的模式串集合P={p1,p2,…pr}的所有出现位置,其中T和pi(1≤i≤r)是在有限字符表∑上的字符序列。串匹配技术一直都是计算机科学的研究热点之一,它在网络入侵检测、计算机病毒特征码匹配、网络信息内容安全、信息检索等多个领域中有着广泛的应用。
串匹配方法的分类有多种,按照其关键技术来分,可以分为以下三类:基于自动机的匹配方法、基于散列的匹配方法和基于位并行的匹配方法。其中,基于散列的串匹配方法具有存储空间小,匹配速度快的优点,是实际系统中应用最广泛的方法之一,其中的典型代表包括Karp和Rabin在参考文献1(Efficient randomized pattern-matching algorithms.IBM Journalof Research and Development 31(1987).1987,3:249-260.)中提出的方法(通常称为Karp-Rabin方法),以及Wu和Manber在参考文献2(S.Wu,U.Manber.A fast algorithm for multi-pattern searching.Technical ReportDepartment of Computer Science Chung-Cheng University.1994,5.)中提出的方法(通常称为Wu-Manber方法)。
基于散列的串匹配方法的基本思想是:在预处理阶段计算模式串的散列值,并以散列表的形式存储起来;在匹配过程中,并不直接比较模式串及文本子串,而比较二者对应的散列值,从而将匹配过程转化为查表的过程。基于散列的串匹配方法的基本流程如图1所示。在方法的预处理阶段,首先,计算模式串集合中最短的模式串长度,记为m。此后,截取各个模式串长度为m的子串。上述过程实际上就是选择模式串子窗口的过程。图1所示的模式串子窗口选择方法是直接截取模式串长度为m的前缀。最后,通过散列函数,计算所截取的模式串子串的散列值,建立散列表。在匹配阶段,首先计算文本子串的散列值,然后查找散列表,如果存在散列值相同的模式串,再进一步比对文本和模式串本身。
现有的基于散列的串匹配方法只是简单地将模式串的子窗口选择为模式串的前缀或后缀。这样,如果在模式串间存在大量的前缀、后缀或子串的情况下,就会出现不同的模式串截取出相同子串的情况,进而造成大量的模式串散列到散列表的同一位置,使散列表中某些链表过长,极大地影响了散列表的均匀性。使得串匹配方法在校验阶段的时间代价会大幅提高,显著影响方法的整体性能。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,通过合理地选择模式串子窗口来提高基于散列的串匹配方法的性能。
一方面,在本发明的一个实施例中提供了一种用于基于散列的串匹配中的选择模式串子窗口的方法,所述方法包括以下步骤:
步骤1)求得模式串集合中最短模式串长度m;
步骤2)对于模式串集合中的每个模式串,计算其所有长度为m的子串的散列值,组成散列值集合;
步骤3)确定所述模式串集合与所述散列值集合中的元素的一一对应关系,所述对应关系应满足模式串所对应的散列值是根据该模式串的一个长度为m的子串计算出散列值,同时将这个子串设置为该模式串的子窗口。
根据本发明实施例的选择模式串子窗口的方法,所述步骤3)包括:统计各模式串长度为m的子串的散列值的出现次数;对于每个模式串,选择出现次数最少的其子串的散列值与该模式串相对应并将该子串设置为该模式串的子窗口。
根据本发明实施例的选择模式串子窗口的方法,所述步骤3)包括:用数组Count[hi]来记录模式串集合中各模式串长度为m的子串的散列值hi的出现次数;对于每个模式串,逐个扫描其长度为m的子串pi,子串pi的散列值表示为hi,选取Count[hi]最小的子串pi来作为该模式串的子窗口。
在其他实施例中,步骤3)中也可以采用最大流法或匈牙利法来确定所述模式串集合与所述散列值集合中的元素的一一对应关系。
又一方面,在本发明的一个实施例中提供了一种基于散列的串匹配方法。该方法首先采用上述实施例中所提供的选择模式串子窗口的方法来选择模式串集合中各个模式串对应的子窗口;然后,对模式串集合中每个模式串,截取该模式串的子窗口来计算该模式串的散列值,并建立散列表。其他步骤与现有的基于散列的串匹配方法相同。
与现有技术相比,本发明的实施例所提供的串匹配方法通过选择每个模式串的最优子窗口来计算该模式串的散列值,并以此来建立散列表,从而可以在大量的模式串有相同的前缀、后缀或子串的情况下,确保模式串尽量均匀地散列到散列表中,相比现有的基于散列的串匹配方法,性能有很大提高。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为现有的基于散列的串匹配方法基本流程示意图;
图2为根据本发明实施例的模式串及其子串的散列值的对应关系示意图;
图3为根据本发明一个实施例的模式串及其子串的散列值的对应关系示意图;
图4为根据现有的直接截取模式串前缀的串匹配方法所建立的散列表的示意图;
图5为根据本发明的实施例的基于散列的串匹配方法所建立的散列表的示意图;
图6为Karp-Rabin方法与本发明的基于散列的串匹配方法的一个实施例的匹配速度对比示意图;
图7为根据本发明实施例的基于散列的串匹配方法相比Karp-Rabin方法的性能改善示意图;
图8为Wu-Manber方法与本发明的基于散列的串匹配方法的又一个实施例的匹配速度对比示意图;
图9为根据本发明实施例的基于散列的串匹配方法相比Wu-Manber方法的性能改善示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的一个实施例中提供了选择模式串的最优子窗口的方法。所谓模式串的最优子窗口,就是一个模式串最“独特”的部分,最具有代表性、最能将该模式串与其他模式串区分开的子串。选择模式串的最优子窗口,就是要寻找一组模式串及其子串的散列值一一对应关系,使得每个模式串尽可能对应不同的散列值,最大程度的减少不同模式串对应相同散列值的情况的发生。
图2为模式串及其子串的散列值的对应关系的示意图。在本发明的实施例中将要截取的模式串子串的长度称为模式串子窗口大小,表示为m,散列函数表示为H。如图2所示,模式串及其长度为m的子串的散列值的对应关系可以用无向图来表示。模式串集合表示为P={p1,p2,...,pn},集合P中的元素pi,即各模式串,组成顶点集V1,即图2中左侧一列顶点。模式串所有长度为m的子串的散列值组成顶点集V2,即图2中右侧一列顶点。无向图中所有的边组成集合E,其中u∈V1,v∈V2,当且仅当v是u的子串的散列值,即v=H(u的长度为m的子串)。
从上文可见,图2实际上是一个二部图,即G=<V1,V2,E>。因此,选择模式串的最优子窗口,实际上就是在上述二部图中选出边集
Figure BDA0000068852830000042
M中任意两条边都没有公共的端点(即模式串与其子串的散列值一一对应),且G中不存在边集M1,使得|M1 |>|M|。这样,模式串的最优子窗口选择问题就可以转化为二部图的最大匹配问题。(参见http://en.wikipedia.org/wiki/Matching_(graph_theory))。图中虚线的边组成的边集为该二部图的最大匹配,也是最终模式串最优子窗口选择的结果,也就是根据虚线边所对应的两个顶点:模式串u,其长度为m的子串pi的散列值v,选择该子串pi为模式串u的最优子窗口。
二部图的最大匹配问题是图论中的经典问题,求解的方法主要有两种:最大流法和匈牙利方法。这两种方法能求得理论上的最优解,但方法的复杂度非常高,计算代价大,当模式串集合较大时,不适合在实际工程中应用。在本发明的一个实施例中提供了一种二部图近似最大匹配的求解方法,用该近似方法来求解模式串的最优子窗口。该模式串最优子窗口选择方法包含如下步骤:
1)求得模式串集合中最短模式串长度m,初始化数组Count,将每个元素置为零,该数组用以记录各模式串子串的散列值的出现次数。
2)对于模式串集合中的每个模式串,计算其所有长度为m的子串的散列值h,Count数组中对应元素值加一,即Count[h]++。
3)对于每个模式串,逐个扫描其长度为m的子串pi,子串pi的散列值表示为hi,选出其散列值出现次数最少的子串pi,即求出Count[hi]最小的pi,选定该子串pi作为该模式串的最优子窗口。
在其他实施例中,也可以采用本领域技术人员所熟知的二部图的最大匹配的求解方法来选择模式串的最优子窗口,例如上文提及的最大流法和匈牙利方法。在上述实施例中,可以采用本领域普通技术认识所熟知的任何现有技术来求得模式串集合中最短模式串长度m。
下面,以URL数据为例来说明本发明实施例所提供的模式串最优子窗口选择方法的具体步骤。URL数据是一类典型的存在大量相同前缀、后缀或子串的数据,而且URL过滤是很多信息内容安全系统的核心技术之一,如防火墙、垃圾邮件过滤系统、网络内容过滤系统等。模式串间存在大量同前缀、同子串和同后缀是URL数据的一个典型特点。
为了更好地理解本发明,以下面的URL数据的模式串集合为例进行说明:
P={bbs.byr.cn,bbs.byr.cn/article/Talking/4959770,bbs.byr.cn/article/Talking/4959732,bbs.byr.cn/article/Talking/4958938,bbs.byr.cn/article/Talking/4959567}
为便于说明原理,本实施例中采用的散列函数为H(p)=p,即字符串的散列值为字符串本身。在实际应用中,可根据实际的需求选择合适的散列函数。在一个实施例中,散列函数可以采用如参考文献1中的二项式散列。在二项式散列中,其模式串表示为X=x1x2…xn,二项式散列函数表示为
Figure BDA0000068852830000051
其中,B为选定的整数,p为散列表的大小。在又一个实施例中,散列函数可以采用参考文献2中的循环冗余校验散列。在循环冗余校验散列中,其模式串的二进制编码表示为D=d1d2…dn,di∈{0,1},将模式串的二进制编码看做是系数为0或1的多项式D(x)=d1·xn-1+d2·xn-2+…+dn。采用循环冗余校验散列时,将D(x)除以预先设定的生成多项式G(x)得到的余数即为散列值。在其他实施例中,还可以选择均匀性较好的散列函数,如CRC32、MD5等等。
在本实施例中,该模式串集合P对应的二部图如图3所示,具体流程为:
1)求得模式串集合P中最短模式串长度m=10,初始化数组Count,数组每个元素置为零。
2)p1=bbs.byr.cn长度为m=10的子串只有一个,即p1本身,则Count[H(bbs.byr.cn)]=Count[H(bbs.byr.cn)]+1=1。
p2=bbs.byr.cn/article/Talking/4959770的第一个子串为bbs.byr.cn,则Count[H(bbs.byr.cn)]=Count[H(bbs.byr.cn)]+1=2;第二个子串为bs.byr.cn/,则Count[H(bs.byr.cn/)]=Count[H(bs.byr.cn/)]+1=1;以此类推,直至最后一个子串ng/4959770,则Count[H(ng/4959770)]=Count[H(ng/4959770)]+1=1。
对于p3,p4,p5依次分别求其长度为m=10的子串的散列值,将Count中的对应项加一。最终求得的Count数组如表1所示。
表1Count数组数值
  对应子串   数值   对应子串   数值   对应子串   数值   对应子串   数值
  bbs.byr.cn   5   n/article/   4   /Talking/4   4   lking/4958   1
  bs.byr.cn/   4   /article/T   4   Talking/49   4   king/49589   1
  s.byr.cn/a   4   article/Ta   4   alking/495   4   ing/495893   1
  .byr.cn/ar   4   rticle/Tal   4   lking/4959   3   ng/4958938   1
  byr.cn/art   4   ticle/Talk   4   king/49597   2   king/49595   1
  yr.cn/arti   4   icle/Talki   4   ing/495977   1   ing/495956   1
  r.cn/artic   4   cle/Talkin   4   ng/4959770   1   ng/4959567   1
  .cn/articl   4   le/Talking   4   ing/495973   1
  cn/article   4   e/Talking/   4   ng/4959732   1
3)求p1对应Count值最小的子串,该子串为bbs.byr.cn,Count[H(bbs.byr.cn)]=5,选定bbs.byr.cn为p1的最优子窗口。求p2对应Count值最小的子串,子串ing/495977和ng/4959770对应的Count值均为1,选定第一个Count值最小的ing/495977为p2的最优子窗口。
类似的,依次选定ing/495973为p3的最优子窗口,lking/4958为p4的最优子窗口,king/49595为p5的最优子窗口。
至此,完成了对实施例中给定模式串集合的最优子窗口的选择。
在本发明的又一个实施例中,提供了采用上述选择模式串子窗口方法的基于散列的串匹配方法。该方法首先选择模式串集合中的各个模式串的最优子窗口;然后对每个模式串截取其最优子窗口来计算散列值,建立散列表。其余步骤与现有的基于散列的串匹配方法相同,例如,在一个实施例中,该方法除了上述根据所选择的模式串最优子窗口来建立散列表的过程,其余步骤可以与现有的基于散列的串匹配方法相同,例如Karp-Rabin、Wu-Manber,或其他。在又一个实施例中,该方法的散列函数可以选择本领域技术人员所熟知的用于基于散列的串匹配方法中的任何散列函数。
现有的基于散列的串匹配方法,在处理多模式串匹配时,需要按照最短的模式串长度对所有的模式串进行截断。目前,通常的做法是简单地直接截取模式串的前缀或后缀。按照这种方法简单地对上述实施例中的模式串集合P中的模式串截取前缀并建立散列表的过程如图4所示。由于各模式串具有相同的前缀,直接截取前缀造成模式串都散列到散列表散列值为bbs.byr.cn的表项中。而采用模式串的最优子窗口对实施例中的模式串集合进行截断并建立散列表的过程如图5所示。其中,虚线框为选定的最优子窗口,这样,实施例中模式串集合均匀散列到散列表中,散列表中无冲突,且更加均匀,避免了散列表中某些链表过长现象的发生。
而且,从理论上也可以证明在本发明实施例中所提供的串匹配方法可以使散列表中的模式串分布更加均匀。通常可以用熵(entropy)来度量散列表的均匀性。熵值越大,散列表的均匀性越好。熵的具体计算方式是:
(1)计算散列表中h个链表的长度,分别表示为n1,n2,…,nh
(2)计算熵值:
Figure BDA0000068852830000071
其中N=n1+n2+…+nh
用本实施例中提供的方法所产生的散列表(如图5),其熵值为2.32bit;而采用直接截取前缀的方法所产生的散列表(如图4),其熵值为0bit,可见根据本发明的实施例的串匹配方法所建立的散列表均匀性更好。
在本申请中发明人还通过实验来说明本发明实施例中的采用选择模式串的最优子窗口的基于散列的串匹配方法的积极效果。具体的实验环境和数据如下:
实验环境:CPU:Intel Core Duo T2250,1.73GHz;内存:2.5GB;Cache:32KB L1数据cache,32KB L1指令cache,2048KB L2cache;操作系统:Windows XP SP2,32位系统;编译平台:Visual Studio 2008。
实验数据:从骨干路由器上采集约100G的URL数据,对采集的URL去重,得到141MB、约320万条URL,将这些URL作为文本进行扫描。从采集的URL数据中分别随机抽取2万、5万、10万、14万条URL作为规则,规则的最短长度为8。测试中选取的对比方法为经典的基于散列的串匹配方法Karp-Rabin和Wu-Manber。
图6为Karp-Rabin方法与本发明的基于散列的串匹配方法的一个实施例的匹配速度对比示意图。在这个实施例中,除了根据所选择的模式串子窗口来计算每个模式串的散列值并建立散列表的过程,其余步骤均与Karp-Rabin方法相同,并采用相同的散列函数。图7为本实施例的基于散列的串匹配方法相比Karp-Rabin方法的性能改善示意图。图8为Wu-Manber方法与本发明的基于散列的串匹配方法的又一个实施例的匹配速度对比示意图。在这个实施例中,除了根据所选择的模式串子窗口来计算每个模式串的散列值并建立散列表的过程,其余步骤均与Wu-Manber方法相同,并采用相同的散列函数。图9为本实施例的基于散列的串匹配方法相比Wu-Manber方法的性能改善示意图。
从测试结果可以看出:采用模式串最优子窗口选择方法后的基于散列的匹配方法相对于现有的Karp-Rabin和Wu-Manber方法,其匹配速度都得到了显著的提升。随着模式串规模的增大,本发明实施例所提供模式串子窗口选择方法对基于散列的串匹配方法的匹配速度的提升作用越显著。当模式串规模为14万时,与未采用本发明实施例所提供模式串最优子窗口选择方法的Karp-Rabin方法相比,其匹配速度提高了132.1%;与未采用本发明实施例所提供模式串最优子窗口选择方法的Wu-Manber方法相比,其匹配速度提高了213.9%。
在上述实验可以看出,通过采用了对二部图近似最大匹配的求解方法,来对模式串的子窗口进行选择,从而在模式串存在大量相同前缀、后缀或子串时,可以极大地降低不同模式串对应相同子串的情况的出现,提高散列表的均匀性,保证基于散列的串匹配方法的高效运行。
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

Claims (10)

1.一种用于基于散列的串匹配中的选择模式串子窗口的方法,所述方法包括:
步骤1)求得模式串集合中最短模式串长度m;
步骤2)对于模式串集合中的每个模式串,计算其所有长度为m的子串的散列值,组成散列值集合;
步骤3)确定所述模式串集合与所述散列值集合中的元素的一一对应关系,所述对应关系应满足模式串所对应的散列值是根据该模式串的一个长度为m的子串计算出散列值,同时将这个子串设置为该模式串的子窗口。
2.根据权利要求1所述的选择模式串子窗口的方法,所述步骤3)包括以下步骤:
统计各模式串长度为m的子串的散列值的出现次数;
对于每个模式串,选择出现次数最少的其子串的散列值与该模式串相对应并将该子串设置为该模式串的子窗口。
3.根据权利要求1所述的选择模式串子窗口的方法,所述步骤3)包括以下步骤:
用数组Count[hi]来记录模式串集合中各模式串长度为m的子串的散列值hi的出现次数;
对于每个模式串,逐个扫描其长度为m的子串pi,子串pi的散列值表示为hi,选取Count[hi]最小的子串pi来作为该模式串的子窗口。
4.根据权利要求1所述的选择模式串子窗口的方法,所述步骤3)中采用最大流法来确定所述模式串集合与所述散列值集合中的元素的一一对应关系。
5.根据权利要求1所述的选择模式串子窗口的方法,所述步骤3)中采用匈牙利法来确定所述模式串集合与所述散列值集合中的元素的一一对应关系。
6.一种基于散列的串匹配方法,所述方法包括以下步骤:
步骤1)求得模式串集合中最短模式串长度m;
步骤2)对于模式串集合中的每个模式串,计算其所有长度为m的子串的散列值,组成散列值集合;
步骤3)确定所述模式串集合与所述散列值集合中的元素的一一对应关系,所述对应关系应满足模式串所对应的散列值是根据该模式串的一个长度为m的子串计算出散列值,同时将这个子串设置为该模式串的子窗口;
步骤4)对模式串集合中每个模式串,截取该模式串的子窗口来计算该模式串的散列值,并建立散列表。
7.根据权利要求6所述的串匹配方法,所述步骤3)包括以下步骤:
统计各模式串长度为m的子串的散列值的出现次数;
对于每个模式串,选择出现次数最少的其子串的散列值与该模式串相对应并将该子串设置为该模式串的子窗口。
8.根据权利要求6所述的串匹配方法,所述步骤3)包括以下步骤:
用数组Count[hi]来记录模式串集合中各模式串长度为m的子串的散列值hi的出现次数;
对于每个模式串,逐个扫描其长度为m的子串pi,子串pi的散列值表示为hi,选取Count[hi]最小的子串pi来作为该模式串的子窗口。
9.根据权利要求6所述的串匹配方法,所述步骤3)中采用最大流法来确定所述模式串集合与所述散列值集合中的元素的一一对应关系。
10.根据权利要求6所述的串匹配方法,所述步骤3)中采用匈牙利法来确定所述模式串集合与所述散列值集合中的元素的一一对应关系。
CN 201110162453 2011-06-16 2011-06-16 基于散列的串匹配方法及其选择模式串子窗口的方法 Pending CN102243656A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110162453 CN102243656A (zh) 2011-06-16 2011-06-16 基于散列的串匹配方法及其选择模式串子窗口的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110162453 CN102243656A (zh) 2011-06-16 2011-06-16 基于散列的串匹配方法及其选择模式串子窗口的方法

Publications (1)

Publication Number Publication Date
CN102243656A true CN102243656A (zh) 2011-11-16

Family

ID=44961711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110162453 Pending CN102243656A (zh) 2011-06-16 2011-06-16 基于散列的串匹配方法及其选择模式串子窗口的方法

Country Status (1)

Country Link
CN (1) CN102243656A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699747A (zh) * 2014-12-15 2015-06-10 宁波大学 一种基于高维数据过滤器的近似成员查询方法
CN104881439A (zh) * 2015-05-11 2015-09-02 中国科学院信息工程研究所 一种空间高效的多模式串匹配方法和系统
CN106776965A (zh) * 2016-12-05 2017-05-31 东软集团股份有限公司 特征串集合的分组方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699747A (zh) * 2014-12-15 2015-06-10 宁波大学 一种基于高维数据过滤器的近似成员查询方法
CN104699747B (zh) * 2014-12-15 2017-10-31 宁波大学 一种基于高维数据过滤器的近似成员查询方法
CN104881439A (zh) * 2015-05-11 2015-09-02 中国科学院信息工程研究所 一种空间高效的多模式串匹配方法和系统
CN104881439B (zh) * 2015-05-11 2019-03-22 中国科学院信息工程研究所 一种多模式串匹配方法和系统
CN106776965A (zh) * 2016-12-05 2017-05-31 东软集团股份有限公司 特征串集合的分组方法和装置
CN106776965B (zh) * 2016-12-05 2019-11-26 东软集团股份有限公司 特征串集合的分组方法和装置

Similar Documents

Publication Publication Date Title
Manzoor et al. Fast memory-efficient anomaly detection in streaming heterogeneous graphs
Rong et al. A novel subgraph K+-isomorphism method in social network based on graph similarity detection
CN101604337B (zh) 一种哈希表项存储、查找装置及方法
Guo et al. The dynamic bloom filters
US10007699B2 (en) Optimized exclusion filters for multistage filter processing in queries
US7743058B2 (en) Co-clustering objects of heterogeneous types
Hua et al. Locality-sensitive bloom filter for approximate membership query
CN106326475B (zh) 一种高效的静态哈希表实现方法及系统
US8515961B2 (en) Method and apparatus for indexing suffix tree in social network
US9852453B2 (en) High-throughput message generation
CN105989015B (zh) 一种数据库扩容方法和装置以及访问数据库的方法和装置
JP2017526021A (ja) データ検索におけるエラー修正装置及びその方法
CN109710542B (zh) 一种满n叉树构建方法及装置
CN105447166A (zh) 一种基于关键字查找信息的方法及系统
US9639549B2 (en) Hybrid of proximity and identity similarity based deduplication in a data deduplication system
CN109145053B (zh) 数据处理方法和装置、客户端、服务器
Haj Rachid et al. A practical and scalable tool to find overlaps between sequences
CN102243656A (zh) 基于散列的串匹配方法及其选择模式串子窗口的方法
Liroz-Gistau et al. Dynamic workload-based partitioning for large-scale databases
CN104809161A (zh) 一种对稀疏矩阵进行压缩和查询的方法及系统
CN106383826A (zh) 数据库查询方法和装置
CN104253754A (zh) 一种acl快速匹配的方法和设备
CN103780692B (zh) 一种键值存储的数据访问方法及其系统
CN116521816A (zh) 一种数据处理方法、检索方法、装置、设备以及存储介质
Li et al. Deterministic and efficient hash table lookup using discriminated vectors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111116