分布式集群环境下作业流智能监控系统的研究

2016-03-16 10:35蕫洋溢张淑丽陈世亮西北工业大学明德学院西安710124
电子测试 2016年1期
关键词:集群

蕫洋溢,崔 岩,张淑丽,陈世亮(西北工业大学明德学院,西安,710124)



分布式集群环境下作业流智能监控系统的研究

蕫洋溢,崔 岩,张淑丽,陈世亮
(西北工业大学明德学院,西安,710124)

摘要:实时监控分布在企业内部网络集群系统上的各类作业的提交、运行及完成归档情况,是现代企业信息化管理的重要内容。本文提出并设计了一个基于分布式集群环境下的作业流监控系统,采用客户端/服务器(Client/Server,C/S)结构,客户端进行作业流的设计、提交及图形化显示,对作业从提交到返回执行结果的全过程进行控制;服务器端采用集群网络环境下的负载平衡策略,将作业分配到某台主机上进行实时处理,并将处理结果返回到客户端。经过实际企业应用测试,表明该系统能够较好的完成各类作业在异构集群计算机上的整个生命周期的智能监控任务。

关键词:集群;作业流监控;自动刷新

0 引言

作业流智能监控系统(JFMS,Job Flow intelligent Monitoring System)是为了强化操作系统的作业管理功能,是介于操作系统和应用软件之间的中间件。现代企业内部的各种应用系统大多分布在网络集群系统之上,对集群上各类资源及作业的系统管理软件的研究也引起了国内外众多科研机构的兴趣,出现了许多相关的商业软件,如早期的PBS、NQS、LSF、NQE、DQS、Task Broker、NE TOOLSET、CODINE、 LoadLeveler以及NEC公司的NetShepherd等。但在易用性及作业流智能实时监控方面不尽人意。本文提出的分布式集群环境下的作业流智能监控系统采用客户/服务器结构,客户端(CL)采用友好的图形化界面,实现作业流从定义到执行结束归档的全过程监控,服务器端(SV)采用扩展的NQS (网络队列系统)[2],实现作业流的实际运行及集群工作组计算机的负载平衡等工作。使用户可以最大限度地利用集群计算机系统环境中的各种计算资源,提高作业执行效率,降低计算成本,同时,集群技术的应用也使得系统具有很高的可靠性。

1 JFMS系统的设计

1.1系统运行环境

JFMS系统主要设计运行在分布式网络集群环境下,网络集群是指由一个以上的工作组计算机集群组成,这些工作组集群一般位于同一个局域网内。各个工作组集群可以是同构的,也可以是异构的。网络集群是将多个工作组集群看作一个更大的虚拟集群,作业管理系统运行在分布式的网络集群上,目标是充分利用系统的空闲资源,达到高吞吐量,具有高可靠性。

1.2JFMS系统总体结构

JFMS系统主要由三个模块构成,即客户端(CL)、服务器端(SV)及通讯服务模块。如图1所示。

图1 系统总体结构图

客户端主要负责作业流整个生命周期的图形化控制和监控,包括图形化作业定义、投交及实时监控作业完成状态等;服务器端负责作业的执行、作业迁移、负载平衡及响应客户端的命令;通信服务模块则主要提供服务器端和客户端的通信支持,使用面向对象的网络协议CORBA(公共对象请求代理结构)来实现。

2 作业流网络的搭建

2.1子作业类型

JFMS系统通过客户端提供对企业内部现有十余种各类子作业模块的运行支持,这些子作业模块类型包括:单元作业、SAP 作业、对话作业、条件分支作业、日历分支作业、并行分支作业、跳转作业、等待作业及子作业网络等。

2.2作业流网络

作业流网络(Job flow NetWork,JNW)可以由多个可执行作业按照一定的逻辑关系或嵌套关系所组成,简称作业。在客户端,用户可以根据需要利用GUI搭建作业流网络,然后根据需要进行作业的投交、执行及全程监控。

2.3作业流网络搭建实例

根据NJMS提供的作业流网络及逻辑结构,可以方便地将某个实际的计算过程或商业应用处理流程,转化为一个满足实际需要的作业流网络(JNW)。图2给出了某产品采购企业对应的采用NJMS系统客户端所搭建的作业流网络(JNW)。

图2 某公司作业流网络

3 作业流网络的智能监控

当JNW在客户端搭建完成后,需要经历提交、运行、等待(对话)、暂停、完成(正常)、完成(出错)及完成(归档)等几种状态。JNW的智能监控模块为用户实时了解作业的瞬时执行状态提供了支持。

3.1作业执行轨迹自动刷新过程

当JNW被提交给服务器端之后,就产生了相应的内存对象,从而形成了作业的执行轨迹。通过客户端的轨迹列表就可以动态监视作业执行状态的变化情况,自动刷新的时间间隔可以进行设定,也可以关闭自动刷新,将画面定格在某一时刻的作业状态上。

