[发明专利]一种用于减少内存开销的数据处理方法、装置及存储介质在审
申请号: | 202010595146.0 | 申请日: | 2020-06-24 |
公开(公告)号: | CN113835872A | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 慕伟虎 | 申请(专利权)人: | 北京小米移动软件有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F3/06;G06F16/174 |
代理公司: | 北京名华博信知识产权代理有限公司 11453 | 代理人: | 白莹 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 减少 内存 开销 数据处理 方法 装置 存储 介质 | ||
1.一种用于减少内存开销的数据处理方法,其特征在于,应用于电子设备,包括:
在数据压缩过程中,确定至少一原始数据块与压缩数据块的对应关系;
根据所述至少一原始数据块的容量分配用于存储相应压缩数据块的内存空间;所述至少一原始数据块的容量与所述用于存储相应压缩数据块的内存空间的容量呈正比。
2.如权利要求1所述的数据处理方法,其特征在于,
所述方法还包括:确定所述至少一原始数据块的压缩类型,所述类型包括完全压缩类型和部分压缩类型,统计待处理数据段中包含的压缩类型相同的多个原始数据块;
为所述压缩类型相同的多个原始数据块同时分配缓存区间,在压缩完成后同时释放所述缓存空间。
3.如权利要求1所述的数据处理方法,其特征在于,
所述方法还包括:
在模拟解压过程中,标记各压缩数据块是否具有就地解压标识;
在实际解压过程中,判断压缩数据块中是否携带就地解压标识,在携带就地解压标识时,使用虚拟文件系统分配的内存页用于存储解压数据,在未携带就地解压标识时,确定需申请的用于存储解压数据的内存空间的容量,在所述容量大于当前可用内存块中最大连续空闲空间容量时,申请新的内存空间用于存储解压数据。
4.如权利要求1所述的数据处理方法,其特征在于,
所述方法还包括:
在压缩数据块的信息索引文件中记录所述压缩数据块对应的多个未压缩的原始数据块的标识;
在数据解压缩过程中,读取一压缩数据块到内存;根据所述压缩数据块的信息索引文件,确定所述压缩数据块对应的多个未压缩的原始数据块;
为每个原始数据块分配内存页;
将为所述原始数据块配置的内存页映射到连续地址的虚拟空间;
调用解压缩算法对所述虚拟空间中的数据进行解压缩。
5.如权利要求4所述的数据处理方法,其特征在于,
根据所述压缩数据块的信息索引文件,确定所述压缩数据块对应的多个未压缩的原始数据块,包括:
根据所述压缩数据块的信息索引文件中原始数据块的类型信息和位置信息,确定所述压缩数据块对应的多个未压缩的原始数据块;
所述类型信息包括:起始数据块类型和非起始数据块类型;所述位置信息包括各个非起始数据块相比于起始数据块的位置指示信息。
6.一种用于减少内存开销的数据处理装置,其特征在于,应用于电子设备,包括:
第一确定模块,被配置为在数据压缩过程中,确定至少一原始数据块与压缩数据块的对应关系;
第一分配模块,被配置为根据所述至少一原始数据块的容量分配用于存储相应压缩数据块的内存空间;所述至少一原始数据块的容量与所述用于存储相应压缩数据块的内存空间的容量呈正比。
7.如权利要求6所述的数据处理装置,其特征在于,
所述装置还包括:
第二确定模块,被配置为确定所述至少一原始数据块的压缩类型,所述类型包括完全压缩类型和部分压缩类型;
统计模块,被配置为统计待处理数据段中包含的压缩类型相同的多个原始数据块;
第二分配模块,被配置为所述压缩类型相同的多个原始数据块同时分配缓存区间,在压缩完成后同时释放所述缓存空间。
8.如权利要求6所述的数据处理装置,其特征在于,
所述装置还包括:
标记模块,用于在模拟解压过程中,标记各压缩数据块是否具有就地解压标识;
判断模块,用于在实际解压过程中,判断压缩数据块中是否携带就地解压标识;
存储模块,用于在携带就地解压标识时,使用虚拟文件系统分配的内存页用于存储解压数据,在未携带就地解压标识时,确定需申请的用于存储解压数据的内存空间的容量,在所述容量大于当前可用内存块中最大连续空闲空间容量时,申请新的内存空间用于存储解压数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010595146.0/1.html,转载请声明来源钻瓜专利网。