首篇PIE-Engine 論文正式發(fā)表!揭開國產(chǎn)遙感云計算平臺的神秘面紗

? ?PIE-Engine時空遙感云平臺是一套基于云計算、物聯(lián)網(wǎng)、大數(shù)據(jù)和人工智能等技術(shù)研發(fā)的具備時空大數(shù)據(jù)的接入、存儲、管理、處理、計算、信息提取、知識挖掘、共享發(fā)布、開放應(yīng)用到算法集成編排、二次開發(fā)的全流程一體化遙感應(yīng)用服務(wù)平臺。為用戶提供 “云+端” 、“平臺+SaaS”應(yīng)用模式,充分發(fā)揮高效能、低門檻、低成本、易獲取等優(yōu)勢,挖掘海量遙感數(shù)據(jù)價值、助力遙感應(yīng)用產(chǎn)業(yè)化發(fā)展。
? ?PIE-Engine Studio遙感計算云服務(wù)作為其中重要的一部分,集海量地理空間數(shù)據(jù)、交互式編程分析、實時分布式計算和數(shù)據(jù)可視化為一體,面向遙感科研工作人員、教育工作者、工程技術(shù)人員以及相關(guān)行業(yè)用戶,通過調(diào)用海量數(shù)據(jù)和計算資源進行大規(guī)模地理數(shù)據(jù)實時計算分析,供用戶在任意尺度上研究算法模型并采取交互式編程驗證,實現(xiàn)快速探索地表特征、發(fā)現(xiàn)變化規(guī)律、分析發(fā)展趨勢。
? ?目前,首篇剖析PIE-Engine Studio架構(gòu)及計算流程的學術(shù)論文“時空遙感云計算平臺PIE-Engine Studio的研究與應(yīng)用”,發(fā)表在《遙感學報》2022年第2期,彌補了國內(nèi)長期缺失GEE競品的局面,快速聚攏遙感行業(yè)用戶資源,加速推動中國遙感技術(shù)生態(tài)圈的形成與發(fā)展。
時空遙感云計算平臺PIE-Engine Studio的研究與應(yīng)用
程偉1,錢曉明1,李世衛(wèi)1,馬海波1,劉東升1,劉富乾1,梁軍龍1,胡舉1? ? ?1.?航天宏圖信息技術(shù)股份有限公司, 北京 100195摘要:隨著遙感大數(shù)據(jù)時代的到來,為快速處理和分析海量遙感數(shù)據(jù),國內(nèi)外涌現(xiàn)了眾多遙感云計算平臺,使得全球尺度、長時間序列遙感數(shù)據(jù)的快速分析和應(yīng)用成為可能。本文在分析國內(nèi)外遙感云計算平臺現(xiàn)狀的基礎(chǔ)上,針對大數(shù)據(jù)時代國內(nèi)缺少功能完備的遙感云計算平臺,且國外遙感云計算平臺對國產(chǎn)衛(wèi)星數(shù)據(jù)支持不足等問題,基于容器云技術(shù),構(gòu)建了包含國產(chǎn)衛(wèi)星數(shù)據(jù)且集數(shù)據(jù)、算力和技術(shù)于一體的時空遙感云計算平臺PIE(Pixel Information Expert)-Engine Studio,實現(xiàn)了腳本驅(qū)動的遙感數(shù)據(jù)的按需獲取以及海量數(shù)據(jù)的快速處理。采用Landsat 8數(shù)據(jù),以生長季植被指數(shù)NDVI(Normalized Difference Vegetation Index)的計算為例,對比了本平臺與GEE(Google Earth Engine)的數(shù)據(jù)處理能力。結(jié)果表明,由于計算資源的限制,本平臺的計算和導(dǎo)出時間均比GEE稍長,但計算結(jié)果的空間分布一致,其中近68%的值均分布在(0.48,0.77),且二者差值的95.33%集中在(-0.13,0.13),結(jié)果較為可信。因此,本文構(gòu)建的基于共享、開放的中國自主遙感云計算平臺PIE-Engine Studio,可為地球科學領(lǐng)域的研究提供數(shù)據(jù)和算力支持,將有助于推進中國遙感云計算平臺的發(fā)展進程,推動國產(chǎn)衛(wèi)星數(shù)據(jù)在云計算平臺上的應(yīng)用。
關(guān)鍵詞:遙感? ? 大數(shù)據(jù)? ? 遙感云計算平臺? ? 分布式存儲? ? 并行計算
引文格式:程偉,錢曉明,李世衛(wèi),馬海波,劉東升,劉富乾,梁軍龍,胡舉.2022.時空遙感云計算平臺PIE-Engine Studio的研究與應(yīng)用.遙感學報,26(2):335-347 DOI:10.11834/jrs.20211248
Cheng W, Qian X M, Li S W,Ma H B, Liu D S, Liu F Q, Liang J L and Hu J. 2022. Research and application of PIE-Engine Studio for spatiotemporal remote sensing cloud computing platform. National Remote Sensing Bulletin, 26(2):335-347 DOI:10.11834/jrs.20211248
閱讀全文:https://dx.doi.org/10.11834/jrs.20211248
01 引言
隨著對地觀測技術(shù)的發(fā)展,海量遙感數(shù)據(jù)不斷涌現(xiàn),遙感大數(shù)據(jù)時代已經(jīng)到來(李德仁 等,2014;李德仁,2016;付東杰 等,2021)。海量數(shù)據(jù)的存儲、處理與共享對計算機性能提出了較高要求,需要大量的存儲與計算資源。云計算基于“按需分配”和“共享資源”的理念,為海量遙感數(shù)據(jù)的存儲、快速處理和分析提供了可能,遙感專用的云計算平臺也應(yīng)運而生(付東杰 等,2021)。遙感云計算平臺的出現(xiàn)直接改變了傳統(tǒng)遙感數(shù)據(jù)的處理和分析模式(數(shù)據(jù)下載、存儲和運算均在本地進行,數(shù)據(jù)處理分析依賴本地運行的專業(yè)軟件或代碼),降低了遙感數(shù)據(jù)的使用門檻,極大地提高了運算效率,使得全球尺度、高分辨率、長時間序列數(shù)據(jù)的快速分析和應(yīng)用成為可能,已成為研究土地利用、生態(tài)、環(huán)境和氣候變化等地學領(lǐng)域前沿問題的重要工具(董金瑋 等,2020)。
目前國際上主流的遙感云計算平臺以國外機構(gòu)或公司研發(fā)的平臺為主,如美國的谷歌地球引擎GEE(https://earthengine.google.com/[2021-04-29])(Moore和Hansen,2011)、美國航空航天局的NEX (NASA Earth Exchange)(https://www.nasa.gov/nex/[2021-04-29])(Nemani等,2010)、笛卡兒實驗室的Descartes Labs(https://www.descarteslabs.com/[2021-04-29])、亞馬遜的AWS(Amazon Web Services)(https://aws.amazon.com/cn/earth/[2021-04-29])、澳大利亞的數(shù)據(jù)立方體Data Cube(https://www.opendatacube.org/[2021-04-29])以及德國的CODE-DE(Copernicus Data and Exploitation Platform-DE)(https://code-de.org/[2021-04-29])。國內(nèi)遙感云計算平臺的建設(shè)也在快速推進中,如中國科學院的地球大數(shù)據(jù)挖掘分析系統(tǒng) EarthDataMiner(http://earthdataminer.casearth.cn/[2021-04-29])(Liu等,2020a),多家科技公司如阿里巴巴集團控股有限公司、深圳市騰訊計算機系統(tǒng)有限公司、北京市商湯科技開發(fā)有限公司、航天宏圖信息技術(shù)股份有限公司等也相繼投入到遙感云計算平臺的研發(fā)中。
在這些平臺中,以GEE(Gorelick等,2017)的應(yīng)用最為廣泛,在土地覆被/土地利用(Bastin等,2017;Ceccherini等,2020;Finer等,2018;Hansen等,2013,2020;Qin等,2019)、植被(Bastin等,2019;Bogard等,2019;Laskin等,2019;Liu等,2020b;Myers-Smith等,2020)、動物(Giezendanner等,2020;Hendershot等,2020;Joshi等,2016)、氣候變化(Chudley等,2019;Ryan等,2019;Tuckett等,2019;Venter等,2020)、城市(Liu等,2020c)、農(nóng)業(yè)(Burke和Lobell,2017)、災(zāi)害(Walter等,2019)、人類社會經(jīng)濟活動(Watmough等,2019;Weiss等,2018;Wu等,2020;Yeh等,2020)等地球科學領(lǐng)域中已得到典型應(yīng)用。
GEE歷經(jīng)近10 a發(fā)展,技術(shù)較為成熟,全球用戶達數(shù)百萬,在此領(lǐng)域已處于壟斷地位。然而美國政府于2020-01在出口管制條例上增加了“專門用于自動分析地理空間圖像的軟件”(Bureau of Industry and Security,Commerce,2020),提高了從美國向除加拿大之外的國家出口這些軟件的限制,而GEE正符合這個限制條件,可能會被限制使用。目前,GEE已提高了注冊門檻,國內(nèi)新用戶正常使用該平臺越來越難,并且使用過程及處理結(jié)果的下載受網(wǎng)絡(luò)情況影響較大。同時由于GEE沒有接入高分、風云等國產(chǎn)衛(wèi)星數(shù)據(jù),限制了國產(chǎn)遙感數(shù)據(jù)在云計算平臺上的應(yīng)用。此外,國內(nèi)的遙感云計算平臺目前主要以可視化和數(shù)據(jù)服務(wù)為主,不能滿足遙感行業(yè)對集數(shù)據(jù)、算力和技術(shù)于一體的遙感云計算平臺的迫切需要。在這樣的背景下,航天宏圖針對大數(shù)據(jù)時代遙感應(yīng)用在國內(nèi)面臨的問題,自主研發(fā)PIE-Engine Studio時空遙感云計算平臺,構(gòu)建共享數(shù)據(jù)、算法和計算資源的開放環(huán)境,實現(xiàn)遙感數(shù)據(jù)的按需獲取以及海量數(shù)據(jù)的快速處理,以應(yīng)對遙感大數(shù)據(jù)時代對信息高效、服務(wù)快速的迫切需求,加速推進中國遙感云計算平臺的發(fā)展進程。
02 PIE-Engine Studio系統(tǒng)架構(gòu)
? ?PIE-Engine Studio是一套基于容器云技術(shù)構(gòu)建的面向地球科學領(lǐng)域的時空遙感云計算平臺,其內(nèi)部包含自動管理的彈性大數(shù)據(jù)環(huán)境,集成了多源遙感數(shù)據(jù)處理、分布式資源調(diào)度、實時計算、批量計算和深度學習框架等技術(shù)。作為構(gòu)建在云計算之上的地理空間數(shù)據(jù)分析和計算平臺,PIE-Engine Studio通過結(jié)合海量遙感數(shù)據(jù)及計算資源,可供用戶在任意尺度上研究算法模型并采取交互式編程驗證,實現(xiàn)快速探索地表特征,發(fā)現(xiàn)變化和趨勢,為地球科學領(lǐng)域的研究提供開放的數(shù)據(jù)與彈性算力支持。
? ?PIE-Engine Studio的系統(tǒng)架構(gòu)如圖1所示,平臺提供了JavaScript和Python兩種版本的API,使用時在Web開發(fā)編輯器(JavaScript)或者Jupyter Notebook(Python)中編寫腳本,來處理分析各種影像、矢量數(shù)據(jù)。在API庫的支持下,RESTful API接口負責前端和后臺的通信,既可將前端腳本發(fā)送給后臺,又可將后臺計算結(jié)果返回給前端顯示,也可將處理結(jié)果加載到第三方應(yīng)用程序中進行展示或進一步分析。分布式數(shù)據(jù)計算服務(wù)負責對腳本進行編譯,對計算過程進行優(yōu)化,對計算計劃進行執(zhí)行并將計算結(jié)果通過API接口返回,完成海量數(shù)據(jù)的分布式計算。平臺提供的分布式數(shù)據(jù)計算服務(wù)分為兩種:(1)實時計算服務(wù),主要負責將計算結(jié)果實時顯示到前端地圖界面或者輸出窗口;(2)異步計算服務(wù),主要負責將數(shù)據(jù)以任務(wù)的形式導(dǎo)出。計算服務(wù)的執(zhí)行依賴于平臺分布式存儲的多源遙感數(shù)據(jù)以及對這些遙感數(shù)據(jù)進行處理的算子庫。分布式數(shù)據(jù)存儲與訪問服務(wù)負責多源數(shù)據(jù)的存儲與訪問,包括以瓦片形式存儲的影像數(shù)據(jù)、矢量要素數(shù)據(jù)、元數(shù)據(jù)以及用戶個人數(shù)據(jù)。遙感數(shù)據(jù)處理分析算子庫則包括了常用的遙感影像處理分析算法,通過這些算子,可以進行簡單的數(shù)據(jù)處理以及復(fù)雜的圖像運算。

Fig.1 The system architecture diagram of PIE-Engine Studio
? ?通過平臺主頁(https://engine.piesat.cn/engine-studio/[2021-09-01])可進入編程界面,并查看數(shù)據(jù)資源、示例代碼和文檔教程等入門資源。平臺也配備了免費的資源配額以上傳個人數(shù)據(jù)或保存計算結(jié)果(250 GB存儲空間,6000個文件),亦可根據(jù)需要對計算結(jié)果進行下載(60 GB/月免費下載流量)。另外,為保證計算資源的均衡分配,每次計算最多可免費調(diào)用2000景影像,導(dǎo)出結(jié)果大小限制為1010個像素。
03 分布式數(shù)據(jù)存儲與訪問
3.1 數(shù)據(jù)資源
截止到2021-09,平臺已上傳總數(shù)據(jù)量接近3.4 PB,包括國內(nèi)外100多種公共數(shù)據(jù)集(表1),近900萬景影像,并以7 TB/日數(shù)據(jù)量持續(xù)更新。這些數(shù)據(jù)集涵蓋了地球科學領(lǐng)域研究中常用的衛(wèi)星影像以及氣候、高程、土壤、土地覆蓋、人口等數(shù)據(jù)產(chǎn)品,還包括了全球國家、中國省/市/縣行政區(qū)劃等基礎(chǔ)矢量數(shù)據(jù)。所有數(shù)據(jù)經(jīng)過投影轉(zhuǎn)換、格式轉(zhuǎn)換等預(yù)處理,可隨時導(dǎo)入到代碼編輯器中進行處理與分析。同時,用戶可在資源目錄中上傳個人數(shù)據(jù),并根據(jù)需要與其他用戶分享。平臺數(shù)據(jù)集訪問地址為https://engine.piesat.cn/engine-studio/dataset[2021-09-01]。
表1 PIE-Engine Studio常用公共數(shù)據(jù)集
Table 1 Frequently used datasets in the PIE-Engine Studio data catalog



注:?? “—”表示僅空間上全覆蓋,此表統(tǒng)計時間截止到2021-09,平臺公共數(shù)據(jù)集持續(xù)更新中。
3.2? 分布式數(shù)據(jù)存儲
分布式數(shù)據(jù)存儲首先要解決分布在國內(nèi)外的海量多源遙感數(shù)據(jù)入庫問題。對于國外免費遙感衛(wèi)星數(shù)據(jù),通過建立在AWS上的中轉(zhuǎn)服務(wù)集群將數(shù)據(jù)實時同步到國內(nèi)云數(shù)據(jù)中心;國內(nèi)的遙感數(shù)據(jù)則直接傳輸?shù)皆茢?shù)據(jù)中心。數(shù)據(jù)入庫流程如圖2所示,首先對分布在云端的海量遙感數(shù)據(jù)根據(jù)數(shù)據(jù)集名稱、時間以及入庫區(qū)域等信息進行篩選,生成需要入庫的任務(wù)清單;之后將任務(wù)清單分配到不同的節(jié)點上并行執(zhí)行,對任務(wù)清單中的每一條數(shù)據(jù)標識其狀態(tài)信息,根據(jù)此標識采用分布式鎖的搶占式任務(wù)調(diào)度方式保證入庫數(shù)據(jù)的唯一性;最后將數(shù)據(jù)存儲到云數(shù)據(jù)中心。

