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

一種關(guān)聯(lián)分析算法的并行化方法

文檔序號(hào):6542308閱讀:197來(lái)源:國(guó)知局
一種關(guān)聯(lián)分析算法的并行化方法
【專利摘要】一種關(guān)聯(lián)分析算法的并行化方法是針對(duì)一種經(jīng)典的關(guān)聯(lián)規(guī)則分析算法Apriori不能很好適應(yīng)并行化的缺陷,設(shè)計(jì)了一種新的并行化方案。通過(guò)主控節(jié)點(diǎn)將計(jì)算任務(wù)進(jìn)行分塊,分配并分發(fā)給各個(gè)子計(jì)算節(jié)點(diǎn)。由各計(jì)算節(jié)點(diǎn)并行計(jì)算篩選頻繁集,最后合并節(jié)點(diǎn)并返回結(jié)果統(tǒng)計(jì),生成頻繁集。再次分發(fā)頻繁集,由各節(jié)點(diǎn)生成規(guī)則。由于每個(gè)計(jì)算節(jié)點(diǎn)僅處理一部分計(jì)算任務(wù),解決了海量數(shù)據(jù)無(wú)法由單機(jī)讀入內(nèi)存進(jìn)行處理和處理速度過(guò)慢的問(wèn)題;且多個(gè)節(jié)點(diǎn)并行參與處理,有效提高了處理效率;并且對(duì)計(jì)算過(guò)程中的節(jié)點(diǎn)間的同步依賴、網(wǎng)絡(luò)通訊負(fù)擔(dān)過(guò)重、I/O操作過(guò)于頻繁做了相應(yīng)的改進(jìn),提高了數(shù)據(jù)庫(kù)掃描和計(jì)算的速度。
【專利說(shuō)明】一種關(guān)聯(lián)分析算法的并行化方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是針對(duì)一種經(jīng)典的關(guān)聯(lián)規(guī)則分析算法Apriori不能很好適應(yīng)并行化的缺陷,設(shè)計(jì)了一種新的并行化方法,減少了節(jié)點(diǎn)間的同步依賴和網(wǎng)絡(luò)通訊負(fù)擔(dān),提高了數(shù)據(jù)庫(kù)掃描和計(jì)算的速度。屬于分布式計(jì)算和云計(jì)算領(lǐng)域。
【背景技術(shù)】
[0002]云計(jì)算(Cloud Computing)是一種新興的商業(yè)計(jì)算模型,它將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計(jì)算力、存儲(chǔ)空間和各種軟件服務(wù),它是數(shù)據(jù)管理技術(shù)不斷演進(jìn)的結(jié)果。在上世紀(jì)末,分布式處理、并行處理和網(wǎng)格計(jì)算就已相當(dāng)成熟,它們是云計(jì)算發(fā)展的技術(shù)基礎(chǔ),企業(yè)推動(dòng)則是云計(jì)算快速發(fā)展的主要?jiǎng)恿?。目前,IT巨頭正在相繼開(kāi)發(fā)云計(jì)算平臺(tái)、云計(jì)算終端和服務(wù)器。
[0003]關(guān)聯(lián)規(guī)則算法用來(lái)描述事物之間的聯(lián)系和挖掘事物之間的相關(guān)性,其核心是通過(guò)統(tǒng)計(jì)數(shù)據(jù)項(xiàng)獲得頻繁項(xiàng)集,被廣泛應(yīng)用于分類設(shè)計(jì)“捆綁式銷售”倉(cāng)儲(chǔ)貨存配置等領(lǐng)域,關(guān)聯(lián)規(guī)則的挖掘已經(jīng)成為數(shù)據(jù)挖掘中一個(gè)非常重要的研究方向。
[0004]Apriori算法首先由Agrawal教授于1993年提出,是一種最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的算法,其核心是基于兩階段頻集思想的遞推算法。該關(guān)聯(lián)規(guī)則在分類上屬于單維、單層、布爾關(guān)聯(lián)規(guī)則,所有支持度大于最小支持度的項(xiàng)集稱為頻繁項(xiàng)集,簡(jiǎn)稱頻集。
[0005]該算法的基本思想是:首先找出所有的頻集,這些項(xiàng)集出現(xiàn)的頻繁性至少和預(yù)定義的最小支持度一樣。然后由頻集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則,這些規(guī)則必須滿足最小支持度和最小置信度。接著使用這些找到的頻集產(chǎn)生期望的規(guī)則,產(chǎn)生只包含集合的項(xiàng)的所有規(guī)則,其中每一條規(guī)則的右部只有一項(xiàng),這里采用的是中規(guī)則的定義。一旦這些規(guī)則被生成,那么只有那些大于用戶給定的最小可信度的規(guī)則才被留下來(lái)。為了生成所有頻集,使用了遞推的方法,依次從k項(xiàng)集推出k+Ι項(xiàng)集。
[0006]可能產(chǎn)生大量的候選集,以及可能需要重復(fù)掃描數(shù)據(jù)庫(kù),是Apriori算法的兩大缺點(diǎn),然而隨著挖掘數(shù)據(jù)的增大,其運(yùn)算能力很快出現(xiàn)了瓶頸。因此,利用云計(jì)算將數(shù)據(jù)處理并行化來(lái)降低運(yùn)算時(shí)間,提高處理能力成為了一個(gè)新的方向。本發(fā)明提出了一種新的并行化方案,使傳統(tǒng)的Apriori算法適用于云計(jì)算環(huán)境中。

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

