[发明专利]内存管理方法、装置、设备及存储介质在审
申请号: | 201911378491.2 | 申请日: | 2019-12-27 |
公开(公告)号: | CN113051066A | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 方孝健 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 张爱;刘戈 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 管理 方法 装置 设备 存储 介质 | ||
本申请实施例提供一种内存管理方法、装置、设备及存储介质。在内存管理方法中,进程中的第一算子申请内存空间时,若内存池中剩余的可用内存空间小于第一算子申请的内存空间,那么可从该进程中找出占用的内存空间大于其运行依赖的内存空间的目标算子。目标算子可释放其占用的内存空间中大于其运行依赖的内存空间的部分,也就是目标算子释放其多占的内存空间,直至内存池中剩余的可用内存空间满足第一算子的申请需求。基于这种实施方式,可有效地提升内存空间的利用率,有利于提升算子执行的任务的处理效率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种内存管理方法、装置、设备及存储介质。
背景技术
通常,数据库接收到查询任务时,会生成查询任务对应的执行计划。执行计划包括多个算子,每个算子可向数据库申请一定的内存,以执行对应的查询任务。
现有技术提供的为算子分配内存的方法,对内存的利用率较低,不利于提升查询效率。因此,一种解决方案亟待提出。
发明内容
本申请的多个方面提供一种内存管理方法、装置、设备及存储介质,用以有效地提升内存的利用率。
本申请实施例还提供一种内存管理方法,包括:接收进程中的第一算子申请第一内存空间的请求消息;若内存池中剩余可用的内存空间小于所述第一内存空间,则从所述进程中筛选出目标算子,所述目标算子占用的内存空间大于其运行依赖的内存空间;将所述目标算子占用的内存空间中大于其运行依赖的内存空间的部分进行释放,直至所述内存池中剩余的可用内存空间大于或者等于所述第一内存空间;从所述内存池中为所述第一算子分配所述第一内存空间。
本申请实施例还提供一种内存管理装置,包括:消息接收模块,用于接收进程中的第一算子申请第一内存空间的请求消息;算子筛选模块,用于若内存池中剩余可用的内存空间小于所述第一内存空间,则从所述进程中筛选出目标算子,所述目标算子占用的内存空间大于其运行依赖的内存空间;内存释放模块,用于将所述目标算子占用的内存空间中大于其运行依赖的内存空间的部分进行释放,直至所述内存池中剩余的可用内存空间大于或者等于所述第一内存空间;内存分配模块,用于从所述内存池中为所述第一算子分配所述第一内存空间。
本申请实施例还提供一种内存管理设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于执行本申请实施例提供的内存管理方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现本申请实施例提供的内存管理方法。
本申请实施例中,向目标算子索取内存空间时,保留了目标算子运行依赖的内存空间,不影响目标算子的处理效率,同时,内存池中增加的可用内存空间可供申请内存空间的其他算子使用,进而有效地提升了内存空间的利用率,有利于提升算子执行的任务的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的内存管理方法的流程示意图;
图2a是本申请一示例性实施例提供的内存空间划分的示意图;
图2b为本申请另一示例性实施例提供的内存管理方法的流程示意图;
图3为本申请一示例性实施例提供的内存管理装置的结构示意图;
图4为本申请一示例性实施例提供的内存管理设备的流程示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911378491.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种对称钠离子电池及其制备方法
- 下一篇:一种散热装置及服务器