分布式系统中作业资源分配方法、装置及设备制造方法及图纸

技术编号:21167142 阅读:31 留言:0更新日期:2019-05-22 09:40
本申请公开了一种用于分布式系统中作业资源分配方法,所述方法包括:确定分布式系统中有依赖关系的数据集合;针对任一所述数据集合,根据数据间依赖关系的大小,将所述数据进行聚类,生成数据子集,并根据作业与数据的依赖关系将作业聚类到相应的数据子集,生成作业及数据子集;确定各作业及数据子集所需计算资源及存储资源;依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,为作业及数据子集分配分布式系统的计算集群。采用上述方法,解决现有技术中存在的不能减少除进行源数据迁移的两个计算集群之外的其他计算集群访问这个源数据的流量以及流量优化效果有限的问题。

Job Resource Allocation Method, Device and Equipment in Distributed System

This application discloses a method for job resource allocation in distributed systems. The method includes: determining data sets that have dependencies in distributed systems; clustering the data according to the size of dependencies among data sets for any data set, generating a subset of data, and clustering jobs into corresponding data according to the dependencies between jobs and data. Subsets, generating jobs and data subsets; determining computing resources and storage resources required by jobs and data subsets; allocating computing clusters of distributed systems for jobs and data subsets based on computing resources and storage resources required by jobs and data subsets, as well as available computing and storage capacity of computing clusters of distributed systems. By using the above method, we can solve the problem that the existing technology can not reduce the flow of the source data accessed by the computing cluster other than the two computing clusters that migrate the source data, and the effect of traffic optimization is limited.

