System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于组合方式存储数据索引的方法技术_技高网

一种基于组合方式存储数据索引的方法技术

技术编号:39994186 阅读:7 留言:0更新日期:2024-01-09 02:35
本发明专利技术公开了一种基于组合方式存储数据索引的方法,包括以下步骤:步骤S1:获取存放在数据库中的数据以及数据条数;步骤S2:判断数据条数;步骤S3:若数据条数小于等于2000万条,则将数据索引存放在HashMap内存中;步骤S4:若数据条数大于2000万条,则将数据存放在SlimTrie中,按照指定的时间周期将SlimTrie数据索引存放在索引文件中,并限制文件的大小。本发明专利技术通过快速确定存储方式,减少了对数据的扫描量和访问时间,提高了查询效率;SlimTrie与HashMap组合实现对索引数据的存储,减少了存储空间,提供了更好的用户体验,同时也节约了成本。

【技术实现步骤摘要】

本专利技术涉及一种存储数据索引的方法,尤其涉及一种基于组合方式存储数据索引的方法


技术介绍

1、在数据处理过程中,快速定位数据是一项关键技术。索引是常用的一种定位方式,通过索引可以快速定位到某个数据的位置。例如在数据库、地理信息系统、物流管理等领域都广泛使用了索引技术。随着对数据实时性要求的增加,文件也越来越趋于碎片化,例如短视频以及直播类的业务,往往一个视频只有几百kb的大小,甚至是几十kb的大小。现有技术中,例如tree类的索引,利用树的中间节点和分支将全量的key分成一个个更小的部分,中间节点只保存了key,数据部分全部保存在叶子节点里,这就要求内存中必须保存完整的key。现有的存储数据索引的方法,有以下几大缺点:

2、一、若共有100tb的数据,全部存储10kb的文件,仅是管理这些文件所需的索引数据就会达到10000gb的内存空间。对于巨量元数据的管理,管理这些文件所需的索引数据会占用巨大的内存空间;

3、二、由于在内存中需要保存完整的key,遍历时消耗的时间成本大,查找性能差。


技术实现思路

1、为了解决上述技术所存在的不足之处,本专利技术提供了一种基于组合方式存储数据索引的方法。

2、为了解决以上技术问题,本专利技术采用的技术方案是:一种基于组合方式存储数据索引的方法,包括:

3、步骤s1:获取存放在数据库中的数据以及数据条数;

4、步骤s2:判断数据条数;

5、步骤s3:若数据条数小于等于2000万条,则将数据索引存放在内存中,以hashmap的方式存储;

6、步骤s4:若数据条数大于2000万条,则将数据索引存放在slimtrie中,按照指定时间周期将slimtrie索引数据存放在索引文件中,并限制索引文件的大小。

7、进一步地,本专利技术基于组合方式存储数据索引的方法的步骤s3中,hashmap内存中保存完整的key,利用hash函数的计算,将要存储的key映射到一个新的hash值,再建立索引。

8、进一步地,本专利技术基于组合方式存储数据索引的方法的步骤s4中,包括:

9、slimtrie是在标准trie树的基础上生成的,裁剪掉标准trie树中无效的节点,再压缩trie的内存开销得到slimtrie;

10、裁减掉标准trie树中无效的节点,是对标准trie树中的单分支节点进行裁剪;

11、压缩trie的内存开销得到slimtrie,首先利用一个压缩数组compacted array存储整个trie的数据结合,进而实现对trie的压缩;

12、slimtrie将多个相邻的小文件用一条索引进行表示标识,从而对小文件进行优化;

13、slimtrie通过key-value存储实现分布式存储,key-value中的key为自增id,value存储zxy瓦片坐标生成的id,zxy瓦片坐标id生成规则运算为:

14、z<<58|x<<29|y;

15、其中,z表示缩放层级,x表示横坐标,y表示纵坐标。

16、进一步地,本专利技术基于组合方式存储数据索引的方法的步骤s4中,按照指定时间周期将slimtrie索引数据存放在索引文件中,包括:

