发明名称 基于有限状态自动机的字符串匹配方法及内容过滤设备
摘要 本发明公开了一种基于有限状态自动机的字符串匹配方法及内容过滤设备,包括:将DFA中符合设定条件的至少两个顺序关联的状态合并,得到合并后的DFA;相应的字符匹配过程包括:从字符串数据库中依次读取字符,根据当前状态及读取的字符,判断本次匹配是否为字符串匹配;若否,根据当前状态和读取的字符跳转到下一状态;若是,则从对应的字符串存储地址获取当前状态的匹配字符串,并读取下一个字符,判断是否与匹配字符串的下一个字符匹配,当匹配时继续读取下一个字符字符直至字符串匹配成功时,跳转到对应的下一状态;若否,则根据当前状态和读取的字符跳转到下一状态。该方法减少了字符匹配时访问内存的次数,提高了字符匹配的速度和效率。
申请公布号 CN101876986A 申请公布日期 2010.11.03
申请号 CN200910226279.4 申请日期 2009.11.27
申请人 福建星网锐捷网络有限公司 发明人 黄凯明
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京同达信恒知识产权代理有限公司 11291 代理人 郭润湘
主权项 一种基于有限状态自动机DFA的字符串匹配方法,其特征在于,包括:将所述DFA中符合设定条件的至少两个顺序关联的状态中包含的状态跳转情况不相同的特定字符组成匹配字符串,得到至少一个状态为匹配字符串后跳转的合并后的DFA;当基于所述合并后的DFA进行字符匹配时,执行下列步骤:从字符串数据库中依次读取字符,根据当前状态及本次读取的字符,判断本次匹配是否为字符串匹配;若否,则根据所述当前状态和读取的字符跳转到下一状态;若是,则从对应的字符串存储地址获取当前状态的所述匹配字符串,并从所述字符串数据库中读取下一个字符,判断读取的下一个字符是否与所述匹配字符串的下一个字符匹配,若是,则继续从所述字符串数据库中读取下一个字符字符进行判断,直至字符串匹配成功时,跳转到当前状态和所述匹配字符串所对应的下一状态;若否,则根据所述当前状态和读取的字符跳转到下一状态。
地址 350002 福建省福州市仓山区金山大道618号桔园州工业园19号楼