System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种存储数据索引的方法,尤其涉及一种基于组合方式存储数据索引的方法。
技术介绍
1、在数据处理过程中,快速定位数据是一项关键技术。索引是常用的一种定位方式,通过索引可以快速定位到某个数据的位置。例如在数据库、地理信息系统、物流管理等领域都广泛使用了索引技术。随着对数据实时性要求的增加,文件也越来越趋于碎片化,例如短视频以及直播类的业务,往往一个视频只有几百kb的大小,甚至是几十kb的大小。现有技术中,例如tree类的索引,利用树的中间节点和分支将全量的key分成一个个更小的部分,中间节点只保存了key,数据部分全部保存在叶子节点里,这就要求内存中必须保存完整的key。现有的存储数据索引的方法,有以下几大缺点:
2、一、若共有100tb的数据,全部存储10kb的文件,仅是管理这些文件所需的索引数据就会达到10000gb的内存空间。对于巨量元数据的管理,管理这些文件所需的索引数据会占用巨大的内存空间;
3、二、由于在内存中需要保存完整的key,遍历时消耗的时间成本大,查找性能差。
技术实现思路
1、为了解决上述技术所存在的不足之处,本专利技术提供了一种基于组合方式存储数据索引的方法。
2、为了解决以上技术问题,本专利技术采用的技术方案是:一种基于组合方式存储数据索引的方法,包括:
3、步骤s1:获取存放在数据库中的数据以及数据条数;
4、步骤s2:判断数据条数;
5、步骤s3:若数据条数小于等于200
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所述的基于组合方式存储数据索引的方法,其特征在于:所述S
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的数据结构,进而实...
【专利技术属性】
技术研发人员:高彦军,庞景秋,齐井春,李绍俊,李波,李彬,张金辉,
申请(专利权)人:长春嘉诚信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。