亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于彈性伸縮虛擬機(jī)集群的方法和裝置與流程

文檔序號:11949738閱讀:460來源:國知局
用于彈性伸縮虛擬機(jī)集群的方法和裝置與流程

本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及用于彈性伸縮虛擬機(jī)集群的方法和裝置。



背景技術(shù):

彈性伸縮虛擬機(jī)集群,即在需要的時候增加虛擬機(jī)到集群中,或者用更高配的虛擬機(jī)替換原有的虛擬機(jī),不需要的時候從集群中刪除虛擬機(jī),或者用低配的虛擬機(jī)替換原有的虛擬機(jī),從而達(dá)到降低整個虛擬機(jī)集群成本的目的,提高虛擬機(jī)集群的投入產(chǎn)出比。

在現(xiàn)有技術(shù)中,虛擬機(jī)集群中的虛擬機(jī)配置等級完全相同,集群的彈性伸縮通常是通過監(jiān)控集群的狀態(tài)適應(yīng)性調(diào)整集群的虛擬機(jī)數(shù)量來實(shí)現(xiàn)的。例如,可以在監(jiān)控到虛擬機(jī)的CPU利用率、內(nèi)存占用率、網(wǎng)絡(luò)訪問量等指標(biāo)超過一個閾值時添加新的虛擬機(jī)到集群中,在監(jiān)控到的上述指標(biāo)低于另一個閾值時從集群中釋放一臺虛擬機(jī)。

然而,上述基于監(jiān)控的彈性伸縮虛擬機(jī)集群的技術(shù),存在如下問題:由于監(jiān)控有一定的時延,需要等收集到監(jiān)控數(shù)據(jù)并且監(jiān)控數(shù)據(jù)到達(dá)閾值時才能添加新的虛擬機(jī)或釋放集群中的虛擬機(jī);而且新創(chuàng)建的虛擬機(jī)需要花一定時間才能創(chuàng)建完成,從而導(dǎo)致整個伸縮過程滯后比較長的時間。此外,同構(gòu)的虛擬機(jī)配置等級相同,不利于通過混合部署服務(wù)來最大化每個虛擬機(jī)的資源利用率。



技術(shù)實(shí)現(xiàn)要素:

本申請的目的在于提出一種改進(jìn)的用于彈性伸縮虛擬機(jī)集群的方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。

第一方面,本申請?zhí)峁┝艘环N用于彈性伸縮虛擬機(jī)集群的方法,所述方法包括:在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量;獲取待部署服務(wù)的資源需求量;獲取虛擬機(jī)集群中虛擬機(jī)的配置等級;根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級的虛擬機(jī)作為目標(biāo)虛擬機(jī);將所述待部署服務(wù)部署至所述目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級的虛擬機(jī)作為目標(biāo)虛擬機(jī)包括:響應(yīng)于所述第一剩余資源量滿足所述資源需求量,選擇配置等級最高的虛擬機(jī)中的一臺作為目標(biāo)虛擬機(jī);或響應(yīng)于所述第一剩余資源量不滿足所述資源需求量,從所述虛擬機(jī)集群中選擇配置等級最低的虛擬機(jī)中的一臺作為參考虛擬機(jī),并基于所述參考虛擬機(jī)是否為最高配置等級,確定目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述基于所述參考虛擬機(jī)是否為最高配置等級,確定目標(biāo)虛擬機(jī)包括:響應(yīng)于所述參考虛擬機(jī)的配置等級是最高配置等級,申請一臺滿足所述資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入所述虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述參考虛擬機(jī)的配置等級不是最高配置等級,計(jì)算對所述參考虛擬機(jī)提升配置等級后的虛擬機(jī)的第二剩余資源量,基于所述第二剩余資源量是否滿足所述資源需求量,確定目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述基于所述第二剩余資源量是否滿足所述資源需求量,確定目標(biāo)虛擬機(jī)包括:響應(yīng)于所述第二剩余資源量滿足所述資源需求量,申請一臺提升配置等級后的虛擬機(jī),將所述參考虛擬機(jī)上的服務(wù)遷移至申請的虛擬機(jī)中,釋放所述參考虛擬機(jī),將所述申請的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述第二剩余資源量未滿足所述資源需求量,申請一臺滿足所述資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述響應(yīng)于所述第一剩余資源量滿足所述資源需求量,選擇配置等級最高的虛擬機(jī)中的一臺作為目標(biāo)虛擬機(jī)包括:響應(yīng)于所述第一剩余資源量滿足所述資源需求量,若所述配置等級最高的虛擬機(jī)的數(shù)量大于1,則選擇所述配置等級最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述從虛擬機(jī)集群中選擇配置等級最低的虛擬機(jī)中的一臺作為參考虛擬機(jī)包括:若虛擬機(jī)集群中配置等級最低的虛擬機(jī)的數(shù)量大于1,則選擇配置等級最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。

