两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種多集群系統(tǒng)的可重組方法

文檔序號:7719798閱讀:104來源:國知局
專利名稱:一種多集群系統(tǒng)的可重組方法
技術(shù)領域
本發(fā)明涉及高性能計算機集群技術(shù)領域,特別是涉及到多集群間的可重組技術(shù)。
背景技術(shù)
集群是一種計算機系統(tǒng),它通過一組松散集成的計算機軟件和硬件連接起來高度 緊密地協(xié)作完成計算工作,具有造價低、維護簡便、配置靈活等優(yōu)點,并且一般情況下集群 計算機比單個計算機,比如工作站或超級計算機性能價格比要高得多。圖1為集群的物理 結(jié)構(gòu),多臺計算機(管理節(jié)點1和計算節(jié)點3)通過交換機或其他高速通信設備2連接成網(wǎng) 絡,即構(gòu)成一個簡單的計算機集群(以下簡稱為集群)。圖2為集群的邏輯結(jié)構(gòu)。
但是隨著社會的發(fā)展,人們對大量數(shù)據(jù)計算和復雜問題求解的需求日益增多,對 計算機系統(tǒng)的性能、可用性和成本提出了更高的要求,單個集群很多時候已經(jīng)不能夠滿足 計算的需求,它的缺點及不足也逐漸凸顯。 當并行作業(yè)需要的節(jié)點數(shù)超過集群的總節(jié)點數(shù)時,單個集群就沒有辦法運行了, 所以單個集群無法處理更大規(guī)模的計算任務。如果將多個處于不同地理位置的集群通過網(wǎng) 絡連接起來,組成一個更大的計算資源,通常稱之為多集群(Multi-cluster)。多集群技術(shù) 可以將一些企業(yè)和組織現(xiàn)有的多個集群連接起來,組成一個更大的計算資源。這樣做不僅 可以大大提高該組織整體的計算能力,能夠運行更大規(guī)模的計算任務,還可以平衡負載,避 免有些部門的集群用戶因作業(yè)多而使得所屬部門的集群系統(tǒng)過度超載,而另一些部門的集 群用戶則因為作業(yè)少而閑置了該部門的集群系統(tǒng),使得集群系統(tǒng)的使用率非常的低。這種 方案不需要增加硬件成本,僅要更新系統(tǒng),就可以大大提高計算能力,是非常有效的。
然而,現(xiàn)實應用中需要集群之間能夠靈活的配置,以便于車載或移動并行計算。多 個集群可以通過靈活組合及拆分配置形成一個靈活計算環(huán)境,就必須將這些集群有機地結(jié) 合為一個邏輯上的整體,使其既能滿足更高計算能力的要求,又具有良好的可伸縮性和可 用性。換句話說,多個獨立的集群在面臨具有較大計算量的任務時,需要整合到一起共同提 供計算能力,而在計算任務完成后,又需要能夠馬上分散開去單獨使用,甚至在一些特殊的 情況下,需要將單個或一組集群從多集群中拆出去,組合成一個小規(guī)模的多集群進行車載 移動計算。但是,現(xiàn)有技術(shù)并未有效的解決上述問題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的就是要提供一種多集群系統(tǒng)的可重組方法,該方法就可 以解決多集群組合、拆分等靈活性配置問題,可以滿足特殊環(huán)境下的動態(tài)性、自適應性要 求。 根據(jù)本發(fā)明的第一方面,本發(fā)明揭露了一種多集群系統(tǒng)的可重組的方法,包括如 下步驟將多個可單獨工作的成員集群的管理節(jié)點之間以網(wǎng)絡互聯(lián),使管理節(jié)點之間可以 相互通信,從而夠成多集群;令所述管理節(jié)點轉(zhuǎn)發(fā)所述成員集群的各個計算節(jié)點之間的通 信;在每個成員集群的所述管理節(jié)點中設置調(diào)度器和作業(yè)管理器,負責作業(yè)的提交、調(diào)度與管理;在每個成員集群的所述計算節(jié)點中設置資源及作業(yè)監(jiān)控器,負責監(jiān)視計算節(jié)點的資 源狀況和作業(yè)任務的執(zhí)行;每個成員集群的管理節(jié)點負責接收本地用戶提交的作業(yè),由管 理節(jié)點將作業(yè)分配到各個計算節(jié)點,為避免調(diào)度沖突,每個成員集群的管理節(jié)點只與一個 被激活的調(diào)度器交互進行作業(yè)的調(diào)度,所述被激活的調(diào)度器是為多個成員集群中的所述管 理節(jié)點服務的;將所述多集群中的多個成員集群進一步劃分為主集群和從集群,其中主集 群是具有所述被激活的調(diào)度器的成員集群,從集群是不包含所述被激活的調(diào)度器的成員集 群;該方法進一步包括以下三種處理處理一,根據(jù)系統(tǒng)需求,將一待合并集群加入到當前 多集群中;處理二,根據(jù)系統(tǒng)需求,在主集群退出當前多集群后,重新確定新的主集群;處 理三,根據(jù)系統(tǒng)需求,將某一從集群退出當前多集群,并重新組織多集群。
根據(jù)本發(fā)明的第一方面,上述處理一進一步包括探測階段、握手階段、競爭階段 和更新階段;所述待合并集群可以是未加入任何多集群的單集群,也可以是一個多集群; 其中, a.探測階段 ①當前主集群周期性的向多集群網(wǎng)絡內(nèi)廣播一條探測消息,并監(jiān)聽回復;
②一個待合并集群收到了一條上述探測消息后,判斷它是否是自己發(fā)出的,如果 是則丟棄;如果不是則向發(fā)送探測消息的當前主集群發(fā)送一條包含自己信息的回復,之后, 該待合并集群丟棄所有收到的探測消息; ③當前主集群收到待合并集群的回復消息后,當前主集群向待合并集群發(fā)送請求 結(jié)合的消息,并等待該請求結(jié)合的消息的回復消息;
b.握手階段 ④待合并集群收到當前主集群發(fā)來的請求結(jié)合的消息以后,向當前主集群發(fā)送該 請求結(jié)合的消息的回復消息; ⑤當前主集群收到待合并集群發(fā)來的該請求結(jié)合的消息的回復消息后,向待合并 集群發(fā)送同意結(jié)合消息,雙方握手成功;
c.競爭階段 ⑥待合并集群向當前主集群發(fā)送競爭消息,開始競爭主集群; ⑦雙方根據(jù)競爭規(guī)則進行競爭,競爭獲勝者成為新的主集群,失敗者和自己的從 集群都成為對方的從集群;
d.更新階段 ⑧競爭失敗的集群向自己所有的從集群發(fā)送一條包含新的主集群ID的主集群變 更消息,通知它們更改自己的主集群信息; 所述競爭規(guī)則為選擇擁有從集群數(shù)目最多的主集群成為新的主集群。
根據(jù)本發(fā)明的第一方面,上述處理二進一步包括l)確定新的主集群的選舉規(guī) 則,選舉編號最大的集群作為新的主集群;2)當前主集群退出后,首先發(fā)現(xiàn)當前主集群退 出的集群召集選舉,該召集選舉的集群向所有比自己編號大的集群發(fā)送一條選舉消息;3) 如果某一集群收到編號比自己小的集群發(fā)來的選舉信息,則該集群回復一條包含自身編 號信息的消息給該召集選舉的集群;4)如果所述召集選舉的集群得不到任何回復,則該召 集選舉的集群贏得選舉,該召集選舉的集群向所有集群發(fā)送協(xié)調(diào)消息,宣布自己為新的主 集群;5)如果該召集選舉的集群得到任何一個回復,該回復一定來自于比自己編號大的集群,該召集選舉的集群的召集選舉工作結(jié)束,因為該召集選舉的集群此時已經(jīng)不可能贏得 選舉而成為新的主集群;6)對于除了該召集選舉的集群之外的其它集群,或正在召集選 舉,或可能接收到比自己編號小的集群的選舉消息,當除上述召集選舉的集群之外的其它 集群收到一個選舉消息后,將回復一個應答消息給該發(fā)送選舉消息的集群;如果這時除上 述召集選舉的集群之外的其它集群還不是召集選舉的集群,它們也將開始一個召集選舉的 過程,即執(zhí)行步驟1)到4)的操作。 根據(jù)本發(fā)明的第一方面,上述處理三進一步包括主集群周期性的給各個從集群 發(fā)送廣播,當主集群發(fā)現(xiàn)某個從集群不再響應,就發(fā)送消息給各個集群,并更新成員集群列 表信息,表明未響應的從集群已退出或者出現(xiàn)故障。 根據(jù)本發(fā)明的第一方面,上述處理二進一步包括l)確定新的主集群的選舉規(guī) 則,選舉編號最大的集群作為新的主集群;2)當前主集群退出后,首先發(fā)現(xiàn)當前主集群退 出的集群召集選舉,該召集選舉的集群向所有比自己編號大的集群發(fā)送一條選舉消息;3) 如果某一集群收到編號比自己小的集群發(fā)來的選舉信息,則回復一條包含自身編號信息的 消息給該召集選舉的集群;4)如果召集選舉的集群得不到任何回復,則該召集選舉的集群 贏得選舉,該召集選舉的集群向所有集群發(fā)送協(xié)調(diào)消息,宣布自己當選新的主集群;5)如 果所述召集選舉的集群得到回復,該召集選舉的集群收集所有響應消息,從中選取編號最 大的集群,推舉它為新的主集群,該新的主集群向其它集群發(fā)送消息通知選舉結(jié)果。
根據(jù)本發(fā)明的第一方面,上述處理二進一步包括l)確定新的主集群的選舉規(guī) 則,選舉編號最大的集群作為新的主集群;2)當前主集群退出后,首先發(fā)現(xiàn)當前主集群退 出的集群召集選舉,該召集選舉的集群向所有比自己編號大的集群發(fā)送一條選舉消息;3) 如果多個集群同時發(fā)起選舉,則多集群系統(tǒng)中的某一集群將收到多條所述選舉消息,該收 到多條選舉消息的集群只向發(fā)送多條選舉消息的多個召集選舉的集群中的編號較小的集 群回復一個包含自身編號信息的應答消息;4)如果某一召集選舉的集群得不到任何回復, 則該召集選舉的集群贏得選舉,該召集選舉的集群向所有集群發(fā)送協(xié)調(diào)消息,宣布自己成 為新的主集群;5)如果上述召集選舉的集群得到回復,該召集選舉的集群收集所有響應消 息,從中選取編號最大的集群,推舉它為新的主集群,該新的主集群向其它集群發(fā)送消息通 知選舉結(jié)果。 為了要讓本發(fā)明的目的、特征和優(yōu)點能更明顯易懂,下文例舉了本發(fā)明的數(shù)個實 施例,并配合附圖,作詳細說明如下,籍以使本領域普通技術(shù)人員能夠更清楚的了解本發(fā)明 所欲闡述的精神。