Fig.2 The access process of distributed data
? ?為支持海量遙感影像數(shù)據(jù)快速顯示及高效計算,對影像數(shù)據(jù)建立影像金字塔。通過對影像重采樣,建立一系列不同分辨率的影像圖層,對每個圖層分別進行切片處理得到影像瓦片,每個瓦片是大小為256×256像素的無損壓縮數(shù)據(jù)塊,并按照全球統(tǒng)一編碼規(guī)則進行編碼。對編碼后的瓦片采用瓦片映射技術(shù),構(gòu)建瓦片之間的關(guān)聯(lián)關(guān)系,然后采用公有云的對象存儲技術(shù),實現(xiàn)影像金字塔瓦片數(shù)據(jù)的分布式存儲。
3.3? 分布式數(shù)據(jù)訪問
? ?為影像建立了金字塔之后,基于云原生分布式數(shù)據(jù)庫構(gòu)建影像數(shù)據(jù)集索引,便于通過腳本查詢和過濾所需的影像。平臺依據(jù)前端腳本代碼傳入的影像ID、當前交互區(qū)域的可見范圍、當前地圖的縮放級別等參數(shù)篩選出對應(yīng)的影像瓦片,然后對這些瓦片進行處理。采用這種分塊瓦片計算的處理方式,執(zhí)行過程耗時短,效率高。由于獲取的是多個單張瓦片,所以也便于將后臺計算服務(wù)做分布式部署,通過分布式操作使得對海量數(shù)據(jù)的實時計算更為高效。
? ?此外,為使用戶輕松搜索并獲取自己想要的數(shù)據(jù),平臺把相同傳感器拍攝的同一類型的數(shù)據(jù)組合在一起,成為數(shù)據(jù)集(collection)的形式(如:Landsat 8 TOA數(shù)據(jù)集)。該種方式提供了快速過濾和排序功能,用戶可以很容易地搜索數(shù)百萬張單獨的影像,以選擇特定空間、時間或其他條件的數(shù)據(jù)。例如,可以輕松地從Landsat 8 TOA數(shù)據(jù)集中查詢?nèi)A北區(qū)域2020年云量小于10%的數(shù)據(jù)并顯示在地圖界面上。
04 遙感數(shù)據(jù)處理算子
? ?PIE-Engine Studio提供了針對數(shù)值、數(shù)組/矩陣、影像、矢量、集合、列表、字典等多種對象類型的操作,包含機器學習分類算法和部分衛(wèi)星的專用算法如氣溶膠光學厚度反演、PM 2.5反演、海表溫度提取、艦船檢測等,共計300多個算子,支持JavaScript和Python兩種語言的訪問方式,具體算子如表2所示。
表2 PIE-Engine Studio支持的算子
Table 2 PIE-Engine Studio function summary



