摘要:智能航保是現(xiàn)代化航海的重要內容和必然趨勢,航海保障部門也一直致力于智能航保的研究和建設工作。本文介紹了智能航保的發(fā)展背景,分析了利用傳統(tǒng)開發(fā)模式和云平臺部署智能航保會存在的問題,引入Docker容器技術,提出基于Docker容器技術的智能航保云平臺的架構設計。
關鍵詞:Docker;智能航保;云平臺
0 ?引 言
自從國際海事組織(IMO)提出e-航海發(fā)展戰(zhàn)略以來,智能化理論和技術逐漸滲透到航海領域。根據(jù)交通運輸部等七部門聯(lián)合發(fā)表的《智能航運發(fā)展指導意見》,作為五大要素之一的智能航保也需要深入研究智能航運下的用戶需求,構建完善的智能航保體系,而智能航保的建設離不開信息大數(shù)據(jù)的支持和服務,航保云平臺是智能航保建設的主戰(zhàn)場[1]。由于智能航保建設的長期性,云平臺建設可采用重點先行建設、其余分步建設、后期迭代升級的原則,但傳統(tǒng)的開發(fā)模式和云平臺存在如部署不方便、配置復雜、升級效率低、資源利用率低、運行能力差等問題,因此,引入基于Docker容器技術的智能航保云平臺架構設計。Docker容器是開源的虛擬化技術,具有部署靈活、配置簡化、迭代效率高、性能損耗低、集成度高等優(yōu)點,適用于智能航保的長期性建設。
1 智能航保發(fā)展背景
2006年國際海事組織(IMO)首次提出e-航海的概念,揭開了數(shù)字化航海時代的序幕,E航海迅速發(fā)展成為各海洋國家的戰(zhàn)略目標。在國際海事組織(IMO)、國際航標協(xié)會(IALA)、國際海道測量組織(IHO)和國際電信聯(lián)盟(ITU)的共同推動下,航海逐漸走向信息化、網(wǎng)絡化和自動化,利用先進技術實現(xiàn)船岸間智能導助航信息服務成為e-航海的核心目標。隨著e-航海戰(zhàn)略的不斷深入和科學技術的發(fā)展,陸續(xù)衍生出智慧海事、智慧港口、智能船舶等概念。2019年,交通運輸部、中央網(wǎng)信辦、國家發(fā)展改革委、教育部、科技部、工業(yè)和信息化部、財政部聯(lián)合發(fā)布《智能航運發(fā)展指導意見》,為智能航運未來30年發(fā)展指明方向。智能航運是傳統(tǒng)航運要素與高新技術深度融合形成的現(xiàn)代航運新業(yè)態(tài),包括智能船舶、智能港口、智能航保、智能航運服務和智能航運監(jiān)管五方面基本要素。“智能航?!笔侵悄芑叫兄畏毡U舷到y(tǒng)的簡稱,作為智能航運的重要組成部分,智能航保旨在通過智能化手段進一步提升航海保障水平,在整個智能航運體系中起到重要支撐作用。智能航保是利用智能傳感器、物聯(lián)網(wǎng)、互聯(lián)網(wǎng)、大數(shù)據(jù)、云計算、人工智能等技術,使船舶導航、通信傳輸、數(shù)據(jù)處理等系統(tǒng)和信息服務平臺充分智能化,既能為船舶自主航行提供技術支撐、服務和保障,也能對獲取的信息進行整合、交換和分析,為智能監(jiān)管提供輔助支持,為打造平臺化航運服務提供手段。
2 ?航保業(yè)務平臺建設現(xiàn)狀及問題
目前,航保多數(shù)應用系統(tǒng)采用瀏覽器/服務器的結構模式,不同的業(yè)務運行在不同的物理服務器之上,這種架構模式存在諸多缺點:(1)資源浪費。航保的大部分應用與業(yè)務系統(tǒng)消耗的資源很少,而一臺服務器上只運行一種業(yè)務造成了資源的浪費,利用率不高。(2)成本高。運行一種業(yè)務,相應地就要準備物理服務器,然后安裝適用的操作系統(tǒng),安裝各種系統(tǒng)環(huán)境的依賴,再安裝業(yè)務程序,部署過程緩慢,成本也很高。(3)更新升級困難。服務器若要更新升級,運行在其上的業(yè)務就需要遷移并重新部署,并且更新升級后的服務器未必有效支持業(yè)務運行。(4)擴展性低。對服務器進行資源擴展也是非常麻煩,同樣需要重新部署。因此,最近幾年,航保也逐漸引入虛擬化技術來解決傳統(tǒng)物理服務器應用遇到的問題。虛擬化技術是通過運行在物理服務器與操作系統(tǒng)之間的中間層,進行資源的虛擬化,加載所有客戶端的操作系統(tǒng),實現(xiàn)了在一臺服務器上同時運行多個操作系統(tǒng)。利用虛擬化技術,我們可以很容易的進行資源擴展而無須考慮物理服務器,但是這種虛擬化技術仍具有局限性:(1)部署困難。業(yè)務的運行需要依靠代碼、運行環(huán)境、配置等,增加新的業(yè)務仍需要部署新的應用環(huán)境,無法將應用及其依賴打包作為整體進行管理。(2)資源有效利用率低。每一臺虛擬機都具有完整的操作系統(tǒng),在不同的虛擬機上部署不同的應用,但虛擬機開銷很高,操作系統(tǒng)本身消耗資源很多,造成資源的有效利用率很低。(3)負載均衡和運行監(jiān)控能力差。在實際運行中,不同的應用服務對硬件和內存的需求是變化的,因此需要動態(tài)調整資源分配;并且運行過程需要監(jiān)控機制,需要有靈活的容錯備份和異常處理機制。
智能航保的建設要重點考慮系統(tǒng)的擴展性、開放性,保證各項服務、業(yè)務之間松耦合,避免建設過程中耦合過于嚴重,智能航保云平臺是建設的核心,平臺上需要不斷加入新的服務或者應用來豐富智能航保的功能,需要后期不斷的維護和更新,良好的擴展性可以保障新集成的服務不會影響整體架構和正常運行。
3 ?Docker容器
3.1 ?Docker容器簡介
Docker是一個開源的應用容器引擎,提供輕量化的虛擬化解決方案,被稱為軟件行業(yè)的集裝箱技術,Docker技術可以讓開發(fā)者將應用及其依賴一起打包放到可移植的容器中,包括開發(fā)環(huán)境和運行應用的環(huán)境變量、組件等,這個容器就是完整的交付環(huán)境,實現(xiàn)“一次封裝,到處運行”[2]。與當前應用廣泛的傳統(tǒng)的虛擬化技術相比,Docker容器技術具有突出的性能:(1)靈活性高。伸縮性強,擴展性強,擴展或更新應用時只需要加載相應的容器,最大化地利用現(xiàn)有資源。(2)集成度高。應用及其依賴以類似集裝箱的形式打包交付,不受宿主操作系統(tǒng)版本及環(huán)境變量的影響,應用系統(tǒng)可以方便地進行遷移和擴展。(3)啟動快,性能高。管理操作,如啟動、停止、重啟等操作,可以實現(xiàn)秒級甚至毫秒級,應用系統(tǒng)運行時的性能得到大幅提升。(4)資源利用率高。與傳統(tǒng)的虛擬技術相比,Docker不包含操作系統(tǒng)內核,更加輕量化,降低了虛擬機的性能損耗[3]。Docker技術作為一種充分挖掘計算平臺能力的輕量化虛擬技術,近年來得到許多大企業(yè)的支持和應用,網(wǎng)易、華為、騰訊等大型企業(yè)都已經(jīng)大規(guī)模地部署Docker。
3.2 Docker的系統(tǒng)架構(見圖1)
傳統(tǒng)的虛擬化技術與Docker容器技術的架構對比如圖1所示[4]。Docker容器技術與傳統(tǒng)的物理服務器及虛擬化工作方式不同,虛擬化技術是在主機上制備操作系統(tǒng),在操作系統(tǒng)上再安裝并部署相應的配置和業(yè)務應用,而Docker更為簡潔化、輕量化,它沒有物理主機的模擬,通過各實例共享主機的操作系統(tǒng),在Docker容器中是不包含操作系統(tǒng)的,因此,將應用運行在Docker容器上,配置可以簡化,將運行環(huán)境、代碼及相關配置文件打包到容器里,實現(xiàn)了開發(fā)環(huán)境、業(yè)務環(huán)境與本地環(huán)境的統(tǒng)一,降低了開發(fā)部署的難度,且一臺機器上可以運行多個容器,共享操作系統(tǒng)內核,而每個容器中的應用都是孤立進程。Docker的組成包含三個主要部分:(1)鏡像。鏡像可看作是容器的源代碼,提供容器運行時所用的程序、庫、配置參數(shù)等。(2)容器。容器是Docker的運行單元,通過鏡像啟動應用或系統(tǒng),是鏡像運行時的實體。(3)倉庫。倉庫是存放鏡像的地方,保存用戶構建的鏡像,有公有和私有倉庫兩種。
Docker雖然具有眾多優(yōu)勢,但是在實際運維中存在部署和管理不能自動化、監(jiān)控能力差、無法自動伸縮擴展等問題,因此,在平臺架構中需引入相應的容器集群調度管理系統(tǒng)。本架構引入Kubernetes,提供跨主機集群的自動部署、擴展和管理容器的功能,實現(xiàn)云平臺應用組件的自動化管理和容器集群的負載均衡、運行監(jiān)測和管理調度。
4 基于Docker容器的智能航保云平臺架構
利用Docker容器技術建設航保云平臺,可搭建一致性強、便于使用的開發(fā)運行環(huán)境?;贒ocker容器的云平臺架構靈活便捷,能與開發(fā)環(huán)境無縫集成;擴展性強,能快速擴展應用和環(huán)境;可移植性強,無差別地移植到測試和應用環(huán)境中,可有效實現(xiàn)在e-航海背景下全球統(tǒng)一的、標準化的智能航保服務。
基于Docker容器的智能航保云平臺總體架構圖如圖2所示,自下而上包括物理層、數(shù)據(jù)層、容器層、支撐層和應用層。 物理層包括所有的硬件設備,如服務器、網(wǎng)絡設備、存儲設備等,為平臺的運行提供物理環(huán)境支撐;數(shù)據(jù)層負責提供數(shù)據(jù)資源,是航保云平臺的大數(shù)據(jù)中心,數(shù)據(jù)層的數(shù)據(jù)信息包括海上空間信息、航標、AIS,重要水域的航行規(guī)則、管理信息、服務資源等船舶進出港常用信息,也可與外部涉海機構建立信息共享機制,獲取港口調度、海況信息、災害天氣、環(huán)保信息等外部數(shù)據(jù),建立互聯(lián)互通的數(shù)據(jù)共享平臺;容器層實現(xiàn)了基于Docker容器和Kubernetes的容器管理,提供自動化的容器構建與調度、負載均衡、運行監(jiān)控等服務,完成輕量
級的應用系統(tǒng)部署和運維;支撐層利用航標數(shù)據(jù)匯聚、數(shù)據(jù)融合、數(shù)據(jù)管理、信息服務、運維管理、平臺門戶等構建云平臺軟件體系,為應用層提供數(shù)據(jù)管理能力、接口服務能力以及信息分析能力;應用層是向用戶提供各種應用服務的支持,如航海保障綜合服務、港口信息服務、海上安全信息服務、海圖服務、通航環(huán)境信息服務、高精度導航定位服務等,利用支撐層的數(shù)據(jù)服務和接口服務,提供不同領域的應用方式[5]。
5 ?總 結
智能航保是e-航海經(jīng)過多年發(fā)展之后呈現(xiàn)的新形態(tài),是未來的發(fā)展方向。智能航保通過先進技術和智能化手段,開發(fā)一批具有示范意義的航海保障數(shù)字服務和應用平臺,全面促進中國航海保障服務能力進一步提升。本文介紹了智能航保的發(fā)展背景,結合傳統(tǒng)開發(fā)模式和云平臺部署智能航保會存在的問題,引入Docker容器技術,提出基于Docker容器技術的智能航保云平臺的架構設計,可實現(xiàn)在E航海背景下全球統(tǒng)一的、標準化的智能航保服務。
參考文獻
[1] 交通運輸部等.智能航運發(fā)展指導意見[A].2019
[2] 金琦.初識DOCKER容器技術[J].中國信息技術教育,2019(Z3):105-109.
[3] 劉慶芳,趙李東,龐超.基于Docker容器的中國郵政網(wǎng)絡學院架構研究[J].郵政研究,2018,34(06):42-44.
[4] 管文超. 基于Docker的智慧消防云平臺構建及其典型應用的研究[D].華東理工大學,2018.
[5] 沈鳳嬌,曾珍,程蕾.基于Docker容器的智慧城市時空信息云平臺架構設計研究[J].城市勘測,2020(02):31-35.
作者簡介
張璞,女,碩士研究生,工程師,從事無線電航標管理,(E-mail)dlhbczp@163.com, 15042482671