本發(fā)明屬于計算機測量與控制技術領域,特別涉及一種基于非實時操作系統(tǒng)的雙機冗余容錯系統(tǒng)。
背景技術:
隨著武器裝備系統(tǒng)復雜性的不斷提高,對測試可靠性要求日益提高,很多獲得高可靠性
電子設備的可靠性設計依賴于冗余設計,冗余設計是提高設備可靠性的最常用的有效手段之一,來利用冗余設計,就可以在單個組件或系統(tǒng)發(fā)生失效時不影響系統(tǒng)的整體可靠性。
冗余設計是用一臺或多臺相同單元(系統(tǒng))構成并聯(lián)形式,當其中一臺發(fā)生故障時,其它單元仍能使系統(tǒng)正常工作的設計技術。
冗余技術按特點可分:熱冗余/冷冗余;按冗余程度分為:兩重冗余/三重冗余/多重冗余;按冗余范圍分:元器件冗余/部件冗余/子系統(tǒng)冗余/系統(tǒng)冗余。
其中,冷冗余是指貯備期間備份設備不通電,不運行。即備份設備的劣化速度較慢,具備最高的可靠性,缺點是備件的更換需要一定的時間,不能滿足實時性要求較高的應用場合;熱冗余則是指備份設備與主份設備同時工作,當主份發(fā)生故障時由一臺或多臺備份設備接替主份的工作,熱備份實用價值最高,也是熱門研究方向,缺點是與冷冗余相比,實現(xiàn)難度較高,且整個系統(tǒng)的劣化速度較快。
從冗余度層面考慮,當系統(tǒng)的固有可用度恒定時,根據(jù)數(shù)據(jù)模型計算,采用二重冗余可將系統(tǒng)可靠性提高10%,而三重冗余與二重冗余相比僅提高了0.9%,四重冗余在三重冗余的基礎上僅能提高0.09%,考慮到系統(tǒng)復雜度及成本,二重冗余的具有最優(yōu)的投入/產(chǎn)出比。
系統(tǒng)冗余最為復雜,是減少單點失效,提高可靠性的最佳途經(jīng);但成本高昂,設計難度大。元器件級成本低廉,易于實現(xiàn),但對于接口匹配類失效模式效果不理想。故目前大多采用部件冗余/子系統(tǒng)冗余相結合的方式,根據(jù)系統(tǒng)的功能及重要性識別出可靠性關鍵設備/部件,僅對該部分進行冗余設計,以期獲得最高的投入/產(chǎn)出比。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題是在現(xiàn)有的裝備測試設備框架的基礎上,結合幾種冗余技術的優(yōu)勢/劣勢,提供一種適用于非實時操作系統(tǒng)下的既穩(wěn)定可靠由具備較好實時性的冗余容錯的系統(tǒng)。采用該系統(tǒng)可在150ms內(nèi)完成一次非實時操作系統(tǒng)下的主從切換過程。與傳統(tǒng)的單機模式相比,可將非實時操作系統(tǒng)的可靠性指標(平均無故障時間MTBF)提高30%,并將非實時操作系統(tǒng)的平均維修時間(MTTR)降低至0.5h以下。
為了實現(xiàn)上述目的,本發(fā)明提出的一種基于非實時操作系統(tǒng)的雙機冗余容錯系統(tǒng),所述系統(tǒng)包括:指揮中心、主機模塊和從機模塊,所述指揮中心向主機模塊和從機模塊發(fā)送測控指令,所述主機模塊和從機模塊向指揮中心發(fā)送采集的數(shù)據(jù);所述主機模塊用于完成主從機狀態(tài)同步,監(jiān)測主機故障,并在監(jiān)測到故障后發(fā)送切換命令到從機;所述主機模塊包括:主機應用層、主機同步單元、主機故障檢測平臺、主機故障監(jiān)測單元和主機網(wǎng)絡傳輸單元;所述從機模塊用于完成主從機狀態(tài)同步,監(jiān)測從機故障,接收主機發(fā)送到切換命令,完成主從切換;所述從機模塊包括:從機應用層、從機同步單元、從機故障檢測平臺、從機故障監(jiān)測單元和從機網(wǎng)絡傳輸單元。
上述技術方案中,所述主機應用層,用于接收和執(zhí)行指揮中心發(fā)布的測控指令,并將主機的狀態(tài)信息發(fā)送到指揮中心;
所述主機同步單元,用于采取二次校時的方法對主機和從機的時鐘進行同步;時鐘同步之后,主機進入待命狀態(tài),當收到指揮中心發(fā)來的測控指令后,完成主從雙機狀態(tài)同步;
所述主機網(wǎng)絡傳輸單元,用于通過以太網(wǎng)與從機網(wǎng)絡傳輸單元建立通信;在主機正常運行時,發(fā)送主機心跳包給從機網(wǎng)絡傳輸單元;
所述主機故障檢測平臺,包括若干個故障檢測插件,每個故障檢測插件對應一種故障模式,該平臺通過Windows系統(tǒng)內(nèi)部的WMI接口,周期性獲取故障檢測插件的具體參數(shù)值;所述故障模式包括:CPU占用率、CPU溫度、硬盤剩余空間和硬盤溫度;用于根據(jù)危害程度為每一類故障模式設置兩道檢測門限:報警門限和切換門限;當監(jiān)測狀態(tài)值大于報警門限而未超過切換門限時,利用最小二乘法對該設備的下個周期的故障趨勢進行預測;當監(jiān)測狀態(tài)值或預測值大于切換門限時,發(fā)送故障模式到所述主機故障監(jiān)測單元;
所述主機故障監(jiān)測單元,用于當接收到主機故障檢測平臺發(fā)送的故障模式時,設置自身的故障狀態(tài)字,調(diào)用主機網(wǎng)絡傳輸單元,如果沒有收到從機發(fā)送的發(fā)生故障的消息,發(fā)送主從切換命令所述主機網(wǎng)絡傳輸單元,并通知主機同步單元改變主從狀態(tài)標識位,進而在下一個同步點時更改為從機同步邏輯,當主從狀態(tài)標識位更改完畢后,寫入故障/切換日志;否則,如果收到從機發(fā)送的發(fā)生故障的消息,將主從機都發(fā)生故障的消息通過主機應用層發(fā)送到指揮中心。
上述技術方案中,所述從機應用層,用于接收和執(zhí)行指揮中心發(fā)布的測控指令,并將從機的狀態(tài)信息發(fā)送到指揮中心;
所述從機同步單元,用于配合主機同步單元完成與主機的時鐘同步;時鐘同步之后,從機進入待命狀態(tài),當收到指揮中心發(fā)來的測控指令后,完成主從雙機狀態(tài)同步;
所述從機網(wǎng)絡傳輸單元,用于通過以太網(wǎng)與主機網(wǎng)絡傳輸單元建立通信,接收主從切換命令和主機心跳包;當從機接收到切換信息后,傳遞給從機故障監(jiān)測單元;當未連續(xù)接收到主機心跳包后,如果未收到從機出現(xiàn)故障的消息,發(fā)送切換命令給從機故障監(jiān)測單元;
所述從機故障檢測平臺,包括若干個故障檢測插件,每個故障檢測插件對應一種故障模式,該平臺通過Windows系統(tǒng)內(nèi)部的WMI接口,周期性獲取故障檢測插件的具體參數(shù)值;所述故障模式包括:CPU占用率、CPU溫度、硬盤剩余空間和硬盤溫度;用于根據(jù)危害程度為每一類故障模式設置兩道檢測門限:報警門限和切換門限;當監(jiān)測狀態(tài)值大于報警門限而未超過切換門限時,利用最小二乘法對該設備的下個周期的故障趨勢進行預測;當監(jiān)測狀態(tài)值或預測值大于切換門限時,發(fā)送故障模式到所述從機故障監(jiān)測單元;
所述從機故障監(jiān)測單元,用于當接收從機故障檢測平臺發(fā)送的故障模式時,設置自身的故障狀態(tài)字;將從機出現(xiàn)故障的消息通過從機網(wǎng)絡傳輸單元發(fā)送給主機網(wǎng)絡傳輸單元;當接收到從機網(wǎng)絡傳輸單元發(fā)送的切換命令后,將從機狀態(tài)標識位更改為主機狀態(tài),寫入本機的故障/切換日志,并通知從機應用層切換已發(fā)生,由應用層控制總線通信模塊板卡行切換。
上述技術方案中,所述主機同步單元和從機同步單元完成主從機狀態(tài)同步的過程為:
步驟1)所述主機同步單元獲取本地的系統(tǒng)時間,發(fā)送校時數(shù)據(jù)包到發(fā)送隊列,并喚醒客戶端線程,發(fā)送校時數(shù)據(jù)幀到從機同步單元;
步驟2)所述從機同步單元接到指令后,立即回復二次校時請求;
步驟3)所述主機同步單元接到二次校時請求后立即獲取最新系統(tǒng)時間,再次發(fā)送校時數(shù)據(jù)幀;
步驟4)所述從機同步單元接到二次校時回復后,更新系從機統(tǒng)時間,更新后的從機本地系統(tǒng)時間為最后一次校時+兩次校時差/2。
本發(fā)明的優(yōu)勢在于:
1、本發(fā)明的系統(tǒng)具有容錯策略靈活可配置、不依賴于單一測試總線架構、擴展性、兼容性強以及可靠性高的特點;
2、本發(fā)明的系統(tǒng)有效地提高了傳統(tǒng)測試設備的連續(xù)運行時間、平均無故障時間等可靠性指標,顯著延長了系統(tǒng)的使用壽命。
附圖說明
圖1為本發(fā)明的基于非實時操作系統(tǒng)的雙機冗余容錯系統(tǒng)架構圖;
圖2為本發(fā)明故障檢測插件與故障檢測平臺接口關系圖;
圖3為本發(fā)明的主機非死機類故障導致的切換時序步驟圖;
圖4為本發(fā)明的主機死機類故障導致的切換時序步驟圖。
具體實施方式
下面結合附圖與具體實施方式對本發(fā)明作進一步詳細說明。
如圖1所示,一種基于非實時操作系統(tǒng)的雙機冗余容錯系統(tǒng),所述系統(tǒng)包括:指揮中心、主機模塊和從機模塊,所述指揮中心向主機模塊和從機模塊發(fā)送測控指令,所述主機模塊和從機模塊向指揮中心發(fā)送采集的數(shù)據(jù);所述主機模塊包括:主機應用層、主機同步單元、主機故障檢測平臺、主機故障監(jiān)測單元和主機網(wǎng)絡傳輸單元;所述從機模塊包括:從機應用層、從機同步單元、從機故障檢測平臺、從機故障監(jiān)測單元和從機網(wǎng)絡傳輸單元。
所述主機應用層,用于接收和執(zhí)行指揮中心發(fā)布的測控指令,并將主機的狀態(tài)信息發(fā)送到指揮中心;
所述主機同步單元,用于采取二次校時的方法對主機和從機的時鐘進行同步;時鐘同步之后,主機進入待命狀態(tài),當收到指揮中心發(fā)來的測控指令后,完成主從雙機狀態(tài)同步;
所述主機網(wǎng)絡傳輸單元,用于通過以太網(wǎng)與從機網(wǎng)絡傳輸單元建立通信;在主機正常運行時,發(fā)送主機心跳包給從機網(wǎng)絡傳輸單元;
所述主機故障檢測平臺,包括若干個故障檢測插件,每個故障檢測插件對應一種故障模式,如圖2所示;該平臺通過Windows系統(tǒng)內(nèi)部的WMI接口,周期性獲取故障檢測插件的具體參數(shù)值;所述故障模式包括:CPU占用率、CPU溫度、硬盤剩余空間和硬盤溫度;用于根據(jù)危害程度為每一類故障模式設置兩道檢測門限:報警門限和切換門限;當監(jiān)測狀態(tài)值大于報警門限而未超過切換門限時,利用最小二乘法對該設備的下個周期的故障趨勢進行預測;當監(jiān)測狀態(tài)值或預測值大于切換門限時,發(fā)送故障模式到所述主機故障監(jiān)測單元;
所述主機故障監(jiān)測單元,用于當接收主機故障檢測平臺發(fā)送的故障模式時,設置自身的故障狀態(tài)字,調(diào)用主機網(wǎng)絡傳輸單元,如果沒有收到從機發(fā)送的發(fā)生故障的消息,發(fā)送主從切換命令給主機網(wǎng)絡傳輸單元,并通知主機同步單元改變主從狀態(tài)標識位,進而在下一個同步點時更改為從機同步邏輯,當主從狀態(tài)標識位更改完畢后,寫入故障/切換日志;否則,如果收到從機發(fā)送的發(fā)生故障的消息,將主從機都發(fā)生故障的消息通過主機應用層發(fā)送到指揮中心;
所述從機應用層,用于接收和執(zhí)行指揮中心發(fā)布的測控指令,并將從機的狀態(tài)信息發(fā)送到指揮中心;
所述從機同步單元,用于配合主機同步單元完成與主機的時鐘同步;時鐘同步之后,從機進入待命狀態(tài),當收到指揮中心發(fā)來的測控指令后,完成主從雙機狀態(tài)同步;具體過程為:
步驟1)主機同步單元獲取本地的系統(tǒng)時間,發(fā)送校時數(shù)據(jù)包到發(fā)送隊列,并喚醒客戶端線程,發(fā)送校時數(shù)據(jù)幀到從機同步單元;
步驟2)從機同步單元接到指令后,立即回復二次校時請求;
步驟3)主機同步單元接到二次校時請求后立即獲取最新系統(tǒng)時間,再次發(fā)送校時數(shù)據(jù)幀;
步驟4)從機同步單元接到二次校時回復后,更新系統(tǒng)時間,更新后的從機本地系統(tǒng)時間為最后一次校時+兩次校時差/2。
所述從機網(wǎng)絡傳輸單元,用于通過以太網(wǎng)與主機網(wǎng)絡傳輸單元建立通信,接收主從切換命令和主機心跳包;當從機接收到切換信息后,傳遞給從機故障監(jiān)測單元(如圖3所示);當未連續(xù)接收到主機心跳包后,如果未收到從機出現(xiàn)故障的消息,發(fā)送切換命令給從機故障監(jiān)測單元(如圖4所示);
所述從機故障檢測平臺,包括若干個故障檢測插件,每個故障檢測插件對應一種故障模式,該平臺通過Windows系統(tǒng)內(nèi)部的WMI接口,周期性獲取故障檢測插件的具體參數(shù)值;所述故障模式包括:CPU占用率、CPU溫度、硬盤剩余空間和硬盤溫度;用于根據(jù)危害程度為每一類故障模式設置兩道檢測門限:報警門限和切換門限;當監(jiān)測狀態(tài)值大于報警門限而未超過切換門限時,利用最小二乘法對該設備的下個周期的故障趨勢進行預測;當監(jiān)測狀態(tài)值或預測值大于切換門限時,發(fā)送故障模式到所述從機故障監(jiān)測單元;
所述從機故障監(jiān)測單元,用于當接收從機故障檢測平臺發(fā)送的故障模式時,設置自身的故障狀態(tài)字;將從機出現(xiàn)故障的消息通過從機網(wǎng)絡傳輸單元發(fā)送給主機網(wǎng)絡傳輸單元;當接收到從機網(wǎng)絡傳輸單元發(fā)送的切換命令后,將從機狀態(tài)標識位更改為主機狀態(tài),寫入本機的故障/切換日志,并通知從機應用層切換已發(fā)生,由應用層控制總線通信模塊板卡行切換。
本發(fā)明設計了一種用于非實時計算機操作系統(tǒng)下的雙機同構冗余容錯機制,結合時鐘同步技術、故障檢測技術、狀態(tài)同步技術與網(wǎng)絡通信技術,以兩臺相同架構的計算機構建冗余熱備平臺,形成一臺主用,一臺備用的雙重冗余工作機制,并通過數(shù)據(jù)協(xié)議接口與本機內(nèi)的測試應用軟件完成交互,控制測控儀器資源完成對被測對象的自動化測試流程。