孫小涓,石 濤,李 冰 ,楊曉艷 ,雷 斌,胡玉新
(1.中國科學院大學,北京 100049;2.中國科學院電子學研究所,北京 100190; 3.中國科學院空間信息處理與應用技術重點實驗室,北京 100190)
21世紀以來,空間科學與技術的發展日新月異,人類探索宇宙的步伐越來越頻繁,人類活動向太空的延伸也越來越深遠,空間科學在我國國家戰略發展中的地位與作用日益凸顯。空間科學是以空間飛行器為主要平臺,研究發生在日地空間、行星際空間乃至整個宇宙空間的物理、天文、化學以及生命科學等自然現象及其規律的科學。近年來,國際空間探索活動蓬勃發展,競爭日趨激烈,美、歐、俄、日、印等主要國家均有各自的空間科學發展戰略與任務計劃[1]。2011年中國科學院空間科學先導專項立項[2,3],截至2017年已先后發射了暗物質粒子探測衛星、實踐十號衛星、量子科學實驗衛星、硬X射線調制望遠鏡衛星4顆空間科學系列衛星,取得了量子衛星通過衛星分發量子糾纏實驗結果、硬X衛星監測到對引力波閃在高能區的輻射性質測量結果、暗物質衛星直接測量到電子宇宙射線能譜在1 TeV處的拐折等重大科學成果。空間科學衛星探測具有全天候、數據量大、數據離散等特點。全天候是指在全天時間內,衛星載荷都處于工作狀態,時刻對目標進行探測。由于載荷類型多樣和探測時間長,使得探測數據總量巨大。空間科學衛星探測數據生成頻率高,采用國際上公認的CCSDS(Consultative Committee for Space Data Systems)[4]標準格式,以單條探測數據計數,探測數據計數重復頻繁。因此,空間信息處理難度增加,研究空間科學大數據處理方法很有必要。
目前,基于CCSDS分包遙測標準的下行數據流處理方法在遙測遙控方面應用比較成熟[5 - 7],作為一種國際通用標準,因具有空間探測任務的國際合作交互支持和地面系統通用化的優點,空間科學系列衛星下傳數據采用這種數據傳輸格式。然而,由于空間科學衛星載荷探測數據生成頻率高,導致數據包計數重復頻繁,而且空間科學數據產品的分級定義要求數據處理結果的多樣性,以適應科學家團隊對工程數據、科學數據的需求,傳統的處理方法在正確性和時效性方面無法滿足當前地面系統的數據處理要求。
本文剖析了空間科學衛星探測數據特點,在此基礎上,結合科學數據產品處理需求,提出了空間科學衛星數據快速處理的方法。采用兩層聯合索引結構,將大數據處理問題轉化成數據量較少的索引和對應源包處理,提高了數據處理效率;采用科學工作流技術設計了數據驅動和業務驅動協同的處理框架,支持多樣化的空間科學衛星數據處理流程,各類載荷數據處理任務并行調度。這種方法處理效率可擴展,內存使用較少,應用于空間科學衛星地面系統中,滿足了空間科學衛星任務對數據處理的要求。
空間科學數據有科學數據、載荷工程數據和衛星平臺數據三大類,使用應用過程標識符APID(APplication IDentifier)對衛星數據采集和傳輸過程中的不同數據源設備進行區分,構成可變長度的面向應用的數據包,稱為“源包”。過長的包再分成段,截成定長后加上幀頭和幀尾構成數據傳輸幀進行傳輸。針對工程參數區回放數據、科學數據區回放數據和實時工程參數數據等,數據傳輸幀劃分不同虛擬信道,使用虛擬信道標識符VCID(Virtual Channel IDentifier)進行區分。空間科學衛星數據采用CCSDS標準,按虛擬信道標識符和應用過程標識符實時分路不同數據,實現了同一物理信道上時分復用傳送多種數據的要求。因此,空間科學衛星數據具有傳輸幀和源包兩層數據結構,從一個或多個傳輸幀的數據域中獲得源包數據,數據傳輸幀具有VCID、VCID計數、回放標志等字段,源包具有APID、APID計數、包長等字段。
從空間科學衛星數據生成科學數據產品的數據流圖如圖1所示。數據處理系統接收到衛星原始數據文件,對一次衛星過站的數傳原始數據進行幀同步、虛擬信道分離、源包提取、驗證排序,生成按APID拆分的1A級源包數據產品。對多次衛星過站的數傳原始數據進行相同處理,按APID拆分、拼接、去重后,生成按工況或按日期進行數據分割的1B級源包數據產品。然后,分別在1A級產品和1B級產品的基礎上,對科學數據源包、工程數據源包進行解包,經過循環冗余CRC(Cyclic Redundancy Check)校驗、物理量轉換或圖像視頻格式轉換后,生成1C級、1D級科學數據產品和工程數據產品。在1B級產品的基礎上,通過快速標定或數值類、圖像視頻類處理,生成1Q級快視數據產品。所有科學數據產品分發至科學家團隊,進行科學事件和實驗數據的深入分析。

