[发明专利]DFA压缩方法及装置、正则表达式匹配方法及系统有效
申请号: | 201710124290.4 | 申请日: | 2017-03-03 |
公开(公告)号: | CN106980653B | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | 王凯;李军 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;H04L29/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 汤财宝 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 暂无信息 | 说明书: | 暂无信息 |
摘要: | 本发明提供了DFA压缩方法及装置、正则表达式匹配方法及系统,包括:根据正则表达式集合构造DFA,所述DFA包括:字符、状态和每个状态各自对应于每个字符的转移,对应于每个字符,所述转移从当前状态指向与该字符相应的一个状态;根据所述DFA中的相同转移对状态和转移进行标记,其中所述相同转移为指向同一状态的转移;根据所述状态的标记和所述转移的标记对所述DFA进行压缩。本发明通过对DFA中的状态和状态的转移进行标记,根据状态的标记和转移的标记对所述DFA进行压缩,在不影响查找速率的情况下能达到较高的压缩率,使DFA占用更少内存。 | ||
搜索关键词: | dfa 压缩 方法 装置 正则 表达式 匹配 系统 | ||
【主权项】:
1.一种DFA压缩方法,其特征在于,包括:根据正则表达式集合构造DFA,所述DFA包括:字符、状态和每个状态各自对应于每个字符的转移,对应于每个字符,所述转移从当前状态指向与该字符相应的一个状态;根据所述DFA中的相同转移对状态和转移进行标记,其中所述相同转移为指向同一状态的转移;根据所述状态的标记和所述转移的标记对所述DFA进行压缩;其中,所述根据所述DFA中的相同转移对状态和转移进行标记,包括:对于所述DFA中的每个状态,选取该状态的相同转移数目最多的转移标记为该状态的第一状态转移,并将具有相同第一状态转移的状态分组到一个第一状态集合中;对于每个所述第一状态集合,将其中满足预设条件的一个状态标记为第一状态,并将所述第一状态再次分组到一个第二状态集合中;其中,若判断第一状态转移的数目最多的状态只有一个,所述预设条件包括:第一状态转移的数目最多,若判断第一状态转移的数目最多的状态有至少两个,则所述预设条件包括:在第一状态转移的数目最多的前提下,深度最小;对于所述第一状态集合中剩余的每个状态,若判断该状态与所述第一状态对应同一字符有相同转移的数目大于该状态的第一状态转移的数目,则将该状态标记为第二状态;将所述第二状态再次分组到所述第一状态所在的第二状态集合中,并将所述第二状态的指向所述第一状态的转移标记为第二状态转移;将所述第一状态集合中没被再次分组的状态组成一个新的第一状态集合,对所述新的第一状态集合迭代执行再次分组的步骤,直到所述第一状态集合中的每个状态都被再次分组到第二状态集合中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710124290.4/,转载请声明来源钻瓜专利网。
- 上一篇:智能问答方法及系统
- 下一篇:路况更新方法、装置及计算机设备