注:此表統(tǒng)計時間截止到2021-09,平臺算子持續(xù)更新中。
? ?上述算子根據(jù)復(fù)雜度的不同可分為簡單算子和復(fù)雜算子,其中簡單算子是指僅通過單塊影像計算的算法,如波段運算或拉伸顯示等。復(fù)雜算子是指需要統(tǒng)計整體影像的算法,如統(tǒng)計極值、直方圖或計算面積等。
? ?一個算子由類型、名稱和參數(shù)列表3部分組成,其中類型用來標識是簡單算子(Simple)還是復(fù)雜算子(Complex),名稱即該算子的函數(shù)名,參數(shù)列表指該算子的參數(shù)信息。比如執(zhí)行影像加法運算的算子:addImage(imageA,imageB),其類型為Simple,名稱為addImage,包含兩個參數(shù),分別為imageA和imageB。
表3 PIE-Engine Studio和GEE計算結(jié)果對比
Table 3 Comparison of results calculated by Pie-Engine Studio and GEE

? ?使用時既可單獨調(diào)用某個算子實現(xiàn)相應(yīng)的功能,如用算子Image加載指定的影像:var image = pie.Image("LC08/01/T1/LC08_121031_20170101"),又可通過對這些算子進行組合調(diào)用,來實現(xiàn)復(fù)雜的數(shù)據(jù)查詢、計算、分析和顯示等功能。如算子Image和算子select結(jié)合可實現(xiàn)對特定影像的波段篩選功能:?var image = pie.Image("LC08/01/T1/LC08_121031_20170101").select("B1");
? ?平臺所有算子均采用C++語言實現(xiàn),具有較高的計算效率。隨著遙感數(shù)據(jù)的擴展和用戶需求的不斷豐富,會對新的算子提出需求,為此平臺支持多語言的算子擴展機制,包括JavaScript、Python和C++。
05 分布式數(shù)據(jù)計算
? ?PIE-Engine Studio運行的概略流程是:首先在前端編寫動態(tài)腳本(JavaScript/Python),描述遙感影像的計算過程;點擊運行按鈕,這些JavaScript/Python代碼自動構(gòu)建初步的鏈式結(jié)構(gòu)調(diào)用語法樹(即樹結(jié)構(gòu)的調(diào)用依賴關(guān)系);然后通過后臺的計算過程優(yōu)化以過濾無效計算內(nèi)容,生成并緩存所需數(shù)據(jù)結(jié)果的執(zhí)行計劃;接著通過調(diào)度中心將計算任務(wù)分配給多個節(jié)點上的計算服務(wù);最終通過特定的前端請求或者算子(print、addLayer、Export)觸發(fā)實際的計算,以分布式方式完成計算流程,得到可視化圖層或者結(jié)果文件返回給前端界面。這一流程如圖3所示。

