CN103309882B - 一种多模式下匹配字符串的方法及系统 - Google Patents

一种多模式下匹配字符串的方法及系统 Download PDF

Info

Publication number
CN103309882B
CN103309882B CN201210064914.5A CN201210064914A CN103309882B CN 103309882 B CN103309882 B CN 103309882B CN 201210064914 A CN201210064914 A CN 201210064914A CN 103309882 B CN103309882 B CN 103309882B
Authority
CN
China
Prior art keywords
keyword
matched
word
length
sequence number
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.)
Expired - Fee Related
Application number
CN201210064914.5A
Other languages
English (en)
Other versions
CN103309882A (zh
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.)
Beijing Venus Information Security Technology Co Ltd
Beijing Venus Information Technology Co Ltd
Original Assignee
Beijing Venus Information Security Technology Co Ltd
Beijing Venus Information Technology Co Ltd
Filing date
Publication date
Application filed by Beijing Venus Information Security Technology Co Ltd, Beijing Venus Information Technology Co Ltd filed Critical Beijing Venus Information Security Technology Co Ltd
Priority to CN201210064914.5A priority Critical patent/CN103309882B/zh
Publication of CN103309882A publication Critical patent/CN103309882A/zh
Application granted granted Critical
Publication of CN103309882B publication Critical patent/CN103309882B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种多模式下匹配字符串的方法及系统,涉及互联网技术领域。本发明公开的方法包括:存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;当接收到字符串时,从所接收的字符串中提取出待匹配字,然后从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则此待匹配字匹配成功,否则匹配失败。本发明还公开了一种多模式下匹配字符串的系统。本申请技术方案通过构建hash表提供了一种快速匹配字符串的匹配方案,尤其针对小规模的模式集,通过对欲匹配字符串进行筛选,可以用极少的匹配次数完成字符串准确匹配。

Description

