郭 松
(沈陽體育學(xué)院 體育信息技術(shù)系,遼寧 沈陽110102)
近年來,海洋信息系統(tǒng) (Marine Information System,MInfS)已成為一種標(biāo)準(zhǔn)化的信息基礎(chǔ)設(shè)施,能夠向公眾和私人提供諸如航線規(guī)劃[1-2]、資源管理、海洋地理信息系統(tǒng)決策等眾多功能。當(dāng)前,海洋信息系統(tǒng)與地理信息系統(tǒng)(GIS)已成為當(dāng)作海洋活動中必不可少的信息裝備。地理信息系統(tǒng)的主要功能是提供地理范疇內(nèi)的數(shù)據(jù),主要應(yīng)用于地圖繪制、地理測量、地質(zhì)工程、環(huán)境科學(xué)、資源保護(hù)和航線規(guī)劃等需要專業(yè)地理數(shù)據(jù)支持的行業(yè)和領(lǐng)域。而海洋信息系統(tǒng)則主要用來收集、儲存和分析各種地理、水文和應(yīng)用相關(guān)數(shù)據(jù)。近年來,海洋信息系統(tǒng)已經(jīng)在海洋環(huán)境保護(hù)等領(lǐng)域得到了廣泛發(fā)展。但是,不同行業(yè)和海洋活動存在著不同的需求,一個統(tǒng)一的通用系統(tǒng)難以滿足各種不同需求,從而催生了不同種類和功能的海洋信息系統(tǒng)。這些不同系統(tǒng)的出現(xiàn)為人類的海洋活動提供了強(qiáng)大支持。然而隨著科技的不斷發(fā)展和海洋作業(yè)的復(fù)雜性不斷提高,越來越需要多個組織和系統(tǒng)進(jìn)行協(xié)調(diào)合作,而當(dāng)前的海洋信息系統(tǒng)不具備數(shù)據(jù)開放、共享、交換的能力,因而難以支撐多業(yè)務(wù)之間的合作。近年來,這一問題一直是制約海洋信息系統(tǒng)發(fā)展的主要障礙之一,學(xué)術(shù)界和企業(yè)界為此付出了巨大的努力,但收效甚微,云計算技術(shù)作為一種新興的IT 技術(shù),為解決以上問題提供了可能。
云計算的概念自2009年被提出以來,已成為Google、IBM、Yahoo、Microsoft 等IT 巨頭競相追逐的熱點(diǎn),并紛紛推出了自己的云計算服務(wù),能夠支持大規(guī)模用戶的并行計算與多種設(shè)備和系統(tǒng)的連接互通能力[3]。
云計算是一種新型的IT 資源組織和使用形式,其集合了網(wǎng)格計算、分布式計算等技術(shù)的特點(diǎn),具有可擴(kuò)展性高、資源虛擬化、海量存儲等優(yōu)勢,為海洋信息系統(tǒng)的發(fā)展帶來了新的機(jī)遇。在云計算中,中間件用來提供承載應(yīng)用的統(tǒng)一平臺,是云計算中的基礎(chǔ)設(shè)施,能夠支持不同種類和目標(biāo)的應(yīng)用,并能夠連接不同功能的組件和模塊。本文提出了一種基于云計算的海上信息系統(tǒng),該系統(tǒng)能夠在同一平臺上運(yùn)行多種不同功能的應(yīng)用,同時能夠在多種應(yīng)用中提供較好的數(shù)據(jù)聯(lián)通、交換和共享能力。
云計算作為一種新興技術(shù),對其研究處于早期階段,仍然需要持續(xù)的深入研究。云計算提供了一種新型的資源組織方式,能夠使得用戶方便地、按需地使用系統(tǒng)中的各種計算資源,如網(wǎng)絡(luò)、服務(wù)器、存儲、應(yīng)用和服務(wù),云計算的這種能力能夠?qū)崿F(xiàn)服務(wù)的快速發(fā)布、提供和交互,并使得云計算成為近年來IT 領(lǐng)域中的研究熱點(diǎn)。云計算由高性能計算(High Performance Computing,HPC)、虛擬化、網(wǎng)格計算(Grid Computing)等技術(shù)發(fā)展而來,具備以上技術(shù)的優(yōu)勢,同時也具有自身的專用概念、技術(shù)、應(yīng)用領(lǐng)域和用戶體驗(yàn)等。通過對該技術(shù)相關(guān)工作的學(xué)習(xí)和比較,能夠使我們對云計算的發(fā)展和應(yīng)用取得較為深入的了解[4]。
云計算是一種集約化的IT 架構(gòu),其將所有的計算資源、存儲資源、網(wǎng)絡(luò)傳輸資源等統(tǒng)一組織和管理,通過虛擬化技術(shù)和抽象技術(shù),通過用戶調(diào)用的服務(wù),按需呈現(xiàn)給用戶,從而向用戶隱藏了具體的實(shí)現(xiàn)細(xì)節(jié),而用戶也可以通過與地理位置無關(guān)的API 遠(yuǎn)程訪問計算資源,屏蔽了網(wǎng)絡(luò)拓?fù)涞膹?fù)雜性和系統(tǒng)模塊的異構(gòu)性。對于應(yīng)用開發(fā)者來說,云計算的優(yōu)勢主要有以下幾個方面:1)其提供按需分配資源的能力,能夠有效提高系統(tǒng)資源的利用率;2)其能夠利用中間件技術(shù)向開發(fā)者提供統(tǒng)一化的平臺,在該平臺上可以按照不同的需求開發(fā)和運(yùn)行多個應(yīng)用或服務(wù);3)在云計算架構(gòu)下,不同種類的應(yīng)用和服務(wù)能夠通過中間件實(shí)現(xiàn)高效率和方便的數(shù)據(jù)交換與互操作;4)云計算對計算資源、網(wǎng)絡(luò)資源等進(jìn)行了抽象和虛擬化,使得開發(fā)者只需要關(guān)注頂層的服務(wù)和應(yīng)用實(shí)現(xiàn),而不需要關(guān)注底層具體的資源分配、設(shè)備配置等問題,簡化了服務(wù)實(shí)施的流程[5]。
而對于用戶來說,云計算的優(yōu)勢主要有以下幾個方面:1)用戶通過與位置無關(guān)的API 訪問服務(wù),使得用戶可以在多個地點(diǎn)、多種設(shè)備上無差別地使用同一個服務(wù);2)用戶通過云計算使用相關(guān)的服務(wù),不需要關(guān)心服務(wù)具體的實(shí)現(xiàn)細(xì)節(jié)以及調(diào)用細(xì)節(jié);3)云計算的設(shè)備無關(guān)性能夠使用戶擺脫使用設(shè)備的局限性,只需關(guān)心自身需要的服務(wù)和應(yīng)用即可。
在海洋信息化領(lǐng)域,云計算的應(yīng)用才剛剛起步,本文利用云計算技術(shù),通過建立數(shù)據(jù)中心和中間件技術(shù),將原本單獨(dú)工作的系統(tǒng)移植到云平臺上,一方面能夠有效減少各種資源的浪費(fèi),另一方面能夠方便地實(shí)現(xiàn)不同系統(tǒng)之間的信息共享和互操作,云計算技術(shù)的基本架構(gòu)圖如圖1所示。
圖1 云計算架構(gòu)圖Fig.1 The structure of cloud computing
海洋覆蓋了70%以上的地球表面,蘊(yùn)藏著巨大的政治和經(jīng)濟(jì)利益,因而充分了解關(guān)鍵海域的海洋信息對于國際外交、資源開發(fā)、海上航運(yùn)等具有重大的意義,而以往的地理信息系統(tǒng)(GIS)對陸地信息較為關(guān)注,而海洋信息的收集、分類、處理能力相對匱乏。因而本文提出的海上信息系統(tǒng)將作為綜合地理信息系統(tǒng)(Complete GIS)的一部分,對GIS 原有的功能進(jìn)行補(bǔ)充和完善。海上信息系統(tǒng)基本框架如圖2所示。
圖2 海洋信息系統(tǒng)基本框架Fig.2 The architecture of marine information system
在實(shí)際應(yīng)用過程中,基于云計算的海上信息系統(tǒng)主要分為岸基設(shè)備和船載設(shè)備2 種,其整體框架如圖3所示。
圖3 基于云計算的海洋信息系統(tǒng)結(jié)構(gòu)Fig.3 The structure of MIS based on cloud computing
如圖3所示,整個系統(tǒng)的岸基設(shè)備部分主要由岸基數(shù)據(jù)中心和衛(wèi)星天線組成,由于數(shù)據(jù)中心往往包含成百上千臺服務(wù)器,需要較大的空間和能源供應(yīng),因此需要部署在岸上,通過衛(wèi)星鏈路向船舶提供相應(yīng)的服務(wù)。然而由于海洋環(huán)境瞬息萬變,僅僅依靠遠(yuǎn)程數(shù)據(jù)中心支持可能會造成服務(wù)可用性降低,因而在船舶之上,還部署有小規(guī)模的數(shù)據(jù)中心,這些小規(guī)模的數(shù)據(jù)中心中運(yùn)行有基本的服務(wù),如導(dǎo)航、地理信息、水文信息檢索等,當(dāng)船舶需要使用更加復(fù)雜的服務(wù)時,可以利用服務(wù)遷移技術(shù),從岸基數(shù)據(jù)中心中,將部分服務(wù)遷移到艦載數(shù)據(jù)中心中使用,以提高服務(wù)的可靠性。
需要指出的是,通過衛(wèi)星鏈路和其他通信手段,艦載數(shù)據(jù)中心和岸基數(shù)據(jù)中心能夠融合為一體,對于開發(fā)者和用戶來說,屏蔽了服務(wù)的地理特性,也就是其并不能分辨服務(wù)究竟是運(yùn)行在本地還是運(yùn)行在岸基數(shù)據(jù)中心中。這樣做一方面能夠向用戶屏蔽更多的底層信息,提供更好的用戶體驗(yàn);另一方面,能夠提供不同位置、不同類型、不同功能服務(wù)之間的融合和交互。
一個云計算應(yīng)用系統(tǒng)可以被歸納為用戶層、服務(wù)層、應(yīng)用層、平臺層、存儲層和基礎(chǔ)設(shè)施層6個層次。一個云終端包含硬件和軟件2個方面,通過云計算架構(gòu)完成服務(wù)的發(fā)布或獲取。云計算通過網(wǎng)絡(luò)向用戶提供能夠?qū)崟r使用的產(chǎn)品、服務(wù)和解決方案,通過“軟件即服務(wù)的模式”,將傳統(tǒng)的軟件以服務(wù)的方式發(fā)布,使得傳統(tǒng)軟件的安裝、升級和運(yùn)行等過程完全簡化,并完全省略了軟件的維護(hù)和幫助成本。同時通過云計算架構(gòu),用戶和開發(fā)者不需要接觸到底層的硬件和軟件,只需關(guān)注實(shí)際的需求即可。
云計算存儲系統(tǒng)是一個通過網(wǎng)絡(luò)連接的大規(guī)模存儲陣列,數(shù)據(jù)被存儲在實(shí)際的存儲服務(wù)器或虛擬服務(wù)器中,而這些服務(wù)器往往由第三方進(jìn)行托管和維護(hù)。
云計算的基本原則就是多種資源的虛擬化,包括計算能力、內(nèi)存空間、存儲介質(zhì)、軟件功能、信息服務(wù)等,凡是用戶提出的請求和調(diào)用的應(yīng)用,均不涉及具體的底層資源和被管設(shè)備,而是從虛擬化的資源池中按需索取,并封裝為相應(yīng)的API 供具體的應(yīng)用和服務(wù)使用??偠灾朴嬎愕奶攸c(diǎn)就是:強(qiáng)大的計算能力、海量的存儲能力、虛擬化、高可靠性和對用戶需求的靈活反應(yīng)能力。
根據(jù)第2 節(jié)中提出的基本框架,基于云計算的海上信息系統(tǒng)工作流程如圖4所示。
海洋信息往往來源于多種設(shè)備,涉及多種類型的數(shù)據(jù)。因此,信息系統(tǒng)在接收到原始的數(shù)據(jù)之后,需要首先進(jìn)行數(shù)據(jù)過濾,將錯誤和異常數(shù)據(jù)剔除,之后根據(jù)不同的數(shù)據(jù)類型,將數(shù)據(jù)統(tǒng)一轉(zhuǎn)換為標(biāo)準(zhǔn)數(shù)據(jù)格式,如IMO ECDIS和IHO S57/S52 等。通過以上過程,系統(tǒng)就能夠識別接收到的數(shù)據(jù),并能夠?qū)?shù)據(jù)進(jìn)行有效的存儲。
數(shù)據(jù)被轉(zhuǎn)換為標(biāo)準(zhǔn)格式之后,需要遞交給云操作系統(tǒng),該操作系統(tǒng)主要由中間件系統(tǒng)、數(shù)據(jù)過濾器、信息組件層次和信息交換層次組成。其功能在于聯(lián)通數(shù)據(jù)中心與用戶,向用戶提供友好的用戶界面,并對云中各種服務(wù)的調(diào)用、維護(hù)和刪除進(jìn)行控制。其中信息組件層次的功能為充當(dāng)各個服務(wù)的信息接口,由于采用虛擬化的方法,因而每個服務(wù)和應(yīng)用并不具備物理接口與中間件系統(tǒng)相連,為了完成系統(tǒng)內(nèi)不同應(yīng)用和服務(wù)之間數(shù)據(jù)的傳遞,需要構(gòu)建信息組件層次。而信息交換層次則相當(dāng)于各個服務(wù)和應(yīng)用之間的內(nèi)部網(wǎng)絡(luò),通過該層次,不同的應(yīng)用之間可以共享和交換自身的數(shù)據(jù),而不需要使用具體的通信網(wǎng)絡(luò)和通信設(shè)備。
圖4 系統(tǒng)工作流程圖Fig.4 The work flow of the system
云操作系統(tǒng)將數(shù)據(jù)遞交給具體的應(yīng)用,該應(yīng)用可能工作在艦載數(shù)據(jù)中心中,也有可能工作在岸基數(shù)據(jù)中心中,然而對于云操作系統(tǒng)來說,應(yīng)用的地理位置透明,能夠?qū)崿F(xiàn)方便直接的數(shù)據(jù)交換。最終完成了整個數(shù)據(jù)處理的過程。
中間件系統(tǒng)主要分為以下幾個部分:資源管理器,應(yīng)用和服務(wù)管理器,開放API 接口,安全管理機(jī)制等,其結(jié)構(gòu)如圖5所示。
從圖5 看出,資源管理器主要對系統(tǒng)中的計算和網(wǎng)絡(luò)資源進(jìn)行管理和抽象,并提供調(diào)度機(jī)制以供應(yīng)用服務(wù)管理器使用。由于云平臺上運(yùn)行著多種不同的應(yīng)用,因而需要對用戶進(jìn)行隔離和認(rèn)證,通過安全管理機(jī)制發(fā)放的許可以及對用戶進(jìn)行認(rèn)證,可以實(shí)現(xiàn)系統(tǒng)的可信訪問。應(yīng)用服務(wù)管理器主要負(fù)責(zé)對應(yīng)用和服務(wù)實(shí)例進(jìn)行管理、調(diào)度、維護(hù)和刪除,是整個中間件系統(tǒng)的核心。而API 是對于系統(tǒng)資源和系統(tǒng)功能的封裝,對頂層應(yīng)用起到支撐和實(shí)現(xiàn)作用,通過應(yīng)用服務(wù)管理器和開放API,系統(tǒng)能夠根據(jù)用戶的具體需求和系統(tǒng)資源的利用情況,合理的創(chuàng)建和組織系統(tǒng)中的活動服務(wù)實(shí)例。
圖5 中間件系統(tǒng)結(jié)構(gòu)Fig.5 The structure of middleware
本文深入分析了當(dāng)前海洋信息系統(tǒng)存在的主要缺陷,并指出了多種信息系統(tǒng)之間互操作所存在的主要障礙。在對云計算技術(shù)進(jìn)行詳細(xì)介紹的基礎(chǔ)上,討論和研究了利用云計算技術(shù)構(gòu)建海洋信息系統(tǒng)的可能性,并提出了一種基于云計算的海上信息系統(tǒng),給出了系統(tǒng)的主要結(jié)構(gòu),相比于傳統(tǒng)系統(tǒng),對關(guān)鍵模塊和中間件系統(tǒng)等進(jìn)行了詳細(xì)設(shè)計。然而本文所做的研究僅僅處于初級階段,仍然需要在下一步的工作中進(jìn)行進(jìn)一步的研究和深化。
[1]BENGT A,MATTEO D,CHRISTIAN D,et al.Design Considerations for a Network of Information[C]//ACM CoNEXT,2008(9):2256 -2268.
[2]RADHA G.Toward the intelligent web systems[J].Communication Systems and Network,2009(7):459-463.
[3]武登科,何江青.艦船裝備維修信息可視化及應(yīng)用[J].艦船科學(xué)技術(shù),2011,33(11):156 -161.WU Deng-ke,HE Jiang-qing.Ship equipment maintenance information visualization and applications[J].Ship Science and Technology,2011,33(11):156 -161.
[4]潘悅.水下信息理解的概念和方法[J].艦船科學(xué)技術(shù),2009,31(6):78 -83.PAN Yue.The concept and method on understanding underwater information[J].Ship Science and Technology,2009,31(6):78 -83.
[5]DENG Hai-sheng,LI Jun-hua,LIU Ying-hong.Data-collection middleware according to RFID[J].Computer Technology and Development,2007,17(9):188-191.