[发明专利]针对压缩流量的多字符串匹配方法有效
申请号: | 201710354909.0 | 申请日: | 2017-05-18 |
公开(公告)号: | CN107277109B | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 胡成臣;孙秀文;李昊 | 申请(专利权)人: | 西安交通大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06K9/62 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 强宏超 |
地址: | 710049 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 压缩 流量 多字 匹配 方法 | ||
1.针对压缩流量的多字符串匹配系统,其特征在于:核心部件是压缩流量字符串匹配引擎(101),其包括解码模块(1011)、匹配模块(1012)和字符串匹配自动机(1013)三个处理模块,以及处理过程所需的状态记录模块(1014);
解码模块(1011)对采用gzip或DEFLATE方法压缩的内容进行哈夫曼解码,解码使得不以字节为边界的压缩流量(102),变为以字节为边界的字符内容和编码字符串;
匹配模块(1012)使用字符串匹配自动机(1013)直接扫描解码后的字符内容,对编码字符串进行分类处理;
字符串匹配自动机(1013),使用现有的多字符串匹配算法,通过算法构建匹配自动机,以扫描文本字符串,输出结果;
状态记录模块(1014),保存该引擎工作过程所使用的状态、参数信息;
压缩流量字符串匹配引擎(101)使用待匹配字符串(103)构建字符串匹配自动机(1013),之后对压缩流量(102)字节内容进行扫描、匹配,输出匹配结果(104);
匹配模块(1012)对编码字符串进行分类处理,依据待匹配字符串(103)与编码字符串之间的位置关系,将编码字符串分为三种类别进行处理,分类规则为:
前缀:待匹配字符串起始于编码字符串之前,而不限结束于何处;
包含:待匹配字符串完全处于编码字符串之中;
后缀:待匹配字符串起始于编码字符串,但不完全处于其中;
压缩流量字符串匹配引擎(101)的匹配模块(1012)对编码字符串进行分类处理的过程如下:
(1)判断是否有前缀情况出现,如有,从编码字符串的开始位置继续进行之前的扫描;否则,结束对是否有前缀情况出现的判断处理;
(2)判断是否有完整的待匹配字符串位于编码字符串中,如有,保存该字符串结束的位置和长度等匹配信息;否则,结束是否有完整的待匹配字符串位于编码字符串中的判断处理;
(3)判断有无后缀情况出现,如有,向前回溯距离为当前自动机结点深度的字节数,之后开始新的自动机匹配扫描;否则,结束有无后缀情况出现的判断处理。
2.根据权利要求1所述的针对压缩流量的多字符串匹配系统,其特征在于,具体包括以下步骤:
(1)构造匹配引擎:首先,根据选取的字符串匹配算法,解析待匹配字符串(103),构造匹配所用的字符串匹配自动机(1013),之后申请存储空间,保存处理过程的状态记录数据;
(2)解码:读取压缩流量(102)数据,根据不同类型数据,使用静态哈夫曼编码,或者构造哈夫曼编码树,解析压缩数据,将压缩数据解码为两类:字符内容和编码字符串;
(3)匹配:对于解码后的字符内容,直接使用匹配自动机进行扫描;对于编码字符串,进行分类处理,扫描和处理过程中,随时更新状态记录数据和匹配结果(104);
(4)重复步骤(2)-(3),直至处理完所有压缩流量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710354909.0/1.html,转载请声明来源钻瓜专利网。