【技术实现步骤摘要】
一种作业调度的方法和系统
本专利技术涉及计算机
,尤其涉及一种作业调度的方法和系统。
技术介绍
多租户环境下的作业调度面临着以下方面的挑战:一、随着租户的增多,每日运行的任务的量级可达到百万以上,且由于业务领域的不同,作业之间存在着复杂的依赖关系,不同作业有着不同的运行频度要求,甚至还存在着时区的差异;二、异构、多样化的计算平台(如Hadoop平台、流计算平台、大规模并行处理MPP平台等等),异构的平台决定了调度作业类型的复杂,既有Shell、Python等脚本类作业,也有Spark、Hive等大数据任务,更有微服务框架下的容器类任务;三、复杂的资源管理,多租户环境下需要确保不同租户之间的作业互不干扰,且需要限制在租户申请的资源下运行。这些都对作业调度平台提出了严峻的挑战。目前,常用的作业调度系统,例如:基于Control-m的调度系统、基于Airflow的调度系统、基于Azkaban的调度系统等,在进行作业调度时,都存在着以下几个方面的问题:1、无法很好地支持复杂场景下的调度需求,比如跨作业流依赖、事 ...
【技术保护点】
1.一种作业调度的方法,其特征在于,包括:/n将接收的触发事件解析成作业的输入条件,并在所述作业的输入条件全部就绪后,将所述作业放入作业集合中;/n从所述作业集合中取出待派发作业并进行作业派发;/n从已派发的作业队列中获取作业实例信息并执行作业。/n
【技术特征摘要】
1.一种作业调度的方法,其特征在于,包括:
将接收的触发事件解析成作业的输入条件,并在所述作业的输入条件全部就绪后,将所述作业放入作业集合中;
从所述作业集合中取出待派发作业并进行作业派发;
从已派发的作业队列中获取作业实例信息并执行作业。
2.根据权利要求1所述的方法,其特征在于,将接收的触发事件解析成作业的输入条件包括:
根据所述触发事件匹配使用所述触发事件的对象,获取所述对象所属的作业流信息,并判断所述作业流是否已完成实例化,所述对象包括作业和作业流;
若所述作业流已完成实例化,且所述对象为作业,则直接将所述触发事件转换成作业的输入条件;
若所述作业流未完成实例化,则进行所述作业流的实例化,然后将所述触发事件转换成作业的输入条件。
3.根据权利要求2所述的方法,其特征在于,所述作业流的实例化的过程包括:
确定所述作业流允许实例化,然后,生成所述作业流包括的作业的作业实例信息。
4.根据权利要求1所述的方法,其特征在于,在进行作业派发之前,还包括:
判断所述待派发作业是否为虚跑状态;
若所述待派发作业为虚跑状态,则直接将所述待派发作业的状态设置为执行成功,且无需派发该作业。
5.根据权利要求1所述的方法,其特征在于,进行作业派发的过程包括:
获取当前作业的作业实例信息,并根据所述作业实例信息,获取所述当前作业需使用的逻辑资源;
当获取的所述当前作业需使用的逻辑资源不为空时,为所述当前作业添加作业锁;
若系统剩余的逻辑资源不存在资源不足锁,则对所述当前作业进行派发;
否则,解除所述当前作业的作业锁,并获取下一作业进行作业派发。
6.根据权利要求5所述的方法,其特征在于,进行作业派发的过程还包括:
若获取的所述当前作业需使用的逻辑资源为空,则直接对所述当前作业进行派发;以及,
若获取的所述当前作业需使用的逻辑资源不为空,其中,所述当前作业需使用的逻辑资源不少于一个,则判断所述需使用的逻辑资源之间的关系,当所述需使用的逻辑资源之间的关系为逻辑与时,若系统剩余的逻辑资源均不存在资源不足锁,且每个逻辑资源的申请量小于等于所述逻辑资源的剩余量,则对所述当前作业进行派发,否则将所述当前作业置为等待资源状态;当所述需使用的逻辑资源之间的关系为逻辑或时,若系统剩余的逻辑资源中的至少一个不存在资源不足锁且逻辑资源的申请量小于等于所述逻辑资源的剩余量,则对所述当前作业进行派发,否则将所述当前作业置为等待资源状态。
7.根据权利要求1所述的方法,其特征在于,执行作业的过程包括:
根据作业实例信息获取所述作业对应的执行命令;
判断该作业是否为容器类作业,若是,则将所述执行命令发送给容器集群管理系统以执行所述作业;否则,直接执行所述执行命令以执行所述...
【专利技术属性】
技术研发人员:赖海滨,洪少辉,翁世清,陈守当,黄启成,周怡臻,林思远,
申请(专利权)人:中国建设银行股份有限公司,建信金融科技有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。