• / 33
  • 下載費用:30 金幣  

虛擬機調度器、調度需求管理器及方法和虛擬機調度系統.pdf

摘要
申請專利號:

CN201410122663.0

申請日:

2014.03.28

公開號:

CN104951351A

公開日:

2015.09.30

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 9/455申請日:20140328|||公開
IPC分類號: G06F9/455; G06F9/50 主分類號: G06F9/455
申請人: 株式會社日立制作所
發明人: 陶一然; 楊鵬
地址: 日本東京
優先權:
專利代理機構: 中國國際貿易促進委員會專利商標事務所11038 代理人: 崔成哲
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201410122663.0

授權公告號:

||||||

法律狀態公告日:

2018.12.18|||2016.03.23|||2015.09.30

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明涉及一種虛擬機調度器、調度需求管理器及其方法和虛擬機調度系統。本發明提供一種虛擬機調度方法,其特征在于,包括:監聽來自調度需求管理器的虛擬機的調度請求,判斷在該調度請求是否包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息,在該調度請求包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,分別向所述調度需求管理器和所述鄰近調度需求管理器發出調度指令,其中在達成了調度決議的情況下,該調度請求還包含有關所述鄰近調度需求管理器的信息。

權利要求書

權利要求書
1.  一種虛擬機調度方法,其特征在于,包括:
監聽來自調度需求管理器的虛擬機的調度請求,
判斷在該調度請求是否包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息,
在該調度請求包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,分別向所述調度需求管理器和所述鄰近調度需求管理器發出調度指令,其中在達成了調度決議的情況下,該調度請求還包含有關所述鄰近調度需求管理器的信息。

2.  如權利要求1所述的虛擬機調度方法,其特征在于,
在該調度請求未包含表示所述調度需求管理器與所述鄰近調度需求管理器達成了調度決議的信息的情況下,監聽來自其它調度需求管理器的虛擬機的調度請求,
根據所述調度需求管理器的虛擬機的調度請求和其它調度需求管理器的虛擬機的調度請求的需求量,判斷所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的虛擬機的調度請求是否能夠匹配,
如果能夠匹配,則分別向所述調度需求管理器和所述其它調度需求管理器發送有關對方的信息,并發送調度指令,
其中,所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的調度請求是否能夠匹配表示:所述調度需求管理器的虛擬機遷出的請求和所述其它調度需求管理器的虛擬機遷入的請求是否能夠匹配;或者所述調度需求管理器的虛擬機遷入的請求和所述其它調度需求管理器的虛擬機遷出的請求是否能夠匹配。

3.  如權利要求1所述的虛擬機調度方法,其特征在于,
在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,判斷是否存在上一層虛擬機調度器,
在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上 一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。

4.  如權利要求2所述的虛擬機調度方法,其特征在于,
在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息、并且所述調度需求管理器的調度請求與其它調度需求管理器的調度請求未能匹配的情況下,判斷是否存在上一層虛擬機調度器,
在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。

5.  如權利要求1所述的虛擬機調度方法,其特征在于,
所述調度請求包含將虛擬機遷出的請求或將虛擬機遷入的請求。

6.  一種虛擬機調度方法,其特征在于,
監聽來自兩個或更多個下一層虛擬機調度器的調度請求,所述調度請求包括將虛擬機遷出的請求或將虛擬機遷入的請求,
根據來自一個下一層虛擬機調度器的虛擬機遷出的請求和另一個下一層虛擬機調度器的虛擬機遷入的請求的需求量,判斷所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求是否能夠匹配,
如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求能夠匹配,則分別向所述一個下一層虛擬機調度器和所述另一個下一層虛擬機調度器發送有關對方的調度請求中的有關調度需求管理器的信息,并發送調度指令。

7.  如權利要求6所述的虛擬機調度方法,其特征在于,
如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求不能夠匹配,判斷是否存在上一層虛擬機調度器,
在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回下一層虛擬機調度器。

8.  一種調度需求管理方法,其特征在于,
從物理機監控器獲取物理服務器負荷信息,
根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度,
在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器通信,詢問是否接受虛擬機的調度,
在從所述鄰近調度需求管理器接收到包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,與所述鄰近調度需求管理器達成調度決議,并向虛擬機調度器發送包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息和有關所述鄰近調度需求管理器的信息的虛擬機的調度請求,
在從所述鄰近調度需求管理器接收到未包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,向所述虛擬機調度器發送未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的虛擬機的調度請求,
根據來自所述虛擬機調度器的調度指令、或有關其它調度需求管理器的信息和調度指令,指令虛擬機管理器進行虛擬機調度。

9.  如權利要求8所述的調度需求管理方法,其特征在于,
虛擬機的調度是虛擬機的遷出或虛擬機的遷入。

10.  如權利要求8所述的調度需求管理方法,其特征在于,
在從所述鄰近調度需求管理器接收到是否接受虛擬機的調度的詢問的情況下,根據從物理機監控器獲取的物理服務器負荷信息,判斷是否接受虛擬機的調度,并將判斷結果發送給所述鄰近調度需求管理器,
在判斷為接受虛擬機的調度的情況下,與所述鄰近調度需求管理器達成調度決議。

11.  一種虛擬機調度器,其特征在于,具有:
監聽部,監聽來自調度需求管理器的虛擬機的調度請求;
調度控制部,判斷在該調度請求是否包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息;以及
調度指令部,在該調度請求包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,分別向所述調度需 求管理器和所述鄰近調度需求管理器發出調度指令,其中在達成了調度決議的情況下,該調度請求還包含有關所述鄰近調度需求管理器的信息。

12.  如權利要求11所述的虛擬機調度器,其特征在于,
在該調度請求未包含表示所述調度需求管理器與所述鄰近調度需求管理器達成了調度決議的信息的情況下,所述監聽部監聽來自其它調度需求管理器的虛擬機的調度請求,
所述調度控制部根據所述調度需求管理器的虛擬機的調度請求和其它調度需求管理器的虛擬機的調度請求的需求量,判斷所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的虛擬機的調度請求是否能夠匹配,
如果能夠匹配,所述調度控制部分別向所述調度需求管理器和所述其它調度需求管理器發送有關對方的信息,并發送調度指令,
其中,所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的調度請求是否能夠匹配表示:所述調度需求管理器的虛擬機遷出的請求和所述其它調度需求管理器的虛擬機遷入的請求是否能夠匹配;或者所述調度需求管理器的虛擬機遷入的請求和所述其它調度需求管理器的虛擬機遷出的請求是否能夠匹配。

13.  如權利要求11所述的虛擬機調度器,其特征在于,還具有:
第一判斷部,在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,判斷是否存在上一層虛擬機調度器;以及
調度請求部,在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。

14.  如權利要求12所述的虛擬機調度器,其特征在于,還具有:
第二判斷部,在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息、并且所述調度需求管理器的調度請求與其它調度需求管理器的調度請求未能匹配的情況下,判斷是否存在上一層虛擬機調度器,
調度請求部,在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。

15.  如權利要求11所述的虛擬機調度器,其特征在于,
所述調度請求是將虛擬機遷出的請求或將虛擬機遷入的請求。

16.  一種虛擬機調度器,其特征在于,具有:
監聽部,監聽來自兩個或更多個下一層虛擬機調度器的調度請求,所述調度請求包括將虛擬機遷出的請求或將虛擬機遷入的請求;以及
調度控制部,根據來自一個下一層虛擬機調度器的虛擬機遷出的請求和另一個下一層虛擬機調度器的虛擬機遷入的請求的需求量,判斷所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求是否能夠匹配,
調度指令部,如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求能夠匹配,則分別向所述一個下一層虛擬機調度器和所述另一個下一層虛擬機調度器發送有關對方調度請求中的有關調度需求管理器的的信息,并發送調度指令。

