一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法及系統(tǒng),綜合考慮服務(wù)器負(fù)載、應(yīng)用的資源需求、當(dāng)前應(yīng)用分布以及應(yīng)用之間的互斥性這些因素,最終選擇出一臺(tái)最佳的代理服務(wù)器;本發(fā)明在負(fù)載評(píng)估方便考慮了多維度資源負(fù)載均衡,可以更加準(zhǔn)確地評(píng)估各服務(wù)器的負(fù)載狀況;在應(yīng)用的資源需求預(yù)估方面,使用了歷史數(shù)據(jù)對(duì)應(yīng)用的資源需求進(jìn)行預(yù)估,具有一定的預(yù)見性和較高的準(zhǔn)確性;在應(yīng)用分布方面,對(duì)當(dāng)前所有應(yīng)用進(jìn)行了準(zhǔn)確的統(tǒng)計(jì),從服務(wù)器集群整體上把握應(yīng)用的最佳運(yùn)行位置;在應(yīng)用的互斥性方面,根據(jù)所有應(yīng)用的資源使用情況,分析出可能產(chǎn)生資源競(jìng)爭(zhēng)的互斥應(yīng)用,從而避免互斥應(yīng)用運(yùn)行于同一臺(tái)服務(wù)器,最大程度地滿足應(yīng)用的資源需求。
【專利說明】一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計(jì)算技術(shù)的迅速崛起與發(fā)展,越來越多的云計(jì)算解決方案得到實(shí)際應(yīng)用與推廣。從本質(zhì)上講,云計(jì)算帶給大家的是一種如同水、電、煤一樣的資源消費(fèi)模式,一般用戶按照實(shí)際需求定制資源,使用終端設(shè)備通過遠(yuǎn)程連接,便可以獲取計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源,所有可用資源來自于云端,即互聯(lián)網(wǎng)或服務(wù)器集群,而云終端則包括:PC、手機(jī)、平板電腦、車載設(shè)備及可穿戴設(shè)置等。
[0003]虛擬化技術(shù)作為云計(jì)算的關(guān)鍵技術(shù),一般包括:資源虛擬化和應(yīng)用虛擬化,通過虛擬化平臺(tái)可以更加方便地管理應(yīng)用的動(dòng)態(tài)部署、擴(kuò)展、遷移、備份等功能。用戶運(yùn)行不同的應(yīng)用需要不同的資源和計(jì)算能力,云計(jì)算平臺(tái)可以按照用戶需求部署資源和計(jì)算能力,各種IT資源,例如:軟件、硬件、操作系統(tǒng)、存儲(chǔ)、網(wǎng)絡(luò)等通過虛擬化,可將其全部虛擬成資源池并進(jìn)行統(tǒng)一管理,從而提高資源利用率,保證用戶資源需求得到最大程度的滿足。
[0004]針對(duì)用戶需求,服務(wù)器集群一般可分為:資源類型和應(yīng)用類型兩種,前者提供計(jì)算資源,后者直接提供應(yīng)用代理服務(wù)。隨著移動(dòng)設(shè)備的廣泛應(yīng)用及迅速普及,面向應(yīng)用服務(wù)的服務(wù)器集群將有更多的應(yīng)用領(lǐng)域。然而,隨著用戶規(guī)模地不斷增加,服務(wù)器的負(fù)載會(huì)越來越重,若不進(jìn)行有效地調(diào)控,必將造成系統(tǒng)性能及服務(wù)質(zhì)量下降,系統(tǒng)資源不能有效利用,用戶體驗(yàn)驟減等現(xiàn)象。
[0005]目前服務(wù)器集群資源調(diào)度方式多數(shù)都是通過單一的負(fù)載均衡方式,根據(jù)各個(gè)服務(wù)器的負(fù)載情況,把不同的應(yīng)用請(qǐng)求分配給不同的服務(wù)器節(jié)點(diǎn),來保證服務(wù)器中所有應(yīng)用的服務(wù)質(zhì)量需求,從而提高應(yīng)用的伸縮性。
[0006]為用戶選擇一臺(tái)合適的應(yīng)用代理服務(wù)器需要考慮多方面因素,才能更好地滿足故障切換、負(fù)載均衡、應(yīng)用互斥、資源充分利用等場(chǎng)景需求。僅靠上述單一方式,其實(shí)現(xiàn)簡(jiǎn)單,應(yīng)用場(chǎng)景有限,難以滿足多應(yīng)用,多并發(fā)用戶的場(chǎng)景,也未考慮多個(gè)應(yīng)用之間的資源競(jìng)爭(zhēng)等問題,更無法滿足應(yīng)用代理服務(wù)器集群對(duì)應(yīng)用的動(dòng)態(tài)部署及資源調(diào)度需求。
【發(fā)明內(nèi)容】
[0007]本發(fā)明為了解決上述問題,提出了一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法及系統(tǒng),該方法考慮各服務(wù)器實(shí)時(shí)負(fù)載、不同應(yīng)用的資源需求兩方面因素實(shí)現(xiàn)應(yīng)用代理服務(wù)器集群的資源動(dòng)態(tài)調(diào)度,用戶應(yīng)用的動(dòng)態(tài)部署,從而最大程度地滿足用戶需求,提升用戶體驗(yàn),并提高服務(wù)器集群的資源利用率。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0009]一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,包括以下步驟:
[0010](I)根據(jù)多維度資源利用率和可用資源量,制定服務(wù)器集群負(fù)載評(píng)估方案:各服務(wù)器周期性采集自身的性能數(shù)據(jù),使用性能數(shù)據(jù)進(jìn)行所有服務(wù)器的排序;[0011](2)根據(jù)不同應(yīng)用的資源需求,制定應(yīng)用動(dòng)態(tài)部署方案:定期采集應(yīng)用自身正在使用著的性能數(shù)據(jù),統(tǒng)計(jì)并分析其分布情況;
[0012](3)根據(jù)負(fù)載評(píng)估及應(yīng)用動(dòng)態(tài)部署,選擇合適的應(yīng)用代理服務(wù)器:查詢應(yīng)用的資源需求,分析多維度資源的需求,對(duì)各個(gè)服務(wù)器進(jìn)行遍歷,選擇最終服務(wù)器。
[0013]所述多維度資源包括且不限于:CPU、內(nèi)存和網(wǎng)絡(luò)帶寬。
[0014]所述負(fù)載評(píng)估包括性能數(shù)據(jù)收集和性能數(shù)據(jù)分析。
[0015]所述步驟(1)的具體方法,包括以下步驟:
[0016](a)服務(wù)器集群中的各服務(wù)器按同樣的設(shè)定周期,周期性地收集各自的CPU、內(nèi)存、網(wǎng)絡(luò)帶寬資源利用率及可用資源量;
[0017](b)各服務(wù)器定時(shí)上報(bào)性能數(shù)據(jù)至自動(dòng)選擇系統(tǒng);自動(dòng)選擇系統(tǒng)收到各服務(wù)器的性能數(shù)據(jù)后,對(duì)各資源利用率進(jìn)行歸一化;
[0018](C)自動(dòng)選擇系統(tǒng)根據(jù)資源利用率高低、可用資源量的多少對(duì)所有服務(wù)器進(jìn)行排序。
[0019]所述步驟(a)中,資源利用率定義為=Ui = Ici, Ii^nJ,即各維度資源的使用量與各維度資源的總量的比例,其中Ui代表服務(wù)器i的資源利用率向量,Ci代表服務(wù)器i的CPU資源利用率,Hli代表服務(wù)器i的內(nèi)存資源利用率,Hi代表服務(wù)器i的網(wǎng)絡(luò)帶寬利用率。
[0020]所述步驟(a)中,可用資源量定義為-Ai = ICi, MiAJ,其中Ai代表服務(wù)器i的可用資源向量,Ci代表服務(wù)器i的CPU可用資源量,Mi代表服務(wù)器i的內(nèi)存可用資源量,Ni代表服務(wù)器i的網(wǎng)絡(luò)可用資源量。
[0021]所述步驟(b)中,資源利用率歸一化的具體方法為:定義服務(wù)器i的總資源利用率為Si,各維度資源歸一化比例為Ri = {rc rm, rn},其中Ri代表主機(jī)i歸一化比例向量,rc代表cpu所占主機(jī)資源利用率的比例,rm代表內(nèi)存所占主機(jī)資源利用率的比例,rn代表網(wǎng)
絡(luò)帶寬所占主機(jī)資源利用率的比例,歸一化方法:S1 = U, xAf。
[0022]所述步驟(C)中服務(wù)器排序方法包括兩種:第一種,按各服務(wù)器的資源利用率Si進(jìn)行由低到高排序,第二種,按照可用資源多少排序。
[0023]所述步驟(2)的具體方法,包括以下步驟:
[0024](i)按照設(shè)定周期采集所有應(yīng)用的性能數(shù)據(jù),生成歷史數(shù)據(jù);
[0025](ii)查詢指定應(yīng)用的歷史數(shù)據(jù),獲取歷史資源使用量作為此應(yīng)用的資源需求;
[0026](iii)統(tǒng)計(jì)并分析應(yīng)用的分布信息;
[0027](iv)分析指定應(yīng)用的互斥應(yīng)用。
[0028]所述步驟⑴的具體方法為:定義應(yīng)用性能數(shù)據(jù)為:APPid = {acid, amid, anid},其中APPid代表序號(hào)為id的應(yīng)用的各維度資源的使用量,acid代表應(yīng)用的cpu資源使用量,amid代表應(yīng)用的內(nèi)存資源使用量,anid代表應(yīng)用的網(wǎng)絡(luò)帶寬資源使用量;各服務(wù)器將應(yīng)用資源使用量上報(bào)后,由中心服務(wù)器定時(shí)取各自平均值作為此應(yīng)用最終的歷史數(shù)據(jù),具體方法為:
【權(quán)利要求】
1.一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:包括以下步驟: (1)根據(jù)多維度資源利用率和可用資源量,制定服務(wù)器集群負(fù)載評(píng)估方案:各服務(wù)器周期性采集自身的性能數(shù)據(jù),使用性能數(shù)據(jù)進(jìn)行所有服務(wù)器的排序; (2)根據(jù)不同應(yīng)用的資源需求,制定應(yīng)用動(dòng)態(tài)部署方案:定期采集應(yīng)用自身正在使用著的性能數(shù)據(jù),統(tǒng)計(jì)并分析其分布情況; (3)根據(jù)負(fù)載評(píng)估及應(yīng)用動(dòng)態(tài)部署,選擇合適的應(yīng)用代理服務(wù)器:查詢應(yīng)用的資源需求,分析多維度資源的需求,對(duì)各個(gè)服務(wù)器進(jìn)行遍歷,選擇最終服務(wù)器。
2.如權(quán)利要求1所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(1)的具體方法,包括以下步驟: (a)服務(wù)器集群中的各服務(wù)器按同樣的設(shè)定周期,周期性地收集各自的CPU、內(nèi)存、網(wǎng)絡(luò)帶寬資源利用率及可用資源量; (b)各服務(wù)器定時(shí)上報(bào)性能數(shù)據(jù)至自動(dòng)選擇系統(tǒng);自動(dòng)選擇系統(tǒng)收到各服務(wù)器的性能數(shù)據(jù)后,對(duì)各資源利用率進(jìn)行歸一化; (c)自動(dòng)選擇系統(tǒng)根據(jù)資源利用率高低、可用資源量的多少對(duì)所有服務(wù)器進(jìn)行排序。
3.如權(quán)利要求2所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(a)中,資源利用率定義為=Ui =即各維度資源的使用量與各維度資源的總量的比例,其中Ui代表服務(wù)器i的資源利用率向量,Ci代表服務(wù)器i的CPU資源利用率,Hii代表服務(wù)器i的內(nèi)存資源利用率,η,代表服務(wù)器i的網(wǎng)絡(luò)帶寬利用率; 所述步驟(a)中,可用資源量定義為-Ai = ICi, Mi, NJ,其中Ai代表服務(wù)器i的可用資源向量,Ci代表服務(wù)器i的CPU可用資源量,Mi代表服務(wù)器i的內(nèi)存可用資源量,Ni代表服務(wù)器i的網(wǎng)絡(luò)可用資源量。
4.如權(quán)利要求2所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(b)中,資源利用率歸一化的具體方法為:定義服務(wù)器i的總資源利用率為Si,各維度資源歸一化比例為Ri = Irc rm, rn},其中Ri代表主機(jī)i歸一化比例向量,rc代表cpu所占主機(jī)資源利用率的比例,rm代表內(nèi)存所占主機(jī)資源利用率的比例,rn代表網(wǎng)絡(luò)帶寬所占主機(jī)資源利用率的比例,歸一化方法:Si = U, X i? 。
5.如權(quán)利要求1所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(2)的具體方法,包括以下步驟: (i)按照設(shè)定周期采集所有應(yīng)用的性能數(shù)據(jù),生成歷史數(shù)據(jù); (?)查詢指定應(yīng)用的歷史數(shù)據(jù),獲取歷史資源使用量作為此應(yīng)用的資源需求; (iii)統(tǒng)計(jì)并分析應(yīng)用的分布信息; (iv)分析指定應(yīng)用的互斥應(yīng)用。
6.如權(quán)利要求5所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(i)的具 體方法為:定義應(yīng)用性能數(shù)據(jù)為:APPid = {acid, amid, anid},其中APPid代表序號(hào)為id的應(yīng)用的各維度資源的使用量,acid代表應(yīng)用的cpu資源使用量,amidR表應(yīng)用的內(nèi)存資源使用量,anid代表應(yīng)用的網(wǎng)絡(luò)帶寬資源使用量;各服務(wù)器將應(yīng)用資源使用量上報(bào)后,由中心服N務(wù)器定時(shí)取各自平均值作為此應(yīng)用最終的歷史數(shù)據(jù),具體方法為:
7.如權(quán)利要求5所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(iii)的具體方法為:將應(yīng)用分布信息定義為=Pi ={ < IDl, nl >,< ID2, n2 >,...},Pi代表服務(wù)器i的所有應(yīng)用信息,其中< ID1,nl >代表應(yīng)用序號(hào)為IDl的應(yīng)用,在服務(wù)器i上有nl個(gè)運(yùn)行實(shí)例,< ID2, n2 >代表應(yīng)用序號(hào)為ID2的應(yīng)用,在服務(wù)器i上有n2個(gè)運(yùn)行實(shí)例,各服務(wù)器將此信息上報(bào)自動(dòng)選擇系統(tǒng)后,由自動(dòng)選擇系統(tǒng)統(tǒng)一匯總。
8.如權(quán)利要求5所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(iv)中互斥應(yīng)用是指:不同應(yīng)用的各維度資源使用狀況相似度達(dá)到80%以上,且存在單一資源使用量過多的相似應(yīng)用的集合,定義為Mj = {idl,id2,...},M代表mutex互斥含義,j代表互斥應(yīng)用集合的ID,集合中idl、id2則代表互斥的應(yīng)用ID。
9.如權(quán)利要求1所述的一種應(yīng)用代理服務(wù)器自動(dòng)選擇方法,其特征是:所述步驟(3)的具體方法,包括以下步驟: Stepl:查詢此應(yīng)用的資源需求APPid,分析各個(gè)維度的資源哪一個(gè)更迫切需要得到滿足,若三種資源需求相對(duì)均衡則,轉(zhuǎn)至St印2,若某種資源需求迫切,則轉(zhuǎn)至步驟St印3 ;Step2:將各服務(wù)器按照資源使用率Si從低到高排序生成序列X ; Step3:將各服務(wù)器按照某單一維度的可用資源量從高到低排序生成序列X ; Step4:獲取此應(yīng)用的互斥應(yīng)用Mj ; Step5:從序列X第一臺(tái)開始遍歷每一臺(tái)服務(wù)器,若包含此應(yīng)用的互斥應(yīng)用Mj或不能滿足APPid任一維度資源需求的服務(wù)器則過濾掉,直到找到一臺(tái)目的服務(wù)器,既滿足資源需求,也未和其他應(yīng)用互斥;若遍歷完畢未能找到目的服務(wù)器,則跳入Step6 ; Step6:遍歷序列X每一臺(tái)服務(wù)器,過濾掉不能滿足資源需求的服務(wù)器,將其上互斥應(yīng)用個(gè)數(shù)最少的服務(wù)器作為最終的目的服務(wù)器。
10.一種實(shí)現(xiàn)如權(quán)利要求1-9中任一項(xiàng)所述的選擇方法的自動(dòng)選擇系統(tǒng),連接各個(gè)應(yīng)用代理服務(wù)器和控制中心,其特征是:包括采集模塊、分析模塊和決策模塊,其中: 采集模塊,用于定時(shí)采集多維度資源的利用率及可用資源量、應(yīng)用代理服務(wù)器性能數(shù)據(jù)和分布信息,連接分析模塊; 分析模塊,用于統(tǒng)計(jì)并分析處理應(yīng)用代理服務(wù)器的分布信息、性能數(shù)據(jù)和資源信息,連接決策模塊; 決策模塊,用于根據(jù)負(fù)載評(píng)估及應(yīng)用動(dòng)態(tài)部署,選擇出合適的應(yīng)用代理服務(wù)器。
【文檔編號(hào)】H04L29/08GK104038540SQ201410241877
【公開日】2014年9月10日 申請(qǐng)日期:2014年6月3日 優(yōu)先權(quán)日:2014年6月3日
【發(fā)明者】張輝, 鞏玉旺, 李銘, 吳瑞, 石磊, 王進(jìn) 申請(qǐng)人:山東乾云啟創(chuàng)信息科技有限公司