17、时间周期实际上指定为5~10分钟。

18、进一步地,本专利技术基于组合方式存储数据索引的方法的步骤s4中,限制索引文件的大小,包括:

19、索引文件的大小限制为128m;

20、若索引文件的大小超出128m,slimtrie数据索引将存放在下一个索引文件中。

21、本专利技术公开了一种基于组合方式存储数据索引的方法,是将hashmap与slimtrie进行组合实现存储数据索引的方法,该方法通过对数据索引体量的大小,快速确定存储方式,本专利技术有如下有益效果:

22、一、通过快速确定存储方式,减少了对数据的扫描量和访问时间,并且slimtrie支持分布式存储,提高了查询效率;

23、二、通过slimtrie与hashmap组合实现对数据索引的存储,减少内存存储空间,提供客户有更好的用户体验,同时也节约了成本。

本文档来自技高网...

【技术保护点】

1.一种基于组合方式存储数据索引的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于组合方式存储数据索引的方法,其特征在于:所述步骤S3中的HashMap内存中保存完整的key,利用hash函数的计算,将要存储的key映射到一个新的hash值,再建立索引。

3.根据权利要求1所述的基于组合方式存储数据索引的方法,其特征在于:所述步骤S4中的SlimTrie是在标准Trie树的基础上生成的,裁剪掉标准Trie树中无效的节点后,再压缩Trie的内存开销得到SlimTrie。

4.根据权利要求3所述的基于组合方式存储数据索引的方法,其特征在于:所述裁剪掉标准Trie树中无效的节点,是对标准Trie树中的单分支节点进行裁剪。

5.根据权利要求3所述的基于组合方式存储数据索引的方法,其特征在于:所述压缩Trie的内存开销得到SlimTrie,首先利用一个压缩数组compacted array存储整个Trie的数据结构,进而实现对Trie的压缩。

6.根据权利要求3所述的基于组合方式存储数据索引的方法,其特征在于:所述SlimTrie将多个相邻的小文件用一条索引进行标识,从而对小文件进行优化。

7.根据权利要求1所述的基于组合方式存储数据索引的方法,其特征在于:所述步骤S4中的SlimTrie通过key-value存储实现分布式存储。

8.根据权利要求7所述的基于组合方式存储数据索引的方法,其特征在于:所述key-value中的key为自增id,value存储zxy瓦片坐标生成的id,zxy瓦片坐标id生成规则运算为;

9.根据权利要求1所述的基于组合方式存储数据索引的方法,其特征在于:所述步骤S4中的时间周期实际上指定为5~10分钟。

10.根据权利要求1所述的基于组合方式存储数据索引的方法,其特征在于:所述步骤S4中,索引文件的大小限制最大为128M;若索引文件的大小超出128M,SlimTrie数据索引将存放在下一个索引文件中。

...

【技术特征摘要】

1.一种基于组合方式存储数据索引的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于组合方式存储数据索引的方法,其特征在于:所述步骤s3中的hashmap内存中保存完整的key,利用hash函数的计算,将要存储的key映射到一个新的hash值,再建立索引。

3.根据权利要求1所述的基于组合方式存储数据索引的方法,其特征在于:所述步骤s4中的slimtrie是在标准trie树的基础上生成的,裁剪掉标准trie树中无效的节点后,再压缩trie的内存开销得到slimtrie。

4.根据权利要求3所述的基于组合方式存储数据索引的方法,其特征在于:所述裁剪掉标准trie树中无效的节点,是对标准trie树中的单分支节点进行裁剪。

5.根据权利要求3所述的基于组合方式存储数据索引的方法,其特征在于:所述压缩trie的内存开销得到slimtrie,首先利用一个压缩数组compacted array存储整个trie的数据结构,进而实...

【专利技术属性】
技术研发人员:高彦军庞景秋齐井春李绍俊李波李彬张金辉
申请(专利权)人:长春嘉诚信息技术股份有限公司
类型:发明
国别省市:

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

1