Figure 1 Data flow of space science data processing圖1 空間科學數據處理的數據流圖
(1)探測數據生成頻率高。
空間科學衛星是全天候探測,不同于遙感衛星的定點開機觀測,雖然單條探測數據最多幾百KB,但探測頻率較高,以暗物質衛星遙測源包為例,源包生成頻率最快1 s,最慢32 s。
空間科學衛星數據源包采用14位連續二進制數進行計數,每隔16 384源包計數循環一次。單軌數據中往往存在源包計數溢出導致計數循環的情況,傳統的采用計數進行源包排重和拼接難以實現。
(2)探測數據種類多且計算量大。
空間科學衛星依據科學目標搭載不同的科學探測載荷。暗物質衛星搭載了塑閃陣列探測器、硅陣列探測器、鍺酸鉍BGO量能器、中子探測器共4個探測器,包括4個虛擬信道,總計14種數據源包。實踐十號衛星開展微重力科學實驗項目10項,空間生命科學實驗項目9項,全部19個載荷探測數據有5個虛擬信道,總計48種數據源包。硬X射線望遠鏡衛星具有主探測器18個單元,粒子探測器3個單元,在軌標定探測器3個單元,頂面反符合屏蔽探測器6個單元,側面反符合屏蔽探測器12個單元,總共42個探測單元。探測數據包括13個虛擬信道,總計36種數據源包,平均源包長度為400字節。
暗物質、實踐十號和硬X衛星探測數據量較大,平均單軌原始數據量分別為6 GB、10 GB、10 GB。對每個衛星下傳原始數據文件進行分析,都需要進行虛擬信道分離、提取源包的處理過程,解析后數據單元數量巨大。而解析工程源包數據的過程,需要根據每個工程參數解算方法進行物理量轉換;生成圖像視頻類快視產品的過程,需要進行格式轉換,針對海量數據單元的計算量也較大。
(3)空間科學數據處理算法多樣。
空間科學數據處理的目標是按產品分級定義和產品格式說明的約定,生成全部在軌衛星數據產品。除解幀解包的共性算法外,每種衛星數據產品具有不同的處理算法。空間科學數據1A、1B級產品類型與數據源包類型對應,1C、1D級產品類型則與具體衛星載荷的工程數據和科學數據類型相關,1Q級產品類型與各衛星數據的科學意義有關。以載荷類型最多的實踐十號衛星為例,1C、1D級數據產品多達46種,1Q級快視數據產品多達47種。
從算法模塊調度模式上,空間科學數據處理分為原始數據接收后觸發、定時觸發和人工觸發三種模式,分別滿足單軌原始數據處理、多軌聯合處理和歷史數據處理的要求。
針對空間科學數據處理算法多樣的特點,為了支持眾多衛星數據處理流程和處理算法軟件,我們設計了數據與業務協同驅動的處理框架,如圖2所示。數據驅動層進行從原始數據到源包數據的預處理,生成的索引表和源包數據單元作為業務處理的輸入。業務驅動層進行各衛星不同模式數據處理流程的驅動,由數據驅動層在數據預處理后創建的流程和由人工或系統定時自動創建的流程都由該層驅動。作業執行層基于PBS(Portable Batch System)作業調度系統[8]實現所有業務流程在數據處理集群上的并行調度執行。同類計算節點部署相同的處理算法程序,由管理節點根據計算節點負載情況協調計算任務。

