本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別是涉及一種可提高服務(wù)器服務(wù)質(zhì)量的負(fù)載均衡裝置及其實現(xiàn)負(fù)載均衡的方法。
背景技術(shù):
伴隨著互聯(lián)網(wǎng)(Internet)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)服務(wù)器面對的訪問數(shù)量大大增加并且更加不可預(yù)知。在網(wǎng)絡(luò)中,如果僅使用一個服務(wù)器對客戶端提供服務(wù),那么,服務(wù)器的處理能力和輸入輸出能力必然會成為提供服務(wù)的瓶頸。
另外,隨著互聯(lián)網(wǎng)技術(shù)的日益發(fā)展,互聯(lián)網(wǎng)所提供的服務(wù)內(nèi)容也越來越多,對于一些服務(wù)項或者服務(wù)內(nèi)容來說,通常需要設(shè)置多個服務(wù)器來同時提供服務(wù),以進(jìn)行負(fù)載均衡(Load Balance),避免單一的服務(wù)器無法同時為多個用戶及時提供服務(wù)的情況,提高服務(wù)質(zhì)量,這里的負(fù)載均衡,是指將負(fù)載(工作任務(wù))進(jìn)行平衡平攤到多個操作單元上執(zhí)行,從而共同完成工作任務(wù)。
圖1為現(xiàn)有技術(shù)中采用負(fù)載均衡技術(shù)時的設(shè)備連接情況示意圖。請參見圖1,負(fù)載均衡技術(shù)就是在網(wǎng)絡(luò)側(cè)設(shè)置可以為客戶端提供服務(wù)的多個服務(wù)器,并在服務(wù)器側(cè)設(shè)置一個負(fù)載均衡設(shè)備,客戶端需要進(jìn)行訪問時,只需訪問該負(fù)載均衡設(shè)備,負(fù)載均衡設(shè)備收到客戶端的訪問請求后,根據(jù)一定的規(guī)則從多個服務(wù)器中選擇一個,由所選擇的服務(wù)器回應(yīng)客戶端,為客戶端提供服務(wù)。
可見,負(fù)載均衡技術(shù)可以利用多臺服務(wù)器同時為大量用戶提供并發(fā)訪問服務(wù),因此,能夠大大提供訪問速度和網(wǎng)絡(luò)的吞吐容量。但由于現(xiàn)有技術(shù)中負(fù)載均衡系統(tǒng)大多以輪詢或者加權(quán)輪詢算法為主,這些算法對于普通情況的確有一定的作用,但是,在越發(fā)復(fù)雜的網(wǎng)絡(luò)的網(wǎng)絡(luò)情況中,單靠這算法是不夠的,例如當(dāng)某臺服務(wù)器的系統(tǒng)故障時,普通的輪詢算法是不能識別到故障的,它依然會把流量分配過去,可是服務(wù)器并不會響應(yīng),這就造成了帶寬的浪費,并且當(dāng)服務(wù)器沒有響應(yīng)的時候,負(fù)載均衡設(shè)備還可能會認(rèn)為這臺服務(wù)器沒有輪詢到,因此會繼續(xù)下發(fā)流量給它繼而又得不到響應(yīng),就會造成網(wǎng)絡(luò)中斷。
當(dāng)然,隨著負(fù)載均衡技術(shù)的改進(jìn),現(xiàn)有的技術(shù)方案中也出現(xiàn)了綜合各種算法的負(fù)載均衡功能,例如:有些負(fù)載均衡器里面集成了健康查詢器,可以用于驗證服務(wù)器是否故障或者是否可用,但是這種繼承方法也是比較片面的,如果服務(wù)器剛開始使用,那么這種集成方法是可行的,但是當(dāng)服務(wù)器上執(zhí)行了多個應(yīng)用,為用戶提供多個服務(wù)時,這種集成方法顯然不符合實際。
技術(shù)實現(xiàn)要素:
為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明之目的在于提供一種負(fù)載均衡裝置及其實現(xiàn)負(fù)載均衡的方法,其可以令服務(wù)器享受更好的負(fù)載均衡功能。
為達(dá)上述及其它目的,本發(fā)明提出一種負(fù)載均衡裝置,包括:
后端設(shè)備,用于定時采集各服務(wù)器的使用信息,并將采集數(shù)據(jù)定時發(fā)送至前端設(shè)備;
前端設(shè)備于收到采集數(shù)據(jù)后,為采集數(shù)據(jù)分配權(quán)值,根據(jù)分配權(quán)值后的采集數(shù)據(jù)計算出綜合權(quán)值最大的服務(wù)器,并將接收到的用戶請求導(dǎo)向至相應(yīng)的服務(wù)器。
進(jìn)一步地,所述后端設(shè)備于各服務(wù)器安裝一采集器,以定時采集表示各服務(wù)器使用情況的使用信息。
進(jìn)一步地,所述前端設(shè)備包括:
接收單元,用于接收所述后端設(shè)備的各采集器的采集數(shù)據(jù);
權(quán)值分配單元,用于為所采集的數(shù)據(jù)中的每一種數(shù)據(jù)分配一權(quán)值;
計算單元,用于根據(jù)每一服務(wù)器的采集數(shù)據(jù)計算出各服務(wù)器的綜合權(quán)值,并獲取綜合權(quán)值最大的服務(wù)器;
請求導(dǎo)向單元,用于將接收到的用戶請求導(dǎo)向至綜合權(quán)值最大的服務(wù)器。
進(jìn)一步地,所述后端設(shè)備包括:多個采集器以及多個切換請求單元,每個采集器及切換請求單元設(shè)置于各服務(wù)器,所述采集器用于定時采集各服務(wù)器的使用信息,并定時連接所述前端設(shè)備,將所采集的數(shù)據(jù)傳遞至所述前端設(shè)備;所述切換請求單元,用于根據(jù)所述采集器的采集數(shù)據(jù),判斷是否向所述前端設(shè)備發(fā)出路徑切換請求,并于判斷結(jié)果為是時,向前端設(shè)備發(fā)送路徑切換請求。
進(jìn)一步地,所述切換請求單元根據(jù)所述采集器的采集數(shù)據(jù),判斷當(dāng)前服務(wù)器的使用率是否達(dá)到使用上限,若當(dāng)前服務(wù)器已達(dá)到使用上限,則向所述前端設(shè)備發(fā)出路徑切換請求。
進(jìn)一步地,所述前端設(shè)備包括:
接收單元,用于接收所述后端設(shè)備的各采集器的采集數(shù)據(jù);
權(quán)值分配單元,用于為所采集的數(shù)據(jù)中的每一種數(shù)據(jù)分配一權(quán)值;
計算單元,用于根據(jù)每一服務(wù)器的采集數(shù)據(jù)計算出各服務(wù)器的綜合權(quán)值,并獲取綜合權(quán)值最大的服務(wù)器;
請求導(dǎo)向單元,用于將接收到的用戶請求導(dǎo)向至綜合權(quán)值最大的服務(wù)器;
路徑切換單元,于接收到路徑切換請求時,進(jìn)行流量下發(fā)路徑切換。
進(jìn)一步地,所述路徑切換單元將流量下發(fā)路徑切換為綜合權(quán)值僅次于當(dāng)前路徑服務(wù)器的服務(wù)器對應(yīng)的路徑。
為達(dá)到上述目的,本發(fā)明還提供一種負(fù)載均衡方法,包括如下步驟:
步驟一,,利用采集器定時采集各服務(wù)器的使用信息,并將采集數(shù)據(jù)定時發(fā)送至前端設(shè)備;
步驟二,前端設(shè)備于收到采集數(shù)據(jù)后,為采集數(shù)據(jù)中分配權(quán)值,根據(jù)分配權(quán)值后的采集數(shù)據(jù)計算出綜合權(quán)值最大的服務(wù)器,并將接收到的用戶請求導(dǎo)向至相應(yīng)的服務(wù)器。
進(jìn)一步地,步驟二進(jìn)一步包括:
接收各采集器的采集數(shù)據(jù);
為所采集的數(shù)據(jù)中的每一種數(shù)據(jù)分配一權(quán)值;
根據(jù)每一服務(wù)器的采集數(shù)據(jù)計算出各服務(wù)器的綜合權(quán)值,并獲取綜合權(quán)值最大的服務(wù)器;
將接收到的用戶請求導(dǎo)向至綜合權(quán)值最大的服務(wù)器。
進(jìn)一步地,所述方法還包括:
根據(jù)采集器的采集數(shù)據(jù),判斷是否向前端設(shè)備發(fā)出路徑切換請求,并于判斷結(jié)果為是時,向前端設(shè)備發(fā)出路徑切換請求;
前端設(shè)備于接收到路徑切換請求時,進(jìn)行流量下發(fā)路徑切換,將流量下發(fā)路徑切換為綜合權(quán)值僅次于當(dāng)前路徑服務(wù)器的服務(wù)器對應(yīng)的路徑。
與現(xiàn)有技術(shù)相比,本發(fā)明一種負(fù)載均衡裝置及其負(fù)載均衡方法通過利用后端設(shè)備的采集器采集各服務(wù)器的使用情況,并將采集的數(shù)據(jù)發(fā)送至前端設(shè)備,利用前端設(shè)備為采集數(shù)據(jù)分配權(quán)值,并根據(jù)采集數(shù)據(jù)計算出各服務(wù)器的綜合權(quán)值,將用戶請求導(dǎo)向綜合權(quán)值最大的服務(wù)器,通過本發(fā)明,可以使服務(wù)器享受更好的負(fù)載均衡功能。
附圖說明
圖1為現(xiàn)有技術(shù)中采用負(fù)載均衡技術(shù)時的設(shè)備連接情況示意圖;
圖2為本發(fā)明一種負(fù)載均衡裝置的系統(tǒng)架構(gòu)示意圖;
圖3為本發(fā)明較佳實施例中前端設(shè)備21的細(xì)部結(jié)構(gòu)圖;
圖4為本發(fā)明另一較佳實施例中后端設(shè)備20的細(xì)部結(jié)構(gòu)示意圖;
圖5為本發(fā)明另一較佳實施例中前端設(shè)備21的細(xì)部結(jié)構(gòu)圖;
圖6為本發(fā)明一種負(fù)載均衡裝置之具體實施例的負(fù)載均衡過程示意圖;
圖7為本發(fā)明一種負(fù)載均衡方法的步驟流程圖;
圖8為本發(fā)明較佳實施例中步驟702的細(xì)部流程圖。
具體實施方式
以下通過特定的具體實例并結(jié)合附圖說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭示的內(nèi)容輕易地了解本發(fā)明的其它優(yōu)點與功效。本發(fā)明亦可通過其它不同的具體實例加以施行或應(yīng)用,本說明書中的各項細(xì)節(jié)亦可基于不同觀點與應(yīng)用,在不背離本發(fā)明的精神下進(jìn)行各種修飾與變更。
圖2為本發(fā)明一種負(fù)載均衡裝置之一較佳實施例的系統(tǒng)架構(gòu)示意圖。如圖2所示,本發(fā)明一種負(fù)載均衡設(shè)備,包括:后端設(shè)備20以及前端設(shè)備21。
其中,后端設(shè)備20用于定時采集各服務(wù)器的使用信息,并將采集數(shù)據(jù)定時發(fā)送至前端設(shè)備21,在本發(fā)明較佳實施例中,后端設(shè)備20于各服務(wù)器安裝一采集器,以定時采集表示各服務(wù)器使用情況的使用信息,例如:CPU使用率、內(nèi)存使用率、端口的帶寬使用情況、與訪問應(yīng)用的交互信息等一系列信息,各采集器會定時主動連接前端設(shè)備21,以將所采集的數(shù)據(jù)傳遞給前端設(shè)備21;前端設(shè)備21于收到采集數(shù)據(jù)后,為采集數(shù)據(jù)中分配權(quán)值,計算出綜合權(quán)值最大的服務(wù)器,并將接收到的用戶請求導(dǎo)向至相應(yīng)的服務(wù)器,具體地說,前端設(shè)備21于收到采集數(shù)據(jù)后,會為采集數(shù)據(jù)中的每一種數(shù)據(jù)分配一權(quán)值,例如采集數(shù)據(jù)包含CPU使用率、內(nèi)存使用率、端口的帶寬使用情況等,前端設(shè)備21則為CPU使用率分配一權(quán)值A(chǔ),內(nèi)存使用率分配一權(quán)值B,端口的帶寬使用情況分配一權(quán)值C,…,然后對每一服務(wù)器的采集數(shù)據(jù)計算出綜合權(quán)值,獲得綜合權(quán)值最大的服務(wù)器,并將接收到的用戶請求導(dǎo)向至綜合權(quán)值最大的服務(wù)器。
圖3為本發(fā)明較佳實施例中前端設(shè)備21的細(xì)部結(jié)構(gòu)圖。在本發(fā)明較佳實施例中,前端設(shè)備21進(jìn)一步包括:接收單元210、權(quán)值分配單元211、計算單元212以及請求導(dǎo)向單元213,其中接收單元210,用于接收后端設(shè)備20的各采集器的采集數(shù)據(jù);權(quán)值分配單元211,用于為所采集的數(shù)據(jù)中的每一種數(shù)據(jù)分配一權(quán)值,所采集的數(shù)據(jù)包括cpu、內(nèi)存、寬口狀態(tài)等使用率,權(quán)值分配單元211為每種數(shù)據(jù)分配一個權(quán)值,例如CPU使用率分配權(quán)值A(chǔ),內(nèi)存使用率分配權(quán)值B,寬口狀態(tài)使用率分配權(quán)值C,具體的權(quán)值視環(huán)境而定,例如:服務(wù)器1的內(nèi)存使用達(dá)到50%、服務(wù)器2的內(nèi)存使用率為30%,就可以通過給的一個權(quán)值分流表,對流量進(jìn)行分流,讓較多的流量流向使用率低的服務(wù)器。計算單元212,用于根據(jù)每一服務(wù)器的采集數(shù)據(jù)計算出各服務(wù)器的綜合權(quán)值,并獲取綜合權(quán)值最大的服務(wù)器;請求導(dǎo)向單元213,用于將接收到的用戶請求導(dǎo)向至綜合權(quán)值最大的服務(wù)器。
圖4為本發(fā)明另一較佳實施例中后端設(shè)備20的細(xì)部結(jié)構(gòu)示意圖。如圖4所示,后端設(shè)備20包括多個采集器201以及多個切換請求單元202,其中,每個采集器201及切換請求單元202設(shè)置于各服務(wù)器,采集器201用于定時采集各服務(wù)器的使用信息,并定時連接前端設(shè)備21,將所采集的數(shù)據(jù)傳遞至前端設(shè)備21;切換請求單元202,用于根據(jù)采集器201的采集數(shù)據(jù),判斷是否向前端設(shè)備21發(fā)出路徑切換請求,并于判斷結(jié)果為是時,向前端設(shè)備發(fā)送路徑切換請求,具體地,切換請求單元202會根據(jù)采集器201的采集數(shù)據(jù),判斷當(dāng)前服務(wù)器的使用率是否達(dá)到使用上限,例如判斷采集數(shù)據(jù)(如cpu、內(nèi)存、寬口狀態(tài)等使用率)是否達(dá)到預(yù)設(shè)的閾值,若均達(dá)到預(yù)設(shè)的閾值,則認(rèn)為當(dāng)前服務(wù)器已達(dá)到使用上限,則向前端設(shè)備21發(fā)出路徑切換請求,以請求前端設(shè)備21另選流量下發(fā)路徑。
圖5為本發(fā)明另一較佳實施例中前端設(shè)備21的細(xì)部結(jié)構(gòu)圖。在本實施例中,除包含接收單元210、權(quán)值分配單元211、計算單元212以及請求導(dǎo)向單元213外,前端設(shè)備21還包括路徑切換單元214,于接收到路徑切換請求時,進(jìn)行流量下發(fā)路徑切換,將流量下發(fā)路徑切換為綜合權(quán)值僅次于當(dāng)前路徑服務(wù)器的服務(wù)器對應(yīng)的路徑。例如,當(dāng)前流量下發(fā)路徑為綜合權(quán)值最大的路徑,則切換為權(quán)值排第二的通道,依此類推。
圖6為本發(fā)明一種負(fù)載均衡裝置之具體實施例的負(fù)載均衡過程示意圖。在本發(fā)明具體實施例中,負(fù)載均衡過程如下:1、設(shè)置于服務(wù)器上的采集器定時采集并向前端設(shè)備返回采集的數(shù)據(jù);2、前端設(shè)備為采集數(shù)據(jù)分配權(quán)值,并計算出每個服務(wù)器的綜合權(quán)值,根據(jù)綜合權(quán)值分發(fā)數(shù)據(jù);3、選擇綜合權(quán)值最大的服務(wù)器下發(fā)流量;4、采集器定時采集數(shù)據(jù),根據(jù)采集數(shù)據(jù)判斷服務(wù)器的綜合使用率,當(dāng)服務(wù)器的綜合使用率達(dá)到一定程度(例如cpu、內(nèi)存、寬口狀態(tài)等使用率都超過一預(yù)設(shè)的閾值)時返回請求至前端設(shè)備以切換路徑。
圖7為本發(fā)明一種負(fù)載均衡方法的步驟流程圖。如圖7所示,本發(fā)明一種負(fù)載均衡方法,包括如下步驟:
步驟701,利用采集器定時采集各服務(wù)器的使用信息,并將采集數(shù)據(jù)定時發(fā)送至前端設(shè)備。在本發(fā)明中,各服務(wù)器安裝一采集器,以定時采集關(guān)聯(lián)各服務(wù)器使用情況的使用信息,例如:CPU使用率、內(nèi)存使用率、端口的帶寬使用情況、與訪問應(yīng)用的交互信息等一系列信息,各采集器會定時主動連接前端設(shè)備,以將所采集的數(shù)據(jù)傳遞給前端設(shè)備。
步驟702,前端設(shè)備于收到采集數(shù)據(jù)后,為采集數(shù)據(jù)中分配權(quán)值,計算出綜合權(quán)值最大的服務(wù)器,并將接收到的用戶請求導(dǎo)向至相應(yīng)的服務(wù)器。具體地說,前端設(shè)備于收到采集數(shù)據(jù)后,會為采集數(shù)據(jù)中的每一種數(shù)據(jù)分配一權(quán)值,例如采集數(shù)據(jù)包含CPU使用率、內(nèi)存使用率、端口的帶寬使用情況等,前端設(shè)備則為CPU使用率分配一權(quán)值A(chǔ),內(nèi)存使用率分配一權(quán)值B,端口的帶寬使用情況分配一權(quán)值C,…,然后根據(jù)每一服務(wù)器的采集數(shù)據(jù)為各服務(wù)器計算出綜合權(quán)值,獲得綜合權(quán)值最大的服務(wù)器,并將接收到的用戶請求導(dǎo)向至綜合權(quán)值最大的服務(wù)器。
圖8為本發(fā)明較佳實施例中步驟702的細(xì)部流程圖。具體地,步驟702進(jìn)一步包括:
步驟S1,接收各采集器的采集數(shù)據(jù);
步驟S2,為所采集的數(shù)據(jù)中的每一種數(shù)據(jù)分配一權(quán)值,所采集的數(shù)據(jù)包括cpu、內(nèi)存、寬口狀態(tài)等使用率,步驟S2為每種數(shù)據(jù)分配一個權(quán)值,例如CPU使用率分配權(quán)值A(chǔ),內(nèi)存使用率分配權(quán)值B,寬口狀態(tài)使用率分配權(quán)值C,具體的權(quán)值視環(huán)境而定;
步驟S3,根據(jù)每一服務(wù)器的采集數(shù)據(jù)計算出各服務(wù)器的綜合權(quán)值,并獲取綜合權(quán)值最大的服務(wù)器;
步驟S4,將接收到的用戶請求導(dǎo)向至綜合權(quán)值最大的服務(wù)器。
較佳地,本發(fā)明一種負(fù)載均衡方法,還包括如下步驟:
根據(jù)采集器的采集數(shù)據(jù),判斷是否向前端設(shè)備發(fā)出路徑切換請求,并于判斷結(jié)果為是時,向前端設(shè)備發(fā)出路徑切換請求。具體地,根據(jù)采集器的采集數(shù)據(jù),判斷當(dāng)前服務(wù)器的使用率是否達(dá)到使用上限,例如判斷采集數(shù)據(jù)(如cpu、內(nèi)存、寬口狀態(tài)等使用率)是否達(dá)到預(yù)設(shè)的閾值,若均達(dá)到預(yù)設(shè)的閾值,則認(rèn)為當(dāng)前服務(wù)器已達(dá)到使用上限,則向前端設(shè)備發(fā)出路徑切換請求,以請求前端設(shè)備另選流量下發(fā)路徑;
前端設(shè)備于接收到路徑切換請求時,進(jìn)行流量下發(fā)路徑切換,將流量下發(fā)路徑切換為綜合權(quán)值僅次于當(dāng)前路徑服務(wù)器的服務(wù)器對應(yīng)的路徑。例如,當(dāng)前流量下發(fā)路徑為綜合權(quán)值最大的路徑,則切換為權(quán)值排第二的通道,依此類推。
綜上所述,本發(fā)明一種負(fù)載均衡裝置及其負(fù)載均衡方法通過利用后端設(shè)備的采集器采集各服務(wù)器的使用情況,并將采集的數(shù)據(jù)發(fā)送至前端設(shè)備,利用前端設(shè)備為采集數(shù)據(jù)分配權(quán)值,并根據(jù)采集數(shù)據(jù)計算出各服務(wù)器的綜合權(quán)值,將用戶請求導(dǎo)向綜合權(quán)值最大的服務(wù)器,通過本發(fā)明,可以使服務(wù)器享受更好的負(fù)載均衡功能。
上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下,對上述實施例進(jìn)行修飾與改變。因此,本發(fā)明的權(quán)利保護(hù)范圍,應(yīng)如權(quán)利要求書所列。