[发明专利]一种大规模字符串文本的后缀索引构造方法及装置有效
申请号: | 201510659972.6 | 申请日: | 2015-10-14 |
公开(公告)号: | CN105335481B | 公开(公告)日: | 2019-01-22 |
发明(设计)人: | 刘伟军;农革 | 申请(专利权)人: | 广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 528300 广东省佛山市顺德区大良*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种大规模文本的后缀索引构造方法及装置,本发明在后缀索引构造过程中至少配置大规模字符串读取器,后缀前驱信息处理器,LMS后缀识别器,两个外存优先级队列容器和外存排序器。通过大规模字符串读取器读取字符串,LMS识别器识别字符串中的LMS子串或后缀,外存优先级队列容器实现子串或后缀的排序,最终完成大规模字符串文本的后缀索引构造。在索引构造过程中,利用了低成本的计算机外存资源,使得后缀索引构造不再受限于内存容量;从而在任意一台普通计算机环境下,本发明能完成超过该内存大小的字符串文本数据的后缀索引构造,突破现有后缀索引构造技术方案的局限性。且本发明具有运行速度快、I/O量小和简单易行等优点。 | ||
搜索关键词: | 一种 大规模 字符串 文本 后缀 索引 构造 方法 装置 | ||
【主权项】:
1.一种大规模文本的后缀索引构造方法,其特征在于,所述方法包括:收缩字符串T,得到新的字符串T1,T1的规模最多为T的一半;以直接方式或递归方式构造T1的后缀索引;扫描T1的后缀索引,得到T的后缀索引;其中,所述收缩字符串T,得到新的字符串T1的具体过程为:使用大规模字符串读取器分批读取字符串T,获取T中所有LMS子串,压入外存优先级队列容器Q1中;扫描Q1排序L子串,并使用子串命名单元对L子串和LMS子串进行命名,得到的有序L子串存放于外存优先级队列容器Q2中;扫描Q2中所有L子串排序S子串,并对S子串命名,得到有序S子串;提取S子串中所有LMS子串的名字,这些名字按照LMS子串在原字符串中的索引位置升序构成新的字符串T1;所述构造字符串T1的后缀索引的过程为:当字符串T1中所有字符都唯一,各字符的名称即为各后缀在后缀索引中的优先级次序,扫描字符串T1,每个索引位置生成相应的二元组:(T[i],i),即(字符名称,位置索引),将这些二元组全部压入外存排序器,按照字符名称排序,排序后取各字符对应的索引号存入数组,即得到T1的后缀索引,否则以T1为新的字符串输入参数,用递归方式构造T1的后缀索引;所述扫描T1的后缀索引,得到T的后缀索引的过程为:使用大规模字符串读取器读取字符串T,识别其中的LMS后缀,根据T1的后缀索引,给相应的LMS后缀赋予优先级,并压入外存优先级队列容器Q1中;扫描Q1,得到的有序L后缀,L后缀存放于外存优先级队列Q2中;扫描Q2,得到有序S后缀序列;归并所有L和S后缀,得到字符串T的后缀索引;所述LMS子串的识别方法为,该子串的首字符和尾字符均为LMS字符,首字符与尾字符之间不存在任何LMS字符,则该子串为LMS子串;所述LMS字符的识别方法为,当后缀为LMS后缀时,则该后缀所对应字符子串的首字符为LMS字符;所述LMS后缀的识别方法为,若当前后缀为S后缀,且字符串T中与当前后缀相邻的左手边第一个后缀为L后缀,则该后缀为LMS后缀;所述L子串的识别方法为,子串的首字符为L字符,尾字符为LMS字符,且首字符与尾字符之间不存在任何LMS字符,则该子串为L子串;L/S字符的识别方法为,若某后缀为L或S后缀,则该后缀所对应字符子串的首字符分别称为L或S字符;所述S子串的识别方法为,子串的首字符为S字符,尾字符为LMS字符,且首字符与尾字符之间不存在任何LMS字符,则该子串为S子串;所述L后缀、S后缀的识别方法为,假定字符串最后一个字符为‘$’,该字符在整个字符串所包含的字符当中最小并且唯一,为S后缀;然后从字符串文本倒数第二个字符开始往前扫描,若当前字符比前一字符小,则该后缀为S后缀;或当前字符与前一字符相等且前一字符所对应的后缀为S后缀,则该后缀也为S后缀;除上述两种情况之外,后缀被识别为L后缀。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学,未经广东顺德中山大学卡内基梅隆大学国际联合研究院;中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510659972.6/,转载请声明来源钻瓜专利网。