新四季網

雲環境下統一資源調度方法及系統與流程

2023-12-07 02:01:11 2


本申請涉及雲計算技術領域,尤其涉及一種雲環境下統一資源調度方法及系統。



背景技術:

雲計算(cloudcomputing)是基於網際網路的相關服務的增加、使用和交付模式,通常涉及通過網際網路來提供動態易擴展且經常是虛擬化的資源。按照服務方式,雲計算包括基礎設施即服務(iaas)、平臺即服務(paas)和軟體即服務(saas)。其中,saas提供給客戶的服務是運營商運行在雲計算基礎設施上的應用程式,用戶可以在各種設備上通過客戶端界面訪問。按照部署方式,雲計算包括公有雲、私有雲和混合雲。

當主機系統部署的應用程式越來越多,如何管理每一個主機系統以及如何降低平臺的複雜性則變得非常重要。編排(orchestration)在it管理範疇中,指的是以用戶需求為目的,將各種服務或要素進行科學的安排和組織,使各個組成部分平衡協調,生成能夠滿足用戶要求的服務。編排包括資源調度、集群管理及提供額外主機等含義。在雲環境下,服務並不是一成不變的,而是要動態調整的。資源調度是指在特定的資源環境下,根據一定的資源使用規則,在不同的資源使用者之間進行資源調整的過程。集群管理是控制一組主機的過程,包括引入新的主機或者移除原有主機、獲取主機和容器的當前狀態,以及開啟或停止處理過程。資源調度與集群管理密不可分,這是因為調度器必須訪問集群中的主機才能實現對服務的調度。調度的首要任務是選擇主機。如果管理者決定在集群中運行一個服務或容器,調度器就用來確定選擇哪個主機。管理者可以根據需求提供選擇條件,但是最終還是由調度器確定選擇哪個主機。

現有技術中的資源調度方案一般都是針對公有雲設計的,例如公有 雲黑盒調度機制。然而,隨著私有雲以及混合雲的需求,有必要提供在私有雲和混合雲環境下都適合的資源調度方案。



技術實現要素:

本申請解決的技術問題之一是提供一種雲環境下統一資源調度方法及系統,可適應私有雲及混合雲的部署環境。

根據本申請一方面的一個實施例,提供了一種雲環境下統一資源調度方法,包括:

接收用戶提交的資源分配請求,並解析所述資源分配請求得到資源類型信息和資源描述信息;

判斷資源類型信息中是否包括私有雲類型;

若是,首先通過所述資源描述信息在多臺私有雲伺服器中篩選出所有符合資源要求的私有伺服器,然後,按照各個所述符合資源要求的私有伺服器的資源歷史使用信息,對各個私有伺服器進行打分,選取分值最高的私有伺服器進行資源分配;

否則,在公有資源池中按照公有資源分配算法進行資源分配。

優選的,所述通過所述資源描述信息在多臺私有雲伺服器中篩選出所有符合資源要求的私有伺服器,包括:

從所述資源描述信息中得到資源規格信息、資源限制條件信息及資源標籤信息;

獲取各私有雲伺服器的硬體配置信息;

判斷私有雲伺服器的硬體配置信息是否滿足所述資源限制條件,並判斷私有雲伺服器是否具備滿足所述資源規格的硬體資源,若二者都為是,再進一步確定所述私有雲伺服器是否具有與所述資源標籤對應的標籤,若是,將該私有雲伺服器確定為符合資源要求的伺服器。

優選的,對私有伺服器進行打分,包括:

設定基礎分;獲得各資源使用率;確定分值為基準分減去各資源使用率及各資源權重的乘積;其中,預設各資源權重。

優選的,所述分值等於基礎分減去cpu利用率與第一權重乘積並減 去內存利用率與第二權重的乘積,其中,預先設置cpu利用率對應的第一權重、內存利用率對應的第二權重。

優選的,還包括:

判斷所述私有伺服器上是否有待分配資源依賴的微服務,若有,則確定獎勵分,並更新所述分值為原分值加上所述獎勵分。

優選的,還包括:

對所述符合資源要求的私有伺服器進行等級劃分;

在資源分配時選取分值最高且等級最低的私有伺服器進行。

優選的,所述對所述符合資源要求的私有伺服器進行等級劃分,包括:

計算運行在所述私有伺服器上的各類型微服務的數量,其中,所述服務類型包括生產級、批處理級和儘量滿足級;

