控任務(wù)對(duì)應(yīng)的預(yù)警信息,當(dāng)所述預(yù)警信息為所述至少一臺(tái)虛擬機(jī)中第一虛擬機(jī)的負(fù)載低于所述最小負(fù)載閾值時(shí),控制所述云平臺(tái)管理器關(guān)閉所述第一虛擬機(jī),并釋放所述第一虛擬機(jī)占用的資源;當(dāng)所述預(yù)警信息為所述至少一臺(tái)虛擬機(jī)中任意一臺(tái)虛擬機(jī)的負(fù)載高于所述最大負(fù)載閾值時(shí),控制所述云平臺(tái)管理器,根據(jù)所述包含代理裝置的虛擬機(jī)模板,為所述應(yīng)用建立第二虛擬機(jī),由于代理裝置能夠?qū)崟r(shí)監(jiān)控虛擬機(jī),那么,預(yù)警信息也能夠?qū)崟r(shí)被接收到,使得資源占用情況能夠及時(shí)被修改,有效地提高云平臺(tái)的資源利用率。
【附圖說(shuō)明】
[0037]圖1為本發(fā)明實(shí)施例提供的一種云應(yīng)用伸縮方法的流程圖;
[0038]圖2為本發(fā)明另一實(shí)施例提供的一種云應(yīng)用伸縮方法的流程圖;
[0039]圖3為本發(fā)明實(shí)施例提供的一種應(yīng)用管理端的結(jié)構(gòu)示意圖;
[0040]圖4為本發(fā)明實(shí)施例提供的云應(yīng)用伸縮系統(tǒng)的結(jié)構(gòu)示意圖;
[0041]圖5為本發(fā)明另一實(shí)施例提供的云應(yīng)用伸縮系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0042]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043]如圖1所示,本發(fā)明實(shí)施例提供一種云應(yīng)用伸縮方法,該方法可以包括如下步驟:
[0044]步驟101:設(shè)置最小負(fù)載閾值和最大負(fù)載閾值,并設(shè)置監(jiān)控任務(wù);
[0045]步驟102:接收應(yīng)用的元數(shù)據(jù),并觸發(fā)云平臺(tái)管理器,根據(jù)應(yīng)用的元數(shù)據(jù),設(shè)置包含代理裝置的虛擬機(jī)模板;
[0046]步驟103:控制云平臺(tái)管理器,根據(jù)包含代理裝置的虛擬機(jī)模板,為應(yīng)用建立至少一臺(tái)虛擬機(jī);
[0047]步驟104:發(fā)送監(jiān)控任務(wù)給至少一臺(tái)虛擬機(jī)中的代理裝置;
[0048]步驟105:接收與監(jiān)控任務(wù)對(duì)應(yīng)的預(yù)警信息,當(dāng)預(yù)警信息為至少一臺(tái)虛擬機(jī)中第一虛擬機(jī)的負(fù)載低于最小負(fù)載閾值時(shí),執(zhí)行步驟106;當(dāng)預(yù)警信息為至少一臺(tái)虛擬機(jī)中任意一臺(tái)虛擬機(jī)的負(fù)載高于最大負(fù)載閾值時(shí),執(zhí)行步驟107;
[0049]步驟106:控制云平臺(tái)管理器關(guān)閉第一虛擬機(jī),并釋放第一虛擬機(jī)占用的資源,并結(jié)束當(dāng)前流程;
[0050]步驟107:控制云平臺(tái)管理器,根據(jù)包含代理裝置的虛擬機(jī)模板,為應(yīng)用建立第二虛擬機(jī)。
[0051]在本發(fā)明一個(gè)實(shí)施例中,為了能夠分析代理裝置監(jiān)控到的監(jiān)控?cái)?shù)據(jù),并通過(guò)分析監(jiān)控?cái)?shù)據(jù)得到預(yù)警信息,該方法進(jìn)一步包括:設(shè)置監(jiān)控告警服務(wù)器,并將應(yīng)用管理端與監(jiān)控告警服務(wù)器相連;將最小負(fù)載閾值和最大負(fù)載閾值發(fā)送給監(jiān)控告警服務(wù)器;在步驟104之后,在步驟105之前進(jìn)一步包括:控制監(jiān)控告警服務(wù)器接收代理裝置發(fā)送的監(jiān)控?cái)?shù)據(jù),并分析監(jiān)控?cái)?shù)據(jù),將監(jiān)控?cái)?shù)據(jù)與最小負(fù)載閾值和最大負(fù)載閾值進(jìn)行對(duì)比,生成預(yù)警信息,并發(fā)送預(yù)警信息;步驟105的【具體實(shí)施方式】:接收監(jiān)控告警服務(wù)器發(fā)送的預(yù)警信息。
[0052]在本發(fā)明一個(gè)實(shí)施例中,當(dāng)虛擬機(jī)出現(xiàn)異常時(shí),為了能夠?qū)崿F(xiàn)釋放異常虛擬機(jī)的資源,并及時(shí)補(bǔ)充新的虛擬機(jī),從而進(jìn)一步提高資源的使用效率,該方法進(jìn)一步包括:當(dāng)預(yù)警信息為至少一臺(tái)虛擬機(jī)中第三虛擬機(jī)處于異常狀態(tài)時(shí),為應(yīng)用申請(qǐng)新的資源,并觸發(fā)云平臺(tái)管理器,建立第四虛擬機(jī),在第四虛擬機(jī)中重新部署應(yīng)用,導(dǎo)出第三虛擬機(jī)中的日志信息,并釋放第三虛擬機(jī)占用的資源。
[0053]在本發(fā)明一個(gè)實(shí)施例中,為了能夠使該方法能夠?yàn)閣eb應(yīng)用提供資源,該方法進(jìn)一步包括:為web應(yīng)用建立反向代理服務(wù)器;并在反向代理服務(wù)器設(shè)置web應(yīng)用的訪問(wèn)地址與web應(yīng)用所在虛擬機(jī)的地址之間的關(guān)聯(lián),當(dāng)web應(yīng)用所在虛擬機(jī)發(fā)生變化時(shí),對(duì)關(guān)聯(lián)進(jìn)行相應(yīng)的修改。
[0054]如圖2所不,本發(fā)明另一實(shí)施以實(shí)現(xiàn)web應(yīng)用的伸縮為例,展開(kāi)說(shuō)明,云應(yīng)用伸縮方法,該方法可以包括如下步驟:
[0055]步驟200:設(shè)置監(jiān)控告警服務(wù)器,并將應(yīng)用管理端與監(jiān)控告警服務(wù)器相連;
[0056]該監(jiān)控告警服務(wù)器主要用來(lái)分析監(jiān)控?cái)?shù)據(jù),并提供告警信息給應(yīng)用管理端,以使得應(yīng)用管理端根據(jù)告警信息做出相應(yīng)的操作。
[0057]步驟201:為web應(yīng)用建立反向代理服務(wù)器;
[0058]步驟202:在反向代理服務(wù)器設(shè)置web應(yīng)用的訪問(wèn)地址與web應(yīng)用所在虛擬機(jī)的地址之間的關(guān)聯(lián);
[0059]由于web應(yīng)用一般存在一個(gè)針對(duì)用戶(hù)的地址a,還存在針對(duì)虛擬機(jī)的地址I,則,當(dāng)用戶(hù)通過(guò)輸入地址a訪問(wèn)web應(yīng)用時(shí),通過(guò)該步驟建立的反向代理服務(wù)器,用戶(hù)能夠成功的訪問(wèn)到web應(yīng)用對(duì)應(yīng)的虛擬機(jī)。
[0060]步驟203:設(shè)置最小負(fù)載閾值和最大負(fù)載閾值,并設(shè)置監(jiān)控任務(wù);
[0061]用戶(hù)可以根據(jù)自己的需求,通過(guò)應(yīng)用管理端設(shè)置閾值,例如:預(yù)先在應(yīng)用管理端設(shè)置不同的閾值10%、20%、50%、70%、80%等等,用戶(hù)可以通過(guò)選擇的方式選定10%為最小負(fù)載閾值,70%為最大負(fù)載閾值,該步驟設(shè)置的監(jiān)控任務(wù),可以是監(jiān)控CPU利用率或者內(nèi)存利用率等等涉及虛擬機(jī)的使用情況的數(shù)據(jù)。
[0062]步驟204:將最小負(fù)載閾值和最大負(fù)載閾值發(fā)送給監(jiān)控告警服務(wù)器;
[0063]步驟205:接收web應(yīng)用的元數(shù)據(jù),并觸發(fā)云平臺(tái)管理器,根據(jù)web應(yīng)用的元數(shù)據(jù),設(shè)置包含代理裝置的虛擬機(jī)模板;
[0064]每個(gè)web應(yīng)用有其特有的元數(shù)據(jù)如應(yīng)用基本信息、語(yǔ)言環(huán)境、虛擬機(jī)參數(shù)等等,通過(guò)該元數(shù)據(jù),在云平臺(tái)上構(gòu)建出包含代理裝置的虛擬機(jī)模板,該代理裝置主要是,根據(jù)用戶(hù)設(shè)置的監(jiān)控任務(wù),監(jiān)控虛擬機(jī)使用情況。
[0065]步驟206:控制云平臺(tái)管理器,根據(jù)包含代理裝置的虛擬機(jī)模板,為web應(yīng)用建立至少一臺(tái)虛擬機(jī);
[0066]步驟207:發(fā)送監(jiān)控任務(wù)給至少一臺(tái)虛擬機(jī)中的代理裝置;
[0067]例如:監(jiān)控任務(wù)為監(jiān)控虛擬機(jī)的CPU利用率,那么,每一臺(tái)虛擬機(jī)中的代理裝置將實(shí)時(shí)監(jiān)控其所在的虛擬機(jī)的CPU利用率。
[0068]步驟208:控制監(jiān)控告警服務(wù)器接收代理裝置發(fā)送的監(jiān)控?cái)?shù)據(jù);
[0069]步驟209:控制監(jiān)控告警服務(wù)器分析監(jiān)控?cái)?shù)據(jù),將監(jiān)控?cái)?shù)據(jù)與最小負(fù)載閾值和最大負(fù)載閾值進(jìn)行對(duì)比,生成預(yù)警信息,并發(fā)送預(yù)警信息;
[0070]例如:代理裝置將監(jiān)測(cè)到的CPU利用率發(fā)送給監(jiān)控告警服務(wù)器,監(jiān)控告警服務(wù)器將對(duì)接收到的CPU利用率進(jìn)行分析,以查找出超出閾值范圍的CPU利用率,對(duì)于超出閾值范圍的CPU利用率發(fā)出預(yù)警信息給應(yīng)用管理端。
[0071 ]步驟210:接收監(jiān)控告警服務(wù)器發(fā)送的預(yù)警信息,當(dāng)預(yù)警信息為至少一臺(tái)虛擬機(jī)中第一虛擬機(jī)的負(fù)載低于最小負(fù)載閾值時(shí),執(zhí)行步驟211;當(dāng)預(yù)警信息為至少一臺(tái)虛擬機(jī)中任意一臺(tái)虛擬機(jī)的負(fù)載高于最大負(fù)載閾值時(shí),執(zhí)行步驟212;當(dāng)預(yù)警信息為至少一臺(tái)虛擬機(jī)中第三虛擬機(jī)處于異常狀態(tài)時(shí),執(zhí)行步驟213;
[0072]在該步驟中,預(yù)警信息較全面的包含了虛擬機(jī)可能出現(xiàn)的狀況,預(yù)警信息為至少一臺(tái)虛擬機(jī)中第一虛擬機(jī)的負(fù)載低于最小負(fù)載閾值,即虛擬機(jī)負(fù)載率低,需要通過(guò)減少虛擬機(jī)提高云平臺(tái)資源的使用率;預(yù)警信息為至少一臺(tái)虛擬機(jī)中任意一臺(tái)虛擬機(jī)的負(fù)載高于最大負(fù)載閾值,即虛擬機(jī)負(fù)載率過(guò)高,需要通過(guò)增加虛擬機(jī)提高web應(yīng)用的運(yùn)行效率;預(yù)警信息為至少一臺(tái)虛擬機(jī)中第三虛擬機(jī)處于異常狀態(tài),即應(yīng)用出現(xiàn)問(wèn)題,同時(shí)云平臺(tái)的資源被浪費(fèi),則通過(guò)建立新的虛擬機(jī)替換出現(xiàn)問(wèn)題的虛擬機(jī),同時(shí)將出現(xiàn)問(wèn)題虛擬機(jī)的資源釋放,有效地提高了云平臺(tái)上資源使用率。
[0073]步驟211:控制云平臺(tái)管理器關(guān)閉第一虛擬機(jī),并釋放第一虛擬機(jī)占用的資源,并執(zhí)行步驟214;
[0074]例如:web應(yīng)用a運(yùn)行在5臺(tái)虛擬機(jī)上,由于本發(fā)明實(shí)施例還可以設(shè)置均衡負(fù)載,使各臺(tái)虛擬機(jī)的負(fù)載率基本一致,如果在這5臺(tái)虛擬機(jī)中有2臺(tái)虛擬機(jī)的負(fù)載率低于最小負(fù)載閾值10%,則應(yīng)用管理端可以控制云平臺(tái)關(guān)閉這2臺(tái)虛擬機(jī),并將這2臺(tái)虛擬機(jī)中的信息分散帶剩余的3臺(tái)虛擬機(jī)中。
[00