在一些實(shí)施例中,所述方法還包括以下釋放虛擬機(jī)的步驟:從所述虛擬機(jī)集群中選擇至少一臺被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī);判斷所述虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量是否滿足部署所述待釋放虛擬機(jī)上的服務(wù)所需要的資源量;若是,則將待釋放虛擬機(jī)上的服務(wù)遷移至所述其他虛擬機(jī),并釋放所述待釋放虛擬機(jī)。

在一些實(shí)施例中,從所述虛擬機(jī)集群中選擇至少一臺被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī)包括:若被占用資源最少的虛擬機(jī)的數(shù)量大于1,則選擇被占用資源最少的虛擬機(jī)中配置等級最低的虛擬機(jī)作為所述待釋放虛擬機(jī)。

在一些實(shí)施例中,所述方法還包括:間隔預(yù)定時間重復(fù)執(zhí)行所述釋放虛擬機(jī)的步驟。

第二方面,本申請?zhí)峁┝艘环N用于彈性伸縮虛擬機(jī)集群的裝置,所述裝置包括:余量計(jì)算單元,用于在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量;需求獲取單元,用于獲取待部署服務(wù)的資源需求量;等級獲取單元,用于獲取虛擬機(jī)集群中虛擬機(jī)的配置等級;目標(biāo)確定單元,用于根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級的虛擬機(jī)作為目標(biāo)虛擬機(jī);服務(wù)部署單元,用于將所述待部署服務(wù)部署至所述目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述目標(biāo)確定單元包括:第一目標(biāo)確定子單元,用于響應(yīng)于所述第一剩余資源量滿足所述資源需求量,選擇配置等級最高的虛擬機(jī)中的一臺作為目標(biāo)虛擬機(jī);或第二目標(biāo)確定子單元,用于響應(yīng)于所述第一剩余資源量不滿足所述資源需求量,從所述虛擬機(jī)集群中選擇配置等級最低的虛擬機(jī)中的一臺作為參考虛擬機(jī),并基于所述參考虛擬機(jī)是否為最高配置等級,確定目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述第二目標(biāo)確定子單元進(jìn)一步用于:響應(yīng)于所述參考虛擬機(jī)的配置等級是最高配置等級,申請一臺滿足所述資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入所述虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述參考虛擬機(jī)的配置等級不是最高配置等級,計(jì)算對所述參考虛擬機(jī)提升配置等級后的虛擬機(jī)的第二剩余資源量,基于所述第二剩余資源量是否滿足所述資源需求量,確定目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述第二目標(biāo)確定子單元進(jìn)一步用于:響應(yīng)于所述第二剩余資源量滿足所述資源需求量,申請一臺提升配置等級后的虛擬機(jī),將所述參考虛擬機(jī)上的服務(wù)遷移至申請的虛擬機(jī)中,釋放所述參考虛擬機(jī),將所述申請的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述第二剩余資源量未滿足所述資源需求量,申請一臺滿足所述資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述第一目標(biāo)確定子單元進(jìn)一步用于:響應(yīng)于所述第一剩余資源量滿足所述資源需求量,若所述配置等級最高的虛擬機(jī)的數(shù)量大于1,則選擇所述配置等級最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

在一些實(shí)施例中,所述第二目標(biāo)確定子單元進(jìn)一步用于:若虛擬機(jī)集群中配置等級最低的虛擬機(jī)的數(shù)量大于1,則選擇配置等級最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。

在一些實(shí)施例中,所述裝置還包括虛擬機(jī)釋放單元,所述虛擬機(jī)釋放單元包括:目標(biāo)選定子單元,用于從所述虛擬機(jī)集群中選擇至少一臺被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī);資源判斷子單元,用于判斷所述虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量是否滿足部署所述待釋放虛擬機(jī)上的服務(wù)所需要的資源量;虛擬機(jī)釋放子單元,用于若所述虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量滿足部署所述待釋放虛擬機(jī)上的服務(wù)所需要的資源量,則將待釋放虛擬機(jī)上的服務(wù)遷移至所述其他虛擬機(jī),并釋放所述待釋放虛擬機(jī)。

