楊君屹,趙 杰,王逸璇,陳瑞揚,劉新剛,李宗寶,張弘喆
(1. 星航互聯(北京)科技有限公司,北京 100094;2. 中國衛通集團股份有限公司,北京 100190)
機載覆蓋衛星網絡使乘客在機上體驗實時的空地互聯一直是一個很火爆的話題,在機載端開發應用也是最近各公司及航空公司首要解決的相關事項。這一舉措非常有利于國內的網絡覆蓋和上網人員數量的提升。目前,衛星互聯網在荒漠、海洋都有著不錯的前景和覆蓋面積,只需要安裝一套衛星接收裝置,即可體驗衛星網絡覆蓋,這對于飛機上手機無網絡的情況是非常重要的措施。截止到2020年底,國內飛機合計3 903架,國內空地互聯網的普及率僅為5.5%,這對于國內機載互聯網的發展是十分不利的[1]。
根據民航局公布的數據,截至2020年年終,國內的20家航空公司有654架飛機可以提供面向全體乘客的網絡服務,其中三分之二都是局域網服務,不可以直接聯通互聯網。真正意義上的互聯網飛機,目前統計有11家航司的213架飛機。目前來看,2020年國內飛機合計3 903架,可以說經過8年的準備工作,國內空地互聯網普及率為5.5%。北美地區航空互聯網起于2009年,并于2013年開始高速發展,7~8年時間里,國內與北美仍存在有10倍左右的差距。根據中金研究院數據,2016年美國達美航空、美國航空和美聯航機隊的旅客上網覆蓋率分別達93%、71%和48%,并且美國西南航空和捷藍航空,機隊覆蓋率也達到了80%和61%。現在國內空地互聯網公司最早也是在2015年左右出現的,并且目前技術方案并不成熟,由此可見,國內的航空互聯網市場有著充足的發展前景與發展空間[1]。
衛星互聯網技術依賴于機載接收發送設備、衛星和地面站這三個重要組成部分。本系統中使用的衛星互聯網技術需要的衛星是指Ka頻段的高通量衛星,主要依賴于中星16號衛星。Ka頻段抗干擾能力很強,并且具有自動功率控制技術用以解決雨衰問題。地面站位于國內不同區域,不同位置的信關站通過光纖網絡相互鏈接,用來形成完整的信息網絡。機載接收發送設備主要是調制解調器,它主要用于控制衛星信號的發送與接收工作,是機上終端和機載天線之間連接的橋梁。
機載軟件及內容自動更新系統分為地面端和機上端兩部分,地面平臺需要對多個飛機進行統一管理,這種模式需要地面及機上采用分布式方案。并且由于飛機較多,所以也會產生較多的數據用于存儲,涉及文件存儲服務器MinIO。其次,在支持軟件自動上機并部署啟動時,需要把機上的前端和后端服務生成Docker鏡像用于維護,所以這里也用到了Docker技術和Docker鏡像存儲技術Harbor。由于機上與地面網絡的特性,需要維持一個穩定的機上地面通信方式,所以采用了大數據消息通道Kafka。下面會對這些技術分別闡述。
2.1.1 Spring Cloud
Spring Cloud作為分布式框架的整合適用于當前系統對于地面平臺的技術特性,它的各個組件依賴于Spring Boot,可以簡化分布式系統基礎設施的開發工作。在本系統中應用到的Spring Cloud組件如下所示。
(1)Nacos(注冊與配置中心)。Nacos是針對分布式架構的微服務提供的服務發現與負載均衡、統一配置管理和服務治理的強大綜合性解決方案的組件。
作為配置中心,它可以對注冊到其中的微服務進行統一的發布與修改配置。在配置中心修改或發布了相關微服務的配置后,它將主動向注冊進來的微服務進行通知,然后微服務會自動從配置中心獲得最新修改的配置并應用。
作為注冊中心,它可以對注冊到其中的微服務進行服務發現并動態負載均衡使請求分配到不同的微服務實例中,同時對注冊進來的微服務進行健康檢查。
(2)Gateway(請求網關)。Gateway是一個針對分布式架構路由層面的提供統一路由訪問與相關攔截機制的統一API路由管理方式組件。
它的基本功能是,動態路由基本上可以匹配任何訪問其的請求、并將其轉發到在Nacos中注冊的微服務中;針對路由指定斷言與攔截機制,能夠判斷并對請求進行處理,靈活地判斷是否讓請求放行。
(3)Open Feign服務間調用。Open Feign是Spring Cloud提供的聲明式調用組件,常用于各個微服務之間相互調用,在使用Nacos作為注冊中心時,Open Feign也會到Nacos注冊中心中,進行服務查詢并選取符合條件的服務隨后調用其接口進行訪問。
2.1.2 Docker技術
(1)機載軟件技術D o c k e r及鏡像存儲服務Harbor。Docker是運行在操作系統的一個提供容器環境的軟件。它可以使同一套編程語言下的軟件運行在不同的操作系統中。因為機上環境的后臺代碼是用Java語言編寫的,機載服務器的系統與品牌多種多樣。利用Docker技術可以很好的滿足同一套Java程序在不同的操作系統中的部署操作。
(2)Docker的基礎組成部分為Image鏡像和Container容器。①Image鏡像:程序打成的包加上可以運行的最小化環境組成了一個鏡像,它是一個只讀的模板。②Container容器:容器是Docker獨立運行的一個或一組應用。容器是利用鏡像創建出來的并且每個容器之間相互隔離。
Harbor就是幫助公司搭建企業級Docker Repository鏡像倉庫的服務,并提供了用于管理的UI界面和角色訪問控制,也提供了一些獲取信息的API。它是對于鏡像倉庫的一個封裝并增強的項目。
2.1.3 機上地面通信消息隊列(Kafka)
消息隊列是分布式系統中重要的組成部分,它主要解決的是應用解耦、發送異步消息、削峰填谷等問題,還具有分布式事務的功能。在本系統中主要使用的是異步消息這一個功能,它聯通了機上和地面,是空地互聯的重中之重。考慮到通信穩定性、支持大數據量和高并發操作這幾項核心功能,本系統選擇使用Kafka作為消息中間件。kafka名詞解釋和工作方式如下。
(1)Producer:消息生產者,向Kafka發送消息的服務。
(2)Consumer:消息消費者,從Kafka中獲取數據的服務。
(3)Topic:生產者和消費者之間進行連接的通道主題。可以簡單理解為就是一個隊列。
(4)Consumer Group(CG):由于Kafka可以廣播也可以單播的特性,本質上就是用來發送消息的一種手段。發送給一個消息消費者就會使用一個Group。
(5)Broker:部署的Kafka實例就是一個Broker。
(6)Partition:在多個Kaf ka之間形成分布式K af ka集群時,通常一個Topic可以分布到不同的Kaf ka實例當中。在每個實例中的同一個Topic依靠Partition分區來指定。
(7)Offset:記錄了Kafka消息在某一個Topic中消息的順序。
機載服務器內容更新具有安全性、實時性、穩定性、數據量大等特點,且非常依賴于衛星網絡的連接。這就導致了機上地面通信機制設計非常重要,并且考慮到機載服務器不能開啟端口使地面直接聯通機載服務器,因此所有的內容都需要采用機載服務器主動拉取的方式獲取。下面介紹本系統的功能需求。
(1)地面端內容采集。內容如新聞、短視頻、音樂、電影等資源需要先通過地面平臺采集到本系統指定的文件服務(MinIO)服務器中。
(2)機載服務器軟件生成鏡像并上傳至Harbor服務器。開發好的機載服務器前端和后端代碼需要先打包成Docker鏡像等待機載服務器拉取并啟動。
(3)地面平臺對內容及軟件進行審核。只有已經審核通過的內容及軟件才可以進行上機操作。
(4)地面平臺推送指令。這里的推送不是指內容和軟件直接發送到機上,而是給機載服務器發送一條拉取內容或是刪除內容的指令。
(5)將機上拉取成功或失敗回執通知地面。機載服務器在接收到內容和軟件上機的指令后拉取內容和軟件是否成功的狀態,需要及時發送到地面。
(6)機載服務器拉取內容存入本地。機載服務器在接到指令后拉取內容和軟件并存入本地服務器中。
(7)機載服務器拉取軟件并在判斷版本后部署。機載服務器在拉取到軟件后可以對Docker鏡像進行部署操作。
本節對本系統上述功能進行需求分析并加以說明。
3.3.1 地面平臺需求分析
一個地面平臺對應所有飛機的內容管控與內容更新,也是所有運營機上內容及軟件的入口,它主要提供獲取內容、發布軟件等功能,還集成了通信功能,負責主動向機載服務器進行通知。地面平臺需求列表如表1所示。

