CN112711462A - 一种云平台虚拟cpu热绑定方法、装置及计算机可读存储介质 - Google Patents
一种云平台虚拟cpu热绑定方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112711462A CN112711462A CN202011578805.6A CN202011578805A CN112711462A CN 112711462 A CN112711462 A CN 112711462A CN 202011578805 A CN202011578805 A CN 202011578805A CN 112711462 A CN112711462 A CN 112711462A
- Authority
- CN
- China
- Prior art keywords
- cpu
- virtual
- binding request
- hot binding
- service
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种云平台虚拟CPU热绑定方法、装置及计算机可读存储介质,该方法包括利用应用接口服务接收CPU热绑定请求,CPU热绑定请求用于请求将虚拟机的待绑定虚拟CPU绑定到宿主机的目标物理CPU上,其中虚拟机运行在宿主机上;利用应用接口服务将CPU热绑定请求发送到跟踪服务;利用跟踪服务将CPU热绑定请求转发到宿主机上的计算服务;利用计算服务调用运行在宿主机上的虚拟化软件,在虚拟机运行中利用虚拟化软件实现待绑定虚拟CPU和目标物理CPU的绑定。利用上述方法,能够在虚拟机运行过程中即可完成虚拟CPU和目标物理CPU热绑定。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种云平台虚拟CPU热绑定方法、装置及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着虚拟化技术的发展,多个虚拟机能同时安全地运行在同一台物理机上,充分利用了物理资源。多核处理器的出现扩大了虚拟化技术的优势,在基于多核物理平台的虚拟机系统中,采用灵活的策略将物理CPU分配给虚拟机,从而有效地满足虚拟机的资源需求。为了保障某一个或多个重要级较高的虚拟CPU的物理计算资源,可以将vCPU(虚拟CPU)绑定到指定的pCPU(物理CPU)去执行。具体来说,现有技术中,常采用OpenStack开源云平台,在创建虚拟机时,将虚拟机的虚拟CPU绑定至某一物理CPU。
换言之,现有技术中的方案,只能在虚拟机创建的时候实现CPU绑定,而无法实现在虚拟机运行时虚拟CPU和目标物理CPU的热绑定。
发明内容
针对上述现有技术中存在的问题,提出了一种云平台虚拟CPU热绑定方法、装置及计算机可读存储介质,利用这种方法、装置及计算机可读存储介质,能够解决上述问题。
本发明提供了以下方案。
第一方面,提供一种云平台虚拟CPU热绑定方法,包括:利用应用接口服务接收CPU热绑定请求,CPU热绑定请求用于请求将虚拟机的待绑定虚拟CPU绑定到宿主机的目标物理CPU上,其中虚拟机运行在宿主机上;利用应用接口服务将CPU热绑定请求发送到跟踪服务;利用跟踪服务将CPU热绑定请求转发到宿主机上的计算服务;利用计算服务调用宿主机上的虚拟化软件,在虚拟机运行中利用虚拟化软件实现待绑定虚拟CPU和目标物理CPU的绑定。
在一些实施方式中,CPU热绑定请求包含:虚拟机标识、待绑定虚拟CPU标识、宿主机标识以及目标物理CPU标识。
在一些实施方式中,方法还包括:利用应用接口服务验证CPU热绑定请求是否满足预设格式要求;若CPU热绑定请求满足预设格式要求,则利用应用接口服务通过消息队列将CPU热绑定请求发送到跟踪服务;若CPU热绑定请求不满足预设格式要求,则利用应用接口服务拒绝CPU热绑定请求并生成第一异常信息;其中,当CPU热绑定请求为json格式且包含虚拟机标识、待绑定虚拟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上,其中虚拟机运行在宿主机上;应用接口服务组件还用于将CPU热绑定请求发送到跟踪服务组件;跟踪服务组件,用于将CPU热绑定请求转发到宿主机上的计算服务组件;计算服务组件,用于调用宿主机上的虚拟化软件,在虚拟机运行中利用虚拟化软件实现待绑定虚拟CPU和目标物理CPU的绑定。
在一些实施方式中,CPU热绑定请求包含:虚拟机标识、待绑定虚拟CPU标识、宿主机标识以及目标物理CPU标识。
在一些实施方式中,应用接口服务组件还用于:验证CPU热绑定请求是否满足预设格式要求;若CPU热绑定请求满足预设格式要求,则通过消息队列将CPU热绑定请求发送到跟踪服务;若CPU热绑定请求不满足预设格式要求,则拒绝CPU热绑定请求并生成第一异常信息;其中,当CPU热绑定请求为json格式且包含虚拟机标识、待绑定虚拟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和宿主机上的某个物理核心之间的映射绑定。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1为根据本发明一实施例的云平台虚拟CPU热绑定方法的流程示意图;
图2为根据本发明另一实施例的云平台虚拟CPU热绑定方法的流程示意图;
图3为根据本发明另一实施例的将虚拟CPU绑定至目标物理CPU的示意图;
图4为根据本发明又一实施例的云平台虚拟CPU热绑定装置的结构示意图;
图5为根据本发明又一实施例的云平台虚拟CPU热绑定装置的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
以下,对本申请中部分用语进行解释说明,以便本领域技术人员理解。
虚拟机(Virtual Machine),指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
热绑定,指在虚拟机保持正常运行的状态下将虚拟CPU绑定到对应的物理机CPU上。
应用接口服务组件,其可以是开源的云计算管理项目OpenStack中的API服务组件,用于对外提供一个与基础设施交互的接口,也是外部可用于管理基础设施的唯一组件,它负责接收客户的请求,将指令发送给AMQP(消息队列),由相应的服务执行相应的功能。负责虚拟机的整个生命周期的管理。
跟踪服务组件,其可以是开源的云计算管理项目OpenStack中的conductor服务组件,用于负责与数据库交互,介于计算服务与数据库之间,防止计算服务直接访问数据,提高系统的安全性和扩展性。
计算服务组件,其可以是开源的云计算管理项目OpenStack中的compute服务组件,负责所有的运算节点的运行,用于虚拟机的创建、删除、挂起、重启。
AMQP(消息队列),其用于各个功能模块之间的消息传递。
本发明实施例提供一种云平台虚拟CPU热绑定方法,下面,首先对所述方法的发明构思进行介绍。
在传统方案中,只能在虚拟机创建的时候指定CPU绑定策略,而无法根据CPU负载灵活更改虚拟CPU和物理CPU的绑定关系,也即无法实现虚拟CPU和物理CPU的热绑定。有鉴于此,本发明实施例提供一种云平台虚拟CPU热绑定方法,具体来说,用户向云平台的应用接口(API)服务发送CPU热绑定请求。比如,参见图3,该CPU热绑定请求可以用于请求将虚拟机_1的待绑定虚拟CPU(vCPU_1)绑定到宿主机_1的目标物理CPU(pCPU_11)上,其中该虚拟机_1运行在宿主机_1上;云平台的API(应用接口)服务接收到该CPU热绑定请求后发送到跟踪服务(conductor服务),利用该跟踪服务将CPU热绑定请求转发到宿主机_1上的计算(compute)服务;利用计算服务调用运行在宿主机_1上的虚拟化软件,在虚拟机运行中,利用虚拟化软件实现待绑定虚拟CPU和目标物理CPU的绑定。通过本申请实施例,在虚拟机运行过程中即可完成虚拟CPU和目标物理CPU热绑定,无需对虚拟机执行关机操作,因此不会对运行中的业务产生任何影响。此外,本申请能够灵活指定虚拟机内的某个虚拟CPU和宿主机上的某个物理核心之间的映射绑定。
本领域技术人员可以理解,所描述的应用场景仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受任何限制。在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
图1为根据本申请一实施例的云平台虚拟CPU热绑定方法100的流程示意图,在该流程中,从设备角度而言,执行主体可以是一个或者多个电子设备;从程序角度而言,执行主体相应地可以是搭载于这些电子设备上的程序。
如图1所示,该方法10可以包括:
步骤11、利用应用接口(API)服务接收CPU热绑定请求。
具体来说,用户可以通过前端界面或者命令行客户端发送该CPU热绑定请求到API服务。该CPU热绑定请求用于请求将虚拟机的待绑定虚拟CPU绑定到宿主机的目标物理CPU上,其中虚拟机运行在宿主机上。其中,CPU热绑定请求可以包含:虚拟机标识、待绑定虚拟CPU标识、宿主机标识以及目标物理CPU标识。
例如,参考图3,用户可以通过前端界面发送CPU热绑定请求,包括:虚拟机_1、vCPU_1、宿主机_1、pCPU_11,以请求将运行在宿主机_1上的虚拟机_1中的虚拟CPU(vCPU_1)绑定到宿主机_1上的目标物理CPU(pCPU_11)上。
应当理解,虚拟机的虚拟CPU访问本宿主机节点(该虚拟机运行的宿主机)的内存效率要远高于访问其他宿主机节点。因此若监测到虚拟机的虚拟CPU使用率很高,在虚拟机不停机的状态下,将虚拟机的虚拟CPU绑定到本宿主机节点下的物理CPU下,能够显著提高虚拟机性能,降低系统压力。
在一些实施方式中,参见图2,在步骤11之后,还可以执行:
步骤111、利用应用接口(API)服务验证CPU热绑定请求是否满足预设格式要求。
其中,若验证确定该CPU热绑定请求为json格式,且包含虚拟机标识、待绑定虚拟CPU标识、宿主机标识以及目标物理CPU标识,则判定该CPU热绑定请求满足该预设格式要求。
例如,若接收到CPU热绑定请求不包含上述待绑定虚拟CPU标识,则无法确认绑定对象,也即无法实现后续绑定,无需进行后续操作。具体来说,参见图2,若CPU热绑定请求不满足所述预设格式要求(对应于“否”),此时无需将CPU热绑定请求发送到跟踪服务,可以进一步执行步骤112。
步骤112、利用应用接口(API)服务拒绝CPU热绑定请求并生成第一异常信息。其中,该第一异常信息的异常内容可以包括数据格式非法。可选地,可以由该API服务向客户端返回该第一异常信息以提示异常。
相反,若CPU热绑定请求满足所述预设格式要求(对应于“是”),则进一步执行步骤12。
步骤12、利用应用接口(API)服务将CPU热绑定请求发送到跟踪服务;
其中,利用应用接口(API)服务通过消息队列将CPU热绑定请求发送到跟踪服务。具体来说,可以通过消息队列将CPU热绑定请求发送到跟踪服务。该消息队列用于各个功能模块之间的消息传递。利用api服务作为入口接收CPU热绑定请求,并发送给AMQP(消息队列),跟踪服务可以从AMQP(消息队列)侦听到该CPU热绑定请求。
在一些实施方式中,参见图2,在步骤12之后还可以执行:利用跟踪服务判断所述CPU热绑定请求是否合法;若判定所述CPU热绑定请求合法,则利用所述跟踪服务将所述CPU热绑定请求转发到所述宿主机上的计算服务;若判定所述CPU热绑定请求不合法,则利用所述跟踪服务拒绝所述CPU热绑定请求并生成第二异常信息。可以由该跟踪服务向客户端返回该第二异常信息以提示异常。
在一些实施方式中,参见图2,在步骤12之后可以执行:判断所述CPU热绑定请求是否合法,具体包括步骤121和步骤123。
步骤121、利用跟踪服务通过查询数据库判断所述目标物理CPU是否虚机可用。
其中,跟踪服务在收到API服务发送的CPU热绑定请求后查询数据库,根据虚拟机标识获取虚拟机所在宿主机信息,根据宿主机信息获取宿主机分配给虚拟机使用的CPU信息,若请求的物理机CPU不允许虚拟机使用(对应于“否”),则执行步骤122:抛出一种类型的第二异常信息,异常内容为:该物理机CPU未被分配虚拟机使用,并将该第二异常信息返回给API,通过API返回客户端。相反,若请求的物理机CPU允许虚拟机使用(对应于“是”),则进一步验证该CPU热绑定请求中的目标物理CPU是否空闲。也即执行步骤123。
步骤123、利用所述跟踪服务通过查询数据库判断所述目标物理CPU是否空闲。
其中,跟踪服务根据CPU热绑定请求中的宿主机标识和目标物理CPU标识,查询数据库判断此目标物理CPU是否被已被绑定,若已经被绑定(对应于“否”),则执行步骤124:抛出另外一种类型的第二异常信息,异常内容为:该物理机CPU已与其他虚拟机绑定,将该第二异常信息返回给API服务,并通过API返回客户端。相反,若没有被绑定(对应于“是”),则将此CPU热绑定请求通过消息队列转发至虚拟机所在宿主机中的计算服务,也即执行步骤13。
步骤13、利用跟踪服务将CPU热绑定请求转发到宿主机上的计算服务。
在一些实施方式中,参考图2,在步骤13之后,方法还包括:
步骤131、利用所述计算服务判断所述待绑定虚拟CPU是否运行在所述宿主机上。
若所述虚拟机不运行在所述宿主机上(对应于“否”),则执行步骤132,也即利用所述计算服务拒绝所述CPU热绑定请求并生成第三异常信息;
若所述虚拟机运行在所述宿主机上(对应于“是”),则继续执行步骤14。
例如,参见图3,宿主机_1上的计算服务收到CPU热绑定请求后,判断请求的虚拟机_1是运行在该宿主机_1,若请求的虚拟机_1不运行在该宿主机_1,则抛出第三异常信息,异常内容为:申请的虚拟机不在本节点;相反,若请求的虚拟机_1运行在该宿主机_1,则将CPU热绑定请求传递给虚拟化软件。
步骤14、利用所述计算服务调用所述宿主机上的虚拟化软件,在所述虚拟机运行中利用所述虚拟化软件实现所述待绑定虚拟CPU和所述目标物理CPU的绑定。
具体来说,利用所述计算服务调用所述虚拟化软件的驱动服务,通过所述驱动服务向所述虚拟化软件发送所述CPU热绑定请求,以使所述虚拟化软件完成所述待绑定虚拟CPU和所述目标物理CPU的绑定。
在一些实施方式中,参见图2,在步骤14之后,该方法还可以包括:
若待绑定虚拟CPU和目标物理CPU的绑定成功,则执行步骤141:则将绑定成功信息返回给计算服务,同时计算服务在数据库中标注该目标物理CPU已被占用。
相反,若待绑定虚拟CPU和目标物理CPU的绑定失败,则执行步骤142:虚拟化软件生成第四异常信息,并将第四异常信息返回给计算服务。
本申请能够在虚拟机运行过程中,完成虚拟CPU和目标物理CPU绑定。无需对虚拟机执行关机操作,运行在虚拟机中的业务对此绑定操作无感,因此不会对运行中的业务产生任何影响。此外,本申请能够灵活指定虚拟CPU和目标物理CPU的拓扑结构,具体实现虚拟机内的第n个虚拟CPU和宿主机上的第n个物理核心之间的映射绑定。
基于相同的技术构思,本发明实施例还提供一种云平台虚拟CPU热绑定装置,用于执行上述任一实施例所提供的云平台虚拟CPU热绑定方法。图4为本发明实施例提供的一种云平台虚拟CPU热绑定装置结构示意图。
如图4所示,装置包括:
应用接口服务组件41,可以是OpenStack中的API服务组件,其用于接收CPU热绑定请求,CPU热绑定请求用于请求将虚拟机的待绑定虚拟CPU绑定到宿主机的目标物理CPU上,其中虚拟机运行在宿主机上;应用接口服务组件还用于将CPU热绑定请求发送到跟踪服务组件;
跟踪服务组件42,可以是OpenStack中的conductor服务组件,其用于将CPU热绑定请求转发到宿主机上的计算服务组件;
计算服务组件43,可以是OpenStack中的compute服务组件,其用于调用宿主机上的虚拟化软件,在虚拟机运行中利用虚拟化软件实现待绑定虚拟CPU和目标物理CPU的绑定。
在一些实施方式中,CPU热绑定请求包含:虚拟机标识、待绑定虚拟CPU标识、宿主机标识以及目标物理CPU标识。
在一些实施方式中,应用接口服务组件还用于:验证CPU热绑定请求是否满足预设格式要求;若CPU热绑定请求满足预设格式要求,则通过消息队列将CPU热绑定请求发送到跟踪服务;若CPU热绑定请求不满足预设格式要求,则拒绝CPU热绑定请求并生成第一异常信息;其中,当CPU热绑定请求为json格式且包含虚拟机标识、待绑定虚拟CPU标识、宿主机标识和目标物理CPU标识时满足预设格式要求。
在一些实施方式中,跟踪服务组件还用于:将CPU热绑定请求转发到宿主机上的计算服务之前,判断CPU热绑定请求是否合法;若判定CPU热绑定请求合法,则将CPU热绑定请求转发到宿主机上的计算服务;若判定CPU热绑定请求不合法,则拒绝CPU热绑定请求并生成第二异常信息。
在一些实施方式中,跟踪服务组件还用于:通过查询数据库判断目标物理CPU是否虚机可用,以及通过查询数据库判断目标物理CPU是否空闲,来判断CPU热绑定请求是否合法。
在一些实施方式中,计算服务组件还用于:判断待绑定虚拟CPU是否在宿主机上;若虚拟机不运行在宿主机上,则拒绝CPU热绑定请求并生成第三异常信息;若虚拟机运行在宿主机上,则调用虚拟化软件的驱动服务,通过驱动服务向虚拟化软件发送CPU热绑定请求,以使虚拟化软件完成待绑定虚拟CPU和目标物理CPU的绑定。
在一些实施方式中,装置还包括虚拟化软件模块,用于:若待绑定虚拟CPU和目标物理CPU的绑定失败,则生成第四异常信息,并将第四异常信息返回给计算服务组件;若待绑定虚拟CPU和目标物理CPU的绑定成功,则将绑定成功信息返回给计算服务组件,使计算服务组件在数据库中标注该目标物理CPU已被占用。
需要说明的是,本申请实施例中的云平台虚拟CPU热绑定装置可以实现前述云平台虚拟CPU热绑定方法的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。
图5为根据本申请一实施例的云平台虚拟CPU热绑定装置,用于执行图1所示出的云平台虚拟CPU热绑定方法,该装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例所述的方法。
根据本申请的一些实施例,提供了云平台虚拟CPU热绑定方法的非易失性计算机存储介质,其上存储有计算机可执行指令,该计算机可执行指令设置为在由处理器运行时执行:上述实施例所述的方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备和计算机可读存储介质与方法是一一对应的,因此,装置、设备和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和计算机可读存储介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (16)
1.一种云平台虚拟CPU热绑定方法,其特征在于,包括:
利用应用接口服务接收CPU热绑定请求,所述CPU热绑定请求用于请求将虚拟机的待绑定虚拟CPU绑定到宿主机的目标物理CPU上,其中所述虚拟机运行在所述宿主机上;
利用所述应用接口服务将所述CPU热绑定请求发送到跟踪服务;
利用所述跟踪服务将所述CPU热绑定请求转发到所述宿主机上的计算服务;
利用所述计算服务调用运行在所述宿主机上的虚拟化软件,在所述虚拟机运行中利用所述虚拟化软件实现所述待绑定虚拟CPU和所述目标物理CPU的绑定。
2.根据权利要求1所述的方法,其特征在于,所述CPU热绑定请求包含:虚拟机标识、待绑定虚拟CPU标识、宿主机标识以及目标物理CPU标识。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用所述应用接口服务验证所述CPU热绑定请求是否满足预设格式要求;
若所述CPU热绑定请求满足所述预设格式要求,则利用所述应用接口服务通过消息队列将所述CPU热绑定请求发送到跟踪服务;
若所述CPU热绑定请求不满足所述预设格式要求,则利用所述应用接口服务拒绝所述CPU热绑定请求并生成第一异常信息;
其中,当所述CPU热绑定请求为json格式且包含虚拟机标识、待绑定虚拟CPU标识、宿主机标识和目标物理CPU标识时满足所述预设格式要求。
4.根据权利要求2所述的方法,其特征在于,利用所述跟踪服务将所述CPU热绑定请求转发到所述宿主机上的计算服务之前,所述方法还包括:
利用所述跟踪服务判断所述CPU热绑定请求是否合法;
若判定所述CPU热绑定请求合法,则利用所述跟踪服务将所述CPU热绑定请求转发到所述宿主机上的计算服务;
若判定所述CPU热绑定请求不合法,则利用所述跟踪服务拒绝所述CPU热绑定请求并生成第二异常信息。
5.根据权利要求4所述的方法,其特征在于,利用所述跟踪服务判断所述CPU热绑定请求是否合法,包括:
利用所述跟踪服务通过查询数据库判断所述目标物理CPU是否虚机可用;
利用所述跟踪服务通过查询数据库判断所述目标物理CPU是否空闲。
6.根据权利要求1所述的方法,其特征在于,将所述CPU热绑定请求转发到所述宿主机上的计算服务之后,所述方法还包括:
利用所述计算服务判断所述待绑定虚拟CPU是否运行在所述宿主机上;
若所述虚拟机不运行在所述宿主机上,则利用所述计算服务拒绝所述CPU热绑定请求并生成第三异常信息;
若所述虚拟机运行在所述宿主机上,则利用所述计算服务调用所述虚拟化软件的驱动服务,通过所述驱动服务向所述虚拟化软件发送所述CPU热绑定请求,以使所述虚拟化软件完成所述待绑定虚拟CPU和所述目标物理CPU的绑定。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述待绑定虚拟CPU和所述目标物理CPU的绑定失败,则所述虚拟化软件生成第四异常信息,并将所述第四异常信息返回给所述计算服务;
若所述待绑定虚拟CPU和所述目标物理CPU的绑定成功,则所述虚拟化软件将绑定成功信息返回给所述计算服务,利用所述计算服务组件在数据库中标注所述目标物理CPU已被占用。
8.一种云平台虚拟CPU热绑定装置,其特征在于,包括:
应用接口服务组件,用于接收CPU热绑定请求,所述CPU热绑定请求用于请求将虚拟机的待绑定虚拟CPU绑定到宿主机的目标物理CPU上,其中所述虚拟机运行在所述宿主机上;所述应用接口服务组件还用于将所述CPU热绑定请求发送到跟踪服务组件;
所述跟踪服务组件,用于将所述CPU热绑定请求转发到所述宿主机上的计算服务组件;
所述计算服务组件,用于调用所述宿主机上的虚拟化软件,在所述虚拟机运行中利用所述虚拟化软件实现所述待绑定虚拟CPU和所述目标物理CPU的绑定。
9.根据权利要求8所述的装置,其特征在于,所述CPU热绑定请求包含:虚拟机标识、待绑定虚拟CPU标识、宿主机标识以及目标物理CPU标识。
10.根据权利要求8所述的装置,其特征在于,所述应用接口服务组件还用于:
验证所述CPU热绑定请求是否满足预设格式要求;
若所述CPU热绑定请求满足所述预设格式要求,则通过消息队列将所述CPU热绑定请求发送到跟踪服务;
若所述CPU热绑定请求不满足所述预设格式要求,则拒绝所述CPU热绑定请求并生成第一异常信息;
其中,当所述CPU热绑定请求为json格式且包含虚拟机标识、待绑定虚拟CPU标识、宿主机标识和目标物理CPU标识时满足所述预设格式要求。
11.根据权利要求9所述的装置,其特征在于,所述跟踪服务组件还用于:
将所述CPU热绑定请求转发到所述宿主机上的计算服务之前,判断所述CPU热绑定请求是否合法;
若判定所述CPU热绑定请求合法,则将所述CPU热绑定请求转发到所述宿主机上的计算服务;
若判定所述CPU热绑定请求不合法,则拒绝所述CPU热绑定请求并生成第二异常信息。
12.根据权利要求11所述的装置,其特征在于,所述跟踪服务组件还用于:
通过查询数据库判断所述目标物理CPU是否虚机可用,通过查询数据库判断所述目标物理CPU是否空闲,来判断所述CPU热绑定请求是否合法。
13.根据权利要求11所述的装置,其特征在于,所述计算服务组件还用于:
判断所述待绑定虚拟CPU是否在所述宿主机上;
若所述虚拟机不运行在所述宿主机上,则拒绝所述CPU热绑定请求并生成第三异常信息;
若所述虚拟机运行在所述宿主机上,则调用所述虚拟化软件的驱动服务,通过所述驱动服务向所述虚拟化软件发送所述CPU热绑定请求,以使所述虚拟化软件完成所述待绑定虚拟CPU和所述目标物理CPU的绑定。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括虚拟化软件模块,用于:
若所述待绑定虚拟CPU和所述目标物理CPU的绑定失败,则生成第四异常信息,并将所述第四异常信息返回给所述计算服务组件;
若所述待绑定虚拟CPU和所述目标物理CPU的绑定成功,则将绑定成功信息返回给所述计算服务组件,使所述计算服务组件在数据库中标注该目标物理CPU已被占用。
15.一种云平台虚拟CPU热绑定装置,其特征在于,包括:
至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:如权利要求1-7中任一项所述的方法。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被多核处理器执行时,使得所述多核处理器执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011578805.6A CN112711462A (zh) | 2020-12-28 | 2020-12-28 | 一种云平台虚拟cpu热绑定方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011578805.6A CN112711462A (zh) | 2020-12-28 | 2020-12-28 | 一种云平台虚拟cpu热绑定方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112711462A true CN112711462A (zh) | 2021-04-27 |
Family
ID=75545748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011578805.6A Pending CN112711462A (zh) | 2020-12-28 | 2020-12-28 | 一种云平台虚拟cpu热绑定方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711462A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806019A (zh) * | 2021-09-15 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种OpenStack云平台中绑定及解绑PMEM设备的方法 |
CN114697215A (zh) * | 2022-03-31 | 2022-07-01 | 西安超越申泰信息科技有限公司 | 一种虚拟化网络性能提升的方法、系统、设备及介质 |
-
2020
- 2020-12-28 CN CN202011578805.6A patent/CN112711462A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806019A (zh) * | 2021-09-15 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种OpenStack云平台中绑定及解绑PMEM设备的方法 |
CN113806019B (zh) * | 2021-09-15 | 2024-02-23 | 济南浪潮数据技术有限公司 | 一种OpenStack云平台中绑定及解绑PMEM设备的方法 |
CN114697215A (zh) * | 2022-03-31 | 2022-07-01 | 西安超越申泰信息科技有限公司 | 一种虚拟化网络性能提升的方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9413683B2 (en) | Managing resources in a distributed system using dynamic clusters | |
US11556348B2 (en) | Bootstrapping profile-guided compilation and verification | |
US9535754B1 (en) | Dynamic provisioning of computing resources | |
JP2008165795A (ja) | バーチャルマシーンの動的生成 | |
CN110750336B (zh) | 一种OpenStack虚拟机内存热扩容方法 | |
US9063805B2 (en) | Method and system for enabling access to functionality provided by resources outside of an operating system environment | |
CN112711462A (zh) | 一种云平台虚拟cpu热绑定方法、装置及计算机可读存储介质 | |
CN110716845A (zh) | 一种Android系统的日志信息读取的方法 | |
US7712082B2 (en) | Profiler stackwalker | |
CN112463294A (zh) | 一种物理gpu虚拟化管理方法、系统、设备、产品 | |
CN111309432B (zh) | 一种故障演练方法、装置及系统 | |
CN111078127B (zh) | 数据迁移方法、系统及装置 | |
US20120265946A1 (en) | Bypassing user mode redirection | |
CN105677481B (zh) | 一种数据处理方法、系统及电子设备 | |
EP2828747A1 (en) | Hybrid emulation and kernel function processing systems and methods | |
US9189406B2 (en) | Placement of data in shards on a storage device | |
EP1949228B1 (en) | Asynchronous just-in-time compilation | |
WO2021013185A1 (zh) | 虚机迁移处理及策略生成方法、装置、设备及存储介质 | |
US20230289207A1 (en) | Techniques for Concurrently Supporting Virtual NUMA and CPU/Memory Hot-Add in a Virtual Machine | |
KR100818919B1 (ko) | 메소드 호출 방법 및 이를 이용한 자바 가상 머신 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN111552524A (zh) | 一种插件加载方法、装置及计算机可读存储介质 | |
CN112487092A (zh) | 一种基于区块链的智能合约调用方法及装置 | |
Caruana et al. | gSched: a resource aware Hadoop scheduler for heterogeneous cloud computing environments | |
US20220350596A1 (en) | Computing node allocation based on build process specifications in continuous integration environments |
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 |