一种多模式下匹配字符串的方法及系统
技术领域
本发明涉及互联网技术领域,一种多模式下匹配字符串的方法及系统。
背景技术
字符串匹配算法在入侵检测,短消息过滤,信息查询等领域尤其是入侵检测方面均有重要的应用。随着网络技术的发展和Internet的普及,网络信息安全越来越受到人们的重视,现在社会是信息社会,保障信息的安全已成为刻不容缓的重要课题。
入侵检测技术就是为保证信息系统的安全而设计的一种能够及时发现并报告系统中未授权或者异常信息的技术,具有主动安全防范的特性,表现出良好的发展前景。而入侵检测系统检测引擎的核心即基于字符串匹配的特征匹配算法,这种检测方法可以在主机或网络数据中,通过准确的字符串模式匹配查找攻击签名,从而判断是否出现入侵。随着网络攻击技术的发展和攻击的多样化,如何改进字符串匹配算法,提高检测效率,已成为入侵检测系统研究的核心内容。
字符串匹配算法有很多,目前较常用的单模式字符串匹配算法是BM算法和KMP算法。应用广泛的入侵检测系统snort就采用了BM算法,但它是一种单模式的字符串匹配算法,在单一模式的字符串匹配算法中,BM算法一般被认为是性能最佳的。但在多模式字符串匹配过程中,BM算法需要对每一种模式分别进行匹配,因此BM算法的性能就大大降低了。目前的多模式匹配算法,比较高效的有CW算法,AC-BM算法,SBMP算法等。其中,CW算法的思路是首先用模式集构建一棵搜索树,然后在文本中用搜索树对模式进行跳跃搜索,在构建搜索树时,将模式从右边对齐,从右往左进行构建,树上相同的分支节点进行合并。在进行搜索时,以搜索树中模式的 最短长度为匹配窗长度,文本从左往右匹配,在匹配窗内搜索树从右往左进行匹配。如果在匹配过程中一旦出现不匹配,则整个匹配树往右移动。匹配树往右移动的位移表可以预先通过线性算法构建。AC-BM算法非常类似于CW算法,采用了“坏字符”和“好后缀”两种启发式规则来进行跳跃。SBMP算法也非常类似于CW算法,但只采用了“坏字符”启发式规则来进行跳跃。
发明内容
本发明所要解决的技术问题是,提供一种多模式下匹配字符串的方法及系统,以解决提高字符串匹配效率的问题。
为了解决上述技术问题,本发明公开了一种多模式下匹配字符串的方法,包括:
存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;
当接收到字符串时,从所接收的字符串中提取出待匹配字,然后从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则此待匹配字匹配成功,否则匹配失败。
较佳地,上述方法中,通过一个数组存储所述模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数,所述数组的值为关键字在模式集中的位置序号。
较佳地,上述方法中,从所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。
较佳地,上述方法中,从所存储的模式集信息中查找长度和首字母序号 与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较的过程如下:
获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数的值为0的数组元素,比较将所查找到的数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若比较结果不一致,则更新数组元素的可容忍冲突数再从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数为更新值的数组元素,比较所查找到的数组元素对应的关键字与所述待匹配字是否一致,其中,所述数组元素的可容忍冲突数的更新值为上一个所要查找的数组元素的可容忍冲突数的值加1。
较佳地,上述方法中,更新所要查找的数组元素时,若更新操作次数达到设定次数时,所提取出的关键字与所述待匹配字仍不一致时,结束本方法的操作。
本发明还公开了一种多模式下匹配字符串的系统,包括:
存储单元,存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;
匹配单元,当接收到字符串时,从所述字符串中提取出待匹配字,从所述存储单元所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则所述待匹配字匹配成功,否则匹配失败。
较佳地,上述系统中,所述存储单元,通过一个数组存储模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数,所述数组的值等于关键字在模式集中的位置序号。
较佳地,上述系统中,所述匹配单元从所述存储单元所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序 号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。
较佳地,上述系统中,所述匹配单元包括处理模块和更新模块:
所述处理模块,获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组Array中查找长度为L,首字母序号M、可容忍冲突数的值为0的数据元素,比较所查找到数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若当比较结果不一致,向所述更新模块发送更新通知,并从用于存储模式集信息的数组中找出所述更新模块更新的数据元素,若比较所查找到的数据元素对应的关键字与所述待匹配字是否一致;
所述更新模块,按照所述处理模块发送的更新通知,更新所要查找的数组元素,其中,更新的所要查找的数组元素的长度保持为L、首字母序号保持为M,可容忍冲突数的值为上一个所要查找的数组元素的可容忍冲突数的值加1。
较佳地,上述系统中,所述更新模块,更新所要查找的数组元素时,若更新操作次数达到设定次数时,则不再进行更新操作。
本申请技术方案通过构建hash表提供了一种快速匹配字符串的匹配方案,尤其针对小规模的模式集,通过对欲匹配字符串进行筛选,可以用极少的匹配次数完成字符串准确匹配。
附图说明
图1为本实施例中提取待匹配字后进行匹配的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本 申请的实施例和实施例中的特征可以任意相互组合。
实施例1
本案申请人考虑到可以按照模式集中关键字的长度和首字母对所要匹配的字符串先进行一次筛选,再对筛选后的字符串进行具体匹配,这样就避免了所要匹配的字符串与每一个模式都进行匹配,大大减少了匹配次数,缩短了匹配时间即提高了匹配效率。
基于上述思想,本实施例提供一种模式下匹配字符串的方法,包括:
事先存储模式集信息,该模式集信息至少包括各关键字的长度和其首字母序号;
具体地,可通过一个三维的数组来存储模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,这三个信息可以分别体现为数组的三个下标,即下标的值分别表示关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数。其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数,而每个数组元素的值等于关键字在模式集中的位置序号。
本实施例中,假设模式集为{“NULL”,“image”,“img”,“input”,“style”},则用于存放模式集信息的三维数组中第一维指示模式长度,例如模式“image”的长度为5,第二维是关键字的首字母“i”的序号,第三维为可容忍的冲突数,如“image”与“input”的长度都是5,首字母也都是“i”,则第一个出现的关键字“image”冲突值设为0,再次出现的依次加1,“input”冲突值为1。而数组值等于存储序号即关键字在模式集中的位置,如“image”的序号为2。
当需要匹配字符串时,从所收到的字符串中提取出待匹配字,再从事先存储的模式集信息中查找长度和首字母序号与待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,即待匹配字匹配成功,反之则匹配失败。其中,从需要匹配字符串中提取待匹配字时,可以空格或标点为分隔符为界提取待匹配字,所提取的待匹配字可能是某个文件的名字,也可能是某个Web页面的脚本,具体根据使用者的 要求所定。
需要说明的是,从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,要将所查找到的多个关键字依次与待匹配字进行比较。
具体操作是,获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组Array中查找长度为L,首字母序号M、可容忍冲突数的值为0的数据元素,即提取Array[L][M][0],若Array[L][M][0]为-1(本实施例中设置数据元素的初始值为-1,即表示该数组中不存在长度L、首字母序号M的关键字),说明长度或首字母序号不匹配,结束此匹配过程,否则根据所查找到的数组元素的值从模式集中提取出对应的关键字,比较所提取出的关键字与所述待匹配字是否一致,当比较结果不一致时,则更新所要查找的数组元素的下标,查找更新后的数组元素,若更新的数据元素的值不为-1,则根据所查找到的数组元素的值从模式集中提取出对应的关键字,比较所提取出的关键字与所述待匹配字是否一致,其中,更新后的数组元素的下标中长度保持为L、首字母序号保持为M,可容忍冲突数的值为上一个所要查找的数组元素下标中可容忍冲突数的值加1。
为了避免重复进行的更新操作对匹配效率有所影响,故优选方案中提出,更新数组下标时,若更新操作次数达到设定次数(本实施例设定次数为3)时,所提取出的关键字与所述待匹配字仍不一致时,就结束整个流程。
下面以模式集{“NULL”,“image”,“img”,“input”,“style”}、待匹配字符串“fragment”,“ice”,“inner”为例,说明按照上述方法匹配字符串的具体过程,如图1所示,该过程包括如下步骤:
步骤100、构建数组;
该步骤中先初始化关键字的匹配数据缓冲区,对要筛选的关键字的数据按照如下条件进行预处理:
第一维,字符串长度:<=20*
第二维,字母序号:0-25*
第三维,可容忍冲突数:0-2*
将预处理后的数据存入一数组中,针对模式集{“NULL”,“image”,“img”,“input”,“style”}所构建的数组初始化如下:
hash[4][13][0]=1,
hash[5][8][0]=2,
hash[3][8][0]=3,
hash[5][8][1]=4,
hash[5][18][0]=5;
其他的数组元素值全部预设为-1。
步骤200、接收待匹配字符串,从中提取待匹配字;
从所接收到的字符串中提取出的待匹配字可能是某个文件的名字,也可能是某个Web页面的脚本,具体根据使用者的要求所定。
步骤300,从数组中查找待匹配字对应的数组元素,再将待匹配字与所查找到的数组元素对应的关键字进行比较,若比较结果一致,则匹配,否则匹配失败。
该步骤中,按照待匹配字长度和首字母序号进行预处理,从预处理的数组中获得对应的相同长度,相同首字母的关键字序号,如果取得的关键字序号不为-1,则继续比较字符串和提取出的关键字,最多比较设定次数(例如3次),就可以判断本字符串是否是特殊字符串。
以欲匹配字符串“fragment”,“ice”,“inner”为例。
“fragment”长度为8,首字母“f”对应于5,获取hash[8][5][0],在数组中hash[8][5][0]=-1,不符合模式集中的任一模式的长度和首字母,所以“fragment”匹配不成功。
“ice”长度为3,首字母“i”对应于8,获取hash[3][8][0]的值为3,从模式集中取得序号为3的模式为“img”,比较两个字符串“img”与“ice”,不相等,再获取hash[3][8][1]的值,为-1说明没有其他符合这个长度和首字母的模式,所以“ice”匹配不成功。
“inner”长度为5,首字母对应于8,获取hash[5][8][0]的值为2,从模式集中取得序号为2的模式为“image”,比较“image”与“inner”,不相等,再获取hash[5][8][1]的值为4,从模式集中取序号为4的模式为“input”,比较“input”与“inner”,不相等,再次获取hash[5][8][2]的值,发现为-1,所以“inner”匹配不成功。
从上述例子来看,由于每个字符串最多比较3次,就可以判断本字符串是否能与模式集中的某一模式匹配,对小规模的模式集来说,这是非常高效的。
实施例2
本实施例提供一种多模式下匹配字符串的系统,可实现上述实施例1的匹配方法,该系统包括存储单元和匹配单元。
存储单元,存储模式集信息,模式集信息至少包括各关键字的长度和其首字母序号;
其中,存储单元,可以通过一个数组存储模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数。其中,hash数组的值等于关键字在模式集中的位置序号。关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数。
匹配单元,当接收到字符串时,从中提取出待匹配字,从存储单元所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则所接收到的字符串匹配成功,否则匹配失败。
需要说明的是匹配单元从存储单元所存储的模式集信息中查找长度和首字母序号与待匹配字的长度和首字母序号均相同的关键字可能是一个也可能是多个,当是多个时,将所查找到的多个关键字依次与待匹配字进行比较。
考虑到从所存储的模式集信息中查找长度和首字母序号与待匹配字的长度和首字母序号均相同的关键字可能是多个,故另有一些方案中提出,匹配 单元可以分为处理模块和更新模块。
处理模块,获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组Array中查找长度为L,首字母序号M、可容忍冲突数的值为0的数据元素,即提取Array[L][M][0],若Array[L][M][0]为-1说明长度或首字母序号不匹配,结束此匹配过程,否则根据所查找到的元素值从模式集中提取出对应的关键字,比较所提取出的关键字与所述待匹配字是否一致,当比较结果不一致时,向所述更新模块发送更新通知,并从用于存储模式集信息的数组中找出所述更新模块更新的数据元素,若该数组元素的值不为-1,则根据所查找到的数据元素的值从模式集中提取出对应的关键字,比较所提取出的关键字与所述待匹配字是否一致;
更新模块,按照所述更新模块发送的更新通知,更新所要查找的数组元素的可容忍冲突数据的值,更新后的数组元素中长度保持为L、首字母序号保持为M,可容忍冲突数的值为上一个所要查找的数组元素中可容忍冲突数的值加1。
本实施例中,可以通过三个下标来指示各数组元素的关键字长度、关键字首字母序号,可容忍冲突数的值。这样,更新模块,更新所要查找的数据元素时,保持两个下标值不变,仅更新一个下标的值即可。也就是保持关键字长度和关键字首字母序号不变,更新可容忍冲突数的值。
由于更新操作过多可能会影响到匹配效率以及资源利用率,故优选方案中,更新模块更新所要查找的数组元素时,若更新操作次数达到设定次数时,则不再进行更新操作。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
从上述实施例可以看出,本申请技术方案在数组中添加了模式长度和模式首字母这一变量,与一般的匹配方案不同,在匹配字符串时先对这个字符串做一次筛选,按照字符串的长度和字符串的首字母,获得对应的数组元素值,也就是模式集中相同长度相同首字母的模式的序号,也就是按照长度和首字母先进行一次筛选,只有通过筛选的才继续进行匹配,这样就避免了字符串与每一个模式都进行匹配,大大减少了匹配次数,缩短了匹配时间。尤其针对小规模的模式集,采用该方案进行匹配效果极佳。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多模式下匹配字符串的方法,其特征在于,该方法包括:
存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;
当接收到字符串时,从所接收的字符串中提取出待匹配字,然后从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则此待匹配字匹配成功,否则匹配失败;
通过一个数组存储所述模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数。
2.如权利要求1所述的方法,其特征在于,
所述数组的值为关键字在模式集中的位置序号。
3.如权利要求2所述的方法,其特征在于,从所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。
4.如权利要求3所述的方法,其特征在于,从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较的过程如下:
获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数的值为0的数组元素,比较将所查找到的数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若比较结果不一致,则更新数组元素的可容忍冲突数再从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数为更新值的数组元素,比较所查找到的数组元素对应的关键字与所述待匹配字是否一致,其中,所述数组元素的可容忍冲突数的更新值为上一个所要查找的数组元素的可容忍冲突数的值加1。
5.如权利要求4所述的方法,其特征在于,
更新所要查找的数组元素时,若更新操作次数达到设定次数时,所提取出的关键字与所述待匹配字仍不一致时,结束本方法的操作。
6.一种多模式下匹配字符串的系统,其特征在于,该系统包括:
存储单元,存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;
匹配单元,当接收到字符串时,从所述字符串中提取出待匹配字,从所述存储单元所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则所述待匹配字匹配成功,否则匹配失败;
所述存储单元,通过一个数组存储模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数。
7.如权利要求6所述的系统,其特征在于,
所述数组的值等于关键字在模式集中的位置序号。
8.如权利要求7所述的系统,其特征在于,所述匹配单元从所述存储单元所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。
9.如权利要求8所述的系统,其特征在于,所述匹配单元包括处理模块和更新模块:
所述处理模块,获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组Array中查找长度为L,首字母序号M、可容忍冲突数的值为0的数组元素,比较所查找到数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若当比较结果不一致,向所述更新模块发送更新通知,并从用于存储模式集信息的数组中找出所述更新模块更新的数组元素,若比较所查找到的数组元素对应的关键字与所述待匹配字是否一致;
所述更新模块,按照所述处理模块发送的更新通知,更新所要查找的数组元素,其中,更新的所要查找的数组元素的长度保持为L、首字母序号保持为M,可容忍冲突数的值为上一个所要查找的数组元素的可容忍冲突数的值加1。
10.如权利要求9所述的系统,其特征在于,
所述更新模块,更新所要查找的数组元素时,若更新操作次数达到设定次数时,则不再进行更新操作。
CN201210064914.5A 2012-03-13 一种多模式下匹配字符串的方法及系统 Expired - Fee Related CN103309882B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210064914.5A CN103309882B (zh) 2012-03-13 一种多模式下匹配字符串的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210064914.5A CN103309882B (zh) 2012-03-13 一种多模式下匹配字符串的方法及系统