圖1是集群的物理結(jié)構(gòu)圖; 圖2是集群的邏輯結(jié)構(gòu)圖; 圖3是可重組多集群計算環(huán)境的組織結(jié)構(gòu); 圖4是作業(yè)管理和調(diào)度相互分離的體系結(jié)構(gòu); 圖5是集中式管理和集中式調(diào)度結(jié)構(gòu)圖; 圖6是分布式管理和集中式調(diào)度結(jié)構(gòu)圖; 圖7是分布式管理和分布式調(diào)度結(jié)構(gòu) 圖8是可重組多集群系統(tǒng)的體系結(jié)構(gòu); 圖9是Master集群的退出處理示意圖; 圖10是Master集群退出處理的優(yōu)化處理1 ; 圖11是Master集群退出處理的優(yōu)化處理2。
具體實施方式

實施例1 可重組多集群計算環(huán)境由多個成員集群4組成,各集群有獨立的管理域并可單獨
工作,集群之間處于對等地位,多集群計算環(huán)境的組合與拆分無需改變各集群的管理域,能
夠靈活方便的重組,具有較好的可伸縮性與可用性。其組織結(jié)構(gòu)如圖3所示。 若多集群計算環(huán)境由n個成員集群Q,C2,…,C;組成,其中Ci由多個同構(gòu)的計算
節(jié)點3構(gòu)成,則其可重組性可以描述為多集群M二 {Ci,l《i《n}中的集群可以任意組
合成為多個集群組K, N2,…Nm(1《m《n),且Nj(1《j《m)是M的非空子集之一,如果
x G Np, y G Nq,并且p - q,那么必然有x - y。 多個集群的管理節(jié)點1之間以網(wǎng)絡互聯(lián),可以相互通信,多集群間的各個計算節(jié)
點3之間的通信需要經(jīng)過管理節(jié)點1的轉(zhuǎn)發(fā)。 經(jīng)過分析,要滿足可重組性就要解決以下兩個問題。 >如何知道當前系統(tǒng)中有哪些成員集群? >由誰來存儲成員集群的信息? 在多集群調(diào)度作業(yè)的過程中,需要查詢每個成員集群4的作業(yè)及資源狀況,從而 做出調(diào)度決策。在通常的多集群作業(yè)管理系統(tǒng)中,可以使用配置文件來指定每個成員集群 4。但是,在可重組式多集群中,成員集群4可以隨時動態(tài)地加入或退出,如果每次都需要用 戶手動的更新各個配置文件,無疑為用戶更加了工作量,降低了多集群系統(tǒng)的易用性。因 此,需要有一種新的機制來維護當前系統(tǒng)中所有成員集群4的列表,以供調(diào)度器使用。
另外一個問題是成員集群4的列表存儲在什么地方。最為直觀的解決方法是由成 員集群4中的某一個節(jié)點來負責維護集群列表的信息。然而,在可重組環(huán)境中,任何一個集 群節(jié)點都可能隨時退出。 本發(fā)明采用了作業(yè)管理和調(diào)度相互分離的體系結(jié)構(gòu),降低了作業(yè)管理模塊和調(diào)度 模塊間的耦合性,簡化了調(diào)度器的實現(xiàn),便于加入新的調(diào)度策略,并且賦予了調(diào)度器同時為 多個作業(yè)管理器服務的能力。 如圖4所示,作業(yè)管理器組件5和調(diào)度器6組件被安裝在集群的管理節(jié)點1上,而 每個計算節(jié)點3上都會安裝一個資源及作業(yè)監(jiān)控器組件7。作業(yè)管理器組件5具有成員集 群列表,其存儲成員集群的相關(guān)信息,該作業(yè)管理器5對作業(yè)進行全生命周期的管理,還負 責和用戶之間的交互,包括作業(yè)提交和監(jiān)控等。資源及作業(yè)監(jiān)控組件7負責監(jiān)視計算節(jié)點3 的資源狀況和作業(yè)任務的執(zhí)行。調(diào)度器組件6是調(diào)度模塊,本身不存儲任何作業(yè)和資源信 息。當作業(yè)管理器組件5需要進行作業(yè)調(diào)度的時候,會給調(diào)度器組件6發(fā)送一條調(diào)度命令, 調(diào)度器組件6做完調(diào)度決策后將結(jié)果發(fā)回給作業(yè)管理器組件5。作業(yè)管理器組件5和調(diào)度 器組件6之間以標準的TCP/IP進行通信,因此,作業(yè)管理器組件5和調(diào)度器組件6完全可 以在不同的機器上。并且,由于調(diào)度器組件6并不存儲任何作業(yè)信息,因此可以同時為多個集群上的作業(yè)管理器組件提供調(diào)度服務。上述作業(yè)管理器組件5、調(diào)度器組件6和資源及作 業(yè)監(jiān)控組件7在本領域通常是由程序或硬件實現(xiàn),并已得到廣泛使用。 在確立了作業(yè)管理和作業(yè)調(diào)度相分離,以及事件驅(qū)動的調(diào)度模型之后,就可以在 調(diào)度模型之上選擇相應的體系結(jié)構(gòu)。有以下三種體系結(jié)構(gòu)可供選擇
、集中式調(diào)度和集中式管理
>集中式調(diào)度和分布式管理
>分布式管理和分布式調(diào)度 集中式管理和集中式調(diào)度實際上是單集群作業(yè)管理系統(tǒng)的一種簡單擴展。如圖5 所示,它在單集群之上添加了一個高層的作業(yè)管理器和調(diào)度器,從而將單集群的兩層樹形 結(jié)構(gòu)擴展為三層。物理上,高層作業(yè)管理器和調(diào)度器可以安裝在一臺單獨的主機上,也可以 由某個單元集群的管理節(jié)點l來代理。和單集群相同,用戶仍然只能在樹結(jié)構(gòu)的根節(jié)點上 提交作業(yè)。在這種情況下,每個單元集群上的本地作業(yè)管理器5不再具有作業(yè)管理的功能, 而成為了全局作業(yè)管理器的執(zhí)行代理。這種結(jié)構(gòu)實現(xiàn)簡單,對于一般的多集群來講比較適 合。然而,在可重組多集群中,任何集群都有可能隨時退出,無法存在一個節(jié)點來安裝全局 管理器。 分布式管理和集中式調(diào)度中,沒有全局的作業(yè)管理器,如圖6所示,每個集群的本 地作業(yè)管理器5負責接收本地用戶提交的作業(yè),并且管理這些作業(yè)。所有的本地作業(yè)管理 器5與一個調(diào)度器6交互進行作業(yè)的調(diào)度,此時的調(diào)度器6是為多個作業(yè)管理器5服務的。
在分布式管理和分布式調(diào)度中,每個集群都有自己的本地作業(yè)管理器5,如圖7所 示,并且都有一個調(diào)度器6,每個調(diào)度器6都能夠?qū)ψ鳂I(yè)進行全局的調(diào)度。對于可重組多集 群來講,這是最理想的結(jié)構(gòu)。然而,在這種結(jié)構(gòu)中,因為系統(tǒng)中存在多個調(diào)度器6,可能出現(xiàn) 調(diào)度沖突,需要在各個調(diào)度器6之間進行同步,實現(xiàn)起來較為困難。 經(jīng)過上述分析,發(fā)現(xiàn)分布式管理和集中式調(diào)度最適合于可重組的環(huán)境。但是這個 結(jié)構(gòu)還存在一些問題,因為如果調(diào)度器6所在的集群退出后,系統(tǒng)就失去了調(diào)度器6。但是 因為調(diào)度器6本身不存儲任何信息,因此可以采用如下方案,在每個集群上都安裝一個調(diào) 度器6,但是只有一個處于激活狀態(tài),其他的都當作備用調(diào)度器。如圖8所示,集群1的調(diào)度 器6是激活的調(diào)度器,集群2和集群3的調(diào)度器6都作為備用調(diào)度器。我們把激活的調(diào)度 器所在的集群稱作Master集群(主集群),其他的集群稱作Slave集群(從集群)。另外, 我們把沒有和任何集群組成多集群的單集群稱作Idle集群(空閑集群)。
當激活的調(diào)度器所在集群退出后,可以通過某種方式來啟動一個備用調(diào)度器。但 是必須只能啟動一個,并且在所有的集群中達成共識。 由于一個多集群系統(tǒng)中有一個Master集群和若干個Slave集群。未加入任何多 集群的單集群叫做Idle集群。那么,可重組機制就要能夠適應如下幾種情形
1)空閑集群加入多集群Master集群如何發(fā)現(xiàn)新的集群,并把它變成自己的 Slave集群。 2)兩個多集群的合并系統(tǒng)中出現(xiàn)了兩個Master集群,則由誰來成為唯一的 Master集群。 3)Master集群離開Master集群退出或出現(xiàn)故障,不再響應時,原來的Slave集群 就失去了自己的Master集群,則如何指定一個新的Master集群。6/9頁 4) Slave集群離開某個Slave集群離開系統(tǒng),此時Master集群如何處理這種情 況。 5)多集群的拆分一個多集群系統(tǒng)中的多個Slave集群同時離開,此時原來的 Master集群如何處理這種情況。 進一步分析,可以發(fā)現(xiàn)其實Idle集群可以看作是一個擁有0個Slave集群的
Master集群,那么情況l)和情況2)就沒有本質(zhì)上的區(qū)別了。對于情況5)可以看作是兩個
集群分別離開進入到另一個通信域,那么情況4)和情況5)就可以看作是同一種情況。最
終,只剩以下3神情形需要處理 >集群的合并 ^Master集群的退出 》Slave集群的退出 針對上述幾種情況,本發(fā)明應用了聚合算法來處理集群的合并問題,同時應用了 選舉算法來處理Master集群的退出。 對于Slave集群退出,Master集群周期性給各個Slave發(fā)送廣播。在一定的周期 內(nèi),當Master集群發(fā)現(xiàn)某個Slave集群不再響應,退出或者出現(xiàn)故障時,就發(fā)送消息給各集 群,更新集群列表信息。 下面對上述三種情況的處理進行詳細描述
(1)關(guān)于集群合并的處理 可分為以下四個階段探測階段,握手階段,競爭階段和更新階段。
a.探測階段 ①Master集群A周期性的向網(wǎng)絡內(nèi)廣播一條Detect消息(探測消息),并監(jiān)聽回復。 ②假設一個Master集群B收到了一條Detect消息后,判斷它是否是自己發(fā)出的, 如果是則丟棄;如果不是則向發(fā)送Detect消息的集群A發(fā)送一條包含自己信息的回復,之 后,集群B丟棄所有收到的Detect消息。 ③集群A收到集群B的回復消息后,集群A向集群B發(fā)送Join消息(請求結(jié)合消 息),并等待Join Ack消息(請求結(jié)合消息的回復消息)。
b.握手階段 集群B收到集群A發(fā)來的Join消息以后,則向集群A發(fā)送Join Ack消息。
⑤集群A收到集群B發(fā)來的Join Ack消息后,向集群B發(fā)送Join Con消息(同
意結(jié)合消息),雙方握手成功。
c.競爭階段 集群B向集群A發(fā)送Compete消息(競爭消息),開始競爭Master集群。
⑦雙方根據(jù)一定的規(guī)則進行競爭,競爭獲勝者成為Master集群,失敗者和自己的 Slave集群都成為對方的Slave集群。
d.更新階段 ⑧競爭失敗的集群向自己所有的Slave集群發(fā)送一條包含新Master集群ID的
UpdateMaster消息(主集群變更消息),通知它們更改自己的Master集群的信息。 競爭規(guī)則為了盡量減少在更新階段中發(fā)送的UpdateMaster消息的數(shù)量,使盡量少的集群更新設置。選定了如下競爭規(guī)則選擇擁有Slave集群數(shù)目多的Master集群競爭 獲勝,成為新的Master集群。 上述Detect消息(探測消息)、Join消息(請求結(jié)合消息)、Join Ack消息(請
求結(jié)合消息的回復消息)、Join Con消息(同意結(jié)合消息)、Compete消息(競爭消息)、
UpdateMaster消息(主集群變更消息)等多種消息通??梢允蔷W(wǎng)絡標識符或其它具有標識
功能的二進制編碼。 (2)Master集群退出的處理 假設Master集群有一個熱備份狀態(tài)的冗余節(jié)點,它不參與計算與管理,當Master 集群離開或者出現(xiàn)故障時,系統(tǒng)利用事務的原理取消作業(yè),選舉出新的Master集群以后, 將備份的作業(yè)狀態(tài)遷移到新的Master集群,重現(xiàn)開始作業(yè)。 假設每個集群有一個全局唯一的編號,這個編號可以是網(wǎng)絡地址或其他方法產(chǎn)生 的編號。假設選舉時總是選舉編號最大的集群作為Master集群。 如果一個集群啟動了選舉的一次執(zhí)行,且每次只能啟動一次召集選舉的過程,則 原則上有n個集群的集群組可能并發(fā)地召集n次選舉。選舉過程的一個基本要求是對當選 集群的選擇必須是唯一的,即使有多個并發(fā)的召集過程在執(zhí)行,最后的結(jié)果必須保證所有 召集選舉和參與選舉的集群對當選的集群達成共識。 參考圖9,圖中標記為0、 1 、2……7的圓圈代表多個集群,具體處理步驟如下 1)當前Master集群退出后,首先發(fā)現(xiàn)當前Master群退出的集群召集選舉,該召集
選舉的集群向所有比自己編號大的集群發(fā)送一條election消息(選舉消息); 2)如果某一集群收到編號比自己小的集群發(fā)來的election消息,則該集群回復
一條包含自身編號信息的OK消息(應答消息)給該召集選舉的集群; 3)如果召集選舉的集群得不到任何回復,則召集選舉的集群贏得選舉,召集選舉
的集群向所有集群發(fā)送coordinator消息(協(xié)調(diào)消息),宣布自己成為新的Master集群; 4)如果召集選舉的集群得到任何一個回復,回復一定來自于比自己編號大的集
群,召集選舉的集群的召集選舉的工作結(jié)束,因為召集選舉的集群此時已經(jīng)不可能贏得選
舉而成為新的Master集群; 5)對于其它集群,或正在召集選舉,或可能接收到比自己編號小的集群的 election消息。當除上述召集選舉的集群之外的其它集群收到一個election消息后,將回 復一個OK消息(應答消息)給該發(fā)送election消息的集群;如果這時除上述召集選舉的 集群之外的其它集群還不是召集選舉的集群,它也將開始一個召集選舉的過程,即執(zhí)行步 驟l)到3)的操作。 上述election消息(選舉消息)coordinator消息(協(xié)調(diào)消息)、0K消息(應答 消息)等通常可以是網(wǎng)絡標識符或其它具有標識功能的二進制編碼。 [OO98] (3) Slave集群退出的處理 Master集群周期性的給各個Slave集群發(fā)送廣播,在一定的周期內(nèi),當Master集 群發(fā)現(xiàn)某個Slave集群不再響應,就發(fā)送消息給各集群,并更新集群列表信息,表明該未響 應的Slave集群已退出或者出現(xiàn)故障。
實施例2 實施例1中Master集群的退出處理的優(yōu)勢是執(zhí)行簡單,但是當集群的數(shù)量較多或者是編號較小的集群首先發(fā)現(xiàn)Master集群退出的情況下,需在網(wǎng)絡上傳輸大量的信包,系 統(tǒng)性能比較低。 本實施例針對實施例1中Master集群的退出處理進行了改進,得到一種優(yōu)化處理 方法。當一個集群P發(fā)現(xiàn)Master集群不再響應請求時,它就發(fā)起選舉。參考圖IO,圖中標 記為0、1、2……7的圓圈代表多個集群,處理過程如下 1)當前Master集群退出后,首先發(fā)現(xiàn)當前Master集群退出的集群召集選舉,該召 集選舉的集群向所有比自己編號大的集群發(fā)送一條election消息(選舉消息);
2)如果某一集群收到編號比自己小的集群發(fā)來的election消息,則回復一條包 含自身編號信息的OK消息(應答消息)給該召集選舉的集群; 3)如果召集選舉的集群得不到任何回復,則該召集選舉的集群贏得選舉,該召集 選舉的集群向所有集群發(fā)送coordinator消息(協(xié)調(diào)消息),宣布自己當選新的Master集 群; 4)如果該召集選舉的集群得到回復,該召集選舉的集群收集所有響應消息,從中 選取編號最大的集群,推舉它為新的Master集群(即不需要循環(huán)過程, 一次選出協(xié)調(diào)者), 新的Master集群向其它集群發(fā)送消息通知選舉結(jié)果。 上述優(yōu)化后的處理方式避免了不斷循環(huán)的選舉過程,在任何情況下都只需經(jīng)過一 輪選舉就可選出新的協(xié)調(diào)者。當集群數(shù)量大或編號較小集群率先發(fā)起選舉時,優(yōu)越性體現(xiàn) 得很明顯。由于極大地減少了集群間通信的消息數(shù),系統(tǒng)總體性能得到顯著的改善和提高。
相對于實施例1的Master集群退出處理,實施例2的處理方式具有以下優(yōu)點
①減少了選舉過程所需傳遞的消息數(shù),進而減少了網(wǎng)絡流量,避免了由于在網(wǎng)絡 上傳輸大量的信包而引起網(wǎng)絡擁塞; ②由于消息傳遞量的減少,使得通信量最小化,相應使得響應時間也最小化,避免
了由于網(wǎng)絡流量太大而引起的網(wǎng)絡延遲,提高了系統(tǒng)工作效率和性能。 實施例3 對于分布式的多集群環(huán)境,如果不止一個、甚至所有集群同時發(fā)現(xiàn)Master失效, 并同時發(fā)起選舉,也會造成網(wǎng)絡負載加重。針對這種情況,本實施例再一次對實施例l和實 施例2中的Master集群退出處理方法進行改進。 參考圖11 ,圖中標記為0、 1 、2……7的圓圈代表多個集群,處理過程如下 1)當一個召集選舉的集群發(fā)現(xiàn)Master集群不再響應請求時,該召集選舉的集群
向所有比自己編號大的集群發(fā)送一條election消息(選舉消息); 2)如果多個集群同時發(fā)起選舉,則多集群系統(tǒng)中的某一集群將收到多條 election消息,該集群只向發(fā)送多條election消息的多個召集選舉的集群中的編號較小 的集群回復0K消息(應答消息); 3)如果召集選舉的集群得不到任何回復,則該召集選舉的集群贏得選舉,該召集 選舉的集群向所有集群發(fā)送coordinator消息(協(xié)調(diào)消息),宣布自己成為新的Master集 群; 4)如果召集選舉的集群得到回復,該召集選舉的集群收集所有響應消息,從中選 取編號最大的集群,推舉它為新的Master集群,該新的Master集群向其它集群發(fā)送消息通 知選舉結(jié)果。
上述處理方法在實施例2的基礎上,進一步減少了新的Master集群產(chǎn)生過程所需 傳遞的消息數(shù)。 以上所述,僅是本發(fā)明的較佳實例而已,并非對本發(fā)明作任何形式上的限制,雖然 本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何精于本專業(yè)的技術(shù)人員, 在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當可利用上述揭示的技術(shù)內(nèi)容作出其他種種的改良或修 飾為等同變化的等效實例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì) 對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
權(quán)利要求
一種多集群系統(tǒng)的可重組的方法,其特征在于包括如下步驟將多個可單獨工作的成員集群4的管理節(jié)點1之間以網(wǎng)絡互聯(lián),使管理節(jié)點1之間可以相互通信,從而夠成多集群;令所述管理節(jié)點1轉(zhuǎn)發(fā)所述成員集群4的各個計算節(jié)點3之間的通信;在每個成員集群4的所述管理節(jié)點1中設置調(diào)度器6和作業(yè)管理器5,負責作業(yè)的提交、調(diào)度與管理;在每個成員集群4的所述計算節(jié)點3中設置資源及作業(yè)監(jiān)控器7,負責監(jiān)視計算節(jié)點3的資源狀況和作業(yè)任務的執(zhí)行;每個成員集群4的管理節(jié)點1負責接收本地用戶提交的作業(yè),由管理節(jié)點1將作業(yè)分配到各個計算節(jié)點3,為避免調(diào)度沖突,每個成員集群4的管理節(jié)點1只與一個被激活的調(diào)度器交互進行作業(yè)的調(diào)度,所述被激活的調(diào)度器是為多個成員集群4中的所述管理節(jié)點1服務的;將所述多集群中的多個成員集群4進一步劃分為主集群和從集群,其中主集群是具有所述被激活的調(diào)度器的成員集群,從集群是不包含所述被激活的調(diào)度器的成員集群;該方法進一步包括以下三種處理處理一,根據(jù)系統(tǒng)需求,將一待合并集群加入到當前多集群中;處理二,根據(jù)系統(tǒng)需求,在主集群退出當前多集群后,重新確定新的主集群;處理三,根據(jù)系統(tǒng)需求,將一從集群退出當前多集群,并重新組織多集群。
2. —種如權(quán)利要求1所述的多集群系統(tǒng)的可重組的方法,其特征在于所述處理一進 一步包括探測階段、握手階段、競爭階段和更新階段,所述待合并集群可以是未加入任何多 集群的單集群,也可以是一個多集群;其中,a. 探測階段① 當前主集群周期性的向網(wǎng)絡內(nèi)廣播一條探測消息,并監(jiān)聽回復;② 所述待合并集群收到了一條上述探測消息后,判斷它是否是自己發(fā)出的,如果是則 丟棄;如果不是則向發(fā)送探測消息的當前主集群發(fā)送一條包含自己信息的回復,之后,該待 合并集群丟棄所有收到的探測消息;③ 當前主集群收到待合并集群的回復消息后,當前主集群向待合并集群發(fā)送請求結(jié)合 的消息,并等待該請求結(jié)合的消息的回復消息;b. 握手階段④ 待合并集群收到當前主集群發(fā)來的請求結(jié)合的消息以后,向當前主集群發(fā)送該請求 結(jié)合的消息的回復消息;⑤ 當前主集群收到待合并集群發(fā)來的該請求結(jié)合的消息的回復消息后,向待合并集群 發(fā)送同意結(jié)合消息,雙方握手成功;c. 競爭階段⑥ 待合并集群向當前主集群發(fā)送競爭消息,開始競爭主集群;⑦ 雙方根據(jù)競爭規(guī)則進行競爭,競爭獲勝者成為新的主集群,失敗者和自己的從集群 都成為對方的從集群;d. 更新階段⑧ 競爭失敗的集群向自己所有的從集群發(fā)送一條包含新的主集群ID的主集群變更消 息,通知它們更改自己的主集群信息;所述競爭規(guī)則為選擇擁有從集群數(shù)目最多的主集群成為新的主集群。
3. —種如權(quán)利要求1所述的多集群系統(tǒng)的可重組的方法,其特征在于所述處理二進一 步包括如下步驟1) 確定新的主集群的選舉規(guī)則,選舉編號最大的集群作為新的主集群;2) 當前主集群退出后,首先發(fā)現(xiàn)當前主集群退出的集群召集選舉,該召集選舉的集群 向所有比自己編號大的集群發(fā)送一條選舉消息;3) 如果某一集群收到編號比自己小的集群發(fā)來的選舉信息,則該集群回復一條包含自 身編號信息的消息給該召集選舉的集群;4) 如果所述召集選舉的集群得不到任何回復,則該召集選舉的集群贏得選舉,該召集 選舉的集群向所有集群發(fā)送協(xié)調(diào)消息,宣布自己為新的主集群;5) 如果該召集選舉的集群得到任何一個回復,該回復一定來自于比自己編號大的集 群,該召集選舉的集群的召集選舉工作結(jié)束,因為該召集選舉的集群此時已經(jīng)不可能贏得 選舉而成為新的主集群;6) 對于除了該召集選舉的集群之外的其它集群,或正在召集選舉,或可能接收到比自 己編號小的集群的選舉消息,當除上述召集選舉的集群之外的其它集群收到一個選舉消息 后,將回復一個應答消息給該發(fā)送選舉消息的集群;如果這時除上述召集選舉的集群之外 的其它集群還不是召集選舉的集群,它們也將開始一個召集選舉的過程,即執(zhí)行步驟1)到 4)的操作。
4. 一種如權(quán)利要求1所述的多集群系統(tǒng)的可重組的方法,其特征在于所述處理三進一 步包括主集群周期性的給各個從集群發(fā)送廣播,當主集群發(fā)現(xiàn)某個從集群不再響應,就發(fā)送 消息給各個集群,并更新成員集群列表信息,表明未響應的從集群已退出或者出現(xiàn)故障。
5. —種如權(quán)利要求1所述的多集群系統(tǒng)的可重組的方法,其特征在于所述處理二進一 步包括如下步驟1) 確定新的主集群的選舉規(guī)則,選舉編號最大的集群作為新的主集群;2) 當前主集群退出后,首先發(fā)現(xiàn)當前主集群退出的集群召集選舉,該召集選舉的集群 向所有比自己編號大的集群發(fā)送一條選舉消息;3) 如果某一集群收到編號比自己小的集群發(fā)來的選舉信息,則回復一條包含自身編號 信息的消息給該召集選舉的集群;4) 如果召集選舉的集群得不到任何回復,則該召集選舉的集群贏得選舉,該召集選舉 的集群向所有集群發(fā)送協(xié)調(diào)消息,宣布自己當選新的主集群;5) 如果所述召集選舉的集群得到回復,該召集選舉的集群收集所有響應消息,從中選 取編號最大的集群,推舉它為新的主集群,該新的主集群向其它集群發(fā)送消息通知選舉結(jié) 果。
6. —種如權(quán)利要求1所述的多集群系統(tǒng)的可重組的方法,其特征在于所述處理二進一 步包括如下步驟1) 確定新的主集群的選舉規(guī)則,選舉編號最大的集群作為新的主集群;2) 當前主集群退出后,首先發(fā)現(xiàn)當前主集群退出的集群召集選舉,該召集選舉的集群 向所有比自己編號大的集群發(fā)送一條選舉消息;3) 如果多個集群同時發(fā)起選舉,則多集群系統(tǒng)中的某一集群將收到多條所述選舉消 息,該收到多條選舉消息的集群只向發(fā)送多條選舉消息的多個召集選舉的集群中的編號較 小的集群回復一個包含自身編號信息的應答消息;4) 如果某一召集選舉的集群得不到任何回復,則該召集選舉的集群贏得選舉,該召集 選舉的集群向所有集群發(fā)送協(xié)調(diào)消息,宣布自己成為新的主集群;5) 如果上述召集選舉的集群得到回復,該召集選舉的集群收集所有響應消息,從中選 取編號最大的集群,推舉它為新的主集群,該新的主集群向其它集群發(fā)送消息通知選舉結(jié) 果。
全文摘要
本發(fā)明揭露了一種多集群系統(tǒng)的可重組的方法,用以解決多集群組合、拆分等靈活性配置問題。多集群系統(tǒng)包括多個成員集群、成員集群包括管理節(jié)點、計算節(jié)點,管理節(jié)點中設置調(diào)度器和作業(yè)管理器,所有的管理節(jié)點只與一個激活的調(diào)度器交互進行作業(yè)的調(diào)度,多個成員集群進一步劃分為主集群、從集群,其中主集群是具有所述被激活的調(diào)度器的成員集群,從集群是不包含所述被激活的調(diào)度器的成員集群,該方法進一步包括以下三種處理處理一,根據(jù)系統(tǒng)請求,將一待合并集群加入到當前多集群中;處理二,根據(jù)系統(tǒng)請求,在主集群退出當前多集群后,重新確定新的主集群;處理三,根據(jù)系統(tǒng)請求,將某一從集群退出當前多集群,并重新組織多集群。
文檔編號H04L29/06GK101702721SQ200910236550
公開日2010年5月5日 申請日期2009年10月26日 優(yōu)先權(quán)日2009年10月26日
發(fā)明者丁毅, 張偉, 牛建偉, 胡凱, 那日蘇, 陳陸佳 申請人:北京航空航天大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大名县| 双峰县| 榕江县| 岐山县| 辉县市| 栾川县| 麻城市| 巴彦县| 通州市| 铜山县| 潞城市| 安康市| 冕宁县| 左权县| 华阴市| 锡林浩特市| 军事| 濮阳县| 芦山县| 阿尔山市| 成安县| 曲周县| 如皋市| 文山县| 榆树市| 金昌市| 白河县| 鄂温| 赞皇县| 乌拉特后旗| 尤溪县| 乌恰县| 闽清县| 黄石市| 威海市| 翁牛特旗| 邵东县| 临安市| 澄江县| 安泽县| 获嘉县|