[发明专利]一种大规模多关键词精确匹配算法的性能测试方法及系统有效
| 申请号: | 200910236817.8 | 申请日: | 2009-10-30 |
| 公开(公告)号: | CN101714166A | 公开(公告)日: | 2010-05-26 |
| 发明(设计)人: | 薛一波;李雪 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 胡小永 |
| 地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 大规模 关键词 精确 匹配 算法 性能 测试 方法 系统 | ||
技术领域
本发明涉及计算机数据处理性能测试领域,尤其涉及一种大规模 多关键词精确匹配算法的性能测试方法。
背景技术
多关键词匹配又称为多模式匹配,是计算机科学领域中的基本问 题之一。其需要解决的问题就是快速而准确地判断待测文本或者网络 内容中所有出现任意模式的位置。多模式匹配技术的应用领域非常广 泛,除了已经得到广泛应用的防火墙、入侵检测与防御、病毒检测和 网络内容过滤等网络安全领域,还扩展到其它学科和领域,例如信息 管理、网络搜索引擎和生物信息学当中的基因序列检测等。因此,研 究和发展多关键词匹配及其相关技术具有很强的学术和实际意义,被 相关的学术和业界所关注。
多关键词匹配技术已经存在许多经典算法,基于跳跃的 Wu-Manber算法、基于有限状态自动机思想的Aho-Corasick算法和 AC-BM算法、基于因子模式的SBOM算法等等。近些年来,随着应 用要求对关键词数量地不断增加和对处理速度地不断加快,又提出了 很多改进的多关键词匹配算法。如此多的多关键词匹配算法,其性能 评价标准都有那些呢?多关键词匹配算法一般包括两个阶段:预处理 阶段和搜索阶段。各匹配算法的预处理阶段一般是要完成对关键词集 合的预处理;由于各匹配算法不同,其预处理阶段要做的预处理工作 有所不同,如Wu-Manber算法在预处理阶段主要就是建立三个表:跳 跃表、哈希表和前缀表;而Aho-Corasick算法则是建立有限状态自动 机。预处理阶段只需要执行一次,一旦关键词集合确定下来就不再改 变。因此,在预处理阶段主要的性能评价标准是预处理时间和存储空 间占用量。算法的搜索阶段主要完成对输入文本或实时数据的匹配工 作,搜索阶段对输入文本或实时数据的处理速度,也就是算法的匹配 速度是这个阶段的主要评价标准。那么总的来说,多关键词匹配算法 的性能评价标准主要就是匹配速度、预处理时间和存储空间占用情 况。
在已有的多关键字精确匹配算法中,有的算法具有很好的匹配速 度,但随着关键词的增加,存储空间消耗呈指数级增长,如 Aho-Corasick算法;有的算法虽然消耗的存储空间能够接受,预处理 时间却较长,随着关键词的不断增加,预处理时间达到无法接受的程 度,如SBOM算法;有的匹配算法预处理时间、空间占用和匹配速度 都不错,但是存在着算法的最坏情况,当最坏情况出现时算法匹配速 度非常低,如Wu-Manber算法。上面只是定性地对各算法进行大概的 评价,没有一个定量的性能评价和比较。针对不同的应用,对匹配算 法时间和空间特性的要求有所不同,总体上来看,绝大多数应用都会 综合考虑匹配算法的时间和空间特性,选择最合适的匹配算法。那么 在为应用选择匹配算法或考察新的改进算法时,如何比较各匹配算法 的性能?又如何评价一个算法是否优于其他各匹配算法?到目前为 止还没有一个统一的测试评价方法。
发明内容
(一)要解决的技术问题
本发明的目的是要克服现有技术的不足,提供一种统一的大规模 多关键词精确匹配算法的性能测试方法及系统,它能够对各种多关键 词精确匹配算法的性能指标进行测试。
(二)技术方案
针对以上问题,本发明提出的了一种大规模多关键词精确匹配算 法的性能测试系统,所述系统包括如下模块:
F1:测试数据产生模块,具体包括:
F11:随机关键词生成子模块,用于生成随机关键词集合;
F12:随机文本数据生成子模块,用于生成随机文本数据;
F13:待匹配文本生成子模块,用于将关键词集合插入到文本 数据中,产生待匹配文本;
F2:关键词集合预处理性能测试模块,具体包括:
F21:匹配算法预处理接口调用子模块,用于通过通用的匹配 算法调用接口,调用匹配算法的预处理接口;
F22:测试信息生成子模块,用于以关键词集合作为输入文件, 执行并生成关键词相应的数据结构,统计算法处理结果的关键信 息,所述关键信息包括预处理时间和关键词生成的数据结构占用 的最大内存信息;
其中,该系统还包括如下模块:
F3:匹配算法的搜索性能测试模块,具体包括:
F31:匹配算法搜索程序接口调用子模块,用于通过通用的匹 配算法调用接口,调用待测匹配算法的搜索程序接口;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910236817.8/2.html,转载请声明来源钻瓜专利网。





