一种索引存储方法及相关装置制造方法及图纸

技术编号:17265220 阅读:36 留言:0更新日期:2018-02-14 12:39
本发明专利技术实施例公开了一种索引存储方法及相关装置,通过将至少一个待存储索引的索引值转换为树形结构;按照预设映射规则,确定所述树形结构的中间层各节点的内容相应的映射值,一个节点的内容的长度大于相应的映射值的长度;将中间层各节点的内容替换为相应的映射值,存储替换后的所述树形结构。由于本发明专利技术实施例中将待存储索引对应的树形结构中间层中存储的索引值映射并替换为长度小于所述索引值的映射值,并存储在磁盘空间中,从而压缩了索引在磁盘中的存储空间,减少索引对于磁盘空间的占用。

An index storage method and related device

The embodiment of the invention discloses an index storage method and related device, by at least one index to store the value of the index into the tree structure; according to the preset mapping rules, determine the mapping of each node of the tree structure of the middle layer of the content of the corresponding value of a node is larger than the length of the corresponding map content the length of the value of each node in the middle layer; the content of replacement for the corresponding mapping values, the tree structure storage replacement. Because the storage tree structure among the embodiment of the invention will be stored in the index corresponding to the layer index mapping and replace mapping length less than the index value of the value, and stored in the disk space, thus reducing the disk in the storage space index, reduce the index for disk space.

【技术实现步骤摘要】
一种索引存储方法及相关装置
本专利技术涉及数据处理
,具体涉及一种索引存储方法及相关装置。
技术介绍
索引是对数据库中一列或多列的值进行排序的一种数据结构,在大规模分布式存储引擎中,通过索引访问数据库中的数据的方式已经被广泛应用,用户通过建立索引,在索引中找到符合查询条件的索引值,通过符合查询条件的索引值找到数据库中对应的待检索数据。由于通过索引查询数据时,是在索引列表中找到符合查询条件的索引值,通过索引值就能够准确定位到数据库中待检索数据的位置,减少了对数据库进行遍历匹配的次数,从而大大提高了数据的检索速度。然而,由于索引是存储在磁盘空间中的,磁盘空间的容量是有限的,如何能够减少索引对于磁盘空间的占用,成为目前亟待解决的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种索引存储方法及相关装置,能够减少索引在磁盘中的存储空间,从而减少索引对于磁盘空间的占用。为实现上述目的,本专利技术实施例提供如下技术方案:一种索引存储方法,包括:将至少一个待存储索引的索引值转换为树形结构;所述树形结构包括多层节点,一层节点中包含的节点数量为至少一个,中间层各节点中一个节点对应的内容为一个待存本文档来自技高网...
一种索引存储方法及相关装置

【技术保护点】
一种索引存储方法,其特征在于,包括:将至少一个待存储索引的索引值转换为树形结构;所述树形结构包括多层节点,一层节点中包含的节点数量为至少一个,中间层各节点中一个节点对应的内容为一个待存储索引的索引值段,且由根节点至一叶子节点的上一节点的路径所关联的节点的内容,与一个待存储索引的索引值相应;中间层为所述树形结构中非根节点与叶子节点所在层;按照预设映射规则,确定所述树形结构的中间层各节点的内容相应的映射值,一个节点的内容的长度大于相应的映射值的长度;将中间层各节点的内容替换为相应的映射值,存储替换后的所述树形结构。

