基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法
【專利摘要】本發(fā)明公開了一種基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,包括以下步驟:步驟1:利用關(guān)聯(lián)規(guī)則挖掘算法為初始事務(wù)數(shù)據(jù)庫創(chuàng)建初始增量式頭表結(jié)構(gòu);步驟2:將增量式頭表結(jié)構(gòu)轉(zhuǎn)化為基于內(nèi)存的樹形結(jié)構(gòu),并以XML文檔形式保存在硬盤中;步驟3:掃描數(shù)據(jù)庫的新增內(nèi)容,建立新增數(shù)據(jù)庫的增量式頭表并轉(zhuǎn)化為相應(yīng)的XML文檔,將歷史XML文檔與新增數(shù)據(jù)庫的XML文檔合并構(gòu)建更新后事務(wù)數(shù)據(jù)庫的XML文檔,然后即可利用更新的XML文檔來挖掘頻繁模式。
【專利說明】基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)數(shù)據(jù)挖掘領(lǐng)域,特別是一種適用于動態(tài)數(shù)據(jù)處理的基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法。
【背景技術(shù)】
[0002]近年來,數(shù)據(jù)挖掘引起了信息產(chǎn)業(yè)界的極大關(guān)注,其主要原因是存在大量數(shù)據(jù),可以廣泛使用,并且迫切需要將這些數(shù)據(jù)轉(zhuǎn)換成有用的信息和知識。數(shù)據(jù)挖掘能從大量的、不完全隨機(jī)的數(shù)據(jù)中提取隱含在其中的人們事先不知道的潛在有用信息。數(shù)據(jù)挖掘主要從數(shù)據(jù)泛化的角度進(jìn)行數(shù)據(jù)總結(jié)。獲取的信息和知識可以廣泛用于各種應(yīng)用,包括商務(wù)管理、生產(chǎn)控制、市場分析、工程設(shè)計和科學(xué)探索等。
[0003]Internet的迅猛發(fā)展將人類帶入了信息社會和網(wǎng)絡(luò)經(jīng)濟(jì)時代,對企業(yè)發(fā)展和個人生活都產(chǎn)生了深刻的影響。云計算、物聯(lián)網(wǎng)等新興服務(wù)促使人類社會的數(shù)據(jù)種類和規(guī)模正以前所未有的速度增長,大數(shù)據(jù)時代正式到來。數(shù)據(jù)從簡單的處理對象開始轉(zhuǎn)變?yōu)橐环N基礎(chǔ)性資源,如何更好的管理和利用大數(shù)據(jù)已經(jīng)成為普遍關(guān)注的話題。面對龐大的數(shù)據(jù)庫,每次掃描挖掘都要耗費(fèi)很長時間,特別是當(dāng)大數(shù)據(jù)時代來臨,掃描代價過高,讓人無法容忍。另一方面事務(wù)數(shù)據(jù)庫一直在更新變化產(chǎn)生很多新的數(shù)據(jù),如何在變化更新的數(shù)據(jù)庫上進(jìn)行數(shù)據(jù)的高效挖掘也成為如今數(shù)據(jù)挖掘領(lǐng)域的研究熱點(diǎn),因此需要高效的算法來挖掘數(shù)據(jù)關(guān)聯(lián)規(guī)則對數(shù)據(jù)進(jìn)行有效的更新,維護(hù)和管理。
[0004]在數(shù)據(jù)挖掘處理理論和技術(shù)方面,工業(yè)界和學(xué)術(shù)界從不同的角度對服務(wù)推薦系統(tǒng)進(jìn)行了大量研究。例如IBM、Oracle和Microsoft等公司從90年代初就成立了從事數(shù)據(jù)挖掘和知識發(fā)現(xiàn)方面的研究機(jī)構(gòu),并獲得了大量的研究成果。事務(wù)數(shù)據(jù)庫關(guān)聯(lián)規(guī)則挖掘算法大致可分為兩類:采用廣度遍歷解空間的方法和采用深度遍歷的方法。最典型的利用廣度遍歷的方法是R.Agrawal等在“Fast algorithms for miningassociation rules,,中提出的 Apriori 算法(Proc.20th Int.Conf.Very Large DataBases, VLDB.1215:487-499,1994)。Apriori算法是最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項集的算法,其核心思想是利用候選集找到頻繁項集。J.Han等在“Mining frequent patternswithout candidate generation”中提出的FP_growth算法是采用深度遍歷的單層關(guān)聯(lián)規(guī)則挖掘算法(ACM SIGMOD Record.29 (2): 1—12,2000)。S.Rao 等人在 “ ImplementingImproved Algorithm Over APR10RI Data Mining Association Rule Algorithml,,中將Apriori算法的基礎(chǔ)上進(jìn)行了改進(jìn),將Apriori算法與FP_growth算法結(jié)合起來,在數(shù)據(jù)庫更新時利用FP_gr0Wth算法挖掘新增數(shù)據(jù)庫,從而避免反復(fù)掃描數(shù)據(jù)庫,降低了掃描代價(International Journal of Computer Science and Technology.3 (I),2012)。隨著大數(shù)據(jù)時代的到來,事務(wù)數(shù)據(jù)庫越來越龐大,數(shù)據(jù)庫也在不斷變化更新,而數(shù)據(jù)庫的更新意味著有新的事務(wù)添加到數(shù)據(jù)庫中,在支持度和置信度閾值不變的條件下,關(guān)聯(lián)規(guī)則更新問題則可以簡化為尋找新的頻繁項目集,為了減少處理數(shù)據(jù)時所需的代價,因此需要更高效的數(shù)據(jù)挖掘模型來進(jìn)行數(shù)據(jù)處理。
【發(fā)明內(nèi)容】
[0005]本發(fā)明旨在克服現(xiàn)有技術(shù)中存在的不足,提供一種基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,利用增量式挖掘方法有效處理大規(guī)模數(shù)據(jù)庫的更新,減少計算資源浪費(fèi)。
[0006]本發(fā)明公開了一種基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,包括以下步驟:
[0007]步驟1:利用關(guān)聯(lián)規(guī)則挖掘算法一Apriori算法為初始事務(wù)數(shù)據(jù)庫TDB創(chuàng)建初始增量式頭表結(jié)構(gòu)XH-struct。
[0008]掃描事務(wù)數(shù)據(jù)庫兩次即可建立增量式的頭表結(jié)構(gòu)XH-struct,當(dāng)頻繁項讀入內(nèi)存時,有相同首相的將通過指針域鏈接成一個隊列,XH中的指針域指向隊列的隊首。在XH-struct中,項目集按照字典順序進(jìn)項排序,增量式頭表結(jié)構(gòu)XH-struct的頭表記為XH,XH中的每一項都含有三個屬性:{ID,Sup, Poi},ID是項目編號,Sup是項目的支持度,Poi是指針域,XH中包含了所有的項,即頻繁項和不頻繁項,因為當(dāng)數(shù)據(jù)庫更新時,有新增數(shù)據(jù)庫,原來的不頻繁項可能變?yōu)轭l繁項,所以在我們的方法中將其保留在頭表中。
[0009]步驟2:將增量式頭表轉(zhuǎn)化為基于內(nèi)存的樹形結(jié)構(gòu)HT,再將其轉(zhuǎn)化為XML文檔形式,因此可將頭表結(jié)構(gòu)從內(nèi)存轉(zhuǎn)移到硬盤中。
[0010]頭表XH與相應(yīng)的XML文檔是等價的,對它們的操作也是等價的。原有頭表XH中的每一項都作為樹形結(jié) 構(gòu)HT根節(jié)點(diǎn)root的子節(jié)點(diǎn)記為項目節(jié)點(diǎn)item,每個子節(jié)點(diǎn)有兩個屬性:{Na, Sup},Na是項目名,Sup是項目的支持度。每個子節(jié)點(diǎn)有若干個孩子節(jié)點(diǎn)具體的事務(wù)記為事務(wù)節(jié)點(diǎn)trans,事務(wù)節(jié)點(diǎn)的父親節(jié)點(diǎn)就是它們在增量式頭表結(jié)構(gòu)中的首相。事務(wù)節(jié)點(diǎn)利用屬性TID來標(biāo)記是數(shù)據(jù)庫中的哪個事務(wù),最后事務(wù)節(jié)點(diǎn)的孩子節(jié)點(diǎn)即葉子節(jié)點(diǎn)保存了數(shù)據(jù)庫中的所有事務(wù)。頭表XH的前兩個屬性項目名Na和支持度Sup依然以屬性的形式保存在XML文檔中,XH中的隊列首指針在XML文檔中轉(zhuǎn)化為了項目節(jié)點(diǎn)的第一個子節(jié)點(diǎn)。
[0011 ] XML文檔類型定義(DTD)如下:
[0012]< ! ELEMENT root (item+) >
[0013]< ! ELEMENT item (trans+) >
[0014]< ! ELEMENT trans (#PCDATA)>
[0015]< ! ATTRILIST item Na CDATA#REQUIRED>
[0016]< ! ATTRILIST item Sup CDATA#REQUIRED>
[0017]< ! ATTRILIST trans id TID#REQUIRED>
[0018]步驟3:當(dāng)數(shù)據(jù)庫更新時,只需對新增數(shù)據(jù)庫Λ TDB進(jìn)行掃描計算,建立新增數(shù)據(jù)庫的增量式頭表并轉(zhuǎn)化為相應(yīng)的XML文檔,將歷史XML文檔與新增數(shù)據(jù)庫的XML文檔合并構(gòu)建更新后事務(wù)數(shù)據(jù)庫的XML文檔;
[0019]對新增數(shù)據(jù)庫Λ TDB進(jìn)行掃描計算,找到新增頻繁集,建立Λ TDB的相應(yīng)XML文檔,然后將歷史XML文檔與Λ TDB的XML合并構(gòu)建更新后事務(wù)數(shù)據(jù)庫(TDB+ Δ TDB)的XML文檔,然后即可利用更新的XML文檔來挖掘頻繁模式。
[0020]本發(fā)明利用關(guān)聯(lián)規(guī)則挖掘算法一Apriori算法為事務(wù)數(shù)據(jù)庫建立增量式頭表結(jié)構(gòu),將頭表轉(zhuǎn)化為基于內(nèi)存的樹形結(jié)構(gòu),再將其轉(zhuǎn)化為XML文檔形式保存于硬盤中,在事務(wù)數(shù)據(jù)庫更新時只需對新增數(shù)據(jù)庫進(jìn)行掃描,建立新增數(shù)據(jù)庫的增量式頭表并轉(zhuǎn)化為相應(yīng)的XML文檔,構(gòu)建更新后數(shù)據(jù)庫的相應(yīng)XML文檔,然后即可利用更新的XML文檔來挖掘頻繁模式。
[0021 ] 與現(xiàn)有技術(shù)相比,本發(fā)明的效果體現(xiàn)在:
[0022]I)在一般的關(guān)聯(lián)規(guī)則挖掘算法中,頭表是保存在內(nèi)存的,當(dāng)數(shù)據(jù)庫發(fā)生變化時,原有的頭表就無法使用了,通過將增量式頭表結(jié)構(gòu)轉(zhuǎn)化為XML文檔保存于硬盤,即可重復(fù)利用。
[0023]2)在大數(shù)據(jù)時代,數(shù)據(jù)庫龐大且不斷更新,掃描代價過大,利用本文提出的方法只需對新增數(shù)據(jù)進(jìn)行掃描,降低了掃描代價,提高了效率。
【專利附圖】
【附圖說明】
[0024]圖1本發(fā)明流程圖。
[0025]圖2為本發(fā)明實(shí)施例1中的初始數(shù)據(jù)庫的增量式頭表結(jié)構(gòu)圖。
[0026]圖3為本發(fā)明實(shí)施例1中的樹形結(jié)構(gòu)圖。
[0027]圖4為本發(fā)明實(shí)施例1中的新增數(shù)據(jù)庫的增量式頭表結(jié)構(gòu)圖。
【具體實(shí)施方式】:
[0028]本發(fā)明提出了一種基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,包括以下步驟:步驟1:利用關(guān)聯(lián)規(guī)則挖掘算法一Apriori算法為初始事務(wù)數(shù)據(jù)庫TDB創(chuàng)建初始增量式頭表結(jié)構(gòu);步驟2:將增量式頭表轉(zhuǎn)化為基于內(nèi)存的樹形結(jié)構(gòu),再將其轉(zhuǎn)化為XML文檔形式,因此可將頭表結(jié)構(gòu)從內(nèi)存轉(zhuǎn)移到硬盤中;步驟3:當(dāng)數(shù)據(jù)庫更新時,只需對新增數(shù)據(jù)庫進(jìn)行掃描計算,建立新增數(shù)據(jù)庫的增量式頭表并轉(zhuǎn)化為相應(yīng)的XML文檔,然后將歷史XML文檔與新增數(shù)據(jù)庫的XML合并構(gòu)建更新后事務(wù)數(shù)據(jù)庫的XML文檔,然后即可利用更新的XML文檔來挖掘頻繁模式。
[0029]本發(fā)明首先利用關(guān)聯(lián)規(guī)則挖掘算法一Apriori算法為初始事務(wù)數(shù)據(jù)庫TDB創(chuàng)建初始增量式頭表結(jié)構(gòu)。掃描事務(wù)數(shù)據(jù)庫兩次即可建立增量式的頭表結(jié)構(gòu)XH-struct,當(dāng)頻繁項讀入內(nèi)存時,有相同首相的將通過指針域鏈接成一個隊列,XH中的指針域指向隊列的隊首。在XH-struct中,項目集按照字典順序進(jìn)項排序,增量式頭表結(jié)構(gòu)XH-struct的頭表記為XH,XH中包含了所有的項,即頻繁項和不頻繁項,因為當(dāng)數(shù)據(jù)庫更新時,有新增數(shù)據(jù)庫,原來的不頻繁項可能變?yōu)轭l繁項,所以在我們的方法中將其保留在頭表中。
[0030]將增量式頭表轉(zhuǎn)化為基于內(nèi)存的樹形結(jié)構(gòu)HT,再將其轉(zhuǎn)化為XML文檔形式,因此可將頭表結(jié)構(gòu)從內(nèi)存轉(zhuǎn)移到硬盤中。頭表Μ與相應(yīng)的XML文檔是等價的,對它們的操作也是等價的。原有頭表XH中的每一項都作為樹形結(jié)構(gòu)HT根節(jié)點(diǎn)root的子節(jié)點(diǎn)記為項目節(jié)點(diǎn)item,每個子節(jié)點(diǎn)有若干個孩子節(jié)點(diǎn)具體的事務(wù)記為事務(wù)節(jié)點(diǎn)trans,事務(wù)節(jié)點(diǎn)的父親節(jié)點(diǎn)就是它們在增量式頭表結(jié)構(gòu)中的首相。事務(wù)節(jié)點(diǎn)利用屬性TID來標(biāo)記是數(shù)據(jù)庫中的哪個事務(wù),最后事務(wù)節(jié)點(diǎn)的孩子節(jié)點(diǎn)即葉子節(jié)點(diǎn)保存了數(shù)據(jù)庫中的所有事務(wù)。頭表XH的前兩個屬性項目名Na和支持度Sup依然以屬性的形式保存在XML文檔中,XH中的隊列首指針在XML文檔中轉(zhuǎn)化為了項目節(jié)點(diǎn)的第一個子節(jié)點(diǎn)。[0031]當(dāng)數(shù)據(jù)庫更新時,只需對新增數(shù)據(jù)庫Λ TDB進(jìn)行掃描計算,找到新增頻繁集,建立Δ TDB的相應(yīng)XML文檔,然后將歷史XML文檔與Λ TDB的XML合并構(gòu)建更新后事務(wù)數(shù)據(jù)庫(TDB+ Δ TDB)的XML文檔,然后即可利用更新的XML文檔來挖掘頻繁模式。
[0032]實(shí)施例1
[0033]本實(shí)施例以一個事務(wù)數(shù)據(jù)庫的頻繁集挖掘為例,表1給出了事務(wù)數(shù)據(jù)庫,先根據(jù)Apriori算法的性質(zhì),為初始事務(wù)數(shù)據(jù)庫創(chuàng)建增量式頭表ΧΗ,如圖2所示。
[0034]表1.事務(wù)數(shù)據(jù)庫
[0035]
【權(quán)利要求】
1.一種基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,其特征在于:包括以下步驟: 步驟1:利用關(guān)聯(lián)規(guī)則挖掘算法為初始事務(wù)數(shù)據(jù)庫TDB創(chuàng)建初始增量式頭表結(jié)構(gòu)XH-struct ; 步驟2:將增量式頭表轉(zhuǎn)化為基于內(nèi)存的樹形結(jié)構(gòu)HT,并以XML文檔形式保存在硬盤中; 步驟3:掃描數(shù)據(jù)庫的新增數(shù)據(jù)Λ TDB,建立新增數(shù)據(jù)庫的增量式頭表并轉(zhuǎn)化為相應(yīng)的XML文檔,將歷史XML文檔與新增數(shù)據(jù)庫的XML文檔合并構(gòu)建更新后事務(wù)數(shù)據(jù)庫的XML文檔,然后即可利用更新的XML文檔來挖掘頻繁模式。
2.根據(jù)權(quán)利要求1所述的基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,其特征在于,步驟I中,設(shè)I = Ii1, i2,…im}是由m個不同項目組成的集合,事務(wù)數(shù)據(jù)庫TDB中的每個事務(wù)T是I中一組項目的集合,則:T ^ /,每個事務(wù)都有唯一的標(biāo)識符TID。
3.根據(jù)權(quán)利要求2所述的基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,其特征在于,步驟I中,利用關(guān)聯(lián)規(guī)則在事務(wù)數(shù)據(jù)庫中找出滿足用戶給定的最小支持度min_SUp和最小置信度min_cof的強(qiáng)關(guān)聯(lián)規(guī)則,項目集U在事務(wù)數(shù)據(jù)庫中出現(xiàn)的頻率是包含項目集U的事務(wù)數(shù),?Φ0,記為項目集頻率F (U),即為項目集的支持度,如果F (U) > min_sup,則U為頻繁項集,若F (U) ( min_sup,則U為不頻繁項集。
4.根據(jù)權(quán)利要求3所述的基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,其特征在于,步驟I中,利用關(guān)聯(lián)規(guī)則挖掘算法為初始事務(wù)數(shù)據(jù)庫創(chuàng)建初始增量式頭表結(jié)構(gòu)XH-struct,增量式頭表結(jié)構(gòu)XH-struct的頭表記為XH,頻繁項和不頻繁項都包含在頭表XH中,XH中的每一項都包含三個屬性:{ID,Sup, Poi},ID是項目編號,Sup是項目的支持度,Poi是指針域。
5.根據(jù)權(quán)利要求4所述的基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,其特征在于,步驟2中,將增量式頭表轉(zhuǎn)化為基于內(nèi)存的樹形結(jié)構(gòu)HT,并以XML文檔形式保存在硬盤中,原有頭表XH中的每一項都作為樹形結(jié)構(gòu)HT根節(jié)點(diǎn)root的子節(jié)點(diǎn)item,每個子節(jié)點(diǎn)有兩個屬性:{Na, Sup},Na是項目名,Sup是項目的支持度,每個子節(jié)點(diǎn)有若干個孩子節(jié)點(diǎn)具體的事務(wù)記為事務(wù)節(jié)點(diǎn)trans,事務(wù)節(jié)點(diǎn)用屬性標(biāo)識符TID來標(biāo)記數(shù)據(jù)庫中的一條事務(wù)。
6.根據(jù)權(quán)利要求5所述的基于增量式關(guān)聯(lián)規(guī)則技術(shù)的動態(tài)大數(shù)據(jù)模型高效建立方法,其特征在于,步驟3中,當(dāng)數(shù)據(jù)庫更新時,只對新增數(shù)據(jù)庫Λ TDB進(jìn)行掃描計算,建立新增數(shù)據(jù)庫的增量式頭表并轉(zhuǎn)化為相應(yīng)的XML文檔,將歷史XML文檔與新增數(shù)據(jù)庫的XML文檔合并構(gòu)建更新后事務(wù)數(shù)據(jù)庫的XML文檔,然后利用更新的XML文檔來挖掘頻繁模式。
【文檔編號】G06F17/30GK103927373SQ201410168643
【公開日】2014年7月16日 申請日期:2014年4月24日 優(yōu)先權(quán)日:2014年4月24日
【發(fā)明者】程道華, 劉盛強(qiáng), 張慶, 彭清沖, 況培, 田潔, 李方林 申請人:湖北航云端科技有限公司