CN103716347A - 建立虚拟机的方法、装置和云服务器 - Google Patents

建立虚拟机的方法、装置和云服务器 Download PDF

Info

Publication number
CN103716347A
CN103716347A CN201210375360.0A CN201210375360A CN103716347A CN 103716347 A CN103716347 A CN 103716347A CN 201210375360 A CN201210375360 A CN 201210375360A CN 103716347 A CN103716347 A CN 103716347A
Authority
CN
China
Prior art keywords
virtual machine
application program
public resource
user
operating system
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.)
Granted
Application number
CN201210375360.0A
Other languages
English (en)
Other versions
CN103716347B (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201210375360.0A priority Critical patent/CN103716347B/zh
Priority to US14/039,850 priority patent/US9846586B2/en
Publication of CN103716347A publication Critical patent/CN103716347A/zh
Application granted granted Critical
Publication of CN103716347B publication Critical patent/CN103716347B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

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

本发明涉及建立虚拟机的方法、装置和云服务器。一种建立虚拟机的方法,包括:响应于用户建立虚拟机的请求,根据用户对操作系统的选择为所述虚拟机加载操作系统;根据用户对至少一个应用程序的选择为所述虚拟机组装所述至少一个应用程序,包括:根据预先存储的与所述应用程序相关的信息,将所述应用程序所涉及的文件拷贝到虚拟机上的预定位置并更改由所述操作系统管理的公共资源配置。本发明使得用户可以在申请建立虚拟机时灵活安装所需要的软件而又不致于花费太多时间。

Description

建立虚拟机的方法、装置和云服务器
技术领域
本公开涉及一种建立虚拟机的方法,更具体地,涉及虚拟机的建立、运行、恢复等方面。
背景技术
物理机-虚拟机技术是众所周知的。例如,在物理机(例如服务器)响应于用户的请求为多个用户分配相应的硬件资源(通常为物理机硬件资源的一部分),使得对于用户来说,就好像他正在使用一台单独的物理机一样(也即,虚拟机,其包含操作系统、相应的硬件和应用程序等等)。用户可以通过网络来实现对虚拟机的远程访问,例如云服务器应用。如此,用户不必单独花费金钱来购置高性能的计算机,而可以利用提供上述云服务的业务供应商来实现例如科研、海量运算等需要高性能计算机的项目。
现有技术中,在物理机上为用户建立虚拟机通常包括以下几种方式。一种方式是在建立虚拟机时,用户只能对操作系统的种类作出选择,而在虚拟机上使用的应用程序则需要用户自行安装。在这种模式下,服务供应商仅提供操作系统的镜像文件。镜像文件技术是建立虚拟机时加载操作系统和/或应用程序时常用的技术。当对虚拟机使用包含了特定操作系统的镜像文件时,就会在虚拟机上加载该特定的操作系统。很显然,如果服务供应商只提供操作系统的镜像文件,那么用户所需要的应用程序就必须自行安装。而另一个事实是,虚拟机的一个优点就是可以多重申请以提高工作效率。例如,一个用户可以同时申请10个虚拟机,并安装相同的应用程序来执行海量运算。在这种情况下,用户每次申请虚拟机都必须自行安装所需要的软件。
另一种方式是,服务供应商预先在物理机上提供了一些预定的镜像文件。在这些镜像文件中,已经包含了特定操作系统和特定应用程序的组合。参考附图4,其中示出了这些镜像文件的示例性例子。例如,镜像文件1中包含了操作系统1和应用程序A、B、C,在建立虚拟机时使用这样的镜像文件,则建立好的虚拟机上将会得到安装有应用程序A、B、C的操作系统1。然而,众所周知的是,目前常用的操作系统有数十种之多(例如Microsoft公司的
Figure BDA00002215621000021
系列以及例如Linux系列的操作系统),而常用的应用程序更是浩如烟海。如图4所示,包含了不同的应用程序时,哪怕仅有一种应用程序不同(镜像文件2中的应用程序D和镜像文件3中的应用程序E),最终的镜像文件也会不同。因此,即使仅仅提供常见应用程序与常见操作系统的组合,就会得到一个相当大的数目。由此,即使仅仅在物理机上预先准备涵盖常见操作系统和应用程序的组合的镜像文件,也将会耗费了大量的存储空间,这无疑不是成本高效的。
发明内容
本发明的各种实施例的目的之一是提出了一种改进的建立虚拟机的方法、装置和服务器。
根据本公开的一个方面,提供了一种建立虚拟机的方法,包括:响应于用户建立虚拟机的请求,根据用户对操作系统的选择为所述虚拟机加载操作系统;根据用户对至少一个应用程序的选择为所述虚拟机组装所述至少一个应用程序,包括:根据预先存储的与所述应用程序相关的信息,将所述应用程序所涉及的文件拷贝到虚拟机上的预定位置并更改由所述操作系统管理的公共资源配置。
根据本公开的另一个方面,提供了一种用于建立虚拟机的装置,操作地耦合到其上架设有虚拟机的物理机,所述装置包括:加载单元,被配置为响应于用户建立虚拟机的请求,根据用户对操作系统的选择为所述虚拟机加载操作系统;组装单元,根据用户对至少一个应用程序的选择为所述虚拟机组装所述至少一个应用程序,包括:根据预先存储的与所述应用程序相关的信息,将所述应用程序所涉及的文件拷贝到虚拟机上的预定位置并在所述虚拟机中更改由所述操作系统管理的公共资源配置。
根据本公开的另一个方面,还涉及一种包括本公开以上方面的装置的云服务器。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本公开一实施例的云计算节点;
图2表示根据本公开一实施例的云计算环境;
图3表示根据本公开一实施例的抽象模型层;
图4示出了现有技术中需要预先准备的镜像文件的例子;
图5示出了根据本公开一个实施例的方法的流程图;
图6示出了根据本公开可选实施例的方法的流程图;
图7示出了根据本公开的一个实施例的用于建立虚拟机的装置700的示意性框图;以及
附图8示出了根据本公开的可选实施例的用于建立虚拟机的装置800的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本公开实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本公开的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如
Figure BDA00002215621000091
系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM
Figure BDA00002215621000092
系统;IBM
Figure BDA00002215621000093
系统;IBM Blade系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM
Figure BDA00002215621000095
应用服务器软件;数据库软件,例如IBM
Figure BDA00002215621000096
数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用程序许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理。
根据本公开的一个实施例,提供了一种建立虚拟机的方法,包括:响应于用户建立虚拟机的请求,根据用户的选择为所述虚拟机加载操作系统。根据用户的选择为所述虚拟机组装至少一个应用程序,包括:根据预先存储的与所述应用程序相关的信息,将所述应用程序所涉及的文件拷贝到虚拟机上的预定位置并在所述虚拟机中更改由操作系统管理的公共资源配置。
本领域技术人员应当理解,此处使用的术语“组装”表明了与通常的“安装”应用程序完全不同的方式。
具体来说,本领域技术人员应当理解,所谓“安装”是指通常在计算机上加载应用程序的方法。在这种方式中,通常使用应用程序的安装包(通常命名为install.exe或者setup.exe或者其他类似名称的可执行文件)。在运行上述可执行文件时,计算机实际上执行了一个解压缩的处理,将应用程序的各文件解压缩到计算机上。对于一些软件,执行上述可执行文件还可能触发从网络下载额外或者全部需要的文件。
根据本公开,所谓“组装”是与上述安装方式不同的方式。以下将结合具体应用程序的实例来讲述根据本公开的“组装”技术。
图5示出了根据本公开一个实施例的方法的流程图。在步骤501,响应于用户建立虚拟机的请求,根据用户对操作系统的选择为所述虚拟机加载操作系统。例如,在步骤501,用户可以选择自己期望的操作系统,例如Microsoft公司的
Figure BDA00002215621000111
系列(例如
Figure BDA00002215621000112
)以及例如Linux系列的操作系统(例如Red-flag Linux)。在步骤502,根据用户对应用程序的选择为所述虚拟机组装至少一个应用程序,包括:根据预先存储的与应用程序相关的信息,将应用程序所涉及的文件拷贝到虚拟机上的预定位置并更改操作系统管理的公共资源配置。
本领域技术人员应当明白,为了不模糊本公开的要点和主旨,已经省略了与本公开技术方案无关的步骤。例如,在建立虚拟机时,首先用户会选择期望的硬件资源,例如虚拟机的期望CPU性能、期望存储空间等等。然而,上述步骤与本公开的要点无关,因此省略了对其的描述。
以下将以
Figure BDA00002215621000113
公司的操作系统
Figure BDA00002215621000114
和应用程序
Figure BDA00002215621000115
(以下简称为Word)的组合为例讲述如何在虚拟机上组装该软件。当观察在计算机(虚拟机)上安装好的Word应用程序时,可以发现其所涉及的文件存储在预定的文件夹中。例如,一部分文件存储在路径“C:\Program Files\MicrosoftOffice”、另一部分文件存储在路径“C:\Users\xxx\AppData\Roaming\Microsoft\Office”,以及还有部分文件存储在路径“C:\ProgramData\Microsoft\OFFICE”。
换言之,对于一个在特定操作系统下安装好的应用程序,其涉及哪些文件,以及这些文件存放的位置都是已知的。由此,在根据本公开的一个实施例中,可以例如在物理机的数据库中预先存储Word应用程序所涉及的各个文件以及这些文件的存放位置。当用户选择了和Word的组合时,物理机将这些文件直接拷贝到虚拟机中的指定位置(即,上文所示的三处路径下),而无需经过安装处理。
另一方面,应用程序的安装还涉及对操作系统管理的公共资源的配置。操作系统管理的公共资源的一个例子是例如在安装了
Figure BDA00002215621000121
操作系统时其中的注册表。众所周知,注册表是操作系统中的一个重要的数据库,用于存储系统和应用程序的设置信息。
当安装应用程序时,安装程序会自动对注册表进行设置。在根据本公开的一个实施例中,当观察安装好的Word应用程序时,可以发现其对注册表中项目的更改、增加也是已知的。换言之,对于一个安装好的应用程序,其涉及更改、增加哪些注册表项目都是已知的。因此,在根据本公开的一个实施例中,对于特定操作系统(包括注册表的),可以预先存储一个安装好的Word应用程序对于注册表项目的配置情况。在拷贝了Word应用程序所涉及的文件之后,直接按照所存储的配置对注册表进行配置。
本领域技术人员应当理解,尽管上文参照
Figure BDA00002215621000123
和Word的特定组合进行了讲解,然而本公开并不仅限于一个应用程序,也并非仅限于上述特定的组合。本领域技术人员将会理解,上文讲述的技术方案对于其他应用程序(包括多个应用程序)和其他系统以及它们之间的不同的组合都是适用的。
尽管上文使用注册表作为例子进行了讲解,然而本领域技术人员应当理解,此处的注册表仅仅是计算机(虚拟机)公共资源的一个例子。计算机(虚拟机)公共资源并不仅限于注册表。例如,有些应用程序涉及对计算机端口的配置,例如打印机端口。另一方面,对于不同的操作系统,公共资源的种类也有所不同。例如,在Linux操作系统下,安装的应用程序涉及了对环境变量的配置。
总而言之,在根据本公开的一个实施例中,对于应用程序的安装采用了不同的方式。在物理机上预先存储了应用程序所涉及的文件以及与应用程序相关的信息。在一个实施例中,与应用程序相关的信息包括应用程序所涉及的文件在各个操作系统下的对应存放位置,此外,还预先存储了应用程序对各操作系统管理的公共资源的配置。当用户希望在为其建立的虚拟机上安装应用程序时,直接将应用程序所涉及的文件按照预先存储的位置拷贝到虚拟机上。随后,根据预先存储的该应用程序对公共资源的配置来改变实际操作系统管理的公共资源。
如上文所述,现有技术的“安装”方式涉及是解压缩的过程,并且有可能还会包含从网络上下载某些文件的过程。而根据本公开,组装应用程序使用的是拷贝的方式,相比于解压缩,拷贝是一种更加快速的方式,此外,当预先准备好应用程序所涉及的文件时,可以避免从网络上下载的过程。这些都能够提高准备虚拟机的效率,缩短用户的等待时间。
使用如本公开所记载的技术方案,可以使得用户能够灵活地选择期望的应用程序,而物理机能够提供自动组装特定应用程序的服务。另一方面,使用如本公开所记载的技术方案,所存储的仅仅是应用程序本身的文件,而文件在各操作系统下的存放位置通常可以以数据列表或数据库的形式存放,这将只占用相当小的存储空间。由此,使用根据本公开的实施方式,不必在物理机(云服务器)上预先存储多个镜像文件,从而大大节省了物理机上的硬件资源。
以下将结合附图讲述根据本公开的可选实施方式。
虽然可以响应于客户的选择,在为虚拟机装载了操作系统之后,直接调用这些安装文件为客户安装其所选择的应用程序。但在某些情况下这可能会带来问题。如上文所述,在安装应用程序时会涉及对公共资源的配置。由于安装是在物理机端自动进行而非用户自主执行的,因此每个应用程序对于公共资源的配置也都是默认的。
假设存在两个以上的应用程序的安装会涉及对相同的公共资源进行配置,那么安装之后的应用程序就可能会存在问题。例如,通常在后安装的应用程序会覆盖或改写前一个应用程序对公共资源的配置。严重时,会导致这些应用程序都无法正常使用。
举例来说,假设用户希望在虚拟机上安装Word应用程序和金山软件公司的WPS应用程序。众所周知,这两款软件都可以用于处理.doc文件。例如
Figure BDA00002215621000131
操作系统下,安装Word应用程序之后,安装程序会自动配置注册表,使得Word应用程序成为打开.doc文件的默认应用程序。然而,同样地,随后安装的WPS也会配置注册表,使其成为打开.doc文件的默认应用程序。假设用户实际上希望使用Word应用程序成为处理.doc文件的默认应用程序,那么上述安装则偏离了用户的期望。用户由此必须手动地更改配置。
本领域技术人员应当理解,上述的例子仅仅是为了便于理解而给出的简单的说明。在实际应用中,对公共资源的配置冲突往往会导致更加严重的问题,例如使得多个相关的应用程序全部无法运行,或者使得系统崩溃。
正是由于存在着上述问题,因此,在实践中基本上没有采用这种方式。
在本公开的一个可选实施例中,使用“组装”的技术方案并不存在上述问题。以下参考附图6来讲述根据本公开的可选实施例。
在步骤S601,响应于用户选择多个应用程序,判断是否存在会配置相同公共资源的两个以上的应用程序。正如前文所述,已经预先存储了所提供的应用程序对公共资源的配置信息。通过在多个应用程序之间比对这些信息,可以确定是否存在两个以上的应用程序将会配置相同的公共资源,例如相同的注册表项或者相同的计算机端口等。
如果不存在这样的应用程序,则方法前进到步骤606。此时,直接按照前文所述的方式组装上述应用程序即可。
如果存在将会配置相同公共资源的两个以上的应用程序,则方法进行到步骤S602,在物理机的数据库中查找针对多个应用程序与特定操作系统的组合的公共资源配置信息(例如,对于注册表特定项目的配置或者对于端口的配置)。毋庸置疑,预先存储的公共资源配置信息代表了经过验证的、针对所述组合不会带来问题的公共资源配置。使用这样的公共资源配置信息不会导致如前文所述的问题。
在步骤S602之后,当在物理机的数据库中存在针对特定操作系统和应用程序组合的公共资源配置信息时,方法前进到步骤S607。由于已经存在了可用的公共资源配置信息,此时,只需要根据该信息对操作系统管理的公共资源进行配置,就可以得到组装好的应用程序。
根据本公开,可以以多种方式获得前文所述预先存储的公共资源配置信息。例如,在根据本公开的一个实施例中,可以从物理机上架设的其他虚拟机处收集上述信息。例如,其他虚拟机选择了相同的组合。当观察到这些虚拟机的用户并没有反馈错误或者卸载其中的某些应用程序时,可以认为该用户的公共资源配置针对该组合是可用的——也即——经过验证的。另一方面,该物理机(例如云服务器)也可以通过网络向其他物理机(外部源)收集这方面的信息。本领域技术人员应当理解,还可以通过其他各种方法收集该信息。
本领域技术人员应当理解,在步骤S606和S607,尽管涉及到组装多个应用程序,仍然可以按照前文所述的组装的方式将多个应用程序加载到虚拟机上。在根据本公开的一个实施例中,根据预先存储的与多个应用程序相关的信息,可以首先拷贝所有应用程序所涉及的文件,最后再统一配置公共资源。当然,也可以逐一地组装每个应用程序。
在步骤S602之后,当在物理机的数据库中不存在针对该组合的公共资源配置信息时,方法继续到步骤S603。在步骤S603,物理机调用多个应用程序的安装文件在虚拟机上安装多个应用程序,并将安装完成之后虚拟机上的公共资源配置信息存储在所述数据库中,用作针对所述组合的公共资源配置。此时,尽管知道在特定操作系统上安装这些应用程序有可能导致公共资源配置方面的冲突,然而由于物理机无法找到经验证可用的公共资源配置信息,因此,物理机调用应用程序的安装文件在虚拟机上执行安装。在安装完成之后,物理机在数据库中将存储针对所述组合的配置信息,作为用于该组合的公共资源配置信息。
如上文所述,这样的安装方式可能会给虚拟机的运行带来问题。然而,这并不是绝对的。以公共资源是注册表的情况为例,在实际安装时,安装的先后顺序,用户在安装应用程序时所选择的期望配置(例如,不选择Word作为打开.doc的默认应用程序)等都会最终影响安装后的公共资源的配置。
因此,进行了上述安装步骤之后,虚拟机有可能是没有问题的。因此,此时物理机以一个试验的顺序来安装,寻求一种可用的公共资源配置。
对于这种情况,在步骤S604,物理机接收来自用户对于安装结果的反馈,
如果用户反馈安装的结果不令人满意,这可能表明安装带来了问题。此时,则物理机可以将所收集到的公共资源配置信息视为不可用的,例如,可以直接弃用上述信息。在这种情况下,物理机可以命令虚拟机以调整后的顺序重新安装上述应用程序,并用重新安装完成之后虚拟机上的公共资源配置信息更新数据库。在另一个实施例中,也可以在安装完应用程序之后尝试不同的应用程序配置,以带来不同的公共资源配置。如果用户没有特别的反馈,则认为安装所导致的公共资源配置是可用的。此时,存储在数据库中的公共资源配置就成为了对于该组合可用的公共资源配置,可以随后用在出现该组合的情况中。
在步骤S605,如果用户没有提出特别的反馈,则认为之前存储的公共资源配置是可用的。该公共资源配置信息就可以随后用于特定的操作系统和应用程序的组合。
现有技术中的安装过程是一种正向的过程。在这个过程中,安装过程仅仅专注于并且服务于自身应用程序的安装。安装过程中的解压缩文件和配置公共资源二者是一个密不可分的整体。然而,在根据本公开的所谓的组装技术中,不但可以提供如前文所述的减小存储镜像文件,还可以将拷贝文件和配置公共资源分开处理。后者可以带来额外的优点,例如,可以避免多个应用程序安装过程中可能导致的冲突。
以下结合附图讲述根据本公开的用于建立虚拟机的装置。
附图7示出了根据本公开的一个实施例的用于建立虚拟机的装置700的示意性框图。本领域技术人员可以理解,用于建立虚拟机的装置700可以可操作地耦合到其上架设有虚拟机的物理机。如图所示,装置700包括加载单元701和组装单元702。在根据本公开的一个实施例中,装置700可以直接获得或者间接地从物理机处获得用户的输入。加载单元701可以响应于用户建立虚拟机的请求,为虚拟机加载用户选择的操作系统。组装单元702可以根据用户的选择为虚拟机组装至少一个应用程序。在根据本公开的一个实施例中,组装过程包括:根据预先存储的与应用程序相关的信息,将应用程序所涉及的文件拷贝到虚拟机上的预定位置并在虚拟机中更改该由操作系统管理的公共资源配置。
附图8示出了根据本公开的可选实施例的用于建立虚拟机的装置800的示意性框图。如图所示,在装置800中,除了如图7中所示的加载单元701和组装单元702之外,还包括冲突判断单元801和冲突解决单元802。如前文所述,可能存在不同的应用程序会配置相同的公共资源的情况。冲突判断单元801和冲突解决单元802可以被提供进一步的解决方案。在根据本公开的一个实施例中,冲突判断单元801被配置为判断在用户所选择的多个应用程序中是否存在会配置相同公共资源的两个以上的应用程序。冲突解决单元802被配置为,当冲突判断单元801确定存在两个以上的应用程序会配置相同公共资源时,在物理机的数据库中查找针对当前选择的多个应用程序与操作系统的组合的公共资源配置信息。当存在上述公共资源配置信息时,冲突解决单元802将该公共资源配置信息提供给组装单元702用于组装多个应用程序。另一方面,当不存在针对特定组合的公共资源配置信息时,冲突解决单元802调用多个应用程序的安装文件在虚拟机上安装应用程序,并将安装完成之后虚拟机上的公共资源配置信息存储在物理机的数据库中。
如前所述,冲突解决单元802可以进一步被配置为接收来自用户对于安装结果的反馈,当用户反馈表明认可所述安装结果时,将安装所述多个应用程序后虚拟机上的公共资源配置信息视为针对所述组合的经验证的公共资源配置信息,并利用经验证的公共资源配置信息更新所述数据库。另一方面,当用户反馈安装应用程序的结果不令人满意时,冲突解决单元802可以被配置为以不同的安装顺序或者不同的应用程序配置为所述虚拟机重新安装应用程序,获取可能不同的公共资源配置。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (13)

1.一种建立虚拟机的方法,包括:
响应于用户建立虚拟机的请求,根据用户对操作系统的选择为所述虚拟机加载操作系统;
根据用户对至少一个应用程序的选择为所述虚拟机组装所述至少一个应用程序,包括:根据预先存储的与所述应用程序相关的信息,将所述应用程序所涉及的文件拷贝到虚拟机上的预定位置并更改由所述操作系统管理的公共资源配置。
2.根据权利要求1所述的方法,其中与所述应用程序相关的信息包括:
所述应用程序所涉及的文件在所述操作系统下的存放位置;
所述应用程序对所述公共资源的配置信息。
3.根据权利要求1所述的方法,其中响应于用户选择多个应用程序,所述更改由所述操作系统管理的公共资源配置进一步包括:
判断在所述多个应用程序中是否存在将配置相同公共资源的两个以上的应用程序,
如果存在,则在物理机的数据库中查找针对所述多个应用程序与所述操作系统的组合的公共资源配置信息;
当存在所述公共资源配置信息时,根据所述公共资源配置信息更改由所述操作系统管理的公共资源配置;
当不存在针对所述组合的公共资源配置信息时,所述物理机调用所述多个应用程序的安装文件在所述虚拟机上安装所述多个应用程序,并将安装完成之后由操作系统管理的公共资源配置信息存储在所述数据库中,用作针对所述组合的公共资源配置。
4.根据权利要求3所述的方法,进一步包括:
所述物理机接收来自用户对于安装结果的反馈,响应于用户反馈对安装的结果不令人满意,所述物理机以调整后的顺序为所述虚拟机重新安装应用程序,并用重新安装完成之后虚拟机上的公共资源配置信息更新所述数据库。
5.根据权利要求3或4所述的方法,进一步包括:
所述物理机从其上架设的其他虚拟机以及从外部源获取针对特定操作系统和应用程序组合的公共资源配置信息。
6.根据权利要求1-4任意一项所述的方法,其中对于Windows操作系统,所述公共资源至少包括注册表,对于Linux系统,所述公共资源至少包括环境变量。
7.一种用于建立虚拟机的装置,操作地耦合到其上架设有虚拟机的物理机,所述装置包括:
加载单元,被配置为响应于用户建立虚拟机的请求,根据用户对操作系统的选择为所述虚拟机加载操作系统;
组装单元,根据用户对至少一个应用程序的选择为所述虚拟机组装所述至少一个应用程序,包括:根据预先存储的与所述应用程序相关的信息,将所述应用程序所涉及的文件拷贝到虚拟机上的预定位置并在所述虚拟机中更改由所述操作系统管理的公共资源配置。
8.根据权利要求7所述的装置,其中与所述应用程序相关的信息包括:
所述应用程序所涉及的文件在所述操作系统下的存放位置;
所述应用程序对所述公共资源的配置信息。
9.根据权利要求7所述的装置,所述装置进一步包括:
冲突判断单元,被配置为判断在用户所选择的多个应用程序中是否存在将配置相同公共资源的两个以上的应用程序;
冲突解决单元,被配置为,响应于所述冲突判断单元确定存在两个以上的应用程序会配置相同公共资源,在物理机的数据库中查找针对所述多个应用程序与所述操作系统的组合的公共资源配置信息:
当存在所述公共资源配置信息时,所述冲突解决单元将所述公共资源配置信息提供给所述组装单元用于组装所述多个应用程序;
当不存在针对所述组合的公共资源配置信息时,所述冲突解决单元调用所述多个应用程序的安装文件在所述虚拟机上安装所述多个应用程序,并将安装完成之后虚拟机上的公共资源配置信息存储在所述数据库中,用作针对所述组合的公共资源配置。
10.根据权利要求9所述的装置,其中:
所述冲突解决单元进一步被配置为接收来自用户对于安装结果的反馈,响应于用户反馈对安装顺序进行调整,所述冲突解决单元进一步被配置为以调整后的顺序为所述虚拟机重新安装应用程序,并用重新安装完成之后虚拟机上的公共资源配置信息更新所述数据库。
11.根据权利要求7-11任意一项所述的装置,进一步包括:
所述物理机从其上架设的其他虚拟机以及从外部源获取针对特定操作系统和应用程序组合的公共资源配置信息。
12.根据权利要求7-11任意一项所述的装置,其中对于Windows操作系统,所述公共资源至少包括注册表中的项目,对于Linux系统,所述公共资源至少包括环境变量。
13.一种云服务器,包括根据权利要求7-12任意一项所述的装置。
CN201210375360.0A 2012-09-29 2012-09-29 建立虚拟机的方法、装置和云服务器 Expired - Fee Related CN103716347B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210375360.0A CN103716347B (zh) 2012-09-29 2012-09-29 建立虚拟机的方法、装置和云服务器
US14/039,850 US9846586B2 (en) 2012-09-29 2013-09-27 Creating a virtual machine and cloud server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210375360.0A CN103716347B (zh) 2012-09-29 2012-09-29 建立虚拟机的方法、装置和云服务器

Publications (2)

Publication Number Publication Date
CN103716347A true CN103716347A (zh) 2014-04-09
CN103716347B CN103716347B (zh) 2017-06-23

Family

ID=50386552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210375360.0A Expired - Fee Related CN103716347B (zh) 2012-09-29 2012-09-29 建立虚拟机的方法、装置和云服务器

Country Status (2)

Country Link
US (1) US9846586B2 (zh)
CN (1) CN103716347B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504000A (zh) * 2014-12-08 2015-04-08 华为技术有限公司 一种远程镜像文件的传输方法,装置及系统
CN106201648A (zh) * 2016-06-27 2016-12-07 浪潮电子信息产业股份有限公司 一种虚拟机创建方法及装置
CN107077379A (zh) * 2016-04-25 2017-08-18 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置
CN109840094A (zh) * 2017-11-24 2019-06-04 腾讯科技(深圳)有限公司 一种数据库的部署方法、装置及存储设备
CN110879711A (zh) * 2018-09-05 2020-03-13 林保成 个人云系统及其相关本地化方法
CN114510293A (zh) * 2022-02-17 2022-05-17 平安普惠企业管理有限公司 应用包缩减处理方法、装置、计算机设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680697B2 (en) * 2013-12-17 2017-06-13 International Business Machines Corporation Dynamic product installation based on user feedback
US10503531B2 (en) * 2013-12-24 2019-12-10 Red Hat, Inc. Loading runtime configuration files into virtual machine instances which when executed transform a stored virtual machine image into a customized configuration
WO2015167592A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Using a single deployer agent to deploy a plurality of programs on a server
US11080041B1 (en) * 2017-03-30 2021-08-03 Amazon Technologies, Inc. Operating system management for virtual workspaces
US20190386895A1 (en) * 2018-06-13 2019-12-19 At&T Intellectual Property I, L.P. East-west traffic monitoring solutions for the microservice virtualized data center lan
US20220070239A1 (en) * 2020-08-28 2022-03-03 Tmrw Foundation Ip S. À R.L. System and method to provision cloud computing-based virtual computing resources within a virtual environment
CN113312064B (zh) * 2021-06-01 2024-03-26 中国民航信息网络股份有限公司 物理机的安装配置方法、装置以及计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006036277A2 (en) * 2004-09-23 2006-04-06 Transcontinental Events, Llc System and method for on-demand cloning of virtual machines
CN101071463A (zh) * 2007-06-08 2007-11-14 北京飞天诚信科技有限公司 虚拟个人办公环境的方法和设备
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
CN101655798A (zh) * 2008-08-18 2010-02-24 联想(北京)有限公司 一种计算机和虚拟机环境中应用程序部署和运行的方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0463251A1 (en) * 1990-06-28 1992-01-02 International Business Machines Corporation Software installation
US7028019B2 (en) * 1998-11-11 2006-04-11 Wise Solutions, Inc. Method and system of managing software conflicts in computer system that receive, processing change information to determine which files and shared resources conflict with one another
US6965892B1 (en) * 2000-05-31 2005-11-15 International Business Machines Corporation Method, system and program products for concurrently accessing a global data repository by multithreaded clients
JP2002287990A (ja) * 2001-03-26 2002-10-04 Canon Inc アプリケーション管理装置、アプリケーション管理方法、記憶媒体及びプログラム
US20050091346A1 (en) * 2003-10-23 2005-04-28 Brijesh Krishnaswami Settings management infrastructure
US7434203B2 (en) * 2004-05-11 2008-10-07 Sap Ag Software logistics for pattern-based applications
US8417796B2 (en) * 2006-01-17 2013-04-09 Leostream Corporation System and method for transferring a computing environment between computers of dissimilar configurations
US8341747B2 (en) * 2006-08-08 2012-12-25 International Business Machines Corporation Method to provide a secure virtual machine launcher
US7797412B2 (en) * 2006-10-25 2010-09-14 Oracle America Inc. Method and system for managing server configuration data
US8775369B2 (en) * 2007-01-24 2014-07-08 Vir2Us, Inc. Computer system architecture and method having isolated file system management for secure and reliable data processing
JP5446860B2 (ja) * 2007-03-27 2014-03-19 日本電気株式会社 仮想マシン運用システム、仮想マシン運用方法およびプログラム
US8181174B2 (en) * 2007-12-28 2012-05-15 Accenture Global Services Limited Virtual machine configuration system
US8365167B2 (en) * 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
US20110055299A1 (en) * 2008-12-18 2011-03-03 Virtual Computer, Inc. Managing User Data in a Layered Virtual Workspace
CN101771532B (zh) * 2008-12-31 2012-07-18 华为技术有限公司 实现资源共享的方法、装置及系统
US8381300B2 (en) * 2009-01-26 2013-02-19 Microsoft Corporation Offline extraction of configuration data
US8370835B2 (en) * 2009-03-12 2013-02-05 Arend Erich Dittmer Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
US20110131330A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Collocating desktop virtual machines to proximity of the user
US9274821B2 (en) * 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8468542B2 (en) * 2010-03-04 2013-06-18 Microsoft Corporation Virtual environment for server applications, such as web applications
US20120054742A1 (en) * 2010-09-01 2012-03-01 Microsoft Corporation State Separation Of User Data From Operating System In A Pooled VM Environment
CN102638475B (zh) 2011-02-11 2014-12-10 运软网络科技(上海)有限公司 多维智能服务点虚拟桌面方法及基础架构
US8954586B2 (en) * 2011-07-13 2015-02-10 International Business Machines Corporation Pre-provisioning virtual machines in a networked computing environment
US9158561B2 (en) * 2011-08-18 2015-10-13 Vmware, Inc. Systems and methods for modifying an operating system for a virtual machine
US20130067448A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Application deployment
US9110750B2 (en) * 2011-10-19 2015-08-18 Good Technology Corporation Application installation system
US8850442B2 (en) * 2011-10-27 2014-09-30 Verizon Patent And Licensing Inc. Virtual machine allocation in a computing on-demand system
US20130236877A1 (en) * 2011-11-02 2013-09-12 Andrew H. B. Zhou Systems and methods for providing educational products and services via cloud massive online open course
US8924954B2 (en) * 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
US9116735B2 (en) * 2012-03-07 2015-08-25 Microsoft Technology Licensing, Llc Offline provisioning of virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
WO2006036277A2 (en) * 2004-09-23 2006-04-06 Transcontinental Events, Llc System and method for on-demand cloning of virtual machines
CN101071463A (zh) * 2007-06-08 2007-11-14 北京飞天诚信科技有限公司 虚拟个人办公环境的方法和设备
CN101655798A (zh) * 2008-08-18 2010-02-24 联想(北京)有限公司 一种计算机和虚拟机环境中应用程序部署和运行的方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504000A (zh) * 2014-12-08 2015-04-08 华为技术有限公司 一种远程镜像文件的传输方法,装置及系统
CN104504000B (zh) * 2014-12-08 2018-05-18 华为技术有限公司 一种远程镜像文件的传输方法,装置及系统
CN107077379A (zh) * 2016-04-25 2017-08-18 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置
US10095870B2 (en) 2016-04-25 2018-10-09 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Virtual machine creation method and apparatus
CN107077379B (zh) * 2016-04-25 2019-03-15 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置
CN106201648A (zh) * 2016-06-27 2016-12-07 浪潮电子信息产业股份有限公司 一种虚拟机创建方法及装置
CN109840094A (zh) * 2017-11-24 2019-06-04 腾讯科技(深圳)有限公司 一种数据库的部署方法、装置及存储设备
CN109840094B (zh) * 2017-11-24 2021-08-31 腾讯科技(深圳)有限公司 一种数据库的部署方法、装置及存储设备
CN110879711A (zh) * 2018-09-05 2020-03-13 林保成 个人云系统及其相关本地化方法
CN114510293A (zh) * 2022-02-17 2022-05-17 平安普惠企业管理有限公司 应用包缩减处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN103716347B (zh) 2017-06-23
US9846586B2 (en) 2017-12-19
US20140096136A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
CN103716347A (zh) 建立虚拟机的方法、装置和云服务器
US11204793B2 (en) Determining an optimal computing environment for running an image
CN103368767B (zh) 用于在容许故障的因特网云上部署软件应用的方法和系统
US9940595B2 (en) Policy-based scaling of computing resources in a networked computing environment
CN103034453B (zh) 管理虚拟机实例中预安装应用的持久数据的方法和装置
US9104613B2 (en) Disaster recovery in a networked computing environment
US8745242B2 (en) Cloud computing roaming services
US9582319B2 (en) Migrating virtual machines across network separated data centers
CN104765620A (zh) 一种程序模块部署的方法和系统
US20130074064A1 (en) Automated infrastructure provisioning
US20130067345A1 (en) Automated Desktop Services Provisioning
CN102981908A (zh) 用于从预先供应的虚拟机池选择虚拟机的方法和系统
CN104424013A (zh) 在计算环境中部署虚拟机的方法和设备
CN103106098A (zh) 用于在联网计算环境中预先供应虚拟机的方法和系统
CN104601622A (zh) 一种部署集群的方法和系统
US20070209034A1 (en) Method, system, and program product for deploying a platform dependent application in a grid environment
US20180357045A1 (en) Application deployment
US9800484B2 (en) Optimizing resource utilization in a networked computing environment
CN104424012A (zh) 用于提供自定义虚拟装置的方法和设备
CN105224301B (zh) 一种应用实例组装的方法和系统
CN104021027A (zh) 提供虚拟装置的方法和设备
CN112148935B (zh) 用于多实例的nbmp功能执行的方法和装置
Fanning et al. DaaS: A cost‐savings strategy
CN114868362A (zh) 扩展第3代合作伙伴计划(3gpp)实时上行链路流式传输框架(flus)信宿能力描述

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170623