999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種面向智能交通場景的HBase時空索引設計

2020-04-14 04:54:29劉一流
電腦知識與技術 2020年4期

摘要:針對HBase無法直接實現海量時空數據查詢的問題,結合智能交通的常用場景,提出一種基于原生HBase接口的、結構簡單的時空索引設計。首先引入基于時間與空間信息的加鹽算法作為索引前綴,以避免產生HBase數據讀寫熱點。然后利用Google S2算法將經緯度信息降維為一維編碼,與時間、數據類型標識等字段組合形成時空索引。最后通過實驗驗證了所提出的HBase時空索引設計在TB級存儲場景下多維查詢的性能和數據分布。

關鍵詞:智能交通;時空索引;HBase;加鹽算法;GoogleS2

中圖分類號:TP311.133.1

文獻標識碼:A

文章編號:1009-3044(2020)04-0163-03

收稿日期:2019-12-05

基金項目:重慶市公安局科技攻關計劃項目(項目編號:G2018-15)

作者簡介:劉一流(1991—),男,河南許昌人,助理工程師,碩士,主要研究方向為時空大數據挖掘。

Spatio-temporal Index for Intelligent Transportation System Based on HBase

LIU Yi-liu

(Chongqing Municipal Public Security Bureau,Chongqing 401 120,China)

Abstract:Focusing on the issue that HBase couldn ' t execute multiple analysis directly when processing massive traffic data,a spatio-temporal index Based on HBase was proposed to support intelligent transportation applications.Firstly,a salting algorithm with temporal parameter and spatial parameter was introduced to generate rowkey prefix in order to avoid the data workload hot spot.Secondly,the di-mensionality reduction method Based on Google S2 was used to convert two-dimensional spatial position data into one-dimensional code,then the code was combined with elements like temporal dimension,data type and so on to generate the whole spatio-temporal in-dex.Finally,the experimental results show that the proposed HBase spatio-temporal index can effectively improve the traffic data que-ry performance when the data storage size is over TB.

Key words:intelligent transportation;spatio-temporal index;HBase;salting algorithm;Google S2

1 背景

隨著5G等新一代信息技術的崛起,智慧城市在中國經歷了井噴式的發展。據政府公開信息統計,僅在2013年至2018,年六年時間內,由各地方政府委托的智慧城市項目的中標數量從12個激增至162個,年復合增長率超過45%。智慧交通作為智慧城市的重要組成部分,可通過對城市交通時空數據進行分析,為公安、公路、交管等部門的決策提供依據,以支撐交通誘導、應急指揮、線路優化等應用。

依托監控、物聯網等技術,城市交通所產生的時空數據量級呈爆炸式發展,傳統關系型數據庫在存儲與處理這些數據時顯得力不從心。以HBase為代表的分布式NoSQL數據庫在海量數據存儲場景下具有優異的表現,并能集成MapReduce、Spark等計算框架作為工具對存儲的數據進行大規模分析。但HBase 自身也存在種種限制,如只有在基于Rowkey查詢時才能獲得高性能、只能通過內置Filter執行過濾操作、原生不支持SQL語句等。

目前已有部分將HBase應用于時空數據的研究。時空數據的快速檢索查詢一般都是通過建立高效的時空索引來實現,常用的時空索引包括R-Trees、Quad-Trees和K-DimensionTreesl[1-4]等結構。但上述時空索引方案在落地過程中,存在結構復雜、數據存儲不平衡、對存儲組件入侵性大等缺點。本文主要討論一種基于原生HBase接口的,針對智慧交通特有場景,設計結構簡單高效、對組件無侵入的索引方案,以支撐TB級智慧交通時空數據的檢索。

2 研究現狀

原生的HBase接口僅提供了Get、Scan、Filter等基礎查詢操作,不支持數據多維查詢。隨著HBase的大規模應用,其在多維查詢方面的限制也日益明顯。國內外關于HBase如何支持多維時空索引的研究從未停止過。下面針對主要研究結果做簡要介紹:

2.1 二級索引

國內外主要的Paas層廠商在其Hadoop平臺中將HBase二級索引作為一種企業增強特性,以彌補HBase在多維查詢方面的短板。其思路是通過借助協處理器[5]、Solr[6]、ElastieSearch[7]等組件為所需查詢的維度生成二級索引。

以華為的HIdex方案為例,每當插入一條數據時,會通過RegionServer上的協處理器對該數據中需要索引的列生成二級索引。用戶在查詢索引列數據時,通過調用華為重寫的SingleColumnValueFilter等過濾器,會自動查詢二級索引,極大的縮短查詢時間。

二級索引作為一種通用的多維索引解決方案,其缺點也非常明顯,基于協處理器的二級索引在列簇設置TL的場景下會出現索引與原始數據不一致的情況,多列數據做聯合索引的場景下查詢條件依然受限?;贓lasticSearch和Solr的實現的二級索引方案受搜索引擎組件自身性能的限制。并不適合直接拿來做時空數據檢索。

2.2 時空索引

GeoMesal[8]是一款由LocationTech開源的地理大數據處理工具套件,借助HBase、Cassandra、Accumulo等分布式存儲,通過基于三階Z-order填充曲線方法的Z3/XZ3索引,對經度、緯度時間三個維度進行編碼,向用戶提供大規模時空數據查詢能力。該方案對HBase組件的侵入較大,時空數據的寫人和讀取請求都需通過獨立的GeoServer處理,不利于與Mapreduce、Spark等分布式計算引擎進行整合。

文獻[9]和文獻[10]分別提出了兩種基于Geohash編碼與時間組合的時空索引結構,這類索引實現簡單,對組件無入侵。文獻[9]中的索引方案以時間中的年月部分和Geohash前綴組合作為Rowkey,通過列簇和列名區分不同日期的數據。該方案在數據日增量過億的場景下,單個Rowkey下存儲的數據過多,無法獲得理想的查詢性能。文獻[10]中探討了四種時間與Geohash組合生成Rowkey的方式,并分析了每種組合所適用的場景。但四種方案都使用時間或Geohash字段作為Rowkey前綴,在實踐中都會造成HBase讀寫熱點等問題,無法發揮HBase分布式存儲的優勢。同時,上述兩種方案所依賴的Geohash算法在空間填充曲線上存在突變,并且Geohash在選擇不同長度的前綴查詢時,覆蓋范圍跳變很大,在實踐中很難選擇合適的前綴長度。只能用較大范圍的前綴覆蓋需要查詢的區域,對數據再做過濾,直接影響到查詢效率。

3 基于HBase的時空數據索引方案

本文在研究各種Geohash編碼與時間組合生成時空索引方案的基礎上,借鑒其將經緯度編碼降維后與時間組合的思路,針對HBase存在讀寫熱點、Geohash覆蓋范圍跳變等問題做出改進。在HBase原生接口的基礎上,設計一種無入侵、結構簡單的時空索引。

3.1 索引結構設計

通過對智能交通場景下應用需求進行調研,在時空碰撞、車輛伴隨、道路擁堵分析等應用中,一般查詢的時間條件跨度為小時級別,常用空間查詢條件的覆蓋范圍多數不超過60000平方米,要求當查詢條件均符合上述范圍時能實時響應查詢請求。同時支持超出上述條件范圍的查詢請求,以支撐熱力圖、人流遷徙等應用。

針對上述應用需求,將經緯度通過Google S21[11]算法降維編碼生成CellID,并將時間與CllID等信息組合作為HBase Rowkey構建時空索引,具體結構如圖1所示,索引由五部分組成。

第一部分是鹽值,鹽值由時間和CelID值計算得到。首先截取數據中時間的年月日小時(yyMMddhh)部分,CellID以能夠覆蓋常用查詢范圍為基準,截取固定長度的前綴。然后將截取后的時間與CellID前綴合并做散列運算,散列運算的返回結果范圍控制在0到255之間,放在Rowkey的第一個字節。在HBase建表時,根據存儲數據的總量對表格做預分區,預分區數量最高支持256個。時空數據基于其鹽值均勻地分布在不同分區中,以解決HBase寫熱點的問題。

第二部分是時間,時間被截成年月日時(yyMMddhh)和分秒(mmss)兩部分,其中yyMMddhh部分用于將數據按小時維度切割,以在查詢時間條件為小時級時獲得最佳的性能。由于mmss部分拼接在CellID后,所以該部分不能作為Scan操作時的過濾條件,只能在Scan的結果返回后對結果集再做過濾。

第三部分是elID,CllID是基于GoogleS2算法將經緯度映射為投影上的坐標后,通過希爾伯特填充曲線對坐標編碼后生成的一個長整形數字。S2算法可以通過兩個CellID限定的區間范圍表示地圖上的一個區域。與Geohash相似的是S2可根據CllID前綴的長度控制其覆蓋的范圍,但是elllID不同長度的前綴覆蓋范圍跳變比Geohash更為平緩,同時可以通過調用S2庫的getCovering方法計算任意多邊形內包含的所有S2塊。比Geohash使用更為簡潔。

第四部分是數據類型標識,在智慧交通場景下,往往既希望能將不同部門采集的數據整合使用,又希望在需要時單獨查詢其中的某一種。通過在索引結構中增加數據類型標志字段,缺省情況下可默認查詢所有類型的數據,當需要查詢某個固定類型的數據時,通過添加FuzzyRowFilter可過濾指定數據類型標識的數據。

第五部分是數據MD5,將例如車牌等信息的MD5值作為時空索引的后綴,既可以避免時間、空間、數據類型標識完全相同的數據在寫入時相互覆蓋,也可以在時空碰撞等場景通過MD5實現去重。