Publications (2)

Publication Number Publication Date
CN103309882A CN103309882A (zh) 2013-09-18
CN103309882B true CN103309882B (zh) 2016-11-30

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228133A (en) * 1990-10-01 1993-07-13 Carl Oppedahl Method to perform text search in application programs in computer by selecting a character and scanning the text string to/from the selected character offset position
CN1190216A (zh) * 1998-03-11 1998-08-12 英业达股份有限公司 实现不规则片语快速查找的方法
WO2010021376A1 (ja) * 2008-08-22 2010-02-25 日本電気株式会社 検索装置、検索方法およびプログラム
CN101853280A (zh) * 2010-05-19 2010-10-06 北京友录在线科技发展有限公司 一种手持设备中联系人查找方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5228133A (en) * 1990-10-01 1993-07-13 Carl Oppedahl Method to perform text search in application programs in computer by selecting a character and scanning the text string to/from the selected character offset position
CN1190216A (zh) * 1998-03-11 1998-08-12 英业达股份有限公司 实现不规则片语快速查找的方法
WO2010021376A1 (ja) * 2008-08-22 2010-02-25 日本電気株式会社 検索装置、検索方法およびプログラム
CN101853280A (zh) * 2010-05-19 2010-10-06 北京友录在线科技发展有限公司 一种手持设备中联系人查找方法