【技术实现步骤摘要】
分布式系统中作业资源分配方法、装置及设备
本申请涉及分布式系统领域,具体涉及一种用于分布式系统中作业资源分配方法及装置,以及一种分布式系统中作业分配方法;以及一种用于分布式系统中作业资源分配的存储设备;以及一种电子设备。
技术介绍
在分布式系统中,通常运行着成千上万的用户作业,这些用户作业在运行的过程中,需要读入存储在计算集群中的源数据进行处理,程序处理完后,也会将结果写入到计算集群中存储,随着业务规模的增加,一方面,由于计算集群计算资源有限(CPU\Memory)的限制,一个计算集群不可能承载无限的用户作业;另一方面,随着用户作业产生的作业增多,计算集群的存储也会成为瓶颈。理论上,只要计算集群能够持续的增加机器,上述问题也能得到解决。但是,由于机房机位容量、机房电量、业务冗灾等一系列因素,一个分布式计算集群不可能无限的扩容,这样就导致了会同时存在多个分布式计算集群,用户作业有可能运行在A计算集群上,但是读取源数据在B计算集群上,这样造成的结果就是在不同的分布式计算集群间,会有大量的数据传输。由于分布式计算集群有可能分布在不同的地理位置,例如有的计算集群在杭州、有的计算集群在北京、有的计算集群在深圳……在不同地域间的带宽费用和传输速度相较于分布式计算集群内部有着非常明显的差距。现有技术中,由于存在一些源数据,本计算集群用户作业对它的流量依赖要小于其他计算集群用户作业对它的数据依赖,将这样的源数据从原来的计算集群迁移到其他对它依赖较大的计算集群,减小了两个集群间的网络流量消耗。如图1所示:虚线左边是一个计算集群,虚线右边是另外一个计算集群。将一个满足上述条件的源数据从左边集群迁移到了右边集群。其中,图中T表示数据,J表示作业。现有技术中的解决方法存在以下缺陷:1、由于一个源数据可能被多个计算集群上的用户作业所依赖,而已有方案只能选择一个计算集群进行数据迁移,故只是降低了两个计算集群间的相对流量,不能减少这两个计算集群之外的其他集群访问这个源数据的流量。2、由于一个计算集群存储是有限的,所以计算集群不可能无限制接收迁移过来的数据,当遇到存储瓶颈时,已有方案只能退而选择次优的计算集群、或者将一部分数据置换到其他集群。而置换操作又会带来新的跨集群数据传输,从而流量优化效果有限。综上所述,现有技术中的解决方法存在不能减少除进行源数据迁移的两个计算集群之外的其他计算集群访问这个源数据的流量以及流量优化效果有限的问题。
技术实现思路
本申请提供一种用于分布式系统中作业资源分配方法,以解决现有技术中存在的不能减少除进行源数据迁移的两个计算集群之外的其他计算集群访问这个源数据的流量以及流量优化效果有限的问题。所述用于分布式系统中作业资源分配方法,其特征在于,包括:确定分布式系统中有依赖关系的数据集合;针对任一所述数据集合,根据数据间依赖关系的大小,将所述数据进行聚类,生成数据子集,并根据作业与数据的依赖关系将作业聚类到相应的数据子集,生成作业及数据子集;确定各作业及数据子集所需计算资源及存储资源;依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,为作业及数据子集分配分布式系统的计算集群。可选的,所述分布式系统中有依赖关系的数据集合包括:将分布式系统中的数据均视为节点,数据与数据之间的依赖关系视为联通子图的边,将所述分布式系统分割为至少一个联通子图;任一联通子图视为分布式系统中有依赖关系的数据集合。可选的,所述针对任一所述数据集合,根据数据间依赖关系的大小,将所述数据进行聚类,生成数据子集,并根据作业与数据的依赖关系将作业聚类到相应的数据子集,生成作业及数据子集,包括:针对任一所述包含数据的联通子图,根据数据节点间依赖关系的大小,将所述各数据节点进行聚类,生成簇,并根据作业与数据的依赖关系将作业聚类到相应的簇。可选的,所述针对任一所述包含数据的联通子图,根据数据节点间依赖关系的大小,将所述各数据节点进行聚类,生成簇,包括:遍历所述联通子图的数据节点,对于遍历到的任一数据节点,按照设定的标准判断该数据节点是否为簇中心;将满足所述设定标准的数据节点作为簇中心;将不满足所述设定标准的数据节点归属到与其相关性最大的簇中心所在的簇。可选的,所述遍历所述联通子图的数据节点,对于遍历到的任一数据节点,按照设定的标准判断该数据节点是否为簇中心,具体为:按照数据节点密度由高到底的顺序遍历所述联通子图的数据节点,对于遍历到的任一数据节点,并根据设定的标准判断该数据节点是否为簇中心;其中,所述密度为联通子图中的数据节点的流入流量与流出流量的和。可选的,所述按照数据节点密度由高到底的顺序遍历所述联通子图的数据节点,对于遍历到的任一数据节点,并根据设定的标准判断该数据节点是否为簇中心,包括:所述按照数据节点密度由高到底的顺序遍历所述联通子图的数据节点;对于遍历到的任一数据节点,判断该数据节点的密度是否大于与其相连的数据节点的密度;若是,则所述该数据节点为簇中心;若否,则所述该数据节点为不满足所述设定标准的数据节点。可选的,所述将不满足所述设定标准的数据节点归属到与其相关性最大的簇中心所在的簇,包括:将不满足所述设定标准的数据节点归属到与其距离最近的簇中心所在的簇;其中,所述距离,指从某个数据节点到簇中心点的链路中,经历的边权重最小值的倒数。可选的,所述将不满足所述设定标准的数据节点归属到与其距离最近的簇中心所在的簇,包括:当存在两个及以上与不满足所述设定标准的数据节点距离相等的簇中心时,将所述不满足所述设定标准的数据节点归属到任一簇中心。可选的,所述依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,为作业及数据子集分配分布式系统的计算集群,包括:所述依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,以及各作业及数据子集之间的流量依赖关系,为作业及数据子集分配分布式系统的计算集群。可选的,所述依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,以及各作业及数据子集之间的流量依赖关系,为作业及数据子集分配分布式系统的计算集群,包括:按照各作业及数据子集之间的流量依赖关系从高到低排序生成作业及数据子集的流量依赖关系序列,序列中的每个元素包括至少两个具有流量依赖关系的作业及数据子集;依次取出所述关系序列中的每个元素的两个作业及数据子集,执行以下操作:判断是否存在能容纳所述两个作业及数据子集的计算集群;若是,将所述两个作业及数据子集分配到所述计算集群中;若否,将所述两个作业及数据子集放入未分配结构集合中;将所述未分配结构集合中的作业及数据子集随机分配到能容纳所述作业及数据子集的计算集群中。可选的,将所述未分配结构集合中的作业及数据子集随机分配到能容纳所述作业及数据子集的计算集群中的步骤之前,包括:依次取出所述未分配结构集合中的作业及数据子集,执行如下操作:判断是否存在与当前作业及数据子集相匹配的计算集群,若是,将所述当前作业及数据子集分配到所述相匹配的计算集群中。可选的,所述根据作业与数据的依赖关系将作业聚类到相应的数据子集,包括:当与作业有依赖关系的数据聚集到不同的数据子集本文档来自技高网
...

