数据挖掘方法和节点技术

技术编号:13075232 阅读:58 留言:0更新日期:2016-03-30 10:50
本发明专利技术实施例提供一种数据挖掘方法和节点,包括:获取本轮迭代任务中每个计算子节点的预计执行时间,并根据预计执行时间为计算子节点分配对应的任务数据量,在本轮迭代任务执行后,收集本轮迭代任务中每个计算子节点的执行情况信息,并以此判断下一轮迭代任务是否要对每个计算子节点的任务数据量进行调整,并在按照调整后的任务数据量进行下一轮迭代任务,从而能够根据每个计算子节点的能力分配相应的任务数据量,并且能够根据上一轮的执行情况对本轮任务中每个计算子节点的任务数据量做出调整,从而能够避免有些不必要的负载均衡过程,降低网络开销,提高系统的数据挖掘性能。

【技术实现步骤摘要】

本专利技术实施例涉及通信技术,尤其涉及一种数据挖掘方法和节点
技术介绍
大数据化ig data),或称巨量资料,指的是所涉及的资料量规模巨大到无法通过 常规软件工具,在合理时间内达到揃取、管理、处理、并整理的数据集合。随着云时代的来 临,大数据度ig data)吸引了越来越多的关注,而如何从大数据中获取有用的信息和知识 就成了业界关注的焦点。数据挖掘值ata Mining),就是一种从大量的数据中通过算法搜索 隐藏于其中信息的技术,数据挖掘通常通过统计、在线分析处理、情报检索、机器学习、专家 系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。 在数据挖掘过程中通常需要对海量数据进行建模分析,常见的建模方法包括迭代 的机器学习算法,例如线性回归、逻辑回归、神经网络和决策树,通过对数据重复执行一个 学习流程,不断更新数据挖掘任务的特定参数。每次完成一轮迭代计算时,对生成的临时模 型的效果进行评估,满足一定条件时结束迭代过程;否则重复执行迭代过程。 然而由于大数据具有数据量大的特点,通常达到TBQTB = 1012B)或者PBQPB = 1000TB)级别,超出民用计算机的计算能力,所W通常使用高性能计算机和分布式集群进行 批量处理。即将大数据的挖掘任务在分布式集群计算环境中执行上述的迭代算法,每一轮 迭代计算任务被分配到各个计算子节点,当计算子节点完成各自的计算任务时,将所有子 节点的临时结果汇总,并且对得到的合并模型的效果进行评估,满足一定条件时结束迭代 过程;否则将新的计算任务重新分配到各个计算子节点,重复迭代过程。 由于分布式集群各计算子节点可能出现的计算能力不一致的问题,导致计算资源 不能得到充分利用,降低计算效率。因此为了提高整个挖掘系统的性能,在一种现有技术 中,采用了一种负载均衡技术,在执行每一轮迭代任务时,根据计算子节点的负载情况动 态的调整各计算子节点上的任务量,比如在执行迭代任务的过程中,当发现有的计算子节 点迭代任务已完成,有的未完成时,则认为已完成任务的节点为空闲节点,未完成任务的节 点为过载节点,此时将过载节点的一部分任务数据转移至空闲节点。但是,上述现有技术 中,由于每个计算子节点的每一轮迭代的输入的任务数据量是不变的,因此在每一轮迭任 务中的负载均衡对于下一轮迭代而言是独立的,也就是说在执行下一轮迭代任务时,需要 再次进行负载均衡,由于负载均衡需要在各个节点之间转移数据,送就增加了不必要的网 络开销,降低系统的数据挖掘性能。
技术实现思路
本专利技术实施例提供一种数据挖掘方法和节点,能够降低网络开销,提高系统的数 据挖掘性能。 第一方面,本专利技术实施例提供一种中必节点,应用于数据挖掘系统,所述中必节点 包括: 时间获取单元,用于获取第N轮迭代任务中,每个计算子节点的预计执行时间; 分配单元,用于根据每个计算子节点的预计执行时间为每个计算子节点重分配任 务数据;其中,所述任务数据为已获取的待挖掘的样本数据集的部分或全部数据; 信息获取单元,用于在每个计算子节点根据分配的任务数据完成所述第N轮迭代 任务后,若迭代任务未结束,则获取所述第N轮迭代任务中每个计算子节点的执行情况信 息; 第一判断单元,用于根据每个计算子节点的执行情况信息判断第N+1轮迭代任务 是否需要进行负载均衡,若需要进行负载均衡,则将N的值加1后重复执行所述获取第N轮 迭代任务中,每个计算子节点的预计执行时间至所述根据每个计算子节点的执行情况信息 判断第N+1轮迭代任务是否需要进行负载均衡的步骤;若不需要进行负载均衡,则使每个 计算子节点按照第N轮迭代任务中为该计算子节点分配的任务数据执行所述第N+1轮迭代 任务,其中,N为正整数,N的起始值为1。 结合第一方面,在第一种可能的实现方式中,当N等于1时,所述时间获取单元具 体用于: 根据所述样本数据集的分布特征参数和每个计算子节点的计算资源获取每个计 算子节点的预计执行时间; 其中,所述本数据集的分布特征参数包括:所述本数据集中各个数据的相同字段 下的取值的平均值、方差、取值范围、不同取值的个数; 每个计算子节点的计算资源包括;该计算子节点的CPU频率、内存容量中的至少 一种。 结合第一方面,在第二种可能的实现方式中,当N大于1时,所述时间获取单元具 体用于: 将每个计算子节点执行第N-1轮迭代任务的实际执行时间作为所述第N轮迭代任 务中该计算子节点的预计执行时间。 结合第一方面至第一方面的第二种可能的实现方式中的任意一种,在第Η种可能 的实现方式中,所述分配单元包括: 节点选择单元,用于确定预计执行时间大于标准执行时间计算子节点,作为过载 节点,并确定预计执行时间小于标准执行时间计算子节点,作为空闲节点; 移出任务量确定单元,用于根据每个过载节点的预计执行时间W及标准执行时 间,获取每个过载节点的任务迁移比例,并根据每个过载节点的任务迁移比例获取每个过 载节点需要移出的任务数据量; 移入任务量确定单元,用于根据每个空闲节点的预计执行时间W及所述标准执行 时间,获取每个空闲节点的可移入任务比例,并根据每个空闲节点的可移入任务比例获取 每个空闲节点的可移入的任务数据量; 转移单元,用于按照过载节点的预计执行时间由大到小的顺序,依次将每个过载 节点的任务数据按照该过载节点对应的需要移出的任务数据量移出,并将移出的任务数据 按照空闲节点的预计执行时间由小到大的顺序,按照每个空闲节点的可移入的任务数据量 依次移入到至少一个空闲节点中,直至所有过载节点需要移出的任务数据都迁移完成。 结合第一方面的第Η种可能的实现方式,在第四种可能的实现方式中, 所述移出任务量确定单元具体用于: 将每个过载节点的预计执行时间与所述标准执行时间之差除W所述标准执行时 间,得到该过载节点的任务迁移比例; 将每个过载节点上已存储任务数据的任务数据量乘W该过载节点的任务迁移比 例,得到该过载节点需要移出的任务数据量; 所述移入任务量确定单元具体用于: 将每个空闲节点的预计执行时间与所述标准执行时间之差的绝对值除W所述标 准执行时间,得到该过空闲点的可移入任务比例; 将每个空闲节点上已存储任务数据的任务数据量乘W该空闲节点的可移入任务 比例,得到该空闲节点的可移入的任务数据量。 结合第一方面至第一方面的第四种可能的实现方式中的任意一种,在第五种可能 的实现方式中,所述第N轮迭代任务中每个计算子节点的执行情况信息包括;每个计算子 节点在所述第N轮迭代任务中的实际执行时间、计算资源使用率、任务数据量中的至少一 种; 其中,所述计算资源使用率包括;CPU使用率、内存使用率中的至少一种。 结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第一 判断单元具体用于: 确定在第N轮迭代任务中,所有计算子节点中实际执行时间最长的计算子节点, 和实际执行时间最短的计算子节点; 获取所述实际执行时间最长的计算子节点与所述实际执行时间最短的计算子节 点之间的实际执行时间差异率; 将所述时间差异率与预设差异率阔值进行比较,若所述时间差异率小于或等于所 述预设差异率阔值,则确定第N+1轮迭代任务不需要进行负载均衡;若所述时间差异率大 于所述预设差异率阔值,则确定第N+1轮迭代任本文档来自技高网
...

【技术保护点】
一种中心节点,应用于数据挖掘系统,其特征在于,所述中心节点包括:时间获取单元,用于获取第N轮迭代任务中,每个计算子节点的预计执行时间;分配单元,用于根据每个计算子节点的预计执行时间为每个计算子节点重分配任务数据;其中,所述任务数据为已获取的待挖掘的样本数据集的部分或全部数据;信息获取单元,用于在每个计算子节点根据分配的任务数据完成所述第N轮迭代任务后,若迭代任务未结束,则获取所述第N轮迭代任务中每个计算子节点的执行情况信息;第一判断单元,用于根据每个计算子节点的执行情况信息判断第N+1轮迭代任务是否需要进行负载均衡,若需要进行负载均衡,则将N的值加1后重复执行所述获取第N轮迭代任务中,每个计算子节点的预计执行时间至所述根据每个计算子节点的执行情况信息判断第N+1轮迭代任务是否需要进行负载均衡的步骤;若不需要进行负载均衡,则使每个计算子节点按照第N轮迭代任务中为该计算子节点分配的任务数据执行所述第N+1轮迭代任务,其中,N为正整数,N的起始值为1。

【技术特征摘要】

【专利技术属性】
技术研发人员:李辰汪芳山
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1