王曉巖
(四平職業(yè)大學(xué),吉林 四平136002)
云計算平臺是現(xiàn)代信息技術(shù)發(fā)展的產(chǎn)物,也是大數(shù)據(jù)時代最熱門的研究方向之一。其利用分布式計算、虛擬技術(shù)及并行網(wǎng)格計算技術(shù),能夠有效融合不同地區(qū)、不同硬件結(jié)構(gòu)的計算資源并且有效地劃分利用。不僅極大地提高了系統(tǒng)的數(shù)據(jù)存儲容量[1-2],同時提高了計算效率。
隨著海洋開發(fā)的不斷深入,基于物聯(lián)網(wǎng)體系的海上電子通信系統(tǒng)應(yīng)用越來越多,如海上視頻監(jiān)控系統(tǒng)、氣象傳感網(wǎng)絡(luò)及目標探測系統(tǒng),所有這些系統(tǒng)都需要進行大量數(shù)據(jù)的傳輸及信息處理。而現(xiàn)有的海上通信平臺,其帶寬、信息處理效率及數(shù)據(jù)存儲量越來越不能滿足海上信息系統(tǒng)擴展,成為海上各種應(yīng)用系統(tǒng)性能的瓶頸。所以,如何有效提升現(xiàn)有海上通信系統(tǒng)的存儲容量、信息處理效率及信息傳輸速率已成為當(dāng)前海上通信系統(tǒng)的熱點研究方向,而基于云平臺的海上通信系統(tǒng)又是其中的方向之一。
本文在研究現(xiàn)有海上通信系統(tǒng)及云平臺技術(shù)基礎(chǔ)上,基于私有云設(shè)計了海上數(shù)據(jù)信息傳輸平臺,提出了面向物聯(lián)網(wǎng)體系的海上通信平臺,并進行仿真。
一個完整的云計算通信平臺主要包括云通信處理系統(tǒng)及服務(wù)器系統(tǒng)。而云通信處理系統(tǒng)是由一系列軟硬件構(gòu)成,如并行文件、共享數(shù)據(jù)庫系統(tǒng)及分布式硬件架構(gòu)。
所有云平臺都基于并行分布式的文件系統(tǒng)[3],相比較于現(xiàn)有的存儲架構(gòu),其存儲量及性能都有很大提升,并行文件系統(tǒng)架構(gòu)如圖1 所示。
圖1 并行文件系統(tǒng)架構(gòu)圖Fig.1 The parallel file system architecture diagram
云計算平臺中的分布式并行文件系統(tǒng)運行在多個Linux 計算機中,其中文件控制進程分為主節(jié)點與多個塊節(jié)點。所有存儲設(shè)備按邏輯劃分為統(tǒng)一大小的塊存儲單元,并掛載在Linux 操作系統(tǒng)下,由Linux 操作系統(tǒng)統(tǒng)一管理。
主節(jié)點控制程序?qū)λ袎K存儲單元進行邏輯與物理控制,包括數(shù)據(jù)訪問,控制信息,文件列表,單元映射,數(shù)據(jù)的合并、刪除與恢復(fù)等。當(dāng)并行文件控制程序開始工作時,主節(jié)點控制進程向各個塊節(jié)點發(fā)送握手信息,握手信息包含需要處理的動作。在現(xiàn)有并行文件系統(tǒng)中,塊以64 M 大小進行劃分,最大限度提高磁盤利用率。
基于云的通信平臺重點需要解決2 個問題:1)構(gòu)建不同硬件平臺下的進程通信架構(gòu);2)不同應(yīng)用程序之間消息交互及數(shù)據(jù)傳輸?shù)慕涌凇?/p>
其通信平臺的功能如圖2 所示。
圖2 海上通信平臺功能圖Fig.2 The function chart of maritime communication platform
基于云的通信平臺包含4 個主要模塊:心跳包探測模塊、消息傳輸模塊、目的地管理模塊及日志模塊。
消息管理模塊[4]是整個通信平臺最核心的組件,負責(zé)整個通信平臺消息的傳輸和接收,并且模塊接口對用戶進程開放,可實現(xiàn)任意2 個用戶進程之間的數(shù)據(jù)交互。
心跳包探測模塊為進程間通信進行探測的輔助模塊,由于現(xiàn)有基于云計算的架構(gòu)由多個節(jié)點組成,一個用戶程序進程在不同的節(jié)點之間進行分布式計算,心跳包探測模塊能夠有效地判別分布式計算節(jié)點的運行狀態(tài),如是否宕機﹑計算進程是否死掉等異常情況。
目的地管理模塊為用戶配置好消息傳送地址,并提供接口給用戶調(diào)用。
日志模塊主要對云通信平臺運行中的狀態(tài)進行記錄,有利于問題定位。
本文利用私有云進行平臺設(shè)計,通過消息機制進行云平臺中不同節(jié)點之間的通信,可以有效地解決系統(tǒng)的私密性及耦合性,同時有利于實現(xiàn)不同用戶程序以及同一用戶程序不同進程之間的同步問題,并可進行封裝,有利于用戶直接調(diào)用。
利用消息中間件構(gòu)建分布式節(jié)點之間的消息傳遞,可以進行不同平臺之間的通信,而盡量避免由于網(wǎng)絡(luò)協(xié)議不同導(dǎo)致傳輸中斷。此模型中,需要部署一個消息處理服務(wù)器,不同節(jié)點﹑不同進程之間的消息接收與發(fā)送都需要經(jīng)過消息處理服務(wù)器進行。服務(wù)器將所有節(jié)點的信息放置于自己的消息隊列中,并進行不同協(xié)議消息的轉(zhuǎn)化。
圖3 為基于私有云的消息傳輸系統(tǒng)。
圖3 私有云的消息傳輸系統(tǒng)模型Fig.3 Message transmission system model based on the private cloud
其中,ClientA,ClientB 進程為消息發(fā)送端,ClientC,ClientD,ClientE,ClientF 為接收端。
ClientA,ClientC,ClientD 之間的消息傳輸是點對點方式,消息發(fā)送至服務(wù)器端的消息中,而這個消息只能被一個接收進程所得到。消息隊列中保存消息的源地址和目的地址。此種方式的優(yōu)點是邏輯清晰,缺點是消息處理占用帶寬較大。
ClientB,ClientE,ClientF 之間的消息傳輸通過廣播方式[5]進行傳輸。消息發(fā)送端把需要傳輸?shù)南l(fā)送至服務(wù)器的訂閱隊列中,接收端進程可以根據(jù)自身需要來向服務(wù)器端訂閱所需消息。把消息發(fā)布者Publisher 與接收者Subscriber 進行一對多的對應(yīng),他們之間并不需要知道發(fā)送端和接收端的地址,而是通過在服務(wù)器端注冊需要的主題號進行消息的異步傳輸,是一種松耦合關(guān)系。
本文把私有云組件與消息傳輸平臺進行融合,能夠有效提高消息傳輸效率。云計算是基于分布式架構(gòu)的平臺,核心計算組件是Map Reduce。
用戶在運行一個具體的任務(wù)時,需要對任務(wù)中所使用的文件進行維護,產(chǎn)生一個作業(yè)維護任務(wù)。在運行時,通過維護任務(wù)將文件中的數(shù)據(jù)傳輸至各個計算節(jié)點。所以基于云平臺通信系統(tǒng)的核心是對文件的管理和管理分布式計算節(jié)點。
私有云處理系統(tǒng)框架如圖4 所示。
基于私有云的通信處理系統(tǒng)有4 個功能模塊:云作業(yè)管理模塊﹑分布式計算模塊﹑并行文件處理模塊及出錯處理模塊。
1)云作業(yè)管理模塊
圖4 私有云處理系統(tǒng)框架Fig.4 The system frame of private cloud processing
在云平臺中,作業(yè)功能劃分由用戶指定,并且一個作業(yè)可以分為多個進程。云平臺控制各個進程的入口及出口接口,而各個進程之間的邏輯關(guān)系用戶可以通過作業(yè)管理模塊進行管理,最后通過管理模塊生成作業(yè)處理文件。
2)分布式計算模塊
一個作業(yè)又分為許多邏輯功能,每個功能稱為一個進程,同時每個進程在云平臺中需要分配一定的計算資源及存儲資源。分布式計算模塊根據(jù)每個進程所需要的資源進行節(jié)點分配,這樣處理時作為用戶并不需要關(guān)心整個云平臺的硬件資源,而把資源分配交給分布式計算模塊來處理。當(dāng)一個硬件節(jié)點分到具體任務(wù)的具體進程后,則置自身的運行狀態(tài)為1,并發(fā)送狀態(tài)信息給分布式計算模塊,當(dāng)另一個用戶進行作業(yè)時,分布式計算模塊會選擇空閑的計算節(jié)點資源。不同用戶不需要進行資源的爭奪,有利于整個云處理平臺的穩(wěn)定性,并減少了分布式系統(tǒng)的耦合性。
3)并行文件處理模塊
并行文件處理模塊作用是對用戶作業(yè)的輸入及輸出文件進行維護,作業(yè)在運行中產(chǎn)生的臨時文件也由此模塊負責(zé)。同時前一時刻的臨時文件也是后一時刻臨時文件的輸入。最終的文件則是臨時文件的最終結(jié)果。文件管理模塊會對中間態(tài)文件進行保存或刪除?;谠破脚_的文件管理模塊流程如圖5所示。
4)錯處處理模塊
由于云平臺是一個異構(gòu)的分布式架構(gòu),中心管理節(jié)點需要對各分散的計算節(jié)點進行檢查。出錯管理模塊負責(zé)監(jiān)控系統(tǒng)中各分布式節(jié)點的狀態(tài),如空閑狀態(tài)﹑運行狀態(tài)及宕機狀態(tài)。
圖5 文件管理流程圖Fig.5 The flow chart of file management
試驗采用處于同一局域網(wǎng)的節(jié)點來測試云平臺系統(tǒng)的消息傳遞速率及吞吐量。不同用戶把具體的消息內(nèi)容封裝在消息體中,對消息服務(wù)器進行測試。
試驗描述消息服務(wù)器在處理大批量消息時的效率及處理不同長度消息時的時效性。本文測試消息的最大長設(shè)為200 k。
表1 不同長度消息時效性Tab.1 Tab of message processing time
消息服務(wù)器處理不同長度的消息曲線圖如圖6所示。
圖6 消息處理吞吐量曲線圖Fig.6 Message processing throughput graph
隨著海上通信業(yè)務(wù)的發(fā)展,原有架構(gòu)的海上通信平臺無論在處理速率、存儲容量已經(jīng)越來越不能滿足日益擴展的應(yīng)用需求。而云計算平臺構(gòu)建的虛擬化、分布式的通信信息處理系統(tǒng)能夠有效地解決海上通信業(yè)務(wù)存在的性能瓶頸。
本文在研究現(xiàn)有的海上通信系統(tǒng)及云平臺技術(shù)的基礎(chǔ)上,提出了面向物聯(lián)網(wǎng)體系的海上云通信平臺,并進行仿真。
[1]MARK S,ADITYA A,MARC K.Thrift:scalable crosslanguage services implementation[EB/OL].Facebook,156 University Ave,Palo Alto,CA.
[2]SNIR M,OTTO S,STEVEN H L,et al.MPI:the complete reference[M].MIT Press Cambridge,MA,USA.ISBN 0-262 -69215 -5,1995.
[3]CHEN Kang,ZHENG Wei-min.Cloud computing:system instances and current research[J].Journal of Software,2009,20(5):1337 -1348.
[4]臧麗娜,鄭艷娟,張宇敬.面向云計算的船舶生產(chǎn)信息平臺建設(shè)[J].艦船科學(xué)技術(shù),2014,36(12):107 -111.ZANG Li-na,ZHENG Yan-juan,ZHANG Yu-jing.Research on ship production information platform based on cloud computing[J].Ship Science and Technology,2014,36(12):107 -111.
[5]趙德福.基于云計算的船舶動態(tài)監(jiān)控系統(tǒng)設(shè)計[J].艦船科學(xué)技術(shù),2015,37(2):120 -124.ZHAO De-fu.Ship dynamic monitoring system design based on cloud computing[J].Ship Science and Technology,2014,36(12):120 -124.