于 鵬,冉一民,賈 微
(軍事交通學院,軍事交通系,天津300161)
鐵路軍事運輸是國家鐵路運輸的重要組成部分,也是我軍綜合運輸保障體系的重要骨干。加快推進鐵路軍事運輸的信息化建設,對提高我軍的快速反應能力和保障能力,對軍事運輸實現動態監控和實施精確,具有重要的作用[2~3]。
鐵路動態監控系統包括運輸戰備、運輸計劃、運輸調度和運輸統計4大功能模塊。本文利用.NET技術分析鐵路軍事運輸調度工作,進而為運輸調度提供依據。
根據鐵路軍事運輸調度功能需求目標,系統分為9個功能模塊,如圖1。

圖1 系統總體功能框圖
(1)運輸計劃裝載前安排
分為大宗物資旬計劃安排、部隊調動運輸計劃安排、方案運輸計劃安排、留坐或附掛客車計劃安排、輸送訓練計劃安排、超限運輸計劃安排等類型。具體由裝載安排、運行安排、卸載安排、列車梯隊安排、鐵路車輛安排、空車底套用返空安排、備品和裝載用具安排、機車安排、飲食供應安排、安排信息上報和下達等。
(2)裝載日計劃和實際管理
由鐵路日裝載計劃與實際信息收集、日裝載計劃和配車計劃安排、無計劃裝載安排、裝載實際填寫和計劃銷號、發送單位和車站核對、統計日裝載、裝載計劃和實際上報、取消裝載等組成。
(3)運行/卸載計劃和實際管理
由運行通報、編掛去向處理、運行日班計劃安排、鐵路運行實際信息收集、運行/卸載實際填寫、運行分批處理、運行計劃變更、取消、運行統計、運行計劃與實際信息上報等組成。
(4)運輸日統計管理
由運統一、二、三、六、七等統計報表的統計、上報等組成。
(5)軍運事故管理
由軍運事故情況收集、軍運事故調查和處理、軍運事故報告表填寫、軍運事故及處理情況上報等組成。
(6)鐵路運輸日常動態管理
收集、處理和上報鐵路運輸日統計、主要車站現車、停限裝、施工、鐵路重大事故、重大自然災害、中斷行車等情況。
(7)調度值班日志和記事管理
由值班工作總結、統計和分析、值班日志填寫、記事本填寫等組成。
(8)系統維護模塊
包括系統初始化、用戶管理、數據維護和數據編碼等子模塊。利用系統維護模塊,可以實現系統初始化,管理員登錄,對用戶進行添加、刪除等操作并對其設置相應的操作權限;允許隨時對數據進行備份發送到硬盤存儲,在數據丟失或其它故障后,從硬盤接收以恢復數據,同時允許在一些重要數據被破壞后進行修復;利用數據編碼子模塊,可以實現鐵路車站、線路和裝備物資等信息的編碼,以便進行科學管理和相關信息的統計匯總。
(9)系統幫助模塊
幫助用戶了解軟件運行環境和要求,介紹軟件安裝、系統功能、實際操作及其反饋方式以及鐵路軍事運輸規章的查詢等功能。
利用Oracle 提供的Enterprise Manager Console 及PLSQL Developer 等工具,便于對數據庫進行設計、開發、部署和管理。使用Oracle Enterprise Manager Console 對數據庫的開發、部署和管理都是可視化的。數據庫中有計劃信息,調度信息,統計信息,用戶信息等,分別以不同的表存放。其中日裝載主表HQ_JJ_TL_D_ZZ_RZZB,分別建立以下字段:日裝載標志RZZ_ID (Char)(主鍵)、發送單位FSDW(Char)、接收單位JSDW(Char)、裝載站ZZ_STATION(Char)、卸載站XZ_STATION(Char)等。
系統采用.NET Framework的C#語言進行開發。.NET Framework 具有兩個主要組件:公共語言運行庫和 .NET Framework 類庫。公共語言運行庫是 .NET Framework 的基礎。可以將運行庫看作一個在執行時管理代碼的代理,它提供內存管理、線程管理和遠程處理等核心服務,并且還強制實施嚴格的類型安全以及可提高安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼。.NET Framework 的另一個主要組件是類庫,它是一個綜合性的面向對象的可重用類型集合,可開發多種應用程序,包括傳統的命令行或圖形用戶界面(GUI)應用程序,也包括基于ASP.NET 所提供的最新的應用程序(如 Web 窗體和 XML Web Services)[4]。
總部、軍區、鐵路局三級之間通過綜合信息網進行通信,采用MQ(Message Queue)通信服務器的形式傳輸交換文件。各級內部通過交換機組建局域網的形式,客戶端通過FTP(File Transfer Protocol)將需傳輸文件發送至本級服務器指定目錄,服務端處理程序再將文件放入MQ傳輸隊列中傳輸,接收方利用服務端處理程序接收文件并進行相應的處理。
但是此種方式的文件處理存在一個較大的缺陷,一旦接收方服務端處理程序未處理正確會造成數據丟失,不能滿足數據的一致性問題。因此,將傳輸機制進行了改進,發送方發送文件的同時,將發送的內容進行記錄,等待接收方服務端處理程序完成后,向發送方發送接收成功或接收失敗的回執文件,發送方再根據回執進行相應的處理。
本系統采用XML(可擴展標記語言)文件的交互形式,它是一種簡單、與平臺無關并被廣泛采用的標準。為防止用戶自行修改生成的交換文件,利用.NET類庫,自行編制了一套專門用于加解密XML文件的DLL(動態鏈接庫),通過對DLL的引用,程序可實現對XML文件的加解密。
單機版系統必須考慮升級問題,可能會對已有數據結構進行部分修改,產生版本差異,利用XmlDataDocument的CreateAttribute為XML增加版本屬性DDVersion,這樣接收文件時就可以判斷其版本,以調用相應版本的接收處理函數。
每批軍運計劃均批有惟一的軍運號碼,分為人員和物資兩種。軍運號碼按照一定的規則組合排序生成,根據需要,經過一定的時期,要修訂相應的生成規則。因此,系統決定采用單獨一個軍運號碼生成類(AutoJYCODE)進行處理,而軍運號碼變更的處理則通過帶參數的類(AutoJYCODEWithPara)傳參修改。
調度管理系統必須保證各級服務器、客戶端與總部時間服務器的同步,采用Web Services(網絡服務)獲取服務器當前時間,使各級客戶端每5 min同步一次本級的時間服務器,下級時間服務器每5 min同步一次上級時間服務器,如圖2。

圖2 通過Web Services實現時間同步
鐵路軍事運輸調度管理系統作為鐵路動態監控系統之一,從運輸計劃模塊中獲取計劃信息,完成裝載、運行和卸載后,又為運輸統計模塊提供基礎統計數據,是鐵路軍事運輸動態監控系統的重要組成部分。
[1] 后交[2007] 鐵路軍事運輸調度規則[S] . 北京:中國人民解放軍總后勤部,2007.
[2] 鐵路軍事運輸信息系統需求分析報告[R] . 北京:中國人民解放軍總后勤部軍事交通部,2007.
[3] 鐵路軍事運輸信息系統概要設計報告[R] . 北京:中國人民解放軍總后勤部軍事交通部,2007.
[4] Simon Robinson.C#高級編程[M] . 3版. 北京:清華大學出版社,2005.