新四季網

一種基於代理技術的網格計算容錯系統及方法

2023-06-09 12:40:01

專利名稱:一種基於代理技術的網格計算容錯系統及方法
技術領域:
本發明涉及一種網格計算的容錯機制,屬於計算機網絡技術領域。
背景技術:
網格技術是近年來的一項技術熱點,它的目的是實現資源共享,協同工作, 通過高速網絡將各種分布的自治的資源聯合在一起,提供高性能的計算服務。 網格環境中的資源具有共享性、非獨佔性、動態性、異構性等特性。在網絡平 臺上存在著各種計算機、應用程式、數據和服務,這些元素本身不可能保證在 運行中永遠百分之百正確,並且它們之間的交互也可能會出現錯誤。此外,由 於計算機故障、網絡故障、計算資源被網格計算外用戶搶佔、使用或終止等情 況,都有可能會導致網格節點不可用。因此,網格環境中的容錯機制十分必要。
網格容錯機制本身應準確識別網格計算中的各類錯誤,並能夠採糾目應的 有效措施,並且容錯機制應對整個網格計算系統的性能影響儘可能小,網絡傳 輸數據和耗費的資源儘可能少。
目前,網格環境中的容錯機制研究通常採用靜態或動態心跳機制檢查計算 節點的可用性,採用設置備份節點的方式進行冗餘設計。心跳機制只能診斷節 點的不可用錯誤,對於作業的不響應錯誤等不適用。備份節點的系統資源開銷 較大,恢復機制複雜。在網格環境下,對計算節點進行備份基本是不可行的。
華中科技大學學報,2006年第34巻中《具有容錯機制的網格監控系統》在被 監控節點數據上設置採集代理,實現對不同平臺系統性能狀態的數據採集,通 過冗餘的層次化節點架構,減少單點故障造成的影響。但該文中採用的備^分策 略對節點數有較高要求,也沒有考慮到網格作業的運行需求。計算機應用研究, 2008年第25巻中《網格動態容錯服務架構研究》針對資源崩潰和資源的可用 性達不到最低的QoS標準兩種情況,建立了包括網^4昔誤檢測與網^^昔誤管理的動態容錯服務架構。但該文中沒有考慮到網格系統主節點故障的可能性,也
沒有對具體的錯誤處理技術和流程進行說明。

