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

SMJ:基于大綱的數據流多連接操作

2009-01-01 00:00:00尹田田張俊虎
計算機應用研究 2009年5期

(1.中國科學院 自動化研究所 中法聯合實驗室 北京 100190;2.青島理工大學 計算機學院 山東 青島 266033)

摘 要:研究了Ad hoc網絡的特點及應用情況,分析了在Ad hoc網絡中傳統數據流多連接查詢處理策略所面臨的問題,并在此基礎上提出了一種基于大綱的多數據流連接優化算法(SMJ)。實驗結果顯示SMJ算法可以極大降低Ad hoc網絡數據流連接查詢處理的通信代價。

關鍵詞:自組織網絡;大綱;數據流;多連接;多數據流連接算法

中圖分類號:TP311文獻標志碼:A

文章編號:1001-3695(2009)05-1847-05

SMJ:synopsisbased data stream multijoin operation

YIN Tiantian1,ZHANG Junhu2

(1.LIAMA Institute of Automation Chinese Academy of Sciences Beijing 100190 China;2.School of Computer Science Engineering Qingdao Technological University Qingdao Shandong 266033 China)Abstract:This paper studied the characteristics and the applications of Ad hoc networks and analyzed the problems of the traditional methods of multistream join processing in Ad hoc networks. Based on this,proposed a synopsisbased multistream join optimization algorithm——SMJ.The experiments show that this method can greatly reduce the communication cost.

Key words:Ad hoc network; synopsis; data stream; multijoin;SMJ algorithm

0 引言

Ad hoc網絡是一種邏輯意義上的組網方式,是在不依賴基礎網絡設施的前提下由一定范圍內的移動終端動態地建立可以互連的網絡。它在軍事、基于無線傳感器網絡(WSNs)的應用、事件監測系統、無線P2P應用等領域使用廣泛。

Ad hoc網絡具有以下主要特點:

a)無中心。Ad hoc網絡是一個對等式網絡,節點可以隨時加入或離開網絡。

b)自組織。網絡的布設或展開無須依賴于任何預設的網絡設施。

c)多跳路由。當節點要與其覆蓋范圍之外的節點進行通信時,需要中間節點的多跳轉發。

d)動態拓撲。Ad hoc網絡中節點位置可以改變。節點可以隨時加入或離開網絡,從而使網絡拓撲結構動態變化。 

數據流是一種持續產生的數據元組的序列。在Ad hoc網絡中,許多應用需要處理多數據流連接查詢。例如由傳感器組成的Ad hoc網絡可用于監測某個區域動物活動情況。 網絡中的每個節點都能記錄經過本節點的動物編號,并且每個節點都能知道自己的地理位置。網絡上任意節點可查詢:在三個不同位置的節點site1、site2、site3都出現過動物的編號,本文用R1、R2、R3分別表示site1、site2、site3三個節點上的數據流。R1、R2、R3的模式為{ID,time}。其中:ID為某一動物的惟一標志;time為該動物出現的時間,即元組的時間標簽。數據流的查詢可以表示成一個多連接R1 join R2 joinR3。 

為優化該查詢,以查詢處理過程中所產生的通信代價作為優化目標。通信代價是一個查詢處理過程中單位時間內網絡任意兩個節點之間所傳輸數據量的總和。 

1 相關工作

最近出現了很多數據流管理系統(DSMS),如面向監控應用數據流處理的Aurora[1]系統;面向電信記錄數據流處理的TelegraphCQ[2]系統;面向傳感器網絡數據流處理的Fjord[3]系統等。還有很多文章討論了多數據流連接查詢的自適應處理技術。Eddy[4]是一種數據流查詢機制,可以在集中式的環境下持續不斷地為多連接查詢操作符重新排序,以提高結果輸出速度。AGreedy[5]算法是一種動態改變多連接執行順序以減少中心節點計算代價的算法。 Joseph等人[6]提出了自適應地調整查詢樹以獲得數據流多連接最大化輸出速度的技術。 Tian等人[7]解釋了動態查詢計劃遷移的具體算法。

