[发明专利]一种内存空间管理方法、装置、电子设备及存储介质在审
申请号: | 202110356552.6 | 申请日: | 2021-04-01 |
公开(公告)号: | CN115168243A | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 黄俊;秦周;邓鸿俊;刘通 | 申请(专利权)人: | 深圳开立生物医疗科技股份有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 张金香 |
地址: | 518057 广东省深圳市南山区粤海街道麻岭社区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存空间 管理 方法 装置 电子设备 存储 介质 | ||
本申请公开了一种内存空间管理方法,所述内存空间管理方法包括:分配内存池并为内存池设置头指针和尾指针;接收数据存储任务,并确定数据存储任务对应的待分配内存大小;判断尾指针与内存池的结束地址之间的空闲内存区域是否大于或等于待分配内存大小;若是,则将数据存储任务对应的新数据存储至尾指针与内存池的结束地址之间的空闲内存区域;若否,则将尾指针指向的地址更新为内存池的起始地址,并将数据存储任务对应的新数据存储至尾指针与头指针之间的空闲内存区域。本申请能够保证数据存储的连续性,提升存储系统性能。本申请还公开了一种内存空间管理装置、一种电子设备及一种存储介质,具有以上有益效果。
技术领域
本申请涉及数据存储技术领域,特别涉及一种内存空间管理方法、装置、一种电子设备及一种存储介质。
背景技术
随着云计算、大数据、物联网等技术的发展,数据的存储和传输越来越受到人们的重视。在数据处理过程中,若接收到上一节点传递来的输入数据,需要根据数据大小分配对应内存作为中间缓存。若数据处理环节的复杂较高,则需要进行多次的内存分配。
相关技术中,在接收到数据存储任务之后往往根据上一次数据存储的位置继续存储,可能会出现数据存储地址不连续的情况,影响存储系统性能。
因此,如何保证数据存储的连续性,提升存储系统性能是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种内存空间管理方法、装置、一种电子设备及一种存储介质,能够保证数据存储的连续性,提升存储系统性能。
为解决上述技术问题,本申请提供一种内存空间管理方法,该内存空间管理方法包括:
分配内存池并为所述内存池设置头指针和尾指针;其中,所述头指针指向所述内存池中已使用空间的起始地址,所述尾指针指向所述内存池中已使用空间的结束地址;
接收数据存储任务,并确定所述数据存储任务对应的待分配内存大小;
判断所述尾指针与所述内存池的结束地址之间的空闲内存区域是否大于或等于所述待分配内存大小;
若是,则将所述数据存储任务对应的新数据存储至所述尾指针与所述内存池的结束地址之间的空闲内存区域;
若否,则将所述尾指针指向的地址更新为所述内存池的起始地址,并将所述数据存储任务对应的新数据存储至所述尾指针与所述头指针之间的空闲内存区域。
可选的,还包括:
接收内存回收请求,并确定所述内存回收请求对应的待回收内存块;
判断所述待回收内存块是否为头部内存块或尾部内存块;其中,所述头部内存块是起始地址为所述头指针的内存块,所述尾部内存块是结束地址为所述尾指针的内存块;
若是,则回收所述待回收内存块和与所述待回收内存块相邻且被标记为已释放但未回收的内存块;
若否,则将所述待回收内存块标记为所述已释放内存块。
可选的,在将所述尾指针指向的地址更新为所述内存池的起始地址之后,还包括:
将更新地址前的尾指针与所述内存池的结束地址之间的空闲内存区域标记为所述已释放内存块。
可选的,所述内存块包括块头和数据区,所述块头包括数据长度和是否已释放标记,所述数据区用于存储接收的数据;
相应的,将所述待回收内存块标记为所述已释放内存块,包括:
在所述待回收内存块的块头中将所述待回收内存块标记为所述已释放内存块。
可选的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳开立生物医疗科技股份有限公司,未经深圳开立生物医疗科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110356552.6/2.html,转载请声明来源钻瓜专利网。