基于mpp的并行数据挖掘架构及其方法

文档序号:6628337阅读:806来源:国知局
基于mpp的并行数据挖掘架构及其方法
【专利摘要】本发明涉及一种基于MPP的并行数据挖掘架构及其方法,其主要技术特点是:该挖掘架构包括一个挖掘引擎节点和多个分布式的挖掘代理节点,该方法是:挖掘引擎节点将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点;Master挖掘代理节点采用数据分布的负载均衡及就近挖掘策略并向挖掘代理节点分发挖掘任务;每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行其分配到的数据块的处理。本发明采用MPP方法并结合数据挖掘的特点,实现对海量数据的高速有效地处理,解决了传统数据挖掘软件处理数据量小,运行速度慢的问题,大大提高了数据挖掘算法处理海量数据的效率和数据承载能力。
【专利说明】基于MPP的并行数据挖掘架构及其方法

【技术领域】
[0001]本发明属于数据挖掘【技术领域】,尤其是一种基于MPP的并行数据挖掘架构及其方法。

【背景技术】
[0002]随着计算机技术的飞速发展,特别是Internet技术的不断应用,人们利用网络信息技术产生和搜集数据的能力有了很.大幅度的提高,数据呈现了飞快的增长趋势。如何从海量的数据中获取所需要的信息成为了一个迫切需要研究的问题。面对这样的挑战,数据挖掘(Data Mining)技术应运而生,使用数据挖掘技术能够从这些海量数据中获取隐含的有用信息。然而,由于数据的爆炸性增长,如何使用数据挖掘技术快速有效地从海量数据中获取隐含有用的信息变得越来越重要。
[0003]分布式存储系统是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,难以满足大规模存储应用的需要。分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。分布式计算研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分再分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
[0004]MPP(Massively Parallel Processing,大规模并行)是指由成千上万个处理器组成的计算机系统。这样的系统是由许多松耦合的处理单元组成的,每个单元内的CPU都有自己私有的资源,如内存,硬盘等。如果处理单元之间需要进行的通信比较少,采用MPP并行是一种较好的选择。在数据挖掘算法中有部分算法是可以数据并行的,这种并行处理单元之间通信较少,因此,比较适合MPP并行模式。MPP并行的最大优势是扩展性较强,可以通过追加并行节点,不断提升计算能力。
[0005]当前的多数数据挖掘架构都是基于C/S模式,一次只能执行一个任务,而且很少有数据挖掘系统中的数据挖掘算法实现了并行的方式,即使像Clementine, EnterpriseMiner这些业内比较领先的数据挖掘软件也不例外。当数据量特别大的时候,这种模式就会速度特别慢,甚至表现出无能力,即不能进行数据挖掘任务。而目前很多企业由于业务的发展,积累了海量数据,面对这些海量数据,如何利用数据挖掘技术快速有效地从中发现有用的知识,并用到实际业务中,成为了一个迫切需要解决的问题。


【发明内容】