確定私有伺服器的等級為批處理級微服務數量與第三權重的乘積加上儘量滿足級微服務數量與第四權重的乘積,其中,預先設置批處理級微服務對應的第三權重、儘量滿足級微服務對應的第四權重,且第三權重大於第四權重。

優選的,還包括:

若通過所述資源描述信息在私有雲伺服器中未篩選出符合資源要求的伺服器,則在公有資源池中進行資源分配。

根據本申請另一方面的一個實施例,提供了一種雲環境下統一資源調度系統,所述系統包括調度器,所述調度器包括請求處理模塊、雲類型選擇模塊、私有雲調度模塊和公有雲調度模塊,其中,

所述請求處理模塊,用於接收用戶提交的資源分配請求,並解析所述資源分配請求得到資源類型信息和資源描述信息;

所述雲類型選擇模塊,用於判斷資源類型信息中是否包括私有雲類型,若包括私有雲類型,則啟動私有雲調度模塊繼續調度,否則啟動公有雲調度模塊進行調度;

所述私有雲調度模塊,通過所述所述請求處理模塊得到的資源描述信息在多臺私有雲伺服器中篩選出所有符合資源要求的私有伺服器,並按 照各個所述符合資源要求的私有伺服器的資源歷史使用信息,對各個私有伺服器進行打分,選取分值最高的私有伺服器進行資源分配;

所述公有雲調度模塊,用於在公有資源池中按照公有資源分配算法進行資源分配。

優選的,所述所述私有雲調度模塊具體用於,從所述資源描述信息中得到資源規格信息、資源限制條件信息及資源標籤信息;獲取各私有雲伺服器的硬體配置信息;以及,判斷私有雲伺服器的硬體配置信息是否滿足所述資源限制條件,並判斷私有雲伺服器是否具備滿足所述資源規格的硬體資源,若二者都為是,再進一步確定所述私有雲伺服器是否具有與所述資源標籤對應的標籤,若是,將該私有雲伺服器確定為符合資源要求的伺服器。

優選的,所述私有雲調度模塊用於,設定基礎分;獲得各資源使用率;以及,確定分值為基準分減去各資源使用率及各資源權重的乘積;其中,預設各資源權重。

優選的,所述私有雲調度模塊用於,確定所述分值等於基礎分減去cpu利用率與第一權重乘積並減去內存利用率與第二權重的乘積,其中,預先設置cpu利用率對應的第一權重、內存利用率對應的第二權重。

優選的,所述私有雲調度模塊還用於,判斷所述私有伺服器上是否有待分配資源依賴的微服務,若有,則確定獎勵分,並更新所述分值為原分值加上所述獎勵分。

優選的,所述私有雲調度模塊還用於,對所述符合資源要求的私有伺服器進行等級劃分,以及,在資源分配時選取分值最高且等級最低的私有伺服器進行。

優選的,所述私有雲調度模塊具體用於,計算運行在所述私有伺服器上的各類型微服務的數量,其中,所述服務類型包括生產級、批處理級和儘量滿足級;以及,確定私有伺服器的等級為批處理級微服務數量與第三權重的乘積加上儘量滿足級微服務數量與第四權重的乘積;其中,預先設置批處理級微服務對應的第三權重、儘量滿足級微服務對應的第 四權重,且第三權重大於第四權重。

優選的,所述雲類型選擇模塊還用於,若通過所述私有雲調度模塊未篩選出符合資源要求的伺服器的情況下,啟動所述公有雲調度模塊在公有資源池中進行資源分配。

通過本發明實施例的方案,至少帶來以下技術效果:

由於私有雲中可引入容器代替虛擬機(當然虛擬機也適用),每個容器化應用都會共享相同的作業系統(單個主機作業系統)。相比於虛擬機,容器擁有更高的資源使用效率,因為它並不需要為每個應用分配單獨的作業系統,這意味相比於虛擬機,單個作業系統能夠承載更多的容器,因此,可提高資源使用率及集群速率,從而可大大降低私有數據中心的成本。

本發明方案可應用到公有雲和私有雲的混合雲環境下,特別是通過私有雲下的資源分配算法,選擇最合適的伺服器進行資源分配,在私有雲不滿足資源分配的情況下,可將公有雲作為一種有效的補充。

本發明方案具有高度融合性,可以將其他調度和編排算法植入該系統中,例如,可支持fair、drf等算法。

