CN106354547A - 一种基于bs的虚拟机创建实现方法 - Google Patents

一种基于bs的虚拟机创建实现方法 Download PDF

Info

Publication number
CN106354547A
CN106354547A CN201610769253.4A CN201610769253A CN106354547A CN 106354547 A CN106354547 A CN 106354547A CN 201610769253 A CN201610769253 A CN 201610769253A CN 106354547 A CN106354547 A CN 106354547A
Authority
CN
China
Prior art keywords
virtual machine
virtual
disk
microsoft loopback
loopback adapter
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
Application number
CN201610769253.4A
Other languages
English (en)
Inventor
翟辉
王佑鹏
蒋晨晓
王幸福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610769253.4A priority Critical patent/CN106354547A/zh
Publication of CN106354547A publication Critical patent/CN106354547A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

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

本发明提供一种基于BS的虚拟机创建实现方法,该实现方法使用Web开发的Spring架构和Rest API的开发方式,java代码进行实现,通过一个接口实现通过默认模板,用户自定义的模板和快照实现虚拟机的创建。该实现方法的过程包括:1)克隆或复制模板;2)形成新虚拟机;3)虚拟机基本参数配置;4)引导方式的设置;5)添加CD虚拟设备;6)添加虚拟磁盘;7)添加虚拟网卡。本发明基于BS的虚拟机创建实现方法通过系统默认模板、用户模板和快照创建虚拟机包含的共性操作,然后分析通过系统默认模板,用户模板和快照创建虚拟机包含的不同操作,将整体的流程搭建完成后,最后对每一个功能点进行单独的实现,降低代码的耦合性,提高代码可维护性。

Description

