一種業務分配方法和負載均衡器的製作方法
2023-05-11 06:27:56 2
專利名稱:一種業務分配方法和負載均衡器的製作方法
技術領域:
本發明涉及多系統或多節點之間的業務分配,以及進行業務分配的負載均衡器。
背景技術:
目前,各個領域中,如金融,電信等,都需要經常面對超大規模的業務,都需要採用 多套系統,多個節點,來對整體業務進行負載均衡,以達到保障業務快速,穩定的目的。通常,負載均衡是為了讓多個系統或節點同時處理大量並發的服務請求,以達到 高性能的處理。一般情況下,負載均衡的每個系統或節點都是平均的分擔總的業務量,並且 互相沒有差別。這種負載均衡是一種固定的業務分配方式,不能智能地根據實際情況而改 變。而實際應用中,各系統或節點的負載情況會根據設備生產廠家、硬體、軟體、配置以及損 耗程度的不同,不可能做到真正意義上的負荷完全一樣。如果有部分系統負荷過高,仍然接 受平均分配的業務量,則可能導致後續處理速度降低,大量業務積壓,最終導致停止工作。目前,進行業務分配時,另一種解決方法是在負載均衡器上面進行配置,讓其對業 務按照配置進行分配,達到所有系統共同分配整體業務的目的。但是,這樣的解決方案最大 的問題就是在面對突發的情況時,依然按照配置文件分配可能會導致一些問題,假設某個 系統突然負荷變高,如果還是一直分配給其配置的業務量,則有可能導致其處理速度變慢, 而影響部分用戶對於該業務的感知。
發明內容
本發明提供一種業務分配方法和負載均衡器,用以解決現有技術中根據固定配置 進行業務分配,導致各系統或各節點之間的實際負荷量不均衡的問題。本發明提供的業務分配方法,應用於多系統或/多節點之間的業務分配,包括負載均衡器接收各系統/各節點根據預先設置的需要上報的各種資源類型上報 的與所述各種資源類型對應的資源使用率;所述負載均衡器根據本次各系統/各節點上報的所述資源使用率更新本地存儲 的各系統/各節點的上報記錄;在所述上報記錄中,選擇資源使用率未超過設定的對應使用率閾值、且當前未失 效的系統/節點的對應上報記錄,生成業務分配表;根據所述業務分配表的各上報記錄中存儲的與每一種資源類型對應的資源使用 率,分別確定出所述業務分配表中各記錄對應的各系統/各節點針對每一種資源類型對應 的業務分配比率;根據所述各種資源類型的對應權重,將待分配業務的業務量劃分給所述各種資源 類型;
4
按照所述業務分配表中各上報記錄對應的各系統/各節點針對每一種資源類型 對應的業務分配比率,並行地將每一種資源類型劃分的對應業務量分配給所述業務分配表 中各上報記錄對應的各系統/各節點。所述負載均衡器通過與所述各系統/各節點之間的控制面連接,接收所述各系統 /各節點上報的自身資源使用率;以及所述負載均衡器通過與所述各系統/各節點之間的業務面連接,將待分配業務分 配給所述業務分配表中各上報記錄對應的各系統/各節點。所述各系統/各節點周期統計自身的資源使用率;當滿足設定的上報條件時,上報統計的資源使用率給所述負載均衡器。所述當滿足設定的上報條件時,上報統計的資源使用率給所述負載均衡器,具體 包括當統計的資源使用率其中之一超過設定的對應上報閾值時,上報統計的資源使用 率給所述負載均衡器;和/或當統計的資源使用率其中之一的變化量超過設定的對應變化量閾值時,上報統計 的資源使用率給所述負載均衡器。所述生成業務分配表,具體包括對每條所述上報記錄分別計算對應的記錄更新時間與當前時間的差值,並將所述 差值與設定的差值閾值比較,當所述差值超過設定的差值閾值時,進一步確定該上報記錄 的對應系統/節點當前是否已失效;若該上報記錄的對應系統/節點當前未失效,則將該上 報記錄對應的記錄更新時間修改為當前時間,否則將該上報記錄標記為失效記錄;以及將每條所述上報記錄包含的各資源使用率,分別與設定的對應使用率閾值比較, 當所述資源使用率其中之一超過設定的對應使用率閾值時,將該上報記錄標記為失效記 錄;選擇未標記為失效記錄的其餘上報記錄,生成業務分配表。一種負載均衡器,包括資源使用狀況接收單元,用於接收各系統/各節點根據預先設置的需要上報的各 種資源類型上報的與所述各種資源類型對應的資源使用率;記錄存儲更新單元,用於根據各系統/各節點本次上報的資源使用率更新存儲的 所述各系統/各節點的上報記錄;業務分配表生成單元,用於在存儲的所述上報記錄中,選擇資源使用率未超過設 定的對應使用率閾值、且當前未失效的系統/節點的對應上報記錄,生成業務分配表;業務分配比率確定單元,用於根據所述業務分配表的各上報記錄中存儲的與每一 種資源類型對應的資源使用率,分別確定出所述業務分配表中各記錄對應的各系統/各節 點針對每一種資源類型對應的業務分配比率;業務分配單元,用於根據所述各種資源類型的對應權重,將待分配業務的業務量 劃分給所述各種資源類型,以及按照所述各系統/各節點針對每一種資源類型對應的業務 分配比率,並行地將每一種資源類型劃分的對應業務量分配給所述業務分配表中各上報記 錄對應的各系統/各節點。所述資源使用狀況接收單元通過與所述各系統/各節點之間的控制面連接接口,接收所述各系統/各節點上報的自身資源使用率;所述業務分配單元通過與所述各系統/各節點之間的業務面連接接口,將待分配 業務分配給所述業務分配表中各上報記錄對應的各系統/各節點。所述業務分配表生成單元,具體用於對所述記錄存儲更新單元中存儲的每條所述 上報記錄,分別計算對應的記錄更新時間與當前時間的差值,並將所述差值與設定的差值 閾值比較,當所述差值超過設定的差值閾值時,進一步確定該上報記錄的對應系統/節點 當前是否已失效;若該上報記錄的對應系統/節點當前未失效,則將該上報記錄對應的記 錄更新時間修改為當前時間,否則將該上報記錄標記為失效記錄;以及將每條所述上報記錄包含的各資源使用率,分別與設定的對應使用率閾值比較, 當所述資源使用率其中之一超過設定的對應使用率閾值時,將該上報記錄標記為失效記 錄;以及選擇未標記為失效記錄的其餘上報記錄,生成業務分配表。本發明提供的業務分配方法,應用於多系統或多節點之間的業務分配,由負載均 衡器接收各系統/各節點上報的自身資源使用狀況;根據各系統/各節點上報的資源使用 狀況,確定出各系統/各節點對應的業務分配比率;按照業務分配比率,將待分配業務分配 給各系統/各節點。由於各系統/各節點上報的自身資源使用狀況,表徵了各系統/各節 點的當前實際資源使用狀況,負載均衡器在進行業務分配時,根據各系統/各節點的當前 實際資源使用狀況,確定出將待分配業務分配給各系統/各節點的一個對應的業務分配比 率,按照確定出的業務分配比率進行業務分配,從而實現根據各系統/各節點的當前資源 使用狀況進行業務的動態分配(當前資源使用率較高的系統或節點,對應的業務分配比率 較低;反之,當前資源使用率較低的系統或節點,對應的業務分配比率較高),使得各系統/ 各節點之間的實際負荷量基本達到均衡。
圖1為本發明實施例提供的業務分配方法流程圖;圖2為本發明實施例提供的多系統/多節點與負載均衡器的連接關係示意圖;圖3為本發明實施例提供的由負載均衡器實現多系統業務分配的流程圖;圖4為本發明實施例提供的業務量分配示意圖;圖5A、圖5B為本發明實施列提供的由處理進行組實現各種資源類型劃分的業務 分配的對應關係示意圖;圖6為本發明實施列提供的負載均衡器結構示意圖。
具體實施例方式本發明提供一種業務分配方法和負載均衡器,應用於多系統之間的業務分配,或 者應用於多節點之間的業務分配(為描述簡便,採用系統/節點的方式,表示系統或者節 點),通過各系統/各節點上報自身的資源使用狀況,由負載均衡器根據各系統/各節點上 的資源使用狀況,進行業務的動態分配。下面結合附圖,對本發明提供的業務分配方法,進行詳細闡述。參見圖1,為本發明實施例提供的業務分配方法流程圖,具體包括
步驟S101、負載均衡器接收各系統/各節點上報的自身資源使用狀況;步驟S102、根據各系統/各節點上報的資源使用狀況,確定出各系統/各節點的業 務分配比率;步驟S103、按照確定出的業務分配比率,將待分配業務分配給各系統/各節點。參見圖2,為多個系統(每一個系統也可以是一個節點)與負載均衡器的連接關係 示意圖。圖2中,黑虛線表示負載均衡器與各系統之間的控制面連接,黑實線表示負載均衡 器與各系統之間的用戶面連接。負載均衡器通過與各系統之間的控制面連接,接收各系統 上報的自身資源使用狀況;以及通過與各系統之間的業務面連接,將待分配業務分配給各 系統。圖2所示組網圖,將負載均衡器和各系統之間的網絡連接分為控制面連接和業務 面連接,控制面連接和業務面連接可以在邏輯上分割也可以在物理上分割。這樣可以實現 控制與承載相分離,其好處是由於智能的負載均衡技術往往需要較大量且頻繁的上下行控 制信息,這樣將控制信息與業務信息完全分開,不僅可以保證兩方面完全不會衝突或者互 相間的帶寬佔用,同時在擴展方面也可以分別只考慮其中某一方面的需求而不會導致對另 一方面的負面影響。一般來說,控制面更注重控制信息的複雜和智能性,而業務面更注重對 於業務準確且快速的下發處理。因此特性完全不同的兩個方面,如果能夠分開考慮,則可以 提高智能處理的效率。下面以多個系統向負載均衡器上報自身資源使用率,由負載均衡器實現負載均衡 為例,對本發明提供的上述方法進行詳細說明。參見圖3,具體實現步驟包括步驟S301、各系統統計自身資源使用狀況。步驟S302、判斷是否滿足上報條件,若不滿足上報條件,則轉至步驟S301 ;若滿足 上報條件,繼續步驟S303。步驟S303、各系統向負載均衡器上報統計的自身資源使用率。步驟S304、負載均衡器根據本次各系統上報的資源使用率,更新本地存儲的上報 記錄。在該步驟中,負載均衡器還存儲各記錄對應的記錄更新時間。步驟S305、負載均衡器根據存儲的上報記錄,生成業務分配表。步驟S306、根據業務分配表中各記錄對應的系統上報的資源使用率,確定出各系 統對應的業務分配比率。步驟S307、根據各系統對應的業務分配比率,將待分配業務分配給各系統。上述各步驟具體描述如下步驟S301中,各系統可以根據自身的情況設置一個足夠小的時間間隔At來通過 某種方式統計本系統的各種資源類型的當前使用率X。具體統計的資源類型取決於其是否 對系統的整體負荷能力有影響。例如假設系統上報的具體資源類型包括CPU、內存和輸 入/輸出(I/O)埠,則系統每隔Δ t時長,統計CPU使用率X(I),內存使用率X(2),I/O端 口使用率x(3)。步驟S302中,觸發上報的上報條件,例如當統計的資源使用率其中之一超過設定的對應上報閾值時,上報統計的資源使用 率給負載均衡器;以及當統計的資源使用率其中之一的變化量超過設定的對應變化量閾值時,上報統計的資源使用率給負載均衡器。假設系統CPU使用率對應的上報閾值為60%、系統內存使用率對應的上報閾值為 70%,系統I/O埠使用率對應的上報閾值為80% ;若當前周期內統計獲得CPU的使用率 x(l)為75%,內存使用率χ(2)為35%,I/O埠使用率x(3)為45%,則由於CPU使用率 x(l)超過了上報閾值60%,滿足上報條件,系統將上報本次統計獲得的CPU使用率、內存使 用率和I/O埠使用率;另外,系統應該至少保存最近兩次統計值,然後就可以得到在At內某個資源使 用率的變化量Δχ。當Δχ超過設定的變化量閾值時,系統也將上報本次統計獲得的CPU使 用率、內存使用率和I/O埠使用率。一實施例中,某系統在本地存儲的一張統計表可以如下表一所示表一
權利要求
1.一種業務分配方法,應用於多系統或/多節點之間的業務分配,其特徵在於,包括 負載均衡器接收各系統/各節點根據預先設置的需要上報的各種資源類型上報的與所述各種資源類型對應的資源使用率;所述負載均衡器根據本次各系統/各節點上報的所述資源使用率更新本地存儲的各 系統/各節點的上報記錄;在所述上報記錄中,選擇資源使用率未超過設定的對應使用率閾值、且當前未失效的 系統/節點的對應上報記錄,生成業務分配表;根據所述業務分配表的各上報記錄中存儲的與每一種資源類型對應的資源使用率,分 別確定出所述業務分配表中各記錄對應的各系統/各節點針對每一種資源類型對應的業 務分配比率;根據所述各種資源類型的對應權重,將待分配業務的業務量劃分給所述各種資源類型;按照所述業務分配表中各上報記錄對應的各系統/各節點針對每一種資源類型對應 的業務分配比率,並行地將每一種資源類型劃分的對應業務量分配給所述業務分配表中各 上報記錄對應的各系統/各節點。
2.如權利要求1所述的方法,其特徵在於,所述負載均衡器通過與所述各系統/各節點 之間的控制面連接,接收所述各系統/各節點上報的自身資源使用率;以及所述負載均衡器通過與所述各系統/各節點之間的業務面連接,將待分配業務分配給 所述業務分配表中各上報記錄對應的各系統/各節點。
3.如權利要求2所述的方法,其特徵在於,所述各系統/各節點周期統計自身的資源使 用率;當滿足設定的上報條件時,上報統計的資源使用率給所述負載均衡器。
4.如權利要求3所述的方法,其特徵在於,所述當滿足設定的上報條件時,上報統計的 資源使用率給所述負載均衡器,具體包括當統計的資源使用率其中之一超過設定的對應上報閾值時,上報統計的資源使用率給 所述負載均衡器;和/或當統計的資源使用率其中之一的變化量超過設定的對應變化量閾值時,上報統計的資 源使用率給所述負載均衡器。
5.如權利要求1所述的方法,其特徵在於,所述生成業務分配表,具體包括對每條所述上報記錄分別計算對應的記錄更新時間與當前時間的差值,並將所述差值 與設定的差值閾值比較,當所述差值超過設定的差值閾值時,進一步確定該上報記錄的對 應系統/節點當前是否已失效;若該上報記錄的對應系統/節點當前未失效,則將該上報記 錄對應的記錄更新時間修改為當前時間,否則將該上報記錄標記為失效記錄;以及將每條所述上報記錄包含的各資源使用率,分別與設定的對應使用率閾值比較,當所 述資源使用率其中之一超過設定的對應使用率閾值時,將該上報記錄標記為失效記錄; 選擇未標記為失效記錄的其餘上報記錄,生成業務分配表。
6.一種負載均衡器,其特徵在於,包括資源使用狀況接收單元,用於接收各系統/各節點根據預先設置的需要上報的各種資 源類型上報的與所述各種資源類型對應的資源使用率;記錄存儲更新單元,用於根據各系統/各節點本次上報的資源使用率更新存儲的所述 各系統/各節點的上報記錄;業務分配表生成單元,用於在存儲的所述上報記錄中,選擇資源使用率未超過設定的 對應使用率閾值、且當前未失效的系統/節點的對應上報記錄,生成業務分配表;業務分配比率確定單元,用於根據所述業務分配表的各上報記錄中存儲的與每一種資 源類型對應的資源使用率,分別確定出所述業務分配表中各記錄對應的各系統/各節點針 對每一種資源類型對應的業務分配比率;業務分配單元,用於根據所述各種資源類型的對應權重,將待分配業務的業務量劃分 給所述各種資源類型,以及按照所述各系統/各節點針對每一種資源類型對應的業務分配 比率,並行地將每一種資源類型劃分的對應業務量分配給所述業務分配表中各上報記錄對 應的各系統/各節點。
7.如權利要求6所述的負載均衡器,其特徵在於,所述資源使用狀況接收單元通過與 所述各系統/各節點之間的控制面連接接口,接收所述各系統/各節點上報的自身資源使 用率;所述業務分配單元通過與所述各系統/各節點之間的業務面連接接口,將待分配業務 分配給所述業務分配表中各上報記錄對應的各系統/各節點。
8.如權利要求6所述的負載均衡器,其特徵在於,所述業務分配表生成單元,具體用於 對所述記錄存儲更新單元中存儲的每條所述上報記錄,分別計算對應的記錄更新時間與當 前時間的差值,並將所述差值與設定的差值閾值比較,當所述差值超過設定的差值閾值時, 進一步確定該上報記錄的對應系統/節點當前是否已失效;若該上報記錄的對應系統/節 點當前未失效,則將該上報記錄對應的記錄更新時間修改為當前時間,否則將該上報記錄 標記為失效記錄;以及將每條所述上報記錄包含的各資源使用率,分別與設定的對應使用率閾值比較,當所 述資源使用率其中之一超過設定的對應使用率閾值時,將該上報記錄標記為失效記錄;以 及選擇未標記為失效記錄的其餘上報記錄,生成業務分配表。
全文摘要
本發明公開了一種業務分配方法和負載均衡器,應用於多系統或多節點之間的業務分配。本發明方法包括負載均衡器接收各系統/各節點上報的資源使用率;更新本地存儲的各系統/各節點的上報記錄;生成業務分配表;確定各系統/各節點針對每一種資源類型對應的業務分配比率;根據各種資源類型的對應權重,將待分配業務的業務量劃分給各種資源類型;按照各系統/各節點針對每一種資源類型對應的業務分配比率,並行地將每一種資源類型劃分的對應業務量分配給各系統/各節點。採用本發明,能實現根據各系統/各節點的當前資源使用狀況進行業務的動態分配,使得各系統/各節點之間的實際負荷量基本達到均衡。
文檔編號G06F15/16GK102075425SQ20111000851
公開日2011年5月25日 申請日期2008年12月16日 優先權日2008年12月16日
發明者劉南, 哈毅, 孫乾, 李志傑, 楊曉範, 水波, 鄒生根 申請人:中國移動通信集團北京有限公司