[0006]本发明的目的在于克服现有技术的不足,提供一种处理能力强、速度快且效率高的基于MPP的并行数据挖掘架构及其方法。
[0007]本发明解决现有的技术问题是采取以下技术方案实现的:
[0008]一种基于MPP的并行数据挖掘架构,包括一个挖掘引擎节点和多个分布式的挖掘代理节点,所述的挖掘引擎节点包括引擎资源监管模块、任务监管模块、消息服务模块、元数据管理模块、代理资源管理模块、任务调度模块、任务负载均衡模块和计算负载均衡模块;所述的挖掘代理节点包括任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子,所述的任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子依次相连接,该任务解析器与挖掘引擎节点相连接,K均值算法Master算子与分布式数据访问引擎相连接,K均值算法Slaver算子与分布式数据存储节点相连接。
[0009]而且,所述的挖掘引擎节点对挖掘引擎节点以及挖掘代理节点的计算资源进行监管,对消息的发送、接收、解析及分发,对挖掘任务的监管、调度以及负载均衡处理。
[0010]而且,所述挖掘弓I擎将消息分成如下类型:耗时的挖掘任务消息、挖掘引擎和挖掘代理监管消息、客户端查询消息、模型的实时调用消息、内部消息。
[0011]而且,所述的挖掘引擎节点和挖掘代理节点之间是松耦合的关系,并通过消息中间件异步交互;在挖掘引擎和挖掘代理内部,当传递任务参数及计算指令时使用JMS,当挖掘代理之间交换大数据量时使用FTP。
[0012]而且,所述挖掘引擎节点在收到挖掘任务消息时,将其解析并放入到对应类型的任务池中,由任务调度器按照内置的调度策略以及负载均衡策略,进行资源申请和分配,将分配好的任务再次封装成消息发送到对应挖掘代理的消息队列中。
[0013]而且,所述内置的调度策略包括以下六种:按优先级调度、关联调度、先来先服务调度、定时调度、周期调度和消息触发调度;所述的负载均衡策略包括以下四种:权重轮询均衡、处理能力均衡、响应速度均衡和随机均衡。
[0014]而且,所述的挖掘代理节点作为挖掘任务的主要执行单元,管理挖掘代理节点相关计算资源,接收和解析挖掘引擎分配的挖掘任务,执行Master挖掘代理节点分配的挖掘子任务,并和Master节点进行通信。
[0015]一种基于MPP的并行数据挖掘方法,包括以下步骤:
[0016]步骤1、挖掘引擎节点根据各挖掘代理节点当前的数据挖掘任务负载情况,将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点;
[0017]步骤2、Master挖掘代理节点同分布式数据存储系统或MPP数据库的分布式数据访问引擎进行通信获取数据的分布情况,然后结合当前各挖掘代理节点的计算负载和资源情况,按照该挖掘任务的Master算子,将数据挖掘任务拆分成若干个并行的子任务,采用数据分布的负载均衡及就近挖掘策略并向挖掘代理节点分发挖掘任务;
[0018]步骤3、每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行其分配到的数据块的处理,处理完成之后向Master节点报告状态和结果。
[0019]而且,所述的基于数据分布的负载均衡指Master挖掘代理节点会先获取数据的分布情况,然后根据数据的分布,再结合当前各代理节点的负载和资源情况将数据挖掘任务向代理节点进行分发;所述就近挖掘策略指Master挖掘代理节点将充分考虑待挖掘数据的存储位置,将挖掘任务优先分配到待挖掘数据所在的挖掘代理节点。
[0020]而且,所述步骤3的具体执行过程为:
[0021](I)Slaver节点根据Master节点生成的随机数,从自己所负责的数据块中选择对应的初始聚类中心,然后报告给Master节点,Master节点将k个初始聚类中心汇总,并共享给每个slaver节点;
[0022](2) Slaver节点计算自己所负责的数据块与现有聚类中心的欧式距离,将数据分至IJ离的最近的聚类中心所在的簇中,同时计算自己所负责的数据中每一簇数据的向量和以及记录数,并将结果报告给Master节点;Master节点利用Slaver节点的每一簇的向量和以及记录数计算新的聚类中心,并将聚类中心共享给每个slaver节点;迭代地进行第二步,直到聚类结果不再发生变化或者聚类中心变化小于设定的某一个阈值时,挖掘任务结束。
[0023]本发明的优点和积极效果是:
[0024]1、本并行数据挖掘架构以分布式存储系统为基础,吸取了当前分布式计算的先进理论,采用MPP方法并结合数据挖掘的特点,实现对海量数据的高速有效地处理,解决了传统数据挖掘软件处理数据量小,运行速度慢的问题,大大提高了数据挖掘算法处理海量数据的效率和数据承载能力。
[0025]2、本发明充分考虑海量数据处理需求,针对海量数据进行专门的设计,根据不同的数据挖掘算法,采用有针对性的特殊设计,提高数据挖掘算法对海量数据的处理能力。
[0026]3、本发明大大提高了数据挖掘算法处理海量数据的效率和能力,开辟了国产数据挖掘软件的并行处理数据的先河。
[0027]4、本发明相对于传统的串行数据挖掘算法面对海量数据效率低下甚至处理不了的情况,本并行数据挖掘架构扩展了数据挖掘的应用范围,且可以动态增加挖掘节点,扩展计算能力,实现多任务的并行和单任务的粗粒度并行,具有良好的应用前景。