以上系統是將所有數據流傳送到一個節點處理,沒有考慮分布在不同數據源節點上的多數據流連接查詢通信代價問題。在Ad hoc網絡中,通信所產生的能耗遠遠高于本地計算產生的能耗,降低通信代價尤為重要。Deddy[8]和SwAP[9],實現了分布式的多數據流連接查詢。這兩者使用Lottery routing策略,啟發式地決定分布式數據流上多連接執行順序。但是前者優化查詢處理的響應時間,后者優化后的通信代價依然很高。 

基于以上問題,本文提出了一種基于大綱的多數據流連接優化算法SMJ。通過大綱信息進行多數據流連接查詢,能避免傳輸不能產生最終結果的數據元組,并在每個連接時段優化多數據流連接執行順序。實驗顯示SMJ算法與Lotteryrouting算法相比能更大程度地降低多數據流連接查詢的通信代價。

2 多數據流連接的執行順序

R1,…,Rn是數據源節點site1,…,siten上的數據流。 若要執行多數據流連接R1 joinR2 join…join Rn,則每個數據源節點sitei上[tj-1,tj]時段新產生的數據塊ΔRinew要與其他節點tj-1時刻之前產生的數據塊R1old,…,Ri-1old,Ri+1old,…,Rnold依次進行連接,即ΔRinew按照一定次序先傳遞到節點site1,…,sitei-1,sitei+1,…,siten中的某一個節點上連接,然后將其連接結果傳遞到另一個節點上作連接,依此類推,直到所有的連接執行完畢,將最終結果傳送到查詢節點。

按照這種多數據流的連接方式,不同的執行順序會產生相同的最終結果,但會產生不同的通信代價。下面用上文動物監測的實例來說明這個問題。

表 1~3顯示了數據流R1、R2、R3在t1時刻前的數據。ΔR2(表 4)是site2節點在[t1,t2]時段產生的新數據塊。ΔR′2 (表5)是site2節點在[t2,t3]時段產生的新數據塊。 表6顯示了site1,site2,site3之間的單位數據通信代價。對于site2上每塊新數據,都有兩種不同的執行順序進行連接操作。例如,ΔR2的連接可有以下兩種方案:

1548

a)首先傳遞到site1以完成ΔR2 join R1,然后將中間結果ΔR2 join R1傳遞到site3以完成(ΔR2 joinR1)join R3。

b)首先傳遞到site3以完成ΔR2 join R3,然后將中間結果ΔR2 join R3傳遞到site1以完成(ΔR2 joinR3)join R1。

假定wij代表節點sitei sitej之間的單位數據通信代價。|R|代表R的大小。 那么上述兩種情況所產生的通信代價分別為

方案1代價:|ΔR2|×w21+|ΔR2 join R1|×w13;

方案2代價:|ΔR2|×w23+|ΔR2 join R3|×w31。

根據表6所示的通信代價矩陣,對于ΔR2,兩種執行順序所產生的通信代價分別為:a)3×18+3×25=129;b)3×20+2×25=110。所以,對于ΔR2最優的執行順序是第二種。

對于ΔR′2,兩種不同的執行順序的通信代價分別為:a)3×18+2×25=104;b)3×20+2×25=110。那么ΔR′2的最優執行順序是第一種。

從上面的例子可以看出,針對不同時段的不同數據,應采用不同的執行順序,以降低通信代價。最優的執行順序是隨時間變化的。要降低通信代價,必須在不同時段按照最優的執行順序執行多連接操作。

通過上面的分析,可知,影響數據流多連接通信代價大小因素有以下三個:

a)連接屬性值的重疊度。兩個數據表之間的重疊度用它們之間在連接屬性上相同取值的個數表示。重疊度越大,兩數據表在進行連接操作所產生的結果越多。

b)數據流數據產生的速度。數據源節點產生數據的速度越快,單位時間內產生的數據量越多,單位時間內產生的結果也越多。

c)數據節點之間拓撲結構的變化。兩個節點之間單位數據傳輸代價越大,傳輸同樣數據的通信代價越大。

