[发明专利]基于Redis的数据存储方法、读取方法及装置有效
申请号: | 201810274998.2 | 申请日: | 2018-03-30 |
公开(公告)号: | CN108509592B | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 韦吉云;李晓鹏;张云;杨阳 | 申请(专利权)人: | 贵阳朗玛信息技术股份有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/174 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 550022 贵州省贵阳市贵阳国家高新技术产业*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 redis 数据 存储 方法 读取 装置 | ||
本发明属于数据存储技术领域,具体涉及到基于Redis的数据存储方法、读取方法及装置。该数据存储方法包括:设置第Ⅰ单位时间ts的值,并设置该第Ⅰ单位时间内统计数据的最大值;将位图划分成m个连续的有一定位宽的数据段;读取统计数据过程中当前时间的时间戳ct,并根据fn=[(ct‑st)/ts]*L+LS+LT,计算得出统计数据过程中当前时间的时间戳ct对应的偏移量fn;根据计算得出的偏移量fn,将统计数据过程中当前时间的时间戳ct对应的当前统计数值v的二进制数据累加到与偏移量fn对应的数据段内的数值上等。该存储方法可用于对大量统计数据的实时存储等。
技术领域
本发明属于数据存储技术领域,具体涉及到基于Redis的数据存储方法、读取方法及装置。
背景技术
现有技术中,对统计数据的存储采用的是单文件存储或者多文件存储。使用单文件存储:文件占用空间增长速度快,海量数据检索不方便,Map/Reduce操作也麻烦;使用多文件存储:需要对文件进行分割,文件量过大。无论是单文件存储还是多文件存储,都存在文件占用空间较大、读取或检索数据不方便等问题。
发明内容
为了解决上述技术问题,本发明提供基于Redis的数据存储方法、读取方法及装置,该存储方法可用于对大量统计数据的实时存储等,其占用存储空间小、存储位置与时间相关联、存储效率高、更方便后续的读取。
本发明提供如下技术方案:
一方面,本发明实施例中提供一种基于Redis的数据存储方法,其包括以下步骤:
设置第Ⅰ单位时间ts的值,并设置该第Ⅰ单位时间内统计数据的最大值;
将位图划分成m个连续的有一定位宽的数据段;m为大于或等于3的整数;其中,第一个数据段的位宽为LS,第二个数据段的位宽为LT;第一个数据段的偏移量f1为0,第二个数据段的偏移量f2为LS,第n个数据段的偏移量fn=[(ct-st)/ts]*L+LS+LT;其中,L为第三个及其之后的数据段的位宽,且L为大于或等于1的整数,且位宽为L的数据段可存取的最大数据大于或等于所述第Ⅰ单位时间内统计数据的最大值;ct为统计数据过程中当前时间的时间戳,且ct是随时间变化而变化的,st为统计数据开始时间的时间戳,ct≥st,ct、st、ts的时间单位一致,且(ct-st)/ts为向下整除运算,n为大于或等于3的整数;
读取统计数据开始时间的时间戳st,并将统计开始时间的时间戳st的二进制数据存储到与偏移量f1对应的数据段内;
读取统计数据过程中当前时间的时间戳ct,并根据fn=[(ct-st)/ts]*L+LS+LT,计算得出统计数据过程中当前时间的时间戳ct对应的偏移量fn;
根据计算得出的偏移量fn,将统计数据过程中当前时间的时间戳ct对应的当前统计数值v的二进制数据累加到与偏移量fn对应的数据段内的数值上;
将统计数据过程中当前时间的时间戳ct对应的当前统计数值v的二进制数据累加到与偏移量f2对应的数据段内的数值上。
本发明还提供一种基于Redis的数据读取方法,其包括以下步骤:
S101:确定位图中需要提取的数据所处的时间的时间戳at;
S102:判断at是否小于st或者at是否大于所述位图中偏移量最大的数据段对应的时间,st为统计数据开始时间的时间戳;
S103:如果at小于st或者at大于所述位图中偏移量最大的数据段对应的时间,则读取的值为0;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵阳朗玛信息技术股份有限公司,未经贵阳朗玛信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810274998.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置