Recherche dans les collections de brevets nationales et internationales
Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2017000628) PROCÉDÉ ET APPAREIL DE PLANIFICATION DE RESSOURCES DESTINÉS À UN SYSTÈME INFORMATIQUE EN NUAGE
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14  

附图

0001   0002   0003   0004   0005  

说明书

发明名称 : 一种云计算系统中的资源调度方法及装置

[0001]
本申请要求于2015年6月30日提交中国专利局、申请号为201510375303.6、发明名称为“一种云计算系统中的资源调度方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本发明涉及IT技术领域,具体涉及一种云计算系统中的资源调度的方法和装置。

背景技术

[0003]
虚拟化技术是云计算领域的关键技术之一,可将物理机的物理资源虚拟成多个虚拟机(Virtual Machine,VM),物理资源被虚拟化平台以虚拟资源池的形式提供给各个虚拟机,虚拟机之间共享物理资源。
[0004]
云数据中心,即以虚拟化的方式提供计算、存储、网络等资源的数据中心。与传统的数据中心相比,云数据中心资源高度集中,统一调度和管理,大大节省了数据中心的运营和运维成本。数据中心按需求和策略分配虚拟机的资源,同时,保证虚拟机间资源的安全隔离。当前业界普遍采用动态资源调度方法确保虚拟机的QoS(Quality of Service,服务质量),动态资源调度方法是指根据预定策略动态的在迁移域中执行虚拟机的在线迁移并达到主机的资源在虚拟机之间的自动分配以实现均衡。
[0005]
基于负载均衡(Load Balance,LB)的动态资源调度方法当前应用最为广泛,一个迁移域中各主机上承载的虚拟机可以在所述迁移域中进行迁移。其主要步骤为:监控得到迁移域中所有主机和虚拟机的负载指标,并判断是否达到迁移触发条件,若达到迁移触发条件,则进行虚拟机的在线迁移,从高负载的源主机上选择虚拟机,迁移到低负载的目的主机上,从而达到迁移域内负载均衡的目的。
[0006]
但是,基于负载均衡的动态资源调度方法仅考虑了当前时刻的负载状况,并未考虑虚拟机的历史运行规律,容易形成负载冲突,造成虚拟机的QoS下降;同时现有的动态资源调度仅考虑当前时刻负载的均衡,随着负载的变化容易反复迁移,浪费了运数据中心的资源。
[0007]
发明内容
[0008]
有鉴于此,本发明实施例提供了一种云计算系统中的资源调度的方法和装置,可以基于虚拟机的运行规律进行资源调度。
[0009]
本发明实施例所采用的技术方案是:
[0010]
第一方面提供一种云计算系统中资源调度的方法,所述方法包括:
[0011]
监控主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0012]
根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0013]
计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值;
[0014]
根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值;
[0015]
根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值;
[0016]
根据计算得到的所述主机的风险加权值,确定虚拟机迁移策略。
[0017]
结合第一方面,在第一种可能的实现方式中,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,
[0018]
所述根据计算得到的所述主机的风险加权值,确定虚拟机迁移策略包括:
[0019]
根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度;
[0020]
当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0021]
结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述行为模式包括虚拟机的运行周期、负载模式以及性能统计参数。
[0022]
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式包括:
[0023]
确定所述虚拟机的运行周期;
[0024]
将所述虚拟机的运行周期划分为多个时间段,根据所述多个时间段内所述虚拟机的负载变化情况,分别确定所述虚拟机在所述多个时间段内的负载模式;
[0025]
根据所述历史性能指标确定所述运行周期内的多个时间段的性能统计参数。
[0026]
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值包括:
[0027]
根据所述多个时间段中至少一个时间段的性能统计参数,以及所述至少一个时间段对应的负载模式,计算所述第一风险评估值。
[0028]
结合第一方面的前述任一种实现方式,在第五种可能的实现方式中,所述根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值包括:
[0029]
使用下述关系式计算所述风险加权值:
[0030]
R h=w l·R l+w b·R b
[0031]
其中,所述R h表示所述风险加权值,所述R l表示所述第二风险评估值,所述R b表示所述第一风险评估值,所述w l和w b表示加权因子且两者的取值范围为0~1、之和为1。
[0032]
第二方面,本发明实施例提供了另一种云计算系统中资源调度的方法,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,
[0033]
所述方法包括:
[0034]
监控所述主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0035]
根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0036]
计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值;
[0037]
根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值;
[0038]
根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值;
[0039]
根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度;
[0040]
当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0041]
第三方面,本发明实施例提供了一种云计算系统中资源调度的装置,包括:
[0042]
监控模块,用于监控主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0043]
行为模式分析模块,用于根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0044]
风险评估模块,用于计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值,根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值,根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值
[0045]
资源调度决策模块,用于根据所述风险评估模块计算得到的所述主机的风险加权值,确定虚拟机迁移策略。
[0046]
结合第三方面,在第三方面的第一种可能的实现方式中,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,
[0047]
所述资源调度决策模块,具体用于根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度,当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0048]
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述行为模式包括虚拟机的运行周期、负载模式以及性能统计参数。
[0049]
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述行为模式分析模块,具体用于确定所述虚拟机的运行周期,将所述虚拟机的运行周期划分为多个时间段,根据所述多个时间段内所述虚拟机的负载变化情况,分别确定所述虚拟机在所述多个时间段内的负载模式,根据所述历史性能指标确定所述运行周期内的多个时间段的性能统计参数。
[0050]
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述风险评估模块,具体用于根据所述多个时间段中至少一个时间段的性能统计参数,以及所述至少一个时间段对应的负载模式,计算所述第一风险评估值。
[0051]
结合第三方面前述的任一种实现方式,在第四种可能的实现方式中,所述风险评估模块,具体用于使用下述关系式计算所述风险加权值:
[0052]
R h=w l·R l+w b·R b
[0053]
其中,所述R h表示所述风险加权值,所述R l表示所述第二风险评估值,所 述R b表示所述第一风险评估值,所述w l和w b表示加权因子且两者的取值范围为0~1、之和为1。
[0054]
结合第三方面,在第三方面第五种可能的实现方式中,所述历史性能指标存储在性能指标数据库中。
[0055]
第四方面,本发明实施例提供了另一种云计算系统中资源调度的装置,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,所述装置包括:
[0056]
监控模块,用于监控所述主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0057]
行为模式分析模块,用于根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0058]
风险评估模块,用于计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值,根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值,根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值;
[0059]
资源调度决策模块,用于根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度,当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0060]
本发明实施例的云计算系统中的的资源调度方法及装置,基于对虚拟机的各项性能指标值的统计分析,确定虚拟机的行为模式,进而确定承载所述虚拟机的风险加权值,基于计算得到的所述风险加权值迁移所述主机上的虚拟机,避免了主机上承载的虚拟机的QoS下降的问题,同时由于迁移决策过程基于主机当前时刻的第二风险评估值,以及主机承载的虚拟机的行为模式的第一风险评估值,即迁移过程的依据既包括当前时刻的风险,同时也包括了代表未来时段的主机承载该时段虚拟机行为模式时的第一风险评估值,从而避免主机上的虚拟机在未来时刻进行反复迁移。

