一种私有云环境下任务及资源动态调度的实现方法

文档序号:10660950阅读:317来源:国知局
一种私有云环境下任务及资源动态调度的实现方法
【专利摘要】本发明特别涉及一种私有云环境下任务及资源动态调度的实现方法。该私有云环境下任务及资源动态调度的实现方法,包括任务管理,调度引擎,资源池管理和监控管理四部分;所述任务管理对运行于平台中的任务进行统一定义、统一运行管理;所述调度引擎用于平衡资源分配;所述资源池管理记录平台资源的使用情况,并负责对资源进行分配和回收;所述监控管理负责对任务执行和资源的使用情况进行实时监控,将信息反馈给调度引擎。该私有云环境下任务及资源动态调度的实现方法,为私有云环境提供了任务调度以及资源高效利用的方法,能够将有限的资源进行调度,用最少的资源完成既定的任务,满足用户需求,具有公平,及时,高利用率,非阻塞的特性。
【专利说明】
一种私有云环境下任务及资源动态调度的实现方法
技术领域
[0001]本发明涉及计算机应用技术领域,特别涉及一种私有云环境下任务及资源动态调度的实现方法。
【背景技术】
[0002]随着云计算、大数据的发展以及云平台的成熟,越来越多的应用迀移到云平台中运行,随着平台中任务的增加,如何对众多任务进行科学调度、对平台资源进行合理分配成了云平台的核心。在现实情况下,任务的执行情况复杂多变,任务启动的时机不同,有的是定时执行,有的任务之间是依赖关系,有的任务可并行执行,在任务执行过程中,如何调度资源才能最大限度的提高资源利用率,此发明解决了任务调度及资源分配问题。
[0003]在资源有限、任务繁重的情况下,如何将有限的资源进行调度,分配给将要执行的任务,以实现公平性、及时性、高利用率以及非阻塞的要求。批处理系统要求增加系统吞吐量和提高系统资源的利用率;分时系统要求每个分时用户能容忍的响应时间;实时系统要求对随机发生的外部事件做出实时响应;在云平台中则需要通过对任务的编排和对任务执行过程的监控,来对任务进行全局的调度和平台资源的分配。
[0004]基于上述问题,本发明提出了一种私有云环境下任务及资源动态调度的实现方法。

【发明内容】

