本發(fā)明的實施方式涉及計算機(jī)領(lǐng)域,并且更具體地,涉及用于控制網(wǎng)絡(luò)節(jié)點的方法和裝置。
背景技術(shù):
在數(shù)據(jù)中心中采用電源分配單元(powerdistributionunit,pdu)來控制諸如計算節(jié)點、存儲節(jié)點和交換機(jī)節(jié)點這樣的用電設(shè)備的電力供應(yīng)。每個pdu包括多個(例如24或48個)供電端口,多個供電端口中的每一個耦合到一個用電設(shè)備,以控制其電力供應(yīng)。數(shù)據(jù)中心中用電設(shè)備的數(shù)目較大,因此所需的pdu的數(shù)目也較大。
此外,不同廠商所制造的pdu通常具有不同的內(nèi)部邏輯和不同的訪問方式。當(dāng)軟件開發(fā)者開發(fā)諸如管理和協(xié)調(diào)(m&o)軟件這樣的基礎(chǔ)架構(gòu)軟件時,為了確保所開發(fā)的軟件是健壯的、可靠的且穩(wěn)定的,開發(fā)者會期望驗證所開發(fā)的軟件是否能夠支持不同廠商的pdu。此外,軟件開發(fā)者可能期望進(jìn)行擴(kuò)展測試以驗證所開發(fā)的軟件是否能夠支持幾百甚至上千個pdu,或者可能期望利用幾百甚至上千個pdu來驗證是否捕獲了足夠多的異常情況。然而,為了進(jìn)行上述軟件測試而購買各個廠商的pdu或者購買數(shù)量較大的pdu將產(chǎn)生高額成本,因而是不切實際的。
技術(shù)實現(xiàn)要素:
因此,為了解決一個或多個現(xiàn)有技術(shù)中存在的問題,需要一種有效控制和監(jiān)控網(wǎng)絡(luò)節(jié)點的技術(shù)方案。
根據(jù)本發(fā)明實施方式的第一方面,提供了一種用于控制網(wǎng)絡(luò)節(jié)點的方法。該方法包括:利用計算設(shè)備來提供虛擬電源分配單元pdu,以使得該虛擬pdu根據(jù)與該虛擬pdu相耦合的網(wǎng)絡(luò)節(jié)點的類型來控 制該網(wǎng)絡(luò)節(jié)點的電力供應(yīng)。
在一些實施方式中,該網(wǎng)絡(luò)節(jié)點的類型包括虛擬型和物理型中的至少一項。
在一些實施方式中,利用計算設(shè)備來提供該虛擬pdu包括:利用該計算設(shè)備來提供該虛擬pdu的控制組件,該控制組件包括用于虛擬型網(wǎng)絡(luò)節(jié)點的第一類型的控制接口和用于物理型網(wǎng)絡(luò)節(jié)點的第二類型的控制接口,該第一類型的控制接口不同于該第二類型的控制接口。
在一些實施方式中,使得該虛擬pdu控制該網(wǎng)絡(luò)節(jié)點的電力供應(yīng)包括使得該虛擬pdu的控制組件響應(yīng)于接收到來自用戶的控制命令而執(zhí)行以下步驟:識別該控制命令所針對的該虛擬pdu的虛擬供電端口;確定與該虛擬供電端口相耦合的網(wǎng)絡(luò)節(jié)點的類型是該虛擬型還是該物理型;以及基于該確定而采用該第一類型的控制接口或該第二類型的控制接口來控制該網(wǎng)絡(luò)節(jié)點。
在一些實施方式中,基于該確定而采用該第一類型的控制接口或該第二類型的控制接口來控制該網(wǎng)絡(luò)節(jié)點包括:基于該確定而將該控制命令轉(zhuǎn)換為適于該第一類型的控制接口或該第二類型的控制接口的控制命令;以及向該第一類型的控制接口或該第二類型的控制接口提供經(jīng)轉(zhuǎn)換的控制命令。
在一些實施方式中,該虛擬型網(wǎng)絡(luò)節(jié)點至少包括第一虛擬型網(wǎng)絡(luò)節(jié)點和第二虛擬型網(wǎng)絡(luò)節(jié)點,該第二虛擬型網(wǎng)絡(luò)節(jié)點不同于該第一虛擬型網(wǎng)絡(luò)節(jié)點;并且其中該第一類型的控制接口至少包括用于該第一虛擬型網(wǎng)絡(luò)節(jié)點的第一控制接口和用于該第二虛擬型網(wǎng)絡(luò)節(jié)點的第二控制接口,該第一控制接口不同于該第二控制接口。
在一些實施方式中,利用計算設(shè)備來提供虛擬電源分配單元pdu包括:使得該虛擬pdu被遠(yuǎn)程配置。
在一些實施方式中,使得該虛擬pdu被遠(yuǎn)程配置包括:使得該虛擬pdu接收錯誤注入;以及使得該虛擬pdu向用戶發(fā)送指示該錯誤注入的通知消息。
在一些實施方式中,該方法進(jìn)一步包括:使得所述虛擬pdu從虛擬型網(wǎng)絡(luò)節(jié)點獲取所述虛擬型網(wǎng)絡(luò)節(jié)點的資源利用率;以及基于所獲取的資源利用率來估計所述虛擬型網(wǎng)絡(luò)節(jié)點的功率消耗。
根據(jù)本發(fā)明實施方式的第二方面,提供了一種用于控制網(wǎng)絡(luò)節(jié)點的裝置。該裝置包括:虛擬電源分配單元pdu提供單元,被配置為提供虛擬pdu,以使得該虛擬pdu根據(jù)與該虛擬pdu相耦合的網(wǎng)絡(luò)節(jié)點的類型來控制該網(wǎng)絡(luò)節(jié)點的電力供應(yīng)。
在一些實施方式中,該網(wǎng)絡(luò)節(jié)點的類型包括虛擬型和物理型中的至少一項。
在一些實施方式中,該虛擬pdu提供單元被進(jìn)一步配置為:提供該虛擬pdu的控制組件,該控制組件包括用于虛擬型網(wǎng)絡(luò)節(jié)點的第一類型的控制接口和用于物理型網(wǎng)絡(luò)節(jié)點的第二類型的控制接口,該第一類型的控制接口不同于該第二類型的控制接口。
在一些實施方式中,該虛擬pdu提供單元被進(jìn)一步配置為使得該虛擬pdu的控制組件響應(yīng)于接收到來自用戶的控制命令而:識別該控制命令所針對的該虛擬pdu的虛擬供電端口;確定與該虛擬供電端口相耦合的網(wǎng)絡(luò)節(jié)點的類型是該虛擬型還是該物理型;以及基于該確定而采用該第一類型的控制接口或該第二類型的控制接口來控制該網(wǎng)絡(luò)節(jié)點。
在一些實施方式中,該虛擬pdu提供單元被進(jìn)一步配置為:基于該確定而將該控制命令轉(zhuǎn)換為適于該第一類型的控制接口或該第二類型的控制接口的控制命令;以及向該第一類型的控制接口或該第二類型的控制接口提供經(jīng)轉(zhuǎn)換的控制命令。
在一些實施方式中,虛擬型網(wǎng)絡(luò)節(jié)點至少包括第一虛擬型網(wǎng)絡(luò)節(jié)點和第二虛擬型網(wǎng)絡(luò)節(jié)點,該第二虛擬型網(wǎng)絡(luò)節(jié)點不同于該第一虛擬型網(wǎng)絡(luò)節(jié)點;并且其中該第一類型的控制接口至少包括用于該第一虛擬型網(wǎng)絡(luò)節(jié)點的第一控制接口和用于該第二虛擬型網(wǎng)絡(luò)節(jié)點的第二控制接口,該第一控制接口不同于該第二控制接口。
在一些實施方式中,該虛擬pdu提供單元被進(jìn)一步配置為:使 得該虛擬pdu被遠(yuǎn)程配置。
在一些實施方式中,該虛擬pdu提供單元被進(jìn)一步配置為:使得該虛擬pdu接收錯誤注入;以及使得該虛擬pdu向用戶發(fā)送指示該錯誤注入的通知消息。
在一些實施方式中,虛擬pdu提供單元被進(jìn)一步配置為:使得該虛擬pdu從虛擬型網(wǎng)絡(luò)節(jié)點獲取該虛擬型網(wǎng)絡(luò)節(jié)點的資源利用率;以及基于所獲取的資源利用率來估計該虛擬型網(wǎng)絡(luò)節(jié)點的功率消耗。
根據(jù)本發(fā)明實施方式的第三方面,提供了一種服務(wù)器。該服務(wù)器包括:一個或多個處理器;存儲有計算機(jī)程序指令的存儲器,當(dāng)由該一個或多個處理器執(zhí)行該計算機(jī)程序指令時使得該服務(wù)器執(zhí)行根據(jù)本發(fā)明實施方式的方法。
根據(jù)本發(fā)明實施方式的第三方面,提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序指令,當(dāng)由計算設(shè)備執(zhí)行該計算機(jī)程序指令時使得該計算設(shè)備執(zhí)行根據(jù)本發(fā)明實施方式的方法。
根據(jù)本發(fā)明的實施方式,利用計算設(shè)備來提供虛擬pdu,即利用軟件來模擬物理pdu,使得所獲得的虛擬pdu易于被復(fù)制和擴(kuò)展,以模擬不同廠商所生產(chǎn)的物理pdu。由此,可以利用所獲得的虛擬pdu來模擬數(shù)據(jù)中心的環(huán)境,以方便對基礎(chǔ)架構(gòu)軟件的測試。此外,所獲得的虛擬pdu根據(jù)與虛擬pdu相耦合的網(wǎng)絡(luò)節(jié)點的類型來控制網(wǎng)絡(luò)節(jié)點的電力供應(yīng)。因而,所獲得的虛擬pdu可以方便地控制存儲節(jié)點或計算節(jié)點,而無論這些節(jié)點是物理節(jié)點還是虛擬節(jié)點。
附圖說明
結(jié)合附圖并參考以下詳細(xì)說明,本發(fā)明的各實施方式的特征、優(yōu)點及其他方面將變得更加明顯,在此以示例性而非限制性的方式示出了本發(fā)明的若干實施方式。在附圖中:
圖1示出根據(jù)本發(fā)明的一個實施方式的用于管理網(wǎng)絡(luò)設(shè)備的方法的流程圖;
圖2示出了根據(jù)本發(fā)明的一個實施方式的用于控制網(wǎng)絡(luò)節(jié)點的裝 置的框圖;
圖3示出根據(jù)本發(fā)明的另一個實施方式的用于控制網(wǎng)絡(luò)節(jié)點的裝置的框圖;
圖4示出了圖3中的用于控制網(wǎng)絡(luò)節(jié)點的裝置的各組件之間的通信;以及
圖5示出了可以用來實施本發(fā)明實施方式的設(shè)備的示意性框圖。
具體實施方式
下面將參考附圖中示出的若干示例實施方式來描述本發(fā)明的原理。應(yīng)當(dāng)理解,描述這些實施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。
如前所述,不同廠商所制造的pdu通常具有不同的內(nèi)部邏輯和不同的訪問方式。為了進(jìn)行例如基礎(chǔ)架構(gòu)軟件的測試而購買各個廠商的pdu或者購買大量pdu來構(gòu)建軟件測試環(huán)境是不切實際的。為此,本發(fā)明的實施方式提出了一種利用軟件來模擬物理pdu的技術(shù)方案。
圖1示出根據(jù)本發(fā)明的一個實施方式的用于管理網(wǎng)絡(luò)設(shè)備的方法100的流程圖。
如圖1所示,在步驟s110,利用計算設(shè)備來提供虛擬pdu,以使得虛擬pdu根據(jù)與虛擬pdu相耦合的網(wǎng)絡(luò)節(jié)點的類型來控制網(wǎng)絡(luò)節(jié)點的電力供應(yīng)??刂凭W(wǎng)絡(luò)節(jié)點的電力供應(yīng)例如包括但是不限于:開啟網(wǎng)絡(luò)節(jié)點的電源、關(guān)閉網(wǎng)絡(luò)節(jié)點的電源、重新啟動網(wǎng)絡(luò)節(jié)點。
在一些實施方式中,該計算設(shè)備可以是任意的臺式計算機(jī)、便攜式計算機(jī)、膝上型計算機(jī)、手持設(shè)備、蜂窩電話、智能電話、個人數(shù)字助理、以及具有計算能力的任何其他適當(dāng)?shù)脑O(shè)備。
在一些實施方式中,網(wǎng)絡(luò)節(jié)點的類型包括虛擬型和物理型中的至少一項。在下文中,虛擬型網(wǎng)絡(luò)節(jié)點也被稱作“虛擬節(jié)點”,并且物理型網(wǎng)絡(luò)節(jié)點也被稱作“物理節(jié)點”。虛擬型網(wǎng)絡(luò)節(jié)點或“虛擬節(jié)點的示例包括但是不限于虛擬機(jī)。虛擬型網(wǎng)絡(luò)節(jié)點或虛擬節(jié)點的示例包括但是不限于虛擬機(jī)。虛擬機(jī)可以包括從不同的供應(yīng)商獲得的虛擬 機(jī),例如vmwareworkstation、virtualbox、qemu等。物理型網(wǎng)絡(luò)節(jié)點或物理節(jié)點的示例包括但是不限于服務(wù)器和交換機(jī)。應(yīng)當(dāng)理解,在數(shù)據(jù)中心的場景中,計算節(jié)點、存儲節(jié)點或交換機(jī)節(jié)點既可以在虛擬節(jié)點上實現(xiàn),也可以在物理節(jié)點上實現(xiàn)。
在一些實施方式中,利用計算設(shè)備來提供虛擬pdu包括:利用計算設(shè)備來提供用戶接口,以使得虛擬pdu經(jīng)由該用戶接口、基于預(yù)定的通信協(xié)議與用戶進(jìn)行通信。該通信協(xié)議的示例包括、但是不限于簡單網(wǎng)絡(luò)管理協(xié)議(simplenetworkmanagementprotocol,snmp)。
可以理解,物理pdu具有與之相關(guān)聯(lián)的管理信息庫(mib)。物理pdu中的每一個可訪問的資源被抽象成一個對象(object),這些對象的集合構(gòu)成了mib。mib定義了對象的一系列屬性,例如對象的名稱、對象的訪問權(quán)限和對象的數(shù)據(jù)類型等。就此而言,在一些實施方式中,利用計算設(shè)備來提供虛擬pdu包括:獲取與待模擬的物理pdu相關(guān)聯(lián)的mib,并且基于該mib來模擬該物理pdu,以獲得相應(yīng)的虛擬pdu。
在一些實施方式中,利用計算設(shè)備來提供虛擬pdu包括:利用計算設(shè)備來提供虛擬pdu的pdu服務(wù)組件,該pdu服務(wù)組件模擬相應(yīng)的物理pdu的功能和特征。
在一些實施方式中,利用計算設(shè)備來提供虛擬pdu包括:利用計算設(shè)備來提供虛擬pdu的控制組件,該控制組件包括用于虛擬節(jié)點的第一類型的控制接口和用于物理節(jié)點的第二類型的控制接口,并且第一類型的控制接口不同于第二類型的控制接口。
可以理解,從不同的廠商獲得的虛擬機(jī),例如vmwareworkstation、virtualbox、qemu等,通常具有可以從外部進(jìn)行控制的不同接口。就此而言,用于虛擬節(jié)點的第一類型的控制接口可以包括用于從不同廠商獲得的不同虛擬機(jī)的多個不同控制接口。由此,可以滿足采用不同廠商的虛擬機(jī)的用戶的需求。
在一些實施方式中,使得虛擬pdu控制網(wǎng)絡(luò)節(jié)點的電力供應(yīng)包括使得虛擬pdu的控制組件響應(yīng)于接收到來自用戶的控制命令而執(zhí) 行以下步驟:識別控制命令所針對的虛擬pdu的虛擬供電端口;確定與虛擬供電端口相耦合的網(wǎng)絡(luò)節(jié)點的類型是虛擬型還是物理型;以及基于該確定而采用第一類型的控制接口或第二類型的控制接口來控制網(wǎng)絡(luò)節(jié)點。
在一些實施方式中,基于該確定而采用第一類型的控制接口或第二類型的控制接口來控制網(wǎng)絡(luò)節(jié)點包括:基于該確定而將控制命令轉(zhuǎn)換為適于第一類型的控制接口或第二類型的控制接口的控制命令;以及向第一類型的控制接口或第二類型的控制接口提供經(jīng)轉(zhuǎn)換的控制命令。
作為一個示例,在確定與虛擬供電端口相耦合的網(wǎng)絡(luò)節(jié)點的類型是虛擬型的情況下,將控制命令轉(zhuǎn)換為適于第一類型的控制接口的控制命令,并且向該第一類型的控制接口提供經(jīng)轉(zhuǎn)換的控制命令,以控制與該虛擬供電端口相耦合的虛擬節(jié)點。
作為另一個示例,在確定與虛擬供電端口相耦合的網(wǎng)絡(luò)節(jié)點的類型是物理型的情況下,將控制命令轉(zhuǎn)換為適于第二類型的控制接口的控制命令,并且向該第二類型的控制接口提供經(jīng)轉(zhuǎn)換的控制命令,以控制與該虛擬供電端口相耦合的物理節(jié)點。
應(yīng)當(dāng)理解,物理節(jié)點可以通過任何適當(dāng)?shù)姆绞脚c虛擬pdu的虛擬供電端口相耦合,本發(fā)明實施方式的范圍在此方面不受限制。
例如,物理節(jié)點可以經(jīng)由能夠與虛擬pdu進(jìn)行通信的物理pdu而與虛擬pdu的虛擬供電端口相耦合。換言之,物理節(jié)點可以與物理pdu的物理供電端口相耦合,而該物理pdu的該物理供電端口與虛擬pdu的預(yù)定虛擬供電端口相關(guān)聯(lián)。由此,虛擬pdu可以響應(yīng)于從用戶接收到針對虛擬pdu的該虛擬供電端口的控制命令,識別與該虛擬供電端口相關(guān)聯(lián)的物理供電端口;基于物理pdu的mib,將該控制命令轉(zhuǎn)換為該物理供電端口能夠識別的控制命令;并且將經(jīng)轉(zhuǎn)換的控制命令發(fā)送到該物理供電端口,以控制與該物理供電端口相耦合的物理節(jié)點。
又如,物理節(jié)點可以經(jīng)由能夠與虛擬pdu進(jìn)行通信的基板管理 控制器(bmc)而與虛擬pdu的虛擬供電端口相耦合。在此情況下,虛擬pdu可以響應(yīng)于從用戶接收到針對虛擬pdu的該虛擬供電端口的控制命令,識別與該虛擬供電端口相關(guān)聯(lián)的bmc;將該控制命令轉(zhuǎn)換為該bmc能夠識別的控制命令;并且將經(jīng)轉(zhuǎn)換的控制命令發(fā)送到該bmc,以控制與該bmc相耦合的物理節(jié)點。
在一些實施方式中,利用計算設(shè)備來提供虛擬pdu包括:使得虛擬pdu被遠(yuǎn)程配置。換言之,管理員可以根據(jù)任何適當(dāng)?shù)倪h(yuǎn)程登錄協(xié)議來遠(yuǎn)程登錄該計算設(shè)備以對虛擬pdu進(jìn)行遠(yuǎn)程配置。遠(yuǎn)程登錄協(xié)議的示例可以包括但是不限于:安全外殼協(xié)議(secureshell,ssh)、telnet協(xié)議和http協(xié)議。
在一些實施方式中,對虛擬pdu進(jìn)行遠(yuǎn)程配置包括以下各項中的至少一項:
●設(shè)置虛擬pdu的ip地址。
●在虛擬pdu的供電端口(outlet)和網(wǎng)絡(luò)設(shè)備之間建立映射。一般而言,一個供電端口被用來控制一個網(wǎng)絡(luò)設(shè)備。然而,在一些實施方式中,可以將兩個供電端口映射到一個網(wǎng)絡(luò)設(shè)備,以模擬pdu的冗余。
●開啟、關(guān)閉或重新啟動虛擬pdu服務(wù)。
●為虛擬pdu的供電端口設(shè)置密碼。一些物理pdu需要提供密碼來控制網(wǎng)絡(luò)設(shè)備的電力供應(yīng)。
●動態(tài)遙測數(shù)據(jù)設(shè)置。
可以為虛擬pdu設(shè)置遙測模式。一旦虛擬pdu處于該遙測模式下,如果從用戶接收到獲取例如電壓、電流或電源頻率等的遙測數(shù)據(jù)的請求,虛擬pdu便每次向用戶返回不同的值。
●設(shè)置閾值。
可以為虛擬pdu設(shè)置閾值。例如,當(dāng)虛擬pdu的某個供電端口上的電壓超過該閾值時,虛擬pdu將生成通知消息并且向snmp管理程序或請求方發(fā)送該通知消息。
●錯誤注入。
可以有意地向虛擬pdu注入錯誤,以使得軟件開發(fā)者可以測試所開發(fā)的軟件是否能夠處理或發(fā)現(xiàn)該錯誤。就此而言,可以使得虛擬pdu接收錯誤注入,并且使得虛擬pdu向用戶發(fā)送指示錯誤注入的通知消息。
應(yīng)當(dāng)理解,由于根據(jù)本發(fā)明實施方式的虛擬pdu可以提供用于虛擬節(jié)點的控制接口和用于物理節(jié)點的控制接口,并且用于虛擬節(jié)點的控制接口可以包括針對多個虛擬節(jié)點廠商的控制接口,因而根據(jù)本發(fā)明實施方式的虛擬pdu方案可以擴(kuò)展至其他領(lǐng)域以控制除了虛擬節(jié)點和物理節(jié)點之外的用電設(shè)備,例如空調(diào)。
本發(fā)明的實施方式還提供了一種用于控制網(wǎng)絡(luò)節(jié)點的裝置。圖2示出了根據(jù)本發(fā)明的一個實施方式的用于控制網(wǎng)絡(luò)節(jié)點的裝置200的框圖。裝置200可以在任何適當(dāng)?shù)挠嬎阍O(shè)備上實施。如圖2所示,裝置200包括虛擬pdu提供單元210,被配置為提供虛擬pdu,以使得所述虛擬pdu根據(jù)與所述虛擬pdu相耦合的網(wǎng)絡(luò)節(jié)點的類型來控制所述網(wǎng)絡(luò)節(jié)點的電力供應(yīng)。
在一些實施方式中,網(wǎng)絡(luò)節(jié)點的類型包括虛擬型和物理型中的至少一項。
在一些實施方式中,虛擬pdu提供單元210被進(jìn)一步配置為:提供該虛擬pdu的控制組件,該控制組件包括用于虛擬型網(wǎng)絡(luò)節(jié)點的第一類型的控制接口和用于物理型網(wǎng)絡(luò)節(jié)點的第二類型的控制接口,該第一類型的控制接口不同于該第二類型的控制接口。
在一些實施方式中,虛擬pdu提供單元210被進(jìn)一步配置為使得該虛擬pdu的控制組件響應(yīng)于接收到來自用戶的控制命令而:識別該控制命令所針對的該虛擬pdu的虛擬供電端口;確定與該虛擬供電端口相耦合的網(wǎng)絡(luò)節(jié)點的類型是該虛擬型還是該物理型;以及基于該確定而采用該第一類型的控制接口或該第二類型的控制接口來控制該網(wǎng)絡(luò)節(jié)點。
在一些實施方式中,虛擬pdu提供單元210被進(jìn)一步配置為:基于該確定而將該控制命令轉(zhuǎn)換為適于該第一類型的控制接口或該 第二類型的控制接口的控制命令;以及向該第一類型的控制接口或該第二類型的控制接口提供經(jīng)轉(zhuǎn)換的控制命令。
在一些實施方式中,虛擬pdu提供單元210被進(jìn)一步配置為:使得該虛擬pdu被遠(yuǎn)程配置。
在一些實施方式中,虛擬pdu提供單元210被進(jìn)一步配置為:使得該虛擬pdu接收錯誤注入;以及使得該虛擬pdu向用戶發(fā)送指示該錯誤注入的通知消息。
在一些實施方式中,該虛擬型網(wǎng)絡(luò)節(jié)點至少包括第一虛擬型網(wǎng)絡(luò)節(jié)點和第二虛擬型網(wǎng)絡(luò)節(jié)點,該第二虛擬型網(wǎng)絡(luò)節(jié)點不同于該第一虛擬型網(wǎng)絡(luò)節(jié)點;并且其中該第一類型的控制接口至少包括用于該第一虛擬型網(wǎng)絡(luò)節(jié)點的第一控制接口和用于該第二虛擬型網(wǎng)絡(luò)節(jié)點的第二控制接口,該第一控制接口不同于該第二控制接口。
在一些實施方式中,該虛擬pdu提供單元210被進(jìn)一步配置為:使得該虛擬pdu從虛擬型網(wǎng)絡(luò)節(jié)點獲取該虛擬型網(wǎng)絡(luò)節(jié)點的資源利用率;以及基于所獲取的資源利用率來估計該虛擬型網(wǎng)絡(luò)節(jié)點的功率消耗。
本發(fā)明的實施方式還提供了一種服務(wù)器,包括:一個或多個處理器;存儲有計算機(jī)程序指令的存儲器,當(dāng)由一個或多個處理器執(zhí)行計算機(jī)程序指令時使得該服務(wù)器執(zhí)行根據(jù)本發(fā)明實施方式的方法。
本發(fā)明的實施方式還提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序指令,當(dāng)由計算設(shè)備執(zhí)行該計算機(jī)程序指令時使得該計算設(shè)備執(zhí)行根據(jù)本發(fā)明實施方式的方法。
圖3示出根據(jù)本發(fā)明的另一個實施方式的用于控制網(wǎng)絡(luò)節(jié)點的裝置300的框圖。裝置300可以作為圖2所示的裝置200的一種實現(xiàn)方式。
如前所述,虛擬pdu可以基于snmp協(xié)議與用戶進(jìn)行通信。就此而言,裝置300包括作為虛擬pdu的用戶接口的snmp模擬器310。snmp模擬器310包括snmp模塊311和可選的mib處理模塊312。
snmp模塊311被配置為從用戶接收snmp請求并對所接收的 snmp請求進(jìn)行處理。snmp請求的示例包括但是不限于snmpset請求和snmpget請求。此外,snmp模塊311被配置為從用戶接收錯誤注入,并且向用戶發(fā)送指示該錯誤注入的通知消息,例如trap(陷阱)消息。
可選的mib處理模塊312被配置為獲取待模擬的物理pdu的mib。例如,mib處理模塊312可以被配置為從數(shù)據(jù)中心中正在使用的待模擬的物理pdu處獲取該mib數(shù)據(jù)并將所獲取的mib數(shù)據(jù)存儲到mib數(shù)據(jù)庫(未示出)??商鎿Q地,mib處理模塊312可以被配置為基于pdu廠商所提供的待模擬的物理pdu的mib信息而在本地生成mib數(shù)據(jù)并將所生成的mib數(shù)據(jù)存儲到mib數(shù)據(jù)庫。
裝置300進(jìn)一步包括虛擬pdu服務(wù)組件320。虛擬pdu服務(wù)組件320被配置為模擬相應(yīng)的物理pdu的功能和特征。mib處理模塊312從用戶接收到snmp請求后,從所接收的snmp請求中提取出對象標(biāo)識符(oid)以及該oid的值,并且將提所取出的oid以及oid的值發(fā)送至虛擬pdu服務(wù)組件320。虛擬pdu服務(wù)組件320基于該oid以及oid的值來采取適當(dāng)?shù)牟僮鳌?/p>
裝置300進(jìn)一步包括控制組件330。控制組件330包括用于虛擬節(jié)點的控制接口和用于物理節(jié)點的控制接口,并且第一類型的控制接口不同于第二類型的控制接口。如圖3所示,虛擬節(jié)點包括虛擬節(jié)點vmware341和342、虛擬節(jié)點virtualbox343和345、虛擬節(jié)點qemu343。物理節(jié)點包括物理節(jié)點346和347。相應(yīng)地,用于虛擬節(jié)點的控制接口包括vmware控制接口331、virtualbox控制接口332、qemu控制接口333、以及物理節(jié)點控制接口334。
圖4示出了圖3中的用于控制網(wǎng)絡(luò)節(jié)點的裝置300的各組件之間的通信。
在步驟s410,snmp模擬器310從用戶接收snmp請求并對所接收的snmp請求進(jìn)行處理。具體地,例如,如果所接收的snmp請求為snmpset請求,則在步驟s420,mib處理模塊312查看mib數(shù)據(jù)庫350,以確定snmpset請求中所指示的對象是否存在于mib 數(shù)據(jù)庫350中。如果snmpset請求中所指示的對象并不存在于mib數(shù)據(jù)庫350中,則snmp模擬器310向用戶返回指示錯誤的消息;如果snmpset請求中所指示的對象存在于mib數(shù)據(jù)庫350中,則snmp模擬器310從所接收的snmp請求中提取出對象標(biāo)識符(oid)以及該oid的值,并且將提所取出的oid以及oid的值通過管道發(fā)送至虛擬pdu服務(wù)組件320。虛擬pdu服務(wù)組件320基于該oid以及oid的值而在步驟s430控制相應(yīng)節(jié)點。
此外,如果所接收的snmp請求為snmpset請求,則在步驟s420,mib處理模塊312還將從所接收的snmp請求中提取出對象標(biāo)識符(oid)以及該oid的值寫入mib數(shù)據(jù)庫350中。
另外,如果所接收的snmp請求為snmpget請求,則snmp模擬器310從所接收的snmp請求中提取出oid,并且在步驟s420,mib處理模塊312從mib數(shù)據(jù)庫350中讀取該oid的值。隨后,snmp模擬器310將該oid的值返回至用戶。
進(jìn)一步,如圖4所示,管理員可以基于ssh或telnet協(xié)議、利用控制服務(wù)組件360來遠(yuǎn)程登錄虛擬pdu服務(wù)組件320,以對虛擬pdu進(jìn)行遠(yuǎn)程配置。例如,在步驟s440,控制服務(wù)組件360將針對虛擬pdu的設(shè)置的動態(tài)遙測數(shù)據(jù)存儲到mib數(shù)據(jù)庫350中。在步驟s450,控制服務(wù)組件360將針對虛擬pdu的設(shè)置存儲到配置數(shù)據(jù)庫360中。在步驟s450,虛擬pdu服務(wù)組件320從配置數(shù)據(jù)庫360中讀取設(shè)置。在步驟s470,控制服務(wù)組件360開啟/關(guān)閉虛擬pdu服務(wù)組件320的服務(wù)。
在步驟s480,虛擬pdu服務(wù)組件320從節(jié)點341-34n中的一個或多個獲取節(jié)點的資源(例如,cpu和/或存儲器)利用率,從而可以基于所獲取的資源利用率來估計相應(yīng)節(jié)點的功率消耗。就此而言,利用本發(fā)明的實施方式不僅可以控制物理節(jié)點的電力供應(yīng),而且還可以控制虛擬節(jié)點(例如虛擬機(jī))的功率消耗。
在步驟s490,虛擬pdu服務(wù)組件320從mib數(shù)據(jù)庫350讀取或?qū)懭雖ib數(shù)據(jù)。
圖5示出了一個可以用來實施本發(fā)明實施方式的設(shè)備500的示意性框圖。如圖所示,設(shè)備500包括中央處理單元(cpu)501,其可以根據(jù)存儲在只讀存儲器(rom)502中的計算機(jī)程序指令或者從存儲單元508加載到隨機(jī)訪問存儲器(ram)503中的計算機(jī)程序指令,來執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚?。在ram503中,還可存儲設(shè)備500操作所需的各種程序和數(shù)據(jù)。cpu501、rom502以及ram503通過總線504彼此相連。輸入/輸出(i/o)接口505也連接至總線504。
設(shè)備500中的多個部件連接至i/o接口505,包括:輸入單元506,例如鍵盤、鼠標(biāo)等;輸出單元507,例如各種類型的顯示器、揚聲器等;存儲單元508,例如磁盤、光盤等;以及通信單元509,例如網(wǎng)卡、調(diào)制解調(diào)器、無線通信收發(fā)機(jī)等。通信單元509允許設(shè)備500通過諸如因特網(wǎng)的計算機(jī)網(wǎng)絡(luò)和/或各種電信網(wǎng)絡(luò)與其他設(shè)備交換信息/數(shù)據(jù)。
上文所描述的各個過程和處理,例如方法100,可由處理單元501執(zhí)行。例如,在一些實施例中,方法100可被實現(xiàn)為計算機(jī)軟件程序,其被有形地包含于機(jī)器可讀介質(zhì),例如存儲單元508。在一些實施例中,計算機(jī)程序的部分或者全部可以經(jīng)由rom502和/或通信單元509而被載入和/或安裝到設(shè)備500上。當(dāng)計算機(jī)程序被加載到ram503并由cpu501執(zhí)行時,可以執(zhí)行上文描述的方法100的一個或多個步驟。
一般而言,本發(fā)明的各種示例實施方式可以在硬件或?qū)S秒娐?、軟件、邏輯,或其任何組合中實施。某些方面可以在硬件中實施,而其他方面可以在可以由控制器、微處理器或其他計算設(shè)備執(zhí)行的固件或軟件中實施。當(dāng)本發(fā)明的實施方式的各方面被圖示或描述為框圖、流程圖或使用某些其他圖形表示時,將理解此處描述的方框、裝置、系統(tǒng)、技術(shù)或方法可以作為非限制性的示例在硬件、軟件、固件、專用電路或邏輯、通用硬件或控制器或其他計算設(shè)備,或其某些組合中實施。
而且,流程圖中的各框可以被看作是方法步驟,和/或計算機(jī)程序 代碼的操作生成的操作,和/或理解為執(zhí)行相關(guān)功能的多個耦合的邏輯電路元件。例如,本發(fā)明的實施方式包括計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品包括有形地實現(xiàn)在計算機(jī)可讀介質(zhì)上的計算機(jī)程序,該計算機(jī)程序包含被配置為實現(xiàn)上文描述方法的程序代碼。
在公開的上下文內(nèi),計算機(jī)可讀介質(zhì)可以是包含或存儲用于或有關(guān)于指令執(zhí)行系統(tǒng)、裝置或設(shè)備的程序的任何有形介質(zhì)。計算機(jī)可讀介質(zhì)可以是機(jī)器可讀信號介質(zhì)或機(jī)器可讀存儲介質(zhì)。計算機(jī)可讀介質(zhì)可以包括但不限于電子的、磁的、光學(xué)的、電磁的、紅外的或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或其任意合適的組合。機(jī)器可讀存儲介質(zhì)的更詳細(xì)示例包括帶有一根或多根導(dǎo)線的電氣連接、便攜式計算機(jī)存儲盤、存儲盤、隨機(jī)存儲存取器(ram)、只讀存儲器(rom)、可擦除可編程只讀存儲器(eprom或閃存)、光存儲設(shè)備、磁存儲設(shè)備,或其任意合適的組合。
用于實現(xiàn)本發(fā)明的方法的計算機(jī)程序代碼可以用一種或多種編程語言編寫。這些計算機(jī)程序代碼可以提供給通用計算機(jī)、專用計算機(jī)或其他可編程的數(shù)據(jù)處理裝置的處理器,使得程序代碼在被計算機(jī)或其他可編程的數(shù)據(jù)處理裝置執(zhí)行的時候,引起在流程圖和/或框圖中規(guī)定的功能/操作被實施。程序代碼可以完全在計算機(jī)上、部分在計算機(jī)上、作為獨立的軟件包、部分在計算機(jī)上且部分在遠(yuǎn)程計算機(jī)上或完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。
另外,盡管操作以特定順序被描繪,但這并不應(yīng)該理解為要求此類操作以示出的特定順序或以相繼順序完成,或者執(zhí)行所有圖示的操作以獲取期望結(jié)果。在某些情況下,多任務(wù)或并行處理會是有益的。同樣地,盡管上述討論包含了某些特定的實施細(xì)節(jié),但這并不應(yīng)解釋為限制任何發(fā)明或權(quán)利要求的范圍,而應(yīng)解釋為對可以針對特定發(fā)明的特定實施方式的描述。本說明書中在分開的實施方式的上下文中描述的某些特征也可以整合實施在單個實施方式中。相反地,在單個實施方式的上下文中描述的各種特征也可以分離地在多個實施方式或在任意合適的子組合中實施。
針對前述本發(fā)明的示例實施方式的各種修改、改變將在連同附圖查看前述描述時對相關(guān)技術(shù)領(lǐng)域的技術(shù)人員變得明顯。任何及所有修改將仍落入非限制的和本發(fā)明的示例實施方式范圍。此外,前述說明書和附圖存在啟發(fā)的益處,涉及本發(fā)明的這些實施方式的技術(shù)領(lǐng)域的技術(shù)人員將會想到此處闡明的本發(fā)明的其他實施方式。
將會理解,本發(fā)明的實施方式不限于公開的特定實施方式,并且修改和其他實施方式都應(yīng)包含于所附的權(quán)利要求范圍內(nèi)。盡管此處使用了特定的術(shù)語,但是它們僅在通用和描述的意義上使用,而并不用于限制目的。