本發(fā)明涉及遙感數(shù)據(jù)處理技術(shù)領(lǐng)域,具體為一種基于FUSE的地理影像透明緩存機(jī)制。
背景技術(shù):
隨著高分辨率遙感技術(shù)的不斷發(fā)展,觀測手段不斷提高,獲取的高分辨率遙感數(shù)據(jù)也會(huì)越來越多,應(yīng)用范圍也將越來越廣。然而面對數(shù)據(jù)的成倍增加以及用戶群里的非專業(yè)化發(fā)展,如何準(zhǔn)確、有效、及時(shí)處理數(shù)據(jù),已成為制約高分辨率遙感數(shù)據(jù)應(yīng)用的關(guān)鍵前提。
面向高分辨率遙感圖像處理現(xiàn)狀,分布式集群計(jì)算技術(shù)(如Hadoop)已引入到數(shù)據(jù)處理中,主要技術(shù)思路是采用一定的分塊策略,將遙感影像整體或分塊后將任務(wù)分別分配到不同的計(jì)算節(jié)點(diǎn)實(shí)現(xiàn)并進(jìn)行處理。整個(gè)處理過程以分布式文件系統(tǒng)(如HDFS)為依托,實(shí)現(xiàn)文件的分布式存儲(chǔ)機(jī)制,使得海量的數(shù)據(jù)可以在分布式集群上輕松、方便的完成并行計(jì)算。在整個(gè)高分辨率遙感圖像處理過程中文件系統(tǒng)的作用尤為重要,主要包括海量數(shù)據(jù)的讀取和寫入操作,通過調(diào)用文件系統(tǒng)的API來實(shí)現(xiàn)。
當(dāng)前的分布式集群處理技術(shù)已經(jīng)能夠在一定程度上大大提升的遙感數(shù)據(jù)處理效率,但其數(shù)據(jù)處理過程中包括大量的數(shù)據(jù)寫入與讀取,且由于遙感數(shù)據(jù)處理業(yè)務(wù)特點(diǎn),不同任務(wù)的數(shù)據(jù)共享情況(如多光譜與全色融合)在所難免。這種情況下,需不斷通過磁盤來完成數(shù)據(jù)交換,使遙感圖像處理的時(shí)間大部分浪費(fèi)在IO等待,造成性能的極大損失。另外,從分布式文件系統(tǒng)讀取和寫入高分辨率遙感文件時(shí),均需要調(diào)用FileSystem API,需專業(yè)計(jì)算機(jī)編程者才能實(shí)現(xiàn)。
為了應(yīng)對數(shù)據(jù)大爆炸,谷歌、百度一直走在尋求身為未來世界核心的大數(shù)據(jù)的過程中,來自加州大學(xué)伯克利分校新的開源項(xiàng)目Alluxio(曾名Tachyon)已經(jīng)得到廣泛關(guān)注。Alluxio是一個(gè)基于內(nèi)存的分布式文件系統(tǒng),它是架構(gòu)在底層分布式文件系統(tǒng)和上層分布式計(jì)算框架之間的一個(gè)中間件,主要職責(zé)是以文件形式在內(nèi)存或其他存儲(chǔ)設(shè)施中提供數(shù)據(jù)的存取服務(wù)。Alluxio可以為那些大數(shù)據(jù)應(yīng)用提供一個(gè)數(shù)量級(jí)的加速,而且它只要提供通用的數(shù)據(jù)訪問接口,就能很方便地切換底層分布式文件系統(tǒng)。Alluxio的吞吐量要比HDFS高300多倍。Alluxio都是在內(nèi)存中處理緩存文件,并且讓不同的Jobs/Queries以及框架都能以內(nèi)存的速度來訪問緩存文件。
Alluxio目前已經(jīng)對于百度、谷歌等擁有大數(shù)據(jù)的互聯(lián)網(wǎng)企業(yè)在數(shù)據(jù)傳輸與管理已經(jīng)產(chǎn)生了驚人功效。但對于遙感測繪領(lǐng)域業(yè)務(wù)特性,Alluxio并不完全適用。Alluxio是把一個(gè)文件作為一個(gè)整體來存儲(chǔ),無法針對某種特殊文件類型單獨(dú)對待,且Alluxio給開發(fā)人員提供的是專有文件訪問接口。
有鑒于此,特提出本發(fā)明。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的不足,提供一種基于FUSE的地理影像透明緩存機(jī)制,針對遙感數(shù)據(jù)的組織形式和計(jì)算特點(diǎn),建立能夠?qū)崿F(xiàn)在物理上采取分布式并行處理,充分利用計(jì)算機(jī)緩存運(yùn)行速度的優(yōu)勢的分布式內(nèi)存文件系統(tǒng),大幅度提升數(shù)據(jù)生產(chǎn)效率。
為解決上述技術(shù)問題,本發(fā)明采用技術(shù)方案的基本構(gòu)思是:
一種基于FUSE的地理影像透明緩存機(jī)制,包括:
計(jì)算任務(wù)發(fā)出命令進(jìn)行影像讀取時(shí),通過FUSE訪問遙感影像分布式緩存,申請數(shù)據(jù)資源;
計(jì)算任務(wù)申請到數(shù)據(jù)資源后,將遙感影像按塊進(jìn)行存儲(chǔ),存儲(chǔ)到各個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存中;
計(jì)算任務(wù)的執(zhí)行需要訪問其他計(jì)算節(jié)點(diǎn)緩存的數(shù)據(jù)時(shí),各個(gè)計(jì)算節(jié)點(diǎn)緩存中的數(shù)據(jù)通過Gossip協(xié)議實(shí)現(xiàn)元數(shù)據(jù)信息共享,達(dá)到每個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存中影像塊的元數(shù)據(jù)信息一致;
計(jì)算任務(wù)執(zhí)行將反復(fù)讀取數(shù)據(jù)進(jìn)行計(jì)算。
更近一步的,上述基于FUSE的地理影像透明緩存機(jī)制中,計(jì)算任務(wù)發(fā)出命令進(jìn)行影像讀取前,還包括:
基于FUSE創(chuàng)建遙感影像內(nèi)存式文件系統(tǒng);
建立目錄空間自動(dòng)同步機(jī)制,對于底層分布式存儲(chǔ)系統(tǒng)中的每一個(gè)目錄或文件,在所述緩存文件系統(tǒng)之上一一對應(yīng)創(chuàng)建一個(gè)目錄或文件。
更近一步的,上述基于FUSE的地理影像透明緩存機(jī)制中,還包括,所有計(jì)算任務(wù)結(jié)束后,按照目錄空間自動(dòng)同步機(jī)制將成果以及中間成果數(shù)據(jù),寫入底層文件存儲(chǔ)系統(tǒng)中。
更近一步的,上述基于FUSE的地理影像透明緩存機(jī)制中,所述計(jì)算任務(wù)發(fā)出命令進(jìn)行影像讀取時(shí),通過FUSE訪問遙感影像分布式緩存,包括:
采用影像分塊機(jī)制在邏輯上對遙感影像進(jìn)行行列拆分,按塊讀取遙感數(shù)據(jù)文件。首先從遙感影像內(nèi)存文件系統(tǒng)中進(jìn)行查找,如未找到,將透過文件系統(tǒng),轉(zhuǎn)到底層文件存儲(chǔ)系統(tǒng)讀取。
更近一步的,上述基于FUSE的地理影像透明緩存機(jī)制中,所述遙感影像的分塊策略包括:等長寬分塊和滿行分塊。
更近一步的,上述基于FUSE的地理影像透明緩存機(jī)制中,所述計(jì)算任務(wù)申請到數(shù)據(jù)資源后,將遙感影像按塊進(jìn)行存儲(chǔ),存儲(chǔ)到各個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存中,包括:
通過LINUX系統(tǒng)自帶的<xsl:attribute>機(jī)制給內(nèi)存的影像建立擴(kuò)展屬性,影像塊的元數(shù)據(jù)信息被存儲(chǔ)在內(nèi)存中。
更近一步的,上述基于FUSE的地理影像透明緩存機(jī)制中,所述各個(gè)計(jì)算節(jié)點(diǎn)緩存中的數(shù)據(jù)通過Gossip協(xié)議實(shí)現(xiàn)元數(shù)據(jù)信息共享,達(dá)到每個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存中影像塊的元數(shù)據(jù)信息一致,包括:
在計(jì)算任務(wù)啟動(dòng)時(shí),會(huì)啟動(dòng)Gossip服務(wù),Gossip服務(wù)啟動(dòng)后會(huì)啟動(dòng)一個(gè)任務(wù)GossipTask,這個(gè)任務(wù)會(huì)周期性地與其他節(jié)點(diǎn)進(jìn)行通信;其中:
任務(wù)GossipTask運(yùn)行后,更新當(dāng)前計(jì)算節(jié)點(diǎn)的版本號(hào),然后構(gòu)造出要發(fā)送給其他節(jié)點(diǎn)的消息;
從存活節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)發(fā)送、從失效節(jié)點(diǎn)中隨機(jī)選取一個(gè)發(fā)送。如果當(dāng)前存活節(jié)點(diǎn)數(shù)小于種子數(shù),向其中一個(gè)種子節(jié)點(diǎn)發(fā)消息;
并檢查各節(jié)點(diǎn)狀態(tài)。
更近一步的,上述基于FUSE的地理影像透明緩存機(jī)制中,所述建立目錄空間自動(dòng)同步機(jī)制中,所述緩存文件系統(tǒng)與底層分布式存儲(chǔ)系統(tǒng)的映射關(guān)系是:緩存文件目錄用來表示底層文件系統(tǒng)中的目錄,其目錄屬性保存底層文件系統(tǒng)文件屬性;緩存文件用來表示底層文件系統(tǒng)中的文件,其文件屬性保存底層文件系統(tǒng)文件屬性,緩存文件內(nèi)容則用來保存元數(shù)據(jù)。
采用上述技術(shù)方案后,本發(fā)明與現(xiàn)有技術(shù)相比具有以下有益效果:
本發(fā)明基于FUSE的遙感影像透明緩存機(jī)制是架構(gòu)在底層分布式文件系統(tǒng)和上層分布式計(jì)算框架之間的一個(gè)中間件,專門針對遙感影像的組織與邏輯結(jié)構(gòu),將遙感影像分塊存儲(chǔ)于計(jì)算節(jié)點(diǎn)內(nèi)存,并實(shí)現(xiàn)每個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存數(shù)據(jù)的元數(shù)據(jù)共享,使數(shù)據(jù)以文件的形式在內(nèi)存中對外提供讀寫訪問服務(wù),它可以為遙感大數(shù)據(jù)應(yīng)用提供一個(gè)數(shù)量級(jí)的加速,而且它只要提供通用的數(shù)據(jù)訪問接口,就能很方便的切換底層分布式文件系統(tǒng)。
附圖說明
圖1是本發(fā)明基于FUSE的地理影像透明緩存機(jī)制中,F(xiàn)USE的工作原理圖;
圖2是本發(fā)明緩存機(jī)制中緩存文件系統(tǒng)與底層分布式文件系統(tǒng)的映射關(guān)系示意圖;
圖3是本發(fā)明基于FUSE的地理影像透明緩存機(jī)制架構(gòu)示意圖;
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例,對本發(fā)明作進(jìn)一步說明,以助于理解本發(fā)明的內(nèi)容。
本發(fā)明一種基于FUSE的地理影像透明緩存機(jī)制,包括:
一、首先基于FUSE創(chuàng)建遙感影像(即地理影像,下同)內(nèi)存式文件系統(tǒng),它相當(dāng)于架構(gòu)在最底層的分布式存儲(chǔ)系統(tǒng)和上層的各計(jì)算框架之間的一種中間件;計(jì)算框架只是提供了強(qiáng)大的內(nèi)存計(jì)算能力,但是未提供存儲(chǔ)能力,即使是內(nèi)存計(jì)算框架直接在內(nèi)存管理數(shù)據(jù)依然存在很多問題,比如不同任務(wù)或不同計(jì)算框架間的數(shù)據(jù)共享需要通過磁盤完成數(shù)據(jù)交換,效率很低,或者由于不同的任務(wù)可能會(huì)訪問同樣的數(shù)據(jù),每個(gè)任務(wù)都要自己去磁盤中加載數(shù)據(jù)到內(nèi)存中;本發(fā)明緩存機(jī)制的主要職責(zé)是將那些不需要落地到底層文件系統(tǒng)(即所述分布式存儲(chǔ)系統(tǒng))里的文件,落地到分布式內(nèi)存文件系統(tǒng)中,來達(dá)到共享內(nèi)存,從而提高效率,同時(shí)可以減少內(nèi)存冗余、GC時(shí)間等。
Fuse(Filesystem in Userspace)提供一個(gè)完整的接口讓使用者可以輕松的創(chuàng)建一個(gè)屬于他自己的用戶級(jí)文件系統(tǒng)。Fuse由一個(gè)內(nèi)核模塊(fuse.ko),一個(gè)用戶級(jí)函數(shù)庫(libfuse.*)以及一套文件系統(tǒng)加載機(jī)制組成。
Fuse的工作過程如下:使用fuse框架實(shí)現(xiàn)的hello實(shí)例程序被調(diào)用,用戶級(jí)文件系統(tǒng)被掛載到當(dāng)前系統(tǒng)中,掛載點(diǎn)為/tmp/fuse。當(dāng)用戶執(zhí)行l(wèi)s-1/tmp/fuse命令時(shí),VFS相關(guān)接口函數(shù)被調(diào)用,并交給fuse內(nèi)核模塊處理。內(nèi)核模塊通過映射機(jī)制,調(diào)用hello文件系統(tǒng)相關(guān)函數(shù)來處理相應(yīng)請求;如圖1所示。
基于FUSE建立遙感影像的內(nèi)存式文件系統(tǒng)可實(shí)現(xiàn)一般文件系統(tǒng)的所有功能,主要用來實(shí)現(xiàn)所有計(jì)算節(jié)點(diǎn)內(nèi)存的文件管理、目錄管理等,并且與操作系統(tǒng)實(shí)現(xiàn)無縫結(jié)合,用戶或其他應(yīng)用程序可以對它跟其他文件系統(tǒng)進(jìn)行無差異的操作?;贔USE的遙感影像內(nèi)存式文件系統(tǒng)可以提供將創(chuàng)建,重命名和刪除文件等操作從FUSE映射到底層存儲(chǔ)層(即底層文件系統(tǒng),比如圖3中所示的HDFS或者NFS)的對象中,從而實(shí)現(xiàn)將底層存儲(chǔ)系統(tǒng)中的文件與內(nèi)存文件系統(tǒng)的完全同步。
FUSE提供一個(gè)接口使計(jì)算任務(wù)訪問本發(fā)明建立的所述內(nèi)存式文件系統(tǒng),對內(nèi)存式文件系統(tǒng)緩存中的遙感影像文件進(jìn)行讀取和計(jì)算。
二、建立目錄空間自動(dòng)同步機(jī)制,對于底層分布式存儲(chǔ)系統(tǒng)中的每一個(gè)目錄或文件,在所述內(nèi)存式文件系統(tǒng)之上一一對應(yīng)創(chuàng)建一個(gè)目錄或文件。
兩者之間的映射關(guān)系是,內(nèi)存式文件系統(tǒng)的緩存文件目錄用來表示底層文件系統(tǒng)中的目錄,其目錄屬性保存底層文件系統(tǒng)文件屬性;內(nèi)存式文件系統(tǒng)的緩存文件用來表示底層文件系統(tǒng)中的文件,其文件屬性保存底層文件系統(tǒng)文件屬性,緩存文件內(nèi)容則用來保存元數(shù)據(jù),包括更詳細(xì)的文件屬性、訪問控制信息、數(shù)據(jù)分塊信息、數(shù)據(jù)存儲(chǔ)位置等信息;如圖2所示。建立目錄空間自動(dòng)同步機(jī)制為了實(shí)現(xiàn)將底層存儲(chǔ)系統(tǒng)中的文件與所述緩存機(jī)制自身管理的文件系統(tǒng)的完全同步。結(jié)合圖3中所示的,創(chuàng)建在本發(fā)明緩存機(jī)制內(nèi)存式文件系統(tǒng)中的緩存文件系統(tǒng)目錄空間與創(chuàng)建在分布式存儲(chǔ)系統(tǒng)上的文件系統(tǒng)物理命名空間之間,建立目錄空間自動(dòng)同步機(jī)制,使得本發(fā)明中基于FUSE創(chuàng)建的內(nèi)存式文件系統(tǒng)與底層分布式存儲(chǔ)系統(tǒng)存在映射關(guān)系,從內(nèi)存式文件系統(tǒng)中可以同步完成對底層分布式存儲(chǔ)系統(tǒng)中文件的創(chuàng)建、重命名、刪除和查詢等管理。
如圖3所示,一種基于FUSE的地理影像透明緩存機(jī)制,具體還包括:
S1.當(dāng)計(jì)算任務(wù)發(fā)出命令進(jìn)行影像讀取時(shí),應(yīng)用程序通過FUSE訪問遙感影像分布式緩存,申請數(shù)據(jù)資源。
一般采用影像分塊機(jī)制在邏輯上對遙感影像進(jìn)行行列拆分,按塊讀取遙感數(shù)據(jù)文件。首先從遙感影像內(nèi)存式文件系統(tǒng)中進(jìn)行查找,如未找到,將透過文件系統(tǒng),轉(zhuǎn)到底層文件存儲(chǔ)系統(tǒng)讀取。
遙感影像本身是一個(gè)文件,邏輯上包括兩部分:影像分塊(矩陣)和元數(shù)據(jù);為了在處理過程中一方面能夠?qū)ΜF(xiàn)有系統(tǒng)無縫兼容,另一方面充分利用局部計(jì)算特性(分塊),對影像進(jìn)行分塊讀取。
遙感影像以像元為單位,像元數(shù)據(jù)值的存儲(chǔ)長度是由影像的像元數(shù)據(jù)值決定的,因此遙感影像的基本數(shù)據(jù)類型使得遙感影像可以被分塊存儲(chǔ)以及處理。遙感影像不同于一般的數(shù)據(jù)的地方是它自帶位置屬性信息,因此需針對遙感影像定制其專屬分塊策略及存儲(chǔ)方式,影像的分塊技術(shù)實(shí)質(zhì)上就是一種“分治”的思想,將整個(gè)影像這個(gè)完整數(shù)據(jù)集切分成若干個(gè)規(guī)則的小的數(shù)據(jù)子集,這些小的數(shù)據(jù)集與原數(shù)據(jù)集在本質(zhì)上是沒有發(fā)生改變的。因此這種柵格數(shù)據(jù)分塊是遙感影像分布式計(jì)算的前提,遙感影像的讀取和寫入都是基于這些影像塊;影像塊按照<波段號(hào)、行塊號(hào)、列塊號(hào)>的組織方式存儲(chǔ)在內(nèi)存中。
遙感影像分塊策略
1)等長寬分塊:將遙感影像分成n個(gè)長寬分別為2的整數(shù)的數(shù)據(jù)塊,如2048*2048或256*256,等大小的分塊策略有助于數(shù)據(jù)塊的存儲(chǔ)管理以及網(wǎng)絡(luò)傳輸,且適用于大部分遙感影像處理算法,如幾何校正、影像匹配等。
2)滿行分塊:適用于需要按圖像行順序讀取數(shù)據(jù)進(jìn)行處理的遙感算法,如pansharp融合算法,一般設(shè)計(jì)一次讀取行數(shù)是2的整數(shù)次冪次,如1024行、256行。
S2.當(dāng)計(jì)算任務(wù)申請到數(shù)據(jù)資源后,將遙感影像按塊進(jìn)行存儲(chǔ),存儲(chǔ)到各個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存中。
可通過LINUX系統(tǒng)自帶的<xsl:attribute>機(jī)制給內(nèi)存的影像建立擴(kuò)展屬性,如文件是否存在,是否是影像文件、是否被分塊、分塊信息和地理信息等,這些影像塊的元數(shù)據(jù)信息也將被存儲(chǔ)在內(nèi)存中。遙感影像的分塊讀取和存儲(chǔ)的目的是使計(jì)算任務(wù)與數(shù)據(jù)能在同一機(jī)器內(nèi)處理,實(shí)現(xiàn)內(nèi)存到內(nèi)存的訪問,省去IO時(shí)間。
其中,__attribute__可以設(shè)置函數(shù)屬性(Function Attribute)、變量屬性(Variable Attribute)和類型屬性(Type Attribute);__attribute__前后都有兩個(gè)下劃線,并且后面會(huì)緊跟一對原括弧,括弧里面是相應(yīng)的__attribute__參數(shù)。__attribute__語法格式為:
__attribute__((attribute-list))。
函數(shù)屬性(Function Attribute)可以幫助開發(fā)者把一些特性添加到函數(shù)聲明中,從而可以使編譯器在錯(cuò)誤檢查方面的功能更強(qiáng)大。
S3.計(jì)算任務(wù)的執(zhí)行有時(shí)需要訪問其他計(jì)算節(jié)點(diǎn)緩存的數(shù)據(jù),此時(shí),各個(gè)計(jì)算節(jié)點(diǎn)緩存中的數(shù)據(jù)通過Gossip協(xié)議實(shí)現(xiàn)元數(shù)據(jù)信息共享,達(dá)到每個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存中影像塊的元數(shù)據(jù)信息一致。
集群中的計(jì)算節(jié)點(diǎn)沒有主次之分,它們通過Gossip協(xié)議進(jìn)行通信,通過Gossip協(xié)議,這些計(jì)算節(jié)點(diǎn)可以知道集群中有哪些節(jié)點(diǎn)以及各節(jié)點(diǎn)的狀態(tài)如何;節(jié)點(diǎn)間進(jìn)行傳輸?shù)拿恳粭lGossip消息上都有一個(gè)版本號(hào),節(jié)點(diǎn)可以對接收到的消息進(jìn)行版本對比,從而得知哪些消息是自身需要更新的,哪些消息是自身有而其他節(jié)點(diǎn)沒有的,然后互相傳遞信息,最終達(dá)到信息一致。
在計(jì)算任務(wù)啟動(dòng)時(shí),會(huì)啟動(dòng)Gossip服務(wù),Gossip服務(wù)啟動(dòng)后會(huì)啟動(dòng)一個(gè)任務(wù)GossipTask,這個(gè)任務(wù)會(huì)周期性地與其他節(jié)點(diǎn)進(jìn)行通信。GossipTask是位于org.apache.cassandra.gms.Gossip類下的一個(gè)內(nèi)部類,其run方法如下:
其中,主要進(jìn)行如下:
(1)GossipTask在Gossip啟動(dòng)后并不會(huì)立即運(yùn)行,阻塞在listenGate這個(gè)條件變量上,當(dāng)Gossip服務(wù)調(diào)用listen時(shí)才開始運(yùn)行;
(2)首先更新本節(jié)點(diǎn)的心跳版本號(hào),然后構(gòu)造需要發(fā)送給其他節(jié)點(diǎn)的消息gDigests;
(3)從存活節(jié)點(diǎn)中隨機(jī)選擇一個(gè)節(jié)點(diǎn)發(fā)送、從失效節(jié)點(diǎn)中隨機(jī)選取一個(gè)發(fā)送。如果當(dāng)前存活節(jié)點(diǎn)數(shù)小于種子數(shù),向其中一個(gè)種子節(jié)點(diǎn)發(fā)消息;
(4)檢查節(jié)點(diǎn)狀態(tài)。
S4.計(jì)算任務(wù)執(zhí)行將反復(fù)讀取數(shù)據(jù)進(jìn)行計(jì)算;首先通過attribute機(jī)制判斷影像塊是否在緩存、及其影像塊位置等屬性信息;如影像塊在自身緩存內(nèi),則直接從自身緩存讀取數(shù)據(jù);如在其他計(jì)算節(jié)點(diǎn)緩存內(nèi),則從其他節(jié)點(diǎn)緩存內(nèi)存讀取數(shù)據(jù);如果影像塊不存在緩存,則繞過緩存從底層存儲(chǔ)文件系統(tǒng)讀取數(shù)據(jù);之后將讀取的數(shù)據(jù)進(jìn)行計(jì)算。
S5.所有計(jì)算任務(wù)結(jié)束后,按照目錄空間自動(dòng)同步機(jī)制將成果(最終計(jì)算結(jié)果等)以及中間成果(中間計(jì)算結(jié)果等)數(shù)據(jù),寫入底層文件存儲(chǔ)系統(tǒng)中。
基于FUSE的遙感影像透明緩存機(jī)制是架構(gòu)在底層分布式文件系統(tǒng)和上層分布式計(jì)算框架之間的一個(gè)中間件,專門針對遙感影像的組織與邏輯結(jié)構(gòu),將遙感影像分塊存儲(chǔ)于計(jì)算節(jié)點(diǎn)內(nèi)存,并實(shí)現(xiàn)每個(gè)計(jì)算節(jié)點(diǎn)內(nèi)存數(shù)據(jù)的元數(shù)據(jù)共享,使數(shù)據(jù)以文件的形式在內(nèi)存中對外提供讀寫訪問服務(wù),它可以為遙感大數(shù)據(jù)應(yīng)用提供一個(gè)數(shù)量級(jí)的加速,而且它只要提供通用的數(shù)據(jù)訪問接口,就能很方便的切換底層分布式文件系統(tǒng)。
基于FUSE的遙感影像透明緩存機(jī)制對上層算法開發(fā)人員更加透明,無需專用接口。開發(fā)人員可以像可執(zhí)行二進(jìn)制文件一樣來開發(fā)文件系統(tǒng),它們需要鏈接到FUSE庫上——換言之,這個(gè)文件系統(tǒng)框架并不需要了解文件系統(tǒng)的內(nèi)幕和內(nèi)核模塊編程的知識(shí)
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。