• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      衛(wèi)星導(dǎo)航系統(tǒng)雙工熱備技術(shù)研究

      2010-09-17 09:43:40劉曉萍劉利曹紀(jì)東胡湘華黃雙臨胡光明
      關(guān)鍵詞:備機雙工熱備

      劉曉萍 劉利 曹紀(jì)東 胡湘華 黃雙臨 胡光明

      北京環(huán)球應(yīng)用開發(fā)中心 北京 100094

      0 前言

      為提高軟件運行的可靠性,通常采用的方法是將軟件分別部署在兩臺或多臺計算機上,利用專用雙工軟件構(gòu)成雙工系統(tǒng)或計算機集群系統(tǒng),在單臺計算機出現(xiàn)故障時,雙工軟件進(jìn)行故障判斷并進(jìn)行切換,以保障軟件能夠不間斷運行。群機冗余是提高計算機系統(tǒng)可靠性的有效途徑。在工程實現(xiàn)中,雙機熱備是性能價格比最理想的方案,被廣泛應(yīng)用在航天、軍事、金融等關(guān)鍵任務(wù)領(lǐng)域。

      實現(xiàn)雙工熱備有兩種選擇,一種是采購目前市場上銷售的商用雙工熱備軟件(如RoseHA等),另一種是自行設(shè)計開發(fā)。比較典型的商用雙機容錯系統(tǒng),如Compaq Trucluster系統(tǒng)、HP雙機雙控容錯系統(tǒng)、LEGATO Co-Standby Server系統(tǒng)、SteelEye LifeKeeper系統(tǒng)和Rose HA系統(tǒng)等,其關(guān)鍵結(jié)構(gòu)均采用雙機系統(tǒng)的熱備方式,在通過高速網(wǎng)絡(luò)或磁盤陣列進(jìn)行互聯(lián)的基礎(chǔ)上,實現(xiàn)基于磁盤鏡像或磁盤陣列的軟硬件容錯系統(tǒng),提供通用的可靠性解決方案。但是,這些系統(tǒng)的故障檢測時間比較長(根據(jù)應(yīng)用和故障類型的不同,時間有所不同):通過實際應(yīng)用和測試,當(dāng)系統(tǒng)出現(xiàn)故障時,雙機切換時間都在10秒級、甚至數(shù)分鐘,從而導(dǎo)致系統(tǒng)處理的“斷流”現(xiàn)象。商用的雙工熱備軟件不是針對我們這種高實時的應(yīng)用開發(fā)的,其實時性較低,切換時間較長。

      因此,針對衛(wèi)星導(dǎo)航定位系統(tǒng)這種對實時性、可靠性要求高,需要不間斷進(jìn)行數(shù)據(jù)處理的關(guān)鍵任務(wù)系統(tǒng),如何保證雙機容錯系統(tǒng)的強實時性、高可靠性和服務(wù)“不斷流”,是其中的關(guān)鍵技術(shù)難點。

      1 方案設(shè)計

      在衛(wèi)星導(dǎo)航系統(tǒng)中,由于系統(tǒng)的可靠性要求很高,必然需要利用雙工技術(shù)來保障系統(tǒng)的連續(xù)運行。但是由于衛(wèi)星導(dǎo)航系統(tǒng)數(shù)據(jù)處理量大、實時性要求高,所以對專用雙工切換軟件提出了更高的要求。

      服務(wù)器的故障可能由各種原因引起,如硬件設(shè)備故障、操作系統(tǒng)故障、業(yè)務(wù)軟件故障等等。為了達(dá)到系統(tǒng)的可用性和可靠性指標(biāo),商用軟件這顯然是不能滿足要求的,我們采用雙機自行開發(fā)的冗余互為熱備容錯方案。

      1.1 硬件組成

      雙機熱備系統(tǒng)的硬件組成如圖1所示。兩臺服務(wù)器通過兩條專用連接進(jìn)行互連。專用連接用于傳輸服務(wù)器的心跳信息,以及雙機交互信息(特征碼、雙機切換請求和應(yīng)答以及在系統(tǒng)恢復(fù)時傳送恢復(fù)計算所需的數(shù)據(jù))。

      圖1 雙機熱備的系統(tǒng)組成

      服務(wù)器心跳信息和雙機間交互信息的數(shù)據(jù)量不大,但實時性要求高,因此雙機專用連接需要選用帶寬高、延遲小的產(chǎn)品。千兆以太網(wǎng)和基于InfiniBand標(biāo)準(zhǔn)的主機通道適配器(HCA)都具有帶寬高、延遲小的特點。但由于InfiniBand HCA的帶寬更高、延遲更小(數(shù)據(jù)如表1所示),并且占用的CPU資源更少,因此作為首選。同時,可以采用兩條千兆以太網(wǎng)連接作為備份鏈路,當(dāng)InfiniBand HCA發(fā)生故障時切換使用以太網(wǎng)線發(fā)送心跳信息和雙機交互信息。

      表1 千兆以太網(wǎng)與InfiniBand HCA性能比較

      針對系統(tǒng)的數(shù)據(jù)庫應(yīng)用需求,結(jié)合數(shù)據(jù)庫集群的雙機熱備系統(tǒng)如圖2所示。數(shù)據(jù)庫集群可以采用Oracle 10g的RAC(Real Application Cluster)軟件及Oracle Cluster Ready軟件等,使用共享磁盤陣列進(jìn)行數(shù)據(jù)存儲。系統(tǒng)正常工作狀態(tài)下,兩臺服務(wù)器同時接收并處理待存檔的數(shù)據(jù),由主機負(fù)責(zé)數(shù)據(jù)入庫、數(shù)據(jù)備案及向外提供數(shù)據(jù)服務(wù)等工作,由數(shù)據(jù)庫集群負(fù)責(zé)數(shù)據(jù)庫本身負(fù)載均衡。當(dāng)主機出現(xiàn)故障時,所有任務(wù)由備機獨立承擔(dān),實現(xiàn)數(shù)據(jù)服務(wù)的連續(xù)運行。因為兩臺服務(wù)器共享同一數(shù)據(jù)庫,因此在故障時能保證入庫數(shù)據(jù)的一致性。

      圖2 結(jié)合數(shù)據(jù)庫集群的雙機熱備系統(tǒng)組成

      1.2 軟件設(shè)計

      在雙機熱備工作模式下,兩臺配置相同的服務(wù)器構(gòu)成一個機組,一臺為主機,另一臺為備機(如圖 3所示)。雙機運行相同的軟件,使用相同的參數(shù)配置,接收相同的數(shù)據(jù),進(jìn)行相同的數(shù)據(jù)處理,Oracle數(shù)據(jù)庫集群負(fù)責(zé)數(shù)據(jù)庫本身負(fù)載均衡。但只有主機才能輸出計算結(jié)果,備機不向外輸出。主機故障后,備機接替主機的工作成為新主機,獨立承擔(dān)所有實時任務(wù),實現(xiàn)數(shù)據(jù)服務(wù)的連續(xù)運行,主機切出并在修復(fù)后切入成為新備機。備機故障后,主機狀態(tài)不發(fā)生改變,備機切出并在修復(fù)后切入。

      圖3 雙機熱備軟件組成

      1.2.1 狀態(tài)切換

      在主機發(fā)生故障的情況下,雙機熱備系統(tǒng)自動切換原副機為主機,接替原主機完成任務(wù)。當(dāng)故障機修復(fù)后,可重新加入雙機系統(tǒng)。

      在副機發(fā)生故障的情況下,主機仍維持主機狀態(tài),其處理不受影響,繼續(xù)完成任務(wù),雙機熱備軟件將告警,但不發(fā)生切換。當(dāng)副機修復(fù)后,可重新加入雙機系統(tǒng)。

      狀態(tài)切換策略可通過狀態(tài)管理進(jìn)行設(shè)置。

      1.2.2 實時性

      雙機熱備方案的實時性由兩部分構(gòu)成:故障檢測的實時性和狀態(tài)切換的實時性。單機故障的情況很多,歸納起來有三種:服務(wù)器硬件故障,網(wǎng)絡(luò)設(shè)備故障以及應(yīng)用軟件故障。

      服務(wù)器硬件故障可以細(xì)分為部件故障和整機故障。本方案采用心跳機制來檢測整機故障。備機上的熱備服務(wù)模塊每隔10ms在兩個專用連接上監(jiān)測主機的心跳。當(dāng)備機在50ms內(nèi)收不到主機的應(yīng)答時,認(rèn)為主機已故障,備機就切換為主機,接管向外輸出信息的任務(wù)。這樣可以保證故障檢測時間≤50ms。部件故障是通過系統(tǒng)監(jiān)護(hù)模塊檢測的,通過定期對系統(tǒng)部件、進(jìn)程的檢測,可以獲取各部件、進(jìn)程的狀態(tài),檢測周期定為30ms。系統(tǒng)監(jiān)護(hù)模塊判斷故障的時間<1ms,這樣故障檢測時間≤50ms。

      網(wǎng)絡(luò)設(shè)備故障會引起進(jìn)程無法獲得數(shù)據(jù)或發(fā)送數(shù)據(jù),通過特征碼機制,可以在<50ms的周期里判斷出接收數(shù)據(jù)失敗,發(fā)送數(shù)據(jù)失敗可以立即判斷出來,加上重發(fā)超時,也可以保證檢測時間≤50ms。

      業(yè)務(wù)軟件的故障包括軟件崩潰、計算錯誤、CPU占用過高、內(nèi)存占用過高、磁盤占用過高等。系統(tǒng)監(jiān)護(hù)和業(yè)務(wù)管理通過定期握手、狀態(tài)查詢等手段,收集業(yè)務(wù)軟件的狀態(tài)信息,檢測周期定為30ms。系統(tǒng)監(jiān)護(hù)模塊判斷故障的時間<1ms,這樣故障檢測時間≤50ms。

      雙機狀態(tài)切換分兩種情況:服務(wù)器整機故障被檢測出來時,由備機的雙機熱備服務(wù)模塊直接切換,并將雙機狀態(tài)通知業(yè)務(wù)管理,由于是本地調(diào)用,切換時間<1ms;其它故障被檢測出來時,由系統(tǒng)監(jiān)護(hù)模塊發(fā)送軟硬件故障信息到相應(yīng)的熱備服務(wù)模塊,延遲<0.5ms,熱備服務(wù)模塊向備機的熱備服務(wù)模塊發(fā)送切換請求,并獲得答復(fù),延遲<1ms,熱備服務(wù)模塊將雙機狀態(tài)通知業(yè)務(wù)管理執(zhí)行信息輸出切換,切換時間<0.5ms。由于備機是一直正常運行,切換后數(shù)據(jù)直接發(fā)送,存在的延遲主要是因為在故障確認(rèn)的期間,可能會有部分待發(fā)送數(shù)據(jù)因沒有收到特征碼而緩存在待發(fā)送隊列,這時需要將其全部發(fā)送出去。信息處理平臺的業(yè)務(wù)計算是數(shù)據(jù)驅(qū)動的,產(chǎn)生的數(shù)據(jù)量與接收的數(shù)據(jù)量在同一個數(shù)量級上,即每個分系統(tǒng)產(chǎn)生的數(shù)據(jù)小于10包/秒,因此,在50ms內(nèi)產(chǎn)生的待發(fā)送數(shù)據(jù)不會大于10包,發(fā)送耗時<10ms。

      1.2.3 數(shù)據(jù)同步

      為了減少系統(tǒng)對錯誤的響應(yīng)時間,雙機之間通訊采用InfiniBand高速通訊卡,通訊卡由PCI直接和總線通訊,可采用MPI庫,比千兆以太網(wǎng)具備更高的帶寬和更小的延遲,可以用于雙機之間狀態(tài)的一致性檢查、同步以及消息的發(fā)送。

      雙機切換過程不可避免的引入延遲,在高實時、高可靠性系統(tǒng)中,必須保證系統(tǒng)服務(wù)的連續(xù)和完整,即不會因為切換引起數(shù)據(jù)的丟失。在本方案中,通過特征碼機制來保證數(shù)據(jù)一致性。熱備服務(wù)負(fù)責(zé)接收業(yè)務(wù)管理發(fā)送來的特征碼并發(fā)送到對方。業(yè)務(wù)管理根據(jù)特征碼,確認(rèn)接收數(shù)據(jù)是否完整和發(fā)送數(shù)據(jù)是否成功。

      當(dāng)服務(wù)器切入時,重建計算環(huán)境需要一定的配置數(shù)據(jù)和累積一定時間的業(yè)務(wù)數(shù)據(jù)。為了保證切入的服務(wù)器的計算能盡快和主機保持同步,熱備服務(wù)負(fù)責(zé)根據(jù)業(yè)務(wù)管理的需求來傳送配置數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),寫入本機的動態(tài)數(shù)據(jù)區(qū)和靜態(tài)數(shù)據(jù)區(qū)。

      1.2.4 時間同步

      在系統(tǒng)狀態(tài)的保持和恢復(fù)過程中,時間同步是非常重要的,為此系統(tǒng)采用了專門硬件時鐘(原子鐘)為基準(zhǔn)的時間信號,通過時頻信號送達(dá)計算機,供計算機校準(zhǔn)本地時鐘,高精準(zhǔn)的時鐘為雙工同步提供了很好的時間信號,可以為主備機切換和恢復(fù)提供精準(zhǔn)的時間戳,給系統(tǒng)狀態(tài)時間定位以及實時容錯、快速恢復(fù)提供可能。

      實時時鐘和定時器能夠提供極小的時間間隔來控制與調(diào)度任務(wù)和事件的執(zhí)行和發(fā)生。系統(tǒng)實時時鐘能提供微妙或納秒級的時間分辨率,從而可以控制應(yīng)用軟件中的進(jìn)程或線程在精確的時間間隔內(nèi)激活運行。同時還可以利用實時時鐘和定時器并結(jié)合采用信號機制,對應(yīng)用軟件中有關(guān)時間間隔要求嚴(yán)格的軟件接口和程序進(jìn)行控制。

      2 雙工切換測試情況

      (1)模擬副機軟件故障,殺死副機運行的某個進(jìn)程,如數(shù)據(jù)接收進(jìn)程RCV。

      測試結(jié)果:主機正常工作。

      (2)模擬主機硬件故障,殺死主機上運行的所有進(jìn)程。

      測試結(jié)果:副機雙工進(jìn)程報警:“未收到心跳信息,請檢查”,同時自動將本機設(shè)為“主機”,并向?qū)Ψ桨l(fā)送含有奪權(quán)信息的心跳信息。

      (3)模擬主機軟件故障,殺死主機上運行的某個進(jìn)程,如數(shù)據(jù)接收進(jìn)程RCV。

      測試結(jié)果:主機雙工進(jìn)程檢測到本機軟件故障,自動將本機設(shè)為“副機”,同時向原副機發(fā)送委托信息,副機收到心跳信息中有委托變換工作狀態(tài)信息,將自己設(shè)為“主機”,完成一次主副切換;數(shù)據(jù)庫中存儲的數(shù)據(jù)內(nèi)容完整。

      3 結(jié)論

      經(jīng)過多次測試,該雙工熱備模塊的可靠性和實時性都能滿足系統(tǒng)的要求,能夠在服務(wù)器發(fā)生軟、硬件故障或收到來自系統(tǒng)監(jiān)控程序的切換命令時,在要求時間內(nèi)完成服務(wù)器的切換,保證系統(tǒng)連續(xù)正常工作,數(shù)據(jù)入庫不中斷。因此,這種雙工熱備策略在系統(tǒng)上的應(yīng)用是成功的。

      [1]曾碧卿,陳志剛.服務(wù)器集群系統(tǒng)研究[J].計算機應(yīng)用研究.2004.

      [2]王晉鵬,潘龍法,李降龍.LVS 集群中的動態(tài)反饋調(diào)度[J].計算機工程.2005.

      [3]章文嵩.Linux服務(wù)器集群技術(shù).[EB/OL].http://www. chinaitlab.com/www/special/juqun.asp.2006.

      猜你喜歡
      備機雙工熱備
      熱備動車組配置方案優(yōu)化模型
      東海區(qū)實時海洋觀測數(shù)據(jù)庫雙機熱備系統(tǒng)解決方案
      自適應(yīng)多中繼選擇系統(tǒng)性能分析
      社會工作和高校思政工作聯(lián)動的理論與實踐
      雙工模式引發(fā)網(wǎng)絡(luò)故障
      中波自立塔天饋系統(tǒng)雙工網(wǎng)絡(luò)的設(shè)計和調(diào)試
      青海廣播電視大學(xué)校園網(wǎng)升級改造探討
      儀表著陸系統(tǒng)下滑臺備機故障的分析與解決
      紫光云計算機升級 支持信息化建設(shè)
      紫光云計算機升級虛擬化模塊
      渝中区| 鄯善县| 徐汇区| 长春市| 松溪县| 昭平县| 高平市| 灌云县| 神木县| 兴海县| 邯郸市| 芜湖市| 永新县| 浮梁县| 祁门县| 武夷山市| 枞阳县| 兰西县| 长治县| 巴林左旗| 芜湖市| 福泉市| 清丰县| 红安县| 横峰县| 太仓市| 南木林县| 宁陵县| 沂南县| 漳州市| 河曲县| 武乡县| 黎川县| 称多县| 新和县| 界首市| 汉阴县| 松溪县| 都昌县| 会理县| 平顺县|