馮 凱 鄭 輝
(中鐵第一勘察設(shè)計院集團(tuán)有限公司, 710043, 西安)
數(shù)字孿生可將多個信息技術(shù)融合在一起,利用虛實交互這一技術(shù),使物理實體的虛擬映射效果取得了很大改進(jìn)。數(shù)字孿生已成為眾多行業(yè)走向智能化、信息化和數(shù)字化發(fā)展道路的助推器。基于數(shù)字孿生的全自動場段列檢作業(yè)管理系統(tǒng)是以BIM(建筑信息模型)應(yīng)用為核心的列檢車間數(shù)字孿生管控平臺(以下簡稱“管控平臺”)。
管控平臺不僅采用了BIM、大數(shù)據(jù)技術(shù),而且融合了物聯(lián)網(wǎng)及無線通信等眾多高新技術(shù),能夠?qū)⒏鱾€應(yīng)用的子系統(tǒng)高效聯(lián)通在一起,同時涵蓋數(shù)據(jù)的集成與建模功能,可實現(xiàn)高階業(yè)務(wù)價值。在業(yè)務(wù)管控方面,該平臺能夠發(fā)揮職能聯(lián)動、實施調(diào)控,以及高效運營和圖形可視等功能。
針對智慧列檢車間工程提出的創(chuàng)新業(yè)務(wù)功能需求,作為核心模塊的管控平臺能夠全面支撐該類創(chuàng)新業(yè)務(wù)功能的實現(xiàn)和創(chuàng)新,支撐各個應(yīng)用場景實時監(jiān)控、態(tài)勢分析及精準(zhǔn)管控。
管控平臺概念架構(gòu)如圖1所示。根據(jù)圖1的概念架構(gòu)圖,管控平臺由數(shù)據(jù)中心、服務(wù)中心和應(yīng)用中心3大功能模塊組成。
圖1 管控平臺概念架構(gòu)圖
1.1.1 數(shù)據(jù)中心
管控平臺數(shù)據(jù)來源分別是運用庫設(shè)備數(shù)據(jù)、外部業(yè)務(wù)數(shù)據(jù)和平臺內(nèi)部產(chǎn)生數(shù)據(jù)。運用庫設(shè)備數(shù)據(jù)是通過平臺中物聯(lián)網(wǎng)模塊直聯(lián)運用庫中的相關(guān)設(shè)備采集而來。外部業(yè)務(wù)數(shù)據(jù)由管控平臺通過第三方服務(wù)系統(tǒng)從運用庫設(shè)備系統(tǒng)中調(diào)用,如收發(fā)車計劃數(shù)據(jù)、列檢計劃數(shù)據(jù)、作業(yè)數(shù)據(jù)、告警數(shù)據(jù)等。平臺內(nèi)部產(chǎn)生數(shù)據(jù)為管控平臺在運行的過程中產(chǎn)生的,例如監(jiān)控數(shù)據(jù)、日志數(shù)據(jù)、權(quán)限數(shù)據(jù)、應(yīng)用數(shù)據(jù)、角色數(shù)據(jù)等。
1.1.2 服務(wù)中心
服務(wù)層是管控平臺最核心的運算單元。管理員通過角色權(quán)限分配(驗證)模塊可動態(tài)調(diào)整用戶權(quán)限;用戶通過應(yīng)用數(shù)據(jù)查詢統(tǒng)計分析模塊進(jìn)行多維度論證,可及時發(fā)現(xiàn)問題;通過告警提醒服務(wù)多方面機(jī)制進(jìn)行任務(wù)督辦,可提升效率;通過日志采集、審計持續(xù)模塊,可發(fā)現(xiàn)作業(yè)漏洞查漏補(bǔ)缺;通過設(shè)備管理模塊,后續(xù)可持續(xù)集成新的業(yè)務(wù),豐富生態(tài);通過一些基礎(chǔ)功能服務(wù)模塊,可確保上層應(yīng)用正常運行。
1.1.3 應(yīng)用中心
管控平臺通過分權(quán)分域可實現(xiàn)不同角色功能劃分,其應(yīng)用就大類而言可分為業(yè)務(wù)應(yīng)用和平臺應(yīng)用。
業(yè)務(wù)應(yīng)用能夠?qū)崿F(xiàn)對列檢車間的實時監(jiān)控,并能對列檢車間的運行消息進(jìn)行分析。業(yè)務(wù)應(yīng)用包括11個大模塊,分別為車間動態(tài)、作業(yè)監(jiān)控、3D探索、安全預(yù)警、故障提醒、作業(yè)回溯、出勤規(guī)劃、收發(fā)車計劃、作業(yè)看板、告警看板、告警分布。其中,車間動態(tài)模塊可實時監(jiān)控運用庫作業(yè)情況,安全預(yù)警模塊可進(jìn)行安全提醒、設(shè)備異常提醒和故障提醒等,作業(yè)看板和告警看板模塊主要作用是分析一段時間內(nèi)運用庫車間運行效率及相關(guān)異常情況。
管控平臺采用分布式環(huán)境下的微服務(wù)應(yīng)用架構(gòu),支持SOA(面向服務(wù)的體系架構(gòu)),能以全方位管控能力解決微服務(wù)應(yīng)用建設(shè)各階段問題,并可無縫集成普元產(chǎn)品體系。該平臺能夠幫助列檢車間進(jìn)行業(yè)務(wù)創(chuàng)新及快速推出創(chuàng)新成果,加速列檢車間數(shù)字化轉(zhuǎn)型。該平臺在核心組件基礎(chǔ)上可靈活集成組裝,各組件均采用無狀態(tài)組件,內(nèi)存數(shù)據(jù)全部存入Redis(遠(yuǎn)程字典服務(wù))數(shù)據(jù)庫。管控平臺技術(shù)架構(gòu)如圖2所示。
圖2 管控平臺技術(shù)架構(gòu)圖
微服務(wù)即為單個小型但具備業(yè)務(wù)處理能力的服務(wù)。在微服務(wù)中,每一個服務(wù)都能夠處理業(yè)務(wù),并且具備輕量通信機(jī)制,不僅能夠附著在一個服務(wù)器上,在多服務(wù)器中也能夠正常運行[1]。也可以將微服務(wù)看作是一種服務(wù)架構(gòu),有松耦合和有界上下文特征[2]。換而言之,當(dāng)各服務(wù)需要同時進(jìn)行修改時,就不屬于微服務(wù)范疇,因其為緊密耦合關(guān)系;當(dāng)服務(wù)的上下文場景太多時,該服務(wù)即為一個有上下文邊界的服務(wù)。DDD(領(lǐng)域驅(qū)動設(shè)計)對這一定義進(jìn)行了明確解釋。與單體架構(gòu)及SOA相比,微服務(wù)具有組件化、自治、松耦合和去中心化特征[3],具體表現(xiàn)為:
1) 及時的需求響應(yīng)。采用敏捷的開發(fā)模式,可及時應(yīng)對平臺功能的增加和需求的變化。
2) 開放性的技術(shù)架構(gòu)。微服務(wù)采用開放技術(shù)架構(gòu),不僅能夠大大減小系統(tǒng)間的耦合度,而且也可明顯提升擴(kuò)展性能。
3) 插拔式的模塊組件。采用容器化模塊部署,基礎(chǔ)中間件支持各模塊插拔式的業(yè)務(wù)部署。
基于微服務(wù)架構(gòu)的管控平臺可有效解決以下問題:
1) 架構(gòu)老舊。無法適應(yīng)開發(fā)過程中正常的需求變更。
2) 模塊耦合。無法適應(yīng)平臺遠(yuǎn)期功能擴(kuò)展需要。
3) 流程復(fù)雜。無法滿足多模塊之間的輕量級交互需求。
4) 擴(kuò)展性差。無法支撐長遠(yuǎn)的數(shù)據(jù)及業(yè)務(wù)增量處理。
5) 依賴性大。無法實現(xiàn)系統(tǒng)部署后的高效化運維。
基于列檢車間業(yè)務(wù)領(lǐng)域組件,管控平臺對應(yīng)用進(jìn)行了構(gòu)建,這些應(yīng)用不僅能夠被獨立管理、開發(fā)和迭代,同時也能夠通過插件形式在系統(tǒng)中間平臺中完整運行。管控平臺通過多服務(wù)模塊融合能夠解決更大、更實際的問題。
在管控平臺中,微服務(wù)就是技術(shù)構(gòu)架圖中“Docker容器集群”中所有服務(wù)。
1) 文件服務(wù)。整個文件服務(wù)采用restAPI接口方式注冊進(jìn)入微服務(wù)調(diào)度器,使用Docker容器封裝,支持服務(wù)多實例分布式部署。微服務(wù)調(diào)度器根據(jù)實例的資源占用情況,動態(tài)調(diào)用相對空閑的實例實現(xiàn)原子級的負(fù)載均衡;根據(jù)資源的使用情況,動態(tài)調(diào)整實例個數(shù)。在文件的讀寫方面,由于采用集群化部署,因此需要指定一臺單獨的文件服務(wù)器,采用SSH(安全外殼協(xié)議)完成登錄讀寫功能。
2) 應(yīng)用管理服務(wù)。應(yīng)用倉庫服務(wù)包含應(yīng)用注冊、注銷、查詢、權(quán)限分配功能,主要服務(wù)于系統(tǒng)管理員。作為無狀態(tài)組件用Docker封裝,以restAPI組件方式插入微服務(wù)調(diào)度器。
3) 消息通知服務(wù)。通過ActiveMQ消息服務(wù)對信息進(jìn)行轉(zhuǎn)發(fā)、廣播,消息內(nèi)容為業(yè)務(wù)流程中間過程的重要消息和提醒消息。作為無狀態(tài)組件用Docker封裝,以restAPI組件方式插入微服務(wù)調(diào)度器。
4) 權(quán)限服務(wù)。應(yīng)用權(quán)限服務(wù)支持應(yīng)用權(quán)限分配和權(quán)限認(rèn)證。作為無狀態(tài)組件用Docker封裝,以restAPI組件方式插入微服務(wù)調(diào)度器。
5) 監(jiān)控服務(wù)。為平臺內(nèi)部服務(wù),用于實現(xiàn)應(yīng)用監(jiān)控、任務(wù)監(jiān)控和日志監(jiān)控。作為無狀態(tài)組件用Docker封裝,以restAPI組件方式插入微服務(wù)調(diào)度器。
6) 數(shù)據(jù)統(tǒng)計分析服務(wù)。為平臺內(nèi)部服務(wù),用于實現(xiàn)應(yīng)用監(jiān)控、任務(wù)監(jiān)控和日志監(jiān)控。作為無狀態(tài)組件用Docker封裝,以restAPI組件方式插入微服務(wù)調(diào)度器。
7) 外部數(shù)據(jù)訪問服務(wù)。為對外數(shù)據(jù)訪問統(tǒng)一出口。作為無狀態(tài)組件用Docker封裝,以restAPI組件方式插入微服務(wù)調(diào)度器。
管控平臺存儲架構(gòu)如圖3所示。鑒于目前的數(shù)據(jù)源相對單一,且數(shù)據(jù)格式相對固定,關(guān)系型數(shù)據(jù)庫MySQL+內(nèi)存數(shù)據(jù)庫Redis+文件服務(wù)器可滿足系統(tǒng)存儲需求,并支持?jǐn)?shù)據(jù)備份。
圖3 管控平臺存儲架構(gòu)圖
1) MySQL數(shù)據(jù)庫主要是對邏輯組織、邏輯基礎(chǔ)等數(shù)據(jù)進(jìn)行存儲管理[4],包括用戶數(shù)據(jù)、角色數(shù)據(jù)、日志數(shù)據(jù)、應(yīng)用數(shù)據(jù)、消息數(shù)據(jù)、任務(wù)數(shù)據(jù)、應(yīng)用歷史數(shù)據(jù)、權(quán)限列表和角色綁定等數(shù)據(jù)。
2) 為加快系統(tǒng)的響應(yīng)速度,需盡量避免頻繁讀寫數(shù)據(jù)庫,因此常用數(shù)據(jù)需要存入內(nèi)存數(shù)據(jù)庫Redis,以減少讀寫數(shù)據(jù)庫所耗費的時間。
3) 業(yè)務(wù)應(yīng)用中有大量的文件操作功能,為保持后續(xù)良好的擴(kuò)展性,需要使用獨立的文件服務(wù)統(tǒng)一存儲文件。
4) 為了提升數(shù)據(jù)安全性,該數(shù)據(jù)庫提供了同步程序,為數(shù)據(jù)庫備份提供支持,從而提升數(shù)據(jù)庫系統(tǒng)的抗風(fēng)險能力[5]。
管控平臺安全構(gòu)架如圖4所示。該安全架構(gòu)包括邊界策略、訪問控制策略、過程透明策略和數(shù)據(jù)加密策略4項安全功能。
圖4 管控平臺安全架構(gòu)圖
1.4.1 邊界策略
1) 統(tǒng)一身份認(rèn)證。利用外部用戶控制機(jī)制對集群訪問環(huán)節(jié)的用戶身份進(jìn)行鑒別。這是該平臺安全框架的重要前提。作為一種安全技術(shù),身份驗證在企業(yè)中有著廣泛的應(yīng)用,能夠保障企業(yè)信息安全。管控平臺采用統(tǒng)一身份認(rèn)證方式,將認(rèn)證成功的身份采用標(biāo)志存入內(nèi)存數(shù)據(jù)庫,對每次的訪問請求進(jìn)行標(biāo)志校驗。
2) 網(wǎng)絡(luò)隔離。該技術(shù)可以顯著提高網(wǎng)絡(luò)的安全性。
3) 傳輸安全。為了提升數(shù)據(jù)傳輸安全性,需要為其配置安全接口,同時還需要提升數(shù)據(jù)傳輸協(xié)議的安全性,這樣就能有效規(guī)避各種非法手段對信息進(jìn)行盜取或竊密。
1.4.2 訪問控制策略
1) 權(quán)限控制。這主要涉及到授信管理、鑒權(quán)等,也就是要確保相關(guān)數(shù)據(jù)、資源、操作、平臺的運用都有相應(yīng)權(quán)限支持,防范越權(quán)訪問問題。
2) 角色管理??梢园巡煌哪K與對象權(quán)限進(jìn)行融合,形成一個叫作角色的集合。在劃分系統(tǒng)功能模塊之后,各角色能夠找到與自己相匹配的模塊,這樣也就形成了不同的訪問權(quán)限控制,進(jìn)而對沒有訪問該模塊權(quán)限的用戶進(jìn)行限制。
3) 審計管理。以底層為基礎(chǔ),對數(shù)據(jù)進(jìn)行審計。立足于數(shù)據(jù)運用、權(quán)限管理等對管控平臺進(jìn)行安全審計,及時發(fā)現(xiàn)管控平臺中的局限性。按照具體問題的嚴(yán)重性進(jìn)行隱患排除,保護(hù)數(shù)據(jù),并可據(jù)此進(jìn)行追責(zé)。
1.4.3 過程透明策略
1) 數(shù)據(jù)生命周期管理。審計日志記錄用戶操作信息,并可通過快速定位系統(tǒng)判定相關(guān)操作是否為惡意攻擊。審計日志中的用戶敏感信息需規(guī)避審計。
2) 日志審計。這項審計工作無疑是數(shù)據(jù)溯源與管理、檢測攻擊情況的重要方式。
1.4.4 數(shù)據(jù)加密策略
數(shù)據(jù)在傳輸與靜態(tài)存儲時,需要對其進(jìn)行加密保護(hù)。當(dāng)發(fā)現(xiàn)敏感數(shù)據(jù)被越權(quán)訪問時,應(yīng)能對其進(jìn)行保護(hù)。在數(shù)據(jù)加解密層面,需要通過高效方案實現(xiàn)數(shù)據(jù)存儲,以及端到端的低延遲和高性能的加解密。管控平臺中各應(yīng)用的重要的信息和數(shù)據(jù)均存儲于數(shù)據(jù)庫中,因此要格外重視數(shù)據(jù)庫的安全性。在應(yīng)用系統(tǒng)開發(fā)時,使用最為頻繁的安全技術(shù)就是加密技術(shù)。利用技術(shù)手段將關(guān)鍵數(shù)據(jù)轉(zhuǎn)換成亂碼,也就是加密,之后再對數(shù)據(jù)進(jìn)行傳送。換言之,就是對數(shù)據(jù)進(jìn)行編碼,使之難以被非法入侵者閱讀理解,進(jìn)而確保數(shù)據(jù)始終處于安全狀態(tài)。當(dāng)數(shù)據(jù)被傳送到目的地之后,利用一些方法再還原或解密數(shù)據(jù)。
城市軌道交通車輛基地建設(shè)過程中所使用的信息技術(shù)越來越多,數(shù)字孿生的應(yīng)用將會更加廣泛,且可以取得良好的成效。目前,數(shù)字孿生應(yīng)用還存在兩方面問題,一是存在一些亟須解決的技術(shù)問題,二是應(yīng)用范圍依然需要進(jìn)一步拓寬?;跀?shù)字孿生的全自動場段列檢作業(yè)管理系統(tǒng)已在南寧地鐵5號線車輛基地成功應(yīng)用。后續(xù)要充分重視數(shù)字孿生應(yīng)用的研究工作,推動數(shù)字孿生在城市軌道交通領(lǐng)域更加廣泛的應(yīng)用。