專利名稱::數(shù)據(jù)轉(zhuǎn)發(fā)方法、負(fù)載均衡調(diào)度器和負(fù)載均衡系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及數(shù)據(jù)轉(zhuǎn)發(fā)方法和負(fù)載均衡調(diào)度器。
背景技術(shù):
:當(dāng)今計(jì)算機(jī)技術(shù)已進(jìn)入以網(wǎng)絡(luò)為中心的計(jì)算時(shí)期。由于客戶/服務(wù)器模型的簡(jiǎn)單性、易管理性和易維護(hù)性,客戶/服務(wù)器計(jì)算模式在網(wǎng)上被大量采用。Web也正在從一種內(nèi)容發(fā)送機(jī)制成為一種服務(wù)平臺(tái),大量的服務(wù)和應(yīng)用(如新聞服務(wù)、網(wǎng)上銀行、電子商務(wù)等)都是圍繞著Web進(jìn)行。從網(wǎng)絡(luò)技術(shù)的發(fā)展來(lái)看,網(wǎng)絡(luò)帶寬的增長(zhǎng)遠(yuǎn)高于處理器速度和內(nèi)存訪問(wèn)速度的增長(zhǎng),很多研究顯示GigabitEthernet在服務(wù)器上很難使得其吞吐率達(dá)到1Gb/s的原因是協(xié)議棧(TCP/IP)和操作系統(tǒng)的低效,以及處理器的低效。為了解決這個(gè)困境負(fù)載均衡技術(shù)應(yīng)運(yùn)而生,由于采用了負(fù)載均衡技術(shù),自動(dòng)故障恢復(fù)得以實(shí)現(xiàn),服務(wù)的時(shí)間可以延長(zhǎng),24X7的可靠和持續(xù)運(yùn)行成為可能。另外,負(fù)載均衡調(diào)度器一般也支持路徑外返回模式,即繞過(guò)流量分配器,為那些焦急等待大量數(shù)據(jù)文件請(qǐng)求響應(yīng)的客戶提供更快的響應(yīng)時(shí)間四層負(fù)載均衡軟件,開(kāi)源項(xiàng)目lvs為我們提供了良好的負(fù)載均衡功能,可以滿足四層負(fù)載均衡需求,目前,LVS項(xiàng)目已提供了一個(gè)實(shí)現(xiàn)可伸縮網(wǎng)絡(luò)服務(wù)的Li皿xVirtualServer框架??梢岳肔VS框架實(shí)現(xiàn)高可伸縮的、高可用的Web、Cache、Mail和Media等網(wǎng)絡(luò)服務(wù);在此基礎(chǔ)上,可以開(kāi)發(fā)支持龐大用戶數(shù)的、高可伸縮的、高可用的電子商務(wù)應(yīng)用。第四層負(fù)載均衡采用基于IP層的負(fù)載均衡調(diào)度技術(shù),通過(guò)修改操作系統(tǒng)內(nèi)核的tcp/ip協(xié)議棧,在ip層截取和改寫(xiě)/轉(zhuǎn)發(fā)ip報(bào)文。這樣當(dāng)客戶請(qǐng)求到達(dá)時(shí),負(fù)載均衡調(diào)度器根據(jù)所設(shè)置的調(diào)度方式,結(jié)合服務(wù)器池中各服務(wù)器的負(fù)載情況從中選出一臺(tái)服務(wù)器,將該請(qǐng)求轉(zhuǎn)發(fā)給這臺(tái)的服務(wù)器。由于這些操作都是在操作系統(tǒng)核心空間中完成,所以負(fù)載均衡調(diào)度器的效率極高且調(diào)度開(kāi)銷很小,能調(diào)度很多服務(wù)器,使得整個(gè)系統(tǒng)具備優(yōu)秀的伸縮性。負(fù)載均衡調(diào)度器可以自動(dòng)屏蔽掉服務(wù)器池中服務(wù)器的故障。在實(shí)現(xiàn)上述四層負(fù)載均衡的過(guò)程中,存在如下問(wèn)題對(duì)于傳統(tǒng)的四層負(fù)載均衡調(diào)度器來(lái)說(shuō),一個(gè)負(fù)載均衡服務(wù)只能使用一個(gè)TCP或UDP端口,對(duì)于需要占用多端口的應(yīng)用來(lái)說(shuō),負(fù)載均衡調(diào)度器只能把這些端口建立在不同的負(fù)載均衡服務(wù)當(dāng)中,即為一多端口應(yīng)用提供負(fù)載均衡時(shí),需要建立多個(gè)負(fù)載均衡服務(wù),占用大量資源,負(fù)載均衡轉(zhuǎn)發(fā)效率低。
發(fā)明內(nèi)容本發(fā)明提供了一種數(shù)據(jù)轉(zhuǎn)發(fā)方法和負(fù)載均衡調(diào)度器,解決了四層負(fù)載均衡中數(shù)據(jù)轉(zhuǎn)發(fā)效率低的問(wèn)題?!N數(shù)據(jù)轉(zhuǎn)發(fā)方法,包括負(fù)載均衡調(diào)度器接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記;所述負(fù)載均衡調(diào)度器從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。進(jìn)一步的,所述負(fù)載均衡調(diào)度器接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記的步驟之前,還包括將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定。進(jìn)一步的,所述將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定包括對(duì)所述至少一個(gè)端口進(jìn)行iptables標(biāo)記機(jī)制下的添加記號(hào)操作,為所述至少一個(gè)端口添加相同的記號(hào)作為端口的四層標(biāo)記;將所述四層標(biāo)記定位到所述服務(wù)器上。進(jìn)一步的,上述數(shù)據(jù)轉(zhuǎn)發(fā)方法還包括存儲(chǔ)所述服務(wù)器與所述四層標(biāo)記的對(duì)應(yīng)關(guān)系。進(jìn)一步的,所述端口為T(mén)CP協(xié)議端口或UDP協(xié)議端口。本發(fā)明還提供了一種負(fù)載均衡調(diào)度器,包括標(biāo)記確定模塊,用于接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記;轉(zhuǎn)發(fā)模塊,用于從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。進(jìn)一步的,上述負(fù)載均衡調(diào)度器還包括綁定模塊,用于將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定。本發(fā)明還提供了一種負(fù)載均衡系統(tǒng),包括負(fù)載均衡調(diào)度器,所述負(fù)載均衡調(diào)度器間與各服務(wù)器間各存在至少一個(gè)端口,同一服務(wù)器的至少一個(gè)端口具有同樣的四層標(biāo)識(shí);所述負(fù)載均衡調(diào)度器,用于接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記,從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)轉(zhuǎn)發(fā)方法、負(fù)載均衡調(diào)度器和負(fù)載均衡系統(tǒng),在負(fù)載均衡調(diào)度器接收到客戶請(qǐng)求后,根據(jù)該客戶確定對(duì)應(yīng)的四層標(biāo)記,從至少一個(gè)具體該四層標(biāo)記的端口中選擇任一端口,通過(guò)該端口向服務(wù)器轉(zhuǎn)發(fā)該客戶請(qǐng)求,實(shí)現(xiàn)了通過(guò)多個(gè)端口向同一服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù),解決了四層負(fù)載均衡中數(shù)據(jù)轉(zhuǎn)發(fā)效率低的問(wèn)題。圖1為本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)轉(zhuǎn)發(fā)方法的流程圖;圖2為本發(fā)明的實(shí)施例的應(yīng)用場(chǎng)景的示意圖;圖3為本發(fā)明的實(shí)施例提供的一種負(fù)載均衡調(diào)度器的結(jié)構(gòu)示意圖;圖4為本發(fā)明的又一實(shí)施例提供的一種負(fù)載均衡調(diào)度器的結(jié)構(gòu)示意圖。具體實(shí)施例方式在四層負(fù)載均衡的過(guò)程中,一個(gè)負(fù)載均衡服務(wù)只能使用一個(gè)TCP或UDP端口,對(duì)于需要占用多端口的應(yīng)用來(lái)說(shuō),負(fù)載均衡調(diào)度器只能把這些端口建立在不同的負(fù)載均衡服務(wù)當(dāng)中,即為一多端口應(yīng)用提供負(fù)載均衡時(shí),需要建立多個(gè)負(fù)載均衡服務(wù),占用大量資源,負(fù)載均衡轉(zhuǎn)發(fā)效率低。為了解決上述問(wèn)題,本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)轉(zhuǎn)發(fā)方法,使用該方法實(shí)現(xiàn)四層負(fù)載均衡的具體流程如圖1所示,包括步驟101、將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定;本發(fā)明實(shí)施例的應(yīng)用環(huán)境如圖2所示,包括負(fù)載均衡調(diào)度器201和與該負(fù)載均衡調(diào)度器相連接的至少一個(gè)服務(wù)器202,各服務(wù)器與負(fù)載均衡調(diào)度器201間均通過(guò)至少一個(gè)端口相連,該端口可以為T(mén)CP或UDP協(xié)議端口;在這一應(yīng)用環(huán)境中,負(fù)載均衡調(diào)度器201充當(dāng)了一個(gè)轉(zhuǎn)發(fā)平臺(tái),將接收到的數(shù)據(jù)在客戶與服務(wù)器202之間轉(zhuǎn)發(fā)。本步驟中,首先在OSI(OpenSystemInterconnection,開(kāi)放系統(tǒng)互聯(lián))七層模型中的第四層(即傳輸層),為全部可用于服務(wù)的端口分配一個(gè)標(biāo)記,具體可通過(guò)對(duì)端口進(jìn)行iptables標(biāo)記機(jī)制下的添加記號(hào)操作實(shí)現(xiàn),添加的標(biāo)記為一四層標(biāo)記,工作在第四層的負(fù)載均衡調(diào)度器可以識(shí)別這一四層標(biāo)記。在分配四層標(biāo)記時(shí),可以根據(jù)實(shí)際情況,為多個(gè)端口分配相同的標(biāo)記,并對(duì)應(yīng)同一IP。這樣,就相當(dāng)于將擁有同樣標(biāo)記的端口進(jìn)行了綁定,對(duì)于工作在傳輸層的負(fù)載均衡調(diào)度器來(lái)說(shuō),這些端口都是相同的。在分配完四層標(biāo)記后,再分別將不同的四層標(biāo)記定位到不同的服務(wù)器上,這樣,每個(gè)服務(wù)器就和一個(gè)四層標(biāo)記建立了對(duì)應(yīng)關(guān)系,也就和該四層標(biāo)記對(duì)應(yīng)的至少一個(gè)端口建立了對(duì)應(yīng)關(guān)系,從而可以接收到從上述至少一個(gè)端口中轉(zhuǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)。服務(wù)器和四層標(biāo)記的對(duì)應(yīng)關(guān)系、四層標(biāo)記和IP的對(duì)應(yīng)關(guān)系均存儲(chǔ)在負(fù)載均衡調(diào)度器中。步驟102、負(fù)載均衡調(diào)度器接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的服務(wù)器;本步驟中,負(fù)載均衡調(diào)度器接收客戶請(qǐng)求,表明有客戶請(qǐng)求一項(xiàng)業(yè)務(wù)的數(shù)據(jù)。在客戶請(qǐng)求中,攜帶有目標(biāo)服務(wù)器的IP,負(fù)載均衡調(diào)度器根據(jù)該目標(biāo)服務(wù)器的IP,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記。步驟103、負(fù)載均衡調(diào)度器從具有所述四層標(biāo)記的至少一個(gè)端口中選擇一端口,通過(guò)該端口向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求;本步驟中,負(fù)載均衡調(diào)度器首先獲取至少一個(gè)步驟103所確定的四層標(biāo)記的端口,并從這些端口中選擇一個(gè),通過(guò)該端口將客戶請(qǐng)求轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器??蛇x的,也可以采用一定的端口選擇規(guī)則,如輪循使用各端口。本發(fā)明的實(shí)施例還提供了一種負(fù)載均衡調(diào)度器,其結(jié)構(gòu)如圖3所示,包括標(biāo)記確定模塊301,用于接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記;轉(zhuǎn)發(fā)模塊302,用于從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。進(jìn)一步的,上述負(fù)載均衡調(diào)度器如圖4所示,還包括綁定模塊303,用于將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定。本發(fā)明的實(shí)施例還提供了一種負(fù)載均衡系統(tǒng),包括負(fù)載均衡調(diào)度器,所述負(fù)載均衡調(diào)度器間與各服務(wù)器間各存在至少一個(gè)端口,同一服務(wù)器的至少一個(gè)端口具有同樣的四層標(biāo)識(shí);所述負(fù)載均衡調(diào)度器,用于接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記,從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。上述負(fù)載均衡調(diào)度器和負(fù)載均衡系統(tǒng),可以與本發(fā)明的實(shí)施例提供的一種數(shù)據(jù)轉(zhuǎn)發(fā)方法相結(jié)合,在負(fù)載均衡調(diào)度器接收到客戶請(qǐng)求后,根據(jù)該客戶請(qǐng)求確定對(duì)應(yīng)的四層標(biāo)5記,從至少一個(gè)具體該四層標(biāo)記的端口中選擇任一端口,通過(guò)該端口向服務(wù)器轉(zhuǎn)發(fā)該客戶請(qǐng)求,實(shí)現(xiàn)了通過(guò)多個(gè)端口向同一服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù),解決了四層負(fù)載均衡中數(shù)據(jù)轉(zhuǎn)發(fā)效率低的問(wèn)題。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求所述的保護(hù)范圍為準(zhǔn)。權(quán)利要求一種數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于,包括負(fù)載均衡調(diào)度器接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記;所述負(fù)載均衡調(diào)度器從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于,所述負(fù)載均衡調(diào)度器接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記的步驟之前,還包括將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于,所述將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定包括對(duì)所述至少一個(gè)端口進(jìn)行iptables標(biāo)記機(jī)制下的添加記號(hào)操作,為所述至少一個(gè)端口添加相同的記號(hào)作為端口的四層標(biāo)記;將所述四層標(biāo)記定位到所述服務(wù)器上。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于,還包括存儲(chǔ)所述服務(wù)器與所述四層標(biāo)記的對(duì)應(yīng)關(guān)系。5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于,所述端口為T(mén)CP協(xié)議端口或UDP協(xié)議端口。6.—種負(fù)載均衡調(diào)度器,其特征在于,包括標(biāo)記確定模塊,用于接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記;轉(zhuǎn)發(fā)模塊,用于從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。7.根據(jù)權(quán)利要求6所述的負(fù)載均衡調(diào)度器,其特征在于,還包括綁定模塊,用于將同一服務(wù)器與負(fù)載均衡調(diào)度器間的至少一個(gè)端口進(jìn)行綁定。8.—種負(fù)載均衡系統(tǒng),其特征在于,包括負(fù)載均衡調(diào)度器,所述負(fù)載均衡調(diào)度器間與各服務(wù)器間各存在至少一個(gè)端口,同一服務(wù)器的至少一個(gè)端口具有同樣的四層標(biāo)識(shí);所述負(fù)載均衡調(diào)度器,用于接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記,從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。全文摘要本發(fā)明提供了一種數(shù)據(jù)轉(zhuǎn)發(fā)方法、負(fù)載均衡調(diào)度器和負(fù)載均衡系統(tǒng)。涉及計(jì)算機(jī)領(lǐng)域;解決了四層負(fù)載均衡中數(shù)據(jù)轉(zhuǎn)發(fā)效率低的問(wèn)題。該方法包括負(fù)載均衡調(diào)度器接收客戶請(qǐng)求,確定該客戶請(qǐng)求對(duì)應(yīng)的四層標(biāo)記;所述負(fù)載均衡調(diào)度器從具有所述四層標(biāo)記的至少一個(gè)端口中選擇任一端口,向服務(wù)器轉(zhuǎn)發(fā)所述客戶請(qǐng)求。本發(fā)明提供的技術(shù)方案適用于四層負(fù)載均衡。文檔編號(hào)H04L12/56GK101778048SQ20101011282公開(kāi)日2010年7月14日申請(qǐng)日期2010年2月22日優(yōu)先權(quán)日2010年2月22日發(fā)明者苑鴻劍申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司