孫福安,郭亞坤,劉君輝
(中國衛星海上測控部,江蘇 江陰214431)
我國某船載USB系統(S頻段統一載波測控系統)擁有多套多功能綜合數字基帶設備,它們依據IP地址及基帶設備號以主備機組合方式分為多組,在全模式測控任務下,將分別工作在標準TT&C模式、擴頻TT&C模式和FM遙測模式下。在測控任務中,若主用模式的基帶主機發生故障,則需要進行應急切換,即由非主用模式的基帶備機替代故障機。
假設某任務中主用模式為擴頻,則擴頻TT&C模式主用基帶異常處置步驟為:
(1)擴頻TT&C基帶主備切換,故障機關機;
(2)系統監控臺將上行切換為備份基帶;
(3)基帶崗位將標準TT&C模式基帶備機配置為擴頻TT&C模式基帶備機(包括數據網IP地址、監控網IP地址、監控軟件配置文件);
(4)系統監控臺配置基帶輸入信號為擴頻信號。
不難發現,實現過程中涉及的操作較多,切換過程大約需要2 min。其中步驟3對基帶崗位人員來說,在實際測控任務中完成難度較大。崗位人員需要對數據網IP地址、監控網IP地址和監控軟件配置文件等內容進行修改,進入每一個操作界面都需要多次點擊鼠標,修改內容大多為IP地址,需要崗位人員準確記憶熟練操作,而任務中時間緊迫,極易發生遺忘或誤操作。
目前的應急切換自動化程度低,需要崗位人員按部就班完成。在任務中,任何人為的決策、操作延遲或失誤都可能產生嚴重的后果。基帶遠程切換的設計目標是,將切換操作由基帶設備轉移到遠程監控系統中,通過監控系統軟件來實現基帶主備機的遠程應急切換。在軟件界面中應盡可能包含所有切換操作,對IP地址、配置文件的更改通過在界面中更改與之關聯的計算機名來完成。
基帶遠程切換軟件系統利用XML(可擴展標記語言)配置文件實現對工作環境的可擴展配置,并在.NET環境下利用WMI(Windows管理規范)技術實現對計算機的遠程控制。下面對軟件設計與實現過程進行介紹。
在工作環境配置系統中,目標計算機的連接信息配置以軟件配置文件的形式保存,文件采用XML進行計算機連接信息的記錄、存儲。遠程控制軟件通過讀取XML文件,獲取目標計算機連接信息,進而實現對目標計算機的配置修改。
每個目標計算機的連接信息包括:目標計算機名稱、目標計算機的IP地址、目標計算機的MAC地址、目標計算機的網絡名稱、目標計算機的用戶名、目標計算機的密碼。XML文件基本框架舉例如下:
工作環境配置系統的維護和管理,主要是對XML文件存儲的計算機連接信息進行顯示、修改等操作。ADO.NET可以提供應用程序與XML文件之間的通信和管理功能,而且ADO.NET數據訪問技術連接較少,應用程序連接到數據庫的時間只用于獲取或更新數據并且帶來很大的便利[1]。因此,本文采用XML與ADO.NET集成的方法來實現數據管理。
ADO.NET與XML集成的結構如圖1所示,DataSet是斷開連接數據存儲的核心類,經由Table屬性來添加、刪除和管理DataTable對象。Tables屬性獲取DataTable對象,并將DataSet中的表綁定到DataGridView控件中,即可完成計算機連接信息的界面顯示。XmlDataDocument類繼承于 XmlDocument類,通過構造函數將DataSet封裝為XmlDataDocument對象,實現與DataSet進行同步的功能。

圖1 ADO.NET與XML集成的結構Fig.1 The compositive framework of ADO.NET and XML
圖2為計算機連接信息顯示與修改界面,點擊“顯示連接信息”按鈕即可顯示所有計算機的連接信息。雙擊界面中的數據框進入修改狀態,修改完成后點擊“保存修改信息”,DataSet將會從DataGridView控件中獲取數據信息,并保存到XML文件里。

