一种分布式资源调度方法及装置转让专利

申请号 : CN201310751965.X

文献号 : CN103763346B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 闫立俊

申请人 : 华为技术有限公司

摘要 :

一种分布式资源调度方法及装置。该方法包括:按照预定的获取步骤获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率的第一标准差,当该第一标准差大于或等于调度阈值时,将分布式集群系统中任一服务器的同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中,重新按照预定的获取步骤获取平衡调度后的各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,比较至少一次平衡调度后获取的第二标准差,执行最小的第二标准差对应的平衡调度。通过按照分布式集群系统中各服务器内业务虚拟机的类型,或按照各服务器内各类业务虚拟机占所在服务器的资源比例进行分布式资源调度,可以保证各服务器内各业务虚拟机的服务质量。

权利要求 :

1.一种分布式资源调度方法,其特征在于,包括:

获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率;

根据所述各服务器内的同一类型业务虚拟机的资源使用率,通过预定的获取步骤获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差,所述获取步骤为:根据所述各服务器内的同一类型业务虚拟机的资源使用率获取所述各服务器内的同一类型业务虚拟机的平均资源使用率,并根据所述各服务器内的同一类型业务虚拟机的资源使用率以及所述平均资源使用率,获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差;所述第一标准差用于反应所述各服务器内同一类型业务虚拟机的资源使用率的离散程度;

当所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差大于或等于所述各服务器内的同一类型业务虚拟机的资源使用率的调度阈值时,采用递归调度方式将所述分布式集群系统中任一服务器的所述同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中;

获取平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率;

根据所述平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率,通过所述预定的获取步骤获取所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差;

比较至少一次所述平衡调度后获取的所述第二标准差,执行最小的所述第二标准差对应的所述平衡调度。

2.如权利要求1所述的方法,其特征在于,所述比较至少一次所述平衡调度后获取的所述第二标准差,执行最小的所述第二标准差对应的所述平衡调度之前,还包括:若进行下一次平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差大于或等于进行当前平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,则停止执行所述获取步骤及下一次的平衡调度。

3.一种分布式资源调度方法,其特征在于,包括:

根据分布式集群系统中各服务器内各类业务虚拟机占所述各服务器的资源的比例和所述各服务器内各类业务虚拟机的资源使用率,获取所述各服务器的资源使用率;

根据所述各服务器的资源使用率,通过预定的获取步骤获取所述分布式集群系统的资源使用率的第三标准差,所述获取步骤为:根据所述各服务器的资源使用率获取所述分布式集群系统的平均资源使用率,并根据所述各服务器的资源使用率以及所述分布式集群系统的平均资源使用率,获取所述分布式集群系统的资源使用率的第三标准差;所述第三标准差用于反应所述分布式集群系统的资源使用率的离散程度;

当所述分布式集群系统的资源使用率的第三标准差大于或等于所述分布式集群系统的资源使用率的调度阈值时,采用递归调度方式将所述各服务器内任一业务虚拟机平衡调度至所述分布式集群系统的其他服务器中;

获取平衡调度后分布式集群系统中各服务器的资源使用率;

根据所述平衡调度后分布式集群系统中各服务器的资源使用率,通过所述预定的获取步骤获取所述平衡调度后分布式集群系统的资源使用率的第四标准差;

比较至少一次所述平衡调度后获取的所述第四标准差,执行最小的所述第四标准差对应的所述平衡调度。

4.如权利要求3所述的方法,其特征在于,所述比较至少一次所述平衡调度后获取的所述第四标准差,执行最小的所述第四标准差对应的所述平衡调度之前,还包括:若进行下一次平衡调度后所述分布式集群系统的资源使用率的第四标准差大于或等于进行当前平衡调度后所述分布式集群系统的资源使用率的第四标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,或将所述业务虚拟机从任一第一服务器平衡调度至任一第二服务器后,所述任一第一服务器或所述任一第二服务器中各类业务虚拟机的总量的变化大于第二设定阈值,和/或所述任一第一服务器或所述任一第二服务器中各类业务虚拟机占所述任一第一服务器的资源的的变化大于第三设定阈值,则停止执行所述获取步骤及下一次的平衡调度。

5.一种分布式资源调度装置,其特征在于,包括:

第一获取单元,用于获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率;

第二获取单元,用于根据所述各服务器内的同一类型业务虚拟机的资源使用率,通过预定的获取方式获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差,所述获取方式为:根据所述各服务器内的同一类型业务虚拟机的资源使用率获取所述各服务器内的同一类型业务虚拟机的平均资源使用率,并根据所述各服务器内的同一类型业务虚拟机的资源使用率以及所述平均资源使用率,获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差;所述第一标准差用于反应所述各服务器内同一类型业务虚拟机的资源使用率的离散程度;

第一调度单元,用于当所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差大于或等于所述各服务器内的同一类型业务虚拟机的资源使用率的调度阈值时,采用递归调度方式将所述分布式集群系统中任一服务器的所述同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中;

第三获取单元,用于获取平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率;

第四获取单元,用于根据所述平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率,通过所述预定的获取方式获取所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差;

第一比较单元,用于比较至少一次所述平衡调度后获取的所述第二标准差;

第一执行单元,用于执行最小的所述第二标准差对应的所述平衡调度。

6.如权利要求5所述的装置,其特征在于,所述第一执行单元还用于:

若进行下一次平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差大于或等于进行当前平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,则停止执行所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差的获取及下一次的平衡调度。

7.一种分布式资源调度装置,其特征在于,包括:

第五获取单元,用于根据分布式集群系统中各服务器内各类业务虚拟机占所述各服务器的资源的比例和所述各服务器内各类业务虚拟机的资源使用率,获取所述各服务器的资源使用率;

