新四季網

負載均衡方法和負載均衡器的製作方法

2023-05-11 06:32:56 4

專利名稱:負載均衡方法和負載均衡器的製作方法
技術領域:
本發明總體上涉及計算機網絡,尤其涉及一種負載均衡方法和負載均衡器。
背景技術:
隨著計算機等技術的發展,網絡已遍及人們生活的各個角落。目前現有網絡的各個核心部分隨著業務量的提高,訪問量和數據流量也得以快速增長,對其處理能力和計算能力的需求也相應地增大,這使得單個伺服器根本無法承擔。為了解決該問題,一種方法是扔掉現有設備而進行大量的硬體升級。這樣,一方面會造成現有資源的浪費,另一方面如果再一次面臨業務量提升時又將難以處理,我們知道即使性能再卓越的設備也不能滿足無限增長的業務需求,所以當業務量再提升時就又需要進行大量的硬體升級的高額成本投入,因此,該方法成本很高,而且隨著業務量提升,成本投入也不斷加大。另一種方法是使用多臺伺服器來共同分擔業務量,即,多個伺服器。可以將後端的多個物理伺服器進行分組,每組伺服器支持某種應用,並為該組伺服器設置一個虛IP/埠(v_ip:v_p0rt)來對外提供服務,而且在域名伺服器(DNQ中存儲的每個應用伺服器地址就是該虛IP/埠,而不是真實的伺服器地址。當客戶端要訪問伺服器時,可以以v_ip v_port為目的IP/埠來發送數據包,根據該數據包中的目的IP/埠,在地址為 v_ip v_port的該組伺服器中選擇一個實伺服器,然後將連接請求發給該實伺服器。在多個伺服器中選擇一個實伺服器,也即在各伺服器間進行負載均衡,其目的是擴展現有網絡和伺服器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。當前,在伺服器間對網絡數據流進行負載均衡的方法,比較常用的是4層負載均衡方法和7層負載均衡方法。下面介紹在NAT (Network Address ^Translate,網絡地址轉換)模式下4層負載均衡方法,如圖1所示,其包括步驟1)以從客戶端接收到的數據包的源IP/埠(c_ip:c_p0rt)和目的IP/埠(V_ip:V_port)為索引查找會話表(Session),其中,所述kssion指用於記錄客戶端連接信息的數據結構,v_ip:v_port指虛IP/埠,c_ip:c_p0rt指客戶端IP/埠 ;如果找到,轉到步驟4);如果未找到,進行步驟2)選擇一臺實伺服器作為目標伺服器;步驟 3)在 kssion 中建立一條條目(v_ip:v_port/c_ip:c_port/r_ip:r_port), 其中,r_ip:r_port指實伺服器IP/埠 ;步驟4)根據kssion中與v_ip v_port/c_ip c_port對應的實伺服器的IP和伺服器埠(r_ip:r_p0rt),把所述數據包的目的IP/埠修改為實伺服器IP和伺服器端 Π ;步驟幻計算該數據包的校驗和;步驟6)將數據包發給所述實伺服器。上述是對進入數據流,即,從客戶端到伺服器的數據流的處理方法。
如圖2所示,對於外出數據流,S卩,從伺服器到客戶端的數據流的處理,按如下步驟1』)以從實伺服器發出的數據包的源IP/埠(r_ip:r_p0rt)和目的IP/埠(c_ip:c_port)為索弓I查找 Session ;如果未找到,丟棄該數據包,否則步驟2』 )根據義^化!!中相應的條目,把該數據包的源IP/埠修改為虛IP和埠(v_ip:v_p0rt);步驟3』)計算該數據包的校驗和;步驟4』)將所述數據包發送給客戶端。從上述可知,由於外出數據流的目的IP是客戶端IP,所以無法在客戶端配置主機或者網段路由(這是因為客戶端IP位址包含了網際網路各網段的IP位址,設定主機或者網段路由需要指定特定的IP位址或者網段匹配源IP位址,無法用少數幾條路由涵蓋所有客戶端IP),而只能用默認路由處理(這是因為默認路由不需要指定特定的IP位址或者網段匹配源IP位址,可以用一條默認路由涵蓋所有客戶端),所以實伺服器的默認路由必須指向負載均衡器。由於通過默認路由,伺服器IP位址和負載均衡器後端IP位址需要設置為相同的網段,路由信息只能根據2層MAC地址獲得,從而必須與負載均衡器2層互通。2層互通也即在OSI網絡模型中的數據鏈路層連通,這將導致所有的實伺服器都在一個廣播域中,如果所有的實伺服器並非都在一個廣播域中,例如在不同交換機的 VLAN(Virtual LAN,虛擬區域網)中,那麼需要打VLAN Trunk(VLAN Trunk是讓連接在不同交換機上的相同VLAN中的主機2層互通的技術),並且還要在後端實伺服器的同一塊網卡上綁定多個IP位址通過策略路由實現和負載均衡器的3層互通。這將使機房的網絡拓撲結構和RS配置的複雜化,從而導致維護困難。目前解決上述問題的方法是採用7層負載均衡技術。但是此方法修改了客戶端的 IP位址,即將客戶端IP位址修改為7層負載均衡器的後端IP位址,使得後端RS只能看到 7層負載均衡器的後端IP位址,由於常常需要對客戶的行為進行分析,而對客戶的行為進行分析是基於日誌進行的,可是採用此方法,RS根本看不到客戶端IP位址,也就是說,在日誌中不存在客戶端IP位址的影子,因此導致對客戶行為的分析難以進行。其他7層負載均衡針對該問題的解決方案是將客戶端IP位址放入HTTP頭部X-Forwarded-For選項中,需要後端RS上的應用程式解析HTTP頭,因此需要修改應用程式而導致複雜性增大。

