一种数据中心的任务调度方法及装置与流程

文档序号:17988692发布日期:2019-06-22 00:36阅读:171来源:国知局
一种数据中心的任务调度方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种数据中心的任务调度方法及装置。



背景技术:

随着互联网、云计算等信息技术的发展,数据中心的规模在不断增加,资源消耗也在不断增加。据统计,数据中心的耗电量占全球电力总消耗的1%,可见数据中心具有巨大的电力消耗。因而,数据中心的节能和资源最大化利用成为了节能研究的重要内容。

服务器以及服务器对应的辅助设备(例如空调、新风系统和照明设备等)是数据中心的主要耗电设备。服务器一般为常年运行,为了保障服务器的正常运行,与服务器相对应的辅助设备也需常年开启。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

即使服务器在没有计算任务或者处于低任务负荷的情况下,服务器仍保持高速运行,这导致了电力浪费。进一步地,在服务器保持高速运行时,辅助设备也将满负荷开启,这造成了大量的电力浪费。



技术实现要素:

本发明提供一种数据中心的任务调度方法及装置,可减少数据中心运行的服务器及其对应的辅助设备的数量,从而降低了数据中心的电力消耗。

为达到上述目的,本发明实施例采用如下技术方案:

第一方面,本发明提供了一种数据中心的任务调度方法,包括:

确定至少两个服务器的当前任务负荷及空间位置;

根据每一个所述服务器的所述当前任务负荷及空间位置,对所述服务器上的任务进行迁移,以将各个所述服务器中至少一个目标服务器上的任务全部迁移至除自身以外的至少一个所述服务器上;

关闭所述目标服务器以及与所述目标服务器的所述空间位置相对应的辅助设备。

优选地,

所述根据每一个所述服务器的所述当前任务负荷及所述空间位置,对所述服务器上的任务进行迁移,包括:

根据每一个所述服务器的所述当前任务负荷及预设的任务负荷阈值,确定每一个所述服务器的可迁移任务量;

根据每一个所述服务器的空间位置以及所述可迁移任务量,确定第一目标区域;其中,位于所述第一目标区域中的各个所述服务器中,每两个所述服务器之间的距离不大于预设第一距离阈值,且位于所述第一目标区域中的各个所述服务器的可迁移任务量的总和不小于所述至少一个目标服务器的当前任务负荷的总和;

将所述目标服务器上的任务全部迁移至位于所述第一目标区域中的各个所述服务器上。

优选地,

当确定的所述第一目标区域的数量为至少两个时,所述将所述目标服务器上的任务全部迁移至位于所述第一目标区域中的各个所述服务器上,包括:

针对每个所述第一目标区域,确定所述第一目标区域中各个所述服务器的可迁移任务量的总和;

将所述目标服务器上的任务全部迁移至所述可迁移任务量的总和最小的所述第一目标区域中的各个所述服务器上。

优选地,

所述根据每一个所述服务器的所述当前任务负荷以及空间位置,对所述服务器上的任务进行迁移,包括:

确定各个所述服务器上的任务分别对应的标识信息;其中,所述标识信息指示了所述任务对应的执行位置;

从所述至少两个服务器中,确定与所述执行位置相对应的执行服务器;

根据所述执行服务器的空间位置,确定第二目标区域;其中,位于所述第二目标区域中的各个所述服务器与所述执行服务器之间的距离不大于预设的第二距离阈值;

将除所述执行服务器以外的各个所述服务器上的任务迁移至位于所述第二目标区域中的各个所述服务器上。

优选地,

进一步包括:

接收新增任务;

确定迁移后各个所述任务所在的至少一个当前服务器,以及所述当前服务器所在的当前区域;

确定所述至少一个当前服务器对应的可迁移任务量的总和是否大于所述新增任务对应的新增负荷;

如果是,则将所述新增任务部署至所述当前区域中的各个所述服务器上;

如果否,根据所述当前区域的空间位置,确定与所述当前区域相邻的当前目标区域,并将所述新增任务部署至所述当前目标区域中的各个所述服务器上。

