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

基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法

文檔序號(hào):10570023閱讀:461來源:國知局
基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法
【專利摘要】本發(fā)明提出了基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法。該方法采用兩層樹形的通信結(jié)構(gòu),包括m個(gè)葉子節(jié)點(diǎn)和1個(gè)根節(jié)點(diǎn)。葉子節(jié)點(diǎn)負(fù)責(zé)處理數(shù)據(jù)流中的數(shù)據(jù)項(xiàng),并在數(shù)據(jù)項(xiàng)頻率的增量超過閾值時(shí)向根節(jié)點(diǎn)發(fā)送頻率增量。根節(jié)點(diǎn)負(fù)責(zé)收集葉子節(jié)點(diǎn)傳遞的更新。該方法通信開銷小,同時(shí)可以實(shí)時(shí)響應(yīng)用戶發(fā)起的頻繁項(xiàng)查詢請(qǐng)求。
【專利說明】
基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于數(shù)據(jù)挖掘技術(shù)領(lǐng)域,涉及一種頻繁項(xiàng)挖掘方法,特別是涉及適用于分 布式架構(gòu)的頻繁項(xiàng)挖掘方法。
【背景技術(shù)】
[0002] 在關(guān)聯(lián)規(guī)則挖掘、序列模式挖掘、相關(guān)性挖掘、多層模式挖掘等數(shù)據(jù)挖掘問題中, 頻繁項(xiàng)挖掘既是基本步驟,也是關(guān)鍵步驟。目前有許多在單一節(jié)點(diǎn)上數(shù)據(jù)流的頻繁項(xiàng)挖掘 的研究,這些研究大致可以劃分兩類:基于計(jì)數(shù)器的方法和基于sketch的方法。
[0003] 基于計(jì)數(shù)器的頻繁項(xiàng)挖掘方法會(huì)維護(hù)一組計(jì)數(shù)器用來統(tǒng)計(jì)數(shù)據(jù)項(xiàng)的頻率。每個(gè)計(jì) 數(shù)器包含兩個(gè)參數(shù),分別是數(shù)據(jù)項(xiàng)名稱和數(shù)據(jù)項(xiàng)頻率。當(dāng)數(shù)據(jù)流中有數(shù)據(jù)項(xiàng)到來時(shí),如果維 護(hù)的計(jì)數(shù)器中存在這個(gè)數(shù)據(jù)項(xiàng),則相應(yīng)增加該計(jì)數(shù)器所記錄的頻率;否則增加一個(gè)新的計(jì) 數(shù)器用來存儲(chǔ)新數(shù)據(jù)項(xiàng)或者替換一個(gè)原有的計(jì)數(shù)器。通?;谟?jì)數(shù)器的頻繁項(xiàng)挖掘方法處 理單個(gè)數(shù)據(jù)項(xiàng)的開銷很低,但是需要周期性地對(duì)所有計(jì)數(shù)器進(jìn)行排序?;谟?jì)數(shù)器的頻繁 項(xiàng)挖掘方法有Frequent、Space Saving和Lossy Counting等。
[0004] 基于sketch的方法采用由一維或者兩維計(jì)數(shù)器數(shù)組構(gòu)成的哈希表來估計(jì)數(shù)據(jù)流 中各個(gè)數(shù)據(jù)項(xiàng)的頻率。這類方法通常采用哈希技術(shù)將每個(gè)數(shù)據(jù)項(xiàng)映射到對(duì)應(yīng)的多個(gè)計(jì)數(shù)器 上,單個(gè)計(jì)數(shù)器可能被多個(gè)數(shù)據(jù)項(xiàng)所共享,即具有相同哈希值的數(shù)據(jù)項(xiàng)共享同一個(gè)計(jì)數(shù)器。 當(dāng)一個(gè)數(shù)據(jù)項(xiàng)到達(dá)時(shí),只需修改對(duì)應(yīng)的計(jì)數(shù)器的值。當(dāng)用戶提交查詢請(qǐng)求時(shí),使用對(duì)應(yīng)的計(jì) 數(shù)器的值來估計(jì)頻率,能夠以較高的置信度將誤差控制在一定的范圍之內(nèi)。一般而言,基于 哈希的方法需要額外數(shù)據(jù)結(jié)構(gòu)的支持,如使用一個(gè)堆來跟蹤候選的頻繁項(xiàng)?;赟kech頻繁 項(xiàng)挖掘方法有CountSketch、CountMin Sketch和hCount等。
[0005] 傳統(tǒng)的頻繁項(xiàng)挖掘方法大多只考慮將單一數(shù)據(jù)源在單一節(jié)點(diǎn)上進(jìn)行處理,然而目 前在很多實(shí)際應(yīng)用中,需要挖掘的數(shù)據(jù)是大規(guī)模分布式的,例如網(wǎng)絡(luò)監(jiān)控中的流檢測、DD0S 攻擊檢測等。目前針對(duì)分布式流環(huán)境下的頻繁項(xiàng)挖掘方法的研究主要包括A.Man jhi提出的 適用于樹形或是多路徑圖形的拓?fù)浣Y(jié)構(gòu)的Tributary-Delta方法;G.Cormode提出的一種可 以連續(xù)跟蹤高速度分布式流中的頻繁項(xiàng)的近似方法;B. Babcock和C.Olston提出的分布式 top-k監(jiān)聽的方法等。這些方法存在的主要不足包括:通信開銷過大以及不支持實(shí)時(shí)查詢。

