一种资源分配方法和系统的制作方法
【技术领域】
[0001]本发明涉及云计算技术领域,尤其涉及的是一种资源分配方法和系统。
【背景技术】
[0002]云计算具有资源按需提供的特征,该方式灵活高效的实现了资源的按需分配,并提高了资源利用率,降低了运营成本。目前,以虚拟化技术为基础的云计算资源分配方法,主要以虚拟机为粒度,对应用进行资源分配。
[0003]由于用户对虚拟机上的不同资源的需求时间存在差异,因此,将虚拟机分配给一个应用后,该应用对虚拟机上的各种资源的占用期可能不同,导致虚拟机上的不同资源存在不同的空闲期。当新的应用任务(负载)到达时,如果以虚拟机为单位为新应用配置资源,则很难利用到已有虚拟机上的闲置资源,导致资源浪费。
[0004]因此,相关的资源分配方式存在资源浪费,资源利用率低。
【发明内容】
[0005]本发明所要解决的技术问题是提供一种资源分配方法和系统,能够实现虚拟机资源复用,提高数据中心的资源利用率。
[0006]为了解决上述技术问题,本发明提供了一种资源分配方法,该方法包括:
[0007]确定任务需求的资源种类、每一种资源的需求量和需求时段;
[0008]对所述任务的任意一种资源需求,确定在所述任务的需求时段内能够提供该种资源服务的虚拟机,将所述虚拟机组成候选虚拟机集合;
[0009]对所述任务的任意一种资源需求,从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量。
[0010]进一步地,该方法还包括下述特点:
[0011]从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量,包括:
[0012]将所述候选虚拟机集合中的N台虚拟机按照该种资源的提供能力由强到弱进行排序,资源提供能力越强的虚拟机排在越前面;
[0013]在所述候选虚拟机集合中,按照从前往后的顺序依次挑出虚拟机,当挑选出的m台虚拟机能够提供的资源总量大于或等于所述任务对该种资源的需求量时,结束挑选;其中,m大于或等于I且小于或等于N ;N大于或等于I。
[0014]进一步地,该方法还包括下述特点:
[0015]虚拟机的资源提供能力包括:虚拟机上该种资源的剩余量。
[0016]进一步地,该方法还包括下述特点:
[0017]从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量,包括:
[0018]将所述候选虚拟机集合中的N台虚拟机按照虚拟机上该种资源开始空闲的时刻从早到晚的顺序进行排序,虚拟机上该种资源开始空闲的时刻越早的虚拟机排在越前面;
[0019]在所述候选虚拟机集合中,按照从前往后的顺序依次挑出虚拟机,当挑选出的m台虚拟机能够提供的资源总量大于或等于所述任务对该种资源的需求量时,结束挑选;其中,m大于或等于I且小于或等于N ;N大于或等于I。
[0020]为了解决上述技术问题,本发明还提供了一种资源分配系统,包括:
[0021]任务分析模块,用于确定任务需求的资源种类、每一种资源的需求量和需求时段;
[0022]虚拟机预选模块,用于对所述任务的任意一种资源需求,确定在所述任务的需求时段内能够提供该种资源服务的虚拟机,将所述虚拟机组成候选虚拟机集合;
[0023]虚拟机终选模块,用于对所述任务的任意一种资源需求,从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量。
[0024]进一步地,该系统还包括下述特点:
[0025]虚拟机终选模块,用于从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量,包括:
[0026]将所述候选虚拟机集合中的N台虚拟机按照该种资源的提供能力由强到弱进行排序,资源提供能力越强的虚拟机排在越前面;
[0027]在所述候选虚拟机集合中,按照从前往后的顺序依次挑出虚拟机,当挑选出的m台虚拟机能够提供的资源总量大于或等于所述任务对该种资源的需求量时,结束挑选;其中,m大于或等于I且小于或等于N ;N大于或等于I。
[0028]进一步地,该系统还包括下述特点:
[0029]虚拟机的资源提供能力包括:虚拟机上该种资源的剩余量。
[0030]进一步地,该系统还包括下述特点:
[0031]虚拟机终选模块,用于从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量,包括:
[0032]将所述候选虚拟机集合中的N台虚拟机按照虚拟机上该种资源开始空闲的时刻从早到晚的顺序进行排序,虚拟机上该种资源开始空闲的时刻越早的虚拟机排在越前面;
[0033]在所述候选虚拟机集合中,按照从前往后的顺序依次挑出虚拟机,当挑选出的m台虚拟机能够提供的资源总量大于或等于所述任务对该种资源的需求量时,结束挑选;其中,m大于或等于I且小于或等于N ;N大于或等于I。
[0034]与现有技术相比,本发明提供的一种资源分配方法和系统,以资源为粒度,通过多虚拟机协同的资源分配方式,有效保证多虚拟机资源分配的实时性和有效性,能够实现虚拟机资源复用,提高数据中心的资源利用率。
【附图说明】
[0035]图1为本发明实施例的一种资源分配方法的流程图。
[0036]图2为本发明实施例的一种资源分配系统的结构示意图。
【具体实施方式】
[0037]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0038]如图1所示,本发明实施例提供了一种资源分配方法,该方法包括:
[0039]S10,确定任务需求的资源种类、每一种资源的需求量和需求时段;
[0040]S20,对所述任务的任意一种资源需求,确定在所述任务的需求时段内能够提供该种资源服务的虚拟机,将所述虚拟机组成候选虚拟机集合;
[0041 ] S30,对所述任务的任意一种资源需求,从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量。
[0042]所述方法还可以包括下述特点:
[0043]其中,从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量,包括:
[0044]将所述候选虚拟机集合中的N台虚拟机按照该种资源的提供能力由强到弱进行排序,资源提供能力越强的虚拟机排在越前面;
[0045]在所述候选虚拟机集合中,按照从前往后的顺序依次挑出虚拟机,当挑选出的m台虚拟机能够提供的资源总量大于或等于所述任务对该种资源的需求量时,结束挑选;其中,m大于或等于I且小于或等于N ;N大于或等于I。
[0046]其中,虚拟机的资源提供能力包括:虚拟机上该种资源的剩余量;
[0047]其中,从所述候选虚拟机集合中挑选一台或多台虚拟机,使挑选出的虚拟机提供的该种资源的总量大于或等于所述任务对该种资源的需求量,包括:
[0048]将所述候选虚拟机集合中的N台虚拟机按照虚拟机上该种资源开始空闲的时刻从早到晚的顺序进行排序,虚拟机上该种资源开始空闲的时刻越早的虚拟机排在越前面;
[0049]在所述候选虚拟机集合中,按照从前往后的顺序依