專利名稱:一種應(yīng)用服務(wù)器及其遠(yuǎn)程控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)遠(yuǎn)程控制領(lǐng)域,特別涉及一種應(yīng)用服務(wù)器(Daemon) 及其遠(yuǎn)程控制方法。計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)是通信技術(shù)與計(jì)算機(jī)技術(shù)相結(jié)合的產(chǎn)物。計(jì)算機(jī)網(wǎng)絡(luò)是 按照網(wǎng)絡(luò)協(xié)議,將地球上分散的、獨(dú)立的計(jì)算機(jī)相互連接的集合。計(jì)算機(jī)網(wǎng) 絡(luò)技術(shù)實(shí)現(xiàn)了資源共享。人們可以在辦公室、家里或其他任何地方,訪問(wèn)查 詢網(wǎng)上的任何資源,極大地提高了工作效率,促進(jìn)了辦公自動(dòng)化、工廠自動(dòng) 化、家庭自動(dòng)化的發(fā)展。交互式控制遠(yuǎn)程計(jì)算機(jī)系統(tǒng)是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)一個(gè) 重要的和基礎(chǔ)的應(yīng)用。這一應(yīng)用可以讓操作員在本地通過(guò)控制遠(yuǎn)程計(jì)算機(jī)系 統(tǒng)實(shí)現(xiàn)在遠(yuǎn)程計(jì)算機(jī)上所作的各項(xiàng)操作。我們知道通信系統(tǒng)是由信源、信道和信宿三部分組成,在計(jì)算機(jī)網(wǎng)絡(luò)中, 客戶端就作為信源,網(wǎng)絡(luò)作為信道,服務(wù)器端作為信宿組成計(jì)算機(jī)網(wǎng)絡(luò)通信 系統(tǒng)。目前最流行的計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用模式有B/S、 C/S兩種,其中在這兩種 模式中B和C代表信源客戶端,S代表信宿服務(wù)器端。 一般在點(diǎn)對(duì)點(diǎn)的通信 情況下,首先由B或C發(fā)出請(qǐng)求給S端,S端接收到該請(qǐng)求信息并才艮據(jù)信 息的要求進(jìn)行處理,然后將處理結(jié)果或資源返回給客戶端。目前,關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用模式中服務(wù)器端(S端)的設(shè)計(jì)方法不勝枚 舉。Daemon方式是其中的一種Server實(shí)現(xiàn)的方法。Daemon原指在計(jì)算機(jī) 操作系統(tǒng)下一段直接自動(dòng)連續(xù)運(yùn)行的程序,用于處理計(jì)算機(jī)系統(tǒng)希望接收到 的階段性的服務(wù)需求,并將請(qǐng)求提交給其他合適的程序(或者進(jìn)程)。例如,網(wǎng)絡(luò)上頁(yè)面Daemon應(yīng)用服務(wù)器持續(xù)地等待從網(wǎng)絡(luò)客戶端及其用戶發(fā)送來(lái)的請(qǐng)求。然而現(xiàn)代網(wǎng)絡(luò)通信多釆用并發(fā)式的通信方式,這種方式要求信宿服務(wù)器可以同時(shí)響應(yīng)和滿足多個(gè)客戶端的請(qǐng)求,這對(duì)服務(wù)器的性能就提出了更高的 要求。不僅如此,對(duì)于客戶端來(lái)說(shuō),服務(wù)器端應(yīng)該盡量做到其操作系統(tǒng)類型 與客戶端請(qǐng)求無(wú)關(guān)。而現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用模式多是與計(jì)算機(jī)操作系統(tǒng)類型綁定的,這樣的網(wǎng)絡(luò)應(yīng)用模式在實(shí)際的應(yīng)用中具有很大的局限性。例如模 式的設(shè)計(jì)者所設(shè)計(jì)的服務(wù)器只能運(yùn)行在某一種固定的操作系統(tǒng)上而在其他 操作系統(tǒng)上就不能應(yīng)用,這就造成運(yùn)營(yíng)商在操作系統(tǒng)的選擇上必須與設(shè)備設(shè) 計(jì)者保持一致,從而使得該模式應(yīng)用的適應(yīng)性大大降低。另外隨著業(yè)務(wù)需求的不斷增加,客戶端不斷提出新的請(qǐng)求,所以為了適應(yīng)客戶端的新變化,相應(yīng)的s端的可擴(kuò)展性也是非常重要的。在這方面,目 前的設(shè)計(jì)方法也存在一定缺陷,主要是服務(wù)器設(shè)計(jì)結(jié)構(gòu)不合理造成的,即不 能適應(yīng)客戶端新的變化。具體就是,當(dāng)客戶端提出新的需求時(shí),服務(wù)器為了 適應(yīng)新需求必須改變以前的設(shè)計(jì)框架,這就造成資源浪費(fèi)并且大大降低了開(kāi) 發(fā)效率。另外,在實(shí)現(xiàn)資源共享方面,提供服務(wù)代理機(jī)制以擴(kuò)大服務(wù)器的服 務(wù)功能,也應(yīng)該是服務(wù)器所具有的基本性能。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種駐留Daemon應(yīng)用服務(wù)器及其 遠(yuǎn)程控制方法,從而在計(jì)算機(jī)遠(yuǎn)程控制過(guò)程中,實(shí)現(xiàn)客戶端請(qǐng)求與應(yīng)用服務(wù) 器操作系統(tǒng)類型無(wú)關(guān)。為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種駐留Daemon應(yīng)用服務(wù)器,適用 于計(jì)算機(jī)遠(yuǎn)程控制過(guò)程,該服務(wù)器包括依次連接的信息接收模塊、信息處理 模塊以及信息回饋模塊,其中,所述信息接收模塊,用于并發(fā)式接收來(lái)自客戶端的各種請(qǐng)求消息,建立 消息隊(duì)列,按照接收順序或者優(yōu)先級(jí)順序?qū)⒏鞣N請(qǐng)求消息發(fā)送到信息處理模 塊;所述信息處理模塊,用于利用系統(tǒng)函數(shù)處理機(jī)制響應(yīng)和處理客戶端的各 種請(qǐng)求消息;所述信息回饋模塊,用于將請(qǐng)求消息處理結(jié)果轉(zhuǎn)化并組裝為客戶端與Daemon應(yīng)用服務(wù)器所約定的內(nèi)部消息格式返回給客戶端。進(jìn)一步地,上述服務(wù)器中,所述信息處理模塊進(jìn)一步包括消息解析單元 及與其相連的若干用于處理不同消息的消息處理單元,其中所述消息解析單元,用于解析客戶端發(fā)送的各種請(qǐng)求消息,并根據(jù)解析 結(jié)果將不同的請(qǐng)求消息發(fā)送到相應(yīng)的消息處理單元;所述消息處理單元,采用系統(tǒng)函數(shù)處理機(jī)制,根據(jù)收到的消息內(nèi)容進(jìn)行 操作,并將消息處理結(jié)果發(fā)送到信息回饋模塊。上述消息處理單元包括用于實(shí)現(xiàn)代理服務(wù)的消息處理單元,用于在接收 到代理服務(wù)請(qǐng)求消息后,建立與遠(yuǎn)程資源服務(wù)器的通信,接收遠(yuǎn)程資源服務(wù) 器返回的遠(yuǎn)程資源,由所述信息回饋模塊返回給請(qǐng)求代理服務(wù)的客戶端。上述消息處理單元包括用于實(shí)現(xiàn)升級(jí)的消息處理單元,用于在接收到升 級(jí)請(qǐng)求消息后進(jìn)行升級(jí)或者定時(shí)自動(dòng)啟動(dòng)升級(jí),停止所有由Daemon應(yīng)用服 務(wù)器啟動(dòng)的服務(wù)進(jìn)程,安裝新版本Daemon應(yīng)用服務(wù)器。上迷升級(jí)操作完成后,所述用于實(shí)現(xiàn)升級(jí)的消息處理單元更新版本配置 文件中的版本號(hào)并啟動(dòng)端口進(jìn)行偵聽(tīng),當(dāng)客戶端輪循的連接Daemon應(yīng)用服 務(wù)器,并檢測(cè)到服務(wù)端口被打開(kāi)時(shí),與所述Daemon應(yīng)用服務(wù)器建立TCP 鏈路,所述信息回饋模塊向客戶端發(fā)送升級(jí)成功的消息。進(jìn)一步地,上述服務(wù)器中,所述信息回饋模塊發(fā)送的消息處理結(jié)果包括 消息編號(hào)、結(jié)果判斷以及結(jié)果內(nèi)容。本發(fā)明還公開(kāi)了一種駐留Daemon應(yīng)用服務(wù)器的遠(yuǎn)程控制方法,包括以 下步驟A:所述駐留Daemon應(yīng)用服務(wù)器的信息接收模塊接收來(lái)自客戶端的請(qǐng) 求消息,建立消息隊(duì)列,按照接收順序或者優(yōu)先級(jí)順序?qū)⒏鞣N請(qǐng)求消息發(fā)送 到信息處理模塊;B:所述Daemon應(yīng)用服務(wù)器的信息處理模塊收到所述信息接收模塊轉(zhuǎn) 發(fā)的請(qǐng)求消息后,利用系統(tǒng)函數(shù)處理機(jī)制響應(yīng)和處理客戶端的請(qǐng)求消息;C:所迷Daemon應(yīng)用服務(wù)器的信息回饋模塊從信息處理模塊收到客戶端請(qǐng)求消息處理結(jié)果后,將該結(jié)果轉(zhuǎn)化并組裝為客戶端與Daemon應(yīng)用服務(wù) 器所約定的內(nèi)部消息格式發(fā)送到客戶端。進(jìn)一步地,上述方法中,所述步驟B進(jìn)一步包括以下步驟Bl,所述信息處理模塊的消息解析單元對(duì)收到的所述請(qǐng)求消息進(jìn)行解 析,并根據(jù)解析結(jié)果將不同的請(qǐng)求消息發(fā)送到相應(yīng)的消息處理單元;B2,所述消息處理單元采用系統(tǒng)函數(shù)處理機(jī)制,根據(jù)收到的請(qǐng)求消息的 內(nèi)容對(duì)遠(yuǎn)程計(jì)算機(jī)系統(tǒng)進(jìn)行系統(tǒng)操作,并將消息處理結(jié)果發(fā)送到信息回饋模 塊。上述步驟B2中,若所述請(qǐng)求消息的內(nèi)容為請(qǐng)求代理服務(wù),則所述消息 處理單元建立與遠(yuǎn)程資源服務(wù)器的通信,接收遠(yuǎn)程資源服務(wù)器返回的遠(yuǎn)程資 源,由所述信息回饋模塊返回給請(qǐng)求代理服務(wù)的客戶端。上述步驟B2中,若所述請(qǐng)求消息的內(nèi)容為請(qǐng)求駐留服務(wù)器升級(jí)時(shí)或者 所述消息處理單元定時(shí)自動(dòng)啟動(dòng)升級(jí),所述消息處理單元首先停止所有由 Daemon應(yīng)用服務(wù)器啟動(dòng)的服務(wù)進(jìn)程,并備份舊版本的駐留服務(wù)器,安裝新 版本Daemon應(yīng)用服務(wù)器。進(jìn)一步地,上述方法中,所述信息回饋模塊向客戶端發(fā)送的消息處理結(jié) 果包括消息編號(hào)、結(jié)果判斷以及結(jié)果內(nèi)容。進(jìn)一步地,上述方法中,升級(jí)操作完成后,所迷用于實(shí)現(xiàn)升級(jí)的消息處 理單元更新版本配置文件中的版本號(hào)并啟動(dòng)端口進(jìn)^f亍偵聽(tīng),當(dāng)客戶端輪循的 連接Daemon應(yīng)用服務(wù)器,并檢測(cè)到服務(wù)端口被打開(kāi)時(shí),與所述Daemon應(yīng) 用服務(wù)器建立TCP鏈路,所述信息回饋模塊向客戶端發(fā)送升級(jí)成功的消息。本發(fā)明所釆用的技術(shù)方案在并發(fā)式B/S和C/S模式網(wǎng)絡(luò)通信的基礎(chǔ)上, 實(shí)現(xiàn)了客戶端請(qǐng)求與應(yīng)用服務(wù)器操作系統(tǒng)類型無(wú)關(guān)性,并揭露了移動(dòng)終端用 戶與應(yīng)用服務(wù)器的交互過(guò)程,同時(shí)本發(fā)明所提出的應(yīng)用服務(wù)器具有非常好的 可擴(kuò)展性能、自動(dòng)升級(jí)功能、服務(wù)代理機(jī)制以及易構(gòu)造性。
圖l為本實(shí)施例中Daemon應(yīng)用服務(wù)器的結(jié)構(gòu)示意圖;圖2 (a)為本實(shí)施例客戶端發(fā)送一般請(qǐng)求信息時(shí)Daemon應(yīng)用服務(wù)器 實(shí)現(xiàn)遠(yuǎn)程控制流程圖;圖2(b)為本實(shí)施例客戶端發(fā)送代理服務(wù)請(qǐng)求信息時(shí)Daemon應(yīng)用服務(wù) 器實(shí)現(xiàn)遠(yuǎn)程控制流程圖;圖3為本實(shí)施例中Daemon應(yīng)用服務(wù)器自動(dòng)升級(jí)流程圖。
具體實(shí)施方式
本發(fā)明的主要構(gòu)思是, 一種Daemon應(yīng)用服務(wù)器通過(guò)駐留的方式提供對(duì) 客戶端的月良務(wù),客戶端通過(guò)傳輸控制協(xié)議(TCP, Transfer Control Protocol) 鏈路與Daemon應(yīng)用服務(wù)器相連接,通過(guò)發(fā)送請(qǐng)求信息,然后接收到Daemon 應(yīng)用服務(wù)器的響應(yīng)的方式實(shí)現(xiàn)通信。下面結(jié)合附圖及具體實(shí)施方式
,對(duì)本發(fā)明技術(shù)方案作進(jìn)一步的詳細(xì)描述圖1所示,為Daemon應(yīng)用服務(wù)器的結(jié)構(gòu),該應(yīng)用服務(wù)器包括依次相 連的信息接收才莫塊(ReceiveData)、信息處理才莫塊(ExeclData)以及信息 回饋模塊(ReplyData),根據(jù)所處理的消息的不同,在信息處理模塊中設(shè) 置多個(gè)消息處理單元。信息接收模塊,用于并發(fā)式接收來(lái)自客戶端的各種請(qǐng)求信息,并采用消 息隊(duì)列的機(jī)制對(duì)接收到的來(lái)自不同客戶端的相互獨(dú)立的請(qǐng)求進(jìn)行消息排隊(duì), 產(chǎn)生對(duì)應(yīng)不同客戶端的不同消息隊(duì)列,然后將這些消息隊(duì)列分別順序發(fā)送到 信息處理模塊;信息處理模塊,用于響應(yīng)和處理客戶端的各種請(qǐng)求;信息處理模塊又進(jìn)一步包括消息解析單元及與其相連的若干消息處理 單元,其中消息解析單元,用于解析客戶端發(fā)送的各種請(qǐng)求消息,并根據(jù)解析結(jié)果 將不同的請(qǐng)求消息發(fā)送到不同的消息處理單元;消息處理單元,根據(jù)收到的消息內(nèi)容對(duì)遠(yuǎn)程計(jì)算機(jī)系統(tǒng)進(jìn)行系統(tǒng)操作, 并將消息處理結(jié)果發(fā)送到信息回饋模塊,例如,請(qǐng)求消息的內(nèi)容為請(qǐng)求代理 服務(wù)時(shí),消息處理單元用于建立與遠(yuǎn)程資源服務(wù)器的通信,并將獲取的遠(yuǎn)程資源返回到請(qǐng)求代理服務(wù)的客戶端;當(dāng)請(qǐng)求消息的內(nèi)容為請(qǐng)求Daemon應(yīng)用 服務(wù)器升級(jí)時(shí),消息處理單元首先停止所有由Daemon應(yīng)用服務(wù)器啟動(dòng)的服 務(wù)進(jìn)程,并備份舊版本的Daemon應(yīng)用服務(wù)器,然后啟動(dòng)Daemon應(yīng)用服務(wù) 器升級(jí)進(jìn)程。上述消息處理單元是相對(duì)獨(dú)立的與消息類型相關(guān)的最小處理單位,其按 照現(xiàn)有技術(shù)采用了 一種系統(tǒng)函數(shù)處理機(jī)制,從而可以根據(jù)消息內(nèi)容進(jìn)行系統(tǒng) 操作以完成遠(yuǎn)端用戶無(wú)法實(shí)現(xiàn)的服務(wù)器端本地操作功能,本實(shí)施例中,該消 息處理單元采用的系統(tǒng)函數(shù)的形式參數(shù)是用戶在操作系統(tǒng)命令行時(shí)所輸入 的任何系統(tǒng)均能夠識(shí)別的系統(tǒng)命令,該函數(shù)本身與Daemon應(yīng)用服務(wù)器的操 作系統(tǒng)無(wú)關(guān),即在不同的操作系統(tǒng)下都可以調(diào)用該函數(shù),因此可適用于不同 的操作系統(tǒng),比如Windows、 Linux系統(tǒng)等。信息回饋模塊,用于消息緩沖、消息轉(zhuǎn)化、消息反饋等,從而將請(qǐng)求信 息處理結(jié)果進(jìn)行消息轉(zhuǎn)化并組裝為內(nèi)部消息格式(客戶端與Daemon應(yīng)用服 務(wù)器所約定的消息格式),然后通過(guò)TCP鏈路發(fā)送給相應(yīng)的客戶端,其中 消息處理結(jié)果包括消息編號(hào)、結(jié)果判斷以及結(jié)果內(nèi)容等。上述并發(fā)式Daemon應(yīng)用服務(wù)器,適用于用戶通過(guò)瀏覽器或其它客戶端 軟件訪問(wèn)遠(yuǎn)程Daemon應(yīng)用服務(wù)器的過(guò)程,根據(jù)客戶端請(qǐng)求,對(duì)遠(yuǎn)程計(jì)算機(jī) 系統(tǒng)進(jìn)行系統(tǒng)操作的過(guò)程如圖2所示。其中,客戶端向Daemon應(yīng)用服務(wù)器發(fā)送一般請(qǐng)求信息的過(guò)程如圖2( a) 所示,首先Daemon應(yīng)用服務(wù)器作為系統(tǒng)的應(yīng)用服務(wù)隨系統(tǒng)自動(dòng)啟動(dòng),并且 駐留在系統(tǒng)中對(duì)服務(wù)端口進(jìn)行偵聽(tīng)??蛻舳藶榱说玫紻aemon應(yīng)用服務(wù)器的 服務(wù),必須首先通過(guò)服務(wù)端口與Daemon應(yīng)用服務(wù)器建立TCP鏈路,由客 戶端發(fā)起鏈路的建立(步驟201a) , Daemon應(yīng)用服務(wù)器;f企測(cè)到連接的客戶 端后開(kāi)始建立鏈路(步驟202a、 203a)。本實(shí)施例中客戶端與應(yīng)用服務(wù)器的 連接是一種短連接的方式,即一次完整的通信結(jié)束后,此鏈路將被釋放掉,當(dāng)然,根據(jù)不同的需要,此處的TCP連接也可以為長(zhǎng)連接,如計(jì)費(fèi)業(yè)務(wù)的 應(yīng)用中。TCP鏈路建立之后,客戶端就可以通過(guò)此鏈路向Daemon應(yīng)用服務(wù)器發(fā) 送請(qǐng)求消息(步驟204a) , Daemon應(yīng)用服務(wù)器的信息接收才莫塊接收請(qǐng)求消 息后,建立消息隊(duì)列(步驟205a),按序?qū)⒄?qǐng)求消息發(fā)送到信息處理模塊 (步驟206a),在其他實(shí)施例中,信息接收模塊也可根據(jù)消息的優(yōu)先級(jí), 把優(yōu)先級(jí)較高的請(qǐng)求消息先發(fā)送到信息處理模塊;Daemon應(yīng)用服務(wù)器通過(guò) 信息處理模塊中消息解析單元對(duì)客戶端發(fā)送的消息進(jìn)行解析(步驟207a), 并將解析結(jié)果發(fā)送到相應(yīng)的消息處理單元;消息處理單元按照消息內(nèi)容對(duì)遠(yuǎn) 程客戶端進(jìn)行系統(tǒng)操作,即進(jìn)行消息處理(步驟208a),并將消息處理結(jié) 果發(fā)送到信息回饋模塊(步驟209a),信息回饋模塊將處理結(jié)果轉(zhuǎn)化、組 裝為內(nèi)部消息格式(步驟210a),然后發(fā)送給相應(yīng)的客戶端(步驟211a), 客戶端收到返回結(jié)果后,釋放TCP鏈路(步驟212a)。當(dāng)客戶端要求的代理服務(wù)Daemon應(yīng)用服務(wù)器不支持時(shí),Daemon應(yīng)用 服務(wù)器可以將客戶端的請(qǐng)求轉(zhuǎn)發(fā)到其他具備相應(yīng)功能的遠(yuǎn)程資源服務(wù)器,由 遠(yuǎn)程資源服務(wù)器進(jìn)行處理并將結(jié)果通過(guò)Daemon應(yīng)用服務(wù)器返回給客戶端。 客戶端向Daemon應(yīng)用服務(wù)器發(fā)送代理服務(wù)請(qǐng)求信息的過(guò)程如圖2(b)所示, 其步驟201b至207b同步驟201a至207a,本實(shí)施例中消息解析單元將解析 的代理服務(wù)請(qǐng)求消息發(fā)送到實(shí)現(xiàn)代理服務(wù)的消息處理單元(步驟208b), 實(shí)現(xiàn)代理服務(wù)的消息處理單元收到該請(qǐng)求消息后,向遠(yuǎn)程資源服務(wù)器發(fā)起 TCP連接(步驟209b),遠(yuǎn)程資源服務(wù)器與Daemon應(yīng)用服務(wù)器建立TCP 鏈路后(步驟210b),實(shí)現(xiàn)代理服務(wù)的消息處理單元向遠(yuǎn)程資源服務(wù)器發(fā) 送代理服務(wù)消息(步驟2Ub),然后遠(yuǎn)程資源服務(wù)器返回該代理服務(wù)所涉 及的資源到Daemon應(yīng)用服務(wù)器(步驟212b),實(shí)現(xiàn)代理服務(wù)的消息處理單 元將遠(yuǎn)程資源服務(wù)器返回的資源發(fā)送到信息回饋模塊(步驟213b),信息 回饋模塊收到處理結(jié)果后,將其轉(zhuǎn)化、組裝為內(nèi)部消息格式(步驟214b), 發(fā)送給相應(yīng)的客戶端(步驟215b),客戶端收到返回結(jié)果后,釋》文TCP鏈 路(步驟216b)。隨著業(yè)務(wù)需求的不斷增加,客戶端的請(qǐng)求消息類型也隨之增加,相應(yīng)的 應(yīng)用服務(wù)器也要不斷地滿足客戶端新的請(qǐng)求消息類型,因此應(yīng)用服務(wù)器可擴(kuò) 展性能和自動(dòng)升級(jí)功能是衡量應(yīng)用服務(wù)器性能的重要指標(biāo)。本實(shí)施例中Daemon應(yīng)用服務(wù)器采用一種分層的組織結(jié)構(gòu)模式,消息處理單元的設(shè)計(jì)方 式靈活,既可以從屬于Daemon應(yīng)用服務(wù)器核心模塊提供對(duì)外服務(wù),也可以 以動(dòng)態(tài)鏈接庫(kù)的方式才艮據(jù)客戶端的請(qǐng)求而動(dòng)態(tài)加載,圖3所示,即為Daemon 應(yīng)用服務(wù)器自動(dòng)升級(jí)過(guò)程。客戶端發(fā)起鏈路的建立(步驟301) , Daemon應(yīng)用服務(wù)器檢測(cè)到連接 的客戶端后開(kāi)始建立鏈路(步驟302、 303 )??蛻舳讼駾aemon應(yīng)用服務(wù)器 發(fā)送Daemon應(yīng)用服務(wù)器升級(jí)請(qǐng)求消息(步驟304),信息接收模塊接收到 該消息后,對(duì)其進(jìn)行消息排隊(duì),然后將這些消息隊(duì)列分別順序發(fā)送到信息處 理模塊(步驟305 )。信息處理模塊的消息解析單元解析該消息(步驟306 ), 然后將該消息發(fā)送到實(shí)現(xiàn)升級(jí)處理的消息處理單元,該消息處理單元收到該本的Daemon應(yīng)用服務(wù)器(步驟307),然后啟動(dòng)Daemon應(yīng)用服務(wù)器升級(jí) 進(jìn)程(步驟308 )。當(dāng)Daemon應(yīng)用服務(wù)器升級(jí)進(jìn)程啟動(dòng)之后,首先會(huì)停止Daemon應(yīng)用服 務(wù)器進(jìn)程,此時(shí)客戶端與Daemon應(yīng)用服務(wù)器之間的TCP連接會(huì)被釋放掉 (步驟309),安裝新版本的Daemon應(yīng)用服務(wù)器(步驟310);如果新版 本的Daemon應(yīng)用服務(wù)器安裝成功,則Daemon應(yīng)用服務(wù)器升級(jí)進(jìn)程將會(huì)啟 動(dòng)新的Daemon應(yīng)用服務(wù)器以提供對(duì)外服務(wù),否則Daemon應(yīng)用服務(wù)器升級(jí) 進(jìn)程將還原備份的舊版本Daemon應(yīng)用服務(wù)器并啟動(dòng)之(步驟311)。上述升級(jí)操作完成后,Daemon應(yīng)用服務(wù)器會(huì)更新版本配置文件中的版 本號(hào)并啟動(dòng)端口進(jìn)行偵聽(tīng),此時(shí)客戶端會(huì)輪循的去連接Daemon應(yīng)用服務(wù)器, 直到檢測(cè)到服務(wù)端口被打開(kāi)時(shí),與Daemon應(yīng)用服務(wù)器建立TCP鏈路,然 后新版本的Daemon應(yīng)用服務(wù)器會(huì)向客戶端發(fā)送升級(jí)成功的消息。當(dāng)然也存在Daemon應(yīng)用服務(wù)器升級(jí)失敗的情況,此時(shí),Daemon應(yīng)用 服務(wù)器升級(jí)進(jìn)程會(huì)自動(dòng)恢復(fù)原來(lái)的Daemon應(yīng)用服務(wù)器版本,即不進(jìn)行升級(jí),同時(shí)提示用戶升級(jí)失敗。若多個(gè)不同的客戶端均請(qǐng)求服務(wù)器升級(jí)時(shí),收到升級(jí)命令的消息處理單 元首先通過(guò)對(duì)比安裝服務(wù)器中的最新安裝版本號(hào)以及當(dāng)前服務(wù)器的版本號(hào), 若當(dāng)前服務(wù)器版本號(hào)為最新安裝版本號(hào),則提示用戶目前版本是最新的,即 無(wú)需升級(jí)。在另 一實(shí)施例中,Daemon應(yīng)用服務(wù)器自身也可以主動(dòng)發(fā)起升級(jí)請(qǐng)求, 此時(shí),Daemon應(yīng)用服務(wù)器中設(shè)置一個(gè)定時(shí)器,當(dāng)該定時(shí)器設(shè)定時(shí)間到后, 檢測(cè)是否存在新版本,若是則發(fā)送升級(jí)提示信息到客戶端,由用戶選擇是否 對(duì)當(dāng)前駐Daemon應(yīng)用服務(wù)器進(jìn)行升級(jí)操作。其中,升級(jí)操作的過(guò)程同上述 步驟305至步驟311。從上述實(shí)施例可以看出,本發(fā)明所采用的技術(shù)方案不僅可以實(shí)現(xiàn)并發(fā)式 B/S和C/S模式網(wǎng)絡(luò)通信,而且可以實(shí)現(xiàn)客戶端請(qǐng)求與應(yīng)用服務(wù)器操作系統(tǒng) 類型無(wú)關(guān)性,同時(shí)本發(fā)明所提出的應(yīng)用服務(wù)器具有非常好的可擴(kuò)展性能、自 動(dòng)升級(jí)功能以及服務(wù)代理機(jī)制。以上所述,僅為本發(fā)明較佳的具體實(shí)施方案,但本發(fā)明的保護(hù)范圍并不 局限與此,任何熟悉本領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化和替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保 護(hù)范圍應(yīng)該以權(quán)力要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種駐留Daemon應(yīng)用服務(wù)器,適用于計(jì)算機(jī)遠(yuǎn)程控制過(guò)程,其特征在于,該服務(wù)器包括依次連接的信息接收模塊、信息處理模塊以及信息回饋模塊,其中,所述信息接收模塊,用于并發(fā)式接收來(lái)自客戶端的各種請(qǐng)求消息,建立消息隊(duì)列,按照接收順序或者優(yōu)先級(jí)順序?qū)⒏鞣N請(qǐng)求消息發(fā)送到信息處理模塊;所述信息處理模塊,用于利用系統(tǒng)函數(shù)處理機(jī)制響應(yīng)和處理客戶端的各種請(qǐng)求消息;所述信息回饋模塊,用于將請(qǐng)求消息處理結(jié)果轉(zhuǎn)化并組裝為客戶端與Daemon應(yīng)用服務(wù)器所約定的內(nèi)部消息格式返回給客戶端。
2、 如權(quán)利要求1所述的服務(wù)器,其特征在于,所述信息處理模塊進(jìn)一 步包括消息解析單元及與其相連的若干用于處理不同消息的消息處理單元, 其中所述消息解析單元,用于解析客戶端發(fā)送的各種請(qǐng)求消息,并根據(jù)解析 結(jié)果將不同的請(qǐng)求消息發(fā)送到相應(yīng)的消息處理單元;所述消息處理單元,采用系統(tǒng)函數(shù)處理機(jī)制,根據(jù)收到的消息內(nèi)容進(jìn)行 操作,并將消息處理結(jié)果發(fā)送到信息回饋模塊。
3、 如權(quán)利要求2所述的服務(wù)器,其特征在于,所迷消息處理單元包括用于實(shí)現(xiàn)代理服務(wù)的消息處理單元,用于在接收 到代理服務(wù)請(qǐng)求消息后,建立與遠(yuǎn)程資源服務(wù)器的通信,接收遠(yuǎn)程資源服務(wù) 器返回的遠(yuǎn)程資源,由所述信息回饋模塊返回給請(qǐng)求代理服務(wù)的客戶端。
4、 如權(quán)利要求2所述的服務(wù)器,其特征在于,所述消息處理單元包括用于實(shí)現(xiàn)升級(jí)的消息處理單元,用于在接收到升 級(jí)請(qǐng)求消息后進(jìn)行升級(jí)或者定時(shí)自動(dòng)啟動(dòng)升級(jí),停止所有由Daemon應(yīng)用服 務(wù)器啟動(dòng)的服務(wù)進(jìn)程,安裝新版本Daemon應(yīng)用服務(wù)器。
5、 如權(quán)利要求4所述的服務(wù)器,其特征在于,升級(jí)操作完成后,所述用于實(shí)現(xiàn)升級(jí)的消息處理單元更新版本配置文件 中的版本號(hào)并啟動(dòng)端口進(jìn)行偵聽(tīng),當(dāng)客戶端輪循的連接Daemon應(yīng)用服務(wù)器, 并檢測(cè)到服務(wù)端口被打開(kāi)時(shí),與所述Daemon應(yīng)用服務(wù)器建立TCP鏈路, 所述信息回饋模塊向客戶端發(fā)送升級(jí)成功的消息。
6、 如權(quán)利要求1所述的服務(wù)器,其特征在于,所述信息回饋;漠塊發(fā)送的消息處理結(jié)果包括消息編號(hào)、結(jié)果判斷以及結(jié) 果內(nèi)容。
7、 一種駐留Daemon應(yīng)用服務(wù)器的遠(yuǎn)程控制方法,其特征在于,包括 以下步驟A:所述駐留Daemon應(yīng)用服務(wù)器的信息接收模塊接收來(lái)自客戶端的請(qǐng) 求消息,建立消息隊(duì)列,按照接收順序或者優(yōu)先級(jí)順序?qū)⒏鞣N請(qǐng)求消息發(fā)送 到信息處理纟莫塊;B:所述Daemon應(yīng)用服務(wù)器的信息處理模塊收到所述信息接收模塊轉(zhuǎn) 發(fā)的請(qǐng)求消息后,利用系統(tǒng)函數(shù)處理機(jī)制響應(yīng)和處理客戶端的請(qǐng)求消息;C:所述Daemon應(yīng)用服務(wù)器的信息回饋模塊從信息處理模塊收到客戶 端請(qǐng)求消息處理結(jié)果后,將該結(jié)果轉(zhuǎn)化并組裝為客戶端與Daemon應(yīng)用服務(wù) 器所約定的內(nèi)部消息格式發(fā)送到客戶端。
8、 如權(quán)利要求7所述的方法,其特征在于,所述步驟B進(jìn)一步包括以 下步驟Bl,所述信息處理模塊的消息解析單元對(duì)收到的所述請(qǐng)求消息進(jìn)行解 析,并根據(jù)解析結(jié)果將不同的請(qǐng)求消息發(fā)送到相應(yīng)的消息處理單元;B2,所述消息處理單元采用系統(tǒng)函數(shù)處理機(jī)制,根據(jù)收到的請(qǐng)求消息的 內(nèi)容對(duì)遠(yuǎn)程計(jì)算機(jī)系統(tǒng)進(jìn)行系統(tǒng)操作,并將消息處理結(jié)果發(fā)送到信息回饋模 塊。
9、 如權(quán)利要求8所述的方法,其特征在于,所述步驟B2中,若所述請(qǐng)求消息的內(nèi)容為請(qǐng)求代理服務(wù),則所述消息 處理單元建立與遠(yuǎn)程資源服務(wù)器的通信,接收遠(yuǎn)程資源服務(wù)器返回的遠(yuǎn)程資 源,由所述信息回饋模塊返回給請(qǐng)求代理服務(wù)的客戶端。
10、 如權(quán)利要求8所述的方法,其特征在于,所述步驟B2中,若所述請(qǐng)求消息的內(nèi)容為請(qǐng)求駐留服務(wù)器升級(jí)時(shí)或者 所述消息處理單元定時(shí)自動(dòng)啟動(dòng)升級(jí),所述消息處理單元首先停止所有由 Daemon應(yīng)用服務(wù)器啟動(dòng)的服務(wù)進(jìn)程,并備份舊版本的駐留服務(wù)器,安裝新 版本Daemon應(yīng)用服務(wù)器。
11、 如權(quán)利要求7所述的方法,其特征在于,所述信息回饋模塊向客戶端發(fā)送的消息處理結(jié)果包括消息編號(hào)、結(jié)果判 斷以及結(jié)果內(nèi)容。
12、 如權(quán)利要求7所述的方法,其特征在于,升級(jí)操作完成后,所述用于實(shí)現(xiàn)升級(jí)的消息處理單元更新版本配置文件 中的版本號(hào)并啟動(dòng)端口進(jìn)行偵聽(tīng),當(dāng)客戶端輪循的連接Daemon應(yīng)用服務(wù)器, 并檢測(cè)到服務(wù)端口被打開(kāi)時(shí),與所述Daemon應(yīng)用服務(wù)器建立TCP鏈路, 所述信息回饋模塊向客戶端發(fā)送升級(jí)成功的消息。
全文摘要
本發(fā)明公開(kāi)了一種Daemon應(yīng)用服務(wù)器及其遠(yuǎn)程控制方法,屬于計(jì)算機(jī)遠(yuǎn)程控制領(lǐng)域。本發(fā)明公開(kāi)的Daemon應(yīng)用服務(wù)器,包括依次連接的信息接收模塊、信息處理模塊以及信息回饋模塊,其中,信息接收模塊用于并發(fā)式接收來(lái)自客戶端的各種請(qǐng)求消息,按照接收順序或者優(yōu)先級(jí)順序?qū)⒏鞣N請(qǐng)求消息發(fā)送到信息處理模塊;信息處理模塊用于利用系統(tǒng)函數(shù)處理機(jī)制響應(yīng)和處理客戶端的各種請(qǐng)求消息;信息回饋模塊用于將請(qǐng)求消息處理結(jié)果返回給客戶端。本發(fā)明實(shí)現(xiàn)了客戶端請(qǐng)求與應(yīng)用服務(wù)器操作系統(tǒng)類型無(wú)關(guān)性,同時(shí)本發(fā)明所提出的應(yīng)用服務(wù)器具有非常好的可擴(kuò)展性能、自動(dòng)升級(jí)功能、服務(wù)代理機(jī)制以及易構(gòu)造性。
文檔編號(hào)H04L12/58GK101227428SQ20081000477
公開(kāi)日2008年7月23日 申請(qǐng)日期2008年1月30日 優(yōu)先權(quán)日2008年1月30日
發(fā)明者仵建寧, 孔建華, 張大海 申請(qǐng)人:中興通訊股份有限公司