[发明专利]一种字符串序列的压缩索引方法及装置有效
| 申请号: | 201680083999.8 | 申请日: | 2016-03-25 |
| 公开(公告)号: | CN108780455B | 公开(公告)日: | 2022-03-29 |
| 发明(设计)人: | 魏建生;朱俊华 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903;H03M7/30 |
| 代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 字符串 序列 压缩 索引 方法 装置 | ||
1.一种字符串序列的压缩索引方法,其特征在于,包括:
获取字符串序列,所述字符串序列包含有序排列的一个以上字符串;
根据所述字符串序列中每个字符串的差异前缀长度,对所述字符串序列进行分组处理,获得M个字符串组,以使所述M个字符串组中的每个字符串组中首个字符串的差异前缀长度在预设字符串范围内是最短的,其中,所述M为大于等于1的整数,每个所述字符串组包含至少一个字符串,每个所述字符串组的差异前缀为该字符串组中首个字符串的差异前缀;
将所述M个字符串组依次存储到N个内存页中,所述N为大于等于1的整数,每个所述内存页包含至少一个字符串组,每个所述内存页的索引关键字为:该内存页中首个字符串组的差异前缀;
根据所述N个内存页的索引关键字构建跳表索引,所述跳表索引包含Q层跳表,所述Q为大于等于1的整数,所述Q层跳表中的第1层跳表根据所述N个内存页的索引关键字构建,每层跳表包含至少一个跳表节点,每个跳表节点包含至少一个索引关键字、索引关键字的个数以及索引关键字的寻址信息。
2.根据权利要求1所述的方法,其特征在于,每个所述字符串组包含的字符串的个数的最小阈值为Wmin、最大阈值为Wmax;对所述字符串序列进行分组处理,获得所述M个字符串组中的第m个字符串组的方法包括,1≤m≤M:
确定所述第m个字符串组的首个字符串;
以所述第m个字符串组的首个字符串为起始字符串,依次计算后续Wmax个字符串中每个字符串的差异前缀长度;
确定第k个字符串,所述第k个字符串为后续第Wmin个字符串到后续第Wmax个字符串中差异前缀长度最小的字符串,Wmin≤k≤Wmax;
将所述第m个字符串组的首个字符串到第k-1个字符串之间的字符串的集合确定为所述第m个字符串组,并将所述第k个字符串作为第m+1个字符串组的首个字符串。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述M个字符串组依次存储到N个内存页中,包括:
根据所述M个字符串组中每个字符串组的差异前缀长度,将所述M个字符串组依次存储到所述N个内存页中,以使所述N个内存页中的每个内存页的首个字符串组的差异前缀长度在预设字符串组范围内是最短的。
4.根据权利要求1所述的方法,其特征在于,所述Q层跳表为逐层构建的多层跳表,所述Q层跳表中的第q层跳表根据第q-1层跳表中间隔为稀疏系数F的跳表节点的首个索引关键字构建,所述F为大于等于1的整数,所述q为大于等于2的整数。
5.根据权利要求1所述的方法,其特征在于,所述N个内存页中每个内存页的最小容量为Cmin、最大容量为Cmax,将字符串组存储到所述N个内存页中的第n个内存页的方法包括,1≤n≤N:
确定所述第n个内存页的首个字符串组;
以所述第n个内存页的首个字符串组为起始字符串组,依次将所述M个字符串组中至少一个字符串组存储到所述第n个内存页;
若存储到第i个字符串组时,所述第n个内存页中被占用的存储容量C占用与Cmin的差值小于所述第i个字符串组的存储开销,则计算所述第n个内存页中可使用的存储容量(Cmax-C占用)所能容纳的Nmore个字符串组,所述Nmore个字符串组为:以所述第i个字符串组开始依次排列的Nmore个字符串组;
确定所述Nmore个字符串组中差异前缀长度最小的字符串组,将所述第i个字符串组、以及所述第i个字符串组到所述差异前缀长度最小的字符串组之间的字符串组存储到所述第n个内存页中,将所述差异前缀长度最小的字符串组作为第n+1个内存页的首个字符串组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680083999.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:音频通告优先级排序系统
- 下一篇:信息处理装置、信息处理方法和程序





