资源动态调度的方法、装置、资源调度服务器及系统与流程

文档序号:11133743阅读:1293来源:国知局
资源动态调度的方法、装置、资源调度服务器及系统与制造工艺

本发明涉及数据中心服务器虚拟化领域,特别涉及一种资源动态调度的方法、装置、资源调度服务器及系统。



背景技术:

数据中心虚拟化建设,其中一个重要的目的是提高物理资源的利用率。传统架构下,单台服务器的CPU、内存等资源往往大幅超出其承载的应用系统所需,导致资源过剩,利用率低下。

在将传统业务迁移至虚拟化环境中后,将多个应用系统整合在同一台服务器中,提高了单台服务器的物理资源利用率。但是经过长时间的观察后,发现仍然有很多应用系统虚拟机资源分配过剩,资源浪费严重。导致此现象的原因有几点:第一应用系统虚拟机申请人对应用系统运行状况了解不深入,申请的资源一般情况下超过应用系统业务峰值时所需要的资源。第二由于应用的类型特殊,无法估计正确的业务峰值、平均值所需资源。第三不同的业务系统在不同的时段对不同的资源(CPU、内存、网络)消耗是不同的。因此,如何解决数据中心业务系统虚拟机存在的资源分配过剩及资源不足问题,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种资源动态调度的方法、装置、系统及资源调度服务器,能够避免应用系统虚拟机在空闲时资源过剩、资源浪费,在高压力时资源不足的情况。

为解决上述技术问题,本发明提供一种资源动态调度的方法,包括:

采集应用系统虚拟机的业务压力参数;其中,所述业务压力参数包括CPU实时使用率,内存实时使用率,应用系统实时会话连接数中至少一种;

判断所述业务压力参数对应的资源动态调度指令;

根据所述资源动态调度指令执行对应的资源动态调度操作。

其中,判断所述业务压力参数对应的资源动态调度指令,包括:

将所述业务压力参数与各资源动态调度指令的参数判定条件进行对比得到对比结果,并判断是否连续N次得到同一所述对比结果;

若是,则根据所述对比结果判定所属的资源动态调度指令。

其中,当应用系统虚拟机为状态服务器时,根据所述资源动态调度指令执行对应的资源动态调度操作,包括:

根据所述资源动态调度指令执行对应的CPU及内存的热插拔操作。

其中,当应用系统虚拟机为无状态服务器时,根据所述资源动态调度指令执行对应的资源动态调度操作,包括:

根据所述资源动态调度指令执行对应的增加或减少开机的应用系统虚拟机操作。

本发明还提供一种资源动态调度的装置,包括:

采集模块,用于采集应用系统虚拟机的业务压力参数;其中,所述业务压力参数包括CPU实时使用率,内存实时使用率,应用系统实时会话连接数中至少一种;

判断模块,用于判断所述业务压力参数对应的资源动态调度指令;

调度模块,用于根据所述资源动态调度指令执行对应的资源动态调度操作。

其中,所述判断模块具体用于将所述业务压力参数与各资源动态调度指令的参数判定条件进行对比得到对比结果,并判断是否连续N次得到同一所述对比结果;若是,则根据所述对比结果判定所属的资源动态调度指令的模块。

其中,所述调度模块包括:

第一调度单元,用于当应用系统虚拟机为状态服务器时,根据所述资源动态调度指令执行对应的CPU及内存的热插拔操作。

其中,所述调度模块包括:

第二调度单元,用于当应用系统虚拟机为无状态服务器时,根据所述资源动态调度指令执行对应的增加或减少开机的应用系统虚拟机操作。

本发明还提供一种资源调度服务器,包括:根据上述任一项所述的资源动态调度的装置。

本发明还提供一种资源动态调度的系统,包括:根据上述所述的资源调度服务器及应用系统虚拟机。

本发明所提供的一种资源动态调度的方法,包括:采集应用系统虚拟机的业务压力参数;其中,所述业务压力参数包括CPU实时使用率,内存实时使用率,应用系统实时会话连接数中至少一种;判断所述业务压力参数对应的资源动态调度指令;根据所述资源动态调度指令执行对应的资源动态调度操作;