表1 地面平臺需求列表
3.3.2 機載平臺需求分析
機載平臺需要對旅客進行內容展示及軟件服務,主要面向C端,且機上對安全性非常注重,所以它的需求是只需要從地面端獲取內容及接收地面端的消息通知。它負責上機軟件、內容的獲取,內容展示、軟件部署、消息通知等功能。機載平臺需求如表2所示。

表2 機載平臺需求列表
非功能性需求與功能分析的功能無關,但是與系統運行流暢程度和健壯性有關。本節會對系統的兼容性、流暢性、可移植性加以描述。
(1)兼容性。地面平臺用戶可能通過不同的瀏覽器登錄地面平臺操作界面,不同瀏覽器之間可能會產生一些兼容性問題。
(2)流暢性。地面平臺不同用戶之間可能會有并發操作產生,需要對接口的流暢性進行支持。
(3)可移植性。機載平臺需要適配多個飛機的不同服務器,滿足一套代碼多種部署環境的條件。
當前系統分析基于Spring Cloud架構,集成了文件服務器、消息通信、容器化部署方案等多個技術點。適用于目前機上端與地面端的管理、維護需求。該系統可以滿足正常的內容及軟件上機。
本文主要討論了衛星互聯網接入機載服務器后,機載服務器如何更新機上可以給用戶展示的內容。包括但不限于新聞、電影、短視頻等內容資源。這也是機載互聯網主流的發展趨勢。由于機載互聯網的必須使用衛星網絡的特殊性,并且需要滿足內容與軟件版本的不斷迭代與更新。所以才有了本文介紹的系統主要內容。本文主要內容介紹如下:①介紹了目前機載互聯網行業發展與國內機載互聯網大概覆蓋率。總結系統相關的技術與互聯網工作模式。②對本系統的需求進行梳理與分析。
機載互聯網行業是當下的熱門,涉及許多機上與地面的應用技術。本文主要討論了內容與軟件的更新,其實最重要的還是在機上接入互聯網的方案的實施與這一技術的穩定發展。目前本系統還需要優化的事項有:一是對各個飛機進行分區域劃分和落地城市的內容推廣;二是各個飛機單獨進行內容及軟件的發布;三是內容審核制度還依賴于人工完成,可以接入自動評判機制,減少人工審核工作量。