一種服務(wù)器代理操控系統(tǒng)及操控方法
【專利摘要】本發(fā)明提供了一種服務(wù)器代理操控系統(tǒng)及操控方法,所述系統(tǒng)用于接收來自指令發(fā)送方的指令,并根據(jù)指令類型對(duì)所對(duì)應(yīng)的服務(wù)器進(jìn)行操作,或進(jìn)行對(duì)系統(tǒng)本身的功能擴(kuò)展的操作,系統(tǒng)包括接口模塊、編譯模塊、服務(wù)器操作模塊以及功能擴(kuò)展模塊;所述方法通過至少一個(gè)所述系統(tǒng)對(duì)與其對(duì)應(yīng)的服務(wù)器進(jìn)行操控,操控方法包括如下步驟:a)接收來自指令發(fā)送方的指令;b)對(duì)接收的指令進(jìn)行解釋,若指令類型為第一類指令,則對(duì)對(duì)應(yīng)的服務(wù)器進(jìn)行操作;若指令類型為第二類指令,則對(duì)所述系統(tǒng)的功能進(jìn)行擴(kuò)展或版本升級(jí);c)向指令發(fā)送方返回處理結(jié)果。根據(jù)本發(fā)明的服務(wù)器代理操控系統(tǒng)及操控方法能夠?qū)崿F(xiàn)以簡(jiǎn)單的系統(tǒng)結(jié)構(gòu),高效地操控服務(wù)器。
【專利說明】一種服務(wù)器代理操控系統(tǒng)及操控方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及服務(wù)器操控領(lǐng)域,特別是一種服務(wù)器代理操控系統(tǒng)及操控方法。
【背景技術(shù)】
[0002] 分布式軟件系統(tǒng)是支持分布式處理的軟件系統(tǒng),是在由通信網(wǎng)絡(luò)互聯(lián)的多處理機(jī) (服務(wù)器)體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。由于分布式系統(tǒng)需要多個(gè)服務(wù)器共同完成相關(guān)業(yè) 務(wù),在互聯(lián)網(wǎng)類型產(chǎn)品中,需要快速的迭代更新。從而,對(duì)應(yīng)分布式系統(tǒng)的服務(wù)器組件升級(jí) 非常麻煩且頻繁,需要對(duì)很多服務(wù)器進(jìn)行操作、更新,費(fèi)時(shí)費(fèi)力。
[0003] 在現(xiàn)有的分布式系統(tǒng)中,當(dāng)需要實(shí)現(xiàn)服務(wù)器組件升級(jí)時(shí),采用定期上線的方式,將 程序打包,驗(yàn)證,部署或者采用自動(dòng)化腳本部署。等待組件升級(jí)完運(yùn)行正常后,通過命令或 自動(dòng)化腳本同步到所有服務(wù)器,達(dá)到升級(jí)的目的。然而,在利用現(xiàn)在方案部署程序時(shí),需要 人工介入,費(fèi)時(shí)費(fèi)力。
[0004] 此外,除了針對(duì)服務(wù)器的升級(jí)操作,其他的操作例如某些部署操作也需要較多的 人工介入,不能實(shí)現(xiàn)針對(duì)服務(wù)器的高效操控。
[0005] 因此,需要一種服務(wù)器代理操控系統(tǒng)及操控方法,以簡(jiǎn)單的系統(tǒng)結(jié)構(gòu),高效地操控 服務(wù)器。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的是提供一種服務(wù)器代理操控系統(tǒng)及操控方法。
[0007] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種服務(wù)器代理操控系統(tǒng),所述服務(wù)器代理操控 系統(tǒng)用于接收來自指令發(fā)送方的指令,并根據(jù)所述指令類型對(duì)所對(duì)應(yīng)的所述服務(wù)器進(jìn)行操 作,或進(jìn)行對(duì)所述服務(wù)器代理操控系統(tǒng)本身的功能擴(kuò)展的操作,所述服務(wù)器代理操控系統(tǒng) 包括接口模塊、編譯模塊、服務(wù)器操作模塊以及功能擴(kuò)展模塊,其中,所述接口模塊,用于接 收來自所述指令發(fā)送方的指令,并向所述指令發(fā)送方返回處理結(jié)果;所述編譯模塊,用于對(duì) 所述接口模塊接收的所述指令進(jìn)行解釋,若所述指令類型為用于對(duì)服務(wù)器進(jìn)行操作的第一 類指令,則將經(jīng)過解釋后的所述指令輸出至所述服務(wù)器操作模塊;若所述指令類型為用于 擴(kuò)展所述服務(wù)器代理操控系統(tǒng)自身功能的第二類指令,則將經(jīng)過解釋后的所述指令輸出至 所述功能擴(kuò)展模塊;所述服務(wù)器操作模塊,當(dāng)所述接口模塊接收到的所述指令為所述第一 類指令時(shí),所述服務(wù)器操作模塊根據(jù)所述指令的具體內(nèi)容,對(duì)所述對(duì)應(yīng)的服務(wù)器進(jìn)行操作; 所述功能擴(kuò)展模塊,當(dāng)所述接口模塊接收到的所述指令為所述第二類指令時(shí),所述功能擴(kuò) 展模塊根據(jù)所述指令對(duì)所述服務(wù)器操作模塊的功能進(jìn)行擴(kuò)展或版本升級(jí)。
[0008] 優(yōu)選地,所述指令發(fā)送方在向多個(gè)所述服務(wù)器代理操控系統(tǒng)發(fā)送所述指令的情況 下,針對(duì)發(fā)送所述指令的目標(biāo)以及發(fā)送指令的順序進(jìn)行一鍵配置,若某一服務(wù)器代理操控 系統(tǒng)執(zhí)行所述指令成功且向所述指令發(fā)送方返回成功的處理結(jié)果,則所述指令發(fā)送方向下 一個(gè)服務(wù)器代理操控系統(tǒng)繼續(xù)發(fā)送指令;若所述某一服務(wù)器代理操控系統(tǒng)執(zhí)行指令失敗且 向所述指令發(fā)送方返回失敗的處理結(jié)果,則所述指令發(fā)送方停止向下一個(gè)服務(wù)器代理操控 系統(tǒng)發(fā)送指令。
[0009] 優(yōu)選地,所述指令發(fā)送方基于網(wǎng)絡(luò)協(xié)議向所述服務(wù)器代理操控系統(tǒng)發(fā)送指令,并 接收來自所述服務(wù)器代理操控系統(tǒng)的返回結(jié)果。
[0010] 優(yōu)選地,所述服務(wù)器操作模塊的功能選自以下至少一種:升級(jí)功能、校驗(yàn)功能、狀 態(tài)上報(bào)功能、部署功能、配置功能,以及監(jiān)控功能。
[0011] 根據(jù)本發(fā)明的另一方面,提供了一種服務(wù)器操控方法,通過至少一個(gè)服務(wù)器代理 操控系統(tǒng)對(duì)與其對(duì)應(yīng)的服務(wù)器進(jìn)行操控,所述操控方法包括如下步驟:a)接收來自指令發(fā) 送方的指令;b)對(duì)接收的所述指令進(jìn)行解釋,若所述指令類型為用于對(duì)服務(wù)器進(jìn)行操作的 第一類指令,則將經(jīng)過解釋后的所述指令傳輸至所述服務(wù)器對(duì)所述對(duì)應(yīng)的服務(wù)器進(jìn)行操 作;若所述指令類型為用于擴(kuò)展所述服務(wù)器代理操控系統(tǒng)自身功能的第二類指令,則將經(jīng) 過解釋后的所述指令輸出以對(duì)所述服務(wù)器代理操控系統(tǒng)的功能進(jìn)行擴(kuò)展或版本升級(jí);c) 向所述指令發(fā)送方返回處理結(jié)果。
[0012] 優(yōu)選地,當(dāng)所接收的所述第一類指令為對(duì)所述服務(wù)器進(jìn)行升級(jí)的指令時(shí),所述方 法包括如下步驟:bl)對(duì)所述指令中的組件以及所述服務(wù)器中的現(xiàn)有的組件進(jìn)行校驗(yàn);b2) 判斷是否通過校驗(yàn),是則進(jìn)入步驟b3 ;否則向所述指令發(fā)送方返回校驗(yàn)失敗的處理結(jié)果; b3)通過檢查所述服務(wù)器的狀態(tài)來判斷所述服務(wù)器是否適于升級(jí);b4)判斷所述服務(wù)器是 否通過狀態(tài)檢查,是則進(jìn)入步驟b5 ;否則向所述指令發(fā)送方返回狀態(tài)檢查未通過的處理結(jié) 果;b5)升級(jí)所述服務(wù)器中的組件;b6)判斷所述服務(wù)器升級(jí)是否成功,是則進(jìn)入步驟b7 ; 否則向所述指令發(fā)送方返回升級(jí)失敗的處理結(jié)果;b7)對(duì)經(jīng)過組件升級(jí)的服務(wù)進(jìn)行重啟。
[0013] 優(yōu)選地,步驟c中所述狀態(tài)包括負(fù)載、內(nèi)存大小,磁盤大小,CPU信息。
[0014] 優(yōu)選地,若步驟b6中未升級(jí)成功,則向所述指令發(fā)送方返回未升級(jí)成功的處理結(jié) 果,并且,還向所述指令發(fā)送方上報(bào)回滾信息,以接收來自所述指令發(fā)送方的回滾指令,以 將所述服務(wù)器還原至升級(jí)前版本。
[0015] 優(yōu)選地,若步驟b6中所述服務(wù)器升級(jí)成功,則還向所述指令發(fā)送方上報(bào)自身的狀 態(tài)息。
[0016] 優(yōu)選地,當(dāng)接收的所述第二類指令為擴(kuò)展所述服務(wù)器代理操控系統(tǒng)功能時(shí),所述 方法包括步驟如下:1)根據(jù)所述第二類指令,到指定位置下載新版本的升級(jí)文件;m)進(jìn)行 校驗(yàn)操作,并對(duì)所述服務(wù)器代理操控系統(tǒng)自身進(jìn)行升級(jí);η)所述服務(wù)器代理操控系統(tǒng)關(guān)閉 自身程序;〇)重啟所述服務(wù)器代理操控系統(tǒng),以使所述服務(wù)器代理操控系統(tǒng)的新功能生 效。
[0017] 優(yōu)選地,當(dāng)注冊(cè)增加新的服務(wù)器時(shí),進(jìn)行如下步驟:Ρ)啟動(dòng)待注冊(cè)的服務(wù)器所對(duì) 應(yīng)的服務(wù)器代理操控系統(tǒng);q)將所述服務(wù)器代理操控系統(tǒng)連接指令接收方;r)上傳所述服 務(wù)器代理操控系統(tǒng)的系統(tǒng)信息、部署服務(wù)信息以及版本信息;和s)所述指令接收方通過設(shè) 置及發(fā)送第二類指令的方式,調(diào)整所述服務(wù)器代理操控系統(tǒng)的狀態(tài)。
[0018] 根據(jù)本發(fā)明的服務(wù)器代理操控系統(tǒng)能夠?qū)崿F(xiàn)以簡(jiǎn)單的系統(tǒng)結(jié)構(gòu),高效地操控服務(wù) 器。與各個(gè)服務(wù)器對(duì)應(yīng)的各個(gè)服務(wù)器代理操控系統(tǒng)通過接受由指令發(fā)送方下發(fā)的第一類指 令,并對(duì)各服務(wù)器進(jìn)行操控的方式,完成對(duì)各個(gè)服務(wù)器的升級(jí)、部署、配置、監(jiān)控等操作。此 夕卜,服務(wù)器代理操控系統(tǒng)還可以接受來自服務(wù)器的第二類指令,實(shí)現(xiàn)服務(wù)器代理操控系統(tǒng) 自身的功能擴(kuò)展,以使各個(gè)服務(wù)器代理操控系統(tǒng)具備更完善的功能,以操控相關(guān)的各個(gè)服 務(wù)器。根據(jù)本發(fā)明的方法和系統(tǒng)可以使得對(duì)單個(gè)服務(wù)器的控制轉(zhuǎn)變?yōu)閷?duì)服務(wù)器代理操控系 統(tǒng)的控制,使得控制更為簡(jiǎn)化、流程化,提高了對(duì)服務(wù)器操控的效率。
【專利附圖】
【附圖說明】
[0019] 參考隨附的附圖,本發(fā)明更多的目的、功能和優(yōu)點(diǎn)將通過本發(fā)明實(shí)施方式的如下 描述得以闡明,其中:
[0020] 圖1示意性示出了根據(jù)本發(fā)明實(shí)施方式的服務(wù)器代理操控系統(tǒng)的框圖。
[0021] 圖2示意性示出了服務(wù)器代理操控系統(tǒng)的結(jié)構(gòu)框圖。
[0022] 圖3示意性示出了根據(jù)本發(fā)明實(shí)施例的服務(wù)器操控方法的流程圖。
[0023] 圖4示意性示出了根據(jù)本發(fā)明的實(shí)施例的服務(wù)器升級(jí)方法流程圖。
[0024] 圖5示意性示出了根據(jù)本發(fā)明的實(shí)施例的服務(wù)器代理操控系統(tǒng)功能擴(kuò)展的方法 流程圖。
[0025] 圖6示意性示出了根據(jù)本發(fā)明的實(shí)施例的服務(wù)器代理操控系統(tǒng)向指令發(fā)送方注 冊(cè)的方法流程圖。
[0026] 圖7示意性示出了根據(jù)本發(fā)明的實(shí)施例的服務(wù)器下線的后續(xù)處理方法流程圖。
【具體實(shí)施方式】
[0027] 通過參考示范性實(shí)施例,本發(fā)明的目的和功能以及用于實(shí)現(xiàn)這些目的和功能的方 法將得以闡明。然而,本發(fā)明并不受限于以下所公開的示范性實(shí)施例;可以通過不同形式來 對(duì)其加以實(shí)現(xiàn)。說明書的實(shí)質(zhì)僅僅是幫助相關(guān)領(lǐng)域技術(shù)人員綜合理解本發(fā)明的具體細(xì)節(jié)。
[0028] 在下文中,將參考附圖描述本發(fā)明的實(shí)施例。在附圖中,相同的附圖標(biāo)記代表相同 或類似的部件,或者相同或類似的步驟。
[0029] 圖1示意性示出了根據(jù)本發(fā)明實(shí)施方式的服務(wù)器代理操控系統(tǒng)的框圖。
[0030] 圖1中示意性示出了 3組服務(wù)器代理操控系統(tǒng)Agent 120a-120c、與之相關(guān)聯(lián)的 服務(wù)器130a-130c、以及發(fā)送方即服務(wù)器監(jiān)管平臺(tái)110,即Agent 120a與服務(wù)器130a相關(guān) 聯(lián)、Agent 120b與服務(wù)器130b相關(guān)聯(lián)、Agent 120c與服務(wù)器130c相關(guān)聯(lián)。在此實(shí)施例中, Agentl20的數(shù)量與服務(wù)器130的數(shù)量相同,在其他實(shí)施例中,Agentl20的數(shù)量可與服務(wù)器 130的數(shù)量不同。
[0031] 發(fā)送方,在本實(shí)施方式中為服務(wù)器監(jiān)管平臺(tái)110,向Agent 120發(fā)送指令,并接收 來自Agent 120的返回結(jié)果。指令的類型包括兩種:1)對(duì)服務(wù)器130進(jìn)行操作的指令(以 下,稱為第一類指令)。例如對(duì)服務(wù)器的某業(yè)務(wù)進(jìn)行升級(jí)、部署、配置等指令;擴(kuò)展Agent 120的自身功能的指令(以下,稱為第二類指令),具體包括:對(duì)Agent 120能夠?qū)Ψ?wù)器 進(jìn)行操作的功能進(jìn)行擴(kuò)展或版本升級(jí)、或?qū)gent的參數(shù)進(jìn)行調(diào)整等。
[0032] 在上述實(shí)施例中,雖然服務(wù)器代理操控系統(tǒng)120接收來自服務(wù)器監(jiān)管平臺(tái)110的 指令,并根據(jù)指令類型進(jìn)行操作。然而,本領(lǐng)域技術(shù)人員可以理解的是,服務(wù)器代理操控系 統(tǒng)120也可以接收來自除了服務(wù)器監(jiān)管平臺(tái)110以外的其他指令發(fā)送方所發(fā)送的指令。在 其他實(shí)施方式中,發(fā)送方例如可為其他指令發(fā)送裝置、設(shè)備、程序、亦或相關(guān)操作人員或使 用者。
[0033] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,服務(wù)器監(jiān)管平臺(tái)110可以向多個(gè)Agentl20發(fā)送指令, 在該情況下,能夠針對(duì)發(fā)送指令的目標(biāo)以及發(fā)送指令的順序進(jìn)行一鍵配置。并且,若某一 Agent 120執(zhí)行指令成功且向服務(wù)器監(jiān)管平臺(tái)110返回成功的處理結(jié)果,則服務(wù)器監(jiān)管平 臺(tái)110向下一個(gè)Agent 120繼續(xù)發(fā)送指令;若所述某一 Agent 120執(zhí)行指令失敗且向所述 服務(wù)器監(jiān)管平臺(tái)110返回失敗的處理結(jié)果,則所述服務(wù)器監(jiān)管平臺(tái)110停止向下一個(gè)Agent 120發(fā)送指令。其中,由上述一鍵配置所確定的發(fā)送指令的順序,指定所述下一個(gè)Agent 120。例如,可以設(shè)置為以Agent 120a、Agent 120c、Agent 120g(未圖示)的順序向這三個(gè) Agent發(fā)送指令,并且,若Agent 120a執(zhí)行指令成功且向服務(wù)器監(jiān)管平臺(tái)110返回成功的處 理結(jié)果,則返回結(jié)果自動(dòng)激活服務(wù)器監(jiān)管平臺(tái)110向下一個(gè)Agent 120c繼續(xù)發(fā)送指令;若 Agent 120c執(zhí)行指令失敗且向服務(wù)器監(jiān)管平臺(tái)110返回失敗的處理結(jié)果,則服務(wù)器監(jiān)管平 臺(tái)不繼續(xù)向下一個(gè)Agent 120g發(fā)送指令。由此,經(jīng)過一鍵配置之后,服務(wù)器監(jiān)管平臺(tái)110 就可以按照配置對(duì)指定的服務(wù)器依次進(jìn)行各種操控,例如對(duì)指定服務(wù)器中的組件依次進(jìn)行 升級(jí)等。
[0034] 根據(jù)本發(fā)明的又一實(shí)施例,服務(wù)器監(jiān)管平臺(tái)110可以基于網(wǎng)絡(luò)協(xié)議向Agent 120 發(fā)送指令,并接收來自Agent 120的返回結(jié)果,從而實(shí)現(xiàn)對(duì)Agent 120以及相關(guān)聯(lián)的服務(wù)器 130的遠(yuǎn)程操控。通過設(shè)定服務(wù)器監(jiān)管平臺(tái)110與Agent 120之間的通信協(xié)議,還可以支持 在同一網(wǎng)絡(luò)中的不同機(jī)器間的部署,實(shí)現(xiàn)跨機(jī)器、跨平臺(tái)的操控。
[0035] Agent 120用于接收來自服務(wù)器監(jiān)管平臺(tái)110的指令,并根據(jù)指令類型進(jìn)行對(duì)其 對(duì)應(yīng)的服務(wù)器的操作,或進(jìn)行對(duì)Agent 120本身的功能擴(kuò)展的操作。特別地,每個(gè)Agent 120都有一個(gè)與之唯一對(duì)應(yīng)的服務(wù)器130,例如圖1中,Agent 120a與服務(wù)器130a對(duì)應(yīng), Agent 120b與服務(wù)器130b對(duì)應(yīng),Agent 120c與服務(wù)器130c對(duì)應(yīng)。
[0036] 服務(wù)器130,用于接受來自Agent 120發(fā)出的對(duì)服務(wù)器進(jìn)行操作的指令,并向 Agent 120返回該操作的處理結(jié)果。
[0037] 圖2示意性示出了服務(wù)器代理操控系統(tǒng)Agent的結(jié)構(gòu)框圖,如圖2所示,Agent包 括接口模塊121、編譯模塊122、服務(wù)器操作模塊123和Agent功能擴(kuò)展模塊124。
[0038] 接口模塊121,用于接收來自服務(wù)器監(jiān)管平臺(tái)110的指令,并向服務(wù)器監(jiān)管平臺(tái) 110返回處理結(jié)果。
[0039] 編譯模塊122,用于對(duì)接口模塊121接收的指令進(jìn)行解釋,若指令類型為第一類指 令,則將經(jīng)過解釋后的指令輸出至服務(wù)器操作模塊123 ;若指令類型為第二類指令,則將經(jīng) 過解釋后的指令輸出至Agent功能擴(kuò)展模塊124。
[0040] 服務(wù)器操作模塊123,當(dāng)接口模塊121接收到的指令為第一類指令時(shí),服務(wù)器操作 模塊123根據(jù)指令的具體內(nèi)容,對(duì)與其對(duì)應(yīng)的服務(wù)器130進(jìn)行操作。根據(jù)本發(fā)明的一個(gè)實(shí) 施例,服務(wù)器操作模塊123的功能選自以下至少一種:升級(jí)功能,用于對(duì)服務(wù)器進(jìn)行升級(jí); 校驗(yàn)功能,對(duì)服務(wù)器監(jiān)管平臺(tái)110發(fā)來的升級(jí)組件等組件進(jìn)行校驗(yàn);狀態(tài)上報(bào)功能,用于對(duì) 服務(wù)器的狀態(tài)進(jìn)行檢測(cè)并將其向服務(wù)器監(jiān)管平臺(tái)110進(jìn)行上報(bào);部署功能,用于對(duì)服務(wù)器 進(jìn)行部署;配置功能,用于對(duì)服務(wù)器進(jìn)行配置;以及監(jiān)控功能,用于對(duì)服務(wù)器進(jìn)行監(jiān)控等。
[0041] Agent功能擴(kuò)展模塊124,當(dāng)接口模塊121接收到的指令為第二類指令時(shí),Agent功 能擴(kuò)展模塊124根據(jù)指令對(duì)服務(wù)器操作模塊123的功能進(jìn)行擴(kuò)展或版本升級(jí)、或?qū)gent 的參數(shù)進(jìn)行調(diào)整等。
[0042] 圖3示意性示出了根據(jù)本發(fā)明實(shí)施方式的服務(wù)器操控方法的流程圖。如圖3所示, 流程1是指令發(fā)送方,例如服務(wù)器監(jiān)管平臺(tái)110通過發(fā)送指令給Agent 120從而對(duì)服務(wù)器 進(jìn)行操控的過程,流程2是服務(wù)器監(jiān)管平臺(tái)110通過發(fā)送指令給Agent 120從而對(duì)Agent 120自身進(jìn)行操控的過程。
[0043] 在流程1中:首先,服務(wù)器監(jiān)管平臺(tái)110向Agent 120發(fā)送第一類指令,即通過 Agent 120對(duì)該Agent 120所對(duì)應(yīng)的服務(wù)器130進(jìn)行操作的指令(305)。接收并解釋該指 令后,Agent 120根據(jù)指令操控Agent 120所對(duì)應(yīng)的服務(wù)器130 (310)。當(dāng)Agent 120完成 對(duì)服務(wù)器130的操控后,服務(wù)器130向Agent 120返回處理結(jié)果(315),最后,Agent 120再 將處理結(jié)果返回至服務(wù)器監(jiān)管平臺(tái)110(320)。
[0044] 根據(jù)本發(fā)明的另一實(shí)施例,也可以不存在步驟305,而由Agent 120直接對(duì)服務(wù)器 130進(jìn)行操控。例如對(duì)于服務(wù)器操作模塊123的狀態(tài)上報(bào)功能,其不需要等待接受來自服務(wù) 器監(jiān)管平臺(tái)110的指令。具體地,當(dāng)服務(wù)器130重啟后,其對(duì)應(yīng)的Agent 120會(huì)主動(dòng)地監(jiān)測(cè) 服務(wù)器130的狀態(tài),并主動(dòng)將其上報(bào)至服務(wù)器監(jiān)管平臺(tái)110。
[0045] 在流程2中:首先服務(wù)器監(jiān)管平臺(tái)110向Agent 120發(fā)送第二類指令,即擴(kuò)展 Agent 120自身功能的指令(325)。然后,接收并解釋該指令后,Agent 120對(duì)自身的功能 進(jìn)行擴(kuò)展,例如對(duì)Agent 120能夠?qū)Ψ?wù)器進(jìn)行操作的功能進(jìn)行添加、刪除、修改等操作 (330)。完成對(duì)Agent 120自身的功能擴(kuò)展后,Agent 120向服務(wù)器監(jiān)管平臺(tái)110返回處理 結(jié)果(320)。
[0046] 圖4示意性示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的服務(wù)器升級(jí)方法流程圖。升級(jí)的對(duì) 象為服務(wù)器中,用于提供某一服務(wù)的組件。如圖4所示,具體包括如下步驟:
[0047] 步驟405, Agent 120接收來自指令發(fā)送方,服務(wù)器監(jiān)管平臺(tái)110的服務(wù)器升級(jí)指 令。
[0048] 步驟410,編譯模塊122對(duì)升級(jí)指令進(jìn)行解釋。
[0049] 步驟415,對(duì)升級(jí)指令中的組件以及服務(wù)器130中的現(xiàn)有的組件進(jìn)行校驗(yàn)。根據(jù) 本發(fā)明的一個(gè)實(shí)施例,服務(wù)器操作模塊123訪問其所關(guān)聯(lián)的服務(wù)器130,獲取服務(wù)器130的 版本信息,并將其與升級(jí)指令中的組件進(jìn)行校驗(yàn);根據(jù)本發(fā)明的另一實(shí)施例,服務(wù)器操作模 塊123對(duì)最近一次狀態(tài)上報(bào)的記錄進(jìn)行查詢,找到Agent 120所關(guān)聯(lián)的服務(wù)器130中的組 件的當(dāng)前版本信息,在將其與升級(jí)指令中的組件進(jìn)行校驗(yàn)。
[0050] 步驟420,判斷是否通過校驗(yàn),是則進(jìn)入步驟425 ;否則進(jìn)入步驟450,向服務(wù)器監(jiān) 管平臺(tái)110返回校驗(yàn)失敗的處理結(jié)果。
[0051] 步驟425,檢查服務(wù)器130的狀態(tài)來判斷服務(wù)器130是否適于升級(jí),具體地,對(duì)服務(wù) 器130的狀態(tài)進(jìn)行檢查,該狀態(tài)例如包括負(fù)載、內(nèi)存大小,磁盤大小,CPU信息等系統(tǒng)信息。 例如,若內(nèi)存過小,而不足以升級(jí)服務(wù)器,則表示該服務(wù)器130不適合進(jìn)行本次升級(jí)。
[0052] 步驟430,判斷服務(wù)器130是否通過狀態(tài)檢查,是則進(jìn)入步驟435 ;否則進(jìn)入步驟 450,以向服務(wù)器監(jiān)管平臺(tái)110返回狀態(tài)檢查未通過的處理結(jié)果。
[0053] 步驟435,升級(jí)服務(wù)器130中的組件。
[0054] 步驟440,判斷服務(wù)器130升級(jí)是否成功,是則進(jìn)入步驟445 ;否則進(jìn)入步驟450以 返回升級(jí)失敗的處理結(jié)果。
[0055] 步驟445,對(duì)經(jīng)過組件升級(jí)的服務(wù)進(jìn)行重啟。
[0056] 步驟450,向服務(wù)器監(jiān)管平臺(tái)110返回處理結(jié)果。具體地,若步驟420中未通過校 驗(yàn),則向服務(wù)器監(jiān)管平臺(tái)110返回校驗(yàn)失敗的處理結(jié)果;若步驟430中未通過狀態(tài)檢查,則 向服務(wù)器監(jiān)管平臺(tái)110返回未通過狀態(tài)檢查的處理結(jié)果;若步驟440中未升級(jí)成功,則向服 務(wù)器監(jiān)管平臺(tái)110返回未升級(jí)成功的處理結(jié)果,根據(jù)本發(fā)明的一個(gè)實(shí)施例,還向服務(wù)器監(jiān) 管平臺(tái)110上報(bào)回滾信息,以使服務(wù)器監(jiān)管平臺(tái)110向Agent 120發(fā)送一個(gè)回滾指令,以還 原升級(jí)前版本;
[0057] 可選地,服務(wù)器130在升級(jí)成功后還可以向Agent 120上報(bào)自身的狀態(tài)信息,例如 組件版本及運(yùn)行時(shí)間,并由Agent 120上報(bào)給服務(wù)器監(jiān)管平臺(tái)110,以方便服務(wù)器監(jiān)管平臺(tái) 110對(duì)組件和服務(wù)器進(jìn)行監(jiān)管和管理。
[0058] 圖5示意性示出了根據(jù)本發(fā)明實(shí)施例的服務(wù)器代理操控系統(tǒng)Agent功能擴(kuò)展的方 法流程圖。如圖5所示,為了使Agent 120具備更全面的功能,服務(wù)器監(jiān)管平臺(tái)110需要對(duì) Agent 120發(fā)送第二類指令,以對(duì)其進(jìn)行功能擴(kuò)展。具體包括如下步驟:
[0059] 步驟510,服務(wù)器監(jiān)管平臺(tái)101發(fā)送升級(jí)信息至Agent 120。具體地,操作人員首 先在服務(wù)器監(jiān)管平臺(tái)110查看各Agent 120的版本,并根據(jù)版本信息向需要升級(jí)的Agent 120發(fā)送升級(jí)指令,以使指定Agent 120具有的新功能。特別地,在服務(wù)器監(jiān)管平臺(tái)110可 以看到各Agent 120的各種狀態(tài),除了上述Agent 120的版本信息,Agent 120的狀態(tài)還可 包括:Agent 120具有的功能、當(dāng)前參數(shù)等。
[0060] 步驟520, Agent 120根據(jù)升級(jí)信息,到指定位置下載新版本的升級(jí)文件。
[0061] 步驟530,進(jìn)行校驗(yàn)操作,并對(duì)Agent 120自身進(jìn)行升級(jí)。
[0062] 步驟540,關(guān)閉Agent 120自身程序。
[0063] 步驟550,服務(wù)器監(jiān)控重啟Agent 120,以使Agent 120的新功能生效。這里,Agent 120可以以進(jìn)程的形式存儲(chǔ)在于服務(wù)器130上,服務(wù)器130通過監(jiān)控腳本查看Agent 120是 否存在,若不存在則啟動(dòng)Agent 120, Agent 120啟動(dòng)后就會(huì)加載升級(jí)后的模塊。
[0064] 圖6示意性示出了根據(jù)本發(fā)明實(shí)施例的Agent (或新服務(wù)器)向指令發(fā)送方,例 如向服務(wù)器監(jiān)管平臺(tái)注冊(cè)的方法流程圖。當(dāng)有服務(wù)器130要向服務(wù)器監(jiān)管平臺(tái)110進(jìn)行注 冊(cè)時(shí),與該服務(wù)器130對(duì)應(yīng)的Agent 120需要向服務(wù)器監(jiān)管平臺(tái)110進(jìn)行注冊(cè)。如圖6所 示,具體包括如下步驟:
[0065] 步驟610,啟動(dòng)待注冊(cè)的Agent 120。即,啟動(dòng)待注冊(cè)的服務(wù)器130所對(duì)應(yīng)的Agent 120。
[0066] 步驟620, Agent 120連接服務(wù)器監(jiān)管平臺(tái)110(即指令發(fā)送方);
[0067] 步驟630,上傳Agent 120的系統(tǒng)信息、部署服務(wù)信息以及Agent 120的版本信息 等信息。其中,系統(tǒng)信息包括IP、負(fù)載、內(nèi)存大小,磁盤大小,CPU信息等。部署服務(wù)信息是 指在與Agent 120對(duì)應(yīng)的服務(wù)器130上所部署的服務(wù)信息。
[0068] 步驟640,平臺(tái)通過設(shè)置及發(fā)送第二類指令的方式,調(diào)整Agent的狀態(tài)。具體地,收 到Agent 120上傳的狀態(tài)信息后,如果需要對(duì)其進(jìn)行升級(jí),則可由操作人員在服務(wù)器監(jiān)管 平臺(tái)110設(shè)置該Agent 120需要升級(jí)到的版本,然后服務(wù)器監(jiān)管平臺(tái)110向該Agent 120 發(fā)送第二類指令,以調(diào)整Agent 120的狀態(tài)。
[0069] 特別地,服務(wù)器的上述硬件系統(tǒng)信息和軟件系統(tǒng)是和Agent共有的,Agent 120以 進(jìn)程的形式存儲(chǔ)在于服務(wù)器130上。所以在對(duì)Agent進(jìn)行升級(jí)時(shí),操作人員需要查看Agent 的硬件系統(tǒng)以及軟件進(jìn)程,以判斷該硬件以及軟件所支持的版本,最后在對(duì)Agent需要升 級(jí)到的版本進(jìn)行設(shè)置。
[0070] 雖然如上所述,服務(wù)器的上述硬件系統(tǒng)信息和軟件系統(tǒng)是和Agent共有的,但是 不限于此,Agent 120也可以與服務(wù)器130的硬件系統(tǒng)以及軟件系統(tǒng)獨(dú)立,即Agent 120擁 有獨(dú)立的硬件系統(tǒng)以及軟件系統(tǒng)。
[0071] 圖7示意性示出了根據(jù)本發(fā)明實(shí)施例的服務(wù)器下線的后續(xù)處理方法流程圖。如圖 7所示,當(dāng)服務(wù)器130下線時(shí),指令發(fā)送方,例如服務(wù)器監(jiān)管平臺(tái)110需要做出一系列后續(xù) 處理,具體包括如下步驟:
[0072] 步驟710,將服務(wù)器130下線。具體地,Agent收到下線信息,清理服務(wù)器,然后關(guān) 閉Agent進(jìn)程。
[0073] 步驟720,服務(wù)器監(jiān)管平臺(tái)110調(diào)整報(bào)警信息。在一實(shí)施例中,當(dāng)出現(xiàn)Agent 120 無響應(yīng)或者出現(xiàn)故障等情況時(shí),服務(wù)器監(jiān)管平臺(tái)110將發(fā)出報(bào)警信息。當(dāng)服務(wù)器130下線 時(shí),與該服務(wù)器130對(duì)應(yīng)的Agent 120會(huì)無響應(yīng),為避免不必要的警報(bào)信息,服務(wù)器監(jiān)管平 臺(tái)110在服務(wù)器130下線時(shí)將調(diào)整報(bào)警信息,以對(duì)其不進(jìn)行報(bào)警。
[0074] 步驟730服務(wù)器監(jiān)管平臺(tái)110對(duì)存有的已下線的服務(wù)器信息進(jìn)行移除。
[0075] 根據(jù)本發(fā)明的服務(wù)器代理操控系統(tǒng)及操控方法能夠?qū)崿F(xiàn)以簡(jiǎn)單的系統(tǒng)結(jié)構(gòu),高效 地操控服務(wù)器。與各個(gè)服務(wù)器對(duì)應(yīng)的各個(gè)Agent通過接收由平臺(tái)下發(fā)的第一類指令,并對(duì) 各服務(wù)器進(jìn)行操控的方式,完成對(duì)各個(gè)服務(wù)器的升級(jí)、部署、配置、監(jiān)控等操作。此外,Agent 還可以接收來自服務(wù)器的第二類指令,實(shí)現(xiàn)Agent自身的功能擴(kuò)展,以使各個(gè)Agent具備更 完善的功能,以操控相關(guān)的各個(gè)服務(wù)器。根據(jù)本發(fā)明的方法和系統(tǒng)可以使得對(duì)單個(gè)服務(wù)器 的控制轉(zhuǎn)變?yōu)閷?duì)Agent的控制,使得控制更為簡(jiǎn)化、流程化,提高了對(duì)服務(wù)器操控的效率。
[0076] 結(jié)合這里披露的本發(fā)明的說明和實(shí)踐,本發(fā)明的其他實(shí)施例對(duì)于本領(lǐng)域技術(shù)人員 都是易于想到和理解的。說明和實(shí)施例僅被認(rèn)為是示例性的,本發(fā)明的真正范圍和主旨均 由權(quán)利要求所限定。
【權(quán)利要求】
1. 一種服務(wù)器代理操控系統(tǒng),其特征在于,所述服務(wù)器代理操控系統(tǒng)用于接收來自指 令發(fā)送方的指令,并根據(jù)所述指令類型對(duì)所對(duì)應(yīng)的所述服務(wù)器進(jìn)行操作,或進(jìn)行對(duì)所述服 務(wù)器代理操控系統(tǒng)本身的功能擴(kuò)展的操作,所述服務(wù)器代理操控系統(tǒng)包括接口模塊、編譯 模塊、服務(wù)器操作模塊以及功能擴(kuò)展模塊,其中, 所述接口模塊,用于接收來自所述指令發(fā)送方的指令,并向所述指令發(fā)送方返回處理 結(jié)果; 所述編譯模塊,用于對(duì)所述接口模塊接收的所述指令進(jìn)行解釋,若所述指令類型為用 于對(duì)服務(wù)器進(jìn)行操作的第一類指令,則將經(jīng)過解釋后的所述指令輸出至所述服務(wù)器操作模 塊;若所述指令類型為用于擴(kuò)展所述服務(wù)器代理操控系統(tǒng)自身功能的第二類指令,則將經(jīng) 過解釋后的所述指令輸出至所述功能擴(kuò)展模塊; 所述服務(wù)器操作模塊,當(dāng)所述接口模塊接收到的所述指令為所述第一類指令時(shí),所述 服務(wù)器操作模塊根據(jù)所述指令的具體內(nèi)容,對(duì)所述對(duì)應(yīng)的服務(wù)器進(jìn)行操作; 所述功能擴(kuò)展模塊,當(dāng)所述接口模塊接收到的所述指令為所述第二類指令時(shí),所述功 能擴(kuò)展模塊根據(jù)所述指令對(duì)所述服務(wù)器操作模塊的功能進(jìn)行擴(kuò)展或版本升級(jí)。
2. 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述指令發(fā)送方在向多個(gè)所述服務(wù)器代 理操控系統(tǒng)發(fā)送所述指令的情況下,針對(duì)發(fā)送所述指令的目標(biāo)以及發(fā)送指令的順序進(jìn)行一 鍵配置,若某一服務(wù)器代理操控系統(tǒng)執(zhí)行所述指令成功且向所述指令發(fā)送方返回成功的處 理結(jié)果,則所述指令發(fā)送方向下一個(gè)服務(wù)器代理操控系統(tǒng)繼續(xù)發(fā)送指令;若所述某一服務(wù) 器代理操控系統(tǒng)執(zhí)行指令失敗且向所述指令發(fā)送方返回失敗的處理結(jié)果,則所述指令發(fā)送 方停止向下一個(gè)服務(wù)器代理操控系統(tǒng)發(fā)送指令。
3. 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述指令發(fā)送方基于網(wǎng)絡(luò)協(xié)議向所述服 務(wù)器代理操控系統(tǒng)發(fā)送指令,并接收來自所述服務(wù)器代理操控系統(tǒng)的返回結(jié)果。
4. 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述服務(wù)器操作模塊的功能選自以下至 少一種:升級(jí)功能、校驗(yàn)功能、狀態(tài)上報(bào)功能、部署功能、配置功能,以及監(jiān)控功能。
5. -種服務(wù)器操控方法,其特征在于,通過至少一個(gè)服務(wù)器代理操控系統(tǒng)對(duì)與其對(duì)應(yīng) 的服務(wù)器進(jìn)行操控,所述操控方法包括如下步驟: a) 接收來自指令發(fā)送方的指令; b) 對(duì)接收的所述指令進(jìn)行解釋,若所述指令類型為用于對(duì)服務(wù)器進(jìn)行操作的第一類指 令,則將經(jīng)過解釋后的所述指令傳輸至所述服務(wù)器對(duì)所述對(duì)應(yīng)的服務(wù)器進(jìn)行操作;若所述 指令類型為用于擴(kuò)展所述服務(wù)器代理操控系統(tǒng)自身功能的第二類指令,則將經(jīng)過解釋后的 所述指令輸出以對(duì)所述服務(wù)器代理操控系統(tǒng)的功能進(jìn)行擴(kuò)展或版本升級(jí); c) 向所述指令發(fā)送方返回處理結(jié)果。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)所接收的所述第一類指令為對(duì)所述服 務(wù)器進(jìn)行升級(jí)的指令時(shí),所述方法包括如下步驟: bl)對(duì)所述指令中的組件以及所述服務(wù)器中的現(xiàn)有的組件進(jìn)行校驗(yàn); b2)判斷是否通過校驗(yàn),是則進(jìn)入步驟b3 ;否則向所述指令發(fā)送方返回校驗(yàn)失敗的處 理結(jié)果; b3)通過檢查所述服務(wù)器的狀態(tài)來判斷所述服務(wù)器是否適于升級(jí); b4)判斷所述服務(wù)器是否通過狀態(tài)檢查,是則進(jìn)入步驟b5 ;否則向所述指令發(fā)送方返 回狀態(tài)檢查未通過的處理結(jié)果; b5)升級(jí)所述服務(wù)器中的組件; b6)判斷所述服務(wù)器升級(jí)是否成功,是則進(jìn)入步驟b7 ;否則向所述指令發(fā)送方返回升 級(jí)未成功的處理結(jié)果; b7)對(duì)經(jīng)過組件升級(jí)的服務(wù)進(jìn)行重啟。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟b3中所述狀態(tài)包括負(fù)載、內(nèi)存大小, 磁盤大小,CPU信息。
8. 根據(jù)權(quán)利要求6所述的方法,其特征在于,若步驟b6中未升級(jí)成功,則向所述指令發(fā) 送方返回未升級(jí)成功的處理結(jié)果,并且,還向所述指令發(fā)送方上報(bào)回滾信息,以接收來自所 述指令發(fā)送方的回滾指令,以將所述服務(wù)器還原至升級(jí)前版本。
9. 根據(jù)權(quán)利要求6所述的方法,其特征在于,若步驟b6中所述服務(wù)器升級(jí)成功,則還向 所述指令發(fā)送方上報(bào)自身的狀態(tài)信息。
10. 根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)接收的所述第二類指令為擴(kuò)展所述服 務(wù)器代理操控系統(tǒng)功能時(shí),所述方法包括步驟如下: l) 根據(jù)所述第二類指令,到指定位置下載新版本的升級(jí)文件; m) 進(jìn)行校驗(yàn)操作,并對(duì)所述服務(wù)器代理操控系統(tǒng)自身進(jìn)行升級(jí); η)所述服務(wù)器代理操控系統(tǒng)關(guān)閉自身程序; 〇)重啟所述服務(wù)器代理操控系統(tǒng),以使所述服務(wù)器代理操控系統(tǒng)的新功能生效。
11. 根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)注冊(cè)增加新的服務(wù)器時(shí),進(jìn)行如下步 驟: Ρ)啟動(dòng)待注冊(cè)的服務(wù)器所對(duì)應(yīng)的服務(wù)器代理操控系統(tǒng); q) 將所述服務(wù)器代理操控系統(tǒng)連接指令接收方; r) 上傳所述服務(wù)器代理操控系統(tǒng)的系統(tǒng)信息、部署服務(wù)信息以及版本信息;和 s) 所述指令接收方通過設(shè)置及發(fā)送第二類指令的方式,調(diào)整所述服務(wù)器代理操控系統(tǒng) 的狀態(tài)。
【文檔編號(hào)】H04L29/08GK104158906SQ201410435861
【公開日】2014年11月19日 申請(qǐng)日期:2014年8月29日 優(yōu)先權(quán)日:2014年8月29日
【發(fā)明者】姜中明, 陳陽, 郝新斌, 曾海林, 劉曉飛 申請(qǐng)人:五八同城信息技術(shù)有限公司