【技术保护点】
1.一种用于分布式系统中作业资源分配方法,其特征在于,包括:确定分布式系统中有依赖关系的数据集合;针对任一所述数据集合,根据数据间依赖关系的大小,将所述数据进行聚类,生成数据子集,并根据作业与数据的依赖关系将作业聚类到相应的数据子集,生成作业及数据子集;确定各作业及数据子集所需计算资源及存储资源;依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,为作业及数据子集分配分布式系统的计算集群。

【技术特征摘要】
1.一种用于分布式系统中作业资源分配方法,其特征在于,包括:确定分布式系统中有依赖关系的数据集合;针对任一所述数据集合,根据数据间依赖关系的大小,将所述数据进行聚类,生成数据子集,并根据作业与数据的依赖关系将作业聚类到相应的数据子集,生成作业及数据子集;确定各作业及数据子集所需计算资源及存储资源;依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,为作业及数据子集分配分布式系统的计算集群。2.根据权利要求1所述的用于分布式系统中作业资源分配方法,其特征在于,所述分布式系统中有依赖关系的数据集合包括:将分布式系统中的数据均视为节点,数据与数据之间的依赖关系视为联通子图的边,将所述分布式系统分割为至少一个联通子图;任一联通子图视为分布式系统中有依赖关系的数据集合。3.根据权利要求2所述的用于分布式系统中作业资源分配方法,其特征在于,所述针对任一所述数据集合,根据数据间依赖关系的大小,将所述数据进行聚类,生成数据子集,并根据作业与数据的依赖关系将作业聚类到相应的数据子集,生成作业及数据子集,包括:针对任一所述包含数据的联通子图,根据数据节点间依赖关系的大小,将所述各数据节点进行聚类,生成簇,并根据作业与数据的依赖关系将作业聚类到相应的簇,每一簇视为一作业及数据子集。4.根据权利要求3所述的用于分布式系统中作业资源分配方法,其特征在于,所述针对任一所述包含数据的联通子图,根据数据节点间依赖关系的大小,将所述各数据节点进行聚类,生成簇,包括:遍历所述联通子图的数据节点,对于遍历到的任一数据节点,按照设定的标准判断该数据节点是否为簇中心;将满足所述设定标准的数据节点作为簇中心;将不满足所述设定标准的数据节点归属到与其相关性最大的簇中心所在的簇。5.根据权利要求4所述的方法,其特征在于,所述遍历所述联通子图的数据节点,对于遍历到的任一数据节点,按照设定的标准判断该数据节点是否为簇中心,具体为:按照数据节点密度由高到底的顺序遍历所述联通子图的数据节点,对于遍历到的任一数据节点,并根据设定的标准判断该数据节点是否为簇中心;其中,所述密度为联通子图中的数据节点的流入流量与流出流量的和。6.根据权利要求5所述的用于分布式系统中作业资源分配方法,其特征在于,所述按照数据节点密度由高到底的顺序遍历所述联通子图的数据节点,对于遍历到的任一数据节点,并根据设定的标准判断该数据节点是否为簇中心,包括:所述按照数据节点密度由高到底的顺序遍历所述联通子图的数据节点;对于遍历到的任一数据节点,判断该数据节点的密度是否大于与其相连的数据节点的密度;若是,则所述该数据节点为簇中心;若否,则所述该数据节点为不满足所述设定标准的数据节点。7.根据权利要求4所述的用于分布式系统中作业资源分配方法,其特征在于,所述将不满足所述设定标准的数据节点归属到与其相关性最大的簇中心所在的簇,包括:将不满足所述设定标准的数据节点归属到与其距离最近的簇中心所在的簇;其中,所述距离,指从某个数据节点到簇中心点的链路中,经历的边权重最小值的倒数。8.根据权利要求7所述的用于分布式系统中作业资源分配方法,其特征在于,所述将不满足所述设定标准的数据节点归属到与其距离最近的簇中心所在的簇,包括:当存在两个及以上与不满足所述设定标准的数据节点距离相等的簇中心时,将所述不满足所述设定标准的数据节点归属到任一簇中心。9.根据权利要求1-8任一所述的用于分布式系统中作业资源分配方法,其特征在于,所述依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,为作业及数据子集分配分布式系统的计算集群,包括:所述依据各作业及数据子集所需计算资源及存储资源,以及分布式系统的各计算集群可用计算容量和存储容量,以及各作业及数据子集...

【专利技术属性】
技术研发人员:张杨
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1