在一些實(shí)施例中,所述目標(biāo)選定單元進(jìn)一步用于:若被占用資源最少的虛擬機(jī)的數(shù)量大于1,則選擇被占用資源最少的虛擬機(jī)中配置等級最低的虛擬機(jī)作為所述待釋放虛擬機(jī)。

在一些實(shí)施例中,所述裝置還包括:定時釋放單元,用于間隔預(yù)定時間調(diào)用所述虛擬機(jī)釋放單元以釋放虛擬機(jī)。

本申請?zhí)峁┑挠糜趶椥陨炜s虛擬機(jī)集群的方法和裝置,通過在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量,而后獲取待部署服務(wù)的資源需求量,之后獲取虛擬機(jī)集群中虛擬機(jī)的配置等級,之后根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級的虛擬機(jī)作為目標(biāo)虛擬機(jī),最后將所述待部署服務(wù)部署至所述目標(biāo)虛擬機(jī),從而可以在包括不同配置等級的虛擬機(jī)集群中部署服務(wù),并且可以在單個虛擬機(jī)上混合布置不同的服務(wù),從而降低了部署服務(wù)的成本并且提高了虛擬機(jī)集群的資源利用率。

附圖說明

通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:

圖1是本申請可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;

圖2是根據(jù)本申請的用于彈性伸縮虛擬機(jī)集群的方法的一個實(shí)施例的流程圖;

圖3是根據(jù)本申請的用于彈性伸縮虛擬機(jī)集群的方法的一個應(yīng)用場景的流程圖;

圖4是根據(jù)本申請的用于彈性伸縮虛擬機(jī)集群的方法中釋放虛擬機(jī)的方法的一個實(shí)施例的流程圖;

圖5是根據(jù)本申請的用于彈性伸縮虛擬機(jī)集群的裝置的一個實(shí)施例的結(jié)構(gòu)示意圖;

圖6是適于用來實(shí)現(xiàn)本申請實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例對本申請作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。

需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請。

圖1示出了可以應(yīng)用本申請的用于彈性伸縮虛擬機(jī)集群的方法或用于彈性伸縮虛擬機(jī)集群的裝置的實(shí)施例的示例性系統(tǒng)架構(gòu)100。

如圖1所示,系統(tǒng)架構(gòu)100包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104和服務(wù)器105、106。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103和服務(wù)器105、106之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)104包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。

用戶110可以使用終端設(shè)備101、102、103通過網(wǎng)絡(luò)104與服務(wù)器105、106交互,以接收或發(fā)送消息等。終端設(shè)備101、102、103上可以安裝有各種通訊客戶端應(yīng)用,例如網(wǎng)頁瀏覽器應(yīng)用、購物類應(yīng)用、搜索類應(yīng)用、即時通信工具、郵箱客戶端、社交平臺軟件等。

