CN109992610A - 一种基于频繁模式树二维特征的负载均衡方法 - Google Patents

一种基于频繁模式树二维特征的负载均衡方法 Download PDF

Info

Publication number
CN109992610A
CN109992610A CN201910264138.5A CN201910264138A CN109992610A CN 109992610 A CN109992610 A CN 109992610A CN 201910264138 A CN201910264138 A CN 201910264138A CN 109992610 A CN109992610 A CN 109992610A
Authority
CN
China
Prior art keywords
item
tree
list
estimation
calculation amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910264138.5A
Other languages
English (en)
Inventor
赵义健
黄芳
杜春修
阿里阿米尔
张予琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN201910264138.5A priority Critical patent/CN109992610A/zh
Publication of CN109992610A publication Critical patent/CN109992610A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了基于频繁模式树二维特征的负载均衡方法,方法针对传统算法对计算量估算考虑不全的问题,综合考虑了影响频繁模式树计算量的宽度和深度二维特征,方法首先根据频繁模式树宽度和深度特征对频繁一项集中的项进行计算量预估,然后根据预估结果使用基于贪心策略的方法对频繁一项估算集进行分组。方法主要解决了在并行频繁模式挖掘中数据分配不均而导致的计算效率降低的问题,实现了在大规模并行计算平台下快速高效地进行频繁模式挖掘。实验结果表明,方法有效地提高了计算节点间的负载均衡效果,且具有良好的并行性和可扩展性。

Description

