功耗调节方法、装置、电子设备、存储介质及程序产品与流程

未命名 08-26 阅读:88 评论:0


1.本技术涉及计算机技术领域,具体涉及一种功耗调节方法、装置、电子设备、存储介质及程序产品。


背景技术:

2.云服务平台是用于提供云计算服务的平台,云服务平台在在运营的过程中,通常需要部署和运营大量的物理服务器,即宿主机,以满足弹性扩缩容需求。由于云上的业务需求是波动变化的,呈现出明显的波峰波谷分布,在业务波峰期,宿主机处于高负载状态,在业务波谷期,大量的宿主机处于闲置的状态,造成了功耗的浪费。
3.由此,亟需一种方式,可根据业务需求的波动对宿主机进行控制,以节省云服务平台的功耗。


技术实现要素:

4.本技术实施例提供一种功耗调节方法、装置、电子设备、存储介质及程序产品,可以基于业务需求对宿主机进行控制,以节省云服务平台的功耗。
5.本技术实施例提供一种功耗调节方法,包括:获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建;若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机;基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,所述虚拟任务为所述虚拟机执行的任务;若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,其中,所述待处理宿主机停止新建所述虚拟机;控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。
6.本技术实施例还提供一种功耗调节装置,包括:获取模块,用于获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建;确定模块,用于若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机;校验模块,用于基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,所述虚拟任务为所述虚拟机执行的任务;标记模块,用于若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,其中,所述待处理宿主机停止新建所述虚拟机;调节模块,用于控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。
7.本技术实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从
所述存储器中加载指令,以执行本技术实施例所提供的任一种功耗调节方法中的步骤。
8.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术实施例所提供的任一种功耗调节方法中的步骤。
9.本技术实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本技术实施例所提供的任一种功耗调节方法中的步骤。
10.本技术实施例可以在未被使用的虚拟机的数量大于预设数量时,即资源过剩时,确定空闲宿主机;基于空闲宿主机上的虚拟任务,对空闲宿主机进行关机校验;若空闲宿主机通过关机校验,为空闲宿主机添加预设标记,得到待处理宿主机;控制待处理宿主机从工作状态转换为待机状态,由于待机状态下的宿主机仅保持最小供电单元的运行,从而可在资源过剩时,自动待机部分空闲宿主机,以节省功耗。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1a是本技术实施例提供的功耗调节方法的场景示意图;图1b是本技术实施例提供的功耗调节方法的流程示意图;图1c是本技术实施例提供的数量比较的示意图;图1d是本技术实施例提供的根据开关机策略控制宿主机的示意图;图1e是本技术实施例提供的功耗调节方法的整体框架图;图2a是本技术另一实施例提供的功耗调节方法的流程示意图;图2b是本技术实施例提供的控制宿主机待机的流程示意图;图2c是本技术实施例提供的控制宿主机开机的流程示意图;图2d是本技术实施例提供的各个机型平均节省功耗收益图;图3是本技术实施例提供的功耗调节装置的结构示意图;图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
13.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
14.本技术实施例提供一种功耗调节方法、装置、电子设备、存储介质及程序产品。
15.其中,该功耗调节装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算
服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
16.在一些实施例中,该功耗调节装置还可以集成在多个电子设备中,比如,功耗调节装置可以集成在多个服务器中,由多个服务器来实现本技术的数据功耗调节方法。
17.在一些实施例中,服务器也可以以终端的形式来实现。
18.例如,参考图1a,示出了功耗调节方法的应用场景示意图。该应用场景可以包括功耗调节系统101、生产调度资源池102、虚拟机生产系统103以及宿主机集群104。
19.其中,功耗调节系统101可执行本技术提供的功耗调节方法;生产调度资源池102可将创建的虚拟机作为资源,以支持业务需求;虚拟机生产系统103可控制宿主机创建虚拟机;宿主机集群104则为创建虚拟机的物理机集群。
20.虚拟机生产系统103中存在一调度器,该调度器可进行装箱调度,过滤掉待机的宿主机,选择一些宿主机产生虚拟机,即可以和宿主机集群104中宿主机的数据处理单元(compute)进行连接,以便宿主机可以创建虚拟机,装箱成功后放入生产调度资源池102。
21.其中,功耗调节系统101中存在一调度器,该调度器可定时从生产调度资源池102中获取库存,即未被使用的虚拟机的数量。然后由调度器进行库存安全水位的判断,即比较数量和预设数量;若数量大于预设数量,则为高水位,可减少生产调度资源池102中的资源,即减少虚拟机的数量;若数量小于预设数量,则为低水位,可向生产调度资源池102中补充资源,即增加虚拟机的数量。
22.其中,高水位时,可基于关机应用程序编程接口(application programming interface,api)对宿主机集群104中的宿主机进行关机;低水位时,可基于开机api对宿主机集群104中的宿主机进行开机。
23.在高水位时,功耗调节系统101中的调度器可以从宿主机集群104中确定空闲宿主机;基于空闲宿主机上的虚拟任务,对空闲宿主机进行关机校验;若空闲宿主机通过关机校验,为空闲宿主机添加预设标记,得到待处理宿主机;控制待处理宿主机从工作状态转换为待机状态,其中,待机状态是指仅保持最小供电单元运行的状态。从而,可在资源充足时,智能控制空闲宿主机进行待机,以节省功耗,并且,空闲宿主机仅是进入待机状态,其运行的最小供电单元可以维持远程快速开电接口的访问,从而在低水位时,也可以快速控制宿主机开机。
24.以下分别进行详细说明。需说明的是,以下实施例的顺序不作为对实施例优选顺序的限定。
25.云计算(cloud computing)指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。云计算是网格计算(grid computing )、分布式计算(distributedcomputing)、并行计算(parallel computing)、效用计算(utility computing)、网络存储(network storage technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。
26.随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动
商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。本技术提供的云服务平台即可提供多样化的云计算服务,以满足不同的业务需求,由于业务需求存在波动,可在资源过剩时关闭部分空闲的宿主机,以降低云服务平台的功耗,以下将详细说明。
27.在本实施例中,提供了一种功耗调节方法,如图1b所示,该功耗调节方法的具体流程可以如下:s110、获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建。
28.虚拟机是指基于虚拟化技术在物理服务器上创建的虚拟服务器,通过虚拟化技术,可以将一台物理服务器划分为多个相互隔离的虚拟服务器,每个虚拟服务器拥有自己的资源和独立的操作系统。其中,宿主机即是指物理服务器,虚拟机可由宿主机创建,一个宿主机可创建至少一个虚拟机,上述的多个虚拟机由多个宿主机创建。例如,多个虚拟机的数量为10个,宿主机可以是4个,这4个宿主机分别创建2个虚拟机、3个虚拟机、4个虚拟机及1个虚拟机。
29.未被使用的虚拟机是指未执行虚拟任务的虚拟机,在一些实施方式中,该多个虚拟机可以是指云服务平台提供的所有虚拟机,在获取未被使用的虚拟机的数量时,可以是获取整个云服务平台提供的所有虚拟机中,未被使用的虚拟机的数量。换言之,该未被使用的虚拟机的数量也可以认为是虚拟机库存。
30.作为一种实施方式,可以是直接统计整个云服务平台中,未被使用的虚拟机的数量。例如,整个云服务平台中,共有1000个虚拟机,其中有200个虚拟机正在执行虚拟任务,则未被使用的虚拟机的数量为800个。
31.作为另一种实施方式,可以是按照实例族获取未被使用的虚拟机的数量。其中,实例族是指针对不同的计算需求和场景,将虚拟机按照配置、性能等方面进行分类或划分得到的结果。
32.实例族的划分可根据实际的需要进行设置,例如,可以是标准型实例族、内存型实例族、计算型实例族等,不同的实例族通常具有不同的cpu、内存、网络带宽、存储容量、价格等特征,且适用于不同的场景。
33.例如,标准型实例族适用于小型的数据处理场景;内存型实例族适用高性能数据库、分布式内存缓存等需要大量的内存操作、查找和计算的场景;计算型实例族适用批处理、高性能计算和大型游戏服务器等计算密集型的场景。
34.由此可知,每个实例族中均包含多个配置、性能相似或相同的虚拟机,在获取未被使用的虚拟机对应的数量时,可以是针对每个实例族,获取实例族中的多个虚拟机中,未被使用的虚拟机的数量。例如,某一实例族中的虚拟机的总数量为100个,仅使用了60个虚拟机,未被使用的虚拟机的数量为40个。由此,每个实例族中未被使用的虚拟机的数量之和,即为整个云服务平台中,未被使用的虚拟机的数量。
35.在一些实施方式中,该多个虚拟机可以是指实例族中包含的所有虚拟机,在获取未被使用的虚拟机的数量时,可以是获取实例族中的所有虚拟机中,未被使用的虚拟机的数量。
36.在获取多个虚拟机中未被使用的虚拟机对应的数量时,可以是按照一定的周期获取,例如,可以是每间隔一个小时获取一次,或者每间隔2个小时获取一次,具体的周期可由实际的需要进行设置,在此不做具体限定。
37.s120、若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机。
38.预设数量是指为了满足业务需求,所需要的未被使用的虚拟机的最小数量。其中,该预设数量可以是预先设置的一个数量,例如,可预先基于业务经验设置预设数量。该预设数量还可以是根据实际的业务需求所得到的数量,也即该预设数量可跟随当前的业务需求的变化而变化。
39.若前述获取的是整个云服务器平台中,未被使用的虚拟机的数量,该预设数量可以是仅有一个,即比较数量和预设数量,若数量大于预设数量,从整个云服务器平台中的所有宿主机中确定空闲宿主机。
40.若前述获取的是实例族中未被使用的虚拟机的数量,该预设数量和实例族对应,即不同的实例族可以设置有不同的预设数量。此时需获取到是实例族对应的预设数量,再比较数量和预设数量,若数量大于预设数量,从创建实例族中的多个虚拟机的宿主机中,确定空闲宿主机。
41.其中,若实例族对应的预设数量为预先设置好的固定数值,可以预先将每个实例族和其对应的预设数量关联存储,得到关联关系,在获取实例族对应的预设数量时,可基于实例族和该关联关系查询到对应的预设数量。
42.若实例族对应的预设数量是根据业务需求波动的值,可直接基于该实例族当前的业务需求进行计算得到预设数量。例如,业务需求量和预设数量之间存在函数关系,若业务需求量为x,预设数量为y,则y=kx+b,其中,k和b可为常数,可基于多次测试得到,从而利用该函数关系,可得到预设数量。
43.其中,比较数量和预设数量,可以是由功耗调节系统中的资源比较器执行。例如,可参阅图1c,示出了数量比较的示意图。其中,资源比较器可以获取到当前库存资源,即未被使用的虚拟机的数量,还可以获取到弹性库存资源需求,即前述的预设数量。然后可比较两者之间大小;若数量大于预设数量,可得出资源过剩的结果;若数量等于预设数量,可得出资源持平的结果;若数量小于预设数量,可得出资源不足的结果。其中,资源过剩时,可关机一部分宿主机,减少资源;资源不足时,可开机部分宿主机,补充资源;资源持平时,可不做其他处理,等待下次比较。
44.若前述获取的均是实例族中未被使用的虚拟机的数量,若数量大于预设数量,表明当前实例族的提供的虚拟机数量过多,远超出了业务的需求,由此可以确定出空闲宿主机,并关闭空闲宿主机,以此降低功耗。宿主机可以创建至少一个虚拟机,虚拟机可以执行对应的虚拟任务,空闲宿主机则是指没有执行虚拟任务的宿主机,即该空闲宿主机创建的虚拟机上均没有正在执行的虚拟任务。其中,虚拟任务可以是指在云计算服务中,一组需要处理的数据或计算,例如,大规模数据分析、图像处理、文本处理、音视频处理等。
45.在一些实施方式中,确定空闲宿主机时,可以是将不存在第一虚拟任务的所述宿主机,确定为空闲宿主机,所述第一虚拟任务为虚拟机正在执行的虚拟任务;若所有所述宿主机上均存在所述第一虚拟任务,根据所述宿主机已创建的虚拟机的数量,从宿主机中确定待迁移宿主机,所述待迁移宿主机已创建的虚拟机的数量满足预设条件;迁移所述待迁
移宿主机创建的所述虚拟机,以将所述待迁移宿主机转换为所述空闲宿主机。
46.其中,第一虚拟任务是指虚拟机正在执行的虚拟任务,若宿主机创建的虚拟机中,所有虚拟机上均不存在第一虚拟任务,则可以认为该宿主机为空闲宿主机。
47.作为一种实施方式,可以是检测每个虚拟机,确定虚拟机上是否存在第一虚拟任务,将不存在第一虚拟任务的虚拟机确定为空闲虚拟机;然后获取创建该空闲虚拟机的宿主机,当该宿主机创建的其他虚拟机上均没有第一虚拟任务时,确定该宿主机为空闲宿主机。
48.作为一种实施方式,可以是针对每个宿主机,获取宿主机创建的所有虚拟机;若每个虚拟机上均不存在第一虚拟任务,将该宿主机确定为空闲宿主机。
49.若所有宿主机中不存在空闲宿主机,表明每个宿主机上创建的虚拟机均在执行虚拟任务,但是未被使用的虚拟机的数量大于预设数量,表明存在一些宿主机,其虚拟化率较低。
50.由此,可以找出虚拟化率较低的宿主机,将虚拟化率较低的宿主机转换为空闲宿主机。例如,可以是所有宿主机上均存在第一虚拟任务,可以根据每个宿主机已创建的虚拟机的数量,从宿主机中确定待迁移宿主机,待迁移宿主机即为前述虚拟化率较低的宿主机。
51.在一些实施方式中,基于宿主机已创建的虚拟机的数量,从宿主机中确定待迁移宿主机时,可以是针对每个宿主机,获取所述宿主机已创建的虚拟机的数量,以及所述宿主机创建所述虚拟机的最大数量;计算所述已创建的虚拟机的数量和所述最大数量的比值,得到所述宿主机的虚拟化率;将所述虚拟化率小于预设虚拟化率的宿主机,确定为待迁移宿主机。
52.其中,宿主机已创建的虚拟机的数量是指,宿主机中当前存在的虚拟机的数量,可直接检测宿主机获取到。宿主机创建虚拟机的最大数量是指,宿主机可被允许创建的虚拟机的最大值,该最大数量可以是一个预估值。例如,可以是获取最常使用的虚拟机的规格,计算宿主机最多可创建多少个该规格的虚拟机,得到宿主机的最大数量。
53.需要说明的是,由于不同型号的宿主机的硬件配置不同,则不同型号的宿主机对应的最大数量不同,作为一种实施方式,为了快速获取宿主机的最大数量,可预先存储宿主机型号和最大数量之间的映射关系,在获取宿主机的最大数量时,可以是先获取宿主机的型号为目标型号;根据目标型号和该映射关系,以获取到宿主机的最大数量。
54.虚拟化率则指已创建的虚拟机的数量和最大数值之间的比值,例如,已创建的虚拟机的数量为10,最大数值为100,则该宿主机的虚拟化率为10/100=10%。其中,虚拟化率越高,表示宿主机越充分利用了其硬件资源,虚拟化率越低,表明宿主机的硬件资源的利用越低。
55.预设虚拟化率是指预先设置的一个虚拟化率,可用于确定宿主机是否充分利用其硬件资源,该预设虚拟化率可根据实际的需要进行设置,在此不做具体限定。
56.若宿主机的虚拟化率大于或等于预设虚拟化率,可认为宿主机充分利用了其硬件资源;若宿主机的虚拟化率小于预设虚拟化率,可以认为宿主机未充分利用其硬件资源,由此,可直接将虚拟化率小于预设虚拟化率的宿主机,确定为待迁移宿主机。
57.为了得到空闲宿主机,可直接对待迁移宿主机创建的虚拟机进行迁移,以便将待迁移宿主机腾空,使其转换为空闲宿主机。例如,可以是根据所述待迁移宿主机中的虚拟
机,从除所述待迁移宿主机之外的其他宿主机中,确定目标宿主机;在所述目标宿主机中,创建所述虚拟机对应的新虚拟机;将所述虚拟机的虚拟机状态及虚拟机数据,迁移至所述虚拟机对应的所述新虚拟机中;从所述待迁移宿主机中删除所述虚拟机,以将所述待迁移宿主机转换为所述空闲宿主机。
58.目标宿主机是指待迁移宿主机中的虚拟机所要迁入的宿主机,该目标宿主机可从除了待迁移宿主机之外的其他宿主机中确定。在一些实施方式中,可以是先从其他宿主机中,确定虚拟化率为未达到100%的宿主机,作为候选宿主机;确定待迁移宿主机的虚拟机所消耗的总硬件资源;将剩余硬件资源大于总硬件资源的候选宿主机确定为目标宿主机。
59.需要说明的是,若不存在剩余硬件资源大于总硬件资源的候选宿主机时,目标宿主机可以是多个,例如,两个候选宿主机的剩余硬件资源值之和大于总硬件资源,则这两个候选宿主机均为目标宿主机。
60.然后可将待迁移宿主机中的虚拟机迁移目标宿主机中,实现对待迁移宿主机的腾空。例如,假设存在宿主机a,宿主机b以及宿主机c,其中,目标宿主机为宿主机b,待迁移宿主机为宿主机a和宿主机c,则可以将宿主机a和宿主机c中的虚拟机全部迁移至宿主机b中,以将宿主机a和宿主机c转换为空闲宿主机。
61.为了避免在迁移的过程中影响正常的业务执行,可以使用热迁移的方式迁移虚拟机。可选地,在热迁移虚拟机时,可以是在目标宿主机中,创建虚拟机对应的新虚拟机,其中,该新虚拟机的配置参数和待迁移宿主机中对应的虚拟机相同,虚拟机的配置参数可以包括操作系统、cpu的数量及核心数等、内存大小、网络配置等参数。
62.例如,待迁移宿主机中存在4个虚拟机,记为虚拟机1、虚拟机2、虚拟机3以及虚拟机4,在目标宿主机中创建虚拟机1对应的虚拟机a,虚拟机1和虚拟机a的配置参数相同;创建虚拟机2对应的虚拟机b,虚拟机2和虚拟机b的配置参数相同;创建虚拟机3对应的虚拟c,虚拟机3和虚拟机c的配置参数相同;创建虚拟机4对应的虚拟机d,虚拟机4和虚拟机d的配置参数相同。
63.虚拟机状态是指虚拟机当前的运行状态,可以包括开机、关机、暂停、重启等,虚拟机状态通常存储在内存中。虚拟机数据是指虚拟机中保存的所有数据,包括操作系统、应用程序、对象数据等,虚拟机数据通常存储在磁盘文件中。
64.由此,在将虚拟机的虚拟机状态及虚拟机数据,迁移至虚拟机对应的新虚拟机上时,可以是将内存数据迁移至新虚拟机上,将磁盘数据迁移新虚拟机上。
65.若宿主机中不存在虚拟机,则也没有对应的虚拟任务在虚拟机上执行,由此,在将虚拟机状态及虚拟机数据迁移至新虚拟机中后,可从待迁移宿主机中,删除所有的虚拟机,以将待迁移宿主机转换为空闲宿主机。
66.s130、基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,所述虚拟任务为所述虚拟机执行的任务。
67.虚拟任务是虚拟机执行的任务,即宿主机可创建虚拟机,虚拟机上可执行虚拟任务。在确定出空闲宿主机后,可基于空闲宿主机上的虚拟任务,对空闲宿主机进行关机校验。
68.关机校验是指确保宿主机在关闭时,不会影响到业务需求的校验。在一些实施方式中,对空闲宿主机进行关机校验时,可以是若所述空闲宿主机满足预设关机条件,检测所
述空闲宿主机上的第一虚拟任务,所述第一虚拟任务为虚拟机正在执行的虚拟任务;若未检测到所述空闲宿主机上的所述第一虚拟任务,检测所述空闲宿主机上的第二虚拟任务,所述第二虚拟任务为虚拟机在预设历史时间段内,未完成的虚拟任务;若未检测到所述空闲宿主机上的所述第二虚拟任务,确定所述空闲宿主机通过所述关机校验。
69.预设关机条件可以是指预先设置的开关机策略中的关机策略,空闲宿主机满足预设关机条件时,可认为空闲宿主机是关机策略中允许被关机的宿主机。
70.其中,该开关机策略中还可以包括多种其他不同的策略,例如,可参阅图1d,示出了根据开关机策略控制宿主机的示意图,其中,开关机策略可以包括主力园区策略、非主力园区策略、定时策略等,其他策略等。其中,主力园区策略和非主力园区策略可以是基于宿主机所处于的地理位置来设置的策略,基于这些策略,功耗调节系统中的调度器可对宿主机进行开机或关机。
71.在一些实施方式中,可以是获取所述空闲宿主机对应的目标类型;确定在所述空闲宿主机处于待机状态的情况下,具有所述目标类型的宿主机中,处于所述待机状态的宿主机的数量,得到第一数量;获取具有所述目标类型的所有宿主机的数量,得到第二数量;计算所述第一数量和所述第二数量的比值,得到目标类型的目标待机率;若所述目标待机率低于所述目标类型的预设待机率,检测所述空闲宿主机上的所述第一虚拟任务。
72.可选地,云计算服务中,宿主机可能分布在不同地理位置中,例如,每个园区内存在一定数量的宿主机,不同地理位置的园区其重要程度不同,即处于不同地理位置的宿主机的重要程度不同,处于相同地理位置的宿主机的重要程度相同。宿主机的地理位置可由其所属的园区决定,空闲宿主机所处于的园区则可以作为空闲宿主机的目标类型。
73.在确定出空闲宿主机对应的目标类型后,可假设空闲宿主机也处于待机状态的情况下,在具有目标类型的宿主机中,确定处于待机状态的宿主机的数量,得到第一数量。目标类型为主力园区,则在主力园区内的所有宿主机为具有目标类型的宿主机。
74.在获取第一数量时,可以确定该具有该目标类型的宿主机中,处于待机状态的宿主机的数量,然后利用该数量加1,得到第一数量。在具有目标类型的宿主机中,可检测处于待机状态的宿主机的数量,例如,处于待机状态的宿主机为6个,在该数量上加1,可得到第一数量为6+1=7。同时,可获取具有该目标类型的所有宿主机的数量,得到第二数量,也即该主力园区内所有宿主机的数量为第二数量,例如,该主力园区内共有50个宿主机,则第二数量为50。
75.然后计算第一数量和第二数量的比值,得到目标类型的目标待机率,例如,第一数量为7,第二数量为50,则目标待机率为7/50=14%。然后可比较目标待机率和目标类型对应的预设待机率;若目标待机率小于预设待机率,可认为空闲宿主机满足预设关机条件。
76.其中,针对不同的类型,可以设置有不同的预设待机率,该预设待机率是指该类型下的宿主机的最大的待机率,目标类型的目标待机率需要小于预设待机率,以确保云计算服务的稳定运行,也即,主力园区的预设待机率需要小于非主力园区的预设待机率,以维持正常的业务需求。
77.作为一种实施方式,可建立类型和最大待机率之间的映射关系,在获取到目标类型后,可将该映射关系中,和目标类型对应的最大待机率作为目标类型的预设待机率。
78.若目标待机率小于预设待机率,表明目标类型下还可以继续关闭宿主机,从而可
以确定空闲宿主机满足预设关机条件。例如,当前目标待机率为12%,目标类型的预设待机率为15%,可认为空闲宿主机可被关闭。
79.目标类型是指空闲宿主机所属于的类型,该类型可以是基于宿主机所处于的物理位置决定,不同物理位置处的宿主机的目标类型不同。
80.其中,在假设空闲宿主机处于待机状态时,统计得到第一数量,并基于该第一数量计算目标待机率,可更加准确地判断空闲宿主机是否满足预设关机条件,且利于云计算服务的稳定运行。
81.例如,假设目标类型的宿主机中,处于待机状态的宿主机为6个,第二数量为50,而预设待机率为13%。若不假设空闲宿主机处于待机状态,此时计算得到的目标待机率为12%,小于预设待机率,则会被判定空闲宿主机满足预设关机条件,从而后续可对空闲宿主机进行关闭,但是,在空闲宿主机也被待机后,目标待机率变为14%,已经超出了预设待机率,难以维持云计算服务的稳定运行。由此,假设空闲宿主机处于待机状态时,统计得到第一数量,并以此计算目标待机率,可确保待机空闲宿主机后不会超出预设待机率,确保云计算服务的稳定运行。
82.在一些实施方式中,预设关机条件可以包括多个不同的关机策略,若空闲宿主机在每个关机策略中均是被允许关机的宿主机,则可以认为空闲宿主机满足预设关机条件。预设关机条件中的关机策略可以根据实际的需要进行设置,在此不做具体限定。
83.例如,关机策略还可以是定时策略,即在指定时刻对宿主机进行关机,定时策略中可存在一定时列表,该定时列表中存放需要定时关机的宿主机的设备标识,该设备标识可唯一指代某个宿主机。由此,可获取空闲宿主机对应的目标设备标识,若该目标设备标识不在所述定时列表中,可认为空闲宿主机并非是需要定时关机的宿主机,则该空闲宿主机是被允许关机的宿主机。
84.若所述空闲宿主机满足预设关机条件,可检测空闲宿主机上的第一虚拟任务,即检测空闲宿主机创建的虚拟机上是否有正在执行的虚拟任务;若有正在执行的虚拟任务,则检测到空闲宿主机上的第一虚拟任务;若没有正在执行的虚拟任务,则未检测到空闲宿主机上的第一虚拟任务。若未检测到空闲宿主机上第一虚拟任务,可继续检测空闲宿主机上的第二虚拟任务,其中,第二虚拟任务是指虚拟机在预设历史时间段内,未完成的虚拟任务。预设历史时间段可根据实际的需要进行设置,例如,当前时间之前的30天内,当前时间之前的10天内等。
85.也即检测空闲宿主机创建的虚拟机上,是否有在预设历史时间段内未完成的虚拟任务;若有在预设历史时间段内未完成的虚拟任务,则检测到空闲宿主机上的第二虚拟任务;若没有预设历史时间段内未完成的虚拟任务,则未检测到空闲宿主机上的第二虚任务。
86.若未检测到空闲宿主机上的第二虚拟任务,即可确定待机该空闲宿主机不会影响虚拟任务的正常执行,则可以确定空闲宿主机通过关机校验。
87.s140、若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机。
88.若空闲宿主机通过关机校验,可以继续为空闲宿主机添加预设标记,以得到待处理宿主机,其中,待处理宿主机停止继续创建虚拟机。
89.其中,预设标记是为宿主机添加的一种标识,该预设标记具有其对应的含义,例如,预设标记可以用于表征宿主机处于停止新建虚拟机的状态。也即,当宿主机被添加预设标记后,可被称为待处理宿主机,则该待处理宿主机维持已经创建的虚拟机,停止新建虚拟机。例如,某个宿主机已经创建10个虚拟机,被添加预设标记后,则不会再继续新建虚拟机,仅维持已创建的10个虚拟机即可。
90.在一些实施方式中,可以是若所述空闲宿主机通过所述关机校验,调用预设关机接口,检测所述空闲宿主机上的第一虚拟任务,所述第一虚拟任务为虚拟机正在执行的虚拟任务;若所述空闲宿主机上不存在所述第一虚拟任务,为所述空闲宿主机添加预设标记,得到待处理宿主机;若成功调用所述预设关机接口,将所述空闲宿主机的关机操作记录更新为第一状态,所述第一状态表征所述待处理宿主机正在进入所述待机状态。
91.为空闲宿主机添加预设标记时,可以是通过调用预设关机接口,以为空闲宿主机添加预设标记。也即,为空闲宿主机添加预设标记是通过调用预设关机接口所实现的。
92.可选地,为了避免在调用预设关机接口的过程中,有虚拟任务分配给空闲宿主机上的虚拟执行,在预设关机接口调用成功后,可执行封装在预设关机接口内的功能。例如可检测空闲宿主机上的第一虚拟任务;若未检测到第一虚拟任务,可认为空闲宿主机仍然是可被关闭的,则可以为空闲的宿主机添加预设标记,得到待处理宿主机。
93.其中,若成功调用预设关机接口,通常可以获取到预设关机接口的对应的接口返回,该接口返回可以是状态码,用于表示接口调用的状态,例如200表示成功,400表示内部错误等。若接口到的接口返回指示成功调用预设关机接口,可以对空闲宿主机的关机操作记录进行更新。
94.其中,空闲宿主机的关机操作记录中包括空闲宿主机关闭的相关信息,相关信息可以包括设备关机的时间、日期,关机原因,以及可能的错误代码或警告信息等,该关机操作记录和宿主机一一对应,可在进行关机校验前就获取到。
95.作为一种实施方式,关机操作记录可以和设备标识关联存储,在获取空闲宿主机的关机操作记录时,可以是先获取空闲宿主机的设备标识,基于该设备标识查找关机操作记录。
96.待处理宿主机是对空闲宿主机添加预设标记后的宿主机,也即空闲宿主机和待处理宿主机指示的是相同的宿主机。调用预设关机接口不仅可实现添加预设标记,还可以对宿主机进行待机控制,由此,若预设关机接口调用成功,表明对待处理宿主机的待机操作已经在处理中了。可选地,在对空闲宿主机的关机操作记录进行更新时,可以是将关机操作记录更新为第一状态。其中,第一状态表征待处理宿主机正在进入待机状态,例如,该第一状态可以是处理中。
97.s150、控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。
98.前述通过调用预设关机接口,为空闲宿主机添加预设标记后,可以继续执行预设关机接口中的功能,例如,控制待处理宿主机从工作状态转换为待机状态。其中,待机状态是指仅保持最小供电单元运行的状态,相比于工作状态下,可以降低待处理宿主机的功耗。
99.在一些实施方式中,控制所述待处理宿主机从工作状态转换为待机状态时,可以是若所述待处理宿主机上不存在所述第一虚拟任务,屏蔽所述待处理宿主机的关机告警信
息;基于所述待处理宿主机对应的指定关机接口,对所述待处理宿主机进行待机处理,以控制所述待处理宿主机从工作状态转换为待机状态。
100.为了保证在为空闲宿主机添加预设标记的过程中,没有虚拟任务分配给空闲宿主机上的虚拟机执行,可以继续检测待处理宿主机上的第一虚拟任务。若待处理宿主机上不存在第一虚拟任务,可认为待处理宿主机仍然是可被关机的。
101.关机告警信息是指宿主机在由于特定事件或异常状况导致关机时,向用户发出的警示信息或提示信息。由于此时对待处理宿主机进行关机是一种正常的操作,为了避免关机告警信息打扰用户,可直接屏蔽待处理宿主机的关机告警信息。即此时对待处理机宿主机进行关机,不会触发对应的关机告警信息。
102.然后可调用指定关机接口,对待处理宿主机进行待机处理,以控制待处理宿主机从工作状态转换为待机状态。其中,指定关机接口和宿主机一一对应,即一个宿主机对应一个指定关机接口,该指定关机接口是指用于关闭宿主机提供的接口,调用待处理宿主机对应的指定关机接口,则可对待处理宿主机进行待机处理。
103.需要说明的是,从调用预设关机接口成功到待处理宿主机进入待机状态,需要一定的时间,为了加速处理效率,在将空闲宿主机的关机操作记录更新为第一状态后,还可以异步获取待处理宿主机是否成功待机,以便在待处理宿主机成功待机后,可以进行关机操作记录的状态更新以及同步待处理宿主机的待机状态。
104.可选地,可以是异步获取所述关机操作记录为所述第一状态的待处理宿主机的主机信息;基于所述待处理宿主机的主机信息,调用预设查询接口获取所述预设关机接口的状态,所述预设关机接口的状态表征对所述待处理宿主机进行待机处理的结果;若所述预设关机接口的状态表征成功对所述待处理宿主机进行所述待机处理,将所述待处理宿主机在虚拟机生产系统中的状态更改为下线状态;将所述待处理宿主机的关机操作记录更新为第二状态,所述第二状态表征所述待处理宿主机已经处于所述待机状态。
105.主机信息是指唯一指代待处理宿主机的信息,例如,可以是设备标识,预设查询接口是指查询预设关机接口的状态的接口。
106.调用预设关机接口,可为空闲宿主机添加预设标记,得到待处理宿主机,并对待处理宿主机进行待机处理,其中,若对待处理宿主机进行待机处理完毕,预设关机接口可收到对应的接口返回,该预设关机接口的接口返回也即预设关机接口的状态。预设关机接口的状态可以表征对待处理宿主机进行待机处理的结果。
107.由于待机处理通常需要一定的时间,为了避免阻塞,可以基于待处理宿主机的主机信息,异步获取预设关机接口的状态,并基于该预设关机接口的状态,对待处理宿主机的状态进行更新。例如,可以是异步获取关机操作记录为第一状态的待处理宿主机对应的主机信息,并基于该主机信息作为预设查询接口的参数,获取调用预设关机接口对该主机信息指示的宿主机进行待机处理的结果。若查询到的预设关机接口的状态表征成功对待处理宿主机进行待机处理,可以将待处理宿主机在虚拟机生产系统中的状态更改为下线状态。也即,虚拟机生产系统不会再利用该待处理宿主机创建虚拟机。
108.并且,还可以将待处理宿主机的关机操作记录更新为第二状态,其中,第二状态表征待处理宿主机已经处于待机状态,例如,第二状态可以是成功,此时整个关机流程结束。
109.控制宿主机进入待机状态后,可在业务的低峰期大量节省功耗,随着业务需求的
变化,在业务高峰期时,为了适应业务变化需求,也需要再次唤醒进入待机状态的宿主机。由此,在一些实施方式中,若所述数量小于所述预设数量,从处于所述待机状态下的待处理宿主机中,确定待开机宿主机;调用预设开机接口,对所述待开机宿主机进行开机处理,得到待检查宿主机;若所述待检查宿主机通过健康检测,确定所述待检查宿主机从所述待机状态转换为工作状态;将所述待检查宿主机上的预设标记更改为指定标记,得到待使用宿主机,所述待使用宿主机继续创建虚拟机。
110.若多个虚拟机中未被使用的虚拟机的数量小于预设数量,表明当前提供的虚拟机数量过少,可能无法满足业务的需求,由此可以从处于待机状态下的待处理宿主机中,确定待开机宿主机。
111.其中,待开机宿主机是指需要从待机状态转换为工作状态的待处理宿主机。作为一种实施方式,在确定待处理宿主机时,可以是随机选择一定数量的待处理宿主机。
112.作为一种实施方式,还可以是获取每个待处理宿主机创建虚拟机的最大数量,基于该最大数量对处于待机状态的待处理宿主机进行排序,例如,以最大数量从大到小的顺序排序,然后将排序靠前的前n个待处理宿主机作为待开机宿主机。其中,n用于表示需要选取的待处理宿主机的数量,可根据实际的需要进行设置,在此不做具体限定。
113.然后可调用预设开机接口,对待开机宿主机进行开机处理,以得到待检查宿主机。也即,调用预设开机接口,可控制对待开机宿主机进行加电开机,得到待检查宿主机。
114.然后可继续对待检查宿主机进行健康检测,其中,健康检测可用于检测待开机宿主机能否正常工作。该健康检测通常可以包括:硬件检测、操作系统检测、应用程序检测、安全漏洞检测以及网络连接检测等,若待开机宿主机通过健康检测内的所有检测,可认为待检查宿主机通过健康检测。
115.则可以确定待检查宿主机从待机状态转换为工作状态,然后为了确保待检查宿主机可以正常创建虚拟机,以便执行业务对应的虚拟任务,可以将待检查宿主机上的预设标记更改为指定标记,得到待使用宿主机。也即,具有指定标记的宿主机可以继续创建虚拟机。
116.其中,指定标记是不同于预设标记的标记,该指定标记也可根据实际的需要进行设置,在此不做具体限定。
117.在一些实施方式中,调用预设开机接口对待开机宿主机进行开机处理时,若成功调用该预设开机接口,可将待开机宿主机的开机操作记录更新为第三状态,其中,第三状态可用于表征待开机宿主机正在进入工作状态,例如,第三状态可以是处理中。
118.其中,待开机宿主机的开机操作记录中包括待开机宿主机开机的相关信息,相关信息可以包括设备开机的时间、日期,以及可能的错误代码或警告信息等,该开机操作记录和宿主机一一对应,可在调用预设开机接口前就获取到。
119.调用预设开机接口对待开机宿主机进行开机处理,在整个开机处理流程执行完毕后,预设开机接口可收到对应的接口返回,该预设开机接口的返回也即预设开机的状态,该预设开机接口的状态可用于表征对待开机宿主机进行开机处理的结果。
120.由于开机处理通常需要一定的时间,为了避免阻塞,可以基于待开机宿主机的主机信息,异步获取预设开机接口的状态,并基于该预设开机接口的状态,对待开机宿主机的状态进行更新。例如,可以是异步获取开机操作记录为第三状态的待开机宿主机对应的主
机信息,并基于该主机信息作为预设查询接口的参数,获取调用预设开机接口对该主机信息指示的宿主机进行开机处理的结果。若查询到的预设开机接口的状态表征成功对待开机宿主机进行开机处理,可以将待开机宿主机在虚拟机生产系统中的状态更改为上线状态。也即,虚拟机生产系统可以利用该待开机宿主机创建虚拟机。
121.并且,还可以将待开机宿主机的关机操作记录更新为第四状态,其中,第四状态表征待开机宿主机已经处于待机状态,例如,该第四状态可以是成功。
122.为了更加清楚地说明上述功耗调节方法,可参阅图1e,示出了功耗调节方法的整体框架图。其中,功耗调节系统可以通过资源比较,即比较数量和预设数量,确定关闭空闲宿主机或开启部分宿主机。
123.在数量大于预设数量时,若不存在空闲宿主机,可以触发腾空任务,即可以确定出待迁移宿主机,即宿主机a和宿主机c。并确定出目标宿主机,即宿主机b。在宿主机b中创建新虚拟机,并将宿主机a和宿主机c中的虚拟机进行热迁移至新虚拟机,以便将宿主机a和宿主机c转换为空闲宿主机。
124.宿主机集群中的宿主机可划分为资源调度宿主机池和弹性资源空宿主机池,其中,资源调度宿主机池中的宿主机可创建虚拟机,提供计算资源,弹性资源空宿主机池中的宿主机不再创建虚拟机。再将宿主机a和宿主机c从资源调度宿主机池中转移至弹性资源空宿主机池,也即对宿主机a和宿主机c添加预设标记。
125.若数量小于预设数量,则需要开机部分空闲宿主机,例如宿主机d需要开机,可直接将其从弹性资源空宿主机池转移至资源调度宿主机池,也即将宿主机d的预设标记更新为指定标记,也即宿主机d可继续创建虚拟机。以此实现在资源过剩时,待机部分宿主机,以节省功耗,在资源不足时,开机部分宿主机,以维持正常的业务需求。
126.本技术实施例提供的功耗调节方案可以应用在各种云计算服务场景中。比如,以利用多个宿主机搭建的云服务器平台为例,云计算服务在不同时间的业务需求不同,导致云计算服务所需要提供的计算资源不同。采用本技术实施例提供的方案能够智能检测云服务平台提供的计算资源,在提供的计算资源过多时,适当待机空闲的宿主机,以便节省整个云服务平台的功耗。
127.通过本技术实施例提供的方法可以在未被使用的虚拟机的数量大于预设数量时,即资源过剩时,确定空闲宿主机;基于空闲宿主机上的虚拟任务,对空闲宿主机进行关机校验;若空闲宿主机通过关机校验,为空闲宿主机添加预设标记,得到待处理宿主机;控制待处理宿主机从工作状态转换为待机状态,由于待机状态下的宿主机仅保持最小供电单元的运行,从而可在资源过剩时,自动待机部分空闲宿主机,以节省功耗,整个过程全自动执行,快捷高效。并且,宿主机在待机状态下时,最小供电单元可维持远程快速开机接口访问,可快速开电,迅速响应业务需求。
128.根据上述实施例所描述的方法,以下将作进一步详细说明。
129.在本实施例中,将以对实例族中的宿主机的功耗进行调节为例,对本技术实施例的方法进行详细说明。
130.如图2a所示,一种功耗调节方法具体流程如下:s210、获取实例族中未被使用的虚拟机对应的数量,所述实例族中的多个虚拟机由多个宿主机创建。
131.s220、若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机。
132.s230、基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验。
133.s240、若所述空闲宿主机通过所述关机校验,调用预设关机接口对所述空闲宿主机进行待机处理,以便所述空闲宿主机进入待机状态。
134.s250、若所述数量小于预设数量,从处于待机状态中的宿主机中确定待开机宿主机。
135.s260、调用预设开机接口对待开机宿主机进行开机处理,以便所述待开机宿主机进入工作状态。
136.上述s210至s260可参照前述实施例对应的描述,在此不再赘述,需要说明的是,实例族中可包括个多个虚拟机,这多个虚拟机由多个宿主机创建。为了更加详细地说明上述待机流程,可参阅图2b,示出了控制宿主机待机的流程示意图。首先,可以先获取到空闲宿主机的关机操作记录,然后对空闲宿主机进行关机校验,在通过关机校验后调用预设关机接口,也即图中的运维关机接口对空闲宿主机进行关机。
137.其中,关机校验可包括策略判断,即判断是否满足预设关机条件;若满足,则继续判断是否存在第一虚拟任务;若不存在第一虚拟任务;则继续判断是否存在第二虚拟任务;若不存在第二虚拟任务,可认为通过关机校验。
138.调用预设关机接口可实现以下步骤:判断是否存在第一虚拟任务;若不存在,则拉黑空闲宿主机,即为空闲宿主机添加预设标记;再次判断是否存在第一虚拟任务;若不存在,屏蔽关机告警信息,调用空闲宿主机对应的指定关机接口进行待机处理,确定待机成功时,将处理结果返回给预设关机接口。多次判断是否存在第一虚拟任务,可确保待机宿主机不会影响到正常业务。
139.继续接收预设关机接口的接口返回,以确定调用预设关机接口是否成功,若调用成功,可直接将关机操作记录更新为第一状态,即处理中;若调用失败,可直接更新关机操作记录为失败,直接结束。在将关机操作记录更新为处理中后,可异步调用预设查询接口,即图中运维查询接口,轮询处理中的关机操作记录,并以此获取正在进入待机状态的空闲宿主机的主机信息,利用该主机信息查询预设关机接口的状态,即当预设关机接口的状态指示待机处理成功时,可调用虚拟机生产系统中的接口,将该宿主机的状态更新为下线,再将关机操作记录更新为第二状态,即成功,然后结束。若预设关机接口的状态指示待机处理失败,则直接结束。
140.由于宿主机在进入待机状态后,仅保持最小供电单元的运行,由此,宿主机在待机状态下所消耗的功耗更少,可有效节省功耗,提升电力利用效率。类似地,若数量小于预设数量,则需要开启部分已经待机的宿主机,以满足业务需求。为了更加详细地说明上述开机流程,可参阅图2c,示出了控制宿主机开机的流程示意图。首先,可以获取到待开机宿主机的开机操作记录,然后调用预设开机接口,即图中的运维开机接口,对待开机宿主机进行开机。
141.调用预设开机接口,可实现以下步骤:对待开机宿主机进行加电开机,然后对宿主机进行健康检测;若待开机宿主机通过健康检测,可以认为开机成功,然后可解除对关机告警信息的屏蔽,然后继续解黑待开机宿主机,也即将待开机宿主机的预设标记更改为指定标记,以便待开机宿主机可以正常生产虚拟机,并向虚拟机生产系统同步该待处理宿主机
的状态,从而可确定待开机宿主机从待机状态转换为工作状态,以正常参与业务计算。
142.其中,调用预设开机接口后,可接收到预设开机接口的接口返回,基于该接口返回可确定调用预设开机接口是否成功,若调用成功,可直接将开机操作记录更新为第三状态,即处理中;若调用失败,可直接将开机操作记录更新为失败,直接结束。
143.在将开机操作记录更新为处理中后,可异步调用预设查询接口,即图中运维查询接口,轮询处理中的开机操作记录,并以此获取正在进入工作状态的待开机宿主机的主机信息,利用该主机信息查询预设开机接口的状态,即当预设开机接口的状态指示开机处理成功时,可调用虚拟机生产系统中的接口,将该宿主机的状态更新为上线,再将开机操作记录更新为第四状态,即成功,然后结束。若预设开机接口的状态指示待机处理失败,则直接结束。
144.整个过程全自动处理,响应速度快,效率高,可及时进行待机,由于宿主机在待机时,可维持最小供电单元的运行,不仅可节省功耗,还可维持远程快速开电接口访问,从而可实现快速开机,以及时响应业务需求。可参阅图2d,示出了各个机型平均节省功耗收益图,其中,以时间为横轴,功耗节省量为纵轴,机型1为新代次的机型,机型2、机型3以及机型4均为旧代次的机型,新代次的机型是指最新一代发布的机型,旧代次的机型是指已经存在一段时间的机型,由图可知,新代次的机型的单台设备功耗节省500w左右,旧代次的机型的单台设备功耗节省300w左右,规模越大收益也越大,为云计算的健康持续发展提供了坚实的技术基础。
145.由上可知,本技术实施例提供的功耗调节方法,可智能比较数量和预设数量;若数量大于预设数量,全程自动确定部分宿主机进行待机,以节省功耗,效率高;若数量小于预设数量,可快速对部分宿主机进行开机,以及时响应业务需求,既可及时调度资源,满足业务需求也可有效降低云服务平台的功耗。
146.为了更好地实施以上方法,本技术实施例还提供一种功耗调节装置,该功耗调节装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。
147.其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
148.比如,在本实施例中,将以功耗调节装置具体集成在服务器为例,对本技术实施例的方法进行详细说明。
149.例如,如图3所示,该功耗调节装置300可以包括获取模块310、确定模块320、校验模块330、标记模块340以及调节模块350,如下:获取模块310,用于获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建;确定模块320,用于若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机;校验模块330,用于基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关
机校验,所述虚拟任务为所述虚拟机执行的任务;标记模块340,用于若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,其中,所述待处理宿主机停止新建所述虚拟机;调节模块350,用于控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。
150.在一些实施例中,校验模块330还包括:第一检测单元,用于若所述空闲宿主机满足预设关机条件,检测所述空闲宿主机上的第一虚拟任务,所述第一虚拟任务为虚拟机正在执行的虚拟任务;第二检测单元,用于若未检测到所述空闲宿主机上的所述第一虚拟任务,检测所述空闲宿主机上的第二虚拟任务,所述第二虚拟任务为虚拟机在预设历史时间段内,未完成的虚拟任务;校验单元,用于若未检测到所述空闲宿主机上的所述第二虚拟任务,确定所述空闲宿主机通过所述关机校验。
151.在一些实施例中,第一检测单元还用于:获取所述空闲宿主机对应的目标类型;确定在所述空闲宿主机处于待机状态的情况下,具有所述目标类型的宿主机中,处于所述待机状态的宿主机的数量,得到第一数量;获取具有所述目标类型的所有宿主机的数量,得到第二数量;计算所述第一数量和所述第二数量的比值,得到目标类型的目标待机率;若所述目标待机率低于所述目标类型的预设待机率,检测所述空闲宿主机上的所述第一虚拟任务。
152.在一些实施例中,标记模块340还包括:检测调用单元,用于若所述空闲宿主机通过所述关机校验,调用预设关机接口,检测所述空闲宿主机上的第一虚拟任务,所述第一虚拟任务为虚拟机正在执行的虚拟任务;标记单元,用于若所述空闲宿主机上不存在所述第一虚拟任务,为所述空闲宿主机添加预设标记,得到待处理宿主机;更新单元,用于若成功调用所述预设关机接口,将所述空闲宿主机的关机操作记录更新为第一状态,所述第一状态表征所述待处理宿主机正在进入所述待机状态。
153.在一些实施例中,调节模块350还包括:屏蔽单元,用于若所述待处理宿主机上不存在所述第一虚拟任务,屏蔽所述待处理宿主机的关机告警信息;待机单元,用于基于指定关机接口,对所述待处理宿主机进行待机处理,以控制所述待处理宿主机从工作状态转换为待机状态。
154.在一些实施例中,功耗调节模块还包括状态模块,若成功调用所述预设关机接口,将所述空闲宿主机的关机操作记录更新为第一状态之后,状态模块还用于:异步获取所述关机操作记录为所述第一状态的待处理宿主机的主机信息;基于所述待处理宿主机的主机信息,调用预设查询接口获取所述预设关机接口的状态,所述预设关机接口的状态表征对所述待处理宿主机进行待机处理的结果;若所述预设关机接口的状态表征成功对所述待处理宿主机进行所述待机处理,将
所述待处理宿主机在虚拟机生产系统中的状态更改为下线状态;将所述待处理宿主机的关机操作记录更新为第二状态,所述第二状态表征所述待处理宿主机已经处于所述待机状态。
155.在一些实施例中,确定模块320还包括:空闲确定单元,用于将不存在第一虚拟任务的所述宿主机,确定为空闲宿主机,所述第一虚拟任务为虚拟机正在执行的虚拟任务;待迁移确定单元,用于若所有所述宿主机上均存在所述第一虚拟任务,根据所述宿主机已创建的虚拟机的数量,从宿主机中确定待迁移宿主机,所述待迁移宿主机已创建的虚拟机的数量满足预设条件;迁移单元,用于迁移所述待迁移宿主机创建的所述虚拟机,以将所述待迁移宿主机转换为所述空闲宿主机。
156.在一些实施例中,待迁移确定单元还用于:针对每个宿主机,获取所述宿主机已创建的虚拟机的数量,以及所述宿主机创建所述虚拟机的最大数量;计算所述已创建的虚拟机的数量和所述最大数量的比值,得到所述宿主机的虚拟化率;将所述虚拟化率小于预设虚拟化率的宿主机,确定为待迁移宿主机。
157.在一些实施例中,迁移单元还用于:根据所述待迁移宿主机中的虚拟机,从除所述待迁移宿主机之外的其他宿主机中,确定目标宿主机;在所述目标宿主机中,创建所述虚拟机对应的新虚拟机;将所述虚拟机的虚拟机状态及虚拟机数据,迁移至所述虚拟机对应的所述新虚拟机中;从所述待迁移宿主机中删除所述虚拟机,以将所述待迁移宿主机转换为所述空闲宿主机。
158.在一些实施例中,功耗调节装置300还包括开机模块,开机模块用于:若所述数量小于所述预设数量,从处于所述待机状态下的待处理宿主机中,确定待开机宿主机;调用预设开机接口,对所述待开机宿主机进行开机处理,得到待检查宿主机;若所述待检查宿主机通过健康检测,确定所述待检查宿主机从所述待机状态转换为工作状态;为所述待检查宿主机上的预设标记更改为指定标记,得到待使用宿主机,所述待使用宿主机继续创建虚拟机。
159.在一些实施例中,开机模块还用于:若成功调用所述预设开机接口,将所述待开机宿主机的开机操作记录更新为第三状态,所述第三状态表征所述待开机宿主机正在进入工作状态;基于所述待开机宿主机的主机信息,异步获取所述预设开机接口的状态,所述预设开机接口的状态表征对所述待开机宿主机进行开机处理的结果;若所述预设开机接口的状态表征所述开机处理成功,将所述待开机宿主机在虚拟
机生产系统中的状态更改为上线状态;将所述待开机宿主机的开机操作记录更新为第四状态,所述第四状态表征所述的待开机宿主机已经处于所述工作状态。
160.具体实施时,以上各个模块或单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块或单元的具体实施可参见前面的方法实施例,在此不再赘述。
161.由上可知,本实施例的功耗调节装置在未被使用的虚拟机的数量大于预设数量时,即资源过剩时,确定空闲宿主机;基于空闲宿主机上的虚拟任务,对空闲宿主机进行关机校验;若空闲宿主机通过关机校验,为空闲宿主机添加预设标记,得到待处理宿主机;控制待处理宿主机从工作状态转换为待机状态,由于待机状态下的宿主机仅保持最小供电单元的运行,从而可在资源过剩时,自动待机部分空闲宿主机,以节省功耗。
162.本技术实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。
163.其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
164.在一些实施例中,该功耗调节装置还可以集成在多个电子设备中,比如,功耗调节装置可以集成在多个服务器中,由多个服务器来实现本技术的功耗调节方法。
165.在本实施例中,将以本实施例的电子设备是服务器为例进行详细描述,比如,如图4所示,其示出了本技术实施例所涉及的电子设备的结构示意图,具体来讲:该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403、输入模块404以及通信模块405等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监测。在一些实施例中,处理器401可包括一个或多个处理核心;在一些实施例中,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
166.存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包
括存储器控制器,以提供处理器401对存储器402的访问。
167.电子设备还包括给各个部件供电的电源403,在一些实施例中,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态表征器等任意组件。
168.该电子设备还可包括输入模块404,该输入模块404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
169.该电子设备还可包括通信模块405,在一些实施例中通信模块405可以包括无线模块,电子设备可以通过该通信模块405的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块405可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
170.尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建;若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机;基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,所述虚拟任务为所述虚拟机执行的任务;若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,其中,所述待处理宿主机停止新建所述虚拟机;控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。
171.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
172.由上可知,本技术实施例可以在未被使用的虚拟机的数量大于预设数量时,即资源过剩时,确定空闲宿主机;基于空闲宿主机上的虚拟任务,对空闲宿主机进行关机校验;若空闲宿主机通过关机校验,为空闲宿主机添加预设标记,得到待处理宿主机;控制待处理宿主机从工作状态转换为待机状态,由于待机状态下的宿主机仅保持最小供电单元的运行,从而可在资源过剩时,自动待机部分空闲宿主机,以节省功耗。
173.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
174.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术实施例所提供的任一种功耗调节方法中的步骤。例如,该指令可以执行如下步骤:获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建;
若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机;基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,所述虚拟任务为所述虚拟机执行的任务;若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,其中,所述待处理宿主机停止新建所述虚拟机;控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。
175.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
176.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提供的功耗调节方面的各种可选实现方式中提供的方法。
177.由于该存储介质中所存储的指令,可以执行本技术实施例所提供的任一种功耗调节方法中的步骤,因此,可以实现本技术实施例所提供的任一种功耗调节方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
178.以上对本技术实施例所提供的一种功耗调节方法、装置、电子设备、存储介质及程序产品进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种功耗调节方法,其特征在于,所述方法包括:获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建;若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机;基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,所述虚拟任务为所述虚拟机执行的任务;若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,其中,所述待处理宿主机停止新建所述虚拟机;控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。2.根据权利要求1所述的方法,其特征在于,所述基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,包括:若所述空闲宿主机满足预设关机条件,检测所述空闲宿主机上的第一虚拟任务,所述第一虚拟任务为虚拟机正在执行的虚拟任务;若未检测到所述空闲宿主机上的所述第一虚拟任务,检测所述空闲宿主机上的第二虚拟任务,所述第二虚拟任务为虚拟机在预设历史时间段内,未完成的虚拟任务;若未检测到所述空闲宿主机上的所述第二虚拟任务,确定所述空闲宿主机通过所述关机校验。3.根据权利要求2所述的方法,其特征在于,若所述空闲宿主机满足预设关机条件,检测所述空闲宿主机上的第一虚拟任务,包括:获取所述空闲宿主机对应的目标类型;确定在所述空闲宿主机处于待机状态的情况下,具有所述目标类型的宿主机中,处于所述待机状态的宿主机的数量,得到第一数量;获取具有所述目标类型的所有宿主机的数量,得到第二数量;计算所述第一数量和所述第二数量的比值,得到目标类型的目标待机率;若所述目标待机率低于所述目标类型的预设待机率,检测所述空闲宿主机上的所述第一虚拟任务。4.根据权利要求1所述的方法,其特征在于,若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,包括:若所述空闲宿主机通过所述关机校验,调用预设关机接口,检测所述空闲宿主机上的第一虚拟任务,所述第一虚拟任务为虚拟机正在执行的虚拟任务;若所述空闲宿主机上不存在所述第一虚拟任务,为所述空闲宿主机添加预设标记,得到待处理宿主机;若成功调用所述预设关机接口,将所述空闲宿主机的关机操作记录更新为第一状态,所述第一状态表征所述待处理宿主机正在进入所述待机状态。5.根据权利要求4所述的方法,其特征在于,所述控制所述待处理宿主机,从工作状态转换为待机状态,包括:若所述待处理宿主机上不存在所述第一虚拟任务,屏蔽所述待处理宿主机的关机告警信息;
基于指定关机接口,对所述待处理宿主机进行待机处理,以控制所述待处理宿主机从工作状态转换为待机状态。6.根据权利要求5所述的方法,其特征在于,所述若成功调用所述预设关机接口,将所述空闲宿主机的关机操作记录更新为第一状态之后,还包括:异步获取所述关机操作记录为所述第一状态的待处理宿主机的主机信息;基于所述待处理宿主机的主机信息,调用预设查询接口获取所述预设关机接口的状态,所述预设关机接口的状态表征对所述待处理宿主机进行待机处理的结果;若所述预设关机接口的状态表征成功对所述待处理宿主机进行所述待机处理,将所述待处理宿主机在虚拟机生产系统中的状态更改为下线状态;将所述待处理宿主机的关机操作记录更新为第二状态,所述第二状态表征所述待处理宿主机已经处于所述待机状态。7.根据权利要求1所述的方法,其特征在于,所述若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机,包括:将不存在第一虚拟任务的所述宿主机,确定为空闲宿主机,所述第一虚拟任务为虚拟机正在执行的虚拟任务;若所有所述宿主机上均存在所述第一虚拟任务,根据所述宿主机已创建的虚拟机的数量,从宿主机中确定待迁移宿主机,所述待迁移宿主机已创建的虚拟机的数量满足预设条件;迁移所述待迁移宿主机创建的所述虚拟机,以将所述待迁移宿主机转换为所述空闲宿主机。8.根据权利要求7所述的方法,其特征在于,所述根据所述宿主机已创建的虚拟机的数量,从宿主机中确定待迁移宿主机,包括:针对每个宿主机,获取所述宿主机已创建的虚拟机的数量,以及所述宿主机创建所述虚拟机的最大数量;计算所述已创建的虚拟机的数量和所述最大数量的比值,得到所述宿主机的虚拟化率;将所述虚拟化率小于预设虚拟化率的宿主机,确定为待迁移宿主机。9.根据权利要求7所述的方法,其特征在于,所述迁移所述待迁移宿主机中的所述虚拟机,以将所述待迁移宿主机转换为所述空闲宿主机,包括:根据所述待迁移宿主机中的虚拟机,从除所述待迁移宿主机之外的其他宿主机中,确定目标宿主机;在所述目标宿主机中,创建所述虚拟机对应的新虚拟机;将所述虚拟机的虚拟机状态及虚拟机数据,迁移至所述虚拟机对应的所述新虚拟机中;从所述待迁移宿主机中删除所述虚拟机,以将所述待迁移宿主机转换为所述空闲宿主机。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述数量小于所述预设数量,从处于所述待机状态下的待处理宿主机中,确定待开机宿主机;
调用预设开机接口,对所述待开机宿主机进行开机处理,得到待检查宿主机;若所述待检查宿主机通过健康检测,确定所述待检查宿主机从所述待机状态转换为工作状态;为所述待检查宿主机上的预设标记更改为指定标记,得到待使用宿主机,所述待使用宿主机继续创建虚拟机。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:若成功调用所述预设开机接口,将所述待开机宿主机的开机操作记录更新为第三状态,所述第三状态表征所述待开机宿主机正在进入工作状态;基于所述待开机宿主机的主机信息,异步获取所述预设开机接口的状态,所述预设开机接口的状态表征对所述待开机宿主机进行开机处理的结果;若所述预设开机接口的状态表征所述开机处理成功,将所述待开机宿主机在虚拟机生产系统中的状态更改为上线状态;将所述待开机宿主机的开机操作记录更新为第四状态,所述第四状态表征所述的待开机宿主机已经处于所述工作状态。12.一种功耗调节装置,其特征在于,所述装置包括:获取模块,用于获取多个虚拟机中未被使用的虚拟机对应的数量,所述多个虚拟机由多个宿主机创建;确定模块,用于若所述数量大于预设数量,从所述多个宿主机中确定空闲宿主机;校验模块,用于基于所述空闲宿主机上的虚拟任务,对所述空闲宿主机进行关机校验,所述虚拟任务为所述虚拟机执行的任务;标记模块,用于若所述空闲宿主机通过所述关机校验,为所述空闲宿主机添加预设标记,得到待处理宿主机,其中,所述待处理宿主机停止新建所述虚拟机;调节模块,用于控制所述待处理宿主机从工作状态转换为待机状态,其中,所述待机状态为仅保持最小供电单元运行的状态。13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~11任一项所述的功耗调节方法中的步骤。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~11任一项所述的功耗调节方法中的步骤。15.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1~11任一项所述的功耗调节方法中的步骤。

技术总结
本申请实施例公开了一种功耗调节方法、装置、电子设备、存储介质及程序产品;本申请实施例可以在未被使用的虚拟机对应的数量大于预设数量时,确定空闲宿主机;基于空闲宿主机上的虚拟任务,对空闲宿主机进行关机校验;若空闲宿主机通过关机校验,为空闲宿主机添加预设标记,得到待处理宿主机,其中,待处理宿主机停止新建虚拟机;控制待处理宿主机从工作状态转换为待机状态,由于待机状态下的宿主机仅保持最小供电单元的运行,从而可在资源过剩时,自动待机部分空闲宿主机,既可调度资源也可节省功耗,整个过程全自动执行,快捷高效。快捷高效。快捷高效。


技术研发人员:夏国敏 乔立勇 李德铠
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.07.25
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