第六获取单元,用于根据所述各服务器的资源使用率,通过预定的获取方式获取所述分布式集群系统的资源使用率的第三标准差,所述获取方式为:根据所述各服务器的资源使用率获取所述分布式集群系统的平均资源使用率,并根据所述各服务器的资源使用率以及所述分布式集群系统的平均资源使用率,获取所述分布式集群系统的资源使用率的第三标准差;所述第三标准差用于反应所述分布式集群系统的资源使用率的离散程度;

第二调度单元,用于当所述分布式集群系统的资源使用率的第三标准差大于或等于所述分布式集群系统的资源使用率的调度阈值时,采用递归调度方式将所述各服务器内任一业务虚拟机平衡调度至所述分布式集群系统的其他服务器中;

第七获取单元,用于获取平衡调度后分布式集群系统中各服务器的资源使用率;

第八获取单元,用于根据所述平衡调度后分布式集群系统中各服务器的资源使用率,通过所述预定的获取方式获取所述平衡调度后分布式集群系统的资源使用率的第四标准差;

第二比较单元,用于比较至少一次所述平衡调度后获取的所述第四标准差;

第二执行单元,用于执行最小的所述第四标准差对应的所述平衡调度。

8.如权利要求7所述的装置,其特征在于,所述第二执行单元还用于:

若进行下一次平衡调度后所述分布式集群系统的资源使用率的第四标准差大于或等于进行当前平衡调度后所述分布式集群系统的资源使用率的第四标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,或将所述业务虚拟机从任一第一服务器平衡调度至任一第二服务器后,所述任一第一服务器或所述任一第二服务器中各类业务虚拟机的总量的变化大于第二设定阈值,和/或所述任一第一服务器或所述任一第二服务器中各类业务虚拟机占所述任一第一服务器的资源的的变化大于第三设定阈值,则停止执行所述平衡调度后分布式集群系统的资源使用率的获取及下一次的平衡调度。

说明书 :

一种分布式资源调度方法及装置

技术领域

[0001] 本发明涉及资源调度技术,尤其涉及一种分布式资源调度方法及装置。

背景技术

[0002] 在虚拟化或云计算的解决方案里,服务器集群中的每个服务器一般包括运行不同类型业务的多个虚拟机,当不同类型的业务部署在同一个服务器即计算节点时,比如一个计算节点同时有桌面云虚拟机和编译业务虚拟机,需要考虑如何保证各自的服务质量,确保各虚拟机的资源占用不相互干扰,并能最大化的利用集群资源。
[0003] 在现有技术中,采用服务质量技术(Quality of Service,QoS)保证同一个计算节点不同类型业务的服务质量,它要求不同类型虚拟机的总量和比例保持稳定,比如一个计算节点有40个虚拟机,其中桌面云虚拟机15个,编译云虚拟机25个,通过设置虚拟机份额高、中、低,确保高份额的虚拟机获取相当份额的资源;采用分布式资源调度程序(Distributed Resource Scheduler,DRS),使集群内的资源利用率最大化,比如,DRS将重载的虚拟机迁移到负载低的服务器中,此时重载虚拟机的资源占用率得到了改善,同时原服务器其它虚拟机的资源占用率也得到了改善,集群整体的资源占用率得到了提升。
[0004] 然而,启动DRS后,若虚拟机迁移至其它的服务器,则会使服务器内的不同类型的业务虚拟机比例失衡,从而,启动DRS后,如何保证各服务器内各业务虚拟机的服务质量是目前迫切需要解决的问题。

发明内容

[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] 图1为本发明实施例提供的一种分布式资源调度方法的流程示意图;
[0047] 图2为本发明实施例提供的另一种分布式资源调度方法的流程示意图;
[0048] 图3为本发明实施例提供的又一种分布式资源调度方法的流程示意图;
[0049] 图4为本发明实施例提供的又一种分布式资源调度方法的流程示意图;
[0050] 图5为本发明实施例提供的一种分布式资源调度装置的结构示意图;
[0051] 图6为本发明实施例提供的另一种分布式资源调度装置的结构示意图;
[0052] 图7为本发明实施例提供的一种分布式资源调度设备的结构示意图;
[0053] 图8为本发明实施例提供的另一种分布式资源调度设备的结构示意图。

具体实施方式

[0054] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055] 请参阅图1,为本发明实施例提供的一种分布式资源调度方法的流程示意图。该方法包括以下步骤:
[0056] 步骤S101,获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率。
[0057] 在虚拟化或云计算的服务器集群中包括有多个服务器,每个服务器中又包括多个虚拟机,这多个虚拟机可以运行不同类型的业务,称为业务虚拟机。采用DRS技术对服务器集群的资源进行分配,系统给每个服务器分配一定的资源,每个服务器又给其各虚拟机分配相应的资源,因此该服务器集群又称为分布式集群系统,这里的资源指中央处理器(Central Processing Unit,CPU)、内存和输入/输出(Input/Output,I/O)等控制、存储和输入/输出资源。
[0058] 在本步骤中,获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率,获取的方式可以为:在每个服务器中设置监控器,监控器监控该服务器内该类型业务虚拟机的资源使用率,并上报给DRS,或者DRS向监控器请求该类型虚拟机的资源使用率,从监控器获取该类型业务虚拟机的资源使用率的次数可以为一次,也可以为多次。这里的资源使用率可以是某一种资源的使用率,也可以是各种资源例如CPU、内存和I/O等的资源使用率的加权值。
[0059] 分布式集群系统中各服务器内有一种或多种类型的业务虚拟机,例如,有桌面云虚拟机和编译云虚拟机,本实施例根据业务类型分别获取各服务器内同一类型的虚拟机的资源使用率。
[0060] 例如,集群内有三个服务器,服务器1内有桌面云虚拟机2个、编译云虚拟机2个,服务器2内有桌面云虚拟机3个、编译云虚拟机2个,服务器3内有桌面云虚拟机1个、编译云虚拟机2个,DRS给集群内的服务器1、2、3分别分配一定的CPU、内存和I/O资源,各个服务器又给其内部的各类型的虚拟机分配一定的CPU、内存和I/O资源,以CPU资源分配为例,DRS给服务器1分配数量为A的CPU资源,给服务器2分配数量为B的CPU资源,给服务器3分配数量为C的CPU资源,服务器1给其内的2个桌面云虚拟机和2个编译云虚拟机分别分配A1、A2、A3和A4的CPU资源,以桌面云虚拟机的资源使用率为例,服务器1内2个桌面云虚拟机的资源使用率分别为30%和40%,则得到服务器1内桌面云虚拟机的CPU的资源使用率为(30%*A1+40%*A2)/(A1+A2),然后再以同样的方式分别计算服务器1内桌面云虚拟机的总的内存和I/O的资源使用率,再将总的CPU、内存和I/O的资源使用率进行加权计算,得到服务器1的桌面云虚拟机的资源使用率,以此类推获取服务器2和3的桌面云虚拟机的资源使用率。同时,还可以按照同样的方式获取各服务器内编译云虚拟机的资源使用率。
[0061] 步骤S102,根据所述各服务器内的同一类型业务虚拟机的资源使用率,通过预定的获取步骤获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差,所述获取步骤为:根据所述各服务器内的同一类型业务虚拟机的资源使用率获取所述各服务器内的同一类型业务虚拟机的平均资源使用率,并根据所述各服务器内的同一类型业务虚拟机的资源使用率以及所述平均资源使用率,获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差。
[0062] 采用DRS技术保证集群内的资源利用率最大化,因此,计算集群内各个服务器内的同一类型业务虚拟机的资源使用率与各个服务器内的同一类型业务虚拟机的平均资源使用率的标准差,标准差用于反应数据的离散程度,其计算公式如公式(1)所示:
[0063]
[0064] 在公式(1)中,xi是各个服务器内的同一类型业务虚拟机的资源使用率;μ是各个服务器内的同一类型业务虚拟机的平均资源使用率,N是集群中的服务器个数,σ为标准差。
[0065] 根据标准差的获取步骤,首先需要获取各个服务器内的同一类型业务虚拟机的平均资源使用率。在步骤S101中已经获取各个服务器内的同一类型业务虚拟机的资源使用率,可以根据现有的计算方式获取各个服务器内的同一类型业务虚拟机的平均资源使用率。例如前面的示例中,有三个服务器,则将获取的各服务器内同一类型业务虚拟机的资源使用率取和再除以服务器的个数,即得到该平均资源使用率。
[0066] 然后,根据公式(1)获取各服务器内的同一类型业务虚拟机的资源使用率的标准差。
[0067] 步骤S103,当所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差大于或等于所述各服务器内的同一类型业务虚拟机的资源使用率的调度阈值时,将所述分布式集群系统中任一服务器的所述同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中。
[0068] 通过比较获取的标准差与各服务器内的同一类型业务虚拟机的资源使用率的调度阈值,系统可以判断各个服务器内的该类型业务虚拟机的资源使用是否失衡,标准差越大,表示失衡率越高。需要说明的是,由于各服务器内有多种类型的业务虚拟机,则对各服务器内每一相同类型的业务虚拟机分别计算其与获取的平均资源使用率的标准差,获取的标准差的结果可以是某一类型的业务虚拟机的资源使用均衡,而另一类型的业务虚拟机的资源使用率失衡。
[0069] 当所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差大于或等于所述各服务器内的同一类型业务虚拟机的资源使用率的调度阈值时,触发调度。调度过程中可以按照递归调度,递归调度过程中是将分布式集群系统中任一服务器的所述同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中。
[0070] 步骤S104,获取平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率。
[0071] 步骤S105,根据所述平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率,通过所述预定的获取步骤获取所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差。
[0072] 每一轮平衡调度后,获取调度虚拟机对失衡率的影响,即重新获取平衡调度后各服务器内的同一类型业务虚拟机的资源使用率的标准差。
[0073] 由于每一轮平衡调度后,各服务器内同一类型的业务虚拟机的资源使用率发生变化,首先要获取平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率,然后再按照预定的标准差的获取步骤获取该轮平衡调度后各服务器内的同一类型业务虚拟机的资源使用率的标准差。
[0074] 步骤S106,比较至少一次所述平衡调度后获取的所述第二标准差,执行最小的所述第二标准差对应的所述平衡调度。
[0075] 进行多轮上述的平衡调度,平衡调度时可以采取一定的策略进行调度,例如将重载的业务虚拟机调度至其它服务器,本发明实施例不作限定,在进行多轮上述的平衡调度中,记录每一轮平衡调度获取的该轮平衡调度后各服务器内的同一类型业务虚拟机的资源使用率的标准差,然后比较多轮平衡调度后获取的多个标准差,选出最小的标准差,最终执行该最小的标准差对应的平衡调度,即获取该最小标准差进行的平衡调度是将哪个或哪几个虚拟机调度至哪个或哪几个服务器,则执行该平衡调度。
[0076] 需要说明的是,由于是针对各服务器内同一类型业务虚拟机进行的分布式资源调度,可以分别进行各服务器内每一类业务虚拟机的分布式资源调度,如果某一类型业务虚拟机的资源使用均衡,则进行该分布式资源调度。
[0077] 可见,根据本发明实施例提供的一种分布式资源调度方法,通过按照分布式集群系统中各服务器内业务虚拟机的类型进行分布式资源调度,可以保证各服务器内各业务虚拟机的服务质量。
[0078] 请参阅图2,为本发明实施例提供的另一种分布式资源调度方法的流程示意图。该方法与前述实施例的不同之处在于,还包括步骤S206:若进行下一次平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差大于或等于进行当前平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,则停止执行所述获取步骤及下一次的平衡调度。
[0079] 采用递归调度可使得调度效率最高,在递归调度中设置递归退出的条件,即若进行下一次平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差大于或等于进行当前平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,则停止执行所述获取步骤及下一次的平衡调度。这样有助于及时停止上述获取步骤和平衡调度,获得最小的标准差,执行该最小的标准差对应的平衡调度。
[0080] 请参阅图3,为本发明实施例提供的又一种分布式资源调度方法的流程示意图。该方法包括以下步骤:
[0081] 步骤S301,根据分布式集群系统中各服务器内各类业务虚拟机占所述各服务器的资源的比例和所述各服务器内各类业务虚拟机的资源使用率,获取所述各服务器的资源使用率。
[0082] 分布式集群系统中各服务器内有一种或多种类型的业务虚拟机,例如,有桌面云虚拟机和编译云虚拟机,DRS给集群内每个服务器分配有一定的运算、存储和输入/输出资源,各个服务器又其将其获得的资源按照一定的比例分配给其内部的各类型的业务虚拟机。保证各服务器内不同类型业务虚拟机的资源的总量和比例保持稳定,即可保证各服务器内各类业务虚拟机的服务质量。
[0083] 例如,集群内有三个服务器,服务器1内有桌面云虚拟机2个、编译云虚拟机2个,服务器2内有桌面云虚拟机3个、编译云虚拟机2个,服务器3内有桌面云虚拟机1个、编译云虚拟机2个,DRS给集群内的服务器1、2、3分别分配一定的CPU、内存和I/O资源,各个服务器又给其内部的各虚拟机分配一定的CPU、内存和I/O资源,以CPU资源分配为例,DRS给服务器1分配数量为A的CPU资源,给服务器2分配数量为B的CPU资源,给服务器3分配数量为C的CPU资源,服务器1给其内的2个桌面云虚拟机和2个编译云虚拟机分别分配A1、A2、A3和A4的CPU资源,服务器1内2个桌面云虚拟机的资源使用率分别为30%和40%,服务器1内2个编译云虚拟机的资源使用率分别为40%和50%,则得到服务器1的CPU的资源使用率为(30%*A1+40%*A2+40%*A3+50%A4)/(A1+A2+A3+A4),然后再以同样的方式分别计算服务器1内各类虚拟机的内存和I/O的资源使用率,再将服务器1的CPU、内存和I/O的资源使用率进行加权计算,得到服务器1的资源使用率,服务器2和3的计算以此类推。
[0084] 步骤S302,根据所述各服务器的资源使用率,通过预定的获取步骤获取所述分布式集群系统的资源使用率的第三标准差,所述获取步骤为:根据所述各服务器的资源使用率获取所述分布式集群系统的平均资源使用率,并根据所述各服务器的资源使用率以及所述分布式集群系统的平均资源使用率,获取所述分布式集群系统的资源使用率的第三标准差。
[0085] 与前述实施例不同的是,由于针对的是各服务器内各类业务虚拟机,所以,按照前述实施例相同的方式获取各服务器的资源使用率以及整个分布式集群系统的平均资源使用率,然后,按照公式(1)获取分布式集群系统的资源使用率的标准差。
[0086] 步骤S303,当所述分布式集群系统的资源使用率的第三标准差大于或等于所述分布式集群系统的资源使用率的调度阈值时,将所述各服务器内任一业务虚拟机平衡调度至所述分布式集群系统的其他服务器中。
[0087] 将获取的分布式集群系统的资源使用率的标准差与该分布式集群系统的资源使用率的调度阈值进行比较,如果该分布式集群系统的资源使用率的标准差大于或等于该分布式集群系统的资源使用率的调度阈值,则触发平衡调度。平衡调度的对象可以是各服务器内任一业务虚拟机。
[0088] 步骤S304,获取平衡调度后分布式集群系统中各服务器的资源使用率。
[0089] 步骤S305,根据所述平衡调度后分布式集群系统中各服务器的资源使用率,通过所述预定的获取步骤获取所述平衡调度后分布式集群系统的资源使用率的第四标准差。
[0090] 步骤S306,比较至少一次所述平衡调度后获取的所述第四标准差,执行最小的所述第四标准差对应的所述平衡调度。
[0091] 步骤S304-步骤S306与前述实施例的步骤S104-步骤S106分别类似,在此不再赘述,所不同的是,针对的是各服务器内各类业务虚拟机,获取的是该分布式集群系统的资源使用率的标准差。
[0092] 可见,根据本发明实施例提供的一种分布式资源调度方法,通过按照各服务器内各类业务虚拟机占所在服务器的资源比例进行分布式资源调度,可以保证各服务器内各业务虚拟机的服务质量。
[0093] 请参阅图4,为本发明实施例提供的又一种分布式资源调度方法的流程示意图。该方法与前述实施例的不同之处在于,还包括步骤S406:若进行下一次平衡调度后所述分布式集群系统的资源使用率的第四标准差大于或等于进行当前平衡调度后所述分布式集群系统的资源使用率的第四标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,或将所述业务虚拟机从任一第一服务器平衡调度至任一第二服务器后,所述任一第一服务器或所述任一第二服务器中各类业务虚拟机的总量的变化大于第二设定阈值,和/或所述任一第一服务器或所述任一第二服务器中各类业务虚拟机占所述任一第一服务器的资源的的变化大于第三设定阈值,则停止执行所述获取步骤及下一次的平衡调度。
[0094] 采用递归调度可使得调度效率最高,在递归调度中设置递归退出的条件,即若进行下一次平衡调度后所述分布式集群系统的资源使用率的第四标准差大于或等于进行当前平衡调度后所述分布式集群系统的资源使用率的第四标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,或将所述业务虚拟机从任一第一服务器平衡调度至任一第二服务器后,所述任一第一服务器或所述任一第二服务器中各类业务虚拟机的总量的变化大于第二设定阈值,和/或所述任一第一服务器或所述任一第二服务器中各类业务虚拟机占所述任一第一服务器的资源的的变化大于第三设定阈值,则停止执行所述获取步骤及下一次的平衡调度。这样有助于及时停止上述获取步骤和平衡调度,获得最小的标准差,执行该最小的标准差对应的平衡调度。
[0095] 请参阅图5,为本发明实施例提供的一种分布式资源调度装置的结构示意图。该装置1000包括:
[0096] 第一获取单元11,用于获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率。
[0097] 在虚拟化或云计算的服务器集群中包括有多个服务器,每个服务器中又包括多个虚拟机,这多个虚拟机可以运行不同类型的业务,称为业务虚拟机。采用DRS技术对服务器集群的资源进行分配,系统给每个服务器分配一定的资源,每个服务器又给其各虚拟机分配相应的资源,因此该服务器集群又称为分布式集群系统,这里的资源指中央处理器(Central Processing Unit,CPU)、内存和输入/输出(Input/Output,I/O)等控制、存储和输入/输出资源。
[0098] 第一获取单元11获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率,获取的方式可以为:在每个服务器中设置监控器,监控器监控该服务器内该类型业务虚拟机的资源使用率,并上报给DRS,或者DRS向监控器请求该类型虚拟机的资源使用率,从监控器获取该类型业务虚拟机的资源使用率的次数可以为一次,也可以为多次。这里的资源使用率可以是某一种资源的使用率,也可以是各种资源例如CPU、内存和I/O等的资源使用率的加权值。
[0099] 分布式集群系统中各服务器内有一种或多种类型的业务虚拟机,例如,有桌面云虚拟机和编译云虚拟机,本实施例根据业务类型分别获取各服务器内同一类型的虚拟机的资源使用率。
[0100] 例如,集群内有三个服务器,服务器1内有桌面云虚拟机2个、编译云虚拟机2个,服务器2内有桌面云虚拟机3个、编译云虚拟机2个,服务器3内有桌面云虚拟机1个、编译云虚拟机2个,DRS给集群内的服务器1、2、3分别分配一定的CPU、内存和I/O资源,各个服务器又给其内部的各类型的虚拟机分配一定的CPU、内存和I/O资源,以CPU资源分配为例,DRS给服务器1分配数量为A的CPU资源,给服务器2分配数量为B的CPU资源,给服务器3分配数量为C的CPU资源,服务器1给其内的2个桌面云虚拟机和2个编译云虚拟机分别分配A1、A2、A3和A4的CPU资源,以桌面云虚拟机的资源使用率为例,服务器1内2个桌面云虚拟机的资源使用率分别为30%和40%,则得到服务器1内桌面云虚拟机的CPU的资源使用率为(30%*A1+40%*A2)/(A1+A2),然后再以同样的方式分别计算服务器1内桌面云虚拟机的总的内存和I/O的资源使用率,再将总的CPU、内存和I/O的资源使用率进行加权计算,得到服务器1的桌面云虚拟机的资源使用率,以此类推获取服务器2和3的桌面云虚拟机的资源使用率。同时,还可以按照同样的方式获取各服务器内编译云虚拟机的资源使用率。
[0101] 第二获取单元12,用于根据所述各服务器内的同一类型业务虚拟机的资源使用率,通过预定的获取方式获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差,所述获取方式为:根据所述各服务器内的同一类型业务虚拟机的资源使用率获取所述各服务器内的同一类型业务虚拟机的平均资源使用率,并根据所述各服务器内的同一类型业务虚拟机的资源使用率以及所述平均资源使用率,获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差。
[0102] 采用DRS技术保证集群内的资源利用率最大化,因此,第二获取单元12获取集群内各个服务器内的同一类型业务虚拟机的资源使用率与各个服务器内的同一类型业务虚拟机的平均资源使用率的标准差,标准差用于反应数据的离散程度,其计算公式如公式(1)所示。
[0103] 根据标准差的计算公式,第二获取单元12首先需要获取各个服务器内的同一类型业务虚拟机的平均资源使用率。第一获取单元11已经获取各个服务器内的同一类型业务虚拟机的资源使用率,第二获取单元12可以根据现有的计算方式获取各个服务器内的同一类型业务虚拟机的平均资源使用率。例如前面的示例中,有三个服务器,则将获取的各服务器内同一类型业务虚拟机的资源使用率取和再除以服务器的个数,即得到该平均资源使用率。
[0104] 然后,第二获取单元12根据公式(1)获取各服务器内的同一类型业务虚拟机的资源使用率的标准差。
[0105] 第一调度单元13,用于当所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差大于或等于所述各服务器内的同一类型业务虚拟机的资源使用率的调度阈值时,将所述分布式集群系统中任一服务器的所述同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中。
[0106] 通过比较获取的标准差与各服务器内的同一类型业务虚拟机的资源使用率的调度阈值,系统可以判断各个服务器内的该类型业务虚拟机的资源使用是否失衡,标准差越大,表示失衡率越高。需要说明的是,由于各服务器内有多种类型的业务虚拟机,则对各服务器内每一相同类型的业务虚拟机分别计算其与获取的平均资源使用率的标准差,获取的标准差的结果可以是某一类型的业务虚拟机的资源使用均衡,而另一类型的业务虚拟机的资源使用率失衡。
[0107] 当所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差大于或等于所述各服务器内的同一类型业务虚拟机的资源使用率的调度阈值时,第一调度单元13触发调度。调度过程中可以按照递归调度,递归调度过程中是将分布式集群系统中任一服务器的所述同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中。
[0108] 第三获取单元14,用于获取平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率。
[0109] 第四获取单元15,用于根据所述平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率,通过所述预定的获取方式获取所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差。
[0110] 每一轮平衡调度后,第四获取单元15获取调度虚拟机对失衡率的影响,即第四获取单元15重新获取平衡调度后各服务器内的同一类型业务虚拟机的资源使用率的标准差。
[0111] 由于每一轮平衡调度后,各服务器内同一类型的业务虚拟机的资源使用率发生变化,首先第三获取单元14要获取平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率,然后第四获取单元15再按照预定的标准差的获取方式获取该轮平衡调度后各服务器内的同一类型业务虚拟机的资源使用率的标准差。
[0112] 第一比较单元16,用于比较至少一次所述平衡调度后获取的所述第二标准差;
[0113] 第一执行单元17,用于执行最小的所述第二标准差对应的所述平衡调度。
[0114] 进行多轮上述的平衡调度,平衡调度时可以采取一定的策略进行调度,例如将重载的业务虚拟机调度至其它服务器,本发明实施例不作限定,在进行多轮上述的平衡调度中,记录每一轮平衡调度获取的该轮平衡调度后各服务器内的同一类型业务虚拟机的资源使用率的标准差,然后比较多轮平衡调度后获取的多个标准差,选出最小的标准差,第一执行单元17最终执行该最小的标准差对应的平衡调度,即获取该最小标准差进行的平衡调度是将哪个或哪几个虚拟机调度至哪个或哪几个服务器,则执行该平衡调度。
[0115] 需要说明的是,由于是针对各服务器内同一类型业务虚拟机进行的分布式资源调度,可以分别进行各服务器内每一类业务虚拟机的分布式资源调度,如果某一类型业务虚拟机的资源使用均衡,则进行该分布式资源调度。
[0116] 可见,根据本发明实施例提供的一种分布式资源调度装置,通过按照分布式集群系统中各服务器内业务虚拟机的类型进行分布式资源调度,可以保证各服务器内各业务虚拟机的服务质量。
[0117] 作为一种实施方式,第一执行单元17还可以用于若进行下一次平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差大于或等于进行当前平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,则停止执行所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差的获取及下一次的平衡调度。
[0118] 采用递归调度可使得调度效率最高,在递归调度中设置递归退出的条件,即若进行下一次平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差大于或等于进行当前平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,则第一执行单元17停止执行所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差的获取及下一次的平衡调度。这样有助于及时停止上述获取步骤和平衡调度,获得最小的标准差,执行该最小的标准差对应的平衡调度。
[0119] 请参阅图6,为本发明实施例提供的另一种分布式资源调度装置的结构示意图。该装置2000包括:
[0120] 第五获取单元21,用于根据分布式集群系统中各服务器内各类业务虚拟机占所述各服务器的资源的比例和所述各服务器内各类业务虚拟机的资源使用率,获取所述各服务器的资源使用率。
[0121] 分布式集群系统中各服务器内有一种或多种类型的业务虚拟机,例如,有桌面云虚拟机和编译云虚拟机,DRS给集群内每个服务器分配有一定的运算、存储和输入/输出资源,各个服务器又其将其获得的资源按照一定的比例分配给其内部的各类型的业务虚拟机。保证各服务器内不同类型业务虚拟机的资源的总量和比例保持稳定,即可保证各服务器内各类业务虚拟机的服务质量。
[0122] 例如,集群内有三个服务器,服务器1内有桌面云虚拟机2个、编译云虚拟机2个,服务器2内有桌面云虚拟机3个、编译云虚拟机2个,服务器3内有桌面云虚拟机1个、编译云虚拟机2个,DRS给集群内的服务器1、2、3分别分配一定的CPU、内存和I/O资源,各个服务器又给其内部的各虚拟机分配一定的CPU、内存和I/O资源,以CPU资源分配为例,DRS给服务器1分配数量为A的CPU资源,给服务器2分配数量为B的CPU资源,给服务器3分配数量为C的CPU资源,服务器1给其内的2个桌面云虚拟机和2个编译云虚拟机分别分配A1、A2、A3和A4的CPU资源,服务器1内2个桌面云虚拟机的资源使用率分别为30%和40%,服务器1内2个编译云虚拟机的资源使用率分别为40%和50%,则得到服务器1的CPU的资源使用率为(30%*A1+40%*A2+40%*A3+50%A4)/(A1+A2+A3+A4),然后再以同样的方式分别计算服务器1内各类虚拟机的内存和I/O的资源使用率,再将服务器1的CPU、内存和I/O的资源使用率进行加权计算,得到服务器1的资源使用率,服务器2和3的计算以此类推。
[0123] 第六获取单元22,用于根据所述各服务器的资源使用率,通过预定的获取方式获取所述分布式集群系统的资源使用率的第三标准差,所述获取步骤为:根据所述各服务器的资源使用率获取所述分布式集群系统的平均资源使用率,并根据所述各服务器的资源使用率以及所述分布式集群系统的平均资源使用率,获取所述分布式集群系统的资源使用率的第三标准差。
[0124] 与前述实施例不同的是,由于针对的是各服务器内各类业务虚拟机,所以,按照前述实施例相同的方式获取各服务器的资源使用率以及整个分布式集群系统的平均资源使用率,然后,第六获取单元22再按照公式(1)获取分布式集群系统的资源使用率的标准差。
[0125] 第二调度单元23,用于当所述分布式集群系统的资源使用率的第三标准差大于或等于所述分布式集群系统的资源使用率的调度阈值时,将所述各服务器内任一业务虚拟机平衡调度至所述分布式集群系统的其他服务器中。
[0126] 将获取的分布式集群系统的资源使用率的标准差与该分布式集群系统的资源使用率的调度阈值进行比较,如果该分布式集群系统的资源使用率的标准差大于或等于该分布式集群系统的资源使用率的调度阈值,则第二调度单元23触发平衡调度。平衡调度的对象可以是各服务器内任一业务虚拟机。
[0127] 第七获取单元24,用于获取平衡调度后分布式集群系统中各服务器的资源使用率。
[0128] 第八获取单元25,用于根据所述平衡调度后分布式集群系统中各服务器的资源使用率,通过所述预定的获取方式获取所述平衡调度后分布式集群系统的资源使用率的第四标准差。
[0129] 第二比较单元26,用于比较至少一次所述平衡调度后获取的所述第四标准差;
[0130] 第二执行单元27,用于执行最小的所述第四标准差对应的所述平衡调度。
[0131] 第七获取单元24、第八获取单元25、第二比较单元26、第二执行单元27的功能分别与前述实施例的第三获取单元14、第四获取单元15、第一比较单元16、第一执行单元17的功能类似,在此不再赘述,所不同的是,针对的是各服务器内各类业务虚拟机,获取的是该分布式集群系统的资源使用率的标准差。
[0132] 可见,根据本发明实施例提供的一种分布式资源调度装置,通过按照各服务器内各类业务虚拟机占所在服务器的资源比例进行分布式资源调度,可以保证各服务器内各业务虚拟机的服务质量。
[0133] 作为一种可行的实施方式,第二执行单元27还用于若进行下一次平衡调度后所述分布式集群系统的资源使用率的第四标准差大于或等于进行当前平衡调度后所述分布式集群系统的资源使用率的第四标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,或将所述业务虚拟机从任一第一服务器平衡调度至任一第二服务器后,所述任一第一服务器或所述任一第二服务器中各类业务虚拟机的总量的变化大于第二设定阈值,和/或所述任一第一服务器或所述任一第二服务器中各类业务虚拟机占所述任一第一服务器的资源的的变化大于第三设定阈值,则停止执行所述平衡调度后分布式集群系统的资源使用率的获取及下一次的平衡调度。
[0134] 采用递归调度可使得调度效率最高,在递归调度中设置递归退出的条件,即若进行下一次平衡调度后所述分布式集群系统的资源使用率的第四标准差大于或等于进行当前平衡调度后所述分布式集群系统的资源使用率的第四标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,或将所述业务虚拟机从任一第一服务器平衡调度至任一第二服务器后,所述任一第一服务器或所述任一第二服务器中各类业务虚拟机的总量的变化大于第二设定阈值,和/或所述任一第一服务器或所述任一第二服务器中各类业务虚拟机占所述任一第一服务器的资源的的变化大于第三设定阈值,则第二执行单元27停止执行所述平衡调度后分布式集群系统的资源使用率的获取及下一次的平衡调度。这样有助于及时停止上述获取步骤和平衡调度,获得最小的标准差,执行该最小的标准差对应的平衡调度。
[0135] 请参阅图7,为本发明实施例提供的一种分布式资源调度设备的结构示意图,本实施例的设备3000包括处理器31、存储器32、输入设备33、输出设备34以及总线系统35,其中:
[0136] 处理器31控制设备3000的操作,处理器31还可以称为中央处理单元(Central Processing Unit,CPU)。处理器31可能是一种集成电路芯片,具有信号的处理能力。处理器31还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0137] 存储器32可以包括只读存储器和随机存取存储器,并向处理器31提供指令和数据。存储器32的一部分还可以包括非易失性随机存取存储器(NVRAM)。
[0138] 设备3000的各个组件通过总线系统35耦合在一起,该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以是一条或多条物理线路,当是多条物理线路时可以分为地址总线、数据总线、控制总线等。在本发明的其它一些实施例中,处理器31、存储器32以及输入设备33、输出设备34也可以通过通信线路直接连接。
[0139] 输入设备33可以具体实现为鼠标、键盘、麦克风等,而输出设备34可以具体实现为显示器、音频设备、视频设备。当然,输入设备33和输出设备34也可以通过一个输入输出设备来实现其功能,比如实现为可触摸的屏幕。
[0140] 其中,处理器31读取存储器32中的计算机程序用以执行以下步骤:
[0141] 获取分布式集群系统中各服务器内的同一类型业务虚拟机的资源使用率;
[0142] 根据所述各服务器内的同一类型业务虚拟机的资源使用率,通过预定的获取步骤获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差,所述获取步骤为:根据所述各服务器内的同一类型业务虚拟机的资源使用率获取所述各服务器内的同一类型业务虚拟机的平均资源使用率,并根据所述各服务器内的同一类型业务虚拟机的资源使用率以及所述平均资源使用率,获取所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差;
[0143] 当所述各服务器内的同一类型业务虚拟机的资源使用率的第一标准差大于或等于所述各服务器内的同一类型业务虚拟机的资源使用率的调度阈值时,将所述分布式集群系统中任一服务器的所述同一类型业务虚拟机平衡调度至分布式集群系统的其他服务器中;
[0144] 获取平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率;
[0145] 根据所述平衡调度后分布式集群系统中各服务器内的所述同一类型业务虚拟机的资源使用率,通过所述预定的获取步骤获取所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差;
[0146] 比较至少一次所述平衡调度后获取的所述第二标准差,执行最小的所述第二标准差对应的所述平衡调度。
[0147] 作为一种可行的实施方式,处理器31在执行所述比较至少一次所述平衡调度后获取的所述第二标准差,执行最小的所述第二标准差对应的所述平衡调度的步骤之前,还执行如下步骤:
[0148] 若进行下一次平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差大于或等于进行当前平衡调度后所述各服务器内的同一类型业务虚拟机的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,则停止执行所述获取步骤及下一次的平衡调度。
[0149] 本发明实施例提供的处理器31中包含的计算机程序还可以实现为第一获取单元、第二获取单元、第一调度单元、第三获取单元、第四获取单元、第一比较单元和第一执行单元,这些单元实现的功能可以参考前述实施例所述,在此不再赘述。
[0150] 可见,根据本发明实施例提供的一种分布式资源调度设备,通过按照分布式集群系统中各服务器内业务虚拟机的类型进行分布式资源调度,可以保证各服务器内各业务虚拟机的服务质量。
[0151] 请参阅图8,为本发明实施例提供的另一种分布式资源调度设备的结构示意图,本实施例的设备4000包括处理器41、存储器42、输入设备43、输出设备44以及总线系统45,其中:
[0152] 处理器41控制设备4000的操作,处理器41还可以称为中央处理单元(Central Processing Unit,CPU)。处理器41可能是一种集成电路芯片,具有信号的处理能力。处理器41还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0153] 存储器42可以包括只读存储器和随机存取存储器,并向处理器41提供指令和数据。存储器42的一部分还可以包括非易失性随机存取存储器(NVRAM)。
[0154] 设备4000的各个组件通过总线系统45耦合在一起,该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以是一条或多条物理线路,当是多条物理线路时可以分为地址总线、数据总线、控制总线等。在本发明的其它一些实施例中,处理器41、存储器42以及输入设备43、输出设备44也可以通过通信线路直接连接。
[0155] 输入设备43可以具体实现为鼠标、键盘、麦克风等,而输出设备44可以具体实现为显示器、音频设备、视频设备。当然,输入设备43和输出设备44也可以通过一个输入输出设备来实现其功能,比如实现为可触摸的屏幕。
[0156] 其中,处理器41读取存储器42中的计算机程序用以执行以下步骤:
[0157] 根据分布式集群系统中各服务器内各类业务虚拟机占所述各服务器的资源的比例和所述各服务器内各类业务虚拟机的资源使用率,获取所述各服务器的资源使用率;
[0158] 根据所述各服务器的资源使用率,通过预定的获取步骤获取所述分布式集群系统的资源使用率的第一标准差,所述获取步骤为:根据所述各服务器的资源使用率获取所述分布式集群系统的平均资源使用率,并根据所述各服务器的资源使用率以及所述分布式集群系统的平均资源使用率,获取所述分布式集群系统的资源使用率的第一标准差;
[0159] 当所述分布式集群系统的资源使用率的第一标准差大于或等于所述分布式集群系统的资源使用率的调度阈值时,将所述各服务器内任一业务虚拟机平衡调度至所述分布式集群系统的其他服务器中;
[0160] 获取平衡调度后分布式集群系统中各服务器的资源使用率;
[0161] 根据所述平衡调度后分布式集群系统中各服务器的资源使用率,通过所述预定的获取步骤获取所述平衡调度后分布式集群系统的资源使用率的第二标准差;
[0162] 比较至少一次所述平衡调度后获取的所述第二标准差,执行最小的所述第二标准差对应的所述平衡调度。
[0163] 作为一种可行的实施方式,处理器41在所述比较至少一次所述平衡调度后获取的所述第二标准差,执行最小的所述第二标准差对应的所述平衡调度的步骤之前,还执行如下步骤:
[0164] 若进行下一次平衡调度后所述分布式集群系统的资源使用率的第二标准差大于或等于进行当前平衡调度后所述分布式集群系统的资源使用率的第二标准差,或截止下一次平衡调度,进行所述平衡调度的累计次数超过第一设定阈值,或将所述业务虚拟机从任一第一服务器平衡调度至任一第二服务器后,所述任一第一服务器或所述任一第二服务器中各类业务虚拟机的总量的变化大于第二设定阈值,和/或所述任一第一服务器或所述任一第二服务器中各类业务虚拟机占所述任一第一服务器的资源的的变化大于第三设定阈值,则停止执行所述获取步骤及下一次的平衡调度。
[0165] 本发明实施例提供的处理器41中包含的计算机程序还可以实现为第五获取单元、第六获取单元、第二调度单元、第七获取单元、第八获取单元、第二比较单元和第二执行单元,这些单元实现的功能可以参考前述实施例所述,在此不再赘述。
[0166] 可见,根据本发明实施例提供的一种分布式资源调度设备,通过按照各服务器内各类业务虚拟机占所在服务器的资源比例进行分布式资源调度,可以保证各服务器内各业务虚拟机的服务质量。
[0167] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0168] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0169] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(Digital Subscriber Line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
[0170] 总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。