Figure 2 Framework of space science data processing 圖2 空間科學數據處理框架
空間科學衛星數據處理系統在已有的空間信息處理平臺[9 - 11]的基礎上,主要探索了基于聯合索引的空間科學衛星數據驅動機制,實現了針對源包數據的任務管理。平臺采用科學工作流技術,設計實現了數據參數準備、任務并行語義表達、任務規劃與資源映射、任務提交、遠程數據傳輸、任務跟蹤記錄、運行時容錯等功能,可快速適應新增衛星和新增數據處理軟件業務擴展。
采用這種系統框架設計的空間科學衛星數據處理系統能夠統一管理調度眾多處理算法,實現不同衛星不同類型探測數據的并行處理,后續發射衛星的數據處理業務也易于擴展。
針對空間科學衛星探測數據種類多、數據條目巨大的特點,根據衛星數據由虛擬信道傳輸幀和源包兩級結構組成,我們設計了基于信道索引和源包索引聯合的數據處理方法。這種索引結構不僅包含傳輸幀的VCID、VCID計數和源包的APID、APID計數、包長等基本信息,還將回放標志、時間碼、文件偏移位置信息納入索引管理,數據處理所需的信息包含在索引結構中,能夠完全解決回放直傳模式區分、計數重復、計數跳變、時間碼錯誤等多種數據處理問題,同時有效地降低內存使用。
構建聯合索引成為數據處理過程的關鍵。如圖3所示,首先在數傳原始數據文件解析與校驗、AOS(Advanced Orbiting Systems)幀數據校驗后,進行虛擬信道的抽取與分離,插入信道索引表所需信息,生成信道文件;然后對虛擬信道數據連續性進行校驗,在校驗正確的情況下從每個信道文件中提取源包并校驗,信息解析后插入源包索引表。
采用聯合索引方法可以解決空間科學衛星數據的如下處理問題:聯合索引與數據字段一一對應,對數據的處理轉化成了對索引的操作,因索引數據集小可在內存中處理,所以采用這種方法減少了內外存數據交換,降低了系統開銷;由于直傳和回放模式數據在虛擬信道數據中混合傳輸,單純從傳輸幀頭標志無法判別,通過在源包索引中識別相鄰源包的大幅計數跳變,從而能夠區分對應模式探測數據;因單軌數據中常出現源包計數循環導致重復的問題,依據源包索引的時間碼信息,在計數循環時能有效實現源包排重和拼接,而傳統方法在有循環情況下無法排序。
綜上,采用聯合索引方法不僅能夠解決由于空間科學衛星數據生成速度快導致的源包排重和拼接難題,還能夠避免對原始數據中不同探測數據種類的多次解析,從而提高系統處理效率。

Figure 3 Joint index structure for space science satellite data圖3 空間科學衛星數據聯合索引結構
在測試驗證環境中對源包提取處理階段、源包排重拼接處理階段的處理時間和內存使用量指標進行測試分析。實驗使用1臺服務器(2個Intel Xeon E5649 CPU,主頻2.53 GHz,16 GB內存)對數據處理方法進行了測試驗證。測試數據選用模擬衛星數據,幀長為512 B,源包長度為100 B。測試方法及結果如下:
(1)源包提取處理。
使用本文的聯合索引處理方法和傳統處理方法對計數無循環、有循環的1 GB數據進行源包提取,不進行后續處理,記錄兩種方法的處理時間,比對源包提取結果,測試結果(如表1所示)表明本文方法能夠正確實現衛星數據計數有循環和無循環情況下的源包提取,同時索引構建沒有顯著增加處理時間。