為了以最小的通信代價實現多數據流連接查詢處理,一個好的處理策略應該能夠針對當前時段多數據流上連接屬性值的重疊度、數據源節點之間拓撲結構的變化。各數據流上數據產生的速度,產生相應的最優執行順序。為此,將多數據流的持續連接轉換為多個連接時段內的多個數據塊間的連接,并引入大綱信息來處理多數據流連接優化。通過大綱信息可避免傳輸新生成數據塊中不能產生最終結果的元組,并在每個時段,為能夠產生最終結果的元組確定最優執行順序。

3 基于大綱的多數據流連接算法SMJ

本章將詳細描述基于大綱的多數據流連接優化算法SMJ。假設要處理的查詢Q=R1 join R2 join… join Rn。其中:R1 … Rn是來自節點site1,…,siten上的數據流。

3.1 基于大綱中心的多連接執行順序的優化

基本定義如下:

a)大綱向量。它是一個m×1維的數據向量。設S表示數據流R在一定時間間隔之內的大綱向量。S中的每一項是在屬性A上具有一個特定的值的元組的數目,m對應A上所有可能取值的個數。設屬性A總共有四個可能值v1、v2、v3、v4(升序排列),這四個不同的屬性值上所產生元組的數目分別是3、7、9、1、R在屬性A的大綱向量就是一個4× 1維的數據向量S=[3,7,9,1]。 表7是R1、R2、R3在連接屬性ID上的大綱向量,這里假設連接屬性的可能取值為1~10,Si表示Ri的大綱向量。在以后的敘述中用Si(a)來表示Ri中屬性A值為a元組數目。

b)增量大綱向量。每個數據流上產生的新數據塊的大綱向量叫做增量大綱向量。如表 4所示的新數據塊ΔR2,其增量大綱向量ΔS2=[0,0,1,1,0,0,0,1,0,0] 這是因為ΔR2在連接屬性ID=3,4,8上各產生一個元組,因此其增量大綱向量ΔR2在其3、4、8位置上的分量的取值為1,其他為0。

c)通信代價矩陣。數據源節點之間單位數據傳送代價構成的矩陣,記做通信代價矩陣W,其元素wij是節點sitei與sitej之間傳送單位數據的代價,

使用大綱信息和通信代價矩陣,可以按照如下方式確定某執行順序的通信代價。如第2章提到對新數據塊ΔRinew的多連接:ΔRinew join R如上所述,使用大綱信息和數據源節點之間通信代價矩陣可確定某個執行順序的通信代價 可以據此選出不同的執行順序中通信代價最小的執行順序。 仍然是用上文提到的用動物習性監測的例子來說明 如何使用大綱信息去除不能產生最終結果的元組和確定最優的執行順序。

案2的通信代價),比原來減少為110-90=20。

綜上所述,通過大綱的方式處理多連接優化具有以下特點:

a)去除不能產生最終連接結果的元組,減少數據傳輸量。

b)利用大綱信息,能夠描述每個數據流在連接屬性值上的統計信息,為每個時間段產生的數據確定最優的連接執行順序。

c)對每個時間段產生的數據,針對連接屬性值重疊度 網絡拓撲和數據產生速度的變化自適應地確定最優執行順序。

3.2 SMJ算法基本思想

本節介紹基于大綱的多數據流連接優化算法SMJ。 首先引入大綱中心的概念:

大綱中心——到網絡中所有數據源節點的距離和最小的節點。 它維護并不斷更新多數據流連接查詢中所有數據流的大綱向量,動態地獲取數據源節點之間的拓撲信息。通過這些信息,大綱中心動態地為每個數據流上的每塊新數據確定一個最優的執行順序。新數據按照這個數據依次路由到不同的節點上進行連接操作,完成最終結果。它維護兩種信息,即所有數據流的大綱向量S1,…,Sn數據源節點之間的單位數據通信代價矩陣W。

基于大綱的多數據流連接查詢處理算法SMJ的工作機制如下:

a)某一個數據源節點sitei上的數據流產生新的數據塊時,該數據塊被緩存,相應的增量大綱向量被發送到大綱中心,用于大綱中心作更新。如表4所示的新數據塊ΔR2,其增量大綱向量為ΔS2=[0,0,1,1,0,0,0,1,0,0]。

