一種在雲計算環境下動態分配資源的方法及裝置的製作方法
2023-05-24 00:23:16 1
專利名稱:一種在雲計算環境下動態分配資源的方法及裝置的製作方法
技術領域:
本發明涉及資料庫技術領域,特別是涉及一種在雲計算環境下動態分配資源的方法及裝置。
背景技術:
雲計算(cloud computing)是ー種基於網際網路的計算方式,通過這種方式,共享的軟硬體資源和信息可以按需提供給計算機或其他設備。雲計算的核心思想,是將大量用網絡連接的計算資源(例如CPU、內存、硬碟)統ー管理和調度,構成ー個計算資源池向用戶按需服務,這種提供資源的網絡被稱為「雲」。在目前的雲計算中,對資源的分配都是針對具體帳號(即申請雲資源的用戶)要求指定的,當分配成功後,如果用戶不再申請變更資源,那麼他所使用的資源就是固定的, 在這種情況下,即便用戶的資源不夠用,也不會自動給用戶增加資源,需要用戶主動向「雲」 請求申請變更,才能繼續使用。綜上所述,在現有技術中,如果用戶的資源不足時,仍需要用戶自己關注資源使用情況不能為用戶動態分配資源,那麼處理數據超高負荷的虛擬伺服器(舊)就會持續的超負荷工作,直至用戶再次主動申請資源成功,這就降低了 VS的處理效率,同時導致其他空閒資源的利用率也會較低。
發明內容
本發明所要解決的技術問題是,提供一種在雲計算環境下動態分配資源的方法, 以解決現有技術中需要用戶主動申請資源導致的VS處理效率較低的問題。本發明的另ー個目的是將上述構思應用於具體的應用環境中,提供ー種在雲計算環境下動態分配資源的裝置,從而保證該方法的實現和應用。為解決上述技術問題,本發明實施例提供了一種在雲計算環境下動態分配資源的方法,包括在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值;判斷所述實時性能值是否達到預設的第一負荷閾值,如果是,則檢測所述當前VS 繼續處理所述當前任務所需的第一時間,並判斷所述第一時間是否大於預設的第二時間, 如果是,則為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源;其中,所述第一負荷閾值為所述當前VS負荷最重時的性能值,所述第二時間為所述當前VS分配資源的預設時間。優選的,還包括在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS的資源使用率是否達到預設的資源閾值,如果是,則鎖定所述當前VS。優選的,所述用戶為企業用戶,所述為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源之前,還包括判斷與所述當前VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值,如果是,則從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。優選的,所述用戶為企業用戶,所述為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源之前,還包括判斷與所述當前VS屬於ー個區域網的其他VS是否為鎖定狀態,如果否,則判斷與所述當前VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值,如果是,則從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。優選的,從所述其他VS上為所述當前VS分配處理當前任務所需的雲資源的步驟, 具體包括選取ー個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,判斷所述待分配VS的空閒雲資源是否大於或等於所述繼續處理當前任務所需的額外雲資源,如果是, 則直接從所述待分配VS中為所述當前VS分配繼續處理所述當前任務所需的額外雲資源;如果否,則將所述待分配VS的空閒雲資源全部分配給所述當前VS,再選取下ー個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,並執行所述判斷待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源的步驟,直至可以為所述當前VS成功分配繼續處理當前任務所需的額外雲資源為止。優選的,在所述選取一個實時性能值小於預設的第二負荷閾值的VS作為待分配 VS之前,還包括獲取所述其他VS與當前VS之間的路由路徑長簡訊息;則所述選取ー個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,具體為選取與所述當前VS之間的路由路徑最短且實時性能值小於預設的第二負荷閾值的其他VS作為待分配VS。優選的,在實時監控獲得的所述VS的實時性能值小於預設的第三負荷閾值的情況下,所述方法還包括釋放繼續分配的所述處理當前任務所需的額外雲資源。本發明實施例還提供了一種在雲計算環境下動態分配資源的裝置,包括實時監控模塊,用於在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值;第一判斷模塊,用於判斷所述實時性能值是否達到預設的第一負荷閾值;所述第一負荷閾值為所述當前VS負荷最重時的性能值;時間檢測模塊,用於在所述第一判斷模塊的結果為是的情況下,檢測所述當前VS 繼續處理所述當前任務所需的第一時間;第二判斷模塊,用於判斷所述第一時間是否大於預設的第二時間;所述第二時間為所述當前VS分配資源的預設時間;分配模塊,用於在所述第二判斷模塊的結果為是的情況下,為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源。
優選的,還包括鎖定模塊,用於在所述當前VS的資源使用率達到預設的資源閾值時鎖定所述當前VS。優選的,還包括第四判斷模塊,用於判斷與所述當前VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值;觸發模塊,用於在所述第四判斷模塊的結果為是的情況下,觸發所述分配模塊從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。優選的,還包括第三判斷模塊,用於判斷與所述當前VS屬於ー個區域網的其他VS是否為鎖定狀態;第四判斷模塊,用於在所述第三判斷模塊的結果為否的情況下,判斷與所述當前 VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值;觸發模塊,用於在所述第四判斷模塊的結果為是的情況下,觸發所述分配模塊從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。優選的,所述觸發模塊具體包括選取子模塊,用於選取一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS ;第一判斷子模塊,用於判斷所述待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源;分配子模塊,用於在所述第一判斷子模塊的結果為是的情況下,直接從所述待分配VS中為所述當前VS分配繼續處理所述當前任務所需的額外雲資源;觸發子模塊,用於在所述第一判斷子模塊的結果為否的情況下,觸發所述分配子模塊將所述待分配VS的空閒雲資源全部分配給所述當前VS,並觸發所述選取子模塊選取下一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,以及,觸發所述第一判斷子模塊判斷待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源,直至可以為所述當前VS成功分配所述處理當前任務所需的雲資源為止。優選的,所述觸發模塊還包括獲取子模塊,用於獲取所述其他VS與當前VS之間的路由路徑長簡訊息;所述選取子模塊,還用於選取與所述當前VS之間的路由路徑最短且實時性能值小於預設的第二負荷閾值的其他VS作為待分配VS。優選的,還包括資源釋放模塊,用於在實時監控獲得的所述VS的實時性能值小於預設的第三負荷閾值的情況下,釋放繼續分配的所述處理當前任務所需的額外雲資源。從上述的技術方案可以看出,本發明實施例通過對用戶登錄的VS為當前任務分配初始雲資源後的性能進行實時性能檢測,並進行實時性能值與預設的性能閾值的比較, 可以靈活的自動動態為該VS分配繼續處理所述當前任務所需的額外雲資源,不需要用戶主動發起資源分配請求,從而提高了 VS的數據處理效率。
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明方法實施例一的流程圖;圖2為本發明方法實施例二的流程圖;圖3為本發明方法實施例三的流程圖;圖4為方法實施例三中步驟305的流程圖;圖5為方法實施例三中確定待分配VS的流程圖;圖6為本發明裝置實施例一的結構示意圖;圖7為本發明裝置實施例二的結構示意圖;圖8為本發明裝置實施例三的結構示意圖;圖9為裝置實施例三中觸發模塊802的結構示意圖;圖10為裝置實施例三中觸發模塊802的另一結構示意圖。
具體實施例方式為實現本發明的發明目的,本發明提供一種在雲計算環境下動態分配資源的方法及裝置,該方法可以通過對用戶登錄的VS為當前任務分配初始雲資源後的性能進行實時性能檢測,系統通過實時性能值與預設的性能閾值的比較,可以靈活的為該VS分配其繼續處理所述當前任務所需的額外雲資源,不需要用戶主動發起資源分配請求,從而也提高了VS的處理效率。以上是本發明的核心思想,為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。參見圖1,示出了本發明的一種在雲計算環境下動態分配資源的方法實施例1的流程圖,可以包括以下步驟步驟101 在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值。這裡的用戶指的是在該VS成功申請雲資源的個人用戶或者企業用戶,而所述的VS即是為該用戶處理任務的虛擬伺服器,一旦用戶成功登錄VS並開始使用VS為當前任務分配的初始雲資源處理任務時,就開始對該VS進行實時監控,以實時獲取該VS的實時性能值。步驟102 判斷所述實時性能值是否達到預設的第一負荷閾值,如果是,則進入步驟 103。其中,所述第一負荷閾值為所述當前VS負荷最重時的性能值,即是在實時監控該VS的過程中,判斷當前的實時性能值是否大於或等於預設的第一負荷閾值,如果當前實時性能值大於或等於預設的第一負荷閾值,則說明該VS已經在滿負荷處理任務,此時需要為該VS分配其他的雲資源,以避免該VS出現異常情況。需要說明的是,如果判斷得到實時性能值沒有達到預設的第一負荷閾值,則可以不做以下處理,繼續進行監控即可。步驟103 檢測所述當前VS繼續處理所述當前任務所需的第一時間。在VS滿負荷運作的情況下,檢測該VS處理當前任務所需要的剩餘時間是多長,這裡的第一時間指的是該VS處理當前任務所需要的全部時間,包括處理當前任務已經耗費的時間和滿負荷下繼續處理當前任務需要的時間。具體的,可以根據VS在處理當前任務的時候,已經處理的任務百分比和已經佔用的時間,來計算處理該任務所需要的全部時間。步驟104 判斷所述第一時間是否大於預設的第二時間,如果是,則進入步驟105。其中,第二時間為所述當前VS分配資源的預設時間,即用戶在申請初始雲資源的時候,伺服器為用戶設置的該初始雲資源的可使用時間。該第二時間可以作為為該當前VS分配資源的觸發條件,當檢測到的第一時間大於預設的第二時間時,說明在現有的雲資源分配情況下不可能在預定的第二時間內完成任務,需要申請額外雲資源才能在預定的第二時間完成任務,符合該觸發條件,即進入步驟105。當檢測到的第一時間小於或等於預設的第二時間時,說明在現有的雲資源分配情況下能在預定的第二時間內完成任務,不需要申請額外雲資源。步驟105 為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源。在第一時間大於第二時間的情況下,為當前VS分配其繼續處理所述當前任務所需要的額外雲資源,所述額外雲資源為當前VS在預定的第二時間內完成當前任務所需的額外雲資源。新分配的額外雲資源可以是與當前VS相連的其他VS的空閒雲資源,其中,雲資源可以是CPU、內存資源等,也可以是硬碟資源。本實施例提供一種在雲計算環境下動態分配資源的方法,該方法可以通過對用戶登錄之後處理任務的VS為當前任務分配初始雲資源後的性能進行實時性能檢測,再將實時性能值與預設的性能閾值進行比較,根據比較結果可以靈活的為該VS分配其繼續處理所述當前任務所需的額外雲資源,不再需要用戶主動發起資源分配請求,也提高了 VS的處理效率,同時其他VS的空閒雲資源的利用率也相比現有技術得到了提升。參見圖2,示出了本發明的一種在雲計算環境下動態分配資源的方法實施例2的流程圖,本實施例中的用戶為個人用戶,該實施例可以包括以下步驟步驟201 在個人用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值。個人用戶登錄自己已經申請成功的VS中,VS首先會自動初始化所有資源,啟動實時性能監控功能,獲取到第一負荷閾值H,H為當前VS負荷最重時的性能值。步驟202 判斷所述實時性能值是否達到預設的第一負荷閾值,如果是,則進入步驟 203。當該個人用戶開始使用自己的雲資源處理任務時,假設實時監控檢測實時性能值為H1,假設本實施例中用戶申請到的雲資源為10G,而設置的H為90%,那麼當Hl達到10*90%= 9G的時候,就說明已經達到了預設的第一負荷閾值。步驟203 檢測所述當前VS處理當前任務所需的第一時間,並判斷所述第一時間是否大於預設的第二時間,如果是,則進入步驟204。此時可以啟動任務事件E,而E的處理優先級別最高,用於檢測用戶所處理的任務需要的第一時間(假設為Tl),那麼就需要判斷Tl是否大於系統預先設定的啟動自動分配資源的第二時間(假設為T)。步驟204 通過人機互動界面提示個人用戶是否需要動態分配資源。如果Tl大於T,則可以通過UI界面來提示用戶是否需要動態分配資源,當然,在實際應用中也可以不提示用戶直接為當前VS分配雲資源。步驟205 在用戶選擇是的情況下,按照資源分配的單位值為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源。若個人用戶選擇動態分配資源,VS可以根據原始分配資源的單位值(如CPU的單位為「GHz」,內存單位為「GB」)進行資源分配,分配成功後,用戶就可以平滑的使用新增的額外雲資源。步驟206 在實時監控獲得的所述VS的實時性能值小於或等於預設的第三負荷閾值的情況下,釋放繼續分配的所述處理當前任務所需的額外雲資源。在本實施例中,可以始終啟動性能監控,假設這裡的第三負荷閾值為1/2H,那麼當Hl <= 1/2H時,表示當前VS處於低負荷運行狀態或空閒狀態,此時可以釋放剛剛為該VS新增的動態分配資源,那麼該個人用戶下次登錄時,VS中的資源仍為初始雲資源。在本實施例中,個人用戶使用雲資源時,通過實時的性能監控功能檢測個人用戶對資源的使用情況,當個人用戶登錄的VS在處理大量的數據導致CUP和內存使用完時,或者磁碟快寫滿時,可以選擇在UI界面提示個人用戶是否需要動態增加分配資源,而當個人用戶選擇是的時候,則可以自動根據實時性能值給該個人用戶動態分配資源,這樣就減少了個人用戶自己操作的次數和時間,不僅可以提升VS的處理效率,也會提高用戶的體驗;進一步的,當該個人用戶登錄的VS負荷減輕後,系統就會釋放動態分配的資源,這樣也保證空閒雲資源也可以得到充分的使用。參見圖3,示出了本發明的一種在雲計算環境下動態分配資源的方法實施例3的流程圖,所述用戶為企業用戶,該實施例可以包括以下步驟步驟301 企業用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值。本實施例中所涉及到企業用戶優選為中小型企業的企業用戶。在本實施例中,需提供一個全局性能監控中心C和全局資源s,s即為該企業中的所有企業用戶所申請的資源總和,該全局性能監控中心可以實時監控每一個VS的資源使用情況,而S則是可以由企業自主分配成多臺具體的VS。需要說明的是,在本實施例中,以任一個企業用戶登錄的任一 VS為例進行介紹,而其他VS的處理方式類似。需要說明的是,在步驟301之後,當前VS可以對其自身的資源使用率進行實時監控,從而可以在資源使用率達到預定的資源閾值時,就鎖定其自身,使得其他VS不能從鎖定的VS上獲得雲資源。鎖定步驟具體可以包括步驟A 在用戶登錄當前VS之後,實時監控所述當前VS的資源使用率是否達到預設的資源閾值,如果是,則鎖定所述當前VS。
在本實施例中,在用戶登錄當前VS之後,當前VS可以實時監控其資源使用率是否達到預設的資源閾值,例如,當前VS (假設是A)的資源使用率達到系統預先設定的資源閾值N時,將會被枷鎖,A就不再被全局性監控中心分配資源給其他VS,即是使用率低於上述N的VS才能進行被分配資源,這樣就保證了 A的資源使用一直是合理的。其中,各臺VS均可以對各自的資源使用率是否達到預設的資源閾值進行判斷,一旦發現達到預設的資源閾值,則對其自身進行鎖定,使其他VS不能從資源使用率達到資源閾值的VS上(即是鎖定的VS上)獲得額外雲資源,這樣也就保證了資源使用率達到預定資源閾值的各臺VS的雲資源不會被分配到其他VS使用。步驟302 判斷所述實時性能值是否達到預設的第一負荷閾值,如果是,則進入步驟 303。在本步驟中,假設任一個企業用戶所用的VS為A,那麼當實時性能值大於或等於第一負荷閾值時,表示A在處於滿負荷狀態。另外,如果本步驟的判斷結果為否,則可以繼續實時監控VS,而不執行以下步驟。其中,所述第一負荷閾值為所述當前VS負荷最重時的性能值。步驟303 檢測所述當前VS處理當前任務所需的第一時間,並判斷所述第一時間是否大於預設的第二時間,如果是,則進入步驟304。在A處於滿負荷狀態時,啟動任務事件E,E的處理優先級別最高,用於檢測企業用戶的VS所處理的任務需要的時間第一時間(Tl)。第一時間Tl指的是該VS處理當前任務所需要的全部時間,包括處理當前任務已經耗費的時間和滿負荷下繼續處理當前任務需要的時間。其中,所述第二時間(T)表示為所述當前VS分配資源的預設時間。步驟304 判斷所述與所述當前VS屬於一個區域網的其他VS是否處於鎖定狀態,如果否,則進入步驟305 ;與所述當前VS屬於一個區域網的其他VS如果處於鎖定狀態,說明其資源使用率已經達到了預先設定的資源閾值,此時就不再進行下面的操作,只有沒有鎖定的其他VS才有可能為當前VS提供額外雲資源。因為在實際應用中,不可避免的有可能其他VS (例如B)突然間會需要處理大量的數據,這樣B的負荷就會達到滿負荷,那麼此時B可以通過全局性監控中心從別的使用負荷低的其他VS (例如D、E等)中獲取資源,同理類推,當任一個VS的資源不足時都可以由全局性能監控中心輪詢其他各個VS,並根據其他VS的負荷情況動態為該VS分配資源,但是該VS就不能再為其他VS提供雲資源。步驟305 判斷與所述當前VS屬於一個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值,如果是,則進入步驟306。若Tl大於系統設定啟動自動分配資源的第二時間T時,全局性能監控中心能實時輪詢它所管轄內的其他VS的實時性能值的情況,例如,假設本步驟查詢到有實時性能值小於預先設定的第二負荷閾值(例如可以是滿負荷值的一半,即是H/2)的另外一臺VS(假設為B)。步驟306 從所述其他VS上為所述當前VS分配繼續處理當前任務所需的額外雲資源。所述額外雲資源為當前VS在預定的第二時間T內完成當前任務所需的額外雲資源。則本步驟可以從B上為A分配A處理當前任務所需要的雲資源,假設A處理當前任務需要的額外雲資源為s,則虛擬伺服器A將會從B中獲取資源s,其中,獲取的方法是根據原始分配資源的單位值(例如CPU的單位為「GHz」,內存單位為「GB」)進行獲取。其中,這個獲取因為是瞬間在VS之間進行的,所以不影響A和B的使用。步驟307 在實時監控獲得的所述VS的實時性能值小於預設的第三負荷閾值的情況下,釋放繼續分配的所述處理當前任務所需的額外雲資源。在本實施例中,當A的實時性能值也小於預設的第三負荷閾值的情況下,會釋放其從B中獲取的資源s,並將s交給全局資源S,直到A恢復了原始資源大小。全局性能監控中心可以根據輪詢到的各個VS的使用率和資源大小,把s分配給高使用率且資源少的那個VS。可見在本實施例中,可為整個企業提供一個全局VS,同時提供一個簡單的VS的數量配置,這樣就能通過輪詢每個VS,把總資源S合理的動態的分配到每個VS中,而企業用戶在企業內部使用雲資源時,就可以保證某一個企業用戶在使用具體某一臺VS的時候,可以在該VS超負荷運作的情況下從別的處於低負荷的VS中動態獲取雲資源。需要說明的是,本實施例中步驟304屬於優選實施方式,如果在步驟301之後沒有做對當前VS是否要鎖定的判斷及相關鎖定處理,則步驟304可以省去。通過以上的方法實施例的描述,所屬領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁碟或者光碟等各種可以存儲程序代碼的介質。參考圖4所示,為步驟306的一個實現流程圖,具體可以包括步驟401 選取一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS ;步驟402 判斷所述待分配VS的空閒雲資源是否大於或等於所述繼續處理當前任務所需的額外雲資源,如果是,則進入步驟403,如果否,則進入步驟404 ;假設以虛擬伺服器B為待分配VS,此時,判斷B中可以分配的空閒雲資源SB是否大於或等於A所需要的處理當前任務的額外雲資源SA,如果結果為是,說明即便將B中所有的空閒雲資源部分或者全部分配給A就可以保證A繼續處理完當前任務,如果結果為否,說明A只能從B中獲取自己繼續處理當前任務所需要的部分雲資源,需要進一步從其他VS中獲取額外雲資源。步驟403 直接從所述待分配VS中為所述當前VS分配繼續處理所述當前任務所需的額外雲資源;本步驟則需要直接從B中為A分配繼續處理該當前任務所需的額外雲資源;步驟404 將所述待分配VS的空閒雲資源全部分配給所述當前VS,再選取下一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,並執行所述判斷待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源的步驟,直至可以為所述當前VS成功分配繼續處理當前任務所需的額外雲資源為止。
如果B中的空閒雲資源還不夠,則可以將B中的空閒雲資源先分配給A,此時A所需的額外雲資源為(SA-SB),再依次選取下一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS (假設為C),繼續判斷C中的空閒雲資源SC是否大於或等於已經分配了 B中的空閒雲資源的A繼續處理該當前任務需要的額外雲資源(SA-SB),以此類推,直到成功為A分配了其繼續處理當前任務所需要的全部額外雲資源為止。在不同的應用場景中,在從其他VS中為當前VS分配額外雲資源時,還可以參考各個其他VS與當前VS之間的路徑長簡訊息來選擇待分配VS,具體的,參考圖5所示,為確定待分配VS的一個實現流程圖,具體可以包括步驟501 獲取所述其他VS與當前VS之間的路由路徑長簡訊息;首先依據其他VS與當前VS所處的位置關係獲取到每一臺其他VS與當前VS之間的路由路徑長簡訊息。步驟502 依次選取與所述當前VS之間的路由路徑最短且實時性能值小於預設的第二負荷閾值的其他VS作為待分配VS。在本步驟中,依次比較其他VS與當前VS之間的路由路徑長簡訊息,選擇與所述當前VS之間的路由路徑最短的VS作為待分配VS ;在實現時可以對上述各個路徑長簡訊息進行排序並保存一個表,從而可以從序列的開頭或者結尾選取與所述當前VS之間的路由路徑最短的其他VS來作為待分配VS ;本步驟確定的待分配VS則為與所述當前VS之間的路由路徑最短且實時性能值小於預設的第二負荷閾值的其他VS。相應於上面的方法實施例,本發明實施例還提供一種在雲計算環境下動態分配資源的裝置。參見圖6,示出了一種在雲計算環境下動態分配資源的裝置實施例1的結構示意圖,可以包括實時監控模塊601,用於在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值;第一判斷模塊602,用於判斷所述實時性能值是否達到預設的第一負荷閾值;所述第一負荷閾值為所述當前VS負荷最重時的性能值;時間檢測模塊603,用於在所述第一判斷模塊的結果為是的情況下,檢測所述當前VS繼續處理所述當前任務所需的第一時間;第二判斷模塊604,用於判斷所述第一時間是否大於預設的第二時間;所述第二時間為所述當前VS分配資源的預設時間;分配模塊605,用於在所述第二判斷模塊的結果為是的情況下,為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源。本實施例提供的一種在雲計算環境下動態分配資源的裝置,可以通過對用戶登錄之後處理任務的VS為當前任務分配初始雲資源後的性能進行實時性能檢測,再將實時性能值與預設的性能閾值進行比較,根據比較結果可以靈活的為該VS分配其他空閒的雲資源,不再需要用戶主動發起資源分配請求,也提高了 VS的處理效率,同時其他VS的空閒資源的利用率也相比現有技術得到了提升。參見圖7,示出了一種在雲計算環境下動態分配資源的裝置實施例2的結構示意圖,在本實施例中,用戶為個人用戶可以包括實時監控模塊601,用於在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS的性能以獲取其實時性能值;第一判斷模塊602,用於判斷所述實時性能值是否達到預設的第一負荷閾值;所述第一負荷閾值用於表示所述當前VS負荷最重時的性能值;時間檢測模塊603,用於在所述第一判斷模塊的結果為是的情況下,檢測所述當前VS處理當前任務所需的第一時間;第二判斷模塊604,用於判斷所述第一時間是否大於預設的第二時間;所述第二時間表示為所述當前VS分配資源的預設時間;提示模塊701,用於通過人機互動界面提示用戶是否需要動態分配資源;則所述分配模塊605具體用於在用戶選擇是的情況下,按照資源分配的單位值為所述當前VS分配其處理所述當前任務所需的空閒雲資源。資源釋放模塊702,用於在實時監控獲得的所述VS的實時性能值小於預設的第三負荷閾值的情況下,釋放分配的所述處理當前任務所需的空閒雲資源。在本實施例中,個人用戶使用雲資源時,通過實時的性能監控功能檢測個人用戶對資源的使用情況,當個人用戶登錄的VS在處理大量的數據導致CUP和內存使用完時,或者磁碟快寫滿時,可以選擇在UI界面提示個人用戶是否需要動態增加分配資源,而當個人用戶選擇是的時候,則可以自動根據實時性能值給該個人用戶動態分配資源,這樣就減少了個人用戶自己操作的次數和時間,不僅可以提升VS的處理效率,也會提高用戶的體驗;進一步的,當該個人用戶登錄的VS負荷減輕後,系統就會釋放動態分配的資源,這樣也保證空閒雲資源也可以得到充分的使用。參見圖8,示出了一種在雲計算環境下動態分配資源的裝置實施例3的結構示意圖,可以包括實時監控模塊601,用於在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS的性能以獲取其實時性能值;第一判斷模塊602,用於判斷所述實時性能值是否達到預設的第一負荷閾值;所述第一負荷閾值用於表示所述當前VS負荷最重時的性能值;時間檢測模塊603,用於在所述第一判斷模塊的結果為是的情況下,檢測所述當前VS處理當前任務所需的第一時間;第二判斷模塊604,用於判斷所述第一時間是否大於預設的第二時間;所述第二時間表示為所述當前VS分配資源的預設時間;第四判斷模塊801,用於判斷與所述當前VS屬於一個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值;觸發模塊802,用於在所述第四判斷模塊的結果為是的情況下,觸發分配模塊從所述其他VS上為所述當前VS分配處理當前任務所需的雲資源。資源釋放模塊702,用於在實時監控獲得的所述VS的實時性能值小於預設的第三負荷閾值的情況下,釋放分配的所述處理當前任務所需的空閒雲資源。需要說明的是,在本實施例中,優選情況下所述裝置還可以包括鎖定模塊,用於在所述當前VS的資源使用率達到預設的資源閾值時鎖定所述當前VS。可以理解的是,在觸發所述實時監控模塊601之後的任一時刻均可觸發所述鎖定
14
則在所述裝置還可以包括第三判斷模塊,用於判斷與所述當前VS屬於一個區域網的其他VS是否為鎖定狀態;則所述第四判斷模塊801則具體用於在所述第三判斷模塊的結果為否的情況下,判斷與所述當前VS屬於一個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值。參考圖9所示,為所述觸發模塊802的結構示意圖,觸發模塊802具體可以包括選取子模塊901,用於選取一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS ;第一判斷子模塊902,用於判斷所述待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源;分配子模塊903,用於在第一判斷子模塊902的結果為是的情況下,直接從所述待分配VS中為所述當前VS分配繼續處理所述當前任務所需的額外雲資源;觸發子模塊904,用於在所述第一判斷子模塊的結果為否的情況下,觸發分配子模塊903將所述待分配VS的空閒雲資源全部分配給所述當前VS,並觸發第一選取子模塊901選取下一個待分配VS,以及,觸發第一判斷子模塊902判斷待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源,直至可以為所述當前VS成功分配所述處理當前任務所需的雲資源為止。其中,在不同的實施例中,參考10所示,所述觸發模塊802還可以包括獲取子模塊1001,用於獲取所述其他VS與當前VS之間的路由路徑長簡訊息;選取子模塊901,還用於選取與所述當前VS之間的路由路徑最短且實時性能值小於預設的第二負荷閾值的其他VS作為待分配VS。第一判斷子模塊902,用於判斷所述待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源;分配子模塊903,用於在第一判斷子模塊902的結果為是的情況下,直接從所述待分配VS中為所述當前VS分配繼續處理所述當前任務所需的額外雲資源;觸發子模塊904,用於在第一判斷子模塊902的結果為否的情況下,觸發分配子模塊903將所述待分配VS的空閒雲資源全部分配給所述當前VS,並觸發第二選取子模塊1002選取下一個待分配VS,以及,觸發第一判斷子模塊902判斷待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源,直至可以為所述當前VS成功分配所述處理當前任務所需的雲資源為止。在本實施例公開的裝置應用於企業用戶登錄的VS,該裝置為整個企業提供一個全局VS,同時提供一個簡單的VS的數量配置,通過輪詢每個VS,把總資源S合理的動態的分配到每個VS中,這樣企業用戶在企業內部使用雲資源時,就可以保證某一個企業用戶在使用具體某一臺VS的時候,可以在該VS超負荷運作的情況下從別的處於低負荷的VS中動態獲取雲資源。可以理解的是,本發明可用於眾多通用或專用的計算系統環境或配置中。例如個人計算機、伺服器計算機、手持設備或可攜式設備、平板型設備、多處理器系統、基於微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。
本發明可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本發明,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備
所固有的要素。在沒有更多限制的情況下,由語句「包括一個......」限定的要素,並不排
除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。以上所述僅是本發明的具體實施方式
,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.一種在雲計算環境下動態分配資源的方法,其特徵在幹,包括在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值;判斷所述實時性能值是否達到預設的第一負荷閾值,如果是,則檢測所述當前VS繼續處理所述當前任務所需的第一時間,並判斷所述第一時間是否大於預設的第二時間,如果是,則為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源;其中,所述第一負荷閾值為所述當前VS負荷最重時的性能值,所述第二時間為所述當前VS分配資源的預設時間。
2.根據權利要求1所述的方法,其特徵在於,還包括在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS的資源使用率是否達到預設的資源閾值,如果是,則鎖定所述當前VS。
3.根據權利要求1所述的方法,其特徵在幹,所述用戶為企業用戶,所述為所述當前VS 分配其繼續處理所述當前任務所需的額外雲資源之前,還包括判斷與所述當前VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值,如果是,則從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。
4.根據權利要求2所述的方法,其特徵在幹,所述用戶為企業用戶,所述為所述當前VS 分配其繼續處理所述當前任務所需的額外雲資源之前,還包括判斷與所述當前VS屬於ー個區域網的其他VS是否為鎖定狀態,如果否,則判斷與所述當前VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值,如果是,則從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。
5.根據權利要求3或4所述的方法,其特徵在幹,從所述其他VS上為所述當前VS分配處理當前任務所需的雲資源的步驟,具體包括選取ー個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,判斷所述待分配 VS的空閒雲資源是否大於或等於所述繼續處理當前任務所需的額外雲資源,如果是,則直接從所述待分配VS中為所述當前VS分配繼續處理所述當前任務所需的額外雲資源;如果否,則將所述待分配VS的空閒雲資源全部分配給所述當前VS,再選取下一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,並執行所述判斷待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源的步驟,直至可以為所述當前VS 成功分配繼續處理當前任務所需的額外雲資源為止。
6.根據權利要求5所述的方法,其特徵在幹,在所述選取一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS之前,還包括獲取所述其他VS與當前VS之間的路由路徑長簡訊息;則所述選取ー個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,具體為選取與所述當前VS之間的路由路徑最短且實時性能值小於預設的第二負荷閾值的其他VS作為待分配VS。
7.根據權利要求1所述的方法,其特徵在幹,在實時監控獲得的所述VS的實時性能值小於預設的第三負荷閾值的情況下,所述方法還包括釋放繼續分配的所述處理當前任務所需的額外雲資源。
8.—種在雲計算環境下動態分配資源的裝置,其特徵在幹,包括實時監控模塊,用於在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值;第一判斷模塊,用於判斷所述實時性能值是否達到預設的第一負荷閾值;所述第一負荷閾值為所述當前VS負荷最重時的性能值;時間檢測模塊,用於在所述第一判斷模塊的結果為是的情況下,檢測所述當前VS繼續處理所述當前任務所需的第一時間;第二判斷模塊,用於判斷所述第一時間是否大於預設的第二時間;所述第二時間為所述當前VS分配資源的預設時間;分配模塊,用於在所述第二判斷模塊的結果為是的情況下,為所述當前VS分配其繼續處理所述當前任務所需的額外雲資源。
9.根據權利要求8所述的裝置,其特徵在於,還包括鎖定模塊,用於在所述當前VS的資源使用率達到預設的資源閾值時鎖定所述當前VS。
10.根據權利要求8所述的裝置,其特徵在於,還包括第四判斷模塊,用於判斷與所述當前VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值;觸發模塊,用於在所述第四判斷模塊的結果為是的情況下,觸發所述分配模塊從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。
11.根據權利要求9所述的裝置,其特徵在於,還包括第三判斷模塊,用於判斷與所述當前VS屬於ー個區域網的其他VS是否為鎖定狀態; 第四判斷模塊,用於在所述第三判斷模塊的結果為否的情況下,判斷與所述當前VS屬於ー個區域網的其他VS的實時性能值是否小於預設的第二負荷閾值;觸發模塊,用於在所述第四判斷模塊的結果為是的情況下,觸發所述分配模塊從所述其他VS上為所述當前VS分配繼續處理所述當前任務所需的額外雲資源。
12.根據權利要求10或11所述的裝置,其特徵在幹,所述觸發模塊具體包括 選取子模塊,用於選取一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS ; 第一判斷子模塊,用於判斷所述待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源;分配子模塊,用於在所述第一判斷子模塊的結果為是的情況下,直接從所述待分配VS 中為所述當前VS分配繼續處理所述當前任務所需的額外雲資源;觸發子模塊,用於在所述第一判斷子模塊的結果為否的情況下,觸發所述分配子模塊將所述待分配VS的空閒雲資源全部分配給所述當前VS,並觸發所述選取子模塊選取下一個實時性能值小於預設的第二負荷閾值的VS作為待分配VS,以及,觸發所述第一判斷子模塊判斷待分配VS的空閒雲資源是否大於或等於繼續處理當前任務所需的額外雲資源,直至可以為所述當前VS成功分配所述處理當前任務所需的雲資源為止。
13.根據權利要求12所述的裝置,其特徵在幹,所述觸發模塊還包括 獲取子模塊,用於獲取所述其他VS與當前VS之間的路由路徑長簡訊息;所述選取子模塊,還用於選取與所述當前VS之間的路由路徑最短且實時性能值小於預設的第二負荷閾值的其他VS作為待分配VS。
14.根據權利要求9所述的裝置,其特徵在於,還包括資源釋放模塊,用於在實時監控獲得的所述VS的實時性能值小於預設的第三負荷閾值的情況下,釋放繼續分配的所述處理當前任務所需的額外雲資源。
全文摘要
本發明實施例公開了一種在雲計算環境下動態分配資源的方法及裝置,在用戶登錄當前虛擬伺服器VS之後,實時監控所述當前VS為當前任務分配初始雲資源後的性能以獲取其實時性能值;判斷所述實時性能值是否達到預設的第一負荷閾值,如果是,則檢測所述當前VS繼續處理所述當前任務所需的第一時間,並判斷所述第一時間是否大於預設的第二時間,如果是,則為所述當前VS分配其繼續處理當前任務所需的額外雲資源;其中,所述第一負荷閾值為所述當前VS滿負荷時的性能值,所述第二時間為所述當前VS分配資源的預設時間。採用本發明實施例的方法或裝置,可以解決現有技術中需要用戶主動申請資源導致的VS處理效率較低的問題。
文檔編號H04L29/08GK102594869SQ20111045430
公開日2012年7月18日 申請日期2011年12月30日 優先權日2011年12月30日
發明者蔡常喜 申請人:深圳市同洲視訊傳媒有限公司