一种作业管理方法及装置与流程

文档序号:12887022阅读:156来源:国知局
一种作业管理方法及装置与流程

本申请涉及计算机技术领域,特别涉及一种作业管理方法及装置。



背景技术:

随着计算机技术的发展,应用服务的增多,对于运行大量作业任务的主机来说,需要合理的进行作业调度,充分利用硬件资源。而对于不同任务来说,不同任务有不同的资源需求,包括运行时的性能要求和对于系统环境的配置需求,同时作业任务有不同优先级,例如有些及时反映的作业任务需要即时运行,进行计算,则此时就不应该使用传统的执行顺序,应根据其作业任务的优先级进行作业任务的执行调度。

在一般计算机作业调度系统中,主要是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以判断是否可以运行作业任务。以及按照一定的调度算法,从外存的后备队列中选取某些作业调入内存,并为他们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。将资源分配给作业时,计划程序使用这些资源执行作业中的任务。

但是,上述作业调度系统的操作依赖底层操作系统,由于任务运行的环境与操作系统有密切的关联,而且任务运行时需要有合适的运行环境配置,如果更改了运行环境需要做出相应的配置修改,因此任务与操作系统的耦合性非常高。同时由于使用者的视觉不一样,管理员更关注的是任务本身和编排及处理,而非任务运行时的细节内容。

同时,在任务第一次打包分发运行时,利用上述的调度系统会造成运行环境和开发环境的不同,很有可能造成运行不成功和分发失败等问题。

因此如何解决主机中的作业任务的调度问题,是本领域技术人员需要讨论的重点问题。



技术实现要素:

本申请的目的是提供一种作业管理方法及系统,将作业任务通过容器镜像化技术虚拟化至容器中,由于容器具有虚拟机的特点,独立的运行环境方便在统一环境中运行任务,同时容器技术没有虚拟机的占用资源较多的问题,而且容器可以运行在大部分主机系统中,对于其中的作业任务来说无需重新配置即可运行,方便了作业任务的调度,同时管理者也无须关注细节内容,只关心任务的调度和安排。

为解决上述技术问题,本申请提供一种作业管理方法,包括:

管理中心将作业任务进行容器化,得到容器化作业任务;

当接收到作业需求信号时,将所述容器化作业任务与容器主机匹配;

当匹配成功时,发送执行命令使所述容器主机执行所述容器化作业任务。

可选的,还包括:

当匹配不成功时,所述管理中心发出失败提示。

可选的,当所述容器主机执行结束后,还包括:

所述容器主机反馈执行结果至所述管理中心。

可选的,所述当接收到作业需求信号时,将所述容器化作业任务与容器主机匹配,包括

所述容器主机进行自身能力评估,得到能力值;

将所述能力值作为所述作业需求信号发送到所述管理中心;

所述管理中心根据所述能力值将所述容器主机与所述容器化作业任务进行匹配。

可选的,所述管理中心根据所述能力值将所述容器主机与所述容器化作业任务进行匹配,包括:

统计当前每个待执行作业任务的所需性能值,并从大到小进行排列形成作业任务表;

将所述容器主机从所述所需性能值最大的作业任务开始匹配,如果所述能力值大于或等于所述所需性能值,则匹配成功;如果小于,则匹配下一个作业任务直到匹配成功。

本申请还提供一种作业管理装置,包括:

容器化模块,管理中心将作业任务进行容器化,得到容器化作业任务;

匹配模块,当接收到作业需求信号时,将所述容器化作业任务与容器主机匹配;

发送执行模块,当匹配成功时,发送执行命令使所述容器主机执行所述容器化作业任务。

可选的,还包括:

失败提示模块,当匹配不成功时,所述管理中心发出失败提示。

可选的,当所述容器主机执行结束后,还包括:

反馈单元,所述容器主机反馈执行结果至所述管理中心。

可选的,所述匹配模块,包括:

评估单元,所述容器主机进行自身能力评估,得到能力值;

信号发送单元,将所述能力值作为所述作业需求信号发送到所述管理中心;

匹配单元,所述管理中心根据所述能力值将所述容器主机与所述容器化作业任务进行匹配。

