[发明专利]一种在REDIS上实现的存储大量时序数据的方法有效
申请号: | 201711214010.5 | 申请日: | 2017-11-28 |
公开(公告)号: | CN108052551B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 徐汕;刘强;单酉;刘明;童奥;黄文峰;姜桥 | 申请(专利权)人: | 北京航天云路有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/24;G06F16/2458 |
代理公司: | 北京纽乐康知识产权代理事务所(普通合伙) 11210 | 代理人: | 李立娟 |
地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 redis 实现 存储 大量 时序 数据 方法 | ||
本发明公开了一种在REDIS上实现的存储大量时序数据的方法,该方法包括:基于Redis的SDS数据结构实现Gorilla压缩算法;基于Redis对象“redisObject”实现时间序列存储对象“TimeSeries”用来管理一个时间序列相关数据的存储;将时序数据的键值经过压缩后存储到Redis字典中;在Reids中实现基于时序数据对象的CRUD操作。本发明的有益效果:首先Redis时序数据存储方法可实现快速写入,单点插入可实现每秒20,000条;其次,借鉴Gorilla压缩算法的基础上将时序数据压缩存储到Redis中,节省了存储空间,从而节省成本;最后,Redis时序数据存储方法每秒能存储千万级的数据,并能毫秒级返回基于这些数据的查询,减少网络卡顿、网络延迟情况。
技术领域
本发明涉及工业物联网领域,具体来说,涉及一种在REDIS上实现的存储大量时序数据的方法。
背景技术
时序数据库用于存放时间序列(按时间顺序变化)的海量数据,并且需要支持时序数据的快速写入、持久化、多维度的聚合查询等基本功能。
在工业物联网领域,随着智能化改造进程的推进,大量设备的工况数据需要存储起来,数据量极大。这些数据不但要实时生成,写入存储;还要支持快速查询,做可视化的展示,帮助管理者分析决策;并且也能够用来做大数据分析,发现深层次的问题,帮助企业节能减排,增加效益。对此,面对海量数据,传统关系型数据库在存储时间序列数据时无法满足这些需求。
目前常用的时序数据库OpenTsdb底层使用Hbase作为其分布式存储引擎,采用的是LSM tree;Kairosdb底层使用Cassandra作为分布式存储引擎;在单机上InfluxDB采取类似于LSM tree的存储结构TSM。LSM tree核心思想就是通过内存写和后续磁盘的顺序写入获得更高的写入性能,避免了随机写入,但同时也牺牲了读取性能,因为同一个key的值可能存在于多个HFile中。时序数据库面向的是海量数据的写入存储读取,单机是无法解决问题的,所以需要采用多机存储,即分布式存储。
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型的高性能Key-Value数据库,并提供多种语言的API。redis是Nosql数据库中使用较为广泛的非关系型内存数据库,它支持复杂数据的存储,并显示出基于内存操作基础的高性能。
Gorilla是Facebook内存级别的时序数据库,通过采用delta-of-delta编码的时间戳、浮点型值的XOR等压缩运算减少了10倍左右的存储空间,每秒能存储千万级的数据,并能毫秒级返回基于这些数据的查询,与传统的基于Hbase的TSDB相比,查询耗时缩短了73倍,吞吐量提高了14倍。
发明内容
针对相关技术中的上述技术问题,在借鉴Gorilla压缩算法的基础上将时序数据压缩存储到Redis中,结合Redis的高并发,本身群集的支持,及高可用性特点,本发明提出一种在REDIS上实现的存储大量时序数据的方法,能够在Redis中存储大量时序数据。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种在REDIS上实现的存储大量时序数据的方法,包括以下步骤:
S1 基于Redis的SDS数据结构实现Gorilla压缩算法:首先实现基础的数据流对象“timeSeriesStream”,然后基于Gorilla算法先对插入数据进行压缩运算,将结果以二进制的形式插入的SDS数据结构中,创建iterator数据结构;
S2基于Redis对象“redisObject”实现时间序列存储对象“TimeSeries”,“TimeSeries”用来管理一个时间序列相关数据的存储,通过Redis字典结构以Key Value的形式记录所有时序数据内容, 其中,Key 为时序数据的唯一标识符,Value为“timeSeriesStream”数据结构;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航天云路有限公司,未经北京航天云路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711214010.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种双通道对称输出的永磁发电机
- 下一篇:用于多规格螺母的保载试验夹具