關鍵詞:鐵路數據;多源異構;數據匯聚平臺;ETL;數字化創新
中圖分類號:TP39 文獻標志碼:A 文章編號:1003-5168(2025)08-0019-09
DOI: 10.19968/j.cnki.hnkj.1003-5168.2025.08.004
Design and Implementation of Railway Data Aggregation Platform for Multi-source Heterogeneity
QI ChenhongLI Leiang XU Danya DING Yingchun LI Xiang (Information Technology Institute of China Railway Zhengzhou Bureau Group Co.,Ltd., Zhengzhou 450000,China)
Abstract:[Purposes]Railway data has the characteristics of massive dispersion and multi-source heterogeneity,and lacks unified standard specifications and sharing mechanisms,which poses great challenges for data value mining. Therefore,it is necessary to establish a centralized data aggregation platform for aggregation,storage,and management,providing a solid foundation for railway data applications.[Methods] Based on ETL and CDC technologies,a railway data aggregation platform for multi-source heterogeneity is jointly constructed using various methods such as timestamp tagging, WebService Client, and unstructured text parsing.[Findings] The platform has started trial operation at China Railway Zhengzhou Bureau Group Co.,Ltd.,which has gathered 4O types of business data and provided stable and efficient data aggregation services for 5 information systems.[Conclusions] This platform effectively meets the needs of data integration and application development for railway enterprises,and helps to continuously upgrade the digital innovationof railway business.
Keywords: railway data; multi-source heterogeneous; data convergence platform; ETL; digital lnnovation
0 引言
隨著鐵路行業的快速發展,數據已成為推動行業進步和創新的關鍵因素。鐵路行業經過數十年的信息化建設,在運輸組織、調度管理、客貨服務、綜合辦公、工程建設等多個關鍵領域已開發并部署了大量信息系統,以支撐各項業務。各業務系統在構建和使用數據管理工具的過程中,受技術、經濟等方面因素的制約,導致業務數據逐漸積累,分散存儲在不同的服務器上,形成多樣化的異構數據源。這些數據源因其多樣性和復雜性,不僅給數據的有效利用帶來了巨大挑戰,還提升了數據管理的難度[1]。
目前,在多源異構數據集成方面已有相關研究。劉琦通過設計并實現多源異構大數據平臺,有效地解決了公安機關信息系統中的數據壁壘問題,提升了數據的有效利用和偵查破案效率。王航通過設計并實現了一套多源異構數據整合系統,有效地解決了高校組織內部信息系統互不兼容、數據無法共享等問題,提高了系統性能及工作效率。肖宗陽4提出了一種多源異構大數據匯聚共享平臺的技術方案,包括數據匯聚、數據整合和大數據共享平臺架構設計等方面的關鍵技術。這些研究涵蓋技術理論、應用系統設計與實現等層面,相關技術已成功應用于地質[5]、農業[、醫學[7]、電力等行業領域,有效解決了不同行業領域數據類別多、質量差等問題,為后續數據分析挖掘、釋放數據價值提供了保障。
在鐵路行業,如何將多源異構數據匯聚與實際業務融合,指導各業務部門開展多源異構數據匯聚的相關研究相對欠缺。因此,本研究針對鐵路行業數據匯聚存在的問題,構建基于多源異構的鐵路數據匯聚平臺,涵蓋關系型數據庫、文檔型數據匯聚、非結構化數據匯聚的設計方法,實現對不同來源、不同類型數據的有效匯聚,不僅為鐵路企業提供了豐富、全面的數據資源,而且為數據共享和集成應用奠定了堅實的基礎。在此基礎上,鐵路企業可以更加高效地利用數據資源,推動數據資產管理效能的顯著提升,為鐵路行業的數字化轉型和智能化發展注入新的活力。
1數據匯聚平臺總體架構
開展數據匯聚能全面掌握數據資源情況,這不僅是構建資源目錄的重要支撐,而且是統一管理數據資源的關鍵途徑,同時為深人分析應用數據提供了必要條件。為充分發揮鐵路企業已有數據資源的價值,按照數據治理規范,將已有數據資源集中納入數據匯聚平臺進行統一管理,避免數據提供方與數據使用方之間進行點對點的反復操作。數據匯聚平臺實現對鐵路企業既有信息系統各類數據的統一采集、集中管理及按需訪問,為鐵路企業集成應用開發提供便利、高效的數據服務。
針對鐵路企業既有數據資產來源廣、數據源類型多種多樣等特點,本研究提出一個高效、靈活且可擴展的數據匯聚平臺解決方案,使數據源接入、數據采集、任務管理等功能獨立化,降低耦合度。同時,該平臺還支持多種數據源的接入和數據的實時采集、處理,方便鐵路企業實現數據的集中管理和有效利用,為鐵路企業集成應用開發提供便利、高效的數據服務。平臺系統技術架構如圖1所示。
根據數據源的特性,可將數據源分為結構化數據、非結構化數據及物聯網數據等。其中,結構化數據包括MySQL、Oracle、MongoDB等數據庫里的數據;非結構化數據包括各類文件數據,如HDFS中存儲的csv、xls、txt等格式的文件數據;物聯網數據主要是Kafka、Pulsar等消息隊列中的數據。
對不同類型的異構數據源,數據源接人層會提供不同的接人方式。結構化類型的數據源采用JDBC的方式進行連接,文件類型和物聯網類型的數據源通過相應的客戶端(如JavaAPI、Kafka客戶端庫Kafka-client、Pulsar客戶端庫Pulsar-client)來實現連接。平臺支持采用通道加密技術保護數據源連接的安全性,同時會對數據源配置進行加密處理,進一步增強數據源的安全性。
數據采集層通過ETL處理和實時流處理的方式動態獲取數據。對于實時性較低的數據,通常采用ETL技術實現全量式的采集;對于實時性較高的數據庫數據和物聯網數據,主要采用Flink和ApacheInlong實現數據全量和增量采集。
數據存儲層將HBase用作數據匯聚的目標端。HBase具備以下優勢:支持多種不同的數據類型;采用了列式存儲以及分布式架構,橫向擴展來處理大規模數據;采用MySQL協議通信,高度兼容MySQL語法,降低學習難度;支持豐富的索引結構,減少數據掃描,查詢性能高等。
任務管理層為統一管理不同匯聚任務及調度功能管理的項目、數據源等信息,設計任務調度中心以保證平臺可以統一查看和管理任務,可對接入數據進行實時監控,對于異常接入數據配有報警服務。

數據服務層響應數據使用方應用的數據訪問請求,從平臺的鐵路業務數據庫中讀取數據后提供給數據使用方。當用戶調用數據訪問接口服務時,會實施一系列安全措施,采用身份認證、訪問控制、權限控制等方式,為服務調用過程提供安全防護,降低數據泄露和非法訪問風險,提高平臺服務調用的安全性。
2 相關技術
不同類型的數據源要使用不同的數據匯聚工具。本研究使用CDC(ChangeData Capture)技術實現對關系型數據庫全量和增量的數據采集;使用ETL(ExtractTransformLoad)技術實現對不同消息隊列的物聯網數據和文檔型數據的采集。
2.1 ETL技術
在數據匯聚過程中,數據可能以不同方式來自不同用戶,數據內容、數據格式和數據質量也千差萬別。有時數據格式無法轉換,或在數據轉換后信息丟失,嚴重阻礙了業務部門和應用系統中的數據匯聚。因此,有效地整合數據已成為提高業務競爭力的必然選擇。
ETL技術在復雜的數據匯聚場景中發揮著重要作用,是實現數據匯聚的主要方法。ETL技術具備強大的數據提取能力,能從各種異構數據源中精準地捕獲所需的數據,主要負責從分布式數據、圖形數據文件等關系數據以及異構數據源中提取到臨時中間層進行數據清理、轉換和集成。最終,數據會被加載到數據倉庫或數據集市中,為在線分析處理和數據挖掘提供堅實的基礎。
一個設計良好的ETL流程可從數據源系統中提取數據、執行數據質量和一致性標準檢查,并對數據進行規范化處理。ETL過程包含三個核心階段,即提取、轉換和加載,從數據源系統中提取目的數據系統所需的數據,根據業務需要將數據轉換為目的數據源所需的形式,處理錯誤和不一致的數據,最終將轉換后的數據加載到目的數據源中。
2.2 CDC技術
在數據匯聚過程中,為滿足對低延遲和實時性有著較高要求的場景需求,多源數據實時匯聚技術應運而生。CDC技術核心在于監控并捕捉數據庫中的變化,包括數據的插入、更新及刪除等操作。該技術能夠記錄源數據庫(Source)的增量變化,并將這些變化同步到一個或多個數據接收端(Sink)。在同步過程中,還可執行數據的分組(通過GROUPBY操作)及多表關聯(JOIN操作)等處理
CDC技術可分為基于查詢的CDC技術和基于日志的CDC技術?;诓樵兊腃DC技術通過定期查詢來檢測數據變化,但這種方式可能無法準確捕捉到兩次查詢之間被刪除的數據,從而導致數據有丟失的風險;基于日志的CDC技術能實時捕捉所有數據的變更情況,其被廣泛運用于異地容災、數據備份等場景中,且每次DML操作均有記錄,具有高效的數據處理能力和實時性,且不會給數據庫帶來額外的負載?;谌罩镜腃DC在使用過程中不會對業務造成干擾,可以實現業務之間的解耦,無須更改業務模型[8]。業界常見的CDC數據同步工具有Canal、Sqoop、Kettle、DataX、Flink CDC、ApacheInLong等。常見開源CDC方案對比見表1。
Canal主要依賴于解析數據庫的增量日志,提供增量數據的訂閱和消費功能。目前,Canal主要適用于MySQL(同時也支持MariaDB),是一個專注于同步增量數據的工具,不支持數據的全量同步。
Sqoop是一個在關系型數據庫(如Oracle、MySQL、PostgreSQL等)和ApacheHadoop生態系統(包括HDFS、HBase等)之間進行批量數據遷移的工具,但其不支持斷點續傳[9]。
Kettle是一款開源的ETL工具,允許用戶通過圖形化的界面輕松地進行數據的抽取、轉換和操作。其支持多種數據源,并提供豐富的轉換和加載組件,使用戶能高效處理數據。
DataX是阿里巴巴開發的一套開源的、插件式的離線數據交換工具,可以在各種異構數據源之間實現高效的數據交換[10]。然而,其不支持增量同步和斷點續傳,且在高并發數據交換場景下對機器內存要求較高。
FlinkCDC是一個功能強大的工具,其支持多種數據源的數據采集,既支持全量數據的獲取,也支持動態增量數據的獲取[1。全程無鎖的設計避免了對線上業務產生鎖的潛在風險。
ApacheInlong是一站式、全場景的海量數據集成框架,同時支持數據接入、數據同步和數據訂閱,具有自動、安全、可靠和高性能的數據傳輸能力,方便業務構建基于流式的數據分析、建模和應用。
ApacheInlong支持多種數據源和協議,可以輕松地接入各種類型的數據,并進行實時的處理和分析。此外,其還支持斷點續傳和全量階段的checkpoint,確保數據的完整性和一致性。綜合以上分析,本研究選擇ApacheInlong作為主要的實時數據采集工具。
3多源異構數據匯聚設計
數據匯聚的總體策略是在不影響業務系統運行的前提下,采用歷史數據單次全量抽取,增量數據采用時間戳標記、WebService、CDC技術、非結構化文本解析等增量抽取方法,實現多源異構數據的增量匯聚。在增量數據匯聚時,可采取多種方法聯合使用,協同工作,優劣互補,以提高抽取性能。
3.1基于時間戳和ETL的關系型數據匯聚設計
鐵路行業領域內數據源眾多,包括列車運行監控系統、票務系統、安檢系統、貨物追蹤系統及基礎設施維護系統等。這些數據源產生的數據,如列車時刻表、票務信息、安檢記錄、貨物追蹤信息及鐵路設施狀態等,均要匯聚到關系型數據庫中。在數據匯聚過程中,有時需要對不同業務系統的數據進行合并、轉換,并形成完整的數據記錄,且映射到的關系型表沒有時間戳,給數據匯聚帶來了一定的難度。
為解決上述不同業務系統數據實時匯聚問題,經業務數據表結構分析,采用時間戳(業務時間)和ETL增量數據處理方式。歷史數據通過ETL單次全量匯聚;增量數據每天增量更新到ODS(Opera-tionalDataStore);更新頻率根據業務系統數據的特征制定,數據范圍為當天所有數據。由于源數據庫未記錄時間戳,且部分表數據存在物理刪除操作,因此,根據業務時間采用ETL增量更新時可能會造成數據丟失或增加。通過對數據進行驗證來判斷各個數據源的具體更新、刪除情況。基于驗證結果,定期進行數據修復操作,最大程度減少數據誤差?;跁r間戳和ETL的關系型數據匯聚流程如圖2所示。


3.2 基于WebService的文檔型數據匯聚設計
鐵路行業有多個基于文檔的數據管理系統,如鐵路運營管理系統、列車維護記錄系統、乘客服務信息系統等。這些系統采用多種格式存儲文檔數據,包括文本文件、XML文件、自定義文檔格式或關系型數據庫中的Blob字段。這些文檔數據涵蓋了列車運營記錄、維護日志、乘客投訴與建議、安全事件報告等多個應用場景。為了滿足跨系統數據共享和分析的需求,需要將這些文檔數據在數據匯聚的過程中標準化為統一格式。
源系統通過WebService接口提供文檔型數據,由WebServiceClient調用接口獲取原始數據,DataAnalysis模塊解析HTML或XML格式的數據,ChangeSQL模塊轉換為標準數據庫操作語句,最終將處理后的數據寫入ODS層數據表。同時,由ETLDB記錄處理日志,包括運行狀態和錯誤信息,為后續的監控和問題排查提供依據。基于WebService的文檔型數據匯聚流程如圖3所示。

3.3基于CDC和ETL的非結構化數據匯聚設計鐵路行業數據類型具有多樣性的特點,其中,大量信息系統中存在非結構化數據。如在鐵路信號控制系統和列車調度系統中,部分數據以結構化形式存在(如列車信息和調度指令等),部分數據以非結構化文本形式存在(如設備狀態的描述文本)。
在數據匯聚流程中,列車信息、調度指令等結構化數據,基于關系型數據庫支持日志文件分析特點開啟歸檔日志服務,采用CDC增量抽取方式實時匯聚到ODS數據表中。而設備狀態描述文本等非結構化文本數據,則采用基于文本解析的相關數據匯聚流程。通過ETLEngine的Dataanalysis進行分析,按照文件模板標識提取csv、excel、dbf文件中的增量數據,根據模板中字段對應關系匯總成增量ChangeSQL,最終使用ChangeSQL完成ODS的增量數據匯聚?;贑DC和ETL的非結構化數據匯聚流程如圖4所示。

4多源異構數據匯聚應用
根據中國鐵路鄭州局集團有限公司業務數據匯聚需求,本研究從數據匯聚的實時性要求方面,開展業務數據的匯聚工作。
4.1基于ETL的可視化數據采集配置
對實時性要求相對較低的數據,可采用Kettle、DataX等ETL工具,從集團公司各業務部門提供的API接口中匯聚數據,實施必要的格式化轉換處理,根據業務系統數據的特征制定更新頻率,最終將數據匯聚到數據倉庫中。
基于ETL數據集成工具具有可視化的數據采集配置界面,該界面支持平臺管理員通過拖拽的方式來完成數據采集流程的配置操作,使數據采集流程的配置過程更加清晰易懂,提高工作效率。這種可視化配置方式使得平臺可配置的數據采集流程具備優良的可擴展性,有利于后續增加更多新的數據處理邏輯??梢暬瘮祿杉渲玫闹鹘缑嫒鐖D5所示,主要由組件庫、設計區及工具欄等部分構成。
組件庫包含從數據輸入、輸出、轉換到各種數據處理功能的全方位需求。此外,組件庫還提供了字段選擇、記錄過濾、排序、計算以及調用數據庫存儲過程等高級功能,使得用戶能夠靈活構建復雜的ETL流程。通過簡單的拖放操作,用戶可以從組件庫中選取所需組件,快速搭建起滿足特定業務需求的ETL任務。
設計區用戶可直觀看到整個ETL流程的布局和各個組件之間的連接關系。設計區提供了清晰的工作界面,包括主對象樹、核心對象列表及工作區域。用戶可在工作區域內自由添加、配置和連接組件,通過線條或箭頭定義數據的流動方向和處理邏輯。
工具欄提供一系列常用的操作按鈕和菜單項,方便用戶進行快速訪問和操作。通過工具欄,用戶可以輕松完成ETL流程的新建、編輯、保存和執行等操作,同時還可以實時監控和優化ETL任務的執行過程。
平臺提供的便捷的任務分類和定時策略維護功能如圖6所示。該功能使管理員能靈活配置任務的執行時間,支持定義解析cron表達式,定義任務的觸發條件,如每天、每周或每月的某個時間點執行以及是否需要在特定條件下重復執行,以滿足不同的業務需求,并對各項任務的執行情況進行監控。
4.2基于CDC的實時數據采集配置
對實時性要求相對較高的數據,可通過配置CDC工具來應用集團公司各業務部門定義的捕獲規則,確保捕獲到的數據變更符合業務要求,并將這些變化的數據匯聚到數據倉庫中。
為了確保數據的安全性,業務部門需要從平臺申請下載CDC工具,并根據自身需求來自定義配置需要匯聚的數據表及字段,明確具體的數據范圍和內容,確保數據通過消息隊列發送到統一接口,為后續數據匯聚到數據倉庫奠定基礎。如果需要對變動的數據進行處理,可以傳輸到ETL流程進行數據處理,最終將處理后的數據加載到數據倉庫中。數據倉庫的多種CDC工作方案如圖7所示。



采用CDCConnectors工具采集結構化數據庫數據時,通常需要針對每種數據源單獨引入特定的CDCConnector。這不僅要引人相應的依賴,還要編寫特定代碼,容易導致依賴沖突和代碼冗余。為解決此問題,并提升平臺的擴展性和通用性,本研究設計了一個適用于多種數據庫類型的數據源采集適配器。通過對多個CDCConnector源碼的深入分析,重構了現有Connector,以實現更加簡潔、高效的數據變更捕獲機制。首先,將多個Connector中的通用功能進行抽象;其次,針對每種數據庫的特定邏輯,如binlog/debezium格式的解析,進行相應的整合設計;最后,構建一個通用的CDCConnector,使之能夠適配多種數據庫系統,進而簡化數據同步流程。同時,平臺為適配器提供靈活的配置功能,通過配置文件來配置數據源信息、自標端信息及所須執行的SQL查詢語句等內容。采用配置文件的形式能夠靈活地對數據源和數據處理邏輯進行配置,為后續的管理與擴展提供便利。數據采集適配器配置文件的部分內容見表2。在數據同步任務運行時,通過解析任務運行參數或對應的配置文件內容,動態地選取采集數據的方法,執行相應的數據處理操作,并將處理后的數據同步至目標端
平臺為管理員提供了一個全面的視角來監控和管理數據匯聚任務,通過數據接入面板,可以看到關于管理任務總數、任務成功調度次數等具體信息。這些信息不僅展示了數據匯聚任務的完成情況,而且反映了平臺在數據集成方面的能力。此外,平臺還充許用戶按照項目名稱、數據內容分類及數據集成活動分類來篩選和查看數據匯聚任務,為管理員提供了更加靈活、便捷的操作方式。數據接入面板如圖8所示。
5結語
本研究針對鐵路企業既有數據來源廣、數據源類型多種多樣等特點,提出基于多源異構的鐵路數據匯聚平臺。通過采用增量時間戳、CDC、WebSer-vice,并結合ETL技術進行增量抽取,實現對鐵路多源異構數據的采集、處理及集中存儲,完成對鐵路企業數據資產的規范化集中管理,較好地滿足鐵路企業數據匯聚的需要,也為鐵路企業大數據應用構建起堅實的基座。
后續會根據鐵路業務數據匯聚過程中產生的問題及新的需求,持續優化基于多源異構的鐵路數據匯聚方案。隨著鐵路業務數據的規模不斷增大、應用領域持續拓展,需要集中處理和存儲的數據類型也會越發豐富多樣。因此,需要不斷結合具體的業務場景,對多源異構數據的匯聚與集成進行更深入的探究,構建并完善數據采集、處理、集成的機制,更大限度地挖掘鐵路企業數據資產的價值,為推動鐵路業務融合創新以及大數據應用開發創造有利條件,助力鐵路運輸生產信息化賦能與業務數字化創新不斷邁向新臺階。



參考文獻:
[1]王苗苗.企業數據治理平臺的設計與實現[D].西安:西安電子科技大學,2021.
[2]劉琦.多源異構大數據平臺的建設及應用[J].軟件工程,2021,24(10):54-58.
[3]王航.多源異構數據整合系統的設計與實現[D].成都:電子科技大學,2020.
[4]肖宗陽.多源異構數據治理平臺設計與實現D].北京:北京郵電大學,2019.
[5]袁振宇,安哲立,馬偉斌,等.融合多源異構信息的隧道圍巖智能分級方法探索[J].隧道建設(中英文),2023,43(3):429-440.
[6]王大正,任博,劉珠明.不同類型農情監測系統間數據共享方案研究[J].中國農機化學報,2019,40(12):154-159.
[7]李寅昊,黎成權,劉林威,等.多源異構醫學數據的集成和學習[J].現代醫學與健康研究電子雜志,2022,6(6):82-89.
[8]岳潔.面向大數據征信的數據治理系統的研究與實現[D].北京:北京郵電大學,2022.
[9]KUMARUK,SRINIVASUNVS,NACHAPPANM.Sqoop usage in hadoop distributed file system and observationsto handle common errors[J].International Journal ofRecent TechnologyandEngineering(IJRTE),2020,9(4):452-454.
[10]COVIELLOG,RAOK,SANKARADASM,etal.DataX:asystemfordataeXchangeandtransformation ofstreams[C]//International Symposium on Intelligent and Distributed Computing.Cham:Springer International Publishing,2021:319-329.
[11]WUSL,CUIBY,ZHANGYQ.Application ofreal-time big data technology in complex power engineeringmanagement[C]//2023 8th International Conference on DataScience inCyberspace(DSC).IEEE,2023:526-532.