CN107766442B - 一种海量数据关联规则挖掘方法及系统 - Google Patents
一种海量数据关联规则挖掘方法及系统 Download PDFInfo
- Publication number
- CN107766442B CN107766442B CN201710862873.7A CN201710862873A CN107766442B CN 107766442 B CN107766442 B CN 107766442B CN 201710862873 A CN201710862873 A CN 201710862873A CN 107766442 B CN107766442 B CN 107766442B
- Authority
- CN
- China
- Prior art keywords
- data set
- tds
- slave node
- transaction data
- node
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种海量数据关联规则挖掘方法及系统,所述方法包括:主节点将事物数据集分割成多个目标数据集并分配给不同的从属节点,然后由从属节点对接收到的目标数据集进行基于关联规则的挖掘获得局部频繁项集,并对获得的局部频繁项集过滤;再由主节点将事务数据集以及过滤后的局部频繁项集分配给从属节点进行频繁项计算,从而能够在事物数据集较为庞大的时候,仍然能较为快速计算出目标频繁项集,提高了计算效率。
Description
技术领域
本发明属于分布式计算与数据挖掘技术领域,尤其涉及一种海量数据关联规则挖掘方法及系统。
背景技术
大数据时代数据量从太字节(Terabyte,TB)级别跃升到PB(Petabyte,1PB=1024TB)级别,同时还在持续性地呈爆炸性增长;数据量在不断增长的过程中,人们逐渐意识到数据即是财富,尤其是对商业数据的分析更具有巨大的实用价值。
关联规则分析作为数据挖掘的主要手段之一,是数据挖掘技术中不可或缺的一个重要组成部分,主要用于发现大型事务数据库中隐含的有价值的令人感兴趣的联系及规则。因此,对关联规则算法的研究具有非常重要的意义。
作为一个最为典型的大数据处理平台,Hadoop是一个分布式系统基础架构,其最核心的设计就是:分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
Apriori算法是一种寻找频繁项集的常用算法,其基本原理是使用逐层搜索的迭代方法,即用k项频繁项集去探索k+1项频繁项集,首先找出所有频繁1项集的集合Ll,L1用于找频繁2项集的集合L2,而L2用于找L3,如此下去,直到不能找到频繁k项集。关联规则挖掘算法并行化主要有两种形式:
(1)共享存储并行编程(Open Multi-Processing,OpenMP)
OpenMP是用于共享内存并行系统的多线程程序设计的一套编译处理方案,缺点是不能在非共享内存系统(如计算机集群)上使用,因此OpenMP常被用于单机系统中。
(2)信息传递接口(Message Passing Interface,MPI)
MPI用于可编程逻辑控制器(Programmable Logic Controller,PLC)之间通讯的保密的协议,由于是开发者控制信息传递的时间和方式,所以一个基于MPI的并行化程序的安全性和鲁棒性因开发者的经验而参差不齐。
Apriori算法主要的时间消耗在以下两方面:
(a)产生大量的频繁集;
(b)重复扫描事务数据库。
Apriori算法会产生大量的频繁集,当频繁1项集L1有1000个时,候选2项集C2个数将会超过100万种空间复杂度以指数形式增长,因此如何在事物数据集非常庞大的时候,保持较高的计算效率是一个亟待解决的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种海量数据关联规则挖掘方法及系统,旨在解决现有技术在处理较为庞大事物数据集的时候,计算效率较低的技术问题。
为实现上述目的,本发明提供了一种海量数据关联规则挖掘方法,所述方法包括以下步骤:
主节点获取事务数据集,将所述事务数据集分割为多个目标数据集;
从属节点接收所述主节点发送的目标数据集,并根据关联规则算法对接收到的目标数据集进行挖掘,获得所述目标数据集对应的局部频繁项集;
所述从属节点根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集;
所述从属节点获取所述事务数据集,并根据所述事务数据集的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集;
所述从属节点根据所述全局最小支持度计数对所述全局频繁项集进行过滤,获得目标频繁项集。
优选地,所述主节点获取事务数据集,将所述事务数据集分割为多个目标数据集,具体包括:
所述主节点获取用户输入的事务数据集,将所述事务数据集的数据大小与预设的第一阈值进行比较;
所述主节点在所述事务数据集的数据大小超过所述第一阈值时,对所述事务数据集进行分割,获取多个目标数据集。
优选地,所述主节点在所述事务数据集的数据大小超过所述第一阈值时,对所述事务数据集进行分割,获取多个目标数据集之后,所述方法还包括:
所述主节点获取各从属节点对应的标识信息,并根据所述标识信息将生成的键值对输出至对应的从属节点;其中,所述标识信息包括互联网协议地址、序列号或标识码中的一种或多种。
优选地,所述从属节点根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集之前,所述方法还包括:
所述从属节点接收所述主节点发送的目标数据集,计算所述目标数据集对应的局部最小支持度计数;
其中,所述局部最小支持度计数与所述全局最小支持度计数之间满足关系:
局部最小支持度计数=全局最小支持度计数/目标数据集中事务数量。
优选地,所述从属节点获取所述事务数据集,并根据所述事务数据集对应的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集,具体包括:
所述从属节点获取所述主节点发送的所述事务数据集以及过滤后的局部频繁项集,并对过滤后的局部频繁项集中各事务元素在所述事务数据集中的出现次数进行统计,获得统计结果;
所述从属节点根据所述统计结果以及所述事务数据集对应的全局最小支持度计数对过滤后的局部频繁项集进行筛选,获得全局频繁项集。
优选地,所述从属节点获取所述主节点发送的所述事务数据集以及过滤后的局部频繁项集,并对过滤后的局部频繁项集中各事务元素在所述事务数据集中的出现次数进行统计,获得统计结果之前,所述方法还包括:
所述主节点将过滤后的局部频繁项集的数据大小与预设的第二阈值进行比较;
所述主节点在所述过滤后的局部频繁项集的数据大小不超过所述第二阈值时,将所述过滤后的局部频繁项集和所述事务数据集输出至所述从属节点。
优选地,所述从属节点根据所述统计结果以及所述事务数据集对应的全局最小支持度计数对过滤后的局部频繁项集进行筛选,获得全局频繁项集,具体包括:
所述从属节点根据所述统计结果,将过滤后的局部频繁项集中各事务元素在所述事务数据集中的出现次数小于所述全局最小支持度计数的事务元素删除,获得全局频繁项集。
优选地,所述主节点将过滤后的局部频繁项集的数据大小与预设的第二阈值进行比较之后,所述方法还包括:
所述主节点在所述过滤后的局部频繁项集对应的数据大小超过所述第二阈值时,将所述过滤后的局部频繁项集分割为多个目标局部频繁项集;
所述主节点将所述目标局部频繁项集和所述事务数据集输出至对应的从属节点。
优选地,所述主节点将所述目标局部频繁项集和所述事务数据集输出至对应的从属节点,具体包括:
所述主节点从当前状态为空闲状态的从属节点中挑选出预设数量的从属节点;
所述主节点将所述目标局部频繁项集和所述事务数据集输出至挑选出的从属节点。
此外,为实现上述目的,本发明还提出一种海量数据关联规则挖掘系统,所述系统包括:主节点和至少两个从属节点;
所述主节点,用于获取事务数据集,将所述事务数据集分割为多个目标数据集;
所述从属节点,用于接收所述主节点发送的目标数据集,并根据关联规则算法对接收到的目标数据集进行挖掘,获得所述目标数据集对应的局部频繁项集;
所述从属节点,还用于根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集;
所述从属节点,还用于获取所述事务数据集,并根据所述事务数据集的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集;
所述从属节点,还用于根据所述全局最小支持度计数对所述全局频繁项集进行过滤,获得目标频繁项集。
本发明由于是通过主节点将事物数据集分割成多个目标数据集并分配给不同的从属节点,然后由从属节点对接收到的目标数据集进行基于关联规则的挖掘获得局部频繁项集,并对获得的局部频繁项集过滤;再由主节点将事务数据集以及过滤后的局部频繁项集分配给从属节点进行频繁项计算,从而能够在事物数据集较为庞大的时候,仍然能较为快速计算出目标频繁项集,提高了计算效率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的Hadoop集群的结构示意图;
图2为本发明一种海量数据关联规则挖掘方法第一实施例的流程示意图;
图3为图1中从属节点的结构框图;
图4为本发明一种海量数据关联规则挖掘方法第二实施例的流程示意图
图5为本发明一种海量数据关联规则挖掘系统的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的Hadoop集群的结构示意图。
如图所示,所述Hadoop集群可以是采用标准硬件构建的服务器集群,可实现Hadoop并行计算,所述Hadoop集群可包括一个主节点1001和从属于所述主节点1001的多个从属节点(如:图1中的从属节点1002和从属节点1003)以及存储器1004。
在本实施例中,所述主节点1001可配置为通过使用NameNode功能对所在集群的系统树及所述系统树内所有的文件和目录进行维护;所述主节点1001还可配置为通过使用JobTrackers来实现对整个集群的作业管理、状态监控和任务调度等。
所述从属节点1002和从属节点1003一方面可配置为通过TaskTracker从所述主节点1001接收并执行各种命令或任务(例如:启动任务、运行任务、提交任务、杀死作业和重新初始化等);另一方面还可配置为通过所述TaskTracker将所在节点上的各种信息(例如:节点健康情况、资源使用情况、任务执行进度或任务运行状态等)通过心跳机制汇报给所述JobTracker。
本实施例中,所述TaskTracker与所述JobTracker之间可采用远程过程调用协议(Remote Procedure Call Protocol,RPC)进行通信。此外,所述从属节点1002和从属节点1003还用于进行数据计算以及通过所述存储器1004来存储各类数据。
所述存储器1004可配置为对所述主节点1001、所述从属节点1002以及所述从属节点1003中的各类数据进行保存,本实施例中所述存储器1004可以是HDFS,当然也可以是其它具有高度容错性的分布式文件系统,本实施例对此不加以限制。
基于上述硬件结构,提出本发明一种海量数据关联规则挖掘方法实施例。
参照图2,图2为本发明一种海量数据关联规则挖掘方法第一实施例的流程示意图。
在本实施例中,所述方法包括以下步骤:
步骤S10:主节点获取事务数据集,将所述事务数据集分割为多个目标数据集;
本实施例中,所述主节点可以是具有数据处理、程序运行以及网络通信功能的,能够提供计算服务的设备,例如:服务器、工作站等。所述从属节点可以是能够进行数据处理、程序运行并拥有自己唯一网络地址物理机或虚拟机等。
可理解的是,所述主节点在接收到客户端发送的事务数据集后,一方面可将所述事物数据集保存至存储器(以下以HDFS为例)中;另一方面为了使隶属于自己的各从属节点能够并行地对数据集进行操作,所述主节点会对所述事务数据集进行分割获得目标数据集。本实施例中,所述主节点对所述事务数据集进行分割时并不受该事务数据集的内部逻辑结构影响,其具体分割方式也可由用户自己设定,本实施例对此不加以限制。
所述主节点在所述从属节点的个数满足需求时,可将每个目标数据集只分配给一个从属节点。同时,为了进一步加快分配速度,提高计算效率,所述主节点还可以通过获取各从属节点的标识信息,并根据所述标识信息将生成的键值对输出至对应的从属节点。在本实施例中,所述标识信息包括从属节点对应的互联网协议地址、序列号或标识码中的一种或多种,具体的标识信息的种类也可根据实际情况而定,本实施例对此不加以限制。
进一步地,为了实现对从属节点资源的合理利用,本实施例中,所述主节点在获取到用户输入的事务数据集后,可将所述事务数据集的数据大小与预设的第一阈值进行比较;在所述事务数据集的数据大小超过所述第一阈值时,对所述事务数据集进行分割,获取多个目标数据集。
需要说明的是,所述第一阈值可以是用户预先设定的对所述事物数据集进行分割的基准值,即当所述事务数据集的数据大小超过所述基准值时,则判定需要对所述事务数据集进行分割;当所述事务数据集的数据大小不超过所述基准值时,则判定不需要对所述事务数据集进行分割。本实施例中,所述第一阈值可以根据实际情况设定与调节,本实施例对此不加以限制。
步骤S20:从属节点接收所述主节点发送的目标数据集,并根据关联规则算法对接收到的目标数据集进行挖掘,获得所述目标数据集对应的局部频繁项集;
此处结合图3对本方法实施例中所述步骤S20~步骤S40进行具体说明。
如图3所示,所述从属节点包括:Map子节点1005和Reduce子节点1006,所述Map子节点1005和Reduce子节点1006相互连接并可进行数据交互。
在具体实现中,所述从属节点中的Map子节点1005将接收到的目标数据集作为一个完整的待挖掘数据集,利用关联规则算法(即Apriori算法)对所述待挖掘数据集进行数据挖掘,获得所述目标数据集对应的局部频繁项集;同时根据所述目标数据集计算出对应的局部最小支持度计数。在本实施例中,所述局部最小支持度计数的计算公式如下:
局部最小支持度计数=全局最小支持度计数/目标数据集中事务数量
其中,所述全局最小支持度计数为所述事务数据集对应的最小支持度计数。
步骤S30:所述从属节点根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集;
所述从属节点中的Map子节点1005根据计算出的所述局部最小支持度计数对所述局部频繁项集进行过滤,将所述局部频繁项集中支持度低于所述局部最小支持度的频繁项删除,从而获得满足条件的局部频繁项集,即过滤后的局部频繁项集。
需要说明的是,在所述Map子节点1005获取到过滤后的局部频繁项集之后,所述Map子节点1005会输出键值对(<key,value>)至所述Reduce子节点1006;所述key为过滤后局部频繁项集元素,所述value为所述key在目标数据集中的计数。所述Reduce子节点1006可将获取到的键值对以及所述Map子节点1005计算出的过滤后的频繁项集保存至所述HDFS中。
本实施例中,所述步骤S30具体实现的源代码可如下:
其中,所述Map Task代表所述Map子节点1005对应的工作任务;所述Reduce Task代表所述Reduce子节点1006对应的工作任务。
步骤S40:所述从属节点获取所述事务数据集,并根据所述事务数据集对应的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集;
在上述步骤S30完成后,所述主节点从所述HDFS中获取所述过滤后的局部频繁项集,并将所述过滤后的局部频繁项集连同最初获取的事务数据集分配至对应的从属节点,所述从属节点中的Map子节点1005在获取到所述事务数据集以及过滤后的局部频繁项集后,对过滤后的局部频繁项集中各事务元素在事务数据集中的出现次数进行统计,并将统计结果输出至本节点中的Reduce子节点1006;所述Reduce子节点1005根据接收到的统计结果,将过滤后的局部频繁项集中各事务元素在事务数据集中的出现次数小于所述全局最小支持度计数的事务元素删除,获得全局频繁项集,并将所述全局频繁项集保存至所述HDFS。
本实施例中,所述步骤S40具体实现的源代码可如下:
需要说明的是,本实施例中所述Lp为所述HDFS中的预设存储区域,在本实施例中所述Lp可用于储存所述Map子节点1005计算出的过滤后的频繁项集。
步骤S50:所述从属节点根据所述全局最小支持度计数,对所述全局频繁项集进行过滤,获得目标频繁项集。
在具体实现中,所述从属节点中的Reduce子节点1006根据所述全局最小支持度计数对所述全局频繁项集中低于所述全局最小支持度的频繁项集进行删除,获得所述目标频繁项集。
本实施例由于是通过主节点将事物数据集分割成多个目标数据集并分配给不同的从属节点,然后由从属节点对接收到的目标数据集进行基于关联规则的挖掘获得局部频繁项集,并对获得的局部频繁项集过滤;再由主节点将事务数据集以及过滤后的局部频繁项集分配给从属节点进行频繁项计算,从而能够在事物数据集较为庞大的时候,仍然能较为快速计算出目标频繁项集,提高了计算效率。
参考图4,图4为本发明一种海量数据关联规则挖掘方法第二实施例的流程示意图。
基于上述第一实施例,本实施例提出的海量数据关联规则挖掘方法在所述步骤S30之后,还包括:
步骤S301:所述主节点将过滤后的局部频繁项集对应的数据大小与预设第二阈值进行比较;
步骤S302:所述主节点在所述过滤后的局部频繁项集对应的数据大小不超过所述第二阈值时,将所述过滤后的局部频繁项集和所述事务数据集输出至所述从属节点。
需要说明的是,在所述从属节点计算出过滤后的局部频繁项集后,所述主节点通过检测过滤后的局部频繁项集的数据大小,并将检测到的数据大小与预设的第二阈值进行比较,在所述数据大小不超过所述第二阈值时,将所述过滤后的局部频繁项集和所述事务数据集输出至所述从属节点。例如:预先设置所述第二阈值为64兆,当检测到过滤后的局部频繁项集的数据大小为48兆时,则将所述过滤后的局部频繁项集和所述事务数据集输出至一个从属节点,从而能够更加合理的利用资源,本实施例中,所述第二阈值可根据实际情况设定,本实施例对此不加以限制。
进一步地,为了提高计算效率,避免过滤后的局部频繁项集过大时,计算过程耗时较长。在所述步骤S301之后,所述方法还包括:
步骤S303:所述主节点在所述过滤后的局部频繁项集对应的数据大小超过所述第二阈值时,将所述过滤后的局部频繁项集分割为多个目标局部频繁项集;
应理解的是,当所述主节点检测到的过滤后的局部频繁项集对应的数据大小超过所述第二阈值时,表明需要对所述过滤后的局部频繁项集进行分割,再将分割后获得的目标局部频繁项集分配给不同的从属节点进行处理,就能够较为高效的完成数据计算。
步骤S304:所述主节点将所述目标局部频繁项集和所述事务数据集输出至对应的从属节点。
在具体实现中,所述主节点在对所述目标频繁项集进行分配时,为了保证较高计算效率,所述主节点可通过检测各从属节点的当前状态,然后从当前状态为空闲状态的从属节点中挑选出预设数量的从属节点,将所述目标局部频繁项集和所述事务数据集输出至挑选出的从属节点,从而能够保证被挑选出的从属节点并行地对接收到的目标局部频繁项集进行数据计算。
需要说明的是,在本实施例中,所述当前状态包括:工作状态和空闲状态;所述预设数量可以是与所述目标局部频繁项集个数对应的数量。
本实施例中主节点通过将过滤后的局部频繁项集对应的数据大小与预设第二阈值进行比较,根据比较结果来判断是否对过滤后的局部频繁项集进行分割,在需要进行分割时,根据各从属节点的当前状态来对分割后的频繁项集进行分配,在保证计算结果准确性的同时,提高了计算效率。
下面结合具体实施例,对本发明提出的一种海量数据关联规则挖掘方法进行说明。
如表1所示,表1为事物数据集
表1事务数据集
主节点在获取到如表1所示的事物数据集时,首先将所述事务数据集的数据大小与预设的第一阈值进行比较,若发现所述事务数据集的数据大小超过了所述第一阈值,则将所述事物数据集分割为多个目标数据集,例如:第一目标数据集{[I3,I6],[I1,I2,I3,I4]}和第二目标数据集{[I1,I3,I4,I5],[I1,I3,I4],[I5,I6]}。
主节点在对所述事务数据集分割完成后,检测当前时刻处于空闲状态的从属节点的个数,若处于空闲状态的从属节点的个数超过两个,则从中随机选取两个从属节点(第一目标从属节点和第二目标从属节点);然后根据所述第一目标从属节点和第二目标从属节点的标识信息,例如:IP地址,将所述第一目标数据集{[I3,I6],[I1,I2,I3,I4]}发送至所述第一目标从属节点;将所述第二目标数据集{[I1,I3,I4,I5],[I1,I3,I4],[I5,I6]}发送至所述第二目标从属节点。
由于所述事务数据集对应的最小支持度计数为2,第一目标数据集中的事务数量为2,则所述第一目标从属节点获取到的目标数据集对应的局部最小支持度为2/2=1,所述第一目标从属节点根据Apriori算法,计算得到所述第一目标数据集{[I3,I6],[I1,I2,I3,I4]}对应的局部频繁1项集为I3。
同理,所述第二目标从属节点根据Apriori算法,可计算出所述第二目标数据集{[I1,I3,I4,I5],[I1,I3,I4],[I5,I6]}对应的局部频繁3项集为[I1,I3,I4],在本实施例中,计算出的所述局部频繁1项集为I3和所述局部频繁3项集为[I1,I3,I4]在各自目标数据集中对应的计数均为2,满足所述局部最小支持度计数,也就是说过滤后的局部频繁项集即为I3和[I1,I3,I4]。
在计算出过滤后的局部频繁项集之后,所述第一目标从属节点和所述第二目标从属节点将过滤后的局部频繁项集保存至HDFS中的预设存储区域Lp中。此时主节点对过滤后的局部频繁项集进行数据大小的检测,并将检测到的过滤后的局部频繁项集的数据大小与预设的第二阈值进行比较,若发现过滤后的局部频繁项集的数据大小不超过所述第二阈值,则随机选取一个空闲的从属节点(例如:第三目标从属节点),并将所述事物数据集和所述过滤后的局部频繁项集发送至所述第三目标从属节点。
所述第三目标从属节点通过计算所述过滤后的局部频繁项集中事务元素I3和[I1,I3,I4]在所述事务数据集中出现的次数,例如事务元素I3的出现次数为4次和事务元素[I1,I3,I4]的出现次数为3次均不低于所述全局最小支持度计数2,所以获取到的全局频繁项集为I3和[I1,I3,I4],在获取到全局频繁项集后,所述第三目标从属节点再根据所述全局最小支持度计数2,将所述全局频繁项集I3和[I1,I3,I4]中不满足所述全局最小支持度计数2的频繁项I3删除,获得目标频繁项集[I1,I3,I4]。
本发明还公开了一种海量数据关联规则挖掘系统,参照图5,所述系统包括:主节点101和至少两个从属节点(从属节点102和从属节点103)
所述主节点101,用于获取事务数据集,将所述事务数据集分割为多个目标数据集;
所述从属节点102和从属节点103,用于接收所述主节点发送的目标数据集,并根据关联规则算法对接收到的目标数据集进行挖掘,获得所述目标数据集对应的局部频繁项集;
所述从属节点102和从属节点103,还用于根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集;
所述从属节点102和从属节点103,还用于获取所述事务数据集,并根据所述事务数据集的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集;
所述从属节点102和从属节点103,还用于根据所述全局最小支持度计数对所述全局频繁项集进行过滤,获得目标频繁项集。
本实施例中,所述主节点101可以是具有数据处理、程序运行以及网络通信功能的,能够提供计算服务的设备,例如:服务器、工作站等。所述从属节点102和从属节点103可以是能够进行数据处理、程序运行并拥有自己唯一网络地址物理机或虚拟机等。
可理解的是,所述主节点101在接收到客户端发送的事务数据集后,一方面对所述事物数据集进行保存(例如保存至HDFS中);另一方面为了使隶属于自己的各从属节点能够并行地对数据集进行操作,所述主节点101会对所述事务数据集进行分割获得目标数据集。本实施例中,所述主节点101对所述事务数据集进行分割时并不受该事务数据集的内部逻辑结构影响,其具体分割方式也可由用户自己设定,本实施例对此不加以限制。
所述主节点101还用于在所述从属节点的个数满足需求时,可将每个目标数据集只分配给一个从属节点。同时,为了进一步加快分配速度,提高计算效率,所述主节点101还用于获取各从属节点的标识信息,并根据所述标识信息将生成的键值对输出至对应的从属节点。在本实施例中,所述标识信息包括从属节点对应的互联网协议地址、序列号或标识码中的一种或多种,具体的标识信息的种类也可根据实际情况而定,本实施例对此不加以限制。
进一步地,为了实现对从属节点资源的合理利用,本实施例中,所述主节点101还用于在获取到用户输入的事务数据集后,将所述事务数据集的数据大小与预设的第一阈值进行比较;在所述事务数据集的数据大小超过所述第一阈值时,对所述事务数据集进行分割,获取多个目标数据集。
需要说明的是,所述第一阈值可以是用户预先设定的对所述事物数据集进行分割的基准值,即当所述事务数据集的数据大小超过所述基准值时,则判定需要对所述事务数据集进行分割;当所述事务数据集的数据大小不超过所述基准值时,则判定不需要对所述事务数据集进行分割。本实施例中,所述第一阈值可以根据实际情况设定与调节,本实施例对此不加以限制。;
所述从属节点102和从属节点103在接收到主节点101发送的目标数据集后,还用于将接收到的目标数据集作为一个完整的待挖掘数据集,利用关联规则算法(即Apriori算法)对所述待挖掘数据集进行数据挖掘,获得所述目标数据集对应的局部频繁项集;然后根据所述目标数据集对应的局部最小支持度计数,将所述局部频繁项集中各元素对应的计数小于所述局部最小支持度计数的元素删除,获得过滤后的局部频繁项集。
在获取到过滤后的局部频繁项集后,所述从属节点102和从属节点103还用于根据获取到的事物数据项集以及所述事务数据集对应的全局最小支持度对过滤后的局部频繁项集进行筛选,将所述过滤后的局部频繁项集中各事务元素在所述事务数据集中的出现次数小于所述全局最小支持度计数的事务元素删除,获得全局频繁项集,然后再根据所述全局最小支持度计数,对所述全局频繁项集进行过滤,获得目标频繁项集。
本实施例由于是通过主节点将事物数据集分割成多个数据集并分配给不同的从属节点;由从属节点对接收到的数据集进行基于关联规则的挖掘获得局部频繁项集,并对获得的局部频繁项集过滤;然后再由主节点将事务数据集以及过滤后的局部频繁项集分配给从属节点进行频繁项计算,从而能够在事物数据集较为庞大的时候,仍然能较为快速计算出目标频繁项集,提高了计算效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种海量数据关联规则挖掘方法,其特征在于,所述方法包括:
主节点获取事务数据集,将所述事务数据集分割为多个目标数据集;
从属节点接收所述主节点发送的目标数据集,并根据关联规则算法对接收到的目标数据集进行挖掘,获得所述目标数据集对应的局部频繁项集;
所述从属节点根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集;
所述从属节点获取所述事务数据集,并根据所述事务数据集的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集;
所述从属节点根据所述全局最小支持度计数对所述全局频繁项集进行过滤,获得目标频繁项集;
其中,所述主节点获取事务数据集,将所述事务数据集分割为多个目标数据集,具体包括:
所述主节点获取用户输入的事务数据集,将所述事务数据集的数据大小与预设的第一阈值进行比较;
所述主节点在所述事务数据集的数据大小超过所述第一阈值时,对所述事务数据集进行分割,获取多个目标数据集。
2.如权利要求1所述的方法,其特征在于,所述主节点在所述事务数据集的数据大小超过所述第一阈值时,对所述事务数据集进行分割,获取多个目标数据集之后,所述方法还包括:
所述主节点获取各从属节点对应的标识信息,并根据所述标识信息将生成的键值对输出至对应的从属节点;其中,所述标识信息包括互联网协议地址、序列号或标识码中的一种或多种。
3.如权利要求2所述的方法,其特征在于,所述从属节点根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集之前,所述方法还包括:
所述从属节点接收所述主节点发送的目标数据集,计算所述目标数据集对应的局部最小支持度计数;
其中,所述局部最小支持度计数与所述全局最小支持度计数之间满足关系:
局部最小支持度计数=全局最小支持度计数/目标数据集中事务数量。
4.如权利要求3所述的方法,其特征在于,所述从属节点获取所述事务数据集,并根据所述事务数据集对应的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集,具体包括:
所述从属节点获取所述主节点发送的所述事务数据集以及过滤后的局部频繁项集,并对过滤后的局部频繁项集中各事务元素在所述事务数据集中的出现次数进行统计,获得统计结果;
所述从属节点根据所述统计结果以及所述事务数据集对应的全局最小支持度计数对过滤后的局部频繁项集进行筛选,获得全局频繁项集。
5.如权利要求4所述的方法,其特征在于,所述从属节点获取所述主节点发送的所述事务数据集以及过滤后的局部频繁项集,并对过滤后的局部频繁项集中各事务元素在所述事务数据集中的出现次数进行统计,获得统计结果之前,所述方法还包括:
所述主节点将过滤后的局部频繁项集的数据大小与预设的第二阈值进行比较;
所述主节点在所述过滤后的局部频繁项集的数据大小不超过所述第二阈值时,将所述过滤后的局部频繁项集和所述事务数据集输出至所述从属节点。
6.如权利要求4所述的方法,其特征在于,所述从属节点根据所述统计结果以及所述事务数据集对应的全局最小支持度计数对过滤后的局部频繁项集进行筛选,获得全局频繁项集,具体包括:
所述从属节点根据所述统计结果,将过滤后的局部频繁项集中各事务元素在所述事务数据集中的出现次数小于所述全局最小支持度计数的事务元素删除,获得全局频繁项集。
7.如权利要求5所述的方法,其特征在于,所述主节点将过滤后的局部频繁项集的数据大小与预设的第二阈值进行比较之后,所述方法还包括:
所述主节点在所述过滤后的局部频繁项集对应的数据大小超过所述第二阈值时,将所述过滤后的局部频繁项集分割为多个目标局部频繁项集;
所述主节点将所述目标局部频繁项集和所述事务数据集输出至对应的从属节点。
8.如权利要求7所述的方法,其特征在于,所述主节点将所述目标局部频繁项集和所述事务数据集输出至对应的从属节点,具体包括:
所述主节点从当前状态为空闲状态的从属节点中挑选出预设数量的从属节点;
所述主节点将所述目标局部频繁项集和所述事务数据集输出至挑选出的从属节点。
9.一种海量数据关联规则挖掘系统,其特征在于,所述系统包括:主节点和至少两个从属节点;
所述主节点,用于获取事务数据集,将所述事务数据集分割为多个目标数据集;
所述从属节点,用于接收所述主节点发送的目标数据集,并根据关联规则算法对接收到的目标数据集进行挖掘,获得所述目标数据集对应的局部频繁项集;
所述从属节点,还用于根据所述目标数据集对应的局部最小支持度计数,对所述局部频繁项集进行过滤,获得过滤后的局部频繁项集;
所述从属节点,还用于获取所述事务数据集,并根据所述事务数据集的全局最小支持度对过滤后的局部频繁项集进行筛选,获得全局频繁项集;
所述从属节点,还用于根据所述全局最小支持度计数对所述全局频繁项集进行过滤,获得目标频繁项集;
其中,所述主节点还用于在获取到用户输入的事务数据集后,将所述事务数据集的数据大小与预设的第一阈值进行比较;在所述事务数据集的数据大小超过所述第一阈值时,对所述事务数据集进行分割,获取多个目标数据集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710862873.7A CN107766442B (zh) | 2017-09-21 | 2017-09-21 | 一种海量数据关联规则挖掘方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710862873.7A CN107766442B (zh) | 2017-09-21 | 2017-09-21 | 一种海量数据关联规则挖掘方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766442A CN107766442A (zh) | 2018-03-06 |
CN107766442B true CN107766442B (zh) | 2019-02-01 |
Family
ID=61266628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710862873.7A Active CN107766442B (zh) | 2017-09-21 | 2017-09-21 | 一种海量数据关联规则挖掘方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766442B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858530B (zh) * | 2020-07-03 | 2022-08-16 | 国网福建省电力有限公司信息通信分公司 | 一种基于海量日志的实时关联分析方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887450A (zh) * | 2010-05-19 | 2010-11-17 | 东北电力大学 | 一种随机型分布式数据流频繁项集挖掘系统及其方法 |
CN103258049A (zh) * | 2013-05-27 | 2013-08-21 | 重庆邮电大学 | 一种基于海量数据的关联规则挖掘方法 |
CN104834751A (zh) * | 2015-05-28 | 2015-08-12 | 成都艺辰德迅科技有限公司 | 基于物联网的数据分析方法 |
CN104834733A (zh) * | 2015-05-18 | 2015-08-12 | 成都博元科技有限公司 | 一种大数据挖掘分析方法 |
CN107102999A (zh) * | 2016-02-22 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 关联分析方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020256B (zh) * | 2012-12-21 | 2016-04-20 | 电子科技大学 | 一种大规模数据的关联规则挖掘方法 |
CN103914528B (zh) * | 2014-03-28 | 2017-02-15 | 南京邮电大学 | 一种关联分析算法的并行化方法 |
-
2017
- 2017-09-21 CN CN201710862873.7A patent/CN107766442B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887450A (zh) * | 2010-05-19 | 2010-11-17 | 东北电力大学 | 一种随机型分布式数据流频繁项集挖掘系统及其方法 |
CN103258049A (zh) * | 2013-05-27 | 2013-08-21 | 重庆邮电大学 | 一种基于海量数据的关联规则挖掘方法 |
CN104834733A (zh) * | 2015-05-18 | 2015-08-12 | 成都博元科技有限公司 | 一种大数据挖掘分析方法 |
CN104834751A (zh) * | 2015-05-28 | 2015-08-12 | 成都艺辰德迅科技有限公司 | 基于物联网的数据分析方法 |
CN107102999A (zh) * | 2016-02-22 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 关联分析方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107766442A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10685283B2 (en) | Demand classification based pipeline system for time-series data forecasting | |
CN105049268B (zh) | 分布式计算资源分配系统和任务处理方法 | |
CN105786808B (zh) | 一种用于分布式执行关系型计算指令的方法与设备 | |
US11314808B2 (en) | Hybrid flows containing a continous flow | |
EP3180695A1 (en) | Systems and methods for auto-scaling a big data system | |
Zygouras et al. | Insights on a scalable and dynamic traffic management system. | |
US20160253402A1 (en) | Adaptive data repartitioning and adaptive data replication | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
JP2014525640A (ja) | 並列処理開発環境の拡張 | |
CN103258049A (zh) | 一种基于海量数据的关联规则挖掘方法 | |
CN104834557B (zh) | 一种基于Hadoop的数据分析方法 | |
CN107239468B (zh) | 任务节点管理方法及装置 | |
CN113448812A (zh) | 微服务场景下的监控告警方法及装置 | |
US8938443B2 (en) | Runtime optimization of spatiotemporal events processing | |
CN110297847A (zh) | 一种基于大数据原理的智能信息提取方法 | |
Nikitenko et al. | JobDigest–detailed system monitoring-based supercomputer application behavior analysis | |
Gulisano et al. | Online and scalable data validation in advanced metering infrastructures | |
CN108829505A (zh) | 一种分布式调度系统及方法 | |
CN104618304A (zh) | 数据处理方法及数据处理系统 | |
CN103294558A (zh) | 一种支持动态信任评估的MapReduce调度方法 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN104199912A (zh) | 一种任务处理的方法及装置 | |
CN111475837B (zh) | 一种网络大数据隐私保护方法 | |
CN109558248A (zh) | 一种用于确定面向海洋模式计算的资源分配参数的方法及系统 | |
Theeten et al. | Chive: Bandwidth optimized continuous querying in distributed clouds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |