李翔宇,張宇峰
(1.廣州珠江黃埔大橋建設有限公司,廣東 廣州 511434;2.蘇交科集團股份有限公司,江蘇 南京 210012;3.在役長大橋梁安全與健康國家重點實驗室,江蘇 南京 210012;4.江蘇省長大橋梁健康監測數據中心,江蘇 南京 210012)
伴隨著我國橋梁建設的突飛猛進,國內重點區域大跨徑橋梁的安全與健康保障問題日益凸顯。運用結構健康監測(Structural Health Monitoring, SHM)技術,利用現場的傳感設備獲取相關數據,再通過對包括結構響應在內的橋梁結構系統特性進行分析,可達到監測結構損傷或退化的目的[1]。
目前,健康監測系統已在江蘇省內的眾多長大橋梁中得到成功應用,最早的江陰長江公路大橋結構健康監測系統1999年即已建立,是國內最早的橋梁結構健康監測系統之一。2010年,江蘇省又在全國率先組建了第一家區域橋梁監測數據中心—江蘇省長大橋梁健康監測數據中心,目前該數據中心管理著江蘇交通控股有限公司旗下的5座江蘇省內長江公路大橋和2座高速公路大跨徑索承橋梁。在數據中心的管理下,7座大橋的監測系統總體運行正常,目前已積累了高達2萬億條,20 TB的監測數據,通過對這些數據的分析,不僅產生了大量學術成果[2-11],而且為大橋的科學管養發揮了重要支撐作用。但由于各大橋健康監測軟件系統的總體技術方案和核心部分采用的是2003年建立江蘇省內第一座自主研發橋梁健康監測系統時的技術,各大橋與數據中心間的數據傳輸與數據中心的數據存儲方案采用的是2010年時的技術方案,上述方案在建立之初確實代表著當時健康監測技術的先進水平,并在后續進行了一些小范圍優化,但其所采用的基于“服務器+客戶端”的傳統系統架構[12],已表現出越來越多的問題,如:客戶端兼容性差、擴展能力不足、數據展現方式單一、數據存儲零散、時序數據處理效率低、大數據分析能力弱及系統版本管理分散等,已無法滿足當前技術條件下對橋梁結構健康監測系統在數據傳輸、存儲、展示和分析等方面的需求。
近年來,Web、云、機器學習等技術高速發展迭代,云技術提供了軟硬件一體化的存儲、計算和網絡服務,具有高效、穩定、可靠及高可拓展性等優勢;Web技術提供了更豐富的數據展現形式,更便捷的訪問渠道,更人性化的交互設計;機器學習技術則提供了更靈活、更廣泛的數據處理分析平臺,因此已逐漸成為橋梁健康監測系統重要的軟件平臺構建核心技術。借助這些技術以及江蘇省長大橋梁健康監測數據中心在監測數據管理、適配、計算、存儲和傳輸等方面積累的經驗,筆者設計并研發了江蘇省長大橋梁健康監測云平臺,目前已完成了對原有7座特大型橋梁結構健康監測系統的升級改造。
江蘇省長大橋梁健康監測云平臺架構采用縱向五層,橫向兩中心的總體框架設計方案,如圖1所示。

