[发明专利]内存管理方法、装置、设备及存储介质有效
申请号: | 202110845682.6 | 申请日: | 2021-07-26 |
公开(公告)号: | CN113296962B | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 谢成亮 | 申请(专利权)人: | 阿里云计算有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 刘戈;孙明子 |
地址: | 310012 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 管理 方法 装置 设备 存储 介质 | ||
1.一种内存管理方法,包括:
利用中央内存管理器获取数据处理请求,建立所述数据处理请求所对应的至少一个待写出线程,确定所述至少一个待写出线程各自对应的本地内存管理器;
在本地内存管理器执行所述待写出线程时,确定所述待写出线程所对应的内存开销信息,并将所述待写出线程所对应的内存开销信息发送至中央内存管理器;
利用中央内存管理器基于所有待写出线程所对应的内存开销信息进行内存管理操作;
所述方法还包括:
利用本地内存管理器获取所述待写出线程所对应的数据处理状态,在所述数据处理状态为处理完毕时,则生成全局内存查询请求,并将所述全局内存查询请求发送至中央内存管理器;
利用中央内存管理器基于所述全局内存查询请求和所有待写出线程所对应的内存开销信息,确定全局内存信息,并基于所述全局内存信息进行内存管理操作;其中,基于所述全局内存信息进行内存管理操作包括:基于所述全局开销信息控制至少一部分的待写出线程执行数据刷盘操作。
2.根据权利要求1所述的方法,在本地内存管理器执行所述待写出线程时,确定所述待写出线程所对应的内存开销信息,包括:
在利用所述本地内存管理器执行所述待写出线程时,记录所述待写出线程所对应的数据写出行数;
在所述数据写出行数满足设定阈值时,确定所述待写出线程所对应的内存开销信息。
3.根据权利要求2所述的方法,所述待写出线程包括parquet写出线程;确定所述待写出线程所对应的内存开销信息,包括:
利用反射机制调用parquet算法内包括的内存计算接口;
基于所述内存计算接口,确定所述待写出线程所对应的内存开销信息。
4.根据权利要求1所述的方法,建立所述数据处理请求所对应的至少一个待写出线程,包括:
确定所述数据处理请求所对应的待处理数据;
对所述待处理数据进行批次划分操作,获得至少一批子数据;
基于所述至少一批子数据,建立至少一个待写出线程。
5.根据权利要求1所述的方法,基于所述全局内存信息进行内存管理操作,包括:
在所述全局内存信息大于或等于预设内存阈值时,则获取所有待写出线程各自对应的全局内存占比信息;
基于所述全局内存占比信息,在所有待写出线程中确定设定数量的目标处理线程,所有目标处理线程所对应的全局内存占比信息大于或等于预设阈值;
控制所述目标处理线程执行数据刷盘操作。
6.根据权利要求5所述的方法,控制所述目标处理线程执行数据刷盘操作,包括:
生成与所述目标处理线程相对应的线程列表,所述线程列表中包括所有目标处理线程所对应的目标文件句柄描述;
将所述线程列表发送至所有的本地内存管理器,以使所述本地内存管理器基于所述线程列表控制所述目标处理线程执行数据刷盘操作。
7.根据权利要求6所述的方法,基于所述线程列表控制所述目标处理线程执行数据刷盘操作,包括:
获取本地待写出线程所对应的文件句柄描述;
在所述线程列表中包括与所述文件句柄描述相匹配的目标文件句柄描述时,则控制与所述目标文件句柄描述相对应的目标处理线程执行数据刷盘操作;
在所述线程列表中不包括与所述文件句柄描述相匹配的目标文件句柄描述时,则忽略所述线程列表。
8.根据权利要求1-7中任意一项所述的方法,建立所述数据处理请求相对应的至少一个待写出线程,包括:
获取所述数据处理请求所对应的数据写入方式;
在所述数据写入方式为流式写入方式时,则获取所述数据处理请求相对应的临时文件;
在所述临时文件的数据量满足文件切换阈值时,则将所述临时文件转换为parquet文件;
基于所述parquet文件生成所述数据处理请求相对应的至少一个待写出线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110845682.6/1.html,转载请声明来源钻瓜专利网。