終端設(shè)備101、102、103可以是具有顯示屏并且支持網(wǎng)頁瀏覽的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4(Moving Picture Experts Group Audio Layer IV,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺式計(jì)算機(jī)等等。

服務(wù)器105和106可以是提供各種服務(wù)的虛擬機(jī)集群中的虛擬機(jī),例如對終端設(shè)備101、102、103上顯示的網(wǎng)頁提供支持的后臺網(wǎng)頁虛擬機(jī)集群中的虛擬機(jī)。后臺網(wǎng)頁虛擬機(jī)集群可以對接收到的網(wǎng)頁頁面請求等數(shù)據(jù)進(jìn)行分析等處理,并將處理結(jié)果(例如網(wǎng)頁頁面數(shù)據(jù))反饋給終端設(shè)備。

需要說明的是,本申請實(shí)施例所提供的用于彈性伸縮虛擬機(jī)集群的方法一般由包括虛擬機(jī)105、106的虛擬機(jī)集群執(zhí)行,相應(yīng)地,用于彈性伸縮虛擬機(jī)集群的裝置一般設(shè)置于包括虛擬機(jī)105、106的虛擬機(jī)集群中。

應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和虛擬機(jī)集群中的虛擬機(jī)的數(shù)目僅僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和虛擬機(jī)。

繼續(xù)參考圖2,示出了根據(jù)本申請的用于彈性伸縮虛擬機(jī)集群的方法的一個實(shí)施例的流程200。所述的用于彈性伸縮虛擬機(jī)集群的方法,包括以下步驟:

步驟201,在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量。

在本實(shí)施例中,虛擬機(jī)集群可以是公有云或者私有云的中的虛擬機(jī)集群,該虛擬機(jī)集群需要使用虛擬機(jī)部署服務(wù),并且具有可以訪問創(chuàng)建和釋放虛擬機(jī)的API。在這里,被部署的服務(wù)是無狀態(tài)的,即數(shù)據(jù)可以是存在于外部存儲中,譬如數(shù)據(jù)庫、對象存儲等,而不能保存于本地磁盤上。

在部署服務(wù)時,為了確定哪些虛擬機(jī)內(nèi)具有的剩余資源量可以直接部署服務(wù),需要首先計(jì)算虛擬機(jī)集群內(nèi)各個虛擬機(jī)的剩余資源量,這里的剩余資源量等于該虛擬機(jī)的總資源減去該虛擬機(jī)上部署服務(wù)所需的資源的總和,也即上述的第一剩余資源量。

步驟202,獲取待部署服務(wù)的資源需求量。

在本實(shí)施例中,在部署服務(wù)的時候,為了確定哪些虛擬機(jī)內(nèi)具有的剩余資源量可以直接部署服務(wù),在計(jì)算虛擬機(jī)集群內(nèi)各個虛擬機(jī)的剩余資源量之后,需要進(jìn)一步獲取輸入的對待部署服務(wù)所需要的資源需求量的預(yù)算,即該服務(wù)需要使用多少核中央處理器(CPU)、多少兆(M)內(nèi)存等。

步驟203,獲取虛擬機(jī)集群中虛擬機(jī)的配置等級。

在本實(shí)施例中,虛擬機(jī)集群中虛擬機(jī)的配置等級為預(yù)設(shè)的多個等級,每個等級具有特定的資源配置(CPU核數(shù)、內(nèi)存大小),并且配置等級越高,折合的資源成本(每CPU核、每M內(nèi)存成本)越低。

在這里,獲取虛擬機(jī)集群中虛擬機(jī)的配置等級,是為了確定該虛擬機(jī)是否可以升級至更高配置等級,以及在該虛擬機(jī)可以升級至更高配置等級時,確定該虛擬機(jī)應(yīng)當(dāng)升級至哪一種配置等級。

步驟204,根據(jù)第一剩余資源量是否滿足資源需求量,確定具有預(yù)定配置等級的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

在本實(shí)施例中,首先可以根據(jù)第一剩余資源量是否滿足資源需求量,確定是否需要新申請?zhí)摂M機(jī):若第一剩余資源量滿足資源需求量,則可以充分利用第一剩余資源量部署服務(wù);若第一剩余資源量不滿足資源需求量,則需要考慮新申請?zhí)摂M機(jī)以部署服務(wù)。

在確定是否需要新申請?zhí)摂M機(jī)之后,可以根據(jù)實(shí)際需要選擇具有預(yù)定配置等級的虛擬機(jī)作為部署服務(wù)的目標(biāo)虛擬機(jī)。這里的虛擬機(jī)集群中虛擬機(jī)的配置等級,可以根據(jù)預(yù)設(shè)的虛擬機(jī)配置等級檔次分為多個檔次,每個檔次的資源配置等級(CPU核數(shù)、內(nèi)存大小)不同,并且配置等級越高,折合的資源成本(每CPU核、每M內(nèi)存成本)越低。

示例性的,若第一剩余資源量滿足資源需求量,為了提高資源利用率,可以選擇最低配置的虛擬機(jī)作為目標(biāo)虛擬機(jī);為了減少該服務(wù)進(jìn)行遷移的可能,則可以選擇配置等級最高的虛擬機(jī)中的一臺作為目標(biāo)虛擬機(jī),由于該目標(biāo)虛擬機(jī)為最高配置等級,因此后續(xù)不會再對該虛擬機(jī)進(jìn)行升級,從而減少了該服務(wù)進(jìn)行遷移的可能。

示例性的,若第一剩余資源量不滿足資源需求量,為了提高資源利用率,則可以從虛擬機(jī)集群中選擇配置等級最低的虛擬機(jī)中的一臺作為參考虛擬機(jī),并基于參考虛擬機(jī)是否為最高配置等級,確定目標(biāo)虛擬機(jī)。

在確定參考虛擬機(jī)之后,根據(jù)參考虛擬機(jī)是否為最高配置等級的虛擬機(jī)來確定其是否可以升級為更高配置的虛擬機(jī),從而進(jìn)一步根據(jù)確定結(jié)果確定目標(biāo)虛擬機(jī)。

示例性的,響應(yīng)于參考虛擬機(jī)的配置等級是最高配置等級,那么參考虛擬機(jī)已經(jīng)無法升級為更高等級的虛擬機(jī),此時可以申請一臺滿足資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī)??蛇x地,若配置等級最高的虛擬機(jī)的數(shù)量大于1,為了進(jìn)一步提高資源利用率,可以選擇配置等級最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

