国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      適用于大規(guī)模實時數(shù)據(jù)流的查詢處理方法

      文檔序號:6372450閱讀:158來源:國知局
      專利名稱:適用于大規(guī)模實時數(shù)據(jù)流的查詢處理方法
      技術領域
      本發(fā)明涉及大規(guī)模數(shù)據(jù)流處理技術以及查詢優(yōu)化處理技術。
      背景技術
      隨著信息技術的飛速發(fā)展和互聯(lián)網(wǎng)技術的普遍應用,許多行業(yè)都面臨對海量流式數(shù)據(jù)的處理。隨著數(shù)據(jù)量的不斷增長,將更進一步地要求數(shù)據(jù)流處理系統(tǒng)平臺必須提供實時高效服務的能力??梢灶A見,未來接入網(wǎng)絡的數(shù)據(jù)源(例如,傳感器等設備)會越來越多,需要在線處理和實時分析的數(shù)據(jù)量會越來越大,系統(tǒng)單元需要提供的服務也越來越多。因此,系統(tǒng)必須快速處理海量數(shù)據(jù),及時響應請求,為本系統(tǒng)用戶及外系統(tǒng)提供高性能、高可用的服務。數(shù)據(jù)查詢是指對數(shù)據(jù)源的數(shù)據(jù)進行查找、篩選,從而獲得需要的數(shù)據(jù)。而多個查詢的內(nèi)容往往會有交叉、重疊,而系統(tǒng)對這些部分的操作都是重復的。因此,對多個查詢的優(yōu)化基本思想就是充分利用這些公共部分,避免重復冗余的系統(tǒng)操作開銷。現(xiàn)有對數(shù)據(jù)查詢的優(yōu)化處理分為兩類局部優(yōu)化和全局優(yōu)化。局部優(yōu)化方案,典型的如AS算法,對每個查詢自身進行分解,形成內(nèi)部最優(yōu)的可并行計算的查詢圖。最后將多個查詢圖拼起來即可。全局優(yōu)化方案,典型的如IE,HA算法,對所有的查詢進行統(tǒng)籌考慮,將各個查詢分解為原子查詢,查詢結(jié)果按一定順序連接起來,形成一個網(wǎng)狀全局查詢序列圖。以上數(shù)據(jù)查詢方法主要針對數(shù)據(jù)庫進行操作。而數(shù)據(jù)流查詢結(jié)構不同于數(shù)據(jù)庫,相對簡單,例如,數(shù)據(jù)流查詢中將同一數(shù)據(jù)流中多個原子查詢之間的關系基本為與(and)(為避免形成網(wǎng)狀結(jié)構,充分利用二叉樹結(jié)構的最優(yōu)化理論基礎,本優(yōu)化算法不考慮或or的情況,對于該情況,將or的內(nèi)容當成一個整體原子項,不拆分)。與數(shù)據(jù)庫查詢語句類似,使用SQL語法定義的數(shù)據(jù)流查詢語句形式為SELECT Field_l [, Field_2, Field_3,…]FROM Stream_l [, Stream_2, Stream_3, ...]WHERE Expression」[and Expression_2and Expression_3,…]其中,SELECT子句表示希望查詢的字段;FR0M子句表示從哪些流中進行查詢;WHERE子句表示希望查詢的字段需要滿足哪些條件,這些查詢條件在操作盒的參數(shù)屬性元素中以表達式的方式出現(xiàn)。計算操作盒是系統(tǒng)任務處理的最小單位。系統(tǒng)的一次查詢?nèi)蝿沼啥鄠€操作盒組成。系統(tǒng)中可以存在多個查詢?nèi)蝿?,每個查詢?nèi)蝿沼啥鄠€操作盒組成。系統(tǒng)中的操作盒能夠執(zhí)行各種操作依賴于其中的各種參數(shù)。操作盒的參數(shù)可以是值類型也可以是各種表達式以適應各種計算要求。表達式由一個或多個操作數(shù)以及各種對操作數(shù)的運算組成。數(shù)據(jù)流查詢結(jié)構中表達式之間的關系相對簡單(如不包含聚合,連接等操作)。當存在較多數(shù)量的操作盒時,就可能出現(xiàn)重復的表達式。原子查詢定義為一個簡單的查詢操作,即SELECT,F(xiàn)ROM和WHERE子句中最多只能出現(xiàn)單一類型的項。如SELECT*FR0M*WHEREA,SELECT A FR0M*WHERE*、SELECT*FR0M A WHERE*這樣的形式,其中為保證語句完整,對于空缺項,一律填為*。對于SELECT*FR0M*WHEREA,WHEREE A為原子查詢的核心。
      使用現(xiàn)有針對數(shù)據(jù)庫的數(shù)據(jù)的優(yōu)化處理方法對數(shù)據(jù)流進行處理并不能達到最優(yōu),針對數(shù)據(jù)流的特殊性,需要一種特殊的優(yōu)化的計算處理的數(shù)據(jù)查詢處理方法。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術問題是,提供一種提高系統(tǒng)處理速度的數(shù)據(jù)查詢方法。本發(fā)明為解決上述技術問題 所采用的技術方案是,一種適用于大規(guī)模實時數(shù)據(jù)流的查詢處理方法,根據(jù)輸入的查詢?nèi)蝿盏腇ROM子句,將查詢分解為對FROM子句中各數(shù)據(jù)流的單獨查詢,合并所有數(shù)據(jù)流的單獨查詢結(jié)果并形成最終查詢結(jié)果;每個數(shù)據(jù)流的單獨查詢通過對SELECT子句以及WHERE子句的混合優(yōu)化合并查詢鏈實現(xiàn);合并查詢鏈包括以下步驟I、將當前數(shù)據(jù)流的查詢語句進行分解生成各原子查詢,對應每個查詢語句生成一個原子操作集,計算原子操作集中所有原子查詢對應的利用指標,所述利用指標為該原子查詢在當前數(shù)據(jù)流對應的所有原子操作集中的重復次數(shù),進入步驟2 ;2、在當前數(shù)據(jù)流對應的所有原子操作集中選擇具有最大利用指標的原子查詢進行查詢鏈合并,形成兩條分支一條真實數(shù)據(jù)流和一條虛擬數(shù)據(jù)流。真實數(shù)據(jù)流進行當前選擇的原子查詢操作,虛擬數(shù)據(jù)流不進行當前的原子查詢操作;將具有該原子查詢操作的所有查詢鏈歸入真實數(shù)據(jù)流,其它的歸入虛擬數(shù)據(jù)流;之后,在當前數(shù)據(jù)流下每個查詢語句根據(jù)合并后的查詢鏈重新生成原子操作集,并重新計算各原子操作的利用指標,由此遞歸步驟2,直到所有原子操作集為空,針對當前流的單獨查詢完畢。所述當前數(shù)據(jù)流為真實數(shù)據(jù)流或虛擬數(shù)據(jù)流。具體的,當在當前數(shù)據(jù)流對應的所有原子操作集中有多個最大利用指標的原子查詢時,隨機選擇一個最大利用指標的原子查詢進行查詢鏈的合并。本發(fā)明的有益效果是,利用數(shù)據(jù)流查詢的特殊性,使得查詢數(shù)據(jù)鏈形成最優(yōu)的二叉樹結(jié)構,查詢效率高。


      圖I為實施例步驟I的數(shù)據(jù)流圖;圖3為實施例步驟2的數(shù)據(jù)流圖;圖2為實施例步驟3的數(shù)據(jù)流圖;圖4為實施例最終的數(shù)據(jù)流圖。
      具體實施例方式根據(jù)輸入的查詢?nèi)蝿盏腇ROM子句,將查詢分解為對FROM子句中各數(shù)據(jù)流的單獨查詢,合并所有數(shù)據(jù)流的單獨查詢結(jié)果并形成最終查詢結(jié)果;以FROM子句中一個數(shù)據(jù)流Stream 為例對數(shù)據(jù)流Stream的單獨查詢通過對SELECT子句以及WHERE子句的混合優(yōu)化合并查詢鏈實現(xiàn)假設有如下多條查詢
      查詢I =SELECT A, D FROM Stream WHERE BI, Cl,查詢2 : SELECT A FROM Stream WHERE B3, C2查詢3 SELECTA, D FROM StreamffHERE B2, C3, E查詢4 : SELECT D FROM Stream WHERE F查詢5 : SELECT D FROM StreamffHERE B4, F上述查詢語句均有相同的原子查詢SELECT*FROM Stream WHERE*,基于相同的數(shù)據(jù)流Stream,如圖I所示,因此可以對上述5個查詢語句進行查詢優(yōu)化。其中A、D表示選擇的列或字段,例如Name、Age ;E、F 均表不定值,如 Department=,,Computer” ; B表示范圍MORE鏈,B為MORE鏈的關鍵字,且BI包含B2包含B3包含B4,以此類推,例如BI是X>10,B2是X>15 ;C表示范圍LESS鏈,與B鏈類似。為了簡化描述,將一個原子查詢簡寫為原子查詢的核心字段的對象(列、字段、定值或范圍),比如,將原子操作SELECTAFR0M*WHERE*簡寫為A。本實施例中對于SELECT以及WHERE對象為定值的原子操作,其格式為(原子操作,利用指標);對于WHERE對象為范圍的原子操作,其格式為(原子操作關鍵字,原子操作,操作符,操作符方向,利用指標)。步驟I)在當前數(shù)據(jù)流Stream下對個查詢語句進行分解,得到各語句對應的原子操作集并各原子查詢對應的利用指標。利用指標為原子查詢在當前數(shù)據(jù)流Stream對應的所有原子操作集中的重復次數(shù);對于SELECT子句以及WHERE子句的對象為定值的原子操作,有完全相同的原子操作被判定為重復;對于WHERE子句的對象為范圍的原子操作,當該范圍與其他WHERE子句的原子操作對象范圍相同或被完全包含在所述其他WHERE子句的原子操作對象范圍中即被認判定是重復。如此,得到分解后的各原子操作集為查詢I 的原子操作集(A, 3)、(D, 4)、(B,BI, >,MORE, 4)、(C,Cl,〈,LESS, 3)查詢2 的原子操作集(A, 3)、(B,B3, >,MORE, 2)、(C,C2,〈,LESS, 2)查詢3 的原子操作集(A, 3)、(D, 4)、(B,B2, >,MORE, 3)、(C,C3,〈,LESS, I)、(E, I)
      查詢4的原子操作集(D, 4)、(F,2)查詢5 的原子操作集(D, 4)、(B,B4, >,MORE, I)、(F,2)步驟2)在(D, 4)與(B,BI, >, MORE, 4)中隨機選擇利用指標最大者(D, 4);對含有該原子操作D的查詢語句進行合并,將具有該原子查詢操作的所有查詢鏈歸入真實數(shù)據(jù)流,其它的歸入虛擬數(shù)據(jù)流。合并后當前數(shù)據(jù)流形成兩條分支一條真實數(shù)據(jù)流和一條虛擬數(shù)據(jù)流。真實數(shù)據(jù)流進行當前選擇的原子查詢操作D,虛擬數(shù)據(jù)流不進行當前的原子查詢操作,如圖2所示生成節(jié)點節(jié)點D+虛擬節(jié)點I針對(D,4)節(jié)點,查詢變?yōu)椴樵僆 :SELECTAFR0MfA D WHERE BI, Cl查詢3 SELECTAFR0M 節(jié)點 D WHERE B2, C3, E查詢4 SELECT*FR0M 節(jié)點 D WHERE F查詢5 :SELECT*FR0M 節(jié)點 D WHERE, B4, F
      在當前數(shù)據(jù)流(從節(jié)點D流出的真實數(shù)據(jù)流)下查詢語句1、3、4、5。根據(jù)合并后的查詢鏈重新生成原子操作集,并重新計算各原子操作的利用指標查詢I 的原子操作集(A, 2)、(BI, 3)、(Cl, 2)查詢3 的原子操作集(A, 2)、(B2, 2)、(C3, I)、(E, I)查詢4的原子操作集(F,2)查詢5的原子操作集(B4, I)、(F,2)針對虛擬節(jié)點I,查詢變?yōu)?
      查詢2 SELECTAFR0M 虛擬節(jié)點 IWHERE B3, C2在當前數(shù)據(jù)流(從虛擬節(jié)點I流出的虛擬數(shù)據(jù)流)下查詢語句2根據(jù)合并后的查詢鏈重新生成原子操作集,并重新計算各原子操作的利用指標查詢2 的原子操作集(A, 2)、(BI, I)、(Cl, I)步驟3)在節(jié)點D對應的真實數(shù)據(jù)流上,找到利用指標最大者(BI,3),對含有該原子操作BI的查詢語句進行合并,將具有該原子查詢操作的所有查詢鏈歸入真實數(shù)據(jù)流,其它的歸入虛擬數(shù)據(jù)流。合并后當前數(shù)據(jù)流形成兩條分支一條真實數(shù)據(jù)流和一條虛擬數(shù)據(jù)流。真實數(shù)據(jù)流進行當前選擇的原子查詢操作BI,虛擬數(shù)據(jù)流不進行當前的原子查詢操作,如圖3所示;生成節(jié)點節(jié)點BI+虛擬節(jié)點I. I ;再在當前數(shù)據(jù)流(從節(jié)點BI流出的真實數(shù)據(jù)流)下查詢語句1、3、5根據(jù)合并后的查詢鏈重新生成原子操作集,并重新計算各原子操作的利用指標;再在當前數(shù)據(jù)流(從虛擬節(jié)點I. I流出的虛擬數(shù)據(jù)流)下查詢語句4,重新生成原子操作集,并重新計算各原子操作的利用指標;在虛擬節(jié)點I對應的虛擬數(shù)據(jù)流上,3個原子查詢的利用指標相同,隨機選擇一個原子查詢(A,2)進行執(zhí)行,將具有該原子查詢操作的所有查詢鏈歸入真實數(shù)據(jù)流,其它的歸入虛擬數(shù)據(jù)流,如圖3所示;生成節(jié)點節(jié)點A+虛擬節(jié)點1.2;再在當前數(shù)據(jù)流(從節(jié)點A流出的真實數(shù)據(jù)流)下重新生成查詢語句2的原子操作集,并重新計算各原子操作的利用指標;由于從虛擬節(jié)點I. 2流出的真實數(shù)據(jù)流沒有查詢語句分配在該數(shù)據(jù)流上,因此不再做處理;依上述步驟,不斷對在當前數(shù)據(jù)流對應的所有原子操作集中選擇具有最大利用指標的原子查詢進行查詢鏈合并,在執(zhí)行的原子操作對應的節(jié)點上形成一條真實數(shù)據(jù)流和一條虛擬數(shù)據(jù)流,直至所有原子操作集中沒有原子查詢可選擇,對數(shù)據(jù)流Stream進行單獨查詢結(jié)束。最終真實數(shù)據(jù)流形成最終對數(shù)據(jù)流Stream進行單獨查詢的查詢鏈,如圖4所述。本實施中一個子句對應有多個對象時,對象間的關系為and。如WHERE BI,Cl,則認為是WHERE BI and Cl,分為兩個原子查詢WHERE BUffHERE Cl進行查詢鏈的合并處理。 當兩個對象間的關系為or時,如WHERE BlorCl,則將BlorCl作為一個對象,即視WHEREBlorCl為一個原子查詢進行查詢鏈的合并處理。
      權利要求
      1.適用于大規(guī)模實時數(shù)據(jù)流的查詢處理方法,其特征在于,根據(jù)輸入的查詢?nèi)蝿盏腇ROM子句,將查詢分解為對FROM子句中各數(shù)據(jù)流的單獨查詢,合并所有數(shù)據(jù)流的單獨查詢結(jié)果并形成最終查詢結(jié)果; 每個數(shù)據(jù)流的單獨查詢通過對SELECT子句以及WHERE子句的混合優(yōu)化合并查詢鏈實現(xiàn); 合并查詢鏈包括以下步驟 1)將當前數(shù)據(jù)流的查詢語句進行分解生成各原子查詢,對應每個查詢語句生成一個原子操作集,計算原子操作集中所有原子查詢對應的利用指標,所述利用指標為該原子查詢在當前數(shù)據(jù)流對應的所有原子操作集中的重復次數(shù),進入步驟2 ; 2)在當前數(shù)據(jù)流對應的所有原子操作集中選擇具有最大利用指標的原子查詢進行查詢鏈合并,形成兩條分支一條真實數(shù)據(jù)流和一條虛擬數(shù)據(jù)流。真實數(shù)據(jù)流進行當前選擇的原子查詢操作,虛擬數(shù)據(jù)流不進行當前的原子查詢操作;將具有該原子查詢操作的所有查·詢鏈歸入真實數(shù)據(jù)流,其它的歸入虛擬數(shù)據(jù)流;之后,在當前數(shù)據(jù)流下每個查詢語句根據(jù)合并后的查詢鏈重新生成原子操作集,并重新計算各原子操作的利用指標,由此遞歸步驟2,直到所有原子操作集為空,針對當前流的單獨查詢完畢;所述當前數(shù)據(jù)流為真實數(shù)據(jù)流或虛擬數(shù)據(jù)流。
      2.如權利要求I所述適用于大規(guī)模實時數(shù)據(jù)流的查詢處理方法,其特征在于,當在當前數(shù)據(jù)流對應的所有原子操作集中有多個最大利用指標的原子查詢時,隨機選擇一個最大利用指標的原子查詢進行查詢鏈的合并。
      3.如權利要求I所述適用于大規(guī)模實時數(shù)據(jù)流的查詢處理方法,其特征在于,對于SELECT子句以及WHERE子句的對象為定值的原子操作,有完全相同的原子操作被判定為重復; 對于WHERE子句的對象為范圍的原子操作,當該范圍與其他WHERE子句的原子操作對象范圍相同或被完全包含在所述其他WHERE子句的原子操作對象范圍中即被認判定是重復。
      全文摘要
      本發(fā)明提供一種適用于大規(guī)模實時數(shù)據(jù)流的查詢處理方法,根據(jù)輸入的查詢?nèi)蝿盏腇ROM子句,將查詢分解為對FROM子句中各數(shù)據(jù)流的單獨查詢,合并所有數(shù)據(jù)流的單獨查詢結(jié)果并形成最終查詢結(jié)果;每個數(shù)據(jù)流的單獨查詢通過對SELECT子句以及WHERE子句的混合優(yōu)化合并查詢鏈實現(xiàn)。
      文檔編號G06F17/30GK102750386SQ20121022308
      公開日2012年10月24日 申請日期2012年6月29日 優(yōu)先權日2012年6月29日
      發(fā)明者田玲, 秦科, 羅光春, 陳愛國 申請人:電子科技大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1