[发明专利]一种对正则式DFA分组的方法有效
申请号: | 201010608744.3 | 申请日: | 2010-12-17 |
公开(公告)号: | CN102111402A | 公开(公告)日: | 2011-06-29 |
发明(设计)人: | 李锋伟;刘朝辉;刘灿;刘兴奎 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100084 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 dfa 分组 方法 | ||
技术领域
本发明涉及网络安全领域,具体涉及一种对正则式DFA分组的方法。
背景技术
正则表达式在网络信息处理领域有广泛的应用,比如协议识别、入侵检测等。在DFA状态数目约束条件下,正则式的分组一般都采取按照顺序尝试对正则式分组,生成DFA。这样的分组策略不能获得对正则式的最少分组,生成的DFA不是较大的分组,实现不了正则式的高效匹配。尤其在计算机资源有限制的条件下,利用这种分组策略有时无法实现对所有的正则式分组。该方法可以实现对DFA分组的最大化,实现正则式的高效匹配。
发明内容
本发明目的是提供一种对正则式DFA分组的方法。
一种对正则式DFA分组的方法,:包括以下步骤:
A、对所有的正则式两两分组,生成两两之间的状态和;
B、将所有正则式置于第一组,置失败标志为0;
C、对步骤A的状态和进行排序,在第一组中找出两两之和最大的正则式a:
D、将正则式a置于第二组;
E、对第二组的正则式生成DFA,如果在DFA状态数目约束条件下生成成功,判断失败标志,如果为0,转到步骤C,如果为1,跳出;如果失败则将a置成第三组,置失败标志为1,转到步骤C;
F、循环操作步骤C、D、E,直到依次所有正则式都尝试结束;
G、将第三组中的正则式放到第一组中,尝试对第一组生成DFA,若成功,则分组结束,若失败则可对第三组重新分组,转到步骤A。
本发明利用探测淘汰策略,实现了对正则式的最少分组,实现了在DFA状态数目约束下,生成DFA状态的最大化,可以实现对正则式的高效匹配。
附图说明
图1是本发明流程图
具体实施方式
(1)对所有的正则式两两分组,生成两两之间的状态和;
(2)将所有正则式置于第一组,置失败标志为0;
(3)对第一步中的状态和进行排序,在第一组中找出两两之和最大的正则式a;
(4)将正则式a置于第二组;
(5)对第二组的正则式生成DFA,如果在DFA状态数目约束条件下生成成功,判断失败标志,如果为0,转到第三步,如果为1,跳出;如果失败则将a置成第三组,置失败标志为1,转到第三步;
(6)循环操作第三、第四、第五步,直到依次所有正则式都尝试结束。
(7)将第三组中的正则式放到第一组中,尝试对第一组生成DFA。如果生成成功,则分组结束,如果失败可对第三组重新分组,转到第一步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010608744.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:提供与具有多个终端设备的用户的通信
- 下一篇:紫外光管道和末端件消毒器