備選地,響應(yīng)于參考虛擬機(jī)的配置等級不是最高配置等級,那么參考虛擬機(jī)可以升級為更高等級的虛擬機(jī),此時可以計(jì)算對參考虛擬機(jī)提升配置等級后的虛擬機(jī)的第二剩余資源量,基于第二剩余資源量是否滿足資源需求量來確定目標(biāo)虛擬機(jī)??蛇x地,若虛擬機(jī)集群中配置等級最低的虛擬機(jī)的數(shù)量大于1,為了進(jìn)一步提高資源利用率,可以選擇配置等級最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。

在這里,對參考虛擬機(jī)提升配置等級后的虛擬機(jī),是一臺新申請的更高配置等級的虛擬機(jī),并且將原虛擬機(jī)中的服務(wù)遷移至其中;而第二剩余資源量是指該新申請的虛擬機(jī)在部署原虛擬機(jī)中的服務(wù)后剩余的資源量。

這里的基于第二剩余資源量是否滿足資源需求量,確定目標(biāo)虛擬機(jī),至少可以包括以下兩項(xiàng)之一:若第二剩余資源量滿足資源需求量,則可以申請一臺提升配置等級后的虛擬機(jī),將參考虛擬機(jī)上的服務(wù)遷移至申請的虛擬機(jī)中,釋放參考虛擬機(jī),將申請的虛擬機(jī)加入虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī);以及若第二剩余資源量未滿足資源需求量,則可以申請一臺滿足資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

步驟205,將待部署服務(wù)部署至目標(biāo)虛擬機(jī)。

在本實(shí)施例中,基于步驟204中確定的目標(biāo)虛擬機(jī),可以將待部署服務(wù)部署至目標(biāo)虛擬機(jī)。

在這里,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述的實(shí)施例中的將待部署服務(wù)部署至目標(biāo)虛擬機(jī)的步驟和將申請的虛擬機(jī)加入虛擬機(jī)集群中的步驟,除了按照上述實(shí)施例中示出的執(zhí)行順序執(zhí)行外,還可以并行地執(zhí)行或按相反的順序執(zhí)行。

繼續(xù)參考圖3,其示出了用于彈性伸縮虛擬機(jī)集群的方法的一個應(yīng)用場景的流程300。該用于彈性伸縮虛擬機(jī)集群的方法的流程300,包括以下步驟:

在步驟301中,在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量,之后執(zhí)行步驟302。

在步驟302中,獲取待部署服務(wù)的資源需求量,之后執(zhí)行步驟303。

在步驟303中,獲取第一剩余資源量滿足資源需求量的虛擬機(jī)的列表,之后執(zhí)行步驟304。

在步驟304中,判斷列表是否為空,若否,則執(zhí)行步驟305,若是,則執(zhí)行步驟307。

在步驟305中,選擇列表中配置等級最高的虛擬機(jī)中的一臺作為目標(biāo)虛擬機(jī),之后執(zhí)行步驟306。

在步驟306中,將待部署服務(wù)部署至目標(biāo)虛擬機(jī)中。

在步驟307中,從虛擬機(jī)集群中選擇配置等級最低的虛擬機(jī)中的一臺作為參考虛擬機(jī),之后執(zhí)行步驟308。

在步驟308中,判斷參考虛擬機(jī)的配置等級是否為最高配置等級,若是,則執(zhí)行步驟309,若否,則執(zhí)行步驟311。

在步驟309中,申請一臺滿足資源需求量的最低配置等級的虛擬機(jī),之后執(zhí)行步驟310。

在步驟310中,將待部署服務(wù)部署至申請的虛擬機(jī)并將申請的虛擬機(jī)加入虛擬機(jī)集群中。

在步驟311中,計(jì)算對參考虛擬機(jī)提升配置等級后的虛擬機(jī)的第二剩余資源量,之后執(zhí)行步驟312。

在步驟312中,判斷第二剩余資源量是否滿足資源需求量,若是,則執(zhí)行步驟313,若否,則執(zhí)行步驟317。

在步驟313中,申請一臺提升配置等級后的虛擬機(jī),之后執(zhí)行步驟314。

在步驟314中,將參考虛擬機(jī)上的服務(wù)遷移至申請的虛擬機(jī)中,之后執(zhí)行步驟315。

在步驟315中,釋放參考虛擬機(jī),之后執(zhí)行步驟316。

