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