Fig.3 The calculation flow of PIE-Engine Studio
5.1計算腳本編譯
PIE-Engine Studio的執(zhí)行是腳本驅(qū)動的,腳本是在Web編輯器中編寫或者通過RESTful API接口提交的文本內(nèi)容,因此需要轉(zhuǎn)換為與后臺算子庫匹配的C++計算指令才可在眾多服務(wù)器上并行執(zhí)行。為達到這一目的,平臺設(shè)計了一套鏈式結(jié)構(gòu)調(diào)用語法樹以實現(xiàn)腳本語言的編譯,語法樹中的節(jié)點是數(shù)據(jù)對象或者預(yù)定義的算子,后期的計算過程優(yōu)化和計算計劃生成均依賴這個樹結(jié)構(gòu)。
PIE-Engine Studio接收到動態(tài)腳本后,首先識別計算的最終目標對象,對于沒有計算目標的腳本(如僅操作前端UI部件)則直接終止整個計算過程;對于計算目標明確的腳本,則執(zhí)行計算腳本編譯的任務(wù),生成鏈式結(jié)構(gòu)調(diào)用語法樹,并通過觸發(fā)計算的算子確定輸出結(jié)果的形式。
(1)單個算子的編譯。單個算子的編譯是通過前端腳本代碼對單個算子進行構(gòu)造,獲取算子的類型、名稱以及參數(shù)列表,實現(xiàn)該算子的語法樹描述信息。
(2)組合算子的編譯。對于鏈式調(diào)用的組合算子,首先前端通過算子類型、名稱和參數(shù)列表對每個算子進行構(gòu)造,得到相應(yīng)的語法樹描述信息;然后根據(jù)算子鏈式調(diào)用順序把前一個算子的描述信息作為后一個算子的輸入?yún)?shù),依次類推構(gòu)建組合算子的語法樹描述信息。
5.2 計算過程優(yōu)化
為實現(xiàn)海量遙感數(shù)據(jù)批量處理,PIE-Engine Studio計算邏輯十分復(fù)雜,為提高運算效率,對計算過程進行優(yōu)化尤為重要。首先平臺根據(jù)語法樹的計算目標,構(gòu)建計算執(zhí)行路徑的有向無環(huán)圖DAG(Directed Acyclic Graph),關(guān)于DAG的構(gòu)建過程可參考Gorelick等(2017)的描述。然后采用多種技術(shù)對DAG進行優(yōu)化,主要包括:通過計算路徑剪枝,移除不必要的計算過程;通過謂詞下推,把對影像的過濾條件盡可能下推至靠近數(shù)據(jù)源的位置,從源頭減少計算所需的數(shù)據(jù)量;通過重復(fù)對象合并,將不同計算分支上的相同對象合并,避免重復(fù)計算。在代碼層次實現(xiàn)這些優(yōu)化,可有效提高平臺執(zhí)行速度和資源利用效率。最后根據(jù)優(yōu)化后的DAG生成計算計劃并緩存等待調(diào)用。
5.3 計算計劃執(zhí)行
(1)計算任務(wù)解析。計算計劃生成后需要轉(zhuǎn)換為可執(zhí)行的C++調(diào)用函數(shù)才可與后臺算子庫匹配,從而根據(jù)算子名稱調(diào)用算子庫中對應(yīng)算子執(zhí)行相應(yīng)的計算。計算服務(wù)通過解析語法樹中每個變量包含的表達式,獲取表達式對應(yīng)的具體內(nèi)容,然后通過遞歸方式逐步獲取變量最終的C++調(diào)用函數(shù)。
解析單個算子的過程是通過算子的語法樹描述信息,解析出算子類型、名稱和參數(shù)列表,從而構(gòu)建該算子的調(diào)用函數(shù)。解析鏈式調(diào)用的組合算子則先識別各個算子的嵌套關(guān)系。通過解析外部算子的參數(shù),判斷該算子的參數(shù)是值還是其他算子的描述信息。如果是值則對該參數(shù)直接賦值,如果是其他算子的描述信息則按照單個算子的解析過程構(gòu)建該算子的C++調(diào)用函數(shù)。
PIE-Engine Studio采用的是按需計算,也就是明確調(diào)用了上下文時程序才開始進行計算。例如只有在將計算結(jié)果進行輸出(print、Export)或者添加到交互地圖上(addLayer)時,計算服務(wù)才會依據(jù)前端傳入的影像ID、當前交互區(qū)域的可見范圍、當前地圖的縮放級別等,查找所有對應(yīng)的瓦片,根據(jù)計算計劃動態(tài)計算當前可見區(qū)域?qū)?yīng)的結(jié)果。或者如果計算結(jié)果是另外一個計算過程的輸入,計算服務(wù)會對計算結(jié)果自動重新采樣,使得兩者可以正常運算,整個過程完全不需要用戶控制分辨率。
在處理緩存問題上,平臺為節(jié)省計算資源,對已經(jīng)計算過的對象限時緩存(5 min),如果需要計算的對象存在緩存則直接提取計算結(jié)果替換對象的整個計算過程。這種方式既避免了重復(fù)計算降低效率,又避免了長期無人訪問的無效緩存占用存儲空間。
(2)計算任務(wù)調(diào)度。平臺針對不同級別的任務(wù)提供了不同的調(diào)度策略,主要有輪詢調(diào)度(Round Robin)、資源利用均衡、請求數(shù)均衡3種策略。其中輪詢調(diào)度算法的主要思想是把用戶每次提交的任務(wù)請求,依次分配到內(nèi)部的所有服務(wù)器中,不關(guān)心每臺服務(wù)器的當前連接數(shù)和響應(yīng)速度。其他兩種方式的目標分別是在各個計算服務(wù)器的計算資源和請求數(shù)之間取得平衡。當計算節(jié)點接收到調(diào)度的計算請求后,根據(jù)請求中的腳本唯一標識到緩存中檢索對應(yīng)的執(zhí)行計劃并完成實際的計算。
(3)并行計算策略。實時計算任務(wù)執(zhí)行時,其總執(zhí)行計劃與算子進行綁定,實現(xiàn)多線程、并行IO的計算方式。針對復(fù)雜度不同的算子,采取的并行計算策略也不一樣。對于簡單算子,僅通過單塊影像即可計算,采用直接計算的方式;對于復(fù)雜算子,即需要統(tǒng)計整體影像的算法,采用MapReduce計算的方式;對于更復(fù)雜的運算,比如濾波運算,需要先對單塊影像的邊界進行擴充,再采用MapReduce的計算方式。
5.4 計算結(jié)果返回
對于實時計算服務(wù),直接將后臺計算結(jié)果返回前端地圖界面顯示,同時將需要輸出的結(jié)果顯示在輸出窗口中。
對于異步計算服務(wù),則生成相關(guān)導(dǎo)出任務(wù),然后在后臺異步執(zhí)行直到任務(wù)導(dǎo)出結(jié)束,相關(guān)結(jié)果會根據(jù)用戶的設(shè)置導(dǎo)出到云盤或資源目錄中。
06 應(yīng)用案例
PIE-Engine Studio和GEE都屬于遙感云計算平臺,兩者在設(shè)計理念、開發(fā)方式、提供的服務(wù)等方面具有高度相似性,作為中國自主研發(fā)的遙感云計算平臺,為在算力上與GEE作對比,采用Landsat 8 TOA數(shù)據(jù)集,以整體計算中國區(qū)域生長季植被指數(shù)均值為例來展示PIE-Engine Studio(以下簡稱本平臺)的數(shù)據(jù)處理能力。2020-05—2020-08,全國共有3366景Landsat 8 TOA數(shù)據(jù),數(shù)據(jù)總量約3 TB。計算流程為:(1)加載Landsat 8 TOA數(shù)據(jù)集;(2)做去云處理;(3)計算歸一化植被指數(shù)NDVI;(4)影像鑲嵌裁剪得到中國區(qū)域生長季植被指數(shù)均值。對比結(jié)果歸納如表3所示。
6.1 計算時間的對比
在計算時間上,GEE需要0.5 min左右,而本平臺則需1—2 min,主要原因是GEE背靠谷歌公司,具有強大的后臺計算服務(wù)做支撐;而本平臺囿于現(xiàn)階段在公有云上的投入,可供調(diào)用的計算服務(wù)有限,因此在計算資源上與GEE存在差距,導(dǎo)致目前本平臺的計算時間比GEE稍長。
6.2 計算結(jié)果的對比
為進一步比較本平臺與GEE的計算結(jié)果,以北京市為研究區(qū),將兩個平臺2020年生長季NDVI的計算結(jié)果均以30 m分辨率導(dǎo)出,GEE的導(dǎo)出任務(wù)執(zhí)行時間為6 min,而本平臺則需9 min。計算結(jié)果的空間分布分別如圖4(a)、圖4(b)所示,二者差值如圖4(c)所示。
從空間分布上看,本平臺計算結(jié)果與GEE在空間分布上趨勢一致,最大最小值也較為接近;在大部分區(qū)域,二值差值較小,僅在建筑密集區(qū)差值波動較大。造成這種現(xiàn)象的原因主要有兩個:
(1)兩個平臺存儲Landsat 8 TOA時采用的數(shù)據(jù)類型不同。GEE采用的是Float32數(shù)據(jù)類型,而本平臺為減少存儲量及方便數(shù)據(jù)壓縮,采用的是Int16類型(比例因子為0.0001)。數(shù)據(jù)類型的不同導(dǎo)致同一像素的數(shù)據(jù)精度不同,由波段運算得到的結(jié)果存在差別,但由圖4可以看出,這種細微差別對計算結(jié)果的空間分布趨勢未造成較大影響。

