发明名称 一种对正则式DFA分组的方法
摘要 本发明提供了一种对正则式DFA分组的方法。A、对所有的正则式两两分组,生成两两之间的状态和;B、将所有正则式置于第一组,置失败标志为0;C、对步骤A的状态和进行排序,在第一组中找出两两之和最大的正则式a;D、将正则式a置于第二组;E、对第二组的正则式生成DFA,如果在DFA状态数目约束条件下生成成功,判断失败标志,如果为0,转到步骤C,如果为1,跳转至步骤G;如果失败则将a置成第三组,置失败标志为1,转到步骤C;F、循环操作步骤C、D、E,直到依次所有正则式都尝试结束;G、将第三组中的正则式放到第一组中,尝试对第一组生成DFA,若成功,则分组结束,若失败则可对第三组重新分组,转到步骤A。本发明利用探测淘汰策略,实现了对正则式的最少分组,实现了在DFA状态数目约束下,生成DFA状态的最大化,可以实现对正则式的高效匹配。
申请公布号 CN102111402B 申请公布日期 2015.06.10
申请号 CN201010608744.3 申请日期 2010.12.17
申请人 曙光信息产业(北京)有限公司 发明人 李锋伟;刘朝辉;刘灿;刘兴奎
分类号 H04L29/06(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京安博达知识产权代理有限公司 11271 代理人 徐国文
主权项 一种适应于网络信息处理的正则式DFA分组的方法,其特征在于:包括以下步骤:A、对所有的正则式两两分组,生成两两之间的状态和;B、将所有正则式置于第一组,置失败标志为0;C、对步骤A的状态和进行排序,在第一组中找出两两之和最大的正则式a;D、将正则式a置于第二组;E、对第二组的正则式生成DFA,如果在DFA状态数目约束条件下生成成功,判断失败标志,如果为0,转到步骤C,如果为1,跳转至步骤G;如果失败则将a置成第三组,置失败标志为1,转到步骤C;F、循环操作步骤C、D、E,直到依次所有正则式都尝试结束;G、将第三组中的正则式放到第一组中,尝试对第一组生成DFA,若成功,则分组结束,若失败则可对第三组重新分组,转到步骤A。
地址 100084 北京市海淀区水磨西街64号