本发明专利技术提供了一种基于非易失性存储器的频繁模式挖掘方法,它包括以下步骤:步骤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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。