專利名稱:一種虛擬機(jī)控制系統(tǒng)、虛擬機(jī)控制器及控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種虛擬機(jī)控制系統(tǒng)、虛擬機(jī)控制器及控制方法。
背景技術(shù):
在諸多提供互聯(lián)網(wǎng)服務(wù)的公司,服務(wù)器端需要用虛擬機(jī)自動處理海量的樣本,例如,在互聯(lián)網(wǎng)時代,信息爆炸性增長,木馬、病毒也隨之爆發(fā)性的泛濫,如何快速反應(yīng),及時發(fā)現(xiàn)新的木馬和病毒,及早控制木馬、病毒的傳播是安全行業(yè)面臨的新的挑戰(zhàn),所以如何有效的收集可信樣本是業(yè)內(nèi)一直非常關(guān)注的問題,而在傳統(tǒng)虛擬機(jī)管理中,虛擬機(jī)的角色在其創(chuàng)建時就已確定,即:角色和虛擬機(jī)是一體的。而樣本的信息是多種多樣的,這種樣本多樣性就決定了角色的多樣性,而每種角色處理的樣本數(shù)的不確定性又決定了要隨時調(diào)整負(fù)責(zé)角色的虛擬機(jī)數(shù)量,因此,在日常的實(shí)際互聯(lián)網(wǎng)服務(wù)中,經(jīng)常需要調(diào)整運(yùn)行于宿主機(jī)上的虛擬機(jī)的角色,以便滿足每種角色所需的虛擬機(jī)數(shù)量。但是,在傳統(tǒng)虛擬機(jī)管理中,由于虛擬機(jī)和角色是一起創(chuàng)建的,因此要改變虛擬機(jī)的角色,就需要重新創(chuàng)建一遍虛擬機(jī),因此現(xiàn)有改變虛擬機(jī)的角色的時間、數(shù)據(jù)運(yùn)算成本都很高,與重新創(chuàng)建一個虛擬機(jī)的成本差不多,因此如何能夠提高虛擬機(jī)角色調(diào)整的效率是目前迫切需要解決的問題。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種虛擬機(jī)控制系統(tǒng)、虛擬機(jī)控制器及控制方法。依據(jù)本發(fā)明的一個方面,提供了一種虛擬機(jī)控制系統(tǒng),包括:虛擬機(jī)角色包存儲器,被配置為存儲虛擬機(jī)所需的各種角色包;虛擬機(jī)維護(hù)器,被配置為對各種虛擬機(jī)角色包的操作信息、虛擬機(jī)的角色分配信息進(jìn)行維護(hù),以及將角色的相關(guān)信息提供給虛擬機(jī)控制器;虛擬機(jī)控制器,被配置為至少從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,并從虛擬機(jī)維護(hù)器獲得角色的相關(guān)信息,據(jù)此為虛擬機(jī)提供角色查詢,以及據(jù)此操作虛擬機(jī);若干宿主機(jī),被配置為運(yùn)行若干虛擬機(jī),在虛擬機(jī)控制器的指示下,從虛擬機(jī)角色包存儲器下載所需的角色包完成虛擬機(jī)的角色安裝以及進(jìn)行相關(guān)的虛擬機(jī)操作??蛇x的,虛擬機(jī)控制器從宿主機(jī)獲得的虛擬機(jī)的操作資源定位信息至少包括:虛擬機(jī)的網(wǎng)際協(xié)議IP地址和虛擬機(jī)所屬宿主機(jī)的標(biāo)識信息??蛇x的,虛擬機(jī)維護(hù)器包括:操作信息模塊,被配置為對各種虛擬機(jī)角色包的操作信息進(jìn)行更新、維護(hù),虛擬機(jī)角色包的操作信息至少包括虛擬機(jī)角色名、虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接、存活時間和/或重啟間隔;分配信息模塊,被配置為對虛擬機(jī)分配所需的角色,維護(hù)虛擬機(jī)與角色之間的對應(yīng)關(guān)系;第一接口模塊,被配置為與虛擬機(jī)控制器進(jìn)行信息交互,至少將操作信息模塊和分配信息模塊提供的角色的相關(guān)信息傳輸給虛擬機(jī)控制器??蛇x的,分配信息模塊還被配置為維護(hù)虛擬機(jī)的上線、下線狀態(tài)的改變以及虛擬機(jī)重啟,并通過第一接口模塊傳輸給虛擬機(jī)控制器??蛇x的,虛擬機(jī)維護(hù)器還包括:監(jiān)控模塊,被配置為從虛擬機(jī)控制器獲得虛擬機(jī)的相關(guān)信息,對虛擬機(jī)的運(yùn)行狀況和/或分布狀態(tài)進(jìn)行監(jiān)控。可選的,虛擬機(jī)維護(hù)器還包括:分析告警模塊,被配置為從虛擬機(jī)控制器獲得節(jié)點(diǎn)日志,對其進(jìn)行分析,若發(fā)現(xiàn)異常情況,進(jìn)行告警提示??蛇x的,虛擬機(jī)控制器包括:第二接口模塊,被配置為從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,以及從虛擬機(jī)維護(hù)器獲得虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息;查詢模塊,被配置為根據(jù)虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?、對?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行;操作模塊,被配置為通過虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),按照角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送操作指示,至少指示宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作??蛇x的,相關(guān)技術(shù)參數(shù)至少包括角色包的解壓參數(shù)和啟動參數(shù)??蛇x的,宿主機(jī)具體被配置為接收到虛擬機(jī)控制器的操作指示后,按照該操作指示對其上運(yùn)行的指定虛擬機(jī)執(zhí)行開機(jī)、關(guān)機(jī)和/或重啟操作。根據(jù)本發(fā)明的另一方面,提供了一種用于虛擬機(jī)系統(tǒng)的虛擬機(jī)控制器,虛擬機(jī)系統(tǒng)包括若干宿主機(jī),每一宿主機(jī)上運(yùn)行若干虛擬機(jī),控制器包括:接口模塊,被配置為從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,以及獲得虛擬機(jī)的角色分配信息和角色包的操作信息;查詢模塊,被配置為根據(jù)虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?、對?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行;操作模塊,被配置為通過虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),根據(jù)角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送指示信息,至少指示宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作。根據(jù)本發(fā)明的又一個方面,提供了一種用于虛擬機(jī)系統(tǒng)的控制方法,虛擬機(jī)系統(tǒng)包括若干宿主機(jī),每一宿主機(jī)上運(yùn)行若干虛擬機(jī),包括:從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,以及獲得虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息;根據(jù)虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?、對?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行;通過虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),根據(jù)虛擬機(jī)角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送指示信息,至少指示宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作。可選的,從宿主機(jī)獲得的虛擬機(jī)的操作資源定位信息至少包括:虛擬機(jī)的網(wǎng)際協(xié)議IP地址和虛擬機(jī)所屬宿主機(jī)的標(biāo)識信息??蛇x的,獲得的角色分配信息至少包括虛擬機(jī)與為其分配的角色之間的對應(yīng)關(guān)系,角色包的操作信息至少包括:角色包、角色包的下載網(wǎng)絡(luò)鏈接、存活時間和/或重啟間隔。根據(jù)本發(fā)明的虛擬機(jī)控制系統(tǒng)、虛擬機(jī)控制器及控制方法,通過虛擬機(jī)維護(hù)器、虛擬機(jī)控制器與虛擬機(jī)角色包存儲器和宿主機(jī)的配合,將虛擬機(jī)和角色進(jìn)行解耦,當(dāng)需要增加某個角色的虛擬機(jī)或者變更虛擬機(jī)的角色時,只需要按照虛擬機(jī)控制器的操作指示去虛擬機(jī)角色包存儲中心下載、自動安裝新的角色即可,從而減少了虛擬機(jī)角色新增、改變等的時間、運(yùn)算成本,由此解決了現(xiàn)有改變虛擬機(jī)角色成本較高的技術(shù)問題,取得了降低改變虛擬機(jī)角色成本的有益效果。進(jìn)一步的,由于新增某個角色的虛擬機(jī)或虛擬機(jī)角色變更的成本較低,因此可以在多臺宿主機(jī)上部署同一角色的虛擬機(jī),進(jìn)而及時部分宿主機(jī)或者某些宿主機(jī)的部分虛擬機(jī)出現(xiàn)異常,也能保證這種角色服務(wù)的可用性。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據(jù)本發(fā)明一個實(shí)施例的虛擬機(jī)控制系統(tǒng)示意圖;圖2示出了根據(jù)本發(fā)明一個實(shí)施例的用于虛擬機(jī)系統(tǒng)的控制方法。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。本發(fā)明實(shí)施例可以應(yīng)用于計(jì)算機(jī)系統(tǒng)/服務(wù)器,其可與眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器一起使用的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于:個人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、厚客戶機(jī)、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)個人電腦、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)和包括上述任何系統(tǒng)的分布式云計(jì)算技術(shù)環(huán)境,等
坐寸ο計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標(biāo)程序、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或者實(shí)現(xiàn)特定的抽象數(shù)據(jù)類型。計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在分布式云計(jì)算環(huán)境中實(shí)施,分布式云計(jì)算環(huán)境中,任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的。在分布式云計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備的本地或遠(yuǎn)程計(jì)算系統(tǒng)存儲介質(zhì)上。請參閱圖1,其為根據(jù)本發(fā)明實(shí)施例的一種虛擬機(jī)控制系統(tǒng)示意圖。該系統(tǒng)包括虛擬機(jī)角色包存儲器100、虛擬機(jī)維護(hù)器300、虛擬機(jī)控制器400以及若干宿主機(jī),其中示意性的給出兩臺宿主機(jī):第一宿主機(jī)210和第二宿主機(jī)220。在實(shí)際應(yīng)用中,可以根據(jù)需要采用一臺或者兩臺以上的宿主機(jī),同理,每一宿主機(jī)上可以根據(jù)實(shí)際需要運(yùn)行若干(一個或兩個以上)虛擬機(jī),本發(fā)明實(shí)施例均對此并沒有限制。下面以圖1給出的應(yīng)用實(shí)例,結(jié)合具體的數(shù)據(jù)處理流程,詳細(xì)介紹本系統(tǒng)的技術(shù)方案。
虛擬機(jī)角色包存儲器100用于存儲虛擬機(jī)所需的各種角色包。虛擬機(jī)角色包存儲器與宿主機(jī)集群200進(jìn)行通信,根據(jù)宿主機(jī)集群200的請求為其提供所需的虛擬機(jī)角色包。后續(xù)在介紹宿主機(jī)集群200時會更詳細(xì)的描述兩者之間的信息交互過程。虛擬機(jī)維護(hù)器300需要知道虛擬機(jī)角色包存儲器100的地址信息,以便告知虛擬機(jī)控制器400,不過一般是由管理人員將虛擬機(jī)角色包存儲器100的地址信息告知虛擬機(jī)維護(hù)器300,而不由虛擬機(jī)角色包存儲器100與虛擬機(jī)維護(hù)器300、虛擬機(jī)控制器400直接進(jìn)行信息交互。虛擬機(jī)角色包存儲器100也可以理解為是一種角色包存儲中心。角色包可以理解為是開發(fā)人員為虛擬機(jī)開發(fā)的各種用于完成不同數(shù)據(jù)處理功能的程序包,因此角色包實(shí)際上也可以稱為角色包程序。虛擬機(jī)的不同角色能夠完成的具體數(shù)據(jù)處理功能不同,比如具有A角色的虛擬機(jī)可以完成對樣本數(shù)據(jù)的簽名校驗(yàn)功能,具有B角色的虛擬機(jī)可以完成對樣本數(shù)據(jù)的關(guān)鍵信息提取功能等等??偠灾煌奶摂M機(jī)角色完成的數(shù)據(jù)處理功能可以根據(jù)實(shí)際需求而定,進(jìn)而開發(fā)人員可以根據(jù)角色的不同需求開發(fā)出不同的角色包程序。具體根據(jù)不同的數(shù)據(jù)處理需求,開發(fā)不同的角色包程序可以采用相關(guān)的現(xiàn)有技術(shù),此處不再詳述。虛擬機(jī)維護(hù)器300用于對各種虛擬機(jī)角色包的操作信息、虛擬機(jī)的角色分配信息進(jìn)行維護(hù),以及將所述角色的相關(guān)信息提供給虛擬機(jī)控制器。具體而言,虛擬機(jī)維護(hù)器300又具體可以從邏輯上包含如下幾個模塊:操作信息模塊310、分配信息模塊320和第一接口模塊330。首先,操作信息模塊310用于對各種虛擬機(jī)角色包的操作信息進(jìn)行更新、維護(hù),虛擬機(jī)角色包的操作信息可以包括下述信息中的一種或多種:虛擬機(jī)角色名、虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接(即下載統(tǒng)一資源定位符URL)、包大小、反饋URL、解壓參數(shù)、啟動參數(shù)、存活時間以及重啟間隔等。其中,虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接實(shí)質(zhì)上就是角色包的下載地址,如虛擬機(jī)角色包存儲器100的地址信息,即通過該信息,可以讓虛擬機(jī)知道去虛擬機(jī)角色包存儲器100下載所需的角色包。反饋URL是虛擬機(jī)維護(hù)器300將自己維護(hù)的各種信息向虛擬機(jī)控制器400反饋使用的,因此該URL主要是指虛擬機(jī)控制器400的定位信息,如虛擬機(jī)控制器的地址,以便虛擬機(jī)維護(hù)器300可以將角色的各種相關(guān)信息及時傳輸給虛擬機(jī)控制器400。解壓參數(shù)和啟動參數(shù)主要是指在虛擬機(jī)下載相應(yīng)的角色包之后,自動安裝和運(yùn)行角色包所需要的相關(guān)技術(shù)參數(shù),本領(lǐng)域的技術(shù)人員可以理解,為了完成角色包的自動安裝和運(yùn)行所需相關(guān)技術(shù)參數(shù)包括但不限于解壓參數(shù)和啟動參數(shù),可以根據(jù)實(shí)際需要增減相應(yīng)的參數(shù)。存活時間主要是指為每個角色的虛擬機(jī)設(shè)置的存活時間,當(dāng)某個角色的虛擬機(jī)持續(xù)在線時間超過預(yù)置的存活時間,那么虛擬機(jī)控制器400就會指示該虛擬機(jī)所在的宿主機(jī)重啟該虛擬機(jī),以保證虛擬機(jī)的運(yùn)行質(zhì)量。重啟間隔主要是指當(dāng)某個角色的虛擬機(jī)發(fā)生故障超過預(yù)置的時間間隔(即重啟間隔),那么虛擬機(jī)控制器400就會據(jù)此操作該虛擬機(jī)重啟。除了存活時間、重啟間隔等參數(shù),還可以設(shè)置開機(jī)、關(guān)機(jī)參數(shù),后續(xù)在介紹虛擬機(jī)控制器400如何控制虛擬機(jī)操作時,還會再進(jìn)一步詳細(xì)介紹如何根據(jù)存活時間、重啟間隔、開機(jī)參數(shù)、關(guān)機(jī)參數(shù)等操作虛擬機(jī)。在實(shí)際操作中,虛擬機(jī)維護(hù)器300可以通過瀏覽器提供一個信息交互界面,比如web網(wǎng)頁,在該頁面上,提供入口以便于管理人員輸入各種信息指令,比如前面描述的各種虛擬機(jī)角色包的操作信息可以由管理人員人工輸入,管理人員還可以隨時添加新的角色信息或者修改相應(yīng)的角色信息,然后虛擬機(jī)維護(hù)器300負(fù)責(zé)保存并維護(hù)這些信息。
其次,分配信息模塊320用于為對虛擬機(jī)分配所需的角色,維護(hù)虛擬機(jī)與角色之間的對應(yīng)關(guān)系。具體而言,可以根據(jù)實(shí)際需要隨時為各虛擬機(jī)分配對應(yīng)的角色或者調(diào)整虛擬機(jī)的角色。在實(shí)際操作中,與操作信息模塊310類似,也可以是提供一個web網(wǎng)頁作為信息交互界面,供管理人員隨時輸入、修改對虛擬機(jī)分配的角色,然后虛擬機(jī)維護(hù)器300在接收這些信息后,負(fù)責(zé)保存虛擬機(jī)和角色之間的對應(yīng)關(guān)系。本領(lǐng)域技術(shù)人員可以理解,操作信息模塊310和分配信息模塊320可以共用一個信息交互界面,也可以分別使用單獨(dú)的信息交互界面,本發(fā)明實(shí)施例對此并沒有限制。分配信息模塊還可以維護(hù)虛擬機(jī)的上線、下線狀態(tài)、角色的改變以及虛擬機(jī)重啟。具體而言,仍然可以通過虛擬機(jī)維護(hù)器300的信息交互界面接收管理人員為虛擬機(jī)設(shè)置的狀態(tài)信息,如上線或下線。有時,虛擬機(jī)的角色需要進(jìn)行切換,如從第一角色切換為第二角色,那么需要虛擬機(jī)重啟新的角色才能生效,此時,管理人員給分配信息模塊輸入某個虛擬機(jī)需要重啟的信息,此種情況可以看作是一種強(qiáng)制虛擬機(jī)重啟,進(jìn)而分配信息模塊記錄并傳送給虛擬機(jī)控制器400,以便虛擬機(jī)控制器400可以操作相應(yīng)的虛擬機(jī)重啟。后續(xù)在介紹虛擬機(jī)控制器400還會具體描述如何根據(jù)這些信息操作虛擬機(jī)。最后,第一接口模塊330用于與虛擬機(jī)控制器400進(jìn)行信息交互,至少將操作信息模塊310和分配信息模塊320維護(hù)的各種相關(guān)信息傳輸給虛擬機(jī)控制器。具體而言,將操作信息模塊310維護(hù)的虛擬機(jī)角色的各種操作信息,和分配信息模塊320維護(hù)的虛擬機(jī)角色分配信息,傳輸給虛擬機(jī)控制器400,以便虛擬機(jī)控制器400可以根據(jù)這些信息操作虛擬機(jī)。另外,虛擬機(jī)維護(hù)器300還可以包括監(jiān)控模塊,用于從虛擬機(jī)控制器400獲得虛擬機(jī)的相關(guān)信息,比如虛擬機(jī)的IP地址,虛擬機(jī)所屬宿主機(jī)的主機(jī)名、地址、虛擬機(jī)的上、下線狀態(tài)、虛擬機(jī)是否正常運(yùn)行的狀態(tài)等,從而對虛擬機(jī)的運(yùn)行狀況和/或分布狀態(tài)進(jìn)行監(jiān)控。一般而言,虛擬機(jī)維護(hù)器300是從虛擬機(jī)控制器400獲得以上這些虛擬機(jī)的相關(guān)信息,由于虛擬機(jī)控制器400也需要從宿主機(jī)獲得其上運(yùn)行的虛擬機(jī)的相關(guān)信息以便完成對虛擬機(jī)的操作,所以,從簡化流程、提高數(shù)據(jù)處理效率的角度,虛擬機(jī)維護(hù)器300不直接從宿主機(jī)獲得虛擬機(jī)的信息,但是本領(lǐng)域技術(shù)人員可以理解,從技術(shù)角度講,虛擬機(jī)維護(hù)器300也可以直接從宿主機(jī)獲得虛擬機(jī)相關(guān)的信息。管理人員可以通過監(jiān)控模塊掌握虛擬機(jī)的運(yùn)行狀況和/或分布狀態(tài)。此外,虛擬機(jī)維護(hù)器300還可以包括分析告警模塊,用于從虛擬機(jī)控制器400獲得節(jié)點(diǎn)日志,對其進(jìn)行分析,若發(fā)現(xiàn)異常虛擬機(jī)數(shù)據(jù)量較多和/或虛擬機(jī)重啟次數(shù)較少的異常情況,進(jìn)行告警提示。由于虛擬機(jī)控制器400可以獲得虛擬機(jī)的各種運(yùn)行狀態(tài)以及操作虛擬機(jī),因此通過分析虛擬機(jī)控制器400的節(jié)點(diǎn)日志,可以發(fā)現(xiàn)當(dāng)前是否異常的虛擬機(jī)數(shù)量超過預(yù)置閾值,或者一定時間內(nèi)虛擬機(jī)重啟的次數(shù)是否少于或大于預(yù)置的閾值,如果是,則通常認(rèn)為是需要進(jìn)行故障處理的,進(jìn)而分析告警模塊可以進(jìn)行告警提示,以便管理人員及時處理。在管理人員看到告警提示后,可以根據(jù)實(shí)際情況進(jìn)行相應(yīng)處理,比如重啟虛擬機(jī)、查看宿主機(jī)、虛擬機(jī)是否故障、停止服務(wù)、新增其他虛擬機(jī)代替處理,等等。從以上關(guān)于虛擬機(jī)維護(hù)器300的描述可以看出,虛擬機(jī)維護(hù)器300可以理解為是一種web后臺,用于維護(hù)一些后臺的數(shù)據(jù)信息,接收后臺管理人員的指令信息,并傳輸給虛擬機(jī)控制器400。虛擬機(jī)控制400 —方面從虛擬機(jī)維護(hù)器300接收各種信息,比如虛擬機(jī)角色包的操作信息、虛擬機(jī)的角色分配信息、虛擬機(jī)的上下線狀態(tài)及虛擬機(jī)重啟等信息。另一方面從宿主機(jī)接收各種信息??蛇x的,當(dāng)有多臺宿主機(jī)構(gòu)成宿主機(jī)集群時,為了簡化通信成本,可以從多臺宿主機(jī)中選擇一臺作為主宿主機(jī),比如選定第一宿主機(jī)210作為主宿主機(jī),第二宿主機(jī)220等其他宿主機(jī)作為普通的宿主機(jī)。在宿主機(jī)集群200需要與虛擬機(jī)控制器400進(jìn)行信息交互時,可以只由主宿主機(jī)(第一宿主機(jī)210)與虛擬機(jī)控制器400進(jìn)行通信,在宿主機(jī)集群內(nèi)部主宿主機(jī)通過與其他宿主機(jī)進(jìn)行信息交互,收集其他宿主機(jī)的虛擬機(jī)信息,然后統(tǒng)一由該主宿主機(jī)傳輸給虛擬機(jī)控制器400,同理,當(dāng)虛擬機(jī)控制器400需要操作其他宿主機(jī)上的虛擬機(jī)時,通過該主宿主機(jī)接收指示信息,然后該主宿主機(jī)再將相關(guān)的指示信息傳輸給對應(yīng)的其他宿主機(jī),進(jìn)而其他宿主機(jī)再操作其上運(yùn)行的虛擬機(jī)。當(dāng)然,本領(lǐng)域技術(shù)人員可以理解,如果不是從簡化通信流程的角度,虛擬機(jī)控制器400也可以與宿主機(jī)集群200中的每個宿主機(jī)分別通信,不設(shè)置主宿主機(jī)。下面以將第一宿主機(jī)210作為主宿主機(jī)為例,介紹虛擬機(jī)控制器400與宿主機(jī)集群200之間的信息交互,以及如何控制虛擬機(jī)的操作。虛擬機(jī)控制器400具體包括第二接口模塊430、查詢模塊410以及操作模塊420。其中,第二接口模塊430用于與虛擬機(jī)維護(hù)器300和宿主機(jī)集群200分別進(jìn)行信息交互,從作為主宿主機(jī)的第一宿主機(jī)210獲得宿主機(jī)集群200中各虛擬機(jī)的相關(guān)信息,如虛擬機(jī)的操作資源定位信息,以及從虛擬機(jī)維護(hù)器300獲得虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息等。例如,虛擬機(jī)控制器400先從第一宿主機(jī)210獲得虛擬機(jī)集群200中可用的虛擬機(jī)信息列表,該信息列表主要包括下述信息的一種或多種:各虛擬機(jī)的IP地址、每個虛擬機(jī)所屬宿主機(jī)的標(biāo)識、虛擬機(jī)的操作資源定位信息。其中,每個虛擬機(jī)所屬宿主機(jī)的標(biāo)識可以是相應(yīng)宿主機(jī)的主機(jī)名,也可以是宿主機(jī)的IP地址,只要可以唯一標(biāo)識該宿主機(jī)即可。虛擬機(jī)的操作資源定位信息,也可以理解為是一種控制URL,虛擬機(jī)控制器400通過該控制URL操作虛擬機(jī),具體而言,虛擬機(jī)的操作資源定位信息至少包括虛擬機(jī)的IP地址和虛擬機(jī)所屬宿主機(jī)的標(biāo)識??梢钥闯?,如果虛擬機(jī)控制器400從第一宿主機(jī)210獲得的虛擬機(jī)信息列表中只包括各虛擬機(jī)的IP地址和每個虛擬機(jī)所屬宿主機(jī)的標(biāo)識,本質(zhì)上也是一種虛擬機(jī)的操作資源定位信息,虛擬機(jī)控制器400據(jù)此也可以定位到某個具體的虛擬機(jī)進(jìn)行操作,只不過,虛擬機(jī)控制器400需要自行將虛擬機(jī)的IP地址和所屬宿主機(jī)標(biāo)識組合起來。如果第一宿主機(jī)210直接將已經(jīng)組合好的虛擬機(jī)操作資源定位信息反饋給虛擬機(jī)控制器400,那么虛擬機(jī)控制器400就無需再自己組合,減少了虛擬機(jī)控制器400的負(fù)擔(dān)。因此,第一宿主機(jī)210是否向虛擬機(jī)控制器400傳輸已組合的虛擬機(jī)操作資源定位信息均可,只要本質(zhì)上提供了虛擬機(jī)的I P地址及其所屬宿主機(jī)標(biāo)識,就認(rèn)為已經(jīng)向虛擬機(jī)控制器400提供了虛擬機(jī)的操作資源定位信息。再例如,第二接口模塊430從虛擬機(jī)維護(hù)器300獲得了虛擬機(jī)角色包的操作信息、虛擬機(jī)角色分配信息等各種后臺維護(hù)信息。前面在介紹虛擬機(jī)維護(hù)器300時已經(jīng)對這幾種信息進(jìn)行過詳細(xì)描述,故此處不再贅述。至此,虛擬機(jī)控制器400 —方面從主宿主機(jī)收集了各宿主機(jī)上運(yùn)行的虛擬機(jī)的相關(guān)信息,又從虛擬機(jī)維護(hù)器300獲得了虛擬機(jī)角色包的操作信息、虛擬機(jī)角色分配信息等各種后臺維護(hù)信息。進(jìn)而,虛擬機(jī)控制器400就可以通過查詢模塊410和操作模塊420對相關(guān)的虛擬機(jī)進(jìn)行角色控制。其中,查詢模塊410用于根據(jù)虛擬機(jī)的角色分配信息(即虛擬機(jī)與角色之間的對應(yīng)關(guān)系)和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?、對?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行。操作模塊420用于通過虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),按照角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送操作指示,至少指示所述宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作。相應(yīng)的,宿主機(jī)用于在接收到虛擬機(jī)控制器400的操作指示后,按照該操作指示對其上運(yùn)行的指定虛擬機(jī)執(zhí)行開機(jī)、關(guān)機(jī)和/或重啟操作。具體例如,某個運(yùn)行于第一宿主機(jī)210之上的虛擬機(jī)I在啟動后向虛擬機(jī)控制器400發(fā)送角色查詢請求,詢問為自己分配的角色以及下載地址、技術(shù)參數(shù)等,虛擬機(jī)控制器400在接收到該查詢請求后,根據(jù)從虛擬機(jī)維護(hù)器300獲得的虛擬機(jī)角色分配信息為虛擬機(jī)I查詢到為其分配的角色是第一角色,并且根據(jù)從虛擬機(jī)維護(hù)器300獲得的虛擬機(jī)角色包的操作信息中,查詢到第一角色對應(yīng)的角色包下載網(wǎng)絡(luò)鏈接以及解壓、啟動等技術(shù)參數(shù),進(jìn)而虛擬機(jī)控制器400將角色包的下載網(wǎng)絡(luò)鏈接和相關(guān)技術(shù)參數(shù)一起傳輸給第一宿主機(jī)210。進(jìn)而,第一宿主機(jī)210接收到虛擬機(jī)控制器400為其查詢到的結(jié)果信息后告知虛擬機(jī)1,進(jìn)而虛擬機(jī)I按照指定的第一角色的角色包下載網(wǎng)絡(luò)鏈接,即虛擬機(jī)角色包存儲器100的地址,下載對應(yīng)的第一角色的角色包程序,然后又根據(jù)獲得的解壓、啟動等技術(shù)參數(shù)對該角色包進(jìn)行自動安裝和運(yùn)行。至此,虛擬機(jī)I上即成功運(yùn)行第一角色,進(jìn)而能夠完成第一角色的數(shù)據(jù)處理功能,比如第一角色的具體功能是用于驗(yàn)證數(shù)字簽名,那么虛擬機(jī)I就可以對接收到的各樣本進(jìn)行數(shù)字簽名的驗(yàn)證。在后續(xù)虛擬機(jī)I的運(yùn)行過程中,虛擬機(jī)I會定期向虛擬機(jī)控制器400發(fā)送自身的狀態(tài)信息,即本領(lǐng)域常說的心跳信息,以便讓虛擬機(jī)控制器400隨時掌握各虛擬機(jī)的狀態(tài)是否正常。由于虛擬機(jī)控制器400從虛擬機(jī)維護(hù)器300獲得的角色包操作信息中,可以獲知運(yùn)行第一角色的虛擬機(jī)角色包操作信息,例如存活時間和重啟間隔。比如,預(yù)置的運(yùn)行第一角色的虛擬機(jī)存活時間是30分鐘,虛擬機(jī)控制器400根據(jù)從第一宿主機(jī)210獲知的虛擬機(jī)信息知道運(yùn)行第一角色的虛擬機(jī)I的啟動時間是12:10,而當(dāng)前時間是12:41,已經(jīng)超過了預(yù)置存活時間30分鐘,于是虛擬機(jī)控制器400的操作模塊420就會根據(jù)之前虛擬機(jī)維護(hù)器300提供的虛擬機(jī)I的操作資源定位信息,定位到虛擬機(jī)I所屬的第一宿主機(jī)210,進(jìn)而通過第二接口模塊430向第一宿主機(jī)210發(fā)送操作指示:重啟第一宿主機(jī)210上運(yùn)行的虛擬機(jī)1,進(jìn)而第一宿主機(jī)210接收到虛擬機(jī)控制器400的指示后就對虛擬機(jī)I進(jìn)行重啟操作。重啟間隔也類似,比如,預(yù)置的運(yùn)行第一角色的虛擬機(jī)重啟間隔是5分鐘,根據(jù)第一宿主機(jī)210向虛擬機(jī)控制器400周期性反饋的虛擬機(jī)I的心跳信息,可以知道虛擬機(jī)I何時開始沒有正常反饋心跳信息,比如從14:10開始虛擬機(jī)控制器400就再沒收到過虛擬機(jī)I的心跳信息、即虛擬機(jī)I開始發(fā)生異常,由于預(yù)置的重啟間隔是5分鐘,因此當(dāng)虛擬機(jī)控制器400發(fā)現(xiàn)當(dāng)前時間減去虛擬機(jī)發(fā)生異常的時間(14:10)超過了預(yù)置重啟間隔5分鐘,即當(dāng)前時間超過14:15時,虛擬機(jī)控制器400的操作模塊420就會向第一宿主機(jī)210發(fā)送操作指示:重啟運(yùn)行于第一宿主機(jī)210之上的虛擬機(jī)1,進(jìn)而第一宿主機(jī)I收到上述指示后便重啟其上運(yùn)行的虛擬機(jī)I。除了重啟之外,如果在虛擬機(jī)角色包的操作信息中還可以包括開機(jī)和關(guān)機(jī)等參數(shù),比如,在操作信息中預(yù)置虛擬機(jī)I在13:10開機(jī),那么虛擬機(jī)控制器400可以在13:10給第一宿主機(jī)210發(fā)送操作指示:開啟虛擬機(jī)I?;蛘?,當(dāng)?shù)谝凰拗鳈C(jī)210接收到重啟虛擬機(jī)I的操作指示后,發(fā)現(xiàn)虛擬機(jī)I還沒開機(jī),則實(shí)際上對虛擬機(jī)I執(zhí)行的是開機(jī)操作。操作虛擬機(jī)I關(guān)機(jī)也類似,都是在虛擬機(jī)維護(hù)器300維護(hù)的操作信息中予以預(yù)先設(shè)置,然后告知虛擬機(jī)控制器400,進(jìn)而虛擬機(jī)控制器在達(dá)到預(yù)置的關(guān)機(jī)條件(如虛擬機(jī)I運(yùn)行了指定時間間隔或者在特定時間對虛擬機(jī)I進(jìn)行關(guān)機(jī))時,控制第一宿主機(jī)210對虛擬機(jī)I進(jìn)行關(guān)機(jī)操作。當(dāng)然,如果虛擬機(jī)自動開機(jī)或者不需要關(guān)機(jī),那么也可以不操作虛擬機(jī)的開機(jī)、關(guān)機(jī),只操作虛擬機(jī)的重啟即可此外,可選的,由于分配信息模塊320還可以維護(hù)虛擬機(jī)上線、下線狀態(tài)的改變、角色的改變以及虛擬機(jī)重啟。因此,如果虛擬機(jī)維護(hù)器300傳輸給虛擬機(jī)控制器400的維護(hù)信息還包括以上信息,那么虛擬機(jī)控制300也要據(jù)此操作虛擬機(jī)。比如,某個時間點(diǎn)管理人員通過分配信息模塊320將運(yùn)行于第一宿主機(jī)210之上的虛擬機(jī)I的角色由第一角色改為第二角色,并要求角色切換后重啟虛擬機(jī)I (以便切換后的第二角色生效),那么虛擬機(jī)控制器300在接收到上面的信息后,根據(jù)虛擬機(jī)I的操作資源定位信息給第一宿主機(jī)210發(fā)操作指示:將運(yùn)行于第一宿主機(jī)之上的虛擬機(jī)I的第一角色切換為第二角色,具體的,可以提供第二角色的角色包下載網(wǎng)絡(luò)鏈接以及相關(guān)安裝、運(yùn)行參數(shù),并指示切換后重啟虛擬機(jī)
I。進(jìn)而,第一宿主機(jī)210在接到指示后可以先卸載虛擬機(jī)I上運(yùn)行的第一角色,并告知虛擬機(jī)I先去虛擬機(jī)角色包存儲器100下載第二角色的虛擬機(jī)角色包,然后虛擬機(jī)I根據(jù)相關(guān)參數(shù)自動安裝,進(jìn)而第一宿主機(jī)210重啟虛擬機(jī)1,進(jìn)而使得虛擬機(jī)I的第二角色生效。再比如,某個時間虛擬機(jī)維護(hù)器300告知虛擬機(jī)控制器400需要將虛擬機(jī)I從上線狀態(tài)變更為下線狀態(tài),則虛擬機(jī)控制器400向第一宿主機(jī)發(fā)送操作指示:將虛擬機(jī)I下線,進(jìn)而第一宿主機(jī)210將虛擬機(jī)I的狀態(tài)由上線更改為下線。又比如,管理人員通過告警模塊或分析告警模塊發(fā)現(xiàn)某個或某些虛擬機(jī)需要重啟,則會通過虛擬機(jī)維護(hù)器300給虛擬機(jī)控制器400發(fā)送虛擬機(jī)強(qiáng)制重啟的信息,進(jìn)而虛擬機(jī)維護(hù)器300據(jù)此指示相關(guān)虛擬機(jī)所屬的宿主機(jī),完成對相關(guān)虛擬機(jī)的強(qiáng)制重啟。另外,虛擬機(jī)控制器400的第二接口模塊還可以接收來自宿主機(jī)的主動重啟虛擬機(jī)的請求,進(jìn)而操作模塊420據(jù)此向該宿主機(jī)發(fā)送操作確認(rèn)指示,從而該宿主機(jī)重啟虛擬機(jī)。例如,宿主機(jī)發(fā)現(xiàn)某個虛擬機(jī)發(fā)生異常,那么有可能會有主動重啟該該虛擬機(jī)的需求,為了保證虛擬機(jī)控制器400能夠統(tǒng)一控制各虛擬機(jī)的操作,宿主機(jī)也需要先向虛擬機(jī)控制器400發(fā)送虛擬機(jī)重啟請求,在得到虛擬機(jī)控制器400的確認(rèn)指示后才會執(zhí)行重啟虛擬機(jī)的操作。前面例子中描述的是虛擬機(jī)控制器400如何操作作為主宿主機(jī)的第一宿主機(jī)212上的虛擬機(jī)1,下面描述如何操作作為非主宿主機(jī)的第二宿主機(jī)220上的虛擬機(jī)3。之前描述過,作為主宿主機(jī)的第一宿主機(jī)210會與第二宿主機(jī)220進(jìn)行通信,獲得第二宿主機(jī)上運(yùn)行的虛擬機(jī)相關(guān)信息,然后傳輸給虛擬機(jī)控制器400,以便虛擬機(jī)控制器400可以掌握非主宿主機(jī)上的各種虛擬機(jī)信息。同理,當(dāng)虛擬機(jī)控制器400需要操作非主宿主機(jī)上的虛擬機(jī)時,也是先發(fā)給作為主宿主機(jī)的第一宿主機(jī)210,并根據(jù)之前虛擬機(jī)維護(hù)器300提供的虛擬機(jī)3的操作資源定位信息告知第一宿主機(jī),將操作指示再傳輸給虛擬機(jī)3所屬的第二宿主機(jī)220,為方便起見,可以在傳輸給第一宿主機(jī)210的操作指示中帶上虛擬機(jī)3的操作資源定位信息(控制URL),進(jìn)而第一宿主機(jī)210直接解析該控制URL,即可知道應(yīng)該將該操作指示發(fā)給第二宿主機(jī)220。進(jìn)而,第二宿主機(jī)220接收到操作指示后,就按照操作指示開啟、關(guān)閉或重啟虛擬機(jī)3。如果不是出于簡化流程、減少宿主機(jī)集群200中各宿主機(jī)均與虛擬機(jī)控制器400交互的目的考慮,也可以由虛擬機(jī)控制器400直接與宿主機(jī)集群200中的各宿主機(jī)進(jìn)行交互,此時相當(dāng)于宿主機(jī)集群200中并沒有指定一臺為主宿主機(jī),各宿主機(jī)的地位平等,即各宿主機(jī)直接向虛擬機(jī)控制器400發(fā)送自己的虛擬機(jī)運(yùn)行信息,同樣虛擬機(jī)控制器400也直接將操作指示發(fā)到對應(yīng)的宿主機(jī)上。宿主機(jī)是與虛擬機(jī)控制器400進(jìn)行信息交互的主體,在具體實(shí)際操作中,可以理解為虛擬機(jī)角色包的下載、安裝等操作是由虛擬機(jī)中的一個客戶端執(zhí)行,具體而言,該客戶端由幾個腳本共同組成,虛擬機(jī)開機(jī)會會啟動一個批處理文件,該批處理文件進(jìn)而會啟動相應(yīng)的腳本,進(jìn)而由該腳本完成角色包的下載、安裝、啟動等操作。。請參閱圖2,其為根據(jù)本發(fā)明一個實(shí)施例的用于虛擬機(jī)系統(tǒng)的控制方法,該虛擬機(jī)系統(tǒng)包括若干宿主機(jī),每一宿主機(jī)上運(yùn)行若干虛擬機(jī),該方法起始于步驟S210。S210:從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,以及獲得虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息。虛擬機(jī)的操作資源定位信息至少包括虛擬機(jī)的IP地址和虛擬機(jī)所屬宿主機(jī)的標(biāo)識,操作資源定位信息可以是將虛擬機(jī)的IP地址和虛擬機(jī)所屬宿主機(jī)的標(biāo)識組合在一起的,也可以未組合的。除了從宿主機(jī)獲得操作資源定位信息外,還可以從宿主機(jī)獲得各虛擬機(jī)的狀態(tài)信息(心跳)??偠灾?,可以從宿主機(jī)獲得虛擬機(jī)的各種信息列表。獲得虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息可以是從網(wǎng)頁后臺獲得。相關(guān)技術(shù)特征已經(jīng)在前面進(jìn)行過詳細(xì)介紹,可以參看前面虛擬機(jī)控制器400中有關(guān)第二接口模塊430和虛擬機(jī)維護(hù)器300中的相關(guān)描述,此處不再贅述。在通過步驟S210獲得各種虛擬機(jī)角色的相關(guān)信息以及各虛擬機(jī)的信息后,就可以據(jù)此為虛擬機(jī)提供所需角色包的下載服務(wù)了。即進(jìn)入步驟S220:根據(jù)虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行。相關(guān)技術(shù)特征可以參考前面虛擬機(jī)控制器400中查詢模塊410的描述,此處不再贅述。在通過步驟S220虛擬機(jī)下載并安裝、運(yùn)行了所需的角色后,就可以正常處理樣本數(shù)據(jù)了。在此過程中,宿主機(jī)還會周期性的反饋虛擬機(jī)的運(yùn)行狀態(tài)信息,如心跳,進(jìn)而可以掌握虛擬機(jī)是否運(yùn)行正常。相關(guān)的技術(shù)特征可以參考前面虛擬機(jī)控制器400中查詢模塊410的相關(guān)描述,此處不再贅述。在虛擬機(jī)的運(yùn)行過程中,還會通過S230步驟進(jìn)行虛擬機(jī)的后續(xù)控制操作。步驟S230:通過虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),根據(jù)虛擬機(jī)角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送指示信息,至少指示宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作。除了控制這些操作外,還可以控制虛擬機(jī)更改角色、變更虛擬機(jī)上、下線狀態(tài)或者強(qiáng)制虛擬機(jī)重啟等操作。具體介紹可以參見前面虛擬機(jī)控制器400和宿主機(jī)集群200中的相關(guān)描述,此處不再贅述。
從以上本發(fā)明的各實(shí)施例可以看出,相對現(xiàn)有技術(shù)中在創(chuàng)建虛擬機(jī)時就已確定并運(yùn)行了虛擬機(jī)的角色,本發(fā)明的虛擬機(jī)和虛擬機(jī)角色是相互獨(dú)立、分離的,通過虛擬機(jī)控制器等部件以及整個系統(tǒng)架構(gòu),將角色和虛擬機(jī)解耦,再通過虛擬機(jī)控制器和虛擬機(jī)維護(hù)器的共同配合,隨時根據(jù)需要將角色和虛擬機(jī)結(jié)合或者變更虛擬機(jī)的角色,進(jìn)而,當(dāng)需要根據(jù)樣本數(shù)量的變化而增加、減少某個角色的虛擬機(jī),或者變更某虛擬機(jī)的角色時,只需要通過虛擬機(jī)維護(hù)器將該信息告知虛擬機(jī)控制器,然后虛擬機(jī)控制器據(jù)此告知相關(guān)虛擬機(jī)去下載相應(yīng)的新角色包,從而使虛擬機(jī)能夠很容易下載、運(yùn)行所需的新角色,而不是像現(xiàn)有技術(shù)那樣需要重新創(chuàng)建某個角色的虛擬機(jī),由此可見,本發(fā)明實(shí)施例提供的技術(shù)方案,無論在時間、還是數(shù)據(jù)處理量上,控制虛擬機(jī)角色改變、新增的成本都大大降低,提高了虛擬機(jī)角色控制的效率,增加了靈活性。更進(jìn)一步,虛擬機(jī)控制器根據(jù)虛擬機(jī)維護(hù)器提供的存活時間和重啟間隔,可以簡單、快捷的操作虛擬機(jī)的重啟等操作,進(jìn)一步提高了虛擬機(jī)控制系統(tǒng)運(yùn)行的效率。更進(jìn)一步的,由于新增某個角色的虛擬機(jī)或虛擬機(jī)角色變更的成本較低,因此可以在多臺宿主機(jī)上部署同一角色的虛擬機(jī),進(jìn)而及時部分宿主機(jī)或者某些宿主機(jī)的部分虛擬機(jī)出現(xiàn)異常,也能保證這種角色服務(wù)的可用性。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書由此明確地并入該具體實(shí)施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的虛擬機(jī)控制系統(tǒng)、虛擬機(jī)控制器中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
權(quán)利要求
1.一種虛擬機(jī)控制系統(tǒng),包括: 虛擬機(jī)角色包存儲器,被配置為存儲虛擬機(jī)所需的各種角色包; 虛擬機(jī)維護(hù)器,被配置為對各種虛擬機(jī)角色包的操作信息、虛擬機(jī)的角色分配信息進(jìn)行維護(hù),以及將所述角色的相關(guān)信息提供給虛擬機(jī)控制器; 虛擬機(jī)控制器,被配置為至少從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,并從所述虛擬機(jī)維護(hù)器獲得角色的相關(guān)信息,據(jù)此為虛擬機(jī)提供角色查詢,以及據(jù)此操作虛擬機(jī);若干宿主機(jī),被配置為運(yùn)行若干虛擬機(jī),在虛擬機(jī)控制器的指示下,從虛擬機(jī)角色包存儲器下載所需的角色包完成虛擬機(jī)的角色安裝以及進(jìn)行相關(guān)的虛擬機(jī)操作。
2.如權(quán)利要求1所述的系統(tǒng),所述虛擬機(jī)控制器從宿主機(jī)獲得的虛擬機(jī)的操作資源定位信息至少包括:虛擬機(jī)的網(wǎng)際協(xié)議IP地址和虛擬機(jī)所屬宿主機(jī)的標(biāo)識信息。
3.如權(quán)利要求1或2所述的系統(tǒng),所述虛擬機(jī)維護(hù)器包括: 操作信息模塊,被配置為對各種虛擬機(jī)角色包的操作信息進(jìn)行更新、維護(hù),所述虛擬機(jī)角色包的操作信息至少包括虛擬機(jī)角色名、虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接、存活時間和/或重啟間隔; 分配信息模塊,被配置為對虛擬機(jī)分配所需的角色,維護(hù)虛擬機(jī)與角色之間的對應(yīng)關(guān)系; 第一接口模塊,被配置為與所述虛擬機(jī)控制器進(jìn)行信息交互,至少將所述操作信息模塊和分配信息模塊提供的角色的相關(guān)信息傳輸給虛擬機(jī)控制器。
4.如權(quán)利要求3所述的系統(tǒng),所述分配信息模塊還被配置為維護(hù)虛擬機(jī)的上線、下線狀態(tài)的改變以及虛擬機(jī)重啟,并通過所述第一接口模塊傳輸給所述虛擬機(jī)控制器。
5.如權(quán)利要求3所述的系統(tǒng),所述虛擬機(jī)維護(hù)器還包括: 監(jiān)控模塊,被配置為從所述虛擬機(jī)控制器獲得虛擬機(jī)的相關(guān)信息,對虛擬機(jī)的運(yùn)行狀況和/或分布狀態(tài)進(jìn)行監(jiān)控。
6.如權(quán)利要求5所述的系統(tǒng),所述虛擬機(jī)維護(hù)器還包括: 分析告警模塊,被配置為從所述虛擬機(jī)控制器獲得節(jié)點(diǎn)日志,對其進(jìn)行分析,若發(fā)現(xiàn)異常情況,進(jìn)行告警提示。
7.如權(quán)利要求1至5中任一項(xiàng)所述的系統(tǒng),所述虛擬機(jī)控制器包括: 第二接口模塊,被配置為從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,以及從所述虛擬機(jī)維護(hù)器獲得虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息; 查詢模塊,被配置為根據(jù)虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行; 操作模塊,被配置為通過虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),按照角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送操作指示,至少指示所述宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作。
8.如權(quán)利要求7所述的系統(tǒng),所述相關(guān)技術(shù)參數(shù)至少包括角色包的解壓參數(shù)和啟動參數(shù)。
9.如權(quán)利要求7或8所述的系統(tǒng),所述宿主機(jī)具體被配置為接收到所述虛擬機(jī)控制器的操作指示后,按照該操作指示對其上運(yùn)行的指定虛擬機(jī)執(zhí)行開機(jī)、關(guān)機(jī)和/或重啟操作。
10.一種用于虛擬機(jī)系統(tǒng)的虛擬機(jī)控制器,所述虛擬機(jī)系統(tǒng)包括若干宿主機(jī),每一宿主機(jī)上運(yùn)行若干虛擬機(jī),所述控制器包括: 接口模塊,被配置為從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,以及獲得虛擬機(jī)的角色分配信息和角色包的操作信息; 查詢模塊,被配置為根據(jù)虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?、對?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行; 操作模塊,被配置為通過虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),根據(jù)角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送指示信息,至少指示所述宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作。
11.一種用于虛擬機(jī)系統(tǒng)的控制方法,所述虛擬機(jī)系統(tǒng)包括若干宿主機(jī),每一宿主機(jī)上運(yùn)行若干虛擬機(jī),包括: 從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,以及獲得虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息; 根據(jù)所述虛擬機(jī)的角色分配信息和虛擬機(jī)角色包的操作信息,為虛擬機(jī)查詢?yōu)槠浞峙涞慕巧?、對?yīng)的虛擬機(jī)角色包的下載網(wǎng)絡(luò)鏈接以及相關(guān)技術(shù)參數(shù),供虛擬機(jī)完成角色的安裝和運(yùn)行; 通過所述虛擬機(jī)的操作資源定位信息定位到需要操作的虛擬機(jī),根據(jù)虛擬機(jī)角色包的操作信息向該虛擬機(jī)所屬的宿主機(jī)發(fā)送指示信息,至少指示所述宿主機(jī)對該虛擬機(jī)進(jìn)行開機(jī)、關(guān)機(jī)和/或重啟操作。
12.如權(quán)利要求11所述的方法,所述`從宿主機(jī)獲得的虛擬機(jī)的操作資源定位信息至少包括:虛擬機(jī)的網(wǎng)際協(xié)議IP地址和虛擬機(jī)所屬宿主機(jī)的標(biāo)識信息。
13.如權(quán)利要求11所述的方法,所述獲得的角色分配信息至少包括虛擬機(jī)與為其分配的角色之間的對應(yīng)關(guān)系,所述角色包的操作信息至少包括:角色包、角色包的下載網(wǎng)絡(luò)鏈接、存活時間和/或重啟間隔。
全文摘要
本發(fā)明公開了一種虛擬機(jī)控制系統(tǒng)、虛擬機(jī)控制器及控制方法,其中,該系統(tǒng)包括虛擬機(jī)角色包存儲器,被配置為存儲虛擬機(jī)所需的各種角色包;虛擬機(jī)維護(hù)器,被配置為對各種虛擬機(jī)角色包的操作信息、虛擬機(jī)的角色分配信息進(jìn)行維護(hù),以及將所述角色的相關(guān)信息提供給虛擬機(jī)控制器;虛擬機(jī)控制器,被配置為至少從宿主機(jī)獲得虛擬機(jī)的操作資源定位信息,并從所述虛擬機(jī)維護(hù)器獲得角色的相關(guān)信息,據(jù)此為虛擬機(jī)提供角色查詢,以及據(jù)此操作虛擬機(jī);若干宿主機(jī),被配置為運(yùn)行若干虛擬機(jī),在虛擬機(jī)控制器的指示下,從虛擬機(jī)角色包存儲器下載所需的角色包完成虛擬機(jī)的角色安裝以及進(jìn)行相關(guān)的虛擬機(jī)操作。
文檔編號G06F9/46GK103150203SQ201310109159
公開日2013年6月12日 申請日期2013年3月29日 優(yōu)先權(quán)日2013年3月29日
發(fā)明者盧加磊, 田從新, 張彥功 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司