劉 斌,鄧 悅,趙宏宇
(1.中鐵第四勘察設計院集團有限公司,武漢 430063;2.西南交通大學 計算機與人工智能學院,成都 611756)
近年來,信息技術產業發展勢頭強勁,尤其是數據與信息管理體系在各個領域的數據信息管理中得到廣泛應用。隨著各行業信息化的發展,構建鐵路信息與資源共享的交通物流互聯體系成為了國家鐵路物流發展的戰略與趨勢。中國鐵路物流行業的高速發展,行業已累積了海量數據,數據量增長快且類型繁多。據調查,國家統計局統計的指標量總計大約有350種,并沒有完全涵蓋鐵路物流相關的指標,除去不相關的鐵路物流所需的指標量預計不少于200種。除了來自統計局的數值型數據,還包括一些官方網站發布的圖片、多種類型文件等數據。如此龐大的數據量和種類,為數據的查找、存儲和分析帶來了挑戰。對海量數據的整理與分析也影響著行業的生產效率,因為數據擁有大量潛在的、有用的信息資源,如果能夠合理利用這些數據并建立高效的分析模式,將有利于降低企業的運營成本,提高生產經營效率,減少不必要的人工處理。
為此,本文整合鐵路物流現有資源與數據,構建鐵路物流數據平臺,充分利用已有的各種類型的鐵路物流數據,完成對海量數據的搜集與整合管理,提高鐵路相關業務的決策能力與管理效率。
傳統的鐵路物流項目規劃設計的技術手段主要以人工為主,人工數據處理和分析的工作量很大,數據分析耗時高,分析結果的質量取決于分析人員的技能水平和對現場的學習水平,但往往設計成果滿足不了客戶的需求[1]。一般的鐵路物流項目涉及了大量數據查詢、分析、應用等基礎性工作,面向的市場范圍廣、項目類型多,存在大量的重復性工作。目前,國內尚無專門的鐵路物流數據信息化平臺為鐵路行業提供服務,而提高效率和設計質量又是目前鐵路物流項目規劃設計急需解決的問題,因此需要一個專門的信息化分析平臺。
生產管理過程中,存在數據資料及文件的共享,若沒有一個集成平臺的整合難以做到大量數據的共享分析及文件資料的集中管理。近年來,雖然有關鐵路物流的信息化平臺的建設逐步完善,但各個信息系統之間因數據分散無法進行交互和對照,數據共享服務做得不夠好[2]。很多企業在鐵路物流數據平臺建設方面的無序導致錯失發展的機遇[3-4]。若將需要的、經常使用的信息搜集、整合后在平臺中綜合管理并定時更新,可準確掌握鐵路物流行業信息,實現海量數據的統一性和實時性。鐵路企業從業人員需要的任何鐵路物流的相關資料可在統一平臺上瀏覽、查詢或下載。
對行業信息系統積累的大量業務數據進行整合,實現對海量數據有效的管理[5-6],是鐵路物流企業整合管理環節和支持企業科學決策的核心基礎。針對平臺開發需求,對如下幾類資源與數據進行整合和統一管理。
指標數據包括基礎數據、鐵路物流數據和企業數據。其中,基礎數據包含了綜合、農業、貿易、消費、金融、貨運、客運、交通基礎、工業、綠色城市10大類,每一類包含多個指標,共有143個指標。例如,綜合數據的指標有土地面積、常住人口、GDP、三產產值、人均GDP、全社會固定資產投資、分三產固定投資額。
文件資料包括與鐵路物流相關的政策文件、規范文件、規劃文件和路內發文文件,需要從各大官網上搜集并下載這4類文件及相關信息,分類后梳理統計并上傳至平臺,方便查看和歸檔。
成果文件資料是企業內部有關物流規劃項目、鐵路物流基地項目、調研成果、勘測成果及其它成果的整合。
鐵路設計資料是企業內部有關基地設計、鐵路設計模塊、裝卸設備、樞紐貨運設施說明、既有車站及貨場信息等鐵路設計的介紹、文件、設計圖紙或相關圖片等資料。
以上4類數據,需要持續化更新與維護,相關人員會定時更新數據、下載整理文件并上傳。數據化的平臺只有保證實時性,才能及時掌握網絡最新發展動態,與時俱進[7]。
Java Enterprise Edition(簡稱:Java EE)易于程序的維護和擴展,本平臺利用Java EE的3層體系結構即表示層、中間層和數據層完成程序功能的開發。在Java EE的基礎上運用共享性強且擴展業務方便的B/S架構,由用戶瀏覽器、Web服務器、數據庫服務器組成3層結構[8]。Web服務器作為中間層負責用戶瀏覽器和數據庫服務器的雙向交互,由HTTP協議實現瀏覽器與服務器的通信。此外,在服務器上建立了文件管理系統來存放大量的文件數據,并按照平臺的模塊分類,在服務器的固定位置存取文件。文件管理系統、Web服務和數據庫共同部署在以Linux為操作系統的服務器上。平臺架構,如圖1所示。

