色偷偷伊人-色偷偷综合-色无五月-色香蕉影院-色亚洲影院

計算機期刊投稿基于HBase的矢量空間數據存儲與訪問優化

所屬欄目:計算機應用論文 發布日期:2015-11-26 17:03 熱度:

  隨著現在科技的發展,各行各業都開始使用計算機和自動化來工作了,數據量也越來越大。面對海量和復雜的空間矢量數據,如何對其進行高效存儲、管理與發布,已成為一個迫切需要解決的問題。本文是一篇計算機期刊投稿的論文范文,主要論述了基于HBase的矢量空間數據存儲與訪問優化。

   摘要:為了對空間矢量數據進行高效存儲、管理與發布,將分布式存儲應用于地理信息系統(GIS)的海量矢量空間數據管理。�用網格法對地理空間進行劃分,構建地理空間分塊索引表,計算出每個網格單元對應的ID;同時為了提高查詢效率,引入網格索引ID,設計了一種結合網格索引ID、空間對象幾何中心點橫坐標、空間對象幾何中心點縱坐標、空間對象圖層四種信息的行鍵方案;然后,為了進一步篩選查詢縱坐標范圍的行鍵,利用HBase的過濾機制,在行鍵方案基礎上,具體設計集空間對象幾何中心坐標點縱坐標和圖層信息的組合列族,使得HBase方便高效地管理矢量空間數據,大幅提高查詢的處理速度。最后利用Hbase集群環境對所提方法進行驗證,該方法具有較好的可行性和較高的效率。

  關鍵詞:云計算,HBase,行鍵,過濾,組合列族

  0引言

  云計算是一種新的分布式計算架構,具有大規模擴展、水平分布的特性,可以提供無限的存儲能力和計算能力。將分布式存儲應用于地理信息系統(Geographic Information System, GIS)領域是解決海量矢量空間數據管理問題的有效手段[1]。HBase使用Hadoop的分布式文件系統(Hadoop Distributed File System, HDFS)作為底層存儲,是一個分布式、按列存儲的數據庫。HDFS適合于存儲海量數據,但它設計是用于大吞吐量數據的,并且有一定的延時,不太適合吞吐量小且要求低延時的訪問操作; HDFS只能在文件的末尾添加數據,不支持在文件的任意位置進行修改。地理空間數據的處理,如單條地理對象的查詢,數據量不是很大,但要求查詢延時短;為了方便對空間數據的處理,地理位置相鄰的空間對象盡可能在邏輯存儲上也相鄰,所以對地理數據執行添加操作時,不能簡單地將記錄添加到文件末尾;空間數據經常更新,而HDFS不支持文件在任意位置的修改。綜上所述,僅使用HDFS存儲空間數據并不合適。

  HBase適合于存儲大數據,支持單條記錄的快速查詢,在任意指定位置單條或批量添加、刪除數據。HBase是基于列稀疏存儲的行/列矩陣,不存儲列值為空的表元素,大大節省了存儲空間。HBase與HDFS一樣,支持MapReduce框架作分布式計算操作。HBase的行鍵設計靈活,自動按照字典序排序。HBase的這些特性,十分適合存儲和處理空間數據[1]。

  為了能夠高效存儲和處理空間數據,本文研究基于HBase的分布式存儲,�用網格法對地理空間進行劃分,構建索引表,計算出每個網格單元對應的ID,設計行鍵和列族方案,提高查詢效率,為解決空間矢量數據存儲與處理問題提供一種初步的探索方案。

  1相關工作

  1.1Hbase數據模型

  HBase是Google云計算的BigTable技術的開源實現,它是一個架構在HDFS上的面向列的、多維度的映射表,具有高可靠性、高性能和高可用性。HBase表結構由行關鍵字、列族、時間戳組成。HBase 中所有數據都是字符類型。下面介紹一下 HBase 的邏輯數據視圖和物理視圖。

  1)邏輯視圖。表1對應了Hbase表的邏輯數據模型。一個HBase表組成的3個基本元素為行關鍵字、時間戳和列族。

  2) 物理視圖。HBase是列存儲模式的,在物理存儲方面,它是將邏輯上的行分割,并按照每行的各個列族來存儲,將各個列族保存到一個或多個HRegion中。

  1.2矢量空間數據的存儲模型

  矢量數據一般包括空間坐標數據、屬性數據和拓撲數據。每一個圖層建一張表,根據矢量數據的特點設計的基于HBase的存儲圖層表結構如表2所示。表中的列族依次是空間數據列族、屬性列族和拓撲關系列族。每種數據格式都是字符串類型,使用時解析成相應的數據類型[2]。

  對于矢量數據,根據不同比例尺、不同圖層建立不同的表,表之間沒有關系,Row key是圖層中矢量要素的唯一ID號。屬性數據可有多行,每行代表矢量要素的一種屬性;坐標數據采用熟知二進制(WellKnown Binary,WKB)格式存儲[3];如有拓撲關系數據,則將數據存儲到拓撲列族中。

  第11期

  張葉等:基于HBase的矢量空間數據存儲與訪問優化

  計算機應用 第35卷

  2矢量空間數據的存儲

  2.1矢量空間數據存儲的改進總體思路

  基于HBase的空間數據處理研究尚在起步階段,相關文獻比較有限。在先前的研究中,主要關注點是采用Hilbert曲線降維法將多維坐標降維為字符串[4-5],以便HBase存儲和處理。Hilbert曲線降維法的優點是Hilbert能夠利用數學模型將多維坐標降維為字符串,并且能夠最大限度地保證空間對象之間的邏輯相關性; 缺點是降維過程中運算量比較大,尤其當空間數據總量發生變化的情況下,需要重新構建Hilbert排列碼及索引順序號,對后續的數據處理帶來極大的不便。

  不同于Hilbert曲線降維的方法,丁琛等[6]提出結合HBase的機制和Shapefile格式空間數據特點,設計HBase表的行鍵。同時提出利用HBase內部提供的過濾機制,將空間數據中多維坐標的操作轉化為HBase中多個一維字節流的操作[7-8],行鍵設計為空間對象幾何中心橫坐標+縱坐標+圖層,但是按這種方式存儲數據,掃描時先按橫坐標后按縱坐標,這種排序導致了很多南北位置簇之間的跳躍�?臻g里彼此接近的點在HBase里不一定彼此接近。每次從北方位置簇跳到南方位置簇就意味著讀取了不需要的數據。

  本文在文獻[6]的基礎上,加入數據劃分的思想,提出了一種改進的適合空間數據處理的HBase行鍵的方法,為數據的分布式或并行操作提供基礎,并行處理策略能大大提高GIS的能力。在行鍵方案基礎上,具體設計集空間對象幾何中心坐標點縱坐標和圖層信息的組合列族,設計為過濾列族,使得HBase方便高效地管理矢量空間數據,大幅提高查詢的處理速度。   2.2矢量空間數據存儲行鍵方案

  本文采用網格法[7]對地理空間進行劃分,計算出每個網格單元的ID,作為行鍵的一部分。將表的行鍵設計為網格索引ID+空間對象幾何中心點橫坐標+空間對象幾何中心點縱坐標+空間對象圖層。這樣設計的原因如下:

  1)每一個空間對象都抽象為一個坐標點。點對象本身就是用點坐標表示,無需轉換。線和面是由一系列的坐標串組成,可以把它們抽象為圖形的幾何中心坐標點。

  2)分別取出二維坐標點的橫坐標和縱坐標,通過字符串的方式將橫坐標和縱坐標進行拼接。為了提高空間查詢的效率,需要對入庫的不同圖層數據構建空間索引。在網格空間索引中,根據不同的比例尺應劃分不同尺度的網格。使用網格索引ID進行區分。同時不同圖層的空間對象可能幾何中心坐標相同,為了最大可能性地保證空間對象與行鍵的唯一對應性,行鍵中需要加上圖層信息。假設有一個空間對象,網格索引ID,它屬于L圖層,其幾何中心坐標點為P(x,y)。它的行鍵可以設計成ID+x+y+L。

  3)根據行鍵長度設計的原則,結合空間數據的特性,將行鍵的長度定義為32字節(8字節的整數倍),其中ID占6字節,x坐標占12字節,y坐標占11字節,圖層占3字節。

  例如某一個空間對象的ID為005401,圖層屬性為river,其幾何圖形中心坐標點為(120.564324567890854,61.8976571),則它的行健設計為:00540112056432456761897657100riv。

  這種行鍵設計的特點:

  1)行鍵與空間對象一一對應。使用ID、橫坐標、縱坐標和圖層信息能最大可能地保證空間對象與行鍵的唯一對應。

  2)適合數據檢索。行鍵在HBase中按字典序排序[8],首先是按照對象所在的網格ID字典序排列,當ID相同的情況下,按照幾何中心坐標點橫坐標字典序排列,當橫坐標相同的情況下,按照對象的幾何中心坐標點縱坐標字典序排列,當橫坐標和縱坐標都相同的情況下,按照圖層信息的字典序排列。行鍵的排序特點在一定程度上適合于空間數據的檢索。

  2.3矢量空間數據存儲列族設計

  矢量空間對象一般至少包括兩種數據屬性:幾何屬性和非幾何屬性。因此,存儲空間數據的HBase表應包含2個基本列族:幾何屬性列族和非幾何屬性列族[9-10]。為了進一步篩選查詢縱坐標范圍的行鍵,方便空間數據的處理,本文在前述文獻基礎上提出利用HBase的過濾機制,將空間對象幾何中心坐標點的縱坐標信息和圖層信息存儲到HBase表中,并為其專門設計一個列族,稱為過濾列族,用它來限定行鍵篩選的范圍,運用捆綁過濾的方法加快空間數據的處理。

  2.3.1幾何屬性列族和非幾何屬性列族

  將幾何屬性數據存儲在Geometry(幾何屬性)列族中。該列族包含POINT(點)、LINESTRING(線)和POLYGON(面)3個列,分別表示為(Geometry:POINT)、(Geometry:LINESTRING)和(Geometry:POLYGON)。存儲的列值中點對象為一個坐標點,GeoTools存儲形式為(x y);線對象為首尾不相連的一列坐標串,GeoTools存儲形式為(x1 y1, x2 y2,…, xn yn);面對象為首尾相連的一列坐標串,GeoTools存儲形式為((x1 y1,x2 y2,…,xn yn,x1 y1))。Geometry列族的設計如表3所示。

  將非幾何屬性數據存儲在Attribute(非幾何屬性)列族中。將對象非幾何屬性名稱作為HBase表的列限定符,列限定符在數據導入HBase時可以動態增加,而不用去修改表模式。

  例如,假設River(河流)圖層有兩個地理對象,分別為河流A和河流B,河流A的非幾何屬性有Type(類型)、Long(長度)、Level(河流級別,包含一級流域、二級流域、三級流域)等,河流B的非幾何屬性有Type(類型)、Long(長度)、Station comit(所經過的測站點總數)等。HBase表的Attribute列族設計如表4所示。

  2.3.2過濾列族

  過濾列族的設計如表5所示。過濾列族的Qualifier(列限定符)有Coordinate Y和layer L,表示行鍵對應的空間對象幾何中心坐標點的縱坐標和圖層,Value(列值)存儲的是它們的值。

  例如,在圖1所示的空間數據區域中,需要查詢區域A中位于圖層A的(1,1)~(2,2)區域內的對象。若僅用行鍵范圍設置scan來掃描表,則查詢結果包含行健為(A+1+1+圖層1)、(A+1+2+圖層2)、(A+1+3+圖層3)的記錄,顯然 (A+1+3+圖層3)的記錄不應包含在(1,1)~(2,2)區域內,這不是正確的查詢結果。依據行鍵的范圍,只能剔選出所要查詢橫坐標范圍的行鍵,而無法篩選查詢縱坐標和圖層范圍的行鍵,所以需要設置過濾列族進行進一步過濾。

  2.4矢量空間數據存儲表模式總體設計

  基于上述改進,面向空間數據的HBase表邏輯存儲模式可以設計為表6所示。表包含3個列族,Fliter(過濾)列族、Geometry(幾何屬性)列族和Attribute(非幾何屬性)列族。過濾列族只包含一個列,即Coordinate Y+Layer L(空間對象的幾何中心坐標點的縱坐標+圖層)。幾何屬性列族包含Point (點)、Line (線)和Polygon (面)3種列,非幾何屬性列族包含對象的名稱、類型、特性等相關的列,如Layer(對象的圖層信息)、Name(名字)等。

  3分析與評估

  3.1實驗環境

  在實驗中,搭建了6臺服務器的Hadoop+HBase集群,其中1個節點作為HMaster,另外5個節點作為RegionServer,隨機選取3個節點作為ZooKeeper服務器。   所有服務器的硬軟件配置均相同。硬件配置為:8核Intel Xeon E5620 2.40GHz CPU,內存規格為16GB DDR3,500GB SATA硬盤,網卡速度為1000Mb/s。

  軟件配置為:操作系統為64位的Centos 6.4, JDK版本為1.6.0_31,Hadoop 版本為0.20.203,HBase版本為0.94.3, GeoTools工具的版本為2.7.2。數據導入的客戶端硬軟件配置與服務器相同,且與服務器在同一局域網內。

  3.2矢量數據導入HBase結果

  本文所采用的數據源選取了數據堂的全國省級、地市級、縣市級行政區劃矢量數據中的一級河流、四級河流和五級河流數據。它采用了Shapefile格式的矢量空間數據模型。在7個節點組成的集群環境中利用put()方法將全國的一級河流、四級河流和五級河流數據導入HBase數據庫。數據導入HBase數據表的各項結果如表7所示。

  3.3查詢與分析

  根據空間范圍查詢矢量數據的步驟如下:首先根據空間范圍計算網格的ID,然后從不同圖層的索引表中讀取網格ID所包含的對象,之后根據對象讀取不同圖層的空間數據和屬性數據,最后將查詢的數據寫入本地客戶端。

  一級河流、四級河流和五級河流數據采用網格索引的方法并行構建索引,本文基于行鍵和過濾列族構建索引查詢記為NewKNN(New KNearestNeighbor);若不構建索引,全表掃描查詢記為KNN(KNearestNeighbor);若存儲的列表中不設計過濾列族,構建索引查詢記為NOKNN(NO KNearestNeighbor)。表8列出了在6個節點環境下利用KNN與NewKNN和NOKNN三種查詢方法查詢一級河流、四級河流和五級河流數據所需要的時間,圖2給出了查詢時間的對比。

  從以上實驗可以看出,通過合理設計表行鍵和列族,將HBase應用于海量空間矢量數據管理可以提高空間數據的存儲效率,大幅提高查詢的處理速度,獲得較大的存儲和較高的空間分析計算效率。這種方法雖提高了查詢效率,但是性能與數據冗余、一致性是相互制約的關系。如果實現了高性能的范圍檢索,必然需要靠冗余索引數據來提升性能,而數據冗余會導致更新數據時難以實現一致性,特別是分布式場景下,會產生數據冗余,存儲比較浪費。

  4結語

  本文利用HBase分布式數據庫的列存儲模型特點,對空間數據的分布式存儲機制進行研究,設計存儲矢量空間數據的表模式,合理設計了表行鍵和列族,并提出了矢量空間數據的存儲模型。最后,驗證了本文模型的有效性和實用性。對于基于HBase的空間數據存儲效率的提高和索引結構的處理將是下一步研究的內容。

  參考文獻:

  [1]CHEN C, LIN J, WU X, et al. Massive geospatial data cloud storage and services based on NoSQL database technique[J]. Journal of GeoInformation Science, 2013, 15(2):166-174.(陳崇成,林劍峰,吳小竹,等.基于NoSQL的海量空間數據云存儲與服務方法[J].地球信息科學學報, 2013,15(2):166-174.)

  [2]YANG G. The application of MapReduce in the cloud computing[C]// Proceedings of the 2011 2nd International Symposium on Intelligence Information Processing and Trusted Computing. Piscataway: IEEE, 2011: 154-156.

  [3]LI Y, GUAN J, LI J. A technology to import data into a spatial database[J]. Journal of Computer Research and Development, 2004,41(S1): 496-501.(李玉珍,關佶紅,李俊.GML空間數據存儲技術研究[J].計算機研究與發展, 2004,41(S1): 496-501.)

  [4]WANG L, CHEN B, LIU Y. Distributed storage and index of vector spatial data based on HBase[C]// Proceedings of the 2013 21st International Conference on Geoinformatics. Piscataway: IEEE, 2013:1-5.

  [5]LU F, ZHOU C. A GIS spatial indexing approach based on Hilbert ordering code[J]. Journal of ComputerAided Design and Computer Graphics, 2001,13(5):424-429.(陸鋒,周成虎.一種基于Hilbert排列碼的GIS空間索引方法[J].計算機輔助設計與圖形學學報,2001,13(5):424-429.)

  [6]DING C,BAO P. Research on distributed storage and parallel query algorithm of spatial data in HBase[D]. Nanjing: NanJing Normal University, 2012.(丁琛,鮑培明.基于HBase的空間數據分布式存儲和并行化查詢算法的研究[D].南京: 南京師范大學,2012.)

  [7]FAN J,LONG M, XIONG W. Research of vector spatial data distributed storage based on HBase[J]. Geography and GeoInformation Science, 2012,28(5):39-42.(范建永,龍明,熊偉.基于HBase的矢量空間數據分布式存儲研究[J].地理與地理信息科學,2012,28(5):39-42.)

  [8]HSU Y T, PAN Y C, WEI L, et al. Key formulation schemes for spatial index in cloud data managements[C]// Proceedings of the 2012 IEEE 13thInternational Conference on Mobile Data Management. Piscataway: IEEE, 2012: 21-26.

  計算機期刊投稿推薦雜志《計算機工程》是中國電子科技集團公司第三十二研究所(華東計算技術研究所)主辦的學術性刊物,是上海市計算機學會會刊。主要特點:以最快的速度、科學求實的精神,精選刊登代表計算機行業前沿科研、技術、工程方面的高、精、尖優秀論文。

