[发明专利]数据存储方法及装置在审
申请号: | 201711332695.3 | 申请日: | 2017-12-13 |
公开(公告)号: | CN108009025A | 公开(公告)日: | 2018-05-08 |
发明(设计)人: | 周应超;张震 | 申请(专利权)人: | 北京小米移动软件有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京尚伦律师事务所 11477 | 代理人: | 代治国 |
地址: | 100085 北京市海淀区清河*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 装置 | ||
本公开是关于一种数据存储方法及装置。该方法包括:在参考进程请求存储参考数据时,获取所述参考数据的哈希值;根据所述参考数据的哈希值查询预设映射表,确定所述预设映射表中是否包括与所述参考数据的哈希值对应的参考内存块,所述预设映射表存储有多个内存块与所述多个内存块中每个内存块存储数据的哈希值之间的映射关系;若所述预设映射表中包括与所述参考数据的哈希值对应的参考内存块,将所述参考内存块返回给所述参考进程。该技术方案中,根据数据的哈希值为数据分配内存块,避免了为相同的数据重复分配不同的内存块进行存储的情况,即避免了相同数据的重复存储,提高了存储资源的利用率。
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据存储方法及装置。
背景技术
相关技术中,同一个设备上可以运行多个虚拟操作系统,不同的虚拟操作系统面向不同的用户,因此多个不同用户可以在同一个设备上使用不同的虚拟操作系统。但是不同的用户可能在不同的虚拟操作系统中安装相同的应用,而每个虚拟操作系统独立存储本身的数据,所以在设备侧对于同一应用可能存储有多份相同的数据,导致设备侧重复存储的数据较多,存储资源的有效利用率较低。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种数据存储方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种数据存储方法,包括:
在参考进程请求存储参考数据时,获取所述参考数据的哈希值;
根据所述参考数据的哈希值查询预设映射表,确定所述预设映射表中是否包括与所述参考数据的哈希值对应的参考内存块,所述预设映射表存储有多个内存块与所述多个内存块中每个内存块存储数据的哈希值之间的映射关系;
若所述预设映射表中包括与所述参考数据的哈希值对应的参考内存块,将所述参考内存块返回给所述参考进程。
本公开的实施例提供的技术方案可以包括以下有益效果:根据数据的哈希值为数据分配内存块,避免了为相同的数据重复分配不同的内存块进行存储的情况,即避免了相同数据的重复存储,提高了存储资源的利用率。
在一个实施例中,所述方法还包括:
若所述预设映射表中不包括与所述参考数据的哈希值对应的参考内存块,将所述参考数据存储在第一内存块中;
将所述第一内存块返回给所述参考进程。
在一个实施例中,所述方法还包括:
根据所述参考数据的哈希值与所述第一内存块,更新所述预设映射表,使得更新后所述预设映射表包括所述参考数据的哈希值到所述第一内存块的映射。
在一个实施例中,所述若所述预设映射表中包括与所述参考数据的哈希值对应的参考内存块,将所述参考内存块返回给所述参考进程包括:
若所述预设映射表中包括与所述参考数据的哈希值对应的参考内存块,获取所述参考内存块当前存储的已存数据;
确定所述已存数据与所述参考数据是否相同;
若所述已存数据与所述参考数据相同,将所述参考内存块返回给所述参考进程。
在一个实施例中,所述方法还包括:
若所述已存数据与所述参考数据不同,将所述参考数据存储在第二内存块中;
将所述第二内存块返回给所述参考进程。
在一个实施例中,所述参考内存块设置有调用计数器;所述方法还包括:
在将所述参考内存块返回给所述参考进程之后,指示所述调用计数器执行加1操作。
在一个实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711332695.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防止烟草外植体褐化的方法
- 下一篇:一种烘干输送机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置