掌桥专利:专业的专利平台
掌桥专利
首页

云主机CPU频率设置方法、系统、电子设备及存储介质

文献发布时间:2023-06-19 09:24:30


云主机CPU频率设置方法、系统、电子设备及存储介质

技术领域

本申请涉及云计算技术领域,特别涉及一种云主机CPU频率设置方法、系统、一种电子设备及一种存储介质。

背景技术

随着科技的飞速发展,云计算技术在社会与科技发展中扮演者重要的角色,云计算技术是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。

云平台的物理CPU资源分配是影响云平台稳定性的关键因素,相关技术中通常根据云主机的资源需求对宿主机的物理CPU资源进行分配,但是当宿主机上的多个云主机均具有较高的物理CPU资源需求时,将会出现原户籍之间争抢物理CPU资源的情况,影响了云平台的稳定性。

因此,如何对云主机的虚拟CPU频率进行限制,提高云平台的稳定性是本领域技术人员目前需要解决的技术问题。

发明内容

本申请的目的是提供一种云主机CPU频率设置方法、系统、一种电子设备及一种存储介质,能够对云主机的虚拟CPU频率进行限制,提高云平台的稳定性。

为解决上述技术问题,本申请提供一种云主机CPU频率设置方法,该云主机CPU频率设置方法包括:

获取宿主机的物理CPU频率范围和物理CPU当前频率;

根据所述物理CPU频率范围确定云主机的虚拟CPU频率范围;

根据所述虚拟CPU频率范围设置所述云主机的虚拟CPU频率限制值,并利用所述物理CPU当前频率和所述虚拟CPU频率限制值计算时间参数;其中,所述时间参数包括单位时间内所述云主机占用所述宿主机物理CPU的时间;

通过OpenStack的API接口将所述时间参数更新至云主机XML文件,以便利用所述时间参数设置所述云主机中每一虚拟CPU的最大频率。

可选的,根据所述物理CPU频率范围确定云主机的虚拟CPU频率范围,包括:

根据所述物理CPU频率范围确定物理CPU最大频率和物理CPU最小频率;

将所述云主机的虚拟CPU个数与所述物理CPU最大频率的乘积作为所述云主机的虚拟CPU最大频率;

将所述云主机的虚拟CPU个数与所述物理CPU最小频率的乘积作为所述云主机的虚拟CPU最小频率;

根据所述虚拟CPU最大频率和所述虚拟CPU最小频率确定所述云主机的虚拟CPU频率范围。

可选的,根据所述虚拟CPU频率范围设置所述云主机的虚拟CPU频率限制值,包括:

通过所述OpenStack的API接口将所述虚拟CPU频率范围返回至参数配置界面;

接收用户在所述参数配置界面输入的目标CPU频率限制值;

判断所述目标CPU频率限制值是否在所述虚拟CPU频率范围内;

若是,则将所述目标CPU频率限制值设置为所述云主机的虚拟CPU频率限制值;

若否,则生成参数输入错误的提示信息。

可选的,利用所述物理CPU当前频率和所述虚拟CPU频率限制值计算时间参数,包括:

利用预设公式计算所述时间参数T;

其中,所述预设公式为

可选的,所述单位时间为所述宿主机的进程调度的单位时间。

可选的,在通过OpenStack的API接口将所述时间参数更新至云主机XML文件之后,还包括:

对所述云主机执行硬重启操作,以使所述时间参数生效。

可选的,还包括:

若接收到限制参数删除指令,则删除所述云主机XML文件中的时间参数;

若接收到限制参数查询指令,则通过所述OpenStack的API接口将所述云主机XML文件中的时间参数显示至参数配置界面。

本申请还提供了一种云主机CPU频率设置系统,该云主机CPU频率设置系统包括:

频率获取模块,用于获取宿主机的物理CPU频率范围和物理CPU当前频率;

频率范围设置模块,用于根据所述物理CPU频率范围确定云主机的虚拟CPU频率范围;

