《管理不同虚拟化平台中虚拟机的方法与系统.pdf》由会员分享,可在线阅读,更多相关《管理不同虚拟化平台中虚拟机的方法与系统.pdf(11页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104111863A43申请公布日20141022CN104111863A21申请号201410341545922申请日20140717G06F9/455200601G06F9/4620060171申请人湖南昇云科技有限公司地址410000湖南省长沙市雨花区环保科技园长沙国际企业中心14栋706房72发明人徐景74专利代理机构广州华进联合专利商标代理有限公司44224代理人邓云鹏54发明名称管理不同虚拟化平台中虚拟机的方法与系统57摘要本发明提供一种管理不同虚拟化平台中虚拟机的方法与系统,根据虚拟机管理操作,定义虚拟机管理的WSDL接口文件,将虚拟机管理的WSDL接口文件,转。
2、化为编程语言的接口文件,利用虚拟化平台内置的编程语言开放接口,执行虚拟机管理操作,生成虚拟机管理操作代码,编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码,根据所述可执行代码,管理不同虚拟化平台中虚拟机。整个管理过程简单、准确,定义虚拟机管理接口WSDL文件,在虚拟化平台上实现WSDL对应的服务器端的进程,使得实现WSDL接口,可以无缝地访问每个虚拟化平台的虚拟机,完美实现管理不同虚拟化平台中虚拟机。51INTCL权利要求书2页说明书5页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图3页10申请公布号CN104111863AC。
3、N104111863A1/2页21一种管理不同虚拟化平台中虚拟机的方法,其特征在于,包括步骤根据虚拟机管理操作,定义虚拟机管理的WSDL接口文件;将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件;针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码;编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码;根据所述可执行代码,管理不同虚拟化平台中虚拟机。2根据权利要求1所述的管理不同虚拟化平台中虚拟机的方法,其特征在于,所述将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件具体包括步骤;获取GSO。
4、AP工具;利用所述GSOAP工具,将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件。3根据权利要求1或2所述的管理不同虚拟化平台中虚拟机的方法,其特征在于,所述根据所述可执行代码,管理不同虚拟化平台中虚拟机具体包括步骤将所述可执行代码安装到虚拟化平台;根据所述可执行代码控制虚拟机的WSDL接口,管理不同虚拟化平台中虚拟机。4根据权利要求1或2所述的管理不同虚拟化平台中虚拟机的方法,其特征在于,所述针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码具体包括步骤遍历所述编程语言的接口文件,识别所述编程语言的接口文件中,实现的虚拟机。
5、管理接口空函数和没实现的虚拟机管理接口空函数;针对不同的虚拟化平台,分别获取不同虚拟化平台内置的编程语言开放接口;对所述实现的虚拟机管理接口空函数和所述没实现的虚拟机管理接口空函数,分别调用不同虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码。5根据权利要求1或2所述的管理不同虚拟化平台中虚拟机的方法,其特征在于,所述虚拟机管理操作包括虚拟机的创建、启动、复制、链接克隆以及关闭操作。6一种管理不同虚拟化平台中虚拟机的系统,其特征在于,包括WSDL接口文件获取模块,用于根据虚拟机管理操作,定义虚拟机管理的WSDL接口文件;编程语言的接口文件获取模块,用于将所述虚拟。
6、机管理的WSDL接口文件,转化为编程语言的接口文件;管理操作代码获取模块,用于针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码;可执行代码获取模块,用于编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码;管理模块,用于根据所述可执行代码,管理不同虚拟化平台中虚拟机。7根据权利要求6所述的管理不同虚拟化平台中虚拟机的系统,其特征在于,所述编权利要求书CN104111863A2/2页3程语言的接口文件获取模块具体包括步骤;GSOAP工具获取单元,用于获取GSOAP工具;转换单元,用于利用所述GSOAP工具,将所述。
7、虚拟机管理的WSDL接口文件,转化为编程语言的接口文件。8根据权利要求6或7所述的管理不同虚拟化平台中虚拟机的系统,其特征在于,所述管理模块具体包括安装单元,用于将所述可执行代码安装到虚拟化平台;管理单元,用于根据所述可执行代码控制虚拟机的WSDL接口,管理不同虚拟化平台中虚拟机。9根据权利要求6或7所述的管理不同虚拟化平台中虚拟机的系统,其特征在于,所述虚拟机管理操作包括虚拟机的创建、启动、复制、链接克隆以及关闭操作。10根据权利要求6或7所述的管理不同虚拟化平台中虚拟机的系统,其特征在于,所述管理操作代码获取模块具体包括空口函数获取单元,遍历所述编程语言的接口文件,识别所述编程语言的接口文。
8、件中,实现的虚拟机管理接口空函数和没实现的虚拟机管理接口空函数;接口获取单元,用于针对不同的虚拟化平台,分别获取不同虚拟化平台内置的编程语言开放接口;代码生成单元,用于对所述实现的虚拟机管理接口空函数和所述没实现的虚拟机管理接口空函数,分别调用不同虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码。权利要求书CN104111863A1/5页4管理不同虚拟化平台中虚拟机的方法与系统技术领域0001本发明涉及计算机软件技术领域,特别是涉及管理不同虚拟化平台中虚拟机的方法与系统。背景技术0002随着桌面虚拟化技术的发展,目前已有越来越多的公司和企业开始部署桌面虚拟化系统。
9、。0003在虚拟化桌面的部署及应用过程中,涉及到应用到不同的虚拟化平台来提供对桌面云虚拟化提供支持,如何对这些异构的虚拟平台桌面系统进行管理又成为了一个新的问题。在现有的部署中,需要用到不同的虚拟化管理工具来对不同虚拟化平台中虚拟机进行管理,这样给管理人员带来不便。0004复杂的虚拟化平台管理方式,需要耗费大量的人力和精力,严重制约虚拟化平台的工作效率。发明内容0005基于此,有必要针对现有虚拟化平台管理方式,实现复杂,需要耗费大量的人力和精力,严重制约虚拟化平台的工作效率的问题,提供一种简单、便捷的管理不同虚拟化平台中虚拟机的方法与系统,以提高虚拟化平台的工作效率。0006一种管理不同虚拟化。
10、平台中虚拟机的方法,包括步骤0007根据虚拟机管理操作,定义虚拟机管理的WSDLWEBSERVICESDESCRIPTIONLANGUAGE,WEB服务描述语言接口文件;0008将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件;0009针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码;0010编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码;0011根据所述可执行代码,管理不同虚拟化平台中虚拟机。0012一种管理不同虚拟化平台中虚拟机的系统,包括0013WSDL接口文件获取模块,用于根据虚拟机管。
11、理操作,定义虚拟机管理的WSDL接口文件;0014编程语言的接口文件获取模块,用于将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件;0015管理操作代码获取模块,用于针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码;0016可执行代码获取模块,用于编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码;说明书CN104111863A2/5页50017管理模块,用于根据所述可执行代码,管理不同虚拟化平台中虚拟机。0018本发明管理不同虚拟化平台中虚拟机的方法与系统,根据虚拟机管理操作,定义虚拟机管理的W。
12、SDL接口文件,将虚拟机管理的WSDL接口文件,转化为编程语言的接口文件,利用虚拟化平台内置的编程语言开放接口,执行虚拟机管理操作,生成虚拟机管理操作代码,编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码,根据所述可执行代码,管理不同虚拟化平台中虚拟机。整个管理过程简单、准确,在服务端实现WSDL定义的接口,并在接口中嵌入了不同虚拟化平台的虚拟机的管理接口,运行在虚拟化平台中。客户端实现WSDL接口,当维护工程时点击客户端端某一虚拟机的管理操作如启动虚拟机时,实际上是发起一个客户端的WSDL链接“启动”其消息中含开始指令,服务器端收到后,执行相应的启动操作,并将结。
13、果返回给客户端。当在不同的虚拟化平台实现服务端服务时,只要其接口实现附录里的WSDL文件,都可以通过统一的客户端来管理,这样可以无缝地访问每个虚拟化平台的虚拟机,完美实现管理不同虚拟化平台中虚拟机。附图说明0019图1为本发明管理不同虚拟化平台中虚拟机的方法第一个实施例的流程示意图;0020图2为本发明管理不同虚拟化平台中虚拟机的方法第二个实施例的流程示意图;0021图3为本发明管理不同虚拟化平台中虚拟机的系统第一个实施例的结构示意图;0022图4为本发明管理不同虚拟化平台中虚拟机的系统第二个实施例的结构示意图。具体实施方式0023为了使本发明的目的、技术方案及优点更加清楚明白,以下根据附图及。
14、实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施仅仅用以解释本发明,并不限定本发明。0024如图1所示,一种管理不同虚拟化平台中虚拟机的方法,其特征在于,包括步骤0025S100根据虚拟机管理操作,定义虚拟机管理的WSDL接口文件。0026虚拟机管理操作包括但不限于创建、启动、复制、链接克隆以及关闭等操作,任何在虚拟机管理过程需要对虚拟机进行操作的动作都可以成为虚拟机管理操作。WSDL是WEBSERVICE的描述语言,是一种接口定义语言,用于描述WEBSERVICE的接口信息等。0027S200将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件。0028编程语言包括。
15、但不限于C或C语言,编程语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。编程语言的接口文件便于计算机编程管理。0029S300针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码。0030虚拟化平台有多种,例如XENSERVER虚拟化平台,KVM虚拟化平台,HYPERV虚拟化平台,VIRTUALBOX虚拟化平台等。利用虚拟化平台内置的编程语言开放接口,执行各种述虚拟机管理操作,分别生成虚拟机管理操作代码。说明。
16、书CN104111863A3/5页60031S400编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码。0032将编程语言的接口文件和虚拟机管理操作代码进行编译和/或链接,生成管理不同虚拟化平台中虚拟机的可执行代码。0033S500根据所述可执行代码,管理不同虚拟化平台中虚拟机。0034本发明管理不同虚拟化平台中虚拟机的方法,根据虚拟机管理操作,定义虚拟机管理的WSDL接口文件,将虚拟机管理的WSDL接口文件,转化为编程语言的接口文件,利用虚拟化平台内置的编程语言开放接口,执行虚拟机管理操作,生成虚拟机管理操作代码,编译和/或链接所述编程语言的接口文件以及所述虚拟机。
17、管理操作代码,生成可执行代码,根据所述可执行代码,管理不同虚拟化平台中虚拟机。整个管理过程简单、准确,在服务端实现WSDL定义的接口,并在接口中嵌入了不同虚拟化平台的虚拟机的管理接口,运行在虚拟化平台中。客户端实现WSDL接口,当维护工程时点击客户端端某一虚拟机的管理操作如启动虚拟机时,实际上是发起一个客户端的WSDL链接“启动”其消息中含开始指令,服务器端收到后,执行相应的启动操作,并将结果返回给客户端。当在不同的虚拟化平台实现服务端服务时,只要其接口实现附录里的WSDL文件,都可以通过统一的客户端来管理,定义虚拟机管理接口WSDL文件,在每个虚拟化平台上实现WSDL对应的服务器端的进程,使。
18、得实现WSDL接口这样可以无缝地访问每个虚拟化平台的虚拟机,完美实现管理不同虚拟化平台中虚拟机。0035如图2所示,在其中一个实施例中,步骤S200具体包括步骤;0036S220获取GSOAP工具;0037S240利用所述GSOAP工具,将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件。0038GSOAP工具有多种,例如GSOAP的编译器等,其中,GSOAP的编译器能够自动的将用户定义的本地化的C或C数据类型转变为符合XML语法的数据结构,反之亦然。GSOAP工具可以从虚拟化平台的外部数据中下载,也可以直接利用存储设备加载/导入到的虚拟化平台中。GSOAP工具发布基于WSDL的服务。
19、,便于嵌入其它虚拟化平台提供的C或C。0039如图2所示,在其中一个实施例中,步骤S500具体包括步骤0040S520将所述可执行代码安装到虚拟化平台;0041S540根据所述可执行代码控制虚拟机的WSDL接口,管理不同虚拟化平台中虚拟机。0042可执行代码在生成之后发布、安装到虚拟化平台中,虚拟化平台根据可执行代码,可以准确、无缝访问到虚拟化平台中各个虚拟机,对虚拟机进行良好管控。0043在其中一个实施例中,所述针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码具体包括步骤0044遍历所述编程语言的接口文件,识别所述编程语言的接口文件中。
20、,实现的虚拟机管理接口空函数和没实现的虚拟机管理接口空函数;0045针对不同的虚拟化平台,分别获取不同虚拟化平台内置的编程语言开放接口;0046对所述实现的虚拟机管理接口空函数和所述没实现的虚拟机管理接口空函数,分别调用不同虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机说明书CN104111863A4/5页7管理操作代码。在其中一个实施例中,所述虚拟机管理操作包括虚拟机的创建、启动、复制、链接克隆以及关闭操作。0047为了便于解释说明本发明管理不同虚拟化平台中虚拟机的方法,下面将采用一具体事例进行解释说明整个方案。0048步骤一定义虚拟机管理的WSDL接口文件,这个定义的。
21、依据是虚拟机最常用的管理操作通常包括虚拟机的创建、复制、链接克隆、启动或关闭。0049步骤二下载GSOAP工具,利用GSOAP工具将WSDL文件变为C或C接口文件,GSOAP工具发布基于WSDL的服务,便于嵌入其它虚拟化平台提供的C或C。0050步骤三对不同的虚拟化平台,利用虚拟化平台本身提供的开放的C或C接口,实现相应的虚拟机管理操作,这些操作包括创建、启动、停止、复制、链接克隆等。0051步骤四步骤二生成的接口文件包括没实现的虚拟机管理接口空函数,对不同的接口空函数,通过调用步骤三的提供的接口来实现相应的虚拟机操作。0052步骤五利用GSOAP提供的网络接口编写GSOAP主函数WSDLMA。
22、IN,网络接口包括以下几个主要函数0053SOAP_BIND绑定一个网络端口;0054SOAP_ACCEPT接收到一个WSDL新连接;0055SOAP_SERVE激活一个管理操作方法,最终会调用到步骤四中的代码,即虚拟机的管理操作;0056SOAP_END结束一个WSDL连接;0057编写主服务入口MAIN,其函数体内调用WSDLMAIN。0058步骤六编译、链接步骤二、步骤三、步骤四以及步骤五代码,生成可执行代码,安装到虚拟化平台。安装后,启动该进程,在WINDOWS下启动支持该WSDL接口的客户端管理程序,就可看到该虚拟化平台所管理的虚拟机。0059通过实施本发明中提供的方法,可以为在QE。
23、MUKVM桌面虚拟化平台,HYPERV虚拟化平台,VIRTUALBOX虚拟化平台,XEN虚拟化平台运行的虚拟机提供统一的管理方式,当在不同的虚拟化平台实现服务端服务时,只要其接口实现附录里的WSDL文件,都可以通过统一的客户端来管理,定义虚拟机管理接口WSDL文件,在每个虚拟化平台上实现WSDL对应的服务器端的进程,使得实现WSDL接口可以无缝地访问每个虚拟化平台的虚拟机,不需要部署专用的虚拟化管理平台,简化了维护工程师的管理,极大地提高了工作效率。0060如图3所示,一种管理不同虚拟化平台中虚拟机的系统,包括0061WSDL接口文件获取模块100,用于根据虚拟机管理操作,定义虚拟机管理的WS。
24、DL接口文件;0062编程语言的接口文件获取模块200,用于将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件;0063管理操作代码获取模块300,用于针对不同的虚拟化平台,利用虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码;0064可执行代码获取模块400,用于编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码;0065管理模块500,用于根据所述可执行代码,管理不同虚拟化平台中虚拟机。说明书CN104111863A5/5页80066本发明管理不同虚拟化平台中虚拟机的系统,WSDL接口文件获取模块100根据虚拟机管理操作。
25、,定义虚拟机管理的WSDL接口文件,编程语言的接口文件获取模块200将虚拟机管理的WSDL接口文件,转化为编程语言的接口文件,管理操作代码获取模块300利用虚拟化平台内置的编程语言开放接口,执行虚拟机管理操作,生成虚拟机管理操作代码,可执行代码获取模块400编译和/或链接所述编程语言的接口文件以及所述虚拟机管理操作代码,生成可执行代码,管理模块500根据所述可执行代码,管理不同虚拟化平台中虚拟机。整个管理过程简单、准确,在服务端实现WSDL定义的接口,并在接口中嵌入了不同虚拟化平台的虚拟机的管理接口,运行在虚拟化平台中。客户端实现WSDL接口,当维护工程时点击客户端端某一虚拟机的管理操作如启动。
26、虚拟机时,实际上是发起一个客户端的WSDL链接“启动”其消息中含开始指令,服务器端收到后,执行相应的启动操作,并将结果返回给客户端。当在不同的虚拟化平台实现服务端服务时,只要其接口实现附录里的WSDL文件,都可以通过统一的客户端来管理,定义虚拟机管理接口WSDL文件,在每个虚拟化平台上实现WSDL对应的服务器端的进程,使得实现WSDL接口这样可以无缝地访问每个虚拟化平台的虚拟机,完美实现管理不同虚拟化平台中虚拟机。0067如图4所示,在其中一个实施例中,所述编程语言的接口文件获取模块200具体包括步骤;0068GSOAP工具获取单元220,用于获取GSOAP工具;0069转换单元240,用于利。
27、用所述GSOAP工具,将所述虚拟机管理的WSDL接口文件,转化为编程语言的接口文件。0070如图4所示,在其中一个实施例中,所述管理模块500具体包括0071安装单元520,用于将所述可执行代码安装到虚拟化平台;0072管理单元540,用于根据所述可执行代码控制虚拟机的WSDL接口,管理不同虚拟化平台中虚拟机。0073在其中一个实施例中,所述管理操作代码获取模块具体包括0074空口函数获取单元,遍历所述编程语言的接口文件,识别所述编程语言的接口文件中,实现的虚拟机管理接口空函数和没实现的虚拟机管理接口空函数;0075接口获取单元,用于针对不同的虚拟化平台,分别获取不同虚拟化平台内置的编程语言开。
28、放接口;0076代码生成单元,用于对所述实现的虚拟机管理接口空函数和所述没实现的虚拟机管理接口空函数,分别调用不同虚拟化平台内置的编程语言开放接口,执行所述虚拟机管理操作,生成虚拟机管理操作代码。0077在其中一个实施例中,所述虚拟机管理操作包括虚拟机的创建、启动、复制、链接克隆以及关闭操作。0078以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。说明书CN104111863A1/3页9图1说明书附图CN104111863A2/3页10图2说明书附图CN104111863A103/3页11图3图4说明书附图CN104111863A11。