Fig.4 The spatial distribution of mean NDVI in Beijing in 2020
? (2)兩個平臺導(dǎo)出的數(shù)據(jù)在相同位置處存在像素錯位。本平臺在內(nèi)部統(tǒng)一采用Web Mercator (EPSG:3857)投影,在導(dǎo)出時,根據(jù)前端設(shè)置的分辨率,對導(dǎo)出數(shù)據(jù)最接近該分辨率的瓦片級別進行重采樣,然后進行導(dǎo)出。在GEE中可對導(dǎo)出的數(shù)據(jù)進行坐標系設(shè)置,默認為WGS1984(EPSG:4326)地理坐標系,當將導(dǎo)出分辨率設(shè)置為30 m時,在此坐標系下實際導(dǎo)出的數(shù)據(jù)分辨率比30 m要大(0.00026949459°≈33.78523056294 m);當設(shè)置為EPSG:3857時,實際導(dǎo)出的數(shù)據(jù)分辨率為30 m。但由于重采樣的原因,兩個平臺導(dǎo)出的數(shù)據(jù)在相同位置處存在錯位,像素值也不相同。這種錯位在建筑區(qū)比較明顯(圖4(c)),原因是建筑區(qū)像素間值差別較大,錯位帶來的影響也就大;而在邊遠山區(qū),下墊面比較均一,像素位置不重合帶來的影響較小。
? ?分別統(tǒng)計兩個平臺導(dǎo)出結(jié)果及二者差值的直方圖,結(jié)果如圖5所示。可以看出兩個平臺導(dǎo)出結(jié)果的直方圖分布趨勢比較一致,分別有67.87%(本平臺)和67.72%(GEE)的值分布在(0.48,0.77)。從兩個平臺計算結(jié)果差值的直方圖(圖5(c))上可以看出,95.33%的值都集中在(-0.13,0.13),因此從整體上看,本平臺的計算結(jié)果較為可信。