参数配置模块,用于根据所述虚拟CPU频率范围设置所述云主机的虚拟CPU频率限制值,并利用所述物理CPU当前频率和所述虚拟CPU频率限制值计算时间参数;其中,所述时间参数包括单位时间内所述云主机占用所述宿主机物理CPU的时间;

频率设置模块,用于通过OpenStack的API接口将所述时间参数更新至云主机XML文件,以便利用所述时间参数设置所述云主机中每一虚拟CPU的最大频率。

本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述云主机CPU频率设置方法执行的步骤。

本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述云主机CPU频率设置方法执行的步骤。

本申请提供了一种云主机CPU频率设置方法,包括获取宿主机的物理CPU频率范围和物理CPU当前频率;根据所述物理CPU频率范围确定云主机的虚拟CPU频率范围;根据所述虚拟CPU频率范围设置所述云主机的虚拟CPU频率限制值,并利用所述物理CPU当前频率和所述虚拟CPU频率限制值计算时间参数;其中,所述时间参数包括单位时间内所述云主机占用所述宿主机物理CPU的时间;通过OpenStack的API接口将所述时间参数更新至云主机XML文件,以便利用所述时间参数设置所述云主机中每一虚拟CPU的最大频率。

本申请获取宿主机的物理CPU频率范围和物理CPU当前频率之后,基于物理CPU频率确定云主机中虚拟CPU频率范围,以便用户在虚拟CPU频率范围内设置虚拟CPU频率限制值,以使云主机在工作过程中虚拟CPU频率不高于虚拟CPU频率限制值。具体的,本申请通过用物理CPU当前频率和虚拟CPU频率限制值计算时间参数,得到时间参数,时间参数包括单位时间内所述云主机占用所述宿主机物理CPU的最大时间。通过将使劲参数更新至云主机XML文件并使该时间参数生效可以设置所述云主机中每一虚拟CPU的最大频率。本申请能够通过设置云主机占用所述宿主机物理CPU的最大时间对云主机的虚拟CPU频率进行限制,提高云平台的稳定性。本申请同时还提供了一种云主机CPU频率设置系统、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种云主机CPU频率设置方法的流程图;

图2为本申请实施例所提供的一种基于OpenStack的云主机CPU频率限制方法的流程图;

图3为本申请实施例所提供的一种云主机CPU频率设置系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面请参见图1,图1为本申请实施例所提供的一种云主机CPU频率设置方法的流程图。

具体步骤可以包括:

S101:获取宿主机的物理CPU频率范围和物理CPU当前频率;

其中,本实施例可以应用于X86、ARM等架构的云平台,云平台可以基于硬件资源和软件资源的服务提供计算、网络和存储服务。云平台上可以部署有云主机,云平台可以运行于宿主机,宿主机的物理CPU为云主机的虚拟CPU(Central Processing Unit,中央处理器)分配计算资源,宿主机可以为任意数量个云主机分配计算资源。

本步骤可以通过OpenStack运行shell脚本获取宿主机的物理CPU频率范围和物理CPU当前频率。物理CPU频率范围为宿主机的物理CPU处于工作状态下的频率范围,物理CPU当前频率为宿主机的物理CPU在当前时刻下的频率值。上述提到的CPU频率,即CPU的时钟频率,是指CPU运算时的工作的频率,单位是Hz。

S102:根据物理CPU频率范围确定云主机的虚拟CPU频率范围;

其中,物理CPU频率范围可以包括物理CPU最大频率和物理CPU最小频率,虚拟CPU频率范围可以包括虚拟CPU最大频率和虚拟CPU最小频率。因此本实施例中确定云主机的虚拟CPU频率范围的过程可以包括:根据所述物理CPU频率范围确定物理CPU最大频率和物理CPU最小频率;将所述云主机的虚拟CPU个数与所述物理CPU最大频率的乘积作为所述云主机的虚拟CPU最大频率;将所述云主机的虚拟CPU个数与所述物理CPU最小频率的乘积作为所述云主机的虚拟CPU最小频率;根据所述虚拟CPU最大频率和所述虚拟CPU最小频率确定所述云主机的虚拟CPU频率范围。最终确定的虚拟CPU频率范围为虚拟CPU最大频率和虚拟CPU最小频率之间的频率区间。

进一步的,云主机中可以包括任意数量个虚拟CPU,本步骤中得到的虚拟CPU频率范围可以为云主机中所有虚拟CPU的总频率的范围。

S103:根据虚拟CPU频率范围设置云主机的虚拟CPU频率限制值,并利用物理CPU当前频率和虚拟CPU频率限制值计算时间参数;

其中,本实施例可以将虚拟CPU频率范围显示给用户,以便用户根据虚拟CPU频率范围输入虚拟CPU频率限制值。此外,本实施例还可以在虚拟CPU频率范围内选择任意值作为虚拟CPU频率限制值。

作为一种可行的实施方式,本步骤中利用所述物理CPU当前频率和所述虚拟CPU频率限制值计算时间参数的过程可以为:利用预设公式计算所述时间参数T;其中,所述预设公式为

本步骤中计算得到的时间参数包括单位时间内云主机占用宿主机物理CPU的时间;单位时间内云主机占用宿主机物理CPU的时间越大,云主机被分配的物理CPU资源越多。

S104:通过OpenStack的API接口将所述时间参数更新至云主机XML文件,以便利用所述时间参数设置所述云主机中每一虚拟CPU的最大频率。

其中,OpenStack为开源的云计算管理平台项目,本步骤可以通过OpenStack的API接口删除云主机XML文件中的原时间参数,并将S103得到的时间参数写入云主机XML文件,以便利用所述时间参数设置所述云主机中每一虚拟CPU的最大频率。本实施例可以利用OpenStack的API接口在任意时刻设置云主机中虚拟CPU的频率限制值,提高了设置云主机的虚拟CPU频率的灵活性。

进一步的,在通过OpenStack的API接口将所述时间参数更新至云主机XML文件之后,还可以对所述云主机执行硬重启操作,以使所述时间参数生效。

本实施例获取宿主机的物理CPU频率范围和物理CPU当前频率之后,基于物理CPU频率确定云主机中虚拟CPU频率范围,以便用户在虚拟CPU频率范围内设置虚拟CPU频率限制值,以使云主机在工作过程中虚拟CPU频率不高于虚拟CPU频率限制值。具体的,本实施例通过用物理CPU当前频率和虚拟CPU频率限制值计算时间参数,得到时间参数,时间参数包括单位时间内所述云主机占用所述宿主机物理CPU的最大时间。通过将使劲参数更新至云主机XML文件并使该时间参数生效可以设置所述云主机中每一虚拟CPU的最大频率。本实施例能够通过设置云主机占用所述宿主机物理CPU的最大时间对云主机的虚拟CPU频率进行限制,提高云平台的稳定性。

作为对于图1对应实施例的进一步介绍,根据虚拟CPU频率范围设置云主机的虚拟CPU频率限制值的具体过程可以包括以下步骤:

步骤1:通过所述OpenStack的API接口将所述虚拟CPU频率范围返回至参数配置界面;

步骤2:接收用户在所述参数配置界面输入的目标CPU频率限制值;

步骤3:判断所述目标CPU频率限制值是否在所述虚拟CPU频率范围内;若是,则进入步骤4;若否,则进入步骤5;

步骤4:将所述目标CPU频率限制值设置为所述云主机的虚拟CPU频率限制值;

步骤5:生成参数输入错误的提示信息。