圖2 計算機連接信息界面Fig.2 The interface of computer link information
WMI提供了一套內置在Windows操作系統中的豐富的系統管理服務,作為Windows操作系統的一個組件,允許通過編程方式訪問企業環境中的管理信息[2-4]。System.Management命名空間是.NET框架中管理元素的對象模型,在該命名空間包含.NET框架中的WMI類,基于WMI可以遠程獲得目標計算機的信息,并對其進行遠程控制。
基帶遠程切換的軟件程序流程如圖3所示。遠程切換軟件代碼首先獲取目標計算機名稱,判斷該計算機是否已經連接,若未連接則返回。然后獲取故障基帶的計算機名稱,如果目標計算機與故障計算機名稱相同,則拒絕繼續操作而直接返回;如果兩個名稱不同,則開始工作環境配置的修改,即獲取故障計算機數據網IP、監控網IP和配置文件,并修改目標計算機數據網IP、監控網IP和配置文件。

圖3 基帶遠程切換軟件程序流程Fig.3 The long-range switch program flow of baseband
在已連接計算機中通過目標計算機名稱查詢是否已經連接,并通過該名稱獲取目標計算機的ComputerInfoClass對象實例,用以操作目標計算機和獲取其各種監控信息數據。在ComputerConnectInfosClass類中創建計算機連接信息數據結構查詢字典,該字典同樣以目標計算機的名稱為鍵值。ComputerConnectInfosClass類獲取XMLComputerLinkInfo.xml文件中的計算機連接信息,對數據結構查詢字典進行初始化。
在遠程控制代碼中首先創建連接遠程計算機的連接選項ConnectionOptions對象,用于指定生成WMI連接所需的所有設置,然后利用遠程計算機名稱或IP地址以及ConnectionOptions對象創建ManagementScopes類的實例,調用ManagementScopes的Connect()方法連接到遠程計算機。創建查詢類Object-Query對象,查詢目標計算機上 Win32-NetworkAdapterConfiguration類,調用數據網網卡及監控網網卡Win32-NetworkAdapterConfiguration實例的EnableStatic方法,設置新的IP地址。最后通過Copy-To()方法將故障基帶配置文件拷貝到目標計算機的配置文件目錄下來修改模板計算機的配置文件。
基帶應急切換的遠程控制軟件界面如圖4所示。目標工控機下拉列表框中顯示了已在系統控制下的基帶工控機,用戶選中目標工控機后,程序會實時獲取目標基帶工控機的工作環境配置情況以及工作在該工控機上的基帶模式軟件,并將信息實時顯示在下拉列表框中。

圖4 基帶應急切換遠程控制界面Fig.4 The long-range emergent switch interface of baseband
如用戶需要將基帶1#工控機配置為基帶3#,并啟動擴頻TT&C模式一監控軟件,則首先在目標工控機中選中基帶1#,然后在配置為下拉列表框中選中基帶3#,在模式軟件中選中擴頻TT&C模式一,點擊“執行”和“啟動”按鈕,則系統自動完成基帶主備機的重新組合。通過在設備聯調過程中的測試,整個切換過程僅需幾秒,速度提高了10倍以上,且發生誤操作的可能性很小,達到了預期的設計目標。
本文針對目前船載USB系統基帶設備應急切換中存在的問題,設計并實現了應急切換的遠程控制軟件。相對于目前的應急處置過程,該軟件所用時間更短,操作更便捷,能夠有效地應對測控任務中主用模式基帶發生故障的問題。后續將考慮應用到監控系統軟件中,以期實現基帶應急切換智能化、快捷化,提高系統的安全性和可靠性。
[1]康莉.Visual C#2008程序設計[M].北京:電子工業出版社,2009.KANG Li.Visual C#2008 program designing[M].Beijing:Publishing House of Electronic Industry,2009.(in Chinese)
[2]Marcin Polich.WMI技術指南[M].北京:機械工業出版社,2002.Marcin Policht.WMI technology guide[M].Beijing:Machine Industry Press,2002.(in Chinese)
[3]曹文.WMI編程在服務器監控軟件開發中的應用[J].福建電腦,2008(3):115-116.CAO Wen.Application of WMI in the development of server monitoring software[J].Fujian Computer,2008(3):115-116.(in Chinese)
[4]唐忠,何慧敏,蘇飛.基于WMI技術服務器網管軟件設計和實現[J].桂林電子科技大學學報,2008(12):461-465.TANG Zhong,HEHui-min,SU Fei.Design and implementation of server monitoring software based on WMI[J].Journal ofGuilin University of Electronic Technology,2008(12):461-465.(in Chinese)