17.  如權利要求16所述的虛擬機調度器,其特征在于,還具備:
第三判斷部,如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求不能夠匹配,判斷是否存在上一層虛擬機調度器,
調度請求部,在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回下一層虛擬機調度器。

18.  一種調度需求管理器,其特征在于,具備:
物理服務器負荷信息獲取部,從物理機監控器獲取物理服務器負荷信息;
調度判斷部,根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度;
調度通信部,在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器通信,詢問是否接受虛擬機的調度;
調度決議部,在從所述鄰近調度需求管理器接收到包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,與所述鄰近調度需求管理器達成調度決議,并向虛擬機調度器發送包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息和有關所述鄰近調度需求管理器的信息的虛擬機的調度請求,
所述調度決議部在從所述鄰近調度需求管理器接收到未包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,向所述虛擬機調度器發送未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的虛擬機的調度請求;以及
調度指令部,根據來自所述虛擬機調度器的調度指令、或有關其它調度需求管理器的信息和調度指令,指令虛擬機管理器進行虛擬機調度。

19.  如權利要求18所述的調度需求管理器,其特征在于,
虛擬機的調度是虛擬機的遷出或虛擬機的遷入。

20.  如權利要求18所述的調度需求管理器,其特征在于,
在從所述鄰近調度需求管理器接收到是否接受虛擬機的調度的詢問的情況下,根據從物理機監控器獲取的物理服務器負荷信息,判斷是否接受虛擬機的調度,并將判斷結果發送給所述鄰近調度需求管理器,
在調度判斷部判斷為接受虛擬機的調度的情況下,所述調度決議部與所述鄰近調度需求管理器達成調度決議。

21.  一種虛擬機調度系統,其特征在于,包括:
權利要求11或12所述的虛擬機調度器;以及
多個物理服務器,每個物理服務器包括一個或多個虛擬機、物理機監控器、虛擬機管理器、以及權利要求18-20中的任一項所述的調度需求管理器,
其中,所述虛擬機分布在所述物理服務器上,向用戶提供服務,每一個物理服務器中能夠運行一個虛擬機或同時運行多個虛擬機,
其中,在每臺物理服務器上運行物理機監控器,物理機監控器實 時監控物理服務器的物理服務器負荷信息,并將物理服務器負荷信息傳送給調度需求管理器。

22.  一種虛擬機調度系統,其特征在于,包括:
多個權利要求13或14所述的虛擬機調度器作為底層虛擬機調度器;
一個或多個權利要求16或17所述的虛擬機調度器作為非底層虛擬機調度器;
多個物理服務器,每個物理服務器包括一個或多個虛擬機、物理機監控器、虛擬機管理器、以及權利要求18-20中的任一項所述的調度需求管理器,
其中,所述虛擬機分布在所述物理服務器上,向用戶提供服務,每一個物理服務器中能夠運行一個虛擬機或同時運行多個虛擬機,
其中,在每臺物理服務器上運行物理機監控器,物理機監控器實時監控物理服務器的物理服務器負荷信息,并將物理服務器負荷信息傳送給調度需求管理器。

23.  一種視頻監控系統,其特征在于,具有權利要求11-15中的任一項所述的虛擬機調度器、權利要求16-20中的任一項所述的虛擬機調度器、或權利要求21或權利要求22所述的虛擬機調度系統。

說明書

