基于MPP的并行数据挖掘架构及其方法技术

技术编号:10815052 阅读:145 留言:0更新日期:2014-12-24 19:21
本发明专利技术涉及一种基于MPP的并行数据挖掘架构及其方法,其主要技术特点是:该挖掘架构包括一个挖掘引擎节点和多个分布式的挖掘代理节点,该方法是:挖掘引擎节点将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点;Master挖掘代理节点采用数据分布的负载均衡及就近挖掘策略并向挖掘代理节点分发挖掘任务;每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行其分配到的数据块的处理。本发明专利技术采用MPP方法并结合数据挖掘的特点,实现对海量数据的高速有效地处理,解决了传统数据挖掘软件处理数据量小,运行速度慢的问题,大大提高了数据挖掘算法处理海量数据的效率和数据承载能力。

【技术实现步骤摘要】
基于MPP的并行数据挖掘系统及其实现方法
本专利技术属于数据挖掘
,尤其是一种基于MPP的并行数据挖掘系统及其实现方法。
技术介绍
随着计算机技术的飞速发展,特别是Internet技术的不断应用,人们利用网络信息技术产生和搜集数据的能力有了很.大幅度的提高,数据呈现了飞快的增长趋势。如何从海量的数据中获取所需要的信息成为了一个迫切需要研究的问题。面对这样的挑战,数据挖掘(DataMining)技术应运而生,使用数据挖掘技术能够从这些海量数据中获取隐含的有用信息。然而,由于数据的爆炸性增长,如何使用数据挖掘技术快速有效地从海量数据中获取隐含有用的信息变得越来越重要。分布式存储系统是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,难以满足大规模存储应用的需要。分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。分布式计算研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分再分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。MPP(MassivelyParallelProcessing,大规模并行)是指由成千上万个处理器组成的计算机系统。这样的系统是由许多松耦合的处理单元组成的,每个单元内的CPU都有自己私有的资源,如内存,硬盘等。如果处理单元之间需要进行的通信比较少,采用MPP并行是一种较好的选择。在数据挖掘算法中有部分算法是可以数据并行的,这种并行处理单元之间通信较少,因此,比较适合MPP并行模式。MPP并行的最大优势是扩展性较强,可以通过追加并行节点,不断提升计算能力。当前的多数数据挖掘架构都是基于C/S模式,一次只能执行一个任务,而且很少有数据挖掘系统中的数据挖掘算法实现了并行的方式,即使像Clementine,EnterpriseMiner这些业内比较领先的数据挖掘软件也不例外。当数据量特别大的时候,这种模式就会速度特别慢,甚至表现出无能力,即不能进行数据挖掘任务。而目前很多企业由于业务的发展,积累了海量数据,面对这些海量数据,如何利用数据挖掘技术快速有效地从中发现有用的知识,并用到实际业务中,成为了一个迫切需要解决的问题。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种处理能力强、速度快且效率高的基于MPP的并行数据挖掘系统及其实现方法。本专利技术解决现有的技术问题是采取以下技术方案实现的:一种基于MPP的并行数据挖掘系统,包括一个挖掘引擎节点和多个分布式的挖掘代理节点,所述的挖掘引擎节点包括引擎资源监管模块、任务监管模块、消息服务模块、元数据管理模块、代理资源管理模块、任务调度模块、任务负载均衡模块和计算负载均衡模块;所述的挖掘代理节点包括任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子,所述的任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子依次相连接,该任务解析器与挖掘引擎节点相连接,K均值算法Master算子与分布式数据访问引擎相连接,K均值算法Slaver算子与分布式数据存储节点相连接;所述挖掘引擎节点根据各挖掘代理节点当前的数据挖掘任务负载情况,将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点;Master挖掘代理节点同分布式数据存储系统或MPP数据库的分布式数据访问引擎进行通信获取数据的分布情况,然后结合当前各挖掘代理节点的计算负载和资源情况,按照该挖掘任务的Master算子,将数据挖掘任务拆分成若干个并行的子任务,采用数据分布的负载均衡及就近挖掘策略向挖掘代理节点分发挖掘任务;每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行对其分配到的数据块的处理,处理完成之后向Master挖掘代理节点报告状态和结果。而且,所述的挖掘引擎节点对挖掘引擎节点以及挖掘代理节点的计算资源进行监管,对消息的发送、接收、解析及分发,对挖掘任务的监管、调度以及负载均衡处理。而且,所述挖掘引擎节点将消息分成如下类型:耗时的挖掘任务消息、挖掘引擎和挖掘代理监管消息、客户端查询消息、模型的实时调用消息、内部消息。而且,所述的挖掘引擎节点和挖掘代理节点之间是松耦合的关系,并通过消息中间件异步交互;在挖掘引擎节点和挖掘代理节点内部,当传递任务参数及计算指令时使用JMS,当挖掘代理节点之间交换大数据量时使用FTP。而且,所述挖掘引擎节点在收到挖掘任务消息时,将其解析并放入到对应类型的任务池中,由任务调度模块按照内置的调度策略以及负载均衡策略,进行资源申请和分配,将分配好的任务再次封装成消息发送到对应挖掘代理节点的消息队列中。而且,所述内置的调度策略包括以下六种:按优先级调度、关联调度、先来先服务调度、定时调度、周期调度和消息触发调度;所述的负载均衡策略包括以下四种:权重轮询均衡、处理能力均衡、响应速度均衡和随机均衡。而且,所述的挖掘代理节点作为挖掘任务的主要执行单元,管理挖掘代理节点相关计算资源,接收和解析挖掘引擎节点分配的挖掘任务,执行Master挖掘代理节点分配的挖掘子任务,并和Master挖掘代理节点进行通信。一种基于MPP的并行数据挖掘系统的实现方法,包括以下步骤:步骤1、挖掘引擎节点根据各挖掘代理节点当前的数据挖掘任务负载情况,将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点;步骤2、Master挖掘代理节点同分布式数据存储系统或MPP数据库的分布式数据访问引擎进行通信获取数据的分布情况,然后结合当前各挖掘代理节点的计算负载和资源情况,按照该挖掘任务的Master算子,将数据挖掘任务拆分成若干个并行的子任务,采用数据分布的负载均衡及就近挖掘策略向挖掘代理节点分发挖掘任务;步骤3、每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行对其分配到的数据块的处理,处理完成之后向Master挖掘代理节点报告状态和结果。而且,所述的基于数据分布的负载均衡指Master挖掘代理节点会先获取数据的分布情况,然后根据数据的分布,再结合当前各代理节点的负载和资源情况将数据挖掘任务向代理节点进行分发;所述就近挖掘策略指Master挖掘代理节点将充分考虑待挖掘数据的存储位置,将挖掘任务优先分配到待挖掘数据所在的挖掘代理节点。而且,所述步骤3的具体执行过程为:(1)Slaver节点根据Master挖掘代理节点生成的随机数,从自己所负责的数据块中选择对应的初始聚类中心,然后报告给Master挖掘代理节点,Master挖掘代理节点将k个初始聚类中心汇总,并共享给每个Slaver节点;(2)Slaver节点计算自己所负责的数据块与现有聚类中心的欧式距离,将数据分到离的最近的聚类中心所在的簇中,同时计算自己所负责的数据中每一簇数据的向量和以及记录数,并将结果报告给Master挖掘代理节点;Master挖掘代理节点利用Slaver节点的每一簇的向量和以及本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201410497377.html" title="基于MPP的并行数据挖掘架构及其方法原文来自X技术">基于MPP的并行数据挖掘架构及其方法</a>

