宋宗瑩,王文斌,劉子揚,周 瑾,劉永壯
(1.中國神華能源股份有限公司,北京 100011;2.北京全路通信信號研究設計院集團有限公司,北京 100070)
重載鐵路運輸在鐵路運輸中擁有獨有的技術和經濟優勢,因此在貨運發達國家和地區的貨物運輸中占據重要地位,節能、高效成為其主要發展方向[1]。參考發達國家重載鐵路相關技術發展情況,這些國家通過研制大軸重和輕量化的車輛技術、大功率交流傳動機車技術、長大編組重載列車及其配套技術、多聯車組技術等來提高重載列車的運輸效率,保障列車運行安全。
調度信息系統在重載鐵路運輸生產組織工作中積累了大量一線生產數據和各類統計信息,隨著調度信息系統日益深入調度指揮各個環節,用戶對海量數據綜合分析、深度挖掘和提煉加工的需求越來越迫切,通過數據驅動業務、挖掘知識和輔助決策已經成為調度系統演進的必由之路。大數據技術可以幫助企業或組織快速獲取、整合和分析海量數據,從而更好地洞察市場變化、消費需求、行業趨勢等信息,支持企業制定決策,促進精細化管理[2-3]。為一線運輸生產服務的調度信息系統所積累的數據除了具備傳統大數據的特征外,還具有業務覆蓋全、時空分布廣、更新速度快、數據關聯強、業務價值高等自身行業特點,具備進一步開展大數據研究的基礎。
重載鐵路不同于普通鐵路,在承載能力、結構設計、裝卸設備、線路規劃及安全性等方面存在巨大區別,體現在運輸組織上,重載鐵路運輸業務具有如下特點[4]。
1)運輸方式:重載鐵路主要用于運輸重量大、體積大的貨物,通常采用整列貨運的方式。普通鐵路則更多用于人員和小批量貨物的運輸,可以采用零散貨物運輸的方式。
2)運輸時間:重載鐵路的貨物運輸時間較長,一般需要較長的交通時間和物流時間。而普通鐵路則通常用于貨物和人員的短途運輸,可以快速到達目的地。
3)運輸場站和設備:重載鐵路需要建設更多的運輸場站和裝卸設備,以應對大規模貨物的裝卸需求。普通鐵路則更多用于城市內部的通勤和短途運輸,需要建設的設施和裝備相對較少。
4)運輸成本:由于重載鐵路使用的是整列貨運的方式,需要更多的人力和運輸設備,因此其運輸成本更高。而普通鐵路則因為交通時間較短、運輸規模較小,其運輸成本相對較低。
調度信息系統自正式上線以來,已經累積產生約900 GB 的數據,并以每月平均80 GB 的數據量繼續快速增長。由于重載鐵路與普通鐵路存在差異,導致其數據具有體量巨大、分布廣泛、結構復雜、數據處理和分析需求多樣化以及對數據分析和預測精度要求高的特點[5],針對上述特點,需要在設計和規劃重載鐵路運輸大數據平臺(以下簡稱平臺)過程中進行有針對性的優化和改進。
本文設計的重載鐵路運輸大數據分析平臺是在既有鐵路調度信息系統基礎上專門針對數據分布式存儲、計算、分析與可視化的需求進行功能的提升和擴展,屬于鐵路調度系統功能增強的一部分,其業務服務前后臺軟件基于既有調度信息系統的基礎設施和體系架構進行開發,前端頁面通過端口調用方式集成在調度信息系統的主頁面框架中。平臺總體系統架構如圖1 所示。

圖1 重載鐵路運輸大數據分析平臺總體系統架構示意Fig.1 Schematic diagram of the overall system architecture of the heavy-haul railway big data analytics platform
平臺沿用既有調度信息系統的整體服務架構,采用基于前后分離技術的B/S 架構進行開發,在調度信息系統的應用服務域內部署大數據服務程序,并通過嵌入方式將大數據可視化平臺的頁面集成到調度信息系統前端大數據業務頁面中。平臺服務程序沿用既有調度信息系統的基礎組件,采用與調度信息系統相同的認證授權、用戶操作記錄、工具類等跨服務應用公共組件,保證跨服務接口調用的一致性,實現與調度信息系統服務的融合。
為了承載平臺并提高平臺資源的配置靈活性,平臺引入硬件虛擬化層并采用分層設計,從底層硬件向上分為3 層設計,如圖2 所示。

圖2 重載鐵路運輸大數據平臺3層架構示意Fig.2 Schematic diagram of the three-layer architecture of the heavy-haul railway big data analytics platform
1)硬件層:主要包括服務器設備和網絡基礎設施,需要在信息機房進行安裝和調試,為虛擬化層提供基礎硬件。
2)虛擬化層:主要包括虛擬化集群,為大數據集群層提供虛擬機節點和虛擬化網絡能力。
3)大數據集群:根據規劃建立管理節點和工作節點虛擬機,并在虛擬機上配置大數據軟件棧,為數據應用層提供大數據處理能力。
平臺應用架構如圖3 所示。

圖3 重載鐵路運輸大數據平臺應用架構Fig.3 Application architecture diagram of the heavy-haul railway big data analytics platform
1)數據源
調度信息系統生產與日志數據作為大數據處理和分析的主要數據來源,根據實際功能需求以批式或流式同步到大數據平臺的存儲層。
2)數據存儲層
從數據源可使用Sqoop 批式地將關系型數據庫存儲的數據抽取并落入HDFS 集群中,部分數據需要一次性全量抽取(如字典表),部分數據需要周期性地增量抽取(業務數據表)。實時數據同步主要通過mq 消息和kafka 任務將生產系統中的實時數據流落入HDFS 集群中。大數據平臺存儲層主要通過分布式技術實現大數據的存儲和多副本備份,以支持后續進行大數據分析和建模。
3)數據處理加工層
基于數倉工具Hive、大數據計算框架Spark完成各模塊各類信息的篩選、分類、去重、過濾、格式轉換、數據解析等處理和計算過程。源數據通過處理加工,形成規范的數據倉庫,保障各模塊數據一致性,同時提高數據分析和建模任務的效率。因為鐵路運輸運營流程多、邏輯復雜,數據的加工和處理結合了分布式任務調度系統工具Dolphin Scheduler,用于解決數據處理流程中錯綜復雜的依賴關系,可以管理任務處理流中各環節數據處理任務的完成情況,觸發下游子任務開始執行,并負責當某個任務執行失敗后進行重新執行。
4)數據服務層
平臺集成了基于網頁的交互式數據分析工具Zeppelin、可進行高速和實時數據查詢的工具Trino、可視化工具Superset 和帆軟,同時安裝了Python 與Java 的開發環境。通過Zeppelin 的web 界面可使用SQL、Python、Scala 等多種語言對數據進行實時查詢、聯機分析處理、可視化了解數據趨勢。
5)數據應用層
基于大數據平臺架構和基礎能力,實現各模塊的數據分析與應用功能。本系統主要包含5 類數據功能應用:指標管理、行為分析、提前預警、趨勢分析、結構分析和決策優化。基于多個業務主題的數據,通過分析、挖掘、可視化和算法應用,深入了解重點業務環節關鍵指標隨時間的變化規律和隨空間區域的分布特點,實現針對不同業務領域的數據建模。數據應用層的結果借助Superset 和帆軟形成的統計報表、數據分析看板和可視化大屏,集成在調度信息系統的前端,與調度信息系統作為一個產品展示給用戶。
隨著信息基礎設施完善和互聯網服務跨越式發展,信息系統數據經歷了爆發式增長,傳統數據庫技術已經無法滿足海量數據處理需求,大數據技術開辟出新的技術路徑,逐步形成兩個主要的技術架構流派。
1)基于Hadoop 并行計算框架的分布式架構[6]
Hadoop 是一個開源的分布式計算平臺,可以處理大規模數據集。由于其高效、可擴展、容錯性強等特點,Hadoop 已成為大數據處理的重要工具之一。
2)由數倉技術發展而來的大規模并行處理(Massively Parrallel Processing,MPP)架構[7]
MPP 采用分布式架構,將數據或任務均勻分配到計算集群的多個節點上進行處理,最終將結果合并返回。
基于Hadoop 和MPP 的特性,二者是互為補充的關系[8],重載鐵路運輸大數據分析平臺可以采用MPP 和Hadoop 混合架構來實現更高效的數據處理和分析。通過對平臺異構數據源深入分析,可以充分利用Hadoop 和MPP 框架二者優勢,通過利用MapReduce 從Hadoop 平臺處理大量原始數據,并將加工后的數據直接存儲入數據倉庫中,避免重復進行復雜緩慢的ETL 過程,數據分析和建模可以直接加載數據倉庫數據,提高數據處理和分析的速度和效率。基于Hadoop 和MPP 混合架構的重載鐵路運輸大數據分析平臺技術架構如圖4 所示。

