專(zhuān)利名稱(chēng):大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),特別是指一種通過(guò)環(huán)球網(wǎng)(WEB)和局域網(wǎng)靈活管理大規(guī)模異構(gòu)機(jī)群的系統(tǒng)管理方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。
隨著科學(xué)技術(shù)和網(wǎng)絡(luò)的發(fā)展,人們對(duì)計(jì)算機(jī)運(yùn)算速度和處理能力的要求越來(lái)越高,機(jī)群中的節(jié)點(diǎn)規(guī)模越來(lái)越大;而機(jī)群中每個(gè)節(jié)點(diǎn)又可能按照用戶(hù)的要求安裝不同的操作系統(tǒng)和軟件,同時(shí)放在不同的地方,如何維護(hù)和管理這些機(jī)群,減少機(jī)群系統(tǒng)管理員的負(fù)擔(dān),提高管理效率,成為日益重要的問(wèn)題。
目前,隨著機(jī)群技術(shù)的發(fā)展,已經(jīng)有一些機(jī)群系統(tǒng)的管理軟件。這些系統(tǒng)管理軟件雖然能夠?qū)崿F(xiàn)基本的系統(tǒng)管理,但它們對(duì)機(jī)群的操作系統(tǒng)的要求比較嚴(yán)格,通常是為某種節(jié)點(diǎn)和某些機(jī)型而定制的;當(dāng)機(jī)群的節(jié)點(diǎn)類(lèi)型和操作系統(tǒng)等配置發(fā)生變化時(shí),整個(gè)管理軟件就需要重新修改。同時(shí),這些管理軟件主要是在局域網(wǎng)中運(yùn)行和管理,不能夠通過(guò)WEB瀏覽器方便地管理機(jī)群。此外,很多機(jī)群管理軟件不具有可擴(kuò)展性和管理大規(guī)模機(jī)群節(jié)點(diǎn)的能力,只適合于小規(guī)模的機(jī)群管理。
本發(fā)明的另一目的在于提供一種大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),為機(jī)群系統(tǒng)管理員提供一個(gè)具有圖形化機(jī)群用戶(hù)管理界面的機(jī)群系統(tǒng)管理工具,使機(jī)群系統(tǒng)管理員可以通過(guò)瀏覽器或者局域網(wǎng)方便地管理異構(gòu)機(jī)群,屏蔽操作系統(tǒng)的差異性。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),所述的系統(tǒng)至少包括圖形化用戶(hù)界面(Graphical User Interface,簡(jiǎn)稱(chēng)為GUI)層、用戶(hù)服務(wù)(User Service,簡(jiǎn)稱(chēng)為US)層和節(jié)點(diǎn)服務(wù)(Node Service,簡(jiǎn)稱(chēng)為NS)層;其中,GUI層用于提供圖形化的管理界面,收集用戶(hù)的請(qǐng)求并將該請(qǐng)求傳遞給US層,同時(shí)將US層的命令執(zhí)行結(jié)果處理后進(jìn)行顯示;US層用于在GUI層與NS層之間傳遞數(shù)據(jù)和分發(fā)命令;NS層用于接收并響應(yīng)來(lái)自US層的并行命令的套接字請(qǐng)求,返回命令處理結(jié)果。
所述的GUI層與US層和/或US層與NS層之間的通信均進(jìn)行加密。
所述的GUI層通過(guò)Java語(yǔ)言實(shí)現(xiàn),并運(yùn)行在本地或遠(yuǎn)程或WEB上。
GUI層的所有類(lèi)通過(guò)統(tǒng)一的程序出口和US層的一GUI程序通過(guò)Java語(yǔ)言的遠(yuǎn)程方法調(diào)用(Remote Method Invocation,簡(jiǎn)稱(chēng)為RMI)進(jìn)行通訊。
GUI層在初始化時(shí)通過(guò)數(shù)據(jù)庫(kù)獲取各個(gè)節(jié)點(diǎn)的基本信息,建立操作系統(tǒng)和節(jié)點(diǎn)名之間的映射表。
所述的映射表至少記錄有各節(jié)點(diǎn)的操作系統(tǒng)類(lèi)型。
US層在GUI層與NS層之間傳遞數(shù)據(jù)和分發(fā)命令的具體方法為將GUI層的請(qǐng)求進(jìn)行處理,然后分發(fā)到各個(gè)節(jié)點(diǎn),最后將各個(gè)節(jié)點(diǎn)執(zhí)行的結(jié)果處理后返回給GUI層。
US層與GUI層的通訊接口通過(guò)Java語(yǔ)言實(shí)現(xiàn),US層與NS層的通訊接口通過(guò)C語(yǔ)言實(shí)現(xiàn)。
US層通過(guò)套接字(Socket)接口多線(xiàn)程并發(fā)機(jī)制向一個(gè)以上的節(jié)點(diǎn)并行發(fā)送命令和/或并行接收命令執(zhí)行結(jié)果。
US層采用主從交替的方法,通過(guò)用戶(hù)服務(wù)代理(簡(jiǎn)稱(chēng)為US_Agent)與GUI層通訊。所述的主從交替的方法具體為在機(jī)群內(nèi)的兩個(gè)或以上的節(jié)點(diǎn)上同時(shí)運(yùn)行US_Agent,將其中的一個(gè)US_Agent設(shè)定為主服務(wù)器,其他的US_Agent設(shè)定為從服務(wù)器;US層的系統(tǒng)自動(dòng)探測(cè)主服務(wù)器的運(yùn)行狀態(tài);當(dāng)主服務(wù)器運(yùn)行正常時(shí),該主服務(wù)器負(fù)責(zé)與GUI層通訊;當(dāng)主服務(wù)器出現(xiàn)故障時(shí),US層在從服務(wù)器中選擇其中之一改設(shè)為主服務(wù)器;同時(shí)修復(fù)原出現(xiàn)故障的主服務(wù)器,或在機(jī)群內(nèi)的非US_Agent節(jié)點(diǎn)中選擇其一啟動(dòng)運(yùn)行US_Agent,作為從服務(wù)器。
所述的NS層至少包括服務(wù)進(jìn)程(Service Deamon,簡(jiǎn)稱(chēng)為SD)子層和服務(wù)虛擬層(Service Visual Layer,簡(jiǎn)稱(chēng)為SVL);其中,SD子層用于接收來(lái)自US層并行命令的套接字請(qǐng)求,同時(shí)通過(guò)調(diào)用SVL的命令響應(yīng)該請(qǐng)求,最后返回命令結(jié)果服務(wù)進(jìn)程SVL用于調(diào)用操作系統(tǒng)管理命令,并對(duì)結(jié)果進(jìn)行分析和處理輸出給SD子層。
所述的SVL為由多組perl腳本組成的命令集,該perl命令存放在不同的目錄下,該目錄通過(guò)操作系統(tǒng)命名,不同目錄下的perl腳本調(diào)用不同操作系統(tǒng)的命令。對(duì)應(yīng)于同一個(gè)操作功能,不同目錄下的perl腳本命令具有相同的名稱(chēng)。
本發(fā)明具有如下的特點(diǎn)和有益效果1、采用本發(fā)明的三層結(jié)構(gòu),可以使機(jī)群管理系統(tǒng)的界面在WEB上實(shí)現(xiàn)?,F(xiàn)在移動(dòng)辦公越來(lái)越顯得重要,系統(tǒng)管理員經(jīng)常需要管理多個(gè)不同機(jī)群,而往返于不同的機(jī)房會(huì)帶來(lái)大量時(shí)間上的浪費(fèi)。本發(fā)明的三層結(jié)構(gòu)能夠?qū)崿F(xiàn)支持了WEB方式的管理,即可以通過(guò)Internet訪(fǎng)問(wèn)和管理機(jī)群,從而大大提高了機(jī)群系統(tǒng)管理員的工作效率。
2、隨著用戶(hù)的需求和機(jī)群技術(shù)的發(fā)展,異構(gòu)機(jī)群越來(lái)越多,每個(gè)用戶(hù)都有各自不同的需求。而對(duì)于每種操作系統(tǒng)用戶(hù)都開(kāi)發(fā)一套管理系統(tǒng)則會(huì)陷入大量的重復(fù)勞動(dòng)之中,造成巨大的浪費(fèi);因此需要對(duì)機(jī)群管理系統(tǒng)屏蔽各個(gè)節(jié)點(diǎn)的操作系統(tǒng)的差異性,使得機(jī)群內(nèi)的節(jié)點(diǎn)操作對(duì)用戶(hù)是透明的。而機(jī)群管理員只需要通過(guò)一套機(jī)群管理系統(tǒng)就能夠方便地管理具有不同節(jié)點(diǎn)操作系統(tǒng)的機(jī)群。當(dāng)用戶(hù)選擇新的操作系統(tǒng)時(shí),整個(gè)系統(tǒng)的結(jié)構(gòu)都不發(fā)生變化,GUI層、US層和NS層的NSServiced(NS層運(yùn)行的后臺(tái)進(jìn)程)都不需要作任何修改,只需要在SVL層增加一個(gè)目錄和相應(yīng)的腳本,就可以方便地實(shí)現(xiàn)對(duì)新的操作系統(tǒng)機(jī)群節(jié)點(diǎn)的管理。
3、本發(fā)明具有良好的可擴(kuò)展性,當(dāng)用戶(hù)有了新的需求時(shí),GUI層和SVL層可以隨意地增加模塊和功能,同時(shí)不影響整個(gè)系統(tǒng)的結(jié)構(gòu)和其他功能的實(shí)現(xiàn)。各個(gè)層次內(nèi)部都可以按照用戶(hù)和實(shí)際要求進(jìn)行修改,同時(shí)不影響其他部分。例如,當(dāng)節(jié)點(diǎn)數(shù)規(guī)模很大時(shí),US層可采用進(jìn)程分組的形式來(lái)提高并發(fā)性和穩(wěn)定性,當(dāng)節(jié)點(diǎn)數(shù)少時(shí),只需要采用線(xiàn)程組的形式。US層內(nèi)部的改動(dòng)并不會(huì)改變和影響整個(gè)系統(tǒng)的功能。同時(shí)這種層次性使得系統(tǒng)的升級(jí)變得較為容易,只要保證接口不變,各個(gè)層次可以根據(jù)實(shí)際情況進(jìn)行升級(jí),同時(shí)不需要修改其他層的程序,不影響整個(gè)系統(tǒng)的實(shí)現(xiàn)。
4、本發(fā)明使得系統(tǒng)軟件開(kāi)發(fā)的依賴(lài)性減少。本發(fā)明的分層結(jié)構(gòu)使得系統(tǒng)軟件之間的依賴(lài)性相對(duì)減少,使得軟件在開(kāi)發(fā)過(guò)程中具有模塊化的特點(diǎn)。各個(gè)層的開(kāi)發(fā)除了接口以外不需要很多的協(xié)商,使得各個(gè)模塊的開(kāi)發(fā)具有相對(duì)的獨(dú)立性,提高了開(kāi)發(fā)的效率,同時(shí)也提高了軟件的可維護(hù)性。而且不影響整個(gè)系統(tǒng)的結(jié)構(gòu)和其他功能的實(shí)現(xiàn)。
圖2為本發(fā)明的工作流程圖。
機(jī)群系統(tǒng)管理就是對(duì)機(jī)群節(jié)點(diǎn)的一些日常的操作,包括系統(tǒng)維護(hù)工作、網(wǎng)絡(luò)配置、用戶(hù)管理、系統(tǒng)查看等,以及對(duì)整個(gè)機(jī)群的網(wǎng)絡(luò)服務(wù)配置和管理,如網(wǎng)絡(luò)文件系統(tǒng)(Network File System,簡(jiǎn)稱(chēng)NFS)、網(wǎng)絡(luò)信息系統(tǒng)(Network Information System,簡(jiǎn)稱(chēng)NIS)、域名系統(tǒng)(Domain NameSystem,簡(jiǎn)稱(chēng)DNS)、Samba(一種服務(wù)軟件)、LDAP(一種服務(wù)軟件)等的配置和管理。
為了方便機(jī)群系統(tǒng)管理,機(jī)群管理系統(tǒng)的圖形化界面必須具有可移植性,即可以不需要修改和重新編譯就能夠在各種操作系統(tǒng)(例如Linux、Windows和各種Unix操作系統(tǒng))平臺(tái)上無(wú)差異地運(yùn)行。同時(shí)這種圖形化的用戶(hù)界面還必須要能夠在瀏覽器上運(yùn)行,支持WEB系統(tǒng)。另外,該機(jī)群管理系統(tǒng)能夠自適應(yīng)地管理運(yùn)行不同操作系統(tǒng)的節(jié)點(diǎn),因此具有屏蔽節(jié)點(diǎn)操作系統(tǒng)差異性的能力。
參見(jiàn)
圖1,為了實(shí)現(xiàn)上述的要求,滿(mǎn)足大規(guī)模異構(gòu)機(jī)群系統(tǒng)管理的目標(biāo)要求,本發(fā)明的管理系統(tǒng)采用三層結(jié)構(gòu)第一層為GUI層,第二層為US層,第三層為NS層;其中,NS層又包括SD子層和SVL子層兩部分。同時(shí),為了保證網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)目煽啃院桶踩?,上述各個(gè)層之間的通信都采用加密技術(shù)實(shí)現(xiàn)。
參見(jiàn)圖1和圖2,GUI層為圖形化的用戶(hù)界面,主要是給機(jī)群管理者提供一個(gè)圖形化的管理界面,負(fù)責(zé)收集用戶(hù)的請(qǐng)求,并將相應(yīng)的請(qǐng)求信息傳遞給US層,并將US層的命令執(zhí)行結(jié)果處理后進(jìn)行顯示。GUI層可以運(yùn)行在本地、遠(yuǎn)程和WEB上,同時(shí)可以運(yùn)行在不同的操作系統(tǒng)平臺(tái)上。因此,考慮到跨平臺(tái)和瀏覽器支持這些因素,GUI層采用Java語(yǔ)言實(shí)現(xiàn)。GUI層的所有類(lèi)通過(guò)一個(gè)統(tǒng)一的程序出口(guiexport.class)和US層的一個(gè)GUI程序(usimport.class)通過(guò)java的RMI進(jìn)行通訊;其中,RMI為一種Java語(yǔ)言的應(yīng)用程序設(shè)計(jì)接口(API),它使得一個(gè)平臺(tái)上運(yùn)行的Java語(yǔ)言程序可以調(diào)用在另一個(gè)平臺(tái)上運(yùn)行的程序,GUI層的其他程序不需要知道US層和NS層之間如何實(shí)現(xiàn),US層和NS層的變化和實(shí)現(xiàn)對(duì)于GUI層是透明的。同時(shí)GUI層的內(nèi)部實(shí)現(xiàn)對(duì)US層和NS層也是透明的。
GUI層在初始化時(shí)通過(guò)機(jī)群管理系統(tǒng)數(shù)據(jù)庫(kù)獲取各個(gè)節(jié)點(diǎn)的基本信息,建立一個(gè)操作系統(tǒng)和節(jié)點(diǎn)名之間的映射表,當(dāng)GUI層每次向US層發(fā)送命令時(shí),US層首先查找該表得到節(jié)點(diǎn)的操作系統(tǒng)類(lèi)型,從而調(diào)用NS層的SVL層的不同目錄下的腳本命令,實(shí)現(xiàn)對(duì)由不同節(jié)點(diǎn)操作系統(tǒng)組成的異構(gòu)機(jī)群的管理。
US層為用戶(hù)服務(wù)層,它充當(dāng)GUI層與NS層之間信息傳遞的媒介,負(fù)責(zé)在這兩層之間傳遞數(shù)據(jù)和分發(fā)命令。主要功能是將GUI層的請(qǐng)求,經(jīng)過(guò)處理分析后,按照一定的格式分發(fā)到各個(gè)節(jié)點(diǎn),然后將各個(gè)節(jié)點(diǎn)的NSServiced執(zhí)行的結(jié)果處理后返回給GUI層。因此US層為中間件通信層??紤]到速度和資源占用率的影響,US層采用C語(yǔ)言和Java語(yǔ)言聯(lián)合實(shí)現(xiàn),與GUI層的通訊接口采用Java語(yǔ)言實(shí)現(xiàn),與NS層的通訊接口采用C語(yǔ)言實(shí)現(xiàn),通過(guò)C語(yǔ)言的Socket多線(xiàn)程并發(fā)機(jī)制向多個(gè)節(jié)點(diǎn)并發(fā)發(fā)送命令和并發(fā)接收命令結(jié)果。同時(shí)將這些結(jié)果分析處理為GUI層需要顯示的格式發(fā)送給GUI層。
US層為了響應(yīng)GUI層的用戶(hù)請(qǐng)求需要啟動(dòng)一個(gè)Java的服務(wù)器程序US_Agent。為了保證US層的US_Agent的穩(wěn)定性,US_Agent采用高可用的主從交替的方法實(shí)現(xiàn),即在機(jī)群內(nèi)同時(shí)有兩個(gè)或以上的節(jié)點(diǎn)運(yùn)行US_Agent,一個(gè)為主服務(wù)器(master),其他的為從服務(wù)器(slave)。正常情況下通過(guò)主服務(wù)器進(jìn)行通訊,當(dāng)主服務(wù)器出現(xiàn)故障時(shí),US層的系統(tǒng)自動(dòng)檢測(cè),并且找到一從服務(wù)器進(jìn)行通訊,該從服務(wù)器被設(shè)定為主服務(wù)器;同時(shí),修復(fù)原來(lái)的主服務(wù)器或在機(jī)群內(nèi)找另一節(jié)點(diǎn)啟動(dòng)運(yùn)行US_Agent,作為從服務(wù)器。
主、從服務(wù)器的切換和選擇對(duì)上層GUI層和下層NS層都是透明的,不會(huì)影響機(jī)群系統(tǒng)管理軟件的正常通訊。例如GUI層在向US層發(fā)出連接請(qǐng)求時(shí),有一個(gè)超時(shí)設(shè)置(timeout);當(dāng)超過(guò)timeout的時(shí)間后,則認(rèn)為主US-Agent已經(jīng)死亡,則從在數(shù)據(jù)庫(kù)中的配置信息表中獲得從US_Agent的地址,并向該從US_Agent發(fā)出連接請(qǐng)求,同它進(jìn)行通訊。同時(shí)從US_Agent獲取當(dāng)前的主、從US_Agent的地址,并修改配置信息表。從US_Agent將會(huì)在局域網(wǎng)中尋找一臺(tái)負(fù)載較輕的節(jié)點(diǎn)啟動(dòng)US_Agent進(jìn)程,將自己上升為主US_Agent,同時(shí)返回主、從US_Agent的地址。通過(guò)這種方式實(shí)現(xiàn)了US層的高可用性。這一過(guò)程的切換將會(huì)花一些時(shí)間,但是一旦切換成功,系統(tǒng)又將會(huì)回復(fù)正常通訊。對(duì)于機(jī)群內(nèi)節(jié)點(diǎn)數(shù)較少的情況,可以沒(méi)有主、從US_Agent,當(dāng)主US_Agent死機(jī)后,GUI直接報(bào)出錯(cuò)誤,提示用戶(hù)修復(fù)US_Agent。
NS層為節(jié)點(diǎn)服務(wù)層,它由NSServiced和SVL層組成。NSServiced為一個(gè)運(yùn)行在機(jī)群節(jié)點(diǎn)上的后臺(tái)進(jìn)程,它接收來(lái)自US層的并行命令的socket請(qǐng)求,同時(shí)通過(guò)調(diào)用SVL層的命令響應(yīng)該請(qǐng)求,最后返回命令結(jié)果。機(jī)群管理系統(tǒng)的異構(gòu)管理功能通過(guò)SVL層實(shí)現(xiàn),即SVL層調(diào)用操作系統(tǒng)管理命令,并對(duì)結(jié)果進(jìn)行分析和處理,然后輸出給NSServiced。SVL層是由多組perl腳本組成的命令集,這些perl命令放在不同的目錄下,通過(guò)操作系統(tǒng)名來(lái)命名這些目錄,不同目錄下的perl腳本調(diào)用不同操作系統(tǒng)的命令。對(duì)于同一個(gè)功能的操作,這些不同目錄下的腳本命令具有相同的名稱(chēng)。GUI層通過(guò)不同的目錄名來(lái)區(qū)分這些命令,從而調(diào)用不同操作系統(tǒng)的命令,最終實(shí)現(xiàn)調(diào)用正確的操作系統(tǒng)管理命令。
再參見(jiàn)圖2,在本發(fā)明的一個(gè)實(shí)施例中,詳細(xì)地給出了上述各層之間具體的執(zhí)行過(guò)程。在建立初始化節(jié)點(diǎn)信息數(shù)據(jù)庫(kù)的基礎(chǔ)上,對(duì)于無(wú)論是來(lái)自局域網(wǎng)的訪(fǎng)問(wèn),還是互連網(wǎng)訪(fǎng)問(wèn),都需要經(jīng)過(guò)登陸界面的進(jìn)行身份認(rèn)證;然后,從上述的數(shù)據(jù)庫(kù)讀取節(jié)點(diǎn)信息,即建立節(jié)點(diǎn)/操作系統(tǒng)類(lèi)型的映射表;系統(tǒng)管理員通過(guò)GUI管理主界面發(fā)送請(qǐng)求,查詢(xún)節(jié)點(diǎn)/操作系統(tǒng)的映射表,判斷出節(jié)點(diǎn)運(yùn)行的操作系統(tǒng)的類(lèi)型后,調(diào)用SVL層不同目錄下的perl腳本命令,并將命令傳遞給US層;US層的US-Agent響應(yīng)請(qǐng)求,調(diào)用LPC,該LPC再將命令并發(fā)給各個(gè)節(jié)點(diǎn)的NS層;NSServiced響應(yīng)LPC的請(qǐng)求,然后調(diào)用SVL層的perl腳本命令;SVL層調(diào)用GUI層傳來(lái)的perl腳本命令;Perl腳本命令最終調(diào)用操作系統(tǒng)命令。
以上實(shí)施例僅用以說(shuō)明而非限制本發(fā)明所涉及的技術(shù)方案,盡管參照以上較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明的技術(shù)方案可以進(jìn)行修改、變形或者等同替換;而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍之中。
權(quán)利要求
1.一種大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于所述的系統(tǒng)至少包括GUI層、US層和NS層;其中,GUI層用于提供圖形化的管理界面,收集用戶(hù)的請(qǐng)求并將該請(qǐng)求傳遞給US層,同時(shí)將US層的命令執(zhí)行結(jié)果處理后進(jìn)行顯示;US層用于在GUI層與NS層之間傳遞數(shù)據(jù)和分發(fā)命令;NS層用于接收并響應(yīng)來(lái)自US層的并行命令的套接字請(qǐng)求,返回命令處理結(jié)果。
2.根據(jù)權(quán)利要求1所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于所述的GUI層與US層和/或US層與NS層之間的通信均進(jìn)行加密。
3.根據(jù)權(quán)利要求1所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于所述的GUI層通過(guò)Java語(yǔ)言實(shí)現(xiàn),并運(yùn)行在本地或遠(yuǎn)程或WEB上。
4.根據(jù)權(quán)利要求1或3所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于GUI層的所有類(lèi)通過(guò)一統(tǒng)一的程序出口和US層的一GUI程序通過(guò)Java語(yǔ)言的RMI進(jìn)行通訊。
5.根據(jù)權(quán)利要求1或3所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于GUI層在初始化時(shí)通過(guò)數(shù)據(jù)庫(kù)獲取各個(gè)節(jié)點(diǎn)的基本信息,建立操作系統(tǒng)和節(jié)點(diǎn)名之間的映射表。
6.根據(jù)權(quán)利要求5所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于所述的映射表至少記錄有各節(jié)點(diǎn)的操作系統(tǒng)類(lèi)型。
7.根據(jù)權(quán)利要求1所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于US層在GUI層與NS層之間傳遞數(shù)據(jù)和分發(fā)命令的具體方法為將GUI層的請(qǐng)求進(jìn)行處理,然后分發(fā)到各個(gè)節(jié)點(diǎn),最后將各個(gè)節(jié)點(diǎn)執(zhí)行的結(jié)果處理后返回給GUI層。
8.根據(jù)權(quán)利要求1所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于US層與GUI層的通訊接口通過(guò)Java語(yǔ)言實(shí)現(xiàn),US層與NS層的通訊接口通過(guò)C語(yǔ)言實(shí)現(xiàn)。
9.根據(jù)權(quán)利要求1所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于US層通過(guò)套接接口多線(xiàn)程并發(fā)機(jī)制向一個(gè)以上的節(jié)點(diǎn)并行發(fā)送命令和/或并行接收命令執(zhí)行結(jié)果。
10.根據(jù)權(quán)利要求1或7所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于US層采用主從交替的方法,通過(guò)US_Agent與GUI層通訊。
11.根據(jù)權(quán)利要求10所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于所述的主從交替的方法具體為在機(jī)群內(nèi)的兩個(gè)或以上的節(jié)點(diǎn)上同時(shí)運(yùn)行US_Agent,將其中的一個(gè)US_Agent設(shè)定為主服務(wù)器,其他的US_Agent設(shè)定為從服務(wù)器;US層的系統(tǒng)自動(dòng)探測(cè)主服務(wù)器的運(yùn)行狀態(tài);當(dāng)主服務(wù)器運(yùn)行正常時(shí),該主服務(wù)器負(fù)責(zé)與GUI層通訊;當(dāng)主服務(wù)器出現(xiàn)故障時(shí),US層在從服務(wù)器中選擇其中之一改設(shè)為主服務(wù)器;同時(shí)修復(fù)原出現(xiàn)故障的主服務(wù)器,或在機(jī)群內(nèi)的非US_Agent節(jié)點(diǎn)中選擇其一啟動(dòng)運(yùn)行US_Agent,作為從服務(wù)器。
12.根據(jù)權(quán)利要求1所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于所述的NS層至少包括SD子層和SVL子層;其中,SD子層用于接收來(lái)自US層并行命令的套接字請(qǐng)求,同時(shí)通過(guò)調(diào)用SVL層的命令響應(yīng)該請(qǐng)求,最后返回命令結(jié)果服務(wù)進(jìn)程SVL子層用于調(diào)用操作系統(tǒng)管理命令,并對(duì)結(jié)果進(jìn)行分析和處理輸出給SD子層。
13.根據(jù)權(quán)利要求12所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于所述的SVL子層為由多組perl腳本組成的命令集,該perl命令存放在不同的目錄下,該目錄通過(guò)操作系統(tǒng)命名,不同目錄下的perl腳本調(diào)用不同操作系統(tǒng)的命令;
14.根據(jù)權(quán)利要求13所述的大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),其特征在于對(duì)應(yīng)于同一個(gè)操作功能,不同目錄下的perl腳本命令具有相同的名稱(chēng)。
全文摘要
一種大規(guī)模異構(gòu)機(jī)群的管理系統(tǒng),至少包括GUI層、US層和NS層;GUI層用于提供圖形化的管理界面,收集用戶(hù)的請(qǐng)求并將該請(qǐng)求傳遞給US層,同時(shí)將US層的命令執(zhí)行結(jié)果處理后進(jìn)行顯示;US層用于在GUI層與NS層之間傳遞數(shù)據(jù)和分發(fā)命令;NS層用于接收并響應(yīng)來(lái)自US層的并行命令的套接字請(qǐng)求,返回命令處理結(jié)果。本發(fā)明能夠通過(guò)瀏覽器和局域網(wǎng)訪(fǎng)問(wèn)并管理機(jī)群系統(tǒng),同時(shí)管理的機(jī)群規(guī)模可以任意擴(kuò)展,機(jī)群可以是異構(gòu)的,不同的節(jié)點(diǎn)可以安裝不同的操作系統(tǒng),屏蔽了操作系統(tǒng)的差異性,大大提高了機(jī)群系統(tǒng)管理員的工作效率,并使程序之間的依賴(lài)性相對(duì)減少,使得軟件各層具有相對(duì)的獨(dú)立性,提高了軟件的可維護(hù)性。
文檔編號(hào)G06F9/46GK1466050SQ0212349
公開(kāi)日2004年1月7日 申請(qǐng)日期2002年7月2日 優(yōu)先權(quán)日2002年7月2日
發(fā)明者趙玉萍, 肖利民, 陸衛(wèi)東 申請(qǐng)人:聯(lián)想(北京)有限公司