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

文档序号:11949816阅读:162来源:国知局
一种数据中心的资源调度方法及装置与流程

本发明涉及云计算机技术领域,特别是涉及一种数据中心的资源调度方法及装置。



背景技术:

随着云计算技术的快速发展,数据中心操作系统逐渐在社会生产和生活领域中起到越来越重要的作用,可以对数据中心的各类资源进行统一管理,进行资源调度。数据中心的各类资源包括计算资源、网络资源、存储资源等。

数据中心操作系统的资源调度,直接关系到数据中心操作系统所提供的功能和服务的稳定性和健壮性。现有的资源调度方法是对各任务均等对待,对于接受到的任务处理请求进行统一分配,只要接收到任务处理请求,即为相应的任务调度一个资源。

这种方法存在一定的缺点,不同任务对于资源的需求程度不同,对各任务均等对待,将会导致任务的处理效率偏低。



技术实现要素:

为解决上述技术问题,本发明提供一种数据中心的资源调度方法及装置。

一种数据中心的资源调度方法,应用于调度服务器,所述调度服务器与数据中心的每个资源服务器通信连接,预先确定所述数据中心的每个资源服务器针对任务的处理偏好类型,将具有相同处理偏好类型的资源服务器划分到一个资源池中,所述方法包括:

针对多个任务调度队列中的任意一个目标任务调度队列,确定该目标任务调度队列中待处理的目标任务,所述目标任务调度队列中的所有任务均具有相同的资源偏好类型;

根据所述目标任务的资源偏好类型,确定具有与该资源偏好类型相对应的处理偏好类型的资源池;

从确定的资源池中选择一个资源服务器处理所述目标任务。

在本发明的一种具体实施方式中,通过以下步骤构建所述任务调度队列:

接收针对第一任务的处理请求,所述第一任务为任意一个任务;

确定所述第一任务的属性信息,所述属性信息包括资源偏好类型;

根据所述第一任务的资源偏好类型,将所述第一任务调度到具有该资源偏好类型的任务调度队列中。

在本发明的一种具体实施方式中,所述属性信息还包括预估处理时长,在所述根据所述第一任务的资源偏好类型,将所述第一任务调度到具有该资源偏好类型的任务调度队列中之后,所述方法还包括:

根据所述第一任务的预估处理时长,确定所述第一任务在该任务调度队列中的位置,该任务调度队列中已有任务按照预估处理时长的大小顺序进行排列,预估处理时长小的任务在队列头;

所述确定该目标任务调度队列中待处理的目标任务,包括:

将该目标任务调度队列中处于队列头位置的任务确定为待处理的目标任务。

在本发明的一种具体实施方式中,所述属性信息还包括预估处理时长,所述确定该目标任务调度队列中待处理的目标任务,包括:

将该目标任务调度队列中预估处理时长最小的任务确定为待处理的目标任务。

在本发明的一种具体实施方式中,所述资源偏好类型包括:对CPU资源偏好类型、对内存资源偏好类型和对存储资源偏好类型。

一种数据中心的资源调度装置,应用于调度服务器,所述调度服务器与数据中心的每个资源服务器通信连接,预先确定所述数据中心的每个资源服务器针对任务的处理偏好类型,将具有相同处理偏好类型的资源服务器划分到一个资源池中,所述装置包括:

目标任务确定模块,用于针对多个任务调度队列中的任意一个目标任务调度队列,确定该目标任务调度队列中待处理的目标任务,所述目标任务调度队列中的所有任务均具有相同的资源偏好类型;

资源池确定模块,用于根据所述目标任务的资源偏好类型,确定具有与该资源偏好类型相对应的处理偏好类型的资源池;

资源服务器调度模块,用于从确定的资源池中选择一个资源服务器处理所述目标任务。

在本发明的一种具体实施方式中,还包括任务调度队列构建模块,用于通过以下步骤构建所述任务调度队列:

处理请求接收子模块,用于接收针对第一任务的处理请求,所述第一任务为任意一个任务;

属性信息确定子模块,用于确定所述第一任务的属性信息,所述属性信息包括资源偏好类型;

任务调度子模块,用于根据所述第一任务的资源偏好类型,将所述第一任务调度到具有该资源偏好类型的任务调度队列中。