[0007]技術(shù)問(wèn)題:本發(fā)明的目的是針對(duì)一種經(jīng)典的關(guān)聯(lián)規(guī)則分析算法Apriori不能很好適應(yīng)并行化的缺陷,設(shè)計(jì)了一種關(guān)聯(lián)分析算法的并行化方法,減少了節(jié)點(diǎn)間的同步依賴和網(wǎng)絡(luò)通訊負(fù)擔(dān),提高了數(shù)據(jù)庫(kù)掃描和計(jì)算的速度,利用云計(jì)算解決了海量數(shù)據(jù)分析的困難和瓶頸。
[0008]技術(shù)方案:針對(duì)這些問(wèn)題,本發(fā)明提出了一種關(guān)聯(lián)分析算法的并行化方法,將頻繁項(xiàng)的篩選和規(guī)則的生成分?jǐn)偟搅思褐胁⑿型瓿?。利用下一層的候選頻繁集生成并不需要完全依賴于上一層的頻繁集,取消了每層頻繁集生成中的同步過(guò)程,采用先到先計(jì)算的規(guī)貝U,減少了節(jié)點(diǎn)間的同步依賴和網(wǎng)絡(luò)通訊負(fù)擔(dān)。通過(guò)事務(wù)編號(hào)集來(lái)定位掃描的位置,減小了i/o的壓力,提高了數(shù)據(jù)庫(kù)掃描和計(jì)算的速度。
[0009]現(xiàn)有的并行化大致分為兩個(gè)思路:
[0010]一、將對(duì)事務(wù)數(shù)據(jù)庫(kù)掃描的過(guò)程并行,把數(shù)據(jù)庫(kù)分片,保存在各個(gè)節(jié)點(diǎn)上。每次循環(huán)開(kāi)始時(shí)將候選頻繁k-項(xiàng)集發(fā)送到各個(gè)節(jié)點(diǎn)上分別統(tǒng)計(jì)每項(xiàng)在局部數(shù)據(jù)庫(kù)上的支持度,然后在循環(huán)結(jié)束時(shí)同步所有節(jié)點(diǎn)的計(jì)算結(jié)果,統(tǒng)計(jì)出每項(xiàng)的全局支持度并刪除不滿足閥值的項(xiàng)。
[0011]該方案減少了對(duì)數(shù)據(jù)庫(kù)掃描所需的時(shí)間,在一定程度上提升了處理能力,但是每次循環(huán)結(jié)束時(shí)同步會(huì)存在不同節(jié)點(diǎn)之間的相互等待的問(wèn)題。并且剪枝是在合并后完成,單個(gè)節(jié)點(diǎn)僅有掃描和統(tǒng)計(jì)的功能而沒(méi)有判斷功能,隨著節(jié)點(diǎn)數(shù)的增多,通信量將迅速增大,給帶寬帶來(lái)了巨大壓力。
[0012]二、將整個(gè)挖掘過(guò)程并行,把數(shù)據(jù)庫(kù)分成η塊,發(fā)送到每個(gè)節(jié)點(diǎn)上,針對(duì)每一塊數(shù)據(jù)獨(dú)立地進(jìn)行傳統(tǒng)Apriori算法的挖掘過(guò)程,閥值縮小為I/η。最后將每個(gè)節(jié)點(diǎn)輸出的1-到k_項(xiàng)局部頻繁集合并及掃描整個(gè)數(shù)據(jù)庫(kù),刪除掉不滿足閥值的項(xiàng),得到整個(gè)頻繁集。
[0013]該方案為節(jié)點(diǎn)增加了判斷的能力,使得各節(jié)點(diǎn)可以獨(dú)立完成剪枝,提高了并行程度,減輕了帶寬壓力。但是根據(jù)概率統(tǒng)計(jì)學(xué),各節(jié)點(diǎn)每次生成的候選頻繁k_項(xiàng)集應(yīng)該是近似的。這種近似的挖掘過(guò)程將在各個(gè)節(jié)點(diǎn)上重復(fù)η遍,浪費(fèi)了相當(dāng)大的計(jì)算資源。
[0014]可以看出,將數(shù)據(jù)庫(kù)分片雖然是一種簡(jiǎn)單的并行方案,但是各節(jié)點(diǎn)之間的通信量和計(jì)算量的平衡問(wèn)題并無(wú)法妥善解決。
[0015]因此本發(fā)明嘗試了一種新思路,算法的運(yùn)行流程步驟如下:
[0016]該方法采用主從結(jié)構(gòu),由一臺(tái)服務(wù)器作為主節(jié)點(diǎn)處理所有的調(diào)度和協(xié)調(diào),其余服務(wù)器作為子節(jié)點(diǎn)完成計(jì)算任務(wù),該并行化方法的步驟如下:
[0017]步驟1.啟動(dòng)所有服務(wù)器,將待分析的原始數(shù)據(jù)的數(shù)據(jù)庫(kù)分別下載到所有服務(wù)器節(jié)點(diǎn)上;
[0018]步驟2.第一階段分析開(kāi)始,主節(jié)點(diǎn)掃描自身數(shù)據(jù)庫(kù),統(tǒng)計(jì)出整個(gè)1-項(xiàng)集以及事務(wù)總數(shù),設(shè)定閥值,并將閥值發(fā)送到各個(gè)子節(jié)點(diǎn)上;
[0019]步驟3.將整個(gè)1-項(xiàng)集作為候選頻繁1-項(xiàng)集,由主節(jié)點(diǎn)將每一項(xiàng)的統(tǒng)計(jì)任務(wù)分派給一個(gè)空閑的子節(jié)點(diǎn);
[0020]步驟4.收到任務(wù)的各個(gè)子節(jié)點(diǎn)掃描自身數(shù)據(jù)庫(kù),統(tǒng)計(jì)該項(xiàng)的支持度,如果該項(xiàng)的支持度滿足閥值則向主節(jié)點(diǎn)返回該項(xiàng)以及該項(xiàng)的支持度和事務(wù)編號(hào)集,如果不滿足則刪除掉該項(xiàng);
[0021]步驟5.主節(jié)點(diǎn)將收到的返回結(jié)果加入頻繁1-項(xiàng)集中,并連接這些項(xiàng)集生成按字典順序排列的候選頻繁2-項(xiàng)集,每生成一項(xiàng),就連同其候選事務(wù)編號(hào)集一并分派給一個(gè)空閑的子節(jié)點(diǎn);
[0022]步驟6.收到任務(wù)的各個(gè)子節(jié)點(diǎn)掃描所給的候選事務(wù)編號(hào)集,統(tǒng)計(jì)該項(xiàng)的支持度,如果該項(xiàng)的支持度滿足閥值則向主節(jié)點(diǎn)返回該項(xiàng)以及該項(xiàng)的支持度和事務(wù)編號(hào)集,如果不滿足則刪除掉該項(xiàng)及其相關(guān)數(shù)據(jù);
[0023]步驟7.主節(jié)點(diǎn)將收到的返回結(jié)果加入頻繁2-項(xiàng)集中,并連接這些項(xiàng)集生成按字典順序排列的候選頻繁3-項(xiàng)集,每生成一項(xiàng),就連同其候選事務(wù)編號(hào)集一并分派給空閑節(jié)
占.[0024]步驟8.重復(fù)步驟6,步驟7的過(guò)程,將每次返回的結(jié)果保存入頻繁集,并連接生成更長(zhǎng)的候選頻繁集,直到?jīng)]有新的項(xiàng)滿足閥值為止,保存所有的頻繁1-項(xiàng)、2-項(xiàng)、3-項(xiàng)……k_項(xiàng)集以及各自的支持度,將所有的頻繁集按照頻繁1-項(xiàng)集分組,第一階段分析結(jié)束;
[0025]步驟9.第二階段分析開(kāi)始,按照分組將各組頻繁集及其支持度發(fā)送給各個(gè)子節(jié)
占.[0026]步驟10.各子節(jié)點(diǎn)分別根據(jù)每組頻繁集生成規(guī)則并計(jì)算其置信度,如果滿足閥值則向主節(jié)點(diǎn)返回該規(guī)則,如果不滿足則忽略;
[0027]步驟11.主節(jié)點(diǎn)將所有收到的返回結(jié)果保存,排序后即為規(guī)則集,第二階段分析結(jié)束;
[0028]步驟12.輸出顯示規(guī)則集,結(jié)束。
[0029]有益效果:本發(fā)明提出了一種新的Apriori算法并行化方案,該方案的主要優(yōu)勢(shì)在于:
[0030]一、將每一項(xiàng)的統(tǒng)計(jì)過(guò)程獨(dú)立并行,并且沒(méi)有產(chǎn)生重復(fù)的計(jì)算,提升了整個(gè)候選頻繁項(xiàng)集的生成速度; [0031]二、每個(gè)節(jié)點(diǎn)都具有判斷的功能,不會(huì)向網(wǎng)絡(luò)發(fā)送無(wú)用的數(shù)據(jù),減輕了網(wǎng)絡(luò)壓力;
[0032]三、跨層統(tǒng)計(jì)的功能避免了各個(gè)節(jié)點(diǎn)之間相互等待的問(wèn)題;
[0033]四、掃描上一層的事務(wù)編號(hào)集而不是整個(gè)數(shù)據(jù)庫(kù)大量減少了每次掃描所需的時(shí)間,這對(duì)于需要多次掃描統(tǒng)計(jì)的Apriori算法來(lái)說(shuō)節(jié)省的時(shí)間是相當(dāng)可觀的。
【專利附圖】

