国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種gis柵格數(shù)據(jù)云存儲方法_2

      文檔序號:8487882閱讀:來源:國知局
      適合于柵格數(shù)據(jù)和影響數(shù)據(jù)的多分辨率組織,也是一種柵格數(shù)據(jù)或影像數(shù)據(jù)的有損壓縮方 式。
      [0045] 金字塔通過僅檢索使用指定分辨率(取決于顯示要求)的數(shù)據(jù),可以加快柵格數(shù) 據(jù)的顯示速度。利用金字塔,可在繪制整個數(shù)據(jù)集時快速顯示較低分辨率的數(shù)據(jù)副本。而隨 著放大操作的進行,各個更精細(xì)的分辨率等級將逐漸得到繪制;但性能將保持不變,因為在 連續(xù)繪制更小的各個區(qū)域。數(shù)據(jù)庫會根據(jù)用戶的顯示比例自動選擇最適合的金字塔等級。 如果不使用金字塔,則必須從磁盤中讀取整個數(shù)據(jù)集,然后將其重采樣為更小的大小。
      [0046] 每個柵格數(shù)據(jù)只需構(gòu)建一次金字塔,之后每次查看柵格數(shù)據(jù)集時都會訪問這些金 字塔。柵格數(shù)據(jù)集越大,創(chuàng)建金字塔集所花費的時間就越長。但是,這也就意味著可以為將 來節(jié)省更多的時間。金字塔結(jié)構(gòu)如圖3所示。
      [0047] 本引擎將柵格影像文件的金字塔數(shù)據(jù),構(gòu)造成和原始文件同名,但后綴不同的數(shù) 據(jù)文件,也是分割成多個數(shù)據(jù)快后,存放在云數(shù)據(jù)庫上。利用云數(shù)據(jù)庫多個存儲節(jié)點能夠同 時工作的優(yōu)勢,在做縮放操作時,快速調(diào)取金字塔的不同層,達到大數(shù)據(jù)縮放無延遲感的效 果。命名上,金字塔文件和影像文件同名但不同后綴。例如原始影像文件名為507.tif,對 應(yīng)的金字塔文件名為507. tif. ovr。通過文件名稱關(guān)聯(lián)影像文件和金字塔文件,并實現(xiàn)縮放 的過程,由GDAL自己實現(xiàn)。外部程序只需要組織文件位置。
      [0048]金字塔的層級是根據(jù)文件大小來的。文件越大,像素越多,層級越多。柵格影像數(shù) 據(jù)和它的金字塔,都是以文件形式存在的,同名但不同后綴。它們被存儲到云數(shù)據(jù)庫中,都 是先切割成小的數(shù)據(jù)塊存儲。云數(shù)據(jù)庫只負(fù)責(zé)存數(shù)據(jù),它不關(guān)心是什么數(shù)據(jù)。所以切割的 目的是為了快速讀寫。這些小的數(shù)據(jù)塊是如何分布到各個存儲節(jié)點的,是由云數(shù)據(jù)庫集群 的配置節(jié)點自己決定,外部不干涉,理論上數(shù)據(jù)會均勻的分布在各個存儲節(jié)點上。讀數(shù)據(jù)也 一樣,數(shù)據(jù)讀取方不會關(guān)心數(shù)據(jù)真正在哪里,只需要知道數(shù)據(jù)在哪個表里。負(fù)載均衡是集群 的內(nèi)部細(xì)節(jié),外部使用者不會關(guān)心。
      [0049]切割時是按照文件大小切割,也和金字塔層級無關(guān)。實現(xiàn)大數(shù)據(jù)的無延遲縮放瀏 覽也是基于文件快速讀寫,也就是體現(xiàn)在切割和分散存儲兩個方面。例如金字塔某一層數(shù) 據(jù)被切到一個塊里,但這個塊有可能被分散存儲到三個節(jié)點上。首先,三個節(jié)點同時并行工 作,將數(shù)據(jù)拿到;其次,每個塊是有編號的,前面文檔提到過。GDAL只需要讀取這一層的數(shù) 據(jù),并不需要整個金字塔文件的全部數(shù)據(jù),所以GDAL知道這個數(shù)據(jù)段在金字塔文件中的開 始和結(jié)束位置。本引擎通過這個位置,計算出塊的編號。
      [0050] 計算機文件無論是什么形式,本質(zhì)上都是二進制數(shù)據(jù)。本引擎按二進制格式讀出 原始柵格數(shù)據(jù),每到一定長度時將這段數(shù)據(jù)作為一個內(nèi)存塊記錄到數(shù)據(jù)塊隊列,并按先后 順序賦予一個編號。由于32位操作系統(tǒng)的進程容量是2GB,當(dāng)數(shù)據(jù)塊隊列總?cè)萘砍^50MB 時,將隊列的全部數(shù)據(jù)塊寫庫,然后清空隊列,繼續(xù)讀余下數(shù)據(jù)。數(shù)據(jù)塊隊列總?cè)萘渴强梢?隨著工作環(huán)境而調(diào)整的,默認(rèn)是50MB。設(shè)置的值越大,就要消耗更多內(nèi)存,但效率會高;設(shè) 置越小,內(nèi)存使用少,但效率會降低。
      [0051] 存儲柵格數(shù)據(jù)的過程如圖2所示,箭頭方向代表數(shù)據(jù)流動方向。圖2的集群部分, 也包括路由節(jié)點和配置節(jié)點,由于和本流程關(guān)系不大,所以沒有畫出,但它們是存在的。
      [0052]柵格數(shù)據(jù)的切割流程如圖3所示。切割有兩個目的,包括:
      [0053] (1)快速讀取文件:從云數(shù)據(jù)庫上讀取柵格數(shù)據(jù)時,多個存儲節(jié)點同一時間并行 工作,將各自的數(shù)據(jù)快返回給本引擎。本引擎根據(jù)數(shù)據(jù)快編號,按大小順序拼裝成一個完整 的文件。相比較硬盤文件的讀取,理論上,數(shù)據(jù)塊的個數(shù),就是效率的倍速。
      [0054] (2)快速隨機讀寫:隨機讀寫是指對一個文件中的某一段數(shù)據(jù)區(qū)域進行讀或?qū)懖?作。本引擎可以根據(jù)要讀寫區(qū)域的位置,計算出其所屬的數(shù)據(jù)塊編號,所以參與讀寫操作的 只是一個或多個輕量級的小數(shù)據(jù)塊,而不是整個文件。通過位置除以數(shù)據(jù)塊長度,可以獲得 編號。本引擎根據(jù)編號從存儲節(jié)點上獲取數(shù)據(jù)塊,實現(xiàn)高效隨機讀寫。
      [0055]切割過程中,每一個數(shù)據(jù)塊的長度是根據(jù)原始文件的大小來確定的。理論上,數(shù)據(jù) 塊越多,隨機讀寫效率越高,但讀取整個文件效率會降低;數(shù)據(jù)塊越少,讀取整個文件效率 高,但隨機讀寫效率降低。為兼顧以上兩種情況,本引擎根據(jù)原始文件大小,按圖4中的流 程設(shè)計數(shù)據(jù)塊的大小。
      [0056]3、數(shù)據(jù)管理
      [0057]目前市場上GIS軟件用到的柵格數(shù)據(jù)管理模塊,都以實現(xiàn)兩大功能為主:提供方 法在象素級別上操作影像文件和實現(xiàn)不同格式文件間的相互轉(zhuǎn)換。它們以Windows動態(tài)連 接庫的形式提供給GIS軟件做二次開發(fā)。動態(tài)連接庫本質(zhì)上是一組功能函數(shù)的集合,二次 開發(fā)方通過調(diào)用這些功能函數(shù),完成軟件功能;甚至也可以調(diào)用功能函數(shù)反過來去管理,擴 展動態(tài)連接庫。
      [0058]柵格數(shù)據(jù)管理模塊用操作系統(tǒng)提供的API處理硬盤文件,整個讀寫過程由一個單 獨的文件模塊管理。本引擎將云數(shù)據(jù)庫讀寫過程,包裝為一個文件系統(tǒng)的子模塊。通過調(diào) 用動態(tài)連接庫的功能函數(shù),注入到文件系統(tǒng)中,以實現(xiàn)文件系統(tǒng)能夠直接處理云數(shù)據(jù)庫的 柵格數(shù)據(jù),如圖5所示。這種注入的方式并沒有改變柵格數(shù)據(jù)管理模塊處理數(shù)據(jù)的流程,只 是增加了一種數(shù)據(jù)類型的分支,所以在做二次開發(fā)時,可以用同樣的方式處理文件數(shù)據(jù)和 云數(shù)據(jù)庫存儲的數(shù)據(jù)。
      [0059]本發(fā)明的讀寫基于GDAL實現(xiàn)。GDAL是一個知名度非常高的開源的影像文件處 理第三方庫,它支持市面上常用的多種影像格式文件,并包裝成統(tǒng)一的抽象概念數(shù)據(jù)集 (DataSet),暴露給二次開發(fā)用戶使用。從載入文件到獲得構(gòu)造好的數(shù)據(jù)集對象,這個過程 可以理解為GDAL兩大模塊在協(xié)同工作,其一是驅(qū)動,驅(qū)動將按照不同文件格式讀出文件數(shù) 據(jù),將這些數(shù)據(jù)寫入數(shù)據(jù)集的成員,提供給二次開發(fā)用戶使用,而這個文件讀寫的過程,就 要依靠另一模塊,虛擬文件系統(tǒng)。
      [0060]影像文件的位置和形態(tài)是多樣的,它可能就存放在本機某個磁盤上,也可能被放 在某個遠(yuǎn)程機器上;它可能是jpg文件,也可能被做成了壓縮文件。而壓縮文件也可能是 rar或者是7zip。為統(tǒng)一處理這些狀況,GDAL聲明虛擬文件系統(tǒng)管理類:VSIFileManager。 下面是類的聲明:
      [0061]
      【主權(quán)項】
      1. 一種GIS柵格數(shù)據(jù)云存儲方法,其特征在于,基于GDAL實現(xiàn)空間數(shù)據(jù)的轉(zhuǎn)換,包括: 繼承GDAL的文件操作虛函數(shù)VSIFilesystemHandler類,將InstallHandler方法中的前綴 osPrefix的形式參數(shù)類型改為常字符類型,接收調(diào)用函數(shù)所傳遞的前綴osPrefix的實際 參數(shù),如果所接收到的實際參數(shù)為空則不執(zhí)行任何操作,否則將實際參數(shù)轉(zhuǎn)換為字符串類 型后再調(diào)用父函數(shù)的InstallHandler操作函數(shù),其中,所述InstallHandler方法用于將類 的實例注入到GDAL的實例容器中。
      2. 根據(jù)權(quán)利要求1所述的一種GIS柵格數(shù)據(jù)的管理方法,其特征在于,根據(jù)不同的云數(shù) 據(jù)庫提供的二次開發(fā)框架或者API實現(xiàn)用于以流方式讀寫文件的IStream接口,利用所述 IStream接口實現(xiàn)文件的讀寫。
      3. 根據(jù)權(quán)利要求1所述的一種GIS柵格數(shù)據(jù)的管理方法,其特征在于, 在存儲GIS柵格數(shù)據(jù)時,按照預(yù)設(shè)的金字塔層級將原始的GIS柵格數(shù)據(jù)轉(zhuǎn)換成金字塔 數(shù)據(jù)文件,將金字塔數(shù)據(jù)文件切割成預(yù)定數(shù)量的數(shù)據(jù)塊,建立一個數(shù)據(jù)塊映射文件用于存 儲金字塔數(shù)據(jù)文件中不同層級的數(shù)據(jù)與各數(shù)據(jù)塊之間關(guān)系的映射關(guān)系,將各數(shù)據(jù)塊發(fā)送至 云數(shù)據(jù)庫,由云數(shù)據(jù)庫存按照相應(yīng)的分配規(guī)則存儲于不同的存儲節(jié)點; 在讀取GIS柵格數(shù)據(jù)時,根據(jù)映射文件找到所需層級的金字塔數(shù)據(jù)所對應(yīng)的數(shù)據(jù)塊文 件,在云數(shù)據(jù)庫中查找并取出相應(yīng)的數(shù)據(jù)塊文件。
      4. 根據(jù)權(quán)利要求1所述的一種GIS柵格數(shù)據(jù)的方法,其特征在于,在分割待保存的文 件時,若待保存的文件大小為IGB以上,則將待保存的文件切割成16MB大小的若干個數(shù)據(jù) 塊; 若待保存的文件大小為IOMB以上并且小于IGB時,則將待保存的文件切割成IMB大小 的若干個數(shù)據(jù)塊; 若待保存的文件大小小于IOMB時,則將待保存的文件切割成255K大小的若干個數(shù)據(jù) 塊。
      【專利摘要】本發(fā)明涉及一種云存儲方法,屬于GIS柵格數(shù)據(jù)存儲方法領(lǐng)域,具體涉及一種GIS柵格數(shù)據(jù)云存儲方法。包括:繼承GDAL的文件操作虛函數(shù)VSIFilesystemHandler類,將InstallHandler方法中的前綴osPrefix的形式參數(shù)類型改為常字符類型,接收調(diào)用函數(shù)所傳遞的前綴osPrefix的實際參數(shù),如果所接收到的實際參數(shù)為空則不執(zhí)行任何操作,否則將實際參數(shù)轉(zhuǎn)換為字符串類型后再調(diào)用父函數(shù)的InstallHandler操作函數(shù),其中,所述InstallHandler方法用于將類的實例注入到GDAL的實例容器中。因此,本發(fā)明具有如下優(yōu)點:1.降低了存儲成本。2.具有讀寫云數(shù)據(jù)庫的能力,減少了二次開發(fā)量,增加了代碼重用。
      【IPC分類】G06F17-30
      【公開號】CN104809217
      【申請?zhí)枴緾N201510214561
      【發(fā)明人】邢侃侃, 賀楷鍇, 張龍, 黃俊韜, 楊曦
      【申請人】武大吉奧信息技術(shù)有限公司
      【公開日】2015年7月29日
      【申請日】2015年4月28日
      當(dāng)前第2頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1