專利名稱:云計算操作系統及其內核控制系統及方法
技術領域:
本發明涉及云計算操作系統,尤其涉及云計算操作系統及其內核控制系統及方 法。
背景技術:
當前,業界已在云計算按需分配、資源流轉、按量計費、支持異構、節能降耗等諸多 核心理念上達成了共識。然而,在云計算IaaS領域,云計算的工程化仍困難重重,相關IT技術人員未找到 可操作的系統架構與實現方案。為此,大多數計算機廠商,特別是單機操作系統、服務器、互 聯網廠商,提出了一系列云計算基礎設施解決方案,但還沒有重點涉及云計算操作系統這 一云計算基礎設施的相關技術。單機操作系統的內核工作機制業已成熟,但當前云計算領域內,還沒有較為完整 的云計算操作系統的內核結構及相應的工作機制出現。
發明內容
本發明所要解決的技術問題是需要提供一種云計算操作系統內核控制技術,完善 現有的云計算操作系統的內核結構及相應的工作機制。為了解決上述技術問題,本發明提供了一種云計算操作系統的內核控制系統,包 括監視單元,用于監視云計算操作系統的物理資源及虛擬資源的運行情況,在所述 物理資源和/或虛擬資源的運行與預設的運行規則之間存在沖突時,生成相應的調度請 求;決策單元,用于判斷所述調度請求是否合法,在所述調度請求合法時為所述調度 請求生成至少一個系統任務;執行單元,用于根據所述系統任務對所述物理資源和/或虛擬資源進行調度。優選地,所述決策單元用于在所述調度請求合法時依據所述物理資源及虛擬資源 的現狀及沖突解決規則,為所述調度請求生成所述系統任務。優選地,所述執行單元用于確定所述系統任務的執行順序,根據所述執行順序對 所述物理資源和/或虛擬資源進行所述調度。優選地,該內核控制系統還包括第一接收單元,用于接收用戶提交的服務請求,所述服務請求用于請求物理資源 和/或虛擬資源進行應用服務;第二接收單元,用于接收管理員提交的管理請求,所述管理請求用于對物理資源 和/或虛擬資源進行管理;其中,所述決策單元進一步用于判斷所述服務請求或管理請求是否合法,在所述服務請求合法時,生成至少一個服務任務;還進一步用于判斷所述管理請求是否合法,在所述管理 請求合法時,生成至少一個管理任務;所述執行單元進一步用于根據所述服務任務或管理任務對所述物理資源和/或 虛擬資源進行調度。本發明還提供了一種云計算操作系統,包括資源池以及如前所述的內核控制系 統,其中所述資源池,用于提供所述物理資源以及虛擬資源。本發明還提供了一種云計算操作系統的內核控制方法,包括監視云計算操作系統的物理資源及虛擬資源的運行情況,在所述物理資源和/或 虛擬資源的運行與預設的運行規則之間存在沖突時,生成相應的調度請求;判斷所述調度請求是否合法,在所述調度請求合法時為所述調度請求生成至少一 個系統任務;根據所述系統任務對所述物理資源和/或虛擬資源進行調度。優選地,在所述調度請求合法時為所述調度請求生成所述系統任務的步驟,包 括在所述調度請求合法時,依據所述物理資源及虛擬資源的現狀及沖突解決規則, 為所述調度請求生成所述系統任務。優選地,根據所述系統任務對所述物理資源和/或虛擬資源進行所述調度的步 驟,包括確定所述系統任務的執行順序;根據所述執行順序對所述物理資源和/或虛擬資源進行所述調度。優選地,該內核控制方法還包括接收用戶提交的服務請求,所述服務請求用于請求物理資源和/或虛擬資源進行 應用服務;判斷所述服務請求是否合法,在所述服務請求合法時,生成至少一個服務任務;根據所述服務任務對所述物理資源和/或虛擬資源進行調度。優選地,該內核控制方法還包括接收管理員提交的管理請求,所述管理請求用于對物理資源和/或虛擬資源進行
管理;判斷所述管理請求是否合法,在所述管理請求合法時,生成至少一個管理任務;根據所述管理任務對所述物理資源和/或虛擬資源進行調度。與現有技術相比,本發明提供了一種云計算操作系統,以及該云操作系統內的內 核控制系統及方法,適用于云計算技術,完善了云計算操作系統的內核結構及相應的工作 機制;尤其適用節點級負載均衡、用戶請求調用虛擬資源、管理員請求調用物理與虛擬資 源、群組級節能控制、節點硬件異常發現與處理等等。本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在說明書、權利 要求書以及附圖中所特別指出的結構來實現和獲得。
附圖用來提供對本發明技術方案的進一步理解,并且構成說明書的一部分,與本 發明的實施例一起用于解釋本發明的技術方案,并不構成對本發明技術方案的限制。在附 圖中圖1是本發明實施例一的云計算操作系統內核控制系統的組成示意圖;圖2是本發明實施例一的云計算操作系統內核控制系統的組成示意圖;圖3是本發明實施例的內核控制方法的流程示意圖。
具體實施例方式以下將結合附圖及實施例來詳細說明本發明的實施方式,借此對本發明如何應用 技術手段來解決技術問題,并達成技術效果的實現過程能充分理解并據以實施。首先,如果不沖突,本發明實施例以及實施例中的各個特征的相互結合,均在本發 明的保護范圍之內。另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令 的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以 不同于此處的順序執行所示出或描述的步驟。實施例一、云計算操作系統的內核控制系統圖1為本實施例的云計算操作系統內核控制系統的組成示意圖。如圖1所示,本 實施例主要包括監視單元110、決策單元120以及執行單元130,其中監視單元110,用于監視資源池100中物理資源及虛擬資源的運行情況,在物理資 源和/或虛擬資源的運行與預設的運行規則之間存在沖突時,生成相應的調度請求并發送 給決策單元120,其中該調度請求包含該沖突的類型以及原因等內容;決策單元120,與監視單元110相連,用于接收監視單元110發送的調度請求,判斷 該調度請求是否合法,在所述調度請求不合法時駁回該調度請求,或者丟棄該調度請求并 通知監視單元110 ;在所述調度請求合法時依據資源池100中物理資源及虛擬資源的現狀 及相關的沖突解決規則進行資源決策,并為該調度請求生成至少一個系統任務發送給執行 單元130,當生成的系統任務為兩個或兩個以上時,這些系統任務之間可能具有一定的依賴 關系;執行單元130,與決策單元120相連,用于接收決策單元120發送的系統任務,并根 據該些系統任務之間的依賴關系確定該些系統任務的執行順序,然后按照執行順序在操作 系統中調用相應的功能組件執行該些系統任務,即根據該些系統任務對物理資源和/或虛 擬資源進行調度;如果決策單元120發送的系統任務為一個則直接調用相應的功能組件執 行該系統任務,以根據資源池100提供的操作接口對資源池100中的物理資源和/或虛擬 資源進行調度。其中,上述的資源池100用于提供云計算操作系統的物理資源以及虛擬資源,該 物理資源與虛擬資源之間存在確定的映射機制,也即該虛擬資源與該物理資源是相對應 的;提供操作接口以便接受執行單元130對資源池100中物理資源和/或虛擬資源的調度。資源池100還可以用于根據系統運行對資源池100的應用情形自動觸發對資源池 100中的物理資源和/或虛擬資源進行資源調度的調度事件(比如可以通過資源池100內 部的一調度中心來完成這一功能)。在云計算操作系統中,一般而言,引起資源池100狀態變化的事件主要有兩種,第一種是由調度事件所導致的狀態變化,其中的調度事件主要包 括用戶或管理員手動觸發的對資源池100中的物理資源和/或虛擬資源進行資源調度的調 度事件,以及通過調度中心自動觸發的對資源池100中的物理資源和/或虛擬資源進行資 源調度的調度事件,這種情形可以稱之為計劃內輸入導致的資源池100中物理資源和/或 虛擬資源的狀態變化;第二種是因設備異常、病毒入侵或者非正常作業等引發的異常事件 所導致的狀態變化,這種情形可以稱之為計劃外輸入導致的資源池100中物理資源和/或 虛擬資源的狀態變化。因此,上述監視單元110主要監視資源池100運行過程中由用戶或 者管理員手動觸發的調度事件、調度中心自動觸發的調度事件或者異常事件所導致的資源 池100中物理資源和/或虛擬資源的狀態變化。在本實施例中,如圖1所示,監視單元110與決策單元120間通過請求隊列700耦 合(監視單元Iio產生的調度請求先存儲在請求隊列700中,等待決策單元120方便的時 候進行決策),決策單元120與執行單元130間通過任務隊列800耦合(決策單元120生 成的系統任務先存儲在任務隊列800中,等待執行單元130方便的時候進行執行),執行單 元130與監視單元110間通過資源池耦合(執行單元130執行相應的動作,體現到資源池 則是資源池的狀態變化,而監視單元110能夠監視到資源池的這些變化)。在本發明的其他 實施例中,監視單元110、決策單元120以及執行單元130間也可以用函數調用的方式直接 華禹合。在本實施例中,執行單元130執行系統任務,是根據系統任務生成至少一個任務 指令(生成兩個或兩個以上的任務指令時,部分或全部任務指令之間可能存在一定的依賴 關系),將該些任務指令發送給資源池100,由該資源池100執行該些任務指令,實現對物理 資源和/或虛擬資源進行調度的。并且,資源池100在執行該些任務指令后,會向執行單元 130反饋執行結果。資源池100向執行單元130反饋執行結果的方式,比如同步或者異步, 由執行單元130根據任務指令的類型指定。執行單元130可對資源池100反饋的任務指令 執行結果進行分析匯總,掌握對物理資源和/或虛擬資源進行調度的效果。在本發明技術方案的一個實際應用,是節點級負載均衡的控制。實際應用中,由于 用戶業務負載在較長時間內持續偏高,超出了計算節點的保有計算容量,從而引起資源池 100中部分計算節點資源的利用率過高,影響了上層業務的運行效率,即計算機過載。監視 單元110通過掃描資源池100的信息中心(該信息中心用于實時獲取物理資源和虛擬資源 運行信息),發現這些計算節點與負載容納正常范圍這一預設規則發生沖突,于是向決策單 元120發送一負載調度請求,以報告這一沖突。決策單元120根據負載調度請求確認請求 調整的問題節點后,通過模擬算法確定遷出哪些虛擬資源能解決或緩解問題節點上負載過 高的問題,并確定將預遷出的虛擬資源遷入至哪些計算節點上更為合理,然后鎖定相關資 源并生成相應的系統任務后向執行單元130下發這些系統任務。執行單元130接收到系統 任務后,調用資源池100的相關資源操作接口完成任務,并負責處理任務執行結果,同時虛 擬資源與物理資源的信息也會由信息搜集功能體實時反饋至資源池信息中心,被決策單元 120鎖定的資源也會被解開以備后續調用。至此,整個資源調整周期結束。實施例二、云計算操作系統的內核控制系統圖2是本發明的內核控制系統的實施例二的組成示意圖,其與圖1所示的實施例 一相比,還包括一第一接收單元210和一第二接收單元220,其中
第一接收單元210,通過該請求隊列700與該決策單元130相連,用于接收用戶提 交的服務請求,該服務請求用于請求物理資源和/或虛擬資源進行應用服務;第二接收單元220,也通過該請求隊列700與該決策單元130相連,用于接收云 計算操作系統管理員提交的管理請求,該管理請求用于對物理資源和/或虛擬資源進行管 理;其中,決策單元130用于判斷該服務請求或管理請求是否合法,在該服務請求合 法時,生成相應的至少一個服務任務(通過任務隊列800)發送給執行單元130執行;還用 于判斷該管理請求是否合法,在該管理請求合法時,生成相應的至少一個管理任務(通過 任務隊列800)發送給執行單元130執行。而執行單元130用于根據該服務任務或者管理 任務對物理資源和/或虛擬資源進行調度。執行單元130根據該服務任務或者管理任務對物理資源和/或虛擬資源進行調 度,也是先根據服務任務或管理任務之間的依賴關系確定服務任務或管理任務的執行順 序,然后根據服務任務生成至少一個任務指令或者根據管理任務生成至少一個任務指令 (生成兩個或兩個以上的任務指令時,部分或全部任務指令之間也可能存在一定的依賴關 系),然后將該些任務指令發送給資源池100,由該資源池100執行該些任務指令,實現對物 理資源和/或虛擬資源進行調度的。并且,資源池100在執行該些任務指令后,也會同步或 者異步地向執行單元130反饋執行結果。執行單元130也可對資源池100反饋的任務指令 執行結果進行分析匯總,掌握對物理資源和/或虛擬資源進行調度的效果。由本實施例可見,本發明的技術方案中,請求對資源池中的資源進行資源調整的 事件主要有兩類一類來自于監視單元110,即系統調用(通過調度請求);另一類來自用 戶或者管理員,即用戶調用(通過服務請求或者管理請求)。當然,決策單元120也需要 首先對用戶提交的服務請求或者管理員提交的管理請求進行合法性判斷,在服務請求或者 管理請求合法時才生成相應的服務任務或管理任務,否則直接駁回該服務請求或者管理請 求,或者丟棄該服務請求或者管理請求并相應地向用戶或者管理員進行提示。本實施例的一個實際應用是用戶請求調度虛擬資源。在用戶請求調用虛擬資源的 這一應用中,用戶(或者稱之為資源租戶)發出資源調整這一服務請求,監視單元110通 過判斷該服務請求屬于本系統的業務處理范圍,于是將請求置入請求隊列700單元中。決 策單元120根據系統中資源的負載、配置、狀態等情況,通過模擬算法確定在那些計算節點 上響應該服務請求較為合理(不會引發新的異常問題,如系統反復遷移性震蕩),決策單元 120分析相關請求與數據后產生系列系統任務,然后鎖定相關資源后將系統任務(如在那 個物理機上創建、開啟虛擬機等)置入任務隊列800單元,由執行單元130下發相關系統任 務。執行單元130接收到系統任務后,調用資源池100的相關資源操作接口完成任務,并負 責處理任務執行結果,同時虛擬資源與物理資源的信息也會由信息搜集功能體實時反饋至 資源池信息中心,被決策單元120鎖定的資源也會被解開以備后續調用。至此,整個資源調 整周期結束。本發明的實施例除了可以支持節點級負載均衡以及用戶請求調用虛擬資源(對 應于用戶提交的服務請求)外,還支持管理員請求調用物理與虛擬資源(對應于管理員提 交的管理請求)、群組級節能控制、節點硬件異常發現與處理等等。在節能控制處理這一應 用中,監視單元110通過掃描資源池100中的物理資源和虛擬資源,發現某計算群組(或資源服務區)的整體負載很低且虛擬化程度也不高,于是生成一資源回收請求以回收資源 池100中正在活動(開啟或使用)的物理資源,并將該資源回收請求置入請求隊列700中, 由決策單元120進行資源決策。決策單元120根據系統中通過所設策略確認當前活動的 資源過剩,通過模擬算法確定關閉哪些計算點較為合理(不會引發新的系統問題,如關閉 了某物理計算機后發現資源又緊張了 ;盡可能減少整合物理資源上的虛擬資源所帶來的系 統損耗),決策單元120據此生成相應的系統任務,然后鎖定相關資源后將相應的系統任務 (如遷移整合某些物理機上的虛擬機、關閉某物理機等)置入任務隊列800中。執行單元 130接收到系統任務后,調用資源池100的相關資源操作接口完成任務,并負責處理任務執 行結果,同時虛擬資源與物理資源的信息也會由信息搜集功能體實時反饋至資源池信息中 心,被決策單元120鎖定的資源也會被解開以備后續調用。至此,整個資源調整周期結束。實施例三、云計算操作系統的內核控制方法圖3為本實施例內核控制方法的流程示意圖。結合圖1及圖2所示的內核控制系 統的結構示意圖,圖3所示的本實施例主要包括如下步驟步驟S310,監視云計算操作系統的物理資源及虛擬資源的運行情況,在該物理資 源和/或虛擬資源的運行與預設的運行規則之間存在沖突時,生成相應的調度請求;步驟S310,判斷該調度請求是否合法,在該調度請求合法時為該調度請求生成至 少一個系統任務;步驟S310,根據該系統任務對該物理資源和/或虛擬資源進行調度。上述的在該調度請求合法時為該調度請求生成該系統任務的步驟,包括在該調度請求合法時,依據該物理資源及虛擬資源的現狀及沖突解決規則,為該 調度請求生成該系統任務。
用服務 理;
上述的根據該系統任務對該物理資源和/或虛擬資源進行該調度的步驟,包括 確定該系統任務的執行順序;
根據該執行順序對該物理資源和/或虛擬資源進行該調度。 本發明的內核控制方法,在其他實施例中還可以包括
接收用戶提交的服務請求,該服務請求用于請求物理資源和/或虛擬資源進行應
判斷該服務請求是否合法,在該服務請求合法時,生成至少一個服務任務; 根據該服務任務對該物理資源和/或虛擬資源進行調度。 本發明的內核控制方法,在其他實施例中還可以包括
接收管理員提交的管理請求,該管理請求用于對物理資源和/或虛擬資源進行管
判斷該管理請求是否合法,在該管理請求合法時,生成至少一個管理任務; 根據該管理任務對該物理資源和/或虛擬資源進行調度。 實施例四、云計算操作系統
圖1以及圖2所示出的內核控制系統,再結合資源池100,其形成本發明云計算操 作系統的實施例。請結合前述實施例一及實施例二所示出的內核控制系統,以及實施例三 所示出的內核控制方法,來理解本實施例的技術內容,此處不再贅述。
本領域的技術人員應該明白,上述的本發明的各組成單元或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的 網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在 存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中 的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬 件和軟件結合。 雖然本發明所揭露的實施方式如上,但所述的內容只是為了便于理解本發明而采 用的實施方式,并非用以限定本發明。任何本發明所屬技術領域內的技術人員,在不脫離本 發明所揭露的精神和范圍的前提下,可以在實施的形式上及細節上作任何的修改與變化, 但本發明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
權利要求
1.一種云計算操作系統的內核控制系統,包括監視單元,用于監視云計算操作系統的物理資源及虛擬資源的運行情況,在所述物理 資源和/或虛擬資源的運行與預設的運行規則之間存在沖突時,生成相應的調度請求;決策單元,用于判斷所述調度請求是否合法,在所述調度請求合法時為所述調度請求 生成至少一個系統任務;執行單元,用于根據所述系統任務對所述物理資源和/或虛擬資源進行調度。
2.根據權利要求1所述的內核控制系統,其中,所述決策單元用于在所述調度請求合 法時依據所述物理資源及虛擬資源的現狀及沖突解決規則,為所述調度請求生成所述系統 任務。
3.根據權利要求1所述的內核控制系統,其中,所述執行單元用于確定所述系統任務 的執行順序,根據所述執行順序對所述物理資源和/或虛擬資源進行所述調度。
4.根據權利要求1所述的內核控制系統,其中,該內核控制系統還包括第一接收單元,用于接收用戶提交的服務請求,所述服務請求用于請求物理資源和/ 或虛擬資源進行應用服務;第二接收單元,用于接收管理員提交的管理請求,所述管理請求用于對物理資源和/ 或虛擬資源進行管理;其中,所述決策單元進一步用于判斷所述服務請求或管理請求是否合法,在所述服務請求合 法時,生成至少一個服務任務;還進一步用于判斷所述管理請求是否合法,在所述管理請求 合法時,生成至少一個管理任務;所述執行單元進一步用于根據所述服務任務或管理任務對所述物理資源和/或虛擬 資源進行調度。
5.一種云計算操作系統,包括資源池以及如權利要求1至4中任一項權利要求所述的 內核控制系統,其中所述資源池,用于提供所述物理資源以及虛擬資源。
6.一種云計算操作系統的內核控制方法,包括監視云計算操作系統的物理資源及虛擬資源的運行情況,在所述物理資源和/或虛擬 資源的運行與預設的運行規則之間存在沖突時,生成相應的調度請求;判斷所述調度請求是否合法,在所述調度請求合法時為所述調度請求生成至少一個系 統任務;根據所述系統任務對所述物理資源和/或虛擬資源進行調度。
7.根據權利要求6所述的內核控制方法,其中,在所述調度請求合法時為所述調度請 求生成所述系統任務的步驟,包括在所述調度請求合法時,依據所述物理資源及虛擬資源的現狀及沖突解決規則,為所 述調度請求生成所述系統任務。
8.根據權利要求6所述的內核控制方法,其中,根據所述系統任務對所述物理資源和/ 或虛擬資源進行所述調度的步驟,包括確定所述系統任務的執行順序;根據所述執行順序對所述物理資源和/或虛擬資源進行所述調度。
9.根據權利要求6所述的內核控制方法,其中,該內核控制方法還包括接收用戶提交的服務請求,所述服務請求用于請求物理資源和/或虛擬資源進行應用 服務;判斷所述服務請求是否合法,在所述服務請求合法時,生成至少一個服務任務; 根據所述服務任務對所述物理資源和/或虛擬資源進行調度。
10.根據權利要求6或9所述的內核控制方法,其中,該內核控制方法還包括 接收管理員提交的管理請求,所述管理請求用于對物理資源和/或虛擬資源進行管理;判斷所述管理請求是否合法,在所述管理請求合法時,生成至少一個管理任務; 根據所述管理任務對所述物理資源和/或虛擬資源進行調度。
全文摘要
本發明公開了一種云計算操作系統及其內核控制系統及方法,完善現有的云計算操作系統的內核結構及相應的工作機制,其中該內核控制系統包括監視單元,用于監視云計算操作系統的物理資源及虛擬資源的運行情況,在所述物理資源和/或虛擬資源的運行與預設的運行規則之間存在沖突時,生成相應的調度請求;決策單元,用于判斷所述調度請求是否合法,在所述調度請求合法時為所述調度請求生成至少一個系統任務;執行單元,用于根據所述系統任務對所述物理資源和/或虛擬資源進行調度。本發明適用于云計算技術,完善了云計算操作系統的內核結構及相應的工作機制。
文檔編號G06F9/48GK102081554SQ201110033188
公開日2011年6月1日 申請日期2011年1月30日 優先權日2011年1月30日
發明者張東, 朱錦雷, 王洪亮 申請人:浪潮(北京)電子信息產業有限公司