Fig.5 The histogram of spatial distribution of mean NDVI in Beijing in 2020
? ?此外,在導(dǎo)出時間方面,由于兩個平臺導(dǎo)出文件的數(shù)據(jù)類型并不相同,本平臺默認導(dǎo)出的類型是Float64類型,GEE是Float32類型。理論上Float64類型占用的空間是Float32的2倍,但由于本平臺未對導(dǎo)出數(shù)據(jù)進行壓縮,實際數(shù)據(jù)大小約為GEE的4倍。因此除服務(wù)器資源的限制外,本平臺導(dǎo)出的文件較大也會導(dǎo)致導(dǎo)出時間延長。
07?結(jié)論
在遙感大數(shù)據(jù)時代背景下,基于共享、開放的中國自主遙感云計算平臺PIE-Engine Studio的研究與開發(fā),將有助于推進中國遙感云計算平臺的進展,提升國際影響力。與國外相比,目前中國的遙感云計算平臺尚處于起步階段,在數(shù)據(jù)、計算資源、算子、應(yīng)用領(lǐng)域及智能化等方面尚存在不足,未來會進一步加大公有云的投入,擴充計算資源;繼續(xù)研發(fā)新的算子,完善平臺功能;持續(xù)入庫衛(wèi)星數(shù)據(jù),豐富數(shù)據(jù)資源;加強院校合作,拓展應(yīng)用領(lǐng)域;融合深度學習技術(shù),提高智能化水平。但將國產(chǎn)衛(wèi)星數(shù)據(jù)納入遙感云計算平臺,會讓更多的用戶參與和使用中國數(shù)據(jù),推動國產(chǎn)衛(wèi)星數(shù)據(jù)在云計算平臺上的應(yīng)用,在國內(nèi)地球科學領(lǐng)域研究中將發(fā)揮重要作用,使得中國遙感云計算平臺具有獨特優(yōu)勢。隨著云計算技術(shù)的發(fā)展以及人類進一步認識地球的需要,遙感云計算平臺將得到更多的應(yīng)用和發(fā)展,為更深入理解地學規(guī)律,實現(xiàn)人類社會可持續(xù)發(fā)展提供強大的科學支撐。