徐小迪,孟令奎,張 文
(武漢大學(xué)遙感信息工程學(xué)院,湖北 武漢 430072)
地表水資源是人類在生產(chǎn)生活中的重要自然要素,隨著氣候變化及人類社會發(fā)展,地表水體呈現(xiàn)出一系列問題,如降雨量變化、水土流失及洪澇災(zāi)害等,使湖泊、河流等生態(tài)系統(tǒng)出現(xiàn)問題。隨著水資源危機的加劇,人類生產(chǎn)生活受到影響,因此統(tǒng)一而行之有效的水資源管理方案十分重要[1]。
水文水資源信息是水資源管理的基礎(chǔ),我國長期重視水文水資源資料的整理工作:1986 年起首批建設(shè)完成的國家級數(shù)據(jù)庫群就包含國家水文數(shù)據(jù)庫;2000 年數(shù)據(jù)庫內(nèi)各主要流域及省級行政區(qū)所關(guān)聯(lián)的節(jié)點已經(jīng)基本建設(shè)完畢,但存在水資源監(jiān)測數(shù)據(jù)標(biāo)準(zhǔn)化程度不一,數(shù)據(jù)源不完整,跨平臺、領(lǐng)域數(shù)據(jù)共享較難等問題;2013 年,國家發(fā)布了第1 次水利普查公報;2018 年,全國水網(wǎng)數(shù)據(jù)庫開始投入使用,發(fā)布了包含河流、湖泊、水庫等 333 萬余個水利實體的數(shù)據(jù)信息。水文和水網(wǎng)數(shù)據(jù)庫存儲的數(shù)據(jù)多為靜態(tài)數(shù)據(jù),或更新周期較長,在需要較強現(xiàn)勢性的數(shù)據(jù)維護(hù)及動態(tài)性監(jiān)測方面的應(yīng)用中,數(shù)據(jù)匹配及管理難以滿足實際應(yīng)用需求。遙感手段作為廣泛大量獲取水資源信息的途徑之一,能夠全天時、全天候?qū)Φ乇硭Y源進(jìn)行大面積監(jiān)測,而且采集數(shù)據(jù)手段多樣化,相較于傳統(tǒng)地表監(jiān)測手段,具有限制少、更新快、周期短、同步性高、數(shù)據(jù)準(zhǔn)確性好的優(yōu)點,使用遙感手段對地表進(jìn)行監(jiān)測能夠為水資源的動態(tài)監(jiān)測及多維度分析提供便利。
同時,在水資源監(jiān)測管理方面,2016 年國家水資源監(jiān)控能力建設(shè)項目通過驗收,能夠?qū)崿F(xiàn)全國范圍內(nèi)的水資源監(jiān)控,但是水資源遙感數(shù)據(jù)的整體使用方面存在體量大、結(jié)構(gòu)復(fù)雜、種類繁多等特點。且遙感影像處理方面由于算法功能和服務(wù)接口的不斷換代,存在數(shù)據(jù)與應(yīng)用共享不足,頂層架構(gòu)規(guī)劃設(shè)計、各類數(shù)據(jù)服務(wù)不統(tǒng)一,以及通信協(xié)議不一等特點,導(dǎo)致數(shù)據(jù)存儲、管理及信息提取等相應(yīng)服務(wù)的集成存在困難[2]。因此在實際生產(chǎn)中,如何統(tǒng)一訪問遙感數(shù)據(jù),并有效集成異構(gòu)遙感算法服務(wù),提高用戶使用效率,成為一個重要的問題。在“互聯(lián)網(wǎng) +”、大數(shù)據(jù)和網(wǎng)絡(luò)強國戰(zhàn)略的新時代背景下,隨著水利部“以水利信息化帶動水利現(xiàn)代化”指導(dǎo)思想的提出,水利信息化面臨新的機遇與挑戰(zhàn)[3]。為彌補水資源遙感監(jiān)測方面的不足,推動水利信息化建設(shè),有效進(jìn)行水資源監(jiān)測數(shù)據(jù)的管理,建立一個面向大數(shù)據(jù)的,能夠提供多源異構(gòu)數(shù)據(jù)及對應(yīng)服務(wù)融合功能的水資源遙感監(jiān)測平臺(以下簡稱監(jiān)測平臺)是十分必要的。面向異構(gòu)服務(wù)的監(jiān)測平臺的研究與建設(shè)能夠解決多個系統(tǒng)之間的信息共享及服務(wù)應(yīng)用的問題,避免水資源遙感監(jiān)測信息孤島問題的產(chǎn)生。
隨著遙感數(shù)據(jù)體系的不斷發(fā)展和完善,水資源遙感數(shù)據(jù)呈現(xiàn)多源化的發(fā)展趨勢,對于相應(yīng)數(shù)據(jù)的處理方法也有所不同,而現(xiàn)階段水利信息化建設(shè)也對水資源遙感數(shù)據(jù)處理與業(yè)務(wù)應(yīng)用算法提出新的要求。面對多源異構(gòu)的水資源遙感監(jiān)測數(shù)據(jù)及算法服務(wù),構(gòu)建一個能夠?qū)λY源數(shù)據(jù)進(jìn)行高效存儲、整合、處理、分析及應(yīng)用的監(jiān)測平臺是必然的需求。監(jiān)測平臺的總體架構(gòu)如圖1 所示。
圖1 監(jiān)測平臺總體架構(gòu)
監(jiān)測平臺主要有以下 4 層構(gòu)成:
1)基礎(chǔ)設(shè)施層。基礎(chǔ)設(shè)施層主要包含支持系統(tǒng)運行的各類軟硬件設(shè)備,硬件設(shè)備主要包括存儲、網(wǎng)絡(luò)等設(shè)備,軟件主要包含底層的支撐軟件(如操作系統(tǒng)、數(shù)據(jù)庫及各類存儲管理軟件等)、中間件,以及各類遙感及數(shù)據(jù)處理專業(yè)軟件(如 ArcGIS,ENVI,ERDAS 等)?;A(chǔ)設(shè)施層為整個平臺提供網(wǎng)絡(luò)及軟硬件的保障。
2)數(shù)據(jù)層。數(shù)據(jù)層主要實現(xiàn)對遙感、地面實測、平臺生成各類產(chǎn)品等數(shù)據(jù)的存儲及管理,同時通過各種接口向用戶提供數(shù)據(jù)或產(chǎn)品服務(wù)。
3)應(yīng)用層。應(yīng)用層主要包括組件和子系統(tǒng),組件面向用戶及數(shù)據(jù)庫中的數(shù)據(jù),提供基礎(chǔ)的影像及數(shù)據(jù)處理業(yè)務(wù),包括但不限于影像處理、管理及基礎(chǔ)產(chǎn)品(如 DEM 和 DOM 等中間產(chǎn)品)制作。業(yè)務(wù)模塊在共性組建的基礎(chǔ)之上,進(jìn)行各類水資源要素專題產(chǎn)品的生產(chǎn)及使用,主要包括地表水體產(chǎn)品生產(chǎn)、地下水監(jiān)測、水循環(huán)要素反演等功能,通過中間件進(jìn)行各組件的調(diào)用與組合,向各子系統(tǒng)傳遞數(shù)據(jù)及產(chǎn)品。
4)用戶層。在數(shù)據(jù)層及應(yīng)用層之上為用戶層,通過權(quán)限控制及登錄驗證,可使系統(tǒng)管理用戶、開發(fā)者及應(yīng)用用戶,在手機、筆記本電腦和其他設(shè)備上實現(xiàn)對水資源數(shù)據(jù)及相應(yīng)產(chǎn)品的訪問和使用,通過統(tǒng)一入口向各類用戶提供相應(yīng)的信息交互功能,滿足不同用戶的個性化使用需求。
在基礎(chǔ)設(shè)施層,由于水資源遙感監(jiān)測數(shù)據(jù)存在異構(gòu)性及海量性,因此對于底層存儲設(shè)備有較高的要求,可采用內(nèi)核虛擬機(KVM)及虛擬化軟件QEMU 對平臺的底層硬件資源進(jìn)行管理。KVM 工作于 Linux 內(nèi)核之中,可以直接與虛擬化管理程序進(jìn)行交互,運行效率與穩(wěn)定性較高[4]。
監(jiān)測平臺采用的 KVM 架構(gòu)如圖2 所示,其中Linux 內(nèi)核運行在 CPU 上,在操作系統(tǒng)運行時,KVM按需加載 Linux 內(nèi)核。QEMU 作為虛擬機模擬及監(jiān)管器,通過調(diào)用 libvirt(針對 KVM 進(jìn)行管理的工具和 API)提供的接口實現(xiàn)底層資源的分配及管理。
圖2 KVM 架構(gòu)圖
對于多源異構(gòu)的水資源遙感監(jiān)測數(shù)據(jù),監(jiān)測平臺建立了統(tǒng)一的管理體系,針對其非結(jié)構(gòu)化、多格式、多投影方式且尺度不一的特點,設(shè)計了多源數(shù)據(jù)的整合方案,實現(xiàn)水資源遙感數(shù)據(jù)的高效存儲及管理。同時構(gòu)建了多維數(shù)據(jù)立方體,以滿足對水資源遙感監(jiān)測數(shù)據(jù)的存儲與多維分析的需要,從而實現(xiàn)水資源遙感監(jiān)測數(shù)據(jù)的快速查詢分析與共享。
在多源數(shù)據(jù)整合過程中,監(jiān)測平臺根據(jù)數(shù)據(jù)類型及不同的訪問方式采用混合存儲機制存儲數(shù)據(jù)。對結(jié)構(gòu)化數(shù)據(jù),如水資源業(yè)務(wù)、各類矢量數(shù)據(jù),采用分布式關(guān)系型數(shù)據(jù)庫集群;對于監(jiān)測所需的水資源遙感影像等非結(jié)構(gòu)化數(shù)據(jù),使用分布式文件系統(tǒng)HDFS 進(jìn)行管理,從而有效提高遙感影像等大文件的讀入效率。
監(jiān)測平臺引入 Kylin 多維數(shù)據(jù)立方體的概念,對遙感監(jiān)測數(shù)據(jù)進(jìn)行高效集成管理。各類水資源信息被抽象為立方體的多個維度,如衛(wèi)星、傳感器、分辨率、網(wǎng)格、時間(月、旬、年等)、空間(省、市、縣等),以及各類水體監(jiān)測指數(shù)(NDVI,VHI等),從而對水資源信息進(jìn)行特定分析。
監(jiān)測平臺內(nèi)儲存的海量水資源遙感監(jiān)測數(shù)據(jù),在分析前須進(jìn)行影像預(yù)處理、水體指數(shù)提取、影像分類等多種業(yè)務(wù)流程處理,這些流程的處理效率及效果直接影響監(jiān)測的準(zhǔn)確性及時效性。監(jiān)測平臺使用 CPU/GPU 的高性能動態(tài)協(xié)同處理方式,根據(jù)衛(wèi)星影像數(shù)據(jù)處理算法及流程的內(nèi)在并行性,設(shè)計相應(yīng)的動態(tài)協(xié)同處理模式,處理各類水資源遙感業(yè)務(wù)流程。
監(jiān)測平臺采用集群系統(tǒng)及多核技術(shù)對各類業(yè)務(wù)流程進(jìn)行并行處理。根據(jù)各類業(yè)務(wù)流程處理的復(fù)雜程度,使用以下 2 類處理方法:1)單流程的遙感影像算法。進(jìn)行數(shù)據(jù)劃分后,使用整體并行模式進(jìn)行計算。2)流程較為復(fù)雜的水資源遙感數(shù)據(jù)處理流程。通過流程編排將復(fù)雜業(yè)務(wù)拆分成簡單業(yè)務(wù),增加算法控制單元實現(xiàn)算法的高效處理。監(jiān)測平臺內(nèi)部還搭建了基于開源深度學(xué)習(xí)框架 TensorFlow 的水利對象檢測與提取的基本架構(gòu),實現(xiàn)基于語義分割模型的高分影像水體提取和基于目標(biāo)檢測的高分影像水利設(shè)施要素識別等功能。
在異構(gòu)的水資源遙感監(jiān)測數(shù)據(jù)處理過程中,除結(jié)果輸出外,各種算法的數(shù)據(jù)輸入、實現(xiàn)方式及結(jié)構(gòu)也存在多樣化的問題。為使用戶能夠在監(jiān)測平臺上完成各類異構(gòu)服務(wù)的統(tǒng)一管理及調(diào)用,將基礎(chǔ)的及用戶個性化的業(yè)務(wù)流程封裝為服務(wù),用戶通過監(jiān)測平臺提供的統(tǒng)一數(shù)據(jù)接口,訪問多源異構(gòu)數(shù)據(jù)及算法,實現(xiàn)數(shù)據(jù)與用戶,用戶與用戶間的交互。
監(jiān)測平臺采用 B/S 架構(gòu)搭建,實現(xiàn)各項異構(gòu)水資源服務(wù)的統(tǒng)一注冊部署[5]。網(wǎng)站服務(wù)集成架構(gòu)圖如圖3 所示,主要包含用戶端前臺、服務(wù)器端后臺、服務(wù)元數(shù)據(jù)存儲數(shù)據(jù)庫及遠(yuǎn)程調(diào)用集群(Hadoop 集群)。
圖3 網(wǎng)站服務(wù)集成架構(gòu)圖
在監(jiān)測平臺中,用戶可以通過瀏覽器訪問平臺使用各項服務(wù)。圖3 中的服務(wù)器端后臺即為網(wǎng)站后臺,作為網(wǎng)站核心,對外向用戶前臺提供功能支持,對內(nèi)與服務(wù)元數(shù)據(jù)存儲數(shù)據(jù)庫及文件存儲和遠(yuǎn)程過程調(diào)用集群進(jìn)行交互,實現(xiàn)水資源異構(gòu)服務(wù)的發(fā)現(xiàn)和調(diào)用。注冊到平臺的各類異構(gòu)服務(wù)及其應(yīng)用環(huán)境,存儲于分布式集群中,其元數(shù)據(jù)存儲于MySQL 數(shù)據(jù)庫中,同時使用主從復(fù)制實現(xiàn)讀寫分離,以減小單服務(wù)器負(fù)載[6]。
根據(jù)水資源遙感監(jiān)測過程中對于影像數(shù)據(jù)的處理和各類異構(gòu)算法的調(diào)度等需求,以及各級部門、單位對于平臺的管理需求,按監(jiān)測平臺的主要功能分為 4 個功能模塊,具體功能設(shè)計如圖4 所示。
4 個功能模塊分析如下:
1)基礎(chǔ)模塊。面向水資源遙感監(jiān)測數(shù)據(jù)的基礎(chǔ)處理,基礎(chǔ)模塊包含影像數(shù)據(jù)的預(yù)處理模塊,主要為對影像數(shù)據(jù)的輻射及幾何校正。在處理過程中,主要面向 GF-1/2 衛(wèi)星產(chǎn)品,通過系統(tǒng)內(nèi)置的 DEM及 RPC 模型,對原始數(shù)據(jù)進(jìn)行校正處理,為后續(xù)業(yè)務(wù)提供基礎(chǔ)數(shù)據(jù)。同時水資源平臺針對各類水資源指數(shù)計算問題提供專門的計算模塊,對于NDVI和NDWI等常用的水體指數(shù),處理過程相似,但數(shù)據(jù)量及計算密度高,可通過 CUDA 高性能并行計算框架,實現(xiàn) CPU/GPU 協(xié)同處理,以提高生產(chǎn)效率。在水資源監(jiān)測中,各種水體及水利要素的提取,在監(jiān)測平臺內(nèi)由影像分類及深度學(xué)習(xí)等模塊完成。結(jié)合各種水體指數(shù),先通過 K-Means 及 ISODATA 等分類算法對水體對象進(jìn)行初步分析,再通過分布式深度學(xué)習(xí)庫 TensorFlow 對各類水體及水利要素進(jìn)行精細(xì)化分析及提取。
圖4 監(jiān)測平臺功能設(shè)計圖
2)業(yè)務(wù)模塊。業(yè)務(wù)模塊主要提供用戶向監(jiān)測平臺注冊的服務(wù),目前主要有天然水循環(huán)要素反演、水功能區(qū)監(jiān)測、用水效率分析等服務(wù)。通過統(tǒng)一的封裝與管理,監(jiān)測平臺使用者及用戶本身可以通過統(tǒng)一的數(shù)據(jù)接口對這些服務(wù)進(jìn)行調(diào)用,同時也可根據(jù)用戶個人需求,進(jìn)行不同服務(wù)間的組合與編排,通過控制服務(wù)輸入、輸出及中間產(chǎn)品的產(chǎn)生實現(xiàn)個性化水資源遙感監(jiān)測信息提取。
3)服務(wù)流程與編排模塊。服務(wù)流程與編排模塊主要基于 Activiti 工作流引擎與 GeoJModelBuilder 建立面向 SOA 的服務(wù)接口封裝方法,對于注冊到監(jiān)測平臺內(nèi)部的服務(wù),經(jīng)封裝后,成為 Activiti Engine 可以調(diào)用的服務(wù),并可通過流程編排及部署等,實現(xiàn)水資源遙感監(jiān)測業(yè)務(wù)的組合,進(jìn)行服務(wù)的按需使用。
4)運維模塊。運維模塊主要實現(xiàn)用戶及日志的管理,包含用戶注冊,權(quán)限及操作管理等功能。
監(jiān)測平臺通過虛擬化技術(shù)、數(shù)據(jù)高效存儲及高性能處理機制、服務(wù)一體化封裝機制,向各類水利行業(yè)用戶提供現(xiàn)勢性較強的水資源遙感監(jiān)測業(yè)務(wù)產(chǎn)品??傮w業(yè)務(wù)流程覆蓋數(shù)據(jù)提取、影像預(yù)處理、水資源信息提取、專題產(chǎn)品反演、分析服務(wù)等多個步驟,監(jiān)測平臺提供基于工作流引擎的任務(wù)編排功能,支持用戶自主設(shè)計水資源遙感數(shù)據(jù)分析流程,可以滿足不同用戶對于多服務(wù)協(xié)同處理及多任務(wù)并行的需求。在流程部署后,通過遙感并行算法、CPU/GPU 協(xié)同等并行處理方式,在底層虛擬資源池的支持下實現(xiàn)兼顧空間和時間覆蓋的海量影像快速計算分析,進(jìn)而得到水資源遙感監(jiān)測業(yè)務(wù)產(chǎn)品,用于生產(chǎn)實踐。總體業(yè)務(wù)流程圖如圖5 所示。
圖5 水資源遙感監(jiān)測平臺業(yè)務(wù)流程圖
監(jiān)測用戶可通過瀏覽器訪問平臺網(wǎng)站使用相關(guān)服務(wù)。當(dāng)前監(jiān)測平臺集成了數(shù)據(jù)、服務(wù)、用戶等模塊,建立了用戶與水資源遙感監(jiān)測產(chǎn)品的業(yè)務(wù)交互,添加了服務(wù)接口,支持用戶進(jìn)行服務(wù)的部署和調(diào)用,可實現(xiàn)服務(wù)注冊、查詢、調(diào)用、修改、審核、文件下載及用戶管理等功能操作。同時監(jiān)測平臺提供數(shù)據(jù)服務(wù)接口,初步支持地理要素元數(shù)據(jù)和專題產(chǎn)品的查詢及可視化展示功能,其中影像及矢量數(shù)據(jù)的界面展示主要使用 WebGIS 框架進(jìn)行開發(fā)[7],使用影像校正及NDWI指數(shù)計算服務(wù)對監(jiān)測平臺整體功能進(jìn)行展示。
數(shù)據(jù)管理模塊是實現(xiàn)監(jiān)測平臺功能的主要支撐部分,監(jiān)測平臺的眾多服務(wù)都是基于水資源遙感監(jiān)測數(shù)據(jù)提供的。
數(shù)據(jù)查詢主要通過 GoogleS2 空間查詢層進(jìn)行[8]。用戶可以通過影像的產(chǎn)品號、獲取時間、傳感器、云量等描述性信息,對遙感數(shù)據(jù)進(jìn)行查詢并訪問,通過查詢所得的遙感影像可以進(jìn)行水體提取及各類水體指數(shù)計算。
服務(wù)管理模塊主要實現(xiàn)服務(wù)的注冊、編排、查詢及調(diào)用功能,用戶可以對與水資源相關(guān)的具體服務(wù)進(jìn)行管理與應(yīng)用。監(jiān)測平臺將影像幾何校正及NDWI指數(shù)計算串聯(lián)形成業(yè)務(wù)流程,實現(xiàn)服務(wù)的注冊、查詢及流程的編排。在服務(wù)流程編排后,將服務(wù)部署到監(jiān)測平臺上,通過數(shù)據(jù)庫及硬件資源的支撐,運行整個NDWI指數(shù)計算流程,最終獲得產(chǎn)品,處理結(jié)果如圖6 所示。產(chǎn)品圖中呈現(xiàn)白色的部分即為水體,監(jiān)測平臺將影像正射校正及NDWI指數(shù)計算轉(zhuǎn)化為一體化流程,得到產(chǎn)品,從而進(jìn)行水體分布情況分析。
研究與實現(xiàn)的監(jiān)測平臺可以與國家水資源系統(tǒng)進(jìn)行有效的對接,解決國家水資源監(jiān)測方面國家主要部門與各級單位之間的數(shù)據(jù)交換與對接的問題。同時,監(jiān)測平臺能夠?qū)Y(jié)構(gòu)不一的各類水資源監(jiān)測數(shù)據(jù)處理算法進(jìn)行一體化的封裝及調(diào)用,最終實現(xiàn)水資源監(jiān)測數(shù)據(jù)與各類產(chǎn)品的統(tǒng)一、及時發(fā)布。面向?qū)崟r水利業(yè)務(wù)監(jiān)測,在滿足時效性及精確性的前提下,從水資源監(jiān)測數(shù)據(jù)的管理層面,面向異構(gòu)服務(wù)的業(yè)務(wù)化運行監(jiān)測平臺實現(xiàn)了不同尺度水資源遙感監(jiān)測數(shù)據(jù)管理及應(yīng)用,面向多級用戶發(fā)布多維、宏觀、統(tǒng)一的水資源監(jiān)測產(chǎn)品,能夠滿足各業(yè)務(wù)單位對水資源遙感監(jiān)測數(shù)據(jù)的共享及交換需求。目前,各個層級的水資源實時監(jiān)測及統(tǒng)計數(shù)據(jù)的共享機制還處于初步探索階段,不夠完善,因此監(jiān)測平臺能夠?qū)崿F(xiàn)的數(shù)據(jù)共享及服務(wù)調(diào)用還處于初級階段。今后,隨著水資源遙感監(jiān)測數(shù)據(jù)共享體系及服務(wù)的完善,監(jiān)測平臺的性能將會有更大的提升空間。
圖6 業(yè)務(wù)流程處理結(jié)果