說明書虛擬機調度器、調度需求管理器及方法和虛擬機調度系統
技術領域
本發明涉及分布式系統和計算機網絡領域,更具體地說,本發明涉及一種虛擬機調度器、調度需求管理器及其方法和虛擬機調度系統。
背景技術
近年來云計算技術蓬勃發展,云計算技術提高了資源(例如硬件資源)的利用率,同時降低了成本,并且在支持海量數據分析、存儲、搜索和災備方面都有很好表現。同時,基于云計算技術的平臺(云平臺)具有很好的可擴展性和平衡負荷能力。但是,建立云平臺同時也對于技術有較高要求,仍然有很多課題要完成。例如,如何調度系統資源以提高資源利用率并且平衡負荷就是一個棘手的問題。
為了改變這種情況,提出了基于云平臺的虛擬機調度技術,例如公開號為CN101719081A的專利申請(以下稱為專利文獻1)。該專利文獻1中提及一種虛擬機調度方法,利用一個虛擬機調度器,采用裝箱算法來解決數據中心資源計算和實時調度虛擬機的問題(參考本發明的圖1、圖2)。
專利文獻1中的方案做到了計算資源和調度,但是,該方案中采用了單一的虛擬機調度器,并且需要運用裝箱算法計算全系統的資源之后統一調度,難以應對大規模系統的虛擬機調度問題。在大規模系統中,視頻數據生成速度快、變化大,統一計算、統一調度的模式難以及時響應需求。
發明內容
基于以上的描述,希望提供一種能夠更好地調度系統資源以提高資源利用率并且平衡負荷的虛擬機調度器、調度需求管理器及方法和虛擬機調度系統。
(底層虛擬機調度器的虛擬機調度方法)
根據本發明的第一個方面,提供了一種虛擬機調度方法,其特征在于,包括:
監聽來自調度需求管理器的虛擬機的調度請求,
判斷在該調度請求是否包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息,
在該調度請求包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,分別向所述調度需求管理器和所述鄰近調度需求管理器發出調度指令,其中在達成了調度決議的情況下,該調度請求還包含有關所述鄰近調度需求管理器的信息。
通過采用該方案,底層虛擬機調度器無需根據具體的物理服務器負荷信息進行調度,而僅僅根據調度請求是否包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息來進行虛擬機調度,簡化了虛擬機調服方法。
根據本發明的第二個方面,在第一個方面的虛擬機調度方法中,
在該調度請求未包含表示所述調度需求管理器與所述鄰近調度需求管理器達成了調度決議的信息的情況下,監聽來自其它調度需求管理器的虛擬機的調度請求,
根據所述調度需求管理器的虛擬機的調度請求和其它調度需求管理器的虛擬機的調度請求的需求量,判斷所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的虛擬機的調度請求是否能夠匹配,
如果能夠匹配,則分別向所述調度需求管理器和所述其它調度需求管理器發送有關對方的信息,并發送調度指令,
其中,所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的調度請求是否能夠匹配表示:所述調度需求管理器的虛擬機遷出的請求和所述其它調度需求管理器的虛擬機遷入的請求是否能夠匹配;或者所述調度需求管理器的虛擬機遷入的請求和所述其它調度需求管理器的虛擬機遷出的請求是否能夠匹配。
通過采用該方案,底層虛擬機調度器在該調度請求未包含表示所 述調度需求管理器與所述鄰近調度需求管理器達成了調度決議的信息的情況下,不是僅僅報錯或上報調度請求,而是監聽來自其它調度需求管理器的虛擬機的調度請求,并在能夠匹配時,分別向所述調度需求管理器和所述其它調度需求管理器發送有關對方的信息,并發送調度指令。由此,可以提高調度的成功率。
(多級虛擬機調度器的底層虛擬機調度器的虛擬機調度方法)
根據本發明的第三個方面,在第一個方面的虛擬機調度方法中,
在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,判斷是否存在上一層虛擬機調度器,
在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。
通過采用該方案,利用多級調度方案,能夠更好地調度系統資源以提高資源利用率并且平衡負荷。
根據本發明的第四個方面,在第二個方面的虛擬機調度方法中,
在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息、并且所述調度需求管理器的調度請求與其它調度需求管理器的調度請求未能匹配的情況下,判斷是否存在上一層虛擬機調度器,
在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。
通過采用該方案,利用多級調度方案,能夠更好地調度系統資源以提高資源利用率并且平衡負荷。
根據本發明的第五個方面,在第一個方面的虛擬機調度方法中,
所述調度請求包含將虛擬機遷出的請求或將虛擬機遷入的請求。
(非底層虛擬機調度器的虛擬機調度方法)
根據本發明的第六個方面,提供一種虛擬機調度方法,其特征在于,
監聽來自兩個或更多個下一層虛擬機調度器的調度請求,所述調度請求包括將虛擬機遷出的請求或將虛擬機遷入的請求,
根據來自一個下一層虛擬機調度器的虛擬機遷出的請求和另一個下一層虛擬機調度器的虛擬機遷入的請求的需求量,判斷所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求是否能夠匹配,
如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求能夠匹配,則分別向所述一個下一層虛擬機調度器和所述另一個下一層虛擬機調度器發送有關對方的調度請求中的有關調度需求管理器的信息,并發送調度指令。
通過采用該方案,利用多級調度方案,能夠更好地調度系統資源以提高資源利用率并且平衡負荷。
根據本發明的第七個方面,在第六個方面的的虛擬機調度方法中,
如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求不能夠匹配,判斷是否存在上一層虛擬機調度器,
在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回下一層虛擬機調度器。
通過采用該方案,利用多級調度方案,能夠更好地調度系統資源以提高資源利用率并且平衡負荷。
(調度需求管理器的調度需求管理方法)
根據本發明的第八個方面,提供一種調度需求管理方法,其特征在于,
從物理機監控器獲取物理服務器負荷信息,
根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度,
在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器通信,詢問是否接受虛擬機的調度,
在從所述鄰近調度需求管理器接收到包含表示所述鄰近調度需求 管理器接受虛擬機的調度的信息的情況下,與所述鄰近調度需求管理器達成調度決議,并向虛擬機調度器發送包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息和有關所述鄰近調度需求管理器的信息的虛擬機的調度請求,
在從所述鄰近調度需求管理器接收到未包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,向所述虛擬機調度器發送未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的虛擬機的調度請求,
根據來自所述虛擬機調度器的調度指令、或有關其它調度需求管理器的信息和調度指令,指令虛擬機管理器進行虛擬機調度。
通過采用該方案,調度需求管理器并不是簡單地將物理服務器負荷信息發送到虛擬機調度器,而是根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度,在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器通信,詢問是否接受虛擬機的調度,在從所述鄰近調度需求管理器接收到包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,與所述鄰近調度需求管理器達成調度決議,并向虛擬機調度器發送。由此可以減少虛擬機調度器的工作負擔。
根據本發明的第九個方面,在第八個方面的調度需求管理方法中,
虛擬機的調度是虛擬機的遷出或虛擬機的遷入。
根據本發明的第十個方面,在第八個方面的調度需求管理方法中,
在從所述鄰近調度需求管理器接收到是否接受虛擬機的調度的詢問的情況下,根據從物理機監控器獲取的物理服務器負荷信息,判斷是否接受虛擬機的調度,并將判斷結果發送給所述鄰近調度需求管理器,
在判斷為接受虛擬機的調度的情況下,與所述鄰近調度需求管理器達成調度決議。
(底層虛擬機調度器)
根據本發明的第十一個方面,提供一種虛擬機調度器,其特征在于,具有:
監聽部,監聽來自調度需求管理器的虛擬機的調度請求;
調度控制部,判斷在該調度請求是否包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息;以及
調度指令部,在該調度請求包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,分別向所述調度需求管理器和所述鄰近調度需求管理器發出調度指令,其中在達成了調度決議的情況下,該調度請求還包含有關所述鄰近調度需求管理器的信息。
根據本發明的第十二個方面,在第十一個方面的虛擬機調度器中,
在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,所述監聽部監聽來自其它調度需求管理器的虛擬機的調度請求,
所述調度控制部根據所述調度需求管理器的虛擬機的調度請求和其它調度需求管理器的虛擬機的調度請求的需求量,判斷所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的虛擬機的調度請求是否能夠匹配,
如果能夠匹配,所述調度控制部分別向所述調度需求管理器和所述其它調度需求管理器發送有關對方的信息,并發送調度指令,
其中,所述調度需求管理器的虛擬機的調度請求和所述其它調度需求管理器的調度請求是否能夠匹配表示:所述調度需求管理器的虛擬機遷出的請求和所述其它調度需求管理器的虛擬機遷入的請求是否能夠匹配;或者所述調度需求管理器的虛擬機遷入的請求和所述其它調度需求管理器的虛擬機遷出的請求是否能夠匹配。
(多級虛擬機調度器中的底層虛擬機調度器)
根據本發明的第十三個方面,在第十一個方面的虛擬機調度器中,還具有:
第一判斷部,在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,判斷是否存在上一層虛擬機調度器;以及
調度請求部,在存在上一層虛擬機調度器的情況下,將上述調度 請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。
根據本發明的第十四個方面,在第十二個方面的虛擬機調度器中,還具有:
第二判斷部,在該調度請求未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息、并且所述調度需求管理器的調度請求與其它調度需求管理器的調度請求未能匹配的情況下,判斷是否存在上一層虛擬機調度器,
調度請求部,在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回所述調度需求管理器。
根據本發明的第十五個方面,在第十一個方面的虛擬機調度器中,
所述調度請求是將虛擬機遷出的請求或將虛擬機遷入的請求。
(非底層虛擬機調度器)
根據本發明的第十六個方面,提供一種虛擬機調度器,其特征在于,具有:
監聽部,監聽來自兩個或更多個下一層虛擬機調度器的調度請求,所述調度請求包括將虛擬機遷出的請求或將虛擬機遷入的請求;以及
調度控制部,根據來自一個下一層虛擬機調度器的虛擬機遷出的請求和另一個下一層虛擬機調度器的虛擬機遷入的請求的需求量,判斷所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求是否能夠匹配,
調度指令部,如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求能夠匹配,則分別向所述一個下一層虛擬機調度器和所述另一個下一層虛擬機調度器發送有關對方調度請求中的有關調度需求管理器的信息,并發送調度指令。
根據本發明的第十七個方面,在第十六個方面的虛擬機調度器中, 還具備:
第三判斷部,如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求不能夠匹配,判斷是否存在上一層虛擬機調度器,
調度請求部,在存在上一層虛擬機調度器的情況下,將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器的信息和調度指令傳回下一層虛擬機調度器。
(調度需求管理器)
根據本發明的第十八個方面,提供一種調度需求管理器,其特征在于,具備:
物理服務器負荷信息獲取部,從物理機監控器獲取物理服務器負荷信息;
調度判斷部,根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度;
調度通信部,在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器通信,詢問是否接受虛擬機的調度;
調度決議部,在從所述鄰近調度需求管理器接收到包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,與所述鄰近調度需求管理器達成調度決議,并向虛擬機調度器發送包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息和有關所述鄰近調度需求管理器的信息的虛擬機的調度請求,
所述調度決議部在從所述鄰近調度需求管理器接收到未包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,向所述虛擬機調度器發送未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的虛擬機的調度請求;以及
調度指令部,根據來自所述虛擬機調度器的調度指令、或有關其它調度需求管理器的信息和調度指令,指令虛擬機管理器進行虛擬機調度。
根據本發明的第十九個方面,在第十八個方面的調度需求管理器 中,
虛擬機的調度是虛擬機的遷出或虛擬機的遷入。
根據本發明的第二十個方面,在第十八個方面的調度需求管理器中,其特征在于,
在從所述鄰近調度需求管理器接收到是否接受虛擬機的調度的詢問的情況下,根據從物理機監控器獲取的物理服務器負荷信息,判斷是否接受虛擬機的調度,并將判斷結果發送給所述鄰近調度需求管理器,
在調度判斷部判斷為接受虛擬機的調度的情況下,所述調度決議部與所述鄰近調度需求管
(只有一個虛擬機調度器的虛擬機調度系統)
根據本發明的第二十一個方面,提供一種虛擬機調度系統,其特征在于,包括:
第十一個方面或第十二個方面的虛擬機調度器;以及
多個物理服務器,每個物理服務器包括一個或多個虛擬機、物理機監控器、虛擬機管理器、以及第十八個方面-第二十個方面之一的調度需求管理器,
其中,所述虛擬機分布在所述物理服務器上,向用戶提供服務,每一個物理服務器中能夠運行一個虛擬機或同時運行多個虛擬機,
其中,在每臺物理服務器上運行物理機監控器,物理機監控器實時監控物理服務器的物理服務器負荷信息,并將物理服務器負荷信息傳送給調度需求管理器。
(具有多級虛擬機調度器的虛擬機調度系統)
根據本發明的第二十二個方面,提供一種虛擬機調度系統,其特征在于,包括:
多個第十三個方面或第十四個方面的虛擬機調度器作為底層虛擬機調度器;
一個或多個第十六個或第十七個方面的虛擬機調度器作為非底層虛擬機調度器;
多個物理服務器,每個物理服務器包括一個或多個虛擬機、物理 機監控器、虛擬機管理器、以及第十八個方面-第二十個方面之一的調度需求管理器,
其中,所述虛擬機分布在所述物理服務器上,向用戶提供服務,每一個物理服務器中能夠運行一個虛擬機或同時運行多個虛擬機,
其中,在每臺物理服務器上運行物理機監控器,物理機監控器實時監控物理服務器的物理服務器負荷信息,并將物理服務器負荷信息傳送給調度需求管理器。
根據本發明的第二十三個方面,提供一種視頻監控系統,其特征在于,具有第十一個方面-第十五個方面中的任一項所述的虛擬機調度器,、第十六個方面-第二十個方面中的任一項所述的虛擬機調度器、或第二十一個方面或第二十二個方面的虛擬機調度系統。
本發明通過采用上述技術方案,能夠更好地調度系統資源以提高資源利用率并且平衡負荷。
附圖說明
通過結合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述以及其它目的、特征和優勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標號通常代表相同部件。
圖1示出上述專利文獻1中的現有的數據中心的結構圖。
圖2示出上述專利文獻1中一種現有的虛擬機調度系統的結構圖。
圖3示出本發明的一個實施例的虛擬機調度系統的結構圖。
圖4示出本發明的一個實施例的虛擬機調度系統的層級圖。
圖5為本發明的一個實施例的虛擬機調度系統中的虛擬機調度方法的流程圖。圖5a示出底層虛擬機調度器的一個實施例的虛擬機調度方法的流程圖。圖5b示出底層虛擬機調度器的一個實施例的虛擬機調度方法的流程圖。圖5c示出在虛擬機調度系統中有兩級或更多級虛擬機調度器的情況下的底層虛擬機調度器的虛擬機調度方法的流程圖。
圖6為本發明的一個實施例的虛擬機調度系統中的非底層虛擬機調度器的虛擬機調度方法的流程圖。圖6a示出虛擬機調度系統中的非底層虛擬機調度器的一個實施例的虛擬機調度方法的流程圖。圖6b 示出多級虛擬機調度系統中的中間層虛擬機調度器或頂層虛擬機調度器的一個實施例的虛擬機調度方法的流程圖。
圖7示出本發明的一個實施例的調度需求管理方法的流程圖。
圖8示出本發明的一個實施例的虛擬機調度系統中的消息時序圖。
圖9示出本發明的底層虛擬機調度器的結構框圖。
圖10示出本發明的非底層虛擬機調度器的結構框圖。
圖11示出本發明的調度需求管理器的結構框圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的優選實施方式。雖然附圖中顯示了本公開的優選實施方式,然而應該理解,可以以各種形式實現本公開而不應被這里闡述的實施方式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的范圍完整地傳達給本領域的技術人員。
所屬技術領域的技術人員知道,本發明可以實現為裝置、系統、方法。因此,本公開可以具體實現為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包括固件、駐留軟件、微代碼等),還可以是硬件和軟件結合的形式,本文一般稱為“部”、“器”或“系統”。
可以以一種或多種程序設計語言或其組合來編寫用于執行本發明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言-諸如Java、Smalltalk、C++,還包括常規的過程式程序設計語言-諸如”C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡——包括局域網(LAN)或廣域網(WAN)-連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
下面將參照本發明實施例的方法、器(系統)的流程圖和/或框圖描述本發明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,這些計算機程序指令通過計算機或其它可編程數據處理裝置執行,產生了實現流程圖和/或框圖中的方框中規定的功能/操作的裝置。
也可以把這些計算機程序指令存儲在能使得計算機或其它可編程數據處理裝置以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令就產生出一個包括實現流程圖和/或框圖中的方框中規定的功能/操作的指令裝置(instruction means)的制造品(manufacture)。
也可以把計算機程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機或其它可編程裝置上執行的指令能夠提供實現流程圖和/或框圖中的方框中規定的功能/操作的過程。
圖1示出上述專利文獻1中的現有的數據中心1的結構圖。在當前的數據中心1的構架中,具有:數據中心局域網2、物理服務器3、專用調度網4、監控主機5和集中存儲設備6。物理服務器3的一端連接于數據中心局域網2,另一端連接于專用調度網4。該數據中心1的集中存儲設備6集中存儲數據。
圖2示出上述專利文獻1中現有的虛擬機調度系統的結構圖。該虛擬機調度系統包括虛擬機調度器7、物理機監控器8、虛擬機9、虛擬機管理器10。虛擬機調度器7實時監控物理機監控器8傳來的物理機狀態信息,根據接收到的物理機狀態信息評判資源利用情況,運用調度算法計算最佳調度方案,對虛擬機9實施調度。虛擬機管理器10實時管理自已所在物理機中的虛擬機9。
圖3示出本發明的一個實施例的虛擬機調度系統的結構圖。本發 明的一個實施例的虛擬機調度系統包含頂層虛擬機調度器11、虛擬機調度器12(對于不同的虛擬機調度器12,用12a、12b(未圖示)、…12m…表示)、物理機監控器13(對于不同的物理機監控器13,用13a、13b、…13m…表示)、虛擬機14、調度需求管理器15(對于不同的調度需求管理器15,用15a、15b、…15m…表示)和虛擬機管理器16(對于不同的虛擬機管理器16,用16a、16b、…16m…表示)。其中,物理機監控器13、虛擬機14、調度需求管理器15和虛擬機管理器16包含于物理服務器。
1)虛擬機14:分布在物理服務器上,向用戶或其它設備提供服務,并且在一個物理服務器中可同時運行多臺虛擬機14。多個物理服務器中的每一臺物理服務器可以是同構的,也可以不是同構的。如果物理服務器為異構物理服務器,則根據同構關系將物理服務器劃分為多個管理域,每一管理域中所包括的物理服務器為同構物理服務器。
物理服務器通過使用虛擬化管理程序(或者虛擬化軟件)將一臺物理主機虛擬成多臺虛擬機,各個虛擬機之間相互獨立,共享主機上的各種硬件資源包括CPU、存儲、網絡等。物理服務器通過虛擬化不僅可以提高整個數據中心IT環境的資源利用效率,還可以通過虛擬機調度等技術更加高效的管理整個云計算系統的工作負載,增強云計算系統的彈性和靈活性。
2)虛擬機管理器16:在每臺物理服務器上運行一個虛擬機管理器16,為虛擬機提供運行平臺。
3)物理機監控器13:在每臺物理服務器上運行一個物理機監控器13,實時監控物理服務器3上的各種負荷,例如CPU占用率、內存使用百分比等,并將負荷信息傳送給調度需求管理器15。
4)調度需求管理器15:在每臺物理服務器上運行一個調度需求管理器15。
調度需求管理器15從物理機監控器13獲取物理服務器的負荷信息,根據該物理服務器的負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度,在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器15通信,詢問是否接受虛擬機的調度,在對方接受 虛擬機14的調度的情況下,與所述鄰近調度需求管理器15達成調度決議,并向虛擬機調度器12發送包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息和有關所述鄰近調度需求管理器的信息的虛擬機的調度請求,在對方不接受虛擬機14的調度的情況下,向所述虛擬機調度器12發送未包含表示所述調度需求管理器15與鄰近調度需求管理器15達成了調度決議的信息的虛擬機14的調度請求,根據來自所述虛擬機調度器12的調度指令、或有關其它調度需求管理器15的信息和調度指令,指令虛擬機管理器16進行虛擬機調度。
包含表示所述調度需求管理器15與鄰近調度需求管理器15達成了調度決議的信息可以告知虛擬機調度器12只要指令所述調度需求管理器15與鄰近調度需求管理器15進行虛擬機的調度就可以了。
與此相對,未包含表示所述調度需求管理器15與鄰近調度需求管理器15達成了調度決議的信息可以告知虛擬機調度器12需要找到與調度需求管理器15的調度需求相匹配的其它調度需求管理器15。
5)虛擬機調度器12:該虛擬機調度系統中有一個或多個虛擬機調度器12,運行在專門的設備上,可以認為虛擬機調度器12所在的設備與物理服務器是異構的。虛擬機調度器12的數量不多于物理服務器,且根據物理服務器之間的網絡延遲大小,盡量在延遲較小的物理服務器之間架設虛擬機調度器12。
例如,有物理服務器3A、3B、3C、3D(均未圖示),并且有虛擬機調度器12a和12b(未圖示),并且物理服務器3A和3B的延遲較小,物理服務器3C和3D的延遲較小,但物理服務器3A、3B與物理服務器3C、3D的延遲較大(即,物理服務器3A與物理服務器3C、3D延遲較大,物理服務器3B與物理服務器3C、3D延遲較大),則在物理服務器3A和3B之間架設虛擬機調度器12a,在物理服務器3C和3D之間架設虛擬機調度器12b。
6)頂層虛擬機調度器11:頂層虛擬機調度器11和虛擬機調度器12可以是同構的設備,也可以是不同構的設備。頂層虛擬機調度器11需要連接所有的虛擬機調度器12,而且不存在上層虛擬機調度器12。 頂層虛擬機調度器11只會接收到來自下層虛擬機調度器12的調度請求,并且尋找可匹配的調度需求。
圖4為本發明的一個實施例的虛擬機調度系統的層級圖,其中包含三個層:虛擬機調度層401、物理層407以及虛擬機層405。虛擬機調度層401中包含頂層虛擬機調度器402(對應于圖3的頂層虛擬機調度器11)、和虛擬機調度器403(對應于圖3的虛擬機調度器12)。物理層407中包含物理服務器404(對應于關于圖3的說明中的物理服務器),該物理服務器404包括虛擬機406(對應于圖3的虛擬機14)、物理機監控器408(對應于圖3的物理機監控器13)、調度需求管理器409(對應于圖3的調度需求管理器15)、和虛擬機管理器410(對應于圖3的虛擬機管理器16)。在物理層中還有虛擬機層405,該虛擬機層405包括虛擬機406(對應于圖3的虛擬機14)。
盡管在圖3和圖4的圖示中,本發明的一個實施例的虛擬機調度系統包括兩級虛擬機調度器,但是本發明的虛擬機調度系統中,即可以僅包括一個虛擬機調度器(相當于一級虛擬機調度器),也可以包括三級以上(包括三級)的虛擬機調度器。
在本發明的虛擬機調度系統僅包括一個虛擬機調度器的情況下,相當于虛擬機調度系統包括圖3中的虛擬機調度器12a、物理機監控器13(對于不同的物理機監控器13,用13a、13b、…表示)、虛擬機14、調度需求管理器15(對于不同的調度需求管理器15,用15a、15b、…表示)和虛擬機管理器16(對于不同的虛擬機管理器16,用16a、16b、…表示),而不包括頂層虛擬機調度器11、虛擬機調度器12m及物理機監控器13m、虛擬機14、調度需求管理器15m和虛擬機管理器16m。
圖5為本發明的一個實施例的虛擬機調度系統中的虛擬機調度方法的流程圖。
圖5a示出底層虛擬機調度器12的一個實施例的虛擬機調度方法的流程圖。
圖5a中的底層虛擬機調度器12的虛擬機調度方法既適用于在虛擬機調度系統中只有一個虛擬機調度器12a的情況,也適用于有兩級 或更多級虛擬機調度器12的情況。
虛擬機調度器12負責監聽來自調度需求管理器15的消息(ST501),判斷在該調度請求是否包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息(ST502),在該調度請求包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息的情況下(ST502:“是”),分別向所述調度需求管理器15a和所述鄰近調度需求管理器15b發出調度指令,其中在達成了調度決議的情況下,該調度請求還包含有關所述鄰近調度需求管理器15b的信息(ST503)。
作為一個例子,虛擬機調度器12可以按照先收到先返回的順序,發出調度指令。
其中,所述調度指令指示調度需求管理器15開始進行虛擬機調度。所述調度指令可以僅包括指令調度需求管理器15開始進行虛擬機調度的信息,也可以還包括指令調度需求管理器15何時開始進行虛擬機調度的信息。只要能夠指令調度需求管理器15開始進行虛擬機調度,則在形式上沒有特別限制。
在該例子中,由于調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議,故只要虛擬機調度器12分別向調度需求管理器15a和鄰近調度需求管理器15b發出調度指令,則所述調度需求管理器15a和所述鄰近調度需求管理器15b便可以執行虛擬機的調度。
在該調度請求未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息的情況下(ST502:“否”),可以生成錯誤信息,通知管理員,也可以向發來調度請求的調度需求管理器15發送錯誤信息,也可以進行如圖5b那樣的操作(ST5001)。
圖5b示出底層虛擬機調度器的一個實施例的虛擬機調度方法的流程圖。更具體地說,圖5b是圖5a的ST502為“否”的情況下的一個實施例的虛擬機調度方法的流程圖。特別需要說明的是,如上所述在圖5a的ST502為“否”的情況下,不限于圖5b的虛擬機調度方法,也可以生成錯誤信息,通知管理員,也可以向發來調度請求的調度需求管理器15發送錯誤信息。
圖5b中的底層虛擬機調度器12的虛擬機調度方法既適用于在虛擬機調度系統中只有一個虛擬機調度器12a的情況,也適用于有兩級或更多級虛擬機調度器12的情況。
圖5b的ST501-ST503與圖5a中的ST501-ST503完全相同,故不進行重復說明。
在該調度請求未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息的情況下(ST502:“否”),監聽來自其它調度需求管理器的調度請求(ST504),根據所述調度需求管理器15a的虛擬機的調度請求和其它調度需求管理器15的調度請求的需求量,判斷所述調度需求管理器15a的虛擬機的調度請求和所述其它調度需求管理器15的調度請求是否能夠匹配(ST505),如果能夠匹配,則分別向所述調度需求管理器15a和所述其它調度需求管理器15發送有關對方的信息,并發送調度指令(ST506)。
在上述方案中,在該調度請求未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息的情況下,監聽來自其它調度需求管理器的調度請求而不是非鄰近調度需求管理器的調度請求的原因在于,可以簡化流程。在該方案中,在監聽時,無需判斷調度需求管理器的調度請求的來自非鄰近調度需求管理器還是來自鄰近調度需求管理器。當然,也可以設為監聽來自非鄰近調度需求管理器的調度請求,此時只要判斷調度需求管理器的調度請求的來自非鄰近調度需求管理器還是來自鄰近調度需求管理器即可。
在能夠匹配時分別向所述調度需求管理器15a和所述其它調度需求管理器15發送有關對方的信息的理由在于,使得所述調度需求管理器15a和所述其它調度需求管理器15能夠知道下一步向誰進行虛擬機調度。所述有關對方的信息可以包括對方的地址。只要能夠識別對方,則所述有關對方的信息不限于地址信息,也可以是比如編號信息等。
其中,所述調度需求管理器15a的虛擬機的調度請求和所述其它調度需求管理器15的調度請求是否能夠匹配表示:所述調度需求管理器15a的虛擬機遷出的請求和所述其它調度需求管理器15的虛擬機遷入的請求是否能夠匹配;或者所述調度需求管理器15a的虛擬機遷入 的請求和所述其它調度需求管理器15的虛擬機遷出的請求是否能夠匹配。
在該調度請求未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息的情況下,等待來自其它調度需求管理器的匹配的調度請求一定時間(例如10分鐘,可以預先設定)。
作為一個具體實施例,如果由調度需求管理器15a傳來的調度請求未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息,并且該調度請求表示需要遷出虛擬機14以減輕CPU負荷30%,則虛擬機調度器12a開始監聽來自其它調度需求管理器15c的表示需要遷入虛擬機的調度請求。如果監聽到來自其它調度需求管理器15c的表示需要遷入虛擬機的調度請求表示要遷入虛擬機14以增加CPU負荷30%或更多,則判斷為能夠匹配,則分別向所述調度需求管理器15a和所述其它調度需求管理器15發送有關對方的信息,并發送調度指令。
在分別向所述調度需求管理器15a和所述其它調度需求管理器15發送有關對方的信息后,也可以等待所述調度需求管理器15a和所述其它調度需求管理器15應答后,發送調度指令。
作為另一個具體實施例,如果由調度需求管理器15a傳來的調度請求未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息,并且該調度請求表示需要遷入虛擬機14以增加CPU負荷30%,則虛擬機調度器12a開始監聽來自其它調度需求管理器15c的表示需要遷出虛擬機的調度請求。如果監聽到來自其它調度需求管理器15c的表示需要遷出虛擬機的調度請求表示要遷出虛擬機14以減少CPU負荷30%或更少,則判斷為能夠匹配,則分別向所述調度需求管理器15a和所述其它調度需求管理器15發送有關對方的信息,并發送調度指令。
在判斷為所述調度需求管理器15a的虛擬機的調度請求和所述其它調度需求管理器15的調度請求不能夠匹配時(ST505:否),可以生成錯誤信息,通知管理員,也可以向發來調度請求的調度需求管理器15發送錯誤信息,也可以進行如圖5c那樣的操作(ST5002)。
圖5c示出在虛擬機調度系統中有兩級或更多級虛擬機調度器的情況下的底層虛擬機調度器的虛擬機調度方法的流程圖。更具體地說,圖5c是圖5a的ST502為“否”的情況下的一個實施例的虛擬機調度方法的流程圖。特別需要說明的是,如上所述在圖5a的ST502為“否”的情況下,不限于圖5c的虛擬機調度方法,也可以生成錯誤信息,通知管理員,也可以向發來調度請求的調度需求管理器15發送錯誤信息。
圖5c的ST501-ST503與圖5a中的ST501-ST503完全相同,故不進行重復說明。
在調度請求未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息的情況下(ST502中判斷為“否”),判斷是否存在上一層虛擬機調度器12(ST507),在存在上一層虛擬機調度器12的情況下,將上述調度請求上報給上一層虛擬機調度器12,并將從上一層虛擬機調度器12接收到的有關其它調度需求管理器15a的信息和調度指令傳回所述調度需求管理器15(ST508)。
另外,也可以在圖5b的ST505中判斷為“否”的情況下,進行上述ST507、ST508。具體來說,如果在一定時間內(例如10分鐘)沒有找到匹配的調度請求,將從調度需求管理器15a傳來的遷出虛擬機14的調度請求繼續上報給上一級虛擬機調度器12,該上級虛擬機調度器12也可能是頂層虛擬機調度器11(兩級虛擬機調度器的情況),并將從上一層虛擬機調度器12接收到的有關其它調度需求管理器15a的信息和調度指令傳回所述調度需求管理器15。
圖6為本發明的一個實施例的非底層虛擬機調度器的虛擬機調度方法的流程圖。
圖6a示出虛擬機調度系統中的非底層虛擬機調度器的一個實施例的虛擬機調度方法的流程圖。
非底層虛擬機調度器11(或頂層虛擬機調度器11)監聽來自兩個或更多個下一層虛擬機調度器12的調度請求(ST601),所述調度請求包括將虛擬機遷出的請求和將虛擬機遷入的請求,根據來自一個下一層虛擬機調度器12a的虛擬機遷出的請求和另一個下一層虛擬機調 度器12m的虛擬機遷入的請求的需求量,判斷所述一個下一層虛擬機調度器12a的虛擬機遷出的請求和所述另一個下一層虛擬機調度器12m的虛擬機遷入的請求是否能夠匹配(ST602),如果所述一個下一層虛擬機調度器12a的虛擬機遷出的請求和所述另一個下一層虛擬機調度器12m的虛擬機遷入的請求能夠匹配(ST602:“是”),則分別向所述一個下一層虛擬機調度器12a和所述另一個下一層虛擬機調度器12m發送有關對方調度請求中的有關調度需求管理器的信息,并發送調度指令(ST603)。
在一個實施例,非底層虛擬機調度器11接收來自下一層虛擬機調度器12a的表示遷出虛擬機14的需求的調度請求,該調度請求表示調度需求管理器15a需要遷出虛擬機14以減輕CPU負荷30%,則非底層虛擬機調度器11開始尋找從其它下一級虛擬機調度器12傳來的表示遷入虛擬機14的需求的調度請求,該遷入虛擬機14的調度請求需要滿足遷入虛擬機14以增加CPU負荷30%或更多的要求,隨后將第一個找到的發來這種需求的調度需求管理器15m的信息通知給虛擬機調度器12a,并將調度需求管理器15a的信息通知給虛擬機調度器12m,并發送調度指令。
在將調度需求管理器15m的信息通知給虛擬機調度器12a,并將調度需求管理器15a的信息通知給虛擬機調度器12m后,也可以等待虛擬機調度器12a和虛擬機調度器12m的應答后,發送調度指令。
如果在一定時間內(例如10分鐘)沒有找到匹配的需求,也可以將配對失敗結果通知給虛擬機調度器12a或/和虛擬機調度器12m。
作為另一個實施例,非底層虛擬機調度器11接收來自下一層虛擬機調度器12a的表示遷入虛擬機14的需求的調度請求,該調度請求表示調度需求管理器15a需要遷入虛擬機14以增加CPU負荷30%,則非底層虛擬機調度器11開始尋找從其它下一級虛擬機調度器12傳來的表示遷出虛擬機14的需求的調度請求,該遷出虛擬機14的調度請求需要滿足遷入虛擬機14以減少CPU負荷30%或更少的要求,隨后將第一個找到的發來這種需求的調度需求管理器15m的信息通知給虛擬機調度器12a,并將調度需求管理器15a的信息通知給虛擬機調度器12m, 并發送調度指令。
如果所述一個下一層虛擬機調度器12a的虛擬機遷出的請求和所述另一個下一層虛擬機調度器12m的虛擬機遷入的請求不能夠匹配(ST602:“否”),可以生成錯誤信息,通知管理員,也可以向發來調度請求的調度需求管理器15發送錯誤信息,也可以進行如圖6b那樣的操作(ST6001)。
圖6b示出多級虛擬機調度系統中的中間層虛擬機調度器或頂層虛擬機調度器的一個實施例的虛擬機調度方法的流程圖。更具體地說,圖6b是圖6a的ST602為“否”的情況下的一個實施例的虛擬機調度方法的流程圖。特別需要說明的是,如上所述在圖6a的ST602為“否”的情況下,不限于圖6b的虛擬機調度方法,也可以生成錯誤信息,通知管理員,也可以向發來調度請求的調度需求管理器15發送錯誤信息。
圖6b的ST601-ST603與圖6a中的ST601-ST603完全相同,故不進行重復說明。
如果所述一個下一層虛擬機調度器12a的虛擬機遷出的請求和所述另一個下一層虛擬機調度器12m的虛擬機遷入的請求不能夠匹配(ST602:“否”),虛擬機調度器11判斷是否存在上一層虛擬機調度器(ST604)。
在存在上一層虛擬機調度器的情況下(ST604:“是”),將上述調度請求上報給上一層虛擬機調度器,并將從上一層虛擬機調度器接收到的有關其它調度需求管理器15的信息和調度指令傳回下一層虛擬機調度器12a(ST605)。
圖7示出本發明的一個實施例的調度需求管理方法的流程圖。
以下,以調度需求管理器15a為例子進行說明調度需求管理器15執行的四個動作:
(1)從物理機監控器13a獲取物理服務器的負荷信息(ST701)。
(2)從物理機監控器13獲取物理服務器的負荷信息,根據該物理服務器的負荷信息(例如有關CPU、內存的信息)計算物理服務器的負荷狀態(ST702),并判斷是否需要虛擬機的調度(ST703)。負 荷狀態表示例如CPU負荷過大、CPU負荷過小或CPU負荷正常,或者內存負荷過大、內存負荷過小或內存負荷正常。物理服務器的負荷信息也可以是除了CPU、內存之外的其它的有關物理服務器的信息。
(3)在判斷為需要虛擬機14的調度(虛擬機14的遷出或遷入)的情況下(ST703:“是”),與鄰近調度需求管理器15b通信,詢問是否接受虛擬機14的調度(ST704)。
在判斷為不需要虛擬機14的調度(虛擬機14的遷出或遷入)的情況下(ST703:“否”),例如可以返回到步驟ST701。
在從所述鄰近調度需求管理器15b接收到包含表示所述鄰近調度需求管理器15b接受虛擬機的調度的信息的情況下(ST705:“是”),與所述鄰近調度需求管理器15b達成調度決議,并向虛擬機調度器12a發送包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息和有關所述鄰近調度需求管理器15b的信息的虛擬機的調度請求(ST706)。
在從所述鄰近調度需求管理器15b接收到未包含表示所述鄰近調度需求管理器15b接受虛擬機的調度的信息的情況下(ST705:“否”),向所述虛擬機調度器12a發送未包含表示所述調度需求管理器15a與鄰近調度需求管理器15b達成了調度決議的信息的虛擬機的調度請求(ST707)。
所述調度需求管理器15a可以向其它調度需求管理器15發送響應時間測試請求,獲取其它調度需求管理器15的響應時間,按照響應時間從短到長的順序,依次詢問其它調度需求管理器15是否接受虛擬機的調度,直到其它調度需求管理器15中的一個調度需求管理器15接受虛擬機的調度,所述調度需求管理器15a與接受虛擬機的調度的其它虛擬機調度器15達成調度決議,并視為所述調度需求管理器15a與鄰近調度需求管理器15達成了調度決議,如果在規定的時間內,所述調度需求管理器15a未接收到接受虛擬機的調度的信息,則視為所述調度需求管理器15a與鄰近調度需求管理器15未達成調度決議。
在上述方案中,所述調度需求管理器15a也可以同時詢問響應時間最短的某幾個(例如3臺,可以跟據網絡的延遲情況具體修改為1、 2、4…臺等)其它調度需求管理器15是否接受虛擬機的調度,并與最早發來接受虛擬機的調度的信息的調度需求管理器15達成調度決議,如果在規定的時間內,所述調度需求管理器15a未接收到接受虛擬機的調度的信息,則視為所述調度需求管理器15a與鄰近調度需求管理器15未達成調度決議。
在上述方案中,所述調度需求管理器15a也可以不發送響應時間測試請求,而直接詢問與同一個虛擬機調度器12連接的其它調度需求管理器15是否接受虛擬機的調度,并與最早發來接受虛擬機的調度的信息的調度需求管理器15達成調度決議。
與鄰近調度需求管理器通信,詢問是否接受虛擬機的調度方法是多種多樣的,不限于上述的方案。
例一,本物理服務器上的CPU負荷過大,調度需求管理器15a向網絡延遲最小的3臺調度需求管理器15b、15c、15d發出虛擬機14遷出請求,請求遷出30%的CPU負荷。調度需求管理器15b在從所述鄰近調度需求管理器15a接收到是否接受虛擬機的調度的詢問的情況下,根據從物理機監控器獲取的物理服務器負荷信息,判斷是否接受虛擬機的調度,并將判斷結果發送給所述鄰近調度需求管理器15a。例如,如果調度需求管理器15b判斷為要求遷入量大于等于30%的CPU負荷,則判斷為接受虛擬機的調度。對于調度需求管理器15c、15d,其動作與調度需求管理器15b相同。如果從調度需求管理器15b、15c、15d都發送了接收調度請求的判斷結果的情況下,調度需求管理器15a只與其中最早發送來接收調度請求的判斷結果的調度需求管理器15c達成調度決議即可。
例二,本物理服務器上的CPU負荷過小,調度需求管理器15a向網絡延遲最小的3臺調度需求管理器15b、15c、15d發出虛擬機14遷入請求,請求遷入30%的CPU負荷。調度需求管理器15b在從所述鄰近調度需求管理器15a接收到是否接受虛擬機的調度的詢問的情況下,根據從物理機監控器獲取的物理服務器負荷信息,判斷是否接受虛擬機的調度,并將判斷結果發送給所述鄰近調度需求管理器15a。例如,如果調度需求管理器15b判斷為要求遷出量小于等于30%的CPU 負荷,則判斷為接受虛擬機的調度。對于調度需求管理器15c、15d,其動作與調度需求管理器15b相同。
(3)根據來自所述虛擬機調度器12的調度指令、或有關其它調度需求管理器15的信息和調度指令,指令虛擬機管理器16進行虛擬機調度(ST708)。
在從鄰近調度需求管理器15a接收到是否接受虛擬機的調度的詢問的情況下,根據從物理機監控器13獲取的物理服務器負荷信息,判斷是否接受虛擬機的調度,并將判斷結果發送給所述鄰近調度需求管理器15,在判斷為接受虛擬機的調度的情況下,與所述鄰近調度需求管理器15達成調度決議。
圖8示出本發明的一個實施例的虛擬機調度系統中的消息時序圖。假設該虛擬機調度系統具有兩級虛擬機調度器。調度需求管理器15向物理機監控器13請求物理服務器負荷信息(ST801),等待物理服務器負荷信息返回后(ST802),根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度(ST803),如果判斷為不需要虛擬機調度,則重復ST801-ST803的步驟,在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器15通信,詢問是否接受虛擬機的調度,如果鄰近調度需求管理器15接受調度請求,則向虛擬機調度器12發送包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息和有關所述鄰近調度需求管理器的信息的虛擬機的調度請求(ST804),虛擬機調度器12返回調度指令(ST805),如果虛擬機調度器12需要進一步上報,虛擬機調度器12上報給頂層虛擬機調度器11(ST806),等待返回。如果頂層虛擬機調度器11找到調度方案,返回調度指令給虛擬機調度器12(ST807),虛擬機調度器12返回調度指令給調度需求管理器15(ST808)。
在上述例子中,也可以由物理機監控器13向調度需求管理器15主動發送物理服務器負荷信息(ST801),調度需求管理器15根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度(ST803)。
圖9示出本發明的底層虛擬機調度器的結構框圖。
本發明的底層虛擬機調度器,具有:監聽部901,監聽來自調度需求管理器的虛擬機的調度請求;調度控制部902,判斷在該調度請求是否包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息;以及調度指令部903,在該調度請求包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的情況下,分別向所述調度需求管理器和所述鄰近調度需求管理器發出調度指令,其中在達成了調度決議的情況下,該調度請求還包含有關所述鄰近調度需求管理器的信息。
圖10示出本發明的非底層虛擬機調度器的結構框圖。
本發明的非底層虛擬機調度器12具有:監聽部1001、調度控制部1002以及調度指令部1003。監聽部1001,監聽來自兩個或更多個下一層虛擬機調度器的調度請求,所述調度請求包括將虛擬機遷出的請求和將虛擬機遷入的請求。調度控制部1002根據來自一個下一層虛擬機調度器的虛擬機遷出的請求和另一個下一層虛擬機調度器的虛擬機遷入的請求的需求量,判斷所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求是否能夠匹配。調度指令部1003如果所述一個下一層虛擬機調度器的虛擬機遷出的請求和所述另一個下一層虛擬機調度器的虛擬機遷入的請求能夠匹配,則分別向所述一個下一層虛擬機調度器和所述另一個下一層虛擬機調度器發送有關對方調度請求中的有關調度需求管理器的的信息,并發送調度指令。
圖11示出本發明的調度需求管理器的結構框圖。
本發明的調度需求管理器15具備:物理服務器負荷信息獲取部1101、調度判斷部1102、調度通信部1103、調度決議部1104以及調度指令部1105。物理服務器負荷信息獲取部1101從物理機監控器獲取物理服務器負荷信息。調度判斷部1102根據該物理服務器負荷信息計算物理服務器負荷狀態,并判斷是否需要虛擬機的調度。調度通信部1103在判斷為需要虛擬機的調度的情況下,與鄰近調度需求管理器通信,詢問是否接受虛擬機的調度。調度決議部1104在從所述鄰近調度需求管理器接收到包含表示所述鄰近調度需求管理器接受虛擬機的 調度的信息的情況下,與所述鄰近調度需求管理器達成調度決議,并向虛擬機調度器發送包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息和有關所述鄰近調度需求管理器的信息的虛擬機的調度請求,所述調度決議部1104在從所述鄰近調度需求管理器接收到未包含表示所述鄰近調度需求管理器接受虛擬機的調度的信息的情況下,向所述虛擬機調度器發送未包含表示所述調度需求管理器與鄰近調度需求管理器達成了調度決議的信息的虛擬機的調度請求。調度指令部1105,根據來自所述虛擬機調度器的調度指令、或有關其它調度需求管理器的信息和調度指令,指令虛擬機管理器進行虛擬機調度。
本發明還提供一種虛擬機調度系統,包括:上述的底層虛擬機調度器;以及多個物理服務器,每個物理服務器包括一個或多個虛擬機、物理機監控器、虛擬機管理器、以及上述的調度需求管理器,其中,所述虛擬機分布在所述物理服務器上,向用戶提供服務,每一個物理服務器中能夠運行一個虛擬機或同時運行多個虛擬機,其中,在每臺物理服務器上運行物理機監控器,物理機監控器實時監控物理服務器的物理服務器負荷信息,并將物理服務器負荷信息傳送給調度需求管理器。
本發明還提供另一種虛擬機調度系統,其特征在于,包括:多個上述的底層虛擬機調度器;一個或多個上述的非底層虛擬機調度器;多個物理服務器,每個物理服務器包括一個或多個虛擬機、物理機監控器、虛擬機管理器、以及上述的調度需求管理器,其中,所述虛擬機分布在所述物理服務器上,向用戶提供服務,每一個物理服務器中能夠運行一個虛擬機或同時運行多個虛擬機,其中,在每臺物理服務器上運行物理機監控器,物理機監控器實時監控物理服務器的物理服務器負荷信息,并將物理服務器負荷信息傳送給調度需求管理器。
現代城市中視頻監控系統的應用越來越廣泛,例如城市安防、交通監控、樓宇監控等等。并且視頻監控的規模也越來越巨大,單純攝像頭的數目每年都會有激增。同時城市規模的擴大,監控對象的增多,對于視頻監控系統的要求也越來越高,單純的攝像頭配合錄像機的模 式已經無法滿足當前需求。現代視頻監控系統要求監控規模越來越大,有時甚至以城市為單位。對于傳統的視頻監控系統和數據中心,越來越難以應對監控規模的進一步擴大。
鑒于以上的情況,運用云平臺去解決大規模視頻監控系統帶來的諸多挑戰是很不錯的選擇,但同時,云平臺本身又給我們帶來了新的課題,那就是面對海量的動態變化的視頻監控數據,如何動態調度系統資源,最大限度的提高效率。固有的物理數據中心難以做到動態調度。目前流行的基于服務器虛擬化技術的服務器熱遷移技術能夠實現動態調度,然而,熱遷移技術需要精確把握系統資源的狀態和實時的響應系統調度需求。并且,面對大規模視頻監視系統,要統一計算整個系統的全部狀態并且做出實時相應。根據本發明還提供一種視頻監控系統,其特征在于,具有上述的底層虛擬機調度器、非底層虛擬機調度器、或上述的虛擬機調度系統。
通過在視頻監控系統中采用本發明的上述的底層虛擬機調度器、非底層虛擬機調度器、或上述的虛擬機調度系統,可以調度系統資源以提高資源利用率并且平衡負荷。
附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
以上已經描述了本發明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改 和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。

關 鍵 詞:
虛擬機 調度 需求 管理器 方法 系統
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:虛擬機調度器、調度需求管理器及方法和虛擬機調度系統.pdf
鏈接地址:http://www.rgyfuv.icu/p-6381443.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图