可选的,所述匹配单元包括:

统计子单元,统计当前每个待执行作业任务的所需性能值,并从大到小进行排列形成作业任务表;

匹配子单元,将所述容器主机从所述所需性能值最大的作业任务开始匹配,如果所述能力值大于或等于所述所需性能值,则匹配成功;如果小于,则匹配下一个作业任务直到匹配成功。

本申请所提供的一种作业管理方法,包括管理中心将作业任务进行容器化,得到容器化作业任务;当接收到作业需求信号时,将所述容器化作业任务与容器主机匹配;当匹配成功时,发送执行命令使所述容器主机执行所述容器化作业任务。

通过将作业任务通过容器镜像化技术虚拟化至容器中,由于容器具有虚拟机的特点,独立的运行环境方便在统一环境中运行任务,并且容器技术没有虚拟机的占用资源较多的问题,同时容器可以运行在大部分主机系统中,对于其中的作业任务来说无需重新配置即可运行,方便了作业任务的调度,因此管理者也无须关注细节内容,可以将更多的精力放在任务的调度和安排。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的作业管理的流程图;

图2为本申请实施例提供的一般作业调度的流程图;

图3为本申请实施例提供的用户发送需求的流程图;

图4为本申请实施例提供的匹配流程图;

图5为本申请实施例提供的能力值匹配的流程图;

图6为本申请实施例提供的主机发送需求的流程图;

图7为本申请实施例提供的作业管理装置的框图。

具体实施方式

本申请的核心是提供一种作业管理方法及装置,将作业任务通过容器镜像化技术虚拟化至容器中,由于容器具有虚拟机的特点,独立的运行环境方便在统一环境中运行任务,并且容器技术没有虚拟机的占用资源较多的问题,同时容器可以运行在大部分主机系统中,对于其中的作业任务来说无需重新配置即可运行,方便了作业任务的调度,因此管理者也无须关注细节内容,可以将更多的精力放在任务的调度和安排。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例提供的作业管理的流程图。

本实施例,可以包括以下步骤:

s100,管理中心将作业任务进行容器化,得到容器化作业任务;

本申请提供的方法中的要点以及执行后续步骤的前提都是将作业任务容器化,而该容器化的过程是指将所需作业任务的程序以及程序运行的依赖包打包至一个可移植的容器中,当作一个应用组件,该组件可以在任何流行的系统中运行。

该过程可以将app变成一种标准化的、可移植的、自管理的组件。该组件可以受管理方法的调度在不同的系统间正常的运行,因此容器化的过程也是作业调度的前提。

在本实施例中选用docker作为容器化的工具,由于其市场占有率较高,软件更新块,配套软件丰富,在实时作业管理时更为方便。

因此,在本实施例中,所有的应用服务即作业任务都是经过容器化的应用或者作业任务,而容器化不是指已经加载至待运行内存的过程,指的是通过容器化打包后的形成的一个组件,当需要运行时才执行。

s200,当接收到作业需求信号时,将所述容器化作业任务与容器主机匹配;

s300,当匹配成功时,发送执行命令使所述容器主机执行所述容器化作业任务。

需要说明的是,此处的作业需求信号可以是用户发送,也可以是容器主机发送,还可以是管理中心给自己定时发送的需求信号,且都是为了启动管理中心的作业调度功能。当管理中心接收到信号时以及信号中的内容将作业任务调度到相应的主机,其中信号的内容可以是很简单,例如,执行某一个作业任务;也可以很复杂,包含了一些调度信息,例如,主机的性能信息和其网络中的位置;因此,可以根据实际应用情况向管理中心的发送的需求信息进行改动,以适应任务需要。

其中,容器主机是可以执行容器的主机,而由于容器的特性,市面上绝大部分的主机和系统都可以执行该容器。但由于作业任务在执行时所需要的硬件资源的不同,使用不同的主机执行作业任务会有不同的效果,例如,主机的性能不足以正常执行作业任务,一般情况会导致运行缓慢,严重情况则会导致无法运行;而当主机性能超过作业任务所需的性能时,作业任务的执行不会受到大的影响,有些情况也会使执行速度加快,但会有浪费性能资源,而此时需要的大量资源的作业任务得不到满足的情况发生。因此,需要根据主机性能和作业需求还有执行现场的作业情况,给作业任务调度合适容器主机执行作业,在此不做限定。

