劉 斌,鄧 悅,趙宏宇
(1.中鐵第四勘察設(shè)計院集團(tuán)有限公司,武漢 430063;2.西南交通大學(xué) 計算機(jī)與人工智能學(xué)院,成都 611756)
近年來,信息技術(shù)產(chǎn)業(yè)發(fā)展勢頭強勁,尤其是數(shù)據(jù)與信息管理體系在各個領(lǐng)域的數(shù)據(jù)信息管理中得到廣泛應(yīng)用。隨著各行業(yè)信息化的發(fā)展,構(gòu)建鐵路信息與資源共享的交通物流互聯(lián)體系成為了國家鐵路物流發(fā)展的戰(zhàn)略與趨勢。中國鐵路物流行業(yè)的高速發(fā)展,行業(yè)已累積了海量數(shù)據(jù),數(shù)據(jù)量增長快且類型繁多。據(jù)調(diào)查,國家統(tǒng)計局統(tǒng)計的指標(biāo)量總計大約有350種,并沒有完全涵蓋鐵路物流相關(guān)的指標(biāo),除去不相關(guān)的鐵路物流所需的指標(biāo)量預(yù)計不少于200種。除了來自統(tǒng)計局的數(shù)值型數(shù)據(jù),還包括一些官方網(wǎng)站發(fā)布的圖片、多種類型文件等數(shù)據(jù)。如此龐大的數(shù)據(jù)量和種類,為數(shù)據(jù)的查找、存儲和分析帶來了挑戰(zhàn)。對海量數(shù)據(jù)的整理與分析也影響著行業(yè)的生產(chǎn)效率,因為數(shù)據(jù)擁有大量潛在的、有用的信息資源,如果能夠合理利用這些數(shù)據(jù)并建立高效的分析模式,將有利于降低企業(yè)的運營成本,提高生產(chǎn)經(jīng)營效率,減少不必要的人工處理。
為此,本文整合鐵路物流現(xiàn)有資源與數(shù)據(jù),構(gòu)建鐵路物流數(shù)據(jù)平臺,充分利用已有的各種類型的鐵路物流數(shù)據(jù),完成對海量數(shù)據(jù)的搜集與整合管理,提高鐵路相關(guān)業(yè)務(wù)的決策能力與管理效率。
傳統(tǒng)的鐵路物流項目規(guī)劃設(shè)計的技術(shù)手段主要以人工為主,人工數(shù)據(jù)處理和分析的工作量很大,數(shù)據(jù)分析耗時高,分析結(jié)果的質(zhì)量取決于分析人員的技能水平和對現(xiàn)場的學(xué)習(xí)水平,但往往設(shè)計成果滿足不了客戶的需求[1]。一般的鐵路物流項目涉及了大量數(shù)據(jù)查詢、分析、應(yīng)用等基礎(chǔ)性工作,面向的市場范圍廣、項目類型多,存在大量的重復(fù)性工作。目前,國內(nèi)尚無專門的鐵路物流數(shù)據(jù)信息化平臺為鐵路行業(yè)提供服務(wù),而提高效率和設(shè)計質(zhì)量又是目前鐵路物流項目規(guī)劃設(shè)計急需解決的問題,因此需要一個專門的信息化分析平臺。
生產(chǎn)管理過程中,存在數(shù)據(jù)資料及文件的共享,若沒有一個集成平臺的整合難以做到大量數(shù)據(jù)的共享分析及文件資料的集中管理。近年來,雖然有關(guān)鐵路物流的信息化平臺的建設(shè)逐步完善,但各個信息系統(tǒng)之間因數(shù)據(jù)分散無法進(jìn)行交互和對照,數(shù)據(jù)共享服務(wù)做得不夠好[2]。很多企業(yè)在鐵路物流數(shù)據(jù)平臺建設(shè)方面的無序?qū)е洛e失發(fā)展的機(jī)遇[3-4]。若將需要的、經(jīng)常使用的信息搜集、整合后在平臺中綜合管理并定時更新,可準(zhǔn)確掌握鐵路物流行業(yè)信息,實現(xiàn)海量數(shù)據(jù)的統(tǒng)一性和實時性。鐵路企業(yè)從業(yè)人員需要的任何鐵路物流的相關(guān)資料可在統(tǒng)一平臺上瀏覽、查詢或下載。
對行業(yè)信息系統(tǒng)積累的大量業(yè)務(wù)數(shù)據(jù)進(jìn)行整合,實現(xiàn)對海量數(shù)據(jù)有效的管理[5-6],是鐵路物流企業(yè)整合管理環(huán)節(jié)和支持企業(yè)科學(xué)決策的核心基礎(chǔ)。針對平臺開發(fā)需求,對如下幾類資源與數(shù)據(jù)進(jìn)行整合和統(tǒng)一管理。
指標(biāo)數(shù)據(jù)包括基礎(chǔ)數(shù)據(jù)、鐵路物流數(shù)據(jù)和企業(yè)數(shù)據(jù)。其中,基礎(chǔ)數(shù)據(jù)包含了綜合、農(nóng)業(yè)、貿(mào)易、消費、金融、貨運、客運、交通基礎(chǔ)、工業(yè)、綠色城市10大類,每一類包含多個指標(biāo),共有143個指標(biāo)。例如,綜合數(shù)據(jù)的指標(biāo)有土地面積、常住人口、GDP、三產(chǎn)產(chǎn)值、人均GDP、全社會固定資產(chǎn)投資、分三產(chǎn)固定投資額。
文件資料包括與鐵路物流相關(guān)的政策文件、規(guī)范文件、規(guī)劃文件和路內(nèi)發(fā)文文件,需要從各大官網(wǎng)上搜集并下載這4類文件及相關(guān)信息,分類后梳理統(tǒng)計并上傳至平臺,方便查看和歸檔。
成果文件資料是企業(yè)內(nèi)部有關(guān)物流規(guī)劃項目、鐵路物流基地項目、調(diào)研成果、勘測成果及其它成果的整合。
鐵路設(shè)計資料是企業(yè)內(nèi)部有關(guān)基地設(shè)計、鐵路設(shè)計模塊、裝卸設(shè)備、樞紐貨運設(shè)施說明、既有車站及貨場信息等鐵路設(shè)計的介紹、文件、設(shè)計圖紙或相關(guān)圖片等資料。
以上4類數(shù)據(jù),需要持續(xù)化更新與維護(hù),相關(guān)人員會定時更新數(shù)據(jù)、下載整理文件并上傳。數(shù)據(jù)化的平臺只有保證實時性,才能及時掌握網(wǎng)絡(luò)最新發(fā)展動態(tài),與時俱進(jìn)[7]。
Java Enterprise Edition(簡稱:Java EE)易于程序的維護(hù)和擴(kuò)展,本平臺利用Java EE的3層體系結(jié)構(gòu)即表示層、中間層和數(shù)據(jù)層完成程序功能的開發(fā)。在Java EE的基礎(chǔ)上運用共享性強且擴(kuò)展業(yè)務(wù)方便的B/S架構(gòu),由用戶瀏覽器、Web服務(wù)器、數(shù)據(jù)庫服務(wù)器組成3層結(jié)構(gòu)[8]。Web服務(wù)器作為中間層負(fù)責(zé)用戶瀏覽器和數(shù)據(jù)庫服務(wù)器的雙向交互,由HTTP協(xié)議實現(xiàn)瀏覽器與服務(wù)器的通信。此外,在服務(wù)器上建立了文件管理系統(tǒng)來存放大量的文件數(shù)據(jù),并按照平臺的模塊分類,在服務(wù)器的固定位置存取文件。文件管理系統(tǒng)、Web服務(wù)和數(shù)據(jù)庫共同部署在以Linux為操作系統(tǒng)的服務(wù)器上。平臺架構(gòu),如圖1所示。
圖1 平臺架構(gòu)
服務(wù)器端采用Spring Boot技術(shù)進(jìn)行開發(fā),將Spring Boot的內(nèi)置Tomcat作為Web服務(wù)器使用。Spring Boot是一個新的Spring框架,它解決了Spring開發(fā)過程中復(fù)雜的配置操作,簡化了應(yīng)用程序開發(fā)和構(gòu)建過程,讓開發(fā)人員幾乎脫離繁瑣的配置文件,將大量精力投入到項目邏輯開發(fā)中[9]。服務(wù)器端在以Maven作為項目管理工具的基礎(chǔ)上使用Spring Boot框架進(jìn)行分層設(shè)計,分別是持久層、業(yè)務(wù)層、控制層及實體層。持久層對數(shù)據(jù)庫直接請求;業(yè)務(wù)層負(fù)責(zé)業(yè)務(wù)邏輯處理,完成功能的設(shè)計;控制層是直接被前端訪問的接口,接受請求后把處理的數(shù)據(jù)返回給用戶接口;實體層是數(shù)據(jù)庫表對應(yīng)的實體類,被其它3層引用。模塊化的編程方法,使開發(fā)的平臺在后續(xù)能夠滿足各個模塊的組合和修改,便于以后的擴(kuò)展和維護(hù)[10]。
用戶界面除了使用Html+CSS渲染頁面、腳本語言jQuery進(jìn)行邏輯處理外,還采用了Vue.js組件庫構(gòu)建響應(yīng)數(shù)據(jù)的Web頁面。在需要創(chuàng)建Vue實例的頁面引用Vue.js庫,在指定的作用域內(nèi),可輸出該對象的屬性和函數(shù)返回值,當(dāng)屬性值發(fā)生變化,頁面也會響應(yīng)式改變。Vue.js很容易與jQuery相結(jié)合,將單頁面的數(shù)據(jù)作為對象的屬性存儲,更簡單地綁定了每個Web頁面的動態(tài)數(shù)據(jù)。在與服務(wù)器交互時配合使用Ajax,以JSON格式作數(shù)據(jù)傳遞,使網(wǎng)頁實現(xiàn)異步更新。
數(shù)據(jù)庫軟件采用的MySQL 8.0,該軟件體積小,讀取、存儲數(shù)據(jù)快,滿足本平臺的數(shù)據(jù)存儲需求。通過結(jié)構(gòu)化查詢語言完成數(shù)據(jù)庫中的全部操作,并將查詢或修改后的結(jié)果由HTTP協(xié)議傳輸至Web服務(wù)器,與之進(jìn)行數(shù)據(jù)交互。
互聯(lián)網(wǎng)數(shù)據(jù)、行業(yè)資料進(jìn)入鐵路物流平臺后,重點圍繞數(shù)據(jù)集中管理與分析。平臺結(jié)構(gòu)設(shè)計,如圖2所示。
圖2 平臺結(jié)構(gòu)設(shè)計
在個人中心模塊,用戶可查看或修改自己的個人信息,包括基本信息、權(quán)限情況、登錄日志信息。有用戶管理權(quán)限的賬戶可對其他用戶進(jìn)行增、刪、改、查的操作。
用戶管理基于動態(tài)權(quán)限,面向的賬戶可能是游客、用戶、超級管理員等各種情況,每一個模塊的查看、更新、下載等操作都需要做權(quán)限檢測,只有擁有了該項權(quán)限的用戶才能繼續(xù)操作。
數(shù)據(jù)庫模塊將常用的各類數(shù)據(jù)進(jìn)行整合,能夠提高查詢的效率。
基礎(chǔ)數(shù)據(jù)分別針對市級、省級和全國的10種基礎(chǔ)數(shù)據(jù)進(jìn)行查詢、下載和管理。鐵路數(shù)據(jù)和企業(yè)數(shù)據(jù)都可通過篩選條件進(jìn)行檢索和查看詳情,或?qū)⒑Y選后的數(shù)據(jù)加入對比進(jìn)行比較。數(shù)據(jù)庫模塊下的所有子模塊展示的詳情信息都具有下載功能,具有下載權(quán)限的用戶可以下載詳情的Excel表格。
基礎(chǔ)數(shù)據(jù)的來源是從購買的各地的大量Excel統(tǒng)計年鑒中提取想要的指標(biāo)信息。為獲得數(shù)據(jù),本文設(shè)計了一套從海量異構(gòu)Excel年鑒文件中提取目標(biāo)城市基礎(chǔ)指標(biāo)值的算法程序。該算法通過獲取表格的語義樹即數(shù)據(jù)與表格行名、列名的對應(yīng)關(guān)系,利用兩棵語義樹生成包含數(shù)據(jù)所屬行名、列名的元數(shù)據(jù)集合,然后通過設(shè)計指標(biāo)的正則表達(dá)式對行名、列名進(jìn)行語義匹配,又將形成的集合通過過濾詞字典進(jìn)行數(shù)據(jù)過濾,最后提取出指定城市、年份和單位的集合,并存儲在數(shù)據(jù)庫供服務(wù)器查詢。算法原理,如圖3所示。
圖3 Excel提取原理
文檔管理實現(xiàn)了對各個城市的經(jīng)濟(jì)、產(chǎn)業(yè)發(fā)展、物流業(yè)的相關(guān)政策、規(guī)范、規(guī)劃和路內(nèi)發(fā)文文件的分類管理。用戶可按照權(quán)限的不同對這4類文件進(jìn)行檢索、查看詳情、下載、上傳、刪除、更新以及上傳解讀和查看解讀。
因整合了大量文件,平臺上需要支持文件在瀏覽器頁面的在線預(yù)覽。為使主流瀏覽器兼容并能夠在Linux系統(tǒng)上運行,文件預(yù)覽使用開源的PDF.js組件,能夠使PDF格式的文件直接在網(wǎng)頁上展示。PDF.js的應(yīng)用較為強大,自帶縮放、上下翻頁、頁碼定位等功能的導(dǎo)航欄[11]。
成果管理實現(xiàn)了對物流規(guī)劃項目、鐵路物流基地項目、調(diào)研成果、勘測成果以及其它成果項目的整合和管理,與文檔管理類似,用戶能根據(jù)權(quán)限的不同對這些成果文件進(jìn)行檢索、查看詳情、下載、上傳、刪除、更新及在線預(yù)覽。
在基地設(shè)計中,用戶可檢索后選擇任意裝備,查看詳情包括基本信息、分階段信息、專題批復(fù)時間一覽及變更設(shè)計批復(fù)時間一覽。其中,分階段信息可查看預(yù)可研、可研、初步設(shè)計、施工圖多個階段的批復(fù)時間、委托文件、批復(fù)文件、全文、匯報材料和相關(guān)圖紙。其余模塊功能類似可檢索和查看與設(shè)計種類相關(guān)的詳情。
(1)基礎(chǔ)數(shù)據(jù)分析以城市、指標(biāo)和年份為可選參數(shù),展示出符合條件的帶有數(shù)值的可視化圖例,包括柱狀圖、折線圖和餅狀圖。
(2)綜合數(shù)據(jù)分析是對基礎(chǔ)數(shù)據(jù)之一的綜合數(shù)據(jù)進(jìn)行計算和可視化。綜合指標(biāo)的定義是由多個指標(biāo)按公式計算后得到的,例如(貨運總量/地區(qū)生產(chǎn)總值)/(全國貨運總量/國內(nèi)生產(chǎn)總值)可得到綜合指標(biāo)物流輻射力,將此綜合數(shù)據(jù)加入對比在圖例中顯示。這其實就是一個綜合指標(biāo)計算器,平臺按用戶選擇的條件計算出綜合指標(biāo)結(jié)果并在圖中顯示。
(3)數(shù)據(jù)預(yù)測分析是通過增長率法、彈性系數(shù)法、回歸分析法、時間序列法和灰色模型法對基礎(chǔ)數(shù)據(jù)之一的貨運數(shù)據(jù)的貨運量進(jìn)行分析與預(yù)測,可選擇不同條件下的不同方法,以及單個或多個指標(biāo)。
通過對鐵路物流平臺的需求分析,將互聯(lián)網(wǎng)海量數(shù)據(jù)和鐵路物流相關(guān)資料分類與整合,開發(fā)了基于Java EE的鐵路物流數(shù)據(jù)平臺,實現(xiàn)了各個模塊的功能。平臺解決了初始時龐大無序的數(shù)據(jù)與文件信息量無法共享與集成、項目設(shè)計過程生產(chǎn)效率低的問題,將鐵路物流數(shù)據(jù)的存儲、可視化、分析、預(yù)測集于一體,展現(xiàn)在平臺上,挖掘了數(shù)據(jù)的潛在信息,以高效的數(shù)據(jù)分析模式顯著提高企業(yè)的運營效益[12]。用戶和管理者能夠快速洞悉海量數(shù)據(jù)背后有價值的信息和知識,從而為生產(chǎn)管理和運維等工作提供輔助決策支持[13]。