專利名稱:一種服務(wù)器集群系統(tǒng)及其管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)信息技術(shù)領(lǐng)域,特別是涉及一種服務(wù)器集群系統(tǒng)及其管理方法。
背景技術(shù):
在實(shí)際應(yīng)用中,隨著服務(wù)器規(guī)模的增大,對(duì)運(yùn)維部署能力和對(duì)服務(wù)運(yùn)行狀態(tài)的管 理能力提出了很大的挑戰(zhàn),對(duì)運(yùn)維管理的方式和相關(guān)人員的綜合素質(zhì)要求的越來越高,為 此自動(dòng)化部署以及管理系統(tǒng)的開發(fā)就顯得尤為重要了。但是目前,高效、方便地進(jìn)行服務(wù)器集群系統(tǒng)的管理的方案還比較匱乏。
發(fā)明內(nèi)容
本發(fā)明提供了一種服務(wù)器集群系統(tǒng),該系統(tǒng)能夠高效、方便地實(shí)現(xiàn)自動(dòng)化管理。本發(fā)明還提供了一種服務(wù)器集群系統(tǒng)的管理方法,該方法能夠高效、方便地實(shí)現(xiàn) 對(duì)大規(guī)模服務(wù)器集群系統(tǒng)的管理。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明公開了一種服務(wù)器集群系統(tǒng),該系統(tǒng)包括監(jiān)控主機(jī)、數(shù)據(jù)庫服務(wù)器、中心 主機(jī)、一定數(shù)目的窗口服務(wù)主機(jī)和\或一定數(shù)目的網(wǎng)頁服務(wù)主機(jī);其中,窗口服務(wù)主機(jī)上部 署有監(jiān)護(hù)進(jìn)程和工作進(jìn)程,一個(gè)監(jiān)護(hù)進(jìn)程對(duì)應(yīng)一個(gè)工作進(jìn)程;網(wǎng)頁服務(wù)主機(jī)上部署有服務(wù) 器代理進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程,一個(gè)服務(wù)器代理進(jìn)程對(duì)應(yīng)多個(gè)網(wǎng)頁服務(wù)進(jìn)程;工作進(jìn)程,用于加載窗口服務(wù)并運(yùn)行;用于接受監(jiān)護(hù)進(jìn)程下發(fā)的服務(wù)控制命令;監(jiān)護(hù)進(jìn)程,用于將工作進(jìn)程所運(yùn)行的窗口服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī);用于 接收中心主機(jī)發(fā)送的服務(wù)控制命令,并將該服務(wù)控制命令下發(fā)給工作進(jìn)程;網(wǎng)頁服務(wù)進(jìn)程,用于加載網(wǎng)頁服務(wù)并運(yùn)行;用于接受服務(wù)器代理進(jìn)程下發(fā)的服務(wù) 控制命令;服務(wù)器代理進(jìn)程,用將網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的網(wǎng)頁服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主 機(jī);用于接收中心主機(jī)發(fā)送的服務(wù)控制命令,并將該服務(wù)控制命令下發(fā)給網(wǎng)頁服務(wù)進(jìn)程;中心主機(jī),用于接收監(jiān)護(hù)進(jìn)程和/或服務(wù)器代理進(jìn)程上報(bào)的服務(wù)的運(yùn)行狀態(tài),并 保存到數(shù)據(jù)庫服務(wù)器中;用于接收監(jiān)控主機(jī)下發(fā)的服務(wù)控制命令,并轉(zhuǎn)發(fā)給相應(yīng)的監(jiān)護(hù)進(jìn) 程或服務(wù)器代理進(jìn)程;數(shù)據(jù)庫服務(wù)器,用于保存服務(wù)的運(yùn)行狀態(tài);監(jiān)控主機(jī),用于查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下 發(fā)服務(wù)控制命令給中心主機(jī)。本發(fā)明還公開了一種服務(wù)器集群系統(tǒng)的管理方法,該服務(wù)器集群系統(tǒng)包括監(jiān)控 主機(jī)、數(shù)據(jù)庫服務(wù)器、中心主機(jī)、一定數(shù)目的窗口服務(wù)主機(jī)和\或一定數(shù)目的網(wǎng)頁服務(wù)主 機(jī);該管理方法包括將服務(wù)分為窗口服務(wù)和網(wǎng)頁服務(wù);由工作進(jìn)程加載和運(yùn)行窗口服務(wù),并由監(jiān)護(hù)進(jìn)程對(duì)工作進(jìn)程進(jìn)行管理;一個(gè)監(jiān)護(hù)進(jìn)程對(duì)應(yīng)一個(gè)工作進(jìn)程,且監(jiān)護(hù)進(jìn)程和工作進(jìn)程部署在窗口服務(wù)主機(jī)上;由網(wǎng)頁服務(wù)進(jìn)程加載和運(yùn)行網(wǎng)頁服務(wù),并由服務(wù)器代理進(jìn)程對(duì)網(wǎng)頁服務(wù)進(jìn)程進(jìn)行 管理;一個(gè)服務(wù)器代理進(jìn)程對(duì)應(yīng)多個(gè)網(wǎng)頁服務(wù)進(jìn)程,且服務(wù)器代理進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程部 署在網(wǎng)頁服務(wù)主機(jī)上;監(jiān)護(hù)進(jìn)程將工作進(jìn)程所運(yùn)行的窗口服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī);服務(wù)器代理 進(jìn)程將網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的網(wǎng)頁服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī);中心主機(jī)接收監(jiān)護(hù)進(jìn)程和/或服務(wù)器代理進(jìn)程上報(bào)的服務(wù)的運(yùn)行狀態(tài),并保存到 數(shù)據(jù)庫服務(wù)器中;監(jiān)控主機(jī)查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下發(fā)服務(wù) 控制命令給中心主機(jī);中心主機(jī)用于將服務(wù)控制命令轉(zhuǎn)發(fā)給相應(yīng)的監(jiān)護(hù)進(jìn)程或服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程將中心主機(jī)發(fā)送的服務(wù)控制命令下發(fā)到對(duì)應(yīng)的工作 進(jìn)程\網(wǎng)頁服務(wù)進(jìn)程。由上述可見,本發(fā)明這種將服務(wù)分為窗口服務(wù)和網(wǎng)頁服務(wù),由工作進(jìn)程啟動(dòng)和運(yùn) 行窗口服務(wù),并由監(jiān)護(hù)進(jìn)程對(duì)工作進(jìn)程進(jìn)行管理,由網(wǎng)頁服務(wù)進(jìn)程啟動(dòng)和運(yùn)行網(wǎng)頁服務(wù),并 由服務(wù)器代理進(jìn)程對(duì)網(wǎng)頁服務(wù)進(jìn)程進(jìn)行管理,監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程分別將工作進(jìn)程 和網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī),中心主機(jī)再保存到數(shù)據(jù)庫服務(wù) 器中;監(jiān)控主機(jī)查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下發(fā)服務(wù)控 制命令給中心主機(jī),中心主機(jī)再將服務(wù)控制命令轉(zhuǎn)發(fā)給相應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn) 程,監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程根據(jù)中心主機(jī)發(fā)送的服務(wù)控制命令對(duì)工作進(jìn)程\網(wǎng)頁服務(wù) 進(jìn)程進(jìn)行管理的技術(shù)方案,實(shí)現(xiàn)了服務(wù)運(yùn)行狀態(tài)的監(jiān)控,可以方便地查看服務(wù)運(yùn)行狀態(tài),進(jìn) 而高效地進(jìn)行管理。
圖1是本發(fā)明實(shí)施例中的一種服務(wù)器集群系統(tǒng)的組成結(jié)構(gòu)圖;圖2是本發(fā)明實(shí)施例中的服務(wù)器集群系統(tǒng)的服務(wù)啟動(dòng)過程的信令流程圖;圖3是本發(fā)明實(shí)施例中的服務(wù)器集群系統(tǒng)的服務(wù)停止過程的信令流程圖;圖4是本發(fā)明實(shí)施例中的服務(wù)器集群系統(tǒng)的服務(wù)更新過程的信令流程圖。
具體實(shí)施例方式本發(fā)明的核心思想是將服務(wù)分為Window服務(wù)和Web服務(wù),在本申請(qǐng)文件中,將 Window服務(wù)稱為窗口服務(wù),將Web服務(wù)稱為網(wǎng)頁服務(wù)。由工作進(jìn)程(Worker)啟動(dòng)和運(yùn)行 窗口服務(wù),并由監(jiān)護(hù)進(jìn)程(Master)對(duì)工作進(jìn)程進(jìn)行管理,由網(wǎng)頁進(jìn)程(Web)啟動(dòng)和運(yùn)行網(wǎng) 頁服務(wù),并由服務(wù)器代理進(jìn)程(ServerAgent)對(duì)網(wǎng)頁服務(wù)進(jìn)程進(jìn)行管理。服務(wù)器集群包括 監(jiān)控主機(jī)、數(shù)據(jù)庫服務(wù)器、負(fù)載的中心主機(jī)、一定數(shù)目的窗口服務(wù)主機(jī)和\或一定數(shù)目的網(wǎng) 頁服務(wù)主機(jī);其中,窗口服務(wù)主機(jī)上部署有監(jiān)護(hù)進(jìn)程和工作進(jìn)程,網(wǎng)頁服務(wù)主機(jī)上部署有服 務(wù)器代理進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程。監(jiān)護(hù)進(jìn)程將工作進(jìn)程所運(yùn)行的窗口服務(wù)的運(yùn)行狀態(tài)上報(bào) 給中心主機(jī);服務(wù)器代理進(jìn)程將網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的網(wǎng)頁服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主 機(jī);中心主機(jī)接收監(jiān)護(hù)進(jìn)程和/或服務(wù)器代理進(jìn)程上報(bào)的服務(wù)的運(yùn)行狀態(tài),并保存到數(shù)據(jù)庫服務(wù)器中;監(jiān)控主機(jī)查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下發(fā) 服務(wù)控制命令給中心主機(jī);中心主機(jī)將服務(wù)控制命令轉(zhuǎn)發(fā)給相應(yīng)的監(jiān)護(hù)進(jìn)程或服務(wù)器代理 進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程將中心主機(jī)發(fā)送的服務(wù)控制命令下發(fā)到對(duì)應(yīng)的工作進(jìn)程 \網(wǎng)頁服務(wù)進(jìn)程。為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì) 本發(fā)明進(jìn)行詳細(xì)描述。圖1是本發(fā)明實(shí)施例中的一種服務(wù)器集群系統(tǒng)的組成結(jié)構(gòu)圖。如圖1所示,該服 務(wù)器集群系統(tǒng)包括監(jiān)控主機(jī)101、數(shù)據(jù)庫服務(wù)器102、中心主機(jī)103、一定數(shù)目的窗口服務(wù) 主機(jī)104和\或一定數(shù)目的網(wǎng)頁服務(wù)主機(jī)105。在圖1中只示意出了一個(gè)窗口服務(wù)主機(jī)和 一個(gè)網(wǎng)頁服務(wù)主機(jī),在本發(fā)明的其他實(shí)施例中,中心主機(jī)下可以連接多個(gè)窗口服務(wù)主機(jī),或 者中心主機(jī)下可以連接多個(gè)網(wǎng)頁服務(wù)主機(jī),或者中心主機(jī)下可連接多個(gè)窗口服務(wù)主機(jī)和多 個(gè)網(wǎng)頁服務(wù)主機(jī)。其中,窗口服務(wù)主機(jī)104上部署有監(jiān)護(hù)進(jìn)程和工作進(jìn)程,一個(gè)監(jiān)護(hù)進(jìn)程對(duì) 應(yīng)一個(gè)工作進(jìn)程;網(wǎng)頁服務(wù)主機(jī)105上部署有服務(wù)器代理進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程,一個(gè)服務(wù) 器代理進(jìn)程對(duì)應(yīng)多個(gè)網(wǎng)頁服務(wù)進(jìn)程;工作進(jìn)程,用于加載窗口服務(wù)并運(yùn)行;用于接受監(jiān)護(hù)進(jìn)程下發(fā)的服務(wù)控制命令;監(jiān)護(hù)進(jìn)程,用于將工作進(jìn)程所運(yùn)行的窗口服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī)103 ; 用于接收中心主機(jī)103發(fā)送的服務(wù)控制命令,并將該服務(wù)控制命令下發(fā)給工作進(jìn)程;網(wǎng)頁服務(wù)進(jìn)程,用于加載網(wǎng)頁服務(wù)并運(yùn)行;用于接受服務(wù)器代理進(jìn)程下發(fā)的服務(wù) 控制命令;服務(wù)器代理進(jìn)程,用將網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的網(wǎng)頁服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主 機(jī)103 ;用于接收中心主機(jī)103發(fā)送的服務(wù)控制命令,并將該服務(wù)控制命令下發(fā)給網(wǎng)頁服務(wù) 進(jìn)程;中心主機(jī)103,用于接收監(jiān)護(hù)進(jìn)程和/或服務(wù)器代理進(jìn)程上報(bào)的服務(wù)的運(yùn)行狀態(tài), 并保存到數(shù)據(jù)庫服務(wù)器102中;用于接收監(jiān)控主機(jī)101下發(fā)的服務(wù)控制命令,并轉(zhuǎn)發(fā)給相應(yīng) 的監(jiān)護(hù)進(jìn)程或服務(wù)器代理進(jìn)程;數(shù)據(jù)庫服務(wù)器102,用于保存服務(wù)的運(yùn)行狀態(tài);監(jiān)控主機(jī)101,用于查詢數(shù)據(jù)庫服務(wù)器102獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行 狀態(tài)下發(fā)服務(wù)控制命令給中心主機(jī)103。在圖1所示的系統(tǒng)中,監(jiān)控主機(jī)101,用于通過基于超文本傳輸協(xié)議HTTP的遠(yuǎn)程過 程調(diào)用方式將服務(wù)控制命令發(fā)送給中心主機(jī)103 ;中心主機(jī)103與監(jiān)護(hù)進(jìn)程之間,以及中心 主機(jī)103與服務(wù)器代理進(jìn)程之間通過建立長(zhǎng)連接進(jìn)行通信。監(jiān)護(hù)進(jìn)程與工作進(jìn)程之間,通 過本機(jī)進(jìn)程調(diào)用方式進(jìn)行通信。網(wǎng)頁服務(wù)主機(jī)上安裝有HTTP服務(wù)器(例如iis等),服務(wù) 器代理進(jìn)程通過管理HTTP服務(wù)器來管理網(wǎng)頁服務(wù)進(jìn)程。在圖1所示的系統(tǒng)中,窗口服務(wù)主機(jī)104上可以進(jìn)一步部署服務(wù)器代理進(jìn)程,該服 務(wù)器代理進(jìn)程對(duì)該窗口服務(wù)主機(jī)104上的監(jiān)護(hù)進(jìn)程進(jìn)行控制和管理。此外,圖1所示的系統(tǒng),還進(jìn)一步包括文件服務(wù)器(圖1中沒有畫出),文件服務(wù)器 上保存有與服務(wù)相關(guān)的文件。下面再對(duì)圖1所示系統(tǒng)中的各個(gè)組成部分的功能分別進(jìn)行消息描述1、中心主機(jī)
中心主機(jī)屬于圖1所示系統(tǒng)的大腦,主要的工作職責(zé)如下開啟Http端口,提供接口給監(jiān)控主機(jī)調(diào)用;提供長(zhǎng)連接接口給監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程;可以是基于TCP的長(zhǎng)連接;保存監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程的長(zhǎng)連接,并下發(fā)控制命令;記錄監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程上報(bào)的服務(wù)運(yùn)行狀態(tài),將其保存到數(shù)據(jù)庫服務(wù) 器;接收監(jiān)控主機(jī)下發(fā)的控制命令,并傳遞給監(jiān)護(hù)進(jìn)程或服務(wù)器代理進(jìn)程。2、監(jiān)護(hù)進(jìn)程監(jiān)護(hù)進(jìn)程的主要工作職責(zé)如下建立與中心主機(jī)的連接,接收中心主機(jī)下發(fā)的指令;不斷與中心主機(jī)保持心跳,上傳服務(wù)運(yùn)行狀態(tài);進(jìn)行服務(wù)的健康檢查(例如維護(hù)性重啟等);建立與工作進(jìn)程的連接,下發(fā)控制指令給工作進(jìn)程。3、工作進(jìn)程工作進(jìn)程為實(shí)際運(yùn)行服務(wù)的外殼,加載并啟動(dòng)服務(wù),其主要工作職責(zé)如下負(fù)責(zé)加載并啟動(dòng)實(shí)際的服務(wù);開啟接口,建立與監(jiān)護(hù)進(jìn)程的通道,接受控制指令。4、監(jiān)控主機(jī)監(jiān)控主機(jī)為部署運(yùn)維工具,運(yùn)維人員主要通過監(jiān)控主機(jī)進(jìn)行服務(wù)監(jiān)控部署工作。 監(jiān)控主機(jī)通過查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)運(yùn)行狀態(tài),輸出給運(yùn)維人員,接受運(yùn)維人員的控 制指令,并將控制指令下發(fā)給中心主機(jī)以進(jìn)行服務(wù)控制。運(yùn)維人員通過人機(jī)交互接口與監(jiān) 控主機(jī)進(jìn)行信息交換。5、服務(wù)器代理進(jìn)程服務(wù)代理主機(jī)為每臺(tái)主機(jī)安裝的獨(dú)立服務(wù),主要是網(wǎng)頁服務(wù)的通道以及管理監(jiān)護(hù) 進(jìn)程的啟動(dòng)、停止、更新等。多個(gè)網(wǎng)頁服務(wù)可以對(duì)應(yīng)一個(gè)服務(wù)器代理進(jìn)程,服務(wù)器代理進(jìn)程 的主要工作職責(zé)如下負(fù)責(zé)建立與中心主機(jī)的長(zhǎng)連接;負(fù)責(zé)建立與網(wǎng)頁服務(wù)進(jìn)程的連接,進(jìn)行網(wǎng)頁服務(wù)的控制;負(fù)責(zé)控制監(jiān)護(hù)進(jìn)程,進(jìn)行監(jiān)護(hù)進(jìn)程的管理。6、網(wǎng)頁服務(wù)進(jìn)程網(wǎng)頁服務(wù)進(jìn)程是一個(gè)Web組件,主要職責(zé)如下負(fù)責(zé)與服務(wù)器代理進(jìn)程的通信,與其保持連接;接受服務(wù)器代理進(jìn)程的控制命令。工作進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程是實(shí)際運(yùn)行服務(wù)的加載器,負(fù)責(zé)加載實(shí)際運(yùn)行的服務(wù)。 所謂服務(wù),是指通過工作進(jìn)程實(shí)際加載的程序。在實(shí)際當(dāng)中,服務(wù)器代理進(jìn)程和監(jiān)護(hù)進(jìn)程一般是手動(dòng)安裝和啟動(dòng)的,如果窗口服 務(wù)主機(jī)上部署了服務(wù)器代理進(jìn)程,則監(jiān)護(hù)進(jìn)程可由本機(jī)的服務(wù)器代理進(jìn)程安裝和啟動(dòng)。服務(wù)器代理進(jìn)程非常穩(wěn)定,邏輯非常簡(jiǎn)單,基本是一個(gè)季度、半年或者很長(zhǎng)時(shí)間不 用更新,監(jiān)護(hù)進(jìn)程和工作進(jìn)程也相對(duì)穩(wěn)定,基本一個(gè)季度更新一次,因此其更新啟動(dòng)都可以是手動(dòng)的。由上述可見,本發(fā)明提供的如圖1所示的服務(wù)器集群系統(tǒng),能夠?qū)崿F(xiàn)服務(wù)運(yùn)行狀 態(tài)的監(jiān)控,可以方便地查看服務(wù)運(yùn)行狀態(tài)。圖1所示服務(wù)器集群系統(tǒng)的部署過程為1、部署數(shù)據(jù)庫服務(wù)器,即安裝數(shù)據(jù)庫;2、部署中心主機(jī)并啟動(dòng);3、部署監(jiān)控主機(jī)以及部署文件服務(wù)器,并通過監(jiān)控主機(jī)進(jìn)行服務(wù)器配置以及服務(wù) 相關(guān)的配置;4、于每臺(tái)窗口服務(wù)主機(jī)和網(wǎng)頁服務(wù)主機(jī)上部署代理服務(wù)進(jìn)程并啟動(dòng);網(wǎng)頁服務(wù)主 機(jī)上還需要手動(dòng)安裝HTTP服務(wù)器,例如iis。5、部署監(jiān)護(hù)進(jìn)程、工作進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程。上述操作完成后,可以通過監(jiān)控主機(jī)進(jìn)行服務(wù)器集群的服務(wù)部署和管理了。圖1所示服務(wù)器集群系統(tǒng)的監(jiān)控過程為1、監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程啟動(dòng)后會(huì)建立與中心主機(jī)的長(zhǎng)連接;2、監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程開啟后臺(tái)線程定期獲取工作進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程 的運(yùn)行狀態(tài),并通過保持的長(zhǎng)連接上報(bào)到中心主機(jī);3、中心主機(jī)獲取監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程上傳的服務(wù)運(yùn)行狀態(tài),并將其存入數(shù) 據(jù)庫服務(wù)器;4、監(jiān)控主機(jī)通過查詢數(shù)據(jù)庫服務(wù)器,獲得服務(wù)當(dāng)前運(yùn)行的信息。圖2是本發(fā)明實(shí)施例中的服務(wù)器集群系統(tǒng)的服務(wù)啟動(dòng)過程的信令流程圖。如圖 2所示,監(jiān)控主機(jī)通過Http向中心主機(jī)發(fā)送服務(wù)啟動(dòng)請(qǐng)求;中心主機(jī)根據(jù)服務(wù)啟動(dòng)請(qǐng)求 選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)啟動(dòng)請(qǐng)求發(fā)送給相應(yīng)的監(jiān)護(hù)進(jìn)程(在實(shí)際中, 監(jiān)控進(jìn)程啟動(dòng)后長(zhǎng)連接就建立好了);監(jiān)護(hù)進(jìn)程啟動(dòng)工作進(jìn)程后,工作進(jìn)程通過命名管道 (Namepipe)連接上監(jiān)護(hù)進(jìn)程,監(jiān)護(hù)進(jìn)程通過命名管道發(fā)送服務(wù)啟動(dòng)請(qǐng)求給工作進(jìn)程,工作 進(jìn)程通過加載并調(diào)用服務(wù)的啟動(dòng)方法來啟動(dòng)相應(yīng)的服務(wù)。圖3是本發(fā)明實(shí)施例中的服務(wù)器集群系統(tǒng)的服務(wù)停止過程的信令流程圖。如圖3 所示,監(jiān)控主機(jī)通過Http向中心主機(jī)發(fā)送服務(wù)停止請(qǐng)求;中心主機(jī)根據(jù)服務(wù)停止請(qǐng)求選擇 相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)停止請(qǐng)求發(fā)送給相應(yīng)的監(jiān)護(hù)進(jìn)程;監(jiān)護(hù)進(jìn)程通過命 名管道將服務(wù)停止請(qǐng)求發(fā)送給工作進(jìn)程,工作進(jìn)程通過反射調(diào)用服務(wù)的停止方法來停止相 應(yīng)的服務(wù);監(jiān)護(hù)進(jìn)程停止工作進(jìn)程。圖4是本發(fā)明實(shí)施例中的服務(wù)器集群系統(tǒng)的服務(wù)更新過程的信令流程圖。如圖4 所示,監(jiān)控主機(jī)通過Http向中心主機(jī)發(fā)送服務(wù)更新請(qǐng)求;中心主機(jī)用于根據(jù)服務(wù)更新請(qǐng)求 選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)更新請(qǐng)求發(fā)送給相應(yīng)的監(jiān)護(hù)進(jìn)程;監(jiān)護(hù)進(jìn)程在 接收服務(wù)更新請(qǐng)求后通過服務(wù)配置獲取服務(wù)程序路徑,并用獲取的服務(wù)程序覆蓋當(dāng)前的服 務(wù)程序,即更新工作進(jìn)程。圖2、3和4中,以窗口服務(wù)為例進(jìn)行了說明,對(duì)于網(wǎng)頁服務(wù)來說其啟動(dòng)、停止和更 新的過程與窗口服務(wù)類似,只要將圖2、3和4中的監(jiān)護(hù)進(jìn)程替換為服務(wù)器代理進(jìn)程,工作進(jìn) 程替換為網(wǎng)頁服務(wù)進(jìn)程即可,這里不再復(fù)述。由上述可見,本發(fā)明這種將服務(wù)分為窗口服務(wù)和網(wǎng)頁服務(wù),由工作進(jìn)程啟動(dòng)和運(yùn)行窗口服務(wù),并由監(jiān)護(hù)進(jìn)程對(duì)工作進(jìn)程進(jìn)行管理,由網(wǎng)頁服務(wù)進(jìn)程啟動(dòng)和運(yùn)行網(wǎng)頁服務(wù),并 由服務(wù)器代理進(jìn)程對(duì)網(wǎng)頁服務(wù)進(jìn)程進(jìn)行管理,監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程分別將工作進(jìn)程 和網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī),中心主機(jī)再保存到數(shù)據(jù)庫服務(wù) 器中;監(jiān)控主機(jī)查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下發(fā)服務(wù)控 制命令給中心主機(jī),中心主機(jī)再將服務(wù)控制命令轉(zhuǎn)發(fā)給相應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn) 程,監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程根據(jù)中心主機(jī)發(fā)送的服務(wù)控制命令對(duì)工作進(jìn)程\網(wǎng)頁服務(wù) 進(jìn)程進(jìn)行管理的技術(shù)方案,實(shí)現(xiàn)了服務(wù)運(yùn)行狀態(tài)的監(jiān)控,可以方便地查看服務(wù)運(yùn)行狀態(tài),進(jìn) 而高效地進(jìn)行管理。并且大大簡(jiǎn)化了服務(wù)的運(yùn)維部署成本,能夠?qū)崿F(xiàn)快速部署。服務(wù)監(jiān)控 和實(shí)際服務(wù)進(jìn)行進(jìn)程隔離,有效提高了服務(wù)運(yùn)行的安全性。 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種服務(wù)器集群系統(tǒng),其特征在于,該系統(tǒng)包括監(jiān)控主機(jī)、數(shù)據(jù)庫服務(wù)器、中心主 機(jī)、一定數(shù)目的窗口服務(wù)主機(jī)和\或一定數(shù)目的網(wǎng)頁服務(wù)主機(jī);其中,窗口服務(wù)主機(jī)上部署 有監(jiān)護(hù)進(jìn)程和工作進(jìn)程,一個(gè)監(jiān)護(hù)進(jìn)程對(duì)應(yīng)一個(gè)工作進(jìn)程;網(wǎng)頁服務(wù)主機(jī)上部署有服務(wù)器 代理進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程,一個(gè)服務(wù)器代理進(jìn)程對(duì)應(yīng)多個(gè)網(wǎng)頁服務(wù)進(jìn)程;工作進(jìn)程,用于加載窗口服務(wù)并運(yùn)行;用于接受監(jiān)護(hù)進(jìn)程下發(fā)的服務(wù)控制命令; 監(jiān)護(hù)進(jìn)程,用于將工作進(jìn)程所運(yùn)行的窗口服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī);用于接收 中心主機(jī)發(fā)送的服務(wù)控制命令,并將該服務(wù)控制命令下發(fā)給工作進(jìn)程;網(wǎng)頁服務(wù)進(jìn)程,用于加載網(wǎng)頁服務(wù)并運(yùn)行;用于接受服務(wù)器代理進(jìn)程下發(fā)的服務(wù)控制 命令;服務(wù)器代理進(jìn)程,用將網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的網(wǎng)頁服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī); 用于接收中心主機(jī)發(fā)送的服務(wù)控制命令,并將該服務(wù)控制命令下發(fā)給網(wǎng)頁服務(wù)進(jìn)程;中心主機(jī),用于接收監(jiān)護(hù)進(jìn)程和/或服務(wù)器代理進(jìn)程上報(bào)的服務(wù)的運(yùn)行狀態(tài),并保存 到數(shù)據(jù)庫服務(wù)器中;用于接收監(jiān)控主機(jī)下發(fā)的服務(wù)控制命令,并轉(zhuǎn)發(fā)給相應(yīng)的監(jiān)護(hù)進(jìn)程或 服務(wù)器代理進(jìn)程;數(shù)據(jù)庫服務(wù)器,用于保存服務(wù)的運(yùn)行狀態(tài);監(jiān)控主機(jī),用于查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下發(fā)服 務(wù)控制命令給中心主機(jī)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,監(jiān)控主機(jī),用于通過基于超文本傳輸協(xié)議HTTP的遠(yuǎn)程過程調(diào)用方式將服務(wù)控制命令 發(fā)送給中心主機(jī);中心主機(jī)與監(jiān)護(hù)進(jìn)程之間,以及中心主機(jī)與服務(wù)器代理進(jìn)程之間通過建立長(zhǎng)連接進(jìn)行fflfn ; ο監(jiān)護(hù)進(jìn)程與工作進(jìn)程之間,通過本機(jī)進(jìn)程調(diào)用方式進(jìn)行通信;網(wǎng)頁服務(wù)主機(jī)上安裝有HTTP服務(wù)器,服務(wù)器代理進(jìn)程通過管理HTTP服務(wù)器來管理網(wǎng) 頁服務(wù)進(jìn)程。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,窗口服務(wù)主機(jī)上進(jìn)一步部署有服務(wù)器代理進(jìn)程,該服務(wù)器代理進(jìn)程對(duì)該窗口服務(wù)主機(jī) 上的監(jiān)護(hù)進(jìn)程進(jìn)行控制和管理。
4.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于, 在啟動(dòng)服務(wù)的過程中監(jiān)控主機(jī),用于向中心主機(jī)發(fā)送服務(wù)啟動(dòng)請(qǐng)求;中心主機(jī),用于根據(jù)服務(wù)啟動(dòng)請(qǐng)求選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)啟動(dòng)請(qǐng) 求發(fā)送給相應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程,用于啟動(dòng)工作進(jìn)程\網(wǎng)頁服務(wù)進(jìn)程,由工作進(jìn)程\網(wǎng)頁服 務(wù)進(jìn)程加載并啟動(dòng)所請(qǐng)求的服務(wù)。 在停止服務(wù)的過程中監(jiān)控主機(jī),用于向中心主機(jī)發(fā)送服務(wù)停止請(qǐng)求;中心主機(jī),用于根據(jù)服務(wù)停止請(qǐng)求選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)停止請(qǐng) 求發(fā)送給相應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程,用于在接收服務(wù)停止請(qǐng)求后停止相應(yīng)的工作進(jìn)程\網(wǎng)頁 服務(wù)進(jìn)程;在更新服務(wù)的過程中監(jiān)控主機(jī),用于向中心主機(jī)發(fā)送服務(wù)更新請(qǐng)求;中心主機(jī),用于根據(jù)服務(wù)更新請(qǐng)求選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)更新請(qǐng) 求發(fā)送給相應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程,用于在接收服務(wù)更新請(qǐng)求后通過服務(wù)配置獲取服務(wù)程序 路徑,并用獲取的服務(wù)程序覆蓋當(dāng)前的服務(wù)程序。
5.根據(jù)權(quán)利1或2所述的系統(tǒng),其特征在于,監(jiān)護(hù)進(jìn)程,進(jìn)一步用于對(duì)工作進(jìn)程進(jìn)行健康檢查,并根據(jù)健康檢查結(jié)果對(duì)工作進(jìn)程進(jìn) 行管理。
6.一種服務(wù)器集群系統(tǒng)的管理方法,其特征在于,該服務(wù)器集群系統(tǒng)包括監(jiān)控主機(jī)、 數(shù)據(jù)庫服務(wù)器、中心主機(jī)、一定數(shù)目的窗口服務(wù)主機(jī)和\或一定數(shù)目的網(wǎng)頁服務(wù)主機(jī);該管 理方法包括將服務(wù)分為窗口服務(wù)和網(wǎng)頁服務(wù);由工作進(jìn)程加載和運(yùn)行窗口服務(wù),并由監(jiān)護(hù)進(jìn)程對(duì)工作進(jìn)程進(jìn)行管理;一個(gè)監(jiān)護(hù)進(jìn)程 對(duì)應(yīng)一個(gè)工作進(jìn)程,且監(jiān)護(hù)進(jìn)程和工作進(jìn)程部署在窗口服務(wù)主機(jī)上;由網(wǎng)頁服務(wù)進(jìn)程加載和運(yùn)行網(wǎng)頁服務(wù),并由服務(wù)器代理進(jìn)程對(duì)網(wǎng)頁服務(wù)進(jìn)程進(jìn)行管 理;一個(gè)服務(wù)器代理進(jìn)程對(duì)應(yīng)多個(gè)網(wǎng)頁服務(wù)進(jìn)程,且服務(wù)器代理進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程部署 在網(wǎng)頁服務(wù)主機(jī)上;監(jiān)護(hù)進(jìn)程將工作進(jìn)程所運(yùn)行的窗口服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī);服務(wù)器代理進(jìn)程 將網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的網(wǎng)頁服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī);中心主機(jī)接收監(jiān)護(hù)進(jìn)程和/或服務(wù)器代理進(jìn)程上報(bào)的服務(wù)的運(yùn)行狀態(tài),并保存到數(shù)據(jù) 庫服務(wù)器中;監(jiān)控主機(jī)查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下發(fā)服務(wù)控制 命令給中心主機(jī);中心主機(jī)用于將服務(wù)控制命令轉(zhuǎn)發(fā)給相應(yīng)的監(jiān)護(hù)進(jìn)程或服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程將中心主機(jī)發(fā)送的服務(wù)控制命令下發(fā)到對(duì)應(yīng)的工作進(jìn)程 \網(wǎng)頁服務(wù)進(jìn)程。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,監(jiān)控主機(jī)通過基于超文本傳輸協(xié)議HTTP的遠(yuǎn)程過程調(diào)用方式將服務(wù)控制命令發(fā)送給 中心主機(jī);中心主機(jī)與監(jiān)護(hù)進(jìn)程之間,以及中心主機(jī)與服務(wù)器代理進(jìn)程之間通過建立長(zhǎng)連接進(jìn)行 通信;監(jiān)護(hù)進(jìn)程與工作進(jìn)程之間,通過本機(jī)進(jìn)程調(diào)用方式進(jìn)行通信;網(wǎng)頁服務(wù)主機(jī)上安裝有HTTP服務(wù)器,服務(wù)器代理進(jìn)程通過管理HTTP服務(wù)器來管理網(wǎng) 頁服務(wù)進(jìn)程。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,窗口服務(wù)主機(jī)上進(jìn)一步部署有服務(wù)器代 理進(jìn)程;窗口服務(wù)主機(jī)上的服務(wù)器代理進(jìn)程對(duì)該窗口服務(wù)主機(jī)上的監(jiān)護(hù)進(jìn)程進(jìn)行控制和管理。
9.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,該方法進(jìn)一步包括啟動(dòng)服務(wù)的過程,包括監(jiān)控主機(jī)向中心主機(jī)發(fā)送服務(wù)啟動(dòng)請(qǐng)求; 中心主機(jī)根據(jù)服務(wù)啟動(dòng)請(qǐng)求選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)啟動(dòng)請(qǐng)求發(fā)送給相 應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程啟動(dòng)工作進(jìn)程\網(wǎng)頁服務(wù)進(jìn) 程,由工作進(jìn)程\網(wǎng)頁服務(wù)進(jìn)程加載并啟動(dòng)所請(qǐng)求的服務(wù);該方法進(jìn)一步包括停止服務(wù)的過程,包括監(jiān)控主機(jī)向中心主機(jī)發(fā)送服務(wù)停止請(qǐng)求; 中心主機(jī)根據(jù)服務(wù)停止請(qǐng)求選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)停止請(qǐng)求發(fā)送給相 應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程在接收服務(wù)停止請(qǐng)求后停止 相應(yīng)的工作進(jìn)程\網(wǎng)頁服務(wù)進(jìn)程。該方法進(jìn)一步包括更新服務(wù)的過程,包括監(jiān)控主機(jī)向中心主機(jī)發(fā)送服務(wù)更新請(qǐng)求; 中心主機(jī)根據(jù)服務(wù)更新請(qǐng)求選擇相應(yīng)的長(zhǎng)連接,并通過該長(zhǎng)連接將服務(wù)更新請(qǐng)求發(fā)送給相 應(yīng)的監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程;監(jiān)護(hù)進(jìn)程\服務(wù)器代理進(jìn)程,用于在接收服務(wù)更新請(qǐng)求后 通過服務(wù)配置獲取服務(wù)程序路徑,并用獲取的服務(wù)程序覆蓋當(dāng)前的服務(wù)程序。
10.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,該方法進(jìn)一步包括監(jiān)護(hù)進(jìn)程對(duì)工作進(jìn)程進(jìn)行健康檢查,并根據(jù)健康檢查結(jié)果對(duì)工作進(jìn)程進(jìn)行管理。
全文摘要
本發(fā)明公開了一種服務(wù)器集群系統(tǒng)及其管理方法。該服務(wù)器集群系統(tǒng)包括監(jiān)控主機(jī)、數(shù)據(jù)庫服務(wù)器、中心主機(jī)、一定數(shù)目的窗口服務(wù)主機(jī)和\或一定數(shù)目的網(wǎng)頁服務(wù)主機(jī);窗口服務(wù)主機(jī)上部署監(jiān)護(hù)進(jìn)程和工作進(jìn)程,網(wǎng)頁服務(wù)主機(jī)上部署服務(wù)器代理進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程;監(jiān)護(hù)進(jìn)程和服務(wù)器代理進(jìn)程將工作進(jìn)程和網(wǎng)頁服務(wù)進(jìn)程所運(yùn)行的服務(wù)的運(yùn)行狀態(tài)上報(bào)給中心主機(jī);中心主機(jī)接收監(jiān)護(hù)進(jìn)程和/或服務(wù)器代理進(jìn)程上報(bào)的服務(wù)的運(yùn)行狀態(tài),并保存到數(shù)據(jù)庫服務(wù)器中;監(jiān)控主機(jī)查詢數(shù)據(jù)庫服務(wù)器獲取服務(wù)的運(yùn)行狀態(tài),根據(jù)服務(wù)的運(yùn)行狀態(tài)下發(fā)服務(wù)控制命令給中心主機(jī),再有中心主機(jī)下發(fā)給相應(yīng)的進(jìn)程。本發(fā)明的技術(shù)方案能夠高效、方便地實(shí)現(xiàn)服務(wù)器集群的管理。
文檔編號(hào)H04L29/08GK102104628SQ20101061187
公開日2011年6月22日 申請(qǐng)日期2010年12月29日 優(yōu)先權(quán)日2010年12月29日
發(fā)明者楊虎, 高磊 申請(qǐng)人:北京新媒傳信科技有限公司