楊紹松 劉少慧
民航東北空管局氣象中心 遼寧 沈陽 110169
自動觀測系統是民航氣象的重要系統之一,在保障飛行安全中起著舉足輕重的作用。2015年12月對本場自動觀測系統進行了升級改造,從服務器的單機運行升級為了雙機熱備,大大提高該系統的穩定性。
自動觀測系統的核心單元TS16與交換機依然處于單機運行狀態,一旦出現故障整個自動觀測系統就會陷入癱瘓。從全國自動觀測系統的故障點來看,TS16發生的故障率很高,尤其是TS16的電源模塊故障,因此TS16的單機運行時刻威脅著整個自動觀測系統安全穩定運行。
由于TS16故障率高,而且其直接影響著整個自動觀測系統的運行,在沒先例可循的前提下,只能對整個自動觀測系統開展深層次的研究,尋求最佳解決方案。通過對自動觀測系統數據流的認真分析,最終找到了通過虛擬傳感器技術與維薩拉的主備傳感器技術來實現TS16與網絡交換機的組合雙機熱備方案。以下分別從鏈路優化設計與軟件配置設計對虛擬傳感器技術展開介紹。
對原系統拓撲圖進行優化設計,新增TS16(2)與交換機(2),利用CDUC與CDUD的網卡互備的特性,實現TS16與交換機的雙機熱備。
在調制解調器(DXL421)后端對所有的RS232信號進行并聯接收,即把原先的一路串口信號分成兩路。
把兩路RS232信號一路接入到TS16(1),另一類接入到TS16(2)內。
把TS16(2)與交換機(2)進行連接,交換機(1)與交換機(2)串聯。
把CDUC與CDUD的兩個網卡一個接入交換機(1),另一個網卡接入到交換機(2)。
所有客戶端都使用雙網卡熱備份塔式服務器,分別接入到交換機(1)與交換機(2)。
傳感器數據虛擬采用被動接受的方式對RS232進行分離,分離裝置是自制的無源三通傳輸線。如果條件允許可以DXL421的后端加防雷模塊,避免新分流的數據與設備對原路數據造成影響,TS16(2)得到的即使虛擬的傳感器數據[1]。
(1)TS16配置
TS16的主要功能是把接收的串口數據轉化為UPD數據進行網絡轉發,預先在CDUC與CDUD上找16個空閑端口,例如:13101-13116,用于接收虛擬傳感器數據。由于現行傳感器數據使用的是12101-12116,所以配置TS16對整個自動觀測系統不會造成任何不良影響。
首先配置新增TS16(2)IP地址為192.168.1.103,TS16(1)IP地址假設為192.168.1.101。TS16的作用是把串口數據轉化為UPD數據,通過網絡把數據發送給服務器的指定端口。所以需要更改兩臺TS16的配置,讓TS16(1)、TS16(2)把每個端口收的數據都發送的CDUC與CDUD的1210*與1310*端口上。
(2)虛擬傳感器對象的建立
現在CDU已經收到了同一傳感器的兩路數據,接下來需要通過修改CDU的配置,讓CDU把其中一路作為原始傳感器數據,另外一路作為虛擬傳感器數據。當來自TS16(1)原始傳感器數據中斷時,無縫切換到來自TS16(2)虛擬傳感器數據,同樣這里以6號端口24端云高數據為例,配置文件以配置CDUC為例。
首先,在配置文件PORTS.INI中定義兩個網絡端口NET06與NET36。其中,NET06用來接收TS16(1)發送的24端原始云高數據,NET36用來接收TS16(2)發送的24端虛擬云高數據。
其次,在配置文件SENSORS.INI中定義24端云高原始數據對象1_CLOUD_SENSOR_M與1_CLOUD_SENSOR_N,其中1_CLOUD_SENSOR_M用來存儲NET06的原始云高數據,即TS16(1)發送的24端原始云高數據,1_CLOUD_SENSOR_N用來存儲NET36的虛擬云高數據,即TS16(2)發送的24端虛擬云高數據。
至此,兩路云高數據已經分別進入到了1_CLOUD_SENSOR_M與1_CLOUD_SENSOR_N兩個對象,其中1_CLOUD_SENSOR_M定義為原始云高傳感器數據對象,1_CLOUD_SENSOR_N定義為虛擬云高傳感器數據對象。最后,在配置文件DUALSERV.INI中重新定義24端云高數據傳感器對象,其中原始云高傳感器數據對象是1_CLOUD_SENSOR的第一使用對象,虛擬云高傳感器數據對象是1_CLOUD_SENSOR的第二使用對象。
實現了TS16與交換機雙機熱備以后,單個交換機與TS16故障以后,在客戶端與服務器上就不能明顯地體現出來了,故障就變得隱蔽起來。所以,開發新的監控系統變得非常必要。
監控的原始數據取自原始數據對象的Statuses屬性,例如1_CLOUD_SENSOR_N的Statuses屬性。當TS16(1)的6號端口數據異常時對象1_CLOUD_SENSOR_M的Statuses屬性為Old,當TS16(2)的6號端口數據異常時對象1_CLOUD_SENSOR_N的Statuses屬性為Old,正常情況下Statuses的值為Normal。
通過對所有原始數據對象的Statuses的值進行實時采集,把所有采集到的Statuses值與前臺監控程序進行關聯,可達到對TS16(1)、TS16(2)、交換機(1)、交換機(2)進行實時監控的目的,第一時間發現故障并進行相應處理。
為減少數據測試給業務運行帶來的影響,在此選擇24端云高儀作為測試對象,并利用安裝在筆記本上的MIDAS IV服務器版軟件進行測試。
首先斷開TS16(2)6口數據,查看原始數據對象狀態。然后恢復TS16(2)6口數據并斷開TS16(1)6口數據,查看傳感器數據對象狀態。兩種情況只影響了原始傳感器數據對象與虛擬傳感器數據對象的其中一個數據對象,1_CLOUD_SENSOR數據對象及時切換到了有效的傳感器數據對象上去,1_CLOUD_SENSOR數據對象并沒用受到影響,相應WEATHERVIEW上顯示的云高數據也沒有受到影響。
TS16的雙機熱備是端口級別的,例如:TS16(1)與TS16(2)的第9口是06端云高儀數據,當TS16(1)的第9個端口故障時,06端云高數據會自動使用TS16(2)第9口的數據,而其他數據依然使用TS16(1)的相對應的端口數據。
通過對場內設備進行更改與配置,實現兩路數據同時輸出。同時如果有富余的傳輸線路,兩路數據可以分離傳輸,這樣既可以實現TS16與網絡交換機的雙機熱備,也實現了傳輸線路的備份。同時也解決了被動接收的方式分流RS232信號帶來的問題。