CN118034904A - 一种调度方法、装置、设备和计算机可读存储介质 - Google Patents

一种调度方法、装置、设备和计算机可读存储介质 Download PDF

Info

Publication number
CN118034904A
CN118034904A CN202211426585.4A CN202211426585A CN118034904A CN 118034904 A CN118034904 A CN 118034904A CN 202211426585 A CN202211426585 A CN 202211426585A CN 118034904 A CN118034904 A CN 118034904A
Authority
CN
China
Prior art keywords
weight
virtual machines
information
server
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211426585.4A
Other languages
English (en)
Inventor
吴平松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202211426585.4A priority Critical patent/CN118034904A/zh
Publication of CN118034904A publication Critical patent/CN118034904A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种调度方法、装置、设备和计算机可读存储介质,方法包括:获取待调度的第一虚拟机的第一资源需求,以及确定满足所述第一资源需求的多个服务器;在所述多个服务器中通过调度确定第一服务器;其中,所述第一服务器在调度所述第一虚拟机后,剩余资源为零,或剩余资源匹配预先获得的第一特征信息中的一种规格的虚拟机的资源需求,或剩余资源匹配预先获得的第二特征信息中的一种规格的虚拟机的资源需求;所述第一特征信息包括待调度的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量;所述第二特征信息包括已创建的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量。

Description

