金昌根
(中鐵橋隧技術(shù)有限公司,江蘇 南京 210061)
當(dāng)前,城市橋梁群運(yùn)維主要依靠基于傳統(tǒng)互聯(lián)網(wǎng)的平面化管理模式。隨著互聯(lián)網(wǎng)應(yīng)用、BIM技術(shù)、GIS技術(shù)的普及,以及大數(shù)據(jù)、虛擬化技術(shù)、物聯(lián)網(wǎng)、云計(jì)算技術(shù)的日漸成熟,結(jié)合城市橋梁群結(jié)構(gòu)復(fù)雜、數(shù)量眾多、地理空間較為分散等特點(diǎn),傳統(tǒng)城市橋梁群運(yùn)維管理必定會向可視化程度更高的BIM+GIS運(yùn)維管理方向進(jìn)行升級[1]。BIM技術(shù)的優(yōu)勢在于通過BIM模型,將運(yùn)營養(yǎng)護(hù)管理中的各項(xiàng)數(shù)據(jù)有機(jī)聯(lián)系起來,從二維信息管理轉(zhuǎn)變?yōu)槿S可視化的信息管理,大大增強(qiáng)結(jié)構(gòu)狀態(tài)的表現(xiàn)力和各階段信息的提取能力,為橋梁群運(yùn)維提供便捷化、個性化的數(shù)據(jù)服務(wù)[2-3]。GIS技術(shù)利用在線地圖服務(wù)提供遙感影像、行政區(qū)劃等多級瓦片地圖,為城市橋梁群的安全運(yùn)維提供了清晰的空間定位。BIM+GIS運(yùn)維管理平臺需要負(fù)載龐大的橋梁BIM模型和復(fù)雜的地圖瓦片,單體應(yīng)用架構(gòu)難以滿足BIM+GIS數(shù)據(jù)快速加載與響應(yīng)的需求,并且會帶來復(fù)雜性高、可靠性低、擴(kuò)展能力受限等諸多問題。近年來,微服務(wù)架構(gòu)以其獨(dú)立部署、耦合度低、業(yè)務(wù)擴(kuò)展能力強(qiáng)、可靠性高等優(yōu)點(diǎn)成為火熱的開發(fā)架構(gòu)之一,使用該架構(gòu)能夠高效流暢地加載體量巨大的橋梁群BIM模型、GIS空間數(shù)據(jù)以及海量巡檢養(yǎng)護(hù)動態(tài)數(shù)據(jù),并提供良好的用戶體驗(yàn)。本文旨在通過以城市橋梁群運(yùn)維管理為實(shí)際業(yè)務(wù)場景,利用BIM+GIS技術(shù),完成城市橋梁群BIM+GIS運(yùn)維管理平臺微服務(wù)架構(gòu)的設(shè)計(jì)與構(gòu)建。
城市橋梁群在運(yùn)營使用期間,橋梁結(jié)構(gòu)及附屬設(shè)施設(shè)備會出現(xiàn)病害,需要維護(hù)、更換、加固等。通過BIM技術(shù)可以記錄和展示橋梁長期運(yùn)營過程中橋梁結(jié)構(gòu)及設(shè)備設(shè)施的狀態(tài)變化,形成橋梁設(shè)備設(shè)施履歷信息庫[4];管理者可利用該庫掌握橋梁設(shè)備設(shè)施的運(yùn)營狀態(tài),按需制定各類檢查、養(yǎng)護(hù)計(jì)劃,從而確保橋梁性能符合標(biāo)準(zhǔn)規(guī)范。而GIS技術(shù)能夠?qū)Τ鞘袠蛄喝哼M(jìn)行空間管理和追蹤,利用GIS定位、導(dǎo)航等功能,使得運(yùn)維管理團(tuán)隊(duì)能夠迅速到達(dá)橋梁群出現(xiàn)異常的具體位置,對異常問題進(jìn)行快速研判與處理。使用BIM+GIS技術(shù),能夠讓城市橋梁群運(yùn)維由原先的平面二維管理轉(zhuǎn)變成更加高效直觀的三維可視化管理,提升了運(yùn)維管理的質(zhì)量和效率。為了解決BIM+GIS集成的技術(shù)難題,實(shí)現(xiàn)BIM+GIS應(yīng)用場景的無縫對接,平臺采用了SuperMap GIS引擎,該引擎在GIS平臺、BIM模型高效分級加載等關(guān)鍵技術(shù)[5]上取得了重大突破,利用在GIS中構(gòu)建三維數(shù)據(jù)模型,實(shí)現(xiàn)了BIM+GIS的融合應(yīng)用。
微服務(wù)架構(gòu)將單體應(yīng)用程序拆分為若干組小型服務(wù),每組小型服務(wù)都在其內(nèi)部容器中運(yùn)行,服務(wù)之間使用基于RestFul Http的協(xié)議進(jìn)行通信[6]。這些服務(wù)圍繞著不同的業(yè)務(wù)功能進(jìn)行構(gòu)建,遵循功能單一的原則,可以通過自動化部署機(jī)制進(jìn)行分布式部署。微服務(wù)架構(gòu)應(yīng)用在城市橋梁群BIM+GIS運(yùn)維管理平臺中具有如下優(yōu)勢:(1)微服務(wù)是一個獨(dú)立的應(yīng)用程序,能夠獨(dú)立部署和運(yùn)行;(2)微服務(wù)運(yùn)行在高可用的分布式環(huán)境當(dāng)中,系統(tǒng)的穩(wěn)定性、可靠性將大大提升;(3)每個微服務(wù)專注于一個相對獨(dú)立的業(yè)務(wù)功能,可擴(kuò)展性優(yōu)秀;(4)不同開發(fā)團(tuán)隊(duì)可根據(jù)自身技術(shù)特點(diǎn)選擇更適配的技術(shù)路線,技術(shù)升級重構(gòu)難度降低,易開發(fā)性良好。
城市橋梁的建、管、養(yǎng)等信息系統(tǒng)經(jīng)過多年的發(fā)展,功能模塊眾多;隨著管理和用戶認(rèn)知的升級,新的應(yīng)用需求還將不斷被提出。融合各類信息系統(tǒng)的城市橋梁群運(yùn)維管理平臺,功能需求更為復(fù)雜,需要不斷的迭代設(shè)計(jì)和開發(fā),基于微服務(wù)架構(gòu)的開發(fā)無疑是最適合的開發(fā)模式。
本文研發(fā)的城市橋梁群BIM+GIS運(yùn)維管理平臺是一個Java EE分布式微服架構(gòu)平臺,后端采用Spring Boot,持久層組件使用的是MyBatis,數(shù)據(jù)庫使用輕量級關(guān)系數(shù)據(jù)庫MySQL和緩存庫Redis,前端采用基于Vue的Element UI框架。BIM+GIS融合方面采用SuperMap GIS引擎。平臺微服架構(gòu)方面選擇開源性更好、開發(fā)者生態(tài)更優(yōu)的Spring Cloud&Alibaba框架。
規(guī)劃好產(chǎn)品服務(wù)是微服務(wù)架構(gòu)系統(tǒng)開發(fā)成敗的關(guān)鍵,在規(guī)劃產(chǎn)品服務(wù)時(shí)應(yīng)以單一職責(zé)、服務(wù)粒度適中、避免環(huán)形或雙向依賴為原則。根據(jù)自上而下的原則,城市橋梁群BIM+GIS運(yùn)維管理平臺分為基礎(chǔ)數(shù)據(jù)層、網(wǎng)絡(luò)接入層、業(yè)務(wù)支撐層、業(yè)務(wù)應(yīng)用層、服務(wù)展示層、服務(wù)對象層,分層設(shè)計(jì)使平臺可以完美的支撐各類綜合業(yè)務(wù),同時(shí)也更易進(jìn)行擴(kuò)展。平臺總體架構(gòu)如圖1所示。
圖1 總體架構(gòu)
(1)基礎(chǔ)數(shù)據(jù)層。該層為整個平臺的運(yùn)行提供各類數(shù)據(jù),包括橋梁監(jiān)測數(shù)據(jù)、管養(yǎng)業(yè)務(wù)數(shù)據(jù)、BIM模型數(shù)據(jù)、GIS矢量數(shù)據(jù)等。
(2)網(wǎng)絡(luò)接入層。該層是運(yùn)維平臺的基礎(chǔ),為各系統(tǒng)間提供通信鏈路以及數(shù)據(jù)傳輸通道。
(3)業(yè)務(wù)支撐層。該層包括設(shè)備支撐、數(shù)據(jù)支撐和服務(wù)支撐三部分。設(shè)施支撐為平臺安全穩(wěn)定可靠的運(yùn)行提供硬件基礎(chǔ);數(shù)據(jù)支撐為業(yè)務(wù)應(yīng)用層提供數(shù)據(jù)服務(wù);服務(wù)支撐完成了數(shù)據(jù)的匯聚以及各類中間件的接入。
(4)業(yè)務(wù)應(yīng)用層。該層在業(yè)務(wù)支撐層提供的計(jì)算、存儲、數(shù)據(jù)等能力基礎(chǔ)上,通過自研微服務(wù)架構(gòu)技術(shù)將各類數(shù)據(jù)根據(jù)城市橋梁群運(yùn)維管理需求進(jìn)行重新梳理整合,主要包括城市橋梁群基礎(chǔ)業(yè)務(wù)管理、城市橋梁群巡檢管理、城市橋梁群養(yǎng)護(hù)管理、城市橋梁群三維可視化管理等。
(5)服務(wù)展示層。該層是各類應(yīng)用對外的服務(wù)載體,主要包括后臺管理、綜合可視化大屏、移動App等。
(6)用戶層。該層是指所面向的對象,主要包括管養(yǎng)單位管理人員、基層巡查人員、上級領(lǐng)導(dǎo)和其他訪客等。
平臺的設(shè)計(jì)與開發(fā)模式為前后端分離,前端采用基于JavaScript的VUE框架,使用組件化開發(fā)模式,封裝常用組件,實(shí)現(xiàn)架構(gòu)級別的復(fù)用,并將重點(diǎn)放在流暢的頁面、快速的交互響應(yīng)、良好的用戶體驗(yàn)等目標(biāo)上;后端則采用了基于Spring Boot的微服務(wù)框架[7](見圖2)。平臺通過對整體業(yè)務(wù)需求的分析與提煉,最大程度實(shí)現(xiàn)服務(wù)原子化,構(gòu)建邏輯層面的微服務(wù)體系。
圖2 邏輯架構(gòu)
(1)API服務(wù)網(wǎng)關(guān):API網(wǎng)關(guān)是系統(tǒng)的后端統(tǒng)一入口,能夠提供規(guī)范化、標(biāo)準(zhǔn)化的API接口。API網(wǎng)關(guān)位于具體業(yè)務(wù)服務(wù)與負(fù)載均衡之間,負(fù)責(zé)將客戶端服務(wù)調(diào)用者的請求,精確的轉(zhuǎn)發(fā)到對應(yīng)的服務(wù)實(shí)例。API服務(wù)網(wǎng)關(guān)與核心業(yè)務(wù)邏輯無關(guān),能夠?qū)崿F(xiàn)日志監(jiān)控、限流熔斷等切面功能。(2)認(rèn)證中心:其主要功能就是判別用戶請求的合法性。系統(tǒng)采用token的方式,用戶成功認(rèn)證后,所有請求都攜帶token進(jìn)行安全認(rèn)證,用于控制可訪問的系統(tǒng)資源。(3)注冊與配置中心:其在微服務(wù)架構(gòu)中扮演著非常重要的角色,是微服務(wù)架構(gòu)中的紐帶,類似于通訊錄,記錄了服務(wù)和服務(wù)地址的映射關(guān)系。系統(tǒng)采用阿里巴巴開源的Nacos作為注冊與配置中心,構(gòu)建了一個服務(wù)實(shí)例發(fā)現(xiàn)和服務(wù)健康監(jiān)控、配置動態(tài)管理的平臺,保證微服務(wù)基礎(chǔ)設(shè)施的流暢運(yùn)行。(4)應(yīng)用容器部署:微服務(wù)架構(gòu)下,當(dāng)眾多的應(yīng)用服務(wù)實(shí)例需要更新升級或者遷移時(shí),其發(fā)布及部署的過程異常繁雜。使用容器化部署能夠完美地解決上述問題[8]。通過應(yīng)用容器部署,可以實(shí)現(xiàn)版本控制、組件復(fù)用等功能,真正做到一次構(gòu)建,多次交付。(5)分布式日志:針對日志分析的場景,實(shí)時(shí)記錄應(yīng)用服務(wù)實(shí)例的調(diào)用情況,如用戶登錄、用戶刪除等操作記錄,實(shí)現(xiàn)可追溯的系統(tǒng)審計(jì)功能。(6)熔斷和降級:微服務(wù)架構(gòu)中,多個微服務(wù)構(gòu)成一個完整的應(yīng)用,各微服務(wù)之間必然存在互相調(diào)用,因此微服務(wù)運(yùn)行的穩(wěn)定性尤為重要。系統(tǒng)采用阿里開源的Sentinel組件,該組件在分布式服務(wù)體系結(jié)構(gòu)中承擔(dān)著流量控制的角色,使用流量限制、斷路控制、自動降級等手段來保證微服務(wù)的穩(wěn)定運(yùn)行。
城市橋梁群BIM+GIS運(yùn)維管理平臺基于微服架構(gòu),實(shí)現(xiàn)了城市橋梁群運(yùn)維三維可視化立體管理,具體功能模塊如圖3所示。
圖3 城市橋梁群BIM+GIS運(yùn)維管理平臺功能模塊
下面針對平臺中的部分核心功能模塊說明如下:
平臺根據(jù)橋梁群管養(yǎng)過程中關(guān)聯(lián)的資產(chǎn)類型,將資產(chǎn)分為橋梁結(jié)構(gòu)資產(chǎn)、橋梁附屬設(shè)備資產(chǎn)等。資產(chǎn)信息主要包括資產(chǎn)編號、資產(chǎn)名稱、資產(chǎn)類型以及資產(chǎn)狀態(tài)等。平臺通過建立資產(chǎn)模型,實(shí)現(xiàn)資產(chǎn)管養(yǎng)清單與資產(chǎn)模型的關(guān)聯(lián),管養(yǎng)者可通過模型或動態(tài)表格查詢資產(chǎn)狀況。
平臺基于BIM模型,利用橋梁群健康監(jiān)測數(shù)據(jù),將橋梁群結(jié)構(gòu)響應(yīng)以3D方式進(jìn)行呈現(xiàn);如通過結(jié)構(gòu)溫度監(jiān)測數(shù)據(jù)生成溫度場數(shù)據(jù),在BIM模型中虛擬橋梁溫度場;通過應(yīng)變監(jiān)測數(shù)據(jù)生成應(yīng)力云數(shù)據(jù),在BIM模型中虛擬橋梁應(yīng)力分布;通過撓度以及GNSS監(jiān)測數(shù)據(jù),在BIM模型中虛擬橋梁形變。
平臺將橋梁群巡檢病害與構(gòu)件、BIM模型關(guān)聯(lián),實(shí)現(xiàn)了在BIM模型上查看橋梁存在的病害,包括病害類型、病害位置、病害照片、病害程度、病害發(fā)展。病害在BIM模型上顯示,可以讓管養(yǎng)者直觀了解各類病害的位置分布,便于制定更合理的保養(yǎng)和維修計(jì)劃。
平臺通過建立應(yīng)急物資模型庫,如各類車輛、人員、路錐、水碼、標(biāo)識標(biāo)牌、工程車輛、著火點(diǎn)等模型,讓用戶可以在BIM模型上拖拽布置對象;同時(shí),平臺提供路線規(guī)劃、線路標(biāo)識、運(yùn)動動畫設(shè)置等功能,可以仿真車輛、人員運(yùn)動軌跡;在緊急事件發(fā)生時(shí),管理人員可根據(jù)BIM中的虛擬處理方案,快速調(diào)配資源、指揮現(xiàn)場應(yīng)急處理。
平臺通過對移動終端的GNSS定位信息(人員、車輛位置)進(jìn)行收集,并在BIM模型中模擬人員和車輛位置,生成運(yùn)動軌跡,為應(yīng)急事件處理時(shí)就近調(diào)度人員和車輛提供方便。
平臺能夠利用稱重系統(tǒng)、交通監(jiān)控系統(tǒng)采集的橋上車輛通行數(shù)據(jù),并在BIM模型上模擬車輛運(yùn)行軌跡,直觀反映橋梁通行狀態(tài)。
移動App為管養(yǎng)人員提供了一個使用方便、及時(shí)可靠、功能強(qiáng)大的管養(yǎng)利器。移動App提供的任務(wù)下載功能,可讓管養(yǎng)人員隨時(shí)隨地接收最新巡檢養(yǎng)護(hù)任務(wù),保證巡檢養(yǎng)護(hù)的及時(shí)性;移動App提供的問題上報(bào)功能,可在管養(yǎng)人員上報(bào)病害的同時(shí),上傳病害和人員的定位信息,結(jié)合GIS地圖,實(shí)時(shí)展現(xiàn)病害情況。
本文研究分析利用微服務(wù)架構(gòu)構(gòu)建城市橋梁群運(yùn)維管理平臺,并利用BIM+GIS的融合,提供了一種新型的信息化管養(yǎng)理念。平臺通過BIM模型為載體,引入GIS提供橋梁空間數(shù)據(jù),實(shí)現(xiàn)了橋梁群運(yùn)維管理場景的三維可視化,能夠滿足不同管養(yǎng)層級人員的管理需求。微服務(wù)架構(gòu)的引入則提高了平臺的響應(yīng)速度、承載能力、可靠性、可擴(kuò)展性、用戶體驗(yàn)度。該平臺已在某市政設(shè)施管養(yǎng)單位進(jìn)行了應(yīng)用,有效地提升了該單位橋梁群管養(yǎng)的工作效率;平臺統(tǒng)籌規(guī)劃并預(yù)留了橋梁之外的其他市政設(shè)施的接口,后續(xù)能夠接入道路、泵站等市政設(shè)施的管養(yǎng)數(shù)據(jù),實(shí)現(xiàn)市政設(shè)施“一張圖”的管理模式,為市政設(shè)施的安全運(yùn)行提供高質(zhì)量保障。