b)當大綱中心收到來自數據源節點sitei的增量大綱向量時,執行:(a)更新相應數據流的大綱向量;(b)根據更新的增量大綱向量產生濾波大綱向量;(c)根據更新濾波向量產生最優執行順序; (d)向節點sitei返回最優執行順序和濾波向量。例如 對表 4所示的新數據塊ΔR2,大綱中心收到ΔS2后進行更新操作:S2←S2+ΔS2。 將ΔS2與其他大綱向量作元素乘操作,得到濾波向量ΔS′2←ΔS2⊙S1⊙S3=[0,0,1,1,0,0,0,0,0,0]。其中不為0的元素即為能產生最終結果的元組。為ΔS′2確定最優的執行順序{3,1}(算法將在3.3節詳細解釋)。將此執行順序附在ΔS′2后面發送回site2。

c)當節點sitei收到大綱中心返回的濾波大綱向量和執行順序后,節點首先根據濾波向量從新數據塊中去除不能產生最終結果的元組,將剩余元組按照指定的順序依次發送到不同的節點上完成連接,并將最終結果發送到查詢節點。例如,site2收到ΔS′2和執行順序{3,1}后,先半連接操作ΔR2←ΔR2 semijoin ΔS′2,然后ΔR2依次被發送到site3,site1作連接以完成最終結果。

3.3 SMJ算法詳細描述

根據以上的分析,得出基于大綱的最優執行順序選擇算法SMJE。這種算法窮舉每一種可能的執行順序,從中選出代價最小的執行順序。SMJE算法如下:

由于算法SMJE窮舉出每一種可能的執行順序,它的計算復雜度為O(n!)。本文提出了一種基于動態規劃的啟發式算法SMJH,算法復雜度只有O(n2)。SMJH算法如下:

4 基于滑動窗口的多數據流連接優化

數據流具有無界的特性,多數據流連接應用采用滑動窗口技術將無界的數據流連接轉換成連續的有界數據集的連接。其中有界數據集由當前時間推后Tw時間(時間窗)內的數據組成[10]。如算法SMJ僅需少許修改,即可適應基于滑動窗口的多數據流連接查詢。

當某數據流產生了新數據塊時,會有一些舊元組r的時間戳tr超出窗口Tw,|tc-tr|>Tw。其中,tc為當前時間戳。這種位于時間窗外的數據將被刪除。某數據流中有數據被刪除時,為已刪除數據建立減量大綱向量,并將其發送到大綱中心作相應更新。減量大綱向量是已刪除數據的大綱向量,當大綱中心收到減量大綱向量時,對相應數據流的大綱向量作減操作。

例如,對第2章提到的例子,設數據流R2的時間窗Tw為2個時間單位,那3章提到的算法進行處理。

5 實驗及結果分析

5.1 實驗設置

假設存在一個配置在一個區域內的監測網絡,隨機選擇其中的幾個節點作為數據源節點,滿足:

a)每個數據源節點對應一個數據流。

b)任意兩數據源節點間的單位數據通信代價是一個1~10的隨機數。

c)每個數據流單位時間產生的元組個數,符合參數λ=5的泊松分布。

d)所有連接都在同一個屬性上,連接屬性值符合1~20的均勻分布。

e)所有數據流的運行時間都是30個時間單位,時間窗為3個時間單位。

f)設一個大綱向量元組為一個普通數據元組的1/4。

5.2 實驗算法

基于大綱的多數據流連接優化算法SMJ在優化多連接執行順序時可采用兩種方式:a)啟發式 稱之為SMJH算法;b)窮舉式,稱之為SMJE算法。將其與Lottery routing[4]算法比較,以測試SMJ算法性能。

Lottery routing算法在Deddy[8]和SwAP[9]得以在分布式環境中實現。這種算法為某個數據源節點產生的新數據塊,引入歷史向量h。其中h由n個bit位表示,n是數據源節點個數,每個bit位表示這塊數據是否已被某個數據源節點處理過,是則為0; 否則為1。 每個數據源節點sitek維護一個到其他數據源節點的選擇因子向量sf={sf1k,…,sfk-1k,sfk+1k,…,sfnk}。其中:sfik是節點sitek向節點sitei發送數據元組個數和節點sitei產生的相應結果元組個數的比率。 節點sitek根據每次向sitei發送的數據量以及sitei反饋給sitek產生的結果數動態修改sfik。對于sitek上一塊具有歷史向量h的數據,它選擇向量sf⊙h中最大元素對應的節點作為下一個要傳送到的節點。

