当前位置: 首页 > 专利查询>清华大学专利>正文

一种大规模多关键词精确匹配算法的性能测试方法及系统技术方案

技术编号:4250758 阅读:387 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出了一种大规模多关键词精确匹配算法的性能测试系统,所述系统包括如下模块:测试数据产生模块,具体包括:随机关键词生成子模块,随机文本数据生成子模块;待匹配文本生成子模块;关键词集合预处理性能测试模块,具体包括:匹配算法预处理接口调用子模块,测试信息生成子模块。本发明专利技术解决了不同网络信息安全设备之间的接口标准和互操作访问问题,实现他们之间的协同工作和联动,最终实现各网络信息安全设备的无缝集成。它能够对各种多关键词精确匹配算法的性能指标进行测试。?

【技术实现步骤摘要】

本专利技术涉及计算机数据处理性能测试领域,尤其涉及一种大规模多关键词精确匹配算法的性能测试方法。
技术介绍
多关键词匹配又称为多模式匹配,是计算机科学领域中的基本问题之一。其需要 解决的问题就是快速而准确地判断待测文本或者网络内容中所有出现任意模式的位置。多 模式匹配技术的应用领域非常广泛,除了已经得到广泛应用的防火墙、入侵检测与防御、病 毒检测和网络内容过滤等网络安全领域,还扩展到其它学科和领域,例如信息管理、网络搜 索引擎和生物信息学当中的基因序列检测等。因此,研究和发展多关键词匹配及其相关技 术具有很强的学术和实际意义,被相关的学术和业界所关注。 多关键词匹配技术已经存在许多经典算法,基于跳跃的Wu-Manber算法、基于有 限状态自动机思想的Aho-Corasick算法和AC-BM算法、基于因子模式的SBOM算法等等。近 些年来,随着应用要求对关键词数量地不断增加和对处理速度地不断加快,又提出了很多 改进的多关键词匹配算法。如此多的多关键词匹配算法,其性能评价标准都有那些呢?多 关键词匹配算法一般包括两个阶段预处理阶段和搜索阶段。各匹配算法的预处理阶段一 般是要完成对关键词集合的预处理;由于各匹配算法不同,其预处理阶段要做的预处理工 作有所不同,如Wu-Manber算法在预处理阶段主要就是建立三个表跳跃表、哈希表和前缀 表;而Aho-Corasick算法则是建立有限状态自动机。预处理阶段只需要执行一次, 一旦关 键词集合确定下来就不再改变。因此,在预处理阶段主要的性能评价标准是预处理时间和 存储空间占用量。算法的搜索阶段主要完成对输入文本或实时数据的匹配工作,搜索阶段 对输入文本或实时数据的处理速度,也就是算法的匹配速度是这个阶段的主要评价标准。 那么总的来说,多关键词匹配算法的性能评价标准主要就是匹配速度、预处理时间和存储 空间占用情况。 在已有的多关键字精确匹配算法中,有的算法具有很好的匹配速度,但随着关键 词的增加,存储空间消耗呈指数级增长,如Aho-Corasick算法;有的算法虽然消耗的存储 空间能够接受,预处理时间却较长,随着关键词的不断增加,预处理时间达到无法接受的程 度,如SB0M算法;有的匹配算法预处理时间、空间占用和匹配速度都不错,但是存在着算法 的最坏情况,当最坏情况出现时算法匹配速度非常低,如Wu-Manber算法。上面只是定性地 对各算法进行大概的评价,没有一个定量的性能评价和比较。针对不同的应用,对匹配算法 时间和空间特性的要求有所不同,总体上来看,绝大多数应用都会综合考虑匹配算法的时 间和空间特性,选择最合适的匹配算法。那么在为应用选择匹配算法或考察新的改进算法 时,如何比较各匹配算法的性能?又如何评价一个算法是否优于其他各匹配算法?到目前 为止还没有一个统一的测试评价方法。
技术实现思路
( — )要解决的技术问题 本专利技术的目的是要克服现有技术的不足,提供一种统一的大规模多关键词精确匹 配算法的性能测试方法及系统,它能够对各种多关键词精确匹配算法的性能指标进行测 试。( 二 )技术方案 针对以上问题,本专利技术提出的了一种大规模多关键词精确匹配算法的性能测试系统,所述系统包括如下模块 Fl :测试数据产生模块,具体包括 Fll :随机关键词生成子模块,用于生成随机关键词集合; F12 :随机文本数据生成子模块,用于生成随机文本数据; F13:待匹配文本生成子模块,用于将关键词集合插入到文本数据中,产生待匹配 文本; F2 :关键词集合预处理性能测试模块,具体包括 F21 :匹配算法预处理接口调用子模块,用于通过通用的匹配算法调用接口,调用 匹配算法的预处理接口; F22:测试信息生成子模块,用于以关键词集合作为输入文件,执行并生成关键词相应的数据结构,统计算法处理结果的关键信息,所述关键信息包括预处理时间和关键词生成的数据结构占用的最大内存信息; 其中,该系统还包括如下模块 F3 :匹配算法的搜索性能测试模块,具体包括 F31 :匹配算法搜索程序接口调用子模块,用于通过通用的匹配算法调用接口,调 用待测匹配算法的搜索程序接口; F32 :搜索程序扫描子模块,用于以经模块F2处理结束后生成的数据结构作为输 入,执行待测匹配算法的搜索程序,对待匹配文本文件进行扫描; F33 :测试信息生成子模块,用于记录待匹配文本中出现的关键词编号和在文本中 出现的位置,将这些信息保存到输出结果文件中,同时记录搜索时间和搜索过程中使用的 最大内存信息; 其中,该系统还包括如下模块 F4 :验证搜索结果和生成统计报告模块,具体包括 统计结果生成子模块,用于经模块F2和F3的处理之后,把预期结果数据信息和实 际测试结果数据作为输入进行比较,验证算法的正确性,然后经模块F2和F3的处理之后产生的性能信息一起作为输入,进行统计并输出测试结果。。 (三)有益效果 采用本专利技术的大规模多关键词精确匹配算法的性能测试系统,可以产生并使用具 有不同特性的关键词集合和待匹配文本数据来对不同的大规模多关键词匹配算法作测试, 由于本专利技术建立了一个统一的架构平台,所有多关键字精确匹配算法都可以通过本平台来 测试,这样便可以公平合理的对各种算法、设计的性能、效率做定量的评价。附图说明 图1是本专利技术中的评估测试平台框架图; 图2是本专利技术中测试数据产生模块原理结构图; 图3是本专利技术中匹配算法测试模块模型图。具体实施例方式本专利技术提出的一种大规模多关键词精确匹配算法的性能测试方法及系统,结合附 图和实施例说明如下。以下实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关技术 领域的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变 型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由各权利要 求限定。 如图1所示为通用多关键字精确匹配算法评估测试平台框架图,测评平台由两部 分组成,测试数据产生部分和匹配算法性能测试部分。测试数据产生部分由三个子模块组 成,执行生成关键词集合及待匹配文本数据的功能;匹配算法性能测试部分包括三个子模 块和一个通用的匹配算法调用接口 。 本专利技术是用于文本数据或网络内容分析的统一多关键词匹配算法的评估测试平 台。具体实施包括两个步骤,第一步是测试数据产生阶段,包括关键词集合和待匹配文本数 据的产生。第二步是匹配算法测试阶段,通过通用接口执行匹配算法,测试匹配算法的预 处理阶段和搜索阶段的性能指标,根据统计出来的性能指标得到各匹配算法实际的性能情 况。下面详细说明本专利技术各阶段的具体内容。 首先是测试数据产生阶段,该模块原理结构图如图2所示,由三个子模块组成关 键词集生成器、随机文本生成器、测试文本合成器。关键词集生成器可根据输入的配置文件 内容生成具有指定特性的关键词集合;随机文本生成器生成随机的文本信息,作为最终待 匹配文本数据产生数据源;测试文本合成器根据输入的配置文件、关键词集合和随机文本 生成具有某种特性的待匹配文本数据。 该阶段的详细步骤如下 1、读入配置信息文件configure,此配置文件中可设置的参数及其含义如表1所不; 表1生成数据源的可配置参数说明表 配置项类型配置项说明randseed整数随机种子,产生随机数用本文档来自技高网
...