第二方面,本发明提供了一种数据中心的任务调度装置,包括:确定模块、任务迁移模块和设备管理模块,其中,

所述确定模块,用于确定至少两个服务器的当前任务负荷及空间位置;

所述任务迁移模块,用于根据每一个所述服务器的所述当前任务负荷及空间位置,对所述服务器上的任务进行迁移,以将各个所述服务器中至少一个目标服务器上的任务全部迁移至除自身以外的至少一个所述服务器上;

所述设备管理模块,用于关闭所述目标服务器以及与所述目标服务器的所述空间位置相对应的辅助设备。

优选地,

所述任务迁移模块包括:迁移量确定单元、第一目标区域确定单元和第一任务调度单元;其中,

所述迁移量确定单元,用于根据每一个所述服务器的所述当前任务负荷及预设的任务负荷阈值,确定每一个所述服务器的可迁移任务量;

所述第一目标区域确定单元,用于根据每一个所述服务器的空间位置以及所述可迁移任务量,确定第一目标区域;其中,位于所述第一目标区域中的各个所述服务器中,每两个所述服务器之间的距离不大于预设第一距离阈值,且位于所述第一目标区域中的各个所述服务器的可迁移任务量的总和不小于所述至少一个目标服务器的当前任务负荷的总和;

所述第一任务调度单元,用于将所述目标服务器上的任务全部迁移至位于所述第一目标区域中的各个所述服务器上。

优选地,

所述任务迁移模块,用于当确定的所述第一目标区域的数量为至少两个时,针对每个所述第一目标区域,确定所述第一目标区域中各个所述服务器的可迁移任务量的总和;将所述目标服务器上的任务全部迁移至所述可迁移任务量的总和最小的所述第一目标区域中的各个所述服务器上。

优选地,

所述任务迁移模块包括:标识确定单元、第二目标区域确定单元和第二任务调度单元;其中,

所述标识确定单元,用于确定各个所述服务器上的任务分别对应的标识信息;其中,所述标识信息指示了所述任务对应的执行位置;

所述第二目标区域确定单元,用于从所述至少两个服务器中,确定所述执行位置相对应的执行服务器,并根据所述执行服务器的空间位置,确定第二目标区域;其中,位于所述第二目标区域中的各个所述服务器与所述执行服务器之间的距离不大于预设的第二距离阈值;

所述第二任务调度单元,用于将除所述执行服务器以外的各个所述服务器上的任务迁移至位于所述第二目标区域的各个服务器上。

优选地,

进一步包括:新增任务部署模块;其中,

所述新增任务部署模块,用于接收新增任务,并确定迁移后各个所述任务所在的至少一个当前服务器,以及所述当前服务器所在的当前区域;确定所述至少一个当前服务器对应的可迁移任务量的总和是否大于所述新增任务对应的新增负荷;如果是,则将所述新增任务部署至所述当前区域中的各个所述服务器上;如果否,根据所述当前区域的空间位置,确定与所述当前区域相邻的当前目标区域,并将所述新增任务部署至所述当前目标区域中的各个所述服务器上。

本发明提供一种数据中心的任务调度方法及装置,在确定服务器当前任务负荷的基础上,结合服务器的空间位置,对服务器上的任务进行迁移,使得接收迁移任务的服务器除了执行自身的任务外,还执行由目标服务器迁移而来的任务。也就是说,在任务迁移前利用两个或多个服务器执行的任务,在利用本发明提供的任务调度方法或装置进行任务迁移后,仅需一个服务器即可执行。由此,通过关闭任务被迁移后的目标服务器以及其对应的辅助设备,可减少数据中心内运行的服务器和辅助设备的数量,从而避免了数据中心的电力浪费,进而降低了数据中心的电力消耗。

附图说明

为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的一种数据中心的任务调度方法的流程示意图;

图2为本发明一实施例提供的一种数据中心的机房服务器分布图;

图3为本发明另一实施例提供的一种数据中心的任务调度方法的流程示意图;

图4为本发明又一实施例提供的一种数据中心的任务调度方法的流程示意图;

图5为本发明再一实施例提供的一种数据中心的任务调度方法的流程示意图;