【技术特征摘要】
1.一种索引存储方法,其特征在于,包括:将至少一个待存储索引的索引值转换为树形结构;所述树形结构包括多层节点,一层节点中包含的节点数量为至少一个,中间层各节点中一个节点对应的内容为一个待存储索引的索引值段,且由根节点至一叶子节点的上一节点的路径所关联的节点的内容,与一个待存储索引的索引值相应;中间层为所述树形结构中非根节点与叶子节点所在层;按照预设映射规则,确定所述树形结构的中间层各节点的内容相应的映射值,一个节点的内容的长度大于相应的映射值的长度;将中间层各节点的内容替换为相应的映射值,存储替换后的所述树形结构。2.根据权利要求1所述的方法,其特征在于,所述将至少一个待存储索引的索引值转换为树形结构的过程包括:按照预设切分规则,将各待存储索引的索引值进行等长切分,得到各待存储索引对应的至少两个长度相等的索引值段;对于各待存储索引,按照切分后的各索引值段在相应待存储索引中的排列顺序,确定所述切分后的各索引值段在中间层的分层,一待存储索引的各索引值段对应的分层不同;对于各待存储索引,将切分后的各索引值段按照所确定的分层,分层存储在中间层中;在树形结构的叶子节点层的叶子节点中存储一待存储索引的索引值,由根节点至任一叶子节点的上一节点的路径所关联的节点的内容,与一个待存储索引的索引值相应。3.根据权利要求2所述的方法,其特征在于,在对于各待存储索引,按照切分后的各索引值段在相应待存储索引中的排列顺序,确定所述切分后的各索引值段在中间层的分层之前,还包括:在树形结构根节点所在层与中间层之间插入冗余信息节点层;将各待存储索引所对应的一个索引值段的长度信息,存储在冗余信息节点层的节点中,冗余信息节点层的一节点对应存储一待存储索引的一索引值段的长度信息;将一待存储索引的索引值段所在节点与该待存储索引对应的冗余信息节点层中的节点相关联。4.根据权利要求2所述的方法,其特征在于,所述按照预设切分规则,将各待存储索引的索引值进行等长切分,得到各待存储索引对应的至少两个长度相等的索引值段的过程包括:分别确定各待存储索引的索引值的长度;获取各待存储索引对应的预先设定的子树的树高;按照各待存储索引对应的所述子树的树高以及所述索引值的长度,分别确定所述各待存储索引对应的等长切分的长度;按照所述各待存储索引对应的等长切分的长度,分别对各待存储索引的索引值进行等长切分,得到各待存储索引对应的至少两个长度相等的索引值段。5.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:判断由根节点至任一叶子节点之间所关联路径上的中间层各节点的映射值是否相同;如果是,则将由根节点至任一叶子节点之间所关联路径上的中间层各节点的映射值相同的路径上的冗余信息节点层删除;将映射值相同的中间层各节点所在的由根节点至叶子节点之间路径合并为一条路径,合并后得到的叶子节点中存储映射值相同的中间层各节点对应的待存储索引的索引值。6.根据权利要求3所述的方法,其特征在于,还包括:对所述树形结构的冗余信息节点层中各节点中存储的索引值段的长度信息分别进行哈希映射,得到每个索引值段的长度信息对应的哈希映射值;将所述树形结构的冗余信息节点层中各节点中存储的索引值段的长度信息分别替换为相应的哈希映射值。7.根据权利要求1所述的方法,其特征在于,所述按照预设映射规则,确定所述树形结构的中间层各节点的内容相应的映射值的过程具体包括:确定所述树形结构的中间层各节点中存储的部分字符串的首字母,所述待存储索引的索引值为由字母构成的字符串,所述索引值段为部分字符串;按照预设的不同字母与数字映射值的对应关系,确定所述部分字符串的首字母对应的数字映射值,所述一个节点的部分字符串的长度大于所述数字映射值的长度;将所述部分字符串的首字母对应的数字映射值,作为所述树形结构的中间层各节点的内容相应的映射值。8.根据权利要求1所述的方法,其特征在于,所述按照预设映射规则,确定所述树形结构的中间层各节点的内容相应的映射值的过程具体包括:确定所述树形结构的中间层各节点中存储的索引值段对应的哈希映射值,所述一个节点中存储的索引值段的长度大于所述哈希映射值的长度;将所述索引值段对应的哈希映射值,作为所述树形结构的中间层各节点的内容相应的映射值。9.一种索引存储装置,其特征在于,包括:树形结构转换模块,用于将至少一个待存储索引的索引值转换为树形结构;所述树形结构包括多层节点,一层节点中包含的节点数量为至少...

【专利技术属性】
技术研发人员:钟轶
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1