圖1 江蘇省長大橋梁健康監測云平臺系統設計架構
有別于傳統的“服務器+客戶端”模式,本方案通過完整的云服務架構分離了監測中心及數據中心兩個系統層級。
監測中心通常部署在橋址附近,是傳輸及存儲的中間匯總環節,可作為備機實現平臺系統的部分離線功能,是一座大橋的重要監測業務節點。
數據中心提供云服務的存儲及計算中心,根據不同情況可采用租用公有云服務、自建私有云數據中心或混合云平臺。由于云平臺架構一致,因此可較容易地實現在各種云服務(私有云、混合云及公有云)之間的業務遷移和拓展。
不同于傳統Web系統的三層架構(表現層、業務邏輯層和數據訪問層),本監測云平臺采用五層架構:展現層、應用層、數據層、傳輸層和感知層。
感知層主要用于保證對傳感器驅動的兼容性,與數據采集系統版本相匹配。本云平臺在感知層設計了統一的文件編碼格式、傳輸協議,以保障傳輸效率及可靠性;設計了健康監測系統自檢模塊,以提供一定范圍內的問題自動處理能力;結合傳輸協議,優化數據存儲方式,自主開發了兼顧存儲效率與安全性的數據壓縮算法。
傳輸層在監測中心內部使用基于光纖網絡的LAN傳輸數據,并預留了基于4G/5G的傳輸接口;在監測中心到數據中心之間采用增加冗余線路及帶寬、增設硬件防火墻及點對點物理VPN設備、部署數據中心接入服務和配置負載均衡策略等技術。
數據層用以實現數據訪問相關功能。在數據庫架構上針對監測數據優化,本云平臺數據層應用了類似HANA技術[13],根據數據的使用頻度進行分類,將其區分為熱數據、溫數據和冷數據,對三類數據采取分硬件分區存儲方案,提供不同級別的訪問權限,從而可在較優的成本控制下保障訪問效率。數據存儲采用彈性存儲架構,可按需進行硬件擴容;數據管理采用關系型與非關系型數據庫混合存儲機制,數據存儲服務采用云方式部署,可在多類云平臺間平滑遷移。
應用層分別面向數據分析單位及橋梁管養單位實現了平臺的業務邏輯。面向數據分析單位的應用層采用軟件即服務(SaaS)架構[14],提供了虛擬化訪問、數據分析共享等服務,并接入了開放的科學計算平臺,可提供復雜分析功能。面向橋梁管養單位的應用層則對系統功能進行了全新規劃,可支撐多橋、多數據類型、多維度業務及數據處理與統計需求。
展示層采用B/S架構,可實現對用戶界面的深度定制化設計。客戶端可兼容目前常見主流瀏覽器及操作系統,可通過個人電腦、顯示大屏、手機及平板等方式訪問系統,并設計了基于微信平臺的移動端應用,提供了重要信息的多種訪問形式。此外,系統還提供了多渠道推送報警信息功能,包括網頁彈窗、微信消息推送及郵件等。
本云平臺采用了先進的微服務框架模式,強調橋群、云架構、智能、拓展和實用原則。從開發技術來看:本云平臺基于Java EE,以Spring boot2為主框架,采用Spring Cloud實現分布式管理,采用Spring Data管理持久層,使用Oracle、Redis、TSDB等存儲系統構建了混合型存儲,以Layui為模板引擎,并自行研發了二進制數據服務集。
云平臺各層均有關鍵技術創新和特色設計,包括以下幾方面:
(1)感知層的自檢與邊緣計算;
(2)傳輸層復雜環境下的大流量數據傳輸技術;
(3)數據層針對時序數據的模塊化設計;
(4)應用層開放式數據分析及智能服務平臺;
(5)展現層交互設計。
感知層設計開發了系統自檢模塊,自動檢查傳感器工作狀態、系統網絡狀態及數據采集情況等。自檢信息可通過郵件和短信形式提醒管理員,并自動生成日志文件,從而在傳感采集端實現輸出接口的協議統一。基于LabVIEW研發了初步的數據壓縮合并、數據清洗、數據閾值報警、實時Socket通信接口及采集日志跟蹤等功能。并實現了部分初步數據處理任務的邊緣化,為系統穩定提供了保障。
有別于傳統軟件系統的數據傳輸需求,橋梁監測數據傳輸往往具有傳輸距離長、采集環境復雜、網絡條件差、干擾信息多、傳輸節點數龐大等特點,監測數據又需同時保證實時性和整體可靠性。因此,本云平臺設計中采用了多種傳輸機制和傳輸形式的混合傳輸方案。在數據及應用層統一設計了數據接口。數據傳輸方式包括:數據文件的多點單向同步、監測中心與數據中心間的數據庫雙向同步、點對點多通道Socket流通信等。
同時,考慮到大橋監測數據傳輸雖然總量相對穩定,但并發連接數較高,因此可能出現短時數據積壓的情況。本云平臺采用了定制的荷載均衡策略,及多運營商網絡融合方案。傳輸程序優先傳輸最新數據,限制數據積壓時單傳輸線程的帶寬,以保證傳輸系統的整體穩定。
考慮到大橋監測業務特點,從保障的優先度來看,數據的完整性應高于實時性,整體準確性應高于局部準確性。本云平臺采用了飽和式存儲方案,設計了多級臨時緩存,數據庫及數據文件在任何層級的網絡故障情況下,感知層、傳輸層和數據層中至少有一處以上的冗余存儲。數據庫數據則采用了分布式存儲方案,數據可從各個節點相互恢復。另外,根據監測數據采集后即無更新的特點,設計中減少和弱化了數據庫數據版本校驗相關功能,以提高處理效率。
數據層采用統一的數據存儲格式規范,感知層采集時即將數據格式、單位及精度等信息統一,不符合數據存儲規范的數據將不參與數據傳輸。監測數據以一段時間k的數據數組形式進行封裝,包括:傳感器編碼Sensor、采集時間t、采集頻率f、t+n·f時間采集數據(n=1、2、3、…、k/n)等信息。入庫存儲時只需存儲必要的信息,即傳感器、測量時間點和值,從而保證系統整體運行效率。
相對傳統的關系型數據庫,使用非關系型數據庫系統進行監測數據的存儲,特別是時序數據庫系統能較大地提升數據存取效率,提升整體數據存儲規模。基于時間序列數據庫設計的存儲結構及示例如圖2所示。

圖2 基于時間序列數據庫設計的存儲結構及示例
本云平臺設計中對于不同訪問熱度的數據采用了分級存儲方案。熱數據重點關注可訪問性及處理效率,如近期數據、特殊事件數據及統計數據等;冷數據重點關注完整性和容災性,如歷史原始數據、檔案數據等。橋梁健康監測系統根據數據的“冷熱度”分級采取了不同的數據存儲方案,熱數據存儲在配備高速SSD硬盤的內存數據庫系統中,冷數據則采用多備份策略,實施具備物理隔離的斷電容災備份。
根據微服務的軟件設計思想,業務系統的各層解耦,在數據層抽象出接口,各類數據在必要時使用中間件、消息隊列等。類似的,將常見的業務算法及具體計算模塊封裝,在數據層直接提供數據服務,如數據采樣、統計分析、快速傅里葉變換及擬合計算等,從而降低耦合,提高內聚。
系統設計了豐富的統一管理機制:
(1)精確到頁面的用戶權限管理;
(2)完整的數據接口權限管理;
(3)模塊化功能更新及定制化管理;
(4)狀態自檢及日志系統(用戶管理、其他數據接入、監測數據開放、統一更新和功能模塊化)。
應用層主要用于實現對云資源的統一分配管理,按照需求進行資源分配。在本云平臺中,應用層主要負責具體監測系統的評估分析模塊、數據清洗模塊、傳輸模塊、存儲及數據庫模塊等。在評估了具體功能的資源用量后,按需分配資源給各功能模塊,實現了多計算系統虛擬化及用戶使用環境的虛擬化[15]。
數據分析單位的人員可申請分配專屬的虛擬化云資源,通過虛擬客戶端直接進行數據分析工作。所有的存儲及計算資源均由云平臺統一進行管理并彈性分配,從而實現數據、系統和分析人員獨立的可配置性。與此同時,得益于平臺數據的統一存儲管理,應用層服務包括虛擬桌面可對數據統一進行接口訪問,從而使所有監測數據訪問均能被管理及監控。
橋梁管養單位的人員使用B/S模式實現平臺業務功能操作,包括:新加入大橋的配置、數據查看及系統硬件維護等,從而解決C/S模式下軟件部署成本高昂的問題,提升系統的可訪問性,實現集中管理及遠程升級。
應用層采用主流的開源框架,以提供較高的平臺兼容性和拓展性。系統融合了開源的Octave,設計了基于Java的Octave函數調用及矩陣格式轉換接口[16],可實現科學計算語言MATLAB的調用,并以多維數組的形式返回給系統。這種方式減少了結構分析人員在設計系統業務算法時產生的新語言學習成本,也減少了已有算法的重構成本,并增強了云平臺的整體開放性及數據處理能力,為高精度實時數據處理應用[17]及機器學習應用提供了平臺。應用層服務架構設計如圖3所示。

