新四季網

一種基於進程冗餘的容錯系統及其設計方法

2023-05-16 13:14:31

一種基於進程冗餘的容錯系統及其設計方法
【專利摘要】本發明涉及容錯系統設計方法【技術領域】,特別涉及一種基於進程冗餘的容錯系統及其設計方法。本發明提出了一種基於進程冗餘的容錯機制和策略,對關鍵進程構造雙模冗餘或多模冗餘,採用進程間同步等手段確保冗餘進程按照同樣的執行邏輯運行,監控系統並對不同的錯誤進行相應的錯誤處理,最終以此提高系統的可靠性和可用性。
【專利說明】一種基於進程冗餘的容錯系統及其設計方法
【技術領域】
[0001]本發明涉及容錯系統設計方法【技術領域】,特別涉及一種基於進程冗餘的容錯系統 及其設計方法。
【背景技術】
[0002]隨著銀行事務處理、信息服務、金融計算等領域對計算機系統的廣泛應用,對計算 機系統可靠性的要求也越來越高。容錯是一種提高計算機系統可靠性的重要手段,容錯的 含義是指在系統內部出現故障的情況下,計算機仍然能正確地執行指定算法。對於銀行、電 信等關鍵領域的應用,計算機系統對於系統失效極其敏感,保證系統關鍵進程的可靠性至 關重要。常見的容錯機制主要依據靜態結構冗餘原理實現,然而硬體層的冗餘成本很高且 實現複雜,應用軟體層的冗餘則不具有通用性。
[0003]常見的軟硬體容錯機制,如處理器鎖步技術、內存鏡像技術、多路徑I/O技術、N版 本程序設計等主要依據靜態結構冗餘原理實現,但硬體層的冗餘成本很高且實現複雜,而 應用軟體層的冗餘則不具有通用性。

【發明內容】

[0004]為了解決現有技術的問題,本發明提供了一種基於進程冗餘的容錯系統及其設計 方法,其對關鍵進程構造雙模冗餘或多模冗餘,採用進程間同步等手段確保冗餘進程按照 同樣的執行邏輯運行,監控系統並對不同的錯誤進行相應的錯誤處理,以此提高系統的可 靠性和可用性。
[0005]本發明所採用的技術方案如下:
一種基於進程冗餘的容錯系統,其全部集中於作業系統核心層,包括容錯進程管理模 塊、錯誤處理模塊、I/o容錯控制模塊和監控管理模塊,其中,
容錯進程管理模塊,用於實現冗餘進程全生命周期管理,包括冗餘進程的創建、調度、 同步、通信及銷毀,使得原生進程及其冗餘進程在有序執行原有邏輯的同時滿足容錯特性 的需要;
錯誤處理模塊,當通過同步比較檢測到冗餘進程的運行中發生錯誤時,錯誤處理模塊 進行故障類型診斷並根據預配置採取相應的處理方式,快速完成錯誤恢復;
I/o容錯控制模塊,負責容錯系統內部數據與外部數據的格式轉換和冗餘控制,並輔助 I/o操作進行同步比較;
監控管理模塊,包括運行於用戶態的控制臺和運行於內核態的監控管理模塊,控制臺 提供給用戶直觀的操作界面,用戶通過控制臺監測冗餘進程運行狀態,查看容錯事件日誌, 對系統的主要參數進行配置等;控制臺的所有數據通過與內核監控模塊交互獲得。
[0006]容錯進程管理模塊對fork、clone和vfork系統調用進行容錯控制,在do_fork( )函數的基礎上,增加了 do_double_fork和do_ft_fork兩個功能函數,實現了控制 應用程式派生雙模進程和雙模進程派生各自子進程的功能。[0007]I/O容錯控制模塊包括終端接口、磁碟接口、以及網絡接口。
[0008]一種基於進程冗餘的容錯系統的設計方法,包括:(I)、以SMP架構中的多CPU為 冗餘硬體,構造冗餘任務在獨立的CPU組上並行執行,通過對冗餘任務的執行數據進行比 較實現檢錯,並使用降模、重啟等機制完成錯誤恢復;(2)、在Linux作業系統中添加容錯容 器,容錯容器中的應用以冗餘方式運行,由進程容錯系統負責管理冗餘任務,分別在冗餘硬 件上獨立執行,並控制任務同步、數據比較、錯誤檢測和恢復。
[0009]在容錯容器中,一組冗餘任務執行相同的功能代碼,在其運行過程中,容錯系統對 其進行管理、同步和監控,並根據數據比較結果進行錯誤檢測,容錯容器外的任務仍以普通 單模方式運行。
[0010]本發明提供的技術方案帶來的有益效果是:
本發明給出了一種基於進程冗餘的容錯系統及其設計方法,設計了基於進程冗餘的容 錯策略和方法,並實現了進程容錯系統的原型系統,對關鍵進程進行冗餘,並通過同步機制 保證進程的正確執行,並對系統監控來進行相應的錯誤處理。實驗證明該方法性能損耗小, 並能有效地提高系統的可靠性,同時避免了硬體定製的複雜性,並對應用程式和用戶透明。
【專利附圖】