一种基于频繁模式树二维特征的负载均衡方法
技术领域
本发明属于计算机科学与技术领域,特别涉及一种基于频繁模式树二维特征的负载均衡方法。
背景技术
频繁模式用于发现数据之间的关联性和规律性在商业和社交等领域都具有重要作用。在数据量增大后,传统串行频繁模式挖掘方法Apriori、FP-Growth无法满足计算要求,利用计算集群运行高效的并行算法可以充分发挥整个集群的计算资源来快速的处理大批量数据。在集群计算中,由于集群的运算时间是由集群中最后一个结束计算的计算节点所决定,所以为了避免在分布式集群中出现数据倾斜现象,首先应该考虑的问题就是集群中每个计算节点的负载均衡问题。在进行并行频繁模式挖掘时,分配到每个计算节点上的计算量是由所在节点数据建立的局部频繁模式树所决定的,因此,在进行数据分配到节点之前,最好的方法是对可能计算节点内可能存在的计算量就行预估,通过这样的方法,就可以在一定程度上避免数据倾斜现象的出现。相较于传统的BPFP算法在进行计算量估算时只考虑了频繁模式树深度的一维特征,虽然在一定程度上克服了PFP算法可能存在的数据倾斜问题,提高了并行的执行效率,但在项集分组中并没有综合考虑频繁模式树规模问题。此外,由于部分基于Hadoop 的并行频繁模式挖掘方法受MapReduce计算框架对迭代算法的局限性影响,在资源和时间性能上表现并不优异。
因此,有必要在分组之前针对计算量的预估进行更详细的设计,同时将方法的运行平台转移到更加适合做迭代计算的分布式平台之上,设计一种Spark平台下的在并行频繁模式挖掘中基于频繁模式树二维特征的负载均衡方法。
发明内容
本发明所解决的问题是,针对现有技术的不足,提供一种Spark平台下的在并行频繁模式挖掘中基于频繁模式树二维特征的负载均衡方法,方法能在进行分组前,对所有的计算量进行综合预估,然后使用基于贪心策略的方法进行分组,可以使得整个Spark计算集群最大程度的达到负载均衡,以优化集群的并行程度实现在快速高效的在大批量数据中获取频繁模式。
本发明所提供的技术方案为:
一种基于频繁模式树二维特征的负载均衡方法,包括两部分,第一部分为基于频繁模式树二维特征(深度,宽度)对一项集中每一项在分配到计算节点时可能存在的计算量进行预估,第二部分是对预估的结果使用基于贪心策略的分组方法进行负载均衡分组;
第一部分具体步骤为:
步骤1:项的并行计数统计:输入数据集DB后,进行并行的一项集计数,计数完成后获取所有项的一项集计数,记为<key=an,value=count>,其中an为DB中出现的项,count为项an出现的次数。
步骤2:获取频繁一项集F-list:设置项的最小支持度为δ(0<δ<1),遍历计算每一项是否满足an.count>=DB.count*δ,an.count为项an的出现次数,DB.count为数据集DB中事务的数目;若满足则将项an加入到频繁一项集f-list中,将所有的项遍历完成得到完整的频繁一项集f-list,然后将f-list中的项根据出现次数从大到小进行排序,形成排序后的频繁一项集F- list。
步骤3:基于频繁模式树深度的F-list中项可能存在的计算量估算:计算节点的计算量一部分就体现在不同项an在频繁模式树中路径的位置,而这一位置可以由项an在F-list列表中所处的位置所决定。所以,F-list中每一项an的位置可以作为项an所在分组后所在频繁模式树中的深度计算量估算。其结果记为deep={(an,l)|n=1,2,3…,n},l为项an在F-list中的位置。
步骤4:基于频繁模式树宽度的F-list中项可能存在的计算量估算:在集群中的计算节点上如果频繁模式树的宽度过大,一方面会造成在构建频繁模式树时所能够使用的前缀树较少,另一方面会造成频繁模式树中频繁项的路径数目增加。这样也会导致计算节点中计算量的增加。估算步骤如下:
步骤4.1:前缀事务记录获取:对于每一条排序完的事务记录Ti={a0,a1,…,aj},从右向左遍历该条事务记录,在事务记录中获取每个元素aj之前的子事务记录,组成一个键值对,记为<key=aj,vlaue=a0,a1,…,aj>。
步骤4.2:宽度估算:在获取了所有的前缀事务记录后,将所有的重复的记录进行合并,并将所有key值相同的键值对组合起来统计其出现次数,每个key值对应的value值次数可以近似的作为项an分组后所在频繁模式树中的深度估算。其结果记为width={(an,m)|n=1,2,3…,n},m为以项an为key值的合并重复value值后出现的次数。
步骤5:基于频繁模式树二维特征的F-list中项可能存在的计算量估算:在获取了F-list 中的每一项的深度和宽度的预估之后,根据这些信息可以对F-list中项可能存在的计算量进行一个整体的预估,项an得到的计算量估算结果记为的计算方法为:
式中width(an)表示项an的宽度估算,deep(an)表示项an的深度估算,这个公式综合考虑了项an在分组完成后其所构成频繁模式树的横向和纵向维度,因此,当项an分配到某个计算节点中时可以近似估算出项an所对应的计算量。
第二部分的步骤为:
步骤1:获取一项估算集W-list:在对F-list中的项an计算量估算完成后,记为<key=an, value=weight>,weight为项an对应的估算计算量,加入一项估算集W-list中,在F-list中所有项估算完成后将W-list中所有项按weight值从大到小进行排序得到一项估算集W-list。
步骤2:基于贪心策略对W-list中的项进行分组:在给定所需要划分的组数Q后,理想状态下的分组是每组的计算量估算等于计算量估算的和与分组的商,即平均计算量Avg。在分组的过程中我们可以尽量使得每个分组的计算量Wn都接近平均计算量Avg,即最优的目标函数为公式如下:
min∑(Wn-Avg)
直接求解上式的最优解复杂度较高,采用贪心策略可以获取局部最优解,局部最优解的组合就可以近似的代替全局最优解,具体步骤如下:
步骤2.1:根据计算集群中计算节点的个数确定所需要的分组数目Q。
步骤2.2:计算出当前新的平均估算量Avg,从左向右遍历W-list中未分组的项,遍历过程中将项的估算量进行累加,直到累加值sum大于当前平均估算量Avg时停止遍历,将这部分遍历的项作为一个分组加入分组结果集G-list中。
步骤2.3:分组数目Q-1,判断Q是否大于1,如果大于则重复步骤2.2,否则直接将剩下未分组的项作为一个分组后分组结束。
步骤3:根据分组结果对数据集DB进行划分:将原有数据集划分成一系列数据集,划分好的数据集在不同的计算节点上构建局部频繁模式树进行频繁模式的挖掘,步骤如下:
步骤3.1:数据准备:获取按照F-list排序完成的事务数据集T-list和W-list的分组结果 G-list。
步骤3.2:数据集划分:从右向左遍历T-list中的每条事务记录Ti中的每个元素aj,查看 aj在分组中对应的组号gid,然后将Ti中元素aj去除继续遍历,如果元素ak对应的分组号之前出现过,就直接将元素ak从事务记录Ti中删除后继续遍历下一个元素。直到事务记录Ti遍历完,然后将key相同的事务记录组合在一起记为(T-list)gid
有益效果
本发明提出了一种在分布式平台中进行并行频繁模式挖掘时基于频繁模式树二维特征的负载均衡方法。本发明运用Spark对数据进行并行的频繁模式挖掘,在挖掘的过程中,综合考虑了可能影响集群中负载均衡的原因,结合基于贪心策略的分组方法,大大提升了集群中计算节点计算量的负载均衡,在一定程度上提升了并行频繁模式的挖掘效率。
(1)在分组之前对频繁一项集中的每一项分配到计算节点中可能产生的计算量进行预估。在预估时,充分考虑在每个计算节点中影响产生计算量的局部频繁模式树的规模,首先通过对项所在的局部频繁模式树的宽度和深度可能产生的计算量进行预估,在将两个预估结果进行合理的组合,获取项对应的总的计算量预估。这样使得对计算量的预估更加准确。
(2)在计算量预估完成后,使用基于贪心策略的分组方法对每一项进行分组,使得每个分组内的计算量最大程度上均匀,这样每个计算节点之间可以相对的负载均衡。
(3)根据分组结果将原始数据集进行划分,划分完成的数据集在每个节点上可以独立运行,节点之间没有数据通信,提高了方法的并行性。
附图说明
附图1为本发明的整体流程图;
附图2为本发明的负载均衡策略中计算量估算的示例;
附图3为本发明基于贪心策略的一项集分组示例;
附图4为本发明在分组完成数据集划分后在每个计算节点中挖掘频繁模式示例;
附图5为本发明负载均衡策略有效性的时间对比;
附图6为本发明与BPFP的加速比对比
附图7为不同计算节点和支持度下方法的运行时间对比。
具体实施方式
以下结合附图和具体实施方式对本发明进行进一步具体说明。
如图1所示,本发明的主要包含三个部分:并行计数统计,负载均衡分组,并行挖掘。过程描述为:
(1)并行计数统计
将事务数据集存放在Hadoop的分布式数据集HDFS中,编写程序从HDFS中读出数据,然后使用并行的计数统计获取事务数据中的项的计数,在去除计数小于最小支持度的项后将所有剩余的项按从大到小的顺序进行排序获取排序后的一项集F-list。
(2)负载均衡分组和数据集划分
在获取F-list后就需要对F-list中项的计算量进行预估,预估完成后使用基于贪心策略的分组方法进行负载均衡分组。接下来在F-list分组完成后,根据分组结果对原始的事务数据集进行数据划分。
在进行负载均衡分组的过程中,首先获取F-list中每一项的深度和宽度计算量估算,然后在将获取的深度和宽度计算量估算进行组合,得到项基于频繁模式二维特征的整体计算量估算,其具体过程用图2示例说明。
在图2中主要包含了对一项集F-list中每一项的深度和宽度计算量估算,以及在获得宽度和深度估算之后进行整体估算的结果。
在图2中,在对F-list中的每一项进行深度估算时,可以近似的根据每一项在F-list中的所在位置(集合从左向右的位置)进行预估,例如,项b在F-list中的位置是2,所以项b的深度计算量估算近似的为2;在进行项对应的宽度估算时,可以从频繁模式树中看出每一项所在不重复的路径数目,例如项c所在的不重合的路径数目有(a,f,c),(a,b,f,c)两条,因此,项c 的宽度计算量估算近似为2。在获取了所有项对应的深度和宽度估算后,使用项的综合计算量估算公式进行整体估算即可。
在图3中主要包含了项所对应的计算量估算结束之后对一项估算集W-list中的项进行基于贪心策略的分组过程以及分组结果。在确定将所有项分成两组后,可以看出在充分考虑了计算量之后,通过基于这种贪心策略的分组方法可以使得每个计算节点上的计算量大致相同,这样的分组方法能够基本保证了每个计算节点均衡的计算量。
(3)并行频繁模式挖掘
程序自动将划分完的事务数据分配到相应的计算节点上。最后在每个计算节点上进行局部并行的频繁模式挖掘,将所有挖掘到的频繁模式汇总后全局频繁模式。
在图4中主要包含了在分组完成后进行原始数据集划分后在每个计算节点内部进行并行频繁模式挖掘的过程。在分组完成后,根据分组结果将原始数据集进行划分,将划分完成的每个子数据集发送到对应的计算节点上,在每个计算节点内部建立频繁模式树进行局部的频繁模式挖掘。从图中可以看出每个计算节点所产生的频繁模式个数差不多相同,这表明了节点的计算量基本一致。
实验分析
为了验证本文所提出的2D-BPFP算法负载均衡策略有效性,实验分析阶段采用AMiner- Paper公共数据集(www.aminer.cn/billboard/aminernetwork),数据集中的每条数据记录包含作者,论文名,论文发表时间,杂志名称等信息。我们抽取了从2005年到2014年共10年将约120 万条包含作者的数据记录,每年的数据量分布如表1所示,然后将所有的作者姓名使用不同数字表示,形成一个事务记录是由数字表示的事务记录集。实验是在一台环境配置为 Ubuntu16.04,CPU i7-6800k(6核12线程),RAM 64GB的主机上搭建的Spark集群,共设置11 台虚拟主机,其中一台为管理节点Master,环境为4G RAM,Ubuntu16.04、Scala2.12、Spark2.3,其余10台为计算节点Slave,节点内存为2G RAM其他配置与Master节点相同。
表1数据量分布表
时间(单位:年) 数据量(单位:条记录)
2005 98396
2006 121018
2007 116104
2008 128413
2009 169283
2010 139235
2011 131463
2012 123842
2013 92431
2014 21479
利用上述的数据集和实验环境从主要从三个方面来验证基于Spark的2D-BPFP算法的有效性。
(1)2D-BPFP算法与经典PFP算法和BPFP算法对比实验,通过对比不同算法随着数据集增大时的运行时间,验证2D-BPFP算法的负载均衡策略在数据量较大时相较于PFP、BPFP算法可以更加有效的避免数据倾斜现象出现;
(2)2D-BPFP算法与BPFP算法对比实验,通过对比不同算法在不同的计算节点时的加速比,验证2D-BPFP算法的负载均衡策略相较于BPFP算法可以在一定程度上提高算法的并行性;
(3)2D-BPFP算法可扩展性实验,通过设置不同的计算节点和不同的支持度对比算法运行时所消耗的时间,验证添加了综合考虑条件模式树二维特征负载均衡策略的2D-BPFP算法随着计算节点增加时的可扩展性。
1、算法负载均衡的有效性
为了验证2D-BPFP算法负载均衡策略可以有效避免数据倾斜现象的发生,在Spark平台上实现未进行负载均衡分组的PFP算法,和只进行了部分优化的BPFP算法,设置相同的支持度δ为0.002%,使用2个Slave计算节点搭建一个计算集群,保持其他实验环境相同分别使用05-07年,05-09年,05-14年这三个数据集,对比PFP,BPFP与2D-BPFP算法挖掘时间进行对比。其结果对比如图5所示。
从图5中的曲线可以看出,2D-BPFP算法在挖掘相同的数据集时,相较于FPF和BPFP算法在执行时间上表现的更加优异。由此可见,2D-BPFP算法中的负载均衡分组策略可以使得数据集划分更加合理不会出现数据倾斜,使得后续并行FP-Growth算法的执行更加一致,从而从整体上降低了挖掘频繁模式所需的时间。因此,2D-BPFP算法的负载均衡策略是更加有效的,更有利于提高在海量数据中频繁模式的挖掘效率。
2、算法的并行化能力
一个好的分布式算法在算法的并行性和可扩展性上都有着出色的表现,所以,为了验证 2D-BPFP算法在分布式系统中的健壮性,对2D-BPFP算法的并行性进行验证。
为了验证添加了负载均衡策略的2D-BPFP算法在分布式环境下的并行性,使用10年的数据作为实验数据集,在保持相同的数据集和环境下,设置相同的支持度δ为0.001%,对比2D-BPFP算法和BPFP算法在不同的计算节点数目消耗的时间,通过计算加速比来验证2D-BPFP算法的并行性。加速比如公式如下所示:
S=t1/tn
在上面的公式中,t1表示当计算节点为1时算法运行所消耗的时间,tn表示计算节点为 n时算法运行所消耗的时间。分别得出当计算节点为1,2,3,4,5时两个算法运行的时间计算出对应的加速比,实验结果如图6所示:
由图6可以看出,两个算法的加速比都在随着计算节点的增加而上升,说明两个算法都具有较好的并行性,在开始阶段计算节点较少时两个算法的加速比大致相同,随着计算节点的增加2D-BPFP算法的加速比比BPFP的就稍微高一点,这是因为随着计算节点的增加发生数据倾斜的概率就较大,因为2D-BPFP算法在负载均衡分组中考虑的更加细致故表现的更好,除此之外,2D-BPFP算法在数据集划分完成后,各个计算节点之间相互独立运行,没有任何的节点通信和依赖,所以其并行性更高。综上,2D-BPFP算法在挖掘频繁模式时具有良好的并行性。
3、算法的可扩展性
为了验证综合考虑条件模式树二维特征的2D-BPFP算法可扩展性,使用10年的数据作为实验数据集,在相同的数据集和环境下,设置10台计算节点Slave,计算节点从2逐步扩展到10个,分别设置最小支持度δ为0.001%,0.0015%,0.002%时进行观察,针对不同最小支持度和不同计算节点数目情况下的运行时间,以验证2D-BPFP算法的可扩展性,其实验结果如下图7所示。
图7可以看出,在最小支持度相同的情况下,随着计算节点的增加算法运行所消耗的时间越来越小。随着计算节点的增加,曲线后期开始运行耗时下降变缓,这是因为计算节点增多后所对应的分组增多,中间的分组计算时间增加。同时,在计算节点相同而最小支持度不同的情况下,随着最小支持度增大运行耗时不断减小,这是因为最小支持度越大频繁项的数目越少,在并行计算中的迭代计算量降低,使得总体的时间开销降低。

Claims (4)

1.一种基于频繁模式树二维特征的负载均衡方法,其特征在于:包括两部分,第一部分为基于频繁模式树二维特征(深度,宽度)对一项集中每一项在分配到计算节点时可能存在的计算量进行预估,第二部分是对预估的结果使用基于贪心策略的分组方法进行负载均衡分组;
第一部分具体步骤为:
步骤11:项的并行计数统计:输入数据集DB后,进行并行的一项集计数,计数完成后获取所有项的一项集计数,记为<key=an,value=count>,其中an为DB中出现的项,count为项an出现的次数。
步骤12:获取频繁一项集F-list:设置项的最小支持度为δ(0<δ<1),遍历计算每一项是否满足an.count>=DB.count*δ,an.count为项an的出现次数,DB.count为数据集DB中事务的数目;若满足则将项an加入到频繁一项集f-list中,将所有的项遍历完成得到完整的频繁一项集f-list,然后将f-list中的项根据出现次数从大到小进行排序,形成排序后的频繁一项集F-list。
步骤13:基于频繁模式树深度的F-list中项可能存在的计算量估算:计算节点的计算量一部分就体现在不同项an在频繁模式树中路径的位置,而这一位置可以由项an在F-list列表中所处的位置所决定。所以,F-list中每一项an的位置可以作为项an所在分组后所在频繁模式树中的深度计算量估算。其结果记为deep={(an,l)|n=1,2,3…,n},l为项an在F-list中的位置。
步骤14:基于频繁模式树宽度的F-list中项可能存在的计算量估算:在集群中的计算节点上如果频繁模式树的宽度过大,一方面会造成在构建频繁模式树时所能够使用的前缀树较少,另一方面会造成频繁模式树中频繁项的路径数目增加。这样也会导致计算节点中计算量的增加。估算步骤如下:
步骤14.1:前缀事务记录获取:对于每一条排序完的事务记录Ti={a0,a1,…,aj},从右向左遍历该条事务记录,在事务记录中获取每个元素aj之前的子事务记录,组成一个键值对,记为<key=aj,vlaue=a0,a1,…,aj>。
步骤14.2:宽度估算:在获取了所有的前缀事务记录后,将所有的重复的记录进行合并,并将所有key值相同的键值对组合起来统计其出现次数,每个key值对应的value值次数可以近似的作为项an分组后所在频繁模式树中的深度估算。其结果记为width={(an,m)|n=1,2,3…,n},m为以项an为key值的合并重复value值后出现的次数。
步骤15:基于频繁模式树二维特征的F-list中项可能存在的计算量估算:在获取了F-list中的每一项的深度和宽度的预估之后,根据这些信息可以对F-list中项可能存在的计算量进行一个整体的预估,项an得到的计算量估算结果记为的计算方法为:
式中width(an)表示项an的宽度估算,deep(an)表示项an的深度估算,这个公式综合考虑了项an在分组完成后其所构成频繁模式树的横向和纵向维度,因此,当项an分配到某个计算节点中时可以近似估算出项an所对应的计算量。
第二部分的步骤为:
步骤21:获取一项估算集W-list:在对F-list中的项an计算量估算完成后,记为<key=an,value=weight>,weight为项an对应的估算计算量,加入一项估算集W-list中,在F-list中所有项估算完成后将W-list中所有项按weight值从大到小进行排序得到一项估算集W-list。
步骤22:基于贪心策略对W-list中的项进行分组:在给定所需要划分的组数Q后,理想状态下的分组是每组的计算量估算等于计算量估算的和与分组的商,即平均计算量Avg。在分组的过程中我们可以尽量使得每个分组的计算量Wn都接近平均计算量Avg,即最优的目标函数为公式如下:
min∑(Wn-Avg)
直接求解上式的最优解复杂度较高,采用贪心策略可以获取局部最优解,局部最优解的组合就可以近似的代替全局最优解,具体步骤如下:
步骤22.1:根据计算集群中计算节点的个数确定所需要的分组数目Q。
步骤22.2:计算出当前新的平均估算量Avg,从左向右遍历W-list中未分组的项,遍历过程中将项的估算量进行累加,直到累加值sum大于当前平均估算量Avg时停止遍历,将这部分遍历的项作为一个分组加入分组结果集G-list中。
步骤22.3:分组数目Q-1,判断Q是否大于1,如果大于则重复步骤2.2,否则直接将剩下未分组的项作为一个分组后分组结束。
步骤23:根据分组结果对数据集DB进行划分:将原有数据集划分成一系列数据集,划分好的数据集在不同的计算节点上构建局部频繁模式树进行频繁模式的挖掘,步骤如下:
步骤23.1:数据准备:获取按照F-list排序完成的事务数据集T-list和W-list的分组结果G-list。
步骤23.2:数据集划分:从右向左遍历T-list中的每条事务记录Ti中的每个元素aj,查看aj在分组中对应的组号gid,然后将Ti中元素aj去除继续遍历,如果元素ak对应的分组号之前出现过,就直接将元素ak从事务记录Ti中删除后继续遍历下一个元素。直到事务记录Ti遍历完,然后将key相同的事务记录组合在一起记为(T-list)gid
2.根据权利要求1所述的基于频繁模式树二维特征的负载均衡方法,其特征在于:所述步骤13,14,15中,获取基于频繁模式树的二维特征对F-list中的项进行计算量预估的频繁一项预估集W-list。
3.根据权利要求1所述的基于频繁模式树二维特征的负载均衡方法,其特征在于:所述步骤22中,基于贪心策略对一项估算集W-list进行负载均衡分组,获取分组结果G-list。
4.根据权利要求1所述的基于频繁模式树二维特征的负载均衡方法,其特征在于:所述步骤23中对原始数据集进行划分时,获取分组结果后的子数据集(T-list)gid
CN201910264138.5A 2019-04-03 2019-04-03 一种基于频繁模式树二维特征的负载均衡方法 Pending CN109992610A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910264138.5A CN109992610A (zh) 2019-04-03 2019-04-03 一种基于频繁模式树二维特征的负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910264138.5A CN109992610A (zh) 2019-04-03 2019-04-03 一种基于频繁模式树二维特征的负载均衡方法

Publications (1)

Publication Number Publication Date
CN109992610A true CN109992610A (zh) 2019-07-09

Family

ID=67132183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910264138.5A Pending CN109992610A (zh) 2019-04-03 2019-04-03 一种基于频繁模式树二维特征的负载均衡方法

Country Status (1)

Country Link
CN (1) CN109992610A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309786A (zh) * 2020-02-20 2020-06-19 江西理工大学 基于MapReduce的并行频繁项集挖掘方法
CN113360471A (zh) * 2021-05-31 2021-09-07 浙大宁波理工学院 基于分布式计算的高效用频繁模式挖掘方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309786A (zh) * 2020-02-20 2020-06-19 江西理工大学 基于MapReduce的并行频繁项集挖掘方法
CN111309786B (zh) * 2020-02-20 2023-09-15 韶关学院 基于MapReduce的并行频繁项集挖掘方法
CN113360471A (zh) * 2021-05-31 2021-09-07 浙大宁波理工学院 基于分布式计算的高效用频繁模式挖掘方法

Similar Documents

Publication Publication Date Title
Zhou et al. Balanced parallel fp-growth with mapreduce
CN109241093B (zh) 一种数据查询的方法、相关装置及数据库系统
CN103020256B (zh) 一种大规模数据的关联规则挖掘方法
US10866970B1 (en) Range query capacity allocation
US20140032579A1 (en) Aggregation framework system architecture and method
US20140032525A1 (en) Aggregation framework system architecture and method
US20060116989A1 (en) Efficient data aggregation operations using hash tables
Bender et al. Cache-adaptive algorithms
CN111309976B (zh) 一种面向收敛型图应用的GraphX数据缓存方法
Cambazoglu et al. A term-based inverted index partitioning model for efficient distributed query processing
CN102222092A (zh) 一种MapReduce平台上的海量高维数据聚类方法
US9330158B1 (en) Range query capacity allocation
CN109992610A (zh) 一种基于频繁模式树二维特征的负载均衡方法
US10521440B2 (en) High performance data profiler for big data
Labouseur et al. Scalable and Robust Management of Dynamic Graph Data.
CN104731925A (zh) 基于MapReduce的FP-Growth的负载均衡并行计算方法
CN104834754A (zh) 一种基于连接代价的sparql语义数据查询优化方法
Araújo et al. Spark-based streamlined metablocking
Makanju et al. Deep parallelization of parallel FP-growth using parent-child MapReduce
CN104834709B (zh) 一种基于负载均衡的并行余弦模式挖掘方法
Firth et al. TAPER: query-aware, partition-enhancement for large, heterogenous graphs
Lu et al. An improved k-means distributed clustering algorithm based on spark parallel computing framework
Müller et al. An in-depth analysis of data aggregation cost factors in a columnar in-memory database
CN109471877A (zh) 面向流数据的增量式时态频繁模式并行挖掘方法
Gao et al. Main memory-based algorithms for efficient parallel aggregation for temporal databases

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190709