[发明专利]一种基于改进BM算法与后缀数组的冗余字段过滤方法有效
| 申请号: | 201811318116.4 | 申请日: | 2018-11-07 |
| 公开(公告)号: | CN109460495B | 公开(公告)日: | 2022-05-10 |
| 发明(设计)人: | 朱丹;张坤;邢苏霄;章东润;张熠;徐晓丽 | 申请(专利权)人: | 南京烽火星空通信发展有限公司 |
| 主分类号: | G06F16/9032 | 分类号: | G06F16/9032 |
| 代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 杨海军 |
| 地址: | 210019 江苏省南京市建*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 改进 bm 算法 后缀 数组 冗余 字段 过滤 方法 | ||
1.一种基于改进BM算法与后缀数组的冗余字段过滤方法,用于实现对目标文本的过滤,其特征在于,包括如下步骤:
步骤A.获得目标文本所对应的字符串S,然后进入步骤B;
步骤B.根据字符串S的长度I,获得字符串S所对应的各个后缀Suffix(i),其中,1≤i≤I,i表示字符串S中各字符的序号,Suffix(i)表示字符串S中、由第i个字符至末尾字符所构的后缀,然后进入步骤C;
步骤C.针对I个后缀Suffix(i)进行大小比较,并从小至大进行排序,获得各后缀的排序,然后进入步骤D;
步骤D.针对排序各后缀,依序获得两两后缀之间的最长公共前缀,然后进入步骤E;
步骤E.针对排序各后缀,基于依序、相邻两后缀不属于同一字符串后缀,获得各个最长公共前缀中的最小值,即为目标文本中最大冗余字符子串,然后进入步骤F;
步骤F.以目标文本所对应字符串S作为主串,目标文本中最大冗余字符子串作为模式串,查找主串中与模式串相匹配的第一个子串,并从主串中删除该子串,更新获得主串,即为目标文本过滤结果;
上述步骤F包括如下步骤:
步骤F1.以目标文本所对应字符串S作为主串,目标文本中最大冗余字符子串作为模式串,初始化参数k'=0,将主串中第一个字符的位置与模式串中第一个字符的位置相对齐,然后进入步骤F2;
步骤F2.针对主串与模式串,判断模式串中第K-k'位置的字符与主串中对应位置的字符是否相同,是则进入步骤F3;否则主串中该位置的字符即为当前坏字符,当前坏字符所对应模式串中的位置,即为模式串当前失配位置,并进入步骤F4;其中,K为模式串的长度;
步骤F3.判断K-k'是否等于1,是则进入步骤F9;否则针对k'的值进行加1更新,然后返回步骤F2;
步骤F4.提取主串中对应模式串最右边界位置的下一个位置的字符,作为比对末字符,并判断比对末字符是否位于模式串中,是则进入步骤F5;否则针对模式串右移K+1位,并更新k'=0,再返回步骤F2;
步骤F5.根据模式串当前失配位置,减去当前坏字符在模式串中最右出现的位置,即减去模式串中当前失配位置左侧、当前坏字符中最右的位置,获得模式串对应当前坏字符的右移位数,然后进入步骤F6;其中,若模式串中当前失配位置的左侧不存在当前坏字符,则定义当前坏字符在模式串中最右出现的位置为-1;
步骤F6.判断当前坏字符获得之前、主串与模式串从右至左同位置字符比对中,是否存在比对相同的后缀,是则提取该后缀,作为当前好后缀,并进入步骤F7;否则按模式串对应当前坏字符的右移位数,针对模式串进行右移,并更新k'=0,再返回步骤F2;
步骤F7.若当前好后缀同时存在于模式串中、相对模式串当前失配位置的左侧,则根据当前好后缀中最后一个字符所对应模式串中的位置,减去当前好后缀在模式串中上一次所出现位置段中最后一字符的位置,获得模式串对应当前好后缀的右移位数,然后进入步骤F8;
若当前好后缀中存在位于模式串当前失配位置左侧的后缀,且模式串以该后缀开头,则根据当前好后缀中位于模式串当前失配位置左侧、最长长度后缀最后一字符在模式串中的位置,减去该后缀在模式串中上一次所出现位置段中最后一字符的位置,获得模式串对应当前好后缀的右移位数,然后进入步骤F8;
否则将K+1位作为模式串对应当前好后缀的右移位数,然后进入步骤F8;
步骤F8.按模式串对应当前坏字符的右移位数与模式串对应当前好后缀的右移位数之间的最大值,针对模式串进行右移,并更新k'=0,再返回步骤F2;
步骤F9.删除主串中与模式串相对应各位置的字符,更新主串,即为目标文本过滤结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京烽火星空通信发展有限公司,未经南京烽火星空通信发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811318116.4/1.html,转载请声明来源钻瓜专利网。





