[发明专利]NFA状态关系式的构建方法、字符串处理方法及装置有效
申请号: | 202010023744.0 | 申请日: | 2020-01-09 |
公开(公告)号: | CN111258960B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 王彬;覃永靖;程诗尧;马江波 | 申请(专利权)人: | 奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司 |
主分类号: | G06F16/14 | 分类号: | G06F16/14;G06F8/41 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 苗晓静 |
地址: | 100088 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | nfa 状态 关系式 构建 方法 字符串 处理 装置 | ||
本发明实施例提供一种NFA状态关系式的构建方法、字符串处理方法及装置,方法包括:获取用于进行字符串匹配的正则表达式;对所述正则表达式进行编译获得NFA状态关系式,对NFA状态关系式进行前缀,和/或后缀优化处理,获得优化后的NFA状态关系式。本发明实施例提供的一种NFA状态关系式的构建方法、字符串处理方法,通过对所述NFA状态关系式进行前后缀优化处理,获得优化后的NFA状态关系式,进而加快编译成DFA状态关系式,使所述DFA状态关系式降低状态数量和利用率,从而在对待匹配字符串进行匹配处理时,能够提升匹配速度,实现快速完成对网络包的安全检测。
技术领域
本发明涉及文本搜索技术领域,尤其涉及一种NFA状态关系式的构建方法、字符串处理方法及装置。
背景技术
在网络包检测技术领域中,需要对网络包中的字符进行搜索匹配,以达到对网络包的安全判断。一般采用正则表达式匹配,先将正则表达式编译为NFA(非确定有穷自动机)。然后,如果内存空间和执行时间允许,再将NFA转换为DFA(确定有穷自动机)。最后,根据匹配模式(“子串搜索”和“全文匹配”),执行匹配任务。但目前进行字符串匹配处理时,匹配速度较慢,无法实现快速完成对网络包的安全检测。
发明内容
针对现有技术存在的问题,本发明实施例提供一种NFA状态关系式的构建方法、字符串处理方法及装置。
第一方面,本发明实施例提供一种NFA状态关系式的构建方法,包括:
获取用于进行字符串匹配的正则表达式;
对所述正则表达式进行编译获得NFA状态关系式,对NFA状态关系式进行前缀,和/或后缀优化处理,获得优化后的NFA状态关系式。
进一步地,所述对NFA状态关系式进行前缀,和/或后缀优化处理,获得优化后的NFA状态关系式,包括:
获取NFA状态关系式的头部状态信息和非头部状态信息,根据所述头部状态信息和非头部状态信息对NFA状态关系式进行前缀优化;和/或,
获取NFA状态关系式的尾部状态信息和非尾部状态信息,根据所述尾部状态信息和非尾部状态信息对NFA状态关系式进行后缀优化;
基于经前缀优化处理后的NFA状态关系式,和/或经后缀优化处理后的NFA状态关系式,获得优化后的NFA状态关系式。
进一步地,所述获取NFA状态关系式的头部状态信息和非头部状态信息,根据所述头部状态信息和非头部状态信息对所述NFA状态关系式进行前缀优化,包括:
获取所述NFA状态关系式的头部状态信息,所述头部状态信息包括头字符类型、输入空跳转边列表和输出空跳转边列表;
获取所述NFA状态关系式的非头部状态信息,所述非头部状态信息包括输入空跳转边列表和区间跳转边列表;
确定所述头字符类型为非限定开头,则头部状态信息增设区间跳转边;
确定所述头部状态信息的输入空跳转边列表不存在空跳转边时,根据所述头部状态信息的输出空跳转边列表确定对应的非头部状态信息;
确定所述非头部状态信息的输入空跳转边列表有且只有一条空跳转边,以及确定所述非头部状态信息的区间跳转边列表有且只有一条区间跳转边且区间跳转边包含所有字符集,则删除区间跳转边,使所述非头部状态信息对应的非头部状态与所述头部状态信息对应的头部状态合并,以完成前缀优化。
进一步地,所述获取NFA状态关系式的尾部状态信息和非尾部状态信息,根据所述尾部状态信息和非尾部状态信息对NFA状态关系式进行后缀优化,包括:
获取所述NFA状态关系式的尾部状态信息,所述尾部状态信息包括输出非自身空跳转边列表、输出非自身跳转边列表、区间跳转边和输入空跳转边列表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司,未经奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010023744.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据资源添加方法及装置
- 下一篇:一种虚拟网络的攻击面转移方法及系统