本發明專利技術提供了一種基于非易失性存儲器的頻繁模式挖掘方法,它包括以下步驟:步驟1、利用多核系統對頻繁模式樹進行并行構建:先將數據庫中的多條數據項大致均勻地分配到每個核中,利用CN106250549A記載的方法,在每一個核上構建一棵本地頻繁模式樹;步驟2、對步驟1所構建的頻繁模式樹進行合并:將本地頻繁模式樹的信息搜集起來,合并成一棵大的全局頻繁模式樹。由于本發明專利技術采用并行構建頻繁模式樹,大幅度縮短了構建的時間,提高了構建頻繁模式樹的效率,解決了挖掘大數據集時構建樹的速度慢的問題。
A frequent pattern mining method based on nonvolatile memory
The invention provides a non volatile memory to frequent pattern mining method based on it, which comprises the following steps: 1, the use of multi-core system on parallel frequent pattern tree construction: the first of the plurality of data items are roughly evenly distributed to each core database, using the method of CN106250549A records, a the local frequent pattern tree construction in each nucleus; step 2, step 1 of frequent pattern tree constructed by merging: local frequent pattern tree information together, merge into a large global frequent pattern tree. Because the invention adopts the parallel construction of frequent pattern trees, the construction time is greatly shortened, the efficiency of constructing frequent pattern trees is improved, and the problem of slow construction of large data sets is solved.
【技術實現步驟摘要】
一種基于非易失性存儲器的頻繁模式挖掘方法
本專利技術屬于存儲器
,具體涉及一種用于NVM的頻繁模式挖掘方法。
技術介紹
中國專利文獻CN106250549A于2016年12月21日公開了一種基于內存的頻繁模式挖掘方法,它包括以下步驟:步驟1,構建頻繁模式初始樹,創建頻繁模式樹的根結點T,以“null”標記;再次掃描數據庫,將讀取的每條事務中的頻繁項選出并按L中的次序排序;排序后以null為根結點構建一條頻繁模式樹的路徑,只對路徑上位于最末的結點的計數加1,路徑上的其他結點的計數保持不變;依次掃描完整個數據庫中所有事務后獲得頻繁模式初始樹;步驟2,用深度優先搜索算法對頻繁模式初始樹依次進行遍歷,遍歷結點的計數器值為該結點本身的值加上其所有孩子結點的值。該專利能減少對NVM的寫操作,能快速的構建頻繁模式樹;且能減少對靠近根結點的結點計數域大量密集的寫操作,延長了NVM壽命。但是,當待挖掘的數據集非常大,用該專利的方法構建樹的效率很低,有必要探索一種快速構建頻繁模式樹的方法。
技術實現思路
針對現有技術中存在的技術問題,本專利技術所要解決的技術問題就是提供一種基于非易失性存儲器的頻繁模式挖掘方法,它在挖掘大數據集時,能夠快速構建頻繁模式樹。本專利技術所要解決的技術問題是通過這樣的技術方案實現的,它包括以下步驟:步驟1、利用多核系統對頻繁模式樹進行并行構建先將數據庫中的多條交易記錄大致均勻地分配到每個核中,利用CN106250549A記載的方法,在每一個核上構建一棵本地頻繁模式樹;步驟2、對步驟1所構建的頻繁模式樹進行合并將本地頻繁模式樹的信息搜集起來,合并成一棵大的全局頻繁模式樹。由于本專利技術采用并行構建頻繁模式樹,大幅度縮短了構建的時間,提高了構建頻繁模式樹的效率,解決了挖掘大數據集時構建樹的速度慢的問題。附圖說明本專利技術的附圖說明如下:圖1為本專利技術構建頻繁模式樹的示意圖;圖2為brute-force合并樹的流程圖;圖3為本專利技術合并樹的流程圖;圖4為實驗中讀操作的測試效果圖;圖5為實驗中寫操作的測試效果圖;圖6為實驗中構建全局樹時間的測試效果圖;圖7為本專利技術與現有并行構建樹時間的對比圖。具體實施方式下面結合附圖和實施例對本專利技術作進一步說明:本專利技術應用于多核系統中,硬件包含有CPU、存儲器管理單元MMU、作為內存的NVM等,NVM直接連接在內存總線上。專利技術應用的上下文環境為:上層是應用層,下層具體的硬件,存儲器包括NVM以及SSD等。應用層發出操作請求,對作為內存的NVM進行操作。如圖1所示,對本專利技術包括以下步驟:步驟1、利用多核系統對頻繁模式樹進行并行構建先將數據庫中的多條交易記錄大致均勻地分配到每個核中,利用CN106250549A記載的方法,在每一個核上構建一棵本地頻繁模式樹;例如總共十條交易記錄以及3個核,大致均勻分配后每個核的交易記錄條數為3、3、4;每個核根據分配到的交易記錄來構建一棵樹。步驟2、對步驟1所構建的頻繁模式樹進行合并將本地頻繁模式樹的信息搜集起來,合并成一棵大的全局頻繁模式樹。Brute-force是現有的一種合并樹的方法,用brute-force方法合并樹1和樹2的步驟,流程圖如圖2所示:步驟1)、從根結點出發,依次線性查找樹1和樹2中根結點的所有孩子結點,檢查是否存在相同結點,如存在,用T1和T2分別表示樹1和樹2中相同的結點,然后執行步驟2);如不存在,則執行步驟3);步驟2)、T1計數域的值=T1計數域的值+T2計數域的值,并將T1和T2分別作為樹1和樹2的根結點,返回步驟1);步驟3)、將樹2中的根結點的所有子樹都拷貝到樹1中,并將樹2中根結點的所有孩子結點作為樹1中根結點的孩子結點;步驟4)、程序結束。采用本專利技術上述步驟構建頻繁模式樹時,如果沒有優化的管理,會產生許多不必要的讀寫操作,帶來巨大的內存開銷,降低構建樹的效率,且大量的讀寫操作會導致NVM的使用壽命減少。針對合并過程中多次拷貝操作帶來的寫開銷的問題,在上述步驟1中,構建本地頻繁模式樹時,采用左孩子右兄弟鏈表結構來存儲結點信息。(左孩子右兄弟鏈表結構的參見文獻:T.H.Cormen,C.Stein,R.L.Rivest,andC.E.Leiserson.IntroductiontoAlgorithms.McGraw-HillHigherEducation,2ndedition,2001.(T.H.Cormen,C.Stein,R.L.Rivest,andC.E.Leiserson.算法導論.McGraw-Hill高等教育,第二版,2001.))以下為本專利技術中合并樹1和樹2的步驟,流程圖如圖3所示:步驟(1)、從根結點出發,將樹1的根結點的最末孩子結點的兄弟指針指向樹2的根結點的第一個孩子結點;步驟(2)、利用所建立的哈希表查找樹1和樹2根結點的孩子結點中是否存在相同結點,如存在,用T1和T2分別表示樹1和樹2中相同的結點,然后執行步驟(3);如不存在,則執行步驟(5);步驟(3)、T1計數域的值=T1計數域的值+T2計數域的值,并將T2結點從該鏈表中刪除;步驟(4)、將T1和T2分別作為樹1和樹2的根結點,返回步驟(1);步驟(5)、結束程序。上述步驟(1)-(5)直接將相同父結點的所有孩子結點結點鏈接起來,如果在這些孩子結點中有重復的結點,則將這些孩子結點的計數域的值相加并存儲到其中一個結點中,再將其他重復的孩子結點從孩子結點鏈中刪除。通過鏈接結點的方式避免了在內存空間中拷貝已經存儲過的結點,能夠有效減少合并本地頻繁模式樹的過程中大量的不必要的內存寫操作,減少寫開銷,提高性能,降低能耗。針對合并過程中對指定結點查找效率低的問題以及避免多次查找指定結點操作帶來的讀開銷問題,在上述步驟1中,在構建頻繁模式初始樹過程中創建新節點時,為根結點T以下的孩子結點建立了哈希表(建立哈希表參見文獻:T.H.Cormen,C.Stein,R.L.Rivest,andC.E.Leiserson.IntroductiontoAlgorithms.McGraw-HillHigherEducation,2ndedition,2001.(T.H.Cormen,C.Stein,R.L.Rivest,andC.E.Leiserson.算法導論.McGraw-Hill高等教育,第二版,2001.))。在建立哈希表時僅存儲孩子結點的項目名稱以節省空間,用該結點的孩子結點數目作為關鍵字,采用直接取余法建立哈希表,并利用鏈表法解決哈希沖突。由于為結點建立了哈希表,在合并頻繁模式樹時能夠快速定位到指定結點,能避免線性查找法對子結點進行挨個查找。當某些結點的孩子結點較多時,可有效減少對結點的讀操作,提高查找效率,加快樹的合并。試驗測試選取不同類型的數據集進行試驗,統計各個數據集的讀寫操作總量和總的構建樹的時間。這些數據集的名稱分別為T10I4D100K、T40I10D100K、retail、chess、mushroom、pumsb*、connect、pumsb、accidents、C73D10、C20D10、T20I6D100。測試時,本專利技術與單核采用
技術介紹
方法構建的樹以及多核采用brute-force方法合并的樹相對比,其中以單核構建方法作為基準對本文檔來自技高網...

