■ 靳健 陳森玲 陳志榮
貨運列車編組統計信息系統(鐵路局級)的設計與實現
■ 靳健 陳森玲 陳志榮
為支持新的清算規則需要,開發貨運列車編組統計信息系統,通過貨物列車編組順序表和貨票信息的關聯,準確統計一系列清算指標,對加快轉變鐵路發展方式,提高鐵路發展的質量和效益,具有重要的意義。貨運列車編組統計信息系統的設計立足于系統設計總體目標,通過分析各業務管理信息系統信息流程過程,從車站、車務段、鐵路局、中國鐵路總公司四個級別搭建系統總體架構,重點分析鐵路局級子系統的功能模塊、業務特色和關鍵技術實現。從系統投入運行后,穩定可靠,其數據信息已作為全路財務模擬清算數據使用,將為全面推進財務清算規則提供重要的統計信息。
貨運列車編組;清算統計;信息系統
為適應鐵路轉換經營機制改革,落實鐵路運輸企業市場主體地位,實施多元化經營戰略,中國鐵路總公司對相關財務清算思路進行了調整:收入來自于市場,旅客運輸和貨物運輸承運清算,提供服務相互清算。新的清算思路給運輸統計工作提出了更高的要求,必須對每一批運輸的實際走行徑路按承運主體、提供服務主體、接受服務主體分別統計運輸工作量,以傳統的貨物列車編組順序表和貨票的關聯,實際發車時間產生新的貨物列車編組順序表(簡稱清算運統1),以清算運統1和司機報單為基礎信息,可以滿足財務清算改革思路的需要。
為確保生成準確、及時、完整的清算運統1,由原鐵道部統計中心和信息技術中心統一部署,由廣州鐵路(集團)公司(簡稱廣鐵集團)承接清算運統1鐵路局(車務段)級的開發任務,開發了貨運列車編組統計信息系統(簡稱系統)。通過貨物列車編組順序表和貨票信息的關聯,系統準確統計聯合運輸車輛在各運輸企業的走行公里、各編組區段站的中轉辦理車、分界口整列排空貨車的走行公里等一系列清算指標,為全面推進鐵路財務清算改革提供保證,加快轉變鐵路發展方式,從而不斷提高鐵路發展的質量和效益。
系統設計最終目標是實現對清算運統1上報和數據審核的自動化管理,一方面可確保數據自動傳輸上報的穩定可靠,另一方面可確保自動化審核準確無誤,糾錯功能設計科學合理。系統目標包括:
(1)完成清算運統1在統計方面應用需求的研究,建立全路鐵路局、車務段清算運統1信息應用和管理規范化、標準化的體系結構。
(2)建立多系統信息共享環境,實現運統1、貨票、司機報單等相關應用系統互聯,最大限度地實現信息資源共享。
(3)建立穩定、可靠的傳輸機制,實現全路清算運統1信息從車站到車務段、再上報到鐵路局和原鐵道部。
(4)在鐵路局、車務段建立清算運統1的綜合應用系統,實現貨運列車編組信息的綜合利用、深度開發,實現與鐵路運輸清算相關報表的統計、查詢等,為運輸生產和財務清算提供輔助決策和咨詢服務等功能。
系統的信息源包含在已經建成各業務管理信息系統中,從相關的各業務信息系統中獲取或基層站段人工補充錄入少量信息,經計算處理后產生 清算運統1信息,再逐級上報、匯總、處理,實現本系統的設計目標。各業務管理信息系統信息流程見圖1。
貨運列車編組統計信息系統總體結構分為車站、車務段、鐵路局、中國鐵路總公司四級。在鐵路局采用應用及數據集中部署的架構,即一個鐵路局只安裝部署一套數據庫服務器實現全鐵路局貨運編組信息的存儲,一套應用服務器實現車務段及鐵路局級應用的部署,車務段和路局用戶都使用客戶端軟件執行系統操作。
信息傳輸基于鐵路計算機網,采用MQ傳輸方式。系統架構見圖2。

圖1 各業務管理信息系統信息流程