本領域普通技術人員將了解,雖然下面的詳細說明將參考圖示實施例、附圖進行,但本申請並不僅限於這些實施例。而是,本申請的範圍是廣泛的,且意在僅通過後附的權利要求限定本申請的範圍。

附圖說明

通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特徵、目的和優點將會變得更明顯:

圖1是根據本申請一個實施例的雲環境下統一資源調度方法流程圖。

圖2是根據本申請一個實施例的雲環境下統一資源調度系統架構示意圖。

圖3是圖2系統中調度器的邏輯示意圖。

本領域普通技術人員將了解,雖然下面的詳細說明將參考圖示實施例、附圖進行,但本申請並不僅限於這些實施例。而是,本申請的範圍 是廣泛的,且意在僅通過後附的權利要求限定本申請的範圍。

具體實施方式

在更加詳細地討論示例性實施例之前應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項操作描述成順序的處理,但是其中的許多操作可以被並行地、並發地或者同時實施。此外,各項操作的順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應於方法、函數、規程、子例程、子程序等等。

所述計算機設備包括用戶設備與網絡設備。其中,所述用戶設備包括但不限於電腦、智慧型手機、pda等;所述網絡設備包括但不限於單個網絡伺服器、多個網絡伺服器組成的伺服器組或基於雲計算(cloudcomputing)的由大量計算機或網絡伺服器構成的雲,其中,雲計算是分布式計算的一種,由一群鬆散耦合的計算機集組成的一個超級虛擬計算機。其中,所述計算機設備可單獨運行來實現本申請,也可接入網絡並通過與網絡中的其他計算機設備的交互操作來實現本申請。其中,所述計算機設備所處的網絡包括但不限於網際網路、廣域網、城域網、區域網、vpn網絡等。

需要說明的是,所述用戶設備、網絡設備和網絡等僅為舉例,其他現有的或今後可能出現的計算機設備或網絡如可適用於本申請,也應包含在本申請保護範圍以內,並以引用方式包含於此。

後面所討論的方法(其中一些通過流程圖示出)可以通過硬體、軟體、固件、中間件、微代碼、硬體描述語言或者其任意組合來實施。當用軟體、固件、中間件或微代碼來實施時,用以實施必要任務的程序代碼或代碼段可以被存儲在機器或計算機可讀介質(比如存儲介質)中。(一個或多個)處理器可以實施必要的任務。

這裡所公開的具體結構和功能細節僅僅是代表性的,並且是用於描述本申請的示例性實施例的目的。但是本申請可以通過許多替換形式來具體實現,並且不應當被解釋成僅僅受限於這裡所闡述的實施例。

應當理解的是,雖然在這裡可能使用了術語「第一」、「第二」等等來描述各個單元,但是這些單元不應當受這些術語限制。使用這些術語僅僅是為了將一個單元與另一個單元進行區分。舉例來說,在不背離示例性實施例的範圍的情況下,第一單元可以被稱為第二單元,並且類似地第二單元可以被稱為第一單元。這裡所使用的術語「和/或」包括其中一個或更多所列出的相關聯項目的任意和所有組合。

應當理解的是,當一個單元被稱為「連接」或「耦合」到另一單元時,其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對,當一個單元被稱為「直接連接」或「直接耦合」到另一單元時,則不存在中間單元。應當按照類似的方式來解釋被用於描述單元之間的關係的其他詞語(例如「處於...之間」相比於「直接處於...之間」,「與...鄰近」相比於「與...直接鄰近」等等)。

這裡所使用的術語僅僅是為了描述具體實施例而不意圖限制示例性實施例。除非上下文明確地另有所指,否則這裡所使用的單數形式「一個」、「一項」還意圖包括複數。還應當理解的是,這裡所使用的術語「包括」和/或「包含」規定所陳述的特徵、整數、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個或更多其他特徵、整數、步驟、操作、單元、組件和/或其組合。

還應當提到的是,在一些替換實現方式中,所提到的功能/動作可以按照不同於附圖中標示的順序發生。舉例來說,取決於所涉及的功能/動作,相繼示出的兩幅圖實際上可以基本上同時執行或者有時可以按照相反的順序來執行。

本發明實施例應用於雲環境,提供一種調度及編排方案,以支持公有雲和私有雲的環境。通過該方案,大部分準備及維護工作都可由統一調度系統自動完成,從而為客戶節省開銷。

