張智慧
(北京信息職業(yè)技術(shù)學(xué)院,北京 100015)
基于規(guī)則的分布式集群運(yùn)算系統(tǒng)研究
張智慧
(北京信息職業(yè)技術(shù)學(xué)院,北京 100015)
在分析分布式集群運(yùn)算需求的基礎(chǔ)上,提出了按操作構(gòu)件分解、基于規(guī)則調(diào)度構(gòu)建分布式集群運(yùn)算服務(wù)方法,實(shí)現(xiàn)業(yè)務(wù)運(yùn)算的按需服務(wù),并給出了試驗(yàn)系統(tǒng)總體設(shè)計(jì)和初步驗(yàn)證結(jié)果。
操作構(gòu)件;規(guī)則;分布式;集群
隨著信息技術(shù)的快速發(fā)展,信息系統(tǒng)已經(jīng)成為企事業(yè)單位處理日常事務(wù)、拓展業(yè)務(wù)范圍和提高工作效率的重要支撐平臺。核心服務(wù)尤其是實(shí)時(shí)運(yùn)算服務(wù)的可靠性需求日益提升,并進(jìn)一步要求系統(tǒng)平臺提供高性能、精細(xì)化、可伸縮的保障服務(wù)。服務(wù)器集群架構(gòu)是目前普遍采用的系統(tǒng)核心服務(wù)架構(gòu)模式,用于實(shí)現(xiàn)分布式數(shù)據(jù)處理、集群調(diào)度及負(fù)載平衡,根據(jù)數(shù)據(jù)處理負(fù)載的增長,方便地進(jìn)行服務(wù)器集群擴(kuò)展。在實(shí)時(shí)數(shù)據(jù)處理上,引入基于操作構(gòu)件的數(shù)據(jù)流處理技術(shù),操作構(gòu)件執(zhí)行對某一類型數(shù)據(jù)處理構(gòu)成基本運(yùn)算,通過組合建立復(fù)雜的處理模型,基于規(guī)則設(shè)定操作構(gòu)件的遷移和數(shù)據(jù)流的重構(gòu),實(shí)現(xiàn)在分布式集群架構(gòu)上的處理調(diào)度,滿足信息系統(tǒng)的高效實(shí)時(shí)處理和動(dòng)態(tài)重組需要。作者研究了基于規(guī)則的分布式集群運(yùn)算系統(tǒng)的設(shè)計(jì)方案,并介紹了系統(tǒng)驗(yàn)證情況。
典型的分布式集群運(yùn)算系統(tǒng)是以實(shí)時(shí)數(shù)據(jù)采集為驅(qū)動(dòng),以數(shù)據(jù)的實(shí)時(shí)收集、處理、分發(fā)為主線,其核心業(yè)務(wù)是數(shù)據(jù)的融合處理與組織運(yùn)用。因此,系統(tǒng)體系必須是以數(shù)據(jù)的融合處理為核心,以滿足大規(guī)模數(shù)據(jù)處理需求為重點(diǎn),具備高擴(kuò)展和高可用的集群化軟件架構(gòu)。為了實(shí)現(xiàn)這樣的軟件技術(shù)架構(gòu),需要基于業(yè)務(wù)模型化和軟件構(gòu)件化的思想,針對其處理的“數(shù)據(jù)對象”和“業(yè)務(wù)功能”做進(jìn)一步的技術(shù)抽象,具備業(yè)務(wù)模型化定義、分布式處理的技術(shù)條件,以滿足系統(tǒng)的擴(kuò)展性要求。
業(yè)務(wù)分解。數(shù)據(jù)處理是圍繞不斷變化的應(yīng)用業(yè)務(wù)實(shí)際需求進(jìn)行的,而實(shí)際應(yīng)用業(yè)務(wù)之間本身就存在著交集。通過分析業(yè)務(wù)流程中的業(yè)務(wù)處理交集,拆分成子業(yè)務(wù),支持子業(yè)務(wù)重新組合提供新的業(yè)務(wù)支撐,同時(shí)在新業(yè)務(wù)處理中重用。
計(jì)算和數(shù)據(jù)分解。運(yùn)算分解分為計(jì)算分解和數(shù)據(jù)分解。對子業(yè)務(wù)中的計(jì)算進(jìn)項(xiàng)拆分,找出原子算子,對獨(dú)有的業(yè)務(wù)計(jì)算進(jìn)行定義,便于將業(yè)務(wù)計(jì)算交由集群中的多個(gè)計(jì)算節(jié)點(diǎn)進(jìn)行協(xié)同處理,擴(kuò)展系統(tǒng)的計(jì)算能力。對業(yè)務(wù)中需要處理的大規(guī)模數(shù)據(jù)按照業(yè)務(wù)、地域等領(lǐng)域進(jìn)行拆分,分散到獨(dú)立的業(yè)務(wù)計(jì)算,可由多個(gè)計(jì)算節(jié)點(diǎn)處理完成。各處理節(jié)點(diǎn)相互備份,有效減少業(yè)務(wù)中斷風(fēng)險(xiǎn),為系統(tǒng)提供高可靠能力。
按需服務(wù)。分解后的業(yè)務(wù)運(yùn)算通過提供按需服務(wù),滿足各類業(yè)務(wù)處理個(gè)性化請求,對業(yè)務(wù)應(yīng)用提供快速的支持,支持業(yè)務(wù)應(yīng)用的快速拓展和實(shí)時(shí)響應(yīng)。
操作構(gòu)件是按照構(gòu)件化的方式實(shí)現(xiàn)系統(tǒng)功能的,具有通用的輸入、輸出接口和參數(shù)設(shè)置接口。以分解后的業(yè)務(wù)運(yùn)算構(gòu)建操作構(gòu)件,數(shù)據(jù)作為操作構(gòu)件的輸入流進(jìn)入操作構(gòu)件,經(jīng)過操作構(gòu)件計(jì)算處理后,將結(jié)果輸出至操作構(gòu)件的輸出流,實(shí)現(xiàn)面向數(shù)據(jù)流的基本運(yùn)算。數(shù)據(jù)流系統(tǒng)中的基本運(yùn)算包括選擇、投影和連接等常見運(yùn)算以及用戶自定義的業(yè)務(wù)運(yùn)算,通過數(shù)據(jù)流元祖的屬性描述數(shù)據(jù)項(xiàng),基于這些基本運(yùn)算組合建立復(fù)雜的處理模型?;镜牟僮鳂?gòu)件包括對數(shù)據(jù)進(jìn)行過濾操作構(gòu)件(Filter)、投影操作構(gòu)件(Map)、聯(lián)合操作構(gòu)件(Union)和連接操作構(gòu)件(Join)等,以及用戶根據(jù)實(shí)際的業(yè)務(wù)需要自定義的操作構(gòu)件。
以Filter操作構(gòu)件為例來說明操作構(gòu)件的定義和使用。Filter操作構(gòu)件基于選擇運(yùn)算,由一系列條件表達(dá)式組成從而將輸入流分成若干個(gè)分流??梢孕问交枋鰹椋?/p>
其中S表示輸入流;P1、P2…Pm表示在輸入流上的m個(gè)條件表達(dá)式;S1、S2…Sm+1表示輸出流,Si(i=1、2…m)由所有滿足條件表達(dá)式Pi(i=1、2…m)的元組組成,Sm+1輸出流則由不滿足所有條件表達(dá)式Pi(i=1、2…m)的元組組成,其所有的輸入流和輸出流數(shù)據(jù)格式都是相同的。
例如,有一條輸入流和三條輸出流的Filter操作構(gòu)件。輸入流的數(shù)據(jù)格式為位置和溫度(location,temp),輸出流具有同樣的數(shù)據(jù)格式。定義處理過程為:當(dāng)溫度(temp)大于105時(shí)輸出數(shù)據(jù)到輸出流1;當(dāng)溫度大于100時(shí),輸出數(shù)據(jù)到輸出流2;其他情況則輸出數(shù)據(jù)到輸出流3。其流程和結(jié)果如圖1所示。
圖1 Filter操作構(gòu)件處理流程
對于自定義的操作構(gòu)件,必須按照面向數(shù)據(jù)流的方式來規(guī)范輸入、輸出和參數(shù)設(shè)置接口,內(nèi)部數(shù)據(jù)處理流程按照業(yè)務(wù)運(yùn)算的規(guī)則設(shè)定。
操作構(gòu)件之間通過數(shù)據(jù)流來連接,實(shí)現(xiàn)對數(shù)據(jù)流的復(fù)雜計(jì)算業(yè)務(wù)。如圖2所示,操作構(gòu)件Box1有三個(gè)輸入隊(duì)列、兩個(gè)輸出隊(duì)列;操作構(gòu)件Box2有一個(gè)輸入隊(duì)列、一個(gè)輸出隊(duì)列;操作構(gòu)件Box3有兩個(gè)輸入隊(duì)列、一個(gè)輸出隊(duì)列,三個(gè)操作構(gòu)件分別通過數(shù)據(jù)流來連接。
圖2 操作構(gòu)件連接示意圖
現(xiàn)有集群調(diào)度策略,基本是工作在負(fù)載均衡或異地?zé)醾浞菽J剑?fù)載均衡包括負(fù)載的靜態(tài)分配和動(dòng)態(tài)調(diào)度;熱備份模式是多臺服務(wù)器并行運(yùn)算,平時(shí)以其中一臺為主,其他為備份運(yùn)行,遇有主服務(wù)器故障自動(dòng)切換到備份服務(wù)器,也可進(jìn)行人工的主備份切換,進(jìn)行系統(tǒng)維護(hù),提供可靠、不間斷運(yùn)算服務(wù)。實(shí)際業(yè)務(wù)系統(tǒng)中集群的應(yīng)用往往是在一定業(yè)務(wù)原則下的應(yīng)用,既要求各類業(yè)務(wù)能夠?qū)崿F(xiàn)無縫的接替,又要求能夠掌控集群運(yùn)算的實(shí)時(shí)分布和遷移情況,在網(wǎng)絡(luò)信道、安全防護(hù)策略、機(jī)房配套和維護(hù)保障要求上根據(jù)業(yè)務(wù)側(cè)重不同采取不同措施,提高系統(tǒng)可用性,降低經(jīng)費(fèi)投入。例如,公司總部設(shè)在北京,和北京分公司、廣州分公司服務(wù)器構(gòu)成集群,對用戶的服務(wù)以總部服務(wù)器節(jié)點(diǎn)為主,北京分公司節(jié)點(diǎn)為主備服務(wù)器,廣州分公司節(jié)點(diǎn)備份服務(wù)器以異地?cái)?shù)據(jù)備份為主,為廣州片用戶提供服務(wù),同時(shí)作為大系統(tǒng)集群運(yùn)算節(jié)點(diǎn)的次備份節(jié)點(diǎn),公司核心運(yùn)算和服務(wù)主要依賴總部節(jié)點(diǎn)和北京分公司節(jié)點(diǎn),現(xiàn)有任務(wù)遷移策略不僅增加了集群管理的運(yùn)算,而且還不能適應(yīng)特殊業(yè)務(wù)集群調(diào)度需求。這就需要建立基于規(guī)則的集群運(yùn)算調(diào)度策略來滿足業(yè)務(wù)應(yīng)用需求。
操作構(gòu)件是業(yè)務(wù)執(zhí)行的核心模塊。任何一個(gè)操作構(gòu)件都遵循該結(jié)構(gòu)和簡單運(yùn)行原則,即操作構(gòu)件運(yùn)行時(shí)從自己的輸入緩沖隊(duì)列中取數(shù)據(jù),并執(zhí)行計(jì)算,將輸出數(shù)據(jù)通過調(diào)用輸出流的相應(yīng)方法放到輸出流上。
在基于操作構(gòu)件的數(shù)據(jù)流系統(tǒng)中,用戶任務(wù)被描述為任務(wù)描述文件(即對任務(wù)的建模結(jié)果)。負(fù)責(zé)解析任務(wù)描述文件并執(zhí)行操作構(gòu)件的核心模塊稱為調(diào)度器。對于調(diào)度器而言,操作構(gòu)件是什么類型,如Filter,Map是沒有任何關(guān)系的,調(diào)度器識別的是封裝了基本接口的抽象類Qbox。
每臺計(jì)算節(jié)點(diǎn)都包含一個(gè)調(diào)度器。該調(diào)度器單線程運(yùn)行,并且具有系統(tǒng)鎖。調(diào)度器包含兩個(gè)隊(duì)列,任務(wù)隊(duì)列和需要運(yùn)行的操作構(gòu)件運(yùn)行隊(duì)列。調(diào)度器優(yōu)先調(diào)度任務(wù)隊(duì)列,其次是操作構(gòu)件運(yùn)行隊(duì)列。在調(diào)度這兩種隊(duì)列時(shí)按照先入先出的調(diào)度原則(FIFO)。
任務(wù)隊(duì)列排隊(duì)查詢業(yè)務(wù)拓?fù)鋱D的改變控制命令。調(diào)度器將調(diào)用任務(wù)隊(duì)列中的任務(wù),如一個(gè)操作構(gòu)件的增加,并執(zhí)行該任務(wù),將操作構(gòu)件連接到本地業(yè)務(wù)圖中。對于修改參數(shù)等相關(guān)的任務(wù)也是通過任務(wù)隊(duì)列調(diào)度。
操作構(gòu)件調(diào)度隊(duì)列排隊(duì)需要運(yùn)行的操作構(gòu)件。調(diào)度器不斷從調(diào)度器中取需要運(yùn)行的操作構(gòu)件,執(zhí)行操作構(gòu)件相應(yīng)功能。
若調(diào)度器完成所有任務(wù),將等待事件的產(chǎn)生喚醒。事件包括新的拓?fù)湫薷娜蝿?wù)和新需要運(yùn)行的操作構(gòu)件入隊(duì)。
操作符遷移的調(diào)度方法:全局負(fù)載管理器向源計(jì)算節(jié)點(diǎn)發(fā)送RPC請求,請求將指定操作移動(dòng)到另一個(gè)目的計(jì)算節(jié)點(diǎn)。然后由源計(jì)算節(jié)點(diǎn)通過RPC與目的節(jié)點(diǎn)協(xié)商,完成具體的操作遷移過程。
(1)首先,源節(jié)點(diǎn)先停止指定操作符的運(yùn)行,然后將這些操作符的狀態(tài)序列化。創(chuàng)建一個(gè)包,將操作符元數(shù)據(jù)、流元數(shù)據(jù)以及操作符的狀態(tài)包含其中,將整個(gè)包發(fā)送給目的計(jì)算節(jié)點(diǎn)。
(2)目的計(jì)算節(jié)點(diǎn)收到這個(gè)包之后,首先把操作符和流的元數(shù)據(jù)加入到它本地的目錄中,然后根據(jù)傳遞過來的狀態(tài)將操作符實(shí)例化,并建立與對應(yīng)節(jié)點(diǎn)的數(shù)據(jù)連接。當(dāng)這些操作符的執(zhí)行得到恢復(fù)之后,目的節(jié)點(diǎn)向源節(jié)點(diǎn)發(fā)送一個(gè)請求,告訴對方可以安全刪除操作符。
(3)源節(jié)點(diǎn)收到目的節(jié)點(diǎn)告知的刪除消息后,將被暫停的操作符從本地刪除,將更新它的本地目錄。
為了避免節(jié)點(diǎn)間操作符遷移發(fā)生沖突,全局管理器會(huì)在調(diào)度完一對節(jié)點(diǎn)遷移后等待一段足夠長的時(shí)間。
管理節(jié)點(diǎn)的狀態(tài)監(jiān)控負(fù)責(zé)收集所有處理節(jié)點(diǎn)發(fā)送過來的負(fù)載信息,并將該信息整理映射為系統(tǒng)需要的數(shù)據(jù),基于規(guī)則進(jìn)行負(fù)載遷移,負(fù)載的遷移是以操作構(gòu)件為單位進(jìn)行的。
首先,建立操作構(gòu)件狀態(tài)集合Sc,考慮到用戶需求在各計(jì)算節(jié)點(diǎn)上的側(cè)重不同,分配權(quán)重形成帶權(quán)重的狀態(tài)集Scj,j=1,…,m。
設(shè)定各計(jì)算節(jié)點(diǎn)的優(yōu)先級,Ci,i=1,…,n。
對于各項(xiàng)業(yè)務(wù)對應(yīng)的備份或負(fù)載均衡計(jì)算節(jié)點(diǎn),建立遷移規(guī)則。
遷移規(guī)則::=<規(guī)則ID,操作構(gòu)件編號,狀態(tài)編號,計(jì)算節(jié)點(diǎn)>
對同一操作構(gòu)件可形成針對多個(gè)計(jì)算節(jié)點(diǎn)的遷移規(guī)則,按照權(quán)重進(jìn)行狀態(tài)遷移。
算法思路:
(1)遍歷所有的操作構(gòu)件,保存好當(dāng)前操作構(gòu)件與節(jié)點(diǎn)的映射關(guān)系,并按權(quán)重進(jìn)行排序。
(2)依據(jù)節(jié)點(diǎn)的負(fù)載,找出系統(tǒng)中不平衡的節(jié)點(diǎn)對。將系統(tǒng)中的所有計(jì)算節(jié)點(diǎn)按平均負(fù)載進(jìn)行排序,將第i個(gè)節(jié)點(diǎn)與第N-i+1個(gè)節(jié)點(diǎn)進(jìn)行配對(即最大負(fù)載與最小負(fù)載節(jié)點(diǎn)配對),如果負(fù)載差值超過預(yù)定義的一個(gè)門限值,則表明這一節(jié)點(diǎn)對負(fù)載不平衡,將其加入到當(dāng)前系統(tǒng)負(fù)載不平衡節(jié)點(diǎn)對列表中。
(3)對負(fù)載不平衡的節(jié)點(diǎn)中,取負(fù)載大的節(jié)點(diǎn)上權(quán)重最小的操作構(gòu)件,并從負(fù)載不平衡節(jié)點(diǎn)列表中刪除該節(jié)點(diǎn)對,如果按照規(guī)則目標(biāo)計(jì)算節(jié)點(diǎn)中包含負(fù)載小的節(jié)點(diǎn),則進(jìn)行操作構(gòu)件遷移,否則重復(fù)第(2)步。
在這個(gè)算法中,只允許從負(fù)載大的節(jié)點(diǎn)上往負(fù)載小的節(jié)點(diǎn)上遷移操作構(gòu)件,同時(shí)需滿足權(quán)重和規(guī)則約束,這樣就確保重要的業(yè)務(wù)進(jìn)程運(yùn)行在指定的計(jì)算節(jié)點(diǎn)上,盡可能的將不重要的業(yè)務(wù)遷移到其它節(jié)點(diǎn),實(shí)現(xiàn)對用戶的按需定制服務(wù)。
以基于操作構(gòu)件的數(shù)據(jù)流處理技術(shù)為基礎(chǔ),梳理數(shù)據(jù)處理的流程模式以及用戶訂閱數(shù)據(jù)的模式,將復(fù)雜的數(shù)據(jù)處理分解為基礎(chǔ)操作單元,形成數(shù)據(jù)處理網(wǎng)絡(luò)流圖,然后由管理節(jié)點(diǎn)將操作單元按照規(guī)則分配到不同的服務(wù)器上組合計(jì)算,進(jìn)行分布式并行處理,從而實(shí)現(xiàn)業(yè)務(wù)集群。集群的總體架構(gòu)示意圖如圖3所示。
系統(tǒng)集群主要由集群管理、數(shù)據(jù)處理兩大類節(jié)點(diǎn)組成。其中,數(shù)據(jù)流處理節(jié)點(diǎn)負(fù)責(zé)實(shí)現(xiàn)具體的數(shù)據(jù)處理,根據(jù)管理節(jié)點(diǎn)定義的任務(wù),執(zhí)行相應(yīng)的處理操作,并將處理后的數(shù)據(jù)分發(fā)到下一節(jié)點(diǎn);同時(shí),還要監(jiān)控自身的負(fù)載及處理時(shí)延情況。
集群管理節(jié)點(diǎn)負(fù)責(zé)整體的資源調(diào)度,保存用戶的查詢定義,可根據(jù)查詢操作圖對數(shù)據(jù)操作單元進(jìn)行分配,并負(fù)責(zé)各個(gè)節(jié)點(diǎn)的負(fù)載平衡。為了解決集群中某個(gè)節(jié)點(diǎn)單點(diǎn)失效的問題,可以采用多點(diǎn)分發(fā)的策略,實(shí)現(xiàn)熱備同步處理。
圖3 集群總體架構(gòu)
現(xiàn)有的系統(tǒng)從業(yè)務(wù)需求出發(fā),設(shè)計(jì)功能模塊,最后加以實(shí)現(xiàn),雖然也能完成當(dāng)前業(yè)務(wù)系統(tǒng)的需求任務(wù),但是給業(yè)務(wù)系統(tǒng)的升級帶來了很大的麻煩,甚至需要重新設(shè)計(jì)軟件系統(tǒng)的整體結(jié)構(gòu)。顯然,現(xiàn)有系統(tǒng)不利于業(yè)務(wù)的擴(kuò)展,系統(tǒng)更新的周期長,成本很高。
針對現(xiàn)有系統(tǒng)的不足,結(jié)合業(yè)務(wù)能力需求,設(shè)計(jì)了高擴(kuò)展性和高可用性的系統(tǒng)體系架構(gòu),各組件以一種松耦合的方式聯(lián)系起來。系統(tǒng)以構(gòu)件化設(shè)計(jì)思想為基礎(chǔ),具備良好的伸縮性和可擴(kuò)展性。隨著實(shí)際業(yè)務(wù)的不斷變更,能夠做到在保持系統(tǒng)整體體系架構(gòu)不變的情況下,只對架構(gòu)中的某些組件進(jìn)行調(diào)整和擴(kuò)展,來適應(yīng)需求的變化。
以基于操作構(gòu)件的數(shù)據(jù)流處理業(yè)務(wù)集群為基礎(chǔ),典型的系統(tǒng)應(yīng)用框架如圖4所示。
圖4 系統(tǒng)應(yīng)用框架
系統(tǒng)的核心業(yè)務(wù)是數(shù)據(jù)處理,系統(tǒng)處理數(shù)據(jù)的獲取是多源的,包括實(shí)時(shí)數(shù)據(jù)流 (如傳感器)、文件系統(tǒng)、以及數(shù)據(jù)庫系統(tǒng)。其中,實(shí)時(shí)數(shù)據(jù)流的處理是當(dāng)前系統(tǒng)設(shè)計(jì)的核心和重點(diǎn),其他類型的數(shù)據(jù)(如文件、數(shù)據(jù)庫)可以通過開發(fā)擴(kuò)展接口來實(shí)現(xiàn)接入并進(jìn)行相應(yīng)業(yè)務(wù)計(jì)算。系統(tǒng)的運(yùn)行的基本流程和機(jī)制大致描述如下:
(1)首先基于發(fā)布/訂閱平臺,系統(tǒng)采用Web或C/S模式發(fā)布數(shù)據(jù)通告,并提供基于內(nèi)容的訂閱人機(jī)接口,用戶根據(jù)自己想要關(guān)心的數(shù)據(jù),定制生成查詢事件。也可以直接通過事件模式的可視化平臺構(gòu)建查詢事件,再向業(yè)務(wù)集群注冊查詢事件。
(2)業(yè)務(wù)集群管理后臺收到查詢事件請求,對業(yè)務(wù)查詢進(jìn)行解析拆分,形成以由流和操作構(gòu)件連接而成的任務(wù)鏈,再將這些操作構(gòu)件分配給業(yè)務(wù)集群處理節(jié)點(diǎn)。另一方面,任務(wù)鏈也可以直接通過可視化的集群管理前端構(gòu)建。
(3)業(yè)務(wù)集群處理節(jié)點(diǎn)將收到的操作構(gòu)件任務(wù)裝入任務(wù)隊(duì)列,根據(jù)任務(wù)調(diào)度機(jī)制執(zhí)行操作任務(wù),隨著數(shù)據(jù)的到來,操作構(gòu)件不斷運(yùn)轉(zhuǎn),數(shù)據(jù)從操作構(gòu)件輸入隊(duì)列進(jìn)入,處理完畢后從操作構(gòu)件輸出隊(duì)列出來形成新的數(shù)據(jù)流。
(4)若操作構(gòu)件輸出的數(shù)據(jù)流去向?yàn)槠渌幚砉?jié)點(diǎn),這些數(shù)據(jù)便會(huì)重復(fù)(3)的操作,若去向?yàn)榻K端節(jié)點(diǎn)則直接推送給用戶應(yīng)用終端,此時(shí)用戶便得到了所關(guān)心的數(shù)據(jù)。同時(shí),動(dòng)態(tài)的數(shù)據(jù)流也可以使用文件系統(tǒng)或數(shù)據(jù)庫系統(tǒng)進(jìn)行歸檔存儲(chǔ)。
整個(gè)系統(tǒng)以數(shù)據(jù)為驅(qū)動(dòng),依據(jù)當(dāng)前的業(yè)務(wù)進(jìn)行數(shù)據(jù)的接收、處理和分發(fā),業(yè)務(wù)可動(dòng)態(tài)更新,具有高可擴(kuò)展性和高可用性。
在試驗(yàn)驗(yàn)證系統(tǒng)中,給出各操作構(gòu)件的XML描述,啟動(dòng)管理后端,動(dòng)態(tài)計(jì)算結(jié)點(diǎn)和數(shù)據(jù)源,不斷加大一個(gè)節(jié)點(diǎn)的負(fù)載,擴(kuò)大兩節(jié)點(diǎn)負(fù)載差距,最終使其操作構(gòu)件發(fā)生遷移,對操作構(gòu)件的工作情況進(jìn)行跟蹤,滿足預(yù)先設(shè)定的遷移規(guī)則,可以實(shí)現(xiàn)對用戶的按需定制。
[1]楊俊秀,等.基于狀態(tài)改變的集群動(dòng)態(tài)負(fù)載均衡調(diào)度策略[J].華中科技大學(xué)學(xué)報(bào),2003,31(10):238-240.
[2]王映輝,馮德民.大規(guī)模軟件架構(gòu)技術(shù)[M].北京:科學(xué)出版社,2003.
[3]特尼博姆等著,辛春生等譯,分布式系統(tǒng)原理與范型(第2版)[M].北京:清華大學(xué)出版社,2008
[4]夏榆濱,軟件構(gòu)件技術(shù)[M].北京:清華大學(xué)出版社,2011.
Researched on rule-based distributed cluster operation
ZHANG Zhi-h(huán)ui
(BeijingInformationTechnologyCollege,Beijing100015,China)
Based on the analysis of distributed cluster computing requirement,a method of cluster computing services decomposed into operating components,for rule-based scheduling in distributed cluster computing services is put forward in this paper.The system design and preliminary experimental validation results are given also.
Operating component;Rule;Distributed;Cluster
TP309
:A
1001-9383(2011)04-0001-06
2011-08-30
張智慧(1972-),女,河北臨漳人,碩士,講師,主要從事電子學(xué)與通訊的研究.