管理中心接收到作业需求信号,如果检测到作业需求信号中包含有优先级的信息,应判断后续的匹配的优先级,根据当前正在排队的需求信号进行比较,在合适的位置插入当前的需求信号。

如果此时所需匹配的作业任务较多,且有作业任务的执行队列的建立,应该依据优先值判断队列的插入位置。匹配后以发送命令的方式应告知容器主机其所匹配的作业任务的具体信息,例如,地址。以使容器主机可以自行抓取作业任务,为后续的执行做准备。

其中,命令可以发送至主机,也可以发送至作业任务,在此不做限定。在本实施例中该命令是发送至容器主机,其中可以包含作业任务的相关信息,以及作业任务的位置,同时应包含关于作业任务的执行时间,可以是立即执行,也可以是某一时刻执行,也可以是某一时间段后执行,根据实际解决问题的情况做设定,在此不做限定。其中还可以包含如果执行中遇到问题需要怎么处理,此内容可以根据具体问题进行相关的设定,例如:计算出某一判断的结果,则开始中断,或者终止执行。在命令中还可以包含,如果执行结束如何处理,是否返回结束的反馈信息,或者结束后不反馈信息,只将处理数据存放于指定内存中,此处也根据具体情况进行不同的设定,在此不做限定。

在本实施例中,设置为当执行结束时,反馈相关信息到管理中心中。

请参考图2,图2为本申请实施例提供的一般作业调度的流程图。

基于上述说明,可以想到一般的方法实施的调度流程。其中由作业中心和调度器组成管理中心,其中作业中心负责信号接收及处理,控制调度器和容器主机等。在管理中心的一侧控制的是容器主机。

作业中心接收到需求信号,处理后将执行请求发送给调度器,其中可能包含匹配相关的信息,调度器根据执行请求进行匹配,当匹配成功后将执行命令发送给容器主机,使容器主机执行作业任务。当匹配失败时,向作业中心发送匹配失败指令,再由作业中心决定是否向外界提示匹配失败信息。在本实施例中当容器主机执行作业任务结束时,反馈执行任务的结果。

请参考图3,图3为本申请实施例提供的用户发送需求的流程图。

用户发出执行作业任务的需求,即用户端向作业中心发出执行某一个作业任务的请求,作业中心接收请求处理得到相关作业任务的信息,控制调度器按照上述的策略规则匹配合适的容器主机,并执行。

其中,该匹配策略时作业任务侧进行对容器主机的匹配,也应计算相关作业任务的所需性能值和容器主机的能力值,再根据比较所需性能值和能力值进行匹配操作。

基于上述说明,可以有如下操作过程的流程。

步骤如下:

第一步,用户向作业中心发出执行作业任务的需求;

第二步,作业中心处理需求,得到执行请求,将执行请求发送至调度器;

第三步,调度器根据执行请求匹配容器主机;

第四步,当匹配到容器主机后向该容器主机发送执行命令,如果匹配失败则向作业中心发送失败消息;

第五步,容器主机执行改作业任务;

第六步,容器主机向作业中心反馈执行信息。

本申请技术方案通过将作业任务容器化改造,形成可以不依赖系统任务执行组件,再对组件进行相应的调度功能,方便管理者关注任务本身而不是系统内在的运行。

请参考图4,图4为本申请实施例提供的匹配流程图。

基于上述实施例,本实施例,可以包括:

s210,所述容器主机进行自身能力评估,得到能力值;

s220,将所述能力值作为所述作业需求信号发送到所述管理中心;

s230,所述管理中心根据所述能力值将所述容器主机与所述容器化作业任务进行匹配。

其中,该主机进行自身能力评估的方式,可以是自检也可以是查询性能表等方式,进行自身参数的评估,其中,参数可以包括动态参数也可以包括静态参数,例如以下,cpu、内存、存储空间、网络带宽、空间时间等,其中有静态参数还有动态参数。

