[发明专利]基于有限状态自动机的字符串匹配方法及内容过滤设备无效

专利信息
申请号: 200910226279.4 申请日: 2009-11-27
公开(公告)号: CN101876986A 公开(公告)日: 2010-11-03
发明(设计)人: 黄凯明 申请(专利权)人: 福建星网锐捷网络有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京同达信恒知识产权代理有限公司 11291 代理人: 郭润湘
地址: 350002 福建省福州市仓*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 有限 状态 自动机 字符串 匹配 方法 内容 过滤 设备
【说明书】:

技术领域

发明涉及检索技术领域,尤指一种基于有限状态自动机(DeterministicFinite State Automaton,DFA)的字符串匹配方法及内容过滤设备。

背景技术

Aho-Corasick算法于1975年由贝尔实验室的Aho和Corasick在《EfficientString Matching:An Aid to Bibliographic Search》中提出,其核心是一个涵盖所有查询关键字的有限状态自动机(Deterministic Finite State Automaton,DFA)。待搜索的数据库中的每个字符逐个输入到DFA中,当某个查询关键字命中,DFA输出报告。可用于字符串匹配、文本检索、网络数据流深度内容过滤、入侵检测、网络防毒等领域中。

通过Aho-Corasick算法得到DFA的过程中,需要构造三个函数:GOTO,FAILURE和OUTPUT。构造这三个函数的流程包括:

1.1构造GOTO函数。

该过程需要输入的是:要查询的关键字集合。例如:输入的关键字集合是K={y1,y2,...,yk}。

输出的是:GOTO函数和部分完成的OUTPUT函数。

1.2构造FAILURE函数。

该过程需要输入的是:上述过程1.1中得到的GOTO函数及部分完成的OUTPUT函数。

输出的是:FAILURE函数和完成的OUTPUT函数。

1.3构造OUTPUT函数。

该过程将GOTO函数和FAILURE函数进一步合并,得到DFA。

所以该过程输入的是:上述过程1.1中得到的GOTO函数及过程1.2中得到的FAILURE函数。

输出的是:构造完成的DFA。

假设需要在一个字符串数据库中搜索4个关键字,分别是:HE,SHE,HIS和HERZWXY。则在流程1.1中输入K={HE,SHE,HIS,HERZWXY},经过步骤1.1、1.2、1.3的构建过程,得到包含输入前状态(即当前状态)、输入字符与对应输出的输出状态的对应关系的DFA,如表1所示。

表1

  当前状态  输入字符  下一状态  0  H  1

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星网锐捷网络有限公司,未经福建星网锐捷网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910226279.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top