本發(fā)明涉及云計算技術(shù)領(lǐng)域,特別是涉及一種用于提高虛擬機(jī)的云計算資源利用率的方法。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,云計算已經(jīng)逐步成為了業(yè)界的發(fā)展熱點(diǎn),云計算技術(shù)也逐漸被應(yīng)用到教育、科學(xué)、文化、公安、政府、衛(wèi)生、高性能計算、電子商務(wù)、物聯(lián)網(wǎng)等多個領(lǐng)域,隨之云計算服務(wù)平臺的使用量和活躍度也與日俱增。
隨著云計算的深入發(fā)展,云計算對用戶的生活和工作的影響日益增加,但是,在日常虛擬機(jī)使用過程中,用戶對虛擬機(jī)的計算配置的要求不是一成不變的。隨著工作周期和工作節(jié)奏的變化,用戶對計算資源的要求是一直變化的,如果一直為用戶提供大量的計算資源就會導(dǎo)致計算資源的整體利用率較低,導(dǎo)致資源的荒置;而如果一直為用戶提供較少的計算資源,就會由于計算資源短缺而為用戶的工作和生活帶來極大的不便。
因此,如何提供一種虛擬機(jī)的高可用技術(shù)方案,在滿足云計算用戶對計算資源的需求的同時實(shí)現(xiàn)計算資源的利用最大化,是本領(lǐng)域技術(shù)人員目前需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種用于提高虛擬機(jī)的云計算資源利用率的方法,可以在滿足云計算用戶對計算資源的需求的同時實(shí)現(xiàn)計算資源的利用最大化。
為解決上述技術(shù)問題,本發(fā)明提供了如下技術(shù)方案:
一種用于提高虛擬機(jī)的云計算資源利用率的方法,包括:
S11:獲取虛擬機(jī)預(yù)設(shè)時間段內(nèi)的負(fù)載平均使用率;
S12:判斷所述虛擬機(jī)的負(fù)載平均使用率是否處于對應(yīng)負(fù)載的預(yù)設(shè)調(diào)節(jié)閾值范圍內(nèi);
S13:若否,則判斷所述虛擬機(jī)當(dāng)前配置是否處于預(yù)設(shè)的配置閾值范圍內(nèi);
S14:若是,則判斷所述虛擬機(jī)是否支持所述負(fù)載的熱插拔,若所述虛擬機(jī)不支持所述負(fù)載的熱插拔,則執(zhí)行步驟S15,否則,直接執(zhí)行步驟S16;
S15:將虛擬機(jī)關(guān)機(jī),然后執(zhí)行步驟S16;
S16:對所述虛擬機(jī)進(jìn)行配置調(diào)整。
優(yōu)選地,在對所述虛擬機(jī)進(jìn)行配置調(diào)整之后,還包括:
若所述虛擬機(jī)不支持所述負(fù)載的熱插拔,則將所述虛擬機(jī)開機(jī)。
優(yōu)選地,所述負(fù)載包括所述虛擬機(jī)的CPU和內(nèi)存。
優(yōu)選地,所述判斷所述虛擬機(jī)的負(fù)載平均使用率是否處于對應(yīng)負(fù)載的預(yù)設(shè)調(diào)節(jié)閾值范圍內(nèi),包括:
判斷所述虛擬機(jī)的負(fù)載平均使用率是否處于對應(yīng)負(fù)載的縮減閾值至擴(kuò)容閾值之間。
優(yōu)選地,所述判斷所述虛擬機(jī)當(dāng)前配置是否處于預(yù)設(shè)的配置閾值范圍內(nèi),包括:
判斷所述虛擬機(jī)的當(dāng)前配置是否處于預(yù)設(shè)的配置的縮減下限和擴(kuò)容上限之間。
優(yōu)選地,在所述獲取虛擬機(jī)預(yù)設(shè)時間段內(nèi)的負(fù)載平均使用率之前,還包括:
通過任務(wù)調(diào)度每隔預(yù)設(shè)時間段對虛擬機(jī)進(jìn)行輪詢檢測,判斷所述虛擬機(jī)是否開啟了高可用彈性伸縮策略;
若是,則執(zhí)行步驟S11。
優(yōu)選地,所述對所述虛擬機(jī)進(jìn)行配置調(diào)整,包括:
以判定所述虛擬機(jī)開啟了高可用彈性伸縮策略的時間點(diǎn)的所述虛擬機(jī)的配置為基準(zhǔn),每次以該基準(zhǔn)的10%進(jìn)行相應(yīng)調(diào)整。
優(yōu)選地,通過任務(wù)調(diào)度每隔預(yù)設(shè)時間段對虛擬機(jī)進(jìn)行輪詢檢測為:通過任務(wù)調(diào)度每隔15分鐘對虛擬機(jī)進(jìn)行輪詢檢測
與現(xiàn)有技術(shù)相比,上述技術(shù)方案具有以下優(yōu)點(diǎn):
本發(fā)明所提供的一種用于提高虛擬機(jī)的云計算資源利用率的方法,包括:S11:獲取虛擬機(jī)預(yù)設(shè)時間段內(nèi)的負(fù)載平均使用率;S12:判斷虛擬機(jī)的負(fù)載平均使用率是否處于對應(yīng)負(fù)載的預(yù)設(shè)調(diào)節(jié)閾值范圍內(nèi);S13:若否,則判斷虛擬機(jī)當(dāng)前配置是否處于預(yù)設(shè)的配置閾值范圍內(nèi);S14:若是,則判斷虛擬機(jī)是否支持負(fù)載的熱插拔,若虛擬機(jī)不支持負(fù)載的熱插拔,則執(zhí)行步驟S15,否則,直接執(zhí)行步驟S16;S15:將虛擬機(jī)關(guān)機(jī),然后執(zhí)行步驟S16;S16:對虛擬機(jī)進(jìn)行配置調(diào)整。獲取虛擬機(jī)預(yù)設(shè)時間段內(nèi)的負(fù)載平均使用率,即對虛擬機(jī)負(fù)載進(jìn)行監(jiān)控,精準(zhǔn)地獲取了用戶對計算資源的需求,并根據(jù)負(fù)載的平均使用率,相應(yīng)地調(diào)整虛擬機(jī)的配置,從而使得對虛擬機(jī)的調(diào)整更為貼合用戶的需求。既能滿足云計算用戶對計算資源的需求,又能實(shí)現(xiàn)計算資源的利用最大化。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一種具體實(shí)施方式所提供的用于提高虛擬機(jī)的云計算資源利用率的方法流程圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種用于提高虛擬機(jī)的云計算資源利用率的方法,可以在滿足云計算用戶對計算資源的需求的同時實(shí)現(xiàn)計算資源的利用最大化。
為了使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式做詳細(xì)的說明。
在以下描述中闡述了具體細(xì)節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不同于在此描述的其它方式來實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣。因此本發(fā)明不受下面公開的具體實(shí)施的限制。
請參考圖1,圖1為本發(fā)明一種具體實(shí)施方式所提供的用于提高虛擬機(jī)的云計算資源利用率的方法流程圖。
本發(fā)明的一種具體實(shí)施方式提供了一種用于提高虛擬機(jī)的云計算資源利用率的方法,包括:
S11:獲取虛擬機(jī)預(yù)設(shè)時間段內(nèi)的負(fù)載平均使用率。
在本實(shí)施方式中,所謂的負(fù)載包括虛擬機(jī)的CPU和內(nèi)存,因而獲取虛擬機(jī)預(yù)設(shè)時間段內(nèi)的負(fù)載平均使用率,指的是獲取虛擬機(jī)在當(dāng)前時間點(diǎn)之前的預(yù)設(shè)時間段內(nèi)的CPU和內(nèi)存的平均使用率。實(shí)現(xiàn)了對虛擬機(jī)負(fù)載的監(jiān)控。
S12:判斷虛擬機(jī)的負(fù)載平均使用率是否處于對應(yīng)負(fù)載的預(yù)設(shè)調(diào)節(jié)閾值范圍內(nèi)。
即判斷虛擬機(jī)的負(fù)載平均使用率是否處于對應(yīng)負(fù)載的縮減閾值至擴(kuò)容閾值之間。
為了準(zhǔn)確地理解用戶對于虛擬機(jī)的高可用的實(shí)際訴求,在本實(shí)施方式中,預(yù)先對數(shù)據(jù)庫表進(jìn)行設(shè)計,保存用戶對每臺虛擬機(jī)的配置調(diào)整負(fù)載閾值、調(diào)整上限以及監(jiān)控周期等數(shù)據(jù),以為實(shí)現(xiàn)虛擬機(jī)的高可用提供數(shù)據(jù)支持。如表1所示,表1為本發(fā)明一種實(shí)施方式所提供的一種虛擬機(jī)高可用配置信息表,其對數(shù)據(jù)庫中的字段名、數(shù)據(jù)類型和備注做了說明。
表1 一種虛擬機(jī)高可用配置信息表
如表1所示,在本實(shí)施方式中,預(yù)先對每臺虛擬機(jī)設(shè)置了CPU擴(kuò)容閾值和縮減閾值,以及內(nèi)存擴(kuò)容閾值和縮減閾值。即當(dāng)用戶的虛擬機(jī)負(fù)載在對應(yīng)的負(fù)載縮減閾值和擴(kuò)容閾值之間時,表示此時計算資源的配置是合理的,無需對該虛擬機(jī)的配置進(jìn)行調(diào)整。
S13:若否,則判斷虛擬機(jī)當(dāng)前配置是否處于預(yù)設(shè)的配置閾值范圍內(nèi)。
當(dāng)虛擬機(jī)的負(fù)載平均使用率未處于對應(yīng)負(fù)載的預(yù)設(shè)調(diào)節(jié)閾值范圍內(nèi)時,即虛擬機(jī)的負(fù)載超出了該負(fù)載的擴(kuò)容閾值或者低于該負(fù)載的縮減閾值,則表示此時用戶對于虛擬機(jī)的計算資源的利用已經(jīng)不在合理的范圍內(nèi)。此時,即判斷虛擬機(jī)的當(dāng)前配置是否處于預(yù)設(shè)的配置的縮減下限和擴(kuò)容上限之間,即判斷此時通過調(diào)整虛擬機(jī)的配置是否可以實(shí)現(xiàn)對該虛擬機(jī)的計算資源的配置優(yōu)化。
S14:若是,則判斷虛擬機(jī)是否支持負(fù)載的熱插拔,若虛擬機(jī)不支持負(fù)載的熱插拔,則執(zhí)行步驟S15,否則,直接執(zhí)行步驟S16。
若虛擬機(jī)當(dāng)前配置處于預(yù)設(shè)的配置閾值范圍內(nèi),即虛擬機(jī)的當(dāng)前配置既沒有超過負(fù)載預(yù)設(shè)的配置的擴(kuò)容上限,也沒有低于負(fù)載預(yù)設(shè)的配置的縮減下限,則判斷該虛擬機(jī)是否支持負(fù)載的熱插拔,即判斷該虛擬機(jī)是否能夠在線進(jìn)行配置調(diào)整。
S15:將虛擬機(jī)關(guān)機(jī),然后執(zhí)行步驟S16。
當(dāng)該虛擬機(jī)不支持熱插拔時,則只能對該虛擬機(jī)先進(jìn)性關(guān)機(jī)處理,然后在對該虛擬機(jī)進(jìn)行配置的調(diào)整。
S16:對虛擬機(jī)進(jìn)行配置調(diào)整。而若當(dāng)前虛擬機(jī)支持熱插拔,則可以直接進(jìn)行對應(yīng)的負(fù)載熱插拔,以調(diào)整虛擬機(jī)的配置。調(diào)整虛擬機(jī)的配置包括:當(dāng)虛擬機(jī)處于高負(fù)載時,為其進(jìn)行CPU、內(nèi)存的擴(kuò)容,以滿足用戶對于計算資源的需求;當(dāng)虛擬機(jī)處于低負(fù)載時,為其進(jìn)行CPU、內(nèi)存的縮減,及時回收不被使用的資源,減少資源的浪費(fèi)和荒置情況,從而可以在滿足云計算用戶對計算資源的需求的同時實(shí)現(xiàn)計算資源的利用最大化。
在本實(shí)施方式中,基于對虛擬機(jī)負(fù)載的監(jiān)控對虛擬機(jī)的配置進(jìn)行調(diào)整,精準(zhǔn)地獲取了用戶對于計算資源的需求,當(dāng)虛擬機(jī)處于高負(fù)載時,為其進(jìn)行CPU、內(nèi)存的擴(kuò)容,以滿足用戶對于計算資源的需求;當(dāng)虛擬機(jī)處于低負(fù)載時,為其進(jìn)行CPU、內(nèi)存的縮減,及時回收不被使用的資源,減少資源的浪費(fèi)和荒置情況,從而可以在滿足云計算用戶對計算資源的需求的同時實(shí)現(xiàn)計算資源的利用最大化。
進(jìn)一步地,在對虛擬機(jī)進(jìn)行配置調(diào)整之后,還包括:
若虛擬機(jī)不支持負(fù)載的熱插拔,則將虛擬機(jī)開機(jī)。
若虛擬機(jī)不支持負(fù)載的熱插拔,則在對該虛擬機(jī)進(jìn)行關(guān)機(jī)后,進(jìn)行了配置調(diào)整,在配置調(diào)整完成后,還需要及時將虛擬機(jī)進(jìn)行開機(jī)處理,以便于用戶使用。
在本發(fā)明的一種實(shí)施方式中,在獲取虛擬機(jī)預(yù)設(shè)時間段內(nèi)的負(fù)載平均使用率之前,還包括:
通過任務(wù)調(diào)度每隔預(yù)設(shè)時間段對虛擬機(jī)進(jìn)行輪詢檢測,判斷虛擬機(jī)是否開啟了高可用彈性伸縮策略;若是,則執(zhí)行步驟S11。
在實(shí)際應(yīng)用中,可能并不是所有的虛擬機(jī)開啟了高可用彈性伸縮策略,因此,為了提高該方法的實(shí)用效率,通過任務(wù)調(diào)度的方式每隔一個預(yù)設(shè)時間段對目標(biāo)虛擬機(jī)進(jìn)行輪詢檢測,檢測各目標(biāo)虛擬機(jī)是否開啟了高可用彈性伸縮策略,若目標(biāo)虛擬機(jī)開啟了該策略,則實(shí)施上述各實(shí)施方式中的用于提高虛擬機(jī)的云計算資源利用率的方法,以對虛擬機(jī)進(jìn)行配置調(diào)整。優(yōu)選地,通過任務(wù)調(diào)度每隔15分鐘對虛擬機(jī)進(jìn)行輪詢檢測。所謂的高可用彈性伸縮策略指的即是虛擬機(jī)所具有的當(dāng)虛擬機(jī)處于高負(fù)載時,為其進(jìn)行CPU、內(nèi)存的擴(kuò)容,以及當(dāng)虛擬機(jī)處于低負(fù)載時,為其進(jìn)行CPU、內(nèi)存的縮減的功能。
其中,對虛擬機(jī)進(jìn)行配置調(diào)整,包括:以判定虛擬機(jī)開啟了高可用彈性伸縮策略的時間點(diǎn)的虛擬機(jī)的配置為基準(zhǔn),每次以該基準(zhǔn)的10%進(jìn)行相應(yīng)調(diào)整。其中,CPU的最小步長為1,內(nèi)存的最小步長為128M。
綜上所述,本發(fā)明所提供的用于提高虛擬機(jī)的云計算資源利用率的方法,基于對虛擬機(jī)負(fù)載的監(jiān)控對虛擬機(jī)的配置進(jìn)行調(diào)整,精準(zhǔn)地獲取了用戶對于計算資源的需求,當(dāng)虛擬機(jī)處于高負(fù)載時,為其進(jìn)行CPU、內(nèi)存的擴(kuò)容,以滿足用戶對于計算資源的需求;當(dāng)虛擬機(jī)處于低負(fù)載時,為其進(jìn)行CPU、內(nèi)存的縮減,及時回收不被使用的資源,減少資源的浪費(fèi)和荒置情況,從而可以在滿足云計算用戶對計算資源的需求的同時實(shí)現(xiàn)計算資源的利用最大化。
以上對本發(fā)明所提供的一種用于提高虛擬機(jī)的云計算資源利用率的方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。