圖1 平臺架構
服務器端采用Spring Boot技術進行開發,將Spring Boot的內置Tomcat作為Web服務器使用。Spring Boot是一個新的Spring框架,它解決了Spring開發過程中復雜的配置操作,簡化了應用程序開發和構建過程,讓開發人員幾乎脫離繁瑣的配置文件,將大量精力投入到項目邏輯開發中[9]。服務器端在以Maven作為項目管理工具的基礎上使用Spring Boot框架進行分層設計,分別是持久層、業務層、控制層及實體層。持久層對數據庫直接請求;業務層負責業務邏輯處理,完成功能的設計;控制層是直接被前端訪問的接口,接受請求后把處理的數據返回給用戶接口;實體層是數據庫表對應的實體類,被其它3層引用。模塊化的編程方法,使開發的平臺在后續能夠滿足各個模塊的組合和修改,便于以后的擴展和維護[10]。
用戶界面除了使用Html+CSS渲染頁面、腳本語言jQuery進行邏輯處理外,還采用了Vue.js組件庫構建響應數據的Web頁面。在需要創建Vue實例的頁面引用Vue.js庫,在指定的作用域內,可輸出該對象的屬性和函數返回值,當屬性值發生變化,頁面也會響應式改變。Vue.js很容易與jQuery相結合,將單頁面的數據作為對象的屬性存儲,更簡單地綁定了每個Web頁面的動態數據。在與服務器交互時配合使用Ajax,以JSON格式作數據傳遞,使網頁實現異步更新。
數據庫軟件采用的MySQL 8.0,該軟件體積小,讀取、存儲數據快,滿足本平臺的數據存儲需求。通過結構化查詢語言完成數據庫中的全部操作,并將查詢或修改后的結果由HTTP協議傳輸至Web服務器,與之進行數據交互。
互聯網數據、行業資料進入鐵路物流平臺后,重點圍繞數據集中管理與分析。平臺結構設計,如圖2所示。

圖2 平臺結構設計
在個人中心模塊,用戶可查看或修改自己的個人信息,包括基本信息、權限情況、登錄日志信息。有用戶管理權限的賬戶可對其他用戶進行增、刪、改、查的操作。
用戶管理基于動態權限,面向的賬戶可能是游客、用戶、超級管理員等各種情況,每一個模塊的查看、更新、下載等操作都需要做權限檢測,只有擁有了該項權限的用戶才能繼續操作。
數據庫模塊將常用的各類數據進行整合,能夠提高查詢的效率。
基礎數據分別針對市級、省級和全國的10種基礎數據進行查詢、下載和管理。鐵路數據和企業數據都可通過篩選條件進行檢索和查看詳情,或將篩選后的數據加入對比進行比較。數據庫模塊下的所有子模塊展示的詳情信息都具有下載功能,具有下載權限的用戶可以下載詳情的Excel表格。
基礎數據的來源是從購買的各地的大量Excel統計年鑒中提取想要的指標信息。為獲得數據,本文設計了一套從海量異構Excel年鑒文件中提取目標城市基礎指標值的算法程序。該算法通過獲取表格的語義樹即數據與表格行名、列名的對應關系,利用兩棵語義樹生成包含數據所屬行名、列名的元數據集合,然后通過設計指標的正則表達式對行名、列名進行語義匹配,又將形成的集合通過過濾詞字典進行數據過濾,最后提取出指定城市、年份和單位的集合,并存儲在數據庫供服務器查詢。算法原理,如圖3所示。

圖3 Excel提取原理
文檔管理實現了對各個城市的經濟、產業發展、物流業的相關政策、規范、規劃和路內發文文件的分類管理。用戶可按照權限的不同對這4類文件進行檢索、查看詳情、下載、上傳、刪除、更新以及上傳解讀和查看解讀。
因整合了大量文件,平臺上需要支持文件在瀏覽器頁面的在線預覽。為使主流瀏覽器兼容并能夠在Linux系統上運行,文件預覽使用開源的PDF.js組件,能夠使PDF格式的文件直接在網頁上展示。PDF.js的應用較為強大,自帶縮放、上下翻頁、頁碼定位等功能的導航欄[11]。
成果管理實現了對物流規劃項目、鐵路物流基地項目、調研成果、勘測成果以及其它成果項目的整合和管理,與文檔管理類似,用戶能根據權限的不同對這些成果文件進行檢索、查看詳情、下載、上傳、刪除、更新及在線預覽。
在基地設計中,用戶可檢索后選擇任意裝備,查看詳情包括基本信息、分階段信息、專題批復時間一覽及變更設計批復時間一覽。其中,分階段信息可查看預可研、可研、初步設計、施工圖多個階段的批復時間、委托文件、批復文件、全文、匯報材料和相關圖紙。其余模塊功能類似可檢索和查看與設計種類相關的詳情。
(1)基礎數據分析以城市、指標和年份為可選參數,展示出符合條件的帶有數值的可視化圖例,包括柱狀圖、折線圖和餅狀圖。
(2)綜合數據分析是對基礎數據之一的綜合數據進行計算和可視化。綜合指標的定義是由多個指標按公式計算后得到的,例如(貨運總量/地區生產總值)/(全國貨運總量/國內生產總值)可得到綜合指標物流輻射力,將此綜合數據加入對比在圖例中顯示。這其實就是一個綜合指標計算器,平臺按用戶選擇的條件計算出綜合指標結果并在圖中顯示。
(3)數據預測分析是通過增長率法、彈性系數法、回歸分析法、時間序列法和灰色模型法對基礎數據之一的貨運數據的貨運量進行分析與預測,可選擇不同條件下的不同方法,以及單個或多個指標。
通過對鐵路物流平臺的需求分析,將互聯網海量數據和鐵路物流相關資料分類與整合,開發了基于Java EE的鐵路物流數據平臺,實現了各個模塊的功能。平臺解決了初始時龐大無序的數據與文件信息量無法共享與集成、項目設計過程生產效率低的問題,將鐵路物流數據的存儲、可視化、分析、預測集于一體,展現在平臺上,挖掘了數據的潛在信息,以高效的數據分析模式顯著提高企業的運營效益[12]。用戶和管理者能夠快速洞悉海量數據背后有價值的信息和知識,從而為生產管理和運維等工作提供輔助決策支持[13]。