Table 1 Processing time of source packet extraction
(2)源包排序處理。
使用本文的處理方法對不同大小的數據進行源包提取、源包排序排重處理,記錄處理時間、最大內存使用量等性能指標。測試數據大小分別選取500 MB、1 GB、2 GB、5 GB、10 GB。測試結果如表2所示,性能擬合曲線如圖4所示,其中圖4a表示處理時間與數據量的關系,圖4b表示占用內存與數據量的關系。測試結果表明,源包排序處理時間隨著數據量增長而增加,隨著數據量的增長,源包排序、排重所占用的時間增加,呈現接近線性的可擴展性。由于采用索引進行排序排重等處理,索引本身占用內存不大,所以程序占用內存隨著數據量增加變化不大。

Table 2 Experimental results of processing timeand memory usage of source packet sorting

Figure 4 Scalability for processing time and memory usage of source packet sorting圖4 源包排序處理時間與內存使用量的擴展性
在實際運行系統環境中測試暗物質衛星、量子衛星和硬X衛星各級產品生成處理時間,測試結果如表3所示。實測環境使用12個節點組成的服務器集群,每個節點配置4個主頻2 GHz的Intel Xeon E7-4820v2 CPU,64 GB內存。測試數據為單軌衛星真實數據,各衛星數據產品處理時間均符合工程任務指標要求,其中針對數據量較大的暗物質衛星和硬X衛星的1A、1B級產品處理總時間,約為指標要求的2/3和1/2。
本文提出的空間數據處理方法已應用于空間科學先導專項地面系統各衛星數據處理業務中,目前有暗物質、實踐十號、量子和硬X四顆衛星,實際應用結果表明,產品處理延遲時間遠低于衛星工程指標要求。
本文通過分析空間科學衛星數據特點,提出了適合空間大數據的快速處理方法,通過構建兩層聯合索引結構實現數據單元準備,然后通過作業調度系統完成各類探測數據處理任務的并行執行。該方法解決了工作模式區分、計數循環重復的數據問題,能夠支持眾多數據處理軟件的并發調度,便于根據衛星載荷特點進行處理軟件擴展。另外,該方法在基于空間科學大數據的數據管理、數據存儲、科學檔案制作、計算可視化等研究方面,也具有借鑒意義。
該方法應用于實際系統中取得了較好效果,但空間信息處理技術需要在應用中不斷積累和完善,目前迫切需要在空間科學衛星數據挖掘方面作深入研究和探索。空間科學衛星探測數據量大,但具有科學研究價值的探測數據占比不高。根據數據統計結果,暗物質衛星穩定運行一年后,成功覆蓋天區兩次,全部探測的有效粒子達18億個,衛星平均每天傳送500萬個粒子信息,但是其中只有0.1%是有用的電子,光子的數量還要少很多。因此,如何在眾多探測事例中實現科學目標的快速識別,研究適合的數據挖掘算法輔助科學家團隊更容易獲取科學發現,將可能成為本領域未來的研究方向和熱點。
Table3Processingtimeofspacesciencesatellites
表3空間科學衛星數據處理時間結果
衛星名稱數據量/(GB)各級產品生成處理時間/生成產品數量1A1B1C1D1Q暗物質4.61 min/14個5 min 40 s/14個6 min 17 s/4個58 s/4個1 h 48 min/7個量子0.1315 s/6個30s/8個7 min 46 s/10個--硬X9.85 min 40 s/36個4 min 43 s/118個17 s/29個-1 h 2 min 51 s/113個