一种基于BS的虚拟机创建实现方法
技术领域
本发明涉及计算资源虚拟化技术领域,具体地说是一种基于BS的虚拟机创建实现方法。
技术背景
随着计算机技术以及服务器虚拟化的飞速发展,现已有很多服务器虚拟化产品,为了满足这些服务器虚拟化产品的管理平台多样化,服务器虚拟化产品提供了BS和CS两种管理方式。虚拟机化产品,包含了半虚拟化和全虚拟化两种,所以在进行虚拟机创建的时候要对这两种虚拟机化方式的模板,并且结合具体操作系统的类型来进行设置。此外,还要实现通过系统默认模板,用户模板和快照创建虚拟机,实现的逻辑比较复杂。
其中,CS(Client/Server,服务器/客户端架构),是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。Client/Server是建立在局域网的基础上的。针对CS的管理方式,CS的优点就是基于客户机和服务器模式,大部分的运算是在客户机上运行,从而提高一定的效率,但是也因为他在客户机上运行,所以要安装客户端,也导致了软件维护和升级时的不方便,需要程序员亲自进行升级配置。
其中,BS(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。Browser/Server是建立在广域网的基础上的,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser英 ['braʊzə]美 ['braʊzɚ]),如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。针对BS的管理方式,其优点在于,软件维护和升级方便,只要能上网就能升级了且在很多地方都能够直接使用软件,而不需要安装,前提是你要能登陆到服务器。
另一方面,基于BS和CS两种管理方式,1、硬件环境不同:CS一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。BS 建立在广域网之上的,不必是专门的网络硬件环境。例如电话上网,租用设,信息管理,有比CS更强的适应范围,一般只要有操作系统和浏览器就行。2、对安全要求不同:CS 一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用CS结构适宜,可以通过BS发布部分可公开信息。BS建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。3、对程序架构不同:CS程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。BS对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上,比CS有更高的要求。BS结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统。SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟。4.软件重用不同:CS程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种基于BS的虚拟机创建实现方法。
本发明的技术方案是按以下方式实现的:
一种基于BS的虚拟机创建实现方法,该实现方法使用Web开发的Spring架构和RestAPI的开发方式,java代码进行实现,通过一个接口实现通过默认模板,用户自定义的模板和快照实现虚拟机的创建。
该实现方法的过程包括:1)克隆或复制模板;2)形成新虚拟机;3)虚拟机基本参数配置;4)引导方式的设置;5)添加CD虚拟设备;6)添加虚拟磁盘;7)添加虚拟网卡。
在进行虚拟机引导方式设置的时候,要根据所克隆或复制模板的类型和特点进行设置。
在用户界面添加虚拟磁盘时,都是对虚拟磁盘进行参数操作,并未真正添加,添加磁盘的具体操作是在后台创建虚拟机流程中执行。在用户界面添加虚拟磁盘时,首先新建虚拟机虚拟磁盘信息列表,然后判断虚拟磁盘是否已经存在:若虚拟磁盘已经存在,则需要判断存储库是否改变,在存储库发生改变的情况下先移动虚拟磁盘再添加虚拟磁盘到虚拟机,在存储库未发生改变的情况下直接添加虚拟磁盘到虚拟机;若虚拟磁盘不存在,则新建虚拟磁盘,然后将此虚拟磁盘添加到虚拟机。
在用户界面进行虚拟网卡添加也是参数操作,并未做实际的操作,后台在为新建虚拟机添加网卡时,会将已存在的虚拟网卡全都删除,然后从新创建虚拟网卡,再进行添加虚拟网卡操作。在用户界面添加虚拟网卡时,首先新建虚拟机的信息,然后删除虚拟机已有的虚拟网卡,随后根据虚拟机信息中的虚拟网卡信息,新建虚拟网卡,并将新建的虚拟网卡添加到虚拟机。
基于BS的虚拟机创建实现方法通过系统默认模板、用户模板和快照创建虚拟机包含的共性操作,例如克隆或复制模板,形成新虚拟机,虚拟机基本参数的配置,添加CD设备,添加虚拟磁盘和添加虚拟网卡等,然后分析通过系统默认模板,用户模板和快照创建虚拟机包含的不同操作,例如PV和HVM虚拟机的引导方式设置的不同,将整体的流程搭建完成后,最后对每一个功能点进行单独的实现,降低代码的耦合性,提高代码可维护性。
本发明的一种基于BS的虚拟机创建实现方法与现有技术相比所产生的有益效果是:
本发明通过BS的开发方式,形成新的虚拟机创建的管理平台;分析通过系统默认模板,用户模板和快照创建虚拟机的相同操作,通过一个接口实现这三种模板进行虚拟机的创建,减少开发过程中的工作量。同时,分析出这三种模板创建虚拟机的不同之处,将他们相同的操作的不同之处进行逻辑隔离,提高代码的复用性。
附图说明
附图1是本发明的结构框图;
附图2是本发明添加虚拟磁盘的结构框图;
附图3是本发明虚拟网卡的结构框图。
具体实施方式
下面结合附图1-3,基于添加虚拟磁盘和添加虚拟网卡是本发明中较为复杂的内容,所以对本发明的内容以添加虚拟磁盘和添加虚拟网卡为例,采用添加虚拟磁盘、添加虚拟网卡的实现方式来描述本发明的主要内容。
如附图1所示,本发明的一种基于BS的虚拟机创建实现方法,针对InCloud Sphere4.0旗舰版,该实现方法使用Web开发的Spring架构和Rest API的开发方式,java代码进行实现,通过一个接口实现通过默认模板,用户自定义的模板和快照实现虚拟机的创建。
该实现方法的过程包括:1)克隆或复制模板;2)形成新虚拟机;3)虚拟机基本参数配置;4)引导方式的设置;5)添加CD虚拟设备;6)添加虚拟磁盘;7)添加虚拟网卡。
在进行虚拟机引导方式设置的时候,要根据所克隆或复制模板的类型和特点进行设置。
在用户界面添加虚拟磁盘时,都是对虚拟磁盘进行参数操作,并未真正添加,添加磁盘的具体操作是在后台创建虚拟机流程中执行。在用户界面添加虚拟磁盘时,首先新建虚拟机虚拟磁盘信息列表,然后判断虚拟磁盘是否已经存在:若虚拟磁盘已经存在,则需要判断存储库是否改变,在存储库发生改变的情况下先移动虚拟磁盘再添加虚拟磁盘到虚拟机,在存储库未发生改变的情况下直接添加虚拟磁盘到虚拟机;若虚拟磁盘不存在,则新建虚拟磁盘,然后将此虚拟磁盘添加到虚拟机。
在用户界面进行虚拟网卡添加也是参数操作,并未做实际的操作,后台在为新建虚拟机添加网卡时,会将已存在的虚拟网卡全都删除,然后从新创建虚拟网卡,再进行添加虚拟网卡操作。在用户界面添加虚拟网卡时,首先新建虚拟机的信息,然后删除虚拟机已有的虚拟网卡,随后根据虚拟机信息中的虚拟网卡信息,新建虚拟网卡,并将新建的虚拟网卡添加到虚拟机。
基于BS的虚拟机创建实现方法通过系统默认模板、用户模板和快照创建虚拟机包含的共性操作,例如克隆或复制模板,形成新虚拟机,虚拟机基本参数的配置,添加CD设备,添加虚拟磁盘和添加虚拟网卡等,然后分析通过系统默认模板,用户模板和快照创建虚拟机包含的不同操作,例如PV和HVM虚拟机的引导方式设置的不同,将整体的流程搭建完成后,最后对每一个功能点进行单独的实现,降低代码的耦合性,提高代码可维护性。
在本发明中前5个实现的步骤,需要考虑到虚拟机数据的组成,将必须的数据配置完成,将数据提交形成一个新的虚拟机。其实,虚拟磁盘的数据也可以先配置到虚拟机的配置数据,然后形成新的虚拟机,为了保持虚拟磁盘的独立,本发明没有采用这种方式。
为新创建的虚拟机添加虚拟磁盘,主体逻辑就是对用户输入的虚拟磁盘数据进行操作。系统默认的模板是没有虚拟磁盘的,虚拟磁盘的数据是用户添加的,然而对应用户模板和快照作为模板创建虚拟机,虚拟磁盘有用户模板和快照本身的虚拟磁盘和用户新建的虚拟磁盘。所以,本发明的设计是在创建虚拟机的过程中设置虚拟磁盘数据的时候,会将创建虚拟机所用模板的所有已存在的虚拟磁盘信息提供给用户让用户修改,且标记为已存在的磁盘;对于用户新创建的虚拟磁盘标记为新建,将用户设置好的信息传递给后台;后台在执行的时候如图2的执行流程。
为新创建的虚拟机添加虚拟网卡,主体逻辑就是对用户输入的虚拟网卡数据进行操作。实现过程与虚拟磁盘的实现过程相似,在创建虚拟机添加虚拟网卡的时候,同样会将模板已存在的虚拟网卡信息获取,用于用户修改,然后和用户添加的虚拟网卡信息封装传给后台处理。后台对虚拟网卡的操作如图3,首先是删除已存在的虚拟网卡,然后根据用户的虚拟网卡信息进行创建。选择删除已存在的虚拟网卡这个方法,这种方法不会毁坏用户数据,同时避免相同虚拟网卡的出现,产生冲突。
最后应当说明的是,以上内容仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管该具体实施方式部分对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

