发明名称 用于文本或网络内容分析的大规模特征匹配的方法
摘要 本发明提供了一种用于文本或网络内容分析的大规模特征匹配的方法,包括步骤:S1.读入所有特征串,建立双哈希表;S2.在哈希表内建立有限状态机;S3.将哈希表内的有限状态机转化为双数组结构存储;S4.文本或网络内容匹配搜索。本发明的方法能够有效提升文本或网络内容分析的匹配速度,降低内存消耗。
申请公布号 CN103412858B 申请公布日期 2016.09.21
申请号 CN201210228593.8 申请日期 2012.07.02
申请人 清华大学 发明人 薛一波;袁振龙
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京路浩知识产权代理有限公司 11002 代理人 王莹
主权项 一种用于文本或网络内容分析的大规模特征匹配的方法,其特征在于,包括步骤:S1.读入所有特征串,建立双哈希表;S2.在哈希表内建立有限状态机;S3.将哈希表内的有限状态机转化为双数组结构存储;S4.文本或网络内容匹配搜索,其中,步骤S1包括:S1.1依次读取所有特征串,将特征串信息存入PAT结构体;S1.2根据特征串规模、运行平台、缓存大小确定两级哈希表,即SHIFT表和MAP表的长度N1、N2,以及哈希字符块的长度B;S1.3初始化SHIFT表和MAP表,统计特征串集合中的最短特征串长度m,并将SHIFT表及MAP表中所有表项的跳跃值初始化为m‑B+1;S1.4对PAT结构体链表中特征串的所有字符块进行两级哈希运算,保存跳跃值到SHIFT表并链接相应的特征串到不同MAP表表项的入口;S1.5计算并保存MAP表的匹配跳跃属性值,即skip值,其中,步骤S3包括:S3.1预编码阶段,对有限状态机中出现的所有字符进行编码;S3.2遍历阶段,利用递归算法一次性完成Base和Check双数组的构建;S3.3释放MAP表表项中建立的有限状态机所占内存。
地址 100084 北京市海淀区清华园北京市100084-82信箱