数据分配及其模型训练方法、装置、及计算集群制造方法及图纸

技术编号:21033781 阅读:48 留言:0更新日期:2019-05-04 05:15
本发明专利技术公开了一种数据分配及其模型训练方法、装置、及计算集群,所述方法包括:确定进行图计算需要执行的数据操作,根据所确定的数据操作获取对应的数据总量;将所确定数据操作的操作类型及对应的数据总量输入至深度学习模型,得到计算集群中计算节点对应的可占用资源量;根据所确定的数据操作获取键对应的键值对,由键对应的键值对计算键的键值对数量;基于键的键值对数量和计算集群中计算节点对应的可占用资源量,统计键对应键值对在计算集群中计算节点上的分布;通过所统计的分布结果,构建键与计算集群中计算节点之间的映射函数;根据所构建的映射函数,将键对应的键值对分配至计算集群中的计算节点。采用本发明专利技术解决了数据分配不均衡的问题。

【技术实现步骤摘要】
数据分配及其模型训练方法、装置、及计算集群
本专利技术涉及计算机应用
,尤其涉及一种数据分配及其模型训练方法、装置、及计算集群。
技术介绍
在社交网络、商品推荐、线上广告等业务场景中都有大量的大规模图计算需求,如果仅使用一台计算机为用户提供图计算服务势必影响用户体验,这就需要多台计算机共同为用户提供图计算服务,以加快图计算流程,从而形成了计算集群。计算集群,通常包括一个控制节点和多个计算节点,由控制节点向多个计算节点分配数据,以使多个计算节点基于自身资源对分配到的数据执行图计算所需要的数据操作。然而,无论是基于Spark方案的计算集群,还是基于Hadoop方案的计算集群,在进行数据分配时都存在倾斜,进而导致计算集群中计算节点上存在资源分配不均衡的问题,即,某些计算节点分配了大量数据,需要占用大量的资源,而某些计算节点仅分配到少量数据甚至没有分配到数据,直接导致资源浪费。
技术实现思路
为了解决相关技术中存在的数据分配不均衡的问题,本专利技术各实施例提供一种数据分配及其模型训练方法、装置、及计算集群。其中,本专利技术所采用的技术方案为:根据本专利技术实施例的一方面,一种数据分配方法,应用于计算集群,所述计算集群包括控制节点和计算节点,所述方法包括:所述控制节点确定进行图计算需要执行的数据操作,根据所确定的数据操作获取对应的数据总量;将所确定数据操作的操作类型及对应的数据总量输入至深度学习模型,得到所述计算集群中计算节点对应的可占用资源量;根据所确定的数据操作获取键对应的键值对,由所述键对应的键值对计算所述键的键值对数量;基于所述键的键值对数量和所述计算集群中计算节点对应的可占用资源量,统计所述键对应键值对在所述计算集群中计算节点上的分布;通过所统计的分布结果,构建所述键与所述计算集群中计算节点之间的映射函数;根据所构建的映射函数,将所述键对应的键值对分配至所述计算集群中的计算节点。根据本专利技术实施例的一方面,一种数据分配装置,适用于计算集群中的控制节点,所述计算集群还包括计算节点,所述装置包括:数据总量获取模块,用于确定进行图计算需要执行的数据操作,根据所确定的数据操作获取对应的数据总量;可占用资源量获取模块,用于将所确定数据操作的操作类型及对应的数据总量输入至深度学习模型,得到所述计算集群中计算节点对应的可占用资源量;键值对数量获取模块,用于根据所确定的数据操作获取键对应的键值对,由所述键对应的键值对计算所述键的键值对数量;键值对分布统计模块,用于基于所述键的键值对数量和所述计算集群中计算节点对应的可占用资源量,统计所述键对应键值对在所述计算集群中计算节点上的分布;映射函数构建模块,用于通过所统计的分布结果,构建所述键与所述计算集群中计算节点之间的映射函数;键值对分配模块,用于根据所构建的映射函数,将所述键对应的键值对分配至所述计算集群中的计算节点。根据本专利技术实施例的一方面,一种计算集群,所述计算集群包括控制节点和计算节点,其中,所述控制节点,用于确定进行图计算需要执行的数据操作,根据所确定的数据操作获取对应的数据总量;所述控制节点,还用于将所确定数据操作的操作类型及对应的数据总量输入至深度学习模型,得到所述计算集群中计算节点对应的可占用资源量;所述控制节点,还用于根据所确定的数据操作获取键对应的键值对,由所述键对应的键值对计算所述键的键值对数量;所述控制节点,还用于基于所述键的键值对数量和所述计算集群中计算节点对应的可占用资源量,统计所述键对应键值对在所述计算集群中计算节点上的分布;所述控制节点,还用于通过所统计的分布结果,构建所述键与所述计算集群中计算节点之间的映射函数;所述控制节点,还用于根据所构建的映射函数,将所述键对应的键值对分配至所述计算集群中的计算节点;所述计算节点,用于根据分配到的所述键对应键值对,执行所述数据操作。根据本专利技术实施例的一方面,一种计算机设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的数据分配方法。根据本专利技术实施例的一方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据分配方法。在上述技术方案中,在执行图计算需要的数据操作之前,首先预测计算集群中计算节点对应的可占用资源量,然后结合预测的可占用资源量动态决定数据应该如何分配给计算集群中的计算节点,以此避免现有技术中存在的数据分配不均衡的问题。具体地,控制节点根据图计算需要执行的数据操作获取对应的数据总量,以将该数据操作的操作类型及对应的数据总量输入至深度学习模型,得到计算集群中计算节点对应的可占用资源量,并根据该数据操作获取键对应的键值对,由此得到键的键值对数量,进而基于键的键值对数量和计算集群中计算节点对应的可占用资源量,进行键对应键值对在计算集群中计算节点上的分布统计,通过统计的分布结果构建键与计算集群中计算节点之间的映射函数,从而基于该映射函数将键对应的键值对分配至计算集群中的计算节点,由此,只要数据操作发生变化,计算集群中计算节点对应的可占用资源量、分布结果、映射函数都将随之相应地变化,那么,键对应键值对所分配到的计算节点也可能有所不同,从而保证了数据分配均衡。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。图1是根据本专利技术所涉及的实施环境的示意图。图2是根据一示例性实施例示出的一种服务器的硬件结构框图。图3是根据一示例性实施例示出的一种数据分配方法的流程图。图4是图3对应实施例中步骤390在一个实施例的流程图。图5是图3对应实施例中步骤330在一个实施例的流程图。图6是图5对应实施例所涉及的神经网络模型的模型结构示意图。图7是根据一示例性实施例示出的另一种数据分配方法的流程图。图8是图7对应实施例中步骤410在一个实施例的流程图。图9是图7对应实施例中步骤410在另一个实施例的流程图。图10是图3对应实施例中步骤350在一个实施例的流程图。图11是图3对应实施例中步骤370在一个实施例的流程图。图12是图11对应实施例中步骤375在一个实施例的流程图。图13是一具体实施例所涉及的Spark计算集群框架的示意图。图14是图13对应具体实施例示出的一种数据分配方法的流程图。图15是根据一示例性实施例示出的一种数据分配装置的框图。图16是根据一示例性实施例示出的一种应用于数据分配的模型训练装置的框图。图17是根据一示例性实施例示出的一种计算机设备的框图。通过上述附图,已示出本专利技术明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本专利技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本专利技术的概念。具体实施方式这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在社交网络、商品推荐、线上广告等业务场景中,本文档来自技高网...