圖3 應用層服務架構設計
本云平臺展現層采用Layui模板引擎進行前端設計,控件遵循一致的接口標準。此前端引擎的特點是設計性強、響應迅速及輕量實用,并使用新版Echarts控件來展示數據圖表,較傳統C/S模式下Windows圖形化控件提供了更強的整體邏輯性、更豐富的圖形化數據展示方式,同時大幅降低了新功能模塊的開發成本及用戶的學習成本。
目前,江蘇省長大橋梁健康監測云平臺已完成開發,并被應用于江蘇省長大橋梁健康監測數據中心及潤揚長江公路大橋、江陰長江公路大橋、蘇通長江公路大橋、崇啟長江公路大橋、泰州長江公路大橋、宿淮鹽高速公路淮安大橋和沿海高速公路灌河大橋等7座特大型橋梁。
云平臺在數據中心部署了綜合信息展示大屏系統,為各大橋部署了健康監測系統。
綜合信息展示大屏(如圖4所示)用于展示各個大橋的監測統計信息,包括:傳感器類型及部署數量、采集數據累計量、橋梁綜合評分情況、監測報警情況、各橋的GIS位置及介紹、數據完好率統計和橋址實時天氣情況等。

圖4 綜合信息展示大屏頁面
各大橋健康監測系統設計了全新的界面及功能,以下是首頁及圖表頁的特色功能介紹。
首頁(如圖5所示)以具體橋梁為背景,在橋梁效果圖上直接標識各傳感器的布點位置,以不同的形狀及顏色加以區分,并可通過下方的傳感器選擇模塊實現對部分或全部傳感器的隱藏控制。通過對傳感器圖標的點擊,可快速使用該傳感器的基本信息、報警信息、實時監測和歷史數據功能。另外,當報警發生時,報警信息會直接以動畫的方式展示在具體的傳感器點上,以提醒相關人員進行處理。這種橋圖+傳感器點的設計方式同時也廣泛應用于系統的其他功能頁面,從而提供了一種直觀清晰的展現形式。

圖5 大橋健康監測系統首頁
數據圖表展示頁面(如圖6所示)使用相對統一的樣式及展示邏輯,如大部分監測數據都使用藍色折線圖展示時程曲線,報警部分折線顯示為對應報警級別的顏色(紅色、橙色、黃色),其他顏色的線條展示參考線并配以圖例說明。

圖6 數據圖表展示頁面
本平臺同時還開發了移動端版本(如圖7所示),借助微信公眾號平臺,并基于HTML5與CSS3,可共享Web端的應用層功能,提供系統跨平臺訪問與處理能力。

圖7 移動端版本部分功能頁面
本文回顧了江蘇省長大橋梁健康監測的業務背景與現狀,從縱向及橫向兩個維度介紹了江蘇省長大橋梁健康監測云平臺的架構設計。
云平臺設計并應用了多項關鍵技術與特色功能,如下所示:
(1)感知層的自檢與邊緣計算,提高了系統基礎兼容性及總體性能;
(2)傳輸層復雜環境下的大流量數據傳輸技術,提高了數據傳輸效率、增加了數據安全性及可用性;
(3)數據層針對時序數據的模塊化設計,提升了數據管理能力,為數據分析處理提供基礎;
(4)應用層開放式數據分析及智能服務平臺,提高了數據分析效率、極大地豐富了系統功能;
(5)展現層交互設計,優化了界面交互體驗、拓展了更多數據展示形式。
各大橋的健康監測系統軟件已完成了研發,所有子系統均已正式上線運行。軟件功能方面,新版云平臺系統對比原版系統增加了29項新功能,改進了15項已有功能。綜合性能方面,根據2020年初的統計結果,新版云平臺系統對比原版系統在系統穩定性上提升了約60%,數據傳輸效率提升了20%,統計數據種類拓展了4倍,數據分析效率提升了2倍,網絡延遲降低了20%以上,數據安全性大幅度提升。
實際應用情況表明,本平臺的系統設計及特色技術在區域長大橋梁群結構健康監測領域具有參考及推廣意義。