本發明實施例提供一種調度及編排系統,該系統可應用在集裝化(containerization)環境和虛擬化(virtualization)環境。

作為一種部署應用程式的全新方式,容器(container)技術在短時間 內獲得了廣泛關注,但是這種技術同樣存在某些限制,並且和虛擬機(virtulmachine)存在本質上的不同。容器和虛擬機之間的主要區別在於虛擬化層的位置和作業系統資源的使用方式。虛擬機依賴於hypervisor,其通常被安裝在「裸金屬」系統硬體之上,這導致hypervisor在某些方面被認為是一種作業系統。一旦hypervisor安裝完成,就可以從系統可用計算資源當中分配虛擬機實例了,每臺虛擬機都能夠獲得唯一的作業系統和負載(應用程式)。通常,第一臺虛擬機都將會被用來運行系統管理程序,比如microsoftsystemcenter。而之後的虛擬機可能包含其他企業負載,比如資料庫、erp、crm、郵件伺服器、媒體伺服器、web伺服器或者其他業務應用。虛擬機之間是完全隔離的——沒有任何一臺虛擬機知道(或者依賴)相同系統當中的另外一臺虛擬機的存在——惡意軟體、應用程式崩潰和其他問題只能影響一臺虛擬機。虛擬機從一個虛擬系統被移動到另外一個當中,而不用考慮系統硬體和作業系統等因素。而容器環境的工作方式則有所不同。對於容器環境來說,需要首先安裝主機作業系統,之後將容器層(比如lxc或libcontainer)安裝在主機作業系統(通常是linux變種)之上。在安裝完容器層之後,就可以從系統可用計算資源當中分配容器實例了,並且企業應用可以被部署在容器當中。但是,每個容器化應用都會共享相同的作業系統(單個主機作業系統)。相比於虛擬機,容器擁有更高的資源使用效率,因為它並不需要為每個應用分配單獨的作業系統-實例規模更小、創建和遷移速度也更快。這意味相比於虛擬機,單個作業系統能夠承載更多的容器。雲提供商十分熱衷於容器技術,因為在相同的硬體設備當中,可以部署數量更多的容器實例。然而,單個作業系統有可能引起影響所有相關實例的單點事故。比如,惡意軟體或者主機作業系統崩潰可能禁用或者影響所有容器。此外,容器易於遷移,但是只能被遷移到具有兼容作業系統內核的其他伺服器當中,這樣會無形中減少遷移選擇。從實際應用的角度來說,容器和虛擬機可以在同一個數據中心當中共存,因此這兩種技術被認為是互補的——為現代應用程式架構師和數據中心管理員添加了可用工具集,通過不同的方式 為應用負載提供支持。

本發明實施例中,調度器負責將容器或虛擬機加載到相關主機上,並負責啟動、停止及管理運行過程。調度及編排系統類似於整個雲環境的心臟或指揮中心。

參見圖1,是根據本申請一個實施例的雲環境下統一資源調度方法流程圖。

s101:接收用戶提交的資源分配請求,並解析資源分配請求得到資源類型信息和資源描述信息;

s102:判斷資源類型信息中是否包括私有雲類型,若是,執行s103,否則,執行s104;

s103:如果是私有雲,則首先通過資源描述信息在多臺私有雲伺服器中篩選出所有符合資源要求的私有伺服器,然後,按照各個符合資源要求的私有伺服器的資源歷史使用信息,對各個伺服器進行打分,選取分值最高的私有伺服器進行資源分配;

s104:如果是公有雲或混合雲,則在公有資源池中按照公有資源分配算法進行資源分配。

在步驟s101中,通過解析資源分配請求可以得到資源類型信息和資源描述信息。資源類型信息標記是在私有雲、公有雲還是混合雲中進行資源分配,對於私有雲,採取本發明實施例提出的分配算法進行伺服器選擇,對於公有雲和混合雲情況,在公有資源池中進行資源分配。資源描述信息包括資源規格信息(資源要求,如cpu、內存要求)、資源限制條件信息(如限制disk為ssd)及資源標籤信息等,其中,資源標籤信息標記資源優先級(例如highmem或normal),在伺服器選擇時須選擇具有與該資源標籤對應標籤的伺服器。

在步驟s102中,按照資源類型信息,確定是在私有雲進行資源分配(步驟s103),還是在公有雲中進行資源分配(步驟s103)。

