于意軍,楊文冠
(中國鐵道科學(xué)研究院集團(tuán)有限公司 電子計算技術(shù)研究所, 北京 100081)
鐵路運(yùn)輸信息集成平臺[1](簡稱:集成平臺)實現(xiàn)了列車、車輛、貨物、機(jī)車、機(jī)車乘務(wù)員的數(shù)據(jù)集中與信息共享,推動了運(yùn)輸組織流程優(yōu)化,滿足了調(diào)度指揮精細(xì)化管理需要,為貨物運(yùn)輸組織改革[2]及提高貨運(yùn)服務(wù)水平提供了技術(shù)支撐。迄今為止,針對集成平臺已經(jīng)有不少理論研究和系統(tǒng)研發(fā)成果。王瑞斌[3]提出,通過鐵路運(yùn)輸信息集成平臺實現(xiàn)對車輛運(yùn)行軌跡的詳細(xì)記錄,實時計算車輛的運(yùn)用指標(biāo),分析車輛運(yùn)用效率,合理安排車輛的檢修,提高車輛運(yùn)用管理水平;王軍、錢琳[4]開發(fā)了基于集成平臺的數(shù)據(jù)服務(wù)管理系統(tǒng),通過標(biāo)準(zhǔn)化的數(shù)據(jù)服務(wù)方式,規(guī)范數(shù)據(jù)服務(wù)管理,為中國國家鐵路集團(tuán)有限公司(簡稱:國鐵集團(tuán))和鐵路局集團(tuán)有限公司各用戶提供通用和定制化服務(wù);王鳳琳[5]分析了當(dāng)前集成平臺股道現(xiàn)車同步應(yīng)用存在的主要問題,對新的內(nèi)存數(shù)據(jù)庫技術(shù)進(jìn)行了學(xué)習(xí)和研究,并將其運(yùn)用于股道現(xiàn)車同步應(yīng)用測試,為應(yīng)用性能的提升提供了科學(xué)依據(jù)和有力支撐。目前,集成平臺裝卸完整率采用的是以十八點報告為基準(zhǔn)的計算方法,尚無人提出面對沒有上傳報告的裝卸作業(yè)時,如何精確定位問題車輛的解決方案。本文提出了以出發(fā)車為基準(zhǔn)的裝卸完整率計算方法,很好地解決了這一問題。
根據(jù)《鐵路運(yùn)輸信息集成平臺數(shù)據(jù)采集考核辦法》對完整率的定義,選取相關(guān)運(yùn)輸指標(biāo)為參照基準(zhǔn),上報的運(yùn)輸報告數(shù)除以運(yùn)輸指標(biāo)為完整率[6]。選取包含車號等詳細(xì)車輛信息的參照基準(zhǔn),是解決當(dāng)前裝卸完整率考核存在問題的首要工作。根據(jù)鐵路運(yùn)輸[7]的特點,車輛在每個車站的每一次作業(yè)周期從到達(dá)開始至出發(fā)結(jié)束,因此,可以在車輛從某一車站出發(fā)后,以車輛在本周期內(nèi)的所有作業(yè)信息為基礎(chǔ)計算車站裝卸完整率,稱之為以當(dāng)日出發(fā)車為基準(zhǔn)的裝卸完整率。采用該方法計算裝卸完整率,可以精確定位沒有上傳報告的裝卸作業(yè),能夠為鐵路工作人員提供分析問題、解決問題的依據(jù)。
1.1.1 基本結(jié)構(gòu)及數(shù)據(jù)來源
為了滿足裝卸完整率計算的需求,設(shè)計了車輛登記表,該表是國鐵集團(tuán)級集成平臺的內(nèi)部統(tǒng)計表,記錄各車站的車輛出入及作業(yè)過程。車輛登記表的基本結(jié)構(gòu)如圖1 所示。
圖1 車輛登記表基本結(jié)構(gòu)
車輛登記表的數(shù)據(jù)來源是各車站上報的到達(dá)報告、出發(fā)報告、裝車報告和卸車報告。由于裝車報告和卸車報告的業(yè)務(wù)性質(zhì)和處理方法基本相同,將之統(tǒng)稱為裝卸報告。
1.1.2 生成算法
車輛登記表數(shù)據(jù)的生成算法,要充分考慮上報報告數(shù)據(jù)的無序性,甚至要考慮不同周轉(zhuǎn)周期數(shù)據(jù)混雜在一起的情況(如將車輛之前在某站的裝車報告在下次到達(dá)該站的到達(dá)報告之后上報)。基于這些考慮,車輛登記表生成的算法比較復(fù)雜。我們將其核心處理過程建模為一個狀態(tài)機(jī),如圖2 所示。
圖2 車輛登記表生成狀態(tài)機(jī)
圖2 中的每個狀態(tài),為車輛登記表處理過程中可能的中間狀態(tài)。其中,初始狀態(tài)為空記錄,終止?fàn)顟B(tài)為形成完整記錄,即到、發(fā)閉合的記錄。終止?fàn)顟B(tài)下仍可接收裝卸報告,裝卸不影響車輛登記表記錄的完整性。引發(fā)狀態(tài)躍遷的條件([1]、[2]……[12])是新報告數(shù)據(jù)到達(dá)。各種報告的處理邏輯描述如表1 所示。下文中的“記錄”指同一車站,同一車號的車輛登記記錄。
表1 處理邏輯描述
狀態(tài)躍遷的條件詳細(xì)描述如下。其中,序號[1]、[2]、…、[12]對應(yīng)圖2 中的序號。
[1] A.不存在記錄。B.存在閉合記錄。C.存在不閉合記錄:a.有到達(dá)信息;b.無到達(dá)信息,只有裝車信息,裝車時間小于到達(dá)報告事件時間;c.無到達(dá)信息,只有卸車信息,卸車時間小于到達(dá)報告事件時間;d.無到達(dá)信息,只有出發(fā)信息,出發(fā)時間小于到達(dá)報告事件時間;e.無到達(dá)信息,有裝車信息和卸車信息,裝車時間小于到達(dá)報告事件時間或卸車時間小于到達(dá)報告事件時間;f.無到達(dá)信息,有裝車信息和出發(fā)信息,裝車時間小于到達(dá)報告事件時間或出發(fā)信息小于到達(dá)報告事件時間;g.無到達(dá)信息,有卸車信息和出發(fā)信息,卸車時間小于到達(dá)報告事件時間或出發(fā)時間小于到達(dá)報告事件時間;h.無到達(dá)信息,有裝車信息、卸車信息和出發(fā)信息,裝車時間小于到達(dá)報告事件時間或卸車時間小于到達(dá)報告事件時間或出發(fā)時間小于到達(dá)報告事件時間。
[2] A.不存在記錄。B.存在閉合記錄,到達(dá)時間大于裝卸報告事件時間或出發(fā)時間小于裝卸報告事件時間。C.存在不閉合記錄:a.只有到達(dá)信息,到達(dá)時間大于裝卸報告事件時間;b.只有出發(fā)信息,出發(fā)時間小于裝卸報告事件時間;c.對于卸車,有到達(dá)信息和裝車信息,到達(dá)時間大于卸車報告事件時間;d.對于裝車,有到達(dá)信息和卸車信息,到達(dá)時間大于裝車報告事件時間;e.對于卸車,有出發(fā)信息和裝車信息,出發(fā)時間小于卸車報告事件時間;f.對于裝車,有出發(fā)信息和卸車信息,出發(fā)時間小于裝車報告事件時間。
[3] A.不存在記錄。B.存在閉合記錄。C.存在不閉合記錄:a.有出發(fā)信息; b.無出發(fā)信息,只有裝車信息,裝車時間大于出發(fā)報告事件時間;c.無出發(fā)信息,只有卸車信息,卸車時間大于出發(fā)報告事件時間;d.無出發(fā)信息,只有到達(dá)信息,到達(dá)時間大于出發(fā)報告事件時間;e.無出發(fā)信息,有裝車信息和卸車信息,裝車時間大于出發(fā)報告事件時間或卸車時間大于出發(fā)報告事件時間;f.無出發(fā)信息,有裝車信息和到達(dá)信息,裝車時間大于出發(fā)報告事件時間或到達(dá)時間大于出發(fā)報告事件時間;g.無出發(fā)信息,有卸車信息和到達(dá)信息,卸車時間大于出發(fā)報告事件時間或到達(dá)時間大于出發(fā)報告事件時間;h.無出發(fā)信息,有裝車信息、卸車信息和到達(dá)信息,裝車時間大于出發(fā)報告事件時間或卸車時間大于出發(fā)報告事件時間或到達(dá)時間大于出發(fā)報告事件時間。
[4] 只有到達(dá)信息,到達(dá)時間小于等于出發(fā)報告事件時間。
[5] 只有出發(fā)信息,出發(fā)時間大于等于到達(dá)報告事件時間。
[6] 只有到達(dá)信息,到達(dá)時間小于等于裝卸報告事件時間。
[7] 有到達(dá)信息和裝卸信息,到達(dá)時間小于等于出發(fā)報告事件時間并且裝卸時間小于等于出發(fā)報告事件時間。
[8] 只有裝卸信息,裝卸時間大于等于到達(dá)報告事件時間。
[9] 只有裝卸信息,裝卸時間小于等于出發(fā)報告事件時間。
[10] 只有出發(fā)信息,出發(fā)時間大于等于裝卸報告事件時間。
[11] 有出發(fā)信息和裝卸信息,出發(fā)時間大于等于到達(dá)報告事件時間并且裝卸時間大于等于到達(dá)報告事件時間。
[12] 只有到達(dá)信息和出發(fā)信息,到達(dá)時間小于等于裝卸報告事件時間并且出發(fā)時間大于等于裝卸報告事件時間。
根據(jù)車輛登記表的結(jié)構(gòu),每條車輛登記表的完整記錄包含車輛在一個車站的全部作業(yè)信息,包括到達(dá)信息、卸車信息、裝車信息、出發(fā)信息等??梢酝ㄟ^到達(dá)信息判斷該記錄所代表的車輛在本到發(fā)周期是否為應(yīng)卸車,通過卸車信息獲得該記錄所代表車輛在本到發(fā)周期的實卸車次數(shù),通過裝車信息獲得該記錄所代表車輛在本到發(fā)周期的實裝車次數(shù),通過出發(fā)信息判斷該記錄所代表的車輛在本到發(fā)周期是否為應(yīng)裝車。由此可以得出,以出發(fā)日期為準(zhǔn),某車站某天應(yīng)裝車記錄之和為該車站該天出發(fā)車的應(yīng)裝車數(shù),某車站某天所有記錄的裝車次數(shù)之和為該車站該天出發(fā)車的裝車報告數(shù),某車站某天應(yīng)卸車記錄之和為該車站該天出發(fā)車的應(yīng)卸車數(shù),某車站某天所有記錄的卸車次數(shù)之和為該車站該天出發(fā)車的卸車報告數(shù)。通過以上分析,以當(dāng)日出發(fā)車為基準(zhǔn):
裝車完整率=(裝車報告數(shù)÷ 應(yīng)裝車數(shù))×100%;
卸車完整率=(卸車報告數(shù)÷ 應(yīng)卸車數(shù))×100%。
在設(shè)計與開發(fā)過程中,后臺采用Java 設(shè)計語言,前臺采用JSP 結(jié)合CSS 及JavaScript 的設(shè)計語言。采用Oracle 數(shù)據(jù)庫,利用Eclipse 和EditPlus 開發(fā)平臺、WebLogic 中間件進(jìn)行開發(fā),后臺采用C/S 架構(gòu),前臺采用B/S 架構(gòu)。用戶可以通過谷歌Chrome 瀏覽器、微軟IE 瀏覽器等對完整率數(shù)據(jù)進(jìn)行訪問。
根據(jù)以上方法計算某車站2019 年8 月23 日的裝卸完整率,其顯示頁面如圖3 所示。
圖3 裝卸完整率
以當(dāng)日出發(fā)車為基準(zhǔn),當(dāng)天出發(fā)應(yīng)卸車15 車,出發(fā)應(yīng)裝車43 車,點擊相應(yīng)數(shù)字鏈接進(jìn)入圖4、圖5 所示的車輛詳細(xì)信息頁面。而以十八點報告為基準(zhǔn),當(dāng)天應(yīng)卸車1 車,應(yīng)裝車43 車,不能展示車輛詳細(xì)信息。
圖4 應(yīng)卸車信息界面
圖5 應(yīng)裝車信息界面
圖4、圖5 詳細(xì)列出了以當(dāng)日出發(fā)車為基準(zhǔn)的裝卸完整率基準(zhǔn)信息(應(yīng)裝車/應(yīng)卸車),頁面展示車號為紅底色的車輛記錄,為沒有上傳裝卸報告的裝卸作業(yè),站段管理人員或工作人員利用該功能可以精確、快速定位問題車輛。目前,該功能已經(jīng)發(fā)布并供全路站段查詢使用。
裝卸報告是鐵路運(yùn)輸信息集成平臺重要的報告之一,該類報告收集了全路各車站的裝卸作業(yè)情況。以到發(fā)報告和裝卸報告為主要基礎(chǔ)數(shù)據(jù)而生成的車輛登記表,幾乎反映了全路所有車輛的實時狀態(tài),其中,在站車輛到發(fā)站、空重等重要信息均來源于裝卸報告。鐵路管理人員可以通過該表獲取車輛的實時狀態(tài)及運(yùn)行作業(yè)軌跡等信息,從而對調(diào)度指揮[8]起到重要的輔助作用。另外,該表包含的貨物信息為全路貨運(yùn)服務(wù)網(wǎng)提供充分的數(shù)據(jù)支持[9]。裝卸完整率反映了全路各站裝卸報告上傳情況,不但有利于調(diào)度指揮人員掌握各站裝卸報告上傳情況,并制定考核辦法來督促車站規(guī)范作業(yè),而且,方便車站工作人員及時發(fā)現(xiàn)裝卸作業(yè)存在的問題并改正。
下一步,我們可以通過進(jìn)一步分析裝卸報告本身特點并引入其他基礎(chǔ)數(shù)據(jù),比如車站裝卸七甲等信息,對裝卸完整率進(jìn)行進(jìn)一步的修正,從而更好地反映裝卸報告上傳的情況,為調(diào)度指揮人員提供更完整、更準(zhǔn)確的數(shù)據(jù),為車站作業(yè)人員提供更精確、更實時的作業(yè)反饋。