5.3 結果分析

實驗中,本文研究了無滑動窗口和有滑動窗口條件下進行多數據流連接時,不同算法的單位時間通信代價隨時間積累和數據源節點數目增加的變化情況。

圖1(a)和(b)分別顯示了無滑動窗口和有滑動窗口條件下,算法Lottery routing、SMJH和SMJE在進行多數據流連接時所產生的單位時間通信代價與數據源節點數目之間的關系:無論是否基于滑動窗口,多數據流連接所需的中間連接結果的傳送次數會隨數據源節點數目的增加而增多,導致三個算法進行多數據流連接時的單位時間通信代價一致增大。其中Lottery routing計算多數據流連接所產生的單位時間通信代價最大 而SMJH所產生的單位時間通信代價又略高于SMJE。另外,由圖1(b)可知,在基于滑動窗口的多數據流連接優化方面,隨著數據源節點數目的增多,SMJH/E在減少通信代價方面的優勢尤為明顯。

圖2(a)和(b)分別顯示了非滑動窗口連接和滑動窗口連接的情況下 單位時間通信代價隨時間的變化。實驗結果顯示,非滑動窗口多連接查詢,單位時間通信代價隨著時間增加而增加。這是因為對非滑動窗口連接,每個數據源節點上的數據隨時間逐步增多,因此參與計算的數據量逐步增大,從而使單位時間通信代價增加。對于基于滑動窗口的連接,開始時單位時間通信代價隨時間增加而增加,而后單位時間通信代價趨向一個常值。這是因為開始時,每個數據源節點上的數據量未滿一個窗口 此時隨時間增長 節點上積累的數據增多;當數據源節點中的數據開始超過一個窗口時,舊數據會被刪除,使等待處理的數據量不會變化太大,從而使單位時間通信代價趨于常值。

總之 基于大綱的多連接執行順序優化算法SMJ在降低通信代價方面表現出色:算法SMJH在非滑動窗口多連接時,比Lottery routing算法降低20%~40%的通信代價;在滑動窗口連接的情況下可以降低50%~70%的通信代價。算法SMJE在非滑動窗口多連接時,比Lottery routing算法降低40%~60%的通信代價;在滑動窗口多連接的情況下降低60%~85%的通信代價。

6 結束語

本文研究了在Ad hoc網絡環境下數據流多連接查詢處理。首先分析了數據流多連接不同的執行順序對通信代價的影響;然后分析了影響數據流多連接通信代價的三個因素,即連接屬性值的重疊度、數據流數據產生的速度、數據節點之間拓撲結構的變化。在此基礎上,提出了一種基于大綱多數據流連接優化算法SMJ來優化數據流多連接查詢的執行順序,并且與Lottery routing算法進行比較。實驗結果顯示,SMJ能夠很好地優化數據流多連接執行順序,提高Ad hoc網絡環境中的多連接查詢執行效率。

致謝 本文是在中國科學院自動化所中法聯合實驗室(LIAMA,CASIA)的NETQUET項目組中完成的。LIAMA、中法信息、自動化與應用數學聯合實驗室,由中國科學院和法國計算機研究院等多家頂級研究機構聯合創辦,是國家級國際聯合研究中心之一。NETQUEST組主要研究無線網絡分布式查詢處理。感謝Stéphane Grumbach和Christophe Bobineau兩位法國教授的指導。Stéphane Grumbach是中法實驗室法方主任,博士生導師,主要研究方向為數據庫理論;Christophe Bobineau是法國國立高等數學與計算機學院副研究員。

參考文獻:

[1]ABADI D J,CARNEY D,ETINTEMEL U C,et al.Aurora:a new model and architecture for data stream management[J].VLDB Journal,2003,12(2):120139.

[2]CHANDRASEKARAN S,COOPER O,DESHPANDE A,et al.TelegraphCQ:continuous dataflow processing for an uncertain world[C]//Proc of CIDR.2003.