在步驟s103中,對於私有伺服器的選擇分為兩個層次,首先篩選出符合資源要求的所有私有伺服器,其次在符合要求的所有私有伺服器進行打分, 最終確定分值最高的私有伺服器進行資源分配。

其中,在第一層次中,可通過如下步驟實現找到符合資源要求的所有私有伺服器:

(1.1)從資源描述信息中得到資源規格信息、資源限制條件信息及資源標籤信息;

(1.2)獲取各私有雲伺服器的硬體配置信息;

(1.3)逐個判斷各私有雲伺服器的硬體配置信息是否滿足資源限制條件,並判斷私有雲伺服器是否具備滿足資源規格的硬體資源,若二者都為是,再進一步確定私有雲伺服器是否具有與所述資源標籤對應的標籤,若是,將該私有雲伺服器確定為符合資源要求的伺服器;

(1.4)集合所有符合資源要求的私有伺服器,得到符合資源要求的所有私有伺服器。

在第二層次中,可通過如下方式確定分值:

(2.1)設定基礎分;獲得各資源使用率;確定分值為基準分減去各資源使用率及各資源權重的乘積;其中,預設各資源權重;

例如,所述分值等於基礎分減去cpu利用率與第一權重乘積並減去內存利用率與第二權重的乘積,其中,預先設置cpu利用率對應的第一權重、內存利用率對應的第二權重。

(2.2)判斷私有伺服器上是否有待分配資源依賴的微服務,若有,則確定獎勵分,並更新分值為原分值加上獎勵分。

在第二層次中,優選的,還可以對符合資源要求的私有伺服器進行等級劃分;在資源分配時選取分值最高且等級最低的私有伺服器進行。具體的,計算運行在私有伺服器上的各類型微服務的數量,其中,所述服務類型包括生產級、批處理級和儘量滿足級;確定私有伺服器的等級為批處理級微服務數量與第三權重的乘積加上儘量滿足級微服務數量與第四權重的乘積,其中,預先設置批處理級微服務對應的第三權重、儘量滿足級微服務對應的第四權重,且第三權重大於第四權重。

通過上述兩個層次的方式,可以選擇出最適合的私有伺服器進行資 源分配。

如果在沒有選取出符合資源要求的私有伺服器,則可以在公有資源池中進行資源分配。

在步驟s104中,對於公有雲或混合雲的情況,在公有資源池中按照公有資源分配算法進行資源分配。公有雲由於有自帶的調度機制,所以不需要系統再特別設計,直接利用公有雲類似黑盒裡的調度機制來實現。對於混合雲的情況,直接按照公有雲的調度方法部署在公有雲上,以節約私有雲資源。

參見圖2,為本發明實施例提供的雲環境下統一資源調度系統架構示意圖。該系統包括中心管理伺服器10、提交裝置20、分布式存儲裝置30、一個或多個私有雲執行伺服器40、雲整合平臺50及發現服務裝置60。

下面對系統各部分進行如下介紹。

中心管理伺服器10是整個調度和編排系統的核心,它至少包括調度器101和收集器102。調度器101負責管理不同優先權的任務隊列、按照本發明的調度算法進行資源映射,從而確定最優主機,並將任務分配給私有雲執行伺服器40或者雲整合平臺50。收集器102用於從cmdb(configurationmanagementdatabase配置管理資料庫)或直接從主機自身收集主機的元數據,以及從監控系統或直接從主機收集關於主機的如cpu、內存使用率等信息;另外,收集器102也負責任務的運行狀態。

提交裝置20向用戶提供接口,用戶可通過提交裝置提交資源分配請求,請求在公有雲或私有雲部署某一個服務或應用程式。

分布式存儲裝置30可用於存儲包括如任務執行日誌、運行日誌、軟體包、容器部署描述文件、公有雲部署描述文件等在內的所有共享資源或文件。分布式存儲裝置30是共享存儲器,提供讀、寫及更新所需文件的統一接口。

私有雲執行伺服器40負責從調度器接收啟動守護進程(startdaemon)命令並將相關信號發送給相關任務進程。私有雲執行伺服器40控制容器或虛擬機的開始/重啟/停止的行為。

雲整合平臺50用於將服務或應用程式部署在多個公有雲平臺(如aws、azure)。雲整合平臺50具有不同公有雲的適應性。

