一种异构虚拟机平台动态扩展管理方法转让专利

申请号 : CN201110068680.7

文献号 : CN102170428B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 樊兴军温鑫徐烨

申请人 : 无锡城市云计算中心有限公司

摘要 :

本发明提供了一种异构虚拟机平台动态扩展管理方法,将虚拟机平台的对象模块、平台管理功能模块和管理功能模块分别根据系统相应的模块接口重新编写并部署到系统指定位置。本发明对异构虚拟机平台的支持可以实现动态扩展,无需终止软件管理系统的运行,无需对原有系统的代码进行改动;可以支持不同类型虚拟机。

权利要求 :

1.一种异构虚拟机平台动态扩展管理方法,其特征在于:将虚拟机平台的对象模块、平台管理功能模块和管理功能模块分别根据系统相应的模块接口重新编写并部署到系统指定位置;

步骤如下:

A1、系统客户端向系统服务端发送对虚拟机操作的请求信息;

B1、系统服务端接收到请求信息后,对信息内容进行分析,分别获取到虚拟机平台信息、虚拟机信息及操作信息;

C1、系统服务端根据虚拟机平台信息,定位虚拟机平台类型,若系统支持该类型的虚拟机平台,则执行步骤D1;否则提示出错并返回给系统客户端;

D1、系统服务端根据虚拟机信息,定位具体的虚拟机平台及虚拟机,若系统定位成功,则执行步骤E1;否则提示出错并返回给系统客户端;

E1、系统服务端根据操作信息,对虚拟机执行具体的操作,若系统服务端执行操作成功,则将操作结果返回给系统客户端;否则提示出错并返回给系统客户端。

2.如权利要求1所述管理方法,其特征在于:所述系统客户端与系统服务端分别为B/S架构及C/S架构软件系统的客户端与服务端。

3.如权利要求1所述管理方法,其特征在于:步骤B1中所述虚拟机平台信息是指系统定义的用于标识虚拟机平台的类型的全局唯一ID。

4.如权利要求1所述管理方法,其特征在于:步骤B1中所述虚拟机信息是指系统定义的用于标识虚拟机的信息,包括虚拟机的全局唯一ID、虚拟机名称、虚拟机类型、虚拟机所属的虚拟机平台ID。

5.如权利要求1所述管理方法,其特征在于:步骤C1中定位虚拟机平台类型是根据虚拟机平台类型ID,在系统中查找已注册的虚拟机平台类型,若成功则表示系统支持该类型的虚拟机平台。

6.如权利要求1所述管理方法,其特征在于:步骤D1中定位具体的虚拟机平台及虚拟机是根据虚拟机类型及虚拟机所属的虚拟机平台ID,在系统中查找具体的运行该虚拟机的平台,再根据虚拟机ID及虚拟机名称,在系统中查找具体的虚拟机。

7.如权利要求1所述管理方法,其特征在于:所述模块接口是根据虚拟机平台抽象出的通用接口。

说明书 :

一种异构虚拟机平台动态扩展管理方法

技术领域

[0001] 本发明涉及虚拟机管理领域,具体涉及一种对异构虚拟机平台动态扩展支持的方法。

背景技术

[0002] 虚拟机运行在虚拟机平台(即Hypervisor)上,对虚拟机的各种管理操作是通过对虚拟机平台的操作实现的。对不同类型虚拟机的管理,需要软件管理系统支持对不同类型虚拟机平台的管理。
[0003] 目前业界有多种虚拟机平台,包括VMware、Xen、Hyper-V、KVM等。这些虚拟机平台的管理接口各不相同,提供的功能也有不同。软件管理系统要实现对虚拟机的管理,需要在系统设计之初定义好系统所支持的虚拟机平台的类型,并定义好对该虚拟机平台的操作接口。若要提供对异构虚拟机平台的支持,需要分别定义好不同的虚拟机平台的操作接口。
[0004] 系统运行期间,只能提供对预先定义好的虚拟机平台的支持。新的虚拟机平台无法动态添加到软件管理系统中,即无法实现对系统预定义之外的虚拟机平台的动态扩展支持。

发明内容

[0005] 为解决现有的虚拟机平台软件管理系统中,必须预定义所支持的虚拟机平台的操作接口的缺陷,本发明提供了一种无需预定义虚拟机平台操作接口,可以动态添加新的虚拟机平台的方法。
[0006] 一种异构虚拟机平台动态扩展管理方法,将虚拟机平台的对象模块、平台管理功能模块和管理功能模块分别根据系统相应的模块接口重新编写并部署到系统指定位置;
[0007] 步骤如下:
[0008] A1、系统客户端向系统服务端发送对虚拟机操作的请求信息;
[0009] B1、系统服务端接收到请求信息后,对信息内容进行分析,分别获取到虚拟机平台信息、虚拟机信息及操作信息;
[0010] C1、系统服务端根据虚拟机平台信息,定位虚拟机平台类型,若系统支持该类型的虚拟机平台,则执行步骤4;否则提示出错并返回给系统客户端;
[0011] D1、系统服务端根据虚拟机信息,定位具体的虚拟机平台及虚拟机,若系统定位成功,则执行步骤5;否则提示出错并返回给系统客户端;
[0012] E1、系统服务端根据操作信息,对虚拟机执行具体的操作,若系统服务端执行操作成功,则将操作结果返回给系统客户端;否则提示出错并返回给系统客户端。
[0013] 优选的,所述系统客户端与系统服务端分别为B/S架构及C/S架构软件系统的客户端与服务端。
[0014] 优选的,步骤B1中所述虚拟机平台信息是指系统定义的用于标识虚拟机平台的类型的全局唯一ID。
[0015] 优选的,步骤B1中所述虚拟机信息是指系统定义的用于标识虚拟机的信息,包括虚拟机的全局唯一ID、虚拟机名称、虚拟机类型、虚拟机所属的虚拟机平台ID。
[0016] 优选的,步骤C1中定位虚拟机平台类型是根据虚拟机平台类型ID,在系统中查找已注册的虚拟机平台类型,若成功则表示系统支持该类型的虚拟机平台。
[0017] 优选的,步骤D1中定位具体的虚拟机平台及虚拟机是根据虚拟机类型及虚拟机所属的虚拟机平台ID,在系统中查找具体的运行该虚拟机的平台,再根据虚拟机ID及虚拟机名称,在系统中查找具体的虚拟机。
[0018] 优选的,所述模块接口是根据虚拟机平台抽象出的通用接口。
[0019] 本发明对异构虚拟机平台的支持可以实现动态扩展,无需终止软件管理系统的运行,无需对原有系统的代码进行改动;可以支持不同类型虚拟机。

附图说明

[0020] 图1是本发明虚拟机架构图

具体实施方式

[0021] 系统基于动态可扩展的架构进行设计,以模块为单位进行功能的划分及实现。系统在运行时,各模块之间可通过全局唯一ID进行查找并访问模块定义的接口,组织起系统内部的信息流。系统定义了模块扩展接口及注册服务管理接口,为系统动态扩展新的虚拟机平台提供机制。
[0022] 在上述机制的作用下,动态扩展新的虚拟机平台,包括以下步骤:
[0023] 步骤1)、根据系统定义的虚拟机平台对象模块接口,编写新的虚拟机平台对象模块。
[0024] 步骤2)、根据系统定义的虚拟机平台管理功能模块接口,编写新的虚拟机平台管理功能模块。
[0025] 步骤3)、根据系统定义的虚拟机管理功能模块接口,编写新的虚拟机管理功能模块。
[0026] 步骤4)、根据系统定义的虚拟机平台注册方法,通过系统管理接口,将上述3个模块部署到系统指定位置,并修改虚拟机平台配置信息。
[0027] 上述技术方案中,模块是指系统定义的编程单元,即满足一定条件的计算机代码的集合。模块接口是指系统定义的模块所要实现的功能的描述,但不需要定义功能的实现过程。
[0028] 上述3类接口是对各种虚拟机平台的通用接口,不针对特定类型的虚拟机平台。
[0029] 系统对某个虚拟机的管理流程包括以下步骤:
[0030] 步骤1)、系统客户端向系统服务端发送对虚拟机操作的请求信息。
[0031] 步骤2)、系统服务端接收到请求信息后,对信息内容进行分析,分别获取到虚拟机平台信息、虚拟机信息及操作信息。
[0032] 步骤3)、系统服务端根据虚拟机平台信息,定位虚拟机平台类型。若系统支持该类型的虚拟机平台,则执行步骤4;否则提示出错并返回给系统客户端。
[0033] 步骤4)、系统服务端根据虚拟机信息,定位具体的虚拟机平台及虚拟机。若系统定位成功,则执行步骤5;否则提示出错并返回给系统客户端。
[0034] 步骤5)、系统服务端根据操作信息,对虚拟机执行具体的操作。若系统服务端执行操作成功,则将操作结果返回给系统客户端;否则提示出错并返回给系统客户端。
[0035] 上述系统客户端与系统服务端,分别指B/S架构及C/S架构软件系统的客户端与服务端。
[0036] 上述步骤2所述虚拟机平台信息是指系统定义的用于标识虚拟机平台的类型的全局唯一ID。采用字符串格式定义。字符串长度不限。
[0037] 上述步骤2所述虚拟机信息是指系统定义的用于标识虚拟机的信息,包括虚拟机的全局唯一ID、虚拟机名称、虚拟机类型、虚拟机所属的虚拟机平台ID。
[0038] 上述步骤2所述操作信息是指对虚拟机操作的内容,包括具体操作类型,操作参数。
[0039] 上述步骤3所述定位虚拟机平台类型,是指根据虚拟机平台类型ID,在系统中查找已注册的虚拟机平台类型。查找成功则表示系统支持该类型的虚拟机平台。
[0040] 上述步骤4所述定位具体的虚拟机平台及虚拟机,是指根据虚拟机类型及虚拟机所属的虚拟机平台ID,在系统中查找具体的运行该虚拟机的平台,再根据虚拟机ID及虚拟机名称,在系统中查找具体的虚拟机。
[0041] 上述步骤5所述对虚拟机执行具体操作,是指根据操作类型及操作参数,对虚拟机执行管理操作。
[0042] 对虚拟机的管理是通过对虚拟机平台的操作实现的。系统对虚拟机平台进行管理,需要系统对虚拟机平台进行支持,定义对虚拟机平台的管理接口。本发明将虚拟机平台与虚拟机平台管理功能抽象成不同的功能模块,并实现系统定义的功能接口,以模块注册的方式添加到系统中,从而实现异构虚拟机平台动态扩展。
[0043] 图1表示系统运行时各个模块之间的层次关系图。系统服务端接收到请求时,各个模块之间的调用关系是自上而下的依次调用,来实现对虚拟机的管理功能。图中Hypervisor插件管理对象负责接收请求并分析信息,选择不同的虚拟机平台对象,即Hypervisor插件对象。Hypervisor插件对象根据请求信息中的虚拟机信息选择相应的虚拟机对象,并调用相应的功能模块执行具体的虚拟机管理操作。功能模块对象及Hypervisor连接管理对象是系统实现对虚拟机管理的辅助模块。