【技术保护点】
1.一种数据分配方法,其特征在于,应用于计算集群,所述计算集群包括控制节点和计算节点,所述方法包括:所述控制节点确定进行图计算需要执行的数据操作,根据所确定的数据操作获取对应的数据总量;将所确定数据操作的操作类型及对应的数据总量输入至深度学习模型,得到所述计算集群中计算节点对应的可占用资源量;根据所确定的数据操作获取键对应的键值对,由所述键对应的键值对计算所述键的键值对数量;基于所述键的键值对数量和所述计算集群中计算节点对应的可占用资源量,统计所述键对应键值对在所述计算集群中计算节点上的分布;通过所统计的分布结果,构建所述键与所述计算集群中计算节点之间的映射函数;根据所构建的映射函数,将所述键对应的键值对分配至所述计算集群中的计算节点。

【技术特征摘要】
1.一种数据分配方法,其特征在于,应用于计算集群,所述计算集群包括控制节点和计算节点,所述方法包括:所述控制节点确定进行图计算需要执行的数据操作,根据所确定的数据操作获取对应的数据总量;将所确定数据操作的操作类型及对应的数据总量输入至深度学习模型,得到所述计算集群中计算节点对应的可占用资源量;根据所确定的数据操作获取键对应的键值对,由所述键对应的键值对计算所述键的键值对数量;基于所述键的键值对数量和所述计算集群中计算节点对应的可占用资源量,统计所述键对应键值对在所述计算集群中计算节点上的分布;通过所统计的分布结果,构建所述键与所述计算集群中计算节点之间的映射函数;根据所构建的映射函数,将所述键对应的键值对分配至所述计算集群中的计算节点。2.如权利要求1所述的方法,其特征在于,所述深度学习模型为神经网络模型,所述神经网络模型包括输入层、若干全连接层和输出层;所述将所确定数据操作的操作类型及对应的数据总量输入至神经网络模型,得到所述计算集群中计算节点对应的可占用资源量,包括:将所确定数据操作的操作类型及对应的数据总量,输入至所述神经网络模型的输入层进行特征提取;在所述神经网络模型的若干全连接层中进行特征传播;通过所述神经网络模型的输出层对所传播的特征进行可占用资源量预测,得到所述计算集群中计算节点对应的可占用资源量。3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:进行所述深度学习模型的训练;所述进行所述深度学习模型的训练,包括:获取进行标签标注的训练数据,所述标签用于指示所述计算集群中计算节点针对已完成数据操作实际分配的数据量;根据所述训练数据和所述深度学习模型的参数构建损失函数;在所述损失函数通过所述深度学习模型的反向传播收敛时,完成所述深度学习模型的训练。4.如权利要求3所述的方法,其特征在于,所述获取进行标签标注的训练数据,包括:获取所述计算集群中计算节点针对已完成数据操作实际分配的数据量;针对所述已完成数据操作,将所述计算集群中计算节点实际分配到的数据量相加,得到所述已完成数据操作对应的数据总量;以所述计算集群中计算节点针对已完成数据操作实际分配的数据量作为所述标签,对所述已完成数据操作的操作类型及对应的数据总量进行标注,得到所述训练数据。5.如权利要求4所述的方法,其特征在于,所述获取进行标签标注的训练数据,还包括:基于操作类型相同的已完成数据操作,获取对应的处理时间;在操作类型相同的已完成数据操作所对应数据总量中,根据获取到的处理时间进行筛选,通过筛选结果进行所述训练数据的标签标注。6.如权利要求1所述的方法,其特征在于,所述根据所确定的数据操作获取键对应的键值对,由所述键对应的键值对计算所述键的键值对数量,包括:将所述键对应的键值对随机分配至所述计算集群中的计算节点;在所述计算集群中的计算节点上,计算随机分配到所述键对应键值对的数量;将所述计算集群中计算节点计算得到的数量相加,得到所述键的键值对数量。7.如权利要求6所述的方法,其特征在于,所述根据所确定的数据操作获取键对应的键值对,由所述键对应的键值对计算所述键的键值对数量,还包括:如果所述键的键值对数量大于所述计算集群中计算节点对应的可占用资源量之和,则将所述键的键值对数量超出部分进行存储,以控制所述超出部分进行后一次的数据分配。8.如权利要求1所述的方法,其特征在于,所述基于所述键的键值对数量和所述计算集群中计算节点对应的可占用资源量,统计所述键对应键值对在所述计算集群中计算节点上的分布,包括:对键标识不同的若干键进行遍历,以遍历到的键作为当前键;根据所述当前键的键值对数量确定为所述当前键分配的目标资源量;根据所述目标资源量,从所述计算集群的计算节点中选取目标计算节点,所述目标计算节点对应的可占用资源量不小于所述目标资源量;存储所述当前键与所述目标计算节点之间的映射关系,通过所存储的映射关系完成所述当前键对应键值对在所述计算集群中计算节点上的分布统计。9.如权利要求8所述的方法,...

【专利技术属性】
技术研发人员:张长旺韩笑天张纪红
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1