【附圖說明】
[0011]圖1為本發明的一種基於進程冗餘的容錯系統及其設計方法的系統模塊關係圖; 圖2為本發明的一種基於進程冗餘的容錯系統及其設計方法的容錯進程創建流程圖; 圖3為本發明的一種基於進程冗餘的容錯系統及其設計方法的工作流程圖。
【具體實施方式】
[0012]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方 式作進一步地詳細描述。
[0013]如附圖1所示,一種基於進程冗餘的容錯系統,其全部集中於作業系統核心層,包 括容錯進程管理模塊、錯誤處理模塊、I/o容錯控制模塊和監控管理模塊,其中,
容錯進程管理模塊,用於實現冗餘進程全生命周期管理,包括冗餘進程的創建、調度、 同步、通信及銷毀,使得原生進程及其冗餘進程在有序執行原有邏輯的同時滿足容錯特性 的需要;
錯誤處理模塊,當通過同步比較檢測到冗餘進程的運行中發生錯誤時,錯誤處理模塊 進行故障類型診斷並根據預配置採取相應的處理方式,快速完成錯誤恢復;
I/o容錯控制模塊,負責容錯系統內部數據與外部數據的格式轉換和冗餘控制,並輔助 I/o操作進行同步比較;
監控管理模塊,包括運行於用戶態的控制臺和運行於內核態的監控管理模塊,控制臺 提供給用戶直觀的操作界面,用戶通過控制臺監測冗餘進程運行狀態,查看容錯事件日誌, 對系統的主要參數進行配置等;控制臺的所有數據通過與內核監控模塊交互獲得。
[0014]容錯進程管理模塊對fork、clone和vfork系統調用進行容錯控制,在do_fork( )函數的基礎上,增加了 do_double_fork和do_ft_fork兩個功能函數,實現了控制 應用程式派生雙模進程和雙模進程派生各自子進程的功能。
[0015]參考附圖2,容錯進程管理模塊對fork、clone和vfork系統調用進行容錯控制,在do_fork函數的基礎上,增加了 do_double_fork和do_ft_fork兩個功能函 數,實現了控制應用程式派生雙模進程和雙模進程派生各自子進程的功能。在容錯系統中, 一個進程要派生子進程將會調用fork、clone或vfork系統調用中的一個,系統會首先根據 ft_mak標誌位判斷當前進程是否是冗餘進程,如果是,調用do_ft_fork函數創建冗餘 進程的子進程;如果否,則判斷是否有容錯標誌ft_exec,如果有,表明需要容錯,調用do_ double_fork函數,派生冗餘進程;如果不需要容錯,調用系統中原有的do_fork函 數,正常派生進程。通過上述控制,實現了不同情況下進程派生的需要。
[0016]I/O容錯控制模塊包括終端接口、磁碟接口、以及網絡接口。根據不同的I/O種類, 設計系統I/o容錯控制模塊結構也可以主要包含兩個子模塊,磁碟/終端讀寫I/O控制和 網絡數據讀寫I/O控制。
[0017]參照附圖3,對本發明的內容以一個具體實例來描述實現這一體系結構的過程。
[0018]用戶通過容錯控制臺界面啟動應用程式,打開容錯開關(設置標誌位ft_eXeC)進 程容錯系統為該應用程式創建一對進程(原生-冗餘進程),這一對進程裝載應用程式相同 的執行代碼,並開始在獨立的CPU組上並行執行。
[0019]在同步協議控制下,原生-冗餘進程對同時到達同步點,並開始同步,若其中某個 進程在同步點上等待超時,則觸發錯誤進入故障檢測、錯誤處理。如果同步點上的操作為I/ 0操作,需要進行I/O轉換,判斷操作是否為寫操作,若是則對原生-冗餘進程對寫出的數據 進行比較,數據相同則認為執行正確,若比較數據不同則認為存在故障,進入故障檢測、錯 誤處理流程。若I/o操作為讀操作,則I/O容錯控制模塊完成I/O接口的數據轉換,並執行 最終的實際功能操作。
[0020]若同步點上的操作為非I/O操作,則直接在同步點上進行狀態一致性調整,如統 一函數返回值,記錄當前進程狀態信息,完成本次同步。
[0021 ] 以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和 原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種基於進程冗餘的容錯系統,其全部集中於作業系統核心層,包括容錯進程管理 模塊、錯誤處理模塊、I/o容錯控制模塊和監控管理模塊,其中,容錯進程管理模塊,用於實現冗餘進程全生命周期管理,包括冗餘進程的創建、調度、 同步、通信及銷毀,使得原生進程及其冗餘進程在有序執行原有邏輯的同時滿足容錯特性 的需要;錯誤處理模塊,當通過同步比較檢測到冗餘進程的運行中發生錯誤時,錯誤處理模塊 進行故障類型診斷並根據預配置採取相應的處理方式,快速完成錯誤恢復;I/o容錯控制模塊,負責容錯系統內部數據與外部數據的格式轉換和冗餘控制,並輔助 I/o操作進行同步比較;監控管理模塊,包括運行於用戶態的控制臺和運行於內核態的監控管理模塊,控制臺 提供給用戶直觀的操作界面,用戶通過控制臺監測冗餘進程運行狀態,查看容錯事件日誌, 對系統的主要參數進行配置等;控制臺的所有數據通過與內核監控模塊交互獲得。
2.根據權利要求1所述的一種基於進程冗餘的容錯系統,其特徵在於,所述的容錯進 程管理模塊對fork、clone和vfork系統調用進行容錯控制,在do_fork函數的基礎上, 增加了 do_double_fork和do_ft_fork兩個功能函數,實現了控制應用程式派生雙 模進程和雙模進程派生各自子進程的功能。
3.根據權利要求1所述的一種基於進程冗餘的容錯系統,其特徵在於,所述的I/O容錯 控制模塊包括終端接口、磁碟接口、以及網絡接口。
4.一種基於進程冗餘的容錯系統的設計方法,包括:(I)、以SMP架構中的多CPU為冗 餘硬體,構造冗餘任務在獨立的CPU組上並行執行,通過對冗餘任務的執行數據進行比較 實現檢錯,並使用降|吳、重啟等機制完成錯誤恢復;(2)、在Linux丨呆作系統中添加各錯各 器,容錯容器中的應用以冗餘方式運行,由進程容錯系統負責管理冗餘任務,分別在冗餘硬 件上獨立執行,並控制任務同步、數據比較、錯誤檢測和恢復。
5.根據權利要求4所述的一種基於進程冗餘的容錯系統的設計方法,其特徵在於,在 容錯容器中,一組冗餘任務執行相同的功能代碼,在其運行過程中,容錯系統對其進行管 理、同步和監控,並根據數據比較結果進行錯誤檢測,容錯容器外的任務仍以普通單模方式 運行。
【文檔編號】G06F11/07GK103593251SQ201310546513
【公開日】2014年2月19日 申請日期:2013年11月7日 優先權日:2013年11月7日
【發明者】王恩東, 胡雷鈞, 張東, 吳楠, 劉璧怡 申請人:浪潮電子信息產業股份有限公司

同类文章

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

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