在本发明的一种具体实施方式中,所述属性信息还包括预估处理时长,所述任务调度队列构建模块,还包括:

任务排列子模块,用于在所述根据所述第一任务的资源偏好类型,将所述第一任务调度到具有该资源偏好类型的任务调度队列中之后,根据所述第一任务的预估处理时长,确定所述第一任务在该任务调度队列中的位置,该任务调度队列中已有任务按照预估处理时长的大小顺序进行排列,预估处理时长小的任务在队列头;

所述目标任务确定模块,具体用于:

将该目标任务调度队列中处于队列头位置的任务确定为待处理的目标任务。

在本发明的一种具体实施方式中,所述属性信息还包括预估处理时长,所述目标任务确定模块,具体用于:

将该目标任务调度队列中预估处理时长最小的任务确定为待处理的目标任务。

在本发明的一种具体实施方式中,所述资源偏好类型包括:对CPU资源偏好类型、对内存资源偏好类型和对存储资源偏好类型。

应用本发明实施例所提供的技术方案,预先将具有相同处理偏好类型的资源服务器划分到一个资源池中,在确定目标任务调度队列中的待处理的目标任务后,根据该目标任务的资源偏好类型,从与该资源偏好类型相对应的处理偏好类型的资源池中选择一个资源服务器,调度该资源服务器处理该目标任务,调度的资源服务器与目标任务要求的能力相对应,可以提高任务的处理效率。

附图说明

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

图1为本发明实施例中一种数据中心的资源调度方法的实施流程图;

图2为本发明实施例中一种数据中心的资源调度装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种数据中心的资源调度方法,该方法应用于调度服务器,调度服务器与数据中心的每个资源服务器通信连接,可以进行资源服务器的调度。数据中心由多个资源服务器构建而成,可以预先确定数据中心的每个资源服务器针对任务的处理偏好类型,将具有相同处理偏好类型的资源服务器划分到一个资源池中。

在本发明实施例中,数据中心包含多个资源服务器,针对每个资源服务器,可以预先确定该资源服务器针对任务的处理偏好类型。比如,如果资源服务器的CPU配置较高,则其针对任务的处理偏好类型可以归为针对CPU要求较高的计算任务类型,如果资源服务器的存储能力较强,则其针对任务的处理偏好类型可以归为针对存储能力要求较高的视频播放任务类型,如果资源服务器的内存配置较高,则其针对任务的处理偏好类型可以归为针对内存要求较高的大规模数据计算任务类型。

预先确定每个资源服务器针对任务的处理偏好类型后,可以预先将具有相同处理偏好类型的资源服务器划分到一个资源池中。也就是说,预先将数据中心包含的所有的资源服务器根据其处理偏好类型进行划分,划分成多个资源池,每个资源池中的资源服务器的处理偏好类型相同。

参见图1所示,为本发明实施例所提供的一种数据中心的资源调度方法的实施流程图,该方法包括以下步骤:

S110:针对多个任务调度队列中的任意一个目标任务调度队列,确定该目标任务调度队列中待处理的目标任务,目标任务调度队列中的所有任务均具有相同的资源偏好类型。

在实际应用中,调度服务器可以接收来自于任务生成者的任务处理请求,调度服务器根据接收到的任务处理请求的情况,可以调度资源服务器处理相应的任务。

调度服务器可以将接收到的任务放入任务调度队列中,然后针对任意一个目标任务调度队列,逐一为该目标任务调度队列中的任务调度相应的资源服务器。

在本发明的一种具体实施方式中,可以通过以下步骤构建任务调度队列:

步骤一:接收针对第一任务的处理请求,第一任务为任意一个任务;

步骤二:确定第一任务的属性信息,属性信息包括资源偏好类型;

步骤三:根据第一任务的资源偏好类型,将第一任务调度到具有该资源偏好类型的任务调度队列中。

为便于描述,将上述三个步骤结合起来进行说明。

不同任务生成者生成的任务的具体内容不同,不同任务的资源偏好类型不同。在本发明实施例中,资源偏好类型可以包括:对CPU资源偏好类型、对内存资源偏好类型和对存储资源偏好类型。比如,高性能计算任务更侧重于对CPU资源的偏好,大规模计算任务更侧重于对内存资源的偏好,视频播放任务更侧重于对存储资源的偏好。