通過上述五部分組合生成的Rowkey即為時空索引,索引對應的數據主體內容通過ProtoBuf序列化為二進制數組,作為Rowkey對應的內容存人列簇中。

3.2 檢索流程設計

該索引設計在時間跨度小于一小時、查詢空間條件未超過鹽值中CellID截取范圍的情況下能夠獲得最佳檢索性能。在上述理想條件下,根據查詢時間條件的年月日小時(yyMMddhh)部分和空間條件所對應的CellID值可直接計算出HBaseScan操作的Rowkey范圍,再對返回數據中時間的分秒(mmss)部分做過濾,即可獲得符合條件的所有結果。但在實際應用中,查詢時間條件可能會橫跨數天,查詢空間條件也可能需要一組Cel-IID才能覆蓋。此時上述時空索引設計無法直接獲得查詢結果,需要對查詢條件進行分解。檢索流程如圖2所示。

對于需要分解的查詢請求,首先按小時對查詢的時間條件進行分割。然后調用Google S2算法庫中的getCovering方法,獲取查詢區域包含的所有S2塊。將分割后的時間和S2塊組合為一組請求,并行向HBase發起查詢。最后將所有返回結果過濾后執行并集操作,即可獲得符合時空檢索條件的數據。由于不同請求計算出的鹽值不一樣,分解后的查詢操作會被分發到不同的分區上并行執行,以充分發揮HBase作為分布式存儲的優勢。

4 實驗結果及分析

4.1 實驗環境與數據

本文實驗的硬件環境為40臺至強E5-2620CPU、256CB內存、48TB硬盤配置的服務器。軟件環境為Hadoop 2.5.0、HBase 0.98.6、JDK 8、Centos 6操作系統。

實驗數據來自某智能交通項目。該項目平均每日時空數據條目增量為百億級,總計存量數據超過千億條,除去備份等因素,原始時空數據經Snappy算法壓縮后占用存儲約60TB。原始數據樣例如表1所示。

4.3 實驗結果及分析

本文實驗的主要目的是測試在不同區域范圍、不同時間范圍下時空索引的性能表現。同時統計該時空索引下HBase各分區數據分布情況,驗證是否存在熱點。

4.3.1 固定空間條件的查詢測試

模擬針對某商圈車流分析場景,查詢空間條件固定為6萬平方米的矩形,分別記錄查詢不同時間條件下返回的數據條數和耗時,形成統計圖如圖3所示。

可見隨著查詢時間范圍的增加,返回數據條數呈類似線性增長。受HBase拉取數據量增加的影響,查詢耗時有所增加。但得益于查詢被分割成多個查詢請求多線程執行,在查詢時間條件超過60分鐘的情況下,查詢耗時并沒有隨著時間條件呈線性增加,穩定在3.5秒左右。

4.3.2 固定時間條件的查詢測試

隨機設定查詢時間范圍為一小時。分別記錄查詢不同空間條件下返回的數據條數和耗時,形成統計圖如圖4所示。

隨著空間條件的范圍不斷擴大,返回數據條數和耗時都有了明顯增加。在查詢空間條件小于20000平方米的情況下,因查詢請求未滿足分解條件,只會通過單線程拉取數據,此時從HBase拉取數據的平均速度在每秒25000條左右。當查詢空間條件大于20000平方米時,查詢會按照空間條件被分解為多個請求并行處理,拉取數據的平均速度增加至每秒85000條。隨著查詢的空間條件進-步增加,分解后的請求并行數會隨之增加,進而提升每秒從HBase拉取數據的速度,減少查詢耗時。

4.3.3 存量數據的分區分布統計

根據HBase在HDFS存儲路徑下各個分區所對應的文件大小。形成統計圖如下圖5所示。在建表時預置了256個分區,最大分區249GB,最小分區為226GB。得益于加鹽算法的調優,從分布看,絕大多數分區的大小控制在230GB到245GB之間。沒有出現數據熱點的情況。

5 結束語

本文針對基于HBase存儲的海量時空數據多維查詢場景,結合智能交通應用的查詢特點,在現有研究的基礎上提出了一種基于HBase原生接口的、結構簡單的時空索引結構。利用加鹽算法解決現有索引結構的HBase數據熱點問題,利用GoogleS2算法替換Geohash算法以解決查詢層級間覆蓋范圍跳變的問題。經實驗驗證,該時空索引結構設計在TB級存儲場景下獲得了較好的查詢檢索性能,能夠滿足智能交通場景下時空碰撞、熱力圖、車輛伴隨、道路擁堵分析等應用的需求。但是需要:注意的是,該時空索引中的加鹽算法針對應用場景在時間條件與空間條件上做了妥協。在實踐中需根據常用時空條件的范圍對加鹽算法的參數進行調優,以獲得最佳查詢性能。

