專(zhuān)利名稱(chēng):面向數(shù)據(jù)密集型遙感圖像處理的泛型編程的框架編程方法
技術(shù)領(lǐng)域:
本發(fā)明涉及遙感數(shù)據(jù)處理領(lǐng)域,尤其涉及一種面向數(shù)據(jù)密集型遙感圖像處理的泛 型編程的框架編程方法。
背景技術(shù):
隨著遙感技術(shù)的快速發(fā)展,遙感影像數(shù)據(jù)正以每日TB級(jí)的速度增長(zhǎng),如何實(shí)時(shí)、 快速、高效地處理海量數(shù)據(jù)是當(dāng)前遙感數(shù)據(jù)應(yīng)用中面臨的重要挑戰(zhàn)?;诜植际讲⑿屑?的高性能并行計(jì)算技術(shù)的高速發(fā)展,為數(shù)據(jù)密集型遙感圖像處理提供了重要技術(shù)手段。目 前,多核集群系統(tǒng)正逐漸成為并行計(jì)算的主流。這種混合并行系統(tǒng)具有復(fù)雜的多層并行 結(jié)構(gòu)及日益龐大的系統(tǒng)規(guī)模,其并行程序開(kāi)發(fā)存在多級(jí)并行化問(wèn)題(節(jié)點(diǎn)間并行和多核并 行),涉及消息傳遞和共享內(nèi)存兩種模型,并行編程難度大。由于自動(dòng)并行編譯技術(shù)在短期 內(nèi)尚不成熟,對(duì)于數(shù)據(jù)密集型的海量遙感數(shù)據(jù)處理,遙感領(lǐng)域?qū)<以趹?yīng)對(duì)海量的多維遙感 影像數(shù)據(jù)和復(fù)雜遙感應(yīng)用算法的同時(shí),還必須具備充分的并行系統(tǒng)結(jié)構(gòu)知識(shí),進(jìn)行數(shù)據(jù)劃 分、并行任務(wù)分解、同步和進(jìn)程通信等并行算法設(shè)計(jì)與編程實(shí)現(xiàn),這對(duì)領(lǐng)域?qū)<业木幊棠芰?提出了很高的要求。因此,如何提供一種能簡(jiǎn)化并行程序開(kāi)發(fā)過(guò)程、提高并行程序開(kāi)發(fā)效率 的并行編程模型顯得非常迫切。
目前,在并行計(jì)算領(lǐng)域,常用的簡(jiǎn)化并行編程方法主要為Skeleton(框架)并行編 程方法,其基本思路是基于泛型編程思想對(duì)重復(fù)出現(xiàn)的并行計(jì)算模式進(jìn)行抽象,為問(wèn)題并 行求解提供通用的并行實(shí)現(xiàn)框架(Skeleton),從而擺脫瑣碎的并行細(xì)節(jié),可大大簡(jiǎn)化并行 編程。當(dāng)前已有許多Skeleton相關(guān)研究,包括SkeTo、QUAFF、P3L、Cole等,各應(yīng)用領(lǐng)域也 定義專(zhuān)用并行Skeleton,如Google用于分布式數(shù)據(jù)挖掘的MapReduce模型本質(zhì)上也是一個(gè) 專(zhuān)用Skeleton。然而,由于海量遙感數(shù)據(jù)處理應(yīng)用有其自身的特點(diǎn),如海量的多維遙感影像 數(shù)據(jù)計(jì)算與遙感影像數(shù)據(jù)在多維度上相關(guān)、數(shù)據(jù)處理流程復(fù)雜且處理流程的任務(wù)間存在計(jì) 算依賴(lài)等,這使得當(dāng)前已有的典型通用并行編程Skeleton無(wú)法直接用于海量遙感數(shù)據(jù)應(yīng) 用算法的并行編程中。因此,目前還沒(méi)有面向海量遙感數(shù)據(jù)處理的并行編程Skeleton相關(guān) 方法技術(shù)。發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問(wèn)題是克服現(xiàn)有的數(shù)據(jù)密集型遙感數(shù)據(jù)處理編程繁瑣、困難、 并行效率低的缺陷,提供一種基于算法Skeleton的面向海量遙感數(shù)據(jù)處理的并行編程模 型,該方法將泛型編程引入到遙感應(yīng)用算法的并行開(kāi)發(fā)中,在遙感算法的并行計(jì)算特點(diǎn)、并 行算法框架分析的基礎(chǔ)上,對(duì)海量遙感數(shù)據(jù)處理方法進(jìn)行Skeleton建模和抽象,建立數(shù)據(jù) 密集型遙感數(shù)據(jù)處理算法的并行編程范式。該方法能有效降低海量遙感數(shù)據(jù)處理的并行編 程難度,克服了傳統(tǒng)的遙感數(shù)據(jù)處理中對(duì)領(lǐng)域?qū)<揖幊棠芰σ蟾叩娜毕荨?br>
本發(fā)明的目的通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)一種面向數(shù)據(jù)密集型遙感圖像處理的泛型編程的框架編程方法,包括以下步驟1)在遙感數(shù)據(jù)處理算法的計(jì)算特點(diǎn)和并行算法框架分析的基礎(chǔ)上,對(duì)重復(fù)出現(xiàn)的公共 并行計(jì)算模式進(jìn)行建模,抽象出面向海量遙感數(shù)據(jù)處理的并行算法Skeleton,從同類(lèi)遙感 應(yīng)用算法的并行求解過(guò)程中提取并抽象出公共的并行算法框架Skeleton ;2)針對(duì)遙感影像數(shù)據(jù)的多波段圖像數(shù)據(jù)結(jié)構(gòu)(三維矩陣)、復(fù)雜地理信息數(shù)據(jù)結(jié)構(gòu)及大 數(shù)據(jù)規(guī)模等特性,研制分布式遙感影像數(shù)據(jù)模型RSData Templates ;3)在分布式遙感影像數(shù)據(jù)模型RSDataTemplates的基礎(chǔ)上,進(jìn)一步提出分布式遙感影 像數(shù)據(jù)模型(Dist_RSData)的泛型抽象和C++模板類(lèi)封裝;4)利用C++模板機(jī)制對(duì)各個(gè)并行算法Skeleton進(jìn)行Template封裝,并基于多核集群 系統(tǒng)平臺(tái)的MPI運(yùn)行時(shí)環(huán)境,對(duì)并行算法Skeleton的并行結(jié)構(gòu)在多核集群平臺(tái)的自動(dòng)映 射、計(jì)算任務(wù)劃分及子任務(wù)在計(jì)算節(jié)點(diǎn)間的自動(dòng)分配,并行算法框架及計(jì)算節(jié)點(diǎn)通信等并 行細(xì)節(jié)進(jìn)行預(yù)實(shí)現(xiàn);以及5)利用數(shù)據(jù)類(lèi)型模板中的分布式大規(guī)模遙感影像數(shù)據(jù)Dist_RSDataTemplate進(jìn)行大 規(guī)模遙感影像數(shù)據(jù)的多級(jí)數(shù)據(jù)劃分、跨節(jié)點(diǎn)數(shù)據(jù)分布,所述多級(jí)數(shù)據(jù)劃分,可調(diào)用自與應(yīng)用 算法相匹配的自定義數(shù)據(jù)劃分策略函數(shù)對(duì)大規(guī)模遙感影像數(shù)據(jù)進(jìn)行多級(jí)遞歸數(shù)據(jù)劃分(圖 像數(shù)據(jù)分塊與地理信息重新計(jì)算)。
進(jìn)一步的,采用并行文件系統(tǒng)提供遙感影像屋里數(shù)據(jù)塊的I/O節(jié)點(diǎn)分布信息指導(dǎo) 遙感影像劃分的數(shù)據(jù)邏輯分塊在計(jì)算節(jié)點(diǎn)間的映射,可在多節(jié)點(diǎn)、多核間進(jìn)行遙感影像數(shù) 據(jù)的多級(jí)數(shù)據(jù)分布,為并行Skeleton所處理的海量大規(guī)模復(fù)雜遙感影像數(shù)據(jù)提供復(fù)雜數(shù) 據(jù)結(jié)構(gòu)描述及數(shù)據(jù)分布和縫合機(jī)制,從而簡(jiǎn)化并行編程中繁瑣的復(fù)雜遙感數(shù)據(jù)結(jié)構(gòu)處理。
本發(fā)明的有益效果為為遙感應(yīng)用算法提供了并行編程范式,使得遙感應(yīng)用領(lǐng)域 技術(shù)人員,無(wú)需熟悉高性能計(jì)算平臺(tái)上基于機(jī)群的并行計(jì)算模型、也無(wú)需具備MPI并行編 程技術(shù)等與高性能并行計(jì)算相關(guān)的技術(shù)細(xì)節(jié),只需要套用模板的方式,便可實(shí)現(xiàn)遙感處理 算法的快速并行化,并達(dá)到較高的并行效率,有效降低海量遙感數(shù)據(jù)處理應(yīng)用的并行編程 難度,克服了傳統(tǒng)的遙感數(shù)據(jù)處理中對(duì)領(lǐng)域?qū)<揖幊棠芰σ蟾叩娜毕荨?br>
圖1為本發(fā)明實(shí)施例中并行編程模型的總體框架示意圖;圖2為本發(fā)明實(shí)施例中不同類(lèi)型的遙感計(jì)算的數(shù)據(jù)相關(guān)性分析;圖3為本發(fā)明實(shí)施例中局部相關(guān)類(lèi)算法(RS Farm-pipeline)Skeleton的并行結(jié)構(gòu)圖; 圖4為本發(fā)明實(shí)施例中遙感圖像畸變校正類(lèi)算法框架示意圖;圖5為本發(fā)明實(shí)施例中棋格劃分策略示意圖;圖6為本發(fā)明實(shí)施例中不規(guī)則數(shù)據(jù)劃分方法示意圖;圖7為本發(fā)明實(shí)施例中RS Feature Abstract Skeleton的并行結(jié)構(gòu);圖8為本發(fā)明實(shí)施例中遙感影像數(shù)據(jù)對(duì)象的數(shù)據(jù)組成示意圖;圖9為本發(fā)明實(shí)施例中遙感影像數(shù)據(jù)屬性數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)示意;圖10為本發(fā)明實(shí)施例中帶重疊區(qū)的遙感影像數(shù)據(jù)RSBlock示意圖;圖11為本發(fā)明實(shí)施例中分布式遙感影像數(shù)據(jù)模型Dist_RSData的數(shù)據(jù)劃分與分布 流程圖;圖12為本發(fā)明實(shí)施例中分布式遙感影像數(shù)據(jù)模型數(shù)據(jù)劃分流程圖;圖13為本發(fā)明實(shí)施例中分布式遙感影像數(shù)據(jù)模型數(shù)據(jù)分布示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例所述的一種面向數(shù)據(jù)密集型遙感圖像處理的泛型編程的框架編程 方法,包括以下步驟1)在遙感數(shù)據(jù)處理算法的計(jì)算特點(diǎn)和并行算法框架分析的基礎(chǔ)上,對(duì)重復(fù)出現(xiàn)的公共 并行計(jì)算模式進(jìn)行建模,抽象出面向海量遙感數(shù)據(jù)處理的并行算法Skeleton,從同類(lèi)遙感 應(yīng)用算法的并行求解過(guò)程中提取并抽象出公共的并行算法框架Skeleton ;2)針對(duì)遙感影像數(shù)據(jù)的多波段圖像數(shù)據(jù)結(jié)構(gòu)(三維矩陣)、復(fù)雜地理信息數(shù)據(jù)結(jié)構(gòu)及大 數(shù)據(jù)規(guī)模等特性,研制分布式遙感影像數(shù)據(jù)模型RSData Templates ;3)在分布式遙感影像數(shù)據(jù)模型RSDataTemplates的基礎(chǔ)上,進(jìn)一步提出分布式遙感影 像數(shù)據(jù)模型(Dist_RSData)的泛型抽象和C++模板類(lèi)封裝;4)利用C++模板機(jī)制對(duì)各個(gè)并行算法Skeleton進(jìn)行Template封裝,并基于多核集群 系統(tǒng)平臺(tái)的MPI運(yùn)行時(shí)環(huán)境,對(duì)并行算法Skeleton的并行結(jié)構(gòu)在多核集群平臺(tái)的自動(dòng)映 射、計(jì)算任務(wù)劃分及子任務(wù)在計(jì)算節(jié)點(diǎn)間的自動(dòng)分配,并行算法框架及計(jì)算節(jié)點(diǎn)通信等并 行細(xì)節(jié)進(jìn)行預(yù)實(shí)現(xiàn);以及5)利用數(shù)據(jù)類(lèi)型模板中的分布式大規(guī)模遙感影像數(shù)據(jù)Dist_RSDataTemplate進(jìn)行大 規(guī)模遙感影像數(shù)據(jù)的多級(jí)數(shù)據(jù)劃分、跨節(jié)點(diǎn)數(shù)據(jù)分布,所述多級(jí)數(shù)據(jù)劃分,可調(diào)用自與應(yīng)用 算法相匹配的自定義數(shù)據(jù)劃分策略函數(shù)對(duì)大規(guī)模遙感影像數(shù)據(jù)進(jìn)行多級(jí)遞歸數(shù)據(jù)劃分(圖 像數(shù)據(jù)分塊與地理信息重新計(jì)算)。
采用并行文件系統(tǒng)提供遙感影像屋里數(shù)據(jù)塊的i/o節(jié)點(diǎn)分布信息指導(dǎo)遙感影像 劃分的數(shù)據(jù)邏輯分塊在計(jì)算節(jié)點(diǎn)間的映射,可在多節(jié)點(diǎn)、多核間進(jìn)行遙感影像數(shù)據(jù)的多級(jí) 數(shù)據(jù)分布,為并行Skeleton所處理的海量大規(guī)模復(fù)雜遙感影像數(shù)據(jù)提供復(fù)雜數(shù)據(jù)結(jié)構(gòu)描 述及數(shù)據(jù)分布和縫合機(jī)制,從而簡(jiǎn)化并行編程中繁瑣的復(fù)雜遙感數(shù)據(jù)結(jié)構(gòu)處理。
具體實(shí)施時(shí),面向遙感數(shù)據(jù)處理算法的并行算法Skeleton建模與抽象(遙感數(shù)據(jù) 處理算法歸類(lèi)及并行性分析)的分析如下(I)遙感處理算法的歸類(lèi)及并行性分析遙感影像數(shù)據(jù)的多波段結(jié)構(gòu)和幾何特性,使得遙感數(shù)據(jù)處理算法具有天然的內(nèi)在數(shù)據(jù) 并行性,同時(shí)計(jì)算與數(shù)據(jù)也具有一定的幾何相關(guān)性。遙感數(shù)據(jù)處理算法種類(lèi)繁多,包括常規(guī) 遙感圖像處理算法和遙感信息提取算法,這些算法遙感應(yīng)用算法中存在著不同的計(jì)算特性 及數(shù)據(jù)相關(guān)性,其中包括數(shù)據(jù)獨(dú)立、局部數(shù)據(jù)相關(guān)、波譜數(shù)據(jù)相關(guān)、全局?jǐn)?shù)據(jù)相關(guān)。圖2中對(duì) 不同的數(shù)據(jù)相關(guān)性進(jìn)行了分析。
數(shù)據(jù)獨(dú)立,為點(diǎn)運(yùn)算模式,即輸出圖像可以由輸入圖像中每個(gè)像素的獨(dú)立運(yùn)算得 至IJ,與其他像素點(diǎn)無(wú)關(guān),其數(shù)據(jù)并行性最好。其中包括簡(jiǎn)單的圖像代數(shù)運(yùn)算,輻射校正/定 標(biāo),圖像拉伸增強(qiáng)等。S表示源遙感影像數(shù)據(jù),R表示處理結(jié)果,X,y表示像素P在圖像中的 空間位置,b表示像素P所在的圖像波段號(hào),f表示計(jì)算公式,該類(lèi)型算法的計(jì)算模式為Rb,x,y = f(SbAy)鄰域相關(guān),多為鄰域運(yùn)算模式,即輸出圖像中某個(gè)像素的運(yùn)算與輸入圖像中該像素位 置)的鄰域局部(窗口)中的數(shù)據(jù)相關(guān),具有很好的數(shù)據(jù)并行性。其中包括圖像插值、幾何校正、圖像濾波等。region(S_(b,x,y))為圖像波段b中以像素點(diǎn)S_(b,x,y)為中心的數(shù)據(jù)區(qū)域,則該類(lèi)型算法的計(jì)算模式可表示為
權(quán)利要求
1.一種面向數(shù)據(jù)密集型遙感圖像處理的基于泛型編程的編程框架方法,其特征在于, 包括以下步驟1)在遙感數(shù)據(jù)處理算法的計(jì)算特點(diǎn)和并行算法框架分析的基礎(chǔ)上,對(duì)重復(fù)出現(xiàn)的公共并行計(jì)算模式進(jìn)行建模,抽象出面向海量遙感數(shù)據(jù)處理的并行算法Skeleton,從同類(lèi)遙感應(yīng)用算法的并行求解過(guò)程中提取并抽象出公共的并行算法框架Skeleton ;2)針對(duì)遙感影像數(shù)據(jù)的多波段圖像數(shù)據(jù)結(jié)構(gòu)、復(fù)雜地理信息數(shù)據(jù)結(jié)構(gòu)及大數(shù)據(jù)規(guī)模等特性,研制分布式遙感影像數(shù)據(jù)模型RSData Templates ;3)在分布式遙感影像數(shù)據(jù)模型RSDataTemplates的基礎(chǔ)上,進(jìn)一步提出分布式遙感影像數(shù)據(jù)模型(Dist_RSData)的泛型抽象和C++模板類(lèi)封裝;4)利用C++模板機(jī)制對(duì)各個(gè)并行算法Skeleton進(jìn)行Template封裝,并基于多核集群系統(tǒng)平臺(tái)的MPI運(yùn)行時(shí)環(huán)境,對(duì)并行算法Skeleton的并行結(jié)構(gòu)在多核集群平臺(tái)的自動(dòng)映射、計(jì)算任務(wù)劃分及子任務(wù)在計(jì)算節(jié)點(diǎn)間的自動(dòng)分配,并行算法框架及計(jì)算節(jié)點(diǎn)通信并行細(xì)節(jié)進(jìn)行預(yù)實(shí)現(xiàn);以及5)利用數(shù)據(jù)類(lèi)型模板中的分布式大規(guī)模遙感影像數(shù)據(jù)Dist_RSDataTemplate進(jìn)行大規(guī)模遙感影像數(shù)據(jù)的多級(jí)數(shù)據(jù)劃分、跨節(jié)點(diǎn)數(shù)據(jù)分布。
2.根據(jù)權(quán)利要求1所述的一種面向數(shù)據(jù)密集型遙感圖像處理的基于泛型編程的編程框架方法,其特征在于步驟5)中,所述多級(jí)數(shù)據(jù)劃分調(diào)用自與應(yīng)用算法相匹配的自定義數(shù)據(jù)劃分策略函數(shù)對(duì)大規(guī)模遙感影像數(shù)據(jù)進(jìn)行多級(jí)遞歸數(shù)據(jù)劃分。
3.根據(jù)權(quán)利要求2所述的一種面向數(shù)據(jù)密集型遙感圖像處理的基于泛型編程的編程框架方法,其特征在于采用并行文件系統(tǒng)提供遙感影像屋里數(shù)據(jù)塊的I/O節(jié)點(diǎn)分布信息指導(dǎo)遙感影像劃分的數(shù)據(jù)邏輯分塊在計(jì)算節(jié)點(diǎn)間的映射,在多節(jié)點(diǎn)、多核間進(jìn)行遙感影像數(shù)據(jù)的多級(jí)數(shù)據(jù)分布,為并行Skeleton所處理的海量大規(guī)模復(fù)雜遙感影像數(shù)據(jù)提供復(fù)雜數(shù)據(jù)結(jié)構(gòu)描述及數(shù)據(jù)分布和縫合機(jī)制。
全文摘要
本發(fā)明涉及一種面向數(shù)據(jù)密集型遙感圖像處理的泛型編程的框架編程方法,技術(shù)方案為1)針對(duì)遙感影像數(shù)據(jù)規(guī)模大、數(shù)據(jù)結(jié)構(gòu)復(fù)雜等特征,構(gòu)建分布式遙感影像數(shù)據(jù)模型;2)在遙感數(shù)據(jù)并行處理算法分析的基礎(chǔ)上,對(duì)重復(fù)出現(xiàn)的公共并行計(jì)算模式進(jìn)行建模和抽象,建立面向遙感數(shù)據(jù)處理算法的并行算法;3)通過(guò)模板機(jī)制對(duì)并行算法進(jìn)行封裝,實(shí)現(xiàn)泛型編程的算法模型。本發(fā)明有益效果遙感應(yīng)用算法提供了并行編程范式,能有效降低海量遙感數(shù)據(jù)處理應(yīng)用的并行編程難度,克服了傳統(tǒng)的遙感數(shù)據(jù)處理中對(duì)領(lǐng)域?qū)<揖幊棠芰σ蟾叩娜毕?,大大促進(jìn)了并行計(jì)算技術(shù)在全球變化、動(dòng)態(tài)災(zāi)害監(jiān)測(cè)等覆蓋大區(qū)域甚至全球的大規(guī)模遙感數(shù)據(jù)處理中的廣泛應(yīng)用。
文檔編號(hào)G06F9/44GK103019671SQ201210376490
公開(kāi)日2013年4月3日 申請(qǐng)日期2012年10月8日 優(yōu)先權(quán)日2012年10月8日
發(fā)明者馬艷, 王力哲, 劉定生, 劉鵬 申請(qǐng)人:中國(guó)科學(xué)院對(duì)地觀測(cè)與數(shù)字地球科學(xué)中心