需要说明的是,能力值可以是可以个将众多参数计算得出的综合值,也可以是一个数组包含许多单独的参数,是为了让调度器可以匹配到合适的作业任务,在此不做限定。

其中,通过取得的能力值和预定的策略规则进行判断,将所述容器主机与所述的作业任务进行匹配。该策略规则可以根据具体的使用情况进行设定,不同的应用场景对应不同的决策方式,以最合适的方式解决问题,在此也不做限定。

请参考图5,图5为本申请实施例提供的能力值匹配的流程图。

基于上述实施例,本实施例可以包括:

s231,统计当前每个待执行作业任务的所需性能值,并从大到小进行排列形成作业任务表;

s232,将所述容器主机从所述所需性能值最大的作业任务开始匹配,如果所述能力值大于或等于所述所需性能值,则匹配成功;如果小于,则匹配下一个作业任务直到匹配成功。

其中,统计当前每个待执行作业任务的所需性能值可以根据待执行任务的计算量,程序大小,以及算法的复杂度来统计。其具体需要统计的参数可以根据实际应用来设定,统计的数值应该可以评估该作业任务的在执行时的所占用的硬件资源的大小,在此不做限定。

需要说明的是,当匹配了所有的作业任务,结果都是容器主机的能力值小于作业任务的作序性能值,则匹配失败。还有一种情况就是没有待执行作业任务,无法进行匹配也表明匹配失败。

基于上述实施例的说明,可以大致描述出当主机发送需求信号时的流程。

请参考图6,图6为本申请实施例提供的主机发送需求的流程图。

其中,容器主机将评估后的能力值作为信号发送至作业中心,作业中心将信号经过处理后将匹配需要的信息发送至调度器,调度器根据信息和匹配策略选择合适的作业任务。

当匹配成功时,调度器再将执行命令发回至容器主机,容器主机根据执行命令中的内容,执行作业任务。当执行结束后反馈执行结果至作业中心。

基于上述说明,该容器主机发送的作业需求的方法可以例如如下步骤:

第一步,容器主机进行自我的能力评估;

第二步,容器主机向作业中心上报能力值;

第三步,作业中心通知调度器进行作业任务的匹配;

第四步,调度器对容器主机进行作业任务的匹配;

第五步,如果匹配成功向容器主机发送执行命令,如果匹配不成功,则向调度器发送结束消息;

第六步,容器主机执行作业任务;

第七步,容器主机执行结束后向作业任务反馈执行结果。

本申请实施例提供了一种作业管理方法,可以通过上述方法能够实现对作业任务的管理调度,通过使用容器技术,将作业任务容器化可以使作业任务的执行不依赖系统,方便调度操作。

下面对本申请实施例提供的一种作业管理装置进行介绍,下文描述的一种作业管理装置与上文描述的一种作业管理方法可相互对应参照。

请参考图7,图7为本申请实施例提供的作业管理装置的框图。

本实施例可以包括:

容器化模块100,管理中心将作业任务进行容器化,得到容器化作业任务;

匹配模块200,当接收到作业需求信号时,将所述容器化作业任务与容器主机匹配;

发送执行模块300,当匹配成功时,发送执行命令使所述容器主机执行所述容器化作业任务。

基于上述实施例,本实施例还可以包括:

失败提示模块,当匹配不成功时,所述管理中心发出失败提示。

基于上述实施例,本实施例在该容器主机执行结束后,还可以包括:

反馈单元,所述容器主机反馈执行结果至所述管理中心。

基于上述实施例,本实施例中该匹配模块,可以包括:

评估单元,所述容器主机进行自身能力评估,得到能力值;

信号发送单元,将所述能力值作为所述作业需求信号发送到所述管理中心;

匹配单元,所述管理中心根据所述能力值将所述容器主机与所述容器化作业任务进行匹配。

基于上述实施例,本实施例中该匹配单元,可以包括:

统计子单元,统计当前每个待执行作业任务的所需性能值,并从大到小进行排列形成作业任务表;

匹配子单元,将所述容器主机从所述所需性能值最大的作业任务开始匹配,如果所述能力值大于或等于所述所需性能值,则匹配成功;如果小于,则匹配下一个作业任务直到匹配成功。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种作业管理方法及装置进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1