可见,该方法根据业务压力参数判定应用系统虚拟机处于哪种状态例如是否处于高压或空闲或正常状态,并根据判定结果确定资源动态调度指令并执行对应的资源动态调度操作;即能够避免应用系统虚拟机在空闲时资源过剩、资源浪费,在高压力时资源不足的情况;并且省去了人工的操作,简化运维的复杂度,提高了整个虚拟化平台的自动化程度;本发明还提供了一种资源动态调度的装置、系统及资源调度服务器,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例所提供的资源动态调度的方法的流程图;

图2为本发明实施例所提供的资源动态调度的装置的结构框图。

具体实施方式

本发明的核心是提供一种资源动态调度的方法、装置、系统及资源调度服务器,能够避免应用系统虚拟机在空闲时资源过剩、资源浪费,在高压力时资源不足的情况。

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

请参考图1,图1为本发明实施例所提供的资源动态调度的方法的流程图;该方法可以包括:

S100、采集应用系统虚拟机的业务压力参数;其中,所述业务压力参数包括CPU实时使用率,内存实时使用率,应用系统实时会话连接数中至少一种;

具体的,这里的业务压力参数的设置根据用户实际情况进行,例如用户只需要做出大致判定系统资源的使用情况进而根据判定结果做出粗调,则这里的业务压力参数可以设置的比较简单,例如仅仅去监测应用系统虚拟机的CPU实时使用率或者监测应用系统虚拟机的内存实时使用率,再或者监测应用系统虚拟机的CPU实时使用率以及内存实时使用率等。例如用户需要做出较精细的判定系统资源的使用情况进而做出精细调节,则这里的业务压力参数可以设置的比较多,例如去监测应用系统虚拟机的CPU实时使用率,内存实时使用率以及应用系统实时会话连接数等。当然用户还可以根据自己的实际需求对业务压力参数进行增加或者修改。

即该步骤通过对应用系统虚拟机业务压力的实时收集,采集相关的CPU、内存的实时使用情况,以便后续针对不同的使用情况扩展、缩减分配的相应资源。

具体的采集业务压力参数可以是实时采集也就可以是用户设定采集周期,或者用户可以随时对采集频率进行调整以适应用户的各种实际需求。

S110、判断所述业务压力参数对应的资源动态调度指令;

具体的,这里的资源动态调度指令一般情况下可以分为扩展或者缩减,或者不操作保持原状等,还可以根据业务压力参数的程度具体细化扩展或者缩减的程度等级,每种程度等级对应的资源动态调度操作的资源数量也按照程度等级分布。或者具体到每种业务压力参数的程度均对应一种具体的资源动态调度操作。

根据业务压力参数判定对应的资源动态调度指令的过程与用户实际设定的判定条件有关,这里并不对具体的判定条件进行限定,用户只要根据业务压力参数可以确定对应的资源动态调度指令即可。下面通过列举一些具体情况对该步骤进行说明:

当业务压力参数只存在一个时,可以通过比较业务压力参数的数值与设定的各资源动态调度指令对应的阈值,确定业务压力参数所属的资源动态调度指令。例如针对CPU有阈值1,阈值2,当CPU实时使用率数值,小于阈值1则对应的资源缩减调度指令,大于阈值2则对应的资源扩展调度指令,处于阈值1和阈值2之间则对应的资源不变调度指令。或者小于阈值1还要在计算出小于阈值1的程度,这样对应的资源缩减调度指令具体的缩减程度命令不同,与小于阈值1的程度相关。

当业务压力参数存在两个时,可以通过分别比较各业务压力参数的数值与设定的各资源动态调度指令对应的阈值,并根据两个比较结果综合判定业务压力参数所属的资源动态调度指令(判定的过程可以考虑业务压力参数的权重或者业务压力参数与阈值相差的幅度等)。例如针对CPU有阈值1,阈值2,当CPU实时使用率数值,小于阈值1则对应的资源缩减调度指令,大于阈值2则对应的资源扩展调度指令,处于阈值1和阈值2之间则对应的资源不变调度指令;针对内存有阈值2,阈值3,当内存实时使用率数值,小于阈值2则对应的资源缩减调度指令,大于阈值3则对应的资源扩展调度指令,处于阈值2和阈值3之间则对应的资源不变调度指令。若两者对应的资源调度指令相同则确定该资源调度指令为最终结果;若一个属于资源不变调度指令,另一个不属于资源不变调度指令,则根据不属于资源不变调度指令的业务压力参数对应的资源调度指令作为最终结果;若两个对应的资源调度指令相反,则认为该次数据采集无效。

