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