作业状态自动刷新的详细流程如下:

① 客户端(CL)启动自动刷新的命令。服务器端(SV)接收到命令后,启动作业监控进程,该进程一直留驻在内存中,负责从服务器的作业执行模块获得最新数据,并负责发送刷新数据。

② ①完成后,CL启动自动刷新线程来刷新作业执行轨迹监控列表。一旦有作业执行轨迹(Tracker)状态有变化, 作业执行模块就会实时向作业监控进程发送刷新数据。

③ 作业执行模块会将作业轨迹状态的变化数据写入status文件中。作业监控进程接收到作业执行模块发送的数据后,写入缓冲区中。作业的状态只要发生变化,将自动触发这个过程。

④ CL自动刷新线程会定期向SV发送刷新命令, SV接收到命令后,以启动作业监控进程,该进程的唯一任务就是从作业监控进程获得刷新数据。

⑤ 作业监控进程获得刷新数据,然后清空缓存1。

⑥ SV将刷新数据送回给CL。

⑦ CL 的自动刷新线程将刷新数据放入缓冲区2。

⑧ CL 的Update thread线程会定期的从缓冲区中取出刷新数据,然后清空缓存区2,并将刷新数据写入缓冲区3。

⑨ CL 刷新线程向Tracker页面发送刷新消息。作业执行轨迹收到消息后,从缓冲区3中读取刷新数据,刷新页面。

3.2作业执行轨迹监控的可视化显示

Tracker是作业投交后的显示形式,客户端采用不同的颜色表示了作业的不同状态。比如:绿色表示正常结束;黄色表示正在执行;红色表示执行结果出错;棕色表示需要用户对话的状态等。查看Tracker可以实现对所投交的作业的全程实时监控,如图3所示。

Tracker给出了作业名称、状态、备注、期望开始时间、期望结束时间、实际开始时间、实际结束时间、提交用户、提交机器等信息。在启动自动刷新后,Tracker中的状态信息是动态刷新的。

图3 作业执行轨迹列表

4 结论

JFMS系统作为一个强化操作系统功能的中间件系统软件,分布于集群异构系统之上,用来完成企业范围内的作业流智能监控管理,实现企业人力物力等资源的优化利用,协调企业内各类应用系统的运行。通过实际测试和用户使用证明,该系统具有友好直观的用户界面,高效的作业设计、提交、控制及处理能力,并应用集群技术实现了系统的高可靠性,使用户可通过简单的操作实现企业管理,在商业领域有着广泛的应用前景。

参考文献

[1] Albeaus Bayucan, etc. Portable Batch System Administrator Guide[R], Numerical Aerospace Simulation System Division, NASA Ames Research Center, August 1998

[2] Brent A. Kingsbury .The Network Queueing System[R]. Sterling Software, November 1992

[3] LSF Batch Administrator’s Guide[R], Platform Computing Corporation, August 1998

[4] LoadLeveler[R], Maui High Performance Computing Center, 1997

[5] NQS & SystemScope/JobCenter User’s Guide[R], NEC Corporation, 1998

[6]车静光.微机集群组建、优化和管理[M],北京:机械工业出版社,2004年1月第1版

[7]郑继川,刑亮亮等.作业流的结构化定义方法[J],计算机工程,Vol.29.No.12,2003

蕫洋溢(1978—),女,陕西省西安市人,讲师,主要研究方向为智能信息处理,智能信息挖掘等。

Research Of Job Flow Intelligent Monitoring System Based On Distributed Cluster

Dong Yangyi,Cui Yan,Zhang Shuli,Chen Shiliang
(Northwestern Polytechnical University MingDe College,Xi’an,710124)

Abstract:The real-time monitoring of the distribution of all kinds of operations in the enterprise internal network cluster system, the operation and the completion of the filing, is an important part of modern enterprise information management. This paper presents and designs a job flow monitoring system based on the distributed cluster environment. Using client / server (Client/Server, C/S) structure, the client is designed, submitted and graphical display. The job is controlled in the whole process from the submission to the returned. After the application of the test, the system can accomplish the whole life cycle of the whole life cycle of the heterogeneous clusters.

Keywords:Cluster;Job flow monitor;Automatic update

作者简介

基金项目:陕西省教育厅2014年科学研究专项项目项目编号:14JK2150

中图分类号:TP311

文献标志码:A

猜你喜欢
集群
征文通知:无人机集群智能自组网与协同应用
功能性新材料产业集群加速形成
海上小型无人机集群的反制装备需求与应对之策研究
培育世界级汽车产业集群
一种无人机集群发射回收装置的控制系统设计
中国空军6月将进行智能无人机集群竞技赛
Python与Spark集群在收费数据分析中的应用
勤快又呆萌的集群机器人
UAV集群自组织飞行建模与控制策略研究
对构建智慧产业集群的几点思考