畢 誠
(濟南鐵路局 信息技術所,濟南 250001)
鐵路日常運輸組織工作中,掌握車流信息的準確性、完整性、實時性,決定著運輸組織精細化的程度和效率的高低。收集掌握車流情況及其變化趨勢是相關調度業務人員的核心工作;在鐵路生產力布局調整之后,管理結構優化,層次減少,調度指揮崗位管理跨度增加,工作量加大,使用傳統手段提高運輸組織的精確度、效率和效益,使區域內作業組織均衡、協調,已經力不從心。隨著鐵路信息化工作的推進,各類信息系統逐漸覆蓋了運輸調度指揮涉及的各個領域和層面。但由于各系統服務對象不同,系統間數據交互、共享不足,調度人員要面對多個遠程或本地系統去查詢、提取和整合所需要的車流信息,因此需要一個平臺將散布于各系統中的車流數據集中起來,按照調度指揮崗位的要求將信息整合、銜接和展示,為車流集中掌握及分析推算提供輔助手段。
區域車流數據產生于運輸生產的各個環節,按車輛位置可簡單分為在站和在途,在站車流主要來源于區域內各站段運行的車站現車管理系統,在途車流來源于列車調度指揮系統和確報系統,區域車流數據內容與分布見表1。
系統主要功能是實現外部數據源車流數據的采集、集成,數據更新、轉儲,車流數據分析展示。系統架構及功能組成見圖1。
ETL(Extraction transformation Load)子系統負責將分布、異構數據源中的數據進行抽取、轉換、集成,進行數據的清洗、拆分、匯總等處理,保證來自不同系統、不同格式數據的完整性和一致性,按業務要求加載到車流數據中心。數據中心子系統負責創建、維護、更新各類車流數據表,負責按面向主題構建的歷史數據的生成和維護。數據發布展示子系統由數據查詢和多維分析功能組成,是用戶交互接口,面向鐵路局、站段調度、管理人員提供實時車流數據查詢、歷史數據分析、決策支持信息等。任務管理子系統提供元數據維護、數據采集、訪問接口管理、任務調度、系統監控和故障處理等功能。

表1 區域車流數據內容與分布

圖1 系統架構圖
建立區域車流數據中心首先需要確定外部數據源的數據采集方案。由于車流數據中心服務器與列車調度系統服務器、確報系統服務器共同位于鐵路局調度系統局域網內,因此確定在途車流數據采集的技術方案相對簡單。在站車流信息散布在管內各站段數據中心,需要通過遠程網絡實現數據采集,數據采集有多個方案,不同的方案將導致軟件結構、業務量、影響范圍、維護方式及運用效果的差異,在站數據采集方案與特點見表2。

