孔垂云
(北京經(jīng)緯信息技術(shù)有限公司,北京 100081)
鐵路貨運生產(chǎn)管理系統(tǒng)是鐵路貨物運輸?shù)闹匾ぞ?,?jīng)過20多年建設(shè),目前,已建立覆蓋生產(chǎn)作業(yè)各環(huán)節(jié)的信息系統(tǒng),包括電商系統(tǒng)、貨票系統(tǒng)和貨運站系統(tǒng)等。既有貨運生產(chǎn)作業(yè)系統(tǒng)存在建設(shè)分散、數(shù)據(jù)共享度低、字典不統(tǒng)一和用戶體驗較差等問題。按照《鐵路信息化總體規(guī)劃》[1]要求,需要構(gòu)建新一代鐵路貨運綜合生產(chǎn)管理系統(tǒng),利用新架構(gòu)、新技術(shù)重構(gòu)再造既有系統(tǒng),實現(xiàn)貨運作業(yè)管理信息化的長足進步,為鐵路開展對外服務(wù)、提升精細化管理水平提供業(yè)務(wù)支撐與數(shù)據(jù)支撐。
按照《鐵路信息化總體規(guī)劃》要求,對貨運生產(chǎn)相關(guān)信息系統(tǒng)進行融合與集成,通過數(shù)據(jù)驅(qū)動運營服務(wù)模式創(chuàng)新,打破各業(yè)務(wù)板塊之間的信息壁壘,優(yōu)化再造當前鐵路各個業(yè)務(wù)應用系統(tǒng)。
基于以上要求,通過對既有生產(chǎn)業(yè)務(wù)系統(tǒng)融合再造,形成以一線生產(chǎn)作業(yè)為主體,以鐵路局集團公司(簡稱:鐵路局)、中國國家鐵路集團有限公司(簡稱:國鐵集團)管理決策為輔助的綜合貨運生產(chǎn)管理系統(tǒng),以作業(yè)流、信息流的全線貫通為目標,實現(xiàn)“重塑貨運對外形象,再造貨運信息系統(tǒng)”目標。整體設(shè)計滿足 “四大”原則。
(1)大整合:與貨運所有相關(guān)信息系統(tǒng)均納入該系統(tǒng)功能整合范圍,實現(xiàn)大整合,并不斷努力。
(2)大集中:依托中國鐵路主數(shù)據(jù)中心,實現(xiàn)貨運系統(tǒng)部署與數(shù)據(jù)存儲的大集中,充分發(fā)掘數(shù)據(jù)價值。
(3)大平臺:打造對外服務(wù)大平臺,實現(xiàn)貨運與鐵路外部系統(tǒng)、與市場客戶、與社會的互聯(lián)互通。
(4)大服務(wù):服務(wù)一線崗位、服務(wù)站段鐵路局、服務(wù)外部企業(yè)和服務(wù)社會,以信息服務(wù)帶動經(jīng)營效益,實現(xiàn)多方互贏。
在技術(shù)設(shè)計上,除了滿足業(yè)務(wù)功能需求,兼顧以下方面:
(1)數(shù)字化轉(zhuǎn)型,引入敏捷開發(fā)、構(gòu)建方法,增效率、降成本;(2)提高系統(tǒng)的客戶體驗,提高開發(fā)和運維效率;(3)利用平臺自動化能力,構(gòu)建微服務(wù)、云原生和持續(xù)交付的業(yè)務(wù)應用;(4)通過微服務(wù)和云原生架構(gòu),避免和擺脫業(yè)務(wù)單體應用的強依賴關(guān)系,提高系統(tǒng)整體的可靠性、可擴展性;(5)用成熟的新技術(shù),持續(xù)保持系統(tǒng)的領(lǐng)先性[2]。
生產(chǎn)部分以貨運站(貨運中心)為應用單元,以業(yè)務(wù)辦理及生產(chǎn)作業(yè)為依據(jù),圍繞貨運票據(jù)電子化,進行子系統(tǒng)拆分,管理部分以鐵路局站段業(yè)務(wù)處室、國鐵集團各處室職能管理范圍為依據(jù),以數(shù)據(jù)分析、決策支持為核心,進行專業(yè)化管理[3],如圖1所示。
以“平臺+組件”架構(gòu)進行開發(fā),形成可靈活組織、靈活集成的應用架構(gòu),即新一代開放能力共享架構(gòu)[4],如圖2所示。
(1)共享基礎(chǔ)平臺。基于云管平臺、彈性計算、分布式數(shù)據(jù)、分布式中間件等,構(gòu)建共享基礎(chǔ)平臺,為上層共享能力中心提供基礎(chǔ)資源支撐。
(2)共享數(shù)據(jù)中心。以貨運核心作業(yè)數(shù)據(jù)及分析數(shù)據(jù)為基礎(chǔ),構(gòu)建共享數(shù)據(jù)中心,支撐核心生產(chǎn)業(yè)務(wù)。
(3)共享服務(wù)中心。業(yè)務(wù)建模,抽取業(yè)務(wù)核心能力,構(gòu)建共享服務(wù)中心,形成一線業(yè)務(wù)的服務(wù)支撐[2]。
(4)貨運核心生產(chǎn)業(yè)務(wù)?;诠蚕頂?shù)據(jù)中心和共享服務(wù)中心,依托貨運積累業(yè)務(wù)管理經(jīng)驗,業(yè)務(wù)流程的組織及搭建,降低試錯風險,提升上線能力。
采用中國鐵路主數(shù)據(jù)中心集中存儲數(shù)據(jù),采用邏輯拆分的架構(gòu)。數(shù)據(jù)架構(gòu),如圖3所示。
(1)生產(chǎn)數(shù)據(jù)采集區(qū)。生產(chǎn)庫滿足生產(chǎn)作業(yè)、市場經(jīng)營、設(shè)備資源各子系統(tǒng)的日常運行。輕量化數(shù)據(jù)資源,根據(jù)實際需要建立多個業(yè)務(wù)主題。
(2)統(tǒng)計分析區(qū)。生產(chǎn)庫同步復制至管理庫,管理庫主要滿足報表臺賬和統(tǒng)計分析功能。
(3)戰(zhàn)略決策區(qū)。管理庫通過ETL等工具,進入大數(shù)據(jù)倉庫,進行戰(zhàn)略分析決策的生成。
(4)數(shù)據(jù)共享區(qū)。為了方便各鐵路局的經(jīng)營數(shù)據(jù)分析,每日把生產(chǎn)經(jīng)營結(jié)果數(shù)據(jù)定時同步至各鐵路局共享庫。同時,把貨運相關(guān)數(shù)據(jù)同步至共享庫,便于收入、審計和清算等部門使用。
系統(tǒng)包括應用集中和數(shù)據(jù)集中,為了盡可能地提升系統(tǒng)運行穩(wěn)定,采用雙活架構(gòu)及分布式部署架構(gòu)來實現(xiàn),規(guī)避單點故障[5],如圖4所示。
(1)鐵路貨運綜合生產(chǎn)管理系統(tǒng)圍繞微服務(wù)治理體系,依托分布式消息服務(wù)、分布式應用部署、數(shù)據(jù)庫集群等中間件,打造“強平臺,富組件”的集成架構(gòu)應用;(2)基于統(tǒng)一PaaS平臺打造流水線式的DevOps環(huán)境,支撐團隊規(guī)?;_發(fā),提高軟件研發(fā)效率[6];(3)利用SpringBoot、SpringCloud微服務(wù)架構(gòu)體系形成統(tǒng)一應用開發(fā)框架,定義標準開發(fā)測試規(guī)范、版本管理規(guī)范;(4)構(gòu)建自動化測試的持續(xù)集成環(huán)境[7]。整體技術(shù)架構(gòu),如圖5所示。
通過重構(gòu)既有業(yè)務(wù)系統(tǒng),以技術(shù)創(chuàng)新驅(qū)動業(yè)務(wù)流程再造的方式,以中國鐵路主數(shù)據(jù)中心建設(shè)為基礎(chǔ),構(gòu)建以開發(fā)能力共享架構(gòu)為基礎(chǔ)的新一代鐵路貨運綜合生產(chǎn)管理系統(tǒng),實現(xiàn)整個貨運作業(yè)系統(tǒng)的重構(gòu)再造,一級部署多級應用。實現(xiàn)鐵路IT資產(chǎn)與數(shù)據(jù)資產(chǎn)的雙提升和貨運生產(chǎn)數(shù)據(jù)大集中,為后續(xù)的延伸服務(wù)奠定業(yè)務(wù)基礎(chǔ)與數(shù)據(jù)基礎(chǔ)。
鐵路貨運綜合生產(chǎn)管理系統(tǒng)基于SpringBoot、SpringCloud框架構(gòu)建基礎(chǔ)服務(wù)微服務(wù)、核心業(yè)務(wù)處理微服務(wù),為展現(xiàn)層多端應用提供全面、可靠的服務(wù)支撐。運用領(lǐng)域驅(qū)動模型(DDD),引入EventSourcing事件源和CQRS讀寫責任分離,分庫分表進行系統(tǒng)詳細設(shè)計和微服務(wù)設(shè)計。把業(yè)務(wù)歸類、拆分,將各業(yè)務(wù)模塊發(fā)布為微服務(wù);將各業(yè)務(wù)模塊的資源以業(yè)務(wù)能力的形式組織起來,通過微服務(wù)開發(fā)框架對這些業(yè)務(wù)能力進行封裝,形成易于共享的服務(wù),實現(xiàn)業(yè)務(wù)能力粒度上的重用、組裝、維護和管理。采用分布式服務(wù)框架組件進行業(yè)務(wù)能力的搭建和管理,通過統(tǒng)一方式發(fā)布、調(diào)用服務(wù),支持服務(wù)容量線性擴展,服務(wù)可根據(jù)部署需求自動上下線,提供接口級、方法級、參數(shù)級的服務(wù)路由、服務(wù)歸組、服務(wù)限流和安全控制追蹤等服務(wù)治理能力。
系統(tǒng)通過統(tǒng)一的PaaS平臺構(gòu)建應用程序開發(fā)、運行環(huán)境。提供PaaS平臺用戶安全認證、多租戶管理、自動化安全補丁升級、安全傳輸?shù)绕脚_安全相關(guān)能力。提供分布式服務(wù)管理、分布式消息隊列、分布式業(yè)務(wù)監(jiān)控、分布式緩存和事務(wù)、分布式數(shù)據(jù)庫、平臺健康監(jiān)控、應用性能監(jiān)控、日志聚合等功能,為整個系統(tǒng)的健康穩(wěn)定運行提供有力的技術(shù)平臺支撐[8]。
系統(tǒng)構(gòu)建完善的研發(fā)和運維全生命周期管理機制,包括業(yè)務(wù)需求提交、協(xié)同研發(fā)、代碼倉庫、持續(xù)集成、持續(xù)交付、性能測試、灰度發(fā)布及日志追蹤等,建立完整的軟件運維團隊,實現(xiàn)系統(tǒng)自動化開發(fā)、測試和交付[9]。通過PaaS平臺提供一鍵式應用部署、彈性伸縮、監(jiān)控等交付和運維能力。
系統(tǒng)的建設(shè)是一個錯綜復雜、交互迭代的過程,本著“先核心后外圍,快速迭代”原則,分為兩階段實施。
第1階段:以貨運票據(jù)電子化生產(chǎn)作業(yè)為主線,重構(gòu)既有生產(chǎn)作業(yè)相關(guān)系統(tǒng)。
(1)設(shè)計統(tǒng)一研發(fā)平臺。以“平臺+組件”模塊化開發(fā)為目標,結(jié)合目前企業(yè)研發(fā)主流技術(shù),結(jié)合鐵路貨運既有系統(tǒng)的研發(fā)實際,制定研發(fā)標準及規(guī)范,編寫示例代碼,組織集中技術(shù)培訓,整體提升各項目組開發(fā)水平。
(2)內(nèi)部生產(chǎn)作業(yè)相關(guān)系統(tǒng)集成。以生產(chǎn)作業(yè)為主線,梳理電商系統(tǒng)、貨運站系統(tǒng)、集裝箱系統(tǒng)、零散平臺、集裝化用具系統(tǒng)、貨票系統(tǒng)自身功能及對外服務(wù)和數(shù)據(jù)共享內(nèi)容,本著不改變或少改變既有操作方式,業(yè)務(wù)代碼盡量復用的原則,重構(gòu)既有系統(tǒng),形成統(tǒng)一登錄、統(tǒng)一基礎(chǔ)字典維護、統(tǒng)一用戶操作方式的一體化貨運生產(chǎn)作業(yè)系統(tǒng)。設(shè)計貨運外勤手持機原型,涵蓋外勤作業(yè)各個環(huán)節(jié),并基于上述原型進行開發(fā)實現(xiàn)。
(3)統(tǒng)計分析集成。梳理國鐵集團、鐵路局、站段各級業(yè)務(wù)管理部門所需的管理統(tǒng)計報表,形成基礎(chǔ)臺賬報表、統(tǒng)計分析兩大塊管理統(tǒng)計功能來支撐各級管理需求。
(4)周邊系統(tǒng)改造。針對集中式部署的貨運整合系統(tǒng)建設(shè)實際,梳理同外部系統(tǒng)關(guān)系,并同步解決。整合的系統(tǒng)包括現(xiàn)車系統(tǒng)、集成平臺、十八點系統(tǒng)、貨運精密、收入系統(tǒng)和審計系統(tǒng)等。
第2階段:重構(gòu)集成其余系統(tǒng),針對第一階段的研發(fā)經(jīng)驗,其余貨運相關(guān)系統(tǒng)進行集成,含保價、接取送達、危險品、貨檢、計量、貨運資源、運到時限和施封鎖等。
本文針對鐵路貨運綜合生產(chǎn)管理系統(tǒng)的架構(gòu)設(shè)計及關(guān)鍵技術(shù)進行了詳細闡述,對后續(xù)的實施策略提出了針對性建議。由于該系統(tǒng)的建設(shè)是一項綜合性工程,僅從整體上完成的設(shè)計還不能落地實施,后續(xù)要綜合考慮既有系統(tǒng)的應用范圍、研發(fā)團隊能力、整體投資估算等一系列因素,進一步研究其實施策略。