Similar Documents

Publication Publication Date Title
CN109445834B (zh) 基于抽象语法树的程序代码相似性快速比较方法
US7818303B2 (en) Web graph compression through scalable pattern mining
US9448999B2 (en) Method and device to detect similar documents
US10277613B2 (en) URL matching apparatus, URL matching method, and URL matching program
CN103324886B (zh) 一种网络攻击检测中指纹库的提取方法和系统
CN111869176B (zh) 用于恶意软件签名生成的系统和方法
US9251289B2 (en) Matching target strings to known strings
CN111740946B (zh) Webshell报文的检测方法及装置
CN106503557A (zh) 基于动态变换的sql注入攻击防御系统及防御方法
WO2014000305A1 (zh) 内容匹配方法和装置
CN103188267B (zh) 一种基于dfa的协议解析方法
CN103366120A (zh) 基于脚本的漏洞攻击图生成方法
McGahagan et al. A comprehensive evaluation of webpage content features for detecting malicious websites
CN103077208A (zh) 统一资源定位符匹配处理方法及装置
CN106844553A (zh) 基于样本数据的数据探测和扩充方法及装置
CN105335245B (zh) 故障存储方法和装置、故障查找方法和装置
CN110333990B (zh) 数据处理方法以及装置
CN103036848B (zh) 协议的逆向工程方法及系统
US8051060B1 (en) Automatic detection of separators for compression
CN106844338B (zh) 基于属性间依赖关系的网络表格的实体列的检测方法
CN103309882B (zh) 一种多模式下匹配字符串的方法及系统
CN102725754B (zh) 一种索引数据处理方法及设备
CN115242539B (zh) 基于特征融合的电网信息系统网络攻击检测方法及装置
CN108304467B (zh) 用于文本间匹配的方法
CN116029388A (zh) 基于增量学习的对抗样本检测方法、系统及设备和介质

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161130

Termination date: 20210313