【技术保护点】
一种大规模多关键词精确匹配算法的性能测试方法,其特征在于,所述方法包括如下步骤:S1:测试数据产生步骤,具体包括:S11:生成随机关键词集合;S12:生成随机文本数据;S13:将关键词集合插入到文本数据中,产生待匹配文本;S2:关键词集合预处理性能测试步骤,具体包括:S21:通过通用的匹配算法调用接口,调用匹配算法的预处理接口;S22:以关键词集合作为输入文件,执行并生成关键词相应的数据结构,统计算法处理结果的关键信息,所述关键信息包括预处理时间和关键词生成的数据结构占用的最大内存信息;。

【技术特征摘要】
一种大规模多关键词精确匹配算法的性能测试方法,其特征在于,所述方法包括如下步骤S1测试数据产生步骤,具体包括S11生成随机关键词集合;S12生成随机文本数据;S13将关键词集合插入到文本数据中,产生待匹配文本;S2关键词集合预处理性能测试步骤,具体包括S21通过通用的匹配算法调用接口,调用匹配算法的预处理接口;S22以关键词集合作为输入文件,执行并生成关键词相应的数据结构,统计算法处理结果的关键信息,所述关键信息包括预处理时间和关键词生成的数据结构占用的最大内存信息;2. 如权利要求1所述的大规模多关键词精确匹配算法的性能测试方法,其特征在于,所述方法还包括如下步骤S3 :匹配算法的搜索性能测试步骤,具体包括S31 :通用的匹配算法调用接口,调用待测匹配算法的搜索程序接口 ;S32 :以步骤S2执行结束后生成的数据结构作为输入,执行待测匹配算法的搜索程序, 对待匹配文本文件进行扫描;S33 :记录待匹配文本中出现的关键词编号和在文本中出现的位置,将这些信息保存到 输出结果文件中,同时记录搜索时间和搜索过程中使用的最大内存信息;3. 如权利要求1所述的大规模多关键词精确匹配算法的性能测试方法,其特征在于, 所述方法还包括如下步骤S4 :验证搜索结果和生成统计报告步骤,具体包括在完成步骤S2和S3之后,把预期结果数据信息和实际测试结果数据作为输入进行比较,验证算法的正确性,然后把步骤S2和S3产生的性能信息一起作为输入,进行统计并输 出测试结果。4. 一种大规模多关键词精确匹配算法的性能测试系统,其特征在于,所述系统包括如下模块Fl :测试数据产生模块,具体包括Fll :随机关键词生成子模块,用...

【专利技术属性】
技术研发人员:薛一波李雪
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1