欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种云计算系统中的资源调度方法及装置独创技术21734字

一种云计算系统中的资源调度方法及装置

2021-02-02 01:06:09

一种云计算系统中的资源调度方法及装置

  本申请是发明名称“一种云计算系统中的资源调度方法及装置”,申请号为201510763076.4,申请日为2015年11月10号的分案申请。

  技术领域

  本发明涉及IT(Internet Technology,互联网技术)领域,具体涉及一种云计算系统中的资源调度的方法和装置。

  背景技术

  虚拟化技术是云计算领域的关键技术之一,可将物理资源虚拟成多个虚拟机(Virtual Machine,VM),物理资源被虚拟化平台以虚拟资源池的形式提供给各虚拟机,虚拟机之间共享物理资源。

  采用虚拟化技术提供计算、存储、网络等资源的云数据中心,与传统的数据中心相比,资源高度集中且被统一调度和管理,大大节省了运营和运维成本。云数据中心按需求和策略分配虚拟机的资源,并且基于DRS(Distributed Resources Scheduler,分布式资源调度)功能,能够使得一个迁移域中各主机的负载相同或相近,实现负载均衡,从而使得主机及主机上承载的各虚拟机发挥出最优性能。

  当前应用最为广泛的资源调度方法,主要步骤为:管理员随机选择主机并运行其上承载的虚拟机,而后监控得到迁移域中负载的方差值超过预设阈值的主机,再计算若将该主机上承载的虚拟机迁移至其他主机上运行,迁移域中各主机的负载的方差值是否仍不会超过预设阈值,若仍不会超过,则从该主机上选择虚拟机迁移到其他主机上,从而使得一个迁移域中各主机的负载相同或相近。

  但是,随机选择主机运行虚拟机,即并未依据各主机的资源配置合理数量的虚拟机,导致各主机的负载相差较大,从而必须通过虚拟机的迁移才能实现负载均衡,虚拟机的迁移浪费了云数据中心的资源,降低了用户使用体验。

  发明内容

  有鉴于此,本申请提供一种云计算系统中的资源调度的方法和装置,能够使得迁移域中各主机的负载相同或相近。

  本申请采用的技术方案是:

  一方面,本申请的实施例提供一种云计算系统中的资源调度的方法,该方法从迁移域的多台主机中选取当前时刻负载最小的一个主机,并预判如果让负载最小的主机承载第一虚拟机的运行,迁移域中的主机的负载均衡度评估值是否会超过预设阈值,即是否会引发主机之间的负载震荡,若不会引发震荡则由其承载第一虚拟机的运行。由于将运行第一虚拟机所需的负载增加给负载最小的主机,因此能够降低与负载较大的主机之间的负载差,使得迁移域中各主机的负载相同或相近。

  可选地,计算所述负载均衡度评估值的方法为:计算得到负载最小的主机的第一负载,进一步根据所述第一负载和在所述负载最小的主机上承载第一虚拟机所需的负载计算得到负载最小的主机的第二负载,从而根据所述第二负载得到迁移域中各主机的负载均衡度评估值。

  其中,所述第一负载是指负载最小的主机在运行第一虚拟机之前所要承载的平均负载,其获取方法可选为:如果第一虚拟机是首次启动,则基于如果在负载最小的主机上运行所有第一虚拟机需要所述负载最小的主机承载的负载,计算每一第一虚拟机所需承载的负载平均值,并将该负载平均值作为所述第一负载;在第一虚拟机非首次启动时,表示当前在负载最小的主机上已有虚拟机(即第二虚拟机)运行,则基于在负载最小的主机上运行上当前运行所有第二虚拟机所需的负载,计算每一第二虚拟机所需承载的负载平均值,并将该负载平均值作为所述第一负载。

  其中,所述第二负载是指若由负载最小的主机增加承载第一虚拟机的运行则负载最小的主机所承担的负载。具体使用关系式:Host2=Host0+Host1计算得到,Host2表示第二负载,Host0表示在负载最小的主机上承载第一虚拟机所需的负载,Host1表示第一负载。

  进一步地,若计算得到的负载均衡度评估值大于预设阈值,则将本次选取得到的负载最小的主机由第一状态标识为第二状态,也就是说,本申请需要重新选取当前时刻负载最小的一个主机,由于每次重新选取所得到的负载最小的主机是不相同,本实施例对迁移域中的各个主机进行状态标识,能够便于区分且避免重复选取。

  另一方面,本申请的实施例提供一种云计算系统中的资源调度的装置,该装置包括按照上述方法的逻辑功能划分的多个模块,且对应执行上述各个实施例的方法,具有与其相同的技术效果。

  本申请的云计算系统中的资源调度的方法和装置,通过让负载较小的主机运行一个或一批虚拟机,降低与负载较大的主机之间的负载差值,能够使得迁移域中各主机的负载相同或相近。

  附图说明

  图1是本发明的云计算系统一实施例的结构示意图;

  图2是本发明的云计算系统中资源调度的方法一实施例的流程示意图;

  图3是本发明的云计算系统中资源调度的方法另一实施例的流程示意图;

  图4是本发明的云计算系统中资源调度的装置一实施例的原理框示意图;

  图5是本发明的云计算系统中资源调度的装置一实施例的硬件结构示意图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明所提供的示例性的实施例的技术方案进行清楚、完整地描述。

  参阅图1所示,本发明实施例的一种云计算系统包括云管理平台1及资源池2。资源池2主要包括虚拟计算资源池、虚拟网络资源池和虚拟存储资源池。其中,虚拟计算资源池由一台或多台物理主机(21-2n)通过虚拟化技术形成,包含CPU、内存等资源;虚拟网络资源池由各种路由器、交换机、负载均衡器等网络设备通过虚拟化技术形成,包含网络带宽等资源;存储资源池由各种存储设备通过虚拟化技术形成,包含存储设备、存储I/O等资源,所述存储设备为本地存储、网络附加存储(Network Attached Storage,NAS)、对象存储等。

  所述资源池2包括若干主机(Host),每一主机上承载一个或多个VM,通常多个VM通过主机的分配共享虚拟资源。其中,可以相互进行VM迁移的至少两个主机组成一个迁移域。当一个迁移域中的各个主机的负载不相等或最大差值超过预定阈值时,就需要进行虚拟机的迁移才能使各主机及主机上承载的各虚拟机发挥出最优性能。

  本发明实施例提供了一种云计算系统中的资源调度的方法和装置,通过让负载较小的主机运行虚拟机,降低与负载较大的主机之间的负载差值,从而使得迁移域中各主机的负载相同或相近,最大程度的减少虚拟机的迁移次数,节省云数据中心的资源。

  所述云管理平台1包括监控模块11、均衡度评估模块12和资源调度模块13,监控模块11位于监控管理部件中,监控管理部件还包括数据库14,该数据库14用于存储监控模块11监控获得的数据。

  监控模块11对云数据中心的各种实例进行性能指标的监控,包括各种物理资源和虚拟资源的监控,如VM及Host的CPU占用率、内存占用率、网络流量以及磁盘IO等。监控模块11可以是任意形式的现有监控软件,如ganglia等,负责实时或周期性的采集VM及Host的各项性能指标。所述数据库14存储由监控模块11采集到的性能指标值,以使监控模块11据此得到VM及Host的负载。

  均衡度评估模块12和资源调度模块13为所述云管理平台1的核心模块。其中,均衡度评估模块12用于计算如果由负载最小的主机运行虚拟机时,迁移域中的至少两个主机的负载均衡度评估值,从而预估负载最小的主机承载虚拟机的运行时各个主机之间的负载差值的大小,并将负载均衡度评估值和预设阈值比较,从而使资源调度模块13决定是否由当前负载最小的主机承载虚拟机的运行。

  本发明实施例以负载最小的主机在承载虚拟机的运行时迁移域中的各主机的负载方差作为所述负载均衡度评估值,可采用关系式:

  

  

  其中,所述M表示迁移域中各主机的负载的平均值,x1,x2,x3,…,xn表示迁移域中各主机的负载,所述n为大于2的正整数且表示迁移域中主机的数量,所述s表示迁移域中的各主机的负载方差。

  本发明实施例的负载均衡度评估值表示若由当前负载最小的主机增加承载虚拟机运行后所述迁移域内所有主机所承载负载的离散度和偏移度。在得到所述负载均衡度评估值后,本发明实施例可通过预设阈值判断是否由负载最小的主机在承载虚拟机运行。具体地,若s值较小,则表示由当前负载最小的主机承载虚拟机的运行不会引发主机之间的负载震荡,可以由当前负载最小的主机承载虚拟机的运行;反之,若s值较大,则表示由当前负载最小的主机承载虚拟机的运行会引发主机之间的负载震荡,即不能由当前负载最小的主机承载虚拟机的运行。

  基于上述系统结构示意图1,如图2所示,为本发明实施例提供的一种云计算系统中资源调度的方法流程示意图,所述方法包括:

  步骤21:从所述迁移域中的所述至少两个主机中,选取当前时刻负载最小的主机。

  具体的,监控模块101监控当前时刻迁移域内所有主机上承载的虚拟机的性能指标,并换算得到各主机的负载,从而选定负载最小的主机。

  步骤22:计算若在负载最小的主机上承载第一虚拟机的运行,迁移域中的至少两个主机的负载均衡度评估值。

  其中,第一虚拟机是指所要运行的虚拟机。

  具体的,均衡度评估模块12从数据库14中读取并分析性能指标的记录,计算得到迁移域中其他主机的负载,以及负载最小的主机的第一负载。进一步地,均衡度评估模块12根据所述第一负载和在所述负载最小的主机上承载第一虚拟机所需的负载计算得到第二负载,从而根据所述第二负载得到迁移域中各主机的负载均衡度评估值。

  所述第一负载是指负载最小的主机在运行第一虚拟机之前所承载的平均负载。具体地,如果均衡度评估模块12判断第一虚拟机是首次启动,则基于如果在所述负载最小的主机上运行所有所述第一虚拟机需要所述负载最小的主机承载的负载,计算每一所述第一虚拟机的负载平均值,并作为第一负载;如果均衡度评估模块12判断该第一虚拟机非首次启动,表示当前在负载最小的主机上已有虚拟机运行,将该已经运行的虚拟机作为第二虚拟机,则基于在负载最小的主机上运行当前所有第二虚拟机所需的负载,计算每一第二虚拟机所需承载的负载平均值,并作为所述第一负载。

  所述第二负载是指若由负载最小的主机增加承载第一虚拟机的运行则所述负载最小的主机所承载的负载。具体使用下述关系式计算:

  Host2=Host0+Host1

  其中,Host2表示所述第二负载,即第二负载是x1,x2,x3,…,xn中表示所述负载最小的主机的负载xi,i为1到n中的一个值,包含i可能是1或者可能是n的情况;Host0表示在所述负载最小的主机上承载第一虚拟机所需的负载;Host1表示所述第一负载。

  均衡度评估模块12根据所述第二负载、迁移域中的主机数量和迁移域中其他主机的负载,得到负载均衡度评估值的计算方法可以参考前述实施例中的描述,本发明实施例此处不再赘述。

  步骤23:若计算得到的负载均衡度评估值小于或等于预设阈值,在负载最小的主机上运行第一虚拟机。

  当然,若计算得到的负载均衡度评估值大于预设阈值,则排除本次执行步骤21所选出的负载最小的主机,重新执行步骤21来选择负载最小的主机以及执行其后续步骤,但需要指出的是,每次重新执行步骤S21所得到的所述负载最小的主机是不相同的。为便于区分且避免重复选取,本实施例可以对迁移域中的各个主机进行状态标识,参阅图3所示,包括:

  步骤31:将迁移域中的至少两个主机标识为第一状态。

  步骤32:从标识为所述第一状态的主机中,选取当前时刻所述迁移域中负载最小的主机。

  所述第一状态用于标识未进行预判的主机,实际应用场景中对应的标识码可以为True。

  步骤33:计算若在负载最小的主机上承载第一虚拟机的运行,迁移域中的至少两个主机的负载均衡度评估值。

  步骤34:判断负载均衡度评估值是否小于或等于预设阈值。

  若负载均衡度评估值小于或等于预设阈值,则执行步骤36。若负载均衡度评估值大于预设阈值,则执行步骤35,然后执行步骤32,即在标识为第一状态的剩余主机中的选取迁移域中负载最小的主机。

  步骤35:将当前时刻负载最小的主机由第一状态标识为第二状态。

  所述第二状态用于标识不能由本次进行预判的主机运行该虚拟机,实际应用场景中对应的标识码可以为False。因此,被标识第二状态的主机被排除,不属于执行步骤21的选择对象,因此选择出的负载最小的主机不会是标识有第二状态的主机。

  步骤36:在负载最小的主机上运行第一虚拟机。

  本发明实施例针对单个主机的风险进行虚拟机迁移,更进一步的,本发明实施例还可以针对一个迁移域设定资源调度策略,即,当一个迁移域内的若干主机的风险均衡度过大时,进行虚拟机迁移。

  如图4所示,为本发明实施例提供的一种云计算系统中资源调度的装置结构示意图,所述装置包括:

  监控模块41,用于从所述迁移域中的所述至少两个主机中选取当前时刻负载最小的主机;

  均衡度评估模块42,用于计算若在负载最小的主机上承载第一虚拟机的运行,迁移域中的至少两个主机的负载均衡度评估值,并进一步用于将负载均衡度评估值和预设阈值比较;

  资源调度模块43,用于在负载均衡度评估值小于或等于预设阈值时,指示在负载最小的主机上第一虚拟机。

  本发明实施例的均衡度评估模块42作为所述装置的核心,包括:

  第一计算单元421,用于计算负载最小的主机的第一负载。可选地,当虚拟机为首次启动时,第一计算单元421基于如果在所述负载最小的主机上运行所有所述第一虚拟机需要所述负载最小的主机承载的负载,计算每一所述第一虚拟机的负载平均值,并作为第一负载;当虚拟机为非首次启动时,第一计算单元421基于在所述负载最小的主机上运行当前所有第二虚拟机所需的负载,计算每一所述第二虚拟机的负载平均值,并作为所述第一负载。

  第二计算单元422,用于根据第一负载和在负载最小的主机上承载第一虚拟机所需的负载计算第二负载。可选地,第二计算单元422使用下述关系式计算第二负载:

  Host2=Host0+Host1

  其中,Host2表示第二负载,Host0表示在负载最小的主机上承载第一虚拟机所需的负载,Host1表示第一负载。

  第三计算单元423,用于根据第二负载计算迁移域中的至少两个主机的负载均衡度评估值。可选地,第三计算单元423根据第二负载以及迁移域中的主机数量和迁移域中其他主机的负载,采用方差计算公式计算迁移域中的所述至少两个主机的负载方差,并将计算结果作为至少两个主机的负载均衡度评估值。

  本实施例在负载均衡度评估值大于预设阈值时,则重新由监控模块41选取当前时刻迁移域中负载最小的主机,但需要指出的是,每次重新选取得到的所述负载最小的主机是不相同的。为便于区分且避免重复选取,可以通过标识模块44对迁移域中的各个主机进行状态标识。具体地,标识模块44用于在运行迁移域中至少两个主机上承载的虚拟机之前,将迁移域中的至少两个主机标识为第一状态,所述第一状态用于标识未进行预判的主机,实际应用场景中对应的标识码可以为True;以及在资源调度模块43比较得到负载均衡度评估值大于预设阈值时,标识模块44用于将负载最小的主机由第一状态标识为第二状态,所述第二状态用于标识不能在本次进行预判的主机上运行该虚拟机,实际应用场景中对应的标识码可以为False,且监控模块41后续从第一状态的剩余主机中选取当前时刻迁移域中负载最小的主机。

  本发明实施例提供的云计算系统中的资源调度的方法和装置,通过预判如果让负载最小的主机承载虚拟机的运行,迁移域中的至少两个主机的负载均衡度评估值是否会超过预设阈值,即是否会引发主机之间的负载震荡,并在不会引发震荡时才由其承载虚拟机的运行,即通过负载较小的主机运行一个或一批虚拟机,降低与负载较大的主机之间的负载差值,使得迁移域中各主机的负载相同或相近,从而最大程度的减少虚拟机的迁移次数,节省云数据中心的资源。

  本发明实施例的云计算系统中资源调度的装置的上述模块对应执行上述各个实施例的方法,具有与其相同的技术效果。

  应该理解到,上述装置的实施方式仅是示意性的,模块的划分为一种逻辑功能划分,实际实现时既可以采用软件功能框的形式实现,也可以采用硬件的形式实现,例如图5所示。

  如图5所示,所述装置可包括至少一个处理器(例如CPU),至少一个网络接口或者其他通信接口,存储器,和至少一个通信总线,用于实现这些装置之间的连接通信。处理器用于执行存储器中存储的计算机程序,以实现云计算系统中资源调度的方法,或者以实现云计算系统中资源调度的装置中的各模块。存储器可以包含高速随机存取存储器(RandomAccess Memory,RAM),也可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口实现该装置与至少一个其他设备之间的通信连接,可以使用互联网、广域网、本地网、城域网等。所述存储器中存储了程序指令,该程序指令可以被处理器执行。其中,该程序指令可包括本发明实施例中指出的测试系统的各个模块,各个模块具体的实现方式可参见本发明上述实施例中的相应内容,此处不再赘述。

  通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,资源管理服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。

  需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相近的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相近于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

  以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

《一种云计算系统中的资源调度方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)