蕫洋溢,崔 巖,張淑麗,陳世亮(西北工業(yè)大學(xué)明德學(xué)院,西安,710124)
?
分布式集群環(huán)境下作業(yè)流智能監(jiān)控系統(tǒng)的研究
蕫洋溢,崔 巖,張淑麗,陳世亮
(西北工業(yè)大學(xué)明德學(xué)院,西安,710124)
摘要:實(shí)時(shí)監(jiān)控分布在企業(yè)內(nèi)部網(wǎng)絡(luò)集群系統(tǒng)上的各類作業(yè)的提交、運(yùn)行及完成歸檔情況,是現(xiàn)代企業(yè)信息化管理的重要內(nèi)容。本文提出并設(shè)計(jì)了一個(gè)基于分布式集群環(huán)境下的作業(yè)流監(jiān)控系統(tǒng),采用客戶端/服務(wù)器(Client/Server,C/S)結(jié)構(gòu),客戶端進(jìn)行作業(yè)流的設(shè)計(jì)、提交及圖形化顯示,對(duì)作業(yè)從提交到返回執(zhí)行結(jié)果的全過(guò)程進(jìn)行控制;服務(wù)器端采用集群網(wǎng)絡(luò)環(huán)境下的負(fù)載平衡策略,將作業(yè)分配到某臺(tái)主機(jī)上進(jìn)行實(shí)時(shí)處理,并將處理結(jié)果返回到客戶端。經(jīng)過(guò)實(shí)際企業(yè)應(yīng)用測(cè)試,表明該系統(tǒng)能夠較好的完成各類作業(yè)在異構(gòu)集群計(jì)算機(jī)上的整個(gè)生命周期的智能監(jiān)控任務(wù)。
關(guān)鍵詞:集群;作業(yè)流監(jiān)控;自動(dòng)刷新
作業(yè)流智能監(jiān)控系統(tǒng)(JFMS,Job Flow intelligent Monitoring System)是為了強(qiáng)化操作系統(tǒng)的作業(yè)管理功能,是介于操作系統(tǒng)和應(yīng)用軟件之間的中間件。現(xiàn)代企業(yè)內(nèi)部的各種應(yīng)用系統(tǒng)大多分布在網(wǎng)絡(luò)集群系統(tǒng)之上,對(duì)集群上各類資源及作業(yè)的系統(tǒng)管理軟件的研究也引起了國(guó)內(nèi)外眾多科研機(jī)構(gòu)的興趣,出現(xiàn)了許多相關(guān)的商業(yè)軟件,如早期的PBS、NQS、LSF、NQE、DQS、Task Broker、NE TOOLSET、CODINE、 LoadLeveler以及NEC公司的NetShepherd等。但在易用性及作業(yè)流智能實(shí)時(shí)監(jiān)控方面不盡人意。本文提出的分布式集群環(huán)境下的作業(yè)流智能監(jiān)控系統(tǒng)采用客戶/服務(wù)器結(jié)構(gòu),客戶端(CL)采用友好的圖形化界面,實(shí)現(xiàn)作業(yè)流從定義到執(zhí)行結(jié)束歸檔的全過(guò)程監(jiān)控,服務(wù)器端(SV)采用擴(kuò)展的NQS (網(wǎng)絡(luò)隊(duì)列系統(tǒng))[2],實(shí)現(xiàn)作業(yè)流的實(shí)際運(yùn)行及集群工作組計(jì)算機(jī)的負(fù)載平衡等工作。使用戶可以最大限度地利用集群計(jì)算機(jī)系統(tǒng)環(huán)境中的各種計(jì)算資源,提高作業(yè)執(zhí)行效率,降低計(jì)算成本,同時(shí),集群技術(shù)的應(yīng)用也使得系統(tǒng)具有很高的可靠性。
1.1系統(tǒng)運(yùn)行環(huán)境
JFMS系統(tǒng)主要設(shè)計(jì)運(yùn)行在分布式網(wǎng)絡(luò)集群環(huán)境下,網(wǎng)絡(luò)集群是指由一個(gè)以上的工作組計(jì)算機(jī)集群組成,這些工作組集群一般位于同一個(gè)局域網(wǎng)內(nèi)。各個(gè)工作組集群可以是同構(gòu)的,也可以是異構(gòu)的。網(wǎng)絡(luò)集群是將多個(gè)工作組集群看作一個(gè)更大的虛擬集群,作業(yè)管理系統(tǒng)運(yùn)行在分布式的網(wǎng)絡(luò)集群上,目標(biāo)是充分利用系統(tǒng)的空閑資源,達(dá)到高吞吐量,具有高可靠性。
1.2JFMS系統(tǒng)總體結(jié)構(gòu)
JFMS系統(tǒng)主要由三個(gè)模塊構(gòu)成,即客戶端(CL)、服務(wù)器端(SV)及通訊服務(wù)模塊。如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
客戶端主要負(fù)責(zé)作業(yè)流整個(gè)生命周期的圖形化控制和監(jiān)控,包括圖形化作業(yè)定義、投交及實(shí)時(shí)監(jiān)控作業(yè)完成狀態(tài)等;服務(wù)器端負(fù)責(zé)作業(yè)的執(zhí)行、作業(yè)遷移、負(fù)載平衡及響應(yīng)客戶端的命令;通信服務(wù)模塊則主要提供服務(wù)器端和客戶端的通信支持,使用面向?qū)ο蟮木W(wǎng)絡(luò)協(xié)議CORBA(公共對(duì)象請(qǐng)求代理結(jié)構(gòu))來(lái)實(shí)現(xiàn)。
2.1子作業(yè)類型
JFMS系統(tǒng)通過(guò)客戶端提供對(duì)企業(yè)內(nèi)部現(xiàn)有十余種各類子作業(yè)模塊的運(yùn)行支持,這些子作業(yè)模塊類型包括:?jiǎn)卧鳂I(yè)、SAP 作業(yè)、對(duì)話作業(yè)、條件分支作業(yè)、日歷分支作業(yè)、并行分支作業(yè)、跳轉(zhuǎn)作業(yè)、等待作業(yè)及子作業(yè)網(wǎng)絡(luò)等。
2.2作業(yè)流網(wǎng)絡(luò)
作業(yè)流網(wǎng)絡(luò)(Job flow NetWork,JNW)可以由多個(gè)可執(zhí)行作業(yè)按照一定的邏輯關(guān)系或嵌套關(guān)系所組成,簡(jiǎn)稱作業(yè)。在客戶端,用戶可以根據(jù)需要利用GUI搭建作業(yè)流網(wǎng)絡(luò),然后根據(jù)需要進(jìn)行作業(yè)的投交、執(zhí)行及全程監(jiān)控。
2.3作業(yè)流網(wǎng)絡(luò)搭建實(shí)例
根據(jù)NJMS提供的作業(yè)流網(wǎng)絡(luò)及邏輯結(jié)構(gòu),可以方便地將某個(gè)實(shí)際的計(jì)算過(guò)程或商業(yè)應(yīng)用處理流程,轉(zhuǎn)化為一個(gè)滿足實(shí)際需要的作業(yè)流網(wǎng)絡(luò)(JNW)。圖2給出了某產(chǎn)品采購(gòu)企業(yè)對(duì)應(yīng)的采用NJMS系統(tǒng)客戶端所搭建的作業(yè)流網(wǎng)絡(luò)(JNW)。
圖2 某公司作業(yè)流網(wǎng)絡(luò)
當(dāng)JNW在客戶端搭建完成后,需要經(jīng)歷提交、運(yùn)行、等待(對(duì)話)、暫停、完成(正常)、完成(出錯(cuò))及完成(歸檔)等幾種狀態(tài)。JNW的智能監(jiān)控模塊為用戶實(shí)時(shí)了解作業(yè)的瞬時(shí)執(zhí)行狀態(tài)提供了支持。
3.1作業(yè)執(zhí)行軌跡自動(dòng)刷新過(guò)程
當(dāng)JNW被提交給服務(wù)器端之后,就產(chǎn)生了相應(yīng)的內(nèi)存對(duì)象,從而形成了作業(yè)的執(zhí)行軌跡。通過(guò)客戶端的軌跡列表就可以動(dòng)態(tài)監(jiān)視作業(yè)執(zhí)行狀態(tài)的變化情況,自動(dòng)刷新的時(shí)間間隔可以進(jìn)行設(shè)定,也可以關(guān)閉自動(dòng)刷新,將畫(huà)面定格在某一時(shí)刻的作業(yè)狀態(tài)上。
作業(yè)狀態(tài)自動(dòng)刷新的詳細(xì)流程如下:
① 客戶端(CL)啟動(dòng)自動(dòng)刷新的命令。服務(wù)器端(SV)接收到命令后,啟動(dòng)作業(yè)監(jiān)控進(jìn)程,該進(jìn)程一直留駐在內(nèi)存中,負(fù)責(zé)從服務(wù)器的作業(yè)執(zhí)行模塊獲得最新數(shù)據(jù),并負(fù)責(zé)發(fā)送刷新數(shù)據(jù)。
② ①完成后,CL啟動(dòng)自動(dòng)刷新線程來(lái)刷新作業(yè)執(zhí)行軌跡監(jiān)控列表。一旦有作業(yè)執(zhí)行軌跡(Tracker)狀態(tài)有變化, 作業(yè)執(zhí)行模塊就會(huì)實(shí)時(shí)向作業(yè)監(jiān)控進(jìn)程發(fā)送刷新數(shù)據(jù)。
③ 作業(yè)執(zhí)行模塊會(huì)將作業(yè)軌跡狀態(tài)的變化數(shù)據(jù)寫(xiě)入status文件中。作業(yè)監(jiān)控進(jìn)程接收到作業(yè)執(zhí)行模塊發(fā)送的數(shù)據(jù)后,寫(xiě)入緩沖區(qū)中。作業(yè)的狀態(tài)只要發(fā)生變化,將自動(dòng)觸發(fā)這個(gè)過(guò)程。
④ CL自動(dòng)刷新線程會(huì)定期向SV發(fā)送刷新命令, SV接收到命令后,以啟動(dòng)作業(yè)監(jiān)控進(jìn)程,該進(jìn)程的唯一任務(wù)就是從作業(yè)監(jiān)控進(jìn)程獲得刷新數(shù)據(jù)。
⑤ 作業(yè)監(jiān)控進(jìn)程獲得刷新數(shù)據(jù),然后清空緩存1。
⑥ SV將刷新數(shù)據(jù)送回給CL。
⑦ CL 的自動(dòng)刷新線程將刷新數(shù)據(jù)放入緩沖區(qū)2。
⑧ CL 的Update thread線程會(huì)定期的從緩沖區(qū)中取出刷新數(shù)據(jù),然后清空緩存區(qū)2,并將刷新數(shù)據(jù)寫(xiě)入緩沖區(qū)3。
⑨ CL 刷新線程向Tracker頁(yè)面發(fā)送刷新消息。作業(yè)執(zhí)行軌跡收到消息后,從緩沖區(qū)3中讀取刷新數(shù)據(jù),刷新頁(yè)面。
3.2作業(yè)執(zhí)行軌跡監(jiān)控的可視化顯示
Tracker是作業(yè)投交后的顯示形式,客戶端采用不同的顏色表示了作業(yè)的不同狀態(tài)。比如:綠色表示正常結(jié)束;黃色表示正在執(zhí)行;紅色表示執(zhí)行結(jié)果出錯(cuò);棕色表示需要用戶對(duì)話的狀態(tài)等。查看Tracker可以實(shí)現(xiàn)對(duì)所投交的作業(yè)的全程實(shí)時(shí)監(jiān)控,如圖3所示。
Tracker給出了作業(yè)名稱、狀態(tài)、備注、期望開(kāi)始時(shí)間、期望結(jié)束時(shí)間、實(shí)際開(kāi)始時(shí)間、實(shí)際結(jié)束時(shí)間、提交用戶、提交機(jī)器等信息。在啟動(dòng)自動(dòng)刷新后,Tracker中的狀態(tài)信息是動(dòng)態(tài)刷新的。
圖3 作業(yè)執(zhí)行軌跡列表
JFMS系統(tǒng)作為一個(gè)強(qiáng)化操作系統(tǒng)功能的中間件系統(tǒng)軟件,分布于集群異構(gòu)系統(tǒng)之上,用來(lái)完成企業(yè)范圍內(nèi)的作業(yè)流智能監(jiān)控管理,實(shí)現(xiàn)企業(yè)人力物力等資源的優(yōu)化利用,協(xié)調(diào)企業(yè)內(nèi)各類應(yīng)用系統(tǒng)的運(yùn)行。通過(guò)實(shí)際測(cè)試和用戶使用證明,該系統(tǒng)具有友好直觀的用戶界面,高效的作業(yè)設(shè)計(jì)、提交、控制及處理能力,并應(yīng)用集群技術(shù)實(shí)現(xiàn)了系統(tǒng)的高可靠性,使用戶可通過(guò)簡(jiǎn)單的操作實(shí)現(xiàn)企業(yè)管理,在商業(yè)領(lǐng)域有著廣泛的應(yīng)用前景。
參考文獻(xiàn)
[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]車靜光.微機(jī)集群組建、優(yōu)化和管理[M],北京:機(jī)械工業(yè)出版社,2004年1月第1版
[7]鄭繼川,刑亮亮等.作業(yè)流的結(jié)構(gòu)化定義方法[J],計(jì)算機(jī)工程,Vol.29.No.12,2003
蕫洋溢(1978—),女,陜西省西安市人,講師,主要研究方向?yàn)橹悄苄畔⑻幚?,智能信息挖掘等?/p>
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
作者簡(jiǎn)介
基金項(xiàng)目:陜西省教育廳2014年科學(xué)研究專項(xiàng)項(xiàng)目項(xiàng)目編號(hào):14JK2150
中圖分類號(hào):TP311
文獻(xiàn)標(biāo)志碼:A