【發(fā)明內(nèi)容】

[0006] 本發(fā)明目的是解決現(xiàn)有方法存在通信開銷過大以及不支持實(shí)時(shí)查詢的問題,提供 一種基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法,可用以提高傳統(tǒng)頻繁項(xiàng)挖掘方法在分布式 架構(gòu)上的處理能力。
[0007] 本發(fā)明提供了基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法,該方法是一種帶權(quán)值的 分布式數(shù)據(jù)流頻繁項(xiàng)挖掘方法的近似方法。該方法采用2層樹形的通信結(jié)構(gòu),包括m個(gè)葉 子節(jié)點(diǎn)和1個(gè)根節(jié)點(diǎn);所述葉子節(jié)點(diǎn)負(fù)責(zé)處理數(shù)據(jù)流中的數(shù)據(jù)項(xiàng),將數(shù)據(jù)流中的數(shù)據(jù)項(xiàng)頻率 存儲(chǔ)在葉子節(jié)點(diǎn)的最小堆中,并在數(shù)據(jù)項(xiàng)頻率增量大于閾值時(shí),將數(shù)據(jù)項(xiàng)頻率增量發(fā)送至 根節(jié)點(diǎn);所述根節(jié)點(diǎn)負(fù)責(zé)計(jì)算數(shù)據(jù)項(xiàng)在整體架構(gòu)中的頻率估計(jì)值,將數(shù)據(jù)項(xiàng)頻率估計(jì)值存 儲(chǔ)在根節(jié)點(diǎn)的最小堆中;所述葉子節(jié)點(diǎn)的最小堆中存儲(chǔ)的條目包括數(shù)據(jù)項(xiàng)名稱、數(shù)據(jù)項(xiàng)頻 率以及數(shù)據(jù)項(xiàng)頻率增量;所述根節(jié)點(diǎn)的最小堆中存儲(chǔ)的條目包括數(shù)據(jù)項(xiàng)名稱以及數(shù)據(jù)項(xiàng)頻 率估計(jì)值。
[0008] 本發(fā)明技術(shù)方案:
[0009] 步驟1)、每個(gè)葉子節(jié)點(diǎn)i從所收到的數(shù)據(jù)流中依次取出數(shù)據(jù)項(xiàng),所述數(shù)據(jù)項(xiàng)包括數(shù) 據(jù)項(xiàng)名稱Vt及數(shù)據(jù)項(xiàng)頻率Cv, t;
[0010] 步驟2)、更新所述葉子節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)頻率之和化=化+(^以及數(shù)據(jù)項(xiàng)頻率之和的 增量A i= A i+Cv,t,其中的等號(hào)表述賦值,下同;
[0011] 步驟3)、根據(jù)步驟1)所取出的數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)名稱vt和數(shù)據(jù)項(xiàng)頻率~,*在所述的 葉子節(jié)點(diǎn)的最小堆出中找出合適的條目,并為該條目中的數(shù)據(jù)項(xiàng)名稱、數(shù)據(jù)項(xiàng)頻率以及數(shù) 據(jù)項(xiàng)頻率增量賦值;該步驟包括:
[0012] 步驟3-1)、判斷所述的葉子節(jié)點(diǎn)的最小堆中是否存在數(shù)據(jù)項(xiàng)名稱為vt的條目,若 存在執(zhí)行下一步,否則,執(zhí)行步驟3-5);
[0013]步驟3-2)、判斷所述的葉子節(jié)點(diǎn)的最小堆出是否已滿,若已滿,執(zhí)行下一步,否則, 執(zhí)行步驟3-4);
[0014]步驟3-3)、從所述的葉子節(jié)點(diǎn)的最小堆Hi中取出數(shù)據(jù)項(xiàng)頻率最小的條目itemmin, 對(duì)該條目重新賦值,然后執(zhí)行步驟4);其中,對(duì)該條目賦值包括:
[0015] 令v -Vt,Cv - Cv+Cv, t,A v -Cv, t ;
[0016] 所述的v表示取出條目的數(shù)據(jù)項(xiàng)名稱,所述的Vt表示取出的數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)名稱, 所述的cv表示取出條目的數(shù)據(jù)項(xiàng)頻率,所述的c v,t表示取出的數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)頻率,所述的 A v表示取出條目的數(shù)據(jù)項(xiàng)頻率增量;
[0017] 步驟3-4)、創(chuàng)建一個(gè)新條目并為新條目賦值,將新條目插入所述的葉子節(jié)點(diǎn)的最 小堆出中,然后執(zhí)行步驟4);其中,對(duì)新條目賦值包括:
[0018] 4'v = vt,Cv = cv,t, Av = cv,t;
[0019] 步驟3-5)、從所述的葉子節(jié)點(diǎn)的最小堆H沖取出已存在的條目并對(duì)該條目 進(jìn)行更新,然后執(zhí)行步驟4);其中,對(duì)該條目更新包括:
[0020] 令Cv=Cv+Cv,t,A v= A v+cv,t;
[0021] 步驟4)、判斷所述的數(shù)據(jù)項(xiàng)頻率之和的增量以及所述條目的數(shù)據(jù)項(xiàng)頻率增量是否 大于閾值,如果大于閾值,向根節(jié)點(diǎn)傳遞更新;該步驟包括:
[0022]步驟4-1)、判斷所述的數(shù)據(jù)項(xiàng)頻率之和的增量A :是否滿足A ,如果滿足, 執(zhí)行下一步,否則,執(zhí)行步驟4-3);其中,
[0023]所述的隊(duì)表示用戶定義的葉子節(jié)點(diǎn)的更新延遲系數(shù),所述的化表示所述葉子節(jié)點(diǎn) 的數(shù)據(jù)項(xiàng)頻率之和;
[0024] 步驟4-2)、所述的葉子節(jié)點(diǎn)向根節(jié)點(diǎn)發(fā)送0-msg更新,然后將A啲值置為〇;其中
[0025] 所述的0-msg更新發(fā)送的內(nèi)容包括所述的數(shù)據(jù)項(xiàng)頻率之和的增量A 1;
[0026] 步驟4-3)、所述的條目的數(shù)據(jù)項(xiàng)頻率增量A v是否滿足A ¥>隊(duì)化,如果滿足,執(zhí)行 下一步,否則,執(zhí)行步驟5);
[0027]所述的隊(duì)表示用戶定義的葉子節(jié)點(diǎn)的更新延遲系數(shù),所述的化表示所述葉子節(jié)點(diǎn) 的數(shù)據(jù)項(xiàng)頻率之和;
[0028] 步驟4-4)、所述的葉子節(jié)點(diǎn)向根節(jié)點(diǎn)發(fā)送數(shù)據(jù)項(xiàng)更新,然后將A v的值置為〇;其中
[0029] 所述的數(shù)據(jù)項(xiàng)更新發(fā)送的內(nèi)容包括所述的條目的數(shù)據(jù)項(xiàng)名稱以及所述的條目的 數(shù)據(jù)項(xiàng)頻率增量A v;
[0030] 步驟5)、所述的根節(jié)點(diǎn)從所述的葉子節(jié)點(diǎn)發(fā)送的更新中依次取出更新,并根據(jù)取 出的更新維護(hù)相應(yīng)的數(shù)據(jù);該步驟包括:
[0031] 步驟5-1)、判斷根節(jié)點(diǎn)取出的所述葉子節(jié)點(diǎn)發(fā)送的更新的類型,如果是0-msg更 新,執(zhí)行下一步,如果是數(shù)據(jù)項(xiàng)更新,執(zhí)行步驟5-3);
[0032]步驟5-2)、更新所述的根節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)頻率之和的估計(jì)值N = N+A :,其中等號(hào)表 示賦值,然后執(zhí)行步驟6);其中,
[0033] 所述的N表示根節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)頻率之和的估計(jì)值,所述的A :表示所述的葉子節(jié)點(diǎn) 發(fā)送的〇-msg更新的頻率;
[0034] 步驟5-3)、更新所述的根節(jié)點(diǎn)的最小堆Ho;該步驟包括:
[0035] 步驟5-3-1)、取出所述的葉子節(jié)點(diǎn)發(fā)送的更新中的數(shù)據(jù)項(xiàng)名稱vt以及數(shù)據(jù)項(xiàng)頻率 增量A v,t;
[0036]步驟5-3-2)、判斷所述的根節(jié)點(diǎn)的最小堆中是否存在數(shù)據(jù)項(xiàng)名稱為vt的條目 itemv,若存在執(zhí)行下一步,否則,執(zhí)行步驟5-3-4);
[0037]步驟5-3-3)、取出所述的條目itemv,對(duì)并對(duì)該條目進(jìn)行更新,然后執(zhí)行步驟6);其 中,對(duì)該條目更新包括:
[0038] 令Cv=Cv+Av,t,其中等號(hào)表示賦值;
[0039] 所述的v表示取出條目的數(shù)據(jù)項(xiàng)名稱,所述的Cv表示取出條目的數(shù)據(jù)項(xiàng)頻率,所述 的A v,t表示取出數(shù)據(jù)項(xiàng)更新的數(shù)據(jù)項(xiàng)頻率增量;
[0040] 步驟5-3-4)、判斷所述的根節(jié)點(diǎn)的最小堆Ho是否已滿,若已滿,執(zhí)行下一步,否則 執(zhí)行5-3-6);
[00411步驟5-3-5)、取出所述的根節(jié)點(diǎn)的最小堆Ho中數(shù)據(jù)項(xiàng)頻率最小的條目itemmin,對(duì) 該條目重新賦值,然后執(zhí)行步驟6);其中,對(duì)該條目賦值包括:
[0042] 令v = vt,cv = cv+A v,t;
[0043] 所述的Vt表示取出的數(shù)據(jù)項(xiàng)更新的數(shù)據(jù)項(xiàng)名稱;
[0044] 步驟5-3-6 )、創(chuàng)建一個(gè)新條目并為新條目賦值,將新條目插入所述的根節(jié)點(diǎn)維護(hù) 的最小堆中,然后執(zhí)行步驟6);其中,對(duì)新條目賦值包括:
[0045] $v = Vt,Cv= A v,t;
[0046] 步驟6)、根據(jù)用戶的請(qǐng)求,根節(jié)點(diǎn)遍歷所述的最小堆Ho,返回所有數(shù)據(jù)項(xiàng)頻率 ,@的條目為所要挖掘的頻繁項(xiàng)。
[0047]本發(fā)明在所述的步驟4)和步驟5)之間還包括對(duì)葉子節(jié)點(diǎn)的最小堆出進(jìn)行按照數(shù) 據(jù)項(xiàng)的頻率進(jìn)行排序的操作步驟。
[0048]以及,在所述的步驟5)和步驟6)之間還包括對(duì)根節(jié)點(diǎn)的最小堆Ho進(jìn)行按照數(shù)據(jù)項(xiàng) 的頻率進(jìn)行排序的操作步驟。
[0049] 本發(fā)明的優(yōu)點(diǎn)和有益效果:
[0050] 本發(fā)明提供的方法輸出的頻繁項(xiàng)的數(shù)據(jù)項(xiàng)頻率的估計(jì)值與真實(shí)值之間的誤差不 大于_,單條鏈路上的最大通信開銷不大于
,可以支持用戶實(shí)時(shí)的頻繁項(xiàng)查詢。
【附圖說明】
[0051] 圖1是基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法的通信結(jié)構(gòu)。
[0052] 圖2是基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法的平均相對(duì)誤差。
[0053] 圖3是基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法的單鏈路通信開銷。
[0054] 圖4是基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法的初始化時(shí)間。
【具體實(shí)施方式】
[0055] 為了更清晰直觀的表達(dá)本發(fā)明的方法思路,下面對(duì)基于分布式架構(gòu)的數(shù)據(jù)流頻繁 項(xiàng)挖掘方法的細(xì)節(jié)進(jìn)行詳細(xì)說明:
[0056] 1 ?確定參數(shù)
[0057]分布式頻繁項(xiàng)挖掘方法需要確定的參數(shù)包括:
[0058] (1)數(shù)據(jù)項(xiàng)支持度夢資供綠和誤差度似》綉《
[0059] (2)葉子節(jié)點(diǎn)數(shù)據(jù)m;
[0060] (3)每個(gè)葉子節(jié)點(diǎn)i和根節(jié)點(diǎn)的最小堆Hi和Ho的大小為;
[0061] (4)每個(gè)葉子節(jié)點(diǎn)i的延遲更新系數(shù)&(0<&<£)。
[0062]在本實(shí)施例中葉子節(jié)點(diǎn)數(shù)量m = 8,葉子節(jié)點(diǎn)和根節(jié)點(diǎn)的最小堆的大小均為10000, 即a0 = ai = 〇.〇〇〇1[0.001,0? 005],eG [0.0001,0? 0005],f =
[0063] 2.初始化
[0064] 確定每個(gè)葉子節(jié)點(diǎn)i的初始化時(shí)間為
為葉子節(jié)點(diǎn)i與根節(jié)點(diǎn)之間鏈 路的帶寬,單位為數(shù)據(jù)包/秒。在本發(fā)明方法運(yùn)行的最初時(shí)刻,每個(gè)葉子節(jié)點(diǎn)i會(huì)處理收到的 來自數(shù)據(jù)流Si的數(shù)據(jù)項(xiàng)更新,但卻不會(huì)將任何消息傳遞給它的根節(jié)點(diǎn)直至初始化狀態(tài)結(jié) 束。
[0065] 3.葉子節(jié)點(diǎn)處理數(shù)據(jù)流中的數(shù)據(jù)項(xiàng)
[0066]當(dāng)數(shù)據(jù)流S沖有新數(shù)據(jù)項(xiàng)(v,cv,t)到達(dá)葉子節(jié)點(diǎn)i時(shí),首先更新數(shù)據(jù)流S沖數(shù)據(jù)項(xiàng) 頻率之和Ni = Ni+cv,t,其中等號(hào)表示賦值,下同,以及數(shù)據(jù)項(xiàng)頻率之和的頻率估計(jì)值增量A i =A 1+Cv, t。其次更新相應(yīng)的數(shù)據(jù)項(xiàng)頻率:如果v G出,則增加相應(yīng)數(shù)據(jù)項(xiàng)條目的頻率估計(jì)值 cv = cv+cv, t和數(shù)據(jù)項(xiàng)v的頻率估計(jì)值增量A v= A v+Cv, t;否則找到Hi中頻率估計(jì)值最小的數(shù) 據(jù)項(xiàng)itemmin,將itemmin的數(shù)據(jù)項(xiàng)名替換為V,并更新其數(shù)據(jù)項(xiàng)頻率Cv = cv+Cv,t和頻率估計(jì)值 增量A v = Cv,t。最后檢查是否滿足條件向根節(jié)點(diǎn)傳遞數(shù)據(jù)項(xiàng)更新:如果A 發(fā)送更 新(0, 給根節(jié)點(diǎn),并重置頻率估計(jì)值增量A1 = 〇;如果,則發(fā)送更新(v,Av)給 根節(jié)點(diǎn),并重置頻率估計(jì)值增量A v=0。
[0067] 4.根節(jié)點(diǎn)處理葉子節(jié)點(diǎn)發(fā)送的更新
[0068]當(dāng)根節(jié)點(diǎn)收到葉子節(jié)點(diǎn)傳遞的數(shù)據(jù)項(xiàng)更新(v,A v)時(shí),如果VGHo,則增加相應(yīng)數(shù)據(jù) 項(xiàng)條目的頻率估計(jì)值Cv = cv+ A v;否則找到Ho中頻率估計(jì)值最小的數(shù)據(jù)項(xiàng)itemmin,將itemmin 的數(shù)據(jù)項(xiàng)名替換為V,并更新其數(shù)據(jù)項(xiàng)頻率cv = cv+A V。當(dāng)根節(jié)點(diǎn)收到葉子節(jié)點(diǎn)傳遞的o-msg 更新(0,A i)時(shí),更新根節(jié)點(diǎn)對(duì)數(shù)據(jù)項(xiàng)頻率之和的估計(jì)值No = No+ A i。
[0069] 5.根節(jié)點(diǎn)處理用戶發(fā)起的頻繁項(xiàng)查詢
[0070] 當(dāng)用戶向根節(jié)點(diǎn)提交頻繁項(xiàng)查詢時(shí),根節(jié)點(diǎn)掃描最小堆Ho中維護(hù)的每個(gè)數(shù)據(jù)項(xiàng)條 目(v,cv)。如果cv^coNo,則認(rèn)為v是頻繁項(xiàng)并將v輸出,其中《為輸出閾值,有 穸4 +免《松玄麥認(rèn)令爲(wèi)織、),爹為用戶定義的數(shù)據(jù)項(xiàng)支持度,amax = max(ai),0max=max (f3i)0
[0071] 本發(fā)明采用現(xiàn)實(shí)數(shù)據(jù)與計(jì)算機(jī)模擬的方式實(shí)施。
[0072] 本發(fā)明選擇3組真實(shí)的網(wǎng)絡(luò)環(huán)境下采集的網(wǎng)絡(luò)流量數(shù)據(jù)集作為實(shí)施例中的數(shù)據(jù) 源。這3組數(shù)據(jù)集分別是:CERNET數(shù)據(jù)集,是在CERNET(China Education and Research Network)的OC-48鏈路上采集的TCP雙向數(shù)據(jù)集;CAIDA48數(shù)據(jù)集,是在0C-48west coast peering link上采集的匿名數(shù)據(jù)集;CAIDA192數(shù)據(jù)集,是在0C-192鏈路上采集的單項(xiàng)匿名 數(shù)據(jù)集。本發(fā)明將網(wǎng)絡(luò)流量數(shù)據(jù)集中IP數(shù)據(jù)包的五元組(源IP地址,目的IP地址,源端口,目 的端口,傳輸層協(xié)議)定義為數(shù)據(jù)項(xiàng)名,將數(shù)據(jù)包負(fù)載的長度定義為數(shù)據(jù)項(xiàng)頻率。
[0073] 定義更新延遲系數(shù)0的相對(duì)值為
,.圖2顯示了本發(fā)明方法處理3組不同的網(wǎng)絡(luò)數(shù)據(jù) 集的平均相對(duì)誤差。可以觀測到,在ee [0.0001,0. 0005]時(shí),方法的平均相對(duì)誤差均小于當(dāng) 前e的值與N乘積。
[0074]圖3顯示了本發(fā)明方法處理3組不同的網(wǎng)絡(luò)數(shù)據(jù)集的單鏈路開銷。對(duì)于圖3的每幅 子圖,分別有4條曲線,由上至下每條曲線分別表示處理當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)集的單鏈路通信開銷 的理論最大值
單鏈路通信開銷的實(shí)際最大值、實(shí)際平均值以及實(shí)際最小值??梢杂^ 測到,單條鏈路上的實(shí)際最大通信開銷不大亍
[0075]圖4顯示了本發(fā)明方法的初始化時(shí)間??梢杂^測到,更新延遲系數(shù)0的相對(duì)值越大, 本發(fā)明方法所需的初始化時(shí)間越少。
【主權(quán)項(xiàng)】
1. 一種基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法,該方法采用2層樹形的通信結(jié)構(gòu),包 括m個(gè)葉子節(jié)點(diǎn)和1個(gè)根節(jié)點(diǎn);所述葉子節(jié)點(diǎn)負(fù)責(zé)處理數(shù)據(jù)流中的數(shù)據(jù)項(xiàng),將數(shù)據(jù)流中的數(shù) 據(jù)項(xiàng)頻率存儲(chǔ)在葉子節(jié)點(diǎn)的最小堆中,并在數(shù)據(jù)項(xiàng)頻率增量大于閾值時(shí),將數(shù)據(jù)項(xiàng)頻率增 量發(fā)送至根節(jié)點(diǎn);所述根節(jié)點(diǎn)負(fù)責(zé)計(jì)算數(shù)據(jù)項(xiàng)在整體架構(gòu)中的頻率估計(jì)值,將數(shù)據(jù)項(xiàng)頻率 估計(jì)值存儲(chǔ)在根節(jié)點(diǎn)的最小堆中;所述葉子節(jié)點(diǎn)的最小堆中存儲(chǔ)的條目包括數(shù)據(jù)項(xiàng)名稱、 數(shù)據(jù)項(xiàng)頻率以及數(shù)據(jù)項(xiàng)頻率增量;所述根節(jié)點(diǎn)的最小堆中存儲(chǔ)的條目包括數(shù)據(jù)項(xiàng)名稱以及 數(shù)據(jù)項(xiàng)頻率估計(jì)值;該方法包括: 步驟1)、每個(gè)葉子節(jié)點(diǎn)i從所收到的數(shù)據(jù)流中依次取出數(shù)據(jù)項(xiàng),所述數(shù)據(jù)項(xiàng)包括數(shù)據(jù)項(xiàng) 名稱vt及數(shù)據(jù)項(xiàng)頻率cv, t; 步驟2)、更新所述葉子節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)頻率之和化=化+~,*以及數(shù)據(jù)項(xiàng)頻率之和的增量 Δ i= Δ i+Cv,t,其中的等號(hào)表述賦值,下同; 步驟3)、根據(jù)步驟1)所取出的數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)名稱vt和數(shù)據(jù)項(xiàng)頻率cv,t在所述的葉子節(jié) 點(diǎn)的最小堆出中找出合適的條目,并為該條目中的數(shù)據(jù)項(xiàng)名稱、數(shù)據(jù)項(xiàng)頻率以及數(shù)據(jù)項(xiàng)頻 率增量賦值;該步驟包括: 步驟3-1)、判斷所述的葉子節(jié)點(diǎn)的最小堆中是否存在數(shù)據(jù)項(xiàng)名稱為vt的條目,若存在執(zhí) 行下一步,否則,執(zhí)行步驟3-5); 步驟3-2)、判斷所述的葉子節(jié)點(diǎn)的最小堆出是否已滿,若已滿,執(zhí)行下一步,否則,執(zhí)行 步驟3-4); 步驟3-3)、從所述的葉子節(jié)點(diǎn)的最小堆Hi中取出數(shù)據(jù)項(xiàng)頻率最小的條目itemmin,對(duì)該條 目重新賦值,然后執(zhí)行步驟4);其中,對(duì)該條目賦值包括: - Vt,Cv-Cv+Cv,t,- Cv, t ; 所述的V表示取出條目的數(shù)據(jù)項(xiàng)名稱,所述的Vt表示取出的數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)名稱,所述 的Cv表示取出條目的數(shù)據(jù)項(xiàng)頻率,所述的Cv,t表示取出的數(shù)據(jù)項(xiàng)的數(shù)據(jù)項(xiàng)頻率,所述的Δν表 示取出條目的數(shù)據(jù)項(xiàng)頻率增量; 步驟3-4)、創(chuàng)建一個(gè)新條目并為新條目賦值,將新條目插入所述的葉子節(jié)點(diǎn)的最小堆出 中,然后執(zhí)行步驟4);其中,對(duì)新條目賦值包括: - Vt,Cv-Cv, t,Δ v -Cv, t ; 步驟3-5)、從所述的葉子節(jié)點(diǎn)的最小堆出中取出已存在的條目,并對(duì)該條目進(jìn)行 更新,然后執(zhí)行步驟4);其中,對(duì)該條目更新包括: "^Cv - Cv+Cv, t,Αν - Δ v+Cv, t ; 步驟4)、判斷所述的數(shù)據(jù)項(xiàng)頻率之和的增量以及所述條目的數(shù)據(jù)項(xiàng)頻率增量是否大于 閾值,如果大于閾值,向根節(jié)點(diǎn)傳遞更新;該步驟包括: 步驟4-1)、判斷所述的數(shù)據(jù)項(xiàng)頻率之和的增量△1是否滿足,如果滿足,執(zhí)行下 一步,否則,執(zhí)行步驟4-3);其中, 所述的隊(duì)表示用戶定義的葉子節(jié)點(diǎn)的更新延遲系數(shù),所述的化表示所述葉子節(jié)點(diǎn)的數(shù) 據(jù)項(xiàng)頻率之和; 步驟4-2)、所述的葉子節(jié)點(diǎn)向根節(jié)點(diǎn)發(fā)送O-msg更新,然后將值置為0;其中 所述的Ο-msg更新發(fā)送的內(nèi)容包括所述的數(shù)據(jù)項(xiàng)頻率之和的增量Δ ,; 步驟4-3)、所述的條目的數(shù)據(jù)項(xiàng)頻率增量△ v是否滿足△ ¥>隊(duì)化,如果滿足,執(zhí)行下一 步,否則,執(zhí)行步驟5); 所述的隊(duì)表示用戶定義的葉子節(jié)點(diǎn)的更新延遲系數(shù),所述的化表示所述葉子節(jié)點(diǎn)的數(shù) 據(jù)項(xiàng)頻率之和; 步驟4-4)、所述的葉子節(jié)點(diǎn)向根節(jié)點(diǎn)發(fā)送數(shù)據(jù)項(xiàng)更新,然后將Δν的值置為0;其中 所述的數(shù)據(jù)項(xiàng)更新發(fā)送的內(nèi)容包括所述的條目的數(shù)據(jù)項(xiàng)名稱以及所述的條目的數(shù)據(jù) 項(xiàng)頻率增量Α ν; 步驟5)、所述的根節(jié)點(diǎn)從所述的葉子節(jié)點(diǎn)發(fā)送的更新中依次取出更新,并根據(jù)取出的 更新維護(hù)相應(yīng)的數(shù)據(jù);該步驟包括: 步驟5-1)、判斷根節(jié)點(diǎn)取出的所述葉子節(jié)點(diǎn)發(fā)送的更新的類型,如果是0-msg更新,執(zhí) 行下一步,如果是數(shù)據(jù)項(xiàng)更新,執(zhí)行步驟5-3); 步驟5-2)、更新所述的根節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)頻率之和的估計(jì)值N = N+Ai,其中等號(hào)表示賦 值,然后執(zhí)行步驟6);其中, 所述的N表示根節(jié)點(diǎn)的數(shù)據(jù)項(xiàng)頻率之和的估計(jì)值,所述的△ i表示所述的葉子節(jié)點(diǎn)發(fā)送 的0-msg更新的頻率; 步驟5-3 )、更新所述的根節(jié)點(diǎn)的最小堆Ho;該步驟包括: 步驟5-3-1)、取出所述的葉子節(jié)點(diǎn)發(fā)送的更新中的數(shù)據(jù)項(xiàng)名稱vt以及數(shù)據(jù)項(xiàng)頻率增量 Δ v, t; 步驟5-3-2)、判斷所述的根節(jié)點(diǎn)的最小堆中是否存在數(shù)據(jù)項(xiàng)名稱為vt的條目itemv,若 存在執(zhí)行下一步,否則,執(zhí)行步驟5-3-4); 步驟5-3-3)、取出所述的條目itemv,對(duì)并對(duì)該條目進(jìn)行更新,然后執(zhí)行步驟6);其中,對(duì) 該條目更新包括: 令cv = cv+ Δ v,t,其中等號(hào)表示賦值; 所述的V表示取出條目的數(shù)據(jù)項(xiàng)名稱,所述的CV表示取出條目的數(shù)據(jù)項(xiàng)頻率,所述的 △ v,t表示取出數(shù)據(jù)項(xiàng)更新的數(shù)據(jù)項(xiàng)頻率增量; 步驟5-3-4)、判斷所述的根節(jié)點(diǎn)的最小堆Ho是否已滿,若已滿,執(zhí)行下一步,否則執(zhí)行5-3-6); 步驟5-3-5)、取出所述的根節(jié)點(diǎn)的最小堆Ho中數(shù)據(jù)項(xiàng)頻率最小的條目itemmin,對(duì)該條目 重新賦值,然后執(zhí)行步驟6);其中,對(duì)該條目賦值包括: - Vt,Cv - Cv+ Δ v, t; 所述的Vt表示取出的數(shù)據(jù)項(xiàng)更新的數(shù)據(jù)項(xiàng)名稱; 步驟5-3-6)、創(chuàng)建一個(gè)新條目并為新條目賦值,將新條目插入所述的根節(jié)點(diǎn)維護(hù)的最 小堆中,然后執(zhí)行步驟6);其中,對(duì)新條目賦值包括: 令V = Vt,Cv= Δ v,t; 步驟6)、根據(jù)用戶的請(qǐng)求,根節(jié)點(diǎn)遍歷所述的最小堆Ho,返回所有數(shù)據(jù)項(xiàng)頻率 玲凝的條目為所要挖掘的頻繁項(xiàng)。2. 根據(jù)權(quán)利要求1所述的基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法,其特征在于,在所 述的步驟4)和步驟5)之間還包括對(duì)葉子節(jié)點(diǎn)的最小堆出進(jìn)行按照數(shù)據(jù)項(xiàng)的頻率進(jìn)行排序 的操作步驟。3. 根據(jù)權(quán)利要求1所述的基于分布式架構(gòu)的數(shù)據(jù)流頻繁項(xiàng)挖掘方法,其特征在于,在所 述的步驟5)和步驟6)之間還包括對(duì)根節(jié)點(diǎn)的最小堆Ho進(jìn)行按照數(shù)據(jù)項(xiàng)的頻率進(jìn)行排序的 操作步驟。
【文檔編號(hào)】G06F17/30GK105930457SQ201610254621
【公開日】2016年9月7日
【申請(qǐng)日】2016年4月21日
【發(fā)明人】張玉, 徐敬東, 張建忠, 于博文, 陳正陽
【申請(qǐng)人】南開大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
申扎县| 都江堰市| 防城港市| 临洮县| 罗定市| 滕州市| 桃源县| 柯坪县| 社旗县| 神木县| 宜黄县| 全州县| 郓城县| 义马市| 定襄县| 武乡县| 平塘县| 当雄县| 芦山县| 广丰县| 瑞丽市| 北宁市| 玉溪市| 昔阳县| 凤山县| 枣强县| 绍兴市| 屏边| 海城市| 迁安市| 乡城县| 定边县| 禹州市| 潜江市| 辽阳市| 齐河县| 鄄城县| 招远市| 宝山区| 驻马店市| 上杭县|