發明內容
本發明的技術解決問題是克服現有技術的不足,提供一種基於代理技術 的網格計算容錯系統及方法,本系統及方法能夠處理網格主節點和計算節點的
失效錯誤,並能針對計算節點的過載情況對計算作業進行重新分配和遷移。
本發明的技術解決方案是 一種基於代理技術的網格計算容錯系統,包括 一個主節點、 一個備份節點和多個計算節點;主節點上設置主控代理容器、主 控代理和主監控代理;備份節點上設置備份代理容器和備份監控代理;每個計 算節點上設置節點代理容器、監控代理和作業代理;
主控代理,按預定心跳周期檢查主節點上是否存在未分發的工作,為未分 發的工作選擇計算節點,並將該工作的作業信息和選擇的計算節點地址發送給 主控代理容器;主控代理接收到主監控代理的計算節點失效信息時,查詢該節 點上分配的作業信息,並將作業狀態改為"未分發,,;按預定備份周期檢查是否 存在備份節點,當存在備份節點時,則向主控代理容器發送^f分請求;
主控代理容器,接收主控代理的作業信息和計算節點地址,創建作業代理, 並將其遷移到計算節點上;接收主控代理的備份請求,備份主控代理,並將其 序列化處理成為字節流,傳輸至務除代理容器;
主監控代理,根據接收的節點監控代理髮出的心跳信號和狀態信息,向節 點監控代理髮送心跳確認消息,或者將計算節點的失效消息發送給主控代理; 當接收到主控代理髮送的計算節點狀態查詢請求時,發送所有空閒的計算節點 狀態;根據作業代理髮送的遷移查詢請求,設置遷移目標節點,並向作業代理 發回遷移條件滿足消息和遷移目標節點地址;
節點代理容器,根據接收的作業代理髮送的遷移請求,將滿足遷移條件的 代理掛起,向作業代理髮送掛起消息,掛起成功後將所述的滿足遷移條件的代 理遷移到所述的遷移目標節點上;接收遷移的字節流,對該字節流處理後向節點代理容器發送開始或重啟該作業代理消息;
作業代理,根據接收到的節點代理容器發送的不同消息,對計算節點上當 前作業進行處理,分析作業代理的運行情況,將當前的負載水平和作業運行情 況發送給節點監控代理;根據主監控代理髮送的遷移條件滿足消息和遷移目標 節點地址,向節點代理容器發送遷移請求;
節點監控代理,將接收的作業代理髮送的負載水平和作業運行情況與心跳 信號一起合併為心跳信號和狀態信息發送給主監控代理;根據接收的主監控代 理髮送的心跳確認消息,對主節點是否失效進行判斷,根據判斷結果,向備份 監控代理髮出主節點錯誤消息或主節點確認消息;根據接收的備份監控代理髮 送的主節點地址更改消息,更改自身保存的主節點和備^f分節點的地址;
備份監控代理,根據節點監控代理髮出的主節點確認消息或主節點錯誤消 息,判斷主節點是否失效,當主節點失效時,向備除代理容器發送主節點恢復 消息,並向所有計算節點監控代理髮送廣播消息,通知所有計算節點監控代理 更改主節點地址;
備份代理容器,從主控代理容器接收主控代理^f分字節流並存儲;備^分代 理容器從備份監控代理接收主節點恢復消息,在備份節點上創建主監控代理, 根據存儲的主控代理備份字節流恢復主控代理,運行主控代理,並刪除備份監 控代理。
一種基於代理技術的網格計算容錯方法,包括主節點錯誤處理流程、計算 節點錯誤處理流程和作業錯誤處理流程三部分,當網格計算中出現不同的錯誤 時按照不同的流程進行處理,其中
主節點錯誤處理流程步驟為
(1 )主節點接收到計算節點發送的心跳信號後,發回心跳確認消息給計算 節點,計算節點收到後向備份節點發送主節點確i人消息;
(2)如果計算節點在兩個心跳周期內沒有收到心跳確認消息,則向備除節 點發送主節點錯誤消息;(3)如果備份節點收到計算節點發出的主節點錯誤消息,且在下一個心跳 周期內沒有收到任何計算節點發出的主節點確認消息,則認為主節點失效; (4 )備份節點在網格內發送廣播消息,通知所有計算節點變更主節點地址; (5)備份節點恢復主控代理,轉為網格主節點;主節點錯誤處理過程結束; 計算節點錯誤處理過程如下
(a) 主節點向計算節點發送計算作業後,將作業標識和計算節點地址進行 存儲,並將作業狀態設為"已分發";
(b) 主節點在兩次心跳周期內未收到計算節點的心跳信號,即認為該計算 節點失效;
(c) 主節點按照計算節點地址獲取作業標識,將作業狀態設為"未分發,,;
(d) 等待作業重新分配,計算節點錯誤處理過程結束; 作業錯誤處理過程如下
(A) 當作業代理發現CPU佔用率或內存佔用率達到預設門P艮值以上,則 認為該計算作業需要遷移;
(B) 判斷該計算作業是否已經設置了檢查點,若設置了檢查點,則作業代 理向主監控代理髮出遷移查詢請求;如果計算作業沒有設置檢查點,但運行時 間沒有超過一定時間閾值,則作業代理也向主監控代理髮出遷移查詢請求;
(C) 主監控代理檢查節點狀態表,如果滿足遷移條件,將遷移條件滿足 消息和遷移目標節點地址發送給發出遷移查詢請求的作業代理;
(D) 節點代理容器檢查作業代理的遷移次數,如果遷移次數沒有超過最 大值,則掛起代理;
(E) 節點代理容器將作業代理序列化,並傳輸至遷移目標節點;
(F) 遷移目標節點的節點代理容器接收到作業代理序列化後的字節流,將 其反序列化,並重新運行代理,作業錯誤處理過程結束
本發明與現有技術相比有益效果為
(1 )基於代理技術的網格計算容錯系統與方法,通過在網格計算環境中的各個節點上部署代理容器和多個代理模塊,保證了網格在節點故障突發情況下 的穩定性,並在計算節點負載不平衡情況下提供了自動調整計算作業的能力, 有助於計算作業享受更好的服務,保證了網格計算作業的響應時間,提高了網 格計算節點的負載平衡水平。
(2) 將移動代理技術用於網格的容錯,保證了在作業需要轉移到其他節點 時的數據完整性,增強了錯誤恢復時的靈活性。
(3) 各個節點模塊的實現都採用了代理容器與多個代理相結合的模式,結 構簡單,實現容易,提高了代理^t塊的可重用性和系統的可擴展性。
(4) 統一代理容器與多種特定用途的代理相結合的方式,使得網格計算中 各種類型的節點角色易於轉換。例如備^f分節點到主節點的轉換, 一般計算節點 到備份節點的轉換等。
(5) 作業代理創建之後,在需要遷移時自主發起遷移,不需要主節點再進 行統一的調度,在遷移過程中也不通過主節點轉發作業,而是由各個計算節點 的代理容器自行管理,從而減少了數據的傳輸量,降低了主節點對網絡帶寬和 負載能力的要求。