文章標題:計算機期刊投稿基于HBase的矢量空間數據存儲與訪問優化

轉載請注明來自:http://www.anghan.cn/fblw/dianxin/yingyong/28882.html

相關問題解答

SCI服務

搜論文知識網 冀ICP備15021333號-3

主站蜘蛛池模板: 欧美日韩一区二区综合在线视频 | 青草在线视频 | 精品欧美日韩一区二区 | 99久久久精品免费观看国产 | 日本v片免费一区二区三区 日本wwwwwxxxxx | 国产的大片免费看 | 成人黄页网站免费观看大全 | 在线观看欧美三级 | 日本人一级毛片免费完整视频 | 国产麻豆精品hdvideoss | 农村寡妇特一级毛片 | 国产精品400部自产在线观看 | 日韩视频免费在线播放 | 午夜a视频| 妖精www视频在线观看高清 | 激情六月丁香婷婷 | 国产自自拍 | 黄网站免费在线观看 | 国产专区在线 | 国产人成精品综合欧美成人 | pr社萌汁福利视频在线观看 | 国内精品自在欧美一区 | 91嫩草视频在线观看 | 国产成人精品日本亚洲网址 | 最新日韩精品 | 国产国产人在线成免费视频69 | a级毛片免费看 | a久久久久一级毛片护士免费 | 国产麻豆精品在线观看 | 国产一级一片 | 特黄a三级三级三级 | 亚洲精品国产成人中文 | 午夜影院一区二区三区 | 国产二区视频在线观看 | 福利一区二区在线观看 | 99国内视频| 国产精品日韩专区 | 免费人成黄页在线观看视频国产 | 在线看片成人 | 国产一级不卡毛片 | 免费jizz在在线播放国产 |