在步驟316中,將待部署服務(wù)部署于申請的虛擬機(jī)上并將申請的虛擬機(jī)加入虛擬機(jī)集群中。

在步驟317中,申請一臺滿足待部署服務(wù)的資源需求量的最低配置等級的虛擬機(jī)。

在步驟318中,將待部署服務(wù)部署至申請的虛擬機(jī)并將申請的虛擬機(jī)加入虛擬機(jī)集群中。

在上述的應(yīng)用場景中,基于獲取的第一剩余資源量和待部署服務(wù)的資源需求量,可以計(jì)算出哪些虛擬機(jī)的第一剩余資源量滿足資源需求量,進(jìn)而統(tǒng)計(jì)這些第一剩余資源量滿足資源需求量的虛擬機(jī),得到第一剩余資源量滿足資源需求量的虛擬機(jī)的列表。之后,可以采用查詢語句查詢列表的屬性信息,根據(jù)返回的查詢結(jié)果判斷列表是否為空。若判斷列表不為空,也就是當(dāng)前虛擬機(jī)集群中有虛擬機(jī)能滿足部署該服務(wù)的需要,因此可以從列表中選擇配置最高的虛擬機(jī)中的一臺作為目標(biāo)虛擬機(jī)。

在這里,如果提高參考虛擬機(jī)的配置等級(可以提高一檔、兩檔,直到提高到最高配置等級)后的虛擬機(jī)可以滿足該服務(wù)的資源需求,則可以申請一臺提高參考虛擬機(jī)的配置等級后的虛擬機(jī),將原參考虛擬機(jī)的服務(wù)全部部署到新申請的虛擬機(jī)上,然后釋放原參考虛擬機(jī),最后將待部署服務(wù)部署到這臺新申請的更高配置等級的虛擬機(jī)上,并將虛擬機(jī)加入虛擬機(jī)集群中,即可結(jié)束。此時,若被部署的服務(wù)有多個實(shí)例,可以針對每個實(shí)例執(zhí)行上述的過程。

如果參考虛擬機(jī)已經(jīng)是最高配置等級(也就是集群中所有虛擬機(jī)都已經(jīng)是最高配置等級),或者提高這臺虛擬機(jī)的配置等級也還是不能滿足該服務(wù)的資源需求,則申請一臺能滿足該服務(wù)資源需求的最低配的虛擬機(jī),將服務(wù)部署到這臺新申請的虛擬機(jī)上,并將虛擬機(jī)加入集群中,即可結(jié)束。

本申請的上述實(shí)施例提供的方法,可以在包括不同配置等級的虛擬機(jī)集群中部署服務(wù),并且可以在單個虛擬機(jī)上混合布置不同的服務(wù),從而降低了部署服務(wù)的成本并且提高了虛擬機(jī)集群的資源利用率。

進(jìn)一步參考圖4,其示出了用于彈性伸縮虛擬機(jī)集群的方法中釋放虛擬機(jī)的方法的一個實(shí)施例的流程400。該用于釋放虛擬機(jī)的方法的流程400,包括以下步驟:

在步驟401中,從虛擬機(jī)集群中選擇至少一臺被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī)。

在步驟402中,判斷虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量是否滿足部署待釋放虛擬機(jī)上的服務(wù)所需要的資源量。

在步驟403中,若虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量滿足部署待釋放虛擬機(jī)上的服務(wù)所需要的資源量,則將待釋放虛擬機(jī)上的服務(wù)遷移至其他虛擬機(jī),并釋放待釋放虛擬機(jī)。

在本實(shí)施例中,當(dāng)用戶要刪除服務(wù)的時候,虛擬機(jī)集群的控制系統(tǒng)可以直接從服務(wù)部署的虛擬機(jī)上刪除該服務(wù),但是這時不會對虛擬機(jī)做任何的變動(不會釋放虛擬機(jī))。

在釋放虛擬機(jī)時,首先從集群中選擇一臺已經(jīng)被占用的資源(已被占用的資源等于該虛擬機(jī)上部署服務(wù)所需的資源的總和)最少的虛擬機(jī)。

如果其他虛擬機(jī)的剩余資源不足以部署該虛擬機(jī)上的服務(wù),也就是該虛擬機(jī)上的服務(wù)不能全部遷移到其他虛擬機(jī)上,則結(jié)束定時任務(wù)。

如果其他虛擬機(jī)的剩余資源足夠部署該虛擬機(jī)上的服務(wù),則將該虛擬機(jī)上的所有服務(wù)遷移到其他虛擬機(jī)上,并釋放該虛擬機(jī)。

