• 
    

    
    

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

      煤礦測控類系統(tǒng)雙機(jī)熱備軟件的設(shè)計

      2013-12-31 00:00:00高文
      電子世界 2013年24期

      【摘要】針對現(xiàn)有煤礦測控類系統(tǒng)主控雙機(jī)熱備方案存在的定制性差、成本高和單點故障等問題,提出了一種以靈活性、低成本和可靠性為設(shè)計原則的雙機(jī)熱備軟件設(shè)計方案,重點闡述了煤礦測控類系統(tǒng)雙機(jī)熱備軟件整體架構(gòu)、心跳檢測模塊、資源管理模塊和數(shù)據(jù)同步模塊的設(shè)計和實現(xiàn)方法。

      【關(guān)鍵詞】雙機(jī)熱備;測控;心跳檢測;數(shù)據(jù)同步

      1.引言

      隨著基于工業(yè)以太網(wǎng)的測控技術(shù)不斷發(fā)展,煤炭監(jiān)測監(jiān)控類系統(tǒng)正在向網(wǎng)絡(luò)化、智能化方面加速發(fā)展,在此過程中,安裝在煤礦地面的主控計算機(jī)作為整體系統(tǒng)的指揮中心,是系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵環(huán)節(jié),需要使用雙機(jī)熱備功能,來達(dá)到一臺機(jī)器發(fā)生故障時另一臺機(jī)器自動接手業(yè)務(wù)并負(fù)責(zé)運(yùn)行的目的,即主機(jī)通過網(wǎng)絡(luò)采集設(shè)備層數(shù)據(jù),一旦主機(jī)發(fā)生異常,備機(jī)將在極短的時間內(nèi)代替主機(jī),進(jìn)行實時監(jiān)測并保存歷史數(shù)據(jù);當(dāng)主機(jī)重新啟動,備機(jī)會自動將主機(jī)丟失的歷史數(shù)據(jù)拷貝給主機(jī)[1]。煤礦企業(yè)的信息化建設(shè)實踐證明:基于共享存儲設(shè)備的簡單雙機(jī)熱備方案有很大的局限性,除了可能會形成新的單點故障點(磁盤陣列柜設(shè)備)外,硬件成本較高和軟件運(yùn)行環(huán)境要求較高等都是這種解決方案在實際使用中無法避免的問題,不太符合大部分煤礦生產(chǎn)環(huán)境的要求。另外,商業(yè)化的一些純軟件雙機(jī)熱備方案數(shù)據(jù)同步時間較長,無法滿足測控類系統(tǒng)實時數(shù)據(jù)存儲的要求。因此,如何構(gòu)建一個符合煤礦企業(yè)環(huán)境使用的雙機(jī)熱備平臺成為一個急需解決的問題。

      筆者從方案的靈活性、低成本和可靠性方面考慮,設(shè)計了基于專用數(shù)據(jù)同步技術(shù)的雙機(jī)熱備純軟件解決方案。本文將著重闡述該解決方案的整體架構(gòu)、心跳信號、數(shù)據(jù)同步等技術(shù)的原理與實現(xiàn)方法。

      2.煤礦測控類系統(tǒng)雙機(jī)熱備軟件整體架構(gòu)

      在計算機(jī)的硬件配置方面,本文提出每臺計算機(jī)提供2個網(wǎng)卡,一個是心跳專用網(wǎng)卡,使用網(wǎng)線直接連接,用來提供專用的心跳信號傳輸通道,保證心跳信號發(fā)送快速和穩(wěn)定;另一個是業(yè)務(wù)網(wǎng)卡,連接業(yè)務(wù)網(wǎng)絡(luò)的交換機(jī),用來為監(jiān)測監(jiān)控業(yè)務(wù)數(shù)據(jù)提供傳輸通道。同時,業(yè)務(wù)網(wǎng)卡也可以作為備用的心跳網(wǎng)卡。

      雙機(jī)熱備軟件分為心跳檢測模塊、資源管理模塊[2]和數(shù)據(jù)同步模塊,其中心跳檢測模塊用于主(A)機(jī)、備(B)機(jī)互相取得對方的存活狀態(tài)信息和其他必要信息,資源管理模塊用于監(jiān)測和控制納入雙機(jī)熱備管轄的業(yè)務(wù)服務(wù)、進(jìn)程等資源,數(shù)據(jù)同步模塊采用了為煤礦測控類系統(tǒng)專門開發(fā)的專用數(shù)據(jù)同步組件,如圖1所示。

      雙機(jī)熱備軟件作為測控類系統(tǒng)軟件的一個重要的組成部分,設(shè)計使用接口的方式發(fā)布功能,所有相關(guān)的配置信息存放在雙機(jī)熱備軟件配置文件中。雙機(jī)熱備軟件對外提供主機(jī)、熱備的狀態(tài)信號,提供主機(jī)、熱備狀態(tài)的切換接口,但不負(fù)責(zé)對所監(jiān)視的資源進(jìn)行干預(yù),所有的切換、清理、啟停等動作由業(yè)務(wù)軟件自行完成,雙機(jī)熱備軟件只提供狀態(tài)判別結(jié)果作為業(yè)務(wù)軟件后續(xù)執(zhí)行動作的依據(jù),這是本文提出的方案與其他方案之間的主要區(qū)別。這種設(shè)計可以提供極大的靈活性和軟件兼容性,給不同的業(yè)務(wù)軟件提供不同的切換策略定制空間。

      3.煤礦測控類系統(tǒng)雙機(jī)熱備軟件心跳檢測模塊

      煤礦測控類系統(tǒng)對穩(wěn)定性要求極高,而心跳信號在兩臺計算機(jī)之間必須持續(xù)傳輸,因此在心跳信號的傳輸渠道上設(shè)計了冗余的方式,即:

      (1)專用心跳網(wǎng)絡(luò)渠道

      心跳網(wǎng)絡(luò)是心跳信號的專用網(wǎng)段,只能傳輸雙機(jī)熱備心跳信息,以保證及時性和可靠性;同時,該網(wǎng)絡(luò)應(yīng)設(shè)置為物理獨立的一個網(wǎng)絡(luò),不與辦公網(wǎng)或其他網(wǎng)絡(luò)進(jìn)行連接,因此本文設(shè)計為使用網(wǎng)線直連兩臺計算機(jī)。

      心跳信號使用UDP方式進(jìn)行傳輸,主機(jī)、熱備分別啟動監(jiān)聽服務(wù),同時分別啟動UDP客戶端把信號信息發(fā)送給對方。監(jiān)聽端口默認(rèn)為11006,可以在配置文件中設(shè)定。

      (2)業(yè)務(wù)網(wǎng)絡(luò)渠道

      業(yè)務(wù)網(wǎng)絡(luò)中平時傳輸?shù)氖菢I(yè)務(wù)信息,但也可以作為心跳信號的備用網(wǎng)絡(luò)使用,當(dāng)心跳網(wǎng)絡(luò)出現(xiàn)問題時,可以使用業(yè)務(wù)網(wǎng)絡(luò)進(jìn)行對方存活狀態(tài)的判斷。心跳信號傳輸方法不變,監(jiān)聽端口默認(rèn)為11007,也可以在配置文件中設(shè)定。

      在系統(tǒng)正常工作情況下,心跳交互信息由“服務(wù)正常嗎”查詢信息和對方計算機(jī)的“服務(wù)正?!睉?yīng)答信息構(gòu)成[3]。而且心跳信號傳輸?shù)膬?nèi)容必須精簡,以達(dá)到快速響應(yīng)的目的。同時為了保證不被特殊情況下出現(xiàn)的雜亂信息干擾,需要使用一定格式的協(xié)議約束心跳數(shù)據(jù),具體設(shè)計以一個常規(guī)心跳數(shù)據(jù)幀為例進(jìn)行說明:

      舉例:0xD1 0xE2 0x00 0x02 0x00 0x01 0x8A 0x4C,含義解釋如下:

      起始幀頭:選取了2個字節(jié)的特定數(shù)據(jù)0xD1和0xE2來代表心跳幀的起始;

      功能編號:0x00代表常規(guī)心跳命令;

      數(shù)據(jù)單元長度:0x02代表后續(xù)的數(shù)據(jù)單元字節(jié)數(shù);

      數(shù)據(jù)單元:0x00代表發(fā)送者當(dāng)前為備機(jī),0x01代表發(fā)送者某項資源為正常狀態(tài);

      CRC校驗:0x8A 0x4C代表從起始幀頭到數(shù)據(jù)單元最后一個字節(jié)進(jìn)行16位CRC校驗計算的結(jié)果。

      4.煤礦測控類系統(tǒng)雙機(jī)熱備軟件資源管理模塊

      本文中的資源管理不僅僅提供了如公用IP地址資源的分配管理,還把“資源”的范圍擴(kuò)大到所有雙機(jī)切換策略中可作為判斷依據(jù)的資源對象,目前有如下幾種:

      (1)對方心跳專用網(wǎng)心跳信號

      即通過心跳專用網(wǎng)絡(luò)發(fā)來的對方的常規(guī)心跳信號,針對信號本身是否發(fā)來進(jìn)行監(jiān)視,如果正常發(fā)來常規(guī)心跳信號,則認(rèn)為對方存活,如果超過一定時間沒有收到此信號,則認(rèn)為對方可能故障。

      (2)對方業(yè)務(wù)網(wǎng)絡(luò)心跳信號

      即通過業(yè)務(wù)網(wǎng)絡(luò)發(fā)來的對方的常規(guī)心跳信號,同樣針對信號本身是否發(fā)來進(jìn)行監(jiān)視;與心跳專用網(wǎng)心跳信號不同的是,業(yè)務(wù)網(wǎng)絡(luò)心跳信號不是一直發(fā)送的,當(dāng)本機(jī)收不到對方發(fā)來的心跳專用網(wǎng)信號時,主動通過業(yè)務(wù)網(wǎng)發(fā)送常規(guī)心跳信號(心跳專用網(wǎng)信號仍然繼續(xù)發(fā)送)。如果對方業(yè)務(wù)網(wǎng)絡(luò)心跳信號沒有回送常規(guī)心跳信號,則認(rèn)為對方可能已故障或者所有網(wǎng)絡(luò)均中斷。

      (3)Windows Service類型的業(yè)務(wù)服務(wù)

      所有以Windows Service形式存在的業(yè)務(wù)服務(wù)均可加入受監(jiān)視的資源列表,可以根據(jù)服務(wù)的各種狀態(tài)和持續(xù)時間調(diào)整切換策略,策略設(shè)定在雙機(jī)熱備服務(wù)的配置文件中。

      服務(wù)狀態(tài)有:已停止、正在停止、正在運(yùn)行、正在啟動。一般建議已停止、正在停止作為資源故障狀態(tài),正在運(yùn)行作為資源正常狀態(tài),正在啟動作為資源未知狀態(tài)。

      (4)Windows 進(jìn)程資源

      普通的exe程序可以作為Windows 進(jìn)程資源加入受監(jiān)視資源列表,可以根據(jù)進(jìn)程的各種狀態(tài)和持續(xù)時間調(diào)整切換策略。

      進(jìn)程狀態(tài)有:存在、不存在。一般建議不存在作為資源故障狀態(tài),存在作為資源正常狀態(tài)。

      (5)定制業(yè)務(wù)資源

      不同的業(yè)務(wù)軟件可能有不同的特殊資源需要監(jiān)視,定制業(yè)務(wù)資源可以由業(yè)務(wù)軟件開發(fā)人員進(jìn)行配置。配置時需要設(shè)定資源編號和資源名稱,資源編號用來唯一標(biāo)識該資源,資源名稱用于在日志、接口輸出等環(huán)節(jié)描述該資源。定制業(yè)務(wù)資源的狀態(tài)不由雙機(jī)熱備軟件判斷,而是由業(yè)務(wù)軟件通過接口寫入雙機(jī)熱備服務(wù),然后參與雙機(jī)切換策略的執(zhí)行。

      5.煤礦測控類系統(tǒng)雙機(jī)熱備軟件數(shù)據(jù)同步模塊

      在雙機(jī)熱備軟件的設(shè)計中,數(shù)據(jù)同步是一個關(guān)鍵問題。本文采用的數(shù)據(jù)同步方式為:主機(jī)和備機(jī)兩個計算機(jī)上的數(shù)據(jù)庫同時工作,數(shù)據(jù)分別存放在兩臺計算機(jī)上[4]?;ハ嗤降臄?shù)據(jù)有:I/O實時數(shù)據(jù)、內(nèi)存實時數(shù)據(jù)、報警數(shù)據(jù)、用戶口令數(shù)據(jù)等[5]。同步方法主要是利用數(shù)據(jù)庫操作的監(jiān)視和分析技術(shù),將測控類系統(tǒng)業(yè)務(wù)軟件數(shù)據(jù)庫的增刪改等操作信息以事務(wù)為單位,通過異步的方式,實時地傳輸?shù)搅硪慌_計算機(jī)上,并按原來的順序再執(zhí)行一遍這些操作,這樣就可以達(dá)到主機(jī)數(shù)據(jù)庫和備機(jī)數(shù)據(jù)庫內(nèi)的數(shù)據(jù)保持一致的目的。

      6.結(jié)語

      本文提出的雙機(jī)熱備軟件在煤礦實際應(yīng)用中取得了較好的使用效果,特別是給予了測控業(yè)務(wù)軟件開發(fā)人員極大的定制靈活性,可以把煤礦測控類系統(tǒng)軟件中的一些特殊要求很容易的加入到雙機(jī)熱備切換策略中,例如串口通訊是否正常等這類定制的雙機(jī)監(jiān)管資源。煤礦測控類系統(tǒng)軟件運(yùn)行環(huán)境復(fù)雜,對穩(wěn)定性要求高,雙機(jī)熱備軟件也在不斷的適應(yīng)新情況,不斷改進(jìn)設(shè)計方案,為煤礦用戶提供更加穩(wěn)定可靠的測控系統(tǒng)軟件。

      參考文獻(xiàn)

      [1]張金豪.ES210模塊在煤礦瓦斯監(jiān)控系統(tǒng)雙機(jī)熱備中的應(yīng)用[J].礦業(yè)安全與環(huán)保,2011,38(6):63-66.

      [2]倪文璽,張亞平.工控計算機(jī)雙機(jī)鏡像軟件設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(5):158-160.

      [3]謝長生,胡慶平,譚志虎.Heartbeat-Gear:一種新型的實時心跳監(jiān)測技術(shù)[J].計算機(jī)工程與科學(xué),2004,26(5):62-65.

      [4]李建榮,郝金庫,張芝艷.基于異構(gòu)數(shù)據(jù)庫的雙機(jī)熱備策略的設(shè)計與實現(xiàn)[J].天津師范大學(xué)學(xué)報(自然科學(xué)版),2012,32(3):51-59.

      [5]張金仙,郝英立,張利,等.工控組態(tài)軟件雙機(jī)熱備的研究與實現(xiàn)[J].計算機(jī)測量與控制,2005,13(11):1292-1295.

      作者簡介:高文(1981—),男,山西朔州人,工程師,主要研究方向:煤礦信息化軟件、監(jiān)測監(jiān)控軟件、云計算等。

      泽普县| 周宁县| 斗六市| 左权县| 邳州市| 彭水| 台山市| 油尖旺区| 醴陵市| 迭部县| 黑山县| 乌鲁木齐县| 临海市| 南城县| 肥城市| 游戏| 肃宁县| 东乌珠穆沁旗| 开封市| 平乐县| 镇远县| 苏尼特左旗| 沂源县| 三亚市| 青川县| 吴忠市| 都匀市| 廊坊市| 平塘县| 扶沟县| 瓮安县| 微山县| 贵定县| 应用必备| 高尔夫| 双江| 南昌县| 马龙县| 盈江县| 莒南县| 香港 |