[发明专利]基于AC自动机和后缀树的字符串匹配方法无效

专利信息
申请号: 201210488427.1 申请日: 2012-11-26
公开(公告)号: CN103023883A 公开(公告)日: 2013-04-03
发明(设计)人: 陈新明;李军 申请(专利权)人: 清华大学
主分类号: H04L29/06 分类号: H04L29/06;G06F17/30
代理公司: 北京路浩知识产权代理有限公司 11002 代理人: 王莹
地址: 100084 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 ac 自动机 后缀 字符串 匹配 方法
【权利要求书】:

1.一种基于AC自动机和后缀树的字符串匹配方法,其特征在于,所述方法包括:

S1、将特征字符串编译成AC自动机;

S2、将特征字符串的后缀集合编译成后缀树;

S3、每当有一个数据包进入网络安全设备时,根据所述AC自动机对所述数据包进行匹配,并利用所述后缀树保存匹配状态;

S4、若匹配成功,则丢弃所述数据包。

2.根据权利要求1所述的方法,其特征在于,当所述数据包按序进入时,则步骤S3具体包括:

S31、当接收到当前按序数据包时,搜索所述当前按序数据包的前一个数据包的记录是否存在;

S32、根据所述当前按序数据包的前一个数据包的记录是否存在判定所述当前按序数据包的状态编号;

S33、根据所述AC自动机,从所述当前按序数据包的状态编号开始对所述当前按序数据包进行匹配。

3.根据权利要求2所述的方法,其特征在于,步骤S32具体包括:

若所述当前按序数据包的前一个数据包的记录存在,则将所述当前按序数据包的前一个数据包的状态编号作为所述当前按序数据包的状态编号;

若所述当前按序数据包的前一个数据包的记录不存在,则所述当前按序数据包的状态编号为0。

4.根据权利要求1所述的方法,其特征在于,当所述数据包乱序进入时,则步骤S3具体包括:

S31’、在接收当前乱序数据包之前,搜索所述当前乱序数据包的后一个数据包的后缀树记录是否存在,并检测所述当前乱序数据包的后一个数据包的头部是否为所述后缀树中的一个后缀;

S32’、若所述当前乱序数据包的后一个数据包的后缀树记录存在,且检测到所述当前乱序数据包的后一个数据包的头部是所述后缀树中的一个后缀时,则保存所述后缀树在所述后缀上的后缀树编号;

S33’、当接收到所述当前乱序数据包时,对所述后缀树在所述后缀上的后缀树编号上进行回溯;

S34’、将回溯得到的后缀添加到所述当前乱序数据包的尾部,根据所述AC自动机对重组后的所述当前乱序数据包进行匹配。

5.根据权利要求4所述的方法,其特征在于,所述步骤S31’还包括搜索所述当前乱序数据包的前一个数据包的后缀树记录是否存在:

若所述当前乱序数据包的前一个数据包的后缀树记录存在,且所述当前乱序数据包的前一个数据包为所述后缀的一部分,则所述当前乱序数据包的后缀树编号为所述当前乱序数据包的前一个数据包的后缀树编号;

若所述当前乱序数据包的前一个数据包的后缀树记录存在,且所述当前乱序数据包的前一个数据包不是所述后缀的一部分,则所述当前乱序数据包的后缀树编号为所述当前乱序数据包的前一个数据包的后缀树编号。

6.根据权利要求4所述的方法,其特征在于,所述步骤S32’中所述若所述当前乱序数据包的后一个数据包的后缀树记录存在,且检测所述当前乱序数据包的后一个数据包不是后缀的一部分,则将所述当前乱序数据包的后一个数据包重组到所述当前乱序数据包进行匹配,且重组后的当前乱序数据包的状态编号为所述当前乱序数据包的后一个数据包的状态编号。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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