图6为本发明一实施例提供的一种数据中心的任务调度装置的结构示意图;

图7为本发明另一实施例提供的一种数据中心的任务调度装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种数据中心的任务调度方法,包括:

步骤101,确定至少两个服务器的当前任务负荷及空间位置。

具体地,可根据数据中心中服务器的性能参数,如服务器上正在执行任务的数量、cpu利用率、磁盘吞吐量、内存使用率等,来确定服务器的当前任务负荷。服务器的空间位置可通过数据中心的资产管理模块来确定,例如通过查询资产模块中存储的数据中心的分布图,确定数据中心中各个服务器的空间位置。

步骤102,根据每一个所述服务器的所述当前任务负荷及空间位置,对所述服务器上的任务进行迁移,以将各个所述服务器中至少一个目标服务器上的任务全部迁移至除自身以外的至少一个所述服务器上。

根据每一个服务器的当前任务负荷以及服务器的空间位置,选择合适的目标服务器作为待迁移的服务器,例如,可选择当前任务负荷较低的服务器作为目标服务器,将目标服务器上的任务迁移至其他服务器上,使得目标服务器处于空闲状态,即负载有任务的服务器数量减少。

为了便于对任务进行迁移,可建立虚拟机环境,由虚拟机执行各个任务。而由于虚拟机可以放置在任意的实体服务器上并且可迁移,因此可采用迁移虚拟机的方式实现任务的迁移。

步骤103,关闭所述目标服务器以及与所述目标服务器的空间位置相对应的辅助设备。

在目标服务器上的任务已被迁移至其他服务器之后,目标服务器处于空闲状态,则可关闭目标服务器。同时,关闭其周边的辅助设备,如空调、风机、照明等。

在上述实施例中,在确定服务器当前任务负荷的基础上,结合服务器的空间位置,对服务器上的任务进行迁移,使得接收迁移任务的服务器除了执行自身的任务外,还执行由目标服务器迁移而来的任务。也就是说,在任务迁移前利用两个或多个服务器执行的任务,在利用本发明提供的任务调度方法或装置进行任务迁移后,仅需一个服务器即可执行。由此,通过关闭任务被迁移后的目标服务器以及其对应的辅助设备,可减少数据中心内运行的服务器和辅助设备的数量,从而避免了数据中心的电力浪费,进而降低了数据中心的电力消耗。

参见图2,在一种可能的实现方式中,本发明实施例提供的数据中心的任务调度方法,可以包括的以下步骤:

步骤201,确定至少两个服务器的当前任务负荷及空间位置。

如图3所示,现有的一个需要任务调度的数据中心机房共3层,每一层又根据辅助设备控制系统的位置,设有a、b、c三个分区,每个分区的服务器共用一套辅助设备。每一层均设置有100个服务器,其中20个分布于a区、编号为1-20号,30个位于b区、编号为1-30号,50个位于c区、编号为1-50号。每个服务器上均可以执行计算任务,且每个服务器最多可执行100个任务,即可执行任务的数量为100。在确定当前任务负荷时,可根据服务器上待执行任务的数量来确定,即所述当前任务负荷为服务器现执行任务的数量,如若某一服务器的现执行任务的数量为50,则该服务器的当前任务负荷为50。

下面以现有数据中心内共有90个服务器负载有任务,且当前任务负荷均为30,其余210个服务器的当前任务负荷均为0为例,对本发明实施例提供的任务调度方法进行继续说明。其中,负载有任务的90个服务器中,30个位于1层b区,30个位于2层b区,另有30个位于3层b区。

步骤202,根据每一个所述服务器的所述当前任务负荷及预设的任务负荷阈值,确定每一个所述服务器的可迁移任务量。

所述预设的任务负荷阈值,可以为服务器可执行任务的最大数量(在此例中即为100),也可以为根据实际需要设定的值,仅需满足设定的任务负荷阈值不大于服务器可执行任务的最大数量。例如,为保证一些核心服务器的运算速度,可设定其预设的任务负荷阈值为80,即服务器的当前任务负荷也不会超过80。

