賈 勇,周子裔
(1.安徽省高等級公路工程監(jiān)理有限公司,安徽 合肥 230022;2.蘇交科集團股份有限公司,江蘇 南京 211112 3.在役長大橋梁安全與健康國家重點實驗室,江蘇 南京 211112)
?
橋梁健康監(jiān)測系統(tǒng)數(shù)據(jù)傳輸方案探討
賈勇1,周子裔2,3
(1.安徽省高等級公路工程監(jiān)理有限公司,安徽 合肥 230022;2.蘇交科集團股份有限公司,江蘇 南京 211112 3.在役長大橋梁安全與健康國家重點實驗室,江蘇 南京 211112)
摘要:針對橋梁結構健康監(jiān)測系統(tǒng)中的數(shù)據(jù)傳輸滯后問題,文章對面向消息中間件(MOM)技術在數(shù)據(jù)傳輸中的應用進行分析,結果表明MOM技術傳輸技術更快、更穩(wěn)定,能滿足實時傳輸要求。
關鍵詞:橋梁工程;健康監(jiān)測系統(tǒng);數(shù)據(jù)傳輸;MOM技術
橋梁結構健康監(jiān)測系統(tǒng)需要把各個數(shù)據(jù)采集工作站采集的大量數(shù)據(jù)實時傳送到監(jiān)控數(shù)據(jù)中心,因此大型橋梁結構健康監(jiān)測系統(tǒng)一般都在橋梁上建立一個大型的光纖局域網(wǎng)[1]。同時為了集中資源進行對數(shù)據(jù)進行處理、統(tǒng)計與分析,各個大橋的健康監(jiān)測數(shù)據(jù)又都通過INTERNET實時傳送到數(shù)據(jù)中心,構成了一個龐大的廣域物聯(lián)網(wǎng)[2]。面對海量的數(shù)據(jù),如系統(tǒng)硬件發(fā)生故障或軟件不能及時處理,就會造成數(shù)據(jù)傳輸滯后。因此,在整個橋梁結構健康監(jiān)測系統(tǒng)中,網(wǎng)絡通信協(xié)議與軟件傳輸方法[3]是核心模塊之一,它關系到數(shù)據(jù)分析質(zhì)量,甚至橋梁的安全。本文分析數(shù)據(jù)傳輸滯后的原因,從軟件方面找出解決的方法,以提高數(shù)據(jù)傳輸速度和安全性。
橋梁健康監(jiān)測系統(tǒng)中的數(shù)據(jù)是非關系型數(shù)據(jù),數(shù)據(jù)存儲中大量使用了二進制文件和文本文件[4-5]。這些文件結構簡單便于使用,但占用的存儲空間較大,影響傳輸速度。同時,由于當前文件系統(tǒng)的原因,文件存儲不僅包含其自身數(shù)據(jù),也包含在磁盤扇區(qū)中的登記信息,導致非常小的文件會占用遠大于自身尺寸的存儲空間。以 NTFS 為例,所有文件都會在MFT(主文件表)中記載該文件的大小、時間戳、安全屬性和數(shù)據(jù)位置。
此外,系統(tǒng)中這些文件的傳輸主要利用諸如Windows 文件共享(SMB)或者是 FTP 等一些成熟的傳輸協(xié)議進行的,但是這些協(xié)議并非為少量數(shù)據(jù)的傳輸所設計,因此帶來了效率低下的問題。SMB 和FTP 協(xié)議的傳輸需要數(shù)個往返的通信,以FTP協(xié)議為例,每一個文件傳輸至少需要如圖1所示的幾次往返通信(這其中已經(jīng)省略了傳輸開始連接之前的TCP 三次握手和每條消息傳輸完成之后的 ACK)。
從圖1可以看出,文件中的數(shù)據(jù)傳輸只是通信協(xié)議中的一小部分,普通體積或者大體積的文件傳輸時,這些“額外開銷”(overhead)是完全可以接受的,然而系統(tǒng)中文本文件僅十幾字節(jié),使用相同的協(xié)議,其“額外開銷”確實是非常大。
圖1 使用FTP協(xié)議進行數(shù)據(jù)傳送流程
以最常見的 FileZilla Server 搭建的 FTP 服務器在局域網(wǎng)中進行數(shù)據(jù)傳送試驗,并抓包查看數(shù)據(jù)包的往來記錄及其細節(jié)。結果表明,通過 FTP 傳輸一個僅 20 字節(jié)的文本文件,實際在網(wǎng)絡上需要傳輸1?053 字節(jié),共發(fā)送了 15 個數(shù)據(jù)包。其中僅 protocol 為 “FTP-DATA”的數(shù)據(jù)包傳輸文本文件的數(shù)據(jù),其它均為協(xié)議所帶來的“額外開銷”,如圖2所示。
圖2 數(shù)據(jù)傳送試驗信息
SMB 協(xié)議(即 Windows 文件共享)的數(shù)據(jù)傳送流程與FTP類似,同時SMB協(xié)議還是微軟的閉源協(xié)議,不容易深入研判。為了確保數(shù)據(jù)傳輸?shù)臏蚀_性,耗費一定的額外開銷是需要的,但是FTP 此類針對大文件系統(tǒng)管理所設計的協(xié)議,給健康監(jiān)測系統(tǒng)中某些特殊應用帶來了很多的額外開銷,顯著地增加了網(wǎng)絡傳輸壓力、擁塞甚至數(shù)據(jù)丟失。這就需要尋求更好、更先進的方法來解決這一問題。
中間件(Middleware)是一種可以獨立于系統(tǒng)和平臺的服務或者應用程序,位于操作系統(tǒng)和應用程序之間的中間層[6]。消息中間件作為一種重要的中間件技術,是以消息為基本的數(shù)據(jù)傳輸工具,可以應用于極其復雜的異構環(huán)境。面向消息的中間件(MOM,Message Oriented Middleware)提供了以松散耦合的靈活方式集成應用程序的一種機制[7],提供了基于存儲和轉(zhuǎn)發(fā)的應用程序之間的異步數(shù)據(jù)發(fā)送,即應用程序彼此不直接通信,而是與作為中介的MOM 通信,由 MOM 負責盡可能地保證數(shù)據(jù)的正確發(fā)送,其傳輸結構圖如圖3所示[8-9]。
圖3 MOM數(shù)據(jù)傳輸結構圖
消息中間件技術具有如下特點:
(1)滿足多種通信方式。既可以點對點通信,也可以進行多對一、一對多或者多對多的通信;
(2)松耦合。數(shù)據(jù)發(fā)送端和接收端不必建立連接就可以進行數(shù)據(jù)傳輸,大大降低了服務間的依賴和耦合,也避免了因為通信狀況不佳而導致的數(shù)據(jù)傳輸速度緩慢及丟包率高的問題;
(3)高可靠性。由于消息隊列對數(shù)據(jù)進行了本地化處理,所以當發(fā)生網(wǎng)絡故障可以迅速地恢復傳輸,保證傳輸?shù)目煽啃裕?/p>
(4)高可控性。使用消息隊列,可以輕松地控制發(fā)送和接受的數(shù)據(jù)大小,對數(shù)據(jù)傳輸速度進行有效控制。
MSMQ是Windows操作系統(tǒng)中面向消息的中間件,是用于創(chuàng)建分布式、松散連接的消息通訊應用程序的開發(fā)工具[10]。改進的橋梁健康監(jiān)測系統(tǒng)中數(shù)據(jù)傳輸使用MSMQ開發(fā)出一套用于數(shù)據(jù)傳輸與交換的消息中間件系統(tǒng)MOM-QHMQ,解決了數(shù)據(jù)傳輸滯后的問題。數(shù)據(jù)傳輸系統(tǒng)MOM-QHMQ由圖4所示的4個部分組成。第1部分為通信管理模塊,主要負責通信線程的控制;第2部分為數(shù)據(jù)報文封裝模塊,主要負責傳輸數(shù)據(jù)報文的封裝;第3部分為節(jié)點數(shù)據(jù)傳輸模塊,主要負責數(shù)據(jù)傳輸?shù)闹修D(zhuǎn);最后一部分是中心數(shù)據(jù)同步模塊,主要用于同步節(jié)點數(shù)據(jù)。通信管理模塊是整個系統(tǒng)的基礎,其他3個模塊是在這個基礎之上完成數(shù)據(jù)可靠、高效傳輸?shù)摹?/p>
圖4 數(shù)據(jù)傳輸系統(tǒng)的整體框架
采用MOM-QHMQ系統(tǒng)和FTP方式進行數(shù)據(jù)傳輸,并在馬鞍山大橋健康監(jiān)測系統(tǒng)中進行了測試,結果如表1所示。從表1中可以看出,傳輸同批量數(shù)據(jù)文件,MOM技術傳輸速度比普通FTP技術快得多,并且傳輸速度穩(wěn)定,能夠滿足實時傳輸要求,也能滿足健康監(jiān)測系統(tǒng)傳輸數(shù)據(jù)量的總體要求,系統(tǒng)運行穩(wěn)定。
表1 使用FTP與使用MOM-QHMQ傳輸數(shù)據(jù)比較
橋梁健康監(jiān)測系統(tǒng)每時、每刻都在產(chǎn)生大量的數(shù)據(jù),數(shù)據(jù)從傳感器的采集到數(shù)據(jù)中心的匯集需要進行多層網(wǎng)絡傳輸,網(wǎng)絡傳輸特別是INTERNET傳輸往往會產(chǎn)生數(shù)據(jù)傳送滯后甚至丟失或造成網(wǎng)絡堵塞等問題。隨著計算機網(wǎng)絡技術以及大數(shù)據(jù)技術的發(fā)展,數(shù)據(jù)傳輸軟件技術也有很大的發(fā)展。本文對面向消息的中間件(MOM)技術在數(shù)據(jù)傳輸中的應用進行了探討,結果表明MOM技術不僅提高了數(shù)據(jù)傳輸?shù)乃俣?,解決了健康監(jiān)測系統(tǒng)中海量數(shù)據(jù)傳輸滯后實際問題,同時也保證了系統(tǒng)數(shù)據(jù)傳輸?shù)膶崟r性和穩(wěn)定性,滿足了系統(tǒng)數(shù)據(jù)傳輸總量要求,為健康監(jiān)測系統(tǒng)大數(shù)據(jù)分析和橋梁安全保障提供了必要的基礎。
參考文獻
[1]李惠,周文松,歐進萍,等.大型橋梁結構智能健康監(jiān)測系統(tǒng)集成技術研究[J].土木工程學報,2006,39(2):46-52.
[2]物聯(lián)網(wǎng)應用技術[EB/OL].[2016-02-22]. http://baike. baidu. com/link?url=Q32Ja7PVr2kgTHhh5qjB4SBFn_pH11MGddYJ qlqsS-VROLjKBpMz23hO5h-zm2TvdSfU06sU4Agjkb_bxwxQa.
[3] 網(wǎng)絡通信協(xié)議[EB/OL].[2016-02-22]. http://baike. baidu. com/link?url=jwO3GeZs73b2SoGxrH-zqTgl2jYR0Zb8UV6f9b_ wSRgbZ05LtCgq668lII_CCPc5W2BjiPidzn1U_DT1AFnHqK.
[4] 文件格式[EB/OL].[2016-02-22].http://baike.baidu.com/ link?url=DoVjk2BJjFVNw3swKuSlPrZI2UZydW-P8-MiWgX 7H3I6Xmaj6WO59ZnOZSDrZ9X0rQizTdk2PTQKfg5wtHwtIK.
[5] 劉超,胡成玉,姚宏,等.面向海量非結構化數(shù)據(jù)的非關系型存儲管理機制[J].計算機應用,2016,36(3):670-674.
[6]消息中間件原理及JMS簡介[EB/OL].(2008-01-27)[2016-02-22]. http://www. blogjava. net/orangelizq/archive/2008/01/ 27/178026. html.
[7]淺議消息中間件技術標準與開源實現(xiàn)[EB/OL].(2008-01-27)[2016-02-22]. http://blog.csdn.net/mikeszhang/article/ details/9222221.
[8]梁彥杰,廉東本.基于消息中間件的數(shù)據(jù)交換平臺傳輸框架設計[J].計算機系統(tǒng)應用,2012,21(4):10-13.
[9]王海華,徐劍.基于消息中間件通信的網(wǎng)絡平臺MOM系統(tǒng)[J].中國西部科技,2008,7(21):37.
[10]使用C#和MSMQ開發(fā)消息處理程序[EB/OL].(2000-11 -30)[2016-02-22]. http://www. wzsky.net/html/Program/ net/28658. html
Research on Data Transmission Solution in Bridge Health Monitoring System
Jia Yong1, Zhou Ziyi2,3
(1. Anhui High Grade Highway Engineering Supervision Co., Ltd, Hefei 230022, China;2. JSTI Group, Nanjing 211112, China;3. The State Key Laboratory on Safety and Health of In-service Long-span Bridges, Nanjing 211112, China)
Abstract:In this paper, the application of message-oriented middleware(MOM)technology in data transmission is analyzed to solve the problem of data transmission delay in bridge health monitoring system. Results show that the transmission of MOM technology is faster and stable which can meets transmission requirments.
Key words:bridge engineering; health monitoring system; data transmission; message-oriented middleware technology
中圖分類號:U446.2
文獻標識碼:A
文章編號:1672–9889(2016)03–0033–03
收稿日期:(2016-02-22)
作者簡介:賈勇(1975-),男,安徽合肥人,工程師,主要從事高速公路及大橋工程監(jiān)理工作。