發現服務裝置60,在一個服務或應用程式成功部署之後,用於登記相關連接信息。該服務或應用程式的信息一旦登記,其他應用程式可向發現服務裝置60請求連接該服務或應用程式。

下面重點對調度及資源映射過程重點介紹。

如果任務可被部署到公有雲,則認為任務不受限制,此情況下按照現有公有雲的資源分配方式,由雲整合平臺50負責在公有雲中準備硬體資源、軟體資源來完成任務。

如果任務被部署到私有雲,用戶提交的任務碚存儲在分布式存儲裝置30中,並添加到等待隊列,然後,調度器101對任務隊列進行異步掃描。調度器101以輪詢方式按照優先級從高到低的順序對隊列進行掃描,以保證請求不會被阻止。一旦任務被掃描到,調度及資源映射邏輯被啟動,從而選擇一個最適合的節點(伺服器)來執行該任務。

對於部署到私有雲中的任務,調度過程包括如下步驟:

1、粗選(過濾)

檢查各節點是否具有足夠的資源或者是否滿足特殊的條件,如是否滿足ssd硬碟類型等,最後生成一個滿足任務的條件的所有節點的列表。

2、基於標籤調度

所有節點被標記上標籤,例如,高端(highmem)和正常(normal)等標籤。用戶提交的任務請求中可以攜帶任務的標籤,調度器將按照標籤匹配到具有相應標籤的節點的隊列中。

3、打分

按照打分規則對各個節點進行打分,最終選擇出分值最高的節點進行任務部署。

打分規則主要考慮了幾個因素1)如果需要部署的服務依賴於其他的微服務,而所依賴的微服務正好在待選伺服器上或和待選伺服器同一個機架上,會加分;2)如果該伺服器的cpu和內存使用率比較低,會加 分。例如,給伺服器一個基準分(例如60分),score=基準分-cpu利用率*第一權重-內存利用率*第二權重+獎勵分(如果待選伺服器上有依賴的微服務);所以最終會選擇score值最高的伺服器。其中,預先設定各項目對應的權重,例如,cpu利用率對應有第一權重,內存利用率對應第二權重,等。

下面列出一個任務(資源分配請求)的具體例子。

上述例子中,設定了三種資源類型(type),這三種類型的資源優先級依次從高到低是:生產級(productive)、批處理級(batch)、儘量滿足級(try-best)。

在優選的方式中,在上述步驟「3、打分」中,除了依據對各伺服器打分的分值之外,還依據伺服器的等級(level)進行綜合選取。

所謂的伺服器等級即是根據該伺服器中正運行的微服務的類型確定的,因為多個微服務可能運行在同一臺伺服器上,所以需要避免產生搶佔資源的情況,因此結合待選伺服器上運行的微服務狀況綜合考慮最合 適的伺服器。計算level=第三權重*batch類微服務數量+第四權重*try-best類微服務數量(搶佔的規律是productive類的微服務不能被搶佔,batch類優先級略低,try-best優先級最低,優先級高的可以搶佔優先級低的資源)。所以在這種優選方式下,最終會綜合計算後的score值和level值選擇score值最高、level值最低的伺服器。其中,預先設置batch類微服務對應第三權重,try-best類微服務對應第四權重,且由於batch類微服務的優先級高於try-best類微服務的優先級,因此第三權重大於第四權重。

參加圖3,是圖2系統中調度器的優選方式的邏輯流程。

s301:接收資源分配請求;

s302:判斷資源分配請求中攜帶的雲類型是私有雲、公有雲還是混合雲,如果是私有雲,執行s303,如果是公有雲或混合雲,則執行s322;

s303:從收集器中獲取所有私有伺服器列表;

s304:按照順序從私有伺服器列表中遍歷伺服器,得到伺服器的配置信息;

s305:判斷是否為最後一個伺服器,若是,轉到s310,否則,執行s306;

s306:判斷限制條件(如ssddisk)是否滿足,若滿足,執行s307,否則,返回s304進行下一個伺服器的判斷;

s307:判斷是否有足夠的硬體資源(如cpu、mem、disk),如果有,執行s308,否則,返回s304進行下一個伺服器的判斷;

s308:判斷是否存在與資源分配請求中相應的標籤(例如highmem或normal),若存在,執行s309,否則,也返回s304進行下一個伺服器的判斷;

s309:將該伺服器加入到候選名單中(即確定該伺服器為符合資源要求的伺服器),然後,返回s304進行下一個伺服器的判斷;