Claims (7)

1.一种基于BS的虚拟机创建实现方法,其特征在于,该实现方法使用Web开发的Spring架构和Rest API的开发方式,java代码进行实现,通过一个接口实现通过默认模板,用户自定义的模板和快照实现虚拟机的创建。
2.根据权利要求1所述的一种基于BS的虚拟机创建实现方法,其特征在于,该实现方法的过程包括:1)克隆或复制模板;2)形成新虚拟机;3)虚拟机基本参数配置;4)引导方式的设置;5)添加CD虚拟设备;6)添加虚拟磁盘;7)添加虚拟网卡。
3.根据权利要求2所述的一种基于BS的虚拟机创建实现方法,其特征在于,在进行虚拟机引导方式设置的时候,要根据所克隆或复制模板的类型和特点进行设置。
4.根据权利要求2所述的一种基于BS的虚拟机创建实现方法,其特征在于,添加虚拟磁盘时,都是对虚拟磁盘进行参数操作,并未真正添加,添加磁盘的具体操作是在后台创建虚拟机流程中执行。
5.根据权利要求4所述的一种基于BS的虚拟机创建实现方法,其特征在于,在用户界面添加虚拟磁盘时,首先新建虚拟机虚拟磁盘信息列表,然后判断虚拟磁盘是否已经存在:若虚拟磁盘已经存在,则需要判断存储库是否改变,在存储库发生改变的情况下先移动虚拟磁盘再添加虚拟磁盘到虚拟机,在存储库未发生改变的情况下直接添加虚拟磁盘到虚拟机;若虚拟磁盘不存在,则新建虚拟磁盘,然后将此虚拟磁盘添加到虚拟机。
6.根据权利要求2所述的一种基于BS的虚拟机创建实现方法,其特征在于,在用户界面进行虚拟网卡添加也是参数操作,并未做实际的操作,后台在为新建虚拟机添加网卡时,会将已存在的虚拟网卡全都删除,然后从新创建虚拟网卡,再进行添加虚拟网卡操作。
7.根据权利要求6所述的一种基于BS的虚拟机创建实现方法,其特征在于,在用户界面添加虚拟网卡时,首先新建虚拟机的信息,然后删除虚拟机已有的虚拟网卡,随后根据虚拟机信息中的虚拟网卡信息,新建虚拟网卡,并将新建的虚拟网卡添加到虚拟机。
CN201610769253.4A 2016-08-31 2016-08-31 一种基于bs的虚拟机创建实现方法 Pending CN106354547A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610769253.4A CN106354547A (zh) 2016-08-31 2016-08-31 一种基于bs的虚拟机创建实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610769253.4A CN106354547A (zh) 2016-08-31 2016-08-31 一种基于bs的虚拟机创建实现方法