具体的,进一步为了解决采集应用系统虚拟机的业务压力参数时刻数据的偶然性,例如系统资源一直很充足只有该时刻突然处理数据过多,则造成对该系统执行资源扩展操作,造成后续资源更大的闲置和浪费。这里可以通过业务压力参数是否可以保持一定时间以说明还资源不是由于偶然因素而出现的资源不足或资源压力大。即可选的,判断所述业务压力参数对应的资源动态调度指令,包括:

将所述业务压力参数与各资源动态调度指令的参数判定条件进行对比得到对比结果,并判断是否连续N次得到同一所述对比结果;

若是,则根据所述对比结果判定所属的资源动态调度指令。

例如,针对CPU有阈值1,阈值2,当连续N次数据采集时CPU实时使用率数值,小于阈值1,则判定所属的资源缩减调度指令。或者是一定采集次数中同一资源动态调度指令出现次数所占比例是否满足一定阈值,若满足,则认定该资源动态调度指令为一定采集次数对应时段的最终资源动态调度指令。

S120、根据所述资源动态调度指令执行对应的资源动态调度操作。

要实现应用系统虚拟机资源的动态调度,即根据资源的不同使用情况扩展、缩减分配的相应资源。无论资源动态调度操作具体方式是怎么样,基本都是对内存或者CPU或者两者的扩大或者缩小。针对这样的资源动态调度操作实际处理过程中根据应用系统虚拟机的实际形态具有下述两种形式去进行资源的动态伸缩;例如只要一台应用系统虚拟机时怎么调度,应用系统虚拟机为一个大的集群时又该怎么调度实现扩展或缩减分配的相应资源。针对上述两种情况对单台应用系统虚拟机进行资源的动态伸缩,即在单台应用系统虚拟机的内部进行资源的动态伸缩调整;对多台应用系统虚拟机增加或减少应用系统虚拟机的个数实现资源的动态伸缩。也可以在多台应用系统虚拟机时将增加或减少应用系统虚拟机的个数与对单台应用系统虚拟机的内部进行资源的动态伸缩结合起来实现更加精细的资源的动态伸缩调整。

根据资源动态调度指令的具体内容设定资源动态调度操作,当应用系统虚拟机为状态虚拟机时,根据所述资源动态调度指令执行对应的资源动态调度操作,可以包括:

根据所述资源动态调度指令执行对应的CPU及内存的热插拔操作。

具体的,根据资源动态调度指令的具体内容通过热插拔改变CPU和/或内存的个数,该个数根据资源动态调度指令确定。例如当内存资源紧张时,根据资源动态调度指令执行增加3个CPU的热插拔操作。

当应用系统虚拟机为无状态虚拟机时,根据所述资源动态调度指令执行对应的资源动态调度操作,可以包括:

根据所述资源动态调度指令执行对应的增加或减少开机的应用系统虚拟机操作。

具体的,根据资源动态调度指令的具体内容通过增加或减少开机的应用系统虚拟机的个数,该个数根据资源动态调度指令确定。例如当资源紧张时,根据资源动态调度指令执行增加3个应用系统虚拟机。

根据上述两种情况具体举例说明:

应用系统由虚拟机为状态服务器,当应用系统的CPU实时利用率或内存实时利用率、应用会话连接数达到所期望进行资源动态伸缩的阈值,并保持一段时间后,资源调度服务器通过虚拟化平台的API接口,对应用系统虚拟机下达资源伸缩的指令,对应用系统虚拟机自身的CPU、内存扩张、缩小机制,进行CPU、内存的热插拔,完成资源的动态伸缩。

应用系统虚拟机为无状态服务器,此应用系统虚拟机位于一个可扩展集群中,并通过调度模块上的Virtual IP统一对外提供服务。当应用系统的CPU实时利用率或内存实时利用率、应用会话连接数达到所期望进行资源动态伸缩的阈值,并保持一段时间后,资源调度服务器通过虚拟化平台的API接口,下达创建该应用系统虚拟机的镜像虚拟机,加入此集群中。一部分用户访问会话会通过Virtual IP转发给新的镜像虚拟机。当业务压力减轻时,资源调度服务器会将用户的访问会话整合,通过虚拟化平台API接口自行关闭并删除多余的虚拟机。由此,通过几台应用虚拟机同时分担业务压力,实现以增加虚拟机个数的方式完成资源动态调度。