表2 在站數據采集方案與特點
系統的應用以查詢為主,用戶對數據無修改、刪除操作,要求響應速度快、效率高。同時,區域車流數據中心的數據量大,更新頻度高,按照用戶需求,區域在站、在途實時數據更新間隔不得高于30 min。據此,在實時數據存儲設計中采用反規范化設計,嚴格控制表的數量,減少表間關聯,最大限度降低連接操作頻度,以適當的冗余設計和空間占用來提高系統運行效率。實時數據中,設計靜態車流表,存儲全部在站現車信息,設計動態車流表,存儲全部在途現車信息。
既有現車管理系統的數據庫存儲平臺均為Oracle9i以上版本,因此,利用Oracle Pro*C開發工具開發車站數據采集軟件模塊,部署于各站段現車數據中心,自動采集現車數據。該模塊與自研FTM傳輸軟件、數據中心加載模塊和監控模塊共同構成了系統的ETL子系統。車站數據采用全量抽取模式,類似數據復制。根據各類型車站系統數據結構決定抽取字段及抽取規則,構建運用支持系統的讀取控制表作為系統抽取策略。在數據中心端,采用全刪除加載模式,加載前刪除相應舊數據,對新數據進行轉換和清洗后入庫,2次刪除動作間,安排歷史數據生成、轉儲作業。在車站端,將數據采集與傳輸軟件集成,將采集、清洗、打包、傳輸和管理功能整合到一個系統進程中,簡化結構,利于遠程運維管理。
由于尚有部分中小站未實施現車系統,同步開發實施了集中式運用車管理系統,覆蓋區域內全部有貨車出入的中小站,不具備網絡條件時由車務段調度代為管理,實現現車數據采集。并基于確報系統,列車調度指揮系統(TDCS)提供的部分站存車信息為系統提供輔助數據源,降低錄入工作量。
利用Oracle數據庫提供的任務隊列管理器Job queue和存儲過程,實現基于TDCS/CTC列車調度指揮系統、列車調度指揮系統以及確報系統的在途車流實時采集處理。數據抽取策略設定為按時間段讀取,只讀取實際運行列車信息。動態車流實時采集與處理的關鍵是在途列車運行線與確報匹配,即貨車車輛屬性及裝載內容與運行信息的集成。匹配綜合運用列車車次、時間戳、調度系統基礎數據、確報發報時間、內容等多種元素。針對個別匹配失敗的情況,利用數據更新進行重復匹配,提高數據準確性。在數據中心端,同樣采用全刪除加載模式。2次刪除動作間,安排歷史數據轉儲作業。
2.3.1 車流信息整合
為提高數據采集的準確度和完整性,運用Oracle Job 和存儲過程,基于調度系統、確報系統、鐵路局現車庫系統,統計由于現場作業過程不連續、不規范所導致的區域車流中的待發、待解車流數據,采用增量加載模式加載入庫。該作業與動態車流采集作業接續運行。
2.3.2 去向數據計算
建立與列車編組計劃動態監控和實時調整系統數據接口,實現接口數據自動導入,生成車流徑路信息庫。利用數據庫觸發器、調用徑路數據計算存儲過程,在數據加載入庫時,自動計算重車去向、后續技術作業站、通過分界口等數據。實現線路、區間、分界口的自動劃分,為車流分析及推算提供數據基礎。
研發了跨操作系統平臺、統一的數據傳輸中間件軟件(FTM)。采用Socket技術,設計了數據傳輸的可靠校驗協議和斷點恢復的實現方法,實現了跨系統平臺(Unix、Windows、VMS)數據的可靠傳輸,采用了LZSS壓縮算法和自主開發的加密算法,實現了數據傳輸的安全性,提高了數據傳輸的效率。將部分數據邏輯檢查及基于統一基礎字典的數據規范化功能納入傳輸中間件。
數據分析發布子系統面向鐵路局、站段2級運輸管理和調度指揮崗位,實現調度各工種間,局、站2級調度間車流信息的統一發布。根據用戶的類別和角色分別提供不同深度、不同層次的數據展現。系統采用面向服務的系統架構(SOA),將基于標準的服務整合優化,使其重新組合和應用。與傳統的緊耦合架構相比,松耦合架構更能適應業務的變化,其特征對數據展示發布具有重要的指導意義。面向服務的系統架構可以更多地繼承原有系統中的應用模型、業務邏輯關系和數據,降低系統重構的造價,提高效率。為滿足部署簡單、適應平臺廣、訪問便捷、易于升級等設計性能目標,考慮良好的可擴展性及低廉的維護成本,在SOA架構下,數據分析展示系統采用基于J2EE應用的B/S設計模式進行構建,如圖2,用戶通過瀏覽器對數據進行查詢。

圖2 基于SOA模式的J2EE架構
對數據采集子系統、數據中心管理子系統的各類應用程序、傳輸軟件、數據庫作業、服務器的運行狀態進行自動實時監測、報警及進程恢復等維護,實現系統運行監控、維護自動化,減輕軟件維護及監控工作量。負責基礎數據字典,接口參數表管理。
通過系統的開發應用,建立了鐵路局車流集中管理平臺,實現了管內現車數據的自動采集、匯總、查詢、分析,實現在途車、站存車按移交、管重、線路、調度臺、分界口等分類統計查詢。以統一數據源為基礎實現了推算分析結果的統一,實現了多角度分析應用。對準確、完整地掌握車流信息,提高車流調整、計劃編制、車站作業組織的質量和效率,優勢明顯。作者將以此為基礎進行短期車流推算的探索。
[1]鐵路計劃調度管理系統研究報告[Z]. 北京:鐵道部信息技術中心,2009.
[2]李輝康. 鐵路局調度分析系統的設計與實現[J].鐵路計算機應用,2008(9).
[3]楊在申. 一種基于SOA的鐵路數據中心數據展示方案[J].鐵路計算機應用,2008(4).
[4]牛志敏. 鐵道部貨調系統Oracle數據庫的設計與實現[J]. 鐵路計算機應用,2008(1).
[5]曾長云. 鐵路局現車管理和貨車追蹤系統的設計與實現[J].鐵路計算機應用,2006(9).
[6]W.H.Inmon.數據倉庫[M]. 北京:機械工業出版社,2003,1.