调度服务器接收到针对第一任务的处理请求后,可以确定该第一任务的属性信息。第一任务为任意一个任务,属性信息至少包括资源偏好类型。根据该第一任务的资源偏好类型,可以将该第一任务调度到具有该资源偏好类型的任务调度队列中。每个任务调度队列中的任务均具有相同的资源偏好类型。

对于第一任务的属性信息的确定,具体可以根据该第一任务对应的任务生成者来确定。在实际应用中,可以认为同一任务生成者生成的任务具有相同的属性信息。或者,可以根据该第一任务携带的属性标识信息进行确定,即任务生成者生成任务的同时确定该任务的属性标识信息。

在初始阶段,还可以由技术人员对任务的属性信息进行分析和确定,随着经验的积累,可以建立相关信息的对应关系,如建立任务生成者与任务属性信息的对应关系等。

通过上述三个步骤即可实现任意一个任务调度队列的构建。

目标任务调度队列为多个任务调度队列中的任意一个,同样通过上述步骤构建而成。目标任务调度队列中的任务同样具有相同的资源偏好类型。

在本发明的一种具体实施方式中,属性信息还可以包括预估处理时长,在上述步骤三根据第一任务的资源偏好类型,将第一任务调度到具有该资源偏好类型的任务调度队列中之后,该方法还可以包括以下步骤:

根据第一任务的预估处理时长,确定第一任务在该任务调度队列中的位置,该任务调度队列中已有任务按照预估处理时长的大小顺序进行排列,预估处理时长小的任务在队列头;

相应的,步骤S110可以包括以下步骤:

将该目标任务调度队列中处于队列头位置的任务确定为待处理的目标任务。

在本发明实施例中,任务的属性信息包括资源偏好类型和预估处理时长。可以理解的是,不同任务其可能的处理时长不同,可以预估其处理时长。具体的,可以根据任务对应的任务生产者进行预估。

根据第一任务的预估处理时长,可以确定该第一任务在任务调度队列中的位置。在每个任务调度队列中,已有任务都是按照预估处理时长的大小顺序进行排列的,预估处理时长最小的任务在队列头。

这样,在目标任务调度队列中确定待处理的目标任务的时候,可以将该目标任务队列中处于队列头位置的任务确定为待处理的目标任务。也就是说,应用短业务优先算法,先为预估处理时长最小的任务调度资源服务器。这样可以降低各个任务的平均等待时间,提高资源调度的效率,实现任务处理请求的高效执行。

在本发明的另一种具体实施方式中,属性信息还包括预估处理时长,步骤S110可以包括以下步骤:

将该目标任务调度队列中预估处理时长最小的任务确定为待处理的目标任务。

在实际应用中,将任务放入任务调度队列中之后,对于目标任务调度队列中的任务,可以选择预估处理时长最小的任务,将其确定为待处理的目标任务。也就是说,应用短业务优先算法,先为预估处理时长最小的任务调度资源服务器。这样可以降低各个任务的平均等待时间,提高资源调度的效率,实现任务处理请求的高效执行。

针对目标任务调度队列,调度服务器确定当前该目标任务调度队列中待处理的目标任务之后,可以继续执行步骤S120的操作。

S120:根据目标任务的资源偏好类型,确定具有与该资源偏好类型相对应的处理偏好类型的资源池。

在本发明实施例中,资源偏好类型与处理偏好类型相对应。确定待处理的目标任务之后,可以根据目标任务的资源偏好类型,确定具有与该资源偏好类型相对应的处理偏好类型的资源池。

为便于理解,举例说明:

例如,资源池A中的每个资源服务器的CPU配置较高,针对任务的处理偏好类型为针对CPU要求较高的计算任务类型,资源池B中的每个资源服务器的存储能力较强,针对任务的处理偏好类型为针对存储能力要求较高的视频播放任务类型,资源池C中的每个资源服务器的内存配置较高,针对任务的处理偏好类型为对内存要求较高的大规模数据计算任务类型。

