羅 明,沈 路
(1.中國鐵路武漢局集團有限公司 信息技術所,武漢 430071;2. 中國鐵路武漢局集團有限公司 信息化處,武漢 430071)
近年來,鐵路總公司積極推進貨物運輸改革,擴大鐵路運輸?shù)氖袌龇蓊~,努力提高與公路、水路等其他運輸工具的競爭力,提高鐵路運輸效率。一直以來,服務于鐵路運輸組織與運營管理的信息系統(tǒng)為鐵路運輸組織提供信息服務,但這些信息系統(tǒng)存在數(shù)據(jù)不準確、不一致等問題,在鐵路局的層面上缺少對這些信息系統(tǒng)數(shù)據(jù)的梳理和共享,缺少對系統(tǒng)間的橫向分析,未按列車、車輛、貨物等維度統(tǒng)一存儲這些數(shù)據(jù),沒能以有效、直觀的方式展現(xiàn)數(shù)據(jù)分析結果。本文依據(jù)服務于鐵路局的5大信息系統(tǒng),通過提取各系統(tǒng)數(shù)據(jù),找到數(shù)據(jù)間關系,數(shù)據(jù)清洗入庫后,分析、計算影響運輸效率的因素,通過GIS平臺實時展現(xiàn)數(shù)據(jù)分析結果。
貨車周轉時間是衡量鐵路運輸效率重要指標之一,本文主要從提高貨車周轉時間入手,達到提高鐵路運輸效率的目的[1]。從貨車周轉時間的組成來看,包括區(qū)段旅行時間、技術站中轉停留時間和裝卸站停留時間。影響貨車周轉時間主要有6因素:貨車全周轉距離、貨車中轉距離、旅行速度、貨車在技術站及貨運站的中停時、管內裝卸率等[2]。特別是貨車旅行速度下降、車輛貨物作業(yè)停留時間延長和貨車中轉作業(yè)停留時間延長這3個因素是影響貨車周轉時間的主要原因[3]。
查找貨車旅行速度下降的原因,研究區(qū)間線路通過能力;通過對各技術站貨車停時和中時的實時分析衡量車站實時作業(yè)效率;貨車車輛每個狀態(tài)的全流程記錄和分析計算每個貨車周轉時間是本文主要的研究內容。
與鐵路貨運組織相關的信息系統(tǒng)主要是鐵路總公司推廣的5大系統(tǒng),包含了調度指揮、貨票制票、車站組織、分界口數(shù)據(jù)和車輛編組軌跡等相關信息,是目前鐵路局層面分析貨運數(shù)據(jù)的主要數(shù)據(jù)源。
(1)鐵路運輸信息集成平臺(簡稱:集成平臺),通過整合列車、車輛、貨物、機車、機車乘務員等信息,建立集中統(tǒng)一的共享數(shù)據(jù)庫,其數(shù)據(jù)主要通過車站上報的方式實現(xiàn)數(shù)據(jù)更新。
(2)集成平臺與運輸調度管理系統(tǒng)(TDMS)和列車調度指揮系統(tǒng)/調度集中(TDCS/CTC),系統(tǒng)間的數(shù)據(jù)交換(簡稱:TD結合數(shù)據(jù)交換)主要通過MQ報文傳輸方式,提供列車運行圖上實際運行線、基本圖、時刻表、區(qū)間封鎖慢行、階段計劃等。
(3)車號自動識別系統(tǒng)(ATIS),是機車、車輛動態(tài)跟蹤和進行貨車使用費清算的重要依據(jù),同時,為分界站統(tǒng)計復示系統(tǒng)提供重要數(shù)據(jù)源。
(4)列車確報系統(tǒng),利用現(xiàn)車系統(tǒng)、鐵路局、鐵路總公司確報系統(tǒng)發(fā)送的列車出發(fā)運統(tǒng)一信息,用于鐵路總公司及鐵路局調度指揮、局間列車交接、局調度與車站、各現(xiàn)車系統(tǒng)站交互共享、統(tǒng)計等運輸生產列車出發(fā)運統(tǒng)一信息。
(5)貨票系統(tǒng),作為鐵路貨運的主要票據(jù),貨票數(shù)據(jù)記錄了貨物的類型、貨主、到發(fā)站、制票日期、實際出發(fā)時間、品類、重量、數(shù)量、車號等信息。
這5大系統(tǒng)數(shù)據(jù)源是構建鐵路貨運大數(shù)據(jù)的基礎,通過這些信息系統(tǒng)的深入分析,對數(shù)據(jù)進行清洗和入庫,按貨物、車輛、列車3個維度進行存儲,利用存儲后的數(shù)據(jù)進行運輸效率分析。
(1)集成平臺的信息主要來源于MQ報文。集成平臺采集MQ隊列列車出發(fā)報告、到達報告、裝車報告、卸車報告等信息作為車輛在局管內各站的關鍵事件[4]。
(2)TD結合數(shù)據(jù)交換提供列車在線路運行徑路,通過集成平臺的到達、出發(fā)報告將車輛和車次結合[5]。
(3)分界口車號識別系統(tǒng)為進入分界口的車輛提供追蹤的源頭。
(4)確報系統(tǒng)作為車輛編組的補充信息,對車輛信息進行補充。
(5)提取貨票數(shù)據(jù),通過集成平臺串聯(lián)車輛號和貨票號,將貨流信息和車流信息連接起來,將數(shù)據(jù)按照不同的維度進行存儲,掌握車輛在局管內的全流程追蹤,為實現(xiàn)運輸效率分析提供數(shù)據(jù)基礎保障。
線路區(qū)間的通過能力、線路繁忙情況、車輛在站的中時和停時、車站作業(yè)效率分析、貨車車輛每個狀態(tài)的全流程記錄和分析主要通過以下算法實現(xiàn)。
(1)通過列車完整軌跡獲取算法,實現(xiàn)列車的實時跟蹤和歷史信息查詢,對查詢車輛和貨物的完整軌跡起到輔助作用。
(2)通過車輛完整軌跡獲取算法,實現(xiàn)車輛每個狀態(tài)的監(jiān)控,對分界口的出發(fā)流預測起到輔助作用。
(3)通過貨物列車線路繁忙情況獲取算法,實現(xiàn)區(qū)間通過能力分析,通過區(qū)間實際運行對數(shù)和基本圖進行比較,設置一定的閾值,將區(qū)間運行狀態(tài)分成暢通、一般和擁堵3個狀態(tài)。
(4)通過貨車作業(yè)停留時間和車輛中轉停留時間獲取算法,實現(xiàn)車輛在站的中時和停時計算,并通過車輛的中時和停時計算車站實時的平均中時和停時,設置一定的閾值,對車站的作業(yè)效率進行實時提醒。在此算法基礎上,實現(xiàn)車輛的軌跡回放,貨車周轉時間計算等功能。從而實現(xiàn)影響運輸效率的主要因素分析。
列車的完整運行軌跡是分析列車和車輛的基礎,只有把軌跡分析清楚才可能對旅行速度、中時和停時進行分析和比對。具體的執(zhí)行流程如下:
(1) 分界口獲?。航厝TATION_TRAIN表中in_scope和out_scope字段的首字母,若in_scope字段首字母為N,out_scope字段首字母為非N,則為分界口交出數(shù)據(jù);若in_scope字段首字母為非N,out_scope字段首字母為N,則為分界口接入數(shù)據(jù);若兩者皆不是,則為非分界口數(shù)據(jù)。
(2)利用運輸集成平臺標注分界口標識:ATIS中,STATION_TRAIN和運輸集成平臺的LCCF報告通過運行車次、站、最近時間點建立關聯(lián)關系,并把運輸集成平臺中能關聯(lián)到分界口信息的數(shù)據(jù)標注分界口標識。
(3) TD軌跡:根據(jù)TRAIN_LINE列車全局ID,找尋出不同TRAIN_ID串出TRAIN_LINE_TIME表中TRAIN_ID軌跡
(4)精細軌跡:以LCCF報文信息為主線,匹配出TD軌跡數(shù)據(jù),用TD軌跡彌補發(fā)報文信息缺失的站,互相彌補對數(shù)據(jù)進一步精確。
(5)清洗數(shù)據(jù):按軌跡起始狀況可分為管內運行軌跡和管外交互軌跡;管內運行軌跡起始站在管內站開始,并在管內站結束;管外交互軌跡需判斷并梳理分界口數(shù)據(jù)開始或者結束的處理機制;調度臺與調度臺接口處一般存在1~3個重疊站信息,需在程序中判別并進行去重處理。
(1) 分界口獲?。航厝TATION_TRAIN表中in_scope和out_scope字段的首字母,若in_scope字段首字母為N,out_scope字段首字母為非N,則為分界口交出數(shù)據(jù);若in_scope字段首字母為非N,out_scope字段首字母為N,則為分界口接入數(shù)據(jù);若兩者皆不是,則為非分界口數(shù)據(jù)。
(2)現(xiàn)車數(shù)據(jù)標記界口標志:取分界口站數(shù)據(jù),根據(jù)站匹配最近時間并結合運行車次信息提高準確度。
(3) TD軌跡:根據(jù)TRAIN_LINE列車全局ID,找尋出不同TRAIN_ID串出TRAIN_LINE_TIME表中TRAIN_ID軌跡。
(4)現(xiàn)車關聯(lián):列車到達和列車出發(fā)通過報文名稱、車輛車號、車輛ID找出站的到報信息并做匯總關聯(lián),車次在到與發(fā)之間可能存在變化,所以不可作為主要關聯(lián)點。
(5) 現(xiàn)車關聯(lián)TD軌跡:按時間順序查詢現(xiàn)車報文數(shù)據(jù)并做循環(huán),第1層循環(huán)過程中以發(fā)報為主線,關聯(lián)出TD軌跡中相對應站和車次信息,第2層嵌套循環(huán)發(fā)報關聯(lián)的車輛信息,并根據(jù)TD軌跡逐步循環(huán)插入車輛軌跡信息,在循環(huán)TD軌跡過程中,要講TD的站查詢到報信息,到報找到,則結束此次循環(huán),進入下個軌跡循環(huán)。
貨物列車線路繁忙情況分析是對優(yōu)化運行圖、提高貨物列車旅行速度一種有效手段,通過更直觀的反映區(qū)間的通過能力,查看運輸瓶頸問題。具體的執(zhí)行流程如下。
3.3.1 計算邏輯
取TD數(shù)據(jù)中實際運行線和調度的結合數(shù)據(jù),即TD庫中TRAIN_LINE和TRAIN_LINE_TIME表,根據(jù)G_TRAIN_ID和TRAIN_ID中的關聯(lián)關系,關聯(lián)出前后軌跡,若當前時間在軌跡范圍內,可記錄當前時間列車的前后站信息,若當前時間不在軌跡時間范圍內,則表明此車現(xiàn)在當前時間沒在全路局內正常運行,不記錄前后站數(shù)據(jù)信息;取TD數(shù)據(jù)基本圖運行線表和基本圖時刻表計算列車計劃軌跡,判定同樣時間情況下列車所處的前后站信息;比對區(qū)間或者區(qū)段實際運行數(shù)量和計劃運行數(shù)量,可進一步判定繁忙情況。
3.3.2 實際數(shù)據(jù)
實際運行線可以判斷當前時間列車上一站或者現(xiàn)在所在站信息,調度管理數(shù)據(jù)可以判斷列車下一站信息,TRAIN_LINE_TIME表中REPORT_FLAG字段0代表未報、1代表已報到點、2代表已報發(fā)點、3代表到發(fā)點都已報,每趟列車的狀態(tài)只有一種記錄,根據(jù)這種狀態(tài)變化在發(fā)現(xiàn)下一站信息的同時,也可以驗證調度數(shù)據(jù)的時時性和準確性。
3.3.3 計劃數(shù)據(jù)
基本圖運行線表XD_TDX中可以取出各調度臺節(jié)點的運行方向,基本圖時刻表XD_TDX_TT中以TRAIN_ID為列車的唯一標識進行查詢列軌跡,取當前時間點來判斷列車在當前時間所處的區(qū)間,在此基礎之上來統(tǒng)計當前時間點在區(qū)間的計劃列車數(shù)量。
3.3.4 繁忙情況
取當前時間的實際數(shù)據(jù)和計劃數(shù)據(jù)進行比較,根據(jù)需求進行判定列車的繁忙情況。
3.4.1 貨車作業(yè)停留時間和車輛中轉停留時間構成
(1)貨物作業(yè)停留時間:運用車在站線及專用線內進行裝卸、倒裝作業(yè)所停留的時間。
(2)入線前停留時間:由貨車到達時起至送到裝卸地點時止,以及雙重作業(yè)貨車由卸車完了時起至送到另一裝車地點時止的時間。
(3)站線作業(yè)停留時間:由貨車送到裝卸地點時起至裝卸作業(yè)完了時止的時間。
(4)專用線作業(yè)停留時間:由貨車送到裝卸地點時起至裝卸作業(yè)完了時止的時間。如規(guī)定以企業(yè)自備機車取送車輛時,以雙方將貨車送到規(guī)定地點的時分計算。
(4)出線后停留時間:由貨車裝卸作業(yè)完了時起至發(fā)出時止的時間。
(6)車輛中轉停留時間:為貨車在車站進行解體、改編、中轉技術作業(yè)及其他中轉作業(yè)所停留的時間。計算中轉停留時間的貨車應為本站計算出入的貨車。
3.4.2 業(yè)務關聯(lián)邏輯
(1)計算邏輯:通過LCCF中的BWMC、CFZM和LCCF_CLDTXX中的CID關聯(lián)此站到報信的到達時間情況,獲取一輛列車的到達和出發(fā)時間,另外通過CID和ZM可以關聯(lián)ZCXX、XCXX的裝卸車的入線時間、出線時間、作業(yè)開始時間、作業(yè)完成時間,在此基礎之上,判斷一輛車在此站屬于中轉還是作業(yè),如若屬于中轉,計算中轉時間和中轉車數(shù),如若屬于作業(yè),計算入線時間和出現(xiàn)時間差并記錄車輛在此處的單雙作業(yè)次數(shù)。
(2)到發(fā)信息關聯(lián):通過站名、報文信息、車輛ID來關聯(lián)一個車輛所在的到達時間和出發(fā)時間。
(3)裝卸信息關聯(lián)到發(fā)信息:到發(fā)信息關聯(lián)出站的作業(yè)狀況,關聯(lián)到裝卸報文則此車在當前站屬于作業(yè)車,否則屬于中轉車。
(4)中停時計算:根據(jù)打發(fā)關聯(lián)及中轉停狀態(tài)判定,可以計算車輛所在一個站的停留時間和中轉時間,同時記錄中轉車數(shù)和作業(yè)次數(shù)、當前站進行匯總計算。
(5)清洗數(shù)據(jù):在以發(fā)報為主線的情況下能滿足大部分數(shù)據(jù)計算,但存在一類到報和發(fā)報數(shù)據(jù)跨天的情況,如果遇到這種情況,則計算過程中容易誤把跨天前的停留時間計算到當天時間計算,造成數(shù)據(jù)錯誤;清洗辦法:在以發(fā)報為主線的情況下判定到報數(shù)據(jù)有沒有在當天找尋到發(fā)報,如若找尋不到,記錄當天停留時間,減小跨天引起的數(shù)據(jù)誤差。
Hadoop是一種用以對大數(shù)據(jù)進行處理和分析的開源分布式計算平臺,能夠實現(xiàn)對大數(shù)據(jù)的穩(wěn)定、高效處理,是一個可靠的數(shù)據(jù)存儲和分析系統(tǒng)[6]。具體搭建時項目組使用5臺物理機(node1、node2、node3、node4、node5)通過Hadoop和Zookeeper實現(xiàn)高可用性的分布式存儲。其中,node1、node2用做NameNode節(jié)點, node3、node4、node3用做DataNode節(jié)點, node1、node2、node3用做Journal-Node節(jié)點和 Zookeeper,node1、node2用做 ZK Failover Controllers節(jié)點。
Apache Sqoop是一個開源工具,它允許用戶將數(shù)據(jù)從結構化存儲器導入到Hadoop的HDFS中或Hbase中[7]。導入HDFS的數(shù)據(jù)可以通過Map-Reduce編程模型進行處理,在得到分析結果后,Sqoop可以將運算結果導入到結構化存儲器中。
Spark是專為大規(guī)模數(shù)據(jù)處理而設計的快速通用的計算引擎[8]。Spark分布式計算的執(zhí)行原理是:程序首先提交到Master中,由Master 負責分割任務、申請資源將任務分配至各Worker中進行并行運算并接收返回的結果,整個執(zhí)行過程由Master進行控制管理、統(tǒng)一調度[9]。
在具體操作中,通過spark內部命令將寫好的程序提交給Spark進行執(zhí)行。Spark程序會加載基礎數(shù)據(jù),對其進行一系列地清洗、篩選,去除重復的和過時的數(shù)據(jù),把剩余有效地數(shù)據(jù)通過每列列車的全局ID和train_id串出整列車分調度臺的列車完整軌跡,然后再根據(jù)各種指標的相關算法,對各種指標進行計算。
中國鐵路武漢局集團有限公司(簡稱:武漢局)運輸信息分析平臺中,搭建一套Hadoop大數(shù)據(jù)處理和分析平臺,實現(xiàn)分布式的數(shù)據(jù)存儲、并行計算、后端數(shù)據(jù)倉庫,數(shù)據(jù)快速采集、離線數(shù)據(jù)分析等功能[10];搭建一套輕量級地理信息平臺,利用武漢局地理信息平臺中管界內的線路、車站和部分矢量、影像數(shù)據(jù),結合高德地圖部分空間數(shù)據(jù),構建基礎展現(xiàn)平臺。具體實現(xiàn)鐵路線路通過能力分析。平臺總體架構,如圖1所示。
圖1 運輸信息分析平臺總體架構圖
武漢局鐵路列車運行時刻圖大多采用AutoCAD軟件編制,有的甚至以JPEG/PNG等圖片格式提供。武漢局運輸信息分析平臺中的地圖展示部分功能則采用ArcGIS軟件來管理。將現(xiàn)有的圖片、AutoCAD格式的鐵路線路、站點等數(shù)據(jù),轉換到ArcGIS格式的數(shù)據(jù)。這個轉換過程就是大數(shù)據(jù)分析平臺地圖的制作過程,在這個過程中主要涉及到以下幾個方面。
(1)鐵路線路的矢量化:需要根據(jù)鐵路局提供的圖片、AutoCAD文檔,提取這些資料中的鐵路線路的數(shù)據(jù),并對其進行矢量化。
(2)鐵路站點屬性信息維護:需要對鐵路站點的屬性信息進行維護,包括鐵路站點的名稱、位置、等級、編號、所屬車務段,是否是分界口等。
(3)雙線鐵路的制作:需要根據(jù)鐵路線路數(shù)據(jù)的屬性,對雙向鐵路進行特殊的處理,以標明線路的上下行關系,在鐵路線路狀態(tài)展示以及列車于車輛軌跡展示過程中得到較好的效果。
(4)地圖配色:對地圖進行配色,確保色彩不要太過濃重,盡量選擇一些淺淡、素雅的顏色進行搭配,這樣對于使用者來說看起來比較舒服,不會有太刺眼的效果。
(5)地圖標注:需要對大數(shù)據(jù)分析平臺的站點信息,分界口信息等進行標注,標注放置得恰當可以使地圖更易理解且更為有用。
平臺地圖制作完成后,需要使用ArcGIS相關軟件發(fā)布地圖服務,以便Web應用能夠訪問到地圖服務。ArcGIS采用基于服務的地理信息共享模式,將SOA架構、WebServices等相關理念和技術應用到GIS中,服務端將GIS數(shù)據(jù)和功能以OGC標準服務對外發(fā)布,客戶端按照OGC的協(xié)議標準發(fā)送請求,通過調用服務端發(fā)布的服務,獲取所需的結果。
Web端應用系統(tǒng)開發(fā)使用Html/CSS、Javascript以及ArcGIS Javascript API等前端開發(fā)技術,通過大數(shù)據(jù)分析得到的關于鐵路運行狀況的可視化展示,主要包括:實時鐵路運行狀況圖展示,歷史鐵路運行狀況圖查詢與展示,車輛在站情況查詢,分界口狀態(tài)查詢展示,列車軌跡查詢展示和車輛軌跡查詢展示等。
本文嘗試對主要運輸信息系統(tǒng)進行數(shù)據(jù)分析,提取貨運相關數(shù)據(jù)(串聯(lián)車輛、列車、貨物的軌跡)并進行存儲。利用大數(shù)據(jù)分析方法構建Hadoop平臺對各種算法進行處理分析,設計了列車完整軌跡獲取算法、車輛完整軌跡獲取算法、貨物列車線路繁忙情況獲取算法、貨物作業(yè)停留時間和車輛中轉時間獲取算法,完成區(qū)間通過能力計算、車站平均作業(yè)效率分析、貨車車輛全流程監(jiān)控等功能。搭建輕量級的GIS平臺完成數(shù)據(jù)的基本展示。目前,平臺已基本建成,處于數(shù)據(jù)校驗和測試階段。