附图说明

[0061]
图1是本发明实施例提供的云计算系统结构示意图;
[0062]
图2是本发明实施例提供的一种云计算系统中资源调度的方法流程示意 图;
[0063]
图3是本发明实施例提供的另一种云计算系统中资源调度的方法流程示意图;
[0064]
图4是本发明实施例提供的一种云计算系统中资源调度的装置结构示意图;
[0065]
图5为本发明实施例提供的一种云计算系统中资源调度的硬件结构示意图。

具体实施方式

[0066]
下面将结合本发明实施例中的附图,对本发明所提供的示例性的实施例的技术方案进行清楚、完整地描述。
[0067]
如图1所示,为本发明实施例提供的一种云计算系统结构示意图,该系统包括云管理平台及资源池。所述资源池主要包括虚拟计算资源池、虚拟网络资源池和虚拟存储资源池。其中,虚拟计算资源池由一台或多台物理主机(21-2n)通过虚拟化技术形成,主要包含CPU、内存等资源;虚拟网络资源池由各种路由器、交换机、防火墙、负载均衡(Load Balance,LB)器等网络设备通过虚拟化技术形成,主要包含网络带宽等资源;存储资源池由各种存储设备通过虚拟化技术形成,主要包含存储容量、存储I/O等资源,所述存储设备可以为本地存储、IPSAN、网络附加存储(Network Attached Storage,NAS)、对象存储等,。资源池中包括若干主机(Host),主机上承载有多个VM,并为其分配虚拟资源。可以相互进行VM迁移的主机组成一个迁移域。一个HOST上的VM共享计算资源(CPU或内存等)、存储资源(本地存储或存储I/O)和网络资源(网络I/O)。当一个HOST不能满足其承载VM所需资源的时候,会造成VM的QoS下降,需要进行MV的迁移以保障VM的QoS。
[0068]
本发明实施例提供了一种云计算系统中资源调度的方法和装置,基于主机当前时刻的风险以及预估的未来时段的风险,进行虚拟机的迁移。云管理平台1包括监控模块101、行为模式分析模块103、风险评估模块104、资源调度决策模块105和资源管理模块106,其中,监控模块101位于监控管理部件中,所述监控管理部件还包括数据库102,所述数据库102用于存储监控模块获得的监控数据。
[0069]
监控模块101对数据中心的各种实例进行性能指标的监控,包括各种物理 资源和虚拟资源的监控,如VM或HOST的CPU占用率、内存占用率、网络流量,以及磁盘IO等。性能监控101模块可以是任意形式的现有监控软件,如ganglia等,负责实时采集虚拟机的各项性能指标。所述数据库102可存储由性能监控软件采集到的性能指标值,形成虚拟机的历史性能指标的记录。行为模式分析模块103是虚拟机行为模式统计分析的核心模块,负责根据数据库102中的历史数据,得到主机上承载的各个虚拟机的行为模式。进一步的,虚拟机的行为模式统计结果可以存储在行为模式数据库中。
[0070]
虚拟机的行为模式包括虚拟机的运行周期、负载模式以及性能统计参数。
[0071]
1.所述虚拟机的运行周期表示虚拟机的负载的变化规律所遵循的周期,云数据中心长期运行的虚拟机通常是具有周期性的,例如,一个部署了Web server(网页服务器)的虚拟机通常在上午9点开始负载逐步上升,而在晚上23点后其负载逐步下降,则该虚拟机就表现出了以自然天为周期的周期性,即该虚拟机的运行周期为自然天。本发明实施例中,监控模块101监测虚拟机的负载的变化规律,行为模式分析模块103通过分析监控模块101检测到的虚拟机的负载的变化规律即可确定虚拟机的运行周期。所述运行周期可以为多种形式,本发明实施例并不进行限定,例如,所述运行周期可以具体分为“小时”周期、“自然天”周期、“自然星期”周期或无周期等。在某些特定场景下,还可以包括“工作日”周期(即星期一到星期五期间的负载为一种变化规律,而星期六、星期日的负载为另一种变化规律)、“自然月”周期和“自然年”周期。
[0072]
2.所述虚拟机的负载模式表示虚拟机在运行周期的各时间段内的负载的变化规律,所述时间段为所述运行周期的时间分片,优选地,可以讲运行周期等分为多个时间分片作为所述时间段。示例性的,当运行周期为自然天时,可以以小时为时间段,在所述各时间段,本实施例定义六种负载模式:线性变化、快速震荡、陡变、脉冲、平稳,以及随机模式,本领域技术人员可根据实际需求设置其他类型的负载模式。本实施例可以通过分类算法,例如SVM(Support Vector Machine,支持向量机)算法或决策树等算法,判定所述虚拟机在时间段内负载的负载模式属于哪一类型。
[0073]
下面以SVM算法为例介绍所述负载模式确定过程:
[0074]
首先,建立负载模式模型。监控模块101检测到主机承载的虚拟机的各项性能指标,存储在数据库102中;对虚拟机在等于整数个所述时间段的时间间隔内的负载进行采样,以建立负载模式的各个类型的模型。例如,以线性变化 的变化模式且时间段等于一小时为例,本实施例采样1000个一小时“线性变化”的负载记录作为正面样本,再随机选择2000个一小时“非线性变化”的负载记录作为负面样本,进一步把正面样本和负面样本输入到采用SVM算法的训练器里,以得到对应于线性变化的负载模式的模型(或者称之为分类器)。
[0075]
然后,对所述时间段内的负载进行采样,并与各类型的模型进行比对,得到所述时间段内的负载模式的类型的概率。例如,将采集到的一个未知的所述时间段内的负载记录分别输入到线性变化和快速震荡的变化模式对应的模型中,通过比对或分类即可得到虚拟机的负载模式为线性和快速震荡的概率。
[0076]
最后,选取概率最大的类型作为该时间段内的负载模式。
[0077]
需要指出的是,本实施例可以无需对随机的变化模式建立模型,可预先设定一分类门限,将得到的各个类型的变化模式的概率分别与该分类门限进行比较,例如设置分类门限为0.5,若所有类型的变化模式的概率均小于0.5,则标记该虚拟机的运行模式为随机。
[0078]
进一步地,本实施例可以结合所述虚拟机的运行周期,得到虚拟机在所有周期内的该时间段内的负载模式,即选取数量最多的类型作为所述时间段内的负载的变化模式。首先,预先对所述虚拟机在等于整数个时间段的时间间隔内的负载进行采样,以运用上述方法建立所述负载模式的各个类型的模型,例如,虚拟机的运行周期为自然天,需要判断其在“上午9点到10点”这一时间段内负载模式,则采样该虚拟机以往30天的所有“上午9点到10点”这一时间段内的负载记录,然后对30天中“上午9点到10点”这一时间段内的负载进行采样,并运用上述方法判定近30天中的所述时间段内的负载模式,最后选取数量最多的类型作为所述时间段内的负载模式,例如,若得到15个线性变化的负载模式、9个陡变的负载模式、6个随机的负载模式,最终得到该虚拟机在“上午9点到10点”的负载模式为线性变化。
[0079]
3.性能统计参数:本发明实施例的性能指标可以是现有监控系统中的常用指标,包含负载、CPU占用率、内存占用率、磁盘占用率、磁盘IO、网络吞吐量等中的任意一个或多个,性能统计参数可以是针对上述性能指标的上限值、下限值、均值、突发值或概率分布等等中的至少一个。此外,不同的负载模式所对应的性能统计参数也可以是不同的,例如当负载模式为快速震荡时,性能统计参数中的上限值可以采用时间段内的所有采样值的均值加2倍方差的和值。
[0080]
由于虚拟机的行为模式具有周期性,并且负载以不同的“时间段”进行记录,那么各项性能指标的统计也是以所述不同的“时间段”内的数据进行统计。具体来说,针对“自然天”为运行周期的虚拟机以1小时为时间段进行负载模式的判断和性能统计参数,可得到24组(对应1天的24小时)负载模式以及性能统计参数。
[0081]
风险评估模块104为云管理平台1的核心模块,用于计算主机在承载所述各虚拟机的行为模式时的第一风险评估值,以及主机在当前时刻的第二风险评估值,根据第一风险评估值和第二风险评估值计算所述主机的风险加权值,从而预估主机未来承载虚拟机的行为模式的风险大小。
[0082]
其中,所述第一风险评估值表示主机上承载的所有虚拟机在时间段内的负载之和与主机的最大负载之比。计算得到所述第一风险评估值的主要原则是根据虚拟机的在当前时刻之前的行为模式的统计值计算所有承载虚拟机资源需求超出主机可提供资源的概率,并量化为虚拟机的行为模式的风险评估值。例如,以虚拟机的CPU占用率为性能统计参数,虚拟机的CPU占用率的概率分布可表示为0~100%的概率分布曲线,针对主机承载的所有虚拟机的历史CPU占用率计算联合概率,得到主机的CPU占用率的概率分布模型,进而量化得到第一风险评估值,CPU占用率为较高数值(例如,>80%)的概率越高,则第一风险评估值越高;反之,则越低。
[0083]
需要说明的是,针对不同的负载模式以及不同的性能统计参数,可以采用不同的计算方式来计算第一风险评估值。更具体的,本发明实施例以下述场景为例进行第一风险评估值的计算过程说明:当前主机承载两个虚拟机分别为虚拟机A和虚拟机B,主机CPU规格为2vCPU,虚拟机A和B规格分别为1vCPU,虚拟机的性能统计参数为CPU占用率,通过行为模式分析得到两个虚拟机的运行周期为自然天,预设时间段为一小时,即一个运行周期存在24个时间段。若当前时刻为9点,针对两个虚拟机的历史性能指标记录进行行为模式分析得到的当前时间段(9点~10点)的负载模式均为快速震荡,选择“概率分布”作为虚拟机的“性能统计参数”。所述概率分别以离散概率分布为例进行表示,具体可以量化为2个概率区间,即CPU占用率0%~60%、60%~100%,用每个区间的平均值表示该区间的所有采样点的值,即为30%,80%。若虚拟机A在这两个区间的概率分布为(0.8,0.2),则其CPU占用值分别为0.3(30%*1),0.8(80%*1)个vCPU;若虚拟机B在这两个区间的概率分布为(0.6,0.4),CPU占用值也为 0.3,0.8个vCPU。利用联合概率计算得到四个概率区间,概率分布值分别为0.48(0.8*0.6),0.12(0.2*0.6),0.32(0.8*0.4),0.08(0.2*0.4),其对应CPU占用值为(0.6,1.1,1.1,1.6)个vCPU,该主机的CPU利用率为(30%(0.6/2),55%,55%,80%)。量化为与虚拟机量化区间(0%~60%,60%~100%)对应的两个区间,其概率分布分别为(0.92(0.48+0.12+0.32)),0.08),即该主机在当前时刻的CPU利用率的估计值92%的概率在0%~60%,8%的概率在60%~100%之间(表示该主机在9点~10点的时间段内,CPU占用率为0%~60%的概率为92%,60%~100%为8%),则该主机的风险评估值是较低的。在实际应用中,建议使用连续概率分布,或增多离散概率分布的概率区间数量,可增加估计的准确度。本领域技术人员可以理解的是,可以采用其他的性能统计参数以计算方法来计算得到第一风险评估值,只要可以使得该第一风险评估值可以用来表征主机在某时间段承载其上的虚拟机行为模式时的风险既可,本发明实施例对此并不进行限定。
[0084]
主机在当前时刻的第二风险评估值表示主机的当前时刻的负载风险的量化。,具体量化方式本实施例不予限定,示例性的,可以采用不均匀区间量化:例如,主机的负载的性能指标参数为CPU占用率,CPU占用率为0~40%之间,可量化第二风险评估值为0;CPU占用率为40%~60%之间,可量化第二风险评估值为0~0.25;CPU占用率为60%~80%之间,可量化第二风险评估值为0.25~0.6;CPU占用率为80~100%之间,可量化第二风险评估值为0.6~1,可见CPU占用率越高则第二风险评估值越接近1,反之,则越低。当然,主机的负载可表现为任意性能指标,包含但不限于CPU占用率、内存占用率、磁盘占用率、磁盘IO、网络吞吐量。
[0085]
本发明实施例以第一风险评估值与第二风险评估值的加权和作为主机的风险加权值,可采用关系式:
[0086]
R h=w l·R l+w b·R b
[0087]
其中,所述R h表示所述风险加权值,所述R l表示所述第二风险评估值,所述R b表示所述第一风险评估值,所述w l和w b表示加权因子且两者的取值范围为0~1、之和为1。加权因子可以由用户根据需求进行自主配置。示例性的,若该数据中心虚拟机的数量和行为模式相对稳定时,则w b值可相对较大;反之,若虚拟机数量波动较大,行为模式变化剧烈,则w b值应相对较小。一般建议w b不大于0.5。默认设置,w b为0.4,w l为0.6。所述R h、所述R l和所述R b的取值范 围为0~1。
[0088]
风险评估模块104计算得到主机的风险加权值后,资源调度决策模块105确定该风险加权值是否大于预设阈值,当风险加权值大于预设阈值时,进行主机上的虚拟机迁移流程。需要说明的是,本发明实施例提供两种方式判断是否需要进行虚拟机迁移:方式一,依据单个主机的风险加权值进行判断;方式二,依据迁移域内所有主机的风险加权值进行判断。具体的方式一针对单个主机负载失衡,方式二针对迁移域整体失衡。在方式二中,依据类似的计算方法,获得迁移域内所有主机的风险加权值,进一步的,根据迁移域内所有主机的风险评估值可计算得到风险均衡度。风险均衡度表示为迁移域内所有主机风险加权值的离散度和偏移度。本实施例提供一种简单而有效的计算方法:风险均衡度等于迁移域内所有主机风险加权值的标准差除以均值。在得到风险均衡度后,可通过预设阈值判断是否进行资源调度。当风险均衡度大于预设阈值则需要进行资源调度;反之,则不需要进行资源调度。
[0089]
在确定需要进行资源调度时,资源调度决策模块105基于风险均衡的资源调度原则进行虚拟机迁移,即以风险均衡度和主机风险加权值为依据,以最少的迁移次数、最短的迁移时间为约束条件,通过虚拟机在线迁移,使得在该迁移域内风险均衡度最优。资源调度决策模块105可以基于当前时刻迁移域内风险均衡度最优或未来一定时间长度内迁移域内风险均衡度最优两种方式来进行虚拟机迁移,其中,前者为后者的一个特例。需要说明的是,具体的资源调度决策可以采用穷举法,线性规划等最优化算法,本发明对此并不进行限定。示例性的,本发明实施例可以在风险加权值最大额主机上选择待迁移的VM,选择使迁移域全局风险均衡度最优的主机作为目的主机,迁移域全局风险均衡度的计算如下:首先分别计算虚拟机迁移到目的主机后若干个时间间隔(可以为运行周期的若干个时间分片)的风险均衡度,然后对所有风险均衡度做加权求和即可得到全局的风险均衡度。权值为对自定义的各个时间分片的加权系数,原则上为越接近当前时刻的时间分片的权值越大,所有权值和为1。
[0090]
基于上述系统结构示意图1,如图2所示,为本发明实施例提供的一种云计算系统中资源调度的方法流程示意图,所述方法包括:
[0091]
步骤201:监控主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0092]
具体的,监控模块101监控迁移域内所有主机上承载的虚拟机的性能指标,并记录在数据库102中。
[0093]
步骤202:根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0094]
所述行为模式包括虚拟机的运行周期、负载模式以及性能统计参数。
[0095]
具体的,行为模式分析模块103从数据库102中读取并分析历史性能指标的记录,确定各虚拟机的运行周期、运行周期中各时间段的负载模式以及该时间段对应的性能统计参数。不同的负载模块可以对应不同的性能统计参数。
[0096]
行为模式分析模块103确定所述虚拟机的运行周期;将所述虚拟机的运行周期划分为多个时间段,根据所述多个时间段内所述虚拟机的负载变化情况,分别确定所述虚拟机在所述多个时间段内的负载模式;根据所述历史性能指标确定所述运行周期内的多个时间段的性能统计参数。
[0097]
具体的行为模式的确定方法可以参考前述实施例中的描述,本发明实施例在此不再赘述。
[0098]
步骤203:计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值;
[0099]
风险评估模块104确定待评估的时间段,根据所述行为模式分析模块确定的主机承载的各虚拟机的运行周期中该时间段的负载模式以及该时间段对应的性能统计参数,计算得到所述待评估的时间段的第一风险评估值。需要说的是,本发明实施例对具体的计算方法在前述实施例中已说明,在此不再赘述。
[0100]
步骤204:根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值;
[0101]
步骤205:根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值;
[0102]
使用下述关系式计算所述风险加权值:
[0103]
R h=w l·R l+w b·R b
[0104]
其中,所述R h表示所述风险加权值,所述R l表示所述第二风险评估值,所述R b表示所述第一风险评估值,所述w l和w b表示加权因子且两者的取值范围为0~1、之和为1。
[0105]
步骤206:根据计算得到的所述主机的风险加权值,确定虚拟机迁移策略。
[0106]
本发明实施例针对单个主机的风险进行虚拟机迁移,更进一步的,本发明实施例还可以针对一个迁移域设定资源调度策略,即,当一个迁移域内的若干主机的风险均衡度过大时,进行虚拟机迁移。
[0107]
进一步的,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,
[0108]
所述根据计算得到的所述主机的风险加权值,确定虚拟机迁移策略包括:
[0109]
根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度;
[0110]
当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0111]
如图3所示,为本发明实施例提供的另一种云计算系统中资源调度的方法流程示意图,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,所述方法包括:
[0112]
步骤301:监控所述主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0113]
步骤302:根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0114]
步骤303:计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值;
[0115]
步骤304:根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值;
[0116]
步骤305:根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值;
[0117]
步骤306:根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度;
[0118]
步骤307:当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0119]
如图4所示,为本发明实施例提供的一种云计算系统中资源调度的装置结构示意图,所述装置包括:
[0120]
监控模块101,用于监控主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0121]
行为模式分析模块103,用于根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0122]
风险评估模块104,用于计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值,根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值,根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值
[0123]
资源调度决策模块105,用于根据所述风险评估模块104计算得到的所述主机的风险加权值,确定虚拟机迁移策略。
[0124]
所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,
[0125]
所述资源调度决策模块105,具体用于根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度,当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0126]
所述行为模式包括虚拟机的运行周期、负载模式以及性能统计参数。
[0127]
所述行为模式分析模块103,具体用于确定所述虚拟机的运行周期,将所述虚拟机的运行周期划分为多个时间段,根据所述多个时间段内所述虚拟机的负载变化情况,分别确定所述虚拟机在所述多个时间段内的负载模式,根据所述历史性能指标确定所述运行周期内的多个时间段的性能统计参数。
[0128]
风险评估模块104,具体用于根据所述多个时间段中至少一个时间段的性能统计参数,以及所述至少一个时间段对应的负载模式,计算所述第一风险评估值。
[0129]
所述风险评估模块104,具体用于使用下述关系式计算所述风险加权值:
[0130]
R h=w l·R l+w b·R b
[0131]
其中,所述R h表示所述风险加权值,所述R l表示所述第二风险评估值,所述R b表示所述第一风险评估值,所述w l和w b表示加权因子且两者的取值范围为0~1、之和为1。
[0132]
本发明实施例还提供了另一种云计算系统中资源调度的装置,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,所述装置包括:
[0133]
监控模块101,用于监控所述主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标;
[0134]
行为模式分析模块103,用于根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式;
[0135]
风险评估模块104,用于计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值,根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值,根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值;
[0136]
资源调度决策模块105,用于根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度,当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[0137]
本发明实施例提供的云计算系统中的资源调度的方法和装置,基于对虚拟机的各项性能指标值的统计分析,确定虚拟机的行为模式,进而确定承载所述虚拟机的风险加权值,基于计算得到的所述风险加权值迁移所述主机上的虚拟机,避免了主机上承载的虚拟机的QoS下降的问题,同时由于迁移决策过程基于主机当前时刻的第二风险评估值,以及主机承载的虚拟机的行为模式的第一风险评估值,即迁移过程的依据既包括当前时刻的风险,同时也包括了代表未来时段的主机承载该时段虚拟机行为模式时的第一风险评估值,从而避免主机上的虚拟机在未来时刻进行反复迁移。
[0138]
进一步地,如图11所示,本发明实施例提供了一种终端的硬件构成示意图。可包括至少一个处理器(例如CPU),至少一个网络接口或者其他通信接口,存储器,和至少一个通信总线,用于实现这些装置之间的连接通信。处理器用于执行存储器中存储的可执行模块,例如计算机程序。存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
[0139]
在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,程序指令可包括本发明上述实施例中指出的各个单元,各单元具体的实现方式可参见本发明上述实施例中的相应内容,这里不再赘述。
[0140]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献 的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,资源管理服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0141]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0142]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

