[發明專利]適用于大規模實時數據流的查詢處理方法無效
| 申請號: | 201210223084.6 | 申請日: | 2012-06-29 |
| 公開(公告)號: | CN102750386A | 公開(公告)日: | 2012-10-24 |
| 發明(設計)人: | 羅光春;田玲;陳愛國;秦科 | 申請(專利權)人: | 電子科技大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 電子科技大學專利中心 51203 | 代理人: | 李明光 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 適用于 大規模 實時 數據流 查詢 處理 方法 | ||
技術領域
本發明涉及大規模數據流處理技術以及查詢優化處理技術。
背景技術
隨著信息技術的飛速發展和互聯網技術的普遍應用,許多行業都面臨對海量流式數據的處理。隨著數據量的不斷增長,將更進一步地要求數據流處理系統平臺必須提供實時高效服務的能力。可以預見,未來接入網絡的數據源(例如,傳感器等設備)會越來越多,需要在線處理和實時分析的數據量會越來越大,系統單元需要提供的服務也越來越多。因此,系統必須快速處理海量數據,及時響應請求,為本系統用戶及外系統提供高性能、高可用的服務。
數據查詢是指對數據源的數據進行查找、篩選,從而獲得需要的數據。而多個查詢的內容往往會有交叉、重疊,而系統對這些部分的操作都是重復的。因此,對多個查詢的優化基本思想就是充分利用這些公共部分,避免重復冗余的系統操作開銷。現有對數據查詢的優化處理分為兩類:局部優化和全局優化。局部優化方案,典型的如AS算法,對每個查詢自身進行分解,形成內部最優的可并行計算的查詢圖。最后將多個查詢圖拼起來即可。全局優化方案,典型的如IE,HA算法,對所有的查詢進行統籌考慮,將各個查詢分解為原子查詢,查詢結果按一定順序連接起來,形成一個網狀全局查詢序列圖。以上數據查詢方法主要針對數據庫進行操作。而數據流查詢結構不同于數據庫,相對簡單,例如,數據流查詢中將同一數據流中多個原子查詢之間的關系基本為與(and)(為避免形成網狀結構,充分利用二叉樹結構的最優化理論基礎,本優化算法不考慮或or的情況,對于該情況,將or的內容當成一個整體原子項,不拆分)。與數據庫查詢語句類似,使用SQL語法定義的數據流查詢語句形式為:
SELECT?Field_1[,Field_2,Field_3,…]
FROM?Stream_1[,Stream_2,Stream_3,…]
WHERE?Expression_1[and?Expression_2and?Expression_3,…]
其中,SELECT子句表示希望查詢的字段;FROM子句表示從哪些流中進行查詢;WHERE子句表示希望查詢的字段需要滿足哪些條件,這些查詢條件在操作盒的參數屬性元素中以表達式的方式出現。計算操作盒是系統任務處理的最小單位。系統的一次查詢任務由多個操作盒組成。系統中可以存在多個查詢任務,每個查詢任務由多個操作盒組成。系統中的操作盒能夠執行各種操作依賴于其中的各種參數。操作盒的參數可以是值類型也可以是各種表達式以適應各種計算要求。表達式由一個或多個操作數以及各種對操作數的運算組成。數據流查詢結構中表達式之間的關系相對簡單(如不包含聚合,連接等操作)。當存在較多數量的操作盒時,就可能出現重復的表達式。原子查詢定義為一個簡單的查詢操作,即SELECT,FROM?和WHERE子句中最多只能出現單一類型的項。如SELECT*FROM*WHERE?A、SELECT?A?FROM*WHERE*、SELECT*FROM?A?WHERE*這樣的形式,其中為保證語句完整,對于空缺項,一律填為﹡。對于SELECT*FROM*WHEREA,WHEREE?A為原子查詢的核心。
使用現有針對數據庫的數據的優化處理方法對數據流進行處理并不能達到最優,針對數據流的特殊性,需要一種特殊的優化的計算處理的數據查詢處理方法。
發明內容
本發明所要解決的技術問題是,提供一種提高系統處理速度的數據查詢方法。
本發明為解決上述技術問題所采用的技術方案是,一種適用于大規模實時數據流的查詢處理方法,根據輸入的查詢任務的FROM子句,將查詢分解為對FROM子句中各數據流的單獨查詢,合并所有數據流的單獨查詢結果并形成最終查詢結果;
每個數據流的單獨查詢通過對SELECT子句以及WHERE子句的混合優化合并查詢鏈實現;
合并查詢鏈包括以下步驟:
1、將當前數據流的查詢語句進行分解生成各原子查詢,對應每個查詢語句生成一個原子操作集,計算原子操作集中所有原子查詢對應的利用指標,所述利用指標為該原子查詢在當前數據流對應的所有原子操作集中的重復次數,進入步驟2;
2、在當前數據流對應的所有原子操作集中選擇具有最大利用指標的原子查詢進行查詢鏈合并,形成兩條分支:一條真實數據流和一條虛擬數據流。真實數據流進行當前選擇的原子查詢操作,虛擬數據流不進行當前的原子查詢操作;將具有該原子查詢操作的所有查詢鏈歸入真實數據流,其它的歸入虛擬數據流;之后,在當前數據流下每個查詢語句根據合并后的查詢鏈重新生成原子操作集,并重新計算各原子操作的利用指標,由此遞歸步驟2,直到所有原子操作集為空,針對當前流的單獨查詢完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于電子科技大學,未經電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210223084.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種多功能手套
- 下一篇:一種自發熱的美胸保健文胸





