[发明专利]一种数据存储方法及装置在审
申请号: | 201710842915.0 | 申请日: | 2017-09-18 |
公开(公告)号: | CN107577436A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 王旭 | 申请(专利权)人: | 杭州时趣信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 310012 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 | ||
1.一种数据存储方法,其特征在于,包括:
在当前数据写入之前,当无未存满分块时,在表分区中建立包含有列存储文件的分块;
将所述当前数据按列拆分,并将所述当前数据按列并发写入当前列存储文件;
在所述当前数据写入完毕后,在当前分块中建立与各所述当前列存储文件对应的分块索引,并在所述分块索引中记录所述当前列存储文件中的最大数据、最小数据、已存数据总量、空数据总量、各所述已存数据之和及所述已存数据的平均值;
在写入数据全部写入完毕后,在当前表分区中建立与所述当前表分区中的指定分区段对应的分区索引,并在所述分区索引中记录所述指定分区段中的最大数据和最小数据;
在所述当前数据写入完毕后,计算所述当前列存储文件中最大数据和最小数据的差值,并将所述差值均匀划分为N个范围段;
在所述当前分块中建立与各所述当前列存储文件对应的范围段索引,并在所述范围段索引中,标记所述当前列存储文件中数值型数据的分布情况;
其中,N为正整数。
2.根据权利要求1所述的数据存储方法,其特征在于,所述当无未存满分块时,在表分区中建立包含有列存储文件的分块具体包括:
当无未存满表分区时,新建当前表分区,并在所述当前表分区中建立包含有所述列存储文件的所述分块。
3.根据权利要求1所述的数据存储方法,其特征在于,还包括:
在所述写入数据写入完毕之后,扫描当前存储目录下已写入的文件数据;
当扫描到已存满分块中的所述列存储文件存储有未压缩数据时,压缩所述未压缩数据。
4.根据权利要求1所述的数据存储方法,其特征在于,还包括:
在所述当前数据写入完毕后,在所述当前分块中建立与各所述当前列存储文件对应的字符位索引,并在所述字符位索引中,标记所述当前列存储文件中字符型数据的分布情况。
5.根据权利要求1所述的数据存储方法,其特征在于,还包括:
在所述当前数据写入完毕后,将与所述当前列存储文件对应的各索引加载至JAVA虚拟机内存;
当接收查询请求时,如果所述JAVA虚拟机内存中存储有与当前查询数据所在的所述列存储文件对应的所述索引,则依据所述JAVA虚拟机内存中存储的所述索引检索出所述当前查询数据。
6.根据权利要求5所述的数据存储方法,其特征在于,还包括:
在获取所述当前查询数据之后,将所述当前查询数据所在的所述列存储文件中的所有解压数据存储至JAVA堆外内存;
当接收到新查询请求时,如果所述JAVA堆外内存中存储有所述新查询请求对应的当前查询数据,则从所述JAVA堆外内存中获取所述新查询请求对应的当前查询数据。
7.根据权利要求6所述的数据存储方法,其特征在于,所述将所述查询数据所在的所述列存储文件中的所有解压数据存储至JAVA堆外内存具体包括:
将所述解压数据以字节流形式存储至所述JAVA堆外内存;
则对应的,所述从所述JAVA堆外内存中获取所述当前查询数据具体包括:
以所述字节流形式在所述JAVA堆外内存中检索出所述当前查询数据;
将所述当前查询数据转化成字符串形式的当前查询数据,并获取将所述字符串形式的当前查询数据。
8.根据权利要求5所述的数据存储方法,其特征在于,还包括:
在获取所述当前查询数据之后,将所述当前查询数据写入JAVA虚拟机内存,且如果所述JAVA虚拟机内存中存储的所述当前查询数据在预设时间内未使用,则清除所述JAVA虚拟机内存中存储的所述当前查询数据;
则对应的,当在预设时间内接收到获取所述当前查询数据的查询请求时,直接从所述JAVA虚拟机内存中获取所述当前查询数据。
9.一种数据存储装置,其特征在于,包括:
建立模块,用于在当前数据写入之前,当无未存满分块时,在表分区中建立包含有列存储文件的分块;
写入模块,用于将所述当前数据按列拆分,并将所述当前数据按列并发写入当前列存储文件;
创建分块索引模块,用于在所述当前数据写入完毕后,在当前分块中建立与各所述当前列存储文件对应的分块索引,并在所述分块索引中记录所述当前列存储文件中的最大数据、最小数据、已存数据总量、空数据总量、各所述已存数据之和及所述已存数据的平均值;
创建分区索引模块,用于在写入数据全部写入完毕后,在当前表分区中建立与所述当前表分区中的指定分区段对应的分区索引,并在所述分区索引中记录所述指定分区段中的最大数据和最小数据;
所述数据存储装置,还用于:
在所述当前数据写入完毕后,计算所述当前列存储文件中最大数据和最小数据的差值,并将所述差值均匀划分为N个范围段;
在所述当前分块中建立与各所述当前列存储文件对应的范围段索引,并在所述范围段索引中,标记所述当前列存储文件中数值型数据的分布情况;
其中,N为正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州时趣信息技术有限公司,未经杭州时趣信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710842915.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便携式多功能电源车
- 下一篇:一种图书馆用规整图书的手推车装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置