[发明专利]一种任务处理方法及系统、装置、计算机存储介质在审
申请号: | 201910817807.7 | 申请日: | 2019-08-30 |
公开(公告)号: | CN110647395A | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 于连宇;马鹏程;王晓勇;李志刚 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/14 |
代理公司: | 11270 北京派特恩知识产权代理有限公司 | 代理人: | 王姗姗;张颖玲 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存数据 分布式存储服务器 计算机存储介质 任务处理 替代 检测 退出 申请 | ||
本申请公开了一种任务处理方法及系统、装置、计算机存储介质,其中,所述方法包括:检测到有分布式容器非正常退出时,确定目标分布式容器;确定所述目标分布式容器的可替代容器;从分布式存储服务器中获取所述目标分布式容器的缓存数据;控制所述可替代容器基于所述缓存数据完成所述目标分布式容器的任务。
技术领域
本发明涉及数据处理技术,具体涉及一种任务处理方法及系统、装置、计算机存储介质。
背景技术
Spark是一种应用广泛的分布式内存计算引擎。Spark的内存计算是指在分布式运算中,当内存够用的情况下,尽量使用内存而不将数据溢出磁盘。这种计算模型大大提升了分布式运算的性能,尤其是操作的所有数据都预先缓存在内存中时,即时查询性能的优势更加明显。
预先缓存是指在计算前内存中已经缓存了要计算的数据在分布式容器中,计算时只需要从本地读取并且进行用户指定的运算。这种方法有一个明显的漏洞就是分布式容器程序有可能因某些原因停止运行,比如计算过程中大量未预期的内存使用而使内存超出设定值溢出,再比如单纯的硬件故障,而当分布式容器非正常退出时,Spark的内存计算提供的查询性能是低效的。
发明内容
有鉴于此,本发明提供一种任务处理方法及系统、装置、计算机存储介质,能降低容器非正常退出时对Spark的内存计算的影响。
为达到上述目的,本发明的技术方案是这样实现的:
本申请的技术方案是这样实现的:
本申请实施例还提供了一种任务处理方法,包括:
检测到有分布式容器非正常退出时,确定目标分布式容器;
确定所述目标分布式容器的可替代容器;
从分布式存储服务器中获取所述目标分布式容器的缓存数据;
控制所述可替代容器基于所述缓存数据完成所述目标分布式容器的任务。
上述方案中,可选地,所述确定所述目标分布式容器的可替代容器,包括:
根据可用服务器的优先级列表,确定一个可用服务器作为可替代容器。
上述方案中,可选地,所述从分布式存储服务器中获取所述目标分布式容器的缓存数据,包括:
定位重建所述目标分布式容器任务需要的所有文件的位置;
控制所述可替代容器从所述位置读取所述文件以获取所述目标分布式容器在所述分布式存储服务器中的缓存数据;
其中,所述目标分布式容器在完成初始化工作后,将初始化后数据作为缓存数据备份至所述分布式存储服务器中。
上述方案中,可选地,所述控制所述可替代容器基于所述缓存数据完成所述目标分布式容器的任务,包括:
控制所述可替代容器基于所述缓存数据在本地内存进行任务重建。
上述方案中,可选地,所述控制所述可替代容器基于所述缓存数据在本地内存进行任务重建之后,所述方法还包括:
通知内存管理器。
本申请实施例还提供了一种任务处理系统,包括:
分布式存储服务器,用于存储缓存数据;
分布式计算引擎,用于检测到有分布式容器非正常退出时,确定目标分布式容器;确定所述目标分布式容器的可替代容器;从分布式存储服务器中获取所述目标分布式容器的缓存数据;控制所述可替代容器基于所述缓存数据完成所述目标分布式容器的任务。
上述方案中,可选地,所述分布式计算引擎,还用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910817807.7/2.html,转载请声明来源钻瓜专利网。