服务器的可迁移任务量为预设的任务负荷阈值与当前任务负荷的差值,以任务负荷阈值为100为例,当前任务负荷均为30的90个服务器中,每一个服务器的可迁移任务量为70,当前任务负荷为0的210个服务器中,每一个服务器的可迁移任务量为100。

步骤203,根据每一个所述服务器的空间位置以及所述可迁移任务量,确定第一目标区域;其中,位于所述第一目标区域中的各个所述服务器中,每两个所述服务器之间的距离不大于预设第一距离阈值,且位于所述第一目标区域中的各个所述服务器的可迁移任务量的总和不小于所述至少一个目标服务器的当前任务负荷的总和。

所述服务器的空间位置,包括服务器在机房的楼层、分区、具体编号等信息。预设第一距离阈值为按照实际情况设定的条件,使得处于第一目标区域的各个服务器的分布位置相对集中,例如使得处于第一目标区域的各个服务器可共用同一套辅助设备,或者处于第一目标区域的各个服务器处于同一楼层或者同一楼层的某个分区内,或者处于第一目标区域的各个服务器虽处于不同楼层,但处于相同的分区内。

以第一目标区域的位置条件为同一楼层的一个分区为例,结合每一个服务器的空间位置可知,90个负载有任务的服务器中,30个位于1层b区,30个位于2层b区,另有30个位于3层b区。根据服务器的当前任务负荷及可迁移任务量可知,1层b区、1层c区、2层b区、2层c区、3层b区、3层c区等,均可作为第一目标区域。以1层c区作为第一目标区域为例,则此时目标服务器为未位于1层c区的其他位置的服务器(即位于1层b区、2层b区、3层b区的服务器)。1层c区内的各个所述服务器对应的可迁移任务量总和为5000,大于目标服务器的当前任务负荷的总和,即1层b区、2层b区、3层b区的当前任务负荷的总和(2700),因此1层c区可用于完成任务的迁移。

步骤204,将所述目标服务器上的任务全部迁移至位于所述第一目标区域中的各个所述服务器上。

在选定了1层c区为第一目标区域的情况下,将目标服务器(即30个位于1层b区、30个位于2层b区、30个位于3层b区的目标服务器)上的任务上的任务迁移至1层c区。

步骤205,关闭所述目标服务器以及与所述目标服务器的空间位置相对应的辅助设备。

在完成任务迁移后,负载有任务的服务器均集中位于同一楼层的同一分区,即1层c区内,且该域内的服务器均共用同一套辅助设备。基于此,可以关闭1层b区、2层b区、3层b区的服务器及对应的辅助设备,同时还可以关闭,其他空闲的,且位于运行状态的服务器及对应的辅助设备。

可以理解的是,目标服务器为需进行任务迁移的服务器,其可以包括未位于第一目标区域内的其他服务器,还可以包括位于第一目标区域内的服务器。也就是说,位于第一目标区域内的各个服务器之间可根据实际需要互相进行任务迁移。例如,第一目标区域内的服务器甲的当前任务负荷为10,第一目标区域内的服务器乙的当前任务负荷为90,则可将服务器甲上的任务迁移至服务器乙上,以使服务器甲处于空闲状态,进而关闭服务器甲。在此例中,将服务甲上的任务迁移至服务器乙上,而并非将服务器乙上的任务迁移至服务器甲上,这是因为服务器甲的当前任务负荷小于服务器乙的当前任务负荷,也就是说,对服务器甲上的任务进行迁移,可使得迁移的任务量较少,这有助于提高任务调度的效率。

为了进一步提高任务调度的效率,基于如图2所示的任务调度方法,本发明实施例提供了另一种任务调度方法,其流程示意图可参见图4。在本实施例中,其他步骤均与图2所示的实施例相同,此处不再赘述。二者的不同之处在于,当确定出的所述第一目标区域的数量为至少两个时,步骤204的具体实施方式为:

步骤2041,针对每个所述第一目标区域,确定所述第一目标区域中各个所述服务器对应的可迁移任务量的总和。