一种调度方法、装置、设备和计算机可读存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种调度方法、装置、设备和计算机可读存储介质。
背景技术
调度是指根据虚拟机的资源要求、运行要求等,将其指定到最合适的服务器上部署的过程,该过程是大部分虚拟机生命周期管理过程(包括创建、扩容、迁移、异地重生等)的必经环节,其功能机制的先进性直接决定了云计算资源池充分利用规模效应、从而提升资源利用率的程度。
目前,常用的调度方式包括集中调度和分布式调度。其中,集中调度用于选择剩余内存量最少的服务器,其直接结果是,虚拟机趋近于集中在尽可能少量的服务器上,配合其它管理手段可实现更高级的管理目标,如对未部署虚拟机的服务器进行关机或休眠,以降低能耗等。分布式调度正好相反,用于选择剩余内存量最多的服务器,其直接结果是,虚拟机趋近于分散在所有服务器上,降低虚拟机之间的资源抢占概率,从而提高性能(尤其是开启了资源超分的资源池),但在所有虚拟机完全绑核的场景下,提升的性能有限,反而会导致能耗较高。然而,无论是集中调度还是分布式调度,均没有考虑资源碎片问题。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种调度方法、装置、设备和计算机可读存储介质。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种调度方法,包括:获取待调度的第一虚拟机的第一资源需求,以及确定满足所述第一资源需求的多个服务器;在所述多个服务器中通过调度确定第一服务器;其中,所述第一服务器在调度所述第一虚拟机后,剩余资源为零,或剩余资源匹配预先获得的第一特征信息中的一种规格的虚拟机的资源需求,或剩余资源匹配预先获得的第二特征信息中的一种规格的虚拟机的资源需求;所述第一特征信息包括待调度的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量;所述第二特征信息包括已创建的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量。
上述方案中,所述在所述多个服务器中通过调度确定第一服务器,包括:确定所述多个服务器中各服务器在调度所述第一虚拟机后的剩余资源;确定调度所述第一虚拟机后的剩余资源为零的服务器的权重为权重1;或者,基于第一预设规则,对所述剩余资源与所述第一特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第一匹配结果,根据所述第一匹配结果确定各服务器对应的权重;其中,所述第一预设规则中包括各权重对应的剩余资源的相关信息;或者,基于第二预设规则,对所述剩余资源与所述第一特征信息和所述第二特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第二匹配结果,根据所述第二匹配结果确定各服务器对应的权重;其中,所述第二预设规则中包括各权重对应的剩余资源的相关信息;确定权重最大的服务器为所述第一服务器。
上述方案中,所述根据所述第一匹配结果确定各服务器对应的权重,包括:在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1。
上述方案中,所述根据所述第二匹配结果确定各服务器对应的权重,包括:在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1;在所述剩余资源与所述第二特征信息中的第二规格信息匹配的情况下,基于所述第二规格信息对应的虚拟机的数量在所述第二特征信息中的第二排序M,确定所述服务器的权重为权重N’+M+1;其中,N’为所述第一特征信息中最大的第一排序,M为正整数,所述第二排序为所述第二特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N’+M+1小于权重N’+M,所述权重N’+M+1小于权重N’+1。
上述方案中,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述方法还包括:确定服务器对应的剩余资源中的剩余内存量;根据所述剩余内存量的大小确定服务器的权重为权重N’+2;其中,N’为所述第一特征信息中最大的第一排序,所述权重N’+2属于第一范围,所述第一范围的最大值小于权重N’+1。
上述方案中,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述方法还包括:确定服务器对应的剩余资源中的剩余内存量;根据所述剩余内存量的大小确定服务器的权重为权重N’+M’+2;其中,N’为所述第一特征信息中最大的第一排序,M’为所述第二特征信息中最大的第二排序,所述权重N’+M’+2属于第二范围,所述第二范围的最大值小于所述权重N’+M’+1。
上述方案中,在多个服务器具有相同剩余内存量的情况下,所述方法还包括:确定剩余内存量相同的多个服务器的权重为权重N’+3;其中,所述权重N’+3属于第三范围,所述第三范围的最大值小于所述第一范围的最小值。
上述方案中,在多个服务器具有相同剩余内存量的情况下,所述方法还包括:确定剩余内存量相同的多个服务器的权重为权重N’+M’+3;其中,所述权重N’+M’+3属于第四范围,所述第四范围的最大值小于所述第二范围的最小值。
上述方案中,所述获取待调度的第一虚拟机的第一资源需求之前,所述方法还包括:确定待调度的多个第一虚拟机之间的关联关系;基于所述关联关系和/或所述多个第一虚拟机各自对应的规格信息,对所述多个第一虚拟机进行排序,根据排序结果依次确定待调度的第一虚拟机。
上述方案中,所述方法还包括:根据所述第一虚拟机的规格信息更新所述第一特征信息,和/或,更新所述第二特征信息。
上述方案中,所述方法还包括:接收第一配置信息,所述第一配置信息包括多种虚拟机的规格信息和每种规格信息对应的虚拟机的数量信息;基于所述第一配置信息确定所述第一特征信息。
第二方面,本发明实施例提供了一种调度装置,包括获取模块和确定模块;其中,所述获取模块,用于获取待调度的第一虚拟机的第一资源需求,以及确定满足所述第一资源需求的多个服务器;所述确定模块,用于在所述多个服务器中通过调度确定第一服务器;其中,所述第一服务器在调度所述第一虚拟机后,剩余资源为零,或剩余资源匹配预先获得的第一特征信息中的一种规格的虚拟机的资源需求,或剩余资源匹配预先获得的第二特征信息中的一种规格的虚拟机的资源需求;所述第一特征信息包括待调度的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量;所述第二特征信息包括已创建的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量。
上述方案中,所述确定模块包括第一子模块、第二子模块和第三子模块,其中,所述第一子模块,用于确定所述多个服务器中各服务器在调度所述第一虚拟机后的剩余资源;所述第二子模块,用于确定调度所述第一虚拟机后的剩余资源为零的服务器的权重为权重1;或者,用于基于第一预设规则,对所述剩余资源与所述第一特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第一匹配结果,根据所述第一匹配结果确定各服务器对应的权重;其中,所述第一预设规则中包括各权重对应的剩余资源的相关信息;或者,用于基于第二预设规则,对所述剩余资源与所述第一特征信息和所述第二特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第二匹配结果,根据所述第二匹配结果确定各服务器对应的权重;其中,所述第二预设规则中包括各权重对应的剩余资源的相关信息;所述第三子模块,用于确定权重最大的服务器为所述第一服务器。
上述方案中,所述第二子模块,用于在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1。
上述方案中,所述第二子模块,用于在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1;所述第二子模块,还用于在所述剩余资源与所述第二特征信息中的第二规格信息匹配的情况下,基于所述第二规格信息对应的虚拟机的数量在所述第二特征信息中的第二排序M,确定所述服务器的权重为权重N’+M+1;其中,N’为所述第一特征信息中最大的第一排序,M为正整数,所述第二排序为所述第二特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N’+M+1小于权重N’+M,所述权重N’+M+1小于权重N’+1。
上述方案中,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述确定模块402,还用于确定服务器对应的剩余资源中的剩余内存量;以及,根据所述剩余内存量的大小确定服务器的权重为权重N’+2;其中,N’为所述第一特征信息中最大的第一排序,所述权重N’+2属于第一范围,所述第一范围的最大值小于权重N’+1。
上述方案中,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述确定模块402,还用于确定服务器对应的剩余资源中的剩余内存量;以及,根据所述剩余内存量的大小确定服务器的权重为权重N’+M’+2;其中,N’为所述第一特征信息中最大的第一排序,M’为所述第二特征信息中最大的第二排序,所述权重N’+M’+2属于第二范围,所述第二范围的最大值小于所述权重N’+M’+1。
上述方案中,在多个服务器具有相同剩余内存量的情况下,所述确定模块,还用于确定剩余内存量相同的多个服务器的权重为权重N’+3;其中,所述权重N’+3属于第三范围,所述第三范围的最大值小于所述第一范围的最小值。
上述方案中,在多个服务器具有相同剩余内存量的情况下,所述确定模块,还用于确定剩余内存量相同的多个服务器的权重为权重N’+M’+3;其中,所述权重N’+M’+3属于第四范围,所述第四范围的最大值小于所述第二范围的最小值。
上述方案中,所述获取模块,还用于确定待调度的多个第一虚拟机之间的关联关系;以及,基于所述关联关系和/或所述多个第一虚拟机各自对应的规格信息,对所述多个第一虚拟机进行排序,根据排序结果依次确定待调度的第一虚拟机。
上述方案中,所述装置还包括更新模块,用于根据所述第一虚拟机的规格信息更新所述第一特征信息,和/或,更新所述第二特征信息。
上述方案中,所述获取模块,还用于接收第一配置信息,所述第一配置信息包括多种虚拟机的规格信息和每种规格信息对应的虚拟机的数量信息;以及,基于所述第一配置信息确定所述第一特征信息。
第三方面,本发明实施例提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述第一方面所述方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述第一方面所述方法的步骤。
本发明实施例提供了一种调度方法、装置、设备和计算机可读存储介质,在虚拟机的全生命周期管理过程中能够综合一批需调度的虚拟机的规格和数量情况、已存在的虚拟机的规格和数量情况,作出合理的调度安排,保证了优先选择满足资源需求的碎片资源对虚拟机进行调度,在没有正好符合虚拟机资源需求的情况下也能够预留出与待调度或已存在的虚拟机规格正好匹配的资源数量,能够极大概率减少资源碎片的数量,促进整体资源利用率的优化,从而降低服务器采购成本。
附图说明
图1为相关技术中用于调度虚拟机的云服务系统的组成结构示意图;
图2为本发明实施例的调度方法的流程示意图;
图3为本发明实施例的调度方法的应用示例图;
图4为本发明实施例的调度装置的组成结构示意图;
图5为本发明实施例的设备的硬件结构示意图。
具体实施方式
在对本发明实施例的调度方法进行详细说明之前,首先对云服务系统进行简要说明。
图1为相关技术中用于调度虚拟机的云服务系统的组成结构示意图,所述云服务系统例如可以是云平台软件,可实现虚拟机的调度,即根据虚拟机的资源要求、运行要求等将其指定到最合适的服务器上部署的过程。如图1所示,云服务系统100在功能模块上可划分为接口模块110、调度模块120、执行模块130、用于模块之间通信的通信中间件140以及用于记录数据的数据库150。
其中,接口模块110是云服务系统100对外的唯一入口。所述接口模块110可接收管理编排器传入的生命周期管理指令,例如用于虚拟机创建、扩容、迁移、异地重生等生命周期管理指令,向其他模块发送指令以通知其他模块执行,并向管理编排器响应执行结果。
调度模块120可根据接口模块110传达的生命周期管理指令,通过下连的滤波(filter)子模块121和权重(weighter)子模块122进行调度,确定用于承载虚拟机的唯一服务器,并通知该服务器上的执行模块130实际执行,以完成虚拟机的调度。
filter子模块121下连不限数量的多种filter驱动,如图1中的驱动1至驱动n。所述filter子模块121及所连接的驱动可用于过滤不符合虚拟机所需资源及运行条件的服务器,每种驱动根据一个或多个维度进行过滤,例如服务器剩余中央处理器(CPU,CentralProcessing Unit)、内存数量是否满足虚拟机要求等,经过所有驱动过滤后的服务器列表为满足虚拟机规格要求的服务器全集。
weighter子模块122下连一种驱动,用于在经过filter子模块121过滤后的满足虚拟机规格要求的服务器全集中,根据权重驱动选出最终用于承载虚拟机的唯一服务器。
执行模块130可根据调度模块120传达的生命周期管理指令,分配虚拟机所需资源,配置并启动虚拟机。
通信中间件140用于各模块之间的消息通信,当这些模块存在冗余部署时,也承担模块间的主备或负载均衡功能,如当接口模块110通过所述通信中间件140对冗余部署的调度模块120传递生命周期管理指令时,可由所述通信中间件140通过主备或负载均衡机制筛选出一个调度模块实例执行。
上述各模块可通过数据库150记录、传递或查询数据,如接口模块110在数据库150中登记虚拟机并实时维护其状态,执行模块130实时探测其所在服务器上的健康状况、资源信息并更新到数据库150,调度模块120通过查询数据库150获取服务器信息,并通过filter子模块121和weighter子模块122进行调度等。
云服务系统100在正常运行时,定期维护和更新服务器状态。具体地,执行模块130定期获取服务器状态数据,并更新到数据库150,所述状态数据包括但不限于各类资源总量、使用量/剩余量、已部署的虚拟机、故障状态等。
在进行虚拟机生命周期管理时,以创建虚拟机为例,云服务系统100接收生命周期管理指令,调度服务器并创建虚拟机。具体地,管理编排器通过接口模块110发送虚拟机创建请求,携带信息包括各类资源需求量、虚拟机特殊要求等,接口模块110返回确认信号(虚拟机创建为异步模式);接口模块110向调度模块120发送调度请求,携带信息包括各类资源需求量、虚拟机特殊要求等;调度模块120从数据库150获取服务器状态数据,包括各类资源总量、使用量/剩余量、已部署的虚拟机、故障状态等;调度模块120将虚拟机请求信息,包括各类资源需求量、虚拟机特殊要求,以及服务器状态数据,包括各类资源总量、使用量/剩余量、已部署的虚拟机、故障状态等发送给filter子模块121;filter子模块121调用各驱动进行过滤,也即排除资源剩余量不足或无法满足虚拟机特殊要求的服务器,其中,一种驱动负责一种类型的驱动;filter子模块121对各驱动过滤的结果取交集,即为满足虚拟机创建要求的服务器集合,并将服务器集合回传给调度模块120;调度模块120将过滤后的服务器集合发送给weighter子模块122;weighter子模块122调用其下驱动(仅1个驱动生效),从服务器集合中选出唯一服务器;weighter子模块122将唯一服务器回传给调度模块120;调度模块120通过接口模块110,或直接将虚拟机创建请求发送给唯一服务器上的执行模块130;执行模块130将虚拟机创建结果发送给接口模块110;管理编排器查询到虚拟机创建结果(虚拟机创建为异步模式)。
当生命周期管理操作并非创建操作,而是例如扩容、迁移、异地重生等其他操作时,其流程稍有区别,比如迁移操作,在经过上述流程完成虚拟机的调度、配置和运行后,接口模块110还需在源服务器执行清理操作。
大部分虚拟机生命周期管理操作需经历调度过程,由调度模块120下连的filter子模块121和weighter子模块122实现,其中,filter子模块121负责过滤不满足虚拟机资源要求、运行要求的服务器,并生成适合承载虚拟机的服务器临时列表,而weighter子模块122负责在filter子模块121确定的服务器临时列表中,选出唯一值作为最终结果实际承载虚拟机。
相关技术中,weighter子模块122通常采用两类驱动之一:集中调度和分布式调度。但无论是集中调度还是分布式调度,均没有考虑资源碎片问题。而网元或应用程序(APP,application)的虚拟机规格没有标准化,云服务系统也没有针对虚拟机规格及出现概率进行调度的机制,势必会导致一定比例的碎片问题。例如,服务器在部署完成某个虚拟机后,剩余虚拟中央处理器(vCPU,virtualised CPU)数量低于最小虚拟机规格,这些vCPU将成为碎片永远无法被分配,如某台服务器剩余6vCPU,部署完4vCPU虚拟机后,剩余2vCPU,而网元或APP应用的最小虚拟机规格为4vCPU,则服务器剩余的2vCPU会成为碎片;或者,服务器在部署完某个虚拟机后,剩余vCPU数量超过最小虚拟机规格,但适合部署的虚拟机数量太少,且部署位置存在一定随机性,大概率的情况下会导致碎片,如某台服务器剩余8vCPU,部署完4vCPU虚拟机后,剩余4vCPU,而网元或APP应用的最小虚拟机规格为4vCPU,但4vCPU的虚拟机占比较少、且不一定会部署到该服务器上,较大概率上,这剩余的4vCPU会成为碎片,在进行资源规划时无法视为可利用资源。
至少基于图1所示的云服务系统提出本发明以下各实施例,需要说明的是,图1仅为本发明实施例使用的云服务系统的一种示例,本发明实施例不限于图1所示的云服务系统,其他系统结构也可在本发明实施例的保护范围之内。
本发明实施例提供了一种调度方法。图2为本发明实施例的调度方法的流程示意图,如图2所示,所述方法包括:
步骤210、获取待调度的第一虚拟机的第一资源需求,以及确定满足所述第一资源需求的多个服务器;
步骤220、在所述多个服务器中通过调度确定第一服务器;其中,所述第一服务器在调度所述第一虚拟机后,剩余资源为零,或剩余资源匹配预先获得的第一特征信息中的一种规格的虚拟机的资源需求,或剩余资源匹配预先获得的第二特征信息中的一种规格的虚拟机的资源需求;所述第一特征信息包括待调度的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量;所述第二特征信息包括已创建的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量。
本实施例可应用于图1所示的云服务系统中,所述云服务系统例如可以是云平台服务器、云计算服务器、云平台软件等。
步骤210中,所述第一资源需求可以包括待调度的所述第一虚拟机的各类资源需求量、虚拟机特殊要求等,即所述第一虚拟机的规格信息。示例性的,所述步骤210可以包括:云服务系统中的接口模块接收来自管理编排器的调度请求,基于所述调度请求获得待调度的第一虚拟机的第一资源需求,调度模块下连的filter子模块确定满足所述第一资源需求的多个服务器。
所述第一服务器即用于调度所述第一虚拟机的唯一服务器。本实施例中,虚拟机的规格信息即调度虚拟机所需的资源需求信息,所述第一特征信息用于记录待调度虚拟机的一种或多种规格信息以及每种规格信息对应的虚拟机数量。表1为本发明实施例的第一特征信息的一种示例性数据结构,如表1所示,该第一特征信息包括两种规格信息及对应的虚拟机数量,即规格信息包括4vCPU、4096MB内存等的6个虚拟机,以及规格信息包括6vCPU、8192MB内存等的8个虚拟机。所述第二特征信息用于记录已创建虚拟机的一种或多种规格信息以及每种规格信息对应的虚拟机数量,其数据结构可与所述第一特征信息类似,这里不再赘述。
表1
vCPU 内存(MB) 数量
4 4096 6
6 8192 8
作为一种可选的实施方式,本实施例可在云服务系统100的数据库150中存储所述第一特征信息和所述第二特征信息。示例性的,可在所述数据库150中新增第一特征值数据库和第二特征值数据库,并由接口模块110在虚拟机管理操作执行完成后自动更新,其中,第一特征值数据库可用于对待调度的虚拟机的规格和数量进行汇总,第二特征值数据库可用于对所有已存在的虚拟机的规格和数量进行汇总。
一个网元或APP应用通常是由一批虚拟机组成,这些虚拟机的规格各有不同。本实施例基于预先获得的第一特征信息能够感知即将被调度的一批虚拟机的规格及数量信息,基于预先获得的第二特征信息能够感知已创建的一批虚拟机的规格及数量信息,通过服务器调度第一虚拟机后的剩余资源、剩余资源与待调度的多种规格虚拟机的资源需求的匹配、以及剩余资源与已创建的多种规格虚拟机的资源需求的匹配,在满足第一资源需求的多个服务器中确定最终用于调度第一虚拟机的第一服务器。
示例性的,若多个服务器中某一服务器的空闲/可用资源正好匹配所述第一资源需求,或者,多个服务器中某一服务器在调度所述第一服务器后的剩余资源正好匹配待调度的多种规格虚拟机中的某一种规格的虚拟机,或者,多个服务器中某一服务器在调度所述第一服务器后的剩余资源正好匹配已创建的多种规格虚拟机中的某一种规格的虚拟机,则确定该服务器为第一服务器。
作为一种可选的实施方式,所述步骤220可以包括:确定所述多个服务器中各服务器在调度所述第一虚拟机后的剩余资源,确定剩余资源为零的服务器为所述第一服务器;或者,基于所述剩余资源与所述第一特征信息或所述第二特征信息中各种规格信息的匹配程度,在所述多个服务器中确定所述第一服务器。其中,所述匹配程度可根据所匹配的规格信息所对应的虚拟机数量确定。
本实施例在虚拟机的全生命周期管理过程中能够综合一批需调度的虚拟机的规格和数量情况、已存在的虚拟机的规格和数量情况,作出合理的调度安排,保证了优先选择满足资源需求的碎片资源对虚拟机进行调度,在没有正好符合虚拟机资源需求的情况下也能够预留出与待调度或已存在的虚拟机规格正好匹配的资源数量,能够极大概率减少资源碎片的数量,促进整体资源利用率的优化,从而降低服务器采购成本。
在一实施例中,所述方法还可以包括:接收第一配置信息,所述第一配置信息包括多种虚拟机的规格信息和每种规格信息对应的虚拟机的数量信息;基于所述第一配置信息确定所述第一特征信息。其中,所述数量信息可表示虚拟机数量的增加或减少。
本实施例可在图1所示的接口模块110中新增第一接口,管理编排器或具有虚拟机批量管理需求的其他模块可通过调用所述第一接口来传递第一配置信息,所述第一配置信息可包括待调度的多种虚拟机的规格信息和每种规格信息对应的虚拟机的数量信息,数据库150可基于所述第一接口被(多次)调用时获得的所述第一配置信息,确定并存储第一特征信息。
示例性的,所述第一接口例如可以是虚拟机批量预管理接口,管理编排器在发送虚拟化网络功能(VNF,Virtualised Network Function)或APP应用的生命周期管理指令前,可先行调用该虚拟机批量预管理接口,或者,当其他模块存在虚拟机批量管理需求时,例如可靠性管理模块在服务器故障时需批量对故障服务器上的虚拟机进行异地重生处理,通过云平台软件自身的图形用户界面(GUI,Graphical User Interface)或命令行界面(CLI,Command-line Interface)批量创建虚拟机等,这些模块可在实际发起虚拟机批量管理操作前,调用该虚拟机批量预管理接口,向云服务系统发送第一配置信息。该虚拟机批量预管理接口传递的参数可包括虚拟机处理队列,所述虚拟机处理队列具体可包括虚拟机规格、所述虚拟机规格所涉及处理的虚拟机数量,其中,虚拟机数量的正负具体可表示虚拟机数量的增加或减少,例如新增虚拟机时该虚拟机数量为正,如部署、扩容场景等,减少虚拟机时该虚拟机数量为负,如缩容、删除场景等。
本实施例通过向云平台传递需部署的网元或APP的全量虚拟机规格信息,并统筹已有的虚拟机列表,根据不同虚拟机规格的数量占比,按照剩余资源的匹配优先级在调度时预留出所需资源,以减少资源碎片,从而提升整体资源利用率。
基于前述实施例步骤210至步骤220所述,本发明实施例还提供一种调度方法。本实施例针对步骤220进行进一步阐述。具体地,步骤220中,所述在所述多个服务器中通过调度确定第一服务器,可以包括:
步骤221、确定所述多个服务器中各服务器在调度所述第一虚拟机后的剩余资源;
步骤222、确定调度所述第一虚拟机后的剩余资源为零的服务器的权重为权重1;或者,基于第一预设规则,对所述剩余资源与所述第一特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第一匹配结果,根据所述第一匹配结果确定各服务器对应的权重;其中,所述第一预设规则中包括各权重对应的剩余资源的相关信息;或者,基于第二预设规则,对所述剩余资源与所述第一特征信息和所述第二特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第二匹配结果,根据所述第二匹配结果确定各服务器对应的权重;其中,所述第二预设规则中包括各权重对应的剩余资源的相关信息;
步骤223、确定权重最大的服务器为所述第一服务器。
所述第一预设规则是所述剩余资源与所述第一特征信息中的各种规格的虚拟机的资源需求进行匹配时所采用的匹配规则,所述第二预设规则是所述剩余资源与所述第一特征信息和所述第二特征信息中的各种规格的虚拟机的资源需求进行匹配时所采用的匹配规则,均包括各权重对应的剩余资源的相关信息,具体可以是不同权重对应的资源维度信息,例如不同权重对应的vCPU、内存、GPU和/或其他扩展资源等。以表1所示的第一特征信息为例,对应的第一预设规则可以是,第一权重对应的剩余资源可以为4vCPU、4096MB内存等,第二权重对应的剩余资源可以为6vCPU、8192MB内存等,其中,规格信息为6vCPU、8192MB内存等的待调度虚拟机的数量较多,为最大概率地减少资源碎片,所述第二权重可大于所述第一权重。
本实施例中的权重1为最大权重,即在满足第一资源需求的多个服务器中存在服务器调度所述第一虚拟机后的剩余资源为零的情况下,确定该剩余资源为零的服务器具有最大权重。需要说明的是,若存在多个剩余资源为零的服务器,可随机或按照预设规则从中确定第一服务器。
可选的,所述步骤220可由云服务系统100中的weighter子模块122执行,相关技术中,weighter子模块122需对filter子模块121输出的满足资源需求的多个服务器均赋予对应的权值,并根据权值大小选择最终用于调度的唯一服务器。本实施例中,在确定调度所述第一虚拟机后的剩余资源为零的服务器的权重为权重1之后,对于剩余资源不为零的其余服务器,所述步骤222还可以包括:基于第一预设规则对剩余资源与第一特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第一匹配结果,根据所述第一匹配结果确定其余各服务器对应的权重(小于权重1);或者,基于第二预设规则对剩余资源与第一特征信息和第二特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第二匹配结果,根据所述第二匹配结果确定其余各服务器对应的权重(小于权重1)。
在本发明的一种可选实施例中,所述根据所述第一匹配结果确定各服务器对应的权重,可以包括:在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1。
本实施例按照第一特征信息中各种规格的虚拟机数量确定剩余资源与所述第一特征信息的匹配程度,在剩余资源能够匹配第一特征信息中的第一规格信息的情况下,该第一规格信息对应的虚拟机数量越多,对应服务器的权重越大。需要说明的是,本实施例的第一特征信息中各种规格信息对应的虚拟机数量均具有唯一的第一排序,其中,对于数量相同的规格信息,可具有相同或不同的第一排序。
同时,结合前述剩余资源为零的情况,本实施例确定的所有权重“N+1”均小于权重1。也就是说,本实施例为虚拟机调度服务器的优先级为:服务器空闲/可用资源正好等于第一虚拟机所需资源;部署第一虚拟机后的剩余资源正好等于一批或多批待调度的虚拟机中虚拟机数量最多的虚拟机规格,部署第一虚拟机后的剩余资源正好等于一批或多批待调度的虚拟机中虚拟机数量次多的虚拟机规格,以此类推,部署第一虚拟机后的剩余资源正好等于一批或多批待调度的虚拟机中虚拟机数量最少的虚拟机规格。
具体地,以第一预设规则为各权重对应的vCPU数量为例,服务器对应的权重例如可以是:若服务器的空闲/可用vCPU数量正好等于第一虚拟机所需vCPU数量,确定该服务器的权重为权重1,例如-10.0;若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第一特征信息中数量最多的虚拟机规格所对应的vCPU数量,即该服务器的剩余资源所匹配的第一规格信息所对应的虚拟机数量在第一特征信息中的第一排序为1,确定该服务器的权重为权重2,例如-20.0;若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第一特征信息中数量次多的虚拟机规格所对应的vCPU数量,即该服务器的剩余资源所匹配的第一规格信息所对应的虚拟机数量在第一特征信息中的第一排序为2,确定该服务器的权重为权重3,例如-30.0;以此类推,若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第一特征信息中数量最少的虚拟机规格所对应的vCPU数量,此时第一排序N为最大值N’,确定该服务器的权重为权重N’+1,例如N’=7,此时权重8可以是-80.0。
本实施例对即将调度的多种规格的虚拟机按照数量排序,尽可能提前为待调度的不同规格的虚拟机预留出正好匹配的资源,从而减少资源碎片的产生。
在一实施例中,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述方法还可以包括:确定服务器对应的剩余资源中的剩余内存量;根据所述剩余内存量的大小确定服务器的权重为权重N’+2;其中,N’为所述第一特征信息中最大的第一排序,所述权重N’+2属于第一范围,所述第一范围的最大值小于权重N’+1。
本实施例针对多个服务器的剩余资源匹配到第一特征信息中同一种规格的虚拟机资源需求,或者所有服务器的剩余资源均未匹配到第一特征信息中的虚拟机的资源需求的情况,可根据剩余内存量确定各服务器的权重。
所述N’具体是第一特征信息中最大的第一排序,即所述第一特征信息中各规格信息对应的虚拟机数量的排序的最大值,N≤N’,所述权重N’+2小于前述基于第一排序确定的所有权重“N+1”。可选的,所述权重N’+2与所述剩余内存量负相关,即在所述第一范围内,剩余内存量越少,对应的权重N’+2越大,所述第一范围可与各服务器的剩余内存量的范围相关。示例性的,在前述权重8(即N’=7)为-80.0的基础上,各服务器剩余内存量的范围在0至1000GB,所述第一范围例如可以是-90.0至-100.0,剩余内存量最小的服务器可具有最大的权重9,例如-90.0,剩余内存量最大的服务器可具有最小的权重9,例如-100.0,剩余内存量每增加第一数值(例如1GB),权重9减少第二数值(例如0.01)。
在一实施例中,在多个服务器具有相同剩余内存量的情况下,所述方法还可以包括:确定剩余内存量相同的多个服务器的权重为权重N’+3;其中,所述权重N’+3属于第三范围,所述第三范围的最大值小于所述第一范围的最小值。
本实施例针对多个服务器剩余内存量相同的情况,具体可在第三范围内随机确定所述权重N’+3,可以理解,所有权重N’+3均小于权重N’+2。示例性的,在前述权重9的基础上,第三范围可以是-100.0至-110.0,权重10可以是所述-100.0至-110.0中的随机数。
在本发明的一种可选实施例中,所述根据所述第二匹配结果确定各服务器对应的权重,可以包括:在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1;在所述剩余资源与所述第二特征信息中的第二规格信息匹配的情况下,基于所述第二规格信息对应的虚拟机的数量在所述第二特征信息中的第二排序M,确定所述服务器的权重为权重N’+M+1;其中,N’为所述第一特征信息中最大的第一排序,M为正整数,所述第二排序为所述第二特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N’+M+1小于权重N’+M,所述权重N’+M+1小于权重N’+1。
本实施例首先基于第一特征信息确定服务器对应的权重,尽可能提前为待调度的多种规格的虚拟机预留出正好匹配的资源从而减少碎片,随后还考虑到已存在的虚拟机可能发生的调度操作,例如服务器故障时的异地重生等,因此进一步基于第二特征信息确定服务器的权重。其中,基于第一排序N确定服务器的权重为权重N+1的过程具体可参照前述实施例的相关描述,为节省篇幅,这里不再赘述。
具体地,按照第二特征信息中各种规格的虚拟机数量确定剩余资源与所述第二特征信息的匹配程度,在剩余资源能够匹配第二特征信息中的第二规格信息的情况下,该第二规格信息对应的虚拟机数量越多,对应服务器的权重越大。同样的,本实施例的第二特征信息中各种规格信息对应的虚拟机数量均具有唯一的第二排序,其中,对于数量相同的规格信息,可具有相同或不同的第二排序。
结合前述基于第一排序N确定服务器对应的权重的情况,本实施例确定的所有权重“N’+M+1”均小于前述最小权重N’+1。也就是说,本实施例为虚拟机调度服务器的优先级为:服务器空闲/可用资源正好等于第一虚拟机所需资源;部署第一虚拟机后的剩余资源正好等于一批或多批待调度的虚拟机中虚拟机数量最多的虚拟机规格,部署虚拟机第一后的剩余资源正好等于一批或多批待调度的虚拟机中虚拟机数量次多的虚拟机规格,以此类推,部署第一虚拟机后的剩余资源正好等于一批或多批待调度的虚拟机中虚拟机数量最少的虚拟机规格;部署第一虚拟机后的剩余资源正好等于已存在的虚拟机中虚拟机数量最多的虚拟机规格,部署第一虚拟机后的剩余资源正好等于已存在的虚拟机中虚拟机数量次多的虚拟机规格,以此类推,部署第一虚拟机后的剩余资源正好等于已存在的虚拟机中虚拟机数量最少的虚拟机规格。
以第二预设规则为各权重对应的vCPU数量为例,服务器对应的权重例如可以是:若服务器的空闲/可用vCPU数量正好等于第一虚拟机所需vCPU数量,确定该服务器的权重为权重1,例如-110.0;若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第一特征信息中数量最多的虚拟机规格所对应的vCPU数量,确定该服务器的权重为权重2,例如-120.0;若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第一特征信息中数量次多的虚拟机规格所对应的vCPU数量,确定该服务器的权重为权重3,例如-130.0;以此类推,若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第一特征信息中数量最少的虚拟机规格所对应的vCPU数量,此时第一排序N为最大值N’,确定该服务器的权重为权重N’+1,例如N’=7,此时权重8可以是-180.0;若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第二特征信息中数量最多的虚拟机规格所对应的vCPU数量,即该服务器的剩余资源所匹配的第二规格信息所对应的虚拟机数量在第二特征信息中的第二排序为1,确定该服务器的权重为权重9,例如-210.0;若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第二特征信息中数量次多的虚拟机规格所对应的vCPU数量,即该服务器的剩余资源所匹配的第二规格信息所对应的虚拟机数量在第二特征信息中的第二排序为2,确定该服务器的权重为权重10,例如-220.0;以此类推,若服务器在调度第一虚拟机后的剩余vCPU数量正好等于第二特征信息中数量最少的虚拟机规格所对应的vCPU数量,此时第二排序M为最大值M’,确定该服务器的权重为N’+M’+1,例如M’=8,此时权重16可以是-280.0。
本实施例在虚拟机的全生命周期管理过程中,能够综合一批待调度的虚拟机的规格和数量信息,以及一批已存在的虚拟机的规格和数量信息,根据这些信息作出合理的调度安排,极大概率减少资源碎片的数量,促进了整体资源利用率的优化,降低了服务器采购成本。
作为一种可选的实施方式,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述方法还可以包括:确定服务器对应的剩余资源中的剩余内存量;根据所述剩余内存量的大小确定服务器的权重为权重N’+M’+2;其中,N’为所述第一特征信息中最大的第一排序,M’为所述第二特征信息中最大的第二排序,所述权重N’+M’+2属于第二范围,所述第二范围的最大值小于所述权重N’+M’+1。
本实施例针对多个服务器的剩余资源匹配到第一特征信息或第二特征信息中同一规格的虚拟机资源需求,或者所有服务器的剩余资源均未匹配到第一特征信息和第二特征信息中的虚拟机的资源需求的情况,可根据剩余内存量确定各服务器的权重。
所述M’具体是第二特征信息中最大的第二排序,即所述第二特征信息中各规格信息对应的虚拟机数量的排序的最大值,M≤M’,所述权重N’+M’+2小于前述基于第二排序确定的所有权重“N’+M+1”。可选的,所述权重N’+M’+2与所述剩余内存量负相关,即在所述第二范围内,剩余内存量越少,对应的权重N’+M’+2越大,所述第二范围可与各服务器的剩余内存量的范围相关,具体可参照对第一范围的相关描述,这里不再赘述。
在一实施例中,在多个服务器具有相同剩余内存量的情况下,所述方法还可以包括:确定剩余内存量相同的多个服务器的权重为权重N’+M’+3;其中,所述权重N’+M’+3属于第四范围,所述第四范围的最大值小于所述第二范围的最小值。
本实施例针对多个服务器剩余内存量相同的情况,具体可在第四范围内随机确定所述权重N’+M’+3,可以理解,所述权重N’+M’+3均小于权重N’+M’+2,具体可参照对第三范围的相关描述,这里不再赘述。
基于前述实施例,本发明实施例还提供一种调度方法。本实施例中,所述获取待调度的第一虚拟机的第一资源需求之前,所述方法还可以包括:确定待调度的多个第一虚拟机之间的关联关系;基于所述关联关系和/或所述多个第一虚拟机各自对应的规格信息,对所述多个第一虚拟机进行排序,根据排序结果依次确定待调度的第一虚拟机。
示例性的,所述关联关系具体可以是待调度的多个第一虚拟机之间的依赖性关系,其中,基于关联关系对多个第一虚拟机进行排序,具体可以是被依赖的第一虚拟机具有较高的调度优先级;基于多个第一虚拟机各自对应的规格信息对多个第一虚拟机进行排序,具体可以是规格较大的第一虚拟机具有较高的调度优先级;基于关联关系和多个第一虚拟机各自对应的规格信息对多个第一虚拟机进行排序,具体可以是:被依赖的第一虚拟机可按照规格大小依次具有最高调度优先级,存在依赖关系的第一虚拟机可按照规格大小依次具有次高调度优先级,不存在依赖关系的第一虚拟机按照规格从大到小依次确定调度优先级。也就是说,本实施例可按照被依赖的虚拟机-有依赖/无依赖的虚拟机、大规格虚拟机-小规格虚拟机的顺序对多个第一虚拟机进行排序,例如虚拟机VM1和VM2之间存在依赖关系,其中,VM2是“被依赖”的虚拟机,虚拟机按照规格由大到小依次为VM3>VM2>VM1,则最终调度虚拟机的顺序依次为VM2、VM1、VM3。
作为一种示例,本实施例可在前述的第一接口中新增用于描述待调度的多个虚拟机之间的关联关系的参数,管理编排器及其他模块可根据管理编排需求,分析虚拟机之间的关联关系,然后按照所述第一接口进行调用以向云服务系统传递所述关联关系,接口模块110可根据多个第一虚拟机的排序结果向调度模块120发送调度指令;或者,管理编排器及其他模块也可按照自行确定的排序结果向云服务系统发送调度指令。
本实施例可指定多个虚拟机之间的关联关系,并可在满足依赖关系的基础上按照规格从大到小的顺序依次调度多个虚拟机。
在一实施例中,所述方法还可以包括:根据所述第一虚拟机的规格信息更新所述第一特征信息,和/或,更新所述第二特征信息。本实施例中的第一特征信息和第二特征信息可存储在图1所示的数据库150中,在基于第一服务器调度完所述第一虚拟机之后,更新数据库150中存储的第一特征信息和/或第二特征信息。表2是本发明实施例的更新后的第一特征信息的一种示例,对于表1所示的第一特征信息,在一个4vCPU、4096MB内存的虚拟机部署完成之后,更新该第一特征信息如表2所示。
表2
vCPU 内存(MB) 数量
4 4096 5
6 8192 8
下面结合具体的应用场景对本发明实施例的调度方案进行说明。
图3为本发明实施例的调度方法的应用示例图,如图3所示,该方法包括:
步骤301、设置特征值。具体地,本示例可在接口模块中增加虚拟机批量预管理接口,在对网元或APP应用进行生命周期管理前,管理编排器调用该接口,向接口模块传递的参数(即第一配置信息)包括虚拟机处理队列,所述虚拟机处理队列包括虚拟机规格、该规格所涉及处理的虚拟机数量等,其中,新增虚拟机时虚拟机数量可为正,如部署、扩容场景等;减少虚拟机时虚拟机数量可为负,如缩容、删除场景等。
其中,虚拟机处理队列的一种示例如下,该虚拟机处理队列用于减少两个虚拟机规格为4vCPU、4096vRAM的虚拟机,以及增加4个虚拟机规格为6vCPU、8192vRAM的虚拟机。
本示例中,管理编排器在发送VNF/APP应用的生命周期管理指令前,先行调用虚拟机批量预管理接口。当其它模块存在虚拟机批量管理需求时,如可靠性管理模块在服务器故障时,批量对故障服务器上的虚拟机进行异地重生处理;通过云平台自身GUI或CLI管理界面批量创建虚拟机时,可相应对这些模块进行修改,使其在实际发起虚拟机批量管理操作前,调用该虚拟机批量预管理接口,以达到同等调度效果。
此外,可选的,所述虚拟机批量预管理接口中还可增加虚拟机之间的依赖关系参数,并在优先满足虚拟机依赖关系的前提下,按虚拟机规格从大到小的顺序部署虚拟机,以增强对资源碎片优化的效果,即优先部署较大规格的虚拟机能够获得较佳的效果。具体地,依赖关系参数例如在虚拟机vm3的标签中增加:{"require":"vm2,vm1"},并按照被依赖的虚拟机-有依赖/无依赖的虚拟机、大规格虚拟机-小规格虚拟机的顺序,向调度模块发送虚拟机调度指令,如虚拟机规格大小为vm3>vm2>vm1的情况下,可按vm2-vm1-vm3的顺序发送调度指令,指令间隔可为固定间隔或者为前一优先级虚拟机调度或部署完成时间。
对于管理编排器及其它模块,也可根据管理编排需求分析虚拟机之间的依赖关系,然后通过虚拟机批量预管理接口进行调用,或者对虚拟机拆分批次,按依赖关系和规格大小确定调度顺序后调用接口模块。
步骤302、更新特征值数据库。本示例可在数据库中新增第一特征值数据库(用于记录第一特征信息),由接口模块对传入的虚拟机处理队列进行记录,并在虚拟机管理操作执行完成后自动更新。示例性的,虚拟机批量预管理接口被调用时可同时管理多个网元,例如表1可以是虚拟机批量预管理接口被多次调用后的汇总值,虚拟机管理操作执行完成后自动更新的第一特征值数据库可见表2所示。
此外,可选的,本示例的数据库还可在第一特征值数据库的基础上,增加一类数据库,记为第二特征值数据库(用于记录第二特征信息),对所有已存在的虚拟机的规格和数量进行汇总,数据结构可与第一特征值数据库相同,并由接口模块在虚拟机管理操作执行完成后自动更新。
步骤303、向管理编排器返回特征值设置结果。
步骤304、管理编排器向接口模块发送虚拟机调度申请。以虚拟机创建为例,携带信息可以包括待创建的虚拟机的各类资源需求量、虚拟机特殊要求等。
步骤305、调度模块执行虚拟机调度操作。例如,接口模块向调度模块发送调度请求,携带信息可以包括待调度的虚拟机的各类资源需求量、虚拟机特殊要求等。
步骤306、接口模块向管理编排器返回虚拟机调度结果(异步模式)。
步骤307、调度模块通过filter子模块过滤不合格服务器。具体地,调度模块可从数据库获取服务器状态数据,包括各类资源总量、使用量/剩余量、已部署的虚拟机、故障状态等;将虚拟机请求信息,包括各类资源需求量、虚拟机特殊要求等,以及服务器状态数据,发送给filter子模块,filter子模块调用各驱动进行过滤,也即排除资源剩余量不足或无法满足虚拟机特殊要求的服务器,filter子模块对各驱动过滤的结果取交集,即为满足虚拟机创建要求的服务器集合(即满足第一资源需求的多个服务器),并将服务器集合回传给调度模块。
步骤308、调度模块通过weighter子模块采用权重算法确定唯一服务器。调度模块将filter子模块过滤后的服务器集合发送给weighter子模块。
步骤309、weighter子模块获取数据库中的第一特征值数据库(和第二特征值数据库),计算唯一服务器。
具体地,weighter子模块读取第一特征值数据库及服务器信息数据库,虚拟机按以下优先级选择目标服务器:可用/空闲资源正好等于虚拟机所需资源的服务器、部署虚拟机后剩余资源正好等于第一特征值数据库中虚拟机数量最多的虚拟机规格、部署虚拟机后剩余资源正好等于第一特征值数据库中虚拟机数量次多的虚拟机规格……以此类推,当以上有多个匹配或完全无匹配时,优先级选择可扩展,例如按照集中式调度或分布式调度方式扩展。
以vCPU资源为例,可按照以下规则确定各服务器对应的权重,并选择权重值最大的服务器作为目标服务器:服务器可用vCPU数量正好等于虚拟机所需vCPU数量,可赋予最大权重,如-10.0;服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第一特征值数据库中数量最多的规格,可赋予第二权重,如-20.0;服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第一特征值数据库中数量次多的规格,可赋予第三权重,如-30.0……以此类推,服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第一特征值数据库中数量最少的规格,例如赋予第八权重,如-80.0;当以上均未匹配或有多个匹配时,可按照服务器剩余内存量赋予权重,例如第九权重,第九权重为一个范围,例如,剩余内存量等于虚拟机所需内存时,赋予第九权重最大值-90.0,剩余内存量每多1GB,第九权重减少0.01;当多台服务器剩余内存量相等时,可随机指定一台服务器,如赋予第十权重,第十权重为一个范围,其值为-100.0至-110.0中的随机数。
或者,weighter子模块读取第一特征值数据库、第二特征值数据库及服务器信息数据库,虚拟机按以下优先级选择目标服务器:可用/空闲资源正好等于虚拟机所需资源的服务器、部署虚拟机后剩余资源正好等于第一特征值数据库中虚拟机数量最多的虚拟机规格、部署虚拟机后剩余资源正好等于第一特征值数据库中虚拟机数量次多的虚拟机规格……以此类推,部署虚拟机后剩余资源正好等于第二特征值数据库中虚拟机数量最多的虚拟机规格、部署虚拟机后剩余资源正好等于第二特征值数据库中虚拟机数量次多的虚拟机规格……以此类推,当以上有多个匹配或完全无匹配时,优先级选择可扩展,例如按照集中式调度或分布式调度方式扩展。
以vCPU资源为例,可按照以下规则确定各服务器对应的权重,并选择权重值最大的服务器作为目标服务器:服务器可用vCPU数量正好等于虚拟机所需vCPU数量,可赋予最大权重,如-110.0;服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第一特征值数据库中数量最多的规格,可赋予第二权重,如-120.0;服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第一特征值数据库中数量次多的规格,可赋予第三权重,如-130.0……以此类推,服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第一特征值数据库中数量最少的规格,例如赋予第八权重,如-180.0;服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第二特征值数据库中数量最多的规格,可赋予第九权重,如-210.0;服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第二特征值数据库中数量次多的规格,可赋予第十权重,如-220.0……以此类推,服务器剩余vCPU数量扣除虚拟机所需vCPU数量后,正好等于第二特征值数据库中数量最少的规格,可赋予第十六权重,如-280.0;当以上均未匹配或有多个匹配时,可按照服务器剩余内存量赋予权重,例如第十七权重,第十七权重为一个范围,剩余内存量等于虚拟机所需内存时,赋予第十七权重最大值-300.0,剩余内存每多1GB,权重减少0.01;当多台服务器剩余内存量相等时可随机指定一台服务器,例如赋予第十八权重,第十八权重为一个范围,其值为-310.0至-320.0中的随机数。
由此,本示例可对一批虚拟机进行组合计算并做适当的部署位置安排,比如,某台服务器剩余6vCPU,且需部署列表中有2vCPU、4vCPU虚拟机,那么,在能够感知这些即将被调度的虚拟机的规格的情况下,可将2vCPU和4vCPU的虚拟机同时安排到该服务器上,不会导致CPU碎片。
步骤310、weighter子模块将确定的唯一服务器回传给调度模块。
步骤311、调度模块通过接口模块,或直接将虚拟机调度请求发送给唯一服务器上的执行模块。
步骤312、管理编排器查询到虚拟机调度结果(虚拟机创建为异步模式)。
本示例中虚拟机的调度过程不是缺乏资源碎片管控手段,也不再无法感知一个网元或者APP应用的整体情况、只能对单个虚拟机进行调度。本示例在虚拟机的全生命周期管理过程中,能够综合一批需调度的虚拟机的规格和数量情况、已存在的虚拟机的规格和数量情况,作出合理的调度安排,极大概率的减少资源碎片的数量,促进整体资源利用率的优化,从而降低服务器采购成本。此外,本示例还可结合集中式调度,并结合对空闲核休眠、空闲服务器关机等管理手段,提升节能减排效果。
本发明实施例中的步骤并不一定是按照所描述的步骤顺序进行处理,可以按照需求有选择的将步骤打乱重排,或者删除实施例中的步骤,或者增加实施例中的步骤,本发明实施例中的步骤描述只是可选的顺序组合,并不代表本发明实施例的所有步骤顺序组合,实施例中的步骤顺序不能认为是对本发明的限制。
本发明实施例还提供一种调度装置。图4为本发明实施例的调度装置的组成结构示意图,如图4所示,调度装置400包括获取模块401和确定模块402;其中,
所述获取模块401,用于获取待调度的第一虚拟机的第一资源需求,以及确定满足所述第一资源需求的多个服务器;
所述确定模块402,用于在所述多个服务器中通过调度确定第一服务器;其中,所述第一服务器在调度所述第一虚拟机后,剩余资源为零,或剩余资源匹配预先获得的第一特征信息中的一种规格的虚拟机的资源需求,或剩余资源匹配预先获得的第二特征信息中的一种规格的虚拟机的资源需求;所述第一特征信息包括待调度的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量;所述第二特征信息包括已创建的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量。
在本发明的一种可选实施例中,所述确定模块402包括第一子模块、第二子模块和第三子模块,其中,
所述第一子模块,用于确定所述多个服务器中各服务器在调度所述第一虚拟机后的剩余资源;
所述第二子模块,用于确定调度所述第一虚拟机后的剩余资源为零的服务器的权重为权重1;或者,用于基于第一预设规则,对所述剩余资源与所述第一特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第一匹配结果,根据所述第一匹配结果确定各服务器对应的权重;其中,所述第一预设规则中包括各权重对应的剩余资源的相关信息;或者,用于基于第二预设规则,对所述剩余资源与所述第一特征信息和所述第二特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第二匹配结果,根据所述第二匹配结果确定各服务器对应的权重;其中,所述第二预设规则中包括各权重对应的剩余资源的相关信息;
所述第三子模块,用于确定权重最大的服务器为所述第一服务器。
在本发明的一种可选实施例中,所述第二子模块,用于在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1。
在本发明的一种可选实施例中,所述第二子模块,用于在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1;
所述第二子模块,还用于在所述剩余资源与所述第二特征信息中的第二规格信息匹配的情况下,基于所述第二规格信息对应的虚拟机的数量在所述第二特征信息中的第二排序M,确定所述服务器的权重为权重N’+M+1;其中,N’为所述第一特征信息中最大的第一排序,M为正整数,所述第二排序为所述第二特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N’+M+1小于权重N’+M,所述权重N’+M+1小于权重N’+1。
在本发明的一种可选实施例中,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述确定模块402,还用于确定服务器对应的剩余资源中的剩余内存量;以及,根据所述剩余内存量的大小确定服务器的权重为权重N’+2;其中,N’为所述第一特征信息中最大的第一排序,所述权重N’+2属于第一范围,所述第一范围的最大值小于权重N’+1。
在本发明的一种可选实施例中,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述确定模块402,还用于确定服务器对应的剩余资源中的剩余内存量;以及,根据所述剩余内存量的大小确定服务器的权重为权重N’+M’+2;其中,N’为所述第一特征信息中最大的第一排序,M’为所述第二特征信息中最大的第二排序,所述权重N’+M’+2属于第二范围,所述第二范围的最大值小于所述权重N’+M’+1。
在本发明的一种可选实施例中,在多个服务器具有相同剩余内存量的情况下,所述确定模块402,还用于确定剩余内存量相同的多个服务器的权重为权重N’+3;其中,所述权重N’+3属于第三范围,所述第三范围的最大值小于所述第一范围的最小值。
在本发明的一种可选实施例中,在多个服务器具有相同剩余内存量的情况下,所述确定模块402,还用于确定剩余内存量相同的多个服务器的权重为权重N’+M’+3;其中,所述权重N’+M’+3属于第四范围,所述第四范围的最大值小于所述第二范围的最小值。
在本发明的一种可选实施例中,所述获取模块401,还用于确定待调度的多个第一虚拟机之间的关联关系;以及,基于所述关联关系和/或所述多个第一虚拟机各自对应的规格信息,对所述多个第一虚拟机进行排序,根据排序结果依次确定待调度的第一虚拟机。
在本发明的一种可选实施例中,所述装置400还包括更新模块,用于根据所述第一虚拟机的规格信息更新所述第一特征信息,和/或,更新所述第二特征信息。
在本发明的一种可选实施例中,所述获取模块401,还用于接收第一配置信息,所述第一配置信息包括多种虚拟机的规格信息和每种规格信息对应的虚拟机的数量信息;以及,基于所述第一配置信息确定所述第一特征信息。
本发明实施例中,所述调度装置400中的获取模块401、确定模块402和更新模块,在实际应用中均可由所述装置400中的CPU、数字信号处理器(DSP,Digital SignalProcessor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)实现。
需要说明的是:上述实施例提供的调度装置在进行调度时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的调度装置与调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5为本发明实施例的设备的硬件结构示意图,设备500可以是服务器或服务器集群。图5所示的设备500包括:至少一个处理器501、存储器502和至少一个网络接口503。设备500中的各个组件通过总线系统504耦合在一起。可理解,总线系统504用于实现这些组件之间的连接通信。总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统504。
可以理解,存储器502可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器502用于存储各种类型的数据以支持设备500的操作。这些数据的示例包括:用于在设备500上操作的任何计算机程序,如实现本发明各实施例方法的程序。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成前述各方法的步骤。
在示例性实施例中,设备500可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器502,上述计算机程序可由设备500的处理器501执行,以完成前述各方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种调度方法,其特征在于,所述方法包括:
获取待调度的第一虚拟机的第一资源需求,以及确定满足所述第一资源需求的多个服务器;
在所述多个服务器中通过调度确定第一服务器;其中,所述第一服务器在调度所述第一虚拟机后,剩余资源为零,或剩余资源匹配预先获得的第一特征信息中的一种规格的虚拟机的资源需求,或剩余资源匹配预先获得的第二特征信息中的一种规格的虚拟机的资源需求;
所述第一特征信息包括待调度的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量;所述第二特征信息包括已创建的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量。
2.根据权利要求1所述的方法,其特征在于,所述在所述多个服务器中通过调度确定第一服务器,包括:
确定所述多个服务器中各服务器在调度所述第一虚拟机后的剩余资源;
确定调度所述第一虚拟机后的剩余资源为零的服务器的权重为权重1;或者,
基于第一预设规则,对所述剩余资源与所述第一特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第一匹配结果,根据所述第一匹配结果确定各服务器对应的权重;其中,所述第一预设规则中包括各权重对应的剩余资源的相关信息;或者,
基于第二预设规则,对所述剩余资源与所述第一特征信息和所述第二特征信息中的各种规格的虚拟机的资源需求进行匹配,获得第二匹配结果,根据所述第二匹配结果确定各服务器对应的权重;其中,所述第二预设规则中包括各权重对应的剩余资源的相关信息;
确定权重最大的服务器为所述第一服务器。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一匹配结果确定各服务器对应的权重,包括:
在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第二匹配结果确定各服务器对应的权重,包括:
在所述剩余资源与所述第一特征信息中的第一规格信息匹配的情况下,基于所述第一规格信息对应的虚拟机的数量在所述第一特征信息中的第一排序N,确定所述服务器的权重为权重N+1;其中,N为正整数;所述第一排序为所述第一特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N+1小于权重N,所述权重N+1小于权重1;
在所述剩余资源与所述第二特征信息中的第二规格信息匹配的情况下,基于所述第二规格信息对应的虚拟机的数量在所述第二特征信息中的第二排序M,确定所述服务器的权重为权重N’+M+1;其中,N’为所述第一特征信息中最大的第一排序,M为正整数,所述第二排序为所述第二特征信息中的各规格信息对应的虚拟机数量由大到小的排序;所述权重N’+M+1小于权重N’+M,所述权重N’+M+1小于权重N’+1。
5.根据权利要求3所述的方法,其特征在于,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述方法还包括:
确定服务器对应的剩余资源中的剩余内存量;
根据所述剩余内存量的大小确定服务器的权重为权重N’+2;其中,N’为所述第一特征信息中最大的第一排序,所述权重N’+2属于第一范围,所述第一范围的最大值小于权重N’+1。
6.根据权利要求4所述的方法,其特征在于,在多个服务器各自调度所述第一虚拟机后的剩余资源均匹配到同一种规格的虚拟机的资源需求或所有服务器调度所述第一虚拟机后的剩余资源均未匹配到一种或多种规格的虚拟机的资源需求的情况下,所述方法还包括:
确定服务器对应的剩余资源中的剩余内存量;
根据所述剩余内存量的大小确定服务器的权重为权重N’+M’+2;其中,N’为所述第一特征信息中最大的第一排序,M’为所述第二特征信息中最大的第二排序,所述权重N’+M’+2属于第二范围,所述第二范围的最大值小于所述权重N’+M’+1。
7.根据权利要求5所述的方法,其特征在于,在多个服务器具有相同剩余内存量的情况下,所述方法还包括:
确定剩余内存量相同的多个服务器的权重为权重N’+3;其中,所述权重N’+3属于第三范围,所述第三范围的最大值小于所述第一范围的最小值。
8.根据权利要求6所述的方法,其特征在于,在多个服务器具有相同剩余内存量的情况下,所述方法还包括:
确定剩余内存量相同的多个服务器的权重为权重N’+M’+3;其中,所述权重N’+M’+3属于第四范围,所述第四范围的最大值小于所述第二范围的最小值。
9.根据权利要求1所述的方法,其特征在于,所述获取待调度的第一虚拟机的第一资源需求之前,所述方法还包括:
确定待调度的多个第一虚拟机之间的关联关系;
基于所述关联关系和/或所述多个第一虚拟机各自对应的规格信息,对所述多个第一虚拟机进行排序,根据排序结果依次确定待调度的第一虚拟机。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第一虚拟机的规格信息更新所述第一特征信息,和/或,更新所述第二特征信息。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第一配置信息,所述第一配置信息包括多种虚拟机的规格信息和每种规格信息对应的虚拟机的数量信息;
基于所述第一配置信息确定所述第一特征信息。
12.一种调度装置,其特征在于,所述装置包括获取模块和确定模块;其中,
所述获取模块,用于获取待调度的第一虚拟机的第一资源需求,以及确定满足所述第一资源需求的多个服务器;
所述确定模块,用于在所述多个服务器中通过调度确定第一服务器;其中,所述第一服务器在调度所述第一虚拟机后,剩余资源为零,或剩余资源匹配预先获得的第一特征信息中的一种规格的虚拟机的资源需求,或剩余资源匹配预先获得的第二特征信息中的一种规格的虚拟机的资源需求;所述第一特征信息包括待调度的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量;所述第二特征信息包括已创建的多个虚拟机的规格信息和每种规格信息对应的虚拟机数量。
13.一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至11任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至11任一项所述方法的步骤。
CN202211426585.4A 2022-11-14 2022-11-14 一种调度方法、装置、设备和计算机可读存储介质 Pending CN118034904A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211426585.4A CN118034904A (zh) 2022-11-14 2022-11-14 一种调度方法、装置、设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211426585.4A CN118034904A (zh) 2022-11-14 2022-11-14 一种调度方法、装置、设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN118034904A true CN118034904A (zh) 2024-05-14

