李正武,馮靜,張登云,楊小霞
(1.寧夏公路管理中心,寧夏 銀川 750000;2.重慶交通大學 信息科學與工程學院,重慶 400074)
當前,以保障橋梁安全運營為目標的橋梁健康監測系統已經得到了廣泛的運用。但橋梁監測數據每月數以TB量級的增長,帶來了新的數據存儲問題。在現有的橋梁監測數據管理系統中,還未形成一套完備的數據存儲體系,目前的關注點大多集中在監測數據的預處理,橋梁的養護加固以及安全預警等方面,對監測數據存儲少有研究。
監測數據的有效存儲是后續研究工作的基本保障,因此對采集到的原始數據進行合理高效的存儲顯得至關重要。目前,我國大部分地區的橋梁監測系統都是采用“一橋一系統”的專屬模式,數據之間缺乏聯系,融合困難。如何打破信息孤島,對同一區域不同橋梁的監測數據進行區域化存儲,得到橋梁的整體健康狀況,成為亟待解決的難題。基于此問題,本文提出了一種基于HBase的區域化橋梁健康監測數據存儲方法,解決了區域化橋梁健康監測數據的存儲和管理問題。
一個完整的橋梁結構健康監測系統分為硬件部分和軟件部分。硬件部分主要是各種傳感器,負責采集關鍵部位的數據;軟件部分包括數據采集與傳輸、數據處理與分析、數據庫的管理三個模塊。在信息收集傳輸和分析處理階段都涉及到數據的有效存儲問題,結合分布式存儲技術低成本、高容錯、可移植的特點,選取分布式數據庫軟件作為區域化橋梁健康監測數據存儲及共享平臺更為合適。
HBase是Hadoop分布式平臺上一個重要的數據存儲工具,具有高可靠、高性能、面向列、可伸縮的存儲特性,適合存儲非結構化和非關系型數據。
HBase表是非結構化的非關系表,類似于一個巨大的稀疏矩陣,表中數據值都是一個個字符串,沒有特定數據類型。HBase表由行和列組成,行由行鍵進行標識,列劃分為若干個列族,列族中的數據通過列的限定符來定位,HBase表中的每個值都有一個時間戳來區分值的版本。采用行鍵、列族、列限定符、值和時間戳作為索引對數據進行存儲。
HBase搭建在Hadoop云平臺之上,通過客戶端(Client)、協調工具(Zookeeper)、管理端(Master)、服務器(Region server)等部件的協調完成數據庫的存儲工作,其系統構架如圖1所示:

圖1.HBase系統構架
橋梁健康監測的數據采集工作依賴于各種傳感器設備,傳感器主要對橋梁結構的特征參數進行監測,橋梁的結構參數包括位移、加速度、風力風向、溫度、荷載、撓度、應變、索力等。將監測到的相關數據進行合理高效存儲是本文要解決的問題。
傳感器會產生大量的監測數據,這些數據是實時更新和變化的,這就要求傳感器連續工作,實現數據的動態存儲。一座橋每天產生的監測數據是GB級的,一個區域內所有橋梁的數據總量是TB級的,而每座橋梁的監測系統相互獨立,如果對TB級別的海量數據進行單獨存儲,則會導致數據之間缺乏聯系,難以融合,對后續處理分析數據帶來麻煩。如果同時將這些數據上傳到服務器進行統一存儲和管理,則會導致傳輸困難,并嚴重超出了傳統數據庫管理系統的承受能力。若能對數據進行分布式存儲,集中化管理,則在提高存儲效率的同時打破了數據孤島。
本文主要以HBase數據庫技術作為存儲海量橋梁健康監測數據的方法。將每一座橋的監測系統作為一個Region server數據節點,將采集到的數據存儲在各自的Region server中,在一個區域范圍內設置一個Master管理節點,對該區域內所有橋梁監測數據的存儲工作進行統一化管理。整個區域內的所有橋梁健康監測系統相當于一個監測集群,對監測到的數據進行集群化存儲和管理。該存儲方法實現了該區域內所有橋梁監測數據的分布式存儲和統一化管理,節省了存儲空間,提高了存儲效率,打破了信息孤島。區域化橋梁健康監測數據存儲系統如圖2所示:

圖2. 區域化橋梁健康監測數據存儲系統
為驗證該存儲方法的可行性,搭建了一個Hadoop集群進行數據存儲測試。選取了一臺臺式機作為Master管理節點,存儲配置信息,進行管理類操作,三臺PC機作為Region server數據節點,存儲數據,進行數據類操作,一臺PC機用于Zookeeper進行協調服務,協助Master與Region server的通信。使用180個傳感器節點,比較單機和配置3個節點的集群的數據存取時間,實驗結果為單機的響應時間為800ms,Hadoop集群的響應時間為300ms。由此可見,分布式存儲集群的時間明顯低于單機。
本文圍繞區域化橋梁健康監測數據的存儲問題,結合分布式存儲技術低成本、高容錯、可移植的特點,提出了一種基于HBase的區域化橋梁健康監測數據存儲方法。該存儲方法采用HBase作為數據庫,充分發揮了HBase非關系化、非結構化、動態存儲、節約內存等優勢。將同一區域的橋梁監測系統搭建為一個Hadoop集群,將每一座橋梁的監測系統作為一個節點,又將每個節點的數據進行分布式存儲,采用區域化的存儲管理方式,既打破了橋梁監測系統間的數據孤島,又節約了成本和存儲空間。通過實驗驗證,該方法很好地解決了區域化橋梁健康監測數據的存儲問題,融合了同一區域內的橋梁監測信息,節省了存儲空間,提高了存儲效率,在理論上和實踐上都是可行的。