参见图3,可选择的第一目标区域有多个,如1层b区、1层c区、2层b区、2层c区、3层b区、3层c区等,均可以作为第一目标区域。经计算可知,选择1层b区、2层b区、3层b区中任一区域作为第一目标区域时,对应的可迁移任务量的总和均为1800;而选择1层c区、2层c区、3层c区中的任一区域作为第一目标区域时,对应的可迁移任务量的总和均为2700。

步骤2042,将所述目标服务器上的任务全部迁移至所述可迁移任务量的总和最小的所述第一目标区域中的各个所述服务器上。

相比较而言,选择1层b区、2层b区、3层b区中任一个区域作为第一目标区域时,对应的可迁移任务量的总和较小。因此,为进一步降低任务迁移过程中产能的能耗,优先从1层b区、2层b区、3层b区中选择一个区域作为第一目标区域,以便进行后续服务器任务的迁移。

在任务迁移过程中,发现某些任务无法进行迁移,例如需要在特定位置的特定服务器上执行的任务,如由于运算速度的需求,某些任务需要在指定服务器上完成;或者需要紧急完成而无法接受任务迁移带来的延迟的任务。若存在无法迁移的任务,则在任务迁移过程中需优先对其进行考虑。基于此,参见图5,本发明一个实施例提供了另一种任务调度方法。该方法与如图1所示的方法基本相同,不同之处在于,步骤102的具体实施方式为:

步骤1021,确定各个所述服务器上的任务分别对应的标识信息;其中,所述标识信息指示了所述任务对应的执行位置和/或执行结束时刻。

所述标识信息,用于识别服务器上可迁移任务的优先级,或者确定服务器上的任务是否为可迁移的、可以即时迁移的。根据实际情况,当存在特殊的运算需求,如运算速度、运算时间等限制时,在一些服务器上执行的任务可能无法进行迁移或者无法即时迁移。则可以考虑优先将其他服务器上的任务迁移至执行标识信息对应的任务的服务器所在的空间区域内。

步骤1022,根据所述标识信息,对目标服务器上的任务进行迁移。

根据标识信息指示的内容不同,对目标服务器上的任务进行迁移时,可选择的方式也有所不同。例如,在一个可选的实施方式中,当所述标识信息指示了所述任务对应的执行位置时,从所述至少两个服务器中,确定所述执行位置对应的执行服务器;根据所述执行服务器的空间位置,确定第二目标区域;其中,处于所述第二目标区域中的各个所述服务器与所述执行服务器之间的距离不大于预设第二距离阈值;将除所述执行服务器以外的各个所述服务器上的任务迁移至位于所述第二目标区域中的各个所述服务器上。

如图3所示,如现有数据中心90个服务器负载有任务,其中,30个位于1层b区,30个位于2层b区,另有30个位于3层b区。若位于1层b区中的1-30号负载有任务的服务器中,1-5号服务器上的任务对应的标识信息指示了其上的任务对应的执行位置不可变,即其必须在现有的服务器上执行完毕时,基于1-5号服务器上的任务对应的标识信息以及服务器的空间位置,选择1-5号服务器所在的区域为第二目标区域,即选择1层b区为第二目标区域。此时,第二目标区域中,各个所述服务器之间的距离也不大于预设的第二距离阈值,即使得所述服务器共用同一套辅助设备,或者共用尽可能少数套的辅助设备。将目标服务器(即2层b区、3层b区甚至1层b区中服务器)上的任务迁移合并至第二目标区域(即1层b区)内的服务器上。

在另一个可选的实施方式中,当所述标识信息指示了所述任务对应的执行结束时刻时,确定所述执行结束时刻与当前时刻之间的剩余时长;当所述剩余时长小于预设时长阈值时,根据所述任务所处的服务器的空间位置,确定第三目标区域;其中,处于所述第三目标区域中的各个所述服务器与所述任务所处的服务器之间的距离不大于预设第三距离阈值;将所述任务所处的服务器以外的其他服务器上的任务迁移至位于所述第三目标区域的各个所述服务器上。

