[发明专利]数据存储方法及装置有效

专利信息
申请号: 201410077706.8 申请日: 2014-03-05
公开(公告)号: CN104899204B 公开(公告)日: 2020-04-07
发明(设计)人: 王才平 申请(专利权)人: 腾讯科技(深圳)有限公司
主分类号: G06F16/22 分类号: G06F16/22
代理公司: 北京派特恩知识产权代理有限公司 11270 代理人: 蒋雅洁;张颖玲
地址: 518044 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据 存储 方法 装置
【说明书】:

发明公开一种数据存储方法,包括:获取待存储的数据;根据所述待存储的数据,获取所述待存储的数据对应的分段位图中的比特位;将所述待存储的数据对应的分段位图中的比特位置位为1;将比特位置位后的分段位图进行存储。本发明还公开一种数据存储装置。本发明相对于现有技术的数据存储方式进一步减少了存储空间。

技术领域

本发明涉及计算机领域,尤其涉及一种数据存储方法及装置。

背景技术

现有的数据分析中,一般采用Java、C++、Python等高级语言编写程序进行统计,例如分布式的MapReduce代码等。但是对于独立用户数的统计,目前最简单也是最常用的方式之一,是利用各类高级语言中的Set对象存储账户号码,最后取得Set的长度得到唯一值个数。例如Java语言实现的代码如下:

上述方法虽然简单、代码量少,但是在数据量大的情况下,Set对象将消耗过多的内存,甚至导致内存溢出。

发明内容

本发明实施例的主要目的是提供一种数据存储方法及装置,旨在减小存储空间。

为达到以上目的,本发明实施例提供了一种数据存储方法,包括以下步骤:

获取待存储的数据;

根据所述待存储的数据,获取所述待存储的数据对应的分段位图中的比特位;

将所述待存储的数据对应的分段位图中的比特位置位为1;

将比特位置位后的分段位图进行存储。

本发明实施例还提供了一种数据存储装置,包括:

数据获取模块,用于获取待存储的数据;

位置查找模块,用于根据所述待存储的数据,获取所述待存储的数据对应的分段位图中的比特位;

置位模块,用于将所述待存储的数据对应的分段位图中的比特位置位为1;

存储模块,用于将比特位置位后的分段位图进行存储。

本发明通过将待存储的数据添加到位图的对应分段位图进行存储,相对于现有技术的HashSet方式,占用更小的内存,且更为高效。而且通过序列化压缩方法,进一步减少了占用空间。同时,在将待存储的数据添加到位图中时,已经按统一的运算规则分别添加到有序的段位图中,则整个位图可以很方便地将所有的数据有序导出。因此,本发明采用分段位图的存储方式,既能高效和方便的存储,又使得数据可以有序的取出。

附图说明

图1是本发明数据存储方法所应用的的终端硬件架构示例图;

图2是本发明数据存储方法一实施例的流程示意图;

图3是本发明数据存储方法中分段位图的结构示例图;

图4是本发明数据存储方法中另一实施例存储位图的流程示意图;

图5是本发明数据存储方法中找出每个段位图中最左边的第1个非空闲位与最右边的第1个非空闲位的位图示例图;

图6a是采用本发明数据存储方法中的分段位图方式存储数据时的时间消耗与采用HashSet方式、整段位图方式存储数据时的时间消耗比对示例图;

图6b是采用本发明数据存储方法中的分段位图方式存储数据时的内存消耗与采用HashSet方式、整段位图方式存储数据时的内存消耗比对示例图;

图7是本发明数据存储方法中位图的表示结构示例图;

图8是本发明数据存储方法另一实施例的流程示意图;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410077706.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top