上述实施例通过OpenStack的API接口将虚拟CPU频率范围返回至参数配置界面,以便用户根据虚拟CPU频率范围设置云主机的虚拟CPU频率限制值。由于用户可能错误设置虚拟CPU频率限制值,本实施例对用户输入的目标CPU频率限制值进行基于虚拟CPU频率范围的判断,若目标CPU频率限制值在虚拟CPU频率范围内,则将所述目标CPU频率限制值设置为所述云主机的虚拟CPU频率限制值;若目标CPU频率限制值不在虚拟CPU频率范围内,则生成参数输入错误的提示信息,以便提示用户重新输入。

作为对于图1对应实施例的进一步介绍,若接收到限制参数删除指令,则删除所述云主机XML文件中的时间参数;若接收到限制参数查询指令,则通过所述OpenStack的API接口将所述云主机XML文件中的时间参数显示至参数配置界面。

请参见图2,图2为本申请实施例所提供的一种基于OpenStack的云主机CPU频率限制方法的流程图。在本实施例中操作员可以在云平台设置云主机的虚拟CPU频率限制值,就可以实现云主机CPU频率限制操作,进而可以实现云平台CPU资源的合理分配,避免云主机争抢宿主机物理CPU资源。虚拟CPU频率限制值设置越大,云主机占用物理CPU时间越长。本实施例可以应用于X86、ARM架构云平台的云主机。

首先用户可以启动OpenStack,并通过shell脚本获取宿主机的物理CPU当前频率CPU_HZ,物理CPU最大频率CPU_MAX_HZ和物理CPU最小频率CPU_MIN_HZ。

根据公式1和公式2可以确定云主机的云主机CPU限制最小值(即,虚拟CPU最小频率)和云主机CPU限制最大值(即,虚拟CPU最大频率),进而根据云主机CPU限制最小值和云主机CPU限制最大值确定虚拟CPU频率范围。其中,公式1为:云主机CPU限制最小值=云主机VCPU个数*宿主机物理CPU最小频率;公式2为:云主机CPU限制最大值=云主机VCPU个数*宿主机物理CPU最大频率。VCPU即虚拟CPU。

操作员可以根据虚拟CPU频率范围确定虚拟CPU频率限制值,还可以利用OpenStack API接口设置云平台中云主机的虚拟CPU频率限制值。此外,该API接口还可以实现了删除虚拟CPU频率限制值,查询虚拟CPU频率限制值等操作。

在接收到操作员根据虚拟CPU频率范围输入的虚拟CPU频率限制值之后,本实施例可以利用公式3计算云主机占用宿主机物理CPU的时间(即,时间参数)。其中,公式3可以为:云主机CPU云主机占用物理CPU时间=虚拟CPU频率限制值/云主机VCPU个数/物理CPU当前频率*宿主机进程调度单位时间。宿主机进程调度的单位时间cpu_period可以为100000微秒。

在通过公式3求出云主机占用宿主机CPU的时间后,可以将该时间更新到云主机XML文件,硬重启云主机使该比值生效,这样云主机占用物理CPU时间不会超过该限制,也不会参与争抢物理CPU资源。具体的,本实施例可以将云主机占用宿主机CPU的时间cpu_quota更新到定义云主机的XML文件中,对云主机硬重启,使云主机CPU资源限制功能生效。

此外,操作员可以通过OpenStack的API接口查看当前云主机的虚拟CPU频率限制值,可以通过OpenStack的API接口查看云主机CPU限制最小值、云主机CPU限制最大值,可以通过OpenStack的API接口删除云主机CPU限制值,还可以通过OpenStack的API接口配置或修改虚拟CPU频率限制值。

本实施例提出了一种基于OpenStack的云主机CPU频率限制方法。操作员在云平台设置虚拟CPU频率限制值就可以实现云主机CPU频率限制操作,进而可以实现云平台CPU资源的合理分配,避免云主机争抢宿主机物理CPU资源。如果不设置该限制值,则云主机占用物理CPU时间由宿主机操作系统进程调度策略决定,该值设置越大,云主机占用物理CPU时间越长。在本实施例中,操作员通过云平台就可以设置云主机占用物理CPU资源的限制,该方法基于物理CPU的最大频率、最小频率计算出了云主机CPU能达到的最大、最小频率,基于该范围来合理的配置云主机的CPU频率限制值,该方法不受物理主机CPU架构的限制,可以兼容X86、arm等架构。可见,本实施例可以对云主机的虚拟CPU频率进行限制,提高云平台的稳定性。

