[发明专利]一种关键词匹配方法和系统有效
申请号: | 200710175751.7 | 申请日: | 2007-10-11 |
公开(公告)号: | CN101140593A | 公开(公告)日: | 2008-03-12 |
发明(设计)人: | 谭建龙;刘燕兵;刘萍;郭莉 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京泛华伟业知识产权代理有限公司 | 代理人: | 王勇 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关键词 匹配 方法 系统 | ||
技术领域
本发明涉及文本处理技术领域,特别是一种关键词匹配方法和系统。
背景技术
在计算机科学领域,串匹配算法一直都是研究焦点之一。在拼写检查、语言翻译、数据压缩、搜索引擎、网络入侵检测、计算机病毒特征码匹配以及DNA序列匹配等应用中,都需要进行串匹配。近年来,随着待处理信息量的不断增强和实时处理的紧迫需求,对串匹配算法的性能提出了更新的挑战,由此出现了各种对经典算法的改进工作,新的算法和技术也层出不穷。
文献(Design and Implementation of a String Matching System for NetworkIntrusion Detection using FPGA-based Bloom Filters,Sarang Dharmapurikar,Michael Attig,John W.Lockwood,Washington University Dept.of ComputerScience and Engineering:Technical Report WUCS-2004-012,2004.)公开了一种采用布隆过滤器(bloom-filter)模式进行串匹配的方法。该方法构造一个过滤散列表,对于每个过滤散列函数,它要访问的地址空间都是整个过滤散列表,所以该方法的执行速度较慢。其次,该方法是将关键词集合按长度进行分组,每一组作为一个单位进行处理,因而需要进行多趟扫描或者并行处理。在实际应用中,关键词长度变化的范围通常是很大的,按照该方法需要将关键词集合分成很多组。如果关键词集合被分成了K(比如K=100)组,那么该方法要么对文本扫描K趟,要么使用K倍的计算资源并通过并行处理来达到一趟扫描的效果,前者(多趟扫描)效率较低,而后者(并行处理)成本较高。另外,因为所需存储容量较大,每个处理引擎只能处理1419个关键词,即使采用10个处理引擎的并行,也才能处理1.5万个关键词。如果采用更多的并行,不仅会增加硬件成本,而且系统的可实现性也是个大问题。所以该文献的系统不适合处理大规模关键词。
发明内容
随着计算机和网络应用的普及,为了满足关键词快速匹配的需求,尤其是实时数据处理的需求本发明提供了一种关键词匹配的方法和系统;另外为了满足数据处理量日益增大的需求,克服存储容量的限制,本发明也提供了一种节约内存的大规模关键词匹配的方法和系统。
根据本发明的一个方面,提供了一种关键词匹配方法,包含如下步骤:
1)读入关键词文件;
2)统计关键词个数;
3)设置多个过滤散列表的掩码或大小并设置一个校验散列表的掩码或大小;
4)根据上述关键词、过滤散列表掩码或大小和校验散列表掩码或大小构造该过滤散列表和该校验散列表;
5)根据上述过滤散列表和校验散列表对输入的文本进行扫描匹配。
根据本发明的另一方面,上述步骤4)进一步包含如下步骤:
1)选择从关键词每个字节中抽取的位数;
2)初始化该过滤散列表和该校验散列表;
3)根据从关键词每个字节抽取位数内的内容、过滤散列表掩码或大小和所述校验散列表掩码或大小,构造该过滤散列表和该校验散列表。
根据本发明的再一方面,上述关键词匹配方法的步骤5)进一步包含如下步骤:
1)读取文本数据;
2)依据当前文本数据计算过滤散列值,根据该值判断该数据是否可能与关键词匹配;
3)如果可能匹配,计算校验散列表的散列值,进而对该文本进行校验。
根据本发明的再一方面,上述依据当前文本数据计算过滤散列值,根据该值判断该数据是否可能与关键词匹配的操作采用递推的方式。
根据本发明的再一方面,提供了一种关键词匹配系统,包含:
关键词集合规范化装置,其用于读入关键词文件,统计关键词个数,设置多个过滤散列表的掩码或大小并设置一个校验散列表的掩码或大小;
关键词集合预处理装置,其用于针对上述关键词集合规范化装置读入的关键词根据上述过滤散列表掩码或大小和校验散列表掩码或大小构造该过滤散列表和该校验散列表;
扫描匹配装置,其根据所述关键词集合预处理装置构造的过滤散列表和校验散列表对输入的文本进行扫描匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710175751.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体器件栅极的制造方法
- 下一篇:网板