新四季網

基於ice的分布式作業調度引擎的製作方法

2023-04-26 11:46:11 3

專利名稱:基於ice的分布式作業調度引擎的製作方法
技術領域:
本發明屬於計算機領域,涉及一種分布式作業調度引擎。
背景技術:
作業調度主要用於分布式計算,包括作業調度算法、與計算節點之間的通訊等方 面的內容。目前,大多數作業調度系統採用面向模塊化的架構,包含了作業提交模塊、作業 調度模塊、資源管理模塊等。各種模塊之間是平行對等的關係。這種架構缺乏層次,側重於 作業調度系統的服務端功能,沒有包含計算節點,與上層具體應用和具體硬體關係結合過 於緊密,不易於在不同應用環境下進行移植。在與計算節點進行作業控制時,大多數作業調度系統採用中間件技術,如微軟公 司的DCOM/. net, OMG的CORBA,SUN公司的Java中間件、WebSerices和ICE等。在作業調 度方面,DCOM/. net只支持微軟公司旗下的WindoWs作業系統,不支持其它平臺系統。CORBA 規範過於複雜,不易開發、維護和擴展。Java RMI是基於Java的解決方案,與其他語言兼容 性差。此外,它們都要求使用特定協議實現客戶端與服務端之間的訪問,不支持不同平臺上 的服務之間的互相訪問。Web Services是一種新的分布式計算技術,具有傳統的組件技術 特點,支持不同平臺上的服務之間的互操作,在遙感衛星數據處理系統中取得了廣泛的應 用。但是Web Services佔用大量的網絡帶寬和CPU開銷,需要私有化開發平臺,還存在安 全方面的問題。

發明內容
本發明的技術解決問題是克服現有技術的不足,提供了一種容易擴展維護、佔用 網絡帶寬和系統資源低的基於ICE的分布式作業調度引擎。本發明的技術解決方案是基於ICE的分布式作業調度引擎,採用三層分布式對 象的體系架構,包括服務接口層、調度管理層和計算資源層,調度管理層和計算資源層之間 通過ICE進行通信,服務接口層和調度管理層之間通過接口函數完成作業提交和結果返 回,其中服務接口層屬於引擎服務端,接收外部輸入的計算作業請求,將計算作業請求提 交到調度管理層;將調度管理層傳來的計算作業處理結果返回給外部;調度管理層屬於引擎服務端,實時監控計算資源層中各計算節點的負載狀態,根 據各計算節點的負載情況將服務接口層接收的計算作業請求分配給相關的計算節點進行 處理;將計算資源層中各計算節點的計算作業請求處理結果返回給服務接口層;計算資源層包含有多個計算節點,各計算節點部署了引擎客戶端,服從調度管理 層的調度分配,對分配的計算作業請求進行處理並將處理結果返回給調度管理層。所述的調度管理層包括配置文件、計算節點列表、可用節點列表、作業等待列表、 作業分配控制器和節點管理器,其中配置文件存儲計算資源層中各計算節點的信息,包括計算節點的名稱、地址、最大作業數;計算節點列表記錄計算資源層中各計算節點的名稱、地址、最大作業數,同時實時記錄計算節點的可用狀態;可用節點列表記錄處於可用狀態的計算節點正在執行作業的參數、佔用的作業 數和空閒的作業數;作業等待列表記錄需要等待分配計算節點的計算作業請求;作業分配控制器負責對計算作業請求進行分配,當有計算作業請求時,從可用節 點列表中取出第一個節點,如果該節點的空閒作業數不為零,將當前的計算作業請求分配 給該節點,同時修改該節點的負載情況,將該節點的已佔用作業數增加,空閒作業數減小, 並把該節點排到可用節點列表的末尾,如果該節點的空閒作業數為零,則直接將該節點排 到可用節點列表的末尾,依次類推從可用節點列表中讀取下一節點進行處理;當計算作業 請求處理完成後,從可用節點列表中將處理該計算作業請求的計算節點找出,修改該節點 的負載情況,同時將該節點的已佔用作業數減小,空閒作業數增加;如果可用節點列表中的 所有節點都沒有空閒作業資源,則將該計算作業請求送入作業等待列表排隊等待,直到可 用節點隊列中的作業節點釋放出空閒的作業資源;節點管理器將配置文件存儲的信息送至計算節點列表和可用節點列表,對各計 算節點定時發送監控請求,根據計算節點是否對監控請求發出回應判斷計算節點狀態正常 或者故障並對計算節點列表和可用節點列表進行實時更新。本發明與現有技術相比的優點在於本發明作業調度引擎採用了三層分布式對象 的體系結構,引擎可以對由多個計算節點組成的計算集群進行分布式的管理,並且能夠根 據計算節點的負載情況,將計算作業分配給集群內的計算節點。引擎具有唯一的外部作業 接口,所有計算節點對外表現為一體,用戶不需要關心作業運行在哪個計算節點。採用ICE 中間件實現計算節點之間的通訊,可以實現根據實際應用時引擎的負載情況增刪節點而不 會影響引擎的穩定性,以保證引擎具有可擴展性和提高引擎的可靠性。引擎具有容易擴展 維護、佔用網絡帶寬和系統資源低等優點。


