基于权重的集群任务调度系统技术方案

技术编号:24251279 阅读:45 留言:0更新日期:2020-05-22 23:26
本申请实施例提供一种基于权重的集群任务调度系统,包括:数据库和运行在计算机集群的各节点上的嵌入式框架,所述数据库中存储有任务文件、任务配置参数和任务状态,所述嵌入式框架包括任务流程模块、任务处理模块和任务过程接口;本申请能够有效节省计算机集群中的管理成本和节点资源,提高调度的便捷性和效率。

Cluster task scheduling system based on weight

【技术实现步骤摘要】
基于权重的集群任务调度系统
本申请涉及计算机
,具体涉及一种基于权重的集群任务调度系统。
技术介绍
随着大数据时代的来临,如何实现高效的存储和计算,通常采用的提高CPU性能和改用更大容量磁盘的做法,已经变得越来越困难,在这种背景下,以网络和网络通信技术为依托,将分散在不同地理位置的计算机连接起来,组成空间上分散、逻辑上统一的数据存储和计算集群,成为当前实现大规模数据处理的主要选择,以及不同大数据计算框架层出不穷,如面向大数据存储计算hadoop,面向内存迭代运算的spark.专门针对流式计算的storm等,这些计算框架在处理各自领域业务时都有特定的优化性能十分高效,但是这些计算框架都存在一个问题,那就是任务间的协作依赖处理问题,当业务计算任务之间存在先后执行依赖的时候,计算框架就往往受到严重制约,甚至引起效率在数量级程度的下降。计算机集群是一种计算机系统,其通过多台计算机(又称为节点)连接起来协作完成计算作业。这些节点位于同一管理域中,其具有统一的管理策略并且作为一个整体向用户提供服务。将计算机集群上的作业任务分配到多个节点上的过程可以称为任务的调度。现有技术一种任务调度系统,其在计算机集群中设定一个节点,其他节点为从节点,其中,主节点负责对从节点进行管理,所述管理具体可以包括:主节点周期性向从节点发送心跳信息,并根据从节点回复的心跳信息确定从节点的状态信息;主节点依据各从节点的状态信息将作业任务分配给从节点等等。在实际中,在用户应用存在任务处理请求时,可以向上述任务调度系统发送存储文件,则主节点可以依据配置文件中记录的各从节点的状态信息,选择最优的从节点来处理该项任务处理请求;主节点将选择的从节点的IP地址和端口返回给用户应用,同时通知该从节点有文件上载并将文件名、文件大小等信息发送给该从节点。然而,某些集群应用中会有轻型任务的调度需求,虽然其涉及任务量少、负载小,但调度触发的多样性、调度运行的复杂性及调度运维的可靠性却一样也不能省,在使用上述任务调度系统调度轻型任务时,存在如下问题:第一,主节点需要对计算机集群中的众多从节点进行管理,这无疑耗费了大量的管理成本;第二,上述众多从节点对于轻型任务而言显得过于庞大,浪费了过多的节点资源;第三,需要依赖于用户应用与上述任务调度系统之间的通信交互,这样,在需要周期(例如每天)执行某任务时,用户应用需要每天向任务调度系统发送相应的任务处理请求,因此现有技术中的任务调度系统具有操作繁琐和效率低的缺点。
技术实现思路
针对现有技术中的问题,本申请提供一种基于权重的集群任务调度系统,能够有效节省计算机集群中的管理成本和节点资源,提高调度的便捷性和效率。为了解决上述问题中的至少一个,本申请提供以下技术方案:第一方面,本申请提供一种基于权重的集群任务调度系统,包括:数据库和运行在计算机集群的各节点上的嵌入式框架;所述数据库中存储有任务文件、任务配置参数和任务状态;所述嵌入式框架包括任务流程模块、任务处理模块和任务过程接口,其中,所述任务过程接口中封装有预置任务的处理功能,所述任务流程模块提供流程接口;所述任务处理模块用于扫描所述数据库,并在发现所述预置任务时,锁定并获取该预置任务的任务文件,并调用所述流程接口执行相应的任务处理;所述任务流程模块用于在所述流程接口被所述任务处理模块调用时,解析该预置任务的任务过程,依据解析结果调用对应的任务过程接口以执行相应任务过程的处理,并在相应任务过程的处理成功后进行任务状态的转换。进一步地,所述嵌入式框架还包括节点管理模块;所述节点管理模块用于向所述数据库登记所处节点的存活声明,并从所述数据库获取失效节点,以接手所述失效节点的任务。进一步地,所述任务处理模块包括:任务执行子模块,用于扫描所述数据库,在发现所述预置任务为待处理状态时,锁定并获取该预置任务的任务文件,并在获取成功后调用所述流程执行接口执行相应的任务处理。进一步地,所述任务流程模块,具体用于在所述流程执行接口被所述任务执行子模块调用时,解析该预置任务涉及的任务过程,依据解析结果调用所述过程业务处理接口以进行业务逻辑过程的处理,并在业务逻辑过程的处理成功后将预置任务的状态从待处理状态转换为处理成功状态。进一步地,所述任务过程接口还包括最终环境清理接口,所述最终环境清理接口中封装有任务终结时运行环境的清理功能;所述任务流程模块还用于在业务逻辑过程的处理成功后调用所述最终环境清理接口以进行任务终结时运行环境的清理,并在任务终结时运行环境的清理成功后将预置任务的状态从待处理状态转换为处理成功状态。进一步地,所述预置任务的状态还包括断点重做状态,所述任务过程接口还包括过程断点重做环境清理接口,所述过程断点重做环境清理接口封装有业务逻辑过程文件的清理功能;所述任务执行子模块还用于扫描所述数据库,在发现断点重做状态的预置任务时,锁定并获取该预置任务的任务文件,并在获取成功后调用所述流程执行接口执行相应的任务处理;第一所述任务流程模块,还用于在所述流程执行接口被所述任务执行子模块调用时,解析该预置任务涉及的任务过程,依据解析结果调用所述过程断点重做环境清理接口以进行业务逻辑过程文件的清理,并在业务逻辑过程文件的清理成功后将任务状态从断点重做状态转换为待处理状态。进一步地,所述预置任务的状态还包括待检查状态,所述流程接口还包括流程检查接口,所述任务过程接口包括过程环境检查接口,所述过程运行前环境检查接中封装有运行前环境检查的功能;所述任务处理模块还包括:任务检查子模块,用于扫描所述数据库,在发现待检查状态的预置任务时,锁定并获取该预置任务的任务文件,并在获取成功后调用所述流程检查接口执行相应的任务处理;第二所述任务流程模块,还用于在所述流程检查接口被所述任务检查子模块调用时,解析该预置任务涉及的任务过程,依据解析结果调用所述过程环境检查接口以进行运行前环境检查,并在运行前环境检查成功后将任务状态从待检查状态转换为待处理状态。进一步地,所述预置任务的状态还包括待预处理状态,所述流程接口还包括流程预处理接口,所述任务过程接口还包括过程预处理接口,所述过程预处理接中封装有运行前预处理的功能;所述任务处理模块还包括:任务预处理子模块,用于扫描所述数据库,在发现待预处理状态的预置任务时,锁定并获取该预置任务的任务文件,并在获取成功后调用所述流程预处理接口执行相应的任务处理;第三所述任务流程模块,还用于在所述流程预处理接口被所述预处理子模块调用时,解析该预置任务涉及的任务过程,依据解析结果调用所述过程预处理接口以进行运行前预处理,并在运行前预处理成功后将任务状态从待预处理状态转换为待检查状态。进一步地,所述任务处理模块,具体用于扫描所述数据库,在发现预置任务状态的任务时,利用乐观锁机制获取该任务的任务文件,并在获取成功后调用所述流程接口执行相应的任务处理本文档来自技高网
...

