[发明专利]数据存储方法、装置及设备有效
申请号: | 201810943032.3 | 申请日: | 2018-08-17 |
公开(公告)号: | CN109117273B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 赵森;曹宝山 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/02 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 装置 设备 | ||
本申请公开了一种数据存储方法、装置及设备,在该方法中,获取会待存储到内存中的目标数据及目标数据的数据量之后,根据该数据量,从设定的内存块的多种容量规格中,确定能够容纳目标数据且剩余空间最小的内存块所具有的目标容量规格;依据该多种容量规格,构建总容量不小于数据量的至少一种内存块组合,内存块组合包括至少一种容量规格的内存块及每种容量规格的内存块的数量,且内存块组合中内存块的总数量为多个;确定总容量最小的目标内存块组合;当目标内存块组合的总容量小于目标容量规格表征的容量时,将目标数据存储到与目标内存块组合对应的多个目标内存块中。本申请的方案可以减少内存中出现的内存碎片,提高内存使用率。
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种数据存储方法、装置及设备。
背景技术
程序、进程、应用、代码、函数等运行时需使用内存,向内存中存储数据。为了合理利用内存,需要进行内存管理。
目前的内存管理机制是将内存分为若干个内存页,每个内存页的容量大小相同,如,每个内存页的大小为1MB,而内存页被进一步划分为若干个等大小的内存块(也称为内存片),内存块是内存管理的最小单元,不同内存页中内存块的大小规格可能会不同。如,内存块按照所能存储的数据大小,可以分为32B(B表示字节)、64B、128B、512B、1KB等多种规格。在现有内存管理机制下,在向内存中存储数据时,需要根据该数据的大小,确定出能够容纳该数据的内存块的规格,并将该数据存储到相应规格的内存块中。如,待存储的数据大小为80B,而内存块的规格有64B和128B、,那么能够容纳该数据的内存块的规格为128B,则会将数据存储到128B的内存块中。
然而当将数据存储到内存块之后,该内存块中就不会存储该数据之外的其他数据,这样,当内存块的内存大小大于该内存块所存储的数据的大小时,内存块中就会剩余部分不可用的内存,也就是俗称的内存碎片,导致内存浪费。如,在128B的内存块中存储80B的数据,则该128B的内存块中就会存在48B的内存碎片。而且,当内存中容量大小贴近待存储数据的数据量大小且能够容纳该待存储数据的内存块均未处于空闲状态(内存块已存储有数据或者由于其他原因导致不可用),则需要选用容量较大的内存块存储较少的数据,这样必然会产生导致出现较多的内存碎片,从而导致较多的内存浪费。
发明内容
有鉴于此,本发明实施例提供了一种数据存储方法、装置及设备,以实现更为合理的向内存中存储数据,减少内存中出现的内存碎片,提高内存使用率,降低内存浪费。
为实现上述目的,本发明实施例提供如下技术方案:一种数据存储方法,包括:
获取待向内存中存储的目标数据以及所述目标数据的数据量;
根据所述目标数据的数据量,从设定的内存块的多种容量规格中,确定能够容纳所述目标数据且剩余空间最小的内存块所具有的目标容量规格,内存块的容量规格表征内存块的容量大小;
依据设定的内存块的多种容量规格,构建总容量不小于所述目标数据的数据量的至少一种内存块组合,内存块组合包括:至少一种容量规格的内存块以及每种容量规格的内存块的数量,且内存块组合中内存块的总数量为多个,内存块组合的总容量为该内存块组合中各内存块的容量规格表征的容量之和;
从所述至少一种内存块组合中,确定总容量最小的目标内存块组合;
当所述目标内存块组合的总容量小于所述目标容量规格所表征的容量时,将所述目标数据存储到与所述目标内存块组合中至少一种容量规格以及每种容量规格的内存块的数量匹配的多个目标内存块中。
在一种实现方式中,该数据存储方法还可以包括:当所述内存块组合的总容量不小于所述目标容量规格所表征的容量时,将所述目标数据存储到所述内存中具有所述目标容量规格的目标内存块中。
又一方面,本申请还提供了一种数据存储装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810943032.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置