【技術保護點】
一種基于非易失性存儲器的頻繁模式挖掘方法,其特征是,包括以下步驟:步驟1、利用多核系統對頻繁模式樹進行并行構建先將數據庫中的多條交易記錄大致均勻地分配到每個核中,利用CN106250549A記載的方法,在每一個核上構建一棵本地頻繁模式樹;步驟2、對步驟1所構建的頻繁模式樹進行合并將本地頻繁模式樹的信息搜集起來,合并成一棵大的全局頻繁模式樹。
【技術特征摘要】
1.一種基于非易失性存儲器的頻繁模式挖掘方法,其特征是,包括以下步驟:步驟1、利用多核系統對頻繁模式樹進行并行構建先將數據庫中的多條交易記錄大致均勻地分配到每個核中,利用CN106250549A記載的方法,在每一個核上構建一棵本地頻繁模式樹;步驟2、對步驟1所構建的頻繁模式樹進行合并將本地頻繁模式樹的信息搜集起來,合并成一棵大的全局頻繁模式樹。2.根據權利要求1所述的基于非易失性存儲器的頻繁模式挖掘方法,其特征是:在所述步驟1中,構建本地頻繁模式樹時,采用左孩子右兄弟鏈表結構;在所述步驟2中,包括以下步驟:步驟(1)、從根結點出發,將樹1的根結點的最末孩子結點的...
【專利技術屬性】
技術研發人員:劉鐸,林怡,黃鉑鈞,朱瀟,李陽,
申請(專利權)人:重慶大學,
類型:發明
國別省市:重慶,50
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。