分布網絡管理架構中的負載均衡的制作方法
【專利摘要】公開了一種在多個網絡管理處理元件間分發網絡管理處理負載的方法。每個網絡管理處理元件是集群的一個成員,一個成員為更新集群狀態的集群頭部,該集群的成員跟隨該集群狀態。該方法包括:集群頭部監控該集群成員上的網絡管理處理負載。該方法還包括,在檢測到該集群負載不均衡時,一旦該多個成員的子集處理的任務已經被完成,集群頭部更新該集群狀態,以發起在該集群的多個成員的至少一個子集上的網絡管理處理負載的自動再均衡。還公開了一種用于控制通信網絡的分發處理的方法以及一種網絡管理處理元件。
【專利說明】
分布網絡管理架構中的負載均衡
技術領域
[0001]本發明涉及一種用于在集群的多個網絡管理處理元件間分發網絡管理處理負載的方法和裝置。該網絡例如可以是通信網絡。本發明還涉及一種計算機程序配置的產品,當在計算機上運行時,該產品被配置為執行在集群的多個網絡管理處理元件間分發網絡管理處理負載的方法。
【背景技術】
[0002]近年來,由移動網絡管理系統管理的網絡元件的數量有了顯著的增長。例如在GSM系統中,網絡元件的數量接近于數百網絡元件的程度。在LTE中,具有成千上萬個網絡元件的網絡并不罕見。移動網絡越來越多地異構,并且可以運行包括2G、WCDMA、LTE以及無線LAN的多個不同的無線技術。復雜無線架構可以被實施以支持諸如宏小區、微小區、微微小區以及毫微微小區的移動網絡、架構。
[0003]運行這些網絡的管理系統所在的電腦同樣演進,許多計算實體目前以高度分布的方式運行,通常使用云手段部署在刀片式服務器上。這樣的分布式體系結構通常支持構成該云的計算實體的基本無縫加入或移除,以及調整被分配到該云的物理和虛擬機器二者。
[0004]用于通信網絡的管理系統已經發展為吸收上述討論的分發架構的優勢。這樣的管理系統允許分發體系結構的處理功率被利用,從而管理大異構移動通信網絡。個體的管理應用經常被設計為水平縮放:多個應用實例在單獨的進程中并行運行,每個應用實例執行所管理的網絡的一小部分負載。管理應用的性能進而通過增大或減小在任意給定時間運行的應用實例的數量,可以被簡單地調整。整個通信網絡的處理負載可以在管理應用的不同示例間均衡,例如,將網絡元件在所有應用實例上平均劃分,或者測量由每一網絡元件生成的負載,以及基于這些測量規劃負載分布。
[0005]目前對于分布計算平臺中正在運行的負載均衡的手段聚焦于,在分布計算體系架構中提供支持,允許應用靈活地增加以及減小正在運行的實例數量。但是,在通信網絡管理的情況下,網絡管理應用和它們控制網絡元件之間使用的語義呈現出此類支持的實際實現是高度有挑戰的。通常,管理應用采用狀態會話語義與網絡元件交互。一個應用建立與網絡元件的管理會話,執行一些操作,之后關閉該會話。這樣的管理會話可以被用于收集統計信息,執行配置操作或者接收事件流。管理應用的特定實例通常被要求在特定的管理會話期間掌控特定的網絡元件。一些管理會話,例如包括用于報警或事件收集的會話可能會非常長時期地存活,惡化了用于負載均衡目的在管理應用實例之間的網絡元件的再分發。
[0006]在被管理的網絡中,通過修改應用的拓撲,通過來自先前未知的網絡元件的輸入連接或者通過發現網絡元件,可以通知管理應用網絡元件的增加與移除。通過管理應用拓撲并且通過基于分發計算平臺,可以通知管理應用該應用的管理實例數目的變化。每次網絡元件被加入到網絡中或者從網絡移除時,管理應用實例的配置被修改,該實例被重新初始化。當管理應用中的實例數量被調整時,該應用的實例數目被修改,該應用的多個實例的配置被修改,多個實例的每一個被重新初始化。如上提及的,管理應用和受控網絡元件之間使用的面向會話的語義表示這些實例的修改以及重新歸一化可能有問題。為了將網絡元件的分配從一個管理應用實例改變到另一個,網絡元件以及所述“老的”原始實例必須被關停,在被管理元件和所述“新的”管理實例之間建立管理會話。
[0007]目前的系統或者通過人工分配網絡元件至管理應用實例,或者通過使用集中化算法,來解決應用實例中負載均衡的難點。在管理應用實例之間重分布的執行進而必須被集中控制,這要求單個操作在所有相關的網絡元件以及應用實例上的協作。每個被修改的應用實例必須被關閉,其新的配置及該實例必須被重啟。這樣的過程對于自動化是不靈活且難度高的,至少部分因為在所有修改的網絡元件上要求的高度協作度。集中化過程中要求的復雜負載均衡算法難以實施,并且在應用實例失敗的情況下,該實例承擔的負載不能被自動地在其他實例中重新分配。
【發明內容】
[0008]本發明的一個目的是,提供一種消除或降低上文提及的缺點的至少一個或多個的方法和裝置。
[0009]根據本發明的第一方面,提供了一種在多個網絡管理處理元件上分發網絡管理處理負載的方法。每個網絡管理處理元件是集群的成員,一個成員是更新集群狀態的集群頭部,該集群的成員跟隨該集群狀態。該方法包括,集群頭部監控在集群成員上的網絡管理處理負載,并且,在檢測到該集群負載不均衡時,一旦該多個成員的子集處理的任務已經被完成,所述集群頭部更新該集群狀態,以發起在該集群的多個成員的至少一個子集上的網絡管理處理負載的自動再均衡。
[0010]在一些示例中,一旦多個成員的子集處理的所有任務已經完成,在多個集群成員的至少一個子集上的網絡管理處理負載的自動再均衡可以發生。
[0011]非均衡的集群負載可以被檢測作為域活動的結果,例如,包括新的或移除的網絡元件,網絡元件上活動功能的變化,或者網絡元件狀態的變化。可替代地或者附加地,非均衡的集群負載可以被檢測為集群活動的結果,例如包括,成員加入或移除隨后的集群成員變化,或者由單個集群成員負責的網絡管理處理負載的變化。
[0012]在一些示例中,集群的子集可以包括該集群的所有成員。在其他示例中,該子集可以包括少于該集群所有成員的成員。
[0013]在一些示例中,再均衡網絡管理處理負載的步驟可以包括,在當前任務處理完成后,暫停該多個成員的子集的每個成員的操作,并且在延遲該子集的所有成員之后,自動地再均衡網絡管理處理負載。暫停操作可以包括在當前任務完成的同時暫停新的任務的初始化。
[0014]在一些示例中,自動再均衡該負載的步驟可以包括,從該集群的開始成員池中加入網絡管理處理元件至該子集,或者將網絡管理處理元件從該子集移除至該集群的開始成員池。
[0015]在進一步示例中,根據特定的池最大和最小的占有限制,成員可以被啟動或添加,或者停止以及移除。該池的成員可以包括已經被啟動但是還未具備分配給它們的任何網絡管理處理負載的網絡管理處理元件。
[0016]在一些示例中,自動再均衡的步驟可以包括該子集的至少一個成員運行負載均衡算法,以根據在集群成員之間共享的處理負載數據,設置由所述網絡管理處理元件處理的網絡管理處理負載。
[0017]在一些示例中,該方法進一步包括檢測該集群已經從第一狀態改變到第二狀態,并且一旦正處理的任務已經完成,將集群成員的狀態從第一狀態改變為第二狀態。在一些示例中,第一狀態可以是運行狀態,第二狀態可以是暫停狀態。
[0018]在一些示例中,改變集群成員狀態的步驟可以包括在當前任務的處理完成后暫停集群成員的操作,并且將集群成員的狀態從第一狀態改變為第二狀態。
[0019]在一些示例中,該方法還包括在出現觸發事件時檢查集群狀態,其中觸發事件可以包括時限超期或者網絡事件的至少一個。在一些示例中,時限可以是重復的時限,從而基于周期化的基礎執行查看集群狀態,在一些示例中,該基礎可以由網絡事件的發生而被暫
¥r O
[0020]根據本方面的另一方面,提供了一種計算機程序配置的產品,在計算機上運行時,被配置為執行根據本發明的第一方面的方法。計算機程序產品的示例可以被集成到諸如網絡管理處理元件的裝置中。該計算機程序產品可以被存儲在計算機可讀介質或它的云上,例如作為可下載數據信號的信號格式,或者它可以是任何其他的格式。一些或所有計算機程序產品可以從互聯網下載可得。
[0021]根據本發明的另一方面,提供了一種分發用于控制通信網絡的處理的方法。該網絡包括多個節點,由多個處理元件的集群控制,每個處理元件是集群的成員。該集群的一個成員是更新集群狀態的集群頭部,所述集群的成員跟隨所述集群狀態。該方法還包括根據本發明的第一方面的執行步驟。
[0022]根據本發明的另一方面,公開了一種網絡管理處理元件,其操作為包括多個網絡管理元件的集群的成員,該集群的一個成員是該集群的頭部,被配置為更新該集群狀態。所述網絡管理處理元件包括檢測器,被配置為檢測集群狀態的更新,以及負載均衡器,被配置為一旦由多個成員的子集正執行的任務已經完成時,參照該集群的多個成員的至少一個子集,重新均衡由網絡管理處理元件處理的網絡管理處理負載。
[0023]在一些示例中,該處理元件還可以包括元件狀態管理器,被配置為暫停該元件的操作。
[0024]在一些示例中,該檢測器可以被配置為,檢測該集群從第一狀態改變到第二狀態,該元件狀態管理器可以被配置為,一旦正處理的任務已經完成,將該網絡管理處理元件的狀態從第一狀態改變為第二狀態。
[0025]在一些示例中,負載均衡器可以被配置為,運行負載均衡算法,以根據集群成員之間共享的處理負載數據,設置網絡管理處理元件所處理的網絡管理處理負載。
[0026]在一些示例中,網絡管理處理元件進一步可以包括檢查單元,被配置為在發生觸發事件時檢查集群狀態,其中,觸發事件包括時限超期或者網絡事件的至少一個。該檢測器可以被配置為,基于檢查單元提供至檢測器的信息,檢測集群狀態的更新。
[0027]在一些示例中,網絡管理處理單元進一步可包括監控器,被配置為監控集群成員上的網絡管理處理負載,以及集群狀態管理器,被配置為在檢測到所監控的網絡處理負載不均衡時,更新集群狀態。
[0028]在一些示例中,網絡管理處理元件進一步可以包括標識單元,被配置為確定網絡管理處理元件是否作為集群頭部操作。
[0029]根據本發明的另一方面,提供了一種作為集群的集群頭部運作的網絡管理處理元件,包括多個網絡管理處理元件。所述網絡管理處理元件包括監控器,被配置為監控該集群成員上的網絡管理處理負載,以及集群狀態管理器,被配置為在檢測到所監控的網絡處理負載不均衡時,更新集群狀態。
[0030]根據本發明的又一方面,提供了一種運行為包括多個網絡管理處理元件的集群的成員的網絡管理處理元件,該集群的一個成員是該集群的頭部,被配置為更新集群狀態。該網絡管理處理單元包括處理器和存儲器,該存儲器存儲可由處理器執行的指令,通過該處理器,網絡管理處理元件可操作地檢測集群狀態的更新,并且,一旦多個成員的子集正在處理的任務已經完成時,參考該集群的多個成員的至少一個子集,再均衡由網絡管理處理元件處理的網絡管理處理負載。
【附圖說明】
[0031]為了更好理解本發明,并更清楚地示出本發明如何帶來效果,現在將以示例的方式參考以下附圖,其中:
[0032]圖1是圖示了用于分發網絡管理處理負載的一種方法中的步驟的流程圖;
[0033]圖2是圖示了圖1的方法中的步驟如何被實現的流程圖;
[0034]圖3是網絡管理處理元件中的功能單元的簡化框圖;
[0035]圖4是另一網絡管理處理元件的簡化框圖;
[0036]圖5是集群成員間共享數據的表示;
[0037]圖6a和6b是圖示了用于集群成員啟動和關閉的方法步驟的流程圖;
[0038]圖7是圖示了集群和成員狀態的狀態圖;
[0039]圖8是圖示了狀態管理過程中步驟的流程圖;
[0040]圖9是圖示了集群狀態管理過程中步驟的流程圖,該過程可以被執行作為圖8的狀態管理過程的一部分;以及
[0041]圖10是用于分發網絡管理處理負載的一種方法的示例的示意性執行。
【具體實施方式】
[0042]本發明的方面提供了一種用于在多個網絡管理處理元件上分發網絡管理處理負載的方法。該方法的示例允許在網絡管理應用的多個實例上的網絡管理處理的分布式動態負載均衡。圖1是圖示了這樣的方法100的步驟的流程圖。每個網絡管理處理單元可以運行網絡管理應用的單個實例,每個處理元件是協作集群的成員。該集群的一個成員是集群頭部,并更新集群狀態。該集群的個體成員跟隨該集群狀態。
[0043]參看圖1,在第一步驟110中,集群頭部監控在集群成員上的網絡管理處理負載。隨后在步驟120中,該集群頭部確定該集群負載是否不均衡。該確定可以基于域和/或集群規貝1J,該規則指定事件和/或處理指示負載不均衡的負載測量。如果集群負載不均衡(在步驟120中,是),在步驟130中,一旦由該多個成員的子集正處理的任務已經完成,該集群頭部更新該集群狀態,以發起在該集群的多個成員的至少一個子集上的網絡管理處理負載的自動再均衡。
[0044]圖2圖示了為實現步驟130的自動再均衡可能發生的子步驟。參照圖2,在步驟132中,集群成員確定當前任務是否完成。這可以包括當前任務的全部或者子集,將在下文中更詳細地討論。一旦當前任務已經完成(步驟132中,是),集群成員在步驟134中暫停操作,并且等待,直到要對負載再均衡的該子集的所有成員已經被暫停。成員的暫停可以通過成員狀態的變化來指示。一旦所有子集成員已經被暫停(步驟136中,是),在步驟138,集群成員繼續自動化再均衡該子集成員之間的網絡管理處理負載。自動再均衡可以包括,該子集的至少一個成員運行負載均衡算法,以根據在集群成員之間共享的處理負載數據,設置其網絡管理處理負載。可替代或附加地,再均衡可以包括,從開始但未負載的成員池中加入網絡管理處理元件至該子集,或者將元件從該子集移除至該池。下文將參看圖5-10具體討論這些步驟的每。
[0045]執行上文描述的方法(例如接收合適的計算機可讀指令)的裝置可以被集成在網絡管理處理元件內。圖3圖示了可以執行圖1和2步驟(例如根據從計算機程序接收的計算機可讀指令)的網絡管理處理元件200的功能單元。將理解的是,圖3圖示的單元是功能性單元,可以以任何適合的硬件和/或軟件的組合實現。
[0046]參看圖3,網絡管理處理元件200包括檢測器240和負載均衡器250。該元件還包括檢查單元260,成員狀態管理器270,標識單元280,監控器292以及集群狀態管理器294。監控器292和集群狀態管理器294可以被集中在集群管理單元290中。
[0047]處理器240被配置為檢測集群狀態已經被更新。檢測器240可以基于檢查單元260所提供的信息檢測集群狀態的更新,檢查單元260被配置為進行集群狀態的周期性檢測并通知檢測器240集群狀態,從而允許檢測器240檢測集群狀態從先前狀態到新狀態的更新。負載均衡器250被配置為影響集群子集的成員之間的網絡處理負載的負載均衡。負載均衡器250可以被配置為運行負載均衡算法,以根據集群成員之間共享的處理負載數據設置其網絡管理處理負載。網絡管理處理負載可以基于子集成員而設置,該子集包括一個或多個成員,該成員可以從被啟動但未分配的負載的成員池中添加或移除。檢測器240在檢測到集群的更新狀態后,通過負載均衡器250發起負載均衡。該發起可以通過元件狀態管理器270執行。元件狀態管理器可以被配置為在接收來自檢測器250的消息后,一旦當前任務已經完成,暫停該元件的操作,隨后更新該元件的狀態以反映集群的狀態。一旦該子集所有成員具有反映該集群狀態的狀態,狀態元件管理器可以觸發負載均衡器250執行負載均衡。
[0048]如上討論的,集群的一個成員是集群頭部,并更新集群狀態。集群的任何成員可以操作為集群頭部,元件200可以包括標識單元280,其可以被配置為確定元件200是否被要求作為集群頭部運行。這可以基于標識單元280中編程的算法而確定。元件200還包括監控器292和集群狀態管理器294,組合在集群管理單元290中。如果標識單元280確定元件200被要求作為集群頭部運行,標識單元280可以被配置為指示集群管理單元290運行監控和集群狀態管理。監控器292可以被配置為監控集群成員間的網絡管理處理負載,集群狀態管理器294可以被配置為基于監控的集群負載更新集群狀態。處理元件200的單元的功能在下文將參照圖5到10具體描述。
[0049]在另一示例中,參看圖4,網絡管理處理單元300包括處理器355和存儲器365。存儲器355包括可由處理器365執行的指令,從而處理元件300可操作地執行上文描述的圖1和2的步驟。
[0050]現在將具體描述例如根據圖3和4的處理元件所執行的圖1和2的方法操作。
[0051]如上討論的,本發明的方面包括在集群的成員的至少一個子集之間的網絡管理處理負載的負載均衡。每個網絡管理處理元件可以運行網絡管理應用的單個實例,每個處理元件是協同集群的成員之一。每個集群成員自主運行,與其他所有集群成員分享狀態和數據信息。集群狀態和數據隨后被用于協作集群成員之間的負載均衡。在以下討論中,在包括所有集群成員的子集間的負載均衡被解釋為一個示例,但是在只包含一些集群成員的子集上的均衡也可以由該方法實現,如在稍后的示例中討論的。
[0052]集群成員間共享的狀態和數據信息在圖5中圖示。管理應用的整體狀態由集群狀態402表示,有助于協調負載均衡的任何通用數據被保持為集群數據404。集群數據可以包括該應用正管理的網絡元件的當前列表,在觸發再均衡之前可以忍受的單個集群成員承受的負載不均衡級別,集群成員可以去激活的負載級別上限,或者集群成員可以被激活的負載級別下限。
[0053]對于集群的每個成員的記錄406被保持為共享信息,為所有成員可見。成員ID408唯一地標識了集群中的成員,成員狀態410表示所標識成員在給定時刻的狀態。成員數據412是特定于成員的任何數據,例如正由該成員管理的網絡元件的當前列表。采用任何適合的分發共享信息的方法,信息在集群成員間共享。用于分發共享信息的適當的算法可以包括分發哈希表或者集群成員之間的過程通信(IPC)。
[0054]每個集群成員在任何給定時間根據集群負載被啟動或關閉。用于成員啟動500和關閉600的序列在圖6a和6b中圖示。參看圖6a,當集群成員啟動時,他首先在步驟510檢查集群信息是否被初始化。如果集群信息未被初始化(步驟510,否),該集群成員是要啟動的第一個成員,在步驟520,它初始化共享信息中的集群狀態和數據。在步驟530,集群成員隨后初始化其成員狀態和數據,并存儲該信息于共享信息,由其唯一標識索引。如果在步驟510集群成員確定集群數據已經被初始化(步驟510,是),隨后該成員直接繼續到在步驟530初始化其狀態和數據。集群成員隨后在步驟540開始周期化過程,其在固定間隔內運行,以監控和更新其狀態。該周期化過程進一步在下文參看圖8討論。
[0055]參照圖6b,當集群成員被關閉時,在步驟610,集群成員首先停止其周期化過程。隨后,在步驟620,集群成員從共享集群信息中清除其成員狀態和數據。
[0056]如上所提及的,個體集群成員的狀態緊隨其所屬的集群的狀態。這通過圖8的周期性過程實現,效果在圖7中圖示。集群狀態有效地引導集群成員的狀態,當前的成員狀態被設置為集群成員所要求的下一狀態。參看圖7,如果集群狀態從狀態S2轉變到狀態Sn-1,該集群中的成員也會從狀態2轉變到狀態Sn-1,執行該轉變所必需的任何特定的操作。在一些示例中,所有集群成員可以轉變到集群狀態。在其他示例中,集群狀態變化可以被設置為僅應用到集群的一些成員。集群數據例如可以被更新為,集群狀態改變中隱含的集群成員的狀態。
[0057]在一些示例操作中,集群狀態不會從狀態Sx轉變到狀態Sy,直到所有集群成員具有初始的狀態Sx。因此,如果集群狀態轉變從狀態SI到狀態S2,繼續到狀態Sn-1,集群狀態通常不會轉變到狀態Sn-Ι,直到所有要求的集群成員已經到達狀態S2。在異常情況下,例如重設以消除錯誤時,集群狀態可以轉變到初始狀態SI,導致所有集群成員也重置。在其他示例中,當集群狀態再次改變時,集群成員可以停止嘗試更新其狀態至集群狀態。因此,如果集群狀態從狀態SI改變到狀態S2并繼續到Sn-1,在從狀態S2改變到狀態Sn-1的時刻,集群成員仍沒有從狀態SI轉變到狀態S2,集群成員可以終止嘗試轉變到狀態S2,并發起嘗試轉變到狀態Sn-1。
[0058]每個集群成員自主且異步管理其狀態,不參照其他集群成員,不與其他成員同步,來監控集群狀態。只要集群狀態不改變,集群成員不需要執行任何動作。
[0059]集群成員通過周期地運行圖8中所圖示的狀態管理序列,跟隨集群狀態。根據該序列,集群成員周期地檢查集群的狀態,確定集群狀態是否已經被更新,如果是,執行以更新其自身狀態以匹配集群狀態。狀態管理序列可以由元件300的處理器355或由元件狀態管理器270協同元件200的檢查單元260、檢測器240、標識單元280以及集群管理單元290執行。
[0060]參照圖8,在第一步驟702中,集群成員檢查其是否被要求作為集群頭部,更新集群狀態。在給定時刻,僅有一個集群成員運行為集群頭部,負責監控集群內的網絡管理處理負載,并更新集群狀態。確定哪一集群成員運行為集群頭部的規則應當識別單個運行的集群成員,其中集群成員能夠在運行時間自主執行。兩個可能的規則是使用具有最低ID的集群成員或者最早的集群成員,二者能夠由集群成員在運行時間通過核實圖5圖示的共享數據而確定。運作為集群頭部的成員是否要被關閉,這將會反映在集群數據中(如圖6b所指示),以及選擇規則會導致不同的成員確定下次圖8的過程運行時,其要運行為集群頭部。確定要運作為集群頭部的集群成員的規則可以被存儲在元件300的處理器或者元件200的標識單元280中。
[0061]如果集群成員確定其需要運行為集群頭部(步驟702,是),集群成員繼續在步驟704,執行圖9圖示并在下文描述的集群狀態檢查周期化過程。在集群狀態檢查周期化過程完成后,集群成員在步驟706繼續檢查集群成員的個體狀態是否匹配集群狀態。如果集群成員在步驟702確定其不需要運行為集群頭部(步驟702,否),其直接進行到步驟706。如果集群成員狀態匹配集群狀態(步驟706,是),隨后在該成員的部分上不需要進一步操作,該過程可以終止。但是,如果在步驟706,集群成員確定其狀態與集群狀態不匹配(步驟706,否),集群成員繼續到步驟708,檢查到當前集群狀態的轉變是否已經由狀態管理過程的先前迭代所要求。如果到新的集群狀態的轉變已經被要求(步驟708,是),該成員在步驟710檢查是否被要求執行轉變到新狀態的所有操作已經完成。如果所有要求的操作完成(步驟710,是),集群成員在步驟712更新其狀態,并退出處理。
[0062]回到步驟708,如果轉變到新狀態仍未被要求(步驟708,否),該成員隨后在步驟714檢查轉變到該新的集群狀態之外的狀態是否已經被要求。如果是(步驟714,是),在步驟716該集群成員取消轉變到該狀態的操作,隨后進行到步驟718,發起轉變到新的集群狀態的操作。該成員隨后退出該過程。如果沒有其他狀態轉變被要求(步驟714,否),該成員直接進行到步驟718,發起轉變到新的集群狀態的操作。狀態管理的后續迭代將檢查發起的操作是否已經完成,并且如果是,將設置集群成員的新狀態。
[0063]狀態轉變的一個示例是從運行狀態轉變到暫停狀態,以發起并作為負載均衡的準備。執行這一轉變的操作可以包括取消正處于針對網絡元件的管理會話上的任何任務,終止面向這些網絡元件的會話。支持集群成員進入暫停狀態所需的精準操作可以取決于運行于集群成員上的管理應用。在一些情況下,需要采用網絡元件執行復雜的面向交易的會話關閉以實現有序關閉。在其他情況下,通信信道的簡單斷開可能足夠。在進一步示例中,可能達到折衷,其中嘗試以有序方式關閉網絡元件的會話,但是,如果在一定時間會話未能終止,該連接可能超時,狀態轉換受影響,而不論余下任務的完成狀態如何。被要求在進入暫停狀態前完成的任務可以包括,例如從網絡元件到管理應用的統計或計費數據的文件轉換。當被要求轉變到暫停狀態時,集群成員可以延緩任一新的文件傳送,不過在暫停操作之前完成所有進行中的傳送。
[0064]狀態轉變的另一示例是從暫停狀態到運行狀態的轉變。進行這一轉變的操作可以包括負載均衡,對于集群成員運行自主的負載均衡算法,從而允許該成員使用共享數據計算和設置其管理負載。通過對每個網絡元件建立管理會話,且針對該網絡元件開始管理任務,該操作結束。
[0065]在進一步示例中,通過確定要均衡處理負載的該子集的所有成員已經進入暫停狀態,可以提示運行負載均衡算法。例如,集群成員可以在集群共享數據中檢查成員狀態數據。一旦所需要的子集集群成員已經進入暫停狀態,通過每個集群成員運行其自主的負載均衡算法,可以執行負載均衡。一旦集群成員已經終止其負載均衡算法,它可以在共享數據中設置指示負載均衡完成的標記。一旦所有相關標記已被設置,集群頭部隨后是集群成員,可以轉變回運行狀態。參照圖10進一步討論在運行和暫停狀態之間的示例轉變。
[0066]負載均衡算法的一個簡單示例是集群成員確定其在運行的集群成員集中的位置,并基于該位置管理一組網絡元件。因此,如果有10000個網絡元件要管理以及10個集群成員,第六個集群成員將管理網絡元件6000到6999。其他算法可以被設計,管理應用可以規定要使用的算法。集群成員自主執行它們的負載均衡算法,根據一些示例,可以完全地獨立地執行。在其他示例中,集群成員之間的對等通信可以被用于負載再均衡的一部分。
[0067]圖9圖示了集群狀態檢查周期過程,由集群頭部執行,作為圖8的狀態管理過程的一部分。集群狀態檢查周期過程可以由元件300的處理器或者元件200的集群管理單元實施。參看圖8和9,如果在步驟702中,集群成員確定其被要求運行為集群頭部,那么它進行到步驟704,執行集群狀態檢查周期過程,如圖9所示。在第一步驟704a,集群頭部激發用于當前狀態轉變的管理域規則。這些規則允許集群頭部在步驟704b確定,基于被管理域,是否需要集群狀態改變。可以基于被管理域觸發狀態變化的規則包括新的或移除的網絡元件,網絡元件上激活功能的改變或者網絡元件的狀態的改變。可以設置規則,使得在一天的某一時間觸發狀態變化。這樣,可以確保,即使檢測到新的網絡元件,它們僅在一天的某一時刻引入到系統。域規則可以被存儲為共享集群數據的一部分,從而可由所有集群成員獲取,因為根據用于選擇集群頭部的特定算法,任何集群成員可能運行為集群頭部。
[0068]如果從域中觸發了狀態變化(在步驟704b,是),在步驟704c由集群頭部更新集群狀態。在步驟704c,集群頭部同樣更新集群數據。典型的域集群數據可以包括要管理的網絡元件的新列表以及針對這些網絡元件的事件率統計。集群成員可以在執行它們的自主負載均衡算法時使用這一數據。
[0069]集群成員隨后進行到步驟704d,以激發確定從集群點角度是否確保狀態變化的規貝1J。如果從域點的角度未確保狀態變化(步驟704b,否),集群頭部直接進行到步驟704d。在步驟704e,集群規則允許集群頭部確定在集群的基礎上是否要求集群狀態變化。集群規則可以被設置以確定集群成員人數是否因為成員加入或移除而變化,以及當前管理負載是否足夠地均衡。集群規則同樣可以被存儲為共享集群數據的一部分。
[0070]如果集群狀態變化從該集群觸發(在步驟704e,是),集群頭部隨后進行到步驟704f,確定當前集群大小是否最優。如果從集群中加入或移除成員是適合的(在步驟704f,否),集群頭部進行到步驟704g,以要求通過根本的分布計算機制修改集群成員人數。這可以包括,由于總體重負載啟動集群成員或者在總體輕負載時期關閉集群成員。如果未要求集群成員人數修改(在步驟704f,是),或者一旦在步驟704g中被要求,所述集群頭部進行到步驟704h,更新集群狀態。集群數據還可以在步驟704h更新用于集群成員的參數,該參數在執行它們的自主負載均衡算法時被使用。
[0071]一旦在步驟704h中已經更新了集群狀態,集群頭部隨后返回到圖8的狀態管理方法的步驟706。如果基于步驟704d獲得的集群規則,不要求集群狀態變化(在步驟704e,否),集群頭部直接回到步驟706。集群頭部進而在參照圖8的步驟706到718中的集群狀態檢查其自身狀態之前,執行其作為集群頭部的功能。
[0072]圖8和9的過程可以在周期間隔(例如10秒)內運行。根據特定的網絡條件管理應用等可以選擇其他時間周期。圖8的過程還可以由特定的事件觸發,包括諸如加入網絡元件等網絡時間,或者諸如加入集群成員等集群事件。在一些示例中,要求施加周期性更新,以確保集群成員之間的有序協同。如此,自上次運行該序列后發生的任何網絡或集群加入被考慮,用于該過程的下次運行。
[0073]圖8和9圖示了參看圖1和2描述的功能如何實現。集群的一個成員運行為集群頭部,選擇基礎算法,基于根據集群內部共享的數據每個集群成員可以運行該算法。集群頭部監控集群處理負載,并且如果由域和集群規則確定處理負載保證更新集群狀態,其更新集群狀態。集群成員檢測更新的集群狀態,并執行必要的操作以跟隨該集群狀態,支持后續的負載均衡。
[0074]上述討論使用包含集群所有成員的集群子集之間的負載均衡的示例。然而,如前所述,同樣可以執行只包括一些集群成員的集群子集之間的負載均衡。例如,在圖9的集群狀態檢查過程中可能確定少量的集群成員是重負載的,一些集群成員是輕負載的。在這種情況下,集群頭部可以要求使用部分暫停狀態僅在受影響的集群成員集上的部分負載均衡。集群頭部可以將集群成員設置為部分暫停狀態,并設置集群數據,以指示應當執行負載均衡的集群成員。在圖8的狀態管理過程中,在確定集群狀態已經更新為部分暫停時,集群成員首先檢查它是否應當參加負載均衡狀態改變,并且只有在此情況下,跟隨集群狀態執行從運行到部分暫停以及從部分暫停到運行的轉變。從運行到部分暫停以及回到運行的轉變操作可以與從運行到暫停再到運行的轉變操作相同。
[0075]要在其上執行負載均衡的子集同樣可以通過從池中添加成員或者移除成員到池來調整。這樣的集群成員池可以被用于減輕負載上的快速增長。啟動的成員集合可以被保持在該池中,不分配任何負載。當負載上出現快速增長時,一些管理負載可以被傳送至池中的成員。當負載降低,集群成員可以被返回到該池。該池的最小和最大尺寸,以及用于增加和減小該池的塊尺寸可以是可配置的。當池大小降低到最小尺寸下時,新的集群成員被啟動并加入到該池。當池大小上升到其最大值上時,集群成員被停止并從池中移除。
[0076]圖10圖示了用于本文描述的分發網絡管理處理負載的方法的示例操作。在圖10的示例中,管理應用在執行,并使用6個自主集群成員Ml到M6以處理其管理負載。
[0077]在時刻to,該集群和所有集群成員被表示為停止。該應用在時刻^啟動,集群成員采用圖6a的步驟啟動。
[0078]集群成員之一確定它要運行為集群頭部,并在時刻tl設置集群狀態為運行。具體在圖8中,集群成員Ml到M6的周期過程允許集群成員讀取集群狀態變化,并觸發從停止狀態到運行狀態的轉變操作的運行。在本示例中,負載均衡被執行為到運行狀態的轉變的一部分,負載均衡算法進而在每個成員中執行,該算法分配管理網絡元件的一部分至每一成員。在執行負載均衡算法后,每個成員針對有問題的網絡元件建立網絡會話,開始針對這些網絡元件執行管理任務,并將其狀態設置為運行。到時刻t2,所有集群成員具有運行狀態。
[0079]從時刻t2到時刻t3,該應用正常執行,不執行負載均衡。在時刻t3,集群頭部通過圖9的過程檢測到網絡元件已經被加入到網絡,它將集群狀態設置為暫停。集群成員Ml到M6執行的圖8的周期過程導致集群成員讀取集群狀態變化,并觸發它們從運行狀態到暫停狀態的轉變操作的執行。每個成員要求管理任務的完成,并暫停任何新的任務的初始化。一旦任務已經停止,每個成員將其狀態設置為暫停。到時刻t4,所有集群成員已經表示為暫停。
[0080]在時刻t5,集群頭部再次將集群狀態設置為運行。集群成員Ml到M6的周期過程再次讀取集群狀態變化,并觸發它們從運行狀態到暫停狀態的轉變操作的執行。負載均衡再次被執行為到運行狀態的轉變的一部分,面對網絡元件的對話被再次建立。到時刻U,所有集群成員具有運行狀態。
[0081]從時刻t6到時刻t7,該應用正常執行;不執行負載均衡。在時刻t7,集群頭部通過圖9的過程檢測到集群負載不均衡,將集群狀態設置為暫停。集群成員Ml到M6的周期過程讀取這一變化,并執行到暫停狀態的改變。到時刻t8,所有集群成員已經表示為暫停。在時刻t9,集群頭部再次將集群狀態設置為運行,到時刻t1Q,所有集群成員再次轉變到運行狀態。
[0082]根據上述示例的變形,一旦集群成員Ml到M6從共享數據建立了每個其他成員將其狀態設置為暫停,可以執行負載均衡。一旦它已經完成負載均衡,每個成員隨后可以設置標記。一旦設置了所有標記,集群頭部將集群狀態設置為運行,這一操作由集群成員跟隨。
[0083]上述的方法可以用于處理負載的負載均衡的大范圍的管理應用。一個示例包括從網絡元件收集和處理事件。在這樣的管理應用中,網絡元件可以隨時被加入網絡或者從網絡移除。分布管理系統的許多示例被用于從個體的網絡元件收集和處理事件,在任何時刻運行的實例數量可以根據當前網絡大小、當前事件負荷而變化,這是因為特定示例的失敗。本文描述的負載均衡方法可以被用于這樣的系統,以公平地均衡在所有運行實例上管理負載。
[0084]本發明的方面進而提供了一種支持管理應用自動地以自主方式均衡許多分布實例上的處理負載的方法。協作某一成員扮演集群頭部且集群成員跟隨該集群頭部狀態的集群的使用,支持管理應用自動處理域的變化(例如網絡元件的加入或移除),并自動地調整當前運行示例上的負載。管理實例的加入或移除同樣可以被自動地累計以適應負載過程的變化,并最優化能耗或處理應用實例的失敗。
[0085]本發明的示例提供魯棒性和靈活性二者。一旦管理應用的兩個或多個實例根據本發明的方面運行,不存在單點的失敗,因為任何實例的失敗將通過剩余實例之間的均衡而補償。集群頭部實例的失敗將簡單導致新成員確定,其需要在下次運行圖8的周期過程時運行為集群頭部。
[0086]本發明的示例是高度可配置的:用于觸發負載均衡的域和集群規則在每個狀態管理過程運行中被設置和修改。集群成員所使用的負載均衡算法可以從簡單到高度復雜延展,同樣可以在運行時間修改。此外,該方法可應用到被設計運行于分布實例上的大范圍的應用。
[0087]應當指出,上述示例僅為圖示而非限制本發明,本領域技術人員將能夠在不脫離附加權利要求的范圍內涉及許多替代實施例。單詞“包括”不排除元件或步驟的存在,而不是權利要求中列出的,“一”或“一個”不排除多個,單個處理器或者其他單元可以執行權利要求中列舉的多個單元的功能。權利要求中任何參考標記不應當被解釋為限制它們的范圍。
【主權項】
1.一種在多個網絡管理處理元件上分發網絡管理處理負載的方法,每個網絡管理處理元件是集群的成員,一個成員是更新集群狀態的集群頭部,并且所述集群的成員跟隨所述集群狀態,所述方法包括: 所述集群頭部監控在所述集群的成員上的網絡管理處理負載;以及 在檢測到所述集群負載不均衡時,一旦所述多個成員的子集處理的任務已經完成,所述集群頭部更新所述集群狀態,以發起在所述集群的多個成員的至少子集上的網絡管理處理負載的自動再均衡。2.根據權利要求1所述的方法,其中再均衡所述網絡管理處理負載的步驟包括: 在當前任務的處理完成后,暫停所述多個成員的子集的每個成員的操作; 在所述子集的所有成員暫停后,自動再均衡所述網絡管理處理負載。3.根據權利要求2所述的方法,其中所述自動再均衡負載的步驟包括: 從該集群的開始成員池中加入網絡管理處理元件至該子集,或者 將網絡管理處理元件從該子集移除至該集群的開始成員池。4.根據權利要求2或3所述的方法,其中所述自動再平衡負載的步驟包括: 該子集的至少一個成員運行負載均衡算法,以根據在集群成員之間共享的處理負載數據,設置由所述網絡管理處理元件處理的網絡管理處理負載。5.根據前述任何一項權利要求所述的方法,其中所述方法進一步包括: 檢測該集群已經將狀態從第一狀態改變到第二狀態; 一旦正處理的任務已經完成,將集群成員的狀態從第一狀態改變為第二狀態。6.根據權利要求5所述的方法,其中所述改變集群成員狀態的步驟包括: 在當前任務的處理完成后暫停成員的操作; 將集群成員的狀態從第一狀態改變為第二狀態。7.根據權利要求5或6所述的方法,進一步包括: 出現觸發事件時檢查集群狀態;其中觸發事件包括時限超期或者網絡事件的至少一個。8.—種計算機程序產品,其配置為在計算機上運行以執行根據權利要求1到7任何一項所述的方法。9.一種分發用于控制通信網絡的處理的方法,所述網絡包括多個節點,所述網絡由多個處理元件的集群控制,每個處理元件是集群的成員之一,一個成員是更新集群狀態的集群頭部,并且所述集群的成員跟隨所述集群狀態,該方法包括根據權利要求1到7任何一項所述的步驟。10.—種網絡管理處理元件,其運行為包括多個網絡管理元件的集群的成員,該集群的一個成員是該集群的頭部,其配置為更新該集群狀態;所述網絡管理處理元件包括: 檢測器,其配置為檢測集群狀態的更新;以及 負載均衡器,其配置為一旦由多個成員的子集正執行的任務已經完成時,參照該集群的多個成員的至少一個子集,重新均衡由網絡管理處理元件處理的網絡管理處理負載。11.根據權利要求10所述的網絡管理處理元件,進一步包括:元件狀態管理器,其配置為暫停所述元件的操作。12.根據權利要求11所述的網絡管理處理元件,其中所述檢測器被配置為檢測該集群已經將狀態從第一狀態改變到第二狀態,并且其中所述元件狀態管理器被配置為,一旦正處理的任務已經完成,將網絡管理處理元件的狀態從第一狀態改變為第二狀態。13.根據權利要求10到12任何一項所述的網絡管理處理元件,其中負載均衡器可以被配置為,運行負載均衡算法,以根據集群成員之間共享的處理負載數據,設置網絡管理處理元件所處理的網絡管理處理負載。14.根據權利要求10到13任何一項所述的網絡管理處理元件,進一步包括: 檢查單元,其配置為在發生觸發事件時檢查集群狀態,其中,觸發事件包括時限超期或者網絡事件的至少一個。15.根據權利要求10到14任何一項所述的網絡管理處理元件,進一步包括: 監控器,其配置為監控集群成員上的網絡管理處理負載,以及 集群狀態管理器,其配置為在檢測到所監控的網絡處理負載不均衡時,更新集群狀態。16.根據權利要求15所述的網絡管理處理元件,進一步包括: 標識單元,其配置為確定網絡管理處理元件是否作為集群頭部操作。17.—種作為集群的集群頭部運作的網絡管理處理元件,包括多個網絡管理處理元件,所述網絡管理處理元件包括: 監控器,其配置為監控該集群成員上的網絡管理處理負載,以及 集群狀態管理器,其配置為在檢測到所監控的網絡處理負載不均衡時,更新集群狀態。18.—種網絡管理處理元件,運行為包括多個網絡管理元件的集群的成員,該集群的一個成員是該集群的頭部,其配置為更新該集群狀態;所述網絡管理處理元件包括處理器和存儲器,所述存儲器包括可以由所述處理器執行的指令,據此所述網絡管理處理元件可操作為: 檢測集群狀態的更新;以及 一旦由多個成員的子集正執行的任務已經完成時,參照該集群的多個成員的至少一個子集,再均衡由網絡管理處理元件處理的網絡管理處理負載。19.根據權利要求18所述的網絡管理處理元件,其中所述網絡管理處理元件進一步可操作為:暫停所述元件的操作。20.根據權利要求18到19任何一項所述的網絡管理處理元件,其中所述網絡管理處理元件進一步可操作為: 檢測該集群已經將狀態從第一狀態改變到第二狀態;以及 一旦正處理的任務已經完成,將網絡管理處理元件的狀態從第一狀態改變為第二狀??τ O21.根據權利要求18到20任何一項所述的網絡管理處理元件,其中所述網絡管理處理元件進一步可操作為:運行負載均衡算法,以根據集群成員之間共享的處理負載數據,設置所述網絡管理處理元件所處理的網絡管理處理負載。22.根據權利要求18到21任何一項所述的網絡管理處理元件,其中所述網絡管理處理元件進一步可操作為: 在發生觸發事件時檢查集群狀態,其中,觸發事件包括時限超期或者網絡事件的至少一個。23.根據權利要求18到22任何一項所述的網絡管理處理元件,其中所述網絡管理處理元件進一步可操作為: 監控集群成員上的網絡管理處理負載,以及 在檢測到所監控的網絡處理負載不均衡時,更新集群狀態。24.根據權利要求23所述的網絡管理處理元件,其中所述網絡管理處理元件進一步可操作為: 確定所述網絡管理處理元件是否作為集群頭部操作。
【文檔編號】H04L29/08GK106068626SQ201380081856
【公開日】2016年11月2日
【申請日】2013年10月23日 公開號201380081856.X, CN 106068626 A, CN 106068626A, CN 201380081856, CN-A-106068626, CN106068626 A, CN106068626A, CN201380081856, CN201380081856.X, PCT/2013/72195, PCT/EP/13/072195, PCT/EP/13/72195, PCT/EP/2013/072195, PCT/EP/2013/72195, PCT/EP13/072195, PCT/EP13/72195, PCT/EP13072195, PCT/EP1372195, PCT/EP2013/072195, PCT/EP2013/72195, PCT/EP2013072195, PCT/EP201372195
【發明人】L·法隆, S·阿胡坦
【申請人】瑞典愛立信有限公司