[发明专利]一种列式存储下多时间序列的连接查询方法及系统有效
申请号: | 201711322631.5 | 申请日: | 2017-12-12 |
公开(公告)号: | CN108062378B | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 王建民;黄向东;曹高飞;张金瑞;王晨 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 多时 序列 连接 查询 方法 系统 | ||
本发明提供一种列式存储下多时间序列的连接查询方法,包括:将列式存储的多个时间序列划分为多个待查询序列和多个过滤序列,所述时间序列包括时间戳序列和数据值序列;从每一过滤序列的时间戳序列中筛选出每一过滤序列满足预设过滤条件的时间戳;基于每一过滤序列满足所述预设过滤条件的时间戳,对所述查询序列进行遍历,获取连接查询结果,所述连接查询结果为查询序列的时间戳以及查询序列的时间戳对应的数据值。本发明提供的一种列式存储下多时间序列的连接查询方法及系统,通过对所有列的过滤条件计算出满足该所有条件的时间戳,再通过该时间戳来对查询列进行查询,能够根据时序数据的特点进行有效的过滤及查询。
技术领域
本发明属于计算机数据管理技术领域,更具体地,涉及一种列式存储下多时间序列的连接查询方法及系统。
背景技术
伴随着云计算、互联网、物联网等现代技术的不断发展和成熟,人们对数据的关注度越来越高。数据来源于我们生活的方方面面,包括企业的生产交易数据、互联网中人与人的交互数据、物联网中传感器回传的监测数据等等,在这其中时间序列数据占据了很大的比重。时间序列数据简称时序数据,是指传感器在不同时间点上收集到的数据,数据中必须包含时间戳timestamp字段,除timestamp字段外还需包含传感器唯一ID及该时间戳下的数据值,比如一段时间内的环境温度、股票价格、机器的内存使用率等。这类数据反映了某一事物、现象等随时间的变化状态。
针对以上特点,时序数据存储多采用列式存储,即将时间戳序列、值列分别单独存储,因为同一列的数据类型都是一致的,所以对列式存储的数据可以采用高效的数据压缩编码方法,从而大大降低存储数据占用的空间。
但是在列式存储降低数据存储量的同时,对于数据的查询效率和查询准确率将会降低,因而现在亟须一种针对列式存储下的多时间序列的连接查询方法。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的一种列式存储下多时间序列的连接查询方法,包括:
步骤S1、将列式存储的多个时间序列划分为多个待查询序列和多个过滤序列,所述时间序列包括时间戳序列和数据值序列;
步骤S2、从每一过滤序列的时间戳序列中筛选出每一过滤序列满足预设过滤条件的时间戳;
步骤S3、基于每一过滤序列满足所述预设过滤条件的时间戳,对所述查询序列进行遍历,获取连接查询结果,所述连接查询结果为查询序列的时间戳以及查询序列的时间戳对应的数据值。
其中,步骤S2包括:
S21、获取每一过滤序列对应的过滤条件,所述过滤条件包括时间戳限制和数据值限制;
S22、对于每一过滤序列,存储所述过滤序列的时间戳序列中的时间戳满足所述时间戳限制并且所述时间戳对应的数据值同时满足所述数据值限制的时间戳。
其中,步骤S22具体包括:
同时对每一过滤序列时间戳序列中的时间戳和过滤序列数据值序列的数据值进行批量读取,所述批量读取为每次读取预设数量的时间戳和数据值,直至所述时间戳序列中的时间戳和数据值序列的数据值全部被读取完;
基于读取结果,分别存储每一过滤序列满足过滤条件的时间戳。
其中,步骤S3包括:
S31、在每一过滤序列满足过滤条件的时间戳中,筛选出所有过滤序列共有的第一时间戳;
S32、在所述查询序列中遍历,获取所述查询序列的时间戳序列中与所述第一时间戳相同的第二时间戳;
S33、将所述第二时间戳以及所述第二时间戳对应的数据值作为连接查询结果。
其中,步骤S31包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711322631.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:光伏组件PID修复电路
- 下一篇:模型训练方法及装置