圖1為本發明系統組成框架圖2為本發明三種代理容器實現流程圖3為本發明遷移示意圖4為本發明主控代理實現圖5為本發明主監控代理實現圖6為本發明作業代理實現圖7為本發明節點監控代理實現圖8為本發明名—分監控代理實現圖。
具體實施例方式
如圖1所示,本發明容錯系統包括一個主節點、 一個備^f分節點和多個計算節點;主節點上設置主控代理容器、主控代理和主監控代理;備除節點上設置
備份代理容器和備份監控代理;每個計算節點上設置節點代理容器、監控代理
和作業代理;下面詳細介紹各個部分的實現過程。
一、代理容器(主控代理容器、^f分代理容器和節點代理容器) 代理容器(主控代理容器、備份代理容器和節點代理容器)主要負責維護
移動計算代理的全生命周期,創造一個位置透明、便於控制、安全可靠的代理
運行環境。所有節點都必須部署一個代理容器。代理容器提供一系列對代理對 象的基本操作,如創建、複製、遷移和刪除代理對象,以及對代理對象進行掛 起和重啟請求。主控代理容器、備份代理容器和節點代理容器以及代理對象(主 控代理、主監控代理、備份監控代理、監控代理和作業代理)都採用Java語 言實現。代理容器提供基本代理類。代理對象用基本代理類的實例描述,代理 容器提供一個哈希表容納代理對象。創建一個代理對象的過程就是實例化基本 代理類的過程。刪除一個代理對象的過程就是在程序中刪除一個代理類實例的 過程。複製代理通過代理類實例的克隆接口實現。上述三種代理容器的實現流 程如圖2所示。
主控代理容器,接收主控代理的作業信息和計算節點地址,創建作業代理, 並將其遷移到計算節點上;接收主控代理的^#請求,備份主控代理,並將其
序列化處理成為字節流,傳輸至^f分代理容器;
代理的遷移需要通過Java對象的存儲和還原實現,具體的說需要三個步 驟首先,在遷移的源節點上將代理對象的值和類型通過代理對象的序列化接 口序列化成一定格式的數據。然後,將數據通過網絡進行傳輸。然後,在遷移 的目標節點上通過這些彩:據將同樣類型的對象和對象之間的關係恢復出來,生 成代理對象的實例,並對代理對象進行啟動操作。
節點代理容器,根據接收的作業代理髮送的遷移請求,將滿足遷移條件的 代理掛起,向作業代理髮送掛起消息,掛起成功後將所述的滿足遷移條件的代 理遷移到所述的遷移目標節點上;接收遷移的字節流,對該字節流處理後向節點代理容器發送開始或重啟該作業代理消息;具體實現過程如下
第一步,接收作業代理髮送的遷移請求,檢查該作業代理的遷移次數,如 果遷移次數已經超出最大遷移次數,則不予遷移,否則轉第二步;
第二步,將遷移次數增加一,並向作業代理髮送掛起消息,當接收到作業 代理髮送的掛起成功消息時,將該作業代理遷移到遷移目標節點上;
第三步,遷移目標節點代理容器接收到遷移進來的字節流,並將其反序列 化處理,生成作業代理對象,並發送開始或重啟消息給作業代理。
舉例來說,代理A從節點i遷移到節點j的過程如圖3:節點i上的節點代 理容器收到代理A發出的遷移請求,即通過網絡向節點j上的節點代理容器發 送遷移請求;節點j上的節點代理容器檢查是否有作業代理正在運行,如果沒 有,則向節點i發送確認消息;節點i上的節點代理容器接收到確認消息後,試 圖將代理A的進程掛起準備遷移,如果掛起成功,則將代理A序列化;將代理 A序列化後的字節流通過網絡發送到節點j上的節點代理容器;節點j上的節點 代理容器接收到字節流後,將其反序列化,創建新的代理A,並重新開始運4亍 代理,完成整個遷移過程。
備份代理容器,從主控代理容器接收主控代理備份字節流並存儲;備份代 理容器從備份監控代理接收主節點恢復消息,在*節點上創建主監控代理,
根據存儲的主控代理備份字節流恢復主控代理,運行主控代理,並刪除備份監 控代理。
二、主控代理
主控代理是網格計算的中心模塊,負責工作的分發,如圖4所示,主控代 理的實現過程如下
第一步,按預定心跳周期(根據實際情況可以自由選取,本例中取值15 秒)檢查主節點上是否存在未分發的工作,判斷是否接收到主監控代理髮送的 計算節點失效信息;若存在未分發的工作,則轉第二步;若接收到所述的計算 節點失效信息,則轉第三步;按預定備除周期(根據實際情況可以自由選取,本例中取值1小時)判斷是否存在備份節點,若存在備f分節點,則轉第四步; 第二步,向主監控代理髮送計算節點狀態查詢請求;根據主監控代理髮送
的所有空閒計算節點狀態,選擇計算節點,將未分發工作的作業信息和選擇的 計算節點地址發送給主控代理容器;
第三步,查詢所述失效計算節點上分配的作業信息,將其作業狀態改為"未 分發,,;
第四步,向主控代理容器發送備份請求。
三、 主監控代理
主監控代理為滿足網格的錯誤檢測和處理,必須監控網格環境內的節點狀 態。節點狀態包括節點的忙閒狀態和當前的計算能力。主監控代理的實現過程 如圖5所示
第一步,判斷是否接收到節點監控代理髮出的心跳信號和狀態信息,若收 到後向節點監控代理髮送心跳確認消息,否則轉第二步;判斷是否接收到主控 代理髮送的計算節點狀態查詢請求,或者作業代理髮送的查詢請求;若接收到 主控代理髮送的計算節點狀態查詢請求時,則發送所有空閒的計算節點狀態給 主控代理;若接收到作業代理髮送的遷移查詢請求,轉第三步;
第二步,等待一個心跳周期,判斷是否收到所述節點監控代理髮出的心跳 信號和狀態信息,若沒有收到,則認為該計算節點失效,向主控代理髮送計算 節點失效消息;
第三步,查詢主監控代理中維護的節點狀態表,如果存在空閒節點,且其 空閒計算能力高於發出遷移查詢請求的節點,則將該空閒節點設置為遷移目標 節點,並向作業代理髮回遷移條件滿足消息和遷移目標節點地址。
四、 作業代理
作業代理,根據接收到的節點代理容器發送的不同消息,對計算節點上當 前作業進行處理,分析作業代理的運行情況,將當前的負載水平和作業運行情 況發送給節點監控代理;根據主監控代理髮送的遷移條件滿足消息和遷移目標節點地址,向節點代理容器發送遷移請求;如圖6所示,作業代理的實現過程
第一步,判斷是否接收節點代理容器發送的掛起消息、開始或者重啟消息; 如果收到掛起消息時,轉第二步;如果接收到節點代理容器發送的開始或者重 啟消息,轉第四步;
第二步,檢查當前作業是否正在運行;如果在運行,則轉第三步;否則, 重新開始接收消息;
第三步,檢查當前作業是否有檢查點;如果有檢查點,則保留當前狀態, 中斷當前運行的作業,向節點代理容器發送掛起成功消息;如果沒有^r查點, 則停止當前運行的作業,向節點代理容器發送掛起成功消息;
第四步,檢查當前作業是否處於停止狀態,如果是,則檢查當前作業的輸 入數據是否完整,重新開始運行;
第五步,記錄當前CPU和內存的佔用情況,分析作業代理運行情況,將當 前的負載水平和作業運行情況發送^M乍業監控代理;判斷當前的CPU或內存 的佔用率是否大於預設門限值(本例中取95%),如果大於,表示計算節點已 經接近滿負荷,轉第六步;否則,按心跳周期繼續記錄CPU和內存的佔用情 況;
第六步,檢查作業 是否具備檢查點;如果具備檢查點,則向主監控代理髮 出遷移查詢請求;如果不具備檢查點,但運行時間沒有超過既定閾值(本例中 取作業運行時間估計值的20%),則可以向主監控代理髮出遷移查詢請求;
第七步,判斷是否從主監控代理收到遷移條件滿足消息和遷移目標節點地 址,若已收到則向節點代理容器發送遷移請求。
五、節點監控代理
節點監控代理,將接收的作業代理髮送的負載水平和作業運行情況與心跳 信號一起合併為心跳信號和狀態信息發送給主監控代理;根據接收的主監控代 理髮送的心跳確認消息,對主節點是否失效進行判斷,根據判斷結果,向備份監控代理髮出主節點錯誤消息或主節點確認消息;根據接收的備份監控代理髮 送的主節點地址更改消息,更改自身保存的主節點和備份節點的地址;如圖7 所示,節點監控代理的實現過程如下
第一步,接收作業代理髮送的負載水平和作業運行情況,並將其與生成的 心跳信號一起合併為心跳信號和狀態信息發送給主監控代理;
第二步,判斷是否接收到主監控代理髮送的心跳確認消息,若接收到該消 息,則發出主節點確認消息給備份監控代理;否則轉第三步;
第三步,等待一個心跳周期,判斷是否接收到主監控代理髮送的心跳確認 消息,若沒有接收到,則認為主節點失效,則向備份監控代理髮出主節點錯誤 消息;
第四步,根據接收到的備份監控代理髮送的主節點的地址更改消息,更改 自身保存的主節點和備份節點的地址。 六、備份監控代理
備份監控代理,根據節點監控代理髮出的主節點確認消息或主節點錯誤消 息,判斷主節點是否失效,當主節點失效時,向備f分代理容器發送主節點恢復 消息,並向所有計算節點監控代理髮送廣播消息,通知所有計算節點監控代理 更改主節點地址;如圖8所示,^f分監控代理實現過程如下
第一步,接收所有的節點監控代理髮送的消息,判斷是否收到主節點錯誤 消息,若收到該消息,則進行下一步;
第二步,等待一個心跳周期,判斷這個周期之內是否收到主節點確認消息, 若收到該確認消息,則從第一步開始執行,否則確認主節點失效,向備份代理 容器發送主節點恢復消息,並向所有節點監控代理廣播消息,通知計算節點監 控代理更改主節點地址。
由於網格環境中的資源具有共享性、非獨佔性、動態性、異構性等特性, 網絡通信也具有一定的不確定性,因此網格計算的實際運行與預期之間往往存 在差距。導致這種差距的網格計算錯誤一般都屬於以下兩類*由於節點斷線、崩潰導致其停止服務;
*節點的可用性與作業的需求差距4^大,導致作業的響應時間過長,節點 佔用時間過久,等待的作業數量過多。
第 一類錯誤在網格環境中還可以細分為主節點的錯誤和計算節點的錯誤。 主節點負責根據計算節點資源對作業進行分配,並負責接收作業計算完畢返回 的結果。如果主節點出現故障,則整個網格計算系統會失去控制。計算節點負 責執行作業。如果計算節點斷線,或者超出負荷崩潰,則該計算節點會失去與 主節點的聯繫,已分配到該計算節點上的作業則無法正常返回結果數據。這兩 類不同的錯誤需要不同的處理方式。下面具體介紹發生各類錯誤時的處理方法。
*主節點錯誤處理流程步驟為
(1 )主節點接收到計算節點發送的心跳信號後,發回心跳確認消息給計算 節點,計算節點收到後向備除節點發送主節點確:〖人消息;
(2) 如果計算節點在兩個心跳周期內沒有收到心跳確認消息,則向備份節 點發送主節點錯誤消息;
(3) 如果備份節點收到計算節點發出的主節點錯誤消息,且在下一個心跳 周期內沒有收到任何計算節點發出的主節點確認消息,則認為主節點失效;
(4 )備份節點在網格內發送廣播消息,通知所有計算節點變更主節點地址; (5)備份節點恢復主控代理,轉為網格主節點;主節點錯誤處理過程結束; *計算節點錯誤處理過程如下
(a) 主節點向計算節點發送計算作業後,將作業標識和計算節點地址存》文 在哈希表中,並將作業狀態設為"已分發,,;
(b) 主節點在兩次心跳周期內未收到計算節點的心跳信號,即認為該計算 節點失效;
(c) 主節點按照計算節點地址從哈希表中獲取作業標識,將作業狀態設為 "未分發";
(d) 等待作業重新分配,計算節點賴-誤處理過程結束; 作業錯誤處理過程如下
(A) 當作業代理發現CPU佔用率或內存佔用率達到預設門限值以上,則 認為該計算作業需要遷移;
(B) 判斷該計算作業是否已經設置了檢查點,若設置了檢查點,則作業 代理向主監控代理髮出遷移查詢請求;如果計算作業沒有設置檢查點,但運行 時間沒有超過一定時間閾值,則作業代理也向主監控代理髮出遷移查詢請求;
(C) 主監控代理檢查節點狀態表,如果滿足遷移條件,將遷移條件滿足 消息和遷移目標節點地址發送給發出遷移查詢請求的作業代理;
(D) 節點代理容器檢查作業代理的遷移次數,如果遷移次數沒有超過最 大值,則掛起代理;
(E) 節點代理容器將作業代理序列化,並傳輸至遷移目標節點;
(F) 遷移目標節點的節點代理容器接收到作業代理序列化後的字節流, 將其反序列化,並重新運行代理,作業錯誤處理過程結束。
為了驗證本發明系統的可行性和有效性,在網格計算管理系統中採用了本 發明系統。在試驗中,將主節點從網絡斷開後,主節點地址改變,同時沒有影 響正常的網格計算。在將某個正在工作的計算節點從網絡斷開後,主節點重新 發放了已分發到該節點上的作業。當在低配置計算節點運行了一個大規模的 Fluent流場計算作業後,計算節點自動終止了該作業,並遷移到了另一臺性能 較高的伺服器上。試驗結果表明,本系統在節點失效和節點過載情況下,及時 地採取了各種措施,保證了網格計算的正常運行。
本發明未詳細說明部分屬本領域技術人員公知常識。
權利要求
1、一種基於代理技術的網格計算容錯系統,其特徵在於包括一個主節點、一個備份節點和多個計算節點;主節點上設置主控代理容器、主控代理和主監控代理;備份節點上設置備份代理容器和備份監控代理;每個計算節點上設置節點代理容器、監控代理和作業代理;主控代理,按預定心跳周期檢查主節點上是否存在未分發的工作,為未分發的工作選擇計算節點,並將該工作的作業信息和選擇的計算節點地址發送給主控代理容器;主控代理接收到主監控代理的計算節點失效信息時,查詢該節點上分配的作業信息,並將作業狀態改為「未分發」;按預定備份周期檢查是否存在備份節點,當存在備份節點時,則向主控代理容器發送備份請求;主控代理容器,接收主控代理的作業信息和計算節點地址,創建作業代理,並將其遷移到計算節點上;接收主控代理的備份請求,備份主控代理,並將其序列化處理成為字節流,傳輸至備份代理容器;主監控代理,根據接收的節點監控代理髮出的心跳信號和狀態信息,向節點監控代理髮送心跳確認消息,或者將計算節點的失效消息發送給主控代理;當接收到主控代理髮送的計算節點狀態查詢請求時,發送所有空閒的計算節點狀態;根據作業代理髮送的遷移查詢請求,設置遷移目標節點,並向作業代理髮回遷移條件滿足消息和遷移目標節點地址;節點代理容器,根據接收的作業代理髮送的遷移請求,將滿足遷移條件的代理掛起,向作業代理髮送掛起消息,掛起成功後將所述的滿足遷移條件的代理遷移到所述的遷移目標節點上;接收遷移的字節流,對該字節流處理後向節點代理容器發送開始或重啟該作業代理消息;作業代理,根據接收到的節點代理容器發送的不同消息,對計算節點上當前作業進行處理,分析作業代理的運行情況,將當前的負載水平和作業運行情況發送給節點監控代理;根據主監控代理髮送的遷移條件滿足消息和遷移目標節點地址,向節點代理容器發送遷移請求;節點監控代理,將接收的作業代理髮送的負載水平和作業運行情況與心跳信號一起合併為心跳信號和狀態信息發送給主監控代理;根據接收的主監控代理髮送的心跳確認消息,對主節點是否失效進行判斷,根據判斷結果,向備份監控代理髮出主節點錯誤消息或主節點確認消息;根據接收的備份監控代理髮送的主節點地址更改消息,更改自身保存的主節點和備份節點的地址;備份監控代理,根據節點監控代理髮出的主節點確認消息或主節點錯誤消息,判斷主節點是否失效,當主節點失效時,向備份代理容器發送主節點恢復消息,並向所有計算節點監控代理髮送廣播消息,通知所有計算節點監控代理更改主節點地址;備份代理容器,從主控代理容器接收主控代理備份字節流並存儲;備份代理容器從備份監控代理接收主節點恢復消息,在備份節點上創建主監控代理,根據存儲的主控代理備份字節流恢復主控代理,運行主控代理,並刪除備份監控代理。
2、 根據權利要求1所述的一種基於代理技術的網格計算容錯系統,其特徵 在於所述的主控代理的實現過程如下第一步,按預定心跳周期檢查主節點上是否存在未分發的工作,判斷是否 接收到主監控代理髮送的計算節點失效信息;若存在未分發的工作,則轉第二 步;若接收到所述的計算節點失效信息,則轉第三步;按預定備份周期檢查是 否存在備除節點,若存在備盼節點,則轉第四步;第二步,向主監控代理髮送計算節點狀態查詢請求;根據主監控代理髮送 的所有空閒計算節點狀態,選擇計算節點,將未分發工作的作業信息和選擇的 計算節點地址發送給主控代理容器;第三步,查詢所述失效計算節點上分配的作業信息,將其作業狀態改為"未 分發,,;第四步,向主控代理容器發送備份請求。
3、 根據權利要求1所述的一種基於代理技術的網格計算容錯系統,其特徵在於所述的主監控代理的實現過程如下第一步,判斷是否接收到節點監控代理髮出的心跳信號和狀態信息,若收 到後向節點監控代理髮送心跳確認消息,否則轉第二步;判斷是否接收到主控 代理髮送的計算節點狀態查詢請求,或者作業代理髮送的查詢請求;若接收到 主控代理髮送的計算節點狀態查詢請求時,則發送所有空閒的計算節點狀態給 主控代理;若接收到作業代理髮送的遷移查詢請求,轉第三步;第二步,等待一個心跳周期,判斷是否收到所述節點監控代理髮出的心跳 信號和狀態信息,若沒有收到,則認為該計算節點失效,向主控代理髮送計算 節點失效消息;第三步,查詢主監控代理中維護的節點狀態表,如果存在空閒節點,且其 空閒計算能力高於發出遷移查詢請求的節點,則將該空閒節點設置為遷移目標 節點,並向作業代理髮回遷移條件滿足消息和遷移目標節點地址。
4、根據權利要求1所述的一種基於代理技術的網格計算容錯系統,其特徵 在於所述的作業代理的實現過程如下第一步,判斷是否接收節點代理容器發送的掛起消息、開始或者重啟消息; 如果收到掛起消息時,轉第二步;如果接收到節點代理容器發送的開始或者重 啟消息,轉第四步;第二步,檢查當前作業是否正在運行;如果在運行,則轉第三步;否則, 重新開始接收消息;第三步,檢查當前作業是否有檢查點;如果有檢查點,則保留當前狀態, 中斷當前運行的作業,向節點代理容器發送掛起成功消息;如果沒有檢查點, 則停止當前運行的作業,向節點代理容器發送掛起成功消息;第四步,檢查當前作業是否處於停止狀態,如果是,則檢查當前作業的輸 入數據是否完整,重新開始運行;第五步,記錄當前CPU和內存的佔用情況,分析作業代理運行情況,將當 前的負載水平和作業運行情況發送給作業監控代理;判斷當前的CPU或內存的佔用率是否大於預設門限值,如果大於,表示計算節點已經接近滿負荷,轉第六步;否則,按心跳周期繼續記錄CPU和內存的佔用情況;第六步,檢查作業是否具備檢查點;如果具備檢查點,則向主監控代理髮出遷移查詢請求;如果不具備檢查點,但運行時間超過既定閾值,則可以向主監控代理髮出遷移查詢請求;第七步,判斷是否從主監控代理收到遷移條件滿足消息和遷移目標節點地址,若已收到則向節點代理容器發送遷移請求。
5、 根據權利要求1所述的一種基於代理技術的網格計算容錯系統,其特徵 在於所述的節點代理容器的實現過程如下第一步,接收作業代理髮送的遷移請求,檢查該作業代理的遷移次數,如 果遷移次數已經超出最大遷移次數,則不予遷移,否則轉第二步;第二步,將遷移次數增加一,並向作業代理髮送掛起消息,當接收到作業 代理髮送的掛起成功消息時,將該作業代理遷移到遷移目標節點上;第三步,遷移目標節點代理容器接收到遷移進來的字節流,並將其反序列 化處理,生成作業代理對象,並發送開始或重啟消息給作業代理。
6、 根據權利要求1所述的一種基於代理技術的網格計算容錯系統,其特徵 在於所述的節點監控代理實現過程如下第一步,接收作業代理髮送的負載水平和作業運行情況,並將其與生成的 心跳信號一起合併為心跳信號和狀態信息發送給主監控代理;第二步,判斷是否接收到主監控代理髮送的心跳確認消息,若接收到該消 息,則發出主節點確認消息給備份監控代理;否則轉第三步;第三步,等待一個心跳周期,判斷是否接收到主監控代理髮送的心跳確認 消息,若沒有接收到,則認為主節點失效,則向備份監控代理髮出主節點錯誤 消息;第四步,根據接收到的備份監控代理髮送的主節點的地址更改消息,更改 自身保存的主節點和備份節點的地址。
7、 根據權利要求1所述的一種基於代理技術的網格計算容錯系統,其特徵 在於所述的備份監控代理實現過程如下第一步,接收所有的節點監控代理髮送的消息,判斷是否收到主節點錯誤 消息,若收到該消息,則進行下一步;第二步,等待一個心跳周期,判斷這個周期之內是否收到主節點確認消息, 若收到該確認消息,則從第一步開始執行,否則確認主節點失效,向備份代理 容器發送主節點恢復消息,並向所有節點監控代理廣播消息,通知計算節點監 控代理更改主節點地址。
8、 一種基於代理技術的網格計算容錯方法,其特徵在於包括主節點錯誤處 理流程、計算節點錯誤處理流程和作業錯誤處理流程三部分,當網格計算中出 現不同的錯誤時按照不同的流程進行處理,其中主節點錯誤處理流程步驟為(1 )主節點接收到計算節點發送的心跳信號後,發回心跳確認消息給計算 節點,計算節點收到後向備除節點發送主節點確認消息;(2) 如果計算節點在兩個心跳周期內沒有收到心跳確認消息,則向備份節 點發送主節點錯誤消息;(3) 如果備份節點收到計算節點發出的主節點錯誤消息,且在下一個心跳 周期內沒有收到任何計算節點發出的主節點確認消息,則認為主節點失效;(4) 備份節點在網格內發送廣播消息,通知所有計算節點變更主節點地址;(5) 備份節點恢復主控代理,轉為網格主節點;主節點錯誤處理過程結束; 計算節點錯誤處理過程如下(a) 主節點向計算節點發送計算作業後,將作業標識和計算節點地址進行 存儲,並將作業狀態設為"已分發";(b) 主節點在兩次心跳周期內未收到計算節點的心跳信號,即i人為該計算 節點失效;(c) 主節點按照計算節點地址獲取作業標識,將作業狀態設為"未分發";(d)等待作業重新分配,計算節點錯誤處理過程結束; 作業錯誤處理過程如下(A) 當作業代理發現CPU佔用率或內存佔用率達到預設門限值以上,則 認為該計算作業需要遷移;(B) 判斷該計算作業是否已經設置了檢查點,若設置了檢查點,則作業 代理向主監控代理髮出遷移查詢請求;如果計算作業沒有設置檢查點,但運行 時間沒有超過一定時間閾值,則作業代理也向主監控代理髮出遷移查詢請求;(C) 主監控代理檢查節點狀態表,如果滿足遷移條件,將遷移條件滿足 消息和遷移目標節點地址發送給發出遷移查詢請求的作業代理;(D) 節點代理容器檢查作業代理的遷移次數,如果遷移次數沒有超過最 大值,則掛起代理;(E) 節點代理容器將作業代理序列化,並傳輸至遷移目標節點;(F) 遷移目標節點的節點代理容器接收到作業代理序列化後的字節流,將 其反序列化,並重新運行代理,作業^l晉誤處理過程結束。
全文摘要
一種基於代理技術的網格計算容錯系統及方法,該系統包括一個主節點、一個備份節點和多個計算節點;主節點上設置主控代理容器、主控代理和主監控代理;備份節點上設置備份代理容器和備份監控代理;計算節點上設置節點代理容器、監控代理和作業代理;採用本系統及方法能夠在網格主節點掉線,或負荷過重崩潰時,處理網格主節點的錯誤。在網格計算節點掉線,或負荷過重掉線時,及時對計算作業進行重新分配。在計算節點負荷過重、作業響應時間過長時,對計算作業進行遷移。
文檔編號H04L12/26GK101594254SQ20091008766
公開日2009年12月2日 申請日期2009年6月30日 優先權日2009年6月30日
發明者孔文秦, 馨 廖, 悅 王, 雯 趙 申請人:中國運載火箭技術研究院

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