[发明专利]一种在REDIS上实现的存储大量时序数据的方法有效
申请号: | 201711214010.5 | 申请日: | 2017-11-28 |
公开(公告)号: | CN108052551B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 徐汕;刘强;单酉;刘明;童奥;黄文峰;姜桥 | 申请(专利权)人: | 北京航天云路有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/24;G06F16/2458 |
代理公司: | 北京纽乐康知识产权代理事务所(普通合伙) 11210 | 代理人: | 李立娟 |
地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种在REDIS上实现的存储大量时序数据的方法,该方法包括:基于Redis的SDS数据结构实现Gorilla压缩算法;基于Redis对象“redisObject”实现时间序列存储对象“TimeSeries”用来管理一个时间序列相关数据的存储;将时序数据的键值经过压缩后存储到Redis字典中;在Reids中实现基于时序数据对象的CRUD操作。本发明的有益效果:首先Redis时序数据存储方法可实现快速写入,单点插入可实现每秒20,000条;其次,借鉴Gorilla压缩算法的基础上将时序数据压缩存储到Redis中,节省了存储空间,从而节省成本;最后,Redis时序数据存储方法每秒能存储千万级的数据,并能毫秒级返回基于这些数据的查询,减少网络卡顿、网络延迟情况。 | ||
搜索关键词: | 一种 redis 实现 存储 大量 时序 数据 方法 | ||
【主权项】:
1.一种在REDIS上实现的存储大量时序数据的方法,其特征在于,包括以下步骤:S1 基于Redis的SDS数据结构实现Gorilla压缩算法:首先实现基础的数据流对象“timeSeriesStream”,然后基于Gorilla算法先对插入数据进行压缩运算,将结果以二进制的形式插入的SDS数据结构中,创建iterator数据结构;S2基于Redis对象“redisObject”实现时间序列存储对象“TimeSeries”,“TimeSeries”用来管理一个时间序列相关数据的存储,通过Redis字典结构以Key Value的形式记录所有时序数据内容, 其中,Key 为时序数据的唯一标识符,Value为“timeSeriesStream”数据结构;S3 将时序数据的键值经过压缩后存储到Redis字典中,启用二进制压缩算法,将整个字典进行压缩存储;S4 在Reids的命令解析层面中实现基于时序数据对象的CRUD操作;S5 基于Redis的RDB协议实现时序数据的持久化存储,将整个“timeSeriesStream”数据结构中的SDS结构以二进制的形式存储到RDB数据库中,并记录插入的中间状态;S6 基于Redis的AOF持久化协议实现持久化存储,包括解析对应的相关命令,并以AOF文件格式存储;S7 结合Redis Cluster 实现分布式高并发:实现时序数据标识的一致性Hash算法,根据计算得到的Hash值与群集节点id将不同时序标识和对应数据分配存储到不同节点,并通过Redis主备技术实现数据冗余。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航天云路有限公司,未经北京航天云路有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711214010.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种双通道对称输出的永磁发电机
- 下一篇:用于多规格螺母的保载试验夹具