The invention relates to a device and a method of task scheduling across the cluster, the method includes: obtaining the task task characteristics contained in one or more of the project in the first cluster operation, according to the characteristics of the task of each task in a task feature library; according to the characteristics of the second cluster cluster to determine the task scheduling strategy; select the matching with the task scheduling tasks from the task in the feature library to generate a list of pending scheduling tasks, list the scheduling task used in scheduling tasks according to the list in the list of the scheduling tasks run from the first to the second cluster scheduling on clusters. This application can realize the cross - cluster scheduling of task granularity, which has strong flexibility, reduced the waste of resources and effectively improved the efficiency of data processing.
【技术实现步骤摘要】
一种跨集群的任务调度方法及装置
本申请涉及计算机
,尤其涉及一种跨集群的任务调度方法及装置。
技术介绍
随着数据处理规模的增长,传统的单机计算模式已经不能满足日益增长的信息服务需求。集群(cluster)是一组相互独立的、通过高速网络互联的计算机,它们构成了一个计算组,并可以统一的方式进行管理。集群可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够降低整体运维成本,因此得到了越来越多的应用。然而,随着大数据技术的发展和企业数据仓库中离线计算任务数据规模的膨胀,单独搭建计算集群带来的成本越来越高昂,越来越多的用户倾向于不再为离线的计算服务单独建立集群和机房,而是将在线业务与离线业务混布在同一个集群。混布集群只承担计算任务而不承担存储任务,以达到节约成本的目的。这时,需要把一部分在离线集群运行的计算任务调度到混布集群上运行。因此,如何实现跨集群的任务调度成为一个值得关注的问题。现有技术中,存在一种跨集群调度方法,可以将特定业务或项目下的所有任务从一个集群调度到另一个集群上。这种方式只能够实现业务或者项目级别的调度,调度粒度很粗,存在灵活性不强的缺陷。此外,若所述业务出现一个异常任务,就要将整个业务中包括正常运行的任务的所有任务均取消,并将整个业务的所有任务重新迁移到原有集群上重新运行。这种方式造成了计算资源和时间的浪费,并降低了数据处理效率。
技术实现思路
本申请的目的是,提供一种跨集群的任务调度方法及装置,可以实现任务粒度的跨集群调度,灵活性强,降低了资源浪费,有效提高了数据处理效率。第一方面,本申请提供了一种任务调度系统,所述系统包括任 ...
【技术保护点】
一种任务调度系统,其特征在于,所述系统包括任务调度装置和控制集群服务器,其中:所述任务调度装置用于获取在第一集群运行的一个或多个项目包含的各任务的任务特征,根据所述各任务的任务特征建立任务特征库;根据第二集群的集群特征确定任务调度策略;从所述任务特征库中选取与所述任务调度策略匹配的任务以生成待调度任务的列表;所述控制集群服务器用于根据所述待调度任务的列表,将所述待调度任务从所述第一集群调度到所述第二集群上运行。
【技术特征摘要】
1.一种任务调度系统,其特征在于,所述系统包括任务调度装置和控制集群服务器,其中:所述任务调度装置用于获取在第一集群运行的一个或多个项目包含的各任务的任务特征,根据所述各任务的任务特征建立任务特征库;根据第二集群的集群特征确定任务调度策略;从所述任务特征库中选取与所述任务调度策略匹配的任务以生成待调度任务的列表;所述控制集群服务器用于根据所述待调度任务的列表,将所述待调度任务从所述第一集群调度到所述第二集群上运行。2.根据权利要求1所述的系统,其特征在于,所述控制集群服务器还用于配置任务运行结果输出策略,所述任务运行结果输出策略用于配置将在所述第二集群运行的各任务的运行结果发送给所述第一集群、配置由所述第二集群存储所述运行结果、或者配置所述第二集群和所述第一集群将各任务的运行结果发送给控制集群服务器。3.根据权利要求1所述的系统,其特征在于,所述控制集群服务器还用于根据任务之间的依赖关系,预先将前一任务的运行结果发送后一任务所在的集群。4.一种任务调度方法,其特征在于,所述方法包括:获取在第一集群运行的一个或多个项目包含的各任务的任务特征,根据所述各任务的任务特征建立任务特征库;根据第二集群的集群特征确定任务调度策略;从所述任务特征库中选取与所述任务调度策略匹配的任务以生成待调度任务的列表,所述待调度任务的列表用于在调度任务时根据所述列表将列表中的所述待调度任务从所述第一集群调度到所述第二集群上运行。5.根据权利要求4所述的方法,其特征在于,在获取在第一集群运行的一个或多个项目包含的各任务的任务特征之前,所述方法还包括:提取在所述第一集群运行的一个或多个项目包含的各任务的任务指纹;所述各任务的任务指纹用于唯一标识各任务;所述获取在第一集群运行的一个或多个项目包含的各任务的任务特征,根据所述各任务的任务特征建立任务特征库包括:获取在第一集群运行的一个或多个项目包含的各任务的任务特征,保存各任务的任务指纹与所述任务特征的对应关系以建立任务特征库;所述将所述待调度任务集合中的任务从所述第一集群调度到所述第二集群上运行包括:根据所述待调度任务集合中的各任务的任务指纹,将所述任务从所述第一集群调度到所述第二集群上运行。6.根据权利要求5所述的方法,其特征在于,所述提取在所述第一集群运行的一个或多个项目包含的各任务的任务指纹包括:获取任务的代码,去除所述任务的代码中的变量,获取处理后的任务的代码;使用第一方法对所述处理后的任务的代码进行运算,获取与所述任务的代码唯一对应的运算结果作为所述任务的任务指纹。7.根据权利要求4所述的方法,其特征在于,所述任务特征包括下述中的任意一种或多种:任务的输入数据量;任务消耗的计算资源量;任务的中间结果存储数据量;任务的内存占用量;任务的输出数据量。8.根据权利要求4所述的方法,其特征在于,所述第二集群的集群特征根据所述第二集群的机型和网络类型确定,所述第二集群的集群特征包括带宽大小、磁盘容量、内存容量和/或计算容量。9.根据权利要求4至8任意一项所述的方法,其特征在于,所述根据第二集群的集群特征确定任务调度策略包括下述中的任意一种或多种:当所述第二集群的带宽小于第一预设阈值时,优先调度计算输入比高的任务;其中,所述计算输入比为任务消耗的计算资源量与任务的输入数据量的比值;当所述第二集群的磁盘容量小于第二预设阈值时,优先调度计算存储比高的任务;其中,所述计算存储比为任务消耗的计算资源量与任务的中间结果存储数据量的比值;当所述第二集群的内存容量小于第三预设阈值时,优先调度内存占用量低的任务;确定所述第二集群任务运行的高峰时刻和低峰时刻,优先在所述低峰时刻调度所述第一集群的任务。10.根据权利要求4所述的方法,其特征在于,所述从所述任务特征库中选取与所述任务调度策略匹配的任务以生成待调度任务的列表包括:根据所述任务调度策略,从所述任务特征库中选取与所述任务调度策略匹配的任务生成候选任务集合;根据所述第二集群的集群特征以及所述候选任务集合中各任务的任务特征确定任务调度规模,从所述候选任务集合中选取与所述任务调度规模匹配的待调度任务,生...
【专利技术属性】
技术研发人员:刘凡,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。