[发明专利]一种字符串序列的压缩索引方法及装置有效
申请号: | 201680083999.8 | 申请日: | 2016-03-25 |
公开(公告)号: | CN108780455B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 魏建生;朱俊华 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903;H03M7/30 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字符串 序列 压缩 索引 方法 装置 | ||
一种字符串序列的压缩索引方法及装置,涉及数据管理技术领域,解决现有CS‑Prefix‑Tree编码索引过程中,底层叶节点存在过长的差异前缀长度,导致编码索引分支节点的容纳能力下降,增加分支节点数量和查找复杂度的问题。方法包括:根据字符串序列中每个字符串的差异前缀长度对所述字符串序列进行分组处理,获得M个字符串组,以使每个字符串组中的首个字符串的差异前缀长度在预设字符串范围内是最短的(S102),将所述M个字符串组依次存储到N个内存页中(S103),根据所述N个内存页的索引关键字构建跳表索引(S104)。
技术领域
本发明涉及数据管理技术领域,尤其涉及一种字符串序列的压缩索引方法及装置。
背景技术
随着数据库广泛应用到社会生产的各个领域,数据库记录的规模和属性也日趋复杂,在这种前提下列优先存储(简称“列存”)的优势日渐突出。其中,当采用列存时,为了减少存储开销,可以采用字典编码方式来存储数据。目前,人们通常采用Carsten Binnig等人于2009年提出的CS-Prefix Tree(缓存感知型前缀树)保序压缩索引机制,用于支持对压缩字典的不解压查询。
如图1所示,CS-Prefix-Tree由共享叶(Shared leaves)和编码索引(Encodeindex)两部分构成。共享叶包含一系列固定长度的数据块,每个数据块存储一组<字符串,编码>(value,code)字典项,块内及块间的字典项按“字符串”全局有序,所有数据块一起构成了完整字典。编码索引是由一系列固定长度分支节点(node)构成的树结构,每个分支节点包括:分支节点中第一个子节点的地址、分支节点记录的关键字个数、以及关键字列表。其中,关键字为相邻子节点的差异前缀,差异前缀是指区分某个节点所包含的最小字符串与其前驱节点所包含的最大字符串的最短前缀,例如,如图1所示,最下行首个叶节点所包含的最大字符串为“aaf”,第二个叶节点所包含的最小字符串为“amd”,首个叶节点为第二个叶节点的前驱节点,区分“amd”与“aaf”的最短前缀为“am”,即两个叶节点的差异前缀为“am”。
编码索引采用“自底向上”的方式构造,即先有全部叶节点,再逐层构造分支节点。例如,图1采用32字节分支节点,并在第三字段采用由两端到中间的方式逐个写入关键字,即首先将差异前缀“am”作为关键字写入字段尾部,并记录节点偏移量29到字段首部,形成([29],…,[am])的字段形式。其中,偏移量从0开始编址,即32字节分支节点的偏移量由0顺序编址到31,关键字中的每个字符占用1个字节且需要1个字节的空白字符作为结束标记,所以“am”需要占用偏移量29~31三个字节。如此类推,将第二个差异前缀“amq”作为关键字写入偏移量为25的字段尾部,并记录偏移量到字段首部,形成([29,25],…,[amq,am])的字段形式;将第三个差异前缀“bc”作为关键字写入偏移量为22的字段尾部,并记录偏移量到字段首部,形成([29,25,22],…,[bc,amq,am])的字段形式。此时,字段可使用空间不足以容纳下一个关键字,则分配新的分支节点索引后续叶节点。在构造编码索引的过程中,若当前最上层索引有两个及以上分支节点,则需分配新的分支节点构造更上一层索引,直到索引收敛到单一的根节点。
但是,在实现本发明的过程中,发明人发现CS-Prefix-Tree存在以下问题:由于底层相邻叶节点间的差异前缀长度不受控制,在处理长字符串序列时,差异前缀长度可能在几字节到几百字节不等,此时,过长的差异前缀长度会导致编码索引分支节点的容纳能力下降,增加分支节点数量和查找复杂度。
发明内容
本发明的实施例提供一种字符串序列的压缩索引方法及装置,以解决现有CS-Prefix-Tree编码索引过程中,底层叶节点存在过长的差异前缀长度,导致编码索引分支节点的容纳能力下降,增加分支节点数量和查找复杂度的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种字符串序列的压缩索引方法,所述方法可以包括:
获取有序排列的字符串序列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680083999.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:音频通告优先级排序系统
- 下一篇:信息处理装置、信息处理方法和程序