發明內容
本發明要解決的主要技術問題是提供一種能夠實現跨網段互聯的負載均衡方法和負載均衡器。為了解決上述問題,本發明負載均衡方法的技術方案為其使用會話表來存儲客戶端IP/埠和虛IP/埠,並在所述會話表中增加了存儲後端IP/埠的項,對於進入數據流處理步驟包括步驟(10),在該步驟(10)中以從客戶端接收到的進入數據包的進入數據流源IP/ 埠和進入數據流目的IP/埠為索引查找所述會話表;如果未找到,執行步驟(20),在該步驟00)中選擇一臺實伺服器作為目標伺服器;否則執行步驟(50);在步驟00)之後執行步驟(30),在該步驟(30)中選擇後端IP和後端埠 ;
步驟(40),在該步驟00)中根據所選擇的目標伺服器、後端IP和後端埠在會話表中建立一條條目,所述條目包括虛IP/埠、客戶端IP/埠、實伺服器IP/埠和後端 IP/埠 ;步驟(50),在該步驟(50)中根據會話表中的相應條目,把所述進入數據包的進入數據流目的IP/埠修改為實伺服器IP/埠,以及把所述進入數據包的進入數據流源IP/ 埠修改為後端IP/埠 ;步驟(60),在該步驟(60)中計算所述進入數據包的校驗和;步驟(70),在該步驟(70)中將計算過校驗和的進入數據包發給所述實伺服器。對於外出數據流處理步驟包括步驟(10』),在該步驟(10』 )中以從所述實伺服器接收的外出數據包的外出數據流源IP/埠和外出數據流目的IP/埠為索引查找所述會話表;如果未找到,丟棄所述外出數據包;否則執行步驟00』),在該步驟00』 )中根據所述會話表中的相應條目,把所述外出數據包的外出數據流源IP/埠修改為虛IP/埠並把所述外出數據包的外出數據流目的IP/埠修改為客戶端IP/埠 ;步驟(30』),在該步驟(30』 )中計算所述外出數據包的校驗和;步驟00』),在該步驟00』)中將計算過校驗和的外出數據包發送給所述客戶端。其中,所述步驟O0)進一步包括步驟O01),在該步驟O01)中將所有實伺服器的IP位址和埠以及當前負載通過列表組織起來;步驟002),在該步驟Q02)中將採用輪詢算法在所述列表中順次選擇所述實伺服器IP位址和埠。此外,所述步驟(30)進一步包括步驟(301),在步驟(301)中採用輪詢算法選擇一個後端IP ;步驟(302),在步驟(302)中採用輪詢算法選擇一個後端埠 ;步驟(303),在步驟(30 中在所述會話表中查找所選擇的後端IP/埠,若找到, 則轉到步驟(302)。優選地,在所述步驟(50)後還包括步驟(51),在步驟(51)中將所述相應條目中的客戶端IP/埠作為新的TCP選項條目添加在數據報TCP頭中。所述校驗和包括IP頭部校驗和以及TCP頭部校驗和。所述會話表還包括流量統計、自旋鎖和標誌位。相應地,本發明負載均衡器的技術方案包括存儲客戶端IP/埠和虛IP/埠的會話表,所述會話表還包括存儲後端IP/埠的項,所述負載均衡器還包括如下用於處理進入數據流的單元進入數據流查找單元,以從客戶端接收到的進入數據包的進入數據流源IP/埠和進入數據流目的IP/埠為索引查找所述會話表;選擇實伺服器單元,用於選擇一臺實伺服器作為目標伺服器;選擇後端IP和後端埠單元,用於選擇後端IP和後端埠 ;建立條目單元,用於根據所選擇的目標伺服器、後端IP和後端埠在會話表中建
6立一條條目,所述條目包括虛IP/埠、客戶端IP/埠、實伺服器IP/埠和後端IP/端
π ;進入數據流修改單元,用於根據會話表中的相應條目,把所述進入數據包的進入數據流目的IP/埠修改為實伺服器IP/埠,以及把所述進入數據包的進入數據流源IP/ 埠修改為後端IP/埠 ;進入數據流校驗單元,用於計算所述進入數據包的校驗和;進入數據流發送單元,用於將計算過校驗和的進入數據包發給所述實伺服器;其中,如果所述進入數據流查找單元的結果為否,則觸發所述選擇實伺服器單元,否則觸發所述進入數據流修改單元;所述選擇實伺服器單元連接所述選擇後端IP和後端埠單元,其進而連接所述建立條目單元;所述建立條目單元連接所述進入數據流修改單元,其進而連接所述進入數據流校驗單元後連接所述進入數據流發送單元。此外,本發明負載均衡器還包括下列處理外出數據流的單元外出數據流查找單元,用於以從所述實伺服器接收的外出數據包的外出數據流源 IP/埠和外出數據流目的IP/埠為索引查找所述會話表;外出數據流修改單元,用於根據所述會話表中的相應條目,把所述外出數據包的外出數據流源IP/埠修改為虛IP/埠並把所述外出數據包的外出數據流目的IP/埠修改為客戶端IP/埠 ;外出數據流校驗單元,用於計算所述外出數據包校驗和;外出數據流發送單元,用於將所述外出數據包發送給客戶端;其中,如果所述外出數據流查找單元的結果為否,則丟棄所述數據包,否則觸發所述外出數據流修改單元;所述外出數據流修改單元連接所述外出數據流校驗單元,其進而連接所述外出數據流發送單元。另外,本發明負載均衡器還包括TCP選項添加單元,用於將所述相應條目中的客戶端IP/埠作為新的TCP選項條目添加在數據報TCP頭中。與現有技術相比,本發明負載均衡方法和負載均衡器的有益效果為首先,由於本發明採用了兩次NAT轉換,即SNAT和DNAT,實現了跨網段互聯,從而不需要採用昂貴的7層負載均衡設備,扔掉現有設備進行大量硬體升級,也不需要設計複雜的網絡拓撲就能夠提高網絡數據流處理能力。其次,由於本發明把客戶端IP/埠作為新的TCP選項條目添加在數據報TCP頭, 所以應用程式不需要修改就可以獲得客戶端IP位址,便於大規模的應用程式遷移。


下面參考結合附圖所進行的下列描述以便更透徹地理解本公開內容,在附圖中圖1是現有技術負載均衡方法對進入數據流的處理的流程圖;圖2是現有技術負載均衡方法對外出數據流的處理的流程圖3是本發明負載均衡方法對進入數據流的處理的流程圖;圖4是本發明負載均衡方法對外出數據流的處理的流程圖;圖5是本發明負載均衡器對進入數據流進行處理的結構示意圖;圖6是本發明負載均衡器對外出數據流進行處理的結構示意圖; 圖7是包括兩臺負載均衡器的示例的示意圖。
具體實施例方式下面將詳細描述本發明的具體實施例,但本發明並不限於下述具體實施例。如圖3所示,本發明負載均衡方法,使用會話表來存儲客戶端IP/埠和虛IP/埠,在所述會話表中增加存儲後端IP/埠的項,例如下表1所示
權利要求
1.一種負載均衡方法,使用會話表來存儲客戶端IP/埠和虛IP/埠,其特徵在於, 在所述會話表中增加存儲後端IP/埠的項,對於進入數據流處理步驟包括步驟(10),在該步驟(10)中以從客戶端接收到的進入數據包的進入數據流源IP/埠和進入數據流目的IP/埠為索引查找所述會話表;如果未找到,執行步驟(20),在該步驟00)中選擇一臺實伺服器作為目標伺服器;否則執行步驟(50);在步驟00)之後執行步驟(30),在該步驟(30)中選擇後端IP和後端埠 ; 步驟(40),在該步驟00)中根據所選擇的目標伺服器、後端IP和後端埠在會話表中建立一條條目,所述條目包括虛IP/埠、客戶端IP/埠、實伺服器IP/埠和後端IP/ 端□;步驟(50),在該步驟(50)中根據會話表中的相應條目,把所述進入數據包的進入數據流目的IP/埠修改為實伺服器IP/埠,以及把所述進入數據包的進入數據流源IP/埠修改為後端IP/埠 ;步驟(60),在該步驟(60)中計算所述進入數據包的校驗和;步驟(70),在該步驟(70)中將計算過校驗和的進入數據包發給所述實伺服器。
2.如權利要求1所述的負載均衡方法,其特徵在於,對於外出數據流處理步驟包括 步驟(10』),在該步驟(10』 )中以從所述實伺服器接收的外出數據包的外出數據流源IP/埠和外出數據流目的IP/埠為索弓I查找所述會話表;如果未找到,丟棄所述外出數據包;否則執行步驟00』),在該步驟00』 )中根據所述會話表中的相應條目,把所述外出數據包的外出數據流源IP/埠修改為虛IP/埠並把所述外出數據包的外出數據流目的IP/埠修改為客戶端IP/埠 ; 步驟(30』),在該步驟(30』 )中計算所述外出數據包的校驗和; 步驟00』),在該步驟00』 )中將計算過校驗和的外出數據包發送給所述客戶端。
3.如權利要求2所述的負載均衡方法,其特徵在於,所述步驟O0)進一步包括 步驟001),在該步驟O01)中將所有實伺服器的IP位址和埠以及當前負載通過列表組織起來;步驟002),在該步驟Q02)中將採用輪詢算法在所述列表中順次選擇所述實伺服器 IP位址和埠。
4.如權利要求3所述的負載均衡方法,其特徵在於,所述步驟(30)進一步包括 步驟(301),在步驟(301)中採用輪詢算法選擇一個後端IP ;步驟(302),在步驟(302)中採用輪詢算法選擇一個後端埠 ; 步驟(303),在步驟(30 中在所述會話表中查找所選擇的後端IP/埠,若找到,則轉到步驟(302)。
5.如權利要求1至3任一項所述的負載均衡方法,其特徵在於,在所述步驟(50)後還包括步驟(51),在步驟(51)中將所述相應條目中的客戶端IP/埠作為新的TCP選項條目添加在數據報TCP頭中。
6.如權利要求5所述的負載均衡方法,其特徵在於,所述校驗和包括IP頭部校驗和以及TCP頭部校驗和。
7.如權利要求6所述的負載均衡方法,其特徵在於,所述會話表還包括流量統計、自旋鎖和標誌位。
8.一種負載均衡器,包括存儲客戶端IP/埠和虛IP/埠的會話表,其特徵在於,所述會話表還包括存儲後端IP/埠的項,所述負載均衡器還包括如下用於處理進入數據流的單元進入數據流查找單元,以從客戶端接收到的進入數據包的進入數據流源IP/埠和進入數據流目的IP/埠為索引查找所述會話表;選擇實伺服器單元,用於選擇一臺實伺服器作為目標伺服器; 選擇後端IP和後端埠單元,用於選擇後端IP和後端埠 ; 建立條目單元,用於根據所選擇的目標伺服器、後端IP和後端埠在會話表中建立一條條目,所述條目包括虛IP/埠、客戶端IP/埠、實伺服器IP/埠和後端IP/埠;進入數據流修改單元,用於根據會話表中的相應條目,把所述進入數據包的進入數據流目的IP/埠修改為實伺服器IP/埠,以及把所述進入數據包的進入數據流源IP/埠修改為後端IP/埠 ;進入數據流校驗單元,用於計算所述進入數據包的校驗和; 進入數據流發送單元,用於將計算過校驗和的進入數據包發給所述實伺服器;其中, 如果所述進入數據流查找單元的結果為否,則觸發所述選擇實伺服器單元,否則觸發所述進入數據流修改單元;所述選擇實伺服器單元連接所述選擇後端IP和後端埠單元,其進而連接所述建立條目單元;所述建立條目單元連接所述進入數據流修改單元,其進而連接所述進入數據流校驗單元後連接所述進入數據流發送單元。
9.如權利要求8所述的負載均衡器,其特徵在於,還包括下列處理外出數據流的單元 外出數據流查找單元,用於以從所述實伺服器接收的外出數據包的外出數據流源IP/埠和外出數據流目的IP/埠為索引查找所述會話表;外出數據流修改單元,用於根據所述會話表中的相應條目,把所述外出數據包的外出數據流源IP/埠修改為虛IP/埠並把所述外出數據包的外出數據流目的IP/埠修改為客戶端IP/埠 ;外出數據流校驗單元,用於計算所述外出數據包校驗和; 外出數據流發送單元,用於將計算過校驗和的外出數據包發送給客戶端;其中, 如果所述外出數據流查找單元的結果為否,則丟棄所述數據包,否則觸發所述外出數據流修改單元;所述外出數據流修改單元連接所述外出數據流校驗單元,其進而連接所述外出數據流發送單元。
10.如權利要求9所述的負載均衡器,其特徵在於,還包括TCP選項添加單元,用於將所述相應條目中的客戶端IP/埠作為新的TCP選項條目添加在數據報TCP頭中。
全文摘要
本發明公開了一種負載均衡方法和負載均衡器。本發明負載均衡方法使用會話表來存儲客戶端IP/埠和虛IP/埠,在所述會話表中增加存儲後端IP/埠的項,對於進入數據流,若在所述會話表中找不到以進入數據流源IP/埠和進入數據流目的IP/埠為索引的條目,則選擇實伺服器、後端IP和後端埠,並在會話表中建立一條條目,該條目包括虛IP/埠、客戶端IP/埠、實伺服器IP/埠和後端IP/埠,然後根據會話表中的相應條目,把所述進入數據包的進入數據流目的IP/埠修改為實伺服器IP/埠,以及把所述進入數據包的進入數據流源IP/埠修改為後端IP/埠,即進行兩次NAT轉換;對於外出數據流也同樣進行兩次NAT轉換。因此,採用本發明的技術方案能夠實現跨網段互聯。
文檔編號H04L29/08GK102255932SQ201010184118
公開日2011年11月23日 申請日期2010年5月20日 優先權日2010年5月20日
發明者吳佳明, 孫垚光, 李聞, 田燕, 陳建 申請人:百度在線網絡技術(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