CN104834709B - 一种基于负载均衡的并行余弦模式挖掘方法 - Google Patents
一种基于负载均衡的并行余弦模式挖掘方法 Download PDFInfo
- Publication number
- CN104834709B CN104834709B CN201510214242.5A CN201510214242A CN104834709B CN 104834709 B CN104834709 B CN 104834709B CN 201510214242 A CN201510214242 A CN 201510214242A CN 104834709 B CN104834709 B CN 104834709B
- Authority
- CN
- China
- Prior art keywords
- flist
- cosine
- parallel
- load balancing
- fragment
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于负载均衡的并行余弦模式挖掘方法,提出一种并行余弦模式挖掘框架,该方法包括:首先对输入的超大规模事务数据集进行分片;然后使用Lucene索引工具为事务创建索引,并产生全局频繁项目列表FList;接着对FList进行负载均衡划分,即对FList进行分组;在此基础上,实现单个分组的聚集投影,并使用余弦模式挖掘算法获取局部有效信息;最后合并余弦模式产生最终的挖掘结果。该方法的优势如下:通过并行余弦模式挖掘方法挖掘大规模事务数据集,能够较好的实现负载均衡,使资源得到公平合理利用,提高了系统的计算性能。
Description
技术领域
本发明属于数据挖掘领域,涉及一种余弦模式挖掘方法,具体地说是一种基于负载均衡的并行余弦模式挖掘方法。
背景技术
随着信息技术的发展应用的深入,数据正以前所未有的速度剧增,数据类型也变得越来越复杂。海量事务数据集的深度分析和利用,有利于构建企业级智能化应用,提升企业的竞争力。余弦模式挖掘算法是一种有效发现隐藏在数据中重要价值的方法,但是该算法在处理大规模事务数据集上时间复杂度较高,导致计算效率较低,已经不能满足实际的需求,研究高性能的并行挖掘算法显得尤为重要。
对于从大规模事务数据集中并行挖掘有效知识,Agrawal提出了三种并行计算方法,计算候选项集的支持度计数方法各不相同,CD(Count Distribution)算法是Apriori算法的简单并行化,每个节点对分配的数据集进行单独扫描,得到所有候选项集的局部支持度计数,当所有节点的完成扫描以后,交换局部支持度计数,得到全局支持度计数。DD(DataDistribution)算法中每个节点仅对部分候选项集进行计数。CAD(CandidateDistribution)算法每次计算都需要同时对候选项集和数据集进行划分,使每个节点相对独立的工作。IDD(Intelligent Data Distribution)算法是DD算法中候选项集分配进行优化,避免重复计算,但可能出现负载不均的现象。
综上,并行计算方法在数据处理方面至少存在两个问题:(1)可用的物理内存无法满足大规模数据的要求;(2)计算过程中存在负载不均的问题。针对上述问题,本发明融合了HDFS(Hadoop Distributed File System)和BSP(Bulk Synchronous Parallel Model)计算模型,提出了基于负载均衡的并行余弦模式挖掘方法。
发明内容
鉴于并行计算方法存在的问题以及传统余弦模式挖掘处理大规模事务数据集时效低的问题,本发明的目的是提供一种基于负载均衡的并行余弦模式挖掘方法,提出一种并行余弦模式挖掘框架,该方法包括:首先对输入的超大规模事务数据集进行分片;然后使用Lucene索引工具为事务创建索引,并产生全局频繁项目列表FList;接着对FList进行负载均衡划分,即将FList分组;在此基础上,实现单个分组的聚集投影,使用余弦模式挖掘算法获取局部有效信息;最后合并余弦模式产生最终的挖掘结果。
本发明是通过以下技术方案具体实现的:
1)、数据集分片:即物理分区,将事务数据集分成多组称之为分片的小集合,这些分片保持了原数据集的完整性。每个分片大约是64M的HDFS的配置,并且所有的分片都存储在HDFS分布式文件系统中,其存储位置对用户而言也是透明的。
2)、并行计数:主要是获得单个分片的本地邻居数,并为分片的每一行构建Lucene索引。特别是,随着多个后台进程的开始,每个进程需要处理一个或多个分片。后台进程通过扫描分片得到元组(ip,k({ip})],即节点ip以及第k个分片的本地邻居数。
3)、负载均衡划分:随机或平等分区将导致负载不均衡,导致一些本地任务会降低整体计算性能。为了解决这一问题,采用负载均衡划分,该方法通过在主节点上的计算进程获取分片数据计算时间,并从而产生全局项集FList,并将FList分成K组。
4)、聚类投影:将FList中的项目组被分成K组,即FList=β1β2...βK,以支持度降序排列的频繁项集列表,每个βj包含FList中的连续项,j=1,2,3...,k中的任意一个。
5)、并行余弦模式挖掘:在步骤3的基础上,对K个分组进行聚集投影,然后同时开始K个BSP任务。每个任务首先根据各组的项目集构造事务文件,然后利用数据挖掘算法获取有价值的知识。上述过程中,主节点只需要将同组中的项目集发送至单个BSP任务,从而降低了实际的时间开销。
6)、合并结果:对单个分组的挖掘结果进行合并以获得最终的结果。
本发明的优点:本发明提出的并行余弦模式挖掘框架,基于空间独立、文件系统共享,及主从分布式的计算框架,融合了BSP和HDFS计算模型,包括数据集分片、并行计数、负载均衡划分、并行余弦模式挖掘、合并结果。在负载均衡划分中,即把频繁项目列表FList划分K组β1,...,βK。由于每项的支持度是已知的,负载均衡划分只需要扫描一次FList,而不必增加其他额外的计算开销,达到高效计算的目的。
附图说明
图1为本发明的基于负载均衡的并行余弦模式挖掘方法原理框图。
图2为在Amazon数据集上,分别改变从节点数K和共同邻居的阈值τF,记录并行余弦模式挖掘方法中4个步骤的执行时间,其中横坐标为K/τF,纵坐标为每个步骤的执行时间。
具体实施方式
下面结合附图和具体实施方式对本发明所属方法进一步说明。
本发明基于负载均衡的并行余弦模式挖掘方法包括:首先对输入的超大规模事务数据集进行分片;然后使用Lucene索引工具为事务创建索引,并产生全局频繁项目列表FList;接着对FList进行负载均衡划分,即将FList分组;在此基础上,实现单个分组的聚集投影,并使用余弦模式挖掘算法获取局部有效信息;最后合并余弦模式产生最终的挖掘结果。具体实施方式如下:
将式(1)扩展为多项集的情况,令S为P-项集,如S={i1,...,iP},P≥2,则:
余弦相似度可能是偶然项集,也就是S中的所有项只在事务tp中出现一次,但是依然有cos(S)=1。因此,利用支持度度量s,并要求余弦模式具有足够大的支持度值,从而给出余弦模式的定义:
若cos(S)≥τc,s(S)≥τs,其中τs是余弦相似度cos(S)的阈值,τc是支持度s(S)的阈值,τs,τc∈[0,1],则称S是与τs和τc有关的余弦模式。
步骤2、数据集分片。
并行余弦模式挖掘框架的输入是大规模事务数据集D,对于集中式计算D往往太大,所以,需要在保证每个事务的完整性的前提下,平均划分数据集D。
步骤3、并行计算。
局部计数:
1)、对任意事务Dk中的每个事务Ti,为该行创建Lucene索引,更新Ti中每项ip的支持度的数值σk,
2)、输出项集LCk。
LCk={<ip,σk(ip)>|ip∈Dk} (3)
全局聚类:
1)、聚类所有自从节点返回的项集对LCk,获得频繁项集F;
2)、对频繁项集F按支持度递减序列排序构成频繁项集列表FList。
步骤4、负载均衡划分。
1)、计算FList中的每项ip的开销Cip;
2)、计算K组的平均负载CAvg;
3)、连续检查对FList中的每项ip,以获得首个使得当前的和大于等于CAvg的项目ip;
4)、比较和找到开销之和接近于CAvg的组β1,...,βK。
步骤5、聚集投影。
将FList中的项目组被分成K组,即FList=β1β2...βK,以支持度降序排列的频繁项集列表。每个βj包含FList中的连续项,进一步令βk=ik1...ikr,这样βk的投影数据就为:
步骤6、并行余弦模式挖掘。
并行余弦模式挖掘算法主要包含两步:一是构建FP树;二是使用CP增长算法挖掘余弦模式。具体如下:
1)、自底向上遍历Tree头表中的每项ik,生成候选模式S',S'={ik}∪S;
2)、若余弦上界uc(S')<τc(若|S'|=1,uc(S')=1),遍历项ik+1;
3)、若余弦上界uc(S')≥τc且余弦相似度cos(S')≥τc(若|S'|=1,cos(S')=1),余弦模式
4)、为S'构建条件FP树TreeS';
5)、递归调用CP增长算法,产生余弦模式
步骤7、合并余弦模式。
合并余弦模式产生最终结果。
有益效果
实验选取Amazon数据集,其特征如表3所示。
TID | 项 | TID | 项 |
1 | D,E,F,G | 5 | B,D,E,F,G |
2 | C,E,F,G | 6 | E,F,G |
3 | A,G | 7 | C,D,F,G |
4 | D,F | 8 | E,F,G |
表1事务数据集示例
组 | 投影事务 |
{G,F} | {G,F}(6),{G},{F} |
{D,E} | {G,F,E,D}(2),{G,F,E}(3),{G,F,D},{G,F,E} |
{C,B,A} | {G,A},{G,F,E,C},{G,F,E,D,B},{G,F,D,C} |
表2聚集投影示例
数据集 | |V| | |E| |
Amazon | 403,394 | 3,387,388 |
表3Amazon数据集的特征
参数设置:余弦相似度阈值τc=0.6,改变从节点数K和共同邻居数的阈值τF,图2描述了分别改变K和τF记录并行余弦模式挖掘方法中4个步骤的执行时间,其中“全局划分”包含聚合产生FList以及FList上的负载均衡划分。
图2(a)中,令τF=0,从而获得FList中所有项。图2(b)中,令K=32。图2(a)中,64个节点同时执行余弦模式挖掘,在τF=0的情况下抽取得到余弦模式只需要300s,结果比较令人满意。从图2中,细看每一步的执行情况:“分片”步骤需要的时间少于10s,速度很快;随着K的增加,“并行计数”所需时间略为降低;尽管增加τF,导致F List变短,但是“全局划分”的时间几乎保持恒定;然而,随着K的增加和τF的减小,“并行挖掘”的时间逐渐减小。K呈双倍增加时,由于I/O的限制使得“并行挖掘”的时间不可能双倍减少。
Claims (5)
1.一种基于负载均衡的并行余弦模式挖掘方法,其特征在于包括:
1)、数据集分片:对输入的超大规模事务数据集进行分片;
2)、并行计数:获得单个分片的本地邻居数,并为分片的每一行构建Lucene索引,对频繁项集F按支持度递减序列排序构成频繁项集列表FList;
3)、负载均衡划分:通过在主节点上的计算进程获取分片数据计算时间,并从而产生全局频繁项集FList,并将FList分成K组;
4)、聚类投影:将频繁项集FList中的项目组分成K组,即FList=β1β2...βK,以支持度降序排列的频繁项集列表;
5)、并行余弦模式挖掘:对K个分组进行聚集投影,然后同时开始K个BSP任务,每个任务首先根据各组的项目集构造事务文件,并完成以下两个任务:一是构建FP树;二是使用CP增长算法挖掘余弦模式;
6)、合并结果:合并并行余弦模式挖掘获取的局部有效信息,即产生最终的挖掘结果;
所述步骤2)中获得单个分片的本地邻居数,扫描分片得到元组(ip,k({ip})],即节点ip以及第k个分片的本地邻居数;
局部计数:
1)、对任意事务Dk中的每个事务Ti,为该行创建Lucene索引,更新Ti中每项ip的支持度的数值σk,σk(ip)++;
2)、输出项集LCk
LCk={<ip,σk(ip)>|ip∈Dk} (3)
全局聚类:
1)、聚类所有自从节点返回的项集对LCk,获得频繁项集F;
2)、对频繁项集F按支持度递减序列排序构成频繁项集列表FList。
2.根据权利要求1所述的基于负载均衡的并行余弦模式挖掘方法,其特征在于:步骤1)中设所述大规模事务数据集为D,将事务数据集D平均分成多组称之为分片的集合,这些分片保持原数据集的完整性;所有的分片都存储在HDFS分布式文件系统中。
3.根据权利要求1所述的基于负载均衡的并行余弦模式挖掘方法,其特征在于:所述步骤3)中,所述负载均衡划分,即基于数据集产生的K个分片将频繁项目项集FList划分为K个组β1,...,βK,
3.1、计算FList中的每项ip的开销
3.2、计算K组的平均负载CAvg;
3.3、连续检查对FList中的每项ip,以获得首个使得当前的和大于等于CAvg的项目ip;
3.4、比较和找到开销之和接近于CAvg的组β1,...,βK。
4.根据权利要求1所述的基于负载均衡的并行余弦模式挖掘方法,其特征在于:所述步骤4)中,FList中的项目组被分成K组,即FList=β1β2...βK,以支持度降序排列的频繁项集列表,每个βj包含FList中的连续项,j=1,2,3...,k中的任意一个,进一步令βk=ik1...ikr,这样βk的投影数据就为:
5.根据权利要求1所述的基于负载均衡的并行余弦模式挖掘方法,其特征在于:所述步骤5)中,并行余弦模式挖掘算法主要包含两步:一是构建FP树;二是使用CP增长算法挖掘余弦模式,具体如下:
5.1、自底向上遍历Tree头表中的每项ik,生成候选模式S',S′={ik}∪S′;
5.2、若余弦上界uc(S')<τc(若|S'|=1,uc(S')=1),遍历项ik+1;
5.3、若余弦上界uc(S')≥τc且余弦相似度cos(S')≥τc(若|S'|=1,cos(S')=1),余弦模式
5.4、为S'构建条件FP树TreeS';
5.5、递归调用CP增长算法,产生余弦模式
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510214242.5A CN104834709B (zh) | 2015-04-29 | 2015-04-29 | 一种基于负载均衡的并行余弦模式挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510214242.5A CN104834709B (zh) | 2015-04-29 | 2015-04-29 | 一种基于负载均衡的并行余弦模式挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104834709A CN104834709A (zh) | 2015-08-12 |
CN104834709B true CN104834709B (zh) | 2018-07-31 |
Family
ID=53812596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510214242.5A Active CN104834709B (zh) | 2015-04-29 | 2015-04-29 | 一种基于负载均衡的并行余弦模式挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104834709B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3370159A4 (en) * | 2015-11-16 | 2018-12-26 | Huawei Technologies Co., Ltd. | Model parameter fusion method and apparatus |
CN107045512B (zh) * | 2016-02-05 | 2020-11-24 | 北京京东尚科信息技术有限公司 | 一种数据交换方法及系统 |
CN108052524B (zh) * | 2017-11-07 | 2020-05-22 | 清华大学 | 面向电镜数据存储系统的文件元数据获取方法与系统 |
CN110990434B (zh) * | 2019-11-29 | 2023-04-18 | 国网四川省电力公司信息通信公司 | Spark平台分组和Fp-Growth关联规则挖掘方法 |
CN111309786B (zh) * | 2020-02-20 | 2023-09-15 | 韶关学院 | 基于MapReduce的并行频繁项集挖掘方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622447A (zh) * | 2012-03-19 | 2012-08-01 | 南京大学 | 一种基于Hadoop的频繁闭项集挖掘方法 |
CN103336808A (zh) * | 2013-06-25 | 2013-10-02 | 中国科学院信息工程研究所 | 一种基于bsp模型的实时图数据处理系统及方法 |
CN103714139A (zh) * | 2013-12-20 | 2014-04-09 | 华南理工大学 | 一种移动海量客户群识别的并行数据挖掘方法 |
CN104462565A (zh) * | 2014-12-25 | 2015-03-25 | 南京财经大学 | 一种基于近似等价结构的社区抽取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021523A1 (en) * | 2002-01-08 | 2005-01-27 | Wafik Farag | Holistic dynamic information management platform for end-users to interact with and share all information categories, including data, functions, and results, in a collaborative secure venue |
-
2015
- 2015-04-29 CN CN201510214242.5A patent/CN104834709B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622447A (zh) * | 2012-03-19 | 2012-08-01 | 南京大学 | 一种基于Hadoop的频繁闭项集挖掘方法 |
CN103336808A (zh) * | 2013-06-25 | 2013-10-02 | 中国科学院信息工程研究所 | 一种基于bsp模型的实时图数据处理系统及方法 |
CN103714139A (zh) * | 2013-12-20 | 2014-04-09 | 华南理工大学 | 一种移动海量客户群识别的并行数据挖掘方法 |
CN104462565A (zh) * | 2014-12-25 | 2015-03-25 | 南京财经大学 | 一种基于近似等价结构的社区抽取方法 |
Non-Patent Citations (5)
Title |
---|
Mining frequent patterns without candidate generation;J Han etal;《Acm Sigmod International Conference on Management of data》;20001231;第1-12页 * |
基于Hadoop的分布式文本聚类研究;梁维铿;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111215;第I138-1235页 * |
基于Hadoop的频繁闭项集挖掘算法研究;陈光鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150115;第I138-788页 * |
基于MapReduce的频繁项集挖掘算法的并行化研究;谢朋峻;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150315;第I138-1684页 * |
面向海量数据的云存储系统实现与应用研究;艾明;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715;第I137-174页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104834709A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gu et al. | Privacy-preserving asynchronous vertical federated learning algorithms for multiparty collaborative learning | |
CN104834709B (zh) | 一种基于负载均衡的并行余弦模式挖掘方法 | |
Kajdanowicz et al. | Parallel processing of large graphs | |
TWI730043B (zh) | 關聯分析方法和裝置 | |
CN104731925A (zh) | 基于MapReduce的FP-Growth的负载均衡并行计算方法 | |
Svendsen et al. | Mining maximal cliques from a large graph using mapreduce: Tackling highly uneven subproblem sizes | |
Gavagsaz et al. | Load balancing in join algorithms for skewed data in MapReduce systems | |
Wei et al. | Incremental FP-Growth mining strategy for dynamic threshold value and database based on MapReduce | |
CN106815302A (zh) | 一种应用于游戏道具推荐的频繁项集挖掘方法 | |
Jin et al. | Efficient parallel spectral clustering algorithm design for large data sets under cloud computing environment | |
CN113222181A (zh) | 一种面向k-means聚类算法的联邦学习方法 | |
US20170371892A1 (en) | Systems and methods for dynamic partitioning in distributed environments | |
Xiao et al. | Paradigm and performance analysis of distributed frequent itemset mining algorithms based on Mapreduce | |
CN107590225A (zh) | 一种基于分布式数据挖掘算法的可视化管理系统 | |
Sergey et al. | Applying map-reduce paradigm for parallel closed cube computation | |
Senthilkumar et al. | An efficient FP-Growth based association rule mining algorithm using Hadoop MapReduce | |
Yang et al. | An efficient accelerator for point-based and voxel-based point cloud neural networks | |
Bawane et al. | Clustering algorithms in MapReduce: a review | |
CN107133281A (zh) | 一种基于分组的全局多查询优化方法 | |
She et al. | The pruning algorithm of parallel shared decision tree based on Hadoop | |
Peralta et al. | Distributed, numerically stable distance and covariance computation with MPI for extremely large datasets | |
Vo et al. | MRAttractor: Detecting communities from large-scale graphs | |
Das et al. | Challenges and approaches for large graph analysis using map/reduce paradigm | |
Lee et al. | Performance evaluation of MRDataCube for data cube computation algorithm using MapReduce | |
Raj et al. | PartEclat: an improved Eclat-based frequent itemset mining algorithm on spark clusters using partition technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20150812 Assignee: NANJING SINOVATIO TECHNOLOGY Co.,Ltd. Assignor: NANJING University OF SCIENCE AND TECHNOLOGY Contract record no.: X2022980008506 Denomination of invention: A parallel cosine pattern mining method based on load balancing Granted publication date: 20180731 License type: Common License Record date: 20220622 |
|
EE01 | Entry into force of recordation of patent licensing contract |