作业调度方法、装置及分布式系统制造方法及图纸

技术编号:14355292 阅读:84 留言:0更新日期:2017-01-08 22:34
本申请公开了一种作业调度方法、装置及分布式系统,所述分布式系统至少包括中心节点、与中心节点连接的多个控制节点以及每一控制节点分别连接的多个计算节点;中心节点为各个控制节点分配所述作业的任务;控制节点调度各个任务切片在与其连接的计算节点中运行,所述方法包括:调度第一任务的第一控制节点在第一任务的至少一个任务切片运行结束时,通知调度第二任务的第二控制节点获取第一任务的至少一个任务切片生成的运行数据;第二控制节点获取第一任务的至少一个任务切片生成的运行数据,分配给第二任务的每一个任务切片,并调度第二任务的至少一个任务切片运行,处理所述运行数据。本申请实施例提高了调度效率,提高了资源利用率。

【技术实现步骤摘要】

本申请属于数据处理
,具体地说,涉及一种作业调度方法、装置及分布式系统
技术介绍
在传统的分布式系统中,分布式作业包括有限数量的任务(task),并且任务之间有一定的依赖关系,每一任务又划分为多个任务切片(instance),作业运行时,由各个任务的任务切片进行数据处理。基于传统的分布式系统,作业调度方式通常是由中心节点(master),进行统一调度,例如,假设作业有两个任务,分别为task1和task2,task1和task2的依赖关系为task2的输入为task1的输出,当作业运行起来之后,中心节点会寻找一个没有前驱任务的任务,假设为task1先运行起来,当task1的全部任务切片运行结束之后,中心节点再调度task2运行。但是,这种作业调度方式,中心节点处理和维护的数据量巨大,影响调度效率,且没有充分的利用集群资源,导致资源浪费。
技术实现思路
有鉴于此,本申请所要解决的技术问题是提供了作业调度方法、装置及分布式系统,提高了调度效率,且提高了资源利用率。为了解决上述技术问题,本申请公开了一种作业调度方法,应用于分布式系统中,所述分布式系统至少包括中心节点、与所述中心节点连接的多个控制节点以及每一控制节点分别连接的多个计算节点;所述中心节点为各个控制节点分配所述作业的任务;所述控制节点调度为其分配的任务的各个任务切片在与其连接的计算节点中运行,所述方法包括:调度第一任务的第一控制节点在所述第一任务的至少一个任务切片运行结束时,通知调度第二任务的第二控制节点获取所述第一任务的至少一个任务切片生成的运行数据;其中,所述第一任务为所述作业中任一运行的任务;所述第二任务为所述作业中依赖所述第一任务的任一任务;所述第二控制节点获取所述第一任务的至少一个任务切片生成的运行数据,并分配给所述第二任务的每一个任务切片;所述第二控制节点调度所述第二任务的至少一个任务切片运行,处理所述运行数据。优选地,所述第二控制节点调度所述第二任务的至少一个任务切片运行,处理所述运行数据包括:调度所述第二任务中,需求数据版本与所述运行数据版本匹配的任务切片运行,处理所述运行数据。优选地,在所述第二任务中的第一任务切片的需求数据版本与所述运行数据不匹配时,所述方法还包括:所述第二控制节点请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行;所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行,并在重新运行结束之后,通知所述第二控制节点获取所述重新生成的运行数据;所述第二控制节点获取所述重新生成的运行数据,并在所述重新生成的运行数据版本与所述第一任务切片的需求数据版本匹配时,调度所述第一任务切片运行;否则请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行,直至重新生成的运行数据版本与所述第一任务切片的需求数据版本匹配。优选地,所述第二控制节点调度所述第二任务的任一任务切片运行,处理所述运行数据之后,所述方法还包括:所述第二控制节点在所述第二任务中的第二任务切片处理所述运行数据失败时,请求所述第一控制节点调度所述第一任务中,所述运行数据版本对应的任务切片重新运行;所述第一控制节点调度所述第一任务中,所述运行数据版本对应的任务切片重新运行;并在所述第一任务中所述运行数据版本对应的任务切片重新运行结束之后,通知所述第二控制节点获取重新生成的运行数据;所述第二控制节点获取所述重新生成的运行数据,并调度所述第二任务的所述第二任务切片运行,处理所述重新生成的运行数据。优选地,所述第二控制节点请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行包括:所述第二控制节点通过提高需求数据版本,请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行。一种分布式系统,包括一中心节点、与所述中心节点连接的多个控制节点以及每一个控制节点连接的多个计算节点;所述中心节点,用于为各个控制节点分配作业的任务;所述计算节点,用于运行与其连接的控制节点分配的任务切片;所述控制节点中的第一控制节点,用于在为其分配的第一任务的至少一个任务切片运行结束时,通知调度第二任务的第二控制节点获取所述第一任务的至少一个任务切片运行生成的运行数据;其中,所述第一任务为所述作业中任一运行的任务;所述第二任务为所述作业中依赖所述第一任务的任一任务;所述第二控制节点,用于获取所述第一任务的至少一个任务切片运行生成的运行数据,并分配给所述第二任务的每一个任务切片;调度所述第二任务的至少一个任务切片运行,处理所述运行数据。优选地,所述第二控制节点调度所述第二任务的每一个任务切片运行,处理所述运行数据包括:调度所述第二任务中,需求数据版本与所述运行数据版本匹配的任务切片运行,处理所述运行数据。优选地,所述第二控制节点还用于:在所述第二任务中的第一任务切片的需求数据版本与所述运行数据不匹配时,请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行;获取所述第一控制节点重新生成的运行数据版本,并在所述重新生成的运行数据版本与所述第一任务切片的需求数据版本匹配时,调度所述第一任务切片运行;否则请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行,直至重新生成的运行数据版本与所述第一任务切片的需求数据版本匹配;所述第一控制节点还用于接收到所述第二控制节点的请求时,调度所述第一任务中所述运行数据版本对应的任务切片重新运行;在所述第一任务中所述运行数据版本对应的任务切片重新运行结束之后,通知所述第二控制节点获取重新生成的运行数据。优选地,所述第二控制节点还用于:在所述第二任务中的第二任务切片处理所述运行数据失败时,请求所述第一控制节点调度所述第一任务中,所述运行数据版本对应的任务切片重新运行;获取重新生成的运行数据版本,并调度所述第二任务的任务切片运行,处理所述重新运行的数据版本;所述第一控制节点,还用于接收到所述第二控制节点的请求时,调度所述第一任务中,所述运行数据版本对应的任务切片重新运行;在所述第一任务中所述运行数据版本对应的任务切片重新运行结束之后,通知所述第二控制节点获取所述重新生成的运行数据。优选地,所述第二控制节点请求所述第一控制节点调度所述第一任务中,所述运行数据版本对应的任务切片重新运行具体是:通过提高需求数据版本,请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行。一种作业调度装置,应用于分布式系统的控制节点中,所述分布式系统至少包括中心节点、与中心节点连接的多个控制节点以及每一个控制节点分别连接的多个计算节点;所述控制节点获取所述中心节点分配的所述作业的一任务,并调度所述任务的各个任务切片在与其连接的计算节点中运行,所述装置包括:通知模块,用于在第一任务的至少一个任务切片运行结束时,通知调度第二任务的控制节点获取所述第一任务的至少一个任务切片运行生成的运行数据;以便于所述调度第二任务的控制节点将获取的所述运行数据,分配给所述第二任务的每一个任务切片;调度所述第二任务的每一个任务切片运行,处理所述运行数据;其中,所述第一任务为所述作业中任一运行的任务;所述本文档来自技高网...
作业调度方法、装置及分布式系统