[0005]本发明为了弥补现有技术的缺陷,提供了一种简单高效的私有云环境下任务及资源动态调度的实现方法。
[0006]本发明是通过如下技术方案实现的:
一种私有云环境下任务及资源动态调度的实现方法,其特征在于:包括任务管理,调度引擎,资源池管理和监控管理四部分;所述任务管理对运行于平台中的任务进行统一定义、统一运行管理,包括对任务定义和任务执行两方面的管理;所述调度引擎用于平衡资源分配,只处理与调度有关的事物,包括对任务的解析,根据解析结果启用调度策略,并在分配的资源中执行任务;所述资源池管理记录平台资源的使用情况,并负责对资源进行分配和回收;所述监控管理负责对任务执行和资源的使用情况进行实时监控,将信息反馈给调度引擎。
[0007]运行于平台中的任务分为未启动,已启动,在执行三种执行状态;所述未启动状态是指定义时状态;已启动状态表明任务在等待启动,可通过手动,定时或依赖进行启动;在执行状态表明该任务正在执行,尚未结束;任务执行结束后状态变为已启动状态等待下一次执行;所有任务启动时检查当前执行状态,若任务当前状态是在执行,则不进行操作;
根据任务的启动类型,运行于平台中的任务分为即时启动任务,定时启动任务和依赖启动任务,所述即时启动任务和定时启动任务均可由客户手动的启动,所述依赖启动任务不允许客户手动启动,只能通过系统自动启动;所述任务定义包括对任务基本属性的设置,以及对所述定时启动任务设置其定时属性,对所述依赖启动任务设置其依赖属性。
[0008]所述定时启动任务的定时属性,包括定时时间及产生的事件类型,当到达定时时间时产生的相应事件,以及由相应事件触发的相应任务;所述依赖启动任务的依赖属性,包括任务的依赖关系及产生的事件类型,当满足依赖条件时产生的相应事件,以及由相应事件触发的相应任务。
[0009]由于不同调度场景下对资源的定义不同,所以平台不会存在一个通用的调度功能,而是根据不同场景实现指定接口开发不同的调度实现。
[0010]在执行任务时,所述资源池管理在资源所在的资源池中寻找可用的资源,对资源进行分配和回收;所述监控管理监控任务的执行状态和资源池的状态,并在监控到任务的执行状态和资源池的状态发生变化时通知调度引擎,以触发调度任务;触发调度任务的事件包括两类,一类是新任务的执行,另一类是监控管理监控到执行的任务状态发生变化,即执行异常或执行结束,收缩事件不会触发调度任务的产生。
[0011 ]本发明的有益效果是:该私有云环境下任务及资源动态调度的实现方法,为私有云环境提供了任务调度以及资源高效利用的方法,在任务启动后无需等待,可直接分配资源进行执行;同时,在满足任务执行需要的资源的前提下,能够尽可能的将任务进行合并执行,回收所占用的资源;在私有云环境资源有限、任务繁重的情况下,还能够将有限的资源进行调度,用最少的资源完成既定的任务,满足用户需求,具有公平,及时,高利用率,非阻塞的特性。
【附图说明】
[0012]附图1为本发明私有云环境下任务及资源动态调度的实现方法示意图。
【具体实施方式】
[0013]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0014]该私有云环境下任务及资源动态调度的实现方法,包括任务管理,调度引擎,资源池管理和监控管理四部分;所述任务管理对运行于平台中的任务进行统一定义、统一运行管理,包括对任务定义和任务执行两方面的管理;所述调度引擎用于平衡资源分配,只处理与调度有关的事物,包括对任务的解析,根据解析结果启用调度策略,并在分配的资源中执行任务;所述资源池管理记录平台资源的使用情况,并负责对资源进行分配和回收;所述监控管理负责对任务执行和资源的使用情况进行实时监控,将信息反馈给调度引擎。
[0015]运行于平台中的任务分为未启动,已启动,在执行三种执行状态;所述未启动状态是指定义时状态;已启动状态表明任务在等待启动,可通过手动,定时或依赖进行启动;在执行状态表明该任务正在执行,尚未结束;任务执行结束后状态变为已启动状态等待下一次执行;所有任务启动时检查当前执行状态,若任务当前状态是在执行,则不进行操作;
根据任务的启动类型,运行于平台中的任务分为即时启动任务,定时启动任务和依赖启动任务,所述即时启动任务和定时启动任务均可由客户手动的启动,所述依赖启动任务不允许客户手动启动,只能通过系统自动启动;所述任务定义包括对任务基本属性的设置,以及对所述定时启动任务设置其定时属性,对所述依赖启动任务设置其依赖属性。
[0016]所述定时启动任务的定时属性,包括定时时间及产生的事件类型,当到达定时时间时产生的相应事件,以及由相应事件触发的相应任务;所述依赖启动任务的依赖属性,包括任务的依赖关系及产生的事件类型,当满足依赖条件时产生的相应事件,以及由相应事件触发的相应任务。
[0017]由于不同调度场景下对资源的定义不同,所以平台不会存在一个通用的调度功能,而是根据不同场景实现指定接口开发不同的调度实现。
[0018]在执行任务时,所述资源池管理在资源所在的资源池中寻找可用的资源,对资源进行分配和回收;所述监控管理监控任务的执行状态和资源池的状态,并在监控到任务的执行状态和资源池的状态发生变化时通知调度引擎,以触发调度任务;触发调度任务的事件包括两类,一类是新任务的执行,另一类是监控管理监控到执行的任务状态发生变化,即执行异常或执行结束,收缩事件不会触发调度任务的产生。
[0019]组件之间的调用可以通过REST接口来实现,但这要求每个组件都需要知道调用哪个REST,如果不知道调用哪个需要提前进行注册,这无疑增加了程序的复杂性。
[0020]为简化组件之间调用程序的复杂性,该私有云环境下任务及资源动态调度的实现方法,还提出了事件机制;所述事件机制是指当事件发生后,事件生产者将事件内容进行保存记录,并将事件按照统一规范命名,打好事件的类型标签,事件消费者按照事先约定消费该事件并产生相应的任务即可。
[0021 ]在事件机制下,事件生产者不关注由谁来消费事件,只关心生产事件、打好事件的类型标签,事件消费者也不需要关注事件是由谁产生的,只需要消费相应类型的事件即可。
[0022]在该私有云环境下任务及资源动态调度的实现方法中,事件生产者生产触发调度任务的事件,调度引擎作为事件消费者消费触发调度任务的事件并产生相应的任务。所述事件命名格式为“组件名_功能_事件”,使用json格式对事件状态的数据类型进行保存。
【主权项】
1.一种私有云环境下任务及资源动态调度的实现方法,其特征在于:包括任务管理,调度引擎,资源池管理和监控管理四部分;所述任务管理对运行于平台中的任务进行统一定义、统一运行管理,包括对任务定义和任务执行两方面的管理;所述调度引擎用于平衡资源分配,只处理与调度有关的事物,包括对任务的解析,根据解析结果启用调度策略,并在分配的资源中执行任务;所述资源池管理记录平台资源的使用情况,并负责对资源进行分配和回收;所述监控管理负责对任务执行和资源的使用情况进行实时监控,将信息反馈给调度引擎。2.根据权利要求1所述的私有云环境下任务及资源动态调度的实现方法,其特征在于:运行于平台中的任务分为未启动,已启动,在执行三种执行状态;所述未启动状态是指定义时状态;已启动状态表明任务在等待启动,可通过手动,定时或依赖进行启动;在执行状态表明该任务正在执行,尚未结束;任务执行结束后状态变为已启动状态等待下一次执行;所有任务启动时检查当前执行状态,若任务当前状态是在执行,则不进行操作; 根据任务的启动类型,运行于平台中的任务分为即时启动任务,定时启动任务和依赖启动任务,所述即时启动任务和定时启动任务均可由客户手动的启动,所述依赖启动任务不允许客户手动启动,只能通过系统自动启动;所述任务定义包括对任务基本属性的设置,以及对所述定时启动任务设置其定时属性,对所述依赖启动任务设置其依赖属性。3.根据权利要求2所述的私有云环境下任务及资源动态调度的实现方法,其特征在于:所述定时启动任务的定时属性,包括定时时间及产生的事件类型,当到达定时时间时产生的相应事件,以及由相应事件触发的相应任务;所述依赖启动任务的依赖属性,包括任务的依赖关系及产生的事件类型,当满足依赖条件时产生的相应事件,以及由相应事件触发的相应任务。4.根据权利要求1所述的私有云环境下任务及资源动态调度的实现方法,其特征在于:在执行任务时,所述资源池管理在资源所在的资源池中寻找可用的资源,对资源进行分配和回收;所述监控管理监控任务的执行状态和资源池的状态,并在监控到任务的执行状态和资源池的状态发生变化时通知调度引擎,以触发调度任务;触发调度任务的事件包括两类,一类是新任务的执行,另一类是监控管理监控到执行的任务状态发生变化,即执行异常或执行结束,收缩事件不会触发调度任务的产生。5.根据权利要求4所述的私有云环境下任务及资源动态调度的实现方法,其特征在于:为简化组件之间调用程序的复杂性,提出了事件机制;所述事件机制是指当触发调度任务的事件发生后,事件生产者将触发调度任务的事件内容进行保存记录,并将事件按照统一规范命名,打好事件的类型标签,调度引擎作为事件消费者消费该事件并产生相应的任务即可。6.根据权利要求5所述的私有云环境下任务及资源动态调度的实现方法,其特征在于:所述事件命名格式为“组件名_功能_事件”,使用json格式对事件状态的数据类型进行保存。
【文档编号】H04L29/08GK106027617SQ201610306504
【公开日】2016年10月12日
【申请日】2016年5月11日
【发明人】王晓恒, 李士峰
【申请人】广东浪潮大数据研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1