【附圖說(shuō)明】
[0034]圖1關(guān)聯(lián)分析算法運(yùn)行流程圖。
[0035]圖2分析集群架構(gòu)圖。
【具體實(shí)施方式】
[0036]細(xì)節(jié)說(shuō)明:
[0037]k-項(xiàng)集:關(guān)聯(lián)規(guī)則算法是為了從{A, B, C, D}, {A, B}......等集合中找出例如A — B
的規(guī)則。因此,例如{A},{C}就稱之為1-項(xiàng)集,{Α,Β}就稱之為2-項(xiàng)集,{A,B,C……}就稱之為k-項(xiàng)集,其中k代表集合中有多少項(xiàng)。
[0038]頻繁k_項(xiàng)集:出現(xiàn)的頻率滿足閥值的1-項(xiàng)集稱之為頻繁1-項(xiàng)集,出現(xiàn)的頻率滿足閥值的2-項(xiàng)集稱之為頻繁2-項(xiàng)集,同理,出現(xiàn)的頻率滿足閥值的k-項(xiàng)集稱之為頻繁k_項(xiàng)集。
[0039]候選頻繁k_項(xiàng)集:通過(guò)集合連接得到的可能成為頻繁2-項(xiàng)集的2-項(xiàng)集稱之為候選頻繁2-項(xiàng)集。通過(guò)集合連接得到的可能成為頻繁k-項(xiàng)集的k-項(xiàng)集稱之為候選頻繁k_項(xiàng)集。
[0040]置信度:表示某條規(guī)則的可信程度。計(jì)算方法為下層頻繁集的支持度與上層頻繁集的支持度之商。例如,〈ABCE,3>,<AB, 10>,則規(guī)則AB — CE的置信度為30%。
[0041]跨層統(tǒng)計(jì):由η項(xiàng)自然連接所產(chǎn)生的集分別為Cj1,G.......Cir15C;;個(gè),呈菱形分布。通過(guò)Apriori算法產(chǎn)生的候選頻繁k_項(xiàng)集的驗(yàn)證過(guò)程可以拆解成每一項(xiàng)的簡(jiǎn)單計(jì)數(shù),是相互獨(dú)立的,因此將該過(guò)程并行化是可行的。并且即使在候選頻繁k-項(xiàng)集沒(méi)有完全驗(yàn)證完畢的時(shí)候,將已經(jīng)驗(yàn)證過(guò)的部分頻繁k-項(xiàng)集進(jìn)行連接,同樣可以產(chǎn)生一部分候選頻繁(k+l)_項(xiàng)集。也就是說(shuō)不必等待同一層的所有頻繁集完全確定之后才能開(kāi)始下一次頻繁集的生成和驗(yàn)證。因此將每一項(xiàng)單獨(dú)驗(yàn)證還可以一定程度上解決各節(jié)點(diǎn)間的相互等待的問(wèn)題。
[0042]事務(wù)編號(hào)集:每個(gè)節(jié)點(diǎn)都存儲(chǔ)了整個(gè)事務(wù)數(shù)據(jù)庫(kù),事務(wù)數(shù)據(jù)形如下表,Tid表示事務(wù)的編號(hào)。
[0043]
【權(quán)利要求】
1.一種關(guān)聯(lián)分析算法的并行化方法,其特征在于該方法采用主從結(jié)構(gòu),由一臺(tái)服務(wù)器作為主節(jié)點(diǎn)處理所有的調(diào)度和協(xié)調(diào),其余服務(wù)器作為子節(jié)點(diǎn)完成計(jì)算任務(wù),該并行化方法的步驟如下: 步驟1.啟動(dòng)所有服務(wù)器,將待分析的原始數(shù)據(jù)的數(shù)據(jù)庫(kù)分別下載到所有服務(wù)器節(jié)點(diǎn)上; 步驟2.第一階段分析開(kāi)始,主節(jié)點(diǎn)掃描自身數(shù)據(jù)庫(kù),統(tǒng)計(jì)出整個(gè)1-項(xiàng)集以及事務(wù)總數(shù),設(shè)定閥值,并將閥值發(fā)送到各個(gè)子節(jié)點(diǎn)上; 步驟3.將整個(gè)1-項(xiàng)集作為候選頻繁1-項(xiàng)集,由主節(jié)點(diǎn)將每一項(xiàng)的統(tǒng)計(jì)任務(wù)分派給一個(gè)空閑的子節(jié)點(diǎn); 步驟4.收到任務(wù)的各個(gè)子節(jié)點(diǎn)掃描自身數(shù)據(jù)庫(kù),統(tǒng)計(jì)該項(xiàng)的支持度,如果該項(xiàng)的支持度滿足閥值則向主節(jié)點(diǎn)返回該項(xiàng)以及該項(xiàng)的支持度和事務(wù)編號(hào)集,如果不滿足則刪除掉該項(xiàng); 步驟5.主節(jié)點(diǎn)將收到的返回結(jié)果加入頻繁1-項(xiàng)集中,并連接這些項(xiàng)集生成按字典順序排列的候選頻繁2-項(xiàng)集,每生成一項(xiàng),就連同其候選事務(wù)編號(hào)集一并分派給一個(gè)空閑的子節(jié)點(diǎn); 步驟6.收到任務(wù)的各個(gè)子節(jié)點(diǎn)掃描所給的候選事務(wù)編號(hào)集,統(tǒng)計(jì)該項(xiàng)的支持度,如果該項(xiàng)的支持度滿足閥值則向主節(jié)點(diǎn)返回該項(xiàng)以及該項(xiàng)的支持度和事務(wù)編號(hào)集,如果不滿足則刪除掉該項(xiàng)及其相關(guān)數(shù)據(jù);步驟7.主節(jié)點(diǎn)將收到的返回結(jié)果加入頻繁2-項(xiàng)集中,并連接這些項(xiàng)集生成按字典順序排列的候選頻繁3-項(xiàng)集,每生成一項(xiàng),就連同其候選事務(wù)編號(hào)集一并分派給空閑節(jié)點(diǎn);步驟8.重復(fù)步驟6,步驟7的過(guò)程,將每次返回的結(jié)果保存入頻繁集,并連接生成更長(zhǎng)的候選頻繁集,直到?jīng)]有新的項(xiàng)滿足閥值為止,保存所有的頻繁1-項(xiàng)、2-項(xiàng)、3-項(xiàng)……k-項(xiàng)集以及各自的支持度,將所有的頻繁集按照頻繁1-項(xiàng)集分組,第一階段分析結(jié)束; 步驟9.第二階段分析開(kāi)始,按照分組將各組頻繁集及其支持度發(fā)送給各個(gè)子節(jié)點(diǎn);步驟10.各子節(jié)點(diǎn)分別根據(jù)每組頻繁集生成規(guī)則并計(jì)算其置信度,如果滿足閥值則向主節(jié)點(diǎn)返回該規(guī)則,如果不滿足則忽略; 步驟11.主節(jié)點(diǎn)將所有收到的返回結(jié)果保存,排序后即為規(guī)則集,第二階段分析結(jié)束; 步驟12.輸出顯示規(guī)則集,結(jié)束。
【文檔編號(hào)】G06F17/30GK103914528SQ201410124334
【公開(kāi)日】2014年7月9日 申請(qǐng)日期:2014年3月28日 優(yōu)先權(quán)日:2014年3月28日
【發(fā)明者】張琳, 邵天昊, 王汝傳, 韓志杰, 付雄, 季一木 申請(qǐng)人:南京郵電大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
五指山市| 邢台县| 五河县| 雷州市| 偏关县| 高唐县| 溧水县| 万宁市| 重庆市| 苗栗县| 涞源县| 广宁县| 开江县| 正阳县| 安庆市| 富蕴县| 高要市| 锦州市| 平山县| 晋城| 蓬溪县| 上杭县| 特克斯县| 海口市| 格尔木市| 鹤壁市| 大英县| 阜康市| 满洲里市| 大冶市| 资阳市| 张掖市| 鄂温| 白朗县| 永仁县| 安宁市| 安徽省| 隆德县| 赤峰市| 双牌县| 晋宁县|