[3]MADDEN S,FRANKLIN M J.Fjording the stream:an architecture for queries in a production system[C]//Proc of ICDE Workshops.2002:555566.

[4]AVNUR R,HELLERSTEIN J M.Eddies:continuously adaptive query processing[C]//Proc of SIGMOD Conference.2000:261272.

[5]BABU S,MOTWANI R,MUNAGALA K,et al.Adaptive ordering of pipelined stream filters[C]//Proc of SIGMOD Conference.2004:407418.

[6]GOMES J S,CHOI H A.Finding:optimal join tree for multijoin stream queries in a production system[C]//Proc of ICDCS Workshops.2006.

[7]YANG Yin,KRAMER J,PAPADIAS D,et al.HybMig:a hybrid approach to dynamic plan migration for continuous queries[J].IEEE Trans on Knowledge of Data Engineering,2007,19(3):398411.

[8]FENG Tian,DEWITT D J.Tuple routing strategies for distributed eddies[C]//Proc of VLDB.2003:334-344.

[9]ZHOU Yongluan,OOI B C,TAN K L,et al.An adaptable distributed query processing architecture[J].Data Knowledge Engineering,2005,53(3):283309.

[10]ZHANG Dongdong,LI Jianzhong,KIMELI K,et al.Sliding window based multijoin algorithms over distributed data streams[C]//Proc of ICDE.2006.

主站蜘蛛池模板: 在线欧美国产| 女人爽到高潮免费视频大全| a毛片在线| 国产jizzjizz视频| 亚洲第一成人在线| 国产网友愉拍精品| 久久久久人妻一区精品色奶水| 亚洲第一区精品日韩在线播放| 色呦呦手机在线精品| 亚洲无线视频| 日本三级欧美三级| 日韩午夜片| 欧美曰批视频免费播放免费| 亚洲色图欧美视频| 国产全黄a一级毛片| 亚洲日本在线免费观看| 四虎成人精品| 手机在线国产精品| 露脸一二三区国语对白| 亚洲国产亚综合在线区| 亚洲国产中文在线二区三区免| 青青草国产免费国产| 国产美女视频黄a视频全免费网站| 国产一级精品毛片基地| 亚洲无线观看| 亚洲免费毛片| 波多野结衣一区二区三区四区| 国产小视频在线高清播放| 国产欧美日韩另类| 99这里只有精品在线| 国产激爽大片在线播放| 久久精品人妻中文系列| 国产毛片网站| 国产成年女人特黄特色毛片免| Aⅴ无码专区在线观看| 伊人福利视频| 五月激情综合网| 中文字幕在线看| 日韩不卡免费视频| 狠狠五月天中文字幕| 内射人妻无码色AV天堂| 久久精品中文字幕少妇| 久草中文网| 亚洲国产成人无码AV在线影院L | 美女一级毛片无遮挡内谢| 欧美日韩中文字幕二区三区| 久久久受www免费人成| 91福利在线看| 国产欧美精品一区aⅴ影院| 日日拍夜夜嗷嗷叫国产| 欧美午夜在线观看| 国产成人三级在线观看视频| 毛片视频网| 国产乱子伦视频在线播放| AV天堂资源福利在线观看| 国产无码精品在线播放| 日韩AV手机在线观看蜜芽| 五月天综合网亚洲综合天堂网| 久久免费视频6| 69av免费视频| 日本欧美在线观看| av天堂最新版在线| 色综合色国产热无码一| 国内精品久久久久鸭| 亚洲综合色在线| 国产精品自在拍首页视频8| 在线观看国产精品第一区免费| 亚洲欧美自拍视频| 亚洲无码高清视频在线观看| 青青国产在线| 五月婷婷综合网| 国产女人水多毛片18| 999福利激情视频 | 午夜人性色福利无码视频在线观看| 2021最新国产精品网站| 亚洲成人精品久久| 久久精品丝袜| 久久精品国产精品国产一区| 亚洲最黄视频| 亚洲侵犯无码网址在线观看| 亚洲婷婷六月| 国产精品视频公开费视频|