【技术保护点】
一种作业调度方法,其特征在于,应用于分布式系统中,所述分布式系统至少包括一中心节点、与所述中心节点连接的多个控制节点以及每一控制节点分别连接的多个计算节点;所述中心节点为各个控制节点分配所述作业的任务;所述控制节点调度为其分配的任务的各个任务切片在与其连接的计算节点中运行,所述方法包括:调度第一任务的第一控制节点在所述第一任务的至少一个任务切片运行结束时,通知调度第二任务的第二控制节点获取所述第一任务的至少一个任务切片生成的运行数据;其中,所述第一任务为所述作业中任一运行的任务;所述第二任务为所述作业中依赖所述第一任务的任一任务;所述第二控制节点获取所述第一任务的至少一个任务切片生成的运行数据,并分配给所述第二任务的每一个任务切片;所述第二控制节点调度所述第二任务的至少一个任务切片运行,处理所述运行数据。

【技术特征摘要】
1.一种作业调度方法,其特征在于,应用于分布式系统中,所述分布式系统至少包括一中心节点、与所述中心节点连接的多个控制节点以及每一控制节点分别连接的多个计算节点;所述中心节点为各个控制节点分配所述作业的任务;所述控制节点调度为其分配的任务的各个任务切片在与其连接的计算节点中运行,所述方法包括:调度第一任务的第一控制节点在所述第一任务的至少一个任务切片运行结束时,通知调度第二任务的第二控制节点获取所述第一任务的至少一个任务切片生成的运行数据;其中,所述第一任务为所述作业中任一运行的任务;所述第二任务为所述作业中依赖所述第一任务的任一任务;所述第二控制节点获取所述第一任务的至少一个任务切片生成的运行数据,并分配给所述第二任务的每一个任务切片;所述第二控制节点调度所述第二任务的至少一个任务切片运行,处理所述运行数据。2.如权利要求1所述的方法,其特征在于,所述第二控制节点调度所述第二任务的至少一个任务切片运行,处理所述运行数据包括:调度所述第二任务中,需求数据版本与所述运行数据版本匹配的任务切片运行,处理所述运行数据。3.如权利要求1或2所述的方法,其特征在于,在所述第二任务中的第一任务切片的需求数据版本与所述运行数据不匹配时,所述方法还包括:所述第二控制节点请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行;所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行,并在重新运行结束之后,通知所述第二控制节点获取所述重新生成的运行数据;所述第二控制节点获取所述重新生成的运行数据,并在所述重新生成的运行数据版本与所述第一任务切片的需求数据版本匹配时,调度所述第一任务切片运行;否则请求所述第一控制节点调度所述第一任务中所述运行数据
\t版本对应的任务切片重新运行,直至重新生成的运行数据版本与所述第一任务切片的需求数据版本匹配。4.如权利要求1或2所述的方法,其特征在于,所述第二控制节点调度所述第二任务的任一任务切片运行,处理所述运行数据之后,所述方法还包括:所述第二控制节点在所述第二任务中的第二任务切片处理所述运行数据失败时,请求所述第一控制节点调度所述第一任务中,所述运行数据版本对应的任务切片重新运行;所述第一控制节点调度所述第一任务中,所述运行数据版本对应的任务切片重新运行;并在所述第一任务中所述运行数据版本对应的任务切片重新运行结束之后,通知所述第二控制节点获取重新生成的运行数据;所述第二控制节点获取所述重新生成的运行数据,并调度所述第二任务的所述第二任务切片运行,处理所述重新生成的运行数据。5.如权利要求4所述的方法,其特征在于,所述第二控制节点请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行包括:所述第二控制节点通过提高需求数据版本,请求所述第一控制节点调度所述第一任务中所述运行数据版本对应的任务切片重新运行。6.一种分布式系统,其特征在于,包括一中心节点、与所述中心节点连接的多个控制节点以及每一个控制节点连接的多个计算节点;所述中心节点,用于为各个控制节点分配作业的任务;所述计算节点,用于运行与其连接的控制节点分配的任务切片;所述控制节点中的第一控制节点,用于在为其分配的第一任务的至少一个任务切片运行结束时,通知调度第二任务的第二控制节点获取所述第一任务的至少一个任务切片运行生成的运行数据;其中,所述第一任务为所述作业中任一运行的任务;所述第二任务为所述作业中依赖所述第一任务的任一任务;所述第二控制节点,用于获取所述第一任务的至少一个任务切片运行生
\t成的运行数据,并分配给所述第二任务的每一个任务切片;调度所述第二任务的至少一个任务切片运行,处理所述运行数据。7.如权利要求...

【专利技术属性】
技术研发人员:才华
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1