負載均衡方法及系統的製作方法
2023-05-27 16:14:36 1
負載均衡方法及系統的製作方法
【專利摘要】本發明涉及一種負載均衡方法及系統,該方法包括:路由器從第一負載均衡器組中選擇第一負載均衡器;第一負載均衡器接收路由器發送的第一數據包,並進行封裝處理,得到第二數據包;負載均衡管理器向第二負載均衡器組中的第二負載均衡器分配虛擬網絡地址;並查詢第二負載均衡器的第一IP位址和所在第一埠信息,並發送給所述第一負載均衡器;第一負載均衡器根據第一IP位址和所在第一埠信息將第二數據包發送給第二負載均衡器;第二負載均衡器將第二數據包進行處理,得到第三數據包。該系統包括:路由器、負載均衡管理器、第一負載均衡器和第二負載均衡器。本發明可以解決大規模場景下的負載均衡器組的帶寬瓶頸問題。
【專利說明】負載均衡方法及系統
【技術領域】
[0001]本發明涉及計算機領域,尤其是涉及一種負載均衡方法及系統。
【背景技術】
[0002]隨著移動網際網路和雲計算的快速發展,網絡應用的用戶規模日趨龐大,相應的應用伺服器集群如何可擴展的承載海量數據的應用與研究引起了廣泛的關注。
[0003]負載均衡技術在伺服器集群前端架設負載均衡器,將應用請求根據負載均衡算法合理的轉發到對應的伺服器,為應用伺服器集群提供了一定的擴展性。但是,面對如今巨大的用戶規模,單一的負載均衡器是無法承載用戶請求的。因此需要一組負載均衡器來共同承擔負載均衡任務,每臺負載均衡器都與一定規模的應用伺服器集群在同一子網內。相應的,這一組負載均衡器前端也需要進行負載均衡。
[0004]如果單一在這組負載均衡器前端假設負載均衡器,這臺負載均衡器的鏈路帶寬,以及處理能力將成為瓶頸,無法為應用伺服器集群提供擴展性。因此,如何找到一種在大規模應用請求場景下能提供擴展性的伺服器集群負載均衡方法,是當前的一個研究熱點。
【發明內容】
[0005]本發明的目的是在大規模用戶應用場景下,如何為應用伺服器組提供負載均衡的問題。
[0006]為實現上述目的,本發明提供了一種負載均衡方法,其特徵在於,所述方法包括:
[0007]路由器根據路徑權值向量從第一負載均衡器組中選擇第一負載均衡器;
[0008]所述第一負載均衡器接收所述路由器發送的第一數據包,將所述第一數據包進行封裝處理,得到第二數據包;
[0009]負載均衡管理器向第二負載均衡器組中的第二負載均衡器分配虛擬網絡地址;
[0010]所述負載均衡管理器查詢所述第二負載均衡器的第一 IP位址和所在第一埠信息,並發送給所述第一負載均衡器;
[0011]所述第一負載均衡器根據所述第一 IP位址和所在第一埠信息將所述第二數據包發送給所述第二負載均衡器;
[0012]所述第二負載均衡器將所述第二數據包進行處理,得到第三數據包。
[0013]進一步地,所述第二負載均衡器將所述第二數據包進行處理具體包括:所述第二負載均衡器將所述第二數據包進行網絡地址轉換;或,
[0014]所述第二負載均衡器將所述第二數據包的第一 IP位址和所在第一埠信息根據負載均衡算法進行編譯,從而得到所述應用伺服器的第二 IP位址和所在第二埠信息。
[0015]進一步地,所述第二負載均衡器根據所述應用伺服器的第二 IP位址和所在第二埠信息將所述第三數據包發送給所述應用伺服器。
[0016]所述方法包括:
[0017]應用伺服器獲取第二負載均衡器對應的第一 IP位址和所在第一埠信息;[0018]所述應用伺服器通過所述第一 IP位址和所在第一埠信息向所述第二負載均衡器發送第三數據包;
[0019]所述第二負載均衡器根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理,從而得到第二數據包;
[0020]所述第二負載均衡器將所述第二數據包發送給路由器。
[0021]進一步地,所述第二負載均衡器根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理具體包括:根據所述虛擬網絡地址和所在第二埠信息將所述第三數據包的第二 IP位址和所在第三埠進行編譯,從而得到第二數據包。
[0022]另外,所述系統包括:路由器、負載均衡管理器、第一負載均衡器和第二負載均衡器;
[0023]所述路由器,用於根據路徑權值向量從第一負載均衡器組中選擇第一負載均衡器;
[0024]所述負載均衡管理器,用於向第二負載均衡器組中的第二負載均衡器分配虛擬網絡地址;查詢所述第二負載均衡器的第一 IP位址和所在第一埠信息,並發送給所述第一負載均衡器;
[0025]所述第一負載均衡器,用於接收所述路由器發送的第一數據包,將所述第一數據包進行封裝處理,得到第二數據包;根據所述第一 IP位址和所在第一埠信息將所述第二數據包發送給所述第二負載均衡器;
[0026]所述第二負載均衡器,用於將所述第二數據包進行處理,得到第三數據包。
[0027]進一步地,所述用於將所述第二數據包進行處理具體包括:所述第二負載均衡器將所述第二數據包進行網絡地址轉換;或,
[0028]所述第二負載均衡器將所述第二數據包的第一 IP位址和所在第一埠信息根據負載均衡算法進行編譯,從而得到所述應用伺服器的第二 IP位址和所在第二埠信息。
[0029]進一步地,所述第二負載均衡器根據所述應用伺服器的第二 IP位址和所在第二埠信息將所述第三數據包發送給所述應用伺服器。
[0030]所述系統包括:應用伺服器、第二負載均衡器;
[0031]所述應用伺服器,用於獲取第二負載均衡器對應的第一 IP位址和所在第一埠信息;通過所述第一 IP位址和所在第一埠信息向所述第二負載均衡器發送第三數據包;
[0032]所述第二負載均衡器,用於根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理,從而得到第二數據包;並將所述第二數據包發送給路由器。
[0033]進一步地,所述用於根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理具體包括:根據所述虛擬網絡地址和所在第二埠信息將所述第三數據包的第二 IP位址和所在第三埠進行編譯,從而得到第二數據包。
[0034]本發明的有益效果:
[0035](I)本發明將負載均衡系統分為三層,每層由對應的路由器或負載均衡器實現相應的功能,利用多路徑路由協議及分布式技術,使三層網絡設備共同承擔負載均衡任務,解決了大規模場景下的負載均衡器組的帶寬瓶頸問題。[0036](2)在第三層時,負載均衡器直接向路由器發送數據信息並向用戶回復響應信息,從而減少了數據包的轉發處理並降低了用戶請求的響應延遲。
【專利附圖】
【附圖說明】
[0037]圖1為本發明實施例提供的負載均衡方法流程圖;
[0038]圖2為本發明實施例提供的另一負載均衡方法流程圖;
[0039]圖3為本發明實施例提供的負載均衡系統示意圖;
[0040]圖4為本發明實施例提供的另一負載均衡系統示意圖;
[0041]圖5為本發明實施例提供的負載均衡系統應用場景示意圖。
【具體實施方式】
[0042]下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
[0043]圖1為本發明實施例提供的負載均衡方法流程圖。如圖1所示,該方法包括以下步驟:
[0044]步驟101,路由器根據路徑權值向量從第一負載均衡器組中選擇第一負載均衡器;
[0045]步驟102,第一負載均衡器接收路由器發送的第一數據包,將第一數據包進行封裝處理,得到第二數據包;
[0046]步驟103,負載均衡管理器向第二負載均衡器組中的第二負載均衡器分配虛擬網絡地址;
[0047]步驟104,負載均衡管理器查詢第二負載均衡器的第一 IP位址和所在第一埠信息,並發送給第一負載均衡器;
[0048]步驟105,第一負載均衡器根據第一 IP位址和所在第一埠信息將第二數據包發送給第二負載均衡器;
[0049]步驟106,第二負載均衡器將第二數據包進行處理,得到第三數據包。
[0050]進一步地,第二負載均衡器將第二數據包進行處理具體包括:第二負載均衡器將第二數據包進行網絡地址轉換;或,
[0051]第二負載均衡器將第二數據包的第一 IP位址和所在第一埠信息根據負載均衡算法進行編譯,從而得到應用伺服器的第二 IP位址和所在第二埠信息。
[0052]進一步地,第二負載均衡器根據應用伺服器的第二 IP位址和所在第二埠信息將第三數據包發送給應用伺服器。
[0053]圖2為本發明實施例提供的另一負載均衡方法流程圖。如圖2所示,該方法包括以下步驟:
[0054]步驟201,應用伺服器獲取第二負載均衡器對應的第一 IP位址和所在第一埠信息;
[0055]步驟202,應用伺服器通過第一 IP位址和所在第一埠信息向第二負載均衡器發送第三數據包;
[0056]步驟203,第二負載均衡器根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將第三數據包進行處理,從而得到第二數據包;[0057]步驟204,第二負載均衡器將第二數據包發送給路由器。
[0058]進一步地,第二負載均衡器根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將第三數據包進行處理具體包括:根據虛擬網絡地址和所在第二埠信息將第三數據包的第二 IP位址和所在第三埠進行編譯,從而得到第二數據包。
[0059]圖3為本發明實施例提供的負載均衡系統示意圖。如圖3所示,該系統包括:路由器31、第一負載均衡器32、第二負載均衡器33、應用伺服器34和負載均衡管理器35。
[0060]路由器31,用於根據路徑權值向量從第一負載均衡器組中選擇第一負載均衡器;
[0061]負載均衡管理器35,用於向第二負載均衡器組中的第二負載均衡器33分配虛擬網絡地址;查詢第二負載均衡器33的第一 IP位址和所在第一埠信息,並發送給第一負載均衡器32 ;
[0062]第一負載均衡器32,用於接收路由器31發送的第一數據包,將第一數據包進行封裝處理,得到第二數據包;根據第一 IP位址和所在第一埠信息將第二數據包發送給第二負載均衡器33 ;
[0063]第二負載均衡器33,用於將第二數據包進行處理,得到第三數據包。
[0064]進一步地,用於將第二數據包進行處理具體包括:第二負載均衡器33將第二數據包進行網絡地址轉換;或,
[0065]第二負載均衡器33將第二數據包的第一 IP位址和所在第一埠信息根據負載均衡算法進行編譯,從而得到應用伺服器34的第二 IP位址和所在第二埠信息。
[0066]進一步地,第二負載均衡器33根據應用伺服器34的第二 IP位址和所在第二埠信息將第三數據包發送給應用伺服器34。
[0067]圖4為本發明實施例提供的另一負載均衡系統示意圖。如圖4所示,該系統包括:路由器41、第二負載均衡器42、應用伺服器43和負載均衡管理器44。
[0068]應用伺服器43,用於獲取第二負載均衡器42對應的第一 IP位址和所在第一埠信息;通過所述第一 IP位址和所在第一埠信息向所述第二負載均衡器42發送第三數據包;
[0069]第二負載均衡器42,用於根據負載均衡管理器44為本地分配的虛擬網絡地址和所在第二埠信息,將第三數據包進行處理,從而得到第二數據包;並將第二數據包發送給路由器41。
[0070]進一步地,用於根據負載均衡管理器44為本地分配的虛擬網絡地址和所在第二埠信息,將第三數據包進行處理具體包括:根據所述虛擬網絡地址和所在第二埠信息將第三數據包的第二 IP位址和所在第三埠進行編譯,從而得到第二數據包。
[0071]圖5為本發明實施例提供的負載均衡系統應用場景示意圖。如圖5所示,負載均衡系統按功能可以分為三層,第一層由路由器組成;第二層由第一負載均衡器組成,第一負載均衡器構成第一負載均衡器組;第三層由第二負載均衡器組成,第二負載均衡器構成第二負載均衡器組。
[0072]與外部網絡連接的路由器是基於多路徑路由協議,並提供網絡層的負載分發,通過路徑權值向量從第一負載均衡器組中選擇第一負載均衡器,並將第一數據包發送給第一負載均衡器。所有的第一負載均衡器都配置相同的路由信息,保持虛擬IP與第二負載均衡器的一一映射關係。第一負載均衡器將第二數據包進行封裝,從而得到第二數據包。[0073]負載均衡管理器向第二負載均衡器分配虛擬IP,並將分配信息回復給第一負載均衡組中的所有第一負載均衡器,同時,向第二負載均衡器回復響應信息。第一負載均衡器根據虛擬IP與第二負載均衡器的映射,獲取第二負載均衡器的第一 IP和第一埠,並將第二數據包發送給第二負載均衡器。
[0074]第二負載均衡器將第二數據包進行網絡地址轉換;或,將第二數據包的第一 IP和第一埠根據負載均衡算法進行編譯,從而得到應用伺服器的第二 IP和第二埠。第二負載均衡器根據應用伺服器的第二 IP和第二埠將第三數據包發送給應用伺服器。
[0075]以上所述的【具體實施方式】,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的【具體實施方式】而已,並不用於限定本發明的保護範圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種負載均衡方法,其特徵在於,所述方法包括: 路由器根據路徑權值向量從第一負載均衡器組中選擇第一負載均衡器; 所述第一負載均衡器接收所述路由器發送的第一數據包,將所述第一數據包進行封裝處理,得到第二數據包; 負載均衡管理器向第二負載均衡器組中的第二負載均衡器分配虛擬網絡地址; 所述負載均衡管理器查詢所述第二負載均衡器的第一 IP位址和所在第一埠信息,並發送給所述第一負載均衡器; 所述第一負載均衡器根據所述第一 IP位址和所在第一埠信息將所述第二數據包發送給所述第二負載均衡器; 所述第二負載均衡器將所述第二數據包進行處理,得到第三數據包。
2.根據權利要求1所述的負載均衡方法,其特徵在於,所述第二負載均衡器將所述第二數據包進行處理具體包括:所述第二負載均衡器將所述第二數據包進行網絡地址轉換;或, 所述第二負載均衡器 將所述第二數據包的第一 IP位址和所在第一埠信息根據負載均衡算法進行編譯,從而得到所述應用伺服器的第二 IP位址和所在第二埠信息。
3.根據權利要求2所述的負載均衡方法,其特徵在於,所述第二負載均衡器根據所述應用伺服器的第二 IP位址和所在第二埠信息將所述第三數據包發送給所述應用伺服器。
4.一種負載均衡方法,其特徵在於,所述方法包括: 應用伺服器獲取第二負載均衡器對應的第一 IP位址和所在第一埠信息; 所述應用伺服器通過所述第一 IP位址和所在第一埠信息向所述第二負載均衡器發送第三數據包; 所述第二負載均衡器根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理,從而得到第二數據包; 所述第二負載均衡器將所述第二數據包發送給路由器。
5.根據權利要求4所述的負載均衡方法,其特徵在於,所述第二負載均衡器根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理具體包括:根據所述虛擬網絡地址和所在第二埠信息將所述第三數據包的第二 IP位址和所在第三埠進行編譯,從而得到第二數據包。
6.—種負載均衡系統,其特徵在於,所述系統包括:路由器、負載均衡管理器、第一負載均衡器和第二負載均衡器; 所述路由器,用於根據路徑權值向量從第一負載均衡器組中選擇第一負載均衡器;所述負載均衡管理器,用於向第二負載均衡器組中的第二負載均衡器分配虛擬網絡地址;查詢所述第二負載均衡器的第一 IP位址和所在第一埠信息,並發送給所述第一負載均衡器; 所述第一負載均衡器,用於接收所述路由器發送的第一數據包,將所述第一數據包進行封裝處理,得到第二數據包;根據所述第一 IP位址和所在第一埠信息將所述第二數據包發送給所述第二負載均衡器; 所述第二負載均衡器,用於將所述第二數據包進行處理,得到第三數據包。
7.根據權利要求6所述的負載均衡系統,其特徵在於,所述用於將所述第二數據包進行處理具體包括:所述第二負載均衡器將所述第二數據包進行網絡地址轉換;或, 所述第二負載均衡器將所述第二數據包的第一 IP位址和所在第一埠信息根據負載均衡算法進行編譯,從而得到所述應用伺服器的第二 IP位址和所在第二埠信息。
8.根據權利要求7所述的負載均衡系統,其特徵在於,所述第二負載均衡器根據所述應用伺服器的第二 IP位址和所在第二埠信息將所述第三數據包發送給所述應用伺服器。
9.一種負載均衡系統,其特徵在於,所述系統包括:應用伺服器、第二負載均衡器; 所述應用伺服器,用於獲取第二負載均衡器對應的第一 IP位址和所在第一埠信息;通過所述第一 IP位址和所在第一埠信息向所述第二負載均衡器發送第三數據包; 所述第二負載均衡器,用於根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理,從而得到第二數據包;並將所述第二數據包發送給路由器。
10.根據權利要求9所述的負載均衡系統,其特徵在於,所述用於根據負載均衡管理器為本地分配的虛擬網絡地址和所在第二埠信息,將所述第三數據包進行處理具體包括:根據所述虛擬網絡地址和所在第二埠信息將所述第三數據包的第二 IP位址和所在第三埠進行編譯,從而得到第二數據包。
【文檔編號】H04L12/803GK103944831SQ201410174772
【公開日】2014年7月23日 申請日期:2014年4月29日 優先權日:2014年4月29日
【發明者】王勁林, 黃垂碧, 陳君, 宋磊, 王玲芳 申請人:中國科學院聲學研究所