欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式時間序列地理信息服務(wù)系統(tǒng)及方法與流程

文檔序號:11519715閱讀:320來源:國知局
一種分布式時間序列地理信息服務(wù)系統(tǒng)及方法與流程
本發(fā)明涉及氣象科學(xué)和大數(shù)據(jù)技術(shù)應(yīng)用領(lǐng)域,具體涉及一種分布式時間序列地理信息服務(wù)系統(tǒng)及方法。
背景技術(shù)
:由于氣象自動站本身基數(shù)龐大,每個自動站每分鐘都在產(chǎn)生數(shù)據(jù),數(shù)據(jù)日益龐大。采用專用關(guān)系型數(shù)據(jù)庫來維護這種量級的數(shù)據(jù)成本頗高;也有方案利用分布式方案解決數(shù)據(jù)存儲的問題,但依然需要針對數(shù)據(jù)樣本投入大量的研發(fā)精力。目前在本
技術(shù)領(lǐng)域
與本提案較為接近的技術(shù)方案是針對傳統(tǒng)的數(shù)據(jù)集中存儲單點查詢的問題,提供了一種基于海量氣象數(shù)據(jù)的存儲與檢索方法,利用hadoop平臺,通過對分布式非關(guān)系型數(shù)據(jù)庫hbase建立二級索引,并且將數(shù)據(jù)通過轉(zhuǎn)換、遷移導(dǎo)入到云平臺,實現(xiàn)海量數(shù)據(jù)的可靠存儲與快速檢索,其包括如下步驟:數(shù)據(jù)過濾;在hbase中定義對應(yīng)的表格式;建立二級索引;分情況進行數(shù)據(jù)導(dǎo)入;分情況進行數(shù)據(jù)檢索。該發(fā)明能實現(xiàn)數(shù)據(jù)的實時查詢,也避免以往存儲和維護大量數(shù)據(jù)所產(chǎn)生的高昂成本,在保證敏感數(shù)據(jù)安全的前提下能夠更經(jīng)濟高效地實時查詢海量氣象數(shù)據(jù)。但是現(xiàn)有技術(shù)的方案也存在以下缺陷:1.現(xiàn)有技術(shù)僅描述了hbase建立二級索引理論,并沒有提供針對氣象數(shù)據(jù)的具體建表方案和二級索引方案。2.現(xiàn)有技術(shù)的二級索引理論是hbase二級索引的通用理論,并沒有針對氣象數(shù)據(jù)優(yōu)化,浪費了存儲空間。3.現(xiàn)有技術(shù)僅提出了存儲檢索方案,要最終改善氣象數(shù)據(jù)使用狀況還需要系統(tǒng)化的整體解決方案。技術(shù)實現(xiàn)要素:本發(fā)明所要解決的技術(shù)問題是提供一種分布式時間序列地理信息服務(wù)系統(tǒng)及方法,可以針對海量自動站數(shù)據(jù)的存儲、檢索和分析構(gòu)建了專有系統(tǒng),為在地理位置上廣泛分布的自動站采集來的監(jiān)控數(shù)據(jù)提供存儲、索引和服務(wù),并且使這些數(shù)據(jù)更容易訪問。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種分布式時間序列地理信息服務(wù)系統(tǒng),包括數(shù)據(jù)采集模塊、數(shù)據(jù)儲存模塊和數(shù)據(jù)查詢模塊,所述數(shù)據(jù)采集模塊,其用于對分布的自動氣象站中的數(shù)據(jù)以消息隊列的方式進行采集;所述數(shù)據(jù)存儲模塊,其用于采用分布式非關(guān)系型的數(shù)據(jù)庫對所述數(shù)據(jù)采集模塊采集的數(shù)據(jù)以時間序列的形式進行列式存儲;所述數(shù)據(jù)查詢模塊,其用于通過分布式的多個進程獨立與所述數(shù)據(jù)存儲模塊交互,實現(xiàn)可伸縮的查詢服務(wù)。本發(fā)明的有益效果是:本發(fā)明一種分布式時間序列地理信息服務(wù)系統(tǒng)通過系統(tǒng)封裝復(fù)雜的數(shù)據(jù)采集、存儲、查詢的實現(xiàn)過程,向客戶提供更適合氣象數(shù)據(jù)的簡單的高可用的數(shù)據(jù)服務(wù),采用分布式非關(guān)系型的數(shù)據(jù)庫可以針對海量自動站數(shù)據(jù)的存儲、檢索和分析構(gòu)建了專有系統(tǒng),為在地理位置上廣泛分布的自動氣象站采集來的監(jiān)控數(shù)據(jù)提供存儲、索引和服務(wù),并且使這些數(shù)據(jù)更容易訪問;同時,數(shù)據(jù)查詢模塊由多個運行在不同服務(wù)器上的無狀態(tài)的服務(wù)進程組成,不同的進程獨立與數(shù)據(jù)存儲模塊交互,獨立緩存,獨立提供http訪問接口,當(dāng)有大量客戶端訪問時,可以通過負(fù)載均衡服務(wù)器進行路由分?jǐn)倝毫Φ蕉嗯_查詢服務(wù)器,從而實現(xiàn)了本系統(tǒng)高可用、可伸縮的查詢服務(wù),通過調(diào)用數(shù)據(jù)服務(wù)接口,不僅可以直接查詢獲取數(shù)據(jù),還可以在自動氣象站數(shù)據(jù)服務(wù)的基礎(chǔ)上構(gòu)建應(yīng)用,比如自動氣象站網(wǎng)和自動氣象站app。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。進一步,還包括數(shù)據(jù)分析模塊,所述數(shù)據(jù)分析模塊,其用于基于spark對所述數(shù)據(jù)存儲模塊中存儲的數(shù)據(jù)直接進行分析和/或利用分析庫tgisml進行分析。采用上述進一步方案的有益效果是:數(shù)據(jù)分析模塊免去客戶端重復(fù)造輪子的困擾,為分析海量自動氣象站數(shù)據(jù)提供便利。進一步,所述分析庫tgisml為,以spark計算框架和tgis數(shù)據(jù)模型為基礎(chǔ)、依托spark的機器學(xué)習(xí)mllib庫、且針對tgis庫保存的地理信息數(shù)據(jù)結(jié)構(gòu)而開發(fā)的一種數(shù)據(jù)分析庫。進一步,所述分布式非關(guān)系型的數(shù)據(jù)庫具體為hbase,所述hbase中包含有數(shù)據(jù)表data,在所述數(shù)據(jù)表data中,包含有一個列族t,在所述數(shù)據(jù)表data列族t中,包含有一個行鍵和多個列限定符;所述數(shù)據(jù)表data列族t的行鍵中存儲有“行政區(qū)代碼+觀測時間+站點類型+站點編碼”,其中,所述“行政區(qū)代碼”長度為3個字節(jié),所述“觀測時間”的長度為4個字節(jié),所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié);所述數(shù)據(jù)表data列族t的列限定符中存儲有“值類型標(biāo)識+要素名”,其中,所述值類型標(biāo)識的長度為1個字節(jié),且前4位保留,后4位存儲有值的類型和格式,所述要素名的長度為3個字節(jié)。采用上述進一步方案的有益效果是:所述數(shù)據(jù)表data通過行政區(qū)代碼作為行鍵的起始符號,可以防止時間序列數(shù)據(jù)單向增長造成的少量region寫入熱點負(fù)擔(dān),新的行鍵設(shè)計包含了需要的所有信息,對比傳統(tǒng)存儲模型設(shè)計的采集數(shù)據(jù)存儲表的行鍵減少了存儲空間;同時列名長度減少后,用hbase取相同行數(shù)時明顯減少了key-value中key占據(jù)的空間。進一步,所述數(shù)據(jù)表data列族t的行鍵中存儲的“觀測時間”為小時整點時間,而對于一個小時內(nèi)的分鐘數(shù)據(jù)則壓縮在對應(yīng)小時整點時間的一個單元格中存儲。采用上述進一步方案的有益效果是:由于把分鐘數(shù)據(jù)壓入小時數(shù)據(jù)的單個列中存儲,顯著壓縮了數(shù)據(jù)的行數(shù)。進一步,所述hbase中還包含有信息表info,所述信息表info與所述數(shù)據(jù)表data相互映射,在所述信息表info中,包含有兩個列族,分別為列族id和列族name;在所述信息表info列族id中,包含有行鍵和列限定符,所述信息表info列族id的行鍵中存儲有“站點類型+站點編碼”,其中,所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié);所述信息表info列族id的列限定符中存儲有“站點名稱+經(jīng)緯度數(shù)值+海拔高度+行政區(qū)代碼”;在所述信息表info列族name中,包含有行鍵和列限定符,所述信息表info列族name的行鍵中存儲有“站點名稱”;所述信息表info列族name的列限定符中存儲有“站點編碼”。采用上述進一步方案的有益效果是:信息表info將原來每行重復(fù)存儲的站點名稱、經(jīng)緯度數(shù)值、海拔高度、行政區(qū)代碼等信息單獨存儲,減少了重復(fù)存儲;通過編寫過濾器,可以很容易實現(xiàn)通過輸入字符串自動搜索匹配站點名稱和站點編碼。進一步,所述hbase中還包含有時間序列查詢索引表data_ts_index,所述時間序列查詢索引表data_ts_index中包含有一個行鍵,所述時間序列查詢索引表data_ts_index的行鍵中存儲有“站點類型+站點編碼+觀測時間”,所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié),所述“觀測時間”的長度為4個字節(jié)。采用上述進一步方案的有益效果是:時間序列查詢索引表data_ts_index除了“查詢某個范圍內(nèi)、某一時刻、某一類站點的數(shù)據(jù)”這個維度的查詢是常用查詢之外,還有另一個維度的查詢功能:“查詢某個站點、某段時間的數(shù)據(jù)”,也就是查詢站點的時間序列數(shù)據(jù),掃描數(shù)據(jù)時,可以指定明確的起止位置,優(yōu)化了時間序列查詢時間。進一步,所述hbase中還包含有報警查詢索引表data-alert-index,所述報警查詢索引表data-alert-index中包含有1個行鍵和1個列族f;所述報警查詢索引表data-alert-index行鍵中存儲有“行政區(qū)代碼+觀測時間+報警要素名+站點類型+站點編碼”,所述“行政區(qū)代碼”的長度為3個字節(jié),所述“觀測時間”的長度為4個字節(jié),所述“報警要素名”的長度為3個字節(jié),所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié);在所述報警查詢索引表data-alert-index列族f中,只有1個列限定符v,所述報警查詢索引表data-alert-index列族f的列限定符v代表報警要素的報警值。采用上述進一步方案的有益效果是:報警查詢索引表data-alert-index是針對“某個范圍內(nèi)、某一時刻、某一類站點、某個要素值”是否超出某預(yù)警值而設(shè)立的查詢索引表。進一步,所述hbase中還包含有地理位置查詢索引表data-geo-index,所述地理位置查詢索引表data-geo-index中包含有行鍵,所述地理位置查詢索引表data-geo-index行鍵中存儲有利用空間索引geohash算法對每個自動氣象站的經(jīng)、緯度進行計算得出的相應(yīng)的geohash編碼。采用上述進一步方案的有益效果是:地理位置查詢索引表data-geo-index可以按地理位置劃分進行查詢,拓寬了查詢手段?;谏鲜鲆环N分布式時間序列地理信息服務(wù)系統(tǒng),本發(fā)明還提供一種分布式時間序列地理信息服務(wù)方法。一種分布式時間序列地理信息服務(wù)方法,包括以下步驟,s1,所述數(shù)據(jù)采集模塊對分布的自動氣象站中的數(shù)據(jù)以消息隊列的方式進行采集;s2,所述數(shù)據(jù)存儲模塊采用分布式非關(guān)系型的數(shù)據(jù)庫對所述數(shù)據(jù)采集模塊采集的數(shù)據(jù)以時間序列的形式進行列式存儲;s3,所述數(shù)據(jù)查詢模塊通過分布式的多個進程獨立與所述數(shù)據(jù)存儲模塊交互,實現(xiàn)可伸縮的查詢服務(wù)。本發(fā)明的有益效果是:本發(fā)明一種分布式時間序列地理信息服務(wù)方法通過系統(tǒng)封裝復(fù)雜的數(shù)據(jù)采集、存儲、查詢的實現(xiàn)過程,向客戶提供更適合氣象數(shù)據(jù)的簡單的高可用的數(shù)據(jù)服務(wù),采用分布式非關(guān)系型的數(shù)據(jù)庫可以針對海量自動站數(shù)據(jù)的存儲、檢索和分析構(gòu)建了專有系統(tǒng),為在地理位置上廣泛分布的自動氣象站采集來的監(jiān)控數(shù)據(jù)提供存儲、索引和服務(wù),并且使這些數(shù)據(jù)更容易訪問;同時,數(shù)據(jù)查詢模塊由多個運行在不同服務(wù)器上的無狀態(tài)的服務(wù)進程組成,不同的進程獨立與數(shù)據(jù)存儲模塊交互,獨立緩存,獨立提供http訪問接口,當(dāng)有大量客戶端訪問時,可以通過負(fù)載均衡服務(wù)器進行路由分?jǐn)倝毫Φ蕉嗯_查詢服務(wù)器,從而實現(xiàn)了本系統(tǒng)高可用、可伸縮的查詢服務(wù),通過調(diào)用數(shù)據(jù)服務(wù)接口,不僅可以直接查詢獲取數(shù)據(jù),還可以在自動氣象站數(shù)據(jù)服務(wù)的基礎(chǔ)上構(gòu)建應(yīng)用,比如自動氣象站網(wǎng)和自動氣象站app。附圖說明圖1為本發(fā)明一種分布式時間序列地理信息服務(wù)系統(tǒng)的結(jié)構(gòu)框圖;圖2為本發(fā)明一種分布式時間序列地理信息服務(wù)方法的流程圖。具體實施方式以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。如圖1所示,一種分布式時間序列地理信息服務(wù)系統(tǒng),包括數(shù)據(jù)采集模塊、數(shù)據(jù)儲存模塊和數(shù)據(jù)查詢模塊,所述數(shù)據(jù)采集模塊,其用于對分布的自動氣象站中的數(shù)據(jù)以消息隊列的方式進行采集;所述數(shù)據(jù)存儲模塊,其用于采用分布式非關(guān)系型的數(shù)據(jù)庫對所述數(shù)據(jù)采集模塊采集的數(shù)據(jù)以時間序列的形式進行列式存儲;所述數(shù)據(jù)查詢模塊,其用于通過分布式的多個進程獨立與所述數(shù)據(jù)存儲模塊交互,實現(xiàn)可伸縮的查詢服務(wù)。本發(fā)明的系統(tǒng)還包括數(shù)據(jù)分析模塊,所述數(shù)據(jù)分析模塊,其用于基于spark對所述數(shù)據(jù)存儲模塊中存儲的數(shù)據(jù)直接進行分析和/或利用分析庫tgisml進行分析。所述分析庫tgisml為,以spark計算框架和tgis數(shù)據(jù)模型為基礎(chǔ)、依托spark的機器學(xué)習(xí)mllib庫、且針對tgis庫保存的地理信息數(shù)據(jù)結(jié)構(gòu)而開發(fā)的一種數(shù)據(jù)分析庫,封裝了進行機器學(xué)習(xí)算法之前額外的數(shù)據(jù)提取轉(zhuǎn)換操作,為常用數(shù)據(jù)分析工作提供簡明分析接口。數(shù)據(jù)分析模塊免去客戶端重復(fù)造輪子的困擾,為分析海量自動氣象站數(shù)據(jù)提供便利。本發(fā)明一種分布式時間序列地理信息服務(wù)系統(tǒng)(也稱tgis)通過系統(tǒng)封裝復(fù)雜的數(shù)據(jù)采集、存儲、查詢的實現(xiàn)過程,向客戶提供更適合氣象數(shù)據(jù)的簡單的高可用的數(shù)據(jù)服務(wù),采用分布式非關(guān)系型的數(shù)據(jù)庫可以針對海量自動站數(shù)據(jù)的存儲、檢索和分析構(gòu)建了專有系統(tǒng),為在地理位置上廣泛分布的自動氣象站采集來的監(jiān)控數(shù)據(jù)提供存儲、索引和服務(wù),并且使這些數(shù)據(jù)更容易訪問;同時,數(shù)據(jù)查詢模塊由多個運行在不同服務(wù)器上的無狀態(tài)的服務(wù)進程(即tgis進程)組成,不同的進程獨立與數(shù)據(jù)存儲模塊交互,獨立緩存,獨立提供http訪問接口,當(dāng)有大量客戶端訪問時,可以通過負(fù)載均衡服務(wù)器進行路由分?jǐn)倝毫Φ蕉嗯_查詢服務(wù)器,從而實現(xiàn)了本系統(tǒng)高可用、可伸縮的查詢服務(wù),通過調(diào)用數(shù)據(jù)服務(wù)接口,不僅可以直接查詢獲取數(shù)據(jù),還可以在自動氣象站數(shù)據(jù)服務(wù)的基礎(chǔ)上構(gòu)建應(yīng)用,比如自動氣象站網(wǎng)和自動氣象站app。具體的:所述分布式非關(guān)系型的數(shù)據(jù)庫具體為hbase,所述hbase中包含有數(shù)據(jù)表data、信息表info、時間序列查詢索引表data_ts_inde、報警查詢索引表data-alert-index和地理位置查詢索引表data-geo-index索,在介紹這些表之前,首先介紹一下hbase的幾個關(guān)鍵概念:行鍵和列族;行鍵(rowkey)是hbase建立索引的唯一方式,行根據(jù)行鍵按照rowkey的字節(jié)序(byteorder)排序存儲,對表的訪問要通過行鍵(get:單個rowkey訪問;scan:rowkey范圍訪問,或全表掃描);列族(columnfamily)必須在表定義時給出,每個列族可以有一個或多個列限定符(columnqualifier),列限定符不需要在表定義時給出可以動態(tài)加入,數(shù)據(jù)按列族分開存儲。下面具體介紹一下hbase中的表設(shè)計:在所述數(shù)據(jù)表data中,包含有一個列族t(只有一個列族t,可以防止原有設(shè)計的跨列族查詢造成的不必要io),在所述數(shù)據(jù)表data列族t中,包含有一個行鍵和多個列限定符;所述數(shù)據(jù)表data列族t的行鍵中存儲有“行政區(qū)代碼+觀測時間+站點類型+站點編碼”,其中,所述“行政區(qū)代碼”長度為3個字節(jié),所述“觀測時間”的長度為4個字節(jié),所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié);所述數(shù)據(jù)表data列族t的行鍵具體設(shè)計如下:(11字節(jié),十六進制)06690f582bcbb05100e018在數(shù)據(jù)表data列族t的行鍵中,第1至3字節(jié)中存儲有完整的“行政區(qū)代碼”,例如,存儲的十六進制\x06\x69\x0f換算成10進制是420111,代表湖北省武漢市洪山區(qū),存儲漢字“湖北省武漢市洪山區(qū)”需要18個字節(jié)(gbk編碼),以“行政區(qū)代碼”數(shù)值存儲只需要3個字節(jié);第4至7字節(jié)中存儲有“觀測時間”,使用linux時間戳數(shù)值表示,十六進制582bcbb0換算成十進制為1479265200,代表“wed,16nov201603:00:00gmt”,北京時間“2016年11月16日11:00:00”,比起原來使用時間字符串“2016-11-1611:00:00”(22字節(jié)),或反轉(zhuǎn)時間“16110000201611”(14字節(jié))節(jié)約了存儲空間;特別的是,這里存儲的時間為小時整點時間,對于一個小時內(nèi)的分鐘數(shù)據(jù)壓縮在一個單元格中表示,由于把分鐘數(shù)據(jù)壓入小時數(shù)據(jù)的單個列中存儲,顯著壓縮了數(shù)據(jù)的行數(shù);第8個字節(jié)中存儲有自動氣象站的“站點類型”,比如這里\x51代表字符q,表示區(qū)域自動氣象站(國家站為空格符號\x20),第9至11字節(jié)中存儲有自動氣象站的5位數(shù)的“站點編碼”,比如這里的\x00\xe0\x18換算為十進制為57368,代表“站點編碼”57368。所述數(shù)據(jù)表data列族t的列限定符中存儲有“值類型標(biāo)識+要素名”,其中,所述值類型標(biāo)識的長度為1個字節(jié)(8位),且前4位保留,后4位存儲有值的類型和格式,以后4位為起點,第1位是一個flag,表明值是整型還是浮點型,0表示整型,1表示浮點型,后3位表明數(shù)據(jù)的長度(即:所述要素名的長度為3個字節(jié)),按1偏移,000表示1個字節(jié);001表示2個字節(jié)。長度一定是1,2,4,8中的一個,不然說明有錯誤;所述要素名的長度為3個字節(jié),要素名壓縮到3個字節(jié),減少重復(fù)存儲長列限定符造成的空間浪費。所述數(shù)據(jù)表data通過行政區(qū)代碼作為行鍵的起始符號,可以防止時間序列數(shù)據(jù)單向增長造成的少量region寫入熱點負(fù)擔(dān),新的行鍵設(shè)計包含了需要的所有信息,對比傳統(tǒng)存儲模型設(shè)計的數(shù)據(jù)表data的行鍵減少了存儲空間;同時列名長度減少后,用hbase取相同行數(shù)時明顯減少了key-value中key占據(jù)的空間。所述hbase中還包含有信息表info,所述信息表info與所述數(shù)據(jù)表data相互映射(具體的映射關(guān)系為信息表info中存儲的站點信息與數(shù)據(jù)表data的行鍵中存儲的“站點編碼”相互映射),在所述信息表info中,包含有兩個列族,分別為列族id和列族name;列族id和列族name在查詢時并不相關(guān),由于是“站點編碼”與站點信息的相互映射,兩個列族將擁有數(shù)量相等的行,不會因為一個列族行數(shù)的過分增長而影響到另一個列族。在所述信息表info列族id中,包含有行鍵和列限定符,所述信息表info列族id的行鍵中存儲有“站點類型+站點編碼”,其中,所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié);所述信息表info列族id的列限定符中存儲有“站點名稱+經(jīng)緯度數(shù)值+海拔高度+行政區(qū)代碼”;所述信息表info列族id的行鍵具體設(shè)計如下:(4字節(jié),十六進制)5100e018在所述信息表info列族id的行鍵中,第1字節(jié)存儲有自動氣象站的“站點類型”,比如這里\x51代表字符q,表示區(qū)域自動氣象站(國家站為空格符號\x20),第2至4字節(jié)存儲有自動氣象站的5位數(shù)的“站點編碼”,比如這里的\x00\xe0\x18換算為十進制為57368,代表“站點編碼”57368。在所述信息表info列族name中,包含有行鍵和一個列限定符,所述信息表info列族name的行鍵中存儲有“站點名稱”;所述信息表info列族name的列限定符中存儲有“站點編碼”。信息表info將原來每行重復(fù)存儲的站點名稱、經(jīng)緯度數(shù)值、海拔高度、行政區(qū)代碼等信息單獨存儲,減少了重復(fù)存儲;通過編寫過濾器,可以很容易實現(xiàn)通過輸入字符串自動搜索匹配站名和站點編碼。除了“查詢某個范圍內(nèi)、某一時刻、某一類站點的數(shù)據(jù)”這個維度的查詢是常用查詢之外,還有另一個維度的查詢也很重要,那就是“查詢某個站點、某段時間的數(shù)據(jù)”,也就是查詢站點的時間序列數(shù)據(jù)。由于hbase的行鍵是索引的唯一方式,所以建立索引的唯一方式就是建立一個行鍵描述維度不同的新表,即需要建立時間序列查詢索引表data_ts_index,可以通過自定義協(xié)處理器在hbase添加行時,將行內(nèi)的數(shù)據(jù)轉(zhuǎn)儲到新表,當(dāng)然維護新表內(nèi)容也可以通過客戶端分別向兩張表插入數(shù)據(jù),但是使用協(xié)處理器的方法可以減少客戶端與服務(wù)器端之間的io。所述時間序列查詢索引表data_ts_index中包含有一個行鍵,所述時間序列查詢索引表data_ts_index的行鍵中存儲有“站點類型+站點編碼+觀測時間”,所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié),所述“觀測時間”的長度為4個字節(jié)。時間序列查詢索引表data_ts_index的行鍵具體設(shè)計如下:(8字節(jié),十六進制)5100e018582bcbb0在所述時間序列查詢索引表data_ts_index的行鍵中,第1字節(jié)中存儲有自動氣象站的“站點類型”,比如這里十六進制51代表字符q,表示區(qū)域氣象站(國家站為空格符號,十六進制20),第2至4字節(jié)中存儲有自動氣象站的5位數(shù)的“站點編碼”,比如這里的十六進制00e018換算為十進制為57368,代表“站點編碼”57368,第5至8字節(jié)中存儲有“觀測時間”,且所“述觀測時間”使用linux時間戳數(shù)值表示,比如這里的十六進制582bcbb0換算成十進制為1479265200,代表“wed,16nov201603:00:00gmt”,北京時間“2016年11月16日11:00:00”。因為hbase是按行鍵排序的,這樣做的好處是同類型,同一個站點的記錄自動落到了連續(xù)的存儲位置。掃描數(shù)據(jù)時,可以指定明確的起止位置,優(yōu)化了時間序列查詢時間。同時,因為數(shù)據(jù)是連續(xù)的,對站點某段時間內(nèi)的要素值進行統(tǒng)計的分組求和速度提升的需求也得到了滿足(通過定義協(xié)處理器替換regionscanner為帶有分組求和的scanner,結(jié)果在客戶端合并)。時間序列查詢索引表data_ts_index除了“查詢某個范圍內(nèi)、某一時刻、某一類站點的數(shù)據(jù)”這個維度的查詢是常用查詢之外,還有另一個維度的查詢功能:“查詢某個站點、某段時間的數(shù)據(jù)”,也就是查詢站點的時間序列數(shù)據(jù),掃描數(shù)據(jù)時,可以指定明確的起止位置,優(yōu)化了時間序列查詢時間。所述hbase中還包含有報警查詢索引表data-alert-index,所述報警查詢索引表data-alert-index中包含有1個行鍵和1個列族f;所述報警查詢索引表data-alert-index行鍵中存儲有“行政區(qū)代碼+觀測時間+報警要素名+站點類型+站點編碼”,所述“行政區(qū)代碼”的長度為3個字節(jié),所述“觀測時間”的長度為4個字節(jié),所述“報警要素名”的長度為3個字節(jié),所述“站點類型”的長度為1個字節(jié),所述“站點編碼”的長度為3個字節(jié);所述報警查詢索引表data-alert-index的行鍵具體設(shè)計如下(14個字節(jié),十六進制):06690f582bcbb0p105100e018在所述報警查詢索引表data-alert-index的行鍵中,第1至3字節(jié)中存儲有完整的“行政區(qū)代碼“,即為其中的“06690f”;第4至7字節(jié)中存儲有“觀測時間“,即為其中的“582bcbb0”;第8至10字節(jié)中存儲有“報警要素名“,即為其中的“p10”;第11字節(jié)中存儲有自動氣象站的“站點類型“,及為其中的“51”;第12至14以3字節(jié)中存儲有自動氣象站的5位數(shù)的“站點編碼“,及為其中的“00e018”。在所述報警查詢索引表data-alert-index列族f中,只有1個列限定符v,所述報警查詢索引表data-alert-index列族f的列限定符v代表報警要素的報警值。報警查詢索引表data-alert-index是針對“某個范圍內(nèi)、某一時刻、某一類站點、某個要素值”是否超出某預(yù)警值而設(shè)立的查詢索引表。這樣僅對行鍵過濾即可得到某個范圍內(nèi)、某一時刻、某一類站點、某個要素值超出某預(yù)警值的所有站點,以及超出報警的值。在某些情況下并不需要按行政區(qū)對站點進行分類,行政區(qū)劃分在行政機關(guān)等單位比較有用,但是在對大眾的互聯(lián)網(wǎng)應(yīng)用,更多時候是按地理位置進行劃分。在做某些位置相關(guān)的分析的時候,比如knn鄰近查詢時,更需要能夠表示站點在地理位置上的關(guān)系。于是可以引入空間索引geohash算法對每個站點的經(jīng)緯度計算相應(yīng)的geohash編碼,將geohash編碼保存在行鍵中代替行政區(qū)編碼實現(xiàn)空間索引,即通過建立地理位置查詢索引表data-geo-index可實現(xiàn)上述的地理位置查詢工作。所述地理位置查詢索引表data-geo-index中包含有行鍵,所述地理位置查詢索引表data-geo-index行鍵中存儲有利用空間索引geohash算法對每個自動氣象站的經(jīng)、緯度進行計算得出的相應(yīng)的geohash編碼。所述地理位置查詢索引表data-geo-index可以按地理位置劃分進行查詢,拓寬了查詢手段?;谏鲜鲆环N分布式時間序列地理信息服務(wù)系統(tǒng),本發(fā)明還提供一種分布式時間序列地理信息服務(wù)方法。如圖2所示,一種分布式時間序列地理信息服務(wù)方法,包括以下步驟,s1,所述數(shù)據(jù)采集模塊對分布的自動氣象站中的數(shù)據(jù)以消息隊列的方式進行采集;s2,所述數(shù)據(jù)存儲模塊采用分布式非關(guān)系型的數(shù)據(jù)庫對所述數(shù)據(jù)采集模塊采集的數(shù)據(jù)以時間序列的形式進行列式存儲;s3,所述數(shù)據(jù)查詢模塊通過分布式的多個進程獨立與所述數(shù)據(jù)存儲模塊交互,實現(xiàn)可伸縮的查詢服務(wù)。本發(fā)明一種分布式時間序列地理信息服務(wù)方法通過系統(tǒng)封裝復(fù)雜的數(shù)據(jù)采集、存儲、查詢的實現(xiàn)過程,向客戶提供更適合氣象數(shù)據(jù)的簡單的高可用的數(shù)據(jù)服務(wù),采用分布式非關(guān)系型的數(shù)據(jù)庫可以針對海量自動站數(shù)據(jù)的存儲、檢索和分析構(gòu)建了專有系統(tǒng),為在地理位置上廣泛分布的自動氣象站采集來的監(jiān)控數(shù)據(jù)提供存儲、索引和服務(wù),并且使這些數(shù)據(jù)更容易訪問;同時,數(shù)據(jù)查詢模塊由多個運行在不同服務(wù)器上的無狀態(tài)的服務(wù)進程組成,不同的進程獨立與數(shù)據(jù)存儲模塊交互,獨立緩存,獨立提供http訪問接口,當(dāng)有大量客戶端訪問時,可以通過負(fù)載均衡服務(wù)器進行路由分?jǐn)倝毫Φ蕉嗯_查詢服務(wù)器,從而實現(xiàn)了本系統(tǒng)高可用、可伸縮的查詢服務(wù),通過調(diào)用數(shù)據(jù)服務(wù)接口,不僅可以直接查詢獲取數(shù)據(jù),還可以在自動氣象站數(shù)據(jù)服務(wù)的基礎(chǔ)上構(gòu)建應(yīng)用,比如自動氣象站網(wǎng)和自動氣象站app。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
广南县| 新干县| 扎赉特旗| 汽车| 鄂托克前旗| 尼玛县| 汉中市| 临沂市| 彰化县| 崇义县| 那坡县| 达拉特旗| 安康市| 谢通门县| 平原县| 吉安市| 清原| 赫章县| 武安市| 安远县| 宁安市| 长顺县| 阜宁县| 九寨沟县| 黑山县| 和田县| 应城市| 襄汾县| 逊克县| 土默特右旗| 红原县| 杨浦区| 平邑县| 张掖市| 吐鲁番市| 万宁市| 高陵县| 安宁市| 黎平县| 南宁市| 保靖县|