【技术保护点】
1.一种基于权重的集群任务调度系统,其特征在于,包括:数据库和运行在计算机集群的各节点上的嵌入式框架;/n所述数据库中存储有任务文件、任务配置参数和任务状态;/n所述嵌入式框架包括任务流程模块、任务处理模块和任务过程接口,其中,所述任务过程接口中封装有预置任务的处理功能,所述任务流程模块提供流程接口;/n所述任务处理模块用于扫描所述数据库,并在发现所述预置任务时,锁定并获取该预置任务的任务文件,并调用所述流程接口执行相应的任务处理;/n所述任务流程模块用于在所述流程接口被所述任务处理模块调用时,解析该预置任务的任务过程,依据解析结果调用对应的任务过程接口以执行相应任务过程的处理,并在相应任务过程的处理成功后进行任务状态的转换。/n

【技术特征摘要】
1.一种基于权重的集群任务调度系统,其特征在于,包括:数据库和运行在计算机集群的各节点上的嵌入式框架;
所述数据库中存储有任务文件、任务配置参数和任务状态;
所述嵌入式框架包括任务流程模块、任务处理模块和任务过程接口,其中,所述任务过程接口中封装有预置任务的处理功能,所述任务流程模块提供流程接口;
所述任务处理模块用于扫描所述数据库,并在发现所述预置任务时,锁定并获取该预置任务的任务文件,并调用所述流程接口执行相应的任务处理;
所述任务流程模块用于在所述流程接口被所述任务处理模块调用时,解析该预置任务的任务过程,依据解析结果调用对应的任务过程接口以执行相应任务过程的处理,并在相应任务过程的处理成功后进行任务状态的转换。


2.根据权利要求1所述的基于权重的集群任务调度系统,其特征在于,所述嵌入式框架还包括节点管理模块;
所述节点管理模块用于向所述数据库登记所处节点的存活声明,并从所述数据库获取失效节点,以接手所述失效节点的任务。


3.根据权利要求1所述的基于权重的集群任务调度系统,其特征在于,所述任务处理模块包括:
任务执行子模块,用于扫描所述数据库,在发现所述预置任务为待处理状态时,锁定并获取该预置任务的任务文件,并在获取成功后调用所述流程执行接口执行相应的任务处理。


4.根据权利要求3所述的基于权重的集群任务调度系统,其特征在于,所述任务流程模块,具体用于在所述流程执行接口被所述任务执行子模块调用时,解析该预置任务涉及的任务过程,依据解析结果调用所述过程业务处理接口以进行业务逻辑过程的处理,并在业务逻辑过程的处理成功后将预置任务的状态从待处理状态转换为处理成功状态。


5.根据权利要求1所述的基于权重的集群任务调度系统,其特征在于,所述任务过程接口还包括最终环境清理接口,所述最终环境清理接口中封装有任务终结时运行环境的清理功能;
所述任务流程模块还用于在业务逻辑过程的处理成功后调用所述最终环境清理接口以进行任务终结时运行环境的清理,并在任务终结时运行环境的清理成功后将预置任务的状态从待处理状态转换为处理成功状态。


6.根据权利要求1所述的基于权重的集群任务调度系统,其特征在于,所述预置任务的状态还包括断点重做状态,所述任务过程接口还包括过程断点重做环境清理接口,所述过程断点重做环境清理接口封装有业务逻辑过程文件的清理功能;
所述任务执行子模块还用于扫描所述数据库,在发现断点重做状...

【专利技术属性】
技术研发人员:崔晶晶张和昆
申请(专利权)人:集奥聚合北京人工智能科技有限公司
类型:发明
国别省市:北京;11

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

1