在PaaS平臺(tái)上實(shí)現(xiàn)的獲取虛擬機(jī)資源的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及在PaaS平臺(tái)上實(shí)現(xiàn)的獲取虛擬機(jī)資源的系統(tǒng)和方法。
【背景技術(shù)】
[0002]云計(jì)算(cloudcomputing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動(dòng)態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。云計(jì)算就服務(wù)模式而言,可以分為三種,從下而上分別為:IaaS、PaaS和SaaS。其中,PaaS作為連通IaaS和SaaS的中間層,其重要性在云計(jì)算中與日倶增,并且在社會(huì)各界得到廣泛應(yīng)用。
[0003]PaaS是Platform-as-a-Service的縮寫,意思是平臺(tái)即服務(wù)。把服務(wù)器平臺(tái)作為一種服務(wù)提供的商業(yè)模式。PaaS能將現(xiàn)有各種業(yè)務(wù)能力進(jìn)行整合,具體可以歸類為應(yīng)用服務(wù)器、業(yè)務(wù)能力接入、業(yè)務(wù)引擎、業(yè)務(wù)開放平臺(tái),向下根據(jù)業(yè)務(wù)能力需要測(cè)算基礎(chǔ)服務(wù)能力,通過IaaS提供的API (Applicat1n Programming Interface,應(yīng)用編程接口)調(diào)用硬件資源,向上提供業(yè)務(wù)調(diào)度中心服務(wù),實(shí)時(shí)監(jiān)控平臺(tái)的各種資源,并將這些資源通過API開放給SaaS用戶。PaaS能夠使得應(yīng)用快速的開發(fā)、部署、測(cè)試、上線,有效地節(jié)約了成本的同時(shí)提高了效率。
[0004]在傳統(tǒng)技術(shù)中,如圖1所示,當(dāng)用戶或應(yīng)用需要虛擬機(jī)資源時(shí),通常需要先調(diào)用底層IaaS所提供的接口; IaaS平臺(tái)接到請(qǐng)求后,就根據(jù)請(qǐng)求中所包含的參數(shù)去創(chuàng)建虛擬機(jī);待虛擬機(jī)創(chuàng)建完畢后,Iaas會(huì)將該創(chuàng)建結(jié)果及虛擬機(jī)信息返回給PaaS5PaaS得到虛擬機(jī)的相關(guān)信息后,一方面需要把虛擬機(jī)信息錄入數(shù)據(jù)庫,另一方面也要在虛擬機(jī)上面安裝一些PaaS平臺(tái)和用戶所需要的軟件和環(huán)境;等這些工作全部完成后,PaaS平臺(tái)再將虛擬機(jī)的信息返回給用戶或應(yīng)用,滿足其需求。
[0005]由上述可以看出,在傳統(tǒng)技術(shù)中,對(duì)申請(qǐng)的虛擬機(jī)資源進(jìn)行開通的時(shí)候,需要經(jīng)過較長流程的操作,步驟較為復(fù)雜,所消耗的時(shí)間也是比較長的。這樣的話用戶或應(yīng)用需要經(jīng)過長時(shí)間的等待才能得到自身所需的虛擬機(jī)資源。在一般情況下,這種方案雖然體驗(yàn)度不是十分理想,但也能滿足需求;但是在一些特殊情況下,比如應(yīng)用訪問量激增,急需擴(kuò)展應(yīng)用集群或負(fù)載均衡服務(wù)的時(shí)候,利用傳統(tǒng)方式進(jìn)行虛擬機(jī)資源的申請(qǐng)就難以滿足用戶需求,降低了 PaaS平臺(tái)的穩(wěn)定性。
【發(fā)明內(nèi)容】
[0006]為了解決上述問題,本申請(qǐng)?zhí)峁┝艘环N在PaaS平臺(tái)上實(shí)現(xiàn)的獲取虛擬機(jī)資源的系統(tǒng),所述系統(tǒng)包括:虛擬機(jī)集群,所述虛擬機(jī)集群包括多個(gè)虛擬機(jī)資源;監(jiān)控模塊,用于對(duì)所述虛擬機(jī)集群中的虛擬機(jī)資源數(shù)量進(jìn)行實(shí)時(shí)監(jiān)控;以及管理模塊,用于接收來自租戶的虛擬機(jī)資源的請(qǐng)求,并根據(jù)所述租戶的優(yōu)先級(jí)來分配所述虛擬機(jī)資源;其中,在所述虛擬機(jī)資源的數(shù)量低于第一閾值時(shí),所述監(jiān)控模塊發(fā)消息通知管理模塊,并由所述管理模塊對(duì)虛擬機(jī)資源數(shù)量進(jìn)行及時(shí)管控。
[0007]在上述系統(tǒng)中,在所述虛擬機(jī)資源的數(shù)量低于第一閾值時(shí),所述管理模塊通過調(diào)用底層IaaS所提供的接口,而發(fā)出創(chuàng)建虛擬機(jī)的請(qǐng)求。
[0008]在上述系統(tǒng)中,在所述虛擬機(jī)資源的數(shù)量高于第二閾值時(shí),所述管理模塊停止調(diào)用底層IaaS所提供的接口。
[0009]在上述系統(tǒng)中,所述管理模塊配置成在系統(tǒng)空閑時(shí)預(yù)先設(shè)置包括多個(gè)虛擬機(jī)資源的虛擬機(jī)集群。
[0010]上述系統(tǒng)還可包括:消息隊(duì)列,所述消息隊(duì)列設(shè)置成提供所述虛擬機(jī)集群與所述系統(tǒng)的模塊之間或模塊與模塊之間的通信。
[0011]在上述系統(tǒng)中,在所述租戶釋放虛擬機(jī)資源后,所述管理模塊配置成將所述虛擬機(jī)資源進(jìn)行回收。
[0012]根據(jù)本申請(qǐng)的另一個(gè)方面,提供了一種基于PaaS平臺(tái)的獲取虛擬機(jī)資源的方法,所述方法包括:在所述PaaS平臺(tái)設(shè)置虛擬機(jī)集群、監(jiān)控模塊以及管理模塊,其中所述虛擬機(jī)集群包括多個(gè)虛擬機(jī)資源,所述監(jiān)控模塊用于對(duì)所述虛擬機(jī)集群中的虛擬機(jī)資源數(shù)量進(jìn)行實(shí)時(shí)監(jiān)控,所述管理模塊用于接收來自租戶的虛擬機(jī)資源的請(qǐng)求,并根據(jù)所述租戶的優(yōu)先級(jí)來分配所述虛擬機(jī)資源;以及在所述虛擬機(jī)資源的數(shù)量低于第一閾值時(shí),利用所述監(jiān)控模塊發(fā)消息通知管理模塊,并利用所述管理模塊對(duì)虛擬機(jī)資源數(shù)量進(jìn)行及時(shí)管控。
[0013]在上述方法中,在所述虛擬機(jī)資源的數(shù)量低于第一閾值時(shí),利用所述監(jiān)控模塊發(fā)消息通知管理模塊,并利用所述管理模塊對(duì)虛擬機(jī)資源數(shù)量進(jìn)行及時(shí)管控包括:在所述虛擬機(jī)資源的數(shù)量低于第一閾值時(shí),所述管理模塊通過調(diào)用底層IaaS所提供的接口,而發(fā)出創(chuàng)建虛擬機(jī)的請(qǐng)求。
[0014]在上述方法中,在所述虛擬機(jī)資源的數(shù)量低于第一閾值時(shí),利用所述監(jiān)控模塊發(fā)消息通知管理模塊,并利用所述管理模塊對(duì)虛擬機(jī)資源數(shù)量進(jìn)行及時(shí)管控包括:在所述虛擬機(jī)資源的數(shù)量高于第二閾值時(shí),所述管理模塊停止調(diào)用底層IaaS所提供的接口。
[0015]上述方法還可包括:利用所述管理模塊在系統(tǒng)空閑時(shí)預(yù)先設(shè)置包括多個(gè)虛擬機(jī)資源的虛擬機(jī)集群。
[0016]上述方法還可包括:設(shè)置一消息隊(duì)列來提供所述虛擬機(jī)集群與所述系統(tǒng)的模塊之間或模塊與模塊之間的通信。
[0017]上述方法還可包括:在所述租戶釋放虛擬機(jī)資源后,利用所述管理模塊將所述虛擬機(jī)資源進(jìn)行回收。
[0018]與現(xiàn)有技術(shù)相比,本申請(qǐng)的技術(shù)方案至少具有以下優(yōu)點(diǎn):
(1)當(dāng)PaaS平臺(tái)需要對(duì)服務(wù)進(jìn)行資源擴(kuò)展或用戶提出資源申請(qǐng)時(shí),就不需要通過IaaS來創(chuàng)建新的虛擬機(jī),而是直接從虛擬機(jī)資源緩沖池中直接拿出現(xiàn)有的虛擬機(jī)進(jìn)行使用,以大大提高PaaS平臺(tái)的快速響應(yīng)能力。據(jù)統(tǒng)計(jì),在使用該方案前,租戶申請(qǐng)?zhí)摂M機(jī)資源所用的時(shí)間為4 - 5分鐘,而使用該方案后時(shí)間縮短至一分鐘以內(nèi);
(2)在云平臺(tái)的應(yīng)用訪問量激增的時(shí)候,平臺(tái)可以快速相應(yīng),及時(shí)為應(yīng)用提供虛擬機(jī)資源,保證應(yīng)用集群及相關(guān)基礎(chǔ)服務(wù)的快速擴(kuò)展。提高了云平臺(tái)在應(yīng)對(duì)突發(fā)事件的能力,增強(qiáng)了平臺(tái)的穩(wěn)定性和適用性;以及
(3)使得PaaS和IaaS之間的耦合性降低,增強(qiáng)了PaaS的功能,在一定程度上降低了PaaS對(duì)IaaS的依賴性。
【附圖說明】
[0019]在參照附圖閱讀了本發(fā)明的【具體實(shí)施方式】以后,本領(lǐng)域技術(shù)人員將會(huì)更清楚地了解本發(fā)明的各個(gè)方面。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是:這些附圖僅僅用于配合【具體實(shí)施方式】說明本發(fā)明的技術(shù)方案,而并非意在對(duì)本發(fā)明的保護(hù)范圍構(gòu)成限制。
[0020]圖1是現(xiàn)有的虛擬機(jī)創(chuàng)建流程圖;以及圖2是根據(jù)本申請(qǐng)的一個(gè)實(shí)施例、在PaaS平臺(tái)上實(shí)現(xiàn)的獲取虛擬機(jī)資源的系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0021]下面介紹的是本發(fā)明的多個(gè)可能實(shí)施例中的一些,旨在提供對(duì)本發(fā)明的基本了解,并不旨在確認(rèn)本發(fā)明的關(guān)鍵或決定性的要素或限定所要保護(hù)的范圍。容易理解,根據(jù)本發(fā)明的技術(shù)方案,在不變更本發(fā)明的實(shí)質(zhì)精神下,本領(lǐng)域的一般技術(shù)人員可以提出可相互替換的其它實(shí)現(xiàn)方式。因此,以下【具體實(shí)施方式】以及附圖僅是對(duì)本發(fā)明的技術(shù)方案的示例性說明,而不應(yīng)當(dāng)視為本發(fā)明的全部或者視為對(duì)本發(fā)明技術(shù)方案的限定或限制。
[0022]IaaS (Infrastructure as a Service,基礎(chǔ)架構(gòu)即服務(wù)),是云計(jì)算的一種類型,它是PaaS(Platform as a Service,平臺(tái)即服務(wù))和SaaS(Software as a Service,軟件即服務(wù))的基礎(chǔ)。IaaS軟件通常用于管理大規(guī)模的物理硬件(IaaS可以管理小到一臺(tái)物理主機(jī),多到成千上萬的物理服務(wù)器)并把客戶所需的軟硬件資源(CPU,內(nèi)存,網(wǎng)絡(luò),存儲(chǔ)等)以“主機(jī)”的形式提供(這里的主機(jī)可以是一臺(tái)獨(dú)立物理主機(jī),但更多的情況是虛擬機(jī),Virtual Machine,簡稱VM)。
[0023]IaaS的根本目的在于計(jì)算資源的池化、統(tǒng)一的、智能的(如按需)管理調(diào)度。計(jì)算資源的池化,也就是把所有的資源放在一個(gè)大池子里并按照較小的單元進(jìn)行管理。例如把100個(gè)I TB的硬盤放在存儲(chǔ)池中,這個(gè)池子便有了 10TB的容量,分配存儲(chǔ)的時(shí)候,不再是以ITB這樣的獨(dú)立硬盤單元進(jìn)行分發(fā),而是可以分發(fā)一個(gè)較小的容量(例如10GB,具體的分配的單元可以由IaaS進(jìn)行配置)。IaaS的Service,現(xiàn)在普遍都是以WebService的形式來提供,因?yàn)榉浅H菀撞僮鳌?br>[0024]IaaS所提供的虛擬機(jī)通常都會(huì)至少包含一個(gè)可以連上網(wǎng)絡(luò)的操作系統(tǒng)(如Linux,Windows)。用戶通過網(wǎng)絡(luò)可以登錄并操作