基于上述技术方案,本发明实施例提的资源动态调度的方法,该方法根据业务压力参数判定应用系统虚拟机处于哪种状态例如是否处于高压或空闲或正常状态,并根据判定结果确定资源动态调度指令并执行对应的资源动态调度操作;即能够避免应用系统虚拟机在空闲时资源过剩、资源浪费,在高压力时资源不足的情况;并且省去了人工的操作,简化运维的复杂度,提高了整个虚拟化平台的自动化程度。

下面对本发明实施例提供的资源动态调度的装置、系统及资源调度服务器进行介绍,下文描述的资源动态调度的装置、系统及资源调度服务器与上文描述的资源动态调度的方法可相互对应参照。

请参考图2,图2为本发明实施例所提供的资源动态调度的装置的结构框图;该装置可以包括:

采集模块100,用于采集应用系统虚拟机的业务压力参数;其中,所述业务压力参数包括CPU实时使用率,内存实时使用率,应用系统实时会话连接数中至少一种;

判断模块200,用于判断所述业务压力参数对应的资源动态调度指令;

调度模块300,用于根据所述资源动态调度指令执行对应的资源动态调度操作。

基于上述实施例,所述判断模块200具体用于将所述业务压力参数与各资源动态调度指令的参数判定条件进行对比得到对比结果,并判断是否连续N次得到同一所述对比结果;若是,则根据所述对比结果判定所属的资源动态调度指令的模块。

基于上述任意实施例,所述调度模块300可以包括:

第一调度单元,用于当应用系统虚拟机为状态服务器时,根据所述资源动态调度指令执行对应的CPU及内存的热插拔操作。

基于上述任意实施例,所述调度模块300可以包括:

第二调度单元,用于当应用系统虚拟机为无状态服务器时,根据所述资源动态调度指令执行对应的增加或减少开机的应用系统虚拟机操作。

基于上述技术方案,本发明实施例提的资源动态调度的装置,通过制定资源实时使用率的阈值,避免应用系统虚拟机在空闲时资源过剩、资源浪费,在高压力时资源不足的情况。并且省去了人工的操作,简化运维的复杂度,提高了整个虚拟化平台的自动化程度。

本发明实施例还提供一种资源调度服务器,包括:基于上述任意实施例所述的资源动态调度的装置。

具体的,本实施例中的资源调度服务器可以是一台单独的物理服务器也可以是一台虚拟机。

本发明实施例还提供一种资源动态调度的系统,包括:基于上述实施例所述的资源调度服务器及应用系统虚拟机。

具体的,根据资源调度服务器对业务压力的监测,使其在业务压力大的时候增加应用系统虚拟机的资源,业务压力小的时候动态缩减应用系统虚拟机的资源。

本实施例中的应用系统虚拟机个数可以为一个也可以为多个。

具体的,数据中心的应用系统运行在物理服务器通过虚拟化技术产生的一台台虚拟机中,该应用系统虚拟机为状态服务器。资源调度服务器负责对应用系统虚拟机CPU实时利用率、内存实时利用率以及应用会话的实时连接数中至少一者进行收集,并根据判定结果对应用系统虚拟机下达资源伸缩的指令,利用应用系统虚拟机自身的CPU、内存扩张、缩小机制,进行CPU、内存的热插拔,完成资源的动态伸缩。资源调度服务器可以是一台单独的物理服务器也可以是一台虚拟机。

应用系统虚拟机为无状态服务器,此应用系统虚拟机位于一个可扩展集群中,并通过调度模块上的Virtual IP统一对外提供服务。当应用系统的CPU实时利用率或内存实时利用率、应用会话连接数达到所期望进行资源动态伸缩的阈值,并保持一段时间后,资源调度服务器通过虚拟化平台的API接口,下达创建该应用系统虚拟机的镜像虚拟机,加入此集群中。一部分用户访问会话会通过Virtual IP转发给新的镜像虚拟机。当业务压力减轻时,资源调度服务器会将用户的访问会话整合,通过虚拟化平台API接口自行关闭并删除多余的虚拟机。由此,通过几台应用虚拟机同时分担业务压力,实现以增加虚拟机个数的方式完成资源动态调度。

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

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

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

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

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