一种虚拟机建立方法与装置与流程

文档序号:12463544阅读:137来源:国知局
一种虚拟机建立方法与装置与流程

本发明涉及云计算技术领域,特别是涉及一种虚拟机建立方法与装置。



背景技术:

随着网络和云计算的不断发展,网络用户量越来越多,服务器处理的业务范围越来越广,服务器压力也越来越大。随着虚拟化概念的提出,以及虚拟化技术的迅速发展,该问题得到了有效的缓解。虚拟化技术可以创建针对不同业务的虚拟机,在同一台物理机上可以创建多个虚拟机,可以更充分地利用物理资源,最大限度的发挥物理服务器的性能。通过创建大量的虚拟机,并进行集群管理,对外提供服务,大大增加了后台服务器处理请求的能力。

现在越来越多的网络服务厂商开始使用虚拟化平台对外提供服务,当今市面上的虚拟化公司也层出不穷,例如,VMWare、XenServer等。不同的虚拟化平台可以依据该平台的相关规则创建虚拟机,也即不同虚拟化平台创建的虚拟化类型不同。

不同的虚拟化平台有其各自的优势,许多公司为了充分利用不同虚拟化类型的优势,在其后台会同时使用多种虚拟化类型的虚拟机。现有技术中,通过虚拟化公司各自提供的管理平台只能针对其自身虚拟化类型的虚拟机进行管理,无法对其他虚拟化类型的虚拟机进行管理,也即无法在同一台物理机上建立不同虚拟化类型的虚拟机。

可见,如何在同一平台上实现对不同虚拟化类型的虚拟机的管理,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种虚拟机建立方法与装置,可以实现对不同虚拟化类型的虚拟机的管理。

为解决上述技术问题,本发明实施例提供一种虚拟机建立方法,包括:

S10:接收用户选择的虚拟化类型;

S11:调用适配器接口信息,获取适配器接口对应的至少一个实现类;所述实现类用于实现虚拟机的功能;

S12:根据Java反射机制获取第一实现类的虚拟化类型;并将所述第一实现类作为目标实现类;所述第一实现类为所述至少一个实现类中的任意一个实现类;

S13:将获取的所述目标实现类的虚拟化类型与所述用户选择的虚拟化类型进行比较;

S14:若一致,则依据所述目标实现类建立所述虚拟化类型对应的虚拟机。

可选的,还包括:

若不一致,则根据Java反射机制获取第二实现类的虚拟化类型;所述第二实现类为所述至少一个实现类中除所述第一实现类之外的任意一个实现类;并将所述第二实现类作为目标实现类,返回S13。

可选的,在所述S14中:

根据所述实现类对应的实例,调用所述实例建立所述虚拟化类型对应的所述虚拟机。

可选的,在所述S14还包括:

建立虚拟化列表,所述虚拟化列表用于存储所述虚拟机的特定信息。

本发明实施例还提供一种虚拟机建立装置,包括接收单元、获取单元、比较单元和建立单元:

所述接收单元,用于接收用户选择的虚拟化类型;

所述获取单元,用于调用适配器接口信息,获取适配器接口对应的至少一个实现类;所述实现类用于实现虚拟机的功能;

所述获取单元,还用于根据Java反射机制获取第一实现类的虚拟化类型;并将所述第一实现类作为目标实现类;所述第一实现类为所述至少一个实现类中的任意一个实现类;

所述比较单元,用于将获取的所述目标实现类的虚拟化类型与所述用户选择的虚拟化类型进行比较;

若一致则触发所述建立单元,所述建立单元,用于依据所述目标实现类建立所述虚拟化类型对应的虚拟机。

可选的,若不一致则触发所述获取单元,所述获取单元,用于根据Java反射机制获取第二实现类的虚拟化类型;所述第二实现类为所述至少一个实现类中除所述第一实现类之外的任意一个实现类;并将所述第二实现类作为目标实现类,触发所述比较单元。

可选的,所述建立单元具体用于根据所述实现类对应的实例,调用所述实例建立所述虚拟化类型对应的所述虚拟机。

可选的,所述建立单元还用于建立虚拟化列表,所述虚拟化列表用于存储所述虚拟机的特定信息。

由上述技术方案可以看出,在服务器后台中存储有不同虚拟化平台所对应的实现类,服务器在接收到用户选择的虚拟化类型后,可以通过调用适配器接口信息,获取适配器接口对应的至少一个实现类;从所述至少一个实现类中的任意选取其中一个实现类即第一实现类,根据Java反射机制获取第一实现类的虚拟化类型;并将所述第一实现类作为目标实现类;将获取的所述目标实现类的虚拟化类型与所述用户选择的虚拟化类型进行比较;若一致,则可以依据所述目标实现类建立所述虚拟化类型对应的虚拟机。可见,通过上述技术方案可以根据用户的需求在同一平台上建立不同虚拟化类型的虚拟机,实现对不同虚拟化类型的虚拟机的管理。

附图说明

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

图1为本发明实施例提供的一种虚拟机建立方法的流程图;

图2为本发明实施例提供的一种虚拟机建立装置的结构示意图。

具体实施方式

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

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种虚拟机建立方法。图1为本发明实施例提供的一种虚拟机建立方法的流程图,该方法包括:

S10:接收用户选择的虚拟化类型。

在建立虚拟机时,利用不同的虚拟化平台,建立的虚拟机的虚拟化类型不同,也即一个虚拟化平台有其对应的虚拟化类型。在本发明实施例中,用户可以在服务器的虚拟机建立界面上,选择所需建立的虚拟机的虚拟化类型。

S11:调用适配器接口信息,获取适配器接口对应的至少一个实现类。

为了实现不同虚拟化类型的虚拟机的建立,可以针对不同的虚拟化平台设置相对应的适配器接口,在服务器后台中可以存储该适配器接口的相关信息即适配器接口信息,服务器的计算机系统依据该适配器接口信息便可以获取到适配器接口对应的实现类,其中,实现类可以用于实现虚拟机的功能。

不同的虚拟化平台有其对应的实现类,在本发明实施例中,获取的实现类的个数可以有一个或多个,例如,服务器后台存储的适配器接口信息涉及的虚拟化平台有3个,则获取的实现类对应的也有3个。

S12:根据Java反射机制获取第一实现类的虚拟化类型;并将所述第一实现类作为目标实现类。

其中,第一实现类可以是所述至少一个实现类中的任意一个实现类。

依据该适配器接口信息,可以获取到适配器接口所对应的所有实现类。但是哪种实现类是用户所需建立的虚拟机所对应的实现类,需要做进一步的判断。考虑到服务器接收到的是用户选择的虚拟化类型,故此,在选择合适的实现类时,可以依据实现类的虚拟化类型进行选择。

在本发明实施例中,可以从至少一个实现类中任意选定一个实现类作为目标实现类,根据Java反射机制获取目标实现类的虚拟化类型。

S13:将获取的所述目标实现类的虚拟化类型与所述用户选择的虚拟化类型进行比较。

S14:若一致,则依据所述目标实现类建立所述虚拟化类型对应的虚拟机。

如果获取的该实现类的虚拟化类型与用户选择的虚拟化类型相同,则说明该实现类即为用户建立虚拟机所需的实现类。

在具体操作中,可以根据所述实现类对应的实例,调用所述实例建立所述虚拟化类型对应的虚拟机。

对于实现类的个数为多个的情况,选取其中的任意一个作为第一实现类,该第一实现类的虚拟化类型可能并非是用户所需的实现类,即该实现类的虚拟化类型与用户选择的虚拟化类型不相同,针对这种情况,具体的,可以根据Java反射机制获取第二实现类的虚拟化类型;所述第二实现类为所述至少一个实现类中除所述第一实现类之外的任意一个实现类;并将所述第二实现类作为目标实现类,返回S13。

通过上述步骤,依次对获取的实现类进行判断,直到找到符合用户需求的实现类。

在建立好虚拟机后,为了方便用户了解和调用已经建立好的虚拟机,可以建立虚拟化列表,所述虚拟化列表用于存储所述虚拟机的特定信息。每建立一个虚拟机,则可以在该虚拟化列表中添加该虚拟机的特定信息。

其中,特定信息可以用于标识虚拟机的身份,即可以依据该特定信息对不同的虚拟机进行区分。

特定信息可以是虚拟机的虚拟化类型,或者是虚拟机所属平台的信息,又或者是虚拟机的名称,该名称可以是在建立虚拟机的过程中由服务器系统自动生成的名称,也可以是人工进行的命名。在本发明实施例中,对于特定信息的具体形式不做限定。

由上述技术方案可以看出,在服务器后台中存储有不同虚拟化平台所对应的实现类,服务器在接收到用户选择的虚拟化类型后,可以通过调用适配器接口信息,获取适配器接口对应的至少一个实现类;从所述至少一个实现类中的任意选取其中一个实现类即第一实现类,根据Java反射机制获取第一实现类的虚拟化类型;并将所述第一实现类作为目标实现类;将获取的所述目标实现类的虚拟化类型与所述用户选择的虚拟化类型进行比较;若一致,则可以依据所述目标实现类建立所述虚拟化类型对应的虚拟机。可见,通过上述技术方案可以根据用户的需求在同一平台上建立不同虚拟化类型的虚拟机,实现对不同虚拟化类型的虚拟机的管理。

图2为本发明实施例提供的一种虚拟机建立装置的结构示意图,所述装置包括接收单元21、获取单元22、比较单元23和建立单元24:

所述接收单元21,用于接收用户选择的虚拟化类型。

所述获取单元22,用于调用适配器接口信息,获取适配器接口对应的至少一个实现类;所述实现类用于实现虚拟机的功能。

所述获取单元22,还用于根据Java反射机制获取第一实现类的虚拟化类型;并将所述第一实现类作为目标实现类;所述第一实现类为所述至少一个实现类中的任意一个实现类。

所述比较单元23,用于将获取的所述目标实现类的虚拟化类型与所述用户选择的虚拟化类型进行比较。

若一致则触发所述建立单元24,所述建立单元24,用于依据所述目标实现类建立所述虚拟化类型对应的虚拟机。

可选的,若不一致则触发所述获取单元,所述获取单元,用于根据Java反射机制获取第二实现类的虚拟化类型;所述第二实现类为所述至少一个实现类中除所述第一实现类之外的任意一个实现类;并将所述第二实现类作为目标实现类,触发所述比较单元。

可选的,所述建立单元具体用于根据所述实现类对应的实例,调用所述实例建立所述虚拟化类型对应的所述虚拟机。

可选的,所述建立单元还用于建立虚拟化列表,所述虚拟化列表用于存储所述虚拟机的特定信息。

图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1