[发明专利]一种基于Redis的海量数据分类存储方法及系统有效
申请号: | 202110602830.1 | 申请日: | 2021-05-31 |
公开(公告)号: | CN113297224B | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 周单健;盛猛;林立 | 申请(专利权)人: | 上海艾麒信息科技股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F11/10 |
代理公司: | 上海段和段律师事务所 31334 | 代理人: | 李佳俊;郭国中 |
地址: | 201100 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 redis 海量 数据 分类 存储 方法 系统 | ||
1.一种基于Redis的海量数据分类存储方法,其特征在于,包括:
步骤S1:将数据分类,并为每一个类别数据定义一个数据类别ID;
步骤S2:针对每一种数据类别,根据对应的实际业务的数据规模,计算hash桶的数量N;
步骤S3:将数据标识ID、数据类别ID以及数据桶的数量N作为入参因子,进行hash计算,得到hash key以及field;
步骤S4:将数据标识ID对应的数据内容作为hash value;
步骤S5:将hash key、field以及hash value存储至redis中;
所述步骤S3中hash key包括:分别将数据标识ID、数据类型ID以及数据桶的数量N作为因子,使用hash算法A,计算出整数型的散列结果A,并将整数型的散列结果A作为redis的hash数据类型的hash key;
所述hash算法A是利用CRC32算法对数据标识ID进行分散计算后,再对hash桶数量进行求余计算,实现把不同的用户数据的key尽可能均匀的保存到不同的数据桶中;
所述整数型的散列结果A包括:
整数型的散列结果A=数据类别ID*数据桶的数量N+数据标识ID’;
所述数据标识ID’为通过对数据标识ID进行CRC算法计算后,再对hash桶数量求余;
所述步骤S3中field包括:将数据标识ID作为唯一因子,通过hash算法B计算出整数型的散列结果B;将散列结果B作为hash key的field;
所述hash算法B是利用BKDRHash算法对数据标识ID进行hash计算得到一个低碰撞的整数,使得保存到同一个数据桶中的不同用户数据的field不一样;
所述整数型的散列结果B利用BKDRHash算法对数据标识ID进行hash计算得到。
2.根据权利要求1所述的基于Redis的海量数据分类存储方法,其特征在于,所述步骤S2包括:
N=总数据量/512,N向上取整。
3.根据权利要求1所述的基于Redis的海量数据分类存储方法,其特征在于,还包括读取基于Redis分类存储的海量数据;
所述读取基于Redis分类存储的海量数据包括:根据数据标识ID、数据类别ID以及数据类别对应的hash桶数据量N作为入参因子,进行hash计算,得到hash key以及field;以hashkey和field入参,通过redis hash的hget命令从redis中读出hash value数据标识ID对应的数据内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海艾麒信息科技股份有限公司,未经上海艾麒信息科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110602830.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种固线机构及具有其的网络通讯柜
- 下一篇:一种高炉中部分段冷却系统构建方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置