楊揚笛,吳海燕,李 虎
(1.中國科學院國家空間中心 衛星運控技術實驗室,北京 100190;2.中國科學院大學,北京 100049)
隨著我國空間信息技術的發展,空間探測器也越來越多地出現在任務中。然而包含于空間探測器中的科學衛星,產生的數據也日益增多,對其計算能力、存儲系統、通信速度提出了挑戰。科學衛星處在軌運行階段,產生的數據種類繁多,一顆衛星有效載荷可以達到幾十個之多;數據產生速度快,以工程數據為例,速度可達每秒幾MB甚至幾十MB;數據量非常大,在長達幾個月甚至幾年的運行時間里,會產生高達幾百GB甚至幾十TB的海量衛星工程數據及科學數據。如何發展前沿技術,以滿足衛星運控中海量數據處理的要求,包括對其的存儲與管理、分析和共享等等,是值得研究和思考的。
這些數據對于科學衛星在軌運行提供載荷常規運行控制、有效載荷性能趨勢分析、故障預測等顯得非常重要。
隨著我國航天事業的不斷發展,針對衛星平臺的狀態診斷研究日益成熟,但針對有效載荷狀態診斷的研究水平卻未見提高。有效載荷承擔著對地觀測、空間科學探測及空間科學實驗等多項任務。由此可見,提高有效載荷的狀態診斷處理能力,對于增加任務完成質量和保證衛星的高可靠性,有著重要的實際意義[1]。對于復雜的有效載荷,在現有技術水平下很難保證其在任務中不出問題。衛星的有效載荷有其獨有的特征[2]:
(1)故障危害大。一些小問題可能導致龐大的有效載荷不能完成預定任務,造成經濟損失。
(2)運行環境特殊,不確定性因素多。不管是高低溫、電磁干擾,還是流行撞擊以及廢棄飛行器的影響,都對有效載荷的正常工作提出了嚴峻的挑戰。
(3)資源和能源的限制使得有效載荷的計算資源有限,能源獲取方式缺乏甚至是沒有,因此很多情況下需要地面干預。
綜上所述,很多時候不能寄希望于衛星進行自我診斷和檢查,需要地面支撐系統對衛星工程數據進行大規模的診斷和排查,而傳統的關系型數據庫顯然不能滿足這樣的要求。因此,衛星工程數據的存儲方式和研究手段就成了當前重要的課題之一[3]。
國外很早就開始了有關大數據的研究。1989年在底特律召開的第11屆國際人工智能聯合會議,提出了KDD(knowledge discovery in database)的概念,此后的KDD國際會議由于參與人數過多,主辦方決定轉變為年會。第四屆知識發現與數據挖掘國際學術會議于1998年在美國紐約舉行,30多家軟件公司借此機會展現了自己最新的研究成果。
相比之下,國內雖然起步較晚,但各個方面都在快速發展。我國互聯網數據中心(IDC)發布了一個報告,指出了中國大數據技術和服務市場2012-2016年的預測情況:市場規模將會有巨大發展,由2011年的7 760萬美元直沖2016年的6.17億美元,未來5年的復合增長率高達51.4%,市場規模增長近7倍。在國內,大數據技術正在引起越來越多的企業和個人的關注。將大數據作為重點項目的公司不但有阿里巴巴、騰訊、百度等,作為國內互聯網產業的發源地和創新高地的中關村,這里的企業也致力于在大數據發展與研究中貢獻自己的一份力量。
隨著計算機技術的發展,存儲空間已經不再是科學人員和研究人員首要考慮的問題。困擾他們的問題已經變成了如何從大量的數據中快速或者盡快提取出有用的信息。要解決這個問題,不僅要從算法上提高查詢和處理的效率,同樣對傳統的關系型數據庫提出了一定的挑戰。在2009年之后,非關系型數據庫技術突飛猛進。迄今為止,非關系型數據庫數量已經破百,各有各的優勢。
非關系型數據庫,最初的意義是現代互聯網級別的數據庫。但這個詞的含義在2009年之后變得豐富起來。非關系型數據庫的特點包括:關系不如傳統關系型數據庫那樣緊湊,豐富的技術支持,簡單的API,基于事件的組成(而非ACID),海量數據的支持,等等。其中Hadoop/HBase以其跨平臺和多節點的優勢發展迅速[4],而ElasticSearch和MongoDB以其快速的讀寫效率在各個開源的非關系型數據庫中脫穎而出,而Redis則以鍵值對的形式對memcached類關系型數據庫起到了很好的補充作用。
Hadoop/HBase的海量數據處理技術基于MapReduce并行計算模式,能很好地滿足現代航天計劃在工程數據信息存儲和計算方面的需求。
MongoDB介于關系型數據庫和非關系型數據庫之間,為非關系型數據庫中最具有關系型數據庫屬性的,也是功能最豐富的。
ElasticSearch是一個基于Lucene的搜索引擎式數據庫。它提供了一個分布式的支持多用戶能力的全文搜索引擎,并提供了基于RESTful的Web接口。
Redis是一個開源的(BSD Licensed),基于內存的數據存儲結構。它支持的數據結構包括字符串、哈希值、列表、集合、排序集合、點陣圖、地理坐標信息等。
數據挖掘指從大量數據中提取或“挖掘”信息,是從儲存在各種數據庫(包括傳統關系型數據庫、數據倉庫等)的繁雜無用的數據中發掘或者提煉出有用的信息的過程[5-6]。數據挖掘是一個交叉學科領域,涉及多個學科。數據挖掘的任務可以分為兩大類:描述的和預測的。具體來說,可以分為:概念類描述;挖掘頻繁模式、關聯和相關;分類和預測;聚類分析;離群點分析;演變分析[7-8]。
綜上所述,針對工程數據的數據挖掘能夠分析工程數據在合法值內變化對衛星帶來的影響,如有效載荷漸漸失效的情況,以及有效載荷數據周期變長的情況,還有衛星工程參數的變化情況等[9]。
從數據分析和數據整理的角度出發,根據數據類型可將工程數據分為整型、枚舉型、浮點型。
工程參數中整型與枚舉型分為標識字和狀態字。屬于標識字的有幀同步字段、衛星識別字段等,一般來說在衛星的整個壽命內為固定值,它的二進制碼保持不變,多以十六進制形式保存;狀態字則表明了衛星上設備的工作狀態,除了根據衛星狀態的變化而變化,地面指令控制等因素也會對其造成影響[3]。
工程參數中浮點型主要包括溫度、電壓、電流、壓力等物理量。由于這些值是連續變化的,正常的采集值應該是連續的。太陽光照強度、設備工作狀態等因素會影響溫度參數的變化;電壓分為一次電源電壓和二次電源電壓,由電池工作狀態決定;電流顯示了星上設備的工作情況,在設備的開關機狀態下一般固定在兩個狀態;貯箱溫度以及燃料剩余量等因素影響著星上壓力值的變化。
對于在軌衛星的歷史工程數據的分析和未來工程數據的預測,對其參數變化規律進行研究至少要(但不限于)考慮以下幾種狀況[10]:
(1)數據平穩變化或維持在一穩定值附近;
(2)無狀態、測控事件發生而參數卻有階躍性的跳變;
(3)與衛星狀態變化、測控事件發生相關聯的工程參數變化;
(4)參數于某值附近周期性變化。
對于上面四種情況,從已有算法中選擇了四種具有代表性的數據分析處理方法,分別是基于多項式擬合外推的方式、基于求和自回歸滑動平均模型的時間序列的方式、非參數回歸算法、基于神經網絡的預測技術。
基于多項式擬合外推是根據衛星歷史和實時工程數據,使用多項式擬合參數變化曲線,得到擬合公式,再使用該公式對未來數據外推,并預測其發展變化狀況的一種預測方法。這種方法基于以下兩點:衛星工程參數沒有跳躍式變化;假設所研究的與工程參數有關的分系統結構、功能等沒有太大變化。該方法對于周期性隨時間變化不大的工程數據有很好的效果,因此對于平穩變化的工程參數一旦有了微小的變化率,則可以擬合出其失效或者降低至次級性能的時間。
基于求和自回歸滑動平均模型(ARMA模型)的時間序列的方式可以研究差分平穩序列的變化情況。因為很多非平穩序列差分后能夠顯示出許多平穩序列的性質,此時的非平穩序列稱為差分平穩序列[11]。
ARMA預測模型的預測過程如下:根據觀測模型,獲取數值序列;對觀測數值進行差分運算;對數據進行檢驗,例如白噪聲;建立ARMA的模型進行預測;對數據使用模型進行再一次的檢查。該方法多用于工程參數固定周期變化以及恒定在某一值附近的需要預測的參數[12]。
基于非參數回歸的回歸函數一般表示為:
gn(X)=W1(X1)Y1+W2(X2)Y2+…+Wi(Xi)Yi
其中,Y為一維觀測隨機向量;X為n維隨機自變量;(Xi,Yi)為第i次觀測值;Wi(Xi)為權函數。
非參數回歸就是在gn(X)毫不知情的情況下,利用已有的觀測值(Xi,Yi),利用X值去估計可能的Y值。因為不需要精確的數學模型,所以適合對隨時間變化的非線性系統進行預測。
此處,對衛星某些工程參數比較適合用此預測方法。因為基于非參數回歸的方法是建立在大量歷史數據的基礎上的,符合暗物質衛星當前的狀況。由于無需建立預測模型即可進行預測,衛星工程參數中許多周期性比較明顯的參數均可以使用此方法進行預測。
誤差反向后傳(back propagation,BP)網絡,是目前廣泛應用的神經網絡模型之一。BP網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事先揭示描述這種映射關系的數學方程。BP神經網絡模型拓撲結構包括輸入層(input)、隱層(hidden layer)和輸出層(output layer)。它的學習規則是使用梯度下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和最小[13-14]。
一般的BP算法過程為:網絡初始化;輸入第一個學習樣本;求中間層的輸入和輸出;求輸出層的輸入和輸出;計算輸出層的誤差;計算中間層的誤差;調整各層連接之間的權值;輸入下一個學習樣本。
先確定好訓練次數和期望誤差,再進行算法的學習過程。當訓練次數達到或者低于期望誤差值即可停止訓練。
該預測模型適用于緩變的工程數據預測,適合具有大量歷史訓練樣本的數據的工程數據預測。但由于該方法需求的樣本數量巨大,以及訓練的方式復雜,所以當其他預測方法無法滿足數據需求時,可作為一種替補的工程數據處理預測方法。
在暗物質衛星以及其他衛星的運行過程中,有很多值得分析的工程數據。比如太陽能帆板的電壓和電流判斷其壽命的問題。
首先分析衛星的工程數據在數據庫中的格式,該衛星的地面支撐系統使用了Oracle的PTSQL數據庫管理其數據。工程數據儲存在一個大表中,由于大表是以接收時間為主鍵存儲工程數據的,所以不利于分析比較某一項工程數據的變化值。
將一段時間內的工程數據導出,并導入到相應的非關系型數據庫。由于只關心帆板的電壓和電流讀數,所以在導出數據表以及導入非關系型數據庫時,只選擇導出導入和與電壓電流有關的數據。
通過第一種數據處理方法處理將近三個月的數據得出:太陽能帆板工作情況良好,電壓值和電流值在工作狀態下穩定,暫時對其工作情況沒有影響。
通過使用四種非關系型數據庫進行衛星工程數據的分析和處理,提出了四種只需關注于對有效載荷工作情況有影響的工程數據的處理方法,尤其是適合于基于非關系型數據庫的工程數據存儲方式,與傳統關系型數據相比具備快速的優勢。
[1] 王 帆.基于故障樹的空間有效載荷故障診斷系統研究[D].北京:中國科學院研究生院(空間科學與應用研究中心),2007.
[2] 福島洋介,石濱直樹.航天器的遙測數據采集分析[J].控制工程,2002(5):36-41.
[3] 秦 巍,郭永富.一種基于歷史遙測數據的在軌衛星故障預警系統[J].航天器工程,2010,19(6):40-45.
[4] ZIKOPOULOS P,EATON C.Understanding big data:analytics for enterprise class Hadoop and streaming data[M].[s.l.]:McGraw-Hill Osborne Media,2011.
[5] ZAKI M J, PARTHASARATHY S, OGIHARA M,et al.New algorithms for fast discovery of association rules[C]//Proceedings of 3rd international conference on knowledge discovery and data mining.California:AAAI Press,1997:238-286.
[6] ZAKI M J.Scalable algorithms for association mining[J].IEEE Transactions on Knowledge and Data Engineering,2000,12(3):372-390.
[7] SHVACHKO K,KUANG Hairong,RADIA S,et al.The Hadoop distributed file system[C]//Proceedings of 26th IEEE symposium on mass storage systems and technologies.Piscataway,NJ:IEEE Press,2010:1-10.
[8] DEAN J,GHEMAWAT S.MapReduce:simplified data processing on large clusters[C]//Proceedings of the 6th conference on symposium on opearting systems design & implementation.Berkeley,CA,USA:USENIX Association,2008:10.
[9] 劉明吉,王秀峰,黃亞樓.數據挖掘中的數據預處理[J].計算機科學,2000,27(4):54-57.
[10] 趙紅毅,任國恒.ID3算法在衛星遙測數據分析中的應用[J].西安工業大學學報,2010,30(5):491-494.
[11] 王 環,郭義琪,秦 巍,等.構建多航天器在軌管理支持平臺[J].航天器工程,2007,16(3):114-119.
[12] 李瑞瑩,康 銳.基于ARMA模型的故障率預測方法研究[J].系統工程與電子技術,2008,30(8):1588-1591.
[13] 周永進,蔡惠華,尹遜震,等.改進的BP網絡及其在數據預測中的應用[J].微計算機信息,2007,23(27):150-151.
[14] 王一夫,陳松喬,陳 安.海量數據預測模型設計及案例分析[J].計算機工程與應用,2005,41(19):170-173.