[发明专利]一种基于编码关联的多模式匹配算法及系统有效
申请号: | 201210113672.4 | 申请日: | 2012-04-10 |
公开(公告)号: | CN102799600B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 朱永强 | 申请(专利权)人: | 成都网安科技发展有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙)11371 | 代理人: | 吴开磊 |
地址: | 610092 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 编码 关联 模式 匹配 算法 系统 | ||
1.一种Unicode编码环境下的建立自动状态机与失效跳转函数的方法,其特征在于,所述方法包括:
根据预设的关键字分隔符,分割输入的多关键字组,得到分割后的子关键字集合;
根据所得关键字组,进行字符的字节拆分,并反向生成状态转移函数Goto函数;
根据所得关键字组,进行字符的字节拆分,并使用每个码值拆分后得到的低位字节,生成失效跳转函数FailedJump函数。
2.如权利要求1所述的建立自动状态机与失效跳转函数的方法,其特征在于,根据预设的关键字分隔符,分割输入的多关键字组,得到分割后的子关键字集合,具体为:
以Unicode编码为编码方式,设定指定的分隔符,依次以分隔符对同样以Unicode编码为编码方式的输入多关键字组进行划分,以得到待查找的关键字的集合。
3.如权利要求1所述的建立自动状态机与失效跳转函数的方法,其特征在于,根据所得关键字组,进行字符的字节拆分,并反向生成状态转移函数Goto函数,具体为:
依次输入关键字集合中各个关键字,将每个关键字字符的各个码值进行拆分,即将一个以Unicode为编码方式的中文汉字,看做两个编码范围在0至255之间的单字节,分割关键字编码后,得到编码范围缩小,同时关键字长度加倍的拆码模式串,再使用此拆码模式串,以此模式串最后字节为起点,反向输入自动状态机,以生成状态转移函数Goto函数。
4.如权利要求1所述的建立自动状态机与失效跳转函数的方法,其特征在于,根据所得关键字组,进行字符的字节拆分,并使用每个码值拆分后得到的低位字节,生成失效跳转函数FailedJump函数,具体为:
依次将关键字集合中元素的各个字符码值进行拆分,生成转码模式串;构造长度为当前编码范围(转码后的码值范围为0-255)大小的失效跳转表FailedTable,FailedTable表的初始值为当前关键字模式串组中模式串拆分前的最小模式串长度minLen的两倍再加二,即2minLen+2。
依次计算各个拆码模式串的偶数位字符,即原来以Unicode编码的字符码值的低半位字符的对应跳转值,并用此跳转值重写FailedTable表中角标与当前转码模式串的码值相等位置的跳转值,如FailedTable表同一位置值有多个对应的拆码模式串跳转值,则选取其中跳转值最小者,替换FailedTable表中对应位置的值。
5.如权利要求4所述的建立自动状态机与失效跳转函数的方法,其特征在于,根据所得关键字组,进行字符的字节拆分,并使用每个码值拆分后得到的低位字节,生成失效跳转函数FailedJump函数,具体为:
分别输入拆码模式串组中各拆码模式串,以拆码模式串中每个原Unicode编码的低半位字符的对应跳转值,替换FailedTable表中角标与当前拆码模式串的码值相等位置的跳转值,拆码模式串中每个码值对应的跳转值计算方程为:
JumpLen=PatterLen-i,
其中JumpLen为当前码值对应的跳转值,PatterLen为当前拆码模式串的长度,为以Unicode为编码方式的同模式串长度的2倍,i为当前码值位置到当前拆码模式串最末尾字节的距离,单位为字节距离。
如FailedTable表中同一角标位置的跳转值对应于多个拆码模式串中码值,则选择最小跳转值改写FailedTable表的对应项。
6.一种应用于电子文档中多模式匹配的系统,其特征在于,所述装置包括:
初始化模块,用于分隔输入多关键字组,获取关键字集合,并初始化算法所需要的两个函数:Goto函数与FailedJump函数;
文本内容提取模块,用于提取电子文档或其它信息载体中的有效内容,作为多关键字匹配的目标文本对象。
匹配执行模块,以从电子文档中获取的以Unicode为编码方式的有效内容段做为输入,使用初始化模块中得到的Goto函数与FailedJump函数,依据设定执行算法,对文档有效内容进行多关键字匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都网安科技发展有限公司,未经成都网安科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210113672.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型墙体防水内撑杆
- 下一篇:一种纳米铝塑复合板