任务调度队列A中任务的资源偏好类型为对CPU资源偏好类型,任务调度队列B中任务的资源偏好类型为对存储资源偏好类型,任务调度队列C中任务的资源偏好类型为对内存资源偏好类型。

通过上述可见,资源池A对应于任务调度队列A、资源池B对应于任务调度队列B、资源池C对应于任务调度队列C。也就是说,针对任务调度队列A中的任务,可以调度资源池A中的资源服务器进行处理,针对任务调度队列B中的任务,可以调度资源池B中的资源服务器进行处理,针对任务调度队列C中的任务,可以调度资源池C中的资源服务器进行处理。

S130:从确定的资源池中选择一个资源服务器处理目标任务。

在步骤S120,确定了具有与目标任务的资源偏好类型相对应的处理偏好类型的资源池,从而可以从确定的资源池中选择一个资源服务器处理该目标任务。

在实际应用中,可以在该资源池中随机选择一个资源服务器,还可以根据该资源池中资源服务器的硬件属性或者处理能力的高低,选择性能较高的资源服务器处理该目标任务。

应用本发明实施例所提供的方法,预先将具有相同处理偏好类型的资源服务器划分到一个资源池中,在确定目标任务调度队列中的待处理的目标任务后,根据该目标任务的资源偏好类型,从与该资源偏好类型相对应的处理偏好类型的资源池中选择一个资源服务器,调度该资源服务器处理该目标任务,调度的资源服务器与目标任务要求的能力相对应,可以提高任务的处理效率。

相应于上面的方法实施例,本发明实施例还提供了一种数据中心的资源调度装置,该装置应用于调度服务器,调度服务器与数据中心的每个资源服务器通信连接,预先确定数据中心的每个资源服务器针对任务的处理偏好类型,将具有相同处理偏好类型的资源服务器划分到一个资源池中。

参见图2所示,该装置可以包括以下模块:

目标任务确定模块210,用于针对多个任务调度队列中的任意一个目标任务调度队列,确定该目标任务调度队列中待处理的目标任务,目标任务调度队列中的所有任务均具有相同的资源偏好类型;

资源池确定模块220,用于根据目标任务的资源偏好类型,确定具有与该资源偏好类型相对应的处理偏好类型的资源池;

资源服务器调度模块230,用于从确定的资源池中选择一个资源服务器处理目标任务。

应用本发明实施例所提供的装置,预先将具有相同处理偏好类型的资源服务器划分到一个资源池中,在确定目标任务调度队列中的待处理的目标任务后,根据该目标任务的资源偏好类型,从与该资源偏好类型相对应的处理偏好类型的资源池中选择一个资源服务器,调度该资源服务器处理该目标任务,调度的资源服务器与目标任务要求的能力相对应,可以提高任务的处理效率。

在本发明的一种具体实施方式中,该装置还包括任务调度队列构建模块,用于通过以下步骤构建任务调度队列:

处理请求接收子模块,用于接收针对第一任务的处理请求,第一任务为任意一个任务;

属性信息确定子模块,用于确定第一任务的属性信息,属性信息包括资源偏好类型;

任务调度子模块,用于根据第一任务的资源偏好类型,将第一任务调度到具有该资源偏好类型的任务调度队列中。

在本发明的一种具体实施方式中,属性信息还包括预估处理时长,任务调度队列构建模块,还包括:

任务排列子模块,用于在根据第一任务的资源偏好类型,将第一任务调度到具有该资源偏好类型的任务调度队列中之后,根据第一任务的预估处理时长,确定第一任务在该任务调度队列中的位置,该任务调度队列中已有任务按照预估处理时长的大小顺序进行排列,预估处理时长小的任务在队列头;

目标任务确定模块210,具体用于:

将该目标任务调度队列中处于队列头位置的任务确定为待处理的目标任务。

在本发明的一种具体实施方式中,属性信息还包括预估处理时长,目标任务确定模块210,具体用于:

将该目标任务调度队列中预估处理时长最小的任务确定为待处理的目标任务。

在本发明的一种具体实施方式中,所述资源偏好类型包括:对CPU资源偏好类型、对内存资源偏好类型和对存储资源偏好类型。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种数据中心的资源调度方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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