本发明涉及云计算数据中心资源调度领域,具体涉及一种分布式资源调度方法。
背景技术:
随着云计算技术及企业信息化建设的发展,集群规模越来越大,服务器数量不断增多,维护数千万级以上的服务器已经成为一种常态,然而这种大规模的集群却普遍存在资源利用率低的问题,主要体现在:为满足峰值资源需求,业务只能以最大资源部署应用;业务间隔离封闭无法资源共享,无法资源交叉利用;不同业务都需要做到资源缓冲,迅速扩容,这样总空闲资源较多。如何分配集群内的计算资源是云计算数据中心技术领域面临的重要问题。为了提高集群内服务器的利用率,实现动态资源共享,需要调度系统进行集群内的任务资源的调度。
技术实现要素:
为解决上述问题,本发明提出了一种面向分布式系统资源分配的调度策略的实现方法。
本发明的技术方案是:一种分布式资源调度方法,包括以下步骤:
s1:划分任务单元,定义节点;
s2:获取集群中的所有节点,组成初始节点列表;
s3:依次选取一个任务单元进行调度;
s3.1:从初始节点列表中筛选过滤掉不符合要求的节点,将符合要求的节点组成待分配节点列表;
s3.2:对待分配节点列表中的所有节点进行打分;
s3.3:根据打分结果从待分配节点列表中选取最优节点,并在该节点上为选取的待调度任务单元分配所需资源。
进一步地,步骤s1中所述划分任务单元是指对每一个任务根据任务组成划分为任务单元。
进一步地,步骤s1中所述定义节点是指以主机为单位定义节点。
进一步地,主机为服务器或虚拟机。
进一步地,步骤s3.2中根据资源使用情况对节点进行打分。
本发明提供的分布式资源调度方法,对任务单位和资源单位进行划分,并通过采用先筛选打分后算法的策略进行资源调度,实现了为“任务单元”选择最佳“节点”的调度过程,在提升资源利用率的同时,保证了系统的服务质量。
附图说明
图1是本发明具体实施例方法流程示意图。
图2是本发明具体实施例筛选节点示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
本实施例提供的分布式资源调度方法,首先把任务基本调度单位划分为任务单元,把资源基本分配单位划分节点,然后资源调度过程即为“任务单元”选择最佳“节点”的过程。调度策略采用先筛选打分后算法的方式进行资源调度,完成为任务分配合理分布式资源并保障任务可靠性运行过程。
调度的过程分两步:首先做筛选,其次打分。筛选步骤解决节点是否符合任务单元要求的问题,通过资源筛选规则过滤掉不符合要求的节点;打分步骤解决适合该任务单元的最佳节点的问题,对筛选出的符合要求的节点进行打分,选出分数最高的节点。
如图1和2所示,本实施例提供的分布式资源调度方法,具体包括以下步骤:
s1:划分任务单元,定义节点;
s2:获取集群中的所有节点,组成初始节点列表;
s3:依次选取一个任务单元进行调度。
其中,步骤s3中对任务单元进行调度具体包括以下步骤:
s3.1:从初始节点列表中筛选过滤掉不符合要求的节点,将符合要求的节点组成待分配节点列表;
s3.2:对待分配节点列表中的所有节点进行打分;
s3.3:根据打分结果从待分配节点列表中选取最优节点,并在该节点上为选取的待调度任务单元分配所需资源。
步骤s1中划分任务单元可以是每一个任务根据任务组成划分为任务单元。一般一个任务会分为不同的模块(或者步骤),如果一个或者几个模块与其他模块是松耦合的,即可为一个单元。实施者也可根据具体的任务内容具体划分任务单元。
本实施例中可以主机为单位定义节点,主机可以为服务器或虚拟机等。
对节点进行筛选时,实施者可根据具体任务内容对节点进行筛选,过滤掉不符合要求的节点。而对节点进行打分时,可根据资源使用情况对节点进行打分,从而选出最优节点,以提高资源利用率。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。