圖1為本發明調度引擎的結構圖;圖2為本發明調度管理層的作業調度原理圖;圖3為本發明引擎的工作流程圖。
具體實施例方式ICE是近幾年在CORBA技術基礎上發展出的一個新中間件技術,有著跨平臺性好, 性能高,安全性高,易於開發和維護等優點。ICE採用客戶-服務端機制,可以運行在不同的 作業系統和機器架構上,並且支持多種網絡技術進行通信。客戶端和服務端的底層核心提 供網絡通信的環境支持,包含了協議、線程、字節等與網絡相關的內容。如圖1所示,本發明作業調度引擎採用三層分布式對象的體系架構,S卩服務接口 層、調度管理層和計算資源層,每個層提供不同的功能,不同層之間相互獨立。調度管理層 和計算資源層之間通過ICE進行通信,服務接口層和調度管理層之間通過接口函數完成作業提交和結果返回。服務接口層是外部計算作業與引擎交互的唯一入口,負責接收外部的 計算作業提交請求和將作業提交到調度管理層,在作業處理完成後將結果返回給外部。調 度管理層具有作業管理調度和節點監控的功能,負責根據計算節點的負載情況向節點分配 計算作業和監測各個計算節點的運行狀態。計算資源層負責承擔請求作業的計算任務,由 多個計算節點組成。引擎使用ICE的API對按照ICE規範定義的Slice語言生成代理和骨 架。代理運行在引擎服務端,負責向計算節點上的應用程式發起調用請求,骨架運行在引擎 客戶端,是代理在服務端的等價物,負責在ICE和應用程式之間進行線程控制。也就是說, 本發明作業調度引擎分為服務端和客戶端兩個部分,服務端包含服務接口層和調度管理 層,運行在管理節點上,客戶端運行在計算資源層中的所有計算節點上。引擎利用ICE來實 現服務端和客戶端之間的網絡通信,完成遠程調用計算節點上的應用程式和監測計算節點 的運行狀態。 作為引擎的核心,調度管理層需要完成作業分配和節點管理兩個核心功能。調度 管理層內部維護三個列表,分別是計算節點列表、可用節點列表和作業等待列表。計算節點 列表記錄了計算資源層中的所有計算節點信息,包括節點的運行狀態、可運行的最大作業 數和地址信息等。可用節點列表記錄了當前正在運行的計算節點信息,包括已經佔用的作 業數、空閒的作業數和佔用作業參數等。作業等待列表記錄了需要等待分配節點的計算作 業。本發明引擎採用FIFO算法來管理計算節點中的可用節點列表,如圖2所示。FIFO 算法在作業分配控制器中進行,通過作業分配控制器對可用節點隊列進行管理,能夠根據 計算節點的負載情況對並發的計算作業進行調度。當有作業請求時,調度管理層從可用節 點列表中取出第一個節點,將該作業請求分配給該節點。同時,修改該節點的負載情況,將 該節點的已佔用作業數增加和空閒作業數減小,把該節點排到隊列末尾。當請求作業處理 完成後,根據節點返回的結果信息從可用節點列表中將該節點找出,修改該節點的負載情 況,將剛才所佔用的作業資源釋放。如果可用節點列表中的第一個節點沒有空閒的作業資 源,則直接將其放回隊列末尾,取第二個節點,以此類推。如果可用節點列表中的所有節點 都沒有空閒作業資源,則將該請求的作業放入到一個作業等待列表中,直到可用節點隊列 中的節點釋放出空閒的作業資源。為了提高引擎的效率,在有新的作業請求時,引擎先查詢作業等待列表中是否有 正在等待節點資源的作業。如果沒有等待的作業,則引擎從可用節點列表中查詢具有空閒 資源的節點,並將該作業分配給取出的節點。如果尚有等待的作業,則引擎直接將該作業排 入作業等待列表。計算資源層中的所有計算節點組成一個計算集群,彼此之間互相備份,但是節點 之間的聯繫是鬆耦合的,可以實現根據實際應用時引擎的負載情況增刪節點而不會影響引 擎的穩定性,以保證引擎具有可擴展性。當有新的計算節點加入或者移出計算節點時,只需 要更改引擎的配置文件,然後重新啟動引擎。引擎啟動時,會從配置文件中讀取計算節點信 息,並將其保存到計算節點列表和可用節點列表內。在無故障節點的情況下,計算節點列表 和可用節點列表內的節點個數是一致的。本發明引擎通過節點管理器來動態管理計算節點隊列,從而對計算節點的進行運 行狀態監控,可以根據實際應用情況對計算節點進行刪減,以保證引擎的可擴展性和可靠性。為了提高引擎的可用性和容錯性,節點管理器定時對計算資源層中的計算節點進行是 否宕機的檢測。根據計算節點列表中的節點信息,節點管理器向計算節點發出應答請求,如 果計算節點在規定時間內沒有應答,則認為該節點已經宕機。如果該節點當前狀態為運行, 節點管理器會將該節點從可用節點列表中移出,並將計算節點列表中該節點的運行狀態改 為停止。如果在該節點上尚有未完成的作業,則先將正在運行的作業移至下一個節點上,再 將該節點從可用節點列表中移出。如果節點管理器向處於停止狀態的計算節點發出應答請 求後,該節點及時向節點管理器返回應答,則表明該計算節點已經恢復運行,節點管理器會 將該節點的狀態改為運行,再將其加入到可用節點列表。引擎啟動時,會從配置文件中讀取計算節點信息,並將其保存到計算節點隊列和 可用節點隊列內。配置文件中定義了計算節點的地址信息、節點名稱和最大作業數。其中, 計算節點的硬體性能(如CPU個數、內存大小等)決定節點上所支持的最大作業數。如圖 3所示,啟動後,引擎處於等待狀態,服務接口層接收到外部的計算作業請求後,將作業請求 發給調度管理層。調度管理層先判斷作業等待隊列中是否有處於等待狀態的隊列,如果有 等待作業則將作業插入到隊列中,如果無等待作業則判斷可用節點對列中是否有可用狀態 的計算節點。如果無可用節點則將該作業插入到作業等待隊列中,如果有可用節點則直接 將作業分配給該節點上。作業計算完畢後,將作業結果返回。調度管理層定時向計算節點 發出監控請求,並根據節點運行狀態更新計算節點隊列和可用節點隊列。 本發明說明書中未作詳細描述的內容屬本領域技術人員的公知技術。
權利要求
1.基於ICE的分布式作業調度引擎,其特徵在於採用三層分布式對象的體系架構,包 括服務接口層、調度管理層和計算資源層,調度管理層和計算資源層之間通過ICE進行通 信,服務接口層和調度管理層之間通過接口函數完成作業提交和結果返回,其中服務接口層屬於引擎服務端,接收外部輸入的計算作業請求,將計算作業請求提交到 調度管理層;將調度管理層傳來的計算作業處理結果返回給外部;調度管理層屬於引擎服務端,實時監控計算資源層中各計算節點的負載狀態,根據各 計算節點的負載情況將服務接口層接收的計算作業請求分配給相關的計算節點進行處理; 將計算資源層中各計算節點的計算作業請求處理結果返回給服務接口層;計算資源層包含有多個計算節點,各計算節點部署了引擎客戶端,服從調度管理層的 調度分配,對分配的計算作業請求進行處理並將處理結果返回給調度管理層。
2.根據權利要求1所述的基於ICE的分布式作業調度引擎,其特徵在於所述的調度 管理層包括配置文件、計算節點列表、可用節點列表、作業等待列表、作業分配控制器和節 點管理器,其中配置文件存儲計算資源層中各計算節點的信息,包括計算節點的名稱、地址、最大作 業數;計算節點列表記錄計算資源層中各計算節點的名稱、地址、最大作業數,同時實時記 錄計算節點的可用狀態;可用節點列表記錄處於可用狀態的計算節點正在執行作業的參數、佔用的作業數和 空閒的作業數;作業等待列表記錄需要等待分配計算節點的計算作業請求; 作業分配控制器負責對計算作業請求進行分配,當有計算作業請求時,從可用節點列 表中取出第一個節點,如果該節點的空閒作業數不為零,將當前的計算作業請求分配給該 節點,同時修改該節點的負載情況,將該節點的已佔用作業數增加,空閒作業數減小,並把 該節點排到可用節點列表的末尾,如果該節點的空閒作業數為零,則直接將該節點排到可 用節點列表的末尾,依次類推從可用節點列表中讀取下一節點進行處理;當計算作業請求 處理完成後,從可用節點列表中將處理該計算作業請求的計算節點找出,修改該節點的負 載情況,同時將該節點的已佔用作業數減小,空閒作業數增加;如果可用節點列表中的所有 節點都沒有空閒作業資源,則將該計算作業請求送入作業等待列表排隊等待,直到可用節 點隊列中的作業節點釋放出空閒的作業資源;節點管理器將配置文件存儲的信息送至計算節點列表和可用節點列表,對各計算節 點定時發送監控請求,根據計算節點是否對監控請求發出回應判斷計算節點狀態正常或者 故障並對計算節點列表和可用節點列表進行實時更新。
全文摘要
基於ICE的分布式作業調度引擎,採用三層分布式對象的體系結構,分為服務接口層、調度管理層和計算資源層。引擎定義了計算節點隊列和可用節點隊列,並利用先進先出(FIFO)算法對可用節點隊列中的多個計算節點進行分布式的管理,並且能夠根據計算節點的負載情況,將計算作業分配給集群內的計算節點。引擎採用ICE中間件技術實現服務端與客戶端之間的通訊,可以根據實際應用時引擎的負載情況增刪計算節點而不會影響引擎的穩定性,具有容易擴展維護、佔用網絡帶寬和系統資源低、可靠性高等優點。
文檔編號G06F9/46GK102033777SQ20101028601
公開日2011年4月27日 申請日期2010年9月17日 優先權日2010年9月17日
發明者喻文勇, 王治中 申請人:中國資源衛星應用中心

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