在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,從虛擬機(jī)集群中選擇至少一臺被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī)可以包括:若被占用資源最少的虛擬機(jī)的數(shù)量大于1,則選擇被占用資源最少的虛擬機(jī)中配置等級最低的虛擬機(jī)作為待釋放虛擬機(jī)。

在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,上述釋放虛擬機(jī)的方法還可以包括:間隔預(yù)定時間重復(fù)執(zhí)行釋放虛擬機(jī)的步驟。也即釋放虛擬機(jī)的動作是定時完成的,譬如每小時或者每天執(zhí)行一次。間隔預(yù)定時間重復(fù)上述定時執(zhí)行任務(wù),直到?jīng)]有可以釋放的虛擬機(jī)為止。

本申請上述實(shí)施例的釋放虛擬機(jī)的方法,可以定時從虛擬機(jī)集群中選擇可以釋放的虛擬機(jī)進(jìn)行釋放,從而提高了釋放虛擬機(jī)的效率,進(jìn)而提高了虛擬機(jī)集群的資源利用率。

進(jìn)一步參考圖5,作為對上述各圖所示方法的實(shí)現(xiàn),本申請?zhí)峁┝艘环N用于彈性伸縮虛擬機(jī)集群的裝置的一個實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。

如圖5所示,本實(shí)施例的配置用于彈性伸縮虛擬機(jī)集群的裝置500可以包括但不限于:余量計(jì)算單元510、需求獲取單元520、等級獲取單元530、目標(biāo)確定單元540和服務(wù)部署單元550。

其中,余量計(jì)算單元510,配置用于在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量。需求獲取單元520,配置用于獲取待部署服務(wù)的資源需求量。等級獲取單元530,配置用于獲取虛擬機(jī)集群中虛擬機(jī)的配置等級。目標(biāo)確定單元540,配置用于根據(jù)第一剩余資源量是否滿足資源需求量,確定具有預(yù)定配置等級的虛擬機(jī)作為目標(biāo)虛擬機(jī)。服務(wù)部署單元550,配置用于將待部署服務(wù)部署至目標(biāo)虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,目標(biāo)確定單元可以包括但不限于:第一目標(biāo)確定子單元541,配置用于響應(yīng)于第一剩余資源量滿足資源需求量,選擇配置等級最高的虛擬機(jī)中的一臺作為目標(biāo)虛擬機(jī);或第二目標(biāo)確定子單元542,配置用于響應(yīng)于第一剩余資源量不滿足資源需求量,從虛擬機(jī)集群中選擇配置等級最低的虛擬機(jī)中的一臺作為參考虛擬機(jī),并基于參考虛擬機(jī)是否為最高配置等級,確定目標(biāo)虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第二目標(biāo)確定子單元進(jìn)一步配置用于:響應(yīng)于參考虛擬機(jī)的配置等級是最高配置等級,申請一臺滿足資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于參考虛擬機(jī)的配置等級不是最高配置等級,計(jì)算對參考虛擬機(jī)提升配置等級后的虛擬機(jī)的第二剩余資源量,基于第二剩余資源量是否滿足資源需求量,確定目標(biāo)虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第二目標(biāo)確定子單元進(jìn)一步配置用于:響應(yīng)于第二剩余資源量滿足資源需求量,申請一臺提升配置等級后的虛擬機(jī),將參考虛擬機(jī)上的服務(wù)遷移至申請的虛擬機(jī)中,釋放參考虛擬機(jī),將申請的虛擬機(jī)加入虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于第二剩余資源量未滿足資源需求量,申請一臺滿足資源需求量的最低配置等級的虛擬機(jī),將申請的虛擬機(jī)加入虛擬機(jī)集群中,并將申請的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第一目標(biāo)確定子單元進(jìn)一步配置用于:響應(yīng)于第一剩余資源量滿足資源需求量,若配置等級最高的虛擬機(jī)的數(shù)量大于1,則選擇配置等級最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第二目標(biāo)確定子單元進(jìn)一步配置用于:若虛擬機(jī)集群中配置等級最低的虛擬機(jī)的數(shù)量大于1,則選擇配置等級最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,裝置還可以包括但不限于虛擬機(jī)釋放單元560,虛擬機(jī)釋放單元可以包括但不限于:目標(biāo)選定子單元561,配置用于從虛擬機(jī)集群中選擇至少一臺被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī);資源判斷子單元562,配置用于判斷虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量是否滿足部署待釋放虛擬機(jī)上的服務(wù)所需要的資源量;虛擬機(jī)釋放子單元563,配置用于若虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量滿足部署待釋放虛擬機(jī)上的服務(wù)所需要的資源量,則將待釋放虛擬機(jī)上的服務(wù)遷移至其他虛擬機(jī),并釋放待釋放虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,目標(biāo)選定單元進(jìn)一步配置用于:若被占用資源最少的虛擬機(jī)的數(shù)量大于1,則選擇被占用資源最少的虛擬機(jī)中配置等級最低的虛擬機(jī)作為待釋放虛擬機(jī)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,裝置還可以包括但不限于:定時釋放單元570,配置用于間隔預(yù)定時間調(diào)用虛擬機(jī)釋放單元以釋放虛擬機(jī)。

