劉琦
摘? 要:隨著工業(yè)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,列車故障診斷系統(tǒng)也逐步變得系統(tǒng)化、復(fù)雜化。為了解決傳統(tǒng)故障診斷系統(tǒng)模型更新難、系統(tǒng)響應(yīng)頻度大等問題,有效提升系統(tǒng)的性能,本文提出一種基于Docker容器技術(shù)的軟件系統(tǒng)部署架構(gòu)。通過分析容器技術(shù)的優(yōu)勢,設(shè)計新型分布式故障診斷架構(gòu)模型,并通過實際項目驗證了架構(gòu)的可行性。整體采用Docker容器技術(shù)實現(xiàn)傳統(tǒng)系統(tǒng)架構(gòu)的重構(gòu)優(yōu)化,提供更加模塊化、耦合性高的解決方案,從而實現(xiàn)故障診斷系統(tǒng)的統(tǒng)一管理。
關(guān)鍵詞:Docker? 故障診斷系統(tǒng)? 容器化? 列車
中圖分類號:TP277? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? ? ? 文章編號:1674-098X(2020)09(a)-0053-03
Abstract:With the continuous development of industrial Internet technology, the train fault diagnosis system has gradually become systematic and complicated. In order to solve the problems of traditional fault diagnosis system, such as the difficult model updating and large system response frequency, and effectively improve the performance of the system, a software system deployment architecture based on docker container technology is proposed. This paper analyzes the advantages of container technology, designs a new distributed fault diagnosis architecture model, and verifies the feasibility of this architecture with the development of practical projects. The whole system adopts docker container technology to realize the reconstruction and optimization of traditional system architecture, and provides a more modular and highly coupled solution, so as to realize the unified management of fault diagnosis system.
Key Words: Docker; Fault diagnosis system; Containerization;Train
隨著列車運營規(guī)模的不斷擴(kuò)充與現(xiàn)代化系統(tǒng)應(yīng)用技術(shù)的快速發(fā)展,故障診斷系統(tǒng)也由簡易信號燈提示逐步向大型網(wǎng)頁系統(tǒng)轉(zhuǎn)變。傳統(tǒng)故障診斷系統(tǒng)一般采用整體部署方式實現(xiàn),對后期系統(tǒng)擴(kuò)展及服務(wù)器整體維護(hù)而言增加了許多難度。
Docker容器化技術(shù)發(fā)展進(jìn)一步打破了傳統(tǒng)的計算與應(yīng)用資源的物理界限[1],以集裝箱式應(yīng)用部署有效實現(xiàn)資源獨立與隔離,信息資源的網(wǎng)絡(luò)空間動態(tài)遷移對持續(xù)集成系統(tǒng)的開發(fā)應(yīng)用與維護(hù)都提供了更多的便捷。
本文將從Docker特性介紹起,進(jìn)而應(yīng)用Docker分布式容器技術(shù)搭建故障診斷系統(tǒng),根據(jù)信息化系統(tǒng)、數(shù)據(jù)資源整理、算法應(yīng)用的不同功能實現(xiàn)系統(tǒng)的容器化構(gòu)造,有效解決傳統(tǒng)故障診斷系統(tǒng)存在的開發(fā)與分布緊密結(jié)合、軟件部署安裝配置繁雜的缺陷。
1? Docker技術(shù)分析
1.1 Docker管理優(yōu)勢
Docker作為一種標(biāo)準(zhǔn)化單元的新興虛擬化應(yīng)用,在系統(tǒng)的開發(fā)、裝運和部署方面相較于傳統(tǒng)方式均具有明顯優(yōu)勢,主要體現(xiàn)如下。
(1)便捷式更新迭代。
傳統(tǒng)的系統(tǒng)環(huán)境嚴(yán)重依賴于物理機(jī)器資源,其中某個模塊變更可能直接對整個系統(tǒng)的迭代應(yīng)用造成影響。Docker以鏡像方式實現(xiàn)系統(tǒng)的模塊化集成,使得整個系統(tǒng)的構(gòu)建部署效率得以有效提升[2],從而進(jìn)一步增強(qiáng)了DevOps持續(xù)集成交付能力[3]。
(2)優(yōu)化資源與時間。
相較于傳統(tǒng)虛擬機(jī)技術(shù)而言,Docker無需完整操作系統(tǒng)運行所需額外開銷,其容器應(yīng)用直接運行于宿主內(nèi)核,因此內(nèi)存損耗、系統(tǒng)響應(yīng)時效等均優(yōu)于傳統(tǒng)虛擬機(jī)技術(shù),具備更高的項目應(yīng)用優(yōu)勢[4]。
1.2 Docker在系統(tǒng)中的設(shè)計優(yōu)勢
(1)高效遷移擴(kuò)展。
系統(tǒng)架構(gòu)和應(yīng)用開發(fā)應(yīng)充分考慮今后橫向與縱向的平滑擴(kuò)張能力,以實現(xiàn)不間斷升級與應(yīng)用拓展。Docker以鏡像方式在確保執(zhí)行環(huán)境一致性的情況下有效實現(xiàn)了系統(tǒng)的復(fù)用、遷移與進(jìn)一步擴(kuò)展,采用分層存儲技術(shù)則使得系統(tǒng)維護(hù)與更新便捷簡單,進(jìn)而提升整體系統(tǒng)的維護(hù)擴(kuò)展能力。
(2)高可維護(hù)升級。
系統(tǒng)架構(gòu)采用模塊封裝形式構(gòu)建細(xì)粒度、松耦合架構(gòu),以良好的組織與管理實現(xiàn)系統(tǒng)的正常運轉(zhuǎn)和高效實用,借助便捷式Docker監(jiān)控應(yīng)用、完善的系統(tǒng)記錄輔助對系統(tǒng)的檢測修改及故障恢復(fù)等操作做進(jìn)一步優(yōu)化。
2? 系統(tǒng)應(yīng)用架構(gòu)設(shè)計
2.1 業(yè)務(wù)架構(gòu)
列車故障診斷系統(tǒng)的業(yè)務(wù)架構(gòu)設(shè)計如圖1所示,根據(jù)承擔(dān)業(yè)務(wù)的不同屬性以及Docker模塊化管理設(shè)計理念考量,將系統(tǒng)劃分為數(shù)據(jù)監(jiān)控平臺、故障診斷云計算中心、信息化服務(wù)平臺三個部分。
(1)數(shù)據(jù)監(jiān)控平臺主要負(fù)責(zé)接收并處理列車車載終端狀態(tài)報文及列車運營傳感數(shù)據(jù),實現(xiàn)與故障診斷云計算中心、信息化服務(wù)平臺的源數(shù)據(jù)交互及運維計劃任務(wù)分發(fā)工作。
(2)故障診斷云計算中心重點負(fù)責(zé)列車狀態(tài)智能診斷模型的計算、維護(hù)、更迭等工作,并保障模型運算結(jié)果的實時信息傳遞功能。
(3)信息化服務(wù)平臺則側(cè)重于對外接口數(shù)據(jù)與可視化應(yīng)用的管理操作,搭建故障診斷系統(tǒng)的對外人機(jī)交互窗口。
2.2 功能架構(gòu)
列車故障診斷系統(tǒng)的功能架構(gòu)設(shè)計如圖2所示,整體采用四層架構(gòu)分區(qū)實現(xiàn)“高內(nèi)聚、低耦合”,包含接入層、數(shù)據(jù)層、邏輯層、應(yīng)用層。
(1)接入層主要實現(xiàn)各個外部數(shù)據(jù)和業(yè)務(wù)的接入功能,包括車載終端的數(shù)據(jù)上傳、列車作業(yè)調(diào)度計劃、外部系統(tǒng)日志流的引入、外部平臺的數(shù)據(jù)調(diào)用管理。
(2)數(shù)據(jù)層為算法層和應(yīng)用層提供一個高可靠的雙向數(shù)據(jù)通道,以實現(xiàn)實時數(shù)據(jù)和歷史數(shù)據(jù)的轉(zhuǎn)儲查詢功能應(yīng)用。
(3)邏輯層主要通過數(shù)據(jù)建模、智能推理、語義解析等方法與技術(shù)實現(xiàn)操作對象的累計損傷分析、健康狀態(tài)評估、故障診斷推理等功能。
(4)應(yīng)用層采用Web形式為用戶提供數(shù)據(jù)展示和調(diào)度交互信息,從而起到輔助決策的作用。
3? 系統(tǒng)集群構(gòu)建與部署
故障診斷系統(tǒng)以云計算架構(gòu)方式建設(shè)平臺(見圖3),實現(xiàn)IaaS、PaaS、SaaS三層構(gòu)建,實現(xiàn)硬件資源的虛擬池化、服務(wù)平臺彈性建設(shè)、應(yīng)用系統(tǒng)軟件的高效管理[5]。
在此基礎(chǔ)上,PasS層應(yīng)用Docker技術(shù)構(gòu)建應(yīng)用持續(xù)交付和彈性運行平臺,提供基礎(chǔ)架構(gòu)調(diào)度管理、多用戶及安全管理、業(yè)務(wù)應(yīng)用編排管理、日常運維開發(fā)管理、安全管理、業(yè)務(wù)迭代管理等能力,推動系統(tǒng)業(yè)務(wù)應(yīng)用敏捷交付和持續(xù)創(chuàng)新。
(1)數(shù)據(jù)監(jiān)控平臺包含3個Docker集群:根據(jù)設(shè)備傳輸類型匹配不同系統(tǒng)實例化的傳感數(shù)據(jù)采集Docker集群、實現(xiàn)與信息化服務(wù)平臺和云計算中心數(shù)據(jù)互傳的數(shù)據(jù)接口集群、數(shù)據(jù)存儲轉(zhuǎn)化Docker集群。
(2)信息化服務(wù)平臺由第三方系統(tǒng)數(shù)據(jù)集成Docker集群、人機(jī)交互模塊化子系統(tǒng)Docker集群兩部分構(gòu)成,用以實現(xiàn)故障診斷系統(tǒng)的遠(yuǎn)程在線監(jiān)控與運營維護(hù)管理。
(3)故障診斷云計算中心根據(jù)故障數(shù)據(jù)建模類型的不同搭建相應(yīng)的預(yù)警、診斷、預(yù)測、維護(hù)4個Docker集群,實現(xiàn)核心數(shù)據(jù)分析建模全周期過程。
系統(tǒng)在整合所有集群功能性能需求的基礎(chǔ)上實現(xiàn)各自鏡像制作、容器實例化及系統(tǒng)部署聯(lián)調(diào)操作,以構(gòu)建完整有序的故障診斷系統(tǒng)。
4? 結(jié)語
本文提出了一種基于Docker容器化管理的列車故障診斷系統(tǒng)方案。整體以系統(tǒng)業(yè)務(wù)與功能為劃分依據(jù),借助Docker容器搭建相應(yīng)的微服務(wù)模塊,有效保障系統(tǒng)的應(yīng)用配置最大優(yōu)化與高可擴(kuò)展,為后續(xù)系統(tǒng)長遠(yuǎn)應(yīng)用提供支撐。
參考文獻(xiàn)
[1] 任蘭芳,莊小君,付俊.Docker容器安全防護(hù)技術(shù)研究[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2020,33(3):73-78.
[2] 趙冠臣,王冬妮,劉至洋,等.淺談Docker容器技術(shù)[J].有線電視技術(shù),2019,26(9):85-88.
[3] 丁之彥.基于彈性分布式容器云架構(gòu)的敏捷開發(fā)運維體系[J].價值工程,2019,38(34):172-173.
[4] 白嘉萌,寇英帥,劉澤藝,等.云計算平臺基于角色的權(quán)限管理系統(tǒng)設(shè)計與實現(xiàn)[J].信息網(wǎng)絡(luò)安全,2020(1):75-82.
[5] 李植,陳莉君.一種適于Docker容器資源控制的分類預(yù)測方法[J].計算機(jī)與數(shù)字工程,2019,47(12):3063-3068.
[6] 王瑜琳,陳興劼,牟剛,等.軌道列車故障診斷系統(tǒng)設(shè)計與開發(fā)[J].科技視界,2020(17):150-152.