朱劍冰 秦巍 程博文 莫中秋 常克武
(1 北京空間飛行器總體設計部,北京 100094)(2 中國衛星導航定位應用管理中心,北京 100088) (3 中國衛星導航系統管理辦公室,北京 100054)
在軌航天器的種類和數量日趨增多,且壽命越來越長,航天器在軌管理進入了多航天器并行化管理階段[1]。航天器在軌管理包括航天器在軌工作狀態監視、在軌實時測控、故障診斷與健康管理、在軌趨勢分析[2]等業務,衛星在軌綜合數據是實現此類業務的數據基礎,如何高效存儲管理衛星在軌綜合數據直接決定了在軌管理業務的水平。衛星在軌綜合數據包括在軌遙測、遙控指令、在軌注入數據、軌道數據、控制量計算結果、故障診斷專家知識、故障處理決策信息等,目前國內衛星工程實踐中,對衛星在軌綜合數據的存儲管理都是各自分開單一管理,隨著在軌航天器種類和數量的增多,傳統方式逐漸暴露出管理復雜、不利于擴展、數據關聯分析困難等諸多問題[2-3],無法滿足多航天器平臺化并行管理的要求。因此需要針對衛星在軌綜合數據的特點,設計一套符合多航天器在軌管理支持平臺要求的衛星在軌綜合數據庫系統,有效存儲與管理衛星在軌綜合數據,為航天器在軌管理業務提供更好的數據基礎。
本文通過對衛星在軌綜合數據的特點進行分析、歸納,提出了衛星在軌綜合數據庫的設計思想,并對關鍵技術進行了研究與實現,包括遙測數據變化存儲與快速查詢技術和計算結果與在軌運行信息的統一存儲與查詢技術。在此基礎上設計了一套衛星在軌綜合數據庫系統,有效解決衛星在軌綜合數據大數據量存儲、高時效查詢獲取、多樣性數據統一存儲等難點問題,可為航天器在軌管理提供有效的數據支撐。
衛星在軌綜合數據存儲管理關鍵技術是如何對多種類的衛星在軌綜合數據進行合理有效地分類,然后針對分類數據特點,設計高效的存儲與查詢方法,從而滿足航天器在軌管理各類業務實現的數據要求。
通過對多顆在軌衛星在軌綜合數據特點的分析和歸納,衛星在軌綜合數據可分為兩類:
(1)遙測數據。指航天器上各種被測信息經過傳感器變換、采集編排和副載波調制等處理,再通過無線信道送達地面接收站,提供給航天器工程技術人員和航天器用戶使用的數據[4],這類數據反映航天器在軌運行的真實狀態,包括各分系統設備狀態信息、溫度信息等,具有數據格式固定,數據變化緩慢,數據量大的特點。遙測數據是地面在軌管理平臺進行衛星在軌狀態監視、在軌異常報警與處理、在軌數據分析等的依據[5],因此如何實現數據高時效的存儲與查詢是系統設計的重點與難點。
(2)計算結果與在軌運行信息數據。包括遙控指令、在軌注入數據、軌道數據、控制量計算結果、故障診斷專家知識、故障處理決策信息等。這類數據存儲量不大,但類型繁多,格式差異較大,而且隨著新型衛星的增加還會產生新的數據。這類數據是地面實時測控、故障診斷與健康管理、在軌趨勢分析的基礎,因此如何實現數據的統一化存儲管理,滿足多樣性、高擴展性要求是系統設計的重點與難點。
衛星在軌綜合數據庫系統需要針對這兩類數據設計特定有效的數據存儲結構,滿足航天器在軌管理平臺化的數據要求。
2.2.1 遙測數據變化存儲技術
基于遙測數據數據格式固定、數據變化緩慢兩大特點,本文提出一種遙測壓縮存儲的方法,整個壓縮存儲算法流程如圖1所示。
圖1 遙測數據存儲過程Fig.1 Process of TM data storage
首先根據衛星遙測大表(衛星工程研制中用于描述整星遙測參數的表格)為每個遙測參數生成一張遙測參數表,用于存儲該遙測參數的數據信息(包括時間和值信息)。然后循環接收網絡上發送的實時遙測數據包,解包還原出衛星上的數據幀信息,如果為新出現的數據幀數據,則存儲該數據幀。分析幀信息,獲取該幀包含的遙測參數數據列表,將遙測參數數據列表中每個遙測參數數據與其對應的遙測參數表中最新的遙測數據進行比對,如果值不同,則將該點的時間和數據值存入該遙測參數表中。否則,不存儲該點數據。由于遙測參數變化緩慢,很多情況下,連續一段時間的某個遙測參數都是完全相同的,此時數據庫中只需要存儲一點的數據,從而達到大幅度壓縮遙測數據存儲量的目的。同時,遙測幀信息也進行了有效存儲,查詢時可以根據幀信息表和遙測參數表無損地還原出實際的每幀數據,保證壓縮算法的無損性。
2.2.2 遙測數據快速圖形化查詢技術
遙測數據查詢結果的圖形化顯示,可使衛星工程師清晰準確了解遙測參數的變化趨勢[6]。遙測圖形化查詢技術的主要瓶頸在于遙測數據量大,利用數據繪制圖形速度較慢,當查詢較長時間數據時無法滿足用戶使用要求。本文提出了一種基于特征值提取的遙測查詢方法,可以快速繪制滿足用戶查詢條件的遙測曲線。快速圖形化查詢算法如下所示。
1)術語定義
(1)遙測分組:將所有滿足查詢條件的遙測數據分成若干組,每組包含一條或多條遙測數據。
(2)特征值:遙測分組中一組遙測數據中的最大值和最小值,采用(i,Bi,Si)值對來表示。其中i表示這組遙測數據在遙測分組中的序號,Bi為第i組遙測數據的最大值,Si為第i組遙測數據的最小值。
2)算法的已知條件
(1)屏幕分辨率:橫向像素個數為X。因此在繪制遙測曲線時,只需要X個特征值,就可以無損地將滿足查詢條件的遙測數據進行曲線顯示。
(2)滿足檢索條件的遙測數據條數為N。
3)算法執行過程
(1)如果N<X,則所有N條數據都是特征值,每個特征值計算公式如式(1)所示,轉入(4);否則進入(2);
式中:Vi為第i條遙測數據的值。
(2)把N條數據分為X組,前X-1組每組都包含M條數據,M的計算公式如式(2)所示,最后一組包含P條數據,P的計算公式如式(3)所示;進入(3);
(3)分別提取X組數據的最大值和最小值,得到X個(i,Bi,Si)的值對,即為本次查詢的特征值;
(4)根據特征值在屏幕繪制出滿足查詢條件的遙測曲線。
由于計算結果與在軌運行信息具有數據類型繁多,數據格式差異大,新增類型多,所以采用Xml格式傳輸,可實現數據的自解釋,而且有利于軟件開發過程的穩定與系統的擴充[7]。對這類數據的統一存儲,本文設計了一種先定義后存儲的統一存儲方法,詳細步驟如下。
步驟1:定義計算結果與在軌運行信息的存儲格式,即衛星需要存儲哪些計算結果與在軌運行數據,定義包括名稱,版本號,Xml描述字等信息(版本號字段是為了便于新類型數據在以前類型數據上直接升級擴展方便而定義的),如表1所示(此表只列舉3類計算結果與在軌運行信息)。
表1 計算結果與在軌運行信息存儲格式定義Table 1 Definition of in-orbit state information storage style
步驟2:定義計算結果與在軌運行信息單元類型,即定義每種計算結果與在軌運行信息包含哪些字段,對步驟1中每條記錄包含哪些具體內容進行描述。例如指令的定義如表2所示。
表2 計算結果與在軌運行信息單元類型定義Table 2 Definition of in-orbit state information unit style
步驟3:根據步驟1和2的定義,自動生成用于存儲計算結果與在軌運行信息的數據表,步驟1的定義形成表名,步驟2的定義形成表結構。以指令這類計算結果為例,根據步驟1的第2條記錄的定義信息,生成表名為Tc_1的數據表,表中含有的字段由步驟2的定義得到,包括指令代號、指令名稱、指令值、發指令時間。
步驟4:解析網絡上的Xml(可擴展的標記語言)數據存儲到相應的步驟3 中生成的數據表中。以指令這類計算結果數據為例,當計算結果與在軌運行信息存儲程序在網絡上接收到如圖2所示的Xml數據時,將根據Xml信息搜索到Tc_1表,并將數據信息存儲到表Tc_1中,存儲結果如表3所示。
表3 Tc_1表存儲的數據內容Table 3 Storage content in the Tc_1table
系統總體結構如圖3所示。衛星在軌綜合數據庫系統由5部分組成。衛星在軌綜合數據庫系統對外輸入接口為從各個測控單位獲取的遙測原碼數據、遙控指令等在軌原始數據,對外輸出接口為各種處理后的衛星在軌綜合數據,包括遙測工程值數據、遙控指令、軌道數據、控制量計算結果數據、異常報警診斷數據、故障處理決策信息等。
1)綜合數據接收與處理模塊
用于接收各測控站發送來的遙測遙控等衛星在軌綜合數據,進行數據解包處理,并且根據數據的類型,分別發往遙測數據存儲代理模塊和計算結果與在軌運行信息數據存儲代理模塊。
2)遙測數據存儲代理模塊
根據遙測數據配置將相應的遙測數據存入衛星在軌綜合數據庫,遙測數據存儲采用本文2.2.1節提出的方法。
3)計算結果與在軌運行信息數據存儲代理模塊
根據計算結果與在軌運行信息數據配置將用戶需要的計算結果與在軌運行信息存入衛星在軌綜合數據庫,此類數據統一存儲采用本文2.3節提出的方法。
4)衛星在軌綜合數據庫
衛星在軌綜合數據庫用于存儲所有的衛星在軌綜合數據,為各類在軌服務提供數據支撐。
5)數據快速提取代理模塊
根據檢索條件從數據庫中檢索出相應數據(對于遙測數據的圖形化繪制采用本文2.2.2節提出的特征值提取算法),并將檢索數據發往各在軌服務系統(包括航天器異常監視報警系統、航天器故障診斷系統等)使用。
圖3 系統總體結構圖Fig.3 System framework
衛星在軌綜合數據庫系統投入使用后,實現了遙測數據的存儲和查詢,圖4顯示了幾類衛星在使用系統前后的遙測數據存儲量的對比結果。從圖4中可以看出使用遙測數據變化存儲方法,平均數據無損壓縮到約為使用前的1/20。
由于衛星各分系統設計師查詢在軌重點遙測參數一般不超過50個,每個遙測參數查詢時間段一般不超過3個月,因此本文采用3 顆典型衛星(涵蓋高、中、低三種軌道)150個常用遙測參數(每顆衛星50個重點遙測參數)進行試驗,利用本系統繪制這些遙測參數三個月的數據曲線,都能在10s以內完成,完全符合查詢時效性的要求。
系統還有效地實現了遙控指令、注入數據、軌道根數、控制量計算結果、衛星在軌狀態、衛星故障處理決策信息以及航天器故障處理預案等計算結果與在軌運行信息的存儲,為設計師分析故障機理提供了有力的數據支持。
圖4 遙測數據壓縮前后數據量對比圖Fig.4 TM data quantity comparison between before compression and after compression
衛星在軌綜合數據庫系統設計采用了按數據類型特點分類存儲管理的思想,有效壓縮了遙測數據的存儲量,平均數據壓縮達1/20,同時設計了一種快速獲取遙測的方法,遙測查詢性能符合時效性需求。基于數據類型描述的數據計算結果與在軌運行信息存儲管理方法也有效適應了該類數據種類多樣、新增類型多、高擴展性的特點。
衛星在軌綜合數據有效存儲管理,是分析衛星運行狀態的基礎。今后,可以借助這些數據做進一步的衛星故障預測、數據挖掘工作,為衛星設計與研制提供有效的反饋[8]。
(References)
[1]王環,郭義琪,秦巍.專家知識在在軌管理中應用的設想[J].航天器工程,2008,17(3):67-68 Wang Huan,Guo Yiqi,Qin Wei.Application of expert knowledge of on-orbit management[J]Spacecraft Engineering,2008,17(3):67-68(in Chinese)
[2]王環,郭義琪,秦巍等.構建多航天器在軌管理支持平臺[J].航天器工程,2007,16(3):114-115 Wang Huan,Guo Yiqi,Qin Wei,et al.Establishing multi-spacecraft in-orbit supporting platform[J].Spacecraft Engineering,2007,16(3):114-115(in Chinese)
[3]王峰.資源衛星數據地面存儲管理系統的設計與實現[J].航天器工程,2009,18(3):66-67 Wang Feng.Design and implementation of ground data storage and management system for earth resources satellite[J].Spacecraft Engineering,2009,18(3):66-67(in Chinese)
[4]譚維熾,胡金剛.航天器系統工程[M].北京:中國科學技術出版,2009:253 Tan Weizhi,Hu Jingang.Spacecraft system engineering[M].Beijing:China Science and Technology Press,2009:253(in Chinese)
[5]譚春林,胡太彬,王大鵬.國外航天器在軌故障統計與分析[J].航天器工程,2011,20(4):130 Tan Chunlin,Hu Taibin,Wang Dapeng.Analysis on fo-reign spacecraft in-orbit failures[J].Spacecraft Engineering,2011,20(4):130(in Chinese)
[6]杜冬梅.航天器CCSDS遙測數據包處理方法研究[J].電訊技術,2007,47(2):176 Du Dongmei.Processing method of the telemetry data packet for spacecraft[J].Telecommunication Engineering,2007,47(2):176(in Chinese)
[7]吳永春.XML數據存儲方法研究及應用[J].計算機技術與發展,2006,16(6):139-140 Wu Yongchun.Application and research of xml data storage method[J].Computer Technology and Development[J].2006,16(6):139-140(in Chinese)
[8]秦巍,郭永富.一種基于歷史遙測數據的在軌衛星故障預警系統[J].航天器工程,2010,19(6):40-41 Qin Wei,Guo Yongfu.A failure warning system based on historicial telemetry data for satellites on orbit[J].Spacecraft Engineering,2010,19(6):40(in Chinese)