鄒 丹,馬小寧,王 喆
(中國鐵道科學(xué)研究院集團(tuán)有限公司 鐵路大數(shù)據(jù)研究與應(yīng)用創(chuàng)新中心,北京 100081)
隨著信息采集手段的不斷發(fā)展,不同來源、不同類型的數(shù)據(jù)呈現(xiàn)指數(shù)級的爆發(fā)式增長[1]。政府、金融、餐飲、電力等行業(yè)都紛紛進(jìn)入大數(shù)據(jù)的實用階段[2]。對于鐵路行業(yè)來說,各專業(yè)都在積極探索大數(shù)據(jù)應(yīng)用,例如:客運專業(yè)在利用大數(shù)據(jù)構(gòu)建客運產(chǎn)品360°立體畫像[3]、工務(wù)專業(yè)搭建了“數(shù)字工務(wù)”平臺提高設(shè)備設(shè)施維修的管理水平等[4],但是由于各系統(tǒng)分散建設(shè),目前,還缺乏能夠跨專業(yè)、跨領(lǐng)域的大數(shù)據(jù)分析。本文旨在設(shè)計一種更合理的鐵路大數(shù)據(jù)架構(gòu)模式,使鐵路數(shù)據(jù)在集中管理后,能夠統(tǒng)一存儲、綜合管理、有效利用,能夠使各專業(yè)除了分析本專業(yè)的數(shù)據(jù),還能夠疊加利用其它專業(yè)數(shù)據(jù),從數(shù)據(jù)層面挖掘潛在的經(jīng)濟(jì)效益,更好地發(fā)揮數(shù)據(jù)價值,提升鐵路的綜合競爭力。
(1)缺乏數(shù)據(jù)集中管理
在鐵路信息化建設(shè)逐步發(fā)展的過程中,各專業(yè)根據(jù)自身業(yè)務(wù)需求建設(shè)了大量的信息系統(tǒng)。然而各系統(tǒng)之間多為隔離狀態(tài),數(shù)據(jù)資源分散在各個數(shù)據(jù)孤島之中,業(yè)務(wù)系統(tǒng)間無法進(jìn)行數(shù)據(jù)的交互和統(tǒng)一管理[5]。
(2)缺乏企業(yè)數(shù)據(jù)視圖
由于鐵路數(shù)據(jù)沒有集中管理,所以目前尚未形成統(tǒng)一的企業(yè)視圖。大數(shù)據(jù)的價值體現(xiàn)在多系統(tǒng)數(shù)據(jù)的融合和跨行業(yè)數(shù)據(jù)的聯(lián)合分析,沒有統(tǒng)一的企業(yè)視圖就很難實現(xiàn)數(shù)據(jù)的融合與分析。
(3)數(shù)據(jù)處理技術(shù)和架構(gòu)不能滿足需求
大數(shù)據(jù)由于數(shù)據(jù)量大、數(shù)據(jù)類型多,需要新型數(shù)據(jù)分析技術(shù)的支撐,目前鐵路還是以傳統(tǒng)的關(guān)系型數(shù)據(jù)庫處理技術(shù)為主,缺乏更高效的數(shù)據(jù)處理機(jī)制和開展大數(shù)據(jù)應(yīng)用的數(shù)據(jù)架構(gòu)模式[5]。
(1)平臺架構(gòu)需要完成數(shù)據(jù)集成整合的任務(wù),打破各應(yīng)用系統(tǒng)間的數(shù)據(jù)壁壘,形成數(shù)據(jù)資源的全景視圖;
(2)平臺架構(gòu)考慮需要滿足數(shù)據(jù)大容量、高可用、高擴(kuò)展要求;
(3)架構(gòu)設(shè)計滿足海量多源復(fù)雜數(shù)據(jù)存儲、計算要求;
(4)支持實時分析、動態(tài)資源共享。
為了解決鐵路大數(shù)據(jù)目前面臨的問題,提出了面向鐵路數(shù)據(jù)的大數(shù)據(jù)平臺架構(gòu),目的是為了實現(xiàn)數(shù)據(jù)集中管理,并用大數(shù)據(jù)的理念和方法實現(xiàn)數(shù)據(jù)的高效處理。架構(gòu)模式分為3層,如圖1所示。(1)數(shù)據(jù)獲取層,基于不同的數(shù)據(jù)源,區(qū)別結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),采用不同的采集方式和采集頻度完成數(shù)據(jù)集中;(2)數(shù)據(jù)處理層,完成數(shù)據(jù)的預(yù)處理,對采集數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換、加載,完成數(shù)據(jù)的顆?;幚?,形成鐵路數(shù)據(jù)分類,實現(xiàn)數(shù)據(jù)的存儲與計算分析[6];(3)數(shù)據(jù)服務(wù)層,以服務(wù)或組件等多種方式為應(yīng)用方提供業(yè)務(wù)應(yīng)用、數(shù)據(jù)分析和商業(yè)智能(BI)報表等智能決策支持。
圖1 鐵路數(shù)據(jù)架構(gòu)分層模式
鐵路大數(shù)據(jù)平臺的數(shù)據(jù)獲取層,任務(wù)是進(jìn)行數(shù)據(jù)采集,完成鐵路數(shù)據(jù)的集中管理[5]。采集過程為:(1)確定與大數(shù)據(jù)平臺對接的數(shù)據(jù)源;(2)明確數(shù)據(jù)采用哪種采集技術(shù);(3)根據(jù)數(shù)據(jù)源特點和制定采集方案。
2.1.1 數(shù)據(jù)源
鐵路大數(shù)據(jù)的數(shù)據(jù)來源包括路內(nèi)業(yè)務(wù)系統(tǒng)數(shù)據(jù)和來自其他行業(yè)的數(shù)據(jù)、互聯(lián)網(wǎng)數(shù)據(jù)、物聯(lián)網(wǎng)數(shù)據(jù)和其他數(shù)據(jù)等。(1)鐵路業(yè)務(wù)系統(tǒng)數(shù)據(jù)指來自鐵路行業(yè)的基礎(chǔ)數(shù)據(jù)、戰(zhàn)略決策數(shù)據(jù)、運輸生產(chǎn)數(shù)據(jù)、經(jīng)營開發(fā)數(shù)據(jù)、資源管理數(shù)據(jù)等;(2)外部數(shù)據(jù)指與鐵路運輸、安全等相關(guān)的天氣數(shù)據(jù)、地質(zhì)數(shù)據(jù)、災(zāi)害預(yù)警數(shù)據(jù)、綜合交通類數(shù)據(jù)等;(3)互聯(lián)網(wǎng)數(shù)據(jù)是海量社交網(wǎng)絡(luò)信息、鐵路熱點話題、搜索平臺相關(guān)信息等;(4)物聯(lián)網(wǎng)數(shù)據(jù)包括傳感器、射頻識別(RFID)等設(shè)備采集的數(shù)據(jù);(5)其他數(shù)據(jù)指能夠參與數(shù)據(jù)關(guān)聯(lián)分析、參與深度挖掘等大數(shù)據(jù)分析、計算過程的數(shù)據(jù)。數(shù)據(jù)類型既包括結(jié)構(gòu)化的數(shù)據(jù)庫表、數(shù)據(jù)文件,也包括非結(jié)構(gòu)化的視頻、圖像、文本等。
2.1.2 數(shù)據(jù)采集技術(shù)
數(shù)據(jù)源中需要采用不同的數(shù)據(jù)抽取方式,常用數(shù)據(jù)采集工具,如表1所示。
(1)對于業(yè)務(wù)應(yīng)用系統(tǒng)中的數(shù)據(jù),可采用分布式ETL工具將關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到Hadoop分布式文件系統(tǒng)(HDFS)中,如Sqoop和Kettle等;
(2)對 于 圖片、音頻、視頻和日志等非結(jié)構(gòu)化數(shù)據(jù),可通過 FTP、SFTP、Chukwa等方式進(jìn)行交換處理[7];
(3) 對 于 實時流式類數(shù)據(jù),可通過分布式的海量日志系統(tǒng)Flume和高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)Kafka進(jìn)行采集、聚合和傳輸;
(4)對于外部網(wǎng)頁數(shù)據(jù)可以采取網(wǎng)絡(luò)爬蟲方式進(jìn)行爬取。該方法可按照一定規(guī)則,自動地抓取網(wǎng)頁非結(jié)構(gòu)化數(shù)據(jù),并將其存儲為結(jié)構(gòu)化數(shù)據(jù)文件,同時支持圖片、視頻等文件的采集并進(jìn)行自動關(guān)聯(lián)。
表1 數(shù)據(jù)采集工具
2.1.3 數(shù)據(jù)采集方案
針對不同數(shù)據(jù)源以及不同應(yīng)用的分析要求,需要制定不同的采集方案,其中包括:
(1)采集頻次。數(shù)據(jù)采集方案在采集頻次方面采用批量或?qū)崟r方式。需要根據(jù)數(shù)據(jù)實時性要求、數(shù)據(jù)所處生命周期的不同進(jìn)行規(guī)劃[8]。對于需要提供實時處理的數(shù)據(jù)和在數(shù)據(jù)生命周期中處于活躍期的數(shù)據(jù),采用實時采集;對于用來支撐未來分析決策和趨勢預(yù)測的數(shù)據(jù)、或歷史數(shù)據(jù)等實時性要求不高的數(shù)據(jù),可進(jìn)行批量采集或準(zhǔn)實時采集。
(2)采集方式。 采用前置機(jī)的方式,可由既有業(yè)務(wù)系統(tǒng)主動將數(shù)據(jù)放入前置機(jī),也可以由數(shù)據(jù)獲取層主動發(fā)起采集任務(wù);采用數(shù)據(jù)接口方式,通過雙方協(xié)定的接口服務(wù)進(jìn)行數(shù)據(jù)采集;企業(yè)服務(wù)總線方式,以服務(wù)的方式進(jìn)行實時數(shù)據(jù)采集。數(shù)據(jù)采集無論以何種方式進(jìn)行,采集數(shù)據(jù)的任務(wù)都不能夠?qū)扔邢到y(tǒng)的生產(chǎn)庫和系統(tǒng)運行產(chǎn)生影響。
(3)其他。匯集方案中還需要包括匯集的周期、網(wǎng)絡(luò)通道、主要負(fù)責(zé)人等,嚴(yán)格按照數(shù)據(jù)匯集計劃執(zhí)行數(shù)據(jù)的上傳或下載,尤其是實時采集數(shù)據(jù),需要通過制度和技術(shù)手段保證數(shù)據(jù)的及時性[9]。
2.2.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理是將數(shù)據(jù)源的數(shù)據(jù)進(jìn)行整合,在這個過程中,需要完成以下幾項工作。
(1)數(shù)據(jù)區(qū)分結(jié)構(gòu)化與非結(jié)構(gòu)化,由于結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)處理過程完全不同,所以在數(shù)據(jù)整合的過程中,首先需要對數(shù)據(jù)進(jìn)行歸類。
(2)結(jié)構(gòu)化數(shù)據(jù)進(jìn)行數(shù)據(jù)ETL(Extract-Transform-Load,數(shù)據(jù)抽?。╡xtract)、交互轉(zhuǎn)換(transform)、加載(load)),去掉空數(shù)據(jù)、重復(fù)數(shù)據(jù)和錯誤數(shù)據(jù),去掉與數(shù)據(jù)分析、挖掘無關(guān)的數(shù)據(jù),調(diào)整數(shù)據(jù)格式,對數(shù)據(jù)進(jìn)行轉(zhuǎn)換和加載等工作,提高數(shù)據(jù)的正確和有效性。
(3)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行歸類,結(jié)構(gòu)化等工作。
(4)數(shù)據(jù)分類,從鐵路信息化總體規(guī)劃的角度出發(fā),對鐵路數(shù)據(jù)進(jìn)行分類,形成鐵路統(tǒng)一的數(shù)據(jù)視圖,便于數(shù)據(jù)的共享與分析應(yīng)用。
(5)數(shù)據(jù)建模,將數(shù)據(jù)進(jìn)行細(xì)粒度劃分,減少數(shù)據(jù)冗余。
2.2.2 數(shù)據(jù)存儲與計算
在鐵路大數(shù)據(jù)平臺的架構(gòu)設(shè)計中,數(shù)據(jù)的存儲與計算需要同時具備3種模式,即:基于關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)存儲與計算、基于大規(guī)模并行處理架構(gòu)模式的數(shù)倉和基于Hadoop的大數(shù)據(jù)處理架構(gòu)。
(1)關(guān)系型數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫部分,適用于存儲實時性要求較高,經(jīng)常需要進(jìn)行寫入的數(shù)據(jù),適用于響應(yīng)速度快、準(zhǔn)確性較高、規(guī)模較小的數(shù)據(jù)。在鐵路大數(shù)據(jù)平臺的架構(gòu)設(shè)計中,用來存儲實時數(shù)據(jù)、計算結(jié)果數(shù)據(jù)、衍生數(shù)據(jù)等,方便服務(wù)層隨時調(diào)用。
(2)基于大規(guī)模并行處理架構(gòu)模式的數(shù)據(jù)倉庫
在大規(guī)模并行處理架構(gòu)模式的數(shù)據(jù)倉庫中,每個節(jié)點都有獨立的存儲系統(tǒng)和內(nèi)存系統(tǒng),業(yè)務(wù)數(shù)據(jù)根據(jù)數(shù)據(jù)模型和應(yīng)用特點劃分到各個節(jié)點上,彼此協(xié)同計算,作為整體提供數(shù)據(jù)庫服務(wù)。其特點是數(shù)據(jù)準(zhǔn)確性較高,易于擴(kuò)展,用來存放較大量結(jié)構(gòu)化歷史數(shù)據(jù)。將數(shù)據(jù)批量導(dǎo)出后執(zhí)行數(shù)據(jù)分批計算任務(wù)。數(shù)據(jù)倉庫中還包括數(shù)據(jù)管控模塊,提供數(shù)據(jù)處理過程中的數(shù)據(jù)質(zhì)量管理、數(shù)據(jù)稽查、主數(shù)據(jù)管理等。
(3) Hadoop架構(gòu)
Hadoop是一個開源的編程架構(gòu),采用分布式存儲系統(tǒng),能夠清洗、存儲和處理海量數(shù)據(jù)。在Hadoop架構(gòu)區(qū)域,數(shù)據(jù)存儲在Hive、HDFS或者Hbase中,通過分布式系統(tǒng)在成千上萬的節(jié)點中讀取數(shù)據(jù)。由于大數(shù)據(jù)的分析計算非常復(fù)雜,因此在Hadoop架構(gòu)中需要包括數(shù)據(jù)挖掘的專用工具、算法庫和流式計算引擎等,用以支撐大量復(fù)雜數(shù)據(jù)的計算和分析。Hadoop架構(gòu)易于擴(kuò)展,具有無限的可伸縮性,適合于用存儲數(shù)據(jù)量增長較快,但準(zhǔn)確性要求相對不高的非結(jié)構(gòu)化數(shù)據(jù)和部分結(jié)構(gòu)化數(shù)據(jù)。
以上3種模式不存在互相取代的關(guān)系,而是彼此互為另外兩部分的有益補充和促進(jìn),在數(shù)據(jù)處理層扮演著不同的角色,相互之間存在大量的數(shù)據(jù)流轉(zhuǎn)。
數(shù)據(jù)處理層根據(jù)不同的應(yīng)用場景,將大數(shù)據(jù)平臺的數(shù)據(jù)處理能力以服務(wù)的形式提供給用戶,主要包括以下幾種服務(wù):
(1)可視化分析。對數(shù)據(jù)進(jìn)行智能分析,并將結(jié)果以可視化報表的形式展示,以直觀的圖表形式支持用戶決策分析[10]。
(2)數(shù)據(jù)挖掘算法。大數(shù)據(jù)分析的核心就是數(shù)據(jù)挖掘算法,數(shù)據(jù)服務(wù)層為用戶提供包括數(shù)據(jù)多維分析算法、決策樹算法和聚類分析算法等算法服務(wù)。
(3)預(yù)測分析模型。數(shù)據(jù)服務(wù)層將數(shù)據(jù)挖掘過程中發(fā)現(xiàn)的數(shù)據(jù)特點和規(guī)律,形成預(yù)測分析模型,支持將用戶數(shù)據(jù)帶入模型,對未來結(jié)果進(jìn)行預(yù)測分析。
(4)業(yè)務(wù)應(yīng)用。各業(yè)務(wù)系統(tǒng)可利用數(shù)據(jù)服務(wù)層的大數(shù)據(jù)處理能力進(jìn)行業(yè)務(wù)數(shù)據(jù)的計算和處理,支撐業(yè)務(wù)系統(tǒng)需要。
(1)數(shù)據(jù)采集功能。完成數(shù)據(jù)采集任務(wù),匯集全路各業(yè)務(wù)系統(tǒng)數(shù)據(jù)、與數(shù)據(jù)分析相關(guān)的路外數(shù)據(jù)和其他來源數(shù)據(jù),滿足各類型數(shù)據(jù)采集需求。
(2)數(shù)據(jù)處理功能。通過數(shù)據(jù)處理工具將采集后的數(shù)據(jù)進(jìn)行分類,進(jìn)行數(shù)據(jù)的清洗、轉(zhuǎn)換等工作。
(3)數(shù)據(jù)目錄功能。為平臺數(shù)據(jù)建立數(shù)據(jù)的分級分類目錄,形成企業(yè)數(shù)據(jù)視圖,集成數(shù)據(jù)使用的申請、審批和開放權(quán)限等功能。
(4)大數(shù)據(jù)存儲與分析功能。主要提供統(tǒng)計分析、數(shù)據(jù)模型算法、數(shù)據(jù)挖掘服務(wù)和可視化服務(wù)等功能。
(5)數(shù)據(jù)治理。實現(xiàn)對基礎(chǔ)數(shù)據(jù)的管理和數(shù)據(jù)質(zhì)量的管控,使平臺數(shù)據(jù)質(zhì)量不斷提高。
本文通過對鐵路大數(shù)據(jù)的研究,設(shè)計了一種鐵路大數(shù)據(jù)架構(gòu)模式,希望能夠以更為合理的數(shù)據(jù)架構(gòu)進(jìn)行數(shù)據(jù)的組織,達(dá)到鐵路數(shù)據(jù)集中管理與綜合利用的要求。隨著大數(shù)據(jù)技術(shù)的不斷發(fā)展與完善,未來對于鐵路數(shù)據(jù)資產(chǎn)的應(yīng)用將朝著更加高效、安全、智能的方向發(fā)展。通過對鐵路數(shù)據(jù)資產(chǎn)的合理利用,鐵路行業(yè)將會更高效地管理數(shù)據(jù)、應(yīng)用數(shù)據(jù)、發(fā)揮數(shù)據(jù)應(yīng)有的價值,進(jìn)一步提升鐵路的核心競爭力,更好地服務(wù)于社會。