李贛華,董黎,邰能建,夏克強,邰文星,高亞瑞璽
(1.國家宇航動力學實驗室,陜西 西安 710043;2.西安衛(wèi)星測控中心,陜西 西安 710043)
近幾年來,隨著我國商用航天放開,在軌航天器數量迅猛增長,尤其是民商航天器數量飛速增長,面向未來發(fā)展需要,為了具備高可靠的航天器地面控制和管理能力,建設高可靠的航天數據處理中心是所有衛(wèi)星用戶關注和影響航天器應用的關鍵,面對衛(wèi)星在軌管理、衛(wèi)星運控、地面設備資源管理等多任務并行運行,地面系統(tǒng)不同代協(xié)同運行、異地多中心分布式部署、不同專用任務分離、軟件系統(tǒng)與硬件平臺解耦合、平臺資源充分復用、系統(tǒng)高可靠運行能力等問題對中心系統(tǒng)架構提出了大量優(yōu)化問題,設計合理的航天數據處理中心架構模型是有效解決這些問題的技術手段[1-2]。
美國測控中心體系結構復雜,各中心因職責分工不同,體系架構也存在差異。為了適應未來太空聯(lián)合作戰(zhàn)的發(fā)展需要,各中心面臨著轉型和新老設備的更新?lián)Q代問題。美國聯(lián)合空間操作中心的思想理念較其他測控中心而言略有不同,也代表了美國測控中心體系建設的發(fā)展方向,JspOC 的體系架構是其中的代表[3-5]。
美國航天中心系統(tǒng)發(fā)展動向[6-8]:(1)加強資源的調度管理。NASA 和其領導下的航天跟蹤與數據網(STDN)、深空測控網(DSN)兩大主要測控系統(tǒng)共同負責對超過100顆的各種類型衛(wèi)星和其他航天器進行管理。同時,克羅拉多州立大學、美國空軍技術學院等多所大學和科研機構長期研究航天測控資源的調度管理。(2)推進大數據中心建設。針對目前美國任務系統(tǒng),各任務數據系統(tǒng)存在多管道網絡、低精度的用戶數據入口限制、信息區(qū)隔、一般協(xié)議/標準/格式的缺乏、數據量無限增加導致的信息超負荷、數據確認和網絡安全[2,9]、有限的傳輸帶寬、成本高昂、設計無擴展性的缺陷。美國將進一步推進“大數據”建設,使數據可見、可信、可解、可被互操作、可以被獲取。(3)對中心系統(tǒng)進行現代化改造。美國航天提出一種可擴展或“兼容式”航天中心框架結構,該框架以哥達德航天飛行中心的指揮控制框架——哥達德任務業(yè)務發(fā)展中心(Goddard Mission Services Evolution Center,GMSEC)為基礎,作為共享的基礎設施,如圖1 所示,在其上可以根據專項任務研制添加任務專用組件,從而可以利用通用控制業(yè)務獲得操作的靈活性,并提供互操作能力和態(tài)勢感知能力。(4)進一步整合航天任務網絡。美國已經在NASA 的天基網、近地網和軍方衛(wèi)星控制網之間利用CCSDS SLE 開展了一些互操作的實驗。隨著空國衛(wèi)星控制網等其他衛(wèi)星地面網的軟硬件設備的更新?lián)Q代和標準化與互操作措施的實施,以及NASA 正在進行的三網合一,美國航天測控資源的綜合利用有望取得進一步進展。
圖1 GMSEC 框架
歐洲航天中心系統(tǒng)發(fā)展動向:(1)發(fā)展全IP 化的通信網。ESA 通信網中,ESACOM、OPSNET 都隨著技術的發(fā)展通過網絡現代化轉變成為IP 網,而IGS 自建設之初就采納IP 協(xié)議,未來更將提供“全IP”業(yè)務,隨著更多的航天器任務(包括機器人和載人),整個航天通信系統(tǒng)將演進為一個由交換節(jié)點和和終端系統(tǒng)構成的網絡,該網絡支持容延遲網絡(DTN)想定,數據、語音和視頻業(yè)務都可以無縫地交織在一起,非常類似于現在地面上的互聯(lián)網。(2)更換新的測控處理器。ESA 已經開發(fā)了幾代多任務的測控處理器,未來的任務會提出一些新的要求包括:用于delta-DOR 的遠單音;寬帶測距和再生偽碼測距;更易于進行重新配置的能力;獲得非常低的Eb/N0 信號的能力;接收機的自主操作;高達600 Mb/s 的數據速率;先進的調制方案等。系統(tǒng)架構如圖2 所示。
圖2 ESA 中心體系架構示意圖
隨著航天事業(yè)的快速發(fā)展,我國組建了多個航天任務管控中心,包括測控中心、飛行控制中心和各類衛(wèi)星系統(tǒng)運控中心等,都屬于航天數據處理中心,其職責分工各不相同,建設思路、體系架構[10-12]存在差異,整體使用和建設效益有待提升,存在的主要問題有以下幾點。
1.2.1 資源復用能力低
(1)系統(tǒng)間資源無復用。當前,我國的航天任務系統(tǒng)功能相近,部分系統(tǒng)的子系統(tǒng)均有建設,但因系統(tǒng)體系架構存在差異,各中心獨立運行,硬件資源不能相互支持,存在重復建設、硬件資源冗余的現象。
(2)單機資源利用率低。各任務中心內部系統(tǒng)的硬件資源綜合利用率并不高。有的中心除了部分系統(tǒng)服務器CPU 資源消耗較高外,其余系統(tǒng)服務器資源使用率普遍較低,通常CPU 使用率低于20%。
(3)使用策略限制資源利用率。各系統(tǒng)為了提高可靠性普遍采用主備機的運行模式,備機在大多數情況下都是在做著與主機幾乎完全相同的工作,對于備機的資源沒有充分利用。
1.2.2 系統(tǒng)靈活性不足
航天數據處理中心軟件系統(tǒng)與所運行的計算機的硬件配置關聯(lián)過強,缺乏動態(tài)分配和靈活遷移的能力。這樣就造成了相關的軟件系統(tǒng)不僅在安裝配置時過于復雜,首次進行系統(tǒng)安裝時很難實現一鍵式的快速安裝,需要大量的人工配置。一旦系統(tǒng)配置完畢,無論是添加新硬件設備還是硬件發(fā)生故障時的恢復,相關的軟件系統(tǒng)都缺乏有效的應對能力。這間接造成了當前中心系統(tǒng)復雜的網絡結構和硬件配置。
未來保證航天器的安全穩(wěn)定運行,防止水災、地震以及人為誤操作等帶來的中心系統(tǒng)失能的問題,航天地面數據處理中心需要建設不同地點部署的多備份中心系統(tǒng)。本文面向多中心并行運行體系架構,通過分布式部署多處理系統(tǒng),形成熱備模式的多系統(tǒng)高可靠運行能力,具備為不同省市航天業(yè)務需求提供靈活航天業(yè)務服務的能力。
航天數據處理中心可以由任務規(guī)劃、消息通信、衛(wèi)星在軌服務、地面設備資源調度管理、開發(fā)驗證等系統(tǒng)組成,系統(tǒng)架構和網絡連接如圖3 和圖4 所示,其中消息通信系統(tǒng)是中心系統(tǒng)對外進行信息交換和提供服務的統(tǒng)一進出口,同時完成協(xié)議轉換、數據預處理、時間同步和信息分發(fā)等功能;任務規(guī)劃、衛(wèi)星在軌服務、地面設備資源調度管理內部各自建立自己的信息收發(fā)子系統(tǒng),負責與消息通信系統(tǒng)進行信息交換和自己系統(tǒng)內部子系統(tǒng)間的信息交換;開發(fā)驗證系統(tǒng)主要包括開發(fā)測試、仿真等功能。
圖3 航天數據處理中心內部系統(tǒng)網絡連接示意圖
圖4 航天數據處理中心架構示意圖
航天數據處理中心通過內部專網、外部專網、互聯(lián)網等網絡,與不同級別的用戶以及內部專用系統(tǒng)進行信息交互。
2.2.1 虛擬機云與容器云協(xié)同工作設計
云技術[13-14]主要分為兩種:虛擬機云和容器云。兩者各有優(yōu)勢:虛擬機云發(fā)展時間長,技術成熟,虛擬機之間的隔離性更好;容器云技術新穎,量級輕,效率高,易于遷移備份。在研究中發(fā)現由于不同功能的測控軟件的性能需求不同,遷移需求不同,造成不同的軟件適用的云技術可能不同。例如,容器更適合運行單一進程,容器不適合存儲日志信息等。因此,需要在服務器集群上同時實現虛擬機云和容器云,這兩種云需要協(xié)同工作。
2.2.2 云平臺間的虛擬機和容器遷移設計
基于國產云平臺的端應用設計如圖5 所示,對于虛擬機云來說,虛擬機在不同的航天系統(tǒng)云平臺上遷移,對不同航天任務系統(tǒng)云的Host OS 的一致性要求不高,當采用的Hypervisor 技術一致時,虛擬機本身就能保證其跨云遷移的適應性。對于容器來說,容器在運行時需要使用Linux 系統(tǒng)的內核,因此需要保證云平臺上的Docker 容器做成鏡像,通過數據轉發(fā)節(jié)點的傳輸網絡,跨越云平臺完成傳輸、遷移后,能夠正常使用目的云平臺的Linux 內核并正常執(zhí)行。要完成這一點,需要保證兩個云平臺的Linux 內核差異不要過大,保證上述遷移過程能正常進行。同時,為保證相互備份的兩個系統(tǒng)云平臺能夠在必要的時候運行對方的虛擬機或容器,需要有一套鏡像交互機制,使得所有系統(tǒng)中各自最新版本的鏡像信息都能夠在不同系統(tǒng)內保留副本,以便當本地遭遇災害時,另一個系統(tǒng)的云平臺能夠迅速加載本方鏡像并啟動運行,并在共同的數據轉發(fā)節(jié)點和設備條件下,完成所有航天器的航天業(yè)務實施。
圖5 基于國產云平臺的端應用設計
下面通過以下相關技術的研究,開展航天數據處理中心架構設計。
3.1.1 云技術實現
傳統(tǒng)虛擬機云架構包括基礎設施即服務(Infrastruction as a Service,IaaS)、平臺即服務(Platform as a Service,PaaS)、軟件即服務(Software as a Service,SaaS)三層服務,如表1所示。
表1 IaaS、PaaS、SaaS 間的層級架構關系
隨著云平臺使用方式的發(fā)展,IaaS 以虛擬機為粒度,向用戶提供資源的方式逐漸不能滿足用戶的需求。虛擬機的資源提供方式存在資源利用率低、調度分發(fā)緩慢、軟件環(huán)境不統(tǒng)一等問題。PaaS 在IaaS 基礎上發(fā)展而來,但PaaS 在應用架構選擇、支持的軟件環(huán)境服務方面有較大的限制,這帶來了應用與平臺無法解耦、應用運行時環(huán)境局限性強等問題。容器云解決了傳統(tǒng)IaaS+PaaS方式存在的上述問題,提供了資源利用率高、鏡像小、調度分發(fā)迅速、無需關注不同虛擬機之間開發(fā)環(huán)境差異的云計算資源利用、開發(fā)方式,提高了用戶體驗。容器云用Docker Engine 完成了資源的虛擬化,同時避免了在Host OS 的用戶空間中再嵌套運行一個Guest OS 的設定,而是直接讓容器使用Host OS 內核,這樣避免了系統(tǒng)運行兩層OS 帶來的開銷,提高了效率,但帶來的副作用是,容器云中容器之間的隔離性要弱于虛擬機云中虛擬機之間的隔離性。需要在研究中評估容器云和各類航天應用軟件的適配性,是否能夠在性能和穩(wěn)定性上得到良好的效果。
3.1.2 虛擬機云+容器云的協(xié)同部署
從3.1 節(jié)可以得出結論:在服務器集群上需要同時部署虛擬機云和容器云,并且這兩種云需要協(xié)同工作。一些涉及大量IO 操作的工作可能并不適合在虛擬機上實現,因為性能較低,那么這些工作可能會在容器云中獲得更好的效果;一些強調隔離性的軟件最好部署在不同的虛擬機上,以充分利用虛擬機更強的隔離能力;一些日志記錄軟件會持續(xù)產生逐漸膨大的輸出文件,不適合在容器中執(zhí)行等。所以,兩種云平臺需要被同時使用。
3.1.3 航天應用軟件的封裝與遷移方案
首先,需對航天應用軟件的隔離封裝技術進行研發(fā)。云技術將服務器虛擬化為大量的虛擬機和容器,供航天應用軟件執(zhí)行。虛擬機和容器大規(guī)模的數量為應用隔離提供了可能性。以前各個任務的進程都運行在同一臺服務器上,這就導致無法進行隔離。某個任務的進程出現問題,可能會影響其他任務進程的正常運行,甚至導致服務器狀態(tài)異常進而需要重啟,影響所有任務。另外,將某個任務的進程組遷移到其他機器上,需要人工參與,便利性和安全性不高?,F在,虛擬機和容器數量多了,就可以以虛擬機或容器為單位,方便地將不同任務或不同功能的進程裝進不同的虛擬機或容器中,完成進程之間的隔離。
對于虛擬機云,以虛擬機為箱體,封裝任務軟件,十分便捷,但需要權衡好每個虛擬機中封裝軟件的數量,防止虛擬機過多導致虛擬機本身的開銷遠大于航天應用軟件的運行開銷。對于容器云,直接用容器為箱體封裝任務軟件也易于實現,但是需要突破容器一般用來封裝單個進程這種典型使用方法。探索如何在容器中封裝多個進程,并研究一套進程控制機制,有效地控制容器內各個進程的執(zhí)行是很有必要的。
其次,需對航天應用軟件的遷移技術進行研發(fā)。對航天應用軟件進行封裝,可以限制軟件故障的影響域,還利于軟件運行時環(huán)境的備份、重啟、遷移。在實際應用中,以鏡像方式對虛擬機和容器進行固化備份后,還涉及鏡像的存儲和遷移問題。現有的云技術都可以較好地完成本地的遷移重啟工作,但由于需要進行多中心相互支持、相互抗毀的能力,還需要一套良好的跨中心的鏡像共享備份方式。當某個中心出現故障時,確保其他中心能夠順利運行故障中心共享出來的虛擬機和容器的鏡像,從而順利接管故障中心的任務。因此,要針對下列問題開展研究:如何設計航天應用軟件的架構,避免鏡像中軟件產生的輸出文件、日志等改變鏡像本身,盡可能使鏡像內容固件化,避免鏡像內容頻繁更動導致其需要頻繁地在中心之間傳輸;如何讓鏡像文件盡可能地小,以便與存儲和傳輸;通過何種方式,讓鏡像文件高效低耗地跨中心傳輸。
3.1.4 主用中心與備用中心的切換機制
為了各個中心可以相互支持、備份,達到抗毀目的,不同中心的云平臺設計應當是互相兼容的。一個云平臺上運行的虛擬機和容器鏡像,放到另一個云平臺上也可以正常執(zhí)行。對于一個任務,與其相關的鏡像應該在多個云平臺中都可以執(zhí)行,但是同時只能有一個主用中心具有發(fā)送上行的權限,其他中心都是備用中心。一個任務的主用中心可以在各個中心之間進行切換,切換有主動切換和被動切換兩種。
主動切換由操作人員在端中進行操作,通過客戶端或瀏覽器,選定新的主用中心,然后完成主用中心和備用中心的切換。需要注意的是,業(yè)務切換之前,需保證新的主用中心能夠得到該任務的航天數據,同時也能夠得到該業(yè)務的管控數據(包括虛擬機或容器鏡像、配置信息、任務狀態(tài)信息等)。
被動切換是由任務的主用中心出現故障或被損毀而引發(fā)的。對于每個任務,各個備用中心應該有一個優(yōu)先級,一旦主用中心發(fā)生故障或損毀,就在優(yōu)先級最高的那一個備用中心啟動任務,作為新的主用中心,同時新的主用中心向數據分發(fā)節(jié)點注冊該任務的航天數據。
3.2.1 數據中心與分發(fā)節(jié)點的數據注冊技術
數據分發(fā)節(jié)點連接了各個測站、各個航天數據處理中心,并在這些測站和中心之間完成數據的轉發(fā)。航天數據的下傳和上傳需要通過數據分發(fā)節(jié)點。因此需要研究高效的航天數據轉發(fā)機制,確保只給有需要的方向發(fā)送數據,防止數據的重復發(fā)送、無效發(fā)送。整個系統(tǒng)結構中,數據在測站和各個中心之間的轉發(fā)關系應當和消息中間件轉發(fā)消息的模式類似,而數據分發(fā)節(jié)點扮演的角色是消息中間件體質中的數據轉發(fā)服務器。
3.2.2 系統(tǒng)高可用性技術
基于底層的虛擬化技術,研究其虛擬機熱遷移,通過對內存遷移算法及內存壓縮技術的研究實現遷移的高效性。在虛擬環(huán)境下設置主備虛擬機,在備節(jié)點上創(chuàng)建主虛擬機的完整拷貝,包括CPU 狀態(tài)、內存、磁盤操作、QEMU 等都進行低延遲的定時同步。備節(jié)點虛擬機處于熱備狀態(tài),定時檢測主節(jié)點虛擬機心跳,在指定時間內收不到心跳即認為異常發(fā)生,備虛擬機切換到正常運行狀態(tài),實現虛擬機熱備份。
通過動態(tài)在線給虛擬機增加或減少VCPU、虛擬內存、虛擬磁盤等虛擬資源數量,來實現虛擬機計算資源的動態(tài)分配,進一步提高系統(tǒng)的擴展性。通過實時數據同步,實現虛擬機內存快照技術,不中斷用戶的業(yè)務,實現虛擬機內存狀態(tài)的備份,提高系統(tǒng)的高可用性。
3.3.1 設計Master/Agent 分布式監(jiān)控管理架構
采用Master/Agent 分布式系統(tǒng)架構,其中Master 支持熱備部署,主要用于系統(tǒng)信息的集中式管理及提供Web服務,Agent 分布式部署到各集群節(jié)點,負責信息的采集及系統(tǒng)的管理。每個Agent 均具備全部管理功能,脫離Master 可獨立運行,進而實現系統(tǒng)的可用性、可靠性及可擴展性。
采用基于Agent 的系統(tǒng)監(jiān)控技術,通過Agent 的組件化,開發(fā)不同的Agent 實現多種系統(tǒng)信息的自動化采集。通過設計根據用戶容忍度和監(jiān)控狀態(tài)智能切換推送或拉取的推拉互補算法,實現對不同數據類型、不同采集頻率,智能提供數據采集方式。
前期分析研究了RBAC 技術,擬攻克當前應用的RBAC訪問控制模型關鍵技術,設計出適應衛(wèi)星管控云的角色訪問控制模型,實現基于Agent 的任務管理、權限管理等模塊,進而實現對用戶的管理。
3.3.2 用戶分離的虛擬桌面
首先通過在云平臺基礎設施上構建基于主流虛擬化解決方案的基礎云平臺,在基礎云平臺之上進行功能擴展,構建虛擬資源管理系統(tǒng),如圖6 所示。虛擬資源管理系統(tǒng)可動態(tài)添加、刪除組,并提供虛擬資源管理、配額限制、安全認證、策略、調度、緩存等子模塊。多模塊間采用松耦合設計,可選擇開啟或關閉子模塊,提供各種能力組合。通過多重防御策略管理風險,以便在一層防御不夠時管理風險,利用其他層次防御化解破壞,從而阻止完全破壞整個虛擬桌面系統(tǒng)。采用多種安全技術手段,在每一層執(zhí)行不同粒度的安全性策略,確保單層的無安全死角,不遺漏任何破壞風險。
圖6 一體化高安全虛擬桌面技術路線圖
3.3.3 云平臺數據安全交換及監(jiān)管技術
在敏感數據智能發(fā)現方面,定制優(yōu)化深層神經網絡等機器學習算法對圖像、視頻等非結構化數據內容進行特征匹配,實現敏感內容的智能識別。在數據智能脫敏方面,通過對數據庫以及各類文檔、圖像進行內容提取、規(guī)范化,并采用不可逆哈希創(chuàng)建數據指紋,形成面向特定行業(yè)的敏感信息內容索引,從而支撐高效準確的數據脫敏。最終,形成制定脫敏規(guī)程、發(fā)現敏感數據、定義脫敏規(guī)則、執(zhí)行脫敏工作、驗證脫敏成效的完整數據脫敏體系,如圖7 所示。
圖7 數據脫敏方法
數據安全監(jiān)管技術基于數據挖掘及機器學習技術,通過收集對象存儲系統(tǒng)、云數據庫、共享交換平臺的數據使用和交換記錄、元數據信息、數據授權信息等數據安全事件,利用海量日志分析和機器學習方面,提供數據使用合規(guī)性審計、數據使用規(guī)律分析、數據使用異常監(jiān)測和可視化展示功能,評估數據風險態(tài)勢,幫助掌控全局數據安全狀態(tài),及時響應重要數據泄露、越權使用風險。
本文以航天數據處理中心系統(tǒng)建設和應用為背景,通過統(tǒng)一的系統(tǒng)設計,提出了一個多中心、多任務、多功能的三層架構設計的航天數據中心系統(tǒng),從高可靠的系統(tǒng)備份、數據管理、軟件運行、平臺運維等多個方面介紹了基于云平臺的復雜系統(tǒng)架構。經過多個備份中心以及容災中心系統(tǒng)并行運行,并對航天器和地面設備的管理應用,本文提出的系統(tǒng)能夠保持不同航天器型號任務的熱備運行能力,具備較強的統(tǒng)一運維和安全防護能力,能保持多年長期的高可靠穩(wěn)定運行,可為其他航天數據處理中心以及商業(yè)航天任務中心的架構設計和構建提供技術支持。