孫小涓,石 濤,李 冰 ,楊曉艷 ,雷 斌,胡玉新
(1.中國科學(xué)院大學(xué),北京 100049;2.中國科學(xué)院電子學(xué)研究所,北京 100190; 3.中國科學(xué)院空間信息處理與應(yīng)用技術(shù)重點實驗室,北京 100190)
21世紀(jì)以來,空間科學(xué)與技術(shù)的發(fā)展日新月異,人類探索宇宙的步伐越來越頻繁,人類活動向太空的延伸也越來越深遠(yuǎn),空間科學(xué)在我國國家戰(zhàn)略發(fā)展中的地位與作用日益凸顯??臻g科學(xué)是以空間飛行器為主要平臺,研究發(fā)生在日地空間、行星際空間乃至整個宇宙空間的物理、天文、化學(xué)以及生命科學(xué)等自然現(xiàn)象及其規(guī)律的科學(xué)。近年來,國際空間探索活動蓬勃發(fā)展,競爭日趨激烈,美、歐、俄、日、印等主要國家均有各自的空間科學(xué)發(fā)展戰(zhàn)略與任務(wù)計劃[1]。2011年中國科學(xué)院空間科學(xué)先導(dǎo)專項立項[2,3],截至2017年已先后發(fā)射了暗物質(zhì)粒子探測衛(wèi)星、實踐十號衛(wèi)星、量子科學(xué)實驗衛(wèi)星、硬X射線調(diào)制望遠(yuǎn)鏡衛(wèi)星4顆空間科學(xué)系列衛(wèi)星,取得了量子衛(wèi)星通過衛(wèi)星分發(fā)量子糾纏實驗結(jié)果、硬X衛(wèi)星監(jiān)測到對引力波閃在高能區(qū)的輻射性質(zhì)測量結(jié)果、暗物質(zhì)衛(wèi)星直接測量到電子宇宙射線能譜在1 TeV處的拐折等重大科學(xué)成果??臻g科學(xué)衛(wèi)星探測具有全天候、數(shù)據(jù)量大、數(shù)據(jù)離散等特點。全天候是指在全天時間內(nèi),衛(wèi)星載荷都處于工作狀態(tài),時刻對目標(biāo)進(jìn)行探測。由于載荷類型多樣和探測時間長,使得探測數(shù)據(jù)總量巨大??臻g科學(xué)衛(wèi)星探測數(shù)據(jù)生成頻率高,采用國際上公認(rèn)的CCSDS(Consultative Committee for Space Data Systems)[4]標(biāo)準(zhǔn)格式,以單條探測數(shù)據(jù)計數(shù),探測數(shù)據(jù)計數(shù)重復(fù)頻繁。因此,空間信息處理難度增加,研究空間科學(xué)大數(shù)據(jù)處理方法很有必要。
目前,基于CCSDS分包遙測標(biāo)準(zhǔn)的下行數(shù)據(jù)流處理方法在遙測遙控方面應(yīng)用比較成熟[5 - 7],作為一種國際通用標(biāo)準(zhǔn),因具有空間探測任務(wù)的國際合作交互支持和地面系統(tǒng)通用化的優(yōu)點,空間科學(xué)系列衛(wèi)星下傳數(shù)據(jù)采用這種數(shù)據(jù)傳輸格式。然而,由于空間科學(xué)衛(wèi)星載荷探測數(shù)據(jù)生成頻率高,導(dǎo)致數(shù)據(jù)包計數(shù)重復(fù)頻繁,而且空間科學(xué)數(shù)據(jù)產(chǎn)品的分級定義要求數(shù)據(jù)處理結(jié)果的多樣性,以適應(yīng)科學(xué)家團隊對工程數(shù)據(jù)、科學(xué)數(shù)據(jù)的需求,傳統(tǒng)的處理方法在正確性和時效性方面無法滿足當(dāng)前地面系統(tǒng)的數(shù)據(jù)處理要求。
本文剖析了空間科學(xué)衛(wèi)星探測數(shù)據(jù)特點,在此基礎(chǔ)上,結(jié)合科學(xué)數(shù)據(jù)產(chǎn)品處理需求,提出了空間科學(xué)衛(wèi)星數(shù)據(jù)快速處理的方法。采用兩層聯(lián)合索引結(jié)構(gòu),將大數(shù)據(jù)處理問題轉(zhuǎn)化成數(shù)據(jù)量較少的索引和對應(yīng)源包處理,提高了數(shù)據(jù)處理效率;采用科學(xué)工作流技術(shù)設(shè)計了數(shù)據(jù)驅(qū)動和業(yè)務(wù)驅(qū)動協(xié)同的處理框架,支持多樣化的空間科學(xué)衛(wèi)星數(shù)據(jù)處理流程,各類載荷數(shù)據(jù)處理任務(wù)并行調(diào)度。這種方法處理效率可擴展,內(nèi)存使用較少,應(yīng)用于空間科學(xué)衛(wèi)星地面系統(tǒng)中,滿足了空間科學(xué)衛(wèi)星任務(wù)對數(shù)據(jù)處理的要求。
空間科學(xué)數(shù)據(jù)有科學(xué)數(shù)據(jù)、載荷工程數(shù)據(jù)和衛(wèi)星平臺數(shù)據(jù)三大類,使用應(yīng)用過程標(biāo)識符APID(APplication IDentifier)對衛(wèi)星數(shù)據(jù)采集和傳輸過程中的不同數(shù)據(jù)源設(shè)備進(jìn)行區(qū)分,構(gòu)成可變長度的面向應(yīng)用的數(shù)據(jù)包,稱為“源包”。過長的包再分成段,截成定長后加上幀頭和幀尾構(gòu)成數(shù)據(jù)傳輸幀進(jìn)行傳輸。針對工程參數(shù)區(qū)回放數(shù)據(jù)、科學(xué)數(shù)據(jù)區(qū)回放數(shù)據(jù)和實時工程參數(shù)數(shù)據(jù)等,數(shù)據(jù)傳輸幀劃分不同虛擬信道,使用虛擬信道標(biāo)識符VCID(Virtual Channel IDentifier)進(jìn)行區(qū)分??臻g科學(xué)衛(wèi)星數(shù)據(jù)采用CCSDS標(biāo)準(zhǔn),按虛擬信道標(biāo)識符和應(yīng)用過程標(biāo)識符實時分路不同數(shù)據(jù),實現(xiàn)了同一物理信道上時分復(fù)用傳送多種數(shù)據(jù)的要求。因此,空間科學(xué)衛(wèi)星數(shù)據(jù)具有傳輸幀和源包兩層數(shù)據(jù)結(jié)構(gòu),從一個或多個傳輸幀的數(shù)據(jù)域中獲得源包數(shù)據(jù),數(shù)據(jù)傳輸幀具有VCID、VCID計數(shù)、回放標(biāo)志等字段,源包具有APID、APID計數(shù)、包長等字段。
從空間科學(xué)衛(wèi)星數(shù)據(jù)生成科學(xué)數(shù)據(jù)產(chǎn)品的數(shù)據(jù)流圖如圖1所示。數(shù)據(jù)處理系統(tǒng)接收到衛(wèi)星原始數(shù)據(jù)文件,對一次衛(wèi)星過站的數(shù)傳原始數(shù)據(jù)進(jìn)行幀同步、虛擬信道分離、源包提取、驗證排序,生成按APID拆分的1A級源包數(shù)據(jù)產(chǎn)品。對多次衛(wèi)星過站的數(shù)傳原始數(shù)據(jù)進(jìn)行相同處理,按APID拆分、拼接、去重后,生成按工況或按日期進(jìn)行數(shù)據(jù)分割的1B級源包數(shù)據(jù)產(chǎn)品。然后,分別在1A級產(chǎn)品和1B級產(chǎn)品的基礎(chǔ)上,對科學(xué)數(shù)據(jù)源包、工程數(shù)據(jù)源包進(jìn)行解包,經(jīng)過循環(huán)冗余CRC(Cyclic Redundancy Check)校驗、物理量轉(zhuǎn)換或圖像視頻格式轉(zhuǎn)換后,生成1C級、1D級科學(xué)數(shù)據(jù)產(chǎn)品和工程數(shù)據(jù)產(chǎn)品。在1B級產(chǎn)品的基礎(chǔ)上,通過快速標(biāo)定或數(shù)值類、圖像視頻類處理,生成1Q級快視數(shù)據(jù)產(chǎn)品。所有科學(xué)數(shù)據(jù)產(chǎn)品分發(fā)至科學(xué)家團隊,進(jìn)行科學(xué)事件和實驗數(shù)據(jù)的深入分析。
Figure 1 Data flow of space science data processing圖1 空間科學(xué)數(shù)據(jù)處理的數(shù)據(jù)流圖
(1)探測數(shù)據(jù)生成頻率高。
空間科學(xué)衛(wèi)星是全天候探測,不同于遙感衛(wèi)星的定點開機觀測,雖然單條探測數(shù)據(jù)最多幾百KB,但探測頻率較高,以暗物質(zhì)衛(wèi)星遙測源包為例,源包生成頻率最快1 s,最慢32 s。
空間科學(xué)衛(wèi)星數(shù)據(jù)源包采用14位連續(xù)二進(jìn)制數(shù)進(jìn)行計數(shù),每隔16 384源包計數(shù)循環(huán)一次。單軌數(shù)據(jù)中往往存在源包計數(shù)溢出導(dǎo)致計數(shù)循環(huán)的情況,傳統(tǒng)的采用計數(shù)進(jìn)行源包排重和拼接難以實現(xiàn)。
(2)探測數(shù)據(jù)種類多且計算量大。
空間科學(xué)衛(wèi)星依據(jù)科學(xué)目標(biāo)搭載不同的科學(xué)探測載荷。暗物質(zhì)衛(wèi)星搭載了塑閃陣列探測器、硅陣列探測器、鍺酸鉍BGO量能器、中子探測器共4個探測器,包括4個虛擬信道,總計14種數(shù)據(jù)源包。實踐十號衛(wèi)星開展微重力科學(xué)實驗項目10項,空間生命科學(xué)實驗項目9項,全部19個載荷探測數(shù)據(jù)有5個虛擬信道,總計48種數(shù)據(jù)源包。硬X射線望遠(yuǎn)鏡衛(wèi)星具有主探測器18個單元,粒子探測器3個單元,在軌標(biāo)定探測器3個單元,頂面反符合屏蔽探測器6個單元,側(cè)面反符合屏蔽探測器12個單元,總共42個探測單元。探測數(shù)據(jù)包括13個虛擬信道,總計36種數(shù)據(jù)源包,平均源包長度為400字節(jié)。
暗物質(zhì)、實踐十號和硬X衛(wèi)星探測數(shù)據(jù)量較大,平均單軌原始數(shù)據(jù)量分別為6 GB、10 GB、10 GB。對每個衛(wèi)星下傳原始數(shù)據(jù)文件進(jìn)行分析,都需要進(jìn)行虛擬信道分離、提取源包的處理過程,解析后數(shù)據(jù)單元數(shù)量巨大。而解析工程源包數(shù)據(jù)的過程,需要根據(jù)每個工程參數(shù)解算方法進(jìn)行物理量轉(zhuǎn)換;生成圖像視頻類快視產(chǎn)品的過程,需要進(jìn)行格式轉(zhuǎn)換,針對海量數(shù)據(jù)單元的計算量也較大。
(3)空間科學(xué)數(shù)據(jù)處理算法多樣。
空間科學(xué)數(shù)據(jù)處理的目標(biāo)是按產(chǎn)品分級定義和產(chǎn)品格式說明的約定,生成全部在軌衛(wèi)星數(shù)據(jù)產(chǎn)品。除解幀解包的共性算法外,每種衛(wèi)星數(shù)據(jù)產(chǎn)品具有不同的處理算法。空間科學(xué)數(shù)據(jù)1A、1B級產(chǎn)品類型與數(shù)據(jù)源包類型對應(yīng),1C、1D級產(chǎn)品類型則與具體衛(wèi)星載荷的工程數(shù)據(jù)和科學(xué)數(shù)據(jù)類型相關(guān),1Q級產(chǎn)品類型與各衛(wèi)星數(shù)據(jù)的科學(xué)意義有關(guān)。以載荷類型最多的實踐十號衛(wèi)星為例,1C、1D級數(shù)據(jù)產(chǎn)品多達(dá)46種,1Q級快視數(shù)據(jù)產(chǎn)品多達(dá)47種。
從算法模塊調(diào)度模式上,空間科學(xué)數(shù)據(jù)處理分為原始數(shù)據(jù)接收后觸發(fā)、定時觸發(fā)和人工觸發(fā)三種模式,分別滿足單軌原始數(shù)據(jù)處理、多軌聯(lián)合處理和歷史數(shù)據(jù)處理的要求。
針對空間科學(xué)數(shù)據(jù)處理算法多樣的特點,為了支持眾多衛(wèi)星數(shù)據(jù)處理流程和處理算法軟件,我們設(shè)計了數(shù)據(jù)與業(yè)務(wù)協(xié)同驅(qū)動的處理框架,如圖2所示。數(shù)據(jù)驅(qū)動層進(jìn)行從原始數(shù)據(jù)到源包數(shù)據(jù)的預(yù)處理,生成的索引表和源包數(shù)據(jù)單元作為業(yè)務(wù)處理的輸入。業(yè)務(wù)驅(qū)動層進(jìn)行各衛(wèi)星不同模式數(shù)據(jù)處理流程的驅(qū)動,由數(shù)據(jù)驅(qū)動層在數(shù)據(jù)預(yù)處理后創(chuàng)建的流程和由人工或系統(tǒng)定時自動創(chuàng)建的流程都由該層驅(qū)動。作業(yè)執(zhí)行層基于PBS(Portable Batch System)作業(yè)調(diào)度系統(tǒng)[8]實現(xiàn)所有業(yè)務(wù)流程在數(shù)據(jù)處理集群上的并行調(diào)度執(zhí)行。同類計算節(jié)點部署相同的處理算法程序,由管理節(jié)點根據(jù)計算節(jié)點負(fù)載情況協(xié)調(diào)計算任務(wù)。
Figure 2 Framework of space science data processing 圖2 空間科學(xué)數(shù)據(jù)處理框架
空間科學(xué)衛(wèi)星數(shù)據(jù)處理系統(tǒng)在已有的空間信息處理平臺[9 - 11]的基礎(chǔ)上,主要探索了基于聯(lián)合索引的空間科學(xué)衛(wèi)星數(shù)據(jù)驅(qū)動機制,實現(xiàn)了針對源包數(shù)據(jù)的任務(wù)管理。平臺采用科學(xué)工作流技術(shù),設(shè)計實現(xiàn)了數(shù)據(jù)參數(shù)準(zhǔn)備、任務(wù)并行語義表達(dá)、任務(wù)規(guī)劃與資源映射、任務(wù)提交、遠(yuǎn)程數(shù)據(jù)傳輸、任務(wù)跟蹤記錄、運行時容錯等功能,可快速適應(yīng)新增衛(wèi)星和新增數(shù)據(jù)處理軟件業(yè)務(wù)擴展。
采用這種系統(tǒng)框架設(shè)計的空間科學(xué)衛(wèi)星數(shù)據(jù)處理系統(tǒng)能夠統(tǒng)一管理調(diào)度眾多處理算法,實現(xiàn)不同衛(wèi)星不同類型探測數(shù)據(jù)的并行處理,后續(xù)發(fā)射衛(wèi)星的數(shù)據(jù)處理業(yè)務(wù)也易于擴展。
針對空間科學(xué)衛(wèi)星探測數(shù)據(jù)種類多、數(shù)據(jù)條目巨大的特點,根據(jù)衛(wèi)星數(shù)據(jù)由虛擬信道傳輸幀和源包兩級結(jié)構(gòu)組成,我們設(shè)計了基于信道索引和源包索引聯(lián)合的數(shù)據(jù)處理方法。這種索引結(jié)構(gòu)不僅包含傳輸幀的VCID、VCID計數(shù)和源包的APID、APID計數(shù)、包長等基本信息,還將回放標(biāo)志、時間碼、文件偏移位置信息納入索引管理,數(shù)據(jù)處理所需的信息包含在索引結(jié)構(gòu)中,能夠完全解決回放直傳模式區(qū)分、計數(shù)重復(fù)、計數(shù)跳變、時間碼錯誤等多種數(shù)據(jù)處理問題,同時有效地降低內(nèi)存使用。
構(gòu)建聯(lián)合索引成為數(shù)據(jù)處理過程的關(guān)鍵。如圖3所示,首先在數(shù)傳原始數(shù)據(jù)文件解析與校驗、AOS(Advanced Orbiting Systems)幀數(shù)據(jù)校驗后,進(jìn)行虛擬信道的抽取與分離,插入信道索引表所需信息,生成信道文件;然后對虛擬信道數(shù)據(jù)連續(xù)性進(jìn)行校驗,在校驗正確的情況下從每個信道文件中提取源包并校驗,信息解析后插入源包索引表。
采用聯(lián)合索引方法可以解決空間科學(xué)衛(wèi)星數(shù)據(jù)的如下處理問題:聯(lián)合索引與數(shù)據(jù)字段一一對應(yīng),對數(shù)據(jù)的處理轉(zhuǎn)化成了對索引的操作,因索引數(shù)據(jù)集小可在內(nèi)存中處理,所以采用這種方法減少了內(nèi)外存數(shù)據(jù)交換,降低了系統(tǒng)開銷;由于直傳和回放模式數(shù)據(jù)在虛擬信道數(shù)據(jù)中混合傳輸,單純從傳輸幀頭標(biāo)志無法判別,通過在源包索引中識別相鄰源包的大幅計數(shù)跳變,從而能夠區(qū)分對應(yīng)模式探測數(shù)據(jù);因單軌數(shù)據(jù)中常出現(xiàn)源包計數(shù)循環(huán)導(dǎo)致重復(fù)的問題,依據(jù)源包索引的時間碼信息,在計數(shù)循環(huán)時能有效實現(xiàn)源包排重和拼接,而傳統(tǒng)方法在有循環(huán)情況下無法排序。
綜上,采用聯(lián)合索引方法不僅能夠解決由于空間科學(xué)衛(wèi)星數(shù)據(jù)生成速度快導(dǎo)致的源包排重和拼接難題,還能夠避免對原始數(shù)據(jù)中不同探測數(shù)據(jù)種類的多次解析,從而提高系統(tǒng)處理效率。
Figure 3 Joint index structure for space science satellite data圖3 空間科學(xué)衛(wèi)星數(shù)據(jù)聯(lián)合索引結(jié)構(gòu)
在測試驗證環(huán)境中對源包提取處理階段、源包排重拼接處理階段的處理時間和內(nèi)存使用量指標(biāo)進(jìn)行測試分析。實驗使用1臺服務(wù)器(2個Intel Xeon E5649 CPU,主頻2.53 GHz,16 GB內(nèi)存)對數(shù)據(jù)處理方法進(jìn)行了測試驗證。測試數(shù)據(jù)選用模擬衛(wèi)星數(shù)據(jù),幀長為512 B,源包長度為100 B。測試方法及結(jié)果如下:
(1)源包提取處理。
使用本文的聯(lián)合索引處理方法和傳統(tǒng)處理方法對計數(shù)無循環(huán)、有循環(huán)的1 GB數(shù)據(jù)進(jìn)行源包提取,不進(jìn)行后續(xù)處理,記錄兩種方法的處理時間,比對源包提取結(jié)果,測試結(jié)果(如表1所示)表明本文方法能夠正確實現(xiàn)衛(wèi)星數(shù)據(jù)計數(shù)有循環(huán)和無循環(huán)情況下的源包提取,同時索引構(gòu)建沒有顯著增加處理時間。
Table 1 Processing time of source packet extraction
(2)源包排序處理。
使用本文的處理方法對不同大小的數(shù)據(jù)進(jìn)行源包提取、源包排序排重處理,記錄處理時間、最大內(nèi)存使用量等性能指標(biāo)。測試數(shù)據(jù)大小分別選取500 MB、1 GB、2 GB、5 GB、10 GB。測試結(jié)果如表2所示,性能擬合曲線如圖4所示,其中圖4a表示處理時間與數(shù)據(jù)量的關(guān)系,圖4b表示占用內(nèi)存與數(shù)據(jù)量的關(guān)系。測試結(jié)果表明,源包排序處理時間隨著數(shù)據(jù)量增長而增加,隨著數(shù)據(jù)量的增長,源包排序、排重所占用的時間增加,呈現(xiàn)接近線性的可擴展性。由于采用索引進(jìn)行排序排重等處理,索引本身占用內(nèi)存不大,所以程序占用內(nèi)存隨著數(shù)據(jù)量增加變化不大。
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 源包排序處理時間與內(nèi)存使用量的擴展性
在實際運行系統(tǒng)環(huán)境中測試暗物質(zhì)衛(wèi)星、量子衛(wèi)星和硬X衛(wèi)星各級產(chǎn)品生成處理時間,測試結(jié)果如表3所示。實測環(huán)境使用12個節(jié)點組成的服務(wù)器集群,每個節(jié)點配置4個主頻2 GHz的Intel Xeon E7-4820v2 CPU,64 GB內(nèi)存。測試數(shù)據(jù)為單軌衛(wèi)星真實數(shù)據(jù),各衛(wèi)星數(shù)據(jù)產(chǎn)品處理時間均符合工程任務(wù)指標(biāo)要求,其中針對數(shù)據(jù)量較大的暗物質(zhì)衛(wèi)星和硬X衛(wèi)星的1A、1B級產(chǎn)品處理總時間,約為指標(biāo)要求的2/3和1/2。
本文提出的空間數(shù)據(jù)處理方法已應(yīng)用于空間科學(xué)先導(dǎo)專項地面系統(tǒng)各衛(wèi)星數(shù)據(jù)處理業(yè)務(wù)中,目前有暗物質(zhì)、實踐十號、量子和硬X四顆衛(wèi)星,實際應(yīng)用結(jié)果表明,產(chǎn)品處理延遲時間遠(yuǎn)低于衛(wèi)星工程指標(biāo)要求。
本文通過分析空間科學(xué)衛(wèi)星數(shù)據(jù)特點,提出了適合空間大數(shù)據(jù)的快速處理方法,通過構(gòu)建兩層聯(lián)合索引結(jié)構(gòu)實現(xiàn)數(shù)據(jù)單元準(zhǔn)備,然后通過作業(yè)調(diào)度系統(tǒng)完成各類探測數(shù)據(jù)處理任務(wù)的并行執(zhí)行。該方法解決了工作模式區(qū)分、計數(shù)循環(huán)重復(fù)的數(shù)據(jù)問題,能夠支持眾多數(shù)據(jù)處理軟件的并發(fā)調(diào)度,便于根據(jù)衛(wèi)星載荷特點進(jìn)行處理軟件擴展。另外,該方法在基于空間科學(xué)大數(shù)據(jù)的數(shù)據(jù)管理、數(shù)據(jù)存儲、科學(xué)檔案制作、計算可視化等研究方面,也具有借鑒意義。
該方法應(yīng)用于實際系統(tǒng)中取得了較好效果,但空間信息處理技術(shù)需要在應(yīng)用中不斷積累和完善,目前迫切需要在空間科學(xué)衛(wèi)星數(shù)據(jù)挖掘方面作深入研究和探索。空間科學(xué)衛(wèi)星探測數(shù)據(jù)量大,但具有科學(xué)研究價值的探測數(shù)據(jù)占比不高。根據(jù)數(shù)據(jù)統(tǒng)計結(jié)果,暗物質(zhì)衛(wèi)星穩(wěn)定運行一年后,成功覆蓋天區(qū)兩次,全部探測的有效粒子達(dá)18億個,衛(wèi)星平均每天傳送500萬個粒子信息,但是其中只有0.1%是有用的電子,光子的數(shù)量還要少很多。因此,如何在眾多探測事例中實現(xiàn)科學(xué)目標(biāo)的快速識別,研究適合的數(shù)據(jù)挖掘算法輔助科學(xué)家團隊更容易獲取科學(xué)發(fā)現(xiàn),將可能成為本領(lǐng)域未來的研究方向和熱點。
Table3Processingtimeofspacesciencesatellites
表3空間科學(xué)衛(wèi)星數(shù)據(jù)處理時間結(jié)果
衛(wèi)星名稱數(shù)據(jù)量/(GB)各級產(chǎn)品生成處理時間/生成產(chǎn)品數(shù)量1A1B1C1D1Q暗物質(zhì)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個