基于應(yīng)用代理服務(wù)器的負(fù)載均衡方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計算領(lǐng)域,尤指一種基于應(yīng)用代理服務(wù)器的負(fù)載均衡方法及裝置。
【背景技術(shù)】
[0002]隨著云計算技術(shù)的迅速崛起與發(fā)展,越來越多的云計算解決方案得到實(shí)際應(yīng)用與推廣。從本質(zhì)上講,云計算帶給大家的是一種如同水、電、煤一樣的資源消費(fèi)模式,一般用戶按照實(shí)際需求定制資源,使用終端設(shè)備通過遠(yuǎn)程連接,便可以獲取計算、存儲、網(wǎng)絡(luò)等資源,所有可用資源來自于云端,即互聯(lián)網(wǎng)或服務(wù)器集群,而云終端則包括:個人計算機(jī)(PC,Personal Computer)、手機(jī)、平板電腦、車載設(shè)備及可穿戴設(shè)置等。
[0003]目前,服務(wù)器集群資源調(diào)度方式多數(shù)都是通過單一的負(fù)載均衡方式,即根據(jù)各個服務(wù)器的負(fù)載情況,把不同的應(yīng)用請求分配給不同的服務(wù)器,來保證服務(wù)器中所有應(yīng)用的服務(wù)質(zhì)量需求,從而提高應(yīng)用的伸縮性。
[0004]單一的負(fù)載均衡方式雖然實(shí)現(xiàn)簡單,但是,由于服務(wù)器集群的狀態(tài)瞬息萬變,當(dāng)出現(xiàn)多應(yīng)用、多并發(fā)用戶的場景時,采用現(xiàn)有的負(fù)載均衡方法則可能導(dǎo)致資源競爭、應(yīng)用互斥等問題,不能很好地為待啟動應(yīng)用分配滿足待啟動應(yīng)用的資源需求及負(fù)載需求的應(yīng)用代理服務(wù)器,更甚者可能導(dǎo)致服務(wù)器癱瘓。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問題,本發(fā)明提供了一種基于應(yīng)用代理服務(wù)器的負(fù)載均衡方法及裝置,能夠?yàn)榇龁討?yīng)用分配滿足待啟動應(yīng)用的資源需求及負(fù)載需求的應(yīng)用代理服務(wù)器。
[0006]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種基于應(yīng)用代理服務(wù)器的負(fù)載均衡方法,包括:接收攜帶有待啟動應(yīng)用的標(biāo)識信息的啟動請求;根據(jù)接收到的標(biāo)識信息,從預(yù)先建立的應(yīng)用歷史數(shù)據(jù)庫中獲取待啟動應(yīng)用的資源需求;根據(jù)獲得的資源需求以及至少一個應(yīng)用代理服務(wù)器的負(fù)載信息,確定用于運(yùn)行所述待啟動應(yīng)用的目標(biāo)應(yīng)用代理服務(wù)器。
[0007]進(jìn)一步地,該方法之前還包括建立所述應(yīng)用歷史數(shù)據(jù)庫,包括:定時采集所述待啟動應(yīng)用的歷史資源使用量,建立包含所述待啟動應(yīng)用的標(biāo)識信息以及所述待啟動應(yīng)用的歷史資源使用量的所述應(yīng)用歷史數(shù)據(jù)庫;所述獲取待啟動應(yīng)用的資源需求包括:根據(jù)所述標(biāo)識信息,從所述應(yīng)用歷史數(shù)據(jù)庫中查找與所述接收到的標(biāo)識信息對應(yīng)的歷史資源使用量;將查找到的歷史資源使用量作為所述待啟動應(yīng)用的資源需求。
[0008]進(jìn)一步地,在所述確定用于運(yùn)行所述待啟動應(yīng)用的目標(biāo)應(yīng)用代理服務(wù)器之前,所述方法還包括:根據(jù)所述待啟動應(yīng)用的資源需求,確定所述待啟動應(yīng)用的互斥應(yīng)用。
[0009]進(jìn)一步地,在所述確定用于運(yùn)行所述待啟動應(yīng)用的目標(biāo)應(yīng)用代理服務(wù)器之前,所述方法還包括獲取所述至少一個應(yīng)用代理服務(wù)器的負(fù)載信息,包括:接收所述至少一個應(yīng)用代理服務(wù)器上報的包括所述至少一個應(yīng)用代理服務(wù)器的資源利用率和/或可用資源量的負(fù)載信息;對接收到的所述至少一個應(yīng)用代理服務(wù)器的資源利用率進(jìn)行歸一化;根據(jù)歸一化后的所述至少一個應(yīng)用代理服務(wù)器的資源利用率和/或接收到的所述至少一個應(yīng)用代理服務(wù)器的可用資源量,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序。
[0010]進(jìn)一步地,所述根據(jù)歸一化后的所述至少一個應(yīng)用代理服務(wù)器的資源利用率和/或接收到的所述至少一個應(yīng)用代理服務(wù)器的可用資源量,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序包括:按照歸一化后的所述至少一個應(yīng)用代理服務(wù)器的資源利用率從低到高的順序,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序,生成第一序列;或者,按照接收到的所述至少一個應(yīng)用代理服務(wù)器的可用資源量從高到低的順序,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序,生成第二序列。
[0011]進(jìn)一步地,所述根據(jù)獲取到的資源需求以及預(yù)先采集的至少一個應(yīng)用代理服務(wù)器的負(fù)載信息,在所述至少一個應(yīng)用代理服務(wù)器中確定用于運(yùn)行所述待啟動應(yīng)用的目標(biāo)應(yīng)用代理服務(wù)器包括:將當(dāng)前應(yīng)用代理服務(wù)器初始化為所述第一序列或者所述第二序列的中的第一臺應(yīng)用代理服務(wù)器,重復(fù)執(zhí)行以下操作,直到遍歷完所述至少一個應(yīng)用代理服務(wù)器:查找所述當(dāng)前應(yīng)用代理服務(wù)器中是否包含所述待啟動應(yīng)用的互斥應(yīng)用以及所述當(dāng)前應(yīng)用代理服務(wù)器的負(fù)載信息是否滿足所述待啟動應(yīng)用的資源需求;如果所述當(dāng)前應(yīng)用代理服務(wù)器中不包含所述待啟動應(yīng)用的互斥應(yīng)用,并且所述當(dāng)前應(yīng)用代理服務(wù)器的負(fù)載信息滿足所述待啟動應(yīng)用的資源需求,將所述當(dāng)前應(yīng)用代理服務(wù)器確定為所述目標(biāo)應(yīng)用代理服務(wù)器。
[0012]進(jìn)一步地,如果遍歷完所述至少一個應(yīng)用代理服務(wù)器,未確定出所述目標(biāo)應(yīng)用代理服務(wù)器,所述方法還包括:從所述至少一個應(yīng)用代理服務(wù)器中,提取出負(fù)載信息滿足所述待啟動應(yīng)用的資源需求的應(yīng)用代理服務(wù)器;在負(fù)載信息滿足所述待啟動應(yīng)用的資源需求的應(yīng)用代理服務(wù)器中,將包含所述待啟動應(yīng)用的互斥應(yīng)用的個數(shù)最少的應(yīng)用代理服務(wù)器確定為所述目標(biāo)應(yīng)用代理服務(wù)器。
[0013]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種負(fù)載均衡裝置,包括:接收單元,用于接收攜帶有待啟動應(yīng)用的標(biāo)識信息的啟動請求;獲取單元,用于根據(jù)接收到的標(biāo)識信息,從預(yù)先建立的應(yīng)用歷史數(shù)據(jù)庫中獲取待啟動應(yīng)用的資源需求;決策單元,用于根據(jù)獲得的資源需求以及至少一個應(yīng)用代理服務(wù)器的負(fù)載信息,確定用于運(yùn)行所述待啟動應(yīng)用的目標(biāo)應(yīng)用代理服務(wù)器。
[0014]進(jìn)一步地,負(fù)載均衡裝置還包括:建立單元,用于定時采集所述待啟動應(yīng)用的歷史資源使用量,建立包含所述待啟動應(yīng)用的標(biāo)識信息以及所述待啟動應(yīng)用的歷史資源使用量的所述應(yīng)用歷史數(shù)據(jù)庫;所述獲取單元用于執(zhí)行以下步驟獲取待啟動應(yīng)用的資源需求:根據(jù)所述標(biāo)識信息,從所述應(yīng)用歷史數(shù)據(jù)庫中查找與所述接收到的標(biāo)識信息對應(yīng)的歷史資源使用量;將查找到的歷史資源使用量作為所述待啟動應(yīng)用的資源需求。
[0015]進(jìn)一步地,負(fù)載均衡裝置還包括:確定單元,用于根據(jù)所述待啟動應(yīng)用的資源需求,確定所述待啟動應(yīng)用的互斥應(yīng)用。
[0016]進(jìn)一步地,負(fù)載均衡裝置還包括:采集單元,用于接收所述至少一個應(yīng)用代理服務(wù)器上報的包括所述至少一個應(yīng)用代理服務(wù)器的資源利用率和/或可用資源量的負(fù)載信息;處理單元,用于對接收到的所述至少一個應(yīng)用代理服務(wù)器的資源利用率進(jìn)行歸一化;排序單元,用于根據(jù)歸一化后的所述至少一個應(yīng)用代理服務(wù)器的資源利用率和/或接收到的所述至少一個應(yīng)用代理服務(wù)器的可用資源量,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序。
[0017]進(jìn)一步地,所述排序單元用于執(zhí)行以下步驟根據(jù)歸一化后的所述至少一個應(yīng)用代理服務(wù)器的資源利用率和/或接收到的所述至少一個應(yīng)用代理服務(wù)器的可用資源量,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序:按照歸一化后的所述至少一個應(yīng)用代理服務(wù)器的資源利用率從低到高的順序,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序,生成第一序列;或者,按照接收到的所述至少一個應(yīng)用代理服務(wù)器的可用資源量從高到低的順序,對所述至少一個應(yīng)用代理服務(wù)器進(jìn)行排序,生成第二序列。
[0018]進(jìn)一步地,所述決策單元用于執(zhí)行以下步驟根據(jù)獲取到的資源需求以及預(yù)先采集的至少一個應(yīng)用代理服務(wù)器的負(fù)載信息,在所述至少一個應(yīng)用代理服務(wù)器中確定用于運(yùn)行所述待啟動應(yīng)用的目標(biāo)應(yīng)用代理服務(wù)器:將當(dāng)前應(yīng)用代理服務(wù)器初始化為所述第一序列或者所述第二序列的中的第一臺應(yīng)用代理服務(wù)器,重復(fù)執(zhí)行以下操作,直到遍歷完所述至少一個應(yīng)用代理服務(wù)器:查找所述當(dāng)前應(yīng)用代理服務(wù)器中是否包含所述待啟動應(yīng)用的互斥應(yīng)用以及所述當(dāng)前應(yīng)用代理服務(wù)器的負(fù)載信息是否滿足所述待啟動應(yīng)用的資源需求;如果所述當(dāng)前應(yīng)用代理服務(wù)器中不包含所述待啟動應(yīng)用的互斥應(yīng)用,并且所述當(dāng)前應(yīng)用代理服務(wù)器的負(fù)載信息滿足所述待啟動應(yīng)用的資源需求,將所述當(dāng)前應(yīng)用代理服務(wù)器確定為所述目標(biāo)應(yīng)用代理服務(wù)器。
[0019]進(jìn)一步地,負(fù)載均衡裝置還包括:提取單元,用于如果遍歷完所述至少一個應(yīng)用代理服務(wù)器,未確定出所述目標(biāo)應(yīng)用代理服務(wù)器,從所述至少一個應(yīng)用代理服務(wù)器中,提取出負(fù)載信息滿足所述待啟動應(yīng)用的資源需求的應(yīng)用代理服務(wù)器;其中,所示決策單元,還用于在負(fù)載信息滿足所述待啟動應(yīng)用的資源需求的應(yīng)用代理服務(wù)器中,將包含所述待啟動應(yīng)用的互斥應(yīng)用的個數(shù)最少的應(yīng)用代理服務(wù)器確定為所述目標(biāo)應(yīng)用代理服務(wù)器。
[0020]本發(fā)明實(shí)施例中,通過獲取待啟動應(yīng)用的資源需求以及各個應(yīng)用代理服務(wù)器的負(fù)載信息,綜合考慮該兩方面因素來為待啟動應(yīng)用選擇滿足待啟動應(yīng)用的資源需求及負(fù)載需求的應(yīng)用代理服務(wù)器,實(shí)現(xiàn)了應(yīng)用代理服務(wù)器資源的動態(tài)調(diào)度以及應(yīng)用的動態(tài)部