參考文獻:

[1]Kothuri R K V,Ravada S,Abugov D.Quadtree and R-tree in-

dexes in oracle spatial[C]/Proceedings of the 2002 ACM SIG-MOD international conference on Management of data一SIG-MOD '02,June 3-6,2002.Madison,Wisconsin.New York,USA:ACM Press,2002.

[2]Gong J,Ke S,Zhu Q,et al.An efficient trajectory data index

integrating R-tree,hash and B*-tree[J].Acta Geodaetica et Cartographica Sinica,2015,44(5):570-577.

[3]葉小平,郭歡,湯庸,等.基于相點分析的移動數據索引技術[J].計算機學報,2011,34():256-274.

[4]尹章才,李霖,王琤.基于HR-樹擴展的時空索引機制研究[J].武漢大學學報:信息科學版,2007,32(12):1131-1134.

[5]丁飛,陳長松,張濤,等.基于協處理器的HBase區域級第二索引研究與實現[J].計算機應用,2014(z1):181-185.

[6]王文賢,陳興蜀,王海舟,等.一種基于Solr的HBase海量數據二級索引方案[].信息網絡安全,2017(8):39-44.

[7]鄒敏昊.基于Lucene的HBase全文檢索功能的設計與實現[D].南京:南京大學,2013.

[8]James N Hughes,Andrew Annex,Christopher N.Eichelberger,Anthony Fox,Andrew Hulbert,Michael Ronquest.GeoMesa:a distributed architecture for spatio-temporal fusion[P].Defense + Security Symposium,2015.

[9]Fox A,Eichelberger C,Hughes J,et al.Spatio-temporal index-

ing in non-relational distributed databases[C]//2013 IEEE International Conference on Big Data,October 6-9,2013.Sili-con Valley,CA,USA.EEE,2013:.

[10]房俊,李冬,郭會云,等.面向海量交通數據的HBase時空索引[J].計算機應用,2017,37(2):311-315.

[11].Google.S2 Geometry[EB/OL].(2019-12-03).http://s2geome-try.io.

[通聯編輯:謝媛媛]

主站蜘蛛池模板: 亚洲嫩模喷白浆| 精品国产aⅴ一区二区三区| 91在线国内在线播放老师| 又大又硬又爽免费视频| 国产一区免费在线观看| 国产精品免费露脸视频| 久久99精品国产麻豆宅宅| 亚洲色图欧美在线| 91精品福利自产拍在线观看| 91久久国产热精品免费| 91丝袜在线观看| 国产精品尤物在线| 99re在线免费视频| 高清无码手机在线观看 | 福利视频久久| 亚洲精品无码不卡在线播放| 无码精品国产VA在线观看DVD| 国产经典在线观看一区| 极品私人尤物在线精品首页| 福利姬国产精品一区在线| 国产精品一区二区国产主播| 色噜噜狠狠狠综合曰曰曰| 久久综合色天堂av| 亚洲无码免费黄色网址| 国产青榴视频在线观看网站| 国产高清在线观看91精品| 在线网站18禁| 色老头综合网| 成年女人a毛片免费视频| 亚洲男人天堂2020| 国产精品一线天| 97国内精品久久久久不卡| 亚洲人成影视在线观看| 亚洲一级毛片在线观| 热99精品视频| jizz国产视频| 国产午夜一级毛片| 亚洲国产成人久久精品软件| 亚洲区视频在线观看| 女人18一级毛片免费观看| 午夜毛片福利| 人与鲁专区| 一级福利视频| 国产欧美日韩18| 欧美精品成人一区二区在线观看| 日本久久网站| 99爱在线| 老司机午夜精品网站在线观看 | 亚洲天堂视频在线观看免费| 国产美女视频黄a视频全免费网站| 视频二区欧美| 91色在线观看| 色婷婷电影网| 色综合色国产热无码一| 亚洲精品国产首次亮相| 国产精品3p视频| 韩国v欧美v亚洲v日本v| 国产欧美日韩一区二区视频在线| 99久久国产综合精品女同| 亚洲v日韩v欧美在线观看| 香蕉久久国产超碰青草| 四虎成人精品在永久免费| 久久国产香蕉| 欧美乱妇高清无乱码免费| 91精品在线视频观看| 国产精选自拍| 国产精品久久久久婷婷五月| 国产爽妇精品| 日韩一二三区视频精品| 国产va免费精品观看| 国内精品91| 毛片免费网址| 在线播放国产99re| 欧美爱爱网| 亚洲视频三级| 国产亚洲高清在线精品99| 精品超清无码视频在线观看| 国产无码在线调教| 999精品视频在线| 五月天婷婷网亚洲综合在线| 欧美中文字幕无线码视频| 久久精品aⅴ无码中文字幕|