本領(lǐng)域技術(shù)人員可以理解,上述用于彈性伸縮虛擬機(jī)集群的裝置500還包括一些其他公知結(jié)構(gòu),例如處理器、存儲器等,為了不必要地模糊本公開的實(shí)施例,這些公知的結(jié)構(gòu)在圖5中未示出。

應(yīng)當(dāng)理解,裝置500中記載的單元510至單元550分別與參考圖2中描述的方法中的各個步驟相對應(yīng);裝置500中記載的單元560和單元570分別與參考圖4中描述的方法的各個步驟相對應(yīng)。由此,上文針對用于彈性伸縮虛擬機(jī)集群的方法描述的操作和特征同樣適用于裝置500及其中包含的單元,在此不再贅述。裝置500的相應(yīng)單元可以與終端設(shè)備和/或服務(wù)器中的單元相互配合以實(shí)現(xiàn)本申請實(shí)施例的方案。

在本申請的上述實(shí)施例中,第一剩余資源量及第二剩余資源量僅代表兩個不同的剩余資源量。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,其中的第一或第二并不構(gòu)成對剩余資源量的特殊限定。

在本申請的上述實(shí)施例中,第一目標(biāo)確定子單元及第二目標(biāo)確定子單元僅代表兩個不同的目標(biāo)確定子單元,兩者確定目標(biāo)虛擬機(jī)的源虛擬機(jī)和確定方式不同。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,其中的第一或第二并不構(gòu)成對目標(biāo)確定子單元的特殊限定。

下面參考圖6,其示出了適于用來實(shí)現(xiàn)本申請實(shí)施例的虛擬機(jī)服務(wù)器的物理計(jì)算機(jī)系統(tǒng)600的結(jié)構(gòu)示意圖。

如圖6所示,計(jì)算機(jī)系統(tǒng)600包括中央處理單元(CPU)601,其可以根據(jù)存儲在只讀存儲器(ROM)602中的程序或者從存儲部分608加載到隨機(jī)訪問存儲器(RAM)603中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚?。在RAM 603中,還存儲有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。CPU 601、ROM 602以及RAM 603通過總線604彼此相連。輸入/輸出(I/O)接口605也連接至總線604。

以下部件連接至I/O接口605:包括鍵盤、鼠標(biāo)等的輸入部分606;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚(yáng)聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器610也根據(jù)需要連接至I/O接口605??刹鹦督橘|(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器610上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲部分608。

特別地,根據(jù)本公開的實(shí)施例,上文參考流程圖描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。在該計(jì)算機(jī)程序被中央處理單元(CPU)601執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。

附圖中的流程圖和框圖,圖示了按照本申請各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。

描述于本申請實(shí)施例中所涉及到的單元可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括余量計(jì)算單元、需求獲取單元、等級獲取單元、目標(biāo)確定單元和服務(wù)部署單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定,例如,余量計(jì)算單元還可以被描述為“在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量的單元”。

作為另一方面,本申請還提供了一種非易失性計(jì)算機(jī)存儲介質(zhì),該非易失性計(jì)算機(jī)存儲介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的非易失性計(jì)算機(jī)存儲介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的非易失性計(jì)算機(jī)存儲介質(zhì)。上述非易失性計(jì)算機(jī)存儲介質(zhì)存儲有一個或者多個程序,當(dāng)所述一個或者多個程序被一個設(shè)備執(zhí)行時,使得所述設(shè)備:在部署服務(wù)時,計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量;獲取待部署服務(wù)的資源需求量;獲取虛擬機(jī)集群中虛擬機(jī)的配置等級;根據(jù)第一剩余資源量是否滿足資源需求量,確定具有預(yù)定配置等級的虛擬機(jī)作為目標(biāo)虛擬機(jī);將待部署服務(wù)部署至目標(biāo)虛擬機(jī)。

以上描述僅為本申請的較佳實(shí)施例以及對所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1