一種流媒體服務器集群負載均衡系統(tǒng)及均衡方法【專利摘要】本發(fā)明公開了一種流媒體服務器集群負載均衡系統(tǒng),包括數(shù)個服務器組成的服務器集群、負載均衡系統(tǒng),所述服務器集群中服務器分為主節(jié)點、從節(jié)點,所述每一服務器節(jié)點均匹配有負載均衡器組件;服務器節(jié)點接收客戶端的RTSP請求,當所述服務器節(jié)點為主節(jié)點時,根據(jù)負載均衡調度算法從服務器集群中選擇節(jié)點作為所述客戶端服務節(jié)點;.主節(jié)點將包含所述客戶端的服務節(jié)點的IP地址和RTSP響應返回給所述客戶端,使所述客戶端對服務節(jié)點發(fā)起業(yè)務請求。本發(fā)明有益效果是:采用本發(fā)明能有效避免現(xiàn)有技術對負載均衡器的過度依賴,在負載均衡器發(fā)生故障后便不能工作的情況發(fā)生,同時,適用于用戶的分布式應用,且能實現(xiàn)快速查詢?!緦@f明】一種流媒體服務器集群負載均衡系統(tǒng)及均衡方法【
技術領域:
】[0001]本發(fā)明涉及互聯(lián)網(wǎng)【
技術領域:
】,具體涉及一種流媒體服務器集群負載均衡系統(tǒng)及均衡方法?!?br>背景技術:
】[0002]如圖1至圖3,現(xiàn)有技術中,負載均衡是通過在各服務器的前端提供一個負載均衡器(LoadBalancer,LB)將用戶連接請求分配到各臺服務器上。具體包括兩種方法,一種方法是,客戶端連接到負載均衡器,并請求獲得服務器IP地址后,負載均衡器根據(jù)負載均衡調度算法選擇一個服務器,并將此服務器IP地址返回給客戶端??蛻舳烁鶕?jù)返回的服務器IP地址連接到對應的服務器,發(fā)起業(yè)務請求。但是,這種方法需要連接兩次才能進行業(yè)務處理,處理效率較低,且由于客戶端需首先連接到負載均衡器,使得負載均衡器成為系統(tǒng)的瓶頸,一旦它不能提供服務,整個系統(tǒng)都處于不可使用狀態(tài)。[0003]另一種方法為客戶端連接到負載均衡器,并發(fā)起業(yè)務請求。負載均衡器根據(jù)負載均衡調度算法選擇一個服務器,并將業(yè)務請求轉發(fā)給該服務器。服務器處理完成后,將結果返回給負載均衡器,負載均衡器再將結果返回給客戶端。同樣,這種方法中負載均衡器成為系統(tǒng)的性能瓶頸,并且,所有的請求和回應都需要經(jīng)過它轉發(fā)。一旦負載均衡器不能提供服務,整個系統(tǒng)都處于不可使用狀態(tài)。因此,它的吞吐量決定了系統(tǒng)的處理能力。【
發(fā)明內(nèi)容】[0004]針對上述問題,本發(fā)明公開了一種流媒體服務器集群負載均衡系統(tǒng)及均衡方法,該系統(tǒng)和方法有效解決了上述問題。[0005]為了達到上述技術效果,本發(fā)明采用如下技術方案:一種流媒體服務器集群負載均衡系統(tǒng),包括數(shù)個服務器組成的服務器集群、負載均衡系統(tǒng),所述服務器集群中服務器分為主節(jié)點、從節(jié)點,所述每一服務器節(jié)點均匹配有負載均衡器組件。[0006]還包括交換機,客戶端通過交換機連接到服務器集群中的各個節(jié)點。[0007]—種流媒體服務器集群負載均衡系統(tǒng)的均衡方法,該方法包括如下步驟:a.選用數(shù)個服務器組成服務器集群,所述服務器分為主節(jié)點、從節(jié)點。[0008]b.服務器節(jié)點接收客戶端的RTSP請求,當所述服務器節(jié)點為主節(jié)點時,根據(jù)負載均衡調度算法從服務器集群中選擇節(jié)點作為所述客戶端服務節(jié)點。[0009]c.主節(jié)點將包含所述客戶端的服務節(jié)點的IP地址和RTSP響應返回給所述客戶端,使所述客戶端對服務節(jié)點發(fā)起業(yè)務請求。[0010]還包括所述主節(jié)點定期向其他節(jié)點發(fā)送客戶端與服務器的映射表,以供其他節(jié)點變?yōu)橹鞴?jié)點時使用。[0011]還包括所述服務器集群中的所有節(jié)點定期向其他節(jié)點發(fā)送用于告知本節(jié)點狀態(tài)的消息。[0012]還包括所述主節(jié)點故障的情況下,根據(jù)所述集群中其余節(jié)點的優(yōu)先級,將優(yōu)先級最高節(jié)點設置為新主節(jié)點。[0013]還包括集群中有多個優(yōu)先級最高的節(jié)點時,選擇啟動時間最短的節(jié)點作為主節(jié)點。[0014]本發(fā)明有益效果是:采用本發(fā)明能有效避免現(xiàn)有技術對負載均衡器的過度依賴,在負載均衡器發(fā)生故障后便不能工作的情況發(fā)生,同時,適用于用戶的分布式應用,且能實現(xiàn)快速查詢。[0015]【專利附圖】【附圖說明】[0016]圖1為現(xiàn)有技術中RTSP工作流程圖;圖2為現(xiàn)有技術中一種負載均衡方法的信令流程圖;圖3為現(xiàn)有技術中另一種負載均衡方法的信令流程圖;圖4為本發(fā)明實施例提供的負載均衡方法的流程圖;圖5為本發(fā)明實施例提供的負載均衡方法中集群示意圖;圖6為本發(fā)明實施例提供的一種負載均衡系統(tǒng)的結構示意圖。[0017]【具體實施方式】[0018]下面結合附圖對本發(fā)明做更詳細說明。[0019]具體實施時,參閱圖4,首先,節(jié)點接收客戶端廣播的RTSP請求,所述節(jié)點位于集群中,所述集群由網(wǎng)絡中的多個服務器組成,所述服務器分為主節(jié)點和從節(jié)點;所述主節(jié)點為所述集群中優(yōu)先級最高的節(jié)點;其次,當所述節(jié)點為主節(jié)點時,根據(jù)負載均衡調度算法從所述集群中選擇節(jié)點,作為所述客戶端的服務節(jié)點;最后,所述主節(jié)點將包含有所述客戶端的服務節(jié)點的IP地址的RTSP響應返回給所述客戶端,以使所述客戶端對所述客戶端的服務節(jié)點發(fā)起業(yè)務請求。[0020]參閱圖5,在局域網(wǎng)中,由服務器A、服務器B、服務器C構成一個集群,對外提供服務。該集群中,服務器A即節(jié)點1、服務器B即節(jié)點2、服務器C即節(jié)點3??蛻舳送ㄟ^交換機連接到集群中的各個節(jié)點,以解決服務器之間的連接以及數(shù)據(jù)交換的問題。該集群系統(tǒng)初始啟動時,根據(jù)各節(jié)點的優(yōu)先級選擇一個節(jié)點作為主節(jié)點。假設節(jié)點3的優(yōu)先級>節(jié)點2的優(yōu)先級>節(jié)點I的優(yōu)先級,則系統(tǒng)初始啟動后,節(jié)點3為主節(jié)點。當優(yōu)先級最高的節(jié)點至少有兩個時,選擇啟動時間最短的節(jié)點作為主節(jié)點。[0021]本發(fā)明實施例提供的負載均衡方法還可包括:所述主節(jié)點定期向從節(jié)點發(fā)送客戶端與服務器的映射表,以供其他節(jié)點變?yōu)橹鞴?jié)點時使用。如主節(jié)點定期向其它節(jié)點發(fā)送客戶端-服務器(Client-server’)的映射表(Mappingtable)。非主節(jié)點接收到主節(jié)點發(fā)送的映射表后,保存到內(nèi)存中,供以后本節(jié)點變?yōu)橹鞴?jié)點時使用。如主節(jié)點可根據(jù)映射表獲知不同客戶端的服務節(jié)點信息,當某一節(jié)點故障時,主節(jié)點可根據(jù)映射表獲知該節(jié)點所服務的客戶端,并為其所服務的客戶端選擇新的服務節(jié)點,同時更新映射表。[0022]當為客戶端提供服務的節(jié)點因故障不能提供服務時,需要將連接到該節(jié)點上的客戶端轉移到其它節(jié)點上去。具體地,本發(fā)明實施例提供的負載均衡方法還可包括:所述主節(jié)點檢測所述服務節(jié)點;在所述服務節(jié)點不可用的情況下,再次根據(jù)負載均衡調度算法選擇所述集群中的另一個節(jié)點,作為新服務節(jié)點;將包含有所述新服務節(jié)點的IP地址的RTSP響應(response)返回給所述客戶端,以使所述客戶端對所述新服務節(jié)點發(fā)起業(yè)務請求。換句話說,主節(jié)點檢測到某節(jié)點服務不可用后,根據(jù)負載均衡調度算法,主動向連接到該節(jié)點的客戶端發(fā)送RTSP響應,讓這些客戶端透明的轉換到集群中的其它節(jié)點上。[0023]在所述主節(jié)點故障的情況下,根據(jù)所述集群中其余節(jié)點的優(yōu)先級重新設置主節(jié)點。如將優(yōu)先級最高的節(jié)點設置為新主節(jié)點。在所述優(yōu)先級最高的節(jié)點為多個情況下,將啟動時間最短的節(jié)點設置為新主節(jié)點。[0024]上述實施例提供的技術方案通過服務器集群中的主節(jié)點選擇一個服務器作為客戶端的服務節(jié)點,使得客戶端只需發(fā)出一次連接請求即可實現(xiàn)訪問請求的負載分配,并且,當主節(jié)點故障時,服務器集群中還可選舉出新的主節(jié)點進行負載均衡的分配,解決了現(xiàn)有負載分配依賴負載均衡器進行分配所帶來的瓶頸問題。[0025]參閱圖6,一種流媒體服務器集群負載均衡系統(tǒng),包括數(shù)個服務器組成的服務器集群、負載均衡系統(tǒng),所述服務器集群中服務器分為主節(jié)點、從節(jié)點,所述每一服務器節(jié)點均匹配有負載均衡器組件。[0026]還包括交換機,客戶端通過交換機連接到服務器集群中的各個節(jié)點。[0027]客戶端發(fā)送RTSP請求時,使用的是廣播方式,本集群內(nèi)所有的機器都能接收到該請求。對于該請求,所述主節(jié)點中的負載均衡器組件用于根據(jù)負載均衡調度算法選擇所述集群中的一個節(jié)點,作為所述客戶端的服務節(jié)點;所述主節(jié)點用于將包含有所述客戶端的服務節(jié)點的IP地址的RTSP響應返回給所述客戶端,以使所述客戶端對所述客戶端的服務節(jié)點發(fā)起業(yè)務請求,返回RTSP響應的操作可由LB組件執(zhí)行。集群中的非主節(jié)點,則不做任何回應。[0028]集群內(nèi)節(jié)點間通過通信得到其他各節(jié)點的負載,從而可以通過負載均衡器組件實現(xiàn)負載均衡調度。具體地,所述節(jié)點中的負載均衡器組件還可用于定期向其他節(jié)點發(fā)送用于告知本節(jié)點狀態(tài)的消息。如集群內(nèi)每一個節(jié)點定期向其它節(jié)點發(fā)送“Iamalive”消息,用于告知本節(jié)點狀態(tài)。所述主節(jié)點中的負載均衡器組件還可用于定期向其他節(jié)點發(fā)送客戶端與服務器的映射表,以供其他節(jié)點變?yōu)橹鞴?jié)點時使用;如主節(jié)點定期向其它節(jié)點發(fā)送客戶端一服務器的映射表;非主節(jié)點接收到主節(jié)點發(fā)送的映射表后,保存到內(nèi)存中,供以后本機變?yōu)橹鞴?jié)點時使用。[0029]當服務節(jié)點因故障不能提供服務時,需要將連接到它上的客戶端轉移到其它節(jié)點上去。具體地,如果是主節(jié)點故障,則重新進行主節(jié)點選舉。如果主節(jié)點檢測到某節(jié)點服務不可用后,則根據(jù)負載均衡調度算法,主動向連接到該節(jié)點的客戶端發(fā)送RTSP響應,讓這些客戶端透明的轉換到集群內(nèi)的其它節(jié)點上。[0030]上述檢測均由負載均衡器組件執(zhí)行。具體地,所述主節(jié)點中的負載均衡器組件還可用于檢測所述服務節(jié)點;在所述服務節(jié)點不可用的情況下,再次根據(jù)負載均衡調度算法選擇所述集群中的另一個節(jié)點,作為新服務節(jié)點;所述主節(jié)點還用于將包含有所述新服務節(jié)點的IP地址的RTSP響應返回給所述客戶端。[0031]本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質?!緳嗬蟆?.一種流媒體服務器集群負載均衡系統(tǒng),其特征在于,包括數(shù)個服務器組成的服務器集群、負載均衡系統(tǒng),所述服務器集群中服務器分為主節(jié)點、從節(jié)點,所述每一服務器節(jié)點均匹配有負載均衡器組件。2.根據(jù)權利要求1所述一種流媒體服務器集群負載均衡系統(tǒng),其特征在于,還包括交換機,客戶端通過交換機連接到服務器集群中的各個節(jié)點。3.根據(jù)權利要求1所述一種流媒體服務器集群負載均衡系統(tǒng)的均衡方法,其特征在于,該方法包括如下步驟:a.選用數(shù)個服務器組成服務器集群,所述服務器分為主節(jié)點、從節(jié)點;b.服務器節(jié)點接收客戶端的RTSP請求,當所述服務器節(jié)點為主節(jié)點時,根據(jù)負載均衡調度算法從服務器集群中選擇節(jié)點作為所述客戶端服務節(jié)點;c.主節(jié)點將包含所述客戶端的服務節(jié)點的IP地址和RTSP響應返回給所述客戶端,使所述客戶端對服務節(jié)點發(fā)起業(yè)務請求。4.根據(jù)權利要求3所述一種流媒體服務器集群負載均衡系統(tǒng)的均衡方法,其特征在于,還包括所述主節(jié)點定期向其他節(jié)點發(fā)送客戶端與服務器的映射表,以供其他節(jié)點變?yōu)橹鞴?jié)點時使用。5.根據(jù)權利要求3所述一種流媒體服務器集群負載均衡系統(tǒng)的均衡方法,其特征在于,還包括所述服務器集群中的所有節(jié)點定期向其他節(jié)點發(fā)送用于告知本節(jié)點狀態(tài)的消肩、O6.根據(jù)權利要求3所述一種流媒體服務器集群負載均衡系統(tǒng)的均衡方法,其特征在于,還包括所述主節(jié)點故障的情況下,根據(jù)所述集群中其余節(jié)點的優(yōu)先級,將優(yōu)先級最高節(jié)點設置為新主節(jié)點。7.根據(jù)權利要求3所述一種流媒體服務器集群負載均衡系統(tǒng)的均衡方法,其特征在于,還包括集群中有多個優(yōu)先級最高的節(jié)點時,選擇啟動時間最短的節(jié)點作為主節(jié)點。【文檔編號】H04L29/08GK103458013SQ201310365080【公開日】2013年12月18日申請日期:2013年8月21日優(yōu)先權日:2013年8月21日【發(fā)明者】阮思恩申請人:成都云鷹科技有限公司