[发明专利]一种基于多层次列式存储结构的时序数据存储方法有效
申请号: | 201711461821.5 | 申请日: | 2017-12-28 |
公开(公告)号: | CN108182244B | 公开(公告)日: | 2019-04-05 |
发明(设计)人: | 王建民;黄向东;张金瑞;康荣;乔嘉林;龙明盛;王晨 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/13 | 分类号: | G06F16/13 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 时序数据 存储时序 列组 存储结构 偏移量 查询 行组 存储 读取 数据值存储 连续存储 数据存储 同一列 磁盘 | ||
1.一种时序数据存储方法,其特征在于,包括:
将所有待存储时序数据存储于文件中,所述文件包括第一部分和第二部分;
将每一待存储时序数据的获取时间和每一待存储时序数据的数据值存储于所述第一部分;
将所述第一部分划分为若干个行组,每一行组包括若干个待存储时序数据;
将每一行组划分为若干个列组,每一列组包括若干个待存储时序数据;
将所有行组的个数、每一行组在文件的偏移量、每一行组中所有列组的个数、每一时序数据的属性值和每一列组在所述文件的偏移量作为所述第二部分;
其中,将所述第一部分划分为若干个行组,具体包括:
根据所有待存储时序数据所占的内存空间和每个行组的预设容量,将所述第一部分划分为k个行组,k≥1,k为整数;
将所有待存储时序数据分为n个时间序列,对于任一时间序列,将所述任一时间序列中所有的待存储时序数据分为k个子序列,并对每一子序列进行编号,每一时间序列包括若干个时序数据,每一子序列包括若干个时序数据,n≥1,n为整数;
对于任一行组,所述任一行组包括每一时间序列中第i个子序列,i为所述任一行组的编号,1≤i≤k,i为整数。
2.根据权利要求1所述方法,其特征在于,将每一行组划分为若干个列组,具体包括:
将每一行组划分为n个列组,对于所述任一行组中的任一列组,对所述任一行组中的所有列组进行编号,将所述任一行组中第j个子序列作为所述任一列组,j为所述任一列组的编号,1≤j≤n,j为整数。
3.根据权利要求2所述方法,其特征在于,所述任一列组包括第一子列组和第二子列组,相应地,具体包括:
将所述第j个子序列中每一待存储时序数据的获取时间作为所述第一子列组;
将所述第j个子序列中每一待存储时序数据的数据值作为所述第二子列组。
4.根据权利要求2或3所述方法,其特征在于,所述任一列组为列存储。
5.根据权利要求3所述方法,其特征在于,还包括:分别对所述第一子列组和所述第二子列组进行压缩编码。
6.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711461821.5/1.html,转载请声明来源钻瓜专利网。