如图3所示,如现有数据中心90个服务器负载有任务,其中,30个位于1层b区,30个位于2层b区,另有30个位于3层b区。若位于1层b区中的1-30号负载有任务的服务器中,6-10号服务器上的任务对应的标识信息指示了其上的任务的执行结束时刻,且执行结束时刻与当前时刻之间的剩余时长为25ms,小于预设时长阈值,即30ms。基于6-10号服务器上的任务对应的标识信息及服务器的空间位置,选择6-10号服务器所在的区域为第三目标区域,即选择1层b区为第三目标区域。此时,第三目标区域中,各个所述服务器之间的距离不大于预设的第三距离阈值,即使得所述服务器共用同一套辅助设备,或者共用尽可能少数套的辅助设备。将目标服务器(2层b区、3层b区甚至1层b区中的服务器)上的任务,迁移合并至第三目标区域(1层b区)内的服务器上。

可以理解的是,第二目标区域和第三目标区域可以为相同的区域,也可以为不同的区域。为了便于描述,下面以第二目标区域与第三目标区域为相同的区域进行描述,将其均称为第二目标区域。当位于第二目标区域中的服务器满载,或者达到预设的任务负荷阈值时,为实现数据中心的任务的进一步优化调度,可考虑将目标服务器上剩余的任务(即未迁移至第二目标区域的任务)迁移至除第二目标区域以外的服务器上,例如迁移至与第二目标区域相邻的区域中的各个服务器上,该相邻的区域可能与第二目标区域存在共用的辅助设备,由此可有利于降低数据中心的能耗。当然,也可以出于尽量减少任务调度量的考虑,将目标服务器上的任务迁移至其他区域的服务器上,甚至可以利用目标服务器继续执行剩余的任务。例如,当作为第二目标区域的1层b区内的服务器上满载时,若还有待迁移的任务时,则可将目标服务器上任务迁移至,1层c区、2层c区等区域中的服务器上。

基于上述任一实施例提供的一种数据中心的任务调度方法,关闭的目标服务器及相应的辅助设施设施,并非一直处于关闭状态。当接收到新增任务时,确定迁移后各个所述任务所在的至少一个当前服务器,以及所述当前服务器所在的当前区域;确定所述至少一个当前服务器对应的可迁移任务量的总和是否大于所述新增任务对应的新增负荷;如果是,则将所述新增任务部署至所述当前区域中的各个所述服务器上;如果否,根据所述当前区域的空间位置,确定与所述当前区域相邻的当前目标区域,并将所述新增任务部署至所述当前目标区域中的各个所述服务器上。

也就是说,当接收到新增任务时,优先考虑将新增任务部署至任务迁移后各个所述任务所处的当前服务器对应的当前区域,从而使得无需另外开启新的服务器及其对应的辅助设备;如将新任务优先部署至位于前述的第一目标区域中的服务器上,或者位于前述的第二目标区域中的服务器上,直至目标区域中的服务器满载或者达到预设的任务负荷阈值。当然,若当前区域对应的可迁移任务量的总和小于新增负荷时,即当前区域中各个服务器满载或者达到预设的任务负荷阈值时,还存在未部署的新增任务,则考虑重新开启部分已关闭的目标服务器及相应的辅助设备,以便新增任务的顺利执行。值得一提的是,重新开启服务器和对应的辅助设备时,优先考虑与当前区域相邻的当前目标区域,以尽可能少的开启辅助设备。例如与当前区域楼层相邻,例如当前区域为2层b区时,当前目标区域可以为1层b区或者3层b区,或者为同一楼层中的相邻区域,当前区域为1层b区时,当前目标区域可以为1层a区或1层c区。另外,可以理解的是,当确定当前目标区域时,除了考虑其空间位置(即与目标区域相邻),还需考虑其中的服务器的运行状态,即位于当前目标区域中的各个服务器是否处于较为空闲的状态,可接收并执行新增任务,也就是说,当前目标区域中的各个服务器的可迁移任务量的总和应大于等于未部署的新增任务对应的任务负荷。当存在多个与当前区域相邻且满足未部署的新增任务的任务负荷的当前目标服务器,则可选择可迁移任务量的总和最大的当前目标区域,从而使得尽可能少的开启当前目标区域中的服务器即可完成新增任务的部署,从而可节省服务器的电耗。

