[發明專利]一種基于Storm的分布式流數據存儲與查詢方法有效
| 申請號: | 201910026601.2 | 申請日: | 2019-01-11 |
| 公開(公告)號: | CN109726225B | 公開(公告)日: | 2023-08-01 |
| 發明(設計)人: | 蔡瑞初;林峰極;郝志峰;王立;黃澤林;陳炳豐;溫雯;王麗娟 | 申請(專利權)人: | 廣東工業大學 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/22;G06F16/182 |
| 代理公司: | 廣州市紅荔專利代理有限公司 44214 | 代理人: | 吳偉文 |
| 地址: | 510000 *** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 storm 分布式 數據 存儲 查詢 方法 | ||
本發明提供一種基于Storm的分布式流數據存儲與查詢方法,本發明基于Storm數據流式計算框架,CEPHFS作為數據底層存儲系統下,通過對分布式流式數據的特征分析,對數據進行實時的分區與索引構建,將分區好的數據塊壓縮存入CEPHFS。查找操作時根據數據塊的key與temporal兩個維度的屬性,將查詢分解為對應的子查詢,并通過bloomFilter方法只讀取可能含有所需數據的文件,由predicate選擇出符合條件的數據,提交子查詢結果合并后進行aggregate操作,返回給用戶。充分利用計算資源來提高數據存儲與查詢的效率。本發明具有應用場景廣泛、低時延、負載均衡的特點,并且能夠實現高速存儲。
技術領域
本發明涉及數據處理技術領域,尤其是一種基于Storm的分布式流數據存儲與查詢方法。
背景技術
隨著網絡技術的迅猛發展,社交網絡和位置服務平臺等所產生的實時流數據高速增長,在越來越多的領域出現了對海量流數據進行實時處理響應的要求,使得數據的高速插入和實時查找成為一個非常重要的數據處理能力,用戶能夠實時獲得想要的歷史數據和新數據。對于提供位置業務的平臺如百度地圖,高德地圖等,每秒都瞬時產生了海量的位置信息和軌跡變化數據,為了能夠滿足用戶的需求和提高公司效益,平臺系統需要能夠支持百萬級流數據上的實時插入存儲與低延時查詢,例如客戶需要獲取當前時刻附近5km范圍內所有車輛的GPS信息,或者是指定某輛車在過去1小時內的行駛軌跡。
常用的key-value存儲技術開源實現如HBase使用LSM-Tree來減少更新葉節點帶來的時間開銷,但是每次插入的新數據和歷史數據需要進行更新,在time范圍的查詢時延過高;常用的時間序列數據庫技術如阿里巴巴開源的Druid僅支持倒排索引,在key范圍查詢上比較低效。為了解決這一問題,必然要設計一個針對海量流數據能進行高速存儲和實時查詢的分布式數據庫技術,key范圍和時間范圍上都支持高效的查詢,這就要求新來數據和歷史數據能有所分隔,在查詢時盡量避免無關范圍數據的遍歷,提高查詢效率,同時保證系統不同節點的負載均衡,來最大化資源的利用率。
發明內容
針對現有技術的不足,本發明提供一種基于Storm的分布式流數據存儲與查詢方法,本發明分析流數據在真實環境下會按照接近順序到達和數據分布范圍的穩定性特點,和現在數據庫技術中無法滿足key范圍和時間范圍上高效的問題,提供了一種海量流數據下的高效索引和時間域范圍實時查詢處理方法。本發明旨在通過對于即將到來的流數據進行范圍劃分,在不同機器節點并行索引后分別存儲到分布式文件系統,查詢時進行查詢分解,并行執行子查詢,過濾,聚合等操作后,合并結果返回。
本發明的技術方案為:一種基于Storm的分布式流數據存儲與查詢方法,本發明通過在接收分布式流數據時實時建立若干隔離范圍的B+Tree索引,達到閾值后存儲到分布式文件系統,并在查詢時進行查詢分解,并行處理不同范圍下的子查詢,保持負載均衡,完成后合并返回實時存儲結果,實現高吞吐量的流數據插入和查詢,具體包括以下步驟:
S1)、接收源數據并分發給下游單元構建索引結構;
S2)、將索引結構壓縮為數據塊并寫入分布式文件存儲系統CEPHFS;
S3)、基于查詢條件和數據塊信息將查詢分解為若干獨立的子查詢;
S4)、通過訪問分布式文件存儲系統CEPHFS分發給下游獨立的查詢處理單元的子查詢;
S5)、接收返回的子查詢結果并合并返回給用戶。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東工業大學,未經廣東工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910026601.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





