集群的作业流管理方法和装置的制造方法

文档序号:8905137阅读:671来源:国知局
集群的作业流管理方法和装置的制造方法【
技术领域
】[0001]本发明涉及计算机应用
技术领域
,具体来说,涉及一种集群的作业流管理方法和目.0【
背景技术
】[0002]在高性能计算领域,面向气象、生物、石油等行业的高性能计算越来越复杂,仅依靠作业管理系统构建的高性能计算用户环境,不能完全满足日益复杂的面向行业的高性能计算用户的需求。基于工作流构建的高性能计算用户环境,它不仅便于业务流程的创建和控制,而且扩展了各种关系依赖和流程语义,给复杂的流程控制提供了可能。基于工作流的高性能计算用户环境能够灵活地适应不同用户环境的变化。ecflow就是这样一种作业流控制软件,可以支持多种作业调度系统(例如PBSPortableBatchSystem)。[0003]高性能计算用户向PBS等作业调度系统提交作业时,多个作业间可能是有依赖关系的。那么为了方便作业管理,可根据作业间的依赖关系和运行顺序创建一个作业流。而ecflow就可以根据该作业流,控制作业的运行顺序,调整作业运行状态,从而进行复杂的流程控制,实现作业流管理。[0004]Ecflow主要由ecflowserver、ecflow_client、ecflowview三部分构成。其中,ecflowserver是作业流的服务端,又叫做作业流控制器,用于提供作业流的管理和调度功能,其可以分布在集群内的各个节点上。系统用户可以启动自己的ecflowserver;ecflow_client是一种命令行工具;ecf1wview则是ecflow提供的可视化作业监控和管理客户端。[0005]那么在集群环境中使用ecflow时,多个ecflowserver可能分布在集群的不同节点上,也可能在同一个节点上运行多个ecflowserverο那么如何快速发现并定位集群中的ecflowserver的位置和状态目前还是个未解决的问题。[0006]另外,为方便对ecflowserver的管理,实现对多个ecflowserver以及应用作业流的流程和状态的监控和管理。ecflow提供了C/S(客户端/服务器)模式的监控客户端ecflowview。但是在现有技术中,ecflowview需要通过vnc等工具登录到ecflowserver所在节点才能使用,不方便用户使用;而且ecflowview不能同时管理多个ecflowserver,如果在管理ecflowserverl时需要管理ecflowserver2,则需要关闭对ecflowserverI的连接,然后在建立与ecflowserver2的连接。显然,管理员难以掌握集群中所有ecflowserver的整体状态,不方便在大规模集群中使用。[0007]此外,ecflow中的单个任务(作业)和作业调度系统中的作业,目前没有显式的对应关系,在使用时需要用户自己分析两者之间的对应关系,这样就会不方便定位作业的实际运行位置,以及掌握作业的具体运行数据。[0008]针对相关技术中的上述问题,目前尚未提出有效的解决方案。【
发明内容】[0009]针对相关技术中的上述问题,本发明提出一种集群的作业流管理方法和装置,能够实现对集群中正在运行的作业流控制器的快速定位。[0010]本发明的技术方案是这样实现的:[0011]根据本发明的一个方面,提供了一种集群的作业流管理方法。[0012]该作业流管理方法包括:[0013]扫描目标节点范围内每个节点上运行的作业流控制进程的进程号,确定每个节点上所运行的作业流控制进程;[0014]基于每个节点上运行的作业流控制进程的进程信息,确定该作业流控制进程所对应的作业流控制器的端口号;[0015]根据作业流控制器的端口号,确定每个节点上配置的作业流控制器。[0016]此外,该作业流管理方法进一步包括:[0017]基于每个节点上运行的作业流控制进程的进程信息,确定发起作业流控制进程的用户信息。[0018]进一步的,该作业流管理方法进一步包括:[0019]根据预先配置的用户优先级信息,控制每个节点上运行的作业流对用户的可见性。[0020]另外,该作业流管理方法进一步包括:[0021]根据每个节点的IP地址信息和每个节点上配置的作业流控制器的端口号,确定目标节点范围内每个节点上的作业流控制器的分布信息。[0022]此外,该作业流管理方法进一步包括:[0023]通过调用预先封装的作业流控制命令,对多个作业流控制器进行管理。[0024]其中,在对任意一个作业流控制器进行管理时,可通过确定该作业流控制器在所在的节点上所对应的多个作业流;获取多个作业流中每个作业流的作业流程信息和作业状态信息;根据每个作业流的作业流程信息和作业状态信息对该作业流控制器所对应的每个作业流进行管理。[0025]另外,该作业流管理方法进一步包括:[0026]对每个节点上配置的作业流控制器所对应的作业流的作业状态进行跟踪;[0027]在作业流的作业状态改变的情况下,对作业调度系统中对应该作业状态改变的任务作业的状态信息进行更新。[0028]并且,该作业流管理方法进一步包括:[0029]预先关联作业步骤:根据作业流中的作业的属性信息将作业流中的作业与作业调度系统中的任务作业的作业号相关联,生成作业关联信息。[0030]对应的,该作业流管理方法进一步包括:[0031]在对作业调度系统中对应该作业状态改变的任务作业的状态信息进行更新之前,根据作业关联信息在作业调度系统中查找是否具有对应该作业流中作业状态改变的作业的任务作业;[0032]在未查找到对应该作业流的作业状态改变的作业的任务作业的情况下,执行预先关联作业步骤。[0033]根据本发明的另一方面,提供了一种集群的作业流管理装置。[0034]该作业流管理装置包括:[0035]扫描模块,用于扫描目标节点范围内每个节点上运行的作业流控制进程的进程号,确定每个节点上所运行的作业流控制进程;[0036]第一确定模块,用于基于每个节点上运行的作业流控制进程的进程信息,确定该作业流控制进程所对应的作业流控制器的端口号;[0037]第二确定模块,用于根据作业流控制器的端口号,确定每个节点上配置的作业流控制器。[0038]本发明通过扫描并确定节点上运行的作业流控制进程的进程号和对应该作业流控制进程的作业流控制器的端口号,实现了对集群中正在运行的作业流控制器的快速定位。【附图说明】[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0040]图1是根据本发明实施例的集群的作业流管理方法的流程图;[0041]图2是根据本发明实施例的集群的ecflowserver的探测流程图;[0042]图3是根据本发明实施例的多ecflowserver下的作业流监控流程图;[0043]图4是根据本发明实施例的作业流和作业调度系统中的作业的关联监控流程图;[0044]图5是根据本发明实施例的集群的作业流管理装置的框图。【具体实施方式】[0045]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。[0046]根据本发明的实施例,提供了一种集群的作业流管理方法。[0047]如图1所示,根据本发明实施例的作业流管理方法包括:[0048]步骤S101,扫描目标节点范围内每个节点上运行的作业流控制进程的进程号,确定每个节点上所运行的作业流控制进程;[0049]步骤S103,基于每个节点上运行的作业流控制进程的进程信息,确定该作业流控制进程所对应的作业流控制器的端口号;[0050]步骤S105,根据作业流控制器的端口号,确定每个节点上配置的作业流控制器。[0051]下面以ecflow来对上述技术方案进行详细阐述,在一个具体的实施例中,本发明将集群中的节点分为三类:管理节点、web监控节点和其他节点。其中,管理节点可运行server探测、作业流状态获取和监控等程序;web监控节点则用于提供对作业流的监控和管理功能的页面访问入口,即提供一种可视化界面,用户可通过该可视化界面来对集群中各个节点上的server进行管理;此外,集群中除管理节点和web监控节点外的所有节点都属于其他节点。并且,管理节点和web监控节点可以部署在同一节点,也可分开部署。另夕卜,集群中的所有节点都可运行ecflowserver,同时也可作为作业运行节点(即上述其他节点)。[0052]由于多个server可以分布在集群的不同节点上,也可以分布在同一节点上,那么为了快速并定位集群中的ecf当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1