本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及用于彈性伸縮虛擬機(jī)集群的方法和裝置。
背景技術(shù):
彈性伸縮虛擬機(jī)集群,即在需要的時(shí)候增加虛擬機(jī)到集群中,或者用更高配的虛擬機(jī)替換原有的虛擬機(jī),不需要的時(shí)候從集群中刪除虛擬機(jī),或者用低配的虛擬機(jī)替換原有的虛擬機(jī),從而達(dá)到降低整個(gè)虛擬機(jī)集群成本的目的,提高虛擬機(jī)集群的投入產(chǎn)出比。
在現(xiàn)有技術(shù)中,虛擬機(jī)集群中的虛擬機(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)超過一個(gè)閾值時(shí)添加新的虛擬機(jī)到集群中,在監(jiān)控到的上述指標(biāo)低于另一個(gè)閾值時(shí)從集群中釋放一臺(tái)虛擬機(jī)。
然而,上述基于監(jiān)控的彈性伸縮虛擬機(jī)集群的技術(shù),存在如下問題:由于監(jiān)控有一定的時(shí)延,需要等收集到監(jiān)控?cái)?shù)據(jù)并且監(jiān)控?cái)?shù)據(jù)到達(dá)閾值時(shí)才能添加新的虛擬機(jī)或釋放集群中的虛擬機(jī);而且新創(chuàng)建的虛擬機(jī)需要花一定時(shí)間才能創(chuàng)建完成,從而導(dǎo)致整個(gè)伸縮過程滯后比較長(zhǎng)的時(shí)間。此外,同構(gòu)的虛擬機(jī)配置等級(jí)相同,不利于通過混合部署服務(wù)來最大化每個(gè)虛擬機(jī)的資源利用率。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提出一種改進(jìn)的用于彈性伸縮虛擬機(jī)集群的方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請(qǐng)?zhí)峁┝艘环N用于彈性伸縮虛擬機(jī)集群的方法,所述方法包括:在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量;獲取待部署服務(wù)的資源需求量;獲取虛擬機(jī)集群中虛擬機(jī)的配置等級(jí);根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級(jí)的虛擬機(jī)作為目標(biāo)虛擬機(jī);將所述待部署服務(wù)部署至所述目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級(jí)的虛擬機(jī)作為目標(biāo)虛擬機(jī)包括:響應(yīng)于所述第一剩余資源量滿足所述資源需求量,選擇配置等級(jí)最高的虛擬機(jī)中的一臺(tái)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述第一剩余資源量不滿足所述資源需求量,從所述虛擬機(jī)集群中選擇配置等級(jí)最低的虛擬機(jī)中的一臺(tái)作為參考虛擬機(jī),并基于所述參考虛擬機(jī)是否為最高配置等級(jí),確定目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述基于所述參考虛擬機(jī)是否為最高配置等級(jí),確定目標(biāo)虛擬機(jī)包括:響應(yīng)于所述參考虛擬機(jī)的配置等級(jí)是最高配置等級(jí),申請(qǐng)一臺(tái)滿足所述資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入所述虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述參考虛擬機(jī)的配置等級(jí)不是最高配置等級(jí),計(jì)算對(duì)所述參考虛擬機(jī)提升配置等級(jí)后的虛擬機(jī)的第二剩余資源量,基于所述第二剩余資源量是否滿足所述資源需求量,確定目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述基于所述第二剩余資源量是否滿足所述資源需求量,確定目標(biāo)虛擬機(jī)包括:響應(yīng)于所述第二剩余資源量滿足所述資源需求量,申請(qǐng)一臺(tái)提升配置等級(jí)后的虛擬機(jī),將所述參考虛擬機(jī)上的服務(wù)遷移至申請(qǐng)的虛擬機(jī)中,釋放所述參考虛擬機(jī),將所述申請(qǐng)的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述第二剩余資源量未滿足所述資源需求量,申請(qǐng)一臺(tái)滿足所述資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述響應(yīng)于所述第一剩余資源量滿足所述資源需求量,選擇配置等級(jí)最高的虛擬機(jī)中的一臺(tái)作為目標(biāo)虛擬機(jī)包括:響應(yīng)于所述第一剩余資源量滿足所述資源需求量,若所述配置等級(jí)最高的虛擬機(jī)的數(shù)量大于1,則選擇所述配置等級(jí)最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述從虛擬機(jī)集群中選擇配置等級(jí)最低的虛擬機(jī)中的一臺(tái)作為參考虛擬機(jī)包括:若虛擬機(jī)集群中配置等級(jí)最低的虛擬機(jī)的數(shù)量大于1,則選擇配置等級(jí)最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。
在一些實(shí)施例中,所述方法還包括以下釋放虛擬機(jī)的步驟:從所述虛擬機(jī)集群中選擇至少一臺(tái)被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī);判斷所述虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量是否滿足部署所述待釋放虛擬機(jī)上的服務(wù)所需要的資源量;若是,則將待釋放虛擬機(jī)上的服務(wù)遷移至所述其他虛擬機(jī),并釋放所述待釋放虛擬機(jī)。
在一些實(shí)施例中,從所述虛擬機(jī)集群中選擇至少一臺(tái)被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī)包括:若被占用資源最少的虛擬機(jī)的數(shù)量大于1,則選擇被占用資源最少的虛擬機(jī)中配置等級(jí)最低的虛擬機(jī)作為所述待釋放虛擬機(jī)。
在一些實(shí)施例中,所述方法還包括:間隔預(yù)定時(shí)間重復(fù)執(zhí)行所述釋放虛擬機(jī)的步驟。
第二方面,本申請(qǐng)?zhí)峁┝艘环N用于彈性伸縮虛擬機(jī)集群的裝置,所述裝置包括:余量計(jì)算單元,用于在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量;需求獲取單元,用于獲取待部署服務(wù)的資源需求量;等級(jí)獲取單元,用于獲取虛擬機(jī)集群中虛擬機(jī)的配置等級(jí);目標(biāo)確定單元,用于根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級(jí)的虛擬機(jī)作為目標(biāo)虛擬機(jī);服務(wù)部署單元,用于將所述待部署服務(wù)部署至所述目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述目標(biāo)確定單元包括:第一目標(biāo)確定子單元,用于響應(yīng)于所述第一剩余資源量滿足所述資源需求量,選擇配置等級(jí)最高的虛擬機(jī)中的一臺(tái)作為目標(biāo)虛擬機(jī);或第二目標(biāo)確定子單元,用于響應(yīng)于所述第一剩余資源量不滿足所述資源需求量,從所述虛擬機(jī)集群中選擇配置等級(jí)最低的虛擬機(jī)中的一臺(tái)作為參考虛擬機(jī),并基于所述參考虛擬機(jī)是否為最高配置等級(jí),確定目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述第二目標(biāo)確定子單元進(jìn)一步用于:響應(yīng)于所述參考虛擬機(jī)的配置等級(jí)是最高配置等級(jí),申請(qǐng)一臺(tái)滿足所述資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入所述虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述參考虛擬機(jī)的配置等級(jí)不是最高配置等級(jí),計(jì)算對(duì)所述參考虛擬機(jī)提升配置等級(jí)后的虛擬機(jī)的第二剩余資源量,基于所述第二剩余資源量是否滿足所述資源需求量,確定目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述第二目標(biāo)確定子單元進(jìn)一步用于:響應(yīng)于所述第二剩余資源量滿足所述資源需求量,申請(qǐng)一臺(tái)提升配置等級(jí)后的虛擬機(jī),將所述參考虛擬機(jī)上的服務(wù)遷移至申請(qǐng)的虛擬機(jī)中,釋放所述參考虛擬機(jī),將所述申請(qǐng)的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于所述第二剩余資源量未滿足所述資源需求量,申請(qǐng)一臺(tái)滿足所述資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入所述虛擬機(jī)集群中,并將所述申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述第一目標(biāo)確定子單元進(jìn)一步用于:響應(yīng)于所述第一剩余資源量滿足所述資源需求量,若所述配置等級(jí)最高的虛擬機(jī)的數(shù)量大于1,則選擇所述配置等級(jí)最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
在一些實(shí)施例中,所述第二目標(biāo)確定子單元進(jìn)一步用于:若虛擬機(jī)集群中配置等級(jí)最低的虛擬機(jī)的數(shù)量大于1,則選擇配置等級(jí)最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。
在一些實(shí)施例中,所述裝置還包括虛擬機(jī)釋放單元,所述虛擬機(jī)釋放單元包括:目標(biāo)選定子單元,用于從所述虛擬機(jī)集群中選擇至少一臺(tái)被占用資源最少的虛擬機(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ī)作為所述待釋放虛擬機(jī)。
在一些實(shí)施例中,所述裝置還包括:定時(shí)釋放單元,用于間隔預(yù)定時(shí)間調(diào)用所述虛擬機(jī)釋放單元以釋放虛擬機(jī)。
本申請(qǐng)?zhí)峁┑挠糜趶椥陨炜s虛擬機(jī)集群的方法和裝置,通過在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量,而后獲取待部署服務(wù)的資源需求量,之后獲取虛擬機(jī)集群中虛擬機(jī)的配置等級(jí),之后根據(jù)所述第一剩余資源量是否滿足所述資源需求量,確定具有預(yù)定配置等級(jí)的虛擬機(jī)作為目標(biāo)虛擬機(jī),最后將所述待部署服務(wù)部署至所述目標(biāo)虛擬機(jī),從而可以在包括不同配置等級(jí)的虛擬機(jī)集群中部署服務(wù),并且可以在單個(gè)虛擬機(jī)上混合布置不同的服務(wù),從而降低了部署服務(wù)的成本并且提高了虛擬機(jī)集群的資源利用率。
附圖說明
通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請(qǐng)的用于彈性伸縮虛擬機(jī)集群的方法的一個(gè)實(shí)施例的流程圖;
圖3是根據(jù)本申請(qǐng)的用于彈性伸縮虛擬機(jī)集群的方法的一個(gè)應(yīng)用場(chǎng)景的流程圖;
圖4是根據(jù)本申請(qǐng)的用于彈性伸縮虛擬機(jī)集群的方法中釋放虛擬機(jī)的方法的一個(gè)實(shí)施例的流程圖;
圖5是根據(jù)本申請(qǐng)的用于彈性伸縮虛擬機(jī)集群的裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖6是適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
圖1示出了可以應(yīng)用本申請(qǐ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)用、購(gòu)物類應(yīng)用、搜索類應(yīng)用、即時(shí)通信工具、郵箱客戶端、社交平臺(tái)軟件等。
終端設(shè)備101、102、103可以是具有顯示屏并且支持網(wǎng)頁瀏覽的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4(Moving Picture Experts Group Audio Layer IV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
服務(wù)器105和106可以是提供各種服務(wù)的虛擬機(jī)集群中的虛擬機(jī),例如對(duì)終端設(shè)備101、102、103上顯示的網(wǎng)頁提供支持的后臺(tái)網(wǎng)頁虛擬機(jī)集群中的虛擬機(jī)。后臺(tái)網(wǎng)頁虛擬機(jī)集群可以對(duì)接收到的網(wǎng)頁頁面請(qǐng)求等數(shù)據(jù)進(jìn)行分析等處理,并將處理結(jié)果(例如網(wǎng)頁頁面數(shù)據(jù))反饋給終端設(shè)備。
需要說明的是,本申請(qǐng)實(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ī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和虛擬機(jī)。
繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的用于彈性伸縮虛擬機(jī)集群的方法的一個(gè)實(shí)施例的流程200。所述的用于彈性伸縮虛擬機(jī)集群的方法,包括以下步驟:
步驟201,在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量。
在本實(shí)施例中,虛擬機(jī)集群可以是公有云或者私有云的中的虛擬機(jī)集群,該虛擬機(jī)集群需要使用虛擬機(jī)部署服務(wù),并且具有可以訪問創(chuàng)建和釋放虛擬機(jī)的API。在這里,被部署的服務(wù)是無狀態(tài)的,即數(shù)據(jù)可以是存在于外部存儲(chǔ)中,譬如數(shù)據(jù)庫、對(duì)象存儲(chǔ)等,而不能保存于本地磁盤上。
在部署服務(wù)時(shí),為了確定哪些虛擬機(jī)內(nèi)具有的剩余資源量可以直接部署服務(wù),需要首先計(jì)算虛擬機(jī)集群內(nèi)各個(gè)虛擬機(jī)的剩余資源量,這里的剩余資源量等于該虛擬機(jī)的總資源減去該虛擬機(jī)上部署服務(wù)所需的資源的總和,也即上述的第一剩余資源量。
步驟202,獲取待部署服務(wù)的資源需求量。
在本實(shí)施例中,在部署服務(wù)的時(shí)候,為了確定哪些虛擬機(jī)內(nèi)具有的剩余資源量可以直接部署服務(wù),在計(jì)算虛擬機(jī)集群內(nèi)各個(gè)虛擬機(jī)的剩余資源量之后,需要進(jìn)一步獲取輸入的對(duì)待部署服務(wù)所需要的資源需求量的預(yù)算,即該服務(wù)需要使用多少核中央處理器(CPU)、多少兆(M)內(nèi)存等。
步驟203,獲取虛擬機(jī)集群中虛擬機(jī)的配置等級(jí)。
在本實(shí)施例中,虛擬機(jī)集群中虛擬機(jī)的配置等級(jí)為預(yù)設(shè)的多個(gè)等級(jí),每個(gè)等級(jí)具有特定的資源配置(CPU核數(shù)、內(nèi)存大小),并且配置等級(jí)越高,折合的資源成本(每CPU核、每M內(nèi)存成本)越低。
在這里,獲取虛擬機(jī)集群中虛擬機(jī)的配置等級(jí),是為了確定該虛擬機(jī)是否可以升級(jí)至更高配置等級(jí),以及在該虛擬機(jī)可以升級(jí)至更高配置等級(jí)時(shí),確定該虛擬機(jī)應(yīng)當(dāng)升級(jí)至哪一種配置等級(jí)。
步驟204,根據(jù)第一剩余資源量是否滿足資源需求量,確定具有預(yù)定配置等級(jí)的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
在本實(shí)施例中,首先可以根據(jù)第一剩余資源量是否滿足資源需求量,確定是否需要新申請(qǐng)?zhí)摂M機(jī):若第一剩余資源量滿足資源需求量,則可以充分利用第一剩余資源量部署服務(wù);若第一剩余資源量不滿足資源需求量,則需要考慮新申請(qǐng)?zhí)摂M機(jī)以部署服務(wù)。
在確定是否需要新申請(qǐng)?zhí)摂M機(jī)之后,可以根據(jù)實(shí)際需要選擇具有預(yù)定配置等級(jí)的虛擬機(jī)作為部署服務(wù)的目標(biāo)虛擬機(jī)。這里的虛擬機(jī)集群中虛擬機(jī)的配置等級(jí),可以根據(jù)預(yù)設(shè)的虛擬機(jī)配置等級(jí)檔次分為多個(gè)檔次,每個(gè)檔次的資源配置等級(jí)(CPU核數(shù)、內(nèi)存大小)不同,并且配置等級(jí)越高,折合的資源成本(每CPU核、每M內(nèi)存成本)越低。
示例性的,若第一剩余資源量滿足資源需求量,為了提高資源利用率,可以選擇最低配置的虛擬機(jī)作為目標(biāo)虛擬機(jī);為了減少該服務(wù)進(jìn)行遷移的可能,則可以選擇配置等級(jí)最高的虛擬機(jī)中的一臺(tái)作為目標(biāo)虛擬機(jī),由于該目標(biāo)虛擬機(jī)為最高配置等級(jí),因此后續(xù)不會(huì)再對(duì)該虛擬機(jī)進(jìn)行升級(jí),從而減少了該服務(wù)進(jìn)行遷移的可能。
示例性的,若第一剩余資源量不滿足資源需求量,為了提高資源利用率,則可以從虛擬機(jī)集群中選擇配置等級(jí)最低的虛擬機(jī)中的一臺(tái)作為參考虛擬機(jī),并基于參考虛擬機(jī)是否為最高配置等級(jí),確定目標(biāo)虛擬機(jī)。
在確定參考虛擬機(jī)之后,根據(jù)參考虛擬機(jī)是否為最高配置等級(jí)的虛擬機(jī)來確定其是否可以升級(jí)為更高配置的虛擬機(jī),從而進(jìn)一步根據(jù)確定結(jié)果確定目標(biāo)虛擬機(jī)。
示例性的,響應(yīng)于參考虛擬機(jī)的配置等級(jí)是最高配置等級(jí),那么參考虛擬機(jī)已經(jīng)無法升級(jí)為更高等級(jí)的虛擬機(jī),此時(shí)可以申請(qǐng)一臺(tái)滿足資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī)??蛇x地,若配置等級(jí)最高的虛擬機(jī)的數(shù)量大于1,為了進(jìn)一步提高資源利用率,可以選擇配置等級(jí)最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
備選地,響應(yīng)于參考虛擬機(jī)的配置等級(jí)不是最高配置等級(jí),那么參考虛擬機(jī)可以升級(jí)為更高等級(jí)的虛擬機(jī),此時(shí)可以計(jì)算對(duì)參考虛擬機(jī)提升配置等級(jí)后的虛擬機(jī)的第二剩余資源量,基于第二剩余資源量是否滿足資源需求量來確定目標(biāo)虛擬機(jī)。可選地,若虛擬機(jī)集群中配置等級(jí)最低的虛擬機(jī)的數(shù)量大于1,為了進(jìn)一步提高資源利用率,可以選擇配置等級(jí)最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。
在這里,對(duì)參考虛擬機(jī)提升配置等級(jí)后的虛擬機(jī),是一臺(tái)新申請(qǐng)的更高配置等級(jí)的虛擬機(jī),并且將原虛擬機(jī)中的服務(wù)遷移至其中;而第二剩余資源量是指該新申請(qǐng)的虛擬機(jī)在部署原虛擬機(jī)中的服務(wù)后剩余的資源量。
這里的基于第二剩余資源量是否滿足資源需求量,確定目標(biāo)虛擬機(jī),至少可以包括以下兩項(xiàng)之一:若第二剩余資源量滿足資源需求量,則可以申請(qǐng)一臺(tái)提升配置等級(jí)后的虛擬機(jī),將參考虛擬機(jī)上的服務(wù)遷移至申請(qǐng)的虛擬機(jī)中,釋放參考虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī);以及若第二剩余資源量未滿足資源需求量,則可以申請(qǐng)一臺(tái)滿足資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(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ī)的步驟和將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中的步驟,除了按照上述實(shí)施例中示出的執(zhí)行順序執(zhí)行外,還可以并行地執(zhí)行或按相反的順序執(zhí)行。
繼續(xù)參考圖3,其示出了用于彈性伸縮虛擬機(jī)集群的方法的一個(gè)應(yīng)用場(chǎng)景的流程300。該用于彈性伸縮虛擬機(jī)集群的方法的流程300,包括以下步驟:
在步驟301中,在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量,之后執(zhí)行步驟302。
在步驟302中,獲取待部署服務(wù)的資源需求量,之后執(zhí)行步驟303。
在步驟303中,獲取第一剩余資源量滿足資源需求量的虛擬機(jī)的列表,之后執(zhí)行步驟304。
在步驟304中,判斷列表是否為空,若否,則執(zhí)行步驟305,若是,則執(zhí)行步驟307。
在步驟305中,選擇列表中配置等級(jí)最高的虛擬機(jī)中的一臺(tái)作為目標(biāo)虛擬機(jī),之后執(zhí)行步驟306。
在步驟306中,將待部署服務(wù)部署至目標(biāo)虛擬機(jī)中。
在步驟307中,從虛擬機(jī)集群中選擇配置等級(jí)最低的虛擬機(jī)中的一臺(tái)作為參考虛擬機(jī),之后執(zhí)行步驟308。
在步驟308中,判斷參考虛擬機(jī)的配置等級(jí)是否為最高配置等級(jí),若是,則執(zhí)行步驟309,若否,則執(zhí)行步驟311。
在步驟309中,申請(qǐng)一臺(tái)滿足資源需求量的最低配置等級(jí)的虛擬機(jī),之后執(zhí)行步驟310。
在步驟310中,將待部署服務(wù)部署至申請(qǐng)的虛擬機(jī)并將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中。
在步驟311中,計(jì)算對(duì)參考虛擬機(jī)提升配置等級(jí)后的虛擬機(jī)的第二剩余資源量,之后執(zhí)行步驟312。
在步驟312中,判斷第二剩余資源量是否滿足資源需求量,若是,則執(zhí)行步驟313,若否,則執(zhí)行步驟317。
在步驟313中,申請(qǐng)一臺(tái)提升配置等級(jí)后的虛擬機(jī),之后執(zhí)行步驟314。
在步驟314中,將參考虛擬機(jī)上的服務(wù)遷移至申請(qǐng)的虛擬機(jī)中,之后執(zhí)行步驟315。
在步驟315中,釋放參考虛擬機(jī),之后執(zhí)行步驟316。
在步驟316中,將待部署服務(wù)部署于申請(qǐng)的虛擬機(jī)上并將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中。
在步驟317中,申請(qǐng)一臺(tái)滿足待部署服務(wù)的資源需求量的最低配置等級(jí)的虛擬機(jī)。
在步驟318中,將待部署服務(wù)部署至申請(qǐng)的虛擬機(jī)并將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中。
在上述的應(yīng)用場(chǎng)景中,基于獲取的第一剩余資源量和待部署服務(wù)的資源需求量,可以計(jì)算出哪些虛擬機(jī)的第一剩余資源量滿足資源需求量,進(jìn)而統(tǒng)計(jì)這些第一剩余資源量滿足資源需求量的虛擬機(jī),得到第一剩余資源量滿足資源需求量的虛擬機(jī)的列表。之后,可以采用查詢語句查詢列表的屬性信息,根據(jù)返回的查詢結(jié)果判斷列表是否為空。若判斷列表不為空,也就是當(dāng)前虛擬機(jī)集群中有虛擬機(jī)能滿足部署該服務(wù)的需要,因此可以從列表中選擇配置最高的虛擬機(jī)中的一臺(tái)作為目標(biāo)虛擬機(jī)。
在這里,如果提高參考虛擬機(jī)的配置等級(jí)(可以提高一檔、兩檔,直到提高到最高配置等級(jí))后的虛擬機(jī)可以滿足該服務(wù)的資源需求,則可以申請(qǐng)一臺(tái)提高參考虛擬機(jī)的配置等級(jí)后的虛擬機(jī),將原參考虛擬機(jī)的服務(wù)全部部署到新申請(qǐng)的虛擬機(jī)上,然后釋放原參考虛擬機(jī),最后將待部署服務(wù)部署到這臺(tái)新申請(qǐng)的更高配置等級(jí)的虛擬機(jī)上,并將虛擬機(jī)加入虛擬機(jī)集群中,即可結(jié)束。此時(shí),若被部署的服務(wù)有多個(gè)實(shí)例,可以針對(duì)每個(gè)實(shí)例執(zhí)行上述的過程。
如果參考虛擬機(jī)已經(jīng)是最高配置等級(jí)(也就是集群中所有虛擬機(jī)都已經(jīng)是最高配置等級(jí)),或者提高這臺(tái)虛擬機(jī)的配置等級(jí)也還是不能滿足該服務(wù)的資源需求,則申請(qǐng)一臺(tái)能滿足該服務(wù)資源需求的最低配的虛擬機(jī),將服務(wù)部署到這臺(tái)新申請(qǐng)的虛擬機(jī)上,并將虛擬機(jī)加入集群中,即可結(jié)束。
本申請(qǐng)的上述實(shí)施例提供的方法,可以在包括不同配置等級(jí)的虛擬機(jī)集群中部署服務(wù),并且可以在單個(gè)虛擬機(jī)上混合布置不同的服務(wù),從而降低了部署服務(wù)的成本并且提高了虛擬機(jī)集群的資源利用率。
進(jìn)一步參考圖4,其示出了用于彈性伸縮虛擬機(jī)集群的方法中釋放虛擬機(jī)的方法的一個(gè)實(shí)施例的流程400。該用于釋放虛擬機(jī)的方法的流程400,包括以下步驟:
在步驟401中,從虛擬機(jī)集群中選擇至少一臺(tái)被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī)。
在步驟402中,判斷虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量是否滿足部署待釋放虛擬機(jī)上的服務(wù)所需要的資源量。
在步驟403中,若虛擬機(jī)集群中除待釋放虛擬機(jī)之外的其他虛擬機(jī)的剩余資源量滿足部署待釋放虛擬機(jī)上的服務(wù)所需要的資源量,則將待釋放虛擬機(jī)上的服務(wù)遷移至其他虛擬機(jī),并釋放待釋放虛擬機(jī)。
在本實(shí)施例中,當(dāng)用戶要?jiǎng)h除服務(wù)的時(shí)候,虛擬機(jī)集群的控制系統(tǒng)可以直接從服務(wù)部署的虛擬機(jī)上刪除該服務(wù),但是這時(shí)不會(huì)對(duì)虛擬機(jī)做任何的變動(dòng)(不會(huì)釋放虛擬機(jī))。
在釋放虛擬機(jī)時(shí),首先從集群中選擇一臺(tái)已經(jīng)被占用的資源(已被占用的資源等于該虛擬機(jī)上部署服務(wù)所需的資源的總和)最少的虛擬機(jī)。
如果其他虛擬機(jī)的剩余資源不足以部署該虛擬機(jī)上的服務(wù),也就是該虛擬機(jī)上的服務(wù)不能全部遷移到其他虛擬機(jī)上,則結(jié)束定時(shí)任務(wù)。
如果其他虛擬機(jī)的剩余資源足夠部署該虛擬機(jī)上的服務(wù),則將該虛擬機(jī)上的所有服務(wù)遷移到其他虛擬機(jī)上,并釋放該虛擬機(jī)。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,從虛擬機(jī)集群中選擇至少一臺(tái)被占用資源最少的虛擬機(jī)作為待釋放虛擬機(jī)可以包括:若被占用資源最少的虛擬機(jī)的數(shù)量大于1,則選擇被占用資源最少的虛擬機(jī)中配置等級(jí)最低的虛擬機(jī)作為待釋放虛擬機(jī)。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,上述釋放虛擬機(jī)的方法還可以包括:間隔預(yù)定時(shí)間重復(fù)執(zhí)行釋放虛擬機(jī)的步驟。也即釋放虛擬機(jī)的動(dòng)作是定時(shí)完成的,譬如每小時(shí)或者每天執(zhí)行一次。間隔預(yù)定時(shí)間重復(fù)上述定時(shí)執(zhí)行任務(wù),直到?jīng)]有可以釋放的虛擬機(jī)為止。
本申請(qǐng)上述實(shí)施例的釋放虛擬機(jī)的方法,可以定時(shí)從虛擬機(jī)集群中選擇可以釋放的虛擬機(jī)進(jìn)行釋放,從而提高了釋放虛擬機(jī)的效率,進(jìn)而提高了虛擬機(jī)集群的資源利用率。
進(jìn)一步參考圖5,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N用于彈性伸縮虛擬機(jī)集群的裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖5所示,本實(shí)施例的配置用于彈性伸縮虛擬機(jī)集群的裝置500可以包括但不限于:余量計(jì)算單元510、需求獲取單元520、等級(jí)獲取單元530、目標(biāo)確定單元540和服務(wù)部署單元550。
其中,余量計(jì)算單元510,配置用于在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量。需求獲取單元520,配置用于獲取待部署服務(wù)的資源需求量。等級(jí)獲取單元530,配置用于獲取虛擬機(jī)集群中虛擬機(jī)的配置等級(jí)。目標(biāo)確定單元540,配置用于根據(jù)第一剩余資源量是否滿足資源需求量,確定具有預(yù)定配置等級(jí)的虛擬機(jī)作為目標(biāo)虛擬機(jī)。服務(wù)部署單元550,配置用于將待部署服務(wù)部署至目標(biāo)虛擬機(jī)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,目標(biāo)確定單元可以包括但不限于:第一目標(biāo)確定子單元541,配置用于響應(yīng)于第一剩余資源量滿足資源需求量,選擇配置等級(jí)最高的虛擬機(jī)中的一臺(tái)作為目標(biāo)虛擬機(jī);或第二目標(biāo)確定子單元542,配置用于響應(yīng)于第一剩余資源量不滿足資源需求量,從虛擬機(jī)集群中選擇配置等級(jí)最低的虛擬機(jī)中的一臺(tái)作為參考虛擬機(jī),并基于參考虛擬機(jī)是否為最高配置等級(jí),確定目標(biāo)虛擬機(jī)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第二目標(biāo)確定子單元進(jìn)一步配置用于:響應(yīng)于參考虛擬機(jī)的配置等級(jí)是最高配置等級(jí),申請(qǐng)一臺(tái)滿足資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于參考虛擬機(jī)的配置等級(jí)不是最高配置等級(jí),計(jì)算對(duì)參考虛擬機(jī)提升配置等級(jí)后的虛擬機(jī)的第二剩余資源量,基于第二剩余資源量是否滿足資源需求量,確定目標(biāo)虛擬機(jī)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第二目標(biāo)確定子單元進(jìn)一步配置用于:響應(yīng)于第二剩余資源量滿足資源需求量,申請(qǐng)一臺(tái)提升配置等級(jí)后的虛擬機(jī),將參考虛擬機(jī)上的服務(wù)遷移至申請(qǐng)的虛擬機(jī)中,釋放參考虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī);或響應(yīng)于第二剩余資源量未滿足資源需求量,申請(qǐng)一臺(tái)滿足資源需求量的最低配置等級(jí)的虛擬機(jī),將申請(qǐng)的虛擬機(jī)加入虛擬機(jī)集群中,并將申請(qǐng)的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第一目標(biāo)確定子單元進(jìn)一步配置用于:響應(yīng)于第一剩余資源量滿足資源需求量,若配置等級(jí)最高的虛擬機(jī)的數(shù)量大于1,則選擇配置等級(jí)最高的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為目標(biāo)虛擬機(jī)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,第二目標(biāo)確定子單元進(jìn)一步配置用于:若虛擬機(jī)集群中配置等級(jí)最低的虛擬機(jī)的數(shù)量大于1,則選擇配置等級(jí)最低的虛擬機(jī)中剩余資源量最小的虛擬機(jī)作為參考虛擬機(jī)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,裝置還可以包括但不限于虛擬機(jī)釋放單元560,虛擬機(jī)釋放單元可以包括但不限于:目標(biāo)選定子單元561,配置用于從虛擬機(jī)集群中選擇至少一臺(tái)被占用資源最少的虛擬機(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ī)作為待釋放虛擬機(jī)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,裝置還可以包括但不限于:定時(shí)釋放單元570,配置用于間隔預(yù)定時(shí)間調(diào)用虛擬機(jī)釋放單元以釋放虛擬機(jī)。
本領(lǐng)域技術(shù)人員可以理解,上述用于彈性伸縮虛擬機(jī)集群的裝置500還包括一些其他公知結(jié)構(gòu),例如處理器、存儲(chǔ)器等,為了不必要地模糊本公開的實(shí)施例,這些公知的結(jié)構(gòu)在圖5中未示出。
應(yīng)當(dāng)理解,裝置500中記載的單元510至單元550分別與參考圖2中描述的方法中的各個(gè)步驟相對(duì)應(yīng);裝置500中記載的單元560和單元570分別與參考圖4中描述的方法的各個(gè)步驟相對(duì)應(yīng)。由此,上文針對(duì)用于彈性伸縮虛擬機(jī)集群的方法描述的操作和特征同樣適用于裝置500及其中包含的單元,在此不再贅述。裝置500的相應(yīng)單元可以與終端設(shè)備和/或服務(wù)器中的單元相互配合以實(shí)現(xiàn)本申請(qǐng)實(shí)施例的方案。
在本申請(qǐng)的上述實(shí)施例中,第一剩余資源量及第二剩余資源量?jī)H代表兩個(gè)不同的剩余資源量。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,其中的第一或第二并不構(gòu)成對(duì)剩余資源量的特殊限定。
在本申請(qǐng)的上述實(shí)施例中,第一目標(biāo)確定子單元及第二目標(biāo)確定子單元僅代表兩個(gè)不同的目標(biāo)確定子單元,兩者確定目標(biāo)虛擬機(jī)的源虛擬機(jī)和確定方式不同。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,其中的第一或第二并不構(gòu)成對(duì)目標(biāo)確定子單元的特殊限定。
下面參考圖6,其示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的虛擬機(jī)服務(wù)器的物理計(jì)算機(jī)系統(tǒng)600的結(jié)構(gòu)示意圖。
如圖6所示,計(jì)算機(jī)系統(tǒng)600包括中央處理單元(CPU)601,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)602中的程序或者從存儲(chǔ)部分608加載到隨機(jī)訪問存儲(chǔ)器(RAM)603中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在RAM 603中,還存儲(chǔ)有系統(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;包括硬盤等的存儲(chǔ)部分608;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器610也根據(jù)需要連接至I/O接口605??刹鹦督橘|(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器610上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分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í)行時(shí),執(zhí)行本申請(qǐng)的方法中限定的上述功能。
附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括余量計(jì)算單元、需求獲取單元、等級(jí)獲取單元、目標(biāo)確定單元和服務(wù)部署單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對(duì)該單元本身的限定,例如,余量計(jì)算單元還可以被描述為“在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量的單元”。
作為另一方面,本申請(qǐng)還提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),該非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。上述非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:在部署服務(wù)時(shí),計(jì)算虛擬機(jī)集群中虛擬機(jī)的第一剩余資源量;獲取待部署服務(wù)的資源需求量;獲取虛擬機(jī)集群中虛擬機(jī)的配置等級(jí);根據(jù)第一剩余資源量是否滿足資源需求量,確定具有預(yù)定配置等級(jí)的虛擬機(jī)作為目標(biāo)虛擬機(jī);將待部署服務(wù)部署至目標(biāo)虛擬機(jī)。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。