Family

ID=90986295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211426585.4A Pending CN118034904A (zh) 2022-11-14 2022-11-14 一种调度方法、装置、设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN118034904A (zh)

Similar Documents

Publication Publication Date Title
US11593149B2 (en) Unified resource management for containers and virtual machines
US11775335B2 (en) Platform independent GPU profiles for more efficient utilization of GPU resources
US10129333B2 (en) Optimization of computer system logical partition migrations in a multiple computer system environment
US20180239633A1 (en) Method, apparatus, and system for creating virtual machine, control device, and storage medium
EP3410288B1 (en) Online upgrade method, device and system
US9331943B2 (en) Asynchronous scheduling informed by job characteristics and anticipatory provisioning of data for real-time, parallel processing
CN104111897A (zh) 一种数据处理方法、装置及计算机系统
CN101859317A (zh) 一种利用虚拟化构建数据库集群的方法
CN111988160B (zh) 一种虚拟化网络功能的部署方法和装置
WO2023000673A1 (zh) 硬件加速器设备管理方法、装置及电子设备和存储介质
CN111309440B (zh) 一种多类型gpu的管理调度的方法和设备
CN106775946A (zh) 一种虚拟机快速创建方法
WO2024120205A1 (zh) 一种应用性能优化方法、装置、电子设备及存储介质
CN114625533A (zh) 分布式任务调度方法、装置、电子设备及存储介质
CN104182295A (zh) 一种数据备份方法及装置
CN113535087B (zh) 数据迁移过程中的数据处理方法、服务器及存储系统
US20150178115A1 (en) Optimal assignment of virtual machines and virtual disks using multiary tree
CN105677481A (zh) 一种数据处理方法、系统及电子设备
CN116841728A (zh) 集群资源调度方法、装置、电子设备及存储介质
CN118034904A (zh) 一种调度方法、装置、设备和计算机可读存储介质
CN111475277A (zh) 一种资源分配方法、系统、设备及机器可读存储介质
CN113986846A (zh) 数据处理方法、系统、设备及存储介质
CN103631648A (zh) 一种任务处理方法及系统
CN110399206B (zh) 一种基于云计算环境下idc虚拟化调度节能系统
CN113076069A (zh) 双缓存方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination