一种节省内存的数据存储方法技术

技术编号:17779633 阅读:52 留言:0更新日期:2018-04-22 08:06
本发明专利技术公开了一种节省内存的数据存储方法,将源数据压缩,生成压缩数据;计算该压缩数据中各行的总体压缩长度;调用当前的最大内存块;根据该各行的总体压缩长度计算该最大内存块可存储的压缩数据行数;向系统申请该行数的数据所需的内存块;接收系统分配的内存块,并将该行数的压缩数据存储至该内存块中。本发明专利技术解决了现有技术存在的在进行压缩处理时由于系统内存在碎片或是没有足够大的内存空间,为存储源数据分配足够大的内存不成功,就无法继续进行作业数据处理的问题,提供一种节省内存的数据存储方法,其应用时通过取消对系统大块连续内存的应用请求,在系统内存存在碎片时,申请大块存储内存不成功后,仍可以进行大块数据的压缩存储处理。

【技术实现步骤摘要】
一种节省内存的数据存储方法
本专利技术涉及数据存储,具体涉及一种节省内存的数据存储方法。
技术介绍
对于特别复杂的作业,都会占用大量的系统内存,因此作业数据通常都需要做压缩处理,以便节省内存。现有技术中的压缩方法是:为压缩功能模块分配一个足够大的压缩工作内存,用于存储压缩后生成的压缩数据,当压缩功能模块压缩完毕,返回压缩数据长度,应用程序释放源数据占用的内存空间,然后根据总体长度向系统申请压缩数据长度大小的内存,并将压缩工作内存中的压缩后数据复制到申请到的内存中。但是对于复杂的作业,在某种情况下,由于系统内存在碎片或是没有足够大的内存空间,为存储源数据分配足够大的内存不成功,就无法继续进行作业数据处理,同时为了存储压缩后的数据向系统申请压缩数据长度大小的内存不成功也无法进行数据处理,公知的解决方法是尝试使用另一种压缩比较高的压缩算法去重新压缩源数据,并重新向系统申请压缩数据长度大小的内存,若此时还是不成功,则仍然无法继续进行作业数据处理。
技术实现思路
本专利技术解决了现有技术存在的在进行压缩处理时由于系统内存在碎片或是没有足够大的内存空间,为存储源数据分配足够大的内存不成功,就无法继续本文档来自技高网...

【技术保护点】
一种节省内存的数据存储方法,其特征在于,依次进行以下步骤,A:将源数据压缩,生成压缩数据;B:计算该压缩数据中各行的总体压缩长度;C:调用当前的最大内存块;D:根据该各行的总体压缩长度计算该最大内存块可存储的压缩数据行数;E:向系统申请该行数的数据所需的内存块;F:接收系统分配的内存块,并将该行数的压缩数据存储至该内存块中。

【技术特征摘要】
1.一种节省内存的数据存储方法,其特征在于,依次进行以下步骤,A:将源数据压缩,生成压缩数据;B:计算该压缩数据中各行的总体压缩长度;C:调用当前的最大内存块;D:根据该各行的总体压缩长度计算该最大内存块可存储的压缩数据行数;E:向系统申请该行数的数据所需的内存块;F:接收系统分配的内存块,并将该行数的压缩数据存储至该内存块中。2.根据权利要求1所述的一种节省内存的数据存储方法,其特征在于,所述步骤A之前还进行步骤G:进行系统初始化,为源数据分配一个内存块,为压缩功能分配一内存块。3.根据权利要求1所述的一种节省内存的...

【专利技术属性】
技术研发人员:石文威
申请(专利权)人:安徽科创智慧知识产权服务有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1