权利要求书

[权利要求 1]
一种云计算系统中资源调度的方法,其特征在于,所述方法包括: 监控主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标; 根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式; 计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值; 根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值; 根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值; 根据计算得到的所述主机的风险加权值,确定虚拟机迁移策略。
[权利要求 2]
如权利要求1所述的资源调度的方法,其特征在于,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机, 所述根据计算得到的所述主机的风险加权值,确定虚拟机迁移策略包括: 根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度; 当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[权利要求 3]
如权利要求1或2所的方法,其特征在于,所述行为模式包括虚拟机的运行周期、负载模式以及性能统计参数。
[权利要求 4]
如权利要求3所述的方法,其特征在于,根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式包括: 确定所述虚拟机的运行周期; 将所述虚拟机的运行周期划分为多个时间段,根据所述多个时间段内所述虚拟机的负载变化情况,分别确定所述虚拟机在所述多个时间段内的负载模式; 根据所述历史性能指标确定所述运行周期内的多个时间段的性能统计参数。
[权利要求 5]
如权利要求4所述的方法,其特征在于, 所述计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值包 括: 根据所述多个时间段中至少一个时间段的性能统计参数,以及所述至少一个时间段对应的负载模式,计算所述第一风险评估值。
[权利要求 6]
如权利要求1-4任一所述的方法,其特征在于,所述根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值包括: 使用下述关系式计算所述风险加权值: R h=w l·R l+w b·R b 其中,所述R h表示所述风险加权值,所述R l表示所述第二风险评估值,所述R b表示所述第一风险评估值,所述w l和w b表示加权因子且两者的取值范围为0~1、之和为1。
[权利要求 7]
一种云计算系统中资源调度的方法,其特征在于,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机, 所述方法包括: 监控所述主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标; 根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式; 计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值; 根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值; 根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值; 根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度; 当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[权利要求 8]
一种云计算系统中资源调度的装置,其特征在于,包括: 监控模块,用于监控主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标; 行为模式分析模块,用于根据所述主机承载的所述各虚拟机的所述历史性 能指标,确定所述各虚拟机的行为模式; 风险评估模块,用于计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值,根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值,根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值 资源调度决策模块,用于根据所述风险评估模块计算得到的所述主机的风险加权值,确定虚拟机迁移策略。
[权利要求 9]
如权利要求7所述的装置,其特征在于,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机, 所述资源调度决策模块,具体用于根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度,当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。
[权利要求 10]
如权利要求7或8所述的装置,其特征在于,所述行为模式包括虚拟机的运行周期、负载模式以及性能统计参数。
[权利要求 11]
如权利要求10所述的装置,其特征在于,所述行为模式分析模块,具体用于确定所述虚拟机的运行周期,将所述虚拟机的运行周期划分为多个时间段,根据所述多个时间段内所述虚拟机的负载变化情况,分别确定所述虚拟机在所述多个时间段内的负载模式,根据所述历史性能指标确定所述运行周期内的多个时间段的性能统计参数。
[权利要求 12]
如权利要11所述的装置,其特征在于,所述风险评估模块,具体用于根据所述多个时间段中至少一个时间段的性能统计参数,以及所述至少一个时间段对应的负载模式,计算所述第一风险评估值。
[权利要求 13]
如权利要求7-12任一所述的装置,其特征在于, 所述风险评估模块,具体用于使用下述关系式计算所述风险加权值: R h=w l·R l+w b·R b 其中,所述R h表示所述风险加权值,所述R l表示所述第二风险评估值,所述R b表示所述第一风险评估值,所述w l和w b表示加权因子且两者的取值范围为0~1、之和为1。
[权利要求 14]
一种云计算系统中资源调度的装置,所述云计算系统包括至少一个迁移域,所述迁移域中包括至少两个主机,其特征在于,所述装置包括: 监控模块,用于监控所述主机上承载的各虚拟机的性能指标,所述性能指标包括当前时刻的性能指标以及历史性能指标; 行为模式分析模块,用于根据所述主机承载的所述各虚拟机的所述历史性能指标,确定所述各虚拟机的行为模式; 风险评估模块,用于计算所述主机在承载所述各虚拟机的行为模式时的第一风险评估值,根据所述主机承载的所述各虚拟机的所述当前时刻的性能指标,计算所述主机在当前时刻的第二风险评估值,根据所述第一风险评估值和所述第二风险评估值,计算所述主机的风险加权值; 资源调度决策模块,用于根据所述迁移域中的所述至少两个主机的风险加权值,计算所述迁移域的风险均衡度,当所述风险均衡度大于预设阈值时,从风险加权值最大的主机上选择虚拟机迁移到所述迁移域的其他主机上。

附图

[ 图 0001]  
[ 图 0002]  
[ 图 0003]  
[ 图 0004]  
[ 图 0005]