圖4 基于Hadoop和MPP混合架構的重載鐵路運輸大數據平臺技術架構Fig.4 Technical architecture diagram of the heavy-haul railway big data analytics platform based on Hadoop and MPP hybrid architecture
為了提高大數據處理速度,解決大數據平臺數據不均衡的問題以及更好地展示加工處理后的結果,重載鐵路運輸大數據分析平臺關鍵技術包括以下幾個方面。
1)基于混合架構的分布式大數據分析平臺設計
在這種混合架構中,數據可以基于MPP 技術存儲和處理,同時還可以使用Hadoop 基于MapReduce 的計算模型進行數據分析。MPP 用于快速響應與數據倉庫的查詢請求,而Hadoop 則用于離線批量處理和高級分析。平臺選用的MPP 組件Trino 是一個基于內存的MPP 計算引擎,通過并行計算結合內存計算的方式,可以大大提高計算速度,并通過剪枝、謂詞下推等優化,達到大數據量計算任務的秒級響應。同時通過利用Trino 就地分析技術,可以不需要復制數據直接在Hadoop、Hive、MySql 等異構數據源上進行分析和聯合查詢,大大提升了平臺的多數據場景下混合處理能力。
2)高性能數據查詢技術
在重載鐵路大數據分析的場景中,多維分析一般都會帶有過濾條件。對于這種類型的查詢,尤其是在高基數字段上的過濾查詢,可以在讀取數據的時候跳過所有不相關的數據,只讀取極少部分需要的數據,通過查詢引擎和存儲緊密結合,把過濾條件下推至存儲訪問層。為了有效提升數據查詢性能,平臺主要從兩個方面進行優化:一是通過數據組織分布、索引等技術支持更高效的data skipping,避免訪問不必要的數據;另一方面,通過物化視圖/Cube 等與計算技術,提前計算好結果,直接相應查詢。
3)數據稀疏情況下的分析與建模技術
大數據平臺在分析重載鐵路指標的部分場景下會面臨數據不均衡、數據稀疏的問題,對此在算法開發過程中,通過數據增強、使用弱標記或無標記樣本、生成模型來增多訓練樣本,或者使用多任務學習、嵌入學習等方式借用其他相似任務中的知識來縮小模型的搜索空間,解決低頻業務造成的數據稀疏問題。
4)業務數據可視化技術
基于大數據平臺,融合數據BI 技術與鐵路貨運業務邏輯,將數據進行有效提取、智能分析并進行可視化呈現,起到切實反應業務運營情況、支持業務決策和改進的作用。通過提供常用模板并支持各種自定義主題、樣式和頁面布局,基于前端組件化封裝的設計思路,支持用戶個性化調整頁面布局并切換數據可視化樣式。
基于本文提出的重載鐵路運輸大數據分析平臺設計方案,已經在國家能源投資集團有限責任公司開展了大數據分析平臺軟硬件搭建,經過聯調和配置,已打通和調度信息系統的數據通道并在Superset 平臺上發布了機車模塊業務看板、貨運模塊業務看板和車站業務模塊看板功能,后續將進一步實現列車模塊業務看板、施工模塊業務看板等更多功能。隨著更多功能的完善,會開放給更多部門和崗位的用戶進行試用,推進大數據技術在重載鐵路貨運領域的深入應用。