摘要:隨著機(jī)群系統(tǒng)的廣泛應(yīng)用,功能結(jié)構(gòu)各異,并且適用于不同機(jī)群系管理軟件紛紛出現(xiàn),其中包括以CLI (Command line User Interface ) 命令行模式進(jìn)行管理和以GUI圖像用戶界面進(jìn)行管理兩種用戶體驗(yàn)?zāi)J?。該課題設(shè)計(jì)與實(shí)現(xiàn)一種通過以LAMP技術(shù)為背景的圖形用戶界面機(jī)群管理系統(tǒng)完成對(duì)學(xué)機(jī)群的訪問與管理。
關(guān)鍵詞:機(jī)群系統(tǒng);GUI;LAMP;圖形用戶接口
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)04-0911-03
LAMP-based Fleet Management System GUI Design
WANG An-ran, CUI Hai-dong
(College of Information Science and Technology, Shandong University of Science and Technology, Qingdao 266590, China)
Abstract: With the extensive use of cluster systems, many cluster management software with various functions have been developed to be use. Those software include two experience mode, one manage with CLI(Command line User Interface) instructions and the other one with GUI (graphic user interface). This paper elaborates a GUI management and access method for clusters uses LAMP technical.
Key words: cluster;GUI;LAMP;the software of cluster management
1 基于GUI的機(jī)群管理系統(tǒng)研究的目的與意義
計(jì)算機(jī)在50多年的發(fā)展中經(jīng)歷了重大的變革,高性能但價(jià)格相對(duì)便宜的PC機(jī)大量涌現(xiàn),各種互連網(wǎng)絡(luò)技術(shù)已經(jīng)相當(dāng)成熟,這為機(jī)群的構(gòu)建創(chuàng)造了有利條件。傳統(tǒng)的CLI管理模式,不僅需要專業(yè)的人員進(jìn)行管理而且不夠直觀的檢測系統(tǒng)中節(jié)點(diǎn)的工作狀態(tài),因此基于GUI的機(jī)群管理系統(tǒng)的設(shè)計(jì)也成為當(dāng)前熱點(diǎn)。
1.1目前基于GUI的機(jī)群管理系統(tǒng)國內(nèi)外相關(guān)研究現(xiàn)狀
隨著機(jī)群系統(tǒng)的廣泛應(yīng)用,機(jī)群管理軟件得到了前所未有的發(fā)展。機(jī)群管理軟件的研究與開發(fā)是一個(gè)相當(dāng)有潛力的領(lǐng)域,目前國內(nèi)外出現(xiàn)了很多機(jī)群管理系統(tǒng)。
國外著名的機(jī)群管理軟件主要有美國IBM公司的CSM和XCAT,加拿大Platform公司的 LS等。
IBM公司的 CSM(ClusterSystemsManagement )是IBM eServerCluster1300上的系統(tǒng)管理軟件,是一款功能很全面的管理工具,支持Redhat、SuSE,而且還在不斷的發(fā)展中。
XCAT是用于IBMeServerCluster1300上的系統(tǒng)管理軟件。它由EganFord開發(fā)。它基本上是由shell腳本寫成,相當(dāng)簡捷。但是它實(shí)現(xiàn)了機(jī)群系統(tǒng)管理大部分的內(nèi)容,是個(gè)非常出色的管理軟件。
LSF(Load Sharing Facility)該負(fù)載共享軟件是由加拿大Platform公司開發(fā)的,無論從功能方面還是從應(yīng)用范圍來講,LSF可謂是一個(gè)商用的成熟的機(jī)群管理系統(tǒng)。
國內(nèi)的機(jī)群管理軟件主要有聯(lián)想公司的LCMS和曙光公司的曙光4000L。聯(lián)想自主研發(fā)的機(jī)群管理系統(tǒng)LCMS,實(shí)現(xiàn)了服務(wù)器機(jī)群軟硬件資源的高效動(dòng)態(tài)管控,有效地支持了大規(guī)模科學(xué)工程計(jì)算應(yīng)用。
2 系統(tǒng)開發(fā)技術(shù)簡介
2.1 LAMP技術(shù)簡介
LAMP(Linux Apache MySQL PHP)是指一組常用來搭建動(dòng)態(tài)網(wǎng)站的開源軟件包括Linux操作系統(tǒng)、Apache網(wǎng)絡(luò)服務(wù)器、MySQL數(shù)據(jù)庫和PHP語言的黃金組合,共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái)。隨著開源潮流的蓬勃發(fā)展,LAMP以開發(fā)成本較低,開發(fā)速度快,安全性高等特點(diǎn)已經(jīng)與J2EE和.Net商業(yè)軟件形成三足鼎立之勢。
2.2 ExtJs技術(shù)簡介
系統(tǒng)采用B/S模式,GUI主要在瀏覽器端,具體實(shí)現(xiàn)方案采用EXTJS,ExtJS可以用來開發(fā)RIA也即富客戶端的AJAX應(yīng)用,是一個(gè)用javascript寫的,主要用于創(chuàng)建前端用戶界面,是一個(gè)與后臺(tái)技術(shù)無關(guān)的前端ajax框架,EXT要比開發(fā)者直接針對(duì)DOM、W3C對(duì)象模型開發(fā)UI組件輕松。
3 基于GUI機(jī)群管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
3.1系統(tǒng)架構(gòu)
根據(jù)系統(tǒng)需求分析中,用戶能夠?qū)ο到y(tǒng)進(jìn)行檢測與管理,整個(gè)管理系統(tǒng)的實(shí)現(xiàn)采用B/S模式,整個(gè)機(jī)群軟件的架構(gòu)如圖1。
數(shù)據(jù)、操作通過瀏覽器提交給Apache服務(wù)器,服務(wù)器調(diào)用PHP代碼對(duì)用戶提交的操作進(jìn)行相應(yīng)的shell指令轉(zhuǎn)換,通過提供的system(),exec(),passthru()三個(gè)函數(shù)來調(diào)用外部的shell命令,然后Apache服務(wù)器對(duì)相關(guān)的操作記錄寫入指定的Mysql數(shù)據(jù)庫。
3.2 功能設(shè)計(jì)
綜合考慮機(jī)群管理系統(tǒng)的整個(gè)執(zhí)行流程,按照不同的功能將系統(tǒng)劃分為:普通用戶界面構(gòu)建、節(jié)點(diǎn)機(jī)動(dòng)態(tài)信息采集、節(jié)點(diǎn)機(jī)靜態(tài)信息采集、任務(wù)分配、任務(wù)監(jiān)測、任務(wù)結(jié)果回收、資源分配的構(gòu)建。
各自功能具體如下:
1)普通用戶界面:是提供管理、維護(hù)機(jī)群系統(tǒng)的用戶信息,具體包括用戶的基本信息,用戶的歷史操作等相關(guān)信息。
2)節(jié)點(diǎn)機(jī)動(dòng)態(tài)信息采集:模擬每一個(gè)節(jié)點(diǎn)的動(dòng)態(tài)信息,包括數(shù)據(jù)的流向、動(dòng)態(tài)數(shù)據(jù)量大小,資源利用率、資源占有率情況,如圖所示:
3)節(jié)點(diǎn)機(jī)靜態(tài)信息采集:監(jiān)測每個(gè)機(jī)群節(jié)點(diǎn)的狀態(tài),各節(jié)點(diǎn)機(jī)器的基本配置、資源分配使用情況等基本信息。
4)任務(wù)分配:任務(wù)的分配在機(jī)群管理系統(tǒng)中起到的作用主要是資源分配,給每個(gè)節(jié)點(diǎn)分配任務(wù),使機(jī)群系統(tǒng)高效的利用資源,發(fā)揮每一個(gè)可用節(jié)點(diǎn)的作用。
5)任務(wù)監(jiān)測:在任務(wù)分配完成后,系統(tǒng)通過圖表、圖像等直觀的方式向用戶反饋。
6)任務(wù)結(jié)果回收:實(shí)時(shí)收集任務(wù)返回的結(jié)果,形成統(tǒng)一的顯示報(bào)告呈現(xiàn)給用戶,方面以后的管理。
7)資源分配:可以合理的調(diào)用每個(gè)機(jī)群節(jié)點(diǎn)的資源,已提供完成某項(xiàng)任務(wù)的資源。
8)管理模塊:對(duì)機(jī)群管理系統(tǒng)的管理員來說,系統(tǒng)首先要保證管理員能夠方便地對(duì)機(jī)群進(jìn)行管理。
3.3系統(tǒng)測試和評(píng)價(jià)
系統(tǒng)的優(yōu)點(diǎn):
1)界面與功能分開。
2)系統(tǒng)實(shí)現(xiàn)結(jié)合了外部Shell命令簡化了系統(tǒng)的實(shí)現(xiàn)難度。
3)系統(tǒng)定義了一個(gè)命令接口,為以后系統(tǒng)擴(kuò)充功能提供了方便。
4)該系統(tǒng)的界面形式統(tǒng)一,各種功能間都可以正常跳轉(zhuǎn)。
下一步工作任務(wù)管理不夠充分,系統(tǒng)界面不夠美觀。
參考文獻(xiàn):
[1] James H Herzog.Design and organization of computer structures[M].Franklin, Inc,1996:227-234.
[2] 趙斯恩.PHP網(wǎng)絡(luò)編程技術(shù)與事例[M].北京:人民郵電出版社,2006:12-43.
[3] 位元文化.Linux管理與應(yīng)用基礎(chǔ)[M].北京:清華大學(xué)出版社,2002:24-36.
[4] 俞盤祥,沈金發(fā).數(shù)據(jù)庫系統(tǒng)原理[M].北京:清華大學(xué)出版社,1987:43-47.
[5] Jeffery Dean.LPI LINUX CERTIFICATION[M].New York O’REILLY,2001:135-143.