请参考图6,本发明实施例还提供了一种数据中心的任务调度装置,包括:确定模块601、任务迁移模块602、设备管理模块603,其中,

所述确定模块601,用于确定至少两个服务器的当前任务负荷及空间位置;

所述任务迁移模块602,用于根据每一个所述服务器的所述当前任务负荷及空间位置,对所述服务器上的任务进行迁移,以将各个所述服务器中至少一个目标服务器上的任务全部迁移至除自身以外的至少一个所述服务器上;

所述设备管理模块603,用于关闭所述目标服务器以及与所述目标服务器的所述空间位置相对应的辅助设备。

本发明一个实施例中,所述任务迁移模块602,包括:迁移量确定单元、第一目标区域确定单元和第一任务调度单元;其中,

所述迁移量确定单元,用于根据每一个所述服务器的所述当前任务负荷及预设的任务负荷阈值,确定每一个所述服务器的可迁移任务量;

所述第一目标区域确定单元,用于根据每一个所述服务器的空间位置以及所述可迁移任务量,确定第一目标区域;其中,位于所述第一目标区域中的各个所述服务器中,每两个所述服务器之间的距离不大于预设第一距离阈值,且位于所述第一目标区域中的各个所述服务器的可迁移任务量的总和不小于所述至少一个目标服务器的当前任务负荷的总和;

所述第一任务调度单元,用于将所述目标服务器上的任务全部迁移至位于所述第一目标区域中的各个所述服务器上。

本发明一个实施例中,所述任务迁移模块602,用于当确定的所述第一目标区域的数量为至少两个时,针对每个所述第一目标区域,确定所述第一目标区域中各个所述服务器的可迁移任务量的总和;将所述目标服务器上的任务全部迁移至所述可迁移任务量的总和最小的所述第一目标区域中的各个所述服务器上。

本发明一个实施例中,所述任务迁移模块602包括:标识确定单元、第二目标区域确定单元和第二任务调度单元;其中,

所述标识确定单元,用于确定各个所述服务器上的任务分别对应的标识信息;其中,所述标识信息指示了所述任务对应的执行位置;

所述第二目标区域确定单元,用于从所述至少两个服务器中,确定所述执行位置相对应的执行服务器,并根据所述执行服务器的空间位置,确定第二目标区域;其中,位于所述第二目标区域中的各个所述服务器与所述执行服务器之间的距离不大于预设的第二距离阈值;

所述第二任务调度单元,用于将除所述执行服务器以外的各个所述服务器上的任务迁移至位于所述第二目标区域的各个服务器上。

本发明一个实施例中,如图7所示,本发明实施例提供的所述数据中心的任务调度装置,可以进一步包括:新增任务部署模块701;其中,

所述新增任务部署模块701,用于接收新增任务,并确定迁移后各个所述任务所在的至少一个当前服务器,以及所述当前服务器所在的当前区域;确定所述至少一个当前服务器对应的可迁移任务量的总和是否大于所述新增任务对应的新增负荷;如果是,则将所述新增任务部署至所述当前区域中的各个所述服务器上;如果否,根据所述当前区域的空间位置,确定与所述当前区域相邻的当前目标区域,并将所述新增任务部署至所述当前目标区域中的各个所述服务器上。

具体地,基于上述任一项实施例,本发明提供了一种数据中心的任务调度方法及装置,确定服务器当前任务负荷的基础上,结合服务器的空间位置,对服务器上的任务进行迁移,使得接收迁移任务的服务器除了执行自身的任务外,还执行由目标服务器迁移而来的任务。也就是说,在任务迁移前利用两个或多个服务器执行的任务,在利用本发明提供的任务调度方法或装置进行任务迁移后,仅需一个服务器即可执行。由此,通过关闭任务被迁移后的目标服务器以及其对应的辅助设备,可减少数据中心内运行的服务器和辅助设备的数量,从而避免了数据中心的电力浪费,进而降低了数据中心的电力消耗。

本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单。

以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1