面向多用戶群的大數(shù)據(jù)分發(fā)策略的制作方法
【專利摘要】本發(fā)明涉及一種面向多用戶群的大數(shù)據(jù)分發(fā)策略,包括運行在物理服務(wù)器上的多個虛擬服務(wù)器以及虛擬機管理模塊,多個虛擬服務(wù)器組成一個虛擬服務(wù)器集群,虛擬服務(wù)器集群內(nèi)設(shè)置有主虛擬服務(wù)器,主虛擬服務(wù)器通過Paxos算法由虛擬服務(wù)器中選擇得到,虛擬服務(wù)器集群上還設(shè)置有監(jiān)控模塊,用于監(jiān)控集群內(nèi)的虛擬服務(wù)器的負載狀況,并隨時由集群內(nèi)添加或者移除虛擬服務(wù)器。本發(fā)明的優(yōu)點在于,步驟簡潔,其中計算步驟少,充分彌補了在響應(yīng)大數(shù)據(jù)分發(fā)時控制粒度過于粗放,無法精確調(diào)整負載均衡的問題,具有較好的應(yīng)用價值。
【專利說明】面向多用戶群的大數(shù)據(jù)分發(fā)策略
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種面向多用戶群的大數(shù)據(jù)分發(fā)策略。
【背景技術(shù)】
[0002]隨著Internet的快速發(fā)展和業(yè)務(wù)量的不斷提高,基于網(wǎng)絡(luò)的數(shù)據(jù)訪問流量迅速增長,特別是對數(shù)據(jù)中心、大型企業(yè)以及門戶網(wǎng)站等的訪問。同時,服務(wù)器網(wǎng)站借助HTTP、FTP等應(yīng)用程序,為訪問者提供了越來越豐富的內(nèi)容和信息,服務(wù)器逐漸被數(shù)據(jù)淹沒。
[0003]在海量大數(shù)據(jù)傳輸?shù)挠嬎銠C網(wǎng)絡(luò)中,相對于網(wǎng)絡(luò)技術(shù)的發(fā)展,服務(wù)器處理速度和內(nèi)存訪問速度的增長卻遠遠低于網(wǎng)絡(luò)帶寬和應(yīng)用服務(wù)的增長,網(wǎng)絡(luò)帶寬增長的同時帶來的用戶數(shù)量的增長,也使得服務(wù)器資源消耗嚴(yán)重,因而服務(wù)器成為了網(wǎng)絡(luò)瓶頸。傳統(tǒng)的單機模式,也往往成為網(wǎng)絡(luò)故障點。
[0004]所有這些都對應(yīng)用服務(wù)提出了高性能和高可靠性的需求。這其中最重要的兩種技術(shù)是負載均衡技術(shù)和虛擬化技術(shù)。
[0005]負載均衡提供了一種廉價、有效、透明的方法擴展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和可用性。
[0006]虛擬化技術(shù)可以擴大硬件的容量,簡化軟件的重新配置過程。隨著近年多核系統(tǒng)、集群、網(wǎng)格甚至云計算的廣泛部署,虛擬化技術(shù)在商業(yè)應(yīng)用上的優(yōu)勢日益體現(xiàn),不僅降低了IT成本,而且還增強了系統(tǒng)安全性和可靠性。
[0007]在面向多種用戶群的系統(tǒng)中,往往不同用戶群對服務(wù)器的資源需求是不一樣的,而且這個需求是動態(tài)變化的,現(xiàn)有技術(shù)中往往存在某些用戶群系統(tǒng)過載或者有些系統(tǒng)計算資源空閑的情況,無法快速地根據(jù)用戶需求進行反應(yīng)和調(diào)整,降低了負載均衡技術(shù)的實際效果,因此有必要研制一種可以彌補現(xiàn)有的負載均衡技術(shù)的新型數(shù)據(jù)分發(fā)方法。
【發(fā)明內(nèi)容】
[0008]本發(fā)明針對現(xiàn)有技術(shù)無法根據(jù)不同用戶對資源需求的動態(tài)變化進行實時調(diào)整,導(dǎo)致系統(tǒng)使用效率低下的缺點,提供了一種新型的面向多用戶群的大數(shù)據(jù)分發(fā)策略。
[0009]為實現(xiàn)上述目的,本發(fā)明可采取下述技術(shù)方案:
[0010]面向多用戶群的大數(shù)據(jù)分發(fā)策略,包括運行在物理服務(wù)器上的多個虛擬服務(wù)器以及虛擬機管理模塊,多個虛擬服務(wù)器組成一個虛擬服務(wù)器集群,虛擬服務(wù)器集群內(nèi)設(shè)置有主虛擬服務(wù)器,主虛擬服務(wù)器通過Paxos算法由虛擬服務(wù)器中選擇得到;具體步驟如下:
[0011]I)在物理服務(wù)器上運行多個虛擬服務(wù)器組成虛擬服務(wù)器集群;
[0012]2)虛擬服務(wù)器產(chǎn)生自身的負載統(tǒng)計數(shù)據(jù),在虛擬服務(wù)器集群的范圍內(nèi)同步所有虛擬服務(wù)器的負載統(tǒng)計數(shù)據(jù);
[0013]3)虛擬服務(wù)器集群對本集群內(nèi)的虛擬服務(wù)器的負載統(tǒng)計數(shù)據(jù)進行監(jiān)控;
[0014]4)上述步驟3)中,如果虛擬服務(wù)器集群內(nèi)空閑的虛擬服務(wù)器的數(shù)量超過閾值,則隨機選擇一個空想的虛擬服務(wù)器,從虛擬服務(wù)器集群內(nèi)刪除該虛擬服務(wù)器,通知虛擬機管理模塊回收被刪除的虛擬服務(wù)器至系統(tǒng)空閑虛擬服務(wù)器池內(nèi),所述空閑的虛擬服務(wù)器的利用率utl=0,利用率
【權(quán)利要求】
1.一種面向多用戶群的大數(shù)據(jù)分發(fā)策略,其特征在于,包括運行在物理服務(wù)器(6)上的多個虛擬服務(wù)器(I)以及虛擬機管理模塊(2),多個虛擬服務(wù)器(I)組成一個虛擬服務(wù)器集群(3 ),虛擬服務(wù)器集群(3 )內(nèi)設(shè)置有主虛擬服務(wù)器(I),主虛擬服務(wù)器(I)通過Paxos算法由虛擬服務(wù)器(I)中選擇得到;具體步驟如下: 1)在物理服務(wù)器(6)上運行多個虛擬服務(wù)器(I)組成虛擬服務(wù)器集群(3 ); 2)虛擬服務(wù)器(I)產(chǎn)生自身的負載統(tǒng)計數(shù)據(jù),在虛擬服務(wù)器集群(3)的范圍內(nèi)同步所有虛擬服務(wù)器(I)的負載統(tǒng)計數(shù)據(jù); 3)虛擬服務(wù)器集群(3)對本集群內(nèi)的虛擬服務(wù)器(I)的負載統(tǒng)計數(shù)據(jù)進行監(jiān)控; 4 )上述步驟3 )中,如果虛擬服務(wù)器集群(3 )內(nèi)空閑的虛擬服務(wù)器(I)的數(shù)量超過閾值,則隨機選擇一個空想的虛擬服務(wù)器(1),從虛擬服務(wù)器集群(3)內(nèi)刪除該虛擬服務(wù)器(1),通知虛擬機管理模塊(2)回收被刪除的虛擬服務(wù)器(I)至系統(tǒng)空閑虛擬服務(wù)器池(4)內(nèi),所述空閑的虛擬服務(wù)器(I)的利用率utl=0,利用率Utl =,其中,Load為虛擬服務(wù)器(O的系統(tǒng)負載,Capacity為虛擬服務(wù)器(I)的處理能力; 5)上述步驟4)中,如果虛擬服務(wù)器集群(3)內(nèi)虛擬服務(wù)器(I)的利用率utl-Group大于閾值,且系統(tǒng)空閑虛擬服務(wù)器池(4)不為空,則將一個系統(tǒng)空閑虛擬服務(wù)器池(4)內(nèi)的虛擬服務(wù)器(I)移出至虛擬服務(wù)器集群(3)內(nèi),利用率Utl- Group = ΣΡ=ι^^,其中, ,LoadjUtli = Capac.;yi為單個虛擬服務(wù)器(I)的利用率,Loadi為虛擬服務(wù)器(I)的系統(tǒng)負載, Capacity,為虛擬服務(wù)器(I)的處理能力,G為虛擬服務(wù)器集群(3)內(nèi)的虛擬服務(wù)器(I)的數(shù)目; 6 )虛擬服務(wù)器集群(3 )接收到用戶的數(shù)據(jù)分發(fā)請求時,根據(jù)上述步驟4)所得虛擬服務(wù)器(I)的利用率utl選擇負載最低的虛擬服務(wù)器(1),并將數(shù)據(jù)分發(fā)請求發(fā)送至該負載最低的虛擬服務(wù)器(I)處理。
2.根據(jù)權(quán)利要求1所述的面向多用戶群的大數(shù)據(jù)分發(fā)策略,其特征在于,包括多個虛擬服務(wù)器集群(3),每個虛擬服務(wù)器集群(3)內(nèi)的虛擬服務(wù)器(I)均位于同一物理服務(wù)器(6)上。
3.根據(jù)權(quán)利要求1所述的面向多用戶群的大數(shù)據(jù)分發(fā)策略,其特征在于,還包括監(jiān)控模塊(5),上述步驟3)中,由監(jiān)控模塊(5)對虛擬服務(wù)器(I)的負載統(tǒng)計數(shù)據(jù)進行監(jiān)控,并提交給虛擬機管理模塊(2 )。
4.根據(jù)權(quán)利要求3所述的面向多用戶群的大數(shù)據(jù)分發(fā)策略,其特征在于,所述監(jiān)控模塊(5)設(shè)置于虛擬服務(wù)器(I)內(nèi);還包括以下具體步驟:上述步驟3)中,監(jiān)控模塊(5)將監(jiān)控得到的負載統(tǒng)計數(shù)據(jù)在虛擬服務(wù)器集群(3)內(nèi)的各個虛擬服務(wù)器(I)之間進行同步傳輸,各個監(jiān)控模塊(5)之間彼此進行在線檢測,所述在線檢測為,在Is的檢測周期內(nèi),監(jiān)控模塊(5)向非空閑的虛擬服務(wù)器(I)發(fā)送一個連接請求,如果連續(xù)三個檢測周期均未得到響應(yīng)則該虛擬服務(wù)器(I)失去網(wǎng)絡(luò)連接;否則與該非空閑的虛擬服務(wù)器(I)進行負載統(tǒng)計數(shù)據(jù)的同步傳輸。
5.根據(jù)權(quán)利要求4所述的面向多用戶群的大數(shù)據(jù)分發(fā)策略,其特征在于,還包括以下具體步驟:當(dāng)監(jiān)控模塊(5)與主虛擬服務(wù)器(I)失去網(wǎng)絡(luò)連接后,通過Paxos算法重新選擇主虛擬服務(wù)器(I),新的主虛擬服務(wù)器(I)通知虛擬機管理模塊(2 )回收舊的主虛擬服務(wù)器(I)。
6.根據(jù)權(quán)利要求3所述的面向多用戶群的大數(shù)據(jù)分發(fā)策略,其特征在于,所述虛擬機管理模塊(2)采用哈希鏈表結(jié)構(gòu)組織空閑的虛擬服務(wù)器(1),哈希鏈表的Key為運行虛擬服務(wù)器(I)的物理服務(wù)器(6)的ID ;還包括以下具體步驟:上述步驟4)中,當(dāng)虛擬服務(wù)器(I)回收至系統(tǒng)空閑虛擬服務(wù)器池(4)時,虛擬機管理模塊(2)根據(jù)該虛擬服務(wù)器(I)所在的物理服務(wù)器(6)的ID將該虛擬服務(wù)器(I)放入哈希鏈表中;上述步驟5)中,當(dāng)空閑的虛擬服務(wù)器(I)移出系統(tǒng)空閑虛擬服務(wù)器池(4)時,虛擬機管理模塊(2)優(yōu)先尋找系統(tǒng)空閑虛擬服務(wù)器池(4 )的,與目標(biāo)虛擬服務(wù)器集群(3 )內(nèi)的虛擬服務(wù)器(I)運行于同一物理服務(wù)器(6 )的虛擬服務(wù)器(I)進行分配。
7.根據(jù)權(quán)利要求4、5、6任一所述的面向多用戶群的大數(shù)據(jù)分發(fā)策略,其特征在于,還包括對等式消息分發(fā)平臺,用于同步集群內(nèi)所有虛擬服務(wù)器(I)的負載統(tǒng)計數(shù)據(jù),所述對等式消息分發(fā)平臺通過消 息廣播的形式向集群內(nèi)的虛擬服務(wù)器(I)發(fā)送負載統(tǒng)計數(shù)據(jù)。
【文檔編號】H04L12/18GK103428008SQ201310383301
【公開日】2013年12月4日 申請日期:2013年8月28日 優(yōu)先權(quán)日:2013年8月28日
【發(fā)明者】陶金火, 林久對, 陳華鈞, 鄭國軸, 楊建華, 吳朝暉 申請人:浙江大學(xué)