可見,通過重複執行上述步驟s304-s309,即可篩選出符合標籤要求及資源要求的所有伺服器。

s310:通過上述步驟確定的所有伺服器構成一個私有資源池;

s311:判斷是否有一個以上伺服器,若是,執行s312,否則,則沒有滿足資源要求的伺服器,因此轉到公有雲進行資源分配,即執行步驟s322;

s312:從候選名單中選取一個伺服器;

s313:是否為最後一個伺服器,若是,執行步驟s314進行最終的私有伺服器選擇;

s314:設定分值為基礎分;

s315:計算可能運行的微服務的數量(例如:batch類微服務:2個;try-best類微服務:3個);

s316:確定等級:level=第三權重*batch類微服務數量+第四權重*try-best類微服務數量;

s317:得到平均資源使用率;

s318:計算得分:score=基準分-cpu利用率*第一權重-內存利用率*第二權重;

s319:判斷該伺服器上是否有資源依賴的微服務,若有,執行s320,否則,返回s313;

s320:確定獎勵分,更新得分:score=基準分-cpu利用率*第一權重-內存利用率*第二權重+獎勵分;

s321:選取得分最高、等級最低的伺服器進行資源分配;

在上述步驟s310-s321中,對之前確定的符合要求的各個伺服器進行打分及等級劃分,最終選擇分值最高、等級最低的伺服器進行資源分配。

s322:對於公有雲或混合雲的情況,在公有資源池中按照公有資源分配算法進行資源分配。

公有雲由於有自帶的調度機制,所以不需要系統再特別設計,直接利用公有雲類似黑盒裡的調度機制來實現。對於混合雲的情況,直接按照公有雲的調度方法部署在公有雲上,以節約私有雲資源。

通過本發明實施例的方案,至少帶來以下技術效果:

由於私有雲中可引入容器代替虛擬機(當然虛擬機也適用),每個容器化應用都會共享相同的作業系統(單個主機作業系統)。相比於虛擬機,容器擁有更高的資源使用效率,因為它並不需要為每個應用分配單獨的作業系統,這意味相比於虛擬機,單個作業系統能夠承載更多的容器,因此,可提高資源使用率及集群速率,從而可大大降低私有數據中心的成本。

本發明方案可應用到公有雲和私有雲的混合雲環境下,特別是通過私有雲下的資源分配算法,選擇最合適的伺服器進行資源分配,在私有雲不滿足資源分配的情況下,可將公有雲作為一種有效的補充。

本發明方案具有高度融合性,可以將其他調度和編排算法植入該系統中,例如,可支持fair、drf等算法。

需要注意的是,本申請可在軟體和/或軟體與硬體的組合體中被實施,例如,可採用專用集成電路(asic)、通用目的計算機或任何其他類似硬體設備來實現。在一個實施例中,本申請的軟體程序可以通過處理器執行以實現上文所述步驟或功能。同樣地,本申請的軟體程序(包括相關的數據結構)可以被存儲到計算機可讀記錄介質中,例如,ram存儲器,磁或光碟機動器或軟磁碟及類似設備。另外,本申請的一些步驟或功能可採用硬體來實現,例如,作為與處理器配合從而執行各個步驟或功能的電路。

另外,本申請的一部分可被應用為電腦程式產品,例如電腦程式指令,當其被計算機執行時,通過該計算機的操作,可以調用或提供根據本申請的方法和/或技術方案。而調用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質中,和/或通過廣播或其他信號承載媒體中的數據流而被傳輸,和/或被存儲在根據所述程序指令運行的計算機設備的工作存儲器中。在此,根據本申請的一個實施例包括一個裝置,該裝置包括用於存儲電腦程式指令的存儲器和用於執行程序指令的處理器,其中,當該電腦程式指令被該處理器執行時,觸發該裝置運行基於前述根據本申請的多個實施例的方法和/或技術方案。

對於本領域技術人員而言,顯然本申請不限於上述示範性實施例的細節,而且在不背離本申請的精神或基本特徵的情況下,能夠以其他的具體形式實現本申請。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本申請的範圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和範圍內的所有變化涵括在本申請內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。此外,顯然「包括」一詞不排除其他單元或步驟,單數不排除複數。系統權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟體或者硬體來實現。第一,第二等詞語用來表示名稱,而並不表示任何特定的順序。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