吳杰 衣枚玉 張金輝 張其林
摘要:論述了一種適用于處理海量監(jiān)測數(shù)據(jù)的結構性態(tài)監(jiān)測信息管理系統(tǒng)(MIMS)的設計方案.基于三層瀏覽器/服務器架構搭建軟件系統(tǒng),利用多服務器協(xié)同工作機制提升系統(tǒng)性能.應用大數(shù)據(jù)技術,充分考慮海量監(jiān)測數(shù)據(jù)對數(shù)據(jù)管理系統(tǒng)的高要求,選用MongoDB數(shù)據(jù)庫作為數(shù)據(jù)管理平臺,論述了數(shù)據(jù)庫結構和采用的數(shù)據(jù)格式.最后以寧波南站結構性態(tài)監(jiān)測為例,展示了系統(tǒng)的實現(xiàn)效果.結果表明該系統(tǒng)具有很好的擴展性和通用性,每天可接收遠程數(shù)據(jù)約10 GB,能實現(xiàn)對海量監(jiān)測數(shù)據(jù)的實時吞吐和高效組織管理.
關鍵詞:結構性態(tài)監(jiān)測;大數(shù)據(jù);MongoDB數(shù)據(jù)庫;多服務器協(xié)作;瀏覽器/服務器
中圖分類號:TP274 文獻標識碼:A
土木工程領域的結構健康監(jiān)測研究始于上世紀70年代末.目前,對結構健康監(jiān)測技術的研究大多集中在傳感網絡子系統(tǒng)設計及損傷識別和安全預警等方面.在結構性態(tài)監(jiān)測軟件的開發(fā)方面,近幾年也出現(xiàn)了一些技術創(chuàng)新和實踐成果,如土石壩安全監(jiān)測軟件[1]、橋梁結構健康監(jiān)測系統(tǒng)軟件[2]和上海中心大廈結構健康監(jiān)測軟件[3]等.但這些軟件基本上都是針對特定結構開發(fā),系統(tǒng)的可移植性、可維護性和可擴展性表現(xiàn)較差.在監(jiān)測數(shù)據(jù)的組織管理方面,已有的結構性態(tài)監(jiān)測軟件大多是從海量的監(jiān)測數(shù)據(jù)中獲取有效的關鍵數(shù)據(jù)形成數(shù)據(jù)報告,不能實現(xiàn)全部監(jiān)測數(shù)據(jù)的實時吞吐,并且存在數(shù)據(jù)采集與存儲不同步的問題.
隨著物聯(lián)網、云計算和社交網絡等新興技術與服務的出現(xiàn),數(shù)據(jù)類型和數(shù)據(jù)量正以驚人的速度擴張,如何更好地管理和利用大數(shù)據(jù)開始備受關注[4-6].在結構健康監(jiān)測中應用大數(shù)據(jù)技術,對實時監(jiān)測數(shù)據(jù)流進行統(tǒng)計分析,可以預測出數(shù)據(jù)發(fā)展的趨勢,從而實現(xiàn)系統(tǒng)對結構損傷的識別、診斷和預測.達到這一目的的關鍵在于實現(xiàn)監(jiān)測數(shù)據(jù)的實時吞吐和高效組織管理.由于土木工程結構健康監(jiān)測與物聯(lián)網的融合以前所未有的速度生成數(shù)據(jù),這些數(shù)據(jù)即使經過過濾,只保留有效的數(shù)據(jù),其數(shù)據(jù)量也是驚人的龐大.如何實現(xiàn)對海量監(jiān)測數(shù)據(jù)的組織、存儲、查詢和分析,既是實現(xiàn)對結構全壽命周期跟蹤式在線監(jiān)測的前提,也是對結構進行有效的損傷識別和安全評定的基礎.
針對以上問題,本文提出一種大數(shù)據(jù)技術下的結構性態(tài)監(jiān)測信息管理系統(tǒng)(MIMS)設計方案.該方案以實現(xiàn)高效的數(shù)據(jù)管理和安全的數(shù)據(jù)共享為目的,實現(xiàn)監(jiān)測數(shù)據(jù)實時或近實時的、動態(tài)的、數(shù)字化、網絡化和可視化的管理.系統(tǒng)已應用于多個大型項目的結構健康監(jiān)測,如寧波南站、上海中心大廈、蘭州西站和上海世博軸陽光谷等.
1系統(tǒng)架構
目前,基于網絡化的監(jiān)測軟件實現(xiàn)模式主要有兩種方式,一種為客戶機/服務器(Client/Server, C/S)模式,另一種為瀏覽器/服務器(Browser/Server, B/S)模式[7].
B/S模式是Web2.0興起后的一種網絡結構模式,該模式由服務器安裝數(shù)據(jù)庫和Web應用,承擔系統(tǒng)的核心功能;客戶機安裝瀏覽器作為客戶端,瀏覽器通過服務器端的Web應用間接同數(shù)據(jù)庫進行數(shù)據(jù)交互.這一模式解決了傳統(tǒng)C/S模式中專用客戶端軟件開發(fā)成本高,升級維護困難等問題(見圖1).
該體系結構具有以下優(yōu)點:
1)廣域網/局域網都可使用,對客戶端軟硬件環(huán)境要求不高,只要有操作系統(tǒng)和瀏覽器即可;
2)各層在邏輯上相對獨立,具有很好的靈活性、可重用性和可擴展性;
3)系統(tǒng)功能集中在服務器端,可隨時進行更換或更新,從而實現(xiàn)無縫升級,降低系統(tǒng)維護成本;
4)可添加用戶管理機制,利用業(yè)務邏輯層阻止未授權用戶訪問數(shù)據(jù)層,實現(xiàn)數(shù)據(jù)的安全管理;
5)瀏覽器即客戶端,一方面可降低開發(fā)難度和成本,另一方面可充分利用頁面制作技術與用戶進行更加生動和豐富的交流.
2系統(tǒng)功能實現(xiàn)
2.1服務器軟件
MIMS的功能主要包括數(shù)據(jù)的采集與接收、過濾與轉換以及處理與查詢,如圖2所示.系統(tǒng)核心功能集中在服務器端.考慮到各功能環(huán)節(jié)對服務器有各自不同的要求,且具有不同步性,因此將各個功能模塊設計成相互獨立的服務器軟件.
MIMS的運行模式是以系統(tǒng)的自動運行為主,一旦服務器軟件或硬件出現(xiàn)故障,系統(tǒng)的運行將終止,如果不被及時發(fā)現(xiàn)并加以維護將會造成不可預計的數(shù)據(jù)損失乃至工程損失.因此,MIMS設計有獨立的自檢服務器軟件,以實時監(jiān)視服務程序,當有異常狀態(tài)發(fā)生時,以郵件和短信的方式通知相關技術人員.
2.2多服務器協(xié)同機制
MIMS采用多服務器協(xié)同機制對服務器進行管理.Internet的快速增長要求服務器具備提供大量并發(fā)訪問服務的能力,因此對于大負載的服務器來講,CPU,I/O處理能力成為瓶頸[8].通過提高硬件性能來提高單臺服務器性能的效果有限,而采用多服務器協(xié)同工作機制和負載均衡技術可以很好地應對大量并發(fā)訪問的情況.
MIMS中的各功能模塊被設計成獨立的服務器軟件,這些軟件可以在單臺服務器上運行,但效率較低.為提高運算效率,可以采用多服務器協(xié)同系統(tǒng)來均衡服務器負荷,將各服務器軟件設計在不同服務器中,并形成相互協(xié)作機制.如圖3所示,服務器1負責將傳感器網絡傳來的數(shù)據(jù)進行采集并存儲于數(shù)據(jù)庫;服務器2首先實現(xiàn)和服務器1的數(shù)據(jù)庫同步,然后對這些數(shù)據(jù)進行過濾、篩選和轉換并存儲于另一個數(shù)據(jù)庫中;服務器3同步已經過轉換的數(shù)據(jù),再根據(jù)客戶瀏覽器通過Web服務器提交的指令對數(shù)據(jù)進行分析和處理.各服務器通過數(shù)據(jù)庫的管控進行數(shù)據(jù)同步,以C/S模式相互訪問,實現(xiàn)相互調用和協(xié)同工作.
3數(shù)據(jù)管理方案
3.1數(shù)據(jù)庫
結構健康監(jiān)測系統(tǒng)對數(shù)據(jù)庫的要求非常高.已有的較為成熟的結構健康監(jiān)測系統(tǒng)大都采用文件形式存儲數(shù)據(jù),也有一部分采用關系型數(shù)據(jù)庫對監(jiān)測數(shù)據(jù)進行管理.采用文件形式顯然不能實現(xiàn)數(shù)據(jù)的實時存儲與查詢,且組織管理效率非常低,而關系型數(shù)據(jù)庫的應用也受到諸多限制,一般只能實現(xiàn)對部分關鍵數(shù)據(jù)的存取,不能實現(xiàn)對海量監(jiān)測數(shù)據(jù)的實時吞吐.目前,監(jiān)測系統(tǒng)正在向網絡化發(fā)展且監(jiān)測數(shù)據(jù)的規(guī)模也在不斷擴大,監(jiān)測系統(tǒng)對數(shù)據(jù)庫的要求越來越高.對海量監(jiān)測數(shù)據(jù)的高效率存儲訪問以及對數(shù)據(jù)庫的高并發(fā)讀寫和高可擴展性等要求已經成為傳統(tǒng)的關系型數(shù)據(jù)庫無法應對的難題[9-10].
近年來,隨著大數(shù)據(jù)時代的到來,NoSql(Not Only SQL)數(shù)據(jù)庫得到了迅速的發(fā)展, NoSql數(shù)據(jù)庫具有傳統(tǒng)關系型數(shù)據(jù)庫無法比擬的高并發(fā)、高效率和高可擴展等特性,其中MongoDB數(shù)據(jù)庫的表現(xiàn)尤為突出[11-12].MIMS采用高性能、易部署、易使用且存儲數(shù)據(jù)方便的MongoDB數(shù)據(jù)庫對監(jiān)測數(shù)據(jù)進行管理,實現(xiàn)了對海量監(jiān)測數(shù)據(jù)的實時吞吐和高效存儲與查詢.
3.2數(shù)據(jù)格式
3.2.1數(shù)據(jù)存儲格式
這里的數(shù)據(jù)存儲格式是指數(shù)據(jù)保存在數(shù)據(jù)庫或文件中的編排格式.其應滿足一定條件:1)保證記錄所需要的全部信息;2)充分利用存貯空間,提高存貯效率;3)采用統(tǒng)一的格式,方便與數(shù)據(jù)處理模塊間的數(shù)據(jù)交換.MongoDB使用BSON(Binary Serialized Document Format)結構來存儲數(shù)據(jù),可以滿足以上要求.BSON是一個輕量級的二進制數(shù)據(jù)格式,可以存儲內嵌的文檔對象和數(shù)組對象.MIMS采用以BSON格式存儲的文檔對象存儲信息,其中每條記錄包括測量點位(position)、傳感器類型(dimTyp)、測量批次(batch)、測量時間(datetime)和測量值(value),示例如下:
{″position″:″SWGJ12″,″dimTyp″:″stress″,″batch″:null,″datetime″:newDate(2014,4,6,16,12,9),″value″:-23.396}.
3.2.2數(shù)據(jù)交換格式
為了整合資源,建立統(tǒng)一的信息化平臺,MIMS中的數(shù)據(jù)交換采用統(tǒng)一的標準數(shù)據(jù)格式.格式標準化可以極大地提高對數(shù)據(jù)的管理效率,讓用戶快速簡單地得到必要的數(shù)據(jù).
當前比較流行的數(shù)據(jù)交換格式有XML(Extensible Markup Language),JSON(JavaScript Object Notation)和YAML(Yet Another Markup Language).由于數(shù)據(jù)存儲格式已選用是類似JSON的BSON格式,為了方便與數(shù)據(jù)庫的數(shù)據(jù)交互,MIMS數(shù)據(jù)交換格式選用JSON格式.JSON 是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,同時也易于機器解析和生成,可以滿足本設計對數(shù)據(jù)格式的要求.
JSON簡單說就是JavaScript中的對象和數(shù)組,對象數(shù)據(jù)結構為 {鍵:值, 鍵:值,…},鍵為對象的屬性,值為對應的屬性值,屬性值的類型又可以是數(shù)字、字符串、邏輯值、數(shù)組或對象.數(shù)組數(shù)據(jù)結構為 [字段1, 字段2, 字段3,…],其中字段值的類型又可以是數(shù)字、字符串、邏輯值、數(shù)組或對象.利用對象、數(shù)組兩種結構可以組合成多層嵌套的數(shù)據(jù)結構,如以下示例,最外層是包含″Stresses″和″Temperatures″兩個屬性的對象,他們的屬性值又嵌套了多個子對象的數(shù)組.
{
″Stresses″: [
{″position″:″SWGJ11″,″value″:[-23.396, -23.63, -24.352 …]},
{″position″:″SWGJ12″,″value″:[-24.153, -24.953, -23.303 …]},
…
] ,
″Temperatures″: [
{″position″:″SWGJ11″,″value″:[31.1, 30.5, 31.9 …]},
{″position″:″SWGJ12″,″value″:[29.3, 30.2, 32.3 …]},
…
]
}.
4 應用實例—寧波南站結構性態(tài)監(jiān)測系統(tǒng)
4.1工程結構概況
寧波南站站房采用南北地上進站、高架候車、地下出站的功能格局.新建站房共3個主要層面:地下一層(主要負擔進出站功能)、站臺層(地面層)和高架層(含商業(yè)夾層).地下二層(地鐵2號線站廳層)和地下三層(地鐵2的站臺層)的土建工程大部分位于鐵路站房下,詳見圖4.高架層東西向總長度114.0 m:該方向柱距不均勻,為24+21+24+21+24 m;南北向總寬度185.5 m,柱距為25+2×21.5+43+2×21.5+31.5 m. 地下一層、站臺層東西向總長度66.0 m(柱距為21 m及24 m),南北向寬度185.5 m.
本工程的監(jiān)測內容主要包括:1)施工和運營過程中鋼結構關鍵部位的應力監(jiān)測;2)運營過程中結構關鍵部位的振動加速度響應監(jiān)測;3)運營過程中風敏感部位的風壓監(jiān)測;4)運營過程中整體結構所處風環(huán)境的風速監(jiān)測.
4.2系統(tǒng)配置
寧波南站結構性態(tài)監(jiān)測系統(tǒng)包含靜態(tài)(應力應變)采集通道167個,動態(tài)(風速風向、風壓力和加速度)采集通道87個.采用單臺服務器配置即可滿足性能要求.
服務器配置:2路處理器,每路采用主頻1 800 MHz,L3緩存10 MB的4核心4進程處理器;安裝內存為8.00 G;3塊3TB硬盤作為RAID5.
數(shù)據(jù)庫配置:采用MongoDB主從模式配置為采集端數(shù)據(jù)庫(主)和分析端數(shù)據(jù)庫(從).
網絡傳輸配置:采集現(xiàn)場局域網帶寬100 M,VPN遠程傳輸帶寬為3 M.
4.3系統(tǒng)展示
寧波南站結構性態(tài)監(jiān)測系統(tǒng)功能包括首頁、系統(tǒng)說明、系統(tǒng)管理、設備總覽、實時監(jiān)測和監(jiān)測回放.首頁包括登錄、項目概述和監(jiān)測分項簡介,系統(tǒng)說明包括項目功能說明和監(jiān)測點位詳細說明,系統(tǒng)管理包括密碼管理、角色管理和用戶管理.設備總覽畫面如圖5所示,包括監(jiān)測設備的最新運行狀態(tài)統(tǒng)計和測點設備的詳細狀態(tài)表,共分為應力應變統(tǒng)計、風荷載統(tǒng)計、風壓統(tǒng)計和加速度統(tǒng)計.
實時監(jiān)測是對所有動態(tài)點位(風速風向、風壓力和加速度)和靜態(tài)點位(應力)的實時監(jiān)測.監(jiān)測點位的選取方法如圖6所示,將監(jiān)測結構分為不同的監(jiān)測區(qū)域,點擊每個區(qū)域可彈出傳感器布置細節(jié)圖,以選取監(jiān)測點位.靜態(tài)點位取最新一天的監(jiān)測數(shù)據(jù),動態(tài)點位取最新30 s的監(jiān)測數(shù)據(jù),分別繪制時程圖進行展示,如圖7和圖8所示.
監(jiān)測回放是對所有監(jiān)測點位歷史監(jiān)測數(shù)據(jù)的回放.選擇要查詢的時間段和監(jiān)測點位(點位選取方法與實時監(jiān)測頁面相同)后會獲取相應的歷史監(jiān)測數(shù)據(jù)顯示在頁面中,如圖9所示為2014年2月1日至2014年3月1日的應變監(jiān)測記錄.在時程圖上拖動鼠標選擇相應區(qū)域后還可放大進行細節(jié)展示,如圖10所示.圖11展示了2014年9月22日2:15:00-2:30:00的風荷載監(jiān)測統(tǒng)計數(shù)據(jù).風壓力和加速度監(jiān)測畫面和以上界面類似,不再贅述.
5結論
本文研究了大數(shù)據(jù)技術下的結構性態(tài)監(jiān)測信息管理系統(tǒng)設計,從系統(tǒng)架構、系統(tǒng)功能實現(xiàn)和數(shù)據(jù)管理方案等三個層面論述了本結構性態(tài)監(jiān)測信息管理系統(tǒng)的可行性和優(yōu)越性.最后以寧波南站結構性態(tài)監(jiān)測項目為例,展示了系統(tǒng)的應用效果.主要結論有:
1)應用三層B/S架構搭建的系統(tǒng)具有很好的擴展性和通用性,可方便靈活地加入各種數(shù)據(jù)分析功能,并且適用于多種工程結構的性態(tài)監(jiān)測.
2)系統(tǒng)具有高度的伸縮性.根據(jù)項目對性能和經濟性的不同需求,可選擇配置一臺服務器,或利用多臺服務器協(xié)同工作.
3)基于大數(shù)據(jù)技術,以MongoDB數(shù)據(jù)庫為數(shù)據(jù)管理平臺,能實時吞吐海量的監(jiān)測數(shù)據(jù),每天可接收遠程數(shù)據(jù)約10 GB,可同時供多方分析、查看和使用.系統(tǒng)設計時已考慮大數(shù)據(jù)分析,設有監(jiān)測數(shù)據(jù)中心,通過多個監(jiān)測項目以及長期的數(shù)據(jù)積累,可獲得海量、高增長率和多樣化的監(jiān)測數(shù)據(jù).
4) 網頁設計采用基于HTML5的新一代WEB技術,用戶界面簡約大氣,使用舒適方便,并兼容多種終端平臺,如工作站、筆記本和平板電腦等.
5)目前系統(tǒng)各功能模塊服務器均采用單臺服務器,支持不多于300個動態(tài)采集通道,數(shù)據(jù)分析速率也有一定限制.若要進一步擴充采集通道、提高數(shù)據(jù)分析速率,可通過搭建服務器集群來實現(xiàn).
參考文獻
[1]劉德志, 李俊杰. 土石壩安全監(jiān)測軟件系統(tǒng)設計與實現(xiàn)[J]. 大連理工大學學報, 2006, 46(3): 407-412.
LIU Dezhi, LI Junjie. Design and implementation of earth rockfill dam security monitoring software system [J]. Journal of Dalian University of Technology, 2006, 46(3): 407-412.(In Chinese)
[2]WANG Jianguo, SU Meiyan, ZHAO Guomin, et al. Design and implementation of the earthquake precursor network running monitoring software based on C/S structure [C] // 2010 6th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM). Piscataway, NJ: IEEE Computer Society, 2010, 4: 1-4.
[3]胡笳, 李晗, 楊暉柱, 等. 上海中心大廈結構健康監(jiān)測軟件集成設計及應用[J]. 同濟大學學報:自然科學版, 2014,42(3): 460-467.
HU Jia, LI Han, YANG Huizhu, et al. Integrated design and application of structural health monitoring software system of Shanghai Tower [J]. Journal of Tongji University: Natural Science,2014, 42(3): 460-467. (In Chinese)
[4]孟小峰,慈祥. 大數(shù)據(jù)管理:概念、技術與挑戰(zhàn) [J]. 計算機研究與發(fā)展, 2013, 50(1): 146-169.
MENG Xiaofeng, CI Xiang. Big data management: Concepts, techniques and challenges [J]. Computer Research and Development, 2013, 50(1): 146-169. (In Chinese)
[5]KAMBATLA K, KOLLIAS G, KUMAR V, et al. Trends in big data analytics [J]. Journal of Parallel and Distributed Computing, 2014, 74(7): 2561-2573.
[6]MARTINEZ M A, CUESTA C E, ARIAS M, et al. The solid architecture for realtime management of big semantic data [J]. Future Generation Computer Systems, 2015,47: 62-79.
[7]張燕. 基于C/S模式的遠程數(shù)據(jù)監(jiān)測系統(tǒng)設計[J]. 計算機與網絡, 2008, 34(17): 68-70.
ZHANG Yan. Design of remote data monitoring system based on C/S model [J]. China Computer & Network, 2008, 34(17): 68-70. (In Chinese)
[8]羅天洪, 羅文軍, 陳小安. 網絡環(huán)境下協(xié)同設計的多服務器技術[J]. 重慶大學學報:自然科學版, 2006, 29(9): 5-9.
LUO Tianhong, LUO Wenjun, Chen Xiaoan. Multiserver technology for internetbased collaborative design [J]. Journal of Chongqing University: Natural Science,2006, 29(9): 5-9. (In Chinese)
[9]張文盛, 鄭漢華. 基于MongoDB構建高性能網站技術研究[J]. 吉林師范大學學報:自然科學版, 2013, 34(1): 123-127.
ZHANG Wensheng, ZHENG Hanhua. Research on the construction of high performance Web site based on MongoDB technology [J]. Journal of Jilin Normal University: Natural Science, 2013, 34(1): 123-127. (In Chinese)
[10]PARKER Z, POE S, VRBSKY S V. Comparing NoSQL MongoDB to an SQL DB [C] //Proceedings of the Annual Southeast Conference. Savannah, GA: Association for Computing Machinery (ACM), 2013, 5: 1-6.
[11]BARBIERATO E,GRIBAUDO M, IACONO M. Performance evaluation of NoSQL bigdata applications using multiformalism models [J]. Future Generation Computer Systems, 2014, 37: 345-353.
[12]STEVIC M P, MILOSAVLJEVIC B, PERISC B R. Enhancing the management of unstructured data in elearning systems using MongoDB [J]. Program: Electronic Library and Information Systems, 2015, 49(1): 91-114.