一種云應(yīng)用伸縮方法、應(yīng)用管理端和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種云應(yīng)用伸縮方法、應(yīng)用管理端和系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計(jì)算時(shí)代的到來,各個(gè)行業(yè)紛紛借助云平臺(tái)的硬件資源搭建運(yùn)行應(yīng)用的虛擬機(jī),云平臺(tái)通過資源伸縮方式來為用戶靈活地配置資源,如增減CPU或內(nèi)存等,實(shí)現(xiàn)了資源的統(tǒng)一調(diào)配和管理。對(duì)于政府、銀行等單位來說,為了保證數(shù)據(jù)的安全性,常常使用私有云平臺(tái),而私有云平臺(tái)中資源伸縮方式主要是:云平臺(tái)通過監(jiān)控組件監(jiān)控應(yīng)用負(fù)載,用戶根據(jù)監(jiān)測(cè)到的應(yīng)用負(fù)載情況,手動(dòng)更改應(yīng)用對(duì)應(yīng)的虛擬機(jī)個(gè)數(shù),例如:通過監(jiān)控發(fā)現(xiàn)某段時(shí)間負(fù)載較高,可以設(shè)置在這段時(shí)間增加虛擬機(jī)個(gè)數(shù),而當(dāng)這段時(shí)間地負(fù)載發(fā)生變化而用戶未及時(shí)更改虛擬機(jī)個(gè)數(shù)時(shí),將造成云平臺(tái)的資源利用率較低。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種云應(yīng)用伸縮方法、應(yīng)用管理端和系統(tǒng),能夠有效地提高云平臺(tái)的資源利用率。
[0004]—種云應(yīng)用伸縮方法,應(yīng)用于應(yīng)用管理端,設(shè)置最小負(fù)載閾值和最大負(fù)載閾值,并設(shè)置監(jiān)控任務(wù);還包括:
[0005]接收應(yīng)用的元數(shù)據(jù),并觸發(fā)云平臺(tái)管理器,根據(jù)所述應(yīng)用的元數(shù)據(jù),設(shè)置包含代理裝置的虛擬機(jī)模板;
[0006]控制所述云平臺(tái)管理器,根據(jù)所述包含代理裝置的虛擬機(jī)模板,為所述應(yīng)用建立至少一臺(tái)虛擬機(jī);
[0007]發(fā)送所述監(jiān)控任務(wù)給所述至少一臺(tái)虛擬機(jī)中的代理裝置;
[0008]接收與所述監(jiān)控任務(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ī)。
[0009]優(yōu)選地,該方法進(jìn)一步包括:設(shè)置監(jiān)控告警服務(wù)器,并將所述應(yīng)用管理端與所述監(jiān)控告警服務(wù)器相連;
[0010]將所述最小負(fù)載閾值和最大負(fù)載閾值發(fā)送給所述監(jiān)控告警服務(wù)器;
[0011]在所述發(fā)送監(jiān)控任務(wù)給所述至少一臺(tái)虛擬機(jī)中的代理裝置之后,在所述接收與所述監(jiān)控任務(wù)對(duì)應(yīng)的預(yù)警信息之前,進(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ù)警信息;
[0012]所述接收與所述監(jiān)控任務(wù)對(duì)應(yīng)的預(yù)警信息,包括:接收所述監(jiān)控告警服務(wù)器發(fā)送的所述預(yù)警信息。
[0013]優(yōu)選地,該方法進(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ī)占用的資源。
[0014]優(yōu)選地,所述應(yīng)用為web應(yīng)用,該方法進(jìn)一步包括:
[0015]為所述web應(yīng)用建立反向代理服務(wù)器;并在所述反向代理服務(wù)器設(shè)置所述web應(yīng)用的訪問地址與所述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)的修改。
[0016]一種應(yīng)用管理端,包括:
[0017]設(shè)置單元,用于設(shè)置最小負(fù)載閾值和最大負(fù)載閾值,并設(shè)置監(jiān)控任務(wù);
[0018]第一控制單元,用于接收應(yīng)用的元數(shù)據(jù),并觸發(fā)外設(shè)的云平臺(tái)管理器,根據(jù)所述應(yīng)用的元數(shù)據(jù),設(shè)置包含代理裝置的虛擬機(jī)模板;
[0019]第二控制單元,用于控制所述外設(shè)的云平臺(tái)管理器,根據(jù)所述第一控制單元控制設(shè)置的包含代理裝置的虛擬機(jī)模板,為所述應(yīng)用建立外設(shè)的至少一臺(tái)虛擬機(jī);當(dāng)接收到接收單元的觸發(fā)時(shí),當(dāng)所述預(yù)警信息為所述至少一臺(tái)虛擬機(jī)中第一虛擬機(jī)的負(fù)載低于所述設(shè)置單元設(shè)置的最小負(fù)載閾值時(shí),控制所述云平臺(tái)管理器關(guān)閉所述第一虛擬機(jī),并釋放所述第一虛擬機(jī)占用的資源;當(dāng)所述預(yù)警信息為所述至少一臺(tái)虛擬機(jī)中任意一臺(tái)虛擬機(jī)的負(fù)載高于所述設(shè)置單元設(shè)置的最大負(fù)載閾值時(shí),控制所述外設(shè)的云平臺(tái)管理器,根據(jù)所述包含代理裝置的虛擬機(jī)模板,為所述應(yīng)用建立第二虛擬機(jī);
[0020]第一發(fā)送單元,用于發(fā)送所述設(shè)置單元設(shè)置的監(jiān)控任務(wù)給外設(shè)的至少一臺(tái)虛擬機(jī)中的代理裝置;
[0021]接收單元,用于接收與所述監(jiān)控任務(wù)對(duì)應(yīng)的預(yù)警信息,并觸發(fā)所述第二控制單元。
[0022]優(yōu)選地,應(yīng)用管理端與外設(shè)的監(jiān)控告警服務(wù)器相連;進(jìn)一步包括:第二發(fā)送單元和第三控制單元,其中,
[0023]所述第二發(fā)送單元,用于將所述設(shè)置單元設(shè)置的最小負(fù)載閾值和最大負(fù)載閾值發(fā)送給所述外設(shè)的監(jiān)控告警服務(wù)器;
[0024]第三控制單元,用于控制所述外設(shè)的監(jiān)控告警服務(wù)器執(zhí)行,從所述外設(shè)的代理裝置中獲取并分析監(jiān)控?cái)?shù)據(jù),并將所述監(jiān)控?cái)?shù)據(jù)與所述最小負(fù)載閾值和最大負(fù)載閾值進(jìn)行對(duì)比,生成并發(fā)送預(yù)警信息;
[0025]所述接收單元,用于接收所述第三控制單元控制所述外設(shè)的監(jiān)控告警服務(wù)器發(fā)送的所述預(yù)警信息。
[0026]優(yōu)選地,應(yīng)用管理器進(jìn)一步包括:漂移單元,用于當(dāng)所述接收單元接收到的預(yù)警信息為所述外設(shè)的至少一臺(tái)虛擬機(jī)中第三虛擬機(jī)處于異常狀態(tài)時(shí),為所述應(yīng)用申請(qǐng)新的資源,并觸發(fā)所述外設(shè)的云平臺(tái)管理器建立第四虛擬機(jī),在所述第四虛擬機(jī)中重新部署所述應(yīng)用,導(dǎo)出所述第三虛擬機(jī)中的日志信息,并釋放所述第三虛擬機(jī)占用的資源。
[0027]優(yōu)選地,所述應(yīng)用為web應(yīng)用,應(yīng)用管理端,進(jìn)一步包括:
[0028]構(gòu)建關(guān)聯(lián)單元,用于構(gòu)建所述web應(yīng)用的訪問地址與所述web應(yīng)用所在虛擬機(jī)的地址之間的關(guān)聯(lián),并將所述關(guān)聯(lián)發(fā)送給外設(shè)的反向代理服務(wù)器,當(dāng)所述web應(yīng)用所在虛擬機(jī)發(fā)生變化時(shí),對(duì)所述關(guān)聯(lián)進(jìn)行相應(yīng)的修改。
[0029]一種云應(yīng)用伸縮系統(tǒng),包括:上述任意一種應(yīng)用管理端和云平臺(tái);其中,
[0030]所述云平臺(tái)中,云平臺(tái)服務(wù)器,用于根據(jù)所述應(yīng)用管理端中的應(yīng)用的元數(shù)據(jù),設(shè)置包含代理裝置的虛擬機(jī)模板,并根據(jù)所述包含代理裝置的虛擬機(jī)模板,為所述應(yīng)用建立至少一臺(tái)虛擬機(jī);
[0031]所述云平臺(tái)中,每一個(gè)虛擬機(jī)中的代理裝置,用于接收所述應(yīng)用管理端發(fā)送的監(jiān)控任務(wù),并發(fā)送監(jiān)控?cái)?shù)據(jù)。
[0032]優(yōu)選地,上述系統(tǒng)進(jìn)一步包括:監(jiān)控告警服務(wù)器,用于接收所述應(yīng)用管理端發(fā)送的最小負(fù)載閾值和最大負(fù)載閾值,并接收所述每一個(gè)虛擬機(jī)中的代理裝置發(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ù)警信息給所述應(yīng)用管理端。
[0033]優(yōu)選地,所述云平臺(tái)服務(wù)器,進(jìn)一步用于當(dāng)所述應(yīng)用管理端接收到的預(yù)警信息為所述至少一臺(tái)虛擬機(jī)中第三虛擬機(jī)處于異常狀態(tài)時(shí),接收所述應(yīng)用管理端為所述應(yīng)用申請(qǐng)新資源的觸發(fā),建立第四虛擬機(jī),在所述第四虛擬機(jī)中重新部署所述應(yīng)用,導(dǎo)出所述第三虛擬機(jī)中的日志信息,并釋放所述第三虛擬機(jī)占用的資源。
[0034]優(yōu)選地,所述應(yīng)用為web應(yīng)用,上述系統(tǒng)進(jìn)一步包括:
[0035]反向代理服務(wù)器,用于存儲(chǔ)所述web應(yīng)用的訪問地址與所述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)的修改。
[0036]本發(fā)明實(shí)施例提供了一種云應(yīng)用伸縮方法、應(yīng)用管理端和系統(tǒng),該方法包括:設(shè)置最小負(fù)載閾值和最大負(fù)載閾值,并設(shè)置監(jiān)控任務(wù);通過該步驟使得用戶可以根據(jù)應(yīng)用本身的需求設(shè)置負(fù)載閾值和監(jiān)控任務(wù),而無需管理員統(tǒng)一設(shè)置,通過接收應(yīng)用的元數(shù)據(jù),并觸發(fā)云平臺(tái)管理器,根據(jù)所述應(yīng)用的元數(shù)據(jù),設(shè)置包含代理裝置的虛擬機(jī)模板,是為應(yīng)用建立可以被實(shí)時(shí)監(jiān)控的虛擬機(jī)的基礎(chǔ),虛擬機(jī)模板中的代理裝置用于監(jiān)控虛擬機(jī),即實(shí)現(xiàn)了將監(jiān)控放置于虛擬機(jī)內(nèi)部,控制所述云平臺(tái)管理器,根據(jù)所述包含代理裝置的虛擬機(jī)模板,為所述應(yīng)用建立至少一臺(tái)虛擬機(jī);發(fā)送所述監(jiān)控任務(wù)給所述至少一臺(tái)虛擬機(jī)中的代理裝置,至此代理裝置能夠?qū)崟r(shí)對(duì)虛擬機(jī)進(jìn)行監(jiān)控;通過接收與所述監(jiān)