趙 剛 林炳躍 崔瑩瑩 王 飛
目前,國內(nèi)動車段、動車運用所調(diào)車計劃的編制,主要利用Excel表格工具完成,并通過傳真與各檢修車間以及運輸部門交互。這種計劃編制方式工作效率低、信息不能共享、計劃變更流程繁瑣。隨著全國高鐵線路的不斷建設(shè),動車組開行數(shù)量不斷增加,上述缺點越發(fā)突出,尋求行車指揮計劃的信息化、智能化方案,輔助目前的檢修作業(yè)和調(diào)車作業(yè)的計劃編制非常必要。
動車段 (所)調(diào)車計劃輔助編制系統(tǒng) (以下簡稱系統(tǒng)),使用信息化方式存儲和共享計劃數(shù)據(jù),調(diào)度人員使用定制的計劃軟件,編制和錄入計劃數(shù)據(jù)。數(shù)據(jù)通過以太網(wǎng)傳輸?shù)椒?wù)器,持久化存儲為某一版本的文件。通過服務(wù)器,其他終端可獲取這一版本的數(shù)據(jù),并可對其進行修改和再次提交。為了滿足用戶現(xiàn)有的使用習(xí)慣,兼容現(xiàn)有作業(yè)流程,系統(tǒng)軟件針對不同段 (所)的特點進行定制化設(shè)計,可提供計劃沖突判斷、股道運用提示等智能輔助功能,并以現(xiàn)有Excel格式打印。
系統(tǒng)由前臺終端和后臺服務(wù)器設(shè)備構(gòu)成,主要包括:計劃編制終端、計劃接收終端、消息服務(wù)器、應(yīng)用服務(wù)器和網(wǎng)絡(luò)設(shè)備等。系統(tǒng)結(jié)構(gòu)設(shè)計如圖1所示。
計劃編制終端具有獲取計劃、編制計劃和提交計劃3種權(quán)限。計劃接收終端只具備獲取計劃功能。消息服務(wù)器作為數(shù)據(jù)轉(zhuǎn)發(fā)的核心節(jié)點,管理所有計劃軟件連接,并處理計劃軟件的相關(guān)數(shù)據(jù)請求。應(yīng)用服務(wù)器是計劃數(shù)據(jù)的業(yè)務(wù)核心節(jié)點,提供計劃數(shù)據(jù)的解析、版本管理、數(shù)據(jù)持久化等。作業(yè)圖表軟件將計劃以計劃線的形式展現(xiàn),如果配合上接發(fā)車計劃數(shù)據(jù),可以形成完整的動車組移動軌跡。
圖1 系統(tǒng)結(jié)構(gòu)圖
計劃編制軟件是前臺,提供計劃編制、計劃發(fā)布、保存模板、導(dǎo)出Excel以及股道占用時間和沖突提示等功能。主要采用表格控件實現(xiàn)計劃數(shù)據(jù)展示功能,通過自定義的編輯區(qū)域,對數(shù)據(jù)進行編輯和修改,同時通過圖形方式提示股道運用沖突。軟件界面示意如圖2所示。
圖2 計劃編制軟件界面
不同動車段 (所)在計劃編制流程和使用習(xí)慣上存在差異,軟件設(shè)計既要支持界面布局和數(shù)據(jù)修改項的靈活變換,又要兼容到統(tǒng)一的后臺計劃數(shù)據(jù)結(jié)構(gòu)中。因此,軟件要有很高的適應(yīng)性,這樣才能在大規(guī)模的部署應(yīng)用中,既使用戶感受到定制化開發(fā)帶來的良好用戶體驗,又降低了多分支開發(fā)的復(fù)雜度和維護難度。
消息服務(wù)器主要采用TCP消息協(xié)議來完成數(shù)據(jù)轉(zhuǎn)發(fā)的功能。消息服務(wù)器只負責(zé)業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā),不對傳輸?shù)臄?shù)據(jù)進行分析和修改,其功能示意圖如圖3所示。
圖3 消息服務(wù)器功能示意圖
消息服務(wù)器處于星狀拓撲接口的中心位置,對多條鏈接有集中控制的功能,包括鏈接狀態(tài)信息的顯示和不同業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)控制的功能。為了提高數(shù)據(jù)轉(zhuǎn)發(fā)效率,采用了環(huán)形接收緩沖和異步數(shù)據(jù)發(fā)送技術(shù)。
應(yīng)用服務(wù)器主要完成數(shù)據(jù)的版本管理和終端數(shù)據(jù)版本同步。當(dāng)數(shù)據(jù)從消息服務(wù)器傳輸過來,應(yīng)用服務(wù)器將數(shù)據(jù)解析,組裝成數(shù)據(jù)對象,并在其中增加版本信息,之后將數(shù)據(jù)對象序列化成二進制文件,保存在本地磁盤中待用,應(yīng)用服務(wù)器功能示意如圖4所示。
版本的定義方式是采用本機時間加數(shù)據(jù)班次信息。應(yīng)用服務(wù)器會從終端的心跳信息中判斷是否要將數(shù)據(jù)推送給某個終端。當(dāng)心跳中帶有的數(shù)據(jù)信息版本低于應(yīng)用服務(wù)器當(dāng)前的數(shù)據(jù)版本,應(yīng)用服務(wù)器會主動將最新的計劃數(shù)據(jù)發(fā)送給該終端。
圖4 應(yīng)用服務(wù)器功能示意圖
計劃數(shù)據(jù)作為系統(tǒng)的核心數(shù)據(jù)需要持久化存儲。一般的持久化存儲方案是采用數(shù)據(jù)庫,但本系統(tǒng)如采用數(shù)據(jù)庫存儲,會遇到數(shù)據(jù)表格式和數(shù)據(jù)訪問層接口的維護問題。因為當(dāng)系統(tǒng)部署到不同動車段 (所),各個軟件版本不盡相同,使用數(shù)據(jù)庫存儲計劃數(shù)據(jù)時,不同版本軟件的數(shù)據(jù)庫表結(jié)構(gòu)將會存在差異,從而導(dǎo)致數(shù)據(jù)訪問層代碼也會有不同版本,這在一定程度上增加了開發(fā)和維護成本。
為了回避以上問題,系統(tǒng)采用二進制序列化的持久化數(shù)據(jù)存儲方式。二進制序列化是.Net平臺下穩(wěn)定的、抽象層次更高的、與對象結(jié)構(gòu)無關(guān)的通用方法。采用該方式可以不用編寫大量的數(shù)據(jù)訪問層代碼,并且當(dāng)計劃數(shù)據(jù)對象變更時,不用改變?nèi)魏纬志没壿嫶a。當(dāng)然該方式有存儲的數(shù)據(jù)文件無法直接閱讀、文件的檢索效率不如數(shù)據(jù)庫高的缺點,但對系統(tǒng)應(yīng)用影響不大。
每個班次制定本班次時間內(nèi)的調(diào)車計劃,計劃數(shù)據(jù)需要根據(jù)調(diào)度班次劃分版本。隨著作業(yè)計劃不斷執(zhí)行,當(dāng)發(fā)生檢修超時或者臨時變更檢修計劃等情況,以及其他不可控因素,都會使最終的實際調(diào)車作業(yè)偏離計劃預(yù)期,一般這種偏離被控制在本班次可以控制的范圍內(nèi)。當(dāng)班次更換時,上一個班次的計劃就過期了。新班次的計劃是將最新的變化因素考慮進去并制定之后的計劃,這樣本來應(yīng)該是連續(xù)不間斷的調(diào)車計劃,將被分解為按班次劃分的白班和夜班計劃。而當(dāng)同一個班次內(nèi)的計劃也需要重新編排時,班次內(nèi)的計劃也將形成新的版本。不斷更新的計劃版本,給計劃系統(tǒng)帶來多版本計劃融合的難題。
解決方案是由系統(tǒng)的應(yīng)用服務(wù)器產(chǎn)生計劃版本號,所有的新計劃都是通過應(yīng)用服務(wù)器打上版本號后才能被發(fā)布。版本號由時間戳和班次類型2個關(guān)鍵詞構(gòu)成,同時也是計劃數(shù)據(jù)序列化為二進制文件的文件名。系統(tǒng)維持最新的一套計劃數(shù)據(jù)在各個終端同步和傳輸。當(dāng)計劃預(yù)期與實際執(zhí)行結(jié)果的偏差在可控范圍內(nèi)時,只需在執(zhí)行時對當(dāng)前計劃稍作調(diào)整,等待下一個班次計劃糾正之前的偏差即可。當(dāng)計劃接收終端需要對新的計劃和現(xiàn)有計劃進行融合時,軟件提供了計劃數(shù)據(jù)字段比對提示功能,由用戶手動融合相同車組的不同調(diào)車數(shù)據(jù),簡化了人工比對的工作量,并且保證不會造成數(shù)據(jù)錯誤和數(shù)據(jù)冗余。
該系統(tǒng)已經(jīng)成功應(yīng)用在北京、武漢和廣州動車段。從實際應(yīng)用情況看,基本滿足了設(shè)計的要求,提供了友好的用戶交互界面,并且可以實現(xiàn)界面功能定制開發(fā)。以TCP協(xié)議為基礎(chǔ)的數(shù)據(jù)傳輸結(jié)構(gòu)穩(wěn)定而高效,計劃數(shù)據(jù)結(jié)構(gòu)擴展性強,基于版本控制的計劃管理和序列化數(shù)據(jù)存儲設(shè)計,降低了開發(fā)和維護成本。隨著動車段 (所)檢修業(yè)務(wù)量的不斷增長,業(yè)務(wù)流程的不斷優(yōu)化,該系統(tǒng)在多終端分布式結(jié)構(gòu)擴展、數(shù)據(jù)并發(fā)修改、多數(shù)據(jù)版本智能融合等方面還要繼續(xù)研發(fā)和改進。
[1] 蘇慶,李忠良,吳偉民.在C#.NET下實現(xiàn)數(shù)據(jù)導(dǎo)入Excel的方法研究[J].計算機與現(xiàn)代化,2011(4).
[2] 飛頡經(jīng)緯.基于C#的自動生成 Word文檔的開發(fā)[J].科技創(chuàng)新導(dǎo)報,2010(3).
[3] 黎浩東.鐵路編組站階段計劃編制研究綜述[J].鐵道學(xué)報,2011(8):15.
[4] 蔣繼磊,楊志杰.動車組運用計劃編制及其優(yōu)化[J].鐵道運輸與經(jīng)濟,2010(4).
[5] 丁昆,崔磊.鐵路調(diào)車計劃圖形編制法[J].鐵道貨運,2006(6):10.
[6] 王雅琳,周穎,雷友誠,等.基于 MVC的調(diào)車作業(yè)計劃輔助編制系統(tǒng)[J].計算機工程,2010(11):05.
[7] 史建中,周通.編組站綜合自動化系統(tǒng)的信息共享平臺建設(shè)[J].鐵道通信信號,2011(3):65-67.
[8] 宋鵬飛,魏博.動車段編組系統(tǒng)于CTC接口的實現(xiàn)[J].鐵道通信信號,2011(6):17-20.
[9] 王俊.動車段調(diào)車防護系統(tǒng)設(shè)計方案[J].鐵道通信信號,2012(8):13-14.