圖2 系統總體架構
貨運列車編組統計系統鐵路局級應用接收車務段及直管站上報的數據報文,校驗入庫,并對信息進行審核,審核發現錯誤的報文將錯誤信息反饋給相應的車站。將審核通過的報文上傳至原鐵道部。提供鐵路局級綜合應用,為管內車務段及車站提供Web服務及查詢服務。
按照總體方案架構和結構流程,鐵路局級在功能上劃分為實時監控、錯誤檢查、報單信息、報文監控、報表匯總、生產輔助、歷史管理、字典管理、系統管理9個模塊,考慮到鐵路局和車務段級系統業務的互通互聯性,鐵路局系統和車務段系統使用相同的模塊結構。
(1)實時監控模塊。該模塊主要實時監控各站段上報清算運統1、運統8、運報9A、運報11A的總體情況,以及鐵路局生成的整列排空列數情況。同時實時反映報文的數據質量,以及車站到卸車的確認情況。
(2)錯誤檢查模塊。該模塊主要對清算運統1報文出錯的詳細信息進行分類展示,分為運統1車輛屬性錯誤、運統1貨票號碼錯誤、糾錯記錄核查、運統1發站漏報、運統1遲報、分界口運統1誤差、運統1一致性審核、運統1倒裝核查、集裝箱清單漏報,按照不同類型核查錯誤情況。
(3)報單信息模塊。接收機務段機車統計系統的司機報單未匹配上清算運統1的數據信息,提供給路局管理人員進行監控,同時數據也返回到車務段和車站進一步核查,對漏報的清算運統1進行補報。
(4)報文監控模塊。該模塊主要對入庫的報文數據按照不同條件選項進行查詢監控,分為運統1報文監控、運統8報文監控、運報9A報文監控、運報11A報文監控、運報1ZK報文監控、運統1代報監控、貨票摘要入庫監控、百千工程班列監控、集裝箱清單監控。
(5)報表匯總模塊。該模塊主要對上報的運統1報文進行匯總,日報由后臺自動生成,月報、季報和年報手動執行匯總,并提供報表查詢功能,分為運統1匯總、運報9A匯總、運報11A匯總和運報1ZK匯總。
(6)生產輔助模塊。該模塊充分運用清算運統1數據庫信息,對路局管內到卸車進行預報,為運輸生產提供信息參考。同時對車站裝車實際出發狀態進行監控,以及提供車輛軌跡查詢功能。
(7)歷史管理模塊。對車站每天上報的清算運統1、運統8、運報9A、運報11A等報文歷史情況進行監控,同時對每天車站報文的錯誤和遲報情況進行監控分析,以及車務段做到達確認車輛遺漏情況進行監控。
(8)字典管理模塊。對系統涉及的相關字典進行配置,主要有路局、運輸企業、車務段字典配置以及下屬車站字典配置,分界口及分界口接入交出配置,以及清算運統1與18點對應關系描述等字典配置。
(9)系統管理模塊。主要有用戶及角色配置,網站配置和運行信息查詢等菜單,以及提供系統操作說明等功能。
車務段及鐵路局級應用采用C/S和B/S相結合的結構,信息的接收、校驗、上報等功能采用C/S結構,綜合應用采用B/S結構。采用NET平臺、IIS中間件、Oracle數據庫。每級應用都采用四層架構,即客戶訪問層、業務應用層、數據傳輸層和數據表示層,減少重復性的代碼,提高開發速度,使系統有良好的可維護性,易于擴展。技術架構見圖3。

圖3 系統技術架構
系統的特點主要包括:
(1)分布廣,環節多,業務復雜。系統分為鐵路總公司、鐵路局、車務段、車站四級,其中車務段級系統和車站級系統分布相當分散。由于四級系統根據業務需求需要頻繁交換數據,受制于網絡環境、計算機硬件等影響,網絡中斷、網絡不可靠、丟失數據成為需要解決的技術難題。在保證正常上報和接收數據的同時,還必須保證數據審核、后臺作業、匯總計劃、數據統計、查詢分析等業務的正常進行,還必須保證所有數據庫事務的完整性。因此,在系統結構以及各關鍵環節的硬件、軟件設計上必須科學、合理,確保高性能、高穩定、高可靠。
(2)監控、維護方便。系統提供了完備的監控和維護手段。通過使用監控界面來調整應用程序,為用戶判斷系統運行狀態提供條件。不僅能減少人力成本和人為錯誤,同時也提高了應用性能和可用性。系統提供了簡單易用的管理界面,提供配置向導,方便系統管理員查看系統狀態,并提供了多種功能改善和自動處理應用程序的監控和管理工作,將應用程序的整個生命周期管理自動化。
(3)可靠性高。系統在設計時,對數據上傳、數據交換、流程控制、后臺處理等各個關鍵環節進行了精心設計、周密部署。系統上線后經歷了兩年的磨合,始終保持穩定運行。系統通過采用遠程數據查詢本地化、工作線程調度與監控、數據表的優化、數據庫連接的池化、數據發送與接收請求排隊等待、失敗重發機制等技術,確保了系統在高負荷下工作的可靠性,使系統始終保持正常工作。
(4)可擴展性強。在保證核心業務安全的前提下,按照“全方位設計,分步實現”的設計原則,系統采用了多層次體系結構,采用了中間件、虛擬化、分布式等核心技術,使系統在應用功能、業務模式、軟硬件處理能力等方面均有很強可擴展性。
(5)安全性高。硬件及網絡上采冗余設計,避免單點故障;各級應用間進行信息傳輸時,對重要信息進行了加密;在TCP/IP、HTTP、HTTPS、XML、SOAP等協議的基礎上開發了系統獨有的通信規則,避免了其它應用的非法接入;采用原鐵道部信息技術中心制定的網絡傳輸方案,為車站、車務段、鐵路局、原鐵道部四級系統之間進行信息交換提供安全保障。
6.1分布式系統架構實現復雜業務流程
系統分為鐵路局、車務段、車站三級,物理分布較廣,且三級系統中需要來回實時交換數據,因此,系統以基于TCP協議的雙向通訊為基礎研發了一個分布式消息交換框架系統。以鐵路局級為例,由車務段系統每間隔一段時間向鐵路局級系統發送心跳數據包,鐵路局級系統在數據需要返回時根據車務段發送的信息建立一個可靠的Socket連接,然后將需要返回的數據進行壓縮和打包發送。車務段系統接受信息后使用線程調度停下了所有與返回數據無關的處理線程,然后根據業務需要來處理返回的信息,處理完畢后通知車務段系統線程調度繼續工作,并將處理結果發送至車務段網站。
6.2大數據量下的數據庫優化方案
系統每月產生大量數據。以沈陽鐵路局為例,2013年11月,全局的清算運統1列車信息108 123條,車輛信息4 734 149條,運統8信息238 538條,運報9A信息1 388 587條,運報11A信息780 888條,運報1ZK信息1 626條。由于需要將整個鐵路局的各種報表入庫保存,并在該原始數據上進行查詢與分析,這對數據處理和用戶體驗是一個較高的要求。為了能顯著提高數據處理能力,提升用戶體驗,系統采取了如下措施:
(1)充分利用系統全局區域SGA;(2)規范與反規范設計數據庫;(3)利用表空間將數據傳輸對磁盤I/O競爭均勻地分散開;(4)索引的優化設計;(5)優化數據庫連接方案,使用連接緩沖池機制;(6)高效的SQL語句設計;(7)充分利用數據的后臺處理方案減少網絡流量。
6.3使用高可用OR/M框架
系統數據庫數據表較多,表間依賴關系較為復雜,為了減輕工作壓力、提高開發效率,系統在研發過程中對NHibernate框架進行封裝和改造,實現了一套OR/M框架,命名為NKoala,與目前主流的NHibernate相比,其特點如下:
(1)NHibernate不能支持多數據庫,在NKoala下很好的實現了無縫切換對多數據庫的訪問,配置簡單方便。
(2)修正了NHibernate對Oracle數據庫中Clob、Guid等字段類型支持的Bug,使得系統中的Guid可以以32位Varchar類型存入數據庫,取出還原實體時將其還原為Guid類型。
(3)封裝了NHibernate中的大多數函數,將復雜的調用變得簡單易用,提供了泛型對象、原生SQL對象、Linq語法支持、Lambda表達式支持等特性,提高了開發效率。
(4)支持Oracle的純.NET托管驅動,可不再依賴原Win32下的Oracle客戶端,避免在服務器上安裝程序時需部署Oracle客戶端的步驟,同時因依靠其純托管驅動,提升了程序的跨平臺部署能力。
(5)實現B/S開發中“Open-Session-in-View”模式,在每次瀏覽器對服務器提起請求時,打包所有的數據庫操作并合并為一個數據庫事務,保障在一次瀏覽器請求中所有的數據庫操作的原子性、一致性、隔離性和持久性。
系統自2012年1月1日起投入全路試運行,已經完成18個鐵路局(公司),300多個車務段和直管站的系統部署工作。根據各鐵路局運用過程中提出的不同修改建議,并根據新的財務清算改革對統計數據提出的新要求,對系統進行了多次完善和優化,系統已推出4.0版,目前系統基本定型,系統運行穩定可靠,清算運統1數據信息已作為全路財務模擬清算數據進行使用,為下一步財務清算規則制定提供了重要的統計信息。
[1] 鐵道部信息技術中心. 鐵路貨運列車編組統計信息系統
總體方案[S],2012.
靳 ?。簭V州鐵路(集團)公司信息技術所,工程師,廣東 廣州,510088
陳森玲:廣東外語藝術職業技術學院,講師,廣東 廣州,510640
陳志榮:廣州鐵路(集團)公司計劃統計處,高級統計師,廣東 廣州,510088
責任編輯楊倩
U29-39
A
1672-061X(2014)03-0097-05
廣東省教育廳育苗工程(自然科學)項目《企業產品成長模型在大數據研究理論中的驗證與分析》(2013LYM_0116)。