【专利附图】

【附图说明】
[0028]图1为本发明的E-As(Engine-Agents)计算模式部署图;
[0029]图2为本发明的MPP数据挖掘并行架构示意图。

【具体实施方式】
[0030]以下结合附图对本发明实施例做进一步详述。
[0031]一种基于MPP的并行数据挖掘架构,如图1及图2所示,为一个挖掘引擎驱动多个挖掘代理的分布式数据挖掘结构,即E-As(Engine-Agents)模式,辅以基于数据分布的负载均衡及就近挖掘策略,同时以Master-Slaver (S)算子模式对挖掘算法进行并行设计。
[0032]一种基于MPP的并行数据挖掘架构,包括一个挖掘引擎节点和多个分布式的挖掘代理节点,所述的挖掘引擎节点包括引擎资源监管模块、任务监管模块、消息服务模块、元数据管理模块、代理资源管理模块、任务调度模块、任务负载均衡模块和计算负载均衡模块;所述的挖掘代理节点包括任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子,任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子依次相连接,挖掘代理节点的任务解析器与挖掘引擎节点相连接,K均值算法Master算子与分布式数据访问引擎相连接,K均值算法Slaver算子与分布式数据存储节点相连接。下面对挖掘引擎和挖掘代理分别进行说明:
[0033]1、所述的挖掘引擎对挖掘引擎节点以及挖掘代理节点的计算资源进行监管,消息的发送、接收、解析及分发,挖掘任务的监管、调度以及负载均衡处理。
[0034](I)挖掘引擎将消息分成不同的类型,包括:耗时的挖掘任务消息、挖掘引擎和挖掘代理监管消息、客户端查询消息、模型的实时调用消息、内部消息。挖掘引擎根据消息种类的不同增加不同的消息头以示区分。
[0035]其中,挖掘引擎和挖掘代理之间是松耦合的关系,通过“消息中间件”异步交互。挖掘弓I擎和挖掘代理只向消息中间件发送消息,消息的处理依赖于对方轮询消息队列,挖掘引擎和挖掘代理之间互相不需要等待。
[0036](2)当挖掘引擎收到挖掘任务消息时,将其解析,并放入到对应类型的任务池中,供任务调度器调度执行。
[0037]其中,米用JMS (Java Message Service)与 FTP (File Transfer Protocal)结合的方式进行通信,保证了挖掘引擎和挖掘代理、挖掘代理和挖掘代理之间通讯的高效性。JMS的优点是能快速传递数据量小的消息,FTP的优点是能稳定传输数据量大的信息,这两种技术可以相互补充。在挖掘引擎和挖掘代理内部,当传递任务参数及计算指令时使用JMS,当挖掘代理之间交换大数据量时使用FTP,这种组合完美地构成了分布式计算平台的通讯服务。
[0038](3)任务调度器按照内置的调度策略以及负载均衡策略,进行资源申请和分配,将分配好的任务再次封装成消息发送到对应挖掘代理的消息队列中。
[0039]其中,所述内置的调度策略有以下六种:
[0040]①按优先级调度:按照任务的优先级进行任务的调度,比如,耗时比较短的模型实时调用任务的优先级高于计算时间较长的挖掘任务。
[0041]②关联调度:用户可以自定义任务之间调度的先后顺序,将任务关联起来形成任务队列,当前置任务完成后后置任务才开始执行。
[0042]③先来先服务调度:相同优先级的任务遵循先来先调度的策略。
[0043]④定时调度:用户可以指定任务的执行时间。
[0044]⑤周期调度:为了解决模型失效的问题,用户可以定义周期任务,使得模型可以周期更新。
[0045]⑥消息触发调度:用户可以手动触发任务,使得未触发的或过往任务可以重新执行。
[0046]所述的负载均衡策略有以下四种:
[0047]①权重轮询均衡:根据挖掘代理的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的数据挖掘任务。
[0048]②处理能力均衡:此种均衡算法将把数据挖掘任务分配给处理负荷(根据服务器CPU型号、CPU数量、内存大小及当前连接数等换算而成)最轻的代理。
[0049]③响应速度均衡:引擎对代理发出一个探测请求,然后根据代理对探测请求的最快响应时间来决定哪一个代理响应数据挖掘服务请求。
[0050]④随机均衡:把耗时较少的实时任务随机分配给某个代理。
[0051]2、挖掘代理作为挖掘任务的主要执行单元,管理挖掘代理节点相关计算资源,接收和解析挖掘引擎分配的挖掘任务,执行Master挖掘代理节点分配的挖掘子任务,并和Master节点进行通信。
[0052](I)挖掘代理负责从消息队列中定期取出挖掘引擎发给它的消息,并反解析成挖掘任务,执行挖掘任务。
[0053](2)挖掘代理将执行状态以消息的形式发回到与挖掘引擎对应的消息队列中。
[0054]针对以上基于MPP的并行数据挖掘架构,设计基于MPP的并行数据挖掘架构及其方法,该设计思想为:“挖掘引擎”根据各挖掘代理的数据挖掘任务负载情况,将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理,将其作为当前数据挖掘任务的Master挖掘代理节点Master挖掘代理节点同分布式存储系统或MPP数据库的“分布式数据访问引擎”进行通信获取数据分布情况,然后结合当前各挖掘代理节点的计算负载和资源情况将数据挖掘任务拆分成若干个并行的子任务,并把数据挖掘子任务向各挖掘代理节点进行分发。Master挖掘代理节点会充分考虑待挖掘数据的存储位置,将挖掘任务优先分配到待挖掘数据所在的代理节点,减少不必要的数据传输,从而降低网络负载,提高数据通信效率。这样一来,每个挖掘代理节点即可优先对本地数据执行挖掘任务,在必要时也可通过“分布式数据访问引擎”来对远端的数据存储节点进行访问和挖掘。
[0055]一种基于MPP的并行数据挖掘架构及其方法,包括以下步骤:
[0056]步骤1、挖掘引擎节点根据各挖掘代理节点当前的数据挖掘任务负载情况,将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点;
[0057]步骤2、Master挖掘代理节点同分布式数据存储系统或MPP数据库的分布式数据访问引擎进行通信获取数据的分布情况,然后结合当前各挖掘代理节点的计算负载和资源情况,按照该挖掘任务的Master算子,将数据挖掘任务拆分成若干个并行的子任务,并根据数据分布情况把数据挖掘子任务向各挖掘代理节点进行分发。
[0058]在本步骤中,Master挖掘代理节点采用数据分布的负载均衡及就近挖掘策略相挖掘代理节点进行分发挖掘任务。
[0059]所述的基于数据分布的负载均衡指Master挖掘代理节点会先获取数据的分布情况,然后根据数据的分布,再结合当前各代理节点的负载和资源情况将数据挖掘任务向代理节点进行分发,减少并行挖掘代理间的等待时间,以确保并行效率尽可能高。
[0060]所述的就近挖掘策略指Master挖掘代理节点将充分考虑待挖掘数据的存储位置,将挖掘任务优先分配到待挖掘数据所在的挖掘代理节点,减少数据不必要的网络传输,一方面降低网络负载,同时提高数据读取效率。这样一来,每个挖掘代理节点即可优先对本地数据执行Slaver算子。
[0061]步骤3、每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行其分配到的数据块的处理,处理完成之后向Master节点报告状态和结果,在处理的过程中也要同时与Master节点进行“心跳”的交互。
[0062]下面以一个具体实例说明基于MPP的并行数据挖掘过程:
[0063]挖掘引擎的任务调度过程:
[0064]步骤1、用户提交了 2个挖掘任务(假设两个都是k_均值聚类的任务,而且第一个任务,用户设置需要6个挖掘单元来执行),挖掘引擎收到消息时,根据消息头识别其为挖掘任务消息,然后将其解析成对应的任务,放入到对应的任务池中,供任务调度器调度执行。
[0065]步骤2、任务调度器会先按照内置的调度策略选择先执行哪个任务或者两个任务同时执行,假设我们设置的调度策略是“先来先服务”调度,那么任务调度器就会首先调度执行先提交的那个k-均值聚类任务。同时任务调度器会根据各挖掘代理当前的数据挖掘任务负载情况,将该k-均值聚类任务分配给数据挖掘任务负载较少的挖掘代理,将其作为该k-均值聚类任务的Master挖掘代理节点。任务调度器将分配好的任务再次封装成消息发送到Master挖掘代理的消息队列中。
[0066]挖掘代理的执行过程:
[0067]步骤I =Master挖掘代理节点从消息队列中取出引擎发给它的消息,并反解析成挖掘任务:k_均值聚类,然后执行。在执行过程中,Master挖掘代理节点先同分布式存储系统或MPP数据库的“分布式数据访问引擎”进行通信获取该挖掘任务的数据分布情况,假如获取的数据分布情况为,数据分三块,分别放在Al,A2,A3三台机器上,而这三台机器每个机器上有一个代理节点,每个代理节点包括两个挖掘单元,即这三个代理节点共包含6个挖掘单元。然后,Master挖掘代理节点结合当前各挖掘代理节点的计算负载和资源情况将k-均值聚类任务拆分成6个并行的子任务,同时,会根据数据分布情况,以及就近挖掘策略,进行资源申请和分配,把这些子任务分配给这三台机器上的代理节点出个挖掘单元)。如果这三台机器中有I个代理节点A3被其它挖掘任务占用了,那么Master挖掘代理节点会将子任务分配给这个代理节点相邻的另一个节点A4 (相邻表示A3上的数据传输到机器A4速度最快)。如果所有空闲的代理节点的挖掘单元数加起来不够6个挖掘单元(用户设置),假设只有4个挖掘单元,Master挖掘代理节点会将k_均值聚类任务拆分成4个并行的子任务分配给现有的4个空闲的挖掘单元来执行。
[0068]步骤2、每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行其分配到的数据块的处理,处理完成之后向Master节点报告状态和结果。
[0069]该k_均值聚类任务分两大步处理:选取初始聚类中心和数据聚类并更新聚类中心。在第一步中,每个Slaver节点,根据Master节点生成的随机数,从自己所负责的数据块中选择对应的初始聚类中心,然后报告给Master节点,Master节点将k个初始聚类中心汇总,并共享给每个slaver节点。第二步中,Slaver节点计算自己所负责的数据块与现有聚类中心的欧式距离,将数据分到离的最近的聚类中心所在的簇中,同时计算自己所负责的数据中每一簇数据的向量和以及记录数,并将结果报告给Master节点;Master节点利用Slaver节点的每一簇的向量和以及记录数计算新的聚类中心,并将聚类中心共享给每个slaver节点。迭代地进行第二步,直到聚类结果不再发生变化或者聚类中心变化小于设定的某一个阈值时,挖掘任务结束。
[0070]在上述挖掘代理的执行过程中,Master挖掘代理节点定期将执行状态以消息的形式发回到与挖掘引擎对应的消息队列中供挖掘引擎监管。
[0071]需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于【具体实施方式】中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
【权利要求】
1.一种基于MPP的并行数据挖掘架构,其特征在于:包括一个挖掘引擎节点和多个分布式的挖掘代理节点,所述的挖掘引擎节点包括引擎资源监管模块、任务监管模块、消息服务模块、元数据管理模块、代理资源管理模块、任务调度模块、任务负载均衡模块和计算负载均衡模块;所述的挖掘代理节点包括任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子,所述的任务解析器、任务执行器、K均值算法Master算子、K均值算法Slaver算子依次相连接,该任务解析器与挖掘引擎节点相连接,K均值算法Master算子与分布式数据访问引擎相连接,K均值算法Slaver算子与分布式数据存储节点相连接。
2.根据权利要求1所述的基于MPP的并行数据挖掘架构,其特征在于:所述的挖掘引擎节点对挖掘引擎节点以及挖掘代理节点的计算资源进行监管,对消息的发送、接收、解析及分发,对挖掘任务的监管、调度以及负载均衡处理。
3.根据权利要求2所述的基于MPP的并行数据挖掘架构,其特征在于:所述挖掘引擎将消息分成如下类型:耗时的挖掘任务消息、挖掘引擎和挖掘代理监管消息、客户端查询消息、模型的实时调用消息、内部消息。
4.根据权利要求2所述的基于MPP的并行数据挖掘架构,其特征在于:所述的挖掘引擎节点和挖掘代理节点之间是松耦合的关系,并通过消息中间件异步交互;在挖掘引擎和挖掘代理内部,当传递任务参数及计算指令时使用JMS,当挖掘代理之间交换大数据量时使用 FTP。
5.根据权利要求2所述的基于MPP的并行数据挖掘架构,其特征在于:所述挖掘引擎节点在收到挖掘任务消息时,将其解析并放入到对应类型的任务池中,由任务调度器按照内置的调度策略以及负载均衡策略,进行资源申请和分配,将分配好的任务再次封装成消息发送到对应挖掘代理的消息队列中。
6.根据权利要求5所述的基于MPP的并行数据挖掘架构,其特征在于:所述内置的调度策略包括以下六种:按优先级调度、关联调度、先来先服务调度、定时调度、周期调度和消息触发调度;所述的负载均衡策略包括以下四种:权重轮询均衡、处理能力均衡、响应速度均衡和随机均衡。
7.根据权利要求1所述的基于MPP的并行数据挖掘架构,其特征在于:所述的挖掘代理节点作为挖掘任务的主要执行单元,管理挖掘代理节点相关计算资源,接收和解析挖掘引擎分配的挖掘任务,执行Master挖掘代理节点分配的挖掘子任务,并和Master节点进行通信。
8.—种如权利要求1至7任一项所述并行数据挖掘架构的实现方法,其特征在于包括以下步骤: 步骤1、挖掘引擎节点根据各挖掘代理节点当前的数据挖掘任务负载情况,将当前数据挖掘任务分配给数据挖掘任务负载较少的挖掘代理节点,将其作为该数据挖掘任务的Master挖掘代理节点; 步骤2、Master挖掘代理节点同分布式数据存储系统或MPP数据库的分布式数据访问引擎进行通信获取数据的分布情况,然后结合当前各挖掘代理节点的计算负载和资源情况,按照该挖掘任务的Master算子,将数据挖掘任务拆分成若干个并行的子任务,采用数据分布的负载均衡及就近挖掘策略并向挖掘代理节点分发挖掘任务; 步骤3、每个挖掘代理节点按照分配的子任务执行Slaver算子,每个Slaver算子只进行其分配到的数据块的处理,处理完成之后向Master节点报告状态和结果。
9.根据权利要求8所述的基于MPP的并行数据挖掘方法,其特征在于:所述的基于数据分布的负载均衡指Master挖掘代理节点会先获取数据的分布情况,然后根据数据的分布,再结合当前各代理节点的负载和资源情况将数据挖掘任务向代理节点进行分发;所述就近挖掘策略指Master挖掘代理节点将充分考虑待挖掘数据的存储位置,将挖掘任务优先分配到待挖掘数据所在的挖掘代理节点。
10.根据权利要求8所述的基于MPP的并行数据挖掘方法,其特征在于:所述步骤3的具体执行过程为: (1)Slaver节点根据Master节点生成的随机数,从自己所负责的数据块中选择对应的初始聚类中心,然后报告给Master节点,Master节点将k个初始聚类中心汇总,并共享给每个slaver节点; (2)Slaver节点计算自己所负责的数据块与现有聚类中心的欧式距离,将数据分到离的最近的聚类中心所在的簇中,同时计算自己所负责的数据中每一簇数据的向量和以及记录数,并将结果报告给Master节点;Master节点利用Slaver节点的每一簇的向量和以及记录数计算新的聚类中心,并将聚类中心共享给每个slaver节点;迭代地进行第二步,直到聚类结果不再发生变化或者聚类中心变化小于设定的某一个阈值时,挖掘任务结束。
【文档编号】G06F17/30GK104239555SQ201410497377
【公开日】2014年12月24日 申请日期:2014年9月25日 优先权日:2014年9月25日
【发明者】卢中亮, 黄瑞, 李海峰, 苏卫卫, 刘祺, 钱勇, 苗润华, 李靖, 王文青 申请人:天津神舟通用数据技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1