请参见图3,图3为本申请实施例所提供的一种云主机CPU频率设置系统的结构示意图;

该系统可以包括:

频率获取模块100,用于获取宿主机的物理CPU频率范围和物理CPU当前频率;

频率范围设置模块200,用于根据所述物理CPU频率范围确定云主机的虚拟CPU频率范围;

参数配置模块300,用于根据所述虚拟CPU频率范围设置所述云主机的虚拟CPU频率限制值,并利用所述物理CPU当前频率和所述虚拟CPU频率限制值计算时间参数;其中,所述时间参数包括单位时间内所述云主机占用所述宿主机物理CPU的时间;

频率设置模块400,用于通过OpenStack的API接口将所述时间参数更新至云主机XML文件,以便利用所述时间参数设置所述云主机中每一虚拟CPU的最大频率。

本实施例获取宿主机的物理CPU频率范围和物理CPU当前频率之后,基于物理CPU频率确定云主机中虚拟CPU频率范围,以便用户在虚拟CPU频率范围内设置虚拟CPU频率限制值,以使云主机在工作过程中虚拟CPU频率不高于虚拟CPU频率限制值。具体的,本实施例通过用物理CPU当前频率和虚拟CPU频率限制值计算时间参数,得到时间参数,时间参数包括单位时间内所述云主机占用所述宿主机物理CPU的最大时间。通过将使劲参数更新至云主机XML文件并使该时间参数生效可以设置所述云主机中每一虚拟CPU的最大频率。本实施例能够通过设置云主机占用所述宿主机物理CPU的最大时间对云主机的虚拟CPU频率进行限制,提高云平台的稳定性。

进一步的,频率范围设置模块200包括:

物理CPU极值频率确定单元,用于根据所述物理CPU频率范围确定物理CPU最大频率和物理CPU最小频率;

虚拟CPU最大频率确定单元,用于将所述云主机的虚拟CPU个数与所述物理CPU最大频率的乘积作为所述云主机的虚拟CPU最大频率;

虚拟CPU最小频率确定单元,用于将所述云主机的虚拟CPU个数与所述物理CPU最小频率的乘积作为所述云主机的虚拟CPU最小频率;

虚拟CPU频率范围确定单元,用于根据所述虚拟CPU最大频率和所述虚拟CPU最小频率确定所述云主机的虚拟CPU频率范围。

进一步的,参数配置模块300,包括:

频率参数接收单元,用于通过所述OpenStack的API接口将所述虚拟CPU频率范围返回至参数配置界面;还用于接收用户在所述参数配置界面输入的目标CPU频率限制值;还用于判断所述目标CPU频率限制值是否在所述虚拟CPU频率范围内;若是,则将所述目标CPU频率限制值设置为所述云主机的虚拟CPU频率限制值;若否,则生成参数输入错误的提示信息。

时间参数计算单元,用于利用预设公式计算所述时间参数T;

其中,所述预设公式为

进一步的,所述单位时间为所述宿主机的进程调度的单位时间。

进一步的,还包括:

重启模块,用于在通过OpenStack的API接口将所述时间参数更新至云主机XML文件之后,对所述云主机执行硬重启操作,以使所述时间参数生效。

进一步的,还包括:

时间参数管理模块,用于若接收到限制参数删除指令,则删除所述云主机XML文件中的时间参数;还用于若接收到限制参数查询指令,则通过所述OpenStack的API接口将所述云主机XML文件中的时间参数显示至参数配置界面。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

相关技术
  • 云主机CPU频率设置方法、系统、电子设备及存储介质
  • CPU频率调整方法、装置、电子设备及存储介质
技术分类

06120112149529