【技术保护点】
一种基于MPP的并行数据挖掘架构,其特征在于:包括一个挖掘引擎节点和多个分布式的挖掘代理节点,所述的挖掘引擎节点包括引擎资源监管模块、任务监管模块、消息服务模块、元数据管理模块、代理资源管理模块、任务调度模块、任务负载均衡模块和计算负载均衡模块;所述的挖掘代理节点包括任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子,所述的任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子依次相连接,该任务解析器与挖掘引擎节点相连接,K均值算法Master算子与分布式数据访问引擎相连接,K均值算法Slaver算子与分布式数据存储节点相连接。

【技术特征摘要】
1.一种基于MPP的并行数据挖掘系统,其特征在于:包括一个挖掘引擎节点和多个分布式的挖掘代理节点,所述的挖掘引擎节点包括引擎资源监管模块、任务监管模块、消息服务模块、元数据管理模块、代理资源管理模块、任务调度模块、任务负载均衡模块和计算负载均衡模块;所述的挖掘代理节点包括任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子,所述的任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子依次相连接,该任务解析器与挖掘引擎节点相连接,K均值算法Master算子与分布式数据访问引擎相连接,K均值算法Slaver算子与分布式数据存储节点相连接;所述挖掘引擎节点根据各挖掘代理节点当前的数据挖掘任务负载情况,将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点;Master挖掘代理节点同分布式数据存储系统或MPP数据库的分布式数据访问引擎进行通信获取数据的分布情况,然后结合当前各挖掘代理节点的计算负载和资源情况,按照该挖掘任务的Master算子,将数据挖掘任务拆分成若干个并行的子任务,采用数据分布的负载均衡及就近挖掘策略向挖掘代理节点分发挖掘任务;每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行对其分配到的数据块的处理,处理完成之后向Master挖掘代理节点报告状态和结果。2.根据权利要求1所述的基于MPP的并行数据挖掘系统,其特征在于:所述的挖掘引擎节点对挖掘引擎节点以及挖掘代理节点的计算资源进行监管,对消息的发送、接收、解析及分发,对挖掘任务的监管、调度以及负载均衡处理。3.根据权利要求2所述的基于MPP的并行数据挖掘系统,其特征在于:所述挖掘引擎节点将消息分成如下类型:耗时的挖掘任务消息、挖掘引擎和挖掘代理监管消息、客户端查询消息、模型的实时调用消息、内部消息。4.根据权利要求2所述的基于MPP的并行数据挖掘系统,其特征在于:所述的挖掘引擎节点和挖掘代理节点之间是松耦合的关系,并通过消息中间件异步交互;在挖掘引擎节点和挖掘代理节点内部,当传递任务参数及计算指令时使用JMS,当挖掘代理节点之间交换大数据量时使用FTP。5.根据权利要求2所述的基于MPP的并行数据挖掘系统,其特征在于:所述挖掘引擎节点在收到挖掘任务消息时,将其解析并放入到对应类型的任务池中,由任务调度模块按照内置的调度策略以及负载均衡策略,进行资源申请和分配,将分配好的任务再次封装成消息发送到对应挖掘代理节点的消息队列中。6.根据权利要求5所述的基于MPP的并行数据挖掘系统,其特征在于:所述内置的调度策略包括以下六种:按优先级调度、关联调度、...

【专利技术属性】
技术研发人员:卢中亮黄瑞李海峰苏卫卫刘祺钱勇苗润华李靖王文青
申请(专利权)人:天津神舟通用数据技术有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1