Publications (1)

Publication Number Publication Date
CN106354547A true CN106354547A (zh) 2017-01-25

Family

ID=57858260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610769253.4A Pending CN106354547A (zh) 2016-08-31 2016-08-31 一种基于bs的虚拟机创建实现方法

Country Status (1)

Country Link
CN (1) CN106354547A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807842A (zh) * 2017-10-23 2018-03-16 国云科技股份有限公司 一种虚拟机在线克隆方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092674A (zh) * 2012-12-14 2013-05-08 北京伸得纬科技有限公司 一种虚拟机系统
CN103793259A (zh) * 2013-09-30 2014-05-14 中国电子设备系统工程公司研究所 一种虚拟器件的生成和部署方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092674A (zh) * 2012-12-14 2013-05-08 北京伸得纬科技有限公司 一种虚拟机系统
CN103793259A (zh) * 2013-09-30 2014-05-14 中国电子设备系统工程公司研究所 一种虚拟器件的生成和部署方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HTTP://WWW.EGOUZ.COM/TOPICS/13302.HTML: "《Nwyun:鸟窝云多系统平台》", 《HTTP://WWW.EGOUZ.COM/TOPICS/13302.HTML》 *
LGKITE: "《如何在VMware Server中创建一个新的虚拟机》", 《百度文库》 *
OK79079: "《Citrix XenServer 6.0入门系列教程之07:使用模板(Template)》", 《百度文库》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807842A (zh) * 2017-10-23 2018-03-16 国云科技股份有限公司 一种虚拟机在线克隆方法

Similar Documents

Publication Publication Date Title
Li et al. Serverless computing: state-of-the-art, challenges and opportunities
AU2020291917B2 (en) Big data application lifecycle management
US9703890B2 (en) Method and system that determine whether or not two graph-like representations of two systems describe equivalent systems
CN102681899B (zh) 云计算服务平台的虚拟计算资源动态管理方法
US10474438B2 (en) Intelligent cloud engineering platform
US9106584B2 (en) Cloud infrastructure services
US9086901B2 (en) Migration of applications from physical machines to virtual machines
CN102262557B (zh) 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN106462467A (zh) 在不同分布式网络上针对消费服务的集成api和ui
US10942790B2 (en) Automated-application-release-management subsystem that incorporates script tasks within application-release-management pipelines
Cai et al. A transparent approach of enabling SaaS multi-tenancy in the cloud
CN107329799A (zh) 一种融合Docker容器与KVM虚拟化技术的系统
CN105637478B (zh) 原生移动应用代码的计算机辅助开发
US11265202B2 (en) Integrated automated application deployment
CN109561147A (zh) 一种异构云管理方法及系统、异构云管理系统构建方法
US10747585B2 (en) Methods and apparatus to perform data migration in a distributed environment
US10802954B2 (en) Automated-application-release-management subsystem that provides efficient code-change check-in
KR20170122568A (ko) 오픈 소스 가상화 클라우드 환경 기반 네트워크 컴퓨팅 개발 테스트베드 시스템
WO2013007141A1 (zh) 面向业务模型的软件运行平台及其运行方式
US11301262B2 (en) Policy enabled application-release-management subsystem
US20170161023A1 (en) Automated application-release-management subsystem
US10503630B2 (en) Method and system for test-execution optimization in an automated application-release-management system during source-code check-in
US20170163518A1 (en) Model-based artifact management
US10452426B2 (en) Methods and systems for configuration-file inheritance
CN103793242A (zh) 一种基于虚拟计算环境的信息系统快速部署方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170125