WO2013004182A1 - 应用程序虚拟化安装及加载方法及装置 - Google Patents

应用程序虚拟化安装及加载方法及装置 Download PDF

Info

Publication number
WO2013004182A1
WO2013004182A1 PCT/CN2012/078157 CN2012078157W WO2013004182A1 WO 2013004182 A1 WO2013004182 A1 WO 2013004182A1 CN 2012078157 W CN2012078157 W CN 2012078157W WO 2013004182 A1 WO2013004182 A1 WO 2013004182A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
target volume
operating system
file
path
Prior art date
Application number
PCT/CN2012/078157
Other languages
English (en)
French (fr)
Inventor
靳伟
Original Assignee
华为数字技术(成都)有限公司
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 华为数字技术(成都)有限公司 filed Critical 华为数字技术(成都)有限公司
Publication of WO2013004182A1 publication Critical patent/WO2013004182A1/zh

Links

Classifications

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

Definitions

  • Embodiments of the present invention relate to the field of security technologies, and in particular, to an application virtualization installation and loading method and apparatus.
  • BACKGROUND Virtualization technology can concentrate the work originally distributed on several servers on one hardware platform, so as to fully utilize hardware resources, save management and control costs, wherein application virtualization technology
  • the decoupling of the operating system provides a virtual operating environment for the application, and changes its behavior when the application is running through technical means without changing the application itself.
  • the virtualization of the application under the Windows platform can be achieved by: extracting the registration information of the specified software in the operating system and the file of the software, and replacing the application programming interface involved in the operation of the registry by the user's operating system kernel.
  • the file filtering driver is established according to the standard interface of the operating system, so that the operating system kernel can identify the registration information in the software resource and the file of the software according to a predetermined format, and finally the operating system kernel runs the software resource according to the request of the user or the system.
  • Designated software Designated software.
  • the inventor's research found that before the software virtualization runs, it is necessary to extract the registration information of the specified software in the operating system registry and the software's files. This process is very complicated; the extracted data resources must be saved as scheduled.
  • the format, each software has a separate file to save the registry information, so the file system will also have serious redundancy. Summary of the invention
  • Embodiments of the present invention provide a method and apparatus for application virtualization installation and loading to provide a solution for implementing application virtualization.
  • An embodiment of the present invention provides a method for installing an application virtualization, including: when a target volume to be installed by an application is different from a volume where the host operating system is located, obtaining a path where the application installation source is currently located and the target volume path; Loading an application installer of the host operating system when the preset file directory tree exists on the target volume; and redirecting the installation path of the application to the host operating system when the host operating system is installed In the file directory tree on the target volume.
  • An embodiment of the present invention further provides an application virtualization loading method, including:
  • the embodiment of the invention further provides an apparatus for installing an application virtualization, comprising:
  • An embodiment of the present invention further provides an apparatus for application virtualization loading, including:
  • a second obtaining unit configured to acquire a user-specified application name and path on the target volume, where the target volume is a volume of a different host operating system
  • a second loading unit configured to load an application installed on the target volume
  • a second redirection unit configured to load and run an application resource when the host operating system loads the application The lookup path is redirected to the file directory tree on the target volume.
  • FIG. 1 is a flowchart of an application virtualization installation method according to an embodiment of the present invention
  • FIG. 2 is a flowchart of another application virtualization installation method according to an embodiment of the present invention
  • a flowchart of an application virtualization loading method is provided.
  • FIG. 4 is a structural diagram of an apparatus for virtualizing an application program according to an embodiment of the present invention
  • FIG. 5 is another application provided by an embodiment of the present invention.
  • FIG. 6 is a structural diagram of an apparatus for virtualizing application loading according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of another apparatus for virtualizing loading of an application according to an embodiment of the present invention; Figure. detailed description
  • the method of this embodiment may include:
  • Step 100 When the target volume to be installed by the application is different from the volume of the host operating system itself, obtain the path of the application installation source and the path of the target volume;
  • the client software can be provided by providing an application virtualization installation. If the user selects the virtualization installation, the client software is started. After the user selects the target volume and the installation source, the target volume installed by the client (hereinafter referred to as the first) The target volume is different from the volume on which the host operates the operating system.
  • the application installation source mentioned in the embodiment of the present invention may be a mainstream software installation package supported by the host operating system, and the Mac OS operating system is taken as an example, and may be a mainstream software installation package supported by the Mac OS operating system, such as pkg, mpkg. Software packages in other formats;
  • Step 102 When a preset file directory tree exists on the first target volume, load an application installation program of the host operating system;
  • the file directory tree may be created on the first target volume before the application virtualization installation method is executed; when the preset file directory tree does not exist on the first target volume, the application virtualization installation process may also be performed. After creating the file directory tree, load the application installer of the host operating system;
  • the first target volume installed by the application should be different from the volume of the host operating system itself, and can usually be a mobile storage device, such as a USB flash drive or a mobile hard disk.
  • a file directory tree needs to be created on the first target volume.
  • the application installation location is finally found in the file directory tree; the virtualization application and data are stored in this file.
  • the directory structure after the application is installed, the file system where the file directory is located will be changed, such as adding directories and files;
  • Step 104 When the host operating system performs an application installation, redirect the installation path of the application to the file directory tree of the first target volume;
  • the embodiment of the invention provides a method for installing an application virtualization, which can install a complex large-scale application on the host operating system platform that cannot change the installation location to the user.
  • an application virtualization which can install a complex large-scale application on the host operating system platform that cannot change the installation location to the user.
  • On the target volume for example: mobile hard disk, etc., users can install multiple applications on the same target volume and share a file directory tree; when the user selects mobile media as the target volume of the application virtualization installation, The movement of media, applications and data move at the same time, providing users with a mobile software installation and deployment method.
  • FIG. 2 is another application virtualization installation according to an embodiment of the present invention.
  • the flowchart of the method, which is applied to the scenario of the Mac OS operating system platform includes:
  • Step 201 When the first target volume to be installed by the application is different from the volume where the Mac OS operating system is located, obtain a path where the application installation source is currently located and a path of the first target volume;
  • Step 202 Determine whether there is a preset file directory tree on the first target volume, and if not, execute step 203; if yes, directly execute step 204;
  • the embodiment of the present invention constructs the application installation and operation in the directory tree of the first target volume.
  • Directory for example: Build a directory structure similar or identical to the directory tree structure in the volume where the Mac OS system resides, so that the installation directory on the first target volume of the application is similar or identical to the installation directory of the volume on which the Mac OS system resides;
  • Step 203 Create a file directory tree.
  • Step 204 Load an application installer of the Mac OS system
  • Step 205 Monitor the process of installing the application of the Mac OS operating system, and redirect the path involving the file and file directory operations in the application process of the Mac OS operating system to the file directory tree on the first target volume;
  • operations involving files and file directories may include: file creation, opening, obtaining file attributes, modifying file attributes, directory creation, modifying directory attributes, changing file and directory names, and the like;
  • intercepted file and file directory operations are overwritten with parameters related to the file or file directory path in the operation;
  • the file and file directory operations are involved, and the operations are intercepted, and the path parameters of the intercepted operation can be redirected by the mapping algorithm.
  • the application In the file directory of the virtual file system of a target volume, the application is finally installed into the file directory tree on the first target volume; the path of the recording operation is redirected to the file directory on the first target volume, Find the installation location of the application in the file directory of the first target volume through the mapping algorithm, and the file directory tree on the first target volume is compared with the original related directory of the volume where the Mac OS system is located, which is very similar.
  • Sex in order to redirect the location of the application and the file and file directories involved in the application installation A similar location can be found, for example, it should be in the system disk C: /Applications/Adobe location, after mapping, it becomes the /Volumes/H/Applications/Adobe location on the first target volume H disk;
  • the directory tree on the first target volume should avoid excessive redundancy and can meet the installation and operation requirements;
  • a method for finding a similar location can maintain the mapping relationship between the files and file directories in the volume where the host operating system is located and the files and file directories on the first target volume. Mapping the relationship table, mapping the path to the file and file directory on the volume where the Mac OS system is located (except the system library file that comes with the Mac OS system itself) to the file directory of the virtual file system of the first target volume Or directly, the file system on the first target volume is set to the same or similar file directory structure as the file directory structure on the volume where the host operating system is located, so that the redirect can be directly found in the first target volume.
  • the device is provided with a device for implementing virtualized installation on the Mac OS operating system platform, and can install a complex large-scale application on the Mac OS operating system platform that cannot change the installation location.
  • a device for implementing virtualized installation on the Mac OS operating system platform can install a complex large-scale application on the Mac OS operating system platform that cannot change the installation location.
  • the embodiment of the present invention further provides an application virtualization loading method, which is still taken as an example on an application of the Mac OS operating system platform.
  • an application virtualization loading method which is still taken as an example on an application of the Mac OS operating system platform.
  • Step 300 Obtain a user-specified application name and path on the first target volume, where the first target volume is different from the volume on which the Mac OS operating system is located;
  • the embodiment of the present invention provides an application virtualization loading method based on the application virtualization installation method provided by the foregoing embodiment, which can be provided to the user by using an application virtualization operation client.
  • an application virtualization operation client When the corresponding program in the application virtualization client is clicked, the process of the application virtualization operation of the embodiment of the present invention is directly started;
  • Step 302 Load an application installed on the first target volume
  • the method may further include: checking the status and integrity of the virtual file system, End the installation when the file system of the target volume does not meet the application installation conditions;
  • the content of the directory tree and the included file of the virtual file system may be checked before the loading, and the content of the check may include: whether the file is missing, the size of the remaining space, and the like; sending the alarm information may include: informing the user that the installation fails. Information such as abnormal conditions.
  • Step 304 When the Mac OS operating system loads the application, redirect the search path of the application loading and running resources to the file directory tree on the first target volume;
  • Step 304 may specifically be performed by: monitoring the application running, and when the resource needs to be retrieved from the file and file directory tree, redirecting the path that should be resourced from the volume where the Mac OS operating system is located to the first The file directory tree on the target volume to enable the application on the first target volume to run on the Mac OS operating system platform;
  • the path of the intercepted operation may be redirected by using a mapping algorithm, and the path of the resource in the file and file directory tree that should be found and operated from the volume where the Mac OS operating system is located, when the application is running, is mapped by the mapping algorithm.
  • the file is mapped to the file directory tree of the virtual file system of the first target volume.
  • the method for implementing application loading on the Mac OS operating system platform implements loading and running of the application on the first target volume on the Mac OS operating system platform without affecting the user experience.
  • an embodiment of the present invention provides an apparatus for installing an application virtualization, including: a first obtaining unit 40, configured to acquire an application when a target volume to be installed by an application is different from a volume of a host operating system itself. The path where the program installation source is currently located and the target volume path;
  • the application virtualization installation method of the embodiment of the present invention is started;
  • the application installation source mentioned in the embodiment of the present invention may be a mainstream software installation package supported by the host operating system, such as pkg, mpkg, and the like.
  • the first loading unit 42 is configured to directly load an application installation program of the host system when a preset file directory tree exists on the first target volume;
  • the first target volume installed by the application should be different from the volume of the host operating system itself, and can usually be a mobile storage device, such as a USB flash drive or a mobile hard disk.
  • a first redirecting unit 44 configured to redirect an installation path of the application to a file directory tree of the first target volume when the host operating system performs an application installation
  • a complex large-scale application on a host operating system platform can be installed on a target volume selected by a user, for example, a mobile hard disk, etc., and the user can Applications are installed on the same target volume and share a file directory tree; when the user selects mobile media as the target volume for the application virtualization installation, as the media moves, the application and data move simultaneously, providing the user with A method of software installation and deployment with mobility.
  • an embodiment of the present invention provides another device for virtualizing an application, which is applied to a Mac OS operating system platform, and includes:
  • the first obtaining unit 50 is configured to obtain a path of the application installation source and a path of the target volume when the target volume to be installed by the application is different from the volume of the Mac OS operating system itself;
  • the determining unit 51 is configured to determine whether a preset file directory exists on the first target volume, and send a judgment result;
  • a creating unit 52 configured to receive the determination result sent by the determining unit 521, when the determination result is no, Creating a file directory, notifying the first loading unit 53 after the creation is completed; creating a file directory tree on the first target volume;
  • the file directory tree created on the first target volume has a directory structure similar to or the same as the directory tree structure in the volume where the Mac OS system resides, which causes the application to be installed on the first target volume and the volume where the Mac OS system resides.
  • the directories are similar or identical;
  • the first loading unit 53 is configured to receive the determination result sent by the determining unit 51 and the creating unit 52 to notify; when there is a preset file directory tree on the first target volume, the application program of the Mac OS system is loaded;
  • the first redirection unit 54 is configured to redirect an installation path of the application to a file directory tree of the first target volume when the Mac OS operating system performs an application installation;
  • the first redirecting unit 54 can include:
  • the first monitoring unit 541 is configured to monitor a process of installing an application of the Mac OS operating system; the first redirection processing unit 542 is configured to load a path involving a file and a file directory operation during an application installation process of the Mac OS operating system. Directed to the file directory tree on the first target volume; the path of the recorded operation is redirected to the file directory on the first target volume, and the application installation location can be found in the file directory of the first target volume by the mapping algorithm
  • the file directory tree on the first target volume is constructed, and the directory is compared with the original related directory of the volume where the Mac OS system is located, which has great similarity, so that the location of the file and file directory involved in the application installation is at the target. A similar location can be found on the volume.
  • the embodiment of the present invention provides a user with an application on a Mac OS operating system platform.
  • a virtualized installation that installs a large and complex application on the Mac OS operating system platform to a user-selected target volume, and compares it to the volume on which the application is installed on the volume on which the Mac OS operating system resides. There is almost no change on it.
  • an embodiment of the present invention provides an apparatus for virtualizing an application on a host operating system platform, which is provided by the foregoing embodiment, and provides an apparatus for virtualizing an application, including:
  • the second obtaining unit 60 is configured to obtain an application name and a path specified by the user on the first target volume, where the first target volume is different from the volume where the host operating system is located;
  • a second loading unit 61 configured to load an application installed on the first target volume
  • a second redirecting unit 62 configured to redirect, when the host operating system loads the application, a search path of the required resources for loading and running of the application to a file directory tree on the first target volume;
  • the loading and running of the application on the first target volume is implemented by the method for implementing application loading on the host operating system platform provided by the embodiment of the present invention.
  • the embodiment of the present invention further provides another device for virtualizing loading of an application, which is different from the embodiment corresponding to FIG. 6 and further includes:
  • the checking unit 73 is configured to check the status and integrity of the file system on the first target volume before loading the application installed on the first target volume;
  • the second redirecting unit 72 may include:
  • a second monitoring unit 721, configured to monitor application running
  • the second processing unit 722 is configured to: when the resource needs to be retrieved from the file and file directory tree, The path of the resource to be retrieved from the volume where the Mac OS operating system is located should be redirected to the file directory tree on the first target volume, so that the application on the first target volume runs on the Mac OS operating system platform; Other structures and functions are the same as those of the corresponding embodiment of FIG. 6, and details are not described herein again.
  • Embodiments of the present invention provide a method and apparatus for implementing application virtualization installation and loading on a Mac OS system, which can install a complex large-scale application on a Mac OS operating system platform to a target volume selected by a user, for example: For hard disks, etc., users can install multiple applications on the same target volume and share a file directory tree.
  • the application and data move with the media. Will move at the same time, providing users with a mobile software installation and deployment method.
  • a person skilled in the art can understand that all or part of the steps of implementing the above method embodiments may be completed by using hardware related to the program instructions.
  • the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

提出了一种应用程序虚拟化安装的方法和装置,该方法包括以下步骤:当应用程序准备安装的目标卷不同于主机操作***所在卷时,获取应用程序安装源当前所在路径和所述目标卷路径;当所述目标卷上存在预置的文件目录树时,加载所述主机操作***的应用程序安装程序;在所述主机操作***执行应用程序安装时,将所述应用程序的安装路径重定向至所述目标卷上的文件目录树中。还提出了一种应用程序虚拟化加载的方法和装置。

Description

应用程序虚拟化安装及加载方法及装置 本申请要求于 Jul 2011 年 07 月 04 日提交中国专利局、 申请号为 201110184189.0、 发明名称为"应用程序虚拟化安装及加载方法及装置" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及安全技术领域, 尤其涉及应用程序虚拟化安装及加载方 法及装置。 背景技术 虚拟化技术可以把原本分散到几个服务器上的工作集中到一台硬件平台 上, 以便能充分地利用硬件资源, 节约管理和控制成本, 其中, 应用程序虚拟 化技术通过将应用程序与操作***解耦合,为应用程序提供了一个虚拟的运行 环境, 在不改变应用本身的前提下, 通过技术手段在应用运行时改变其行为。
windows平台下对应用程序实现虚拟化可以通过以下方式: 提取指定软件在操 作***的注册信息及该软件的文件,对用户的操作***内核在操作注册表时所 涉及的应用程序编程接口进行替换,并根据操作***的标准接口建立文件过滤 驱动,使得操作***内核可以依照预定的格式识别软件资源中的注册信息及该 软件的文件, 最终操作***内核根据用户或***的请求,运行软件资源所对应 的指定软件。 但是, 发明人的研究中发现, 在软件虚拟化运行之前, 必须提取指定软件 在操作***注册表中的注册信息及该软件的文件, 这个过程会非常复杂; 提取 后的数据资源必须保存成预定的格式,每个软件都有单独的保存注册表信息的 文件, 这样文件***也将存在严重的冗余。 发明内容
本发明实施例提供应用程序虚拟化安装和加载的方法及装置,以提供一种 实现应用程序虚拟化的方案。 本发明实施例提供一种应用程序虚拟化安装的方法, 包括: 当应用程序准备安装的目标卷不同于主机操作***所在卷时,获取应用程 序安装源当前所在路径和所述目标卷路径; 当所述目标卷上存在预置的文件目录树时,加载所述主机操作***的应用 程序安装程序; 在所述主机操作***执行应用程序安装时,将所述应用程序的安装路径重 定向至所述目标卷上的文件目录树中。 本发明实施例还提供一种应用程序虚拟化加载方法, 包括:
获取用户指定的在目标卷上的应用程序名称和路径, 其中, 所述目标卷不 同于主机操作***所在卷; 加载所述目标卷上安装的应用程序; 在所述主机操作***对应用程序进行加载时,将应用程序加载和运行中所 需资源的查找路径重定向至所述目标卷上的文件目录树中。 本发明实施例还提供一种应用程序虚拟化安装的装置, 包括:
身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径; 第一加载单元, 用于当所述目标卷上存在预置的文件目录树时,加载所述 主机操作***的应用程序安装程序; 第一重定向单元,用于在所述主机操作***执行应用程序安装时,将应用 程序的安装路径重定向至所述目标卷的文件目录树中。 本发明实施例还提供一种应用程序虚拟化加载的装置, 包括:
第二获取单元, 用于获取用户指定的在目标卷上的应用程序名称和路径, 其中, 所述目标卷不同主机操作***所在卷;
第二加载单元, 用于加载所述目标卷上安装的应用程序; 第二重定向单元,用于在所述主机操作***对应用程序进行加载时,将应 用程序的加载和运行中所需资源的查找路径重定向至所述目标卷上的文件目 录树中。
将主机操作***平台上原本不能改变安装位置的复杂大型的应用程序安装至 用户选定的目标卷上, 例如: 移动硬盘等, 用户可以将多个应用程序安装到同 一个目标卷上,共享一个文件目录树; 当用户选择移动介质作为应用程序虚拟 化安装的目标卷时, 随着介质的移动, 应用程序和数据会同时移动, 为用户提 供了一种具有移动性的软件安装和部署的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描 述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例所提供的一种应用程序虚拟化安装方法流程图; 图 2为本发明实施例所提供的另一种应用程序虚拟化安装方法流程图; 图 3为本发明实施例所提供的一种应用程序虚拟化加载方法的流程图; 图 4为本发明实施例所提供的一种应用程序虚拟化安装的装置结构图; 图 5为本发明实施例提供的另一种应用程序虚拟化安装的装置结构图; 图 6为本发明实施例提供的一种应用程序虚拟化加载的装置结构图; 图 7为本发明实施例提供的另一种应用程序虚拟化加载的装置结构图。 具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚, 下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发明中 的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其 他实施例, 都属于本发明保护的范围。 所示, 本实施例的方法可以包括:
步骤 100: 当应用程序准备安装的目标卷不同于主机操作***本身所在卷 时, 获取应用程序安装源当前所在路径和目标卷路径;
可以通过给用户提供一个应用程序虚拟化安装的客户软件,如果用户选择 虚拟化安装, 就启动该客户端软件, 在用户选择目标卷和安装源之后, 由客户 安装的目标卷(以下称第一目标卷)不同于主机操作操作***所在卷时, 则启 动本发明实施例的应用程序虚拟化安装方法;
本发明实施例中提到的应用程序安装源可以是主机操作***支持的主流 软件安装包, 以 Mac OS操作***为例, 可以是 Mac OS操作***所支持的主流 软件安装包, 如 pkg、 mpkg等格式的软件包;
步骤 102: 当第一目标卷上存在预置的文件目录树时, 加载主机操作*** 的应用程序安装程序;
其中, 可以是在应用程序虚拟化安装方法执行之前,在第一目标卷上创建 文件目录树; 当第一目标卷上不存在预置的文件目录树时,也可以在应用程序 虚拟化安装过程中,创建文件目录树后,加载主机操作***的应用程序安装程 序;
应用程序安装的第一目标卷应该是不同于主机操作***本身所在的卷,通 常可以是移动存储设备, 如 U盘、 移动硬盘等;
为了进行文件管理,在第一目标卷上需要建立文件目录树,通过本发明实 施例所提供的方法, 最终在文件目录树中找到应用程序安装位置; 虚拟化应用 程序和数据将被存储在这个目录结构中,应用程序安装后将改变文件目录所在 文件***, 如添加目录和文件等;
本发明实施例中,应用程序虚拟安装过程中, 若在第一目标卷中已经存在 文件目录结构时, 将会直接加载主机操作***的应用安装程序;
步骤 104: 在主机操作***执行应用程序安装时, 将应用程序的安装路径 重定向至第一目标卷的文件目录树中;
通过本发明实施例提供了一种应用程序虚拟化安装的方法,可以将主机操 作***平台上原本不能改变安装位置的复杂大型的应用程序安装至用户选定 的目标卷上, 例如: 移动硬盘等, 用户可以将多个应用程序安装到同一个目标 卷上,共享一个文件目录树; 当用户选择移动介质作为应用程序虚拟化安装的 目标卷时, 随着介质的移动, 应用程序和数据会同时移动, 为用户提供了一种 具有移动性的软件安装和部署的方法。
本发明实施例不对该方案应用的操作***平台类型做限制,本发明实施例 仅以 Mac OS操作***作为举例来说明; 如图 2为本发明实施例所提供另一种的 应用程序虚拟化安装方法的流程图, 本发明实施例应用于 Mac OS操作***平 台的场景中, 包括:
步骤 201 : 当应用程序准备安装的第一目标卷不同于 Mac OS操作***所在 卷时, 获取应用程序安装源当前所在路径和第一目标卷路径;
步骤 202: 判断第一目标卷上是否存在预置的文件目录树, 若否, 则执行 步骤 203; 若是, 则直接执行步骤 204;
将应用程序安装在第一目标卷上之前或安装过程中,为了让应用程序运行 过程中用户的体验不发生变化,本发明实施例会在第一目标卷的目录树中构建 应用程序安装和运行相关的目录, 例如: 构建与 Mac OS***所在卷中的目录 树结构相似或相同的目录结构, 使应用程序在第一目标卷上的安装目录和在 Mac OS***所在卷的安装目录类似或相同;
步骤 203: 创建文件目录树;
步骤 204: 加载 Mac OS***的应用程序安装程序;
步骤 205:监控 Mac OS操作***的应用程序安装的进程,将 Mac OS操作系 统的应用程序安装过程中涉及文件及文件目录操作的路径重定向至第一目标 卷上的文件目录树中; 其中,从所述主机操作***自带的***库文件中调取资源时,调取资源的 路径不改变。 在应用程序安装的进程中, 涉及文件及文件目录的操作, 可以包 括: 文件创建、 打开, 获得文件属性, 修改文件属性, 目录创建, 修改目录属 性, 更改文件和目录名称等等操作;
具体实施中,对拦截到的涉及文件及文件目录的操作,会对操作中涉及文 件或文件目录路径的参数进行改写;
本发明实施例中, 在监控 Mac OS操作***的应用程序安装过程中, 会涉 及到文件及文件目录操作,将会对这些操作进行拦截,可以通过映射算法对所 拦截操作的路径参数进行重定向, 其中, 通过映射算法, 将 Mac OS OS X*** 安装程序中原本要对 Mac OS***所在卷上的文件及文件目录(Mac OS***本 身自带的***库文件除外)进行操作的路径映射到第一目标卷的虚拟文件*** 的文件目录之中, 最终将应用程序安装至第一目标卷上的文件目录树中; 录操作的路径重定向至所述第一目标卷上的文件目录中,可以通过映射算法在 第一目标卷的文件目录中找到应用程序的安装位置,所构建第一目标卷上的文 件目录树, 其目录和 Mac OS***所在卷原有相关目录比较, 具有很大的相似 性, 以使得将应用程序安装中涉及文件和文件目录的位置重定向时,在目标卷 上能找到一个相似的位置, 例如, 本来应该是在***盘 C: /Applications/Adobe 位置,映射后,变成在第一目标卷 H盘上的 /Volumes/H/Applications/Adobe位置; 但同时第一目标卷上的目录树要避免过多的冗余,能够满足安装和运行的需求 即可;
其中,将应用程序安装中涉及文件和文件目录的位置重定向时,在目标卷 上能找到一个相似的位置的方法,可以通过维护一个主机操作***所在卷中文 件及文件目录与第一目标卷上的文件及文件目录之间的映射关系,在进行重定 向操作时可以通过这个映射关系表, 将原本要对 Mac OS***所在卷上的文件 及文件目录(Mac OS***本身自带的***库文件除外)进行操作的路径映射 到第一目标卷的虚拟文件***的文件目录之中;也可以直接将第一目标卷上的 文件***设置和主机操作***所在卷上的文件目录结构相同或相似的文件目 录树, 以使得在重定向时可以通过直接在第一目标卷中查找到对应的位置; 本 发明实施例为用户提供了一个在 Mac OS操作***平台上实现应用程序虚拟化 安装的装置, 可以将 Mac OS操作***平台上原本不能改变安装位置的复杂大 型的应用程序安装至用户选定的目标卷上,并且,与将应用程序安装在 Mac OS 操作***所在卷上相比, 在用户体验上几乎没有变化。
在本发明实施例所提供的虚拟化安装方法的基础之上, 参见图 3 , 本发明 实施例还提供一种应用程序虚拟化加载的方法, 仍然以 Mac OS操作***平台 上的应用为例, 实现对第一目标卷上的应用程序进行运行, 该方法包括:
步骤 300: 获取用户指定的在第一目标卷上的应用程序名称和路径, 其中, 第一目标卷不同于 Mac OS操作***所在卷;
本发明实施例在前述实施例所提供的应用程序虚拟化安装方法的基础上, 提供了一种应用程序虚拟化加载的方法,可以通过提供给用户一个应用程序虚 拟化运行的客户端,当用户点击这个应用程序虚拟化运行客户端中的相应程序 时, 就直接启动本发明实施例的应用程序虚拟化运行的流程;
步骤 302: 加载第一目标卷上安装的应用程序;
在步骤 302之前, 还可以包括: 检查虚拟文件***的状态和完整性, 当所 述目标卷的文件***不满足应用程序安装条件时, 结束安装;
其中,在加载之前可以对虚拟文件***的目录树及包含文件的完整性进行 检查, 检查内容可以包括: 文件是否有缺失, 剩余空间大小等情况; 发送告警 信息, 可以包括: 告知用户安装失败, 异常情况等信息。
步骤 304: 在 Mac OS操作***对应用程序进行加载时, 将应用程序的加载 和运行中所需资源的查找路径重定向至第一目标卷上的文件目录树中;
其中, 步骤 304具体可以通过以下方法: 监控应用程序运行, 当需要从到 文件及文件目录树中调取资源时, 将原本应该从 Mac OS操作***所在卷调取 资源的路径重定向至第一目标卷上的文件目录树中,以使第一目标卷上的应用 程序在 Mac OS操作***平台上运行;
其中,可以通过映射算法对所拦截操作的路径进行重定向,通过映射算法, 将应用程序运行时, 将原本应该从 Mac OS操作***所在卷寻找和操作的文件 及文件目录树中的资源的路径映射到第一目标卷的虚拟文件***的文件目录 树中, 其中, 从所述主机操作***自带的***库文件中调取资源时, 调取资源 的路径不改变。
通过本发明实施例所提供的在 Mac OS操作***平台上实现应用程序加载 的方法, 实现在 Mac OS操作***平台上对第一目标卷上的应用程序的加载和 运行, 且不影响用户体验。
参见图 4, 本发明实施例提供了一种应用程序虚拟化安装的装置, 包括: 第一获取单元 40,用于当应用程序准备安装的目标卷不同于主机操作*** 本身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径;
只要当应用程序准备安装的目标卷(以下称第一目标卷)不同于主机操作 ***所在卷时, 则启动本发明实施例的应用程序虚拟化安装方法; 本发明实施例中提到的应用程序安装源可以是主机操作***所支持的主 流软件安装包, 如 pkg、 mpkg等格式的软件包;
第一加载单元 42, 用于当第一目标卷上存在预置的文件目录树时, 则直接 加载主机***的应用程序安装程序;
应用程序安装的第一目标卷应该是不同于主机操作***本身所在的卷,通 常可以是移动存储设备, 如 U盘、 移动硬盘等;
第一重定向单元 44, 用于在主机操作***执行应用程序安装时,将应用程 序的安装路径重定向至第一目标卷的文件目录树中;
通过本发明实施例所提供的一种应用程序虚拟化安装的装置,可以将主机 操作***平台上复杂大型的应用程序安装至用户选定的目标卷上, 例如: 移动 硬盘等, 用户可以将多个应用程序安装到同一个目标卷上,共享一个文件目录 树; 当用户选择移动介质作为应用程序虚拟化安装的目标卷时, 随着介质的移 动,应用程序和数据会同时移动, 为用户提供了一种具有移动性的软件安装和 部署的方法。
参见图 5, 本发明实施例还提供另一种应用程序虚拟化安装的装置, 以应 用于 Mac OS操作***平台上为例, 包括:
第一获取单元 50, 用于当应用程序准备安装的目标卷不同于 Mac OS操作 ***本身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径;
判断单元 51 , 用于判断第一目标卷上是否存在预置的文件目录, 并将发送 判断结果;
创建单元 52, 用于接收判断单元 521发送的判断结果, 当判断结果为否时, 则创建文件目录, 创建完成后通知第一加载单元 53; 在第一目标卷上创建文件目录树;
第一目标卷上创建的文件目录树具有和 Mac OS***所在卷中的目录树结 构相似或相同的目录结构, 使应用程序在第一目标卷上的安装目录和在 Mac OS***所在卷的安装目录类似或相同;
第一加载单元 53 , 用于接收判断单元 51发送的判断结果及创建单元 52通 知; 当第一目标卷上存在预置的文件目录树时, 则加载 Mac OS***的应用程 序安装程序;
第一重定向单元 54, 用于在 Mac OS操作***执行应用程序安装时, 将应 用程序的安装路径重定向至第一目标卷的文件目录树中;
其中, 第一重定向单元 54, 可以包括:
第一监控单元 541 , 用于监控 Mac OS操作***的应用程序安装的进程; 第一重定向处理单元 542, 用于将 Mac OS操作***的应用程序安装过程中 涉及文件及文件目录操作的路径重定向至第一目标卷上的文件目录树中; 录操作的路径重定向至所述第一目标卷上的文件目录中,可以通过映射算法在 第一目标卷的文件目录中找到应用程序安装位置,所构建第一目标卷上文件目 录树, 其目录和 Mac OS***所在卷原有相关目录比较, 具有很大的相似性, 以使得将应用程序安装中涉及文件和文件目录的位置,在目标卷上能找到相似 的位置。
本发明实施例为用户提供了一个在 Mac OS操作***平台上实现应用程序 虚拟化安装的装置, 可以将 Mac OS操作***平台上复杂大型的应用程序安装 至用户选定的目标卷上, 并且, 与将应用程序安装在 Mac OS操作***所在卷 上相比, 在用户体验上几乎没有变化。
参见附图 6, 本发明实施例在前述实施例所提供的在主机操作***平台上 实现应用程序虚拟化安装的装置的基础上,提供了一种应用程序虚拟化加载的 装置, 包括:
第二获取单元 60,用于获取用户指定的在第一目标卷上的应用程序名称和 路径, 其中, 第一目标卷不同于主机操作***所在卷;
第二加载单元 61 , 用于加载第一目标卷上安装的应用程序;
第二重定向单元 62, 用于在所述主机操作***对应用程序进行加载时,将 应用程序的加载和运行中所需资源的查找路径重定向至第一目标卷上的文件 目录树中;
通过本发明实施例所提供的在主机操作***平台上实现应用程序加载的 方法, 实现对第一目标卷上的应用程序的加载和运行。
参见附图 7, 仍然以 Mac OS操作***平台上使用为例, 本发明实施例还提 供另一种应用程序虚拟化加载的装置, 和附图 6所对应的实施例不同的是, 还 包括:
检查单元 73 , 用于在加载第一目标卷上安装的应用程序之前,检查第一目 标卷上文件***的状态和完整性;
第二重定向单元 72, 可以包括:
第二监控单元 721 , 用于监控应用程序运行;
第二处理单元 722, 用于当需要从到文件及文件目录树中调取资源时, 将 原本应该从 Mac OS操作***所在卷调取资源的路径重定向至第一目标卷上的 文件目录树中, 以使第一目标卷上的应用程序在 Mac OS操作***平台上运行; 本实施例中其他结构和功能和附图 6对应的实施例相同, 在此不再赘述。 本发明实施例提供了在 Mac OS***上实现应用程序虚拟化安装及加载的 方法和装置, 可以将 Mac OS操作***平台上复杂大型的应用程序安装至用户 选定的目标卷上, 例如: 移动硬盘等, 用户可以将多个应用程序安装到同一个 目标卷上,共享一个文件目录树; 当用户选择移动介质作为应用程序虚拟化安 装的目标卷时, 随着介质的移动, 应用程序和数据会同时移动, 为用户提供了 一种具有移动性的软件安装和部署的方法。 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存 储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储 介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其限 制; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其 中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技术方案的 本质脱离本发明各实施例技术方案的精神和范围。

Claims

权 利 要 求
1、 一种应用程序虚拟化安装的方法, 其特征在于, 包括: 当应用程序准备安装的目标卷不同于主机操作***所在卷时,获取应用程 序安装源当前所在路径和所述目标卷路径; 当所述目标卷上存在预置的文件目录树时,加载所述主机操作***的应用 程序安装程序; 在所述主机操作***执行应用程序安装时,将所述应用程序的安装路径重 定向至所述目标卷上的文件目录树中。
2、 根据权利要求 1所述的应用程序虚拟化安装的方法, 其特征在于, 所述 将所述应用程序的安装路径重定向至所述目标卷上的文件目录树中,其特征在 于, 包括: 监控所述主机操作***执行应用程序安装的进程,通过将所述应用程序安 装进程中涉及文件及文件目录操作的路径重定向, 其中,针对所述主机操作系 统自带的***库文件进行操作的路径不进行重定向。
3、 根据权利要求 1所述的应用程序虚拟化安装的方法, 其特征在于, 还包 括: 当所述应用程序准备安装的目标卷上不存在预置的文件目录树时,在应用 程序虚拟化安装过程中,创建文件目录树后,加载所述主机操作***的应用程 序安装程序。
4、 根据权利要求 2所述应用程序虚拟化安装的方法, 其特征在于, 所述将 应用程序安装进程中涉及文件及文件目录操作的路径重定向, 包括: 通过维护的所述主机操作***所在卷上的文件及文件目录与所述目标卷 上的文件及文件目录之间的映射关系,将所述主机操作***安装程序中原本针 对所述主机操作***所在卷上的文件及文件目录进行操作的路径映射到所述 目标卷的虚拟文件***的文件目录之中, 其中,针对所述主机操作***自带的 ***库文件进行操作的路径不映射。
5、 一种应用程序虚拟化加载方法, 其特征在于, 包括: 获取用户指定的在目标卷上的应用程序名称和路径, 其中, 所述目标卷不 同于主机操作***所在卷; 加载所述目标卷上安装的应用程序; 在所述主机操作***对应用程序进行加载时,将应用程序加载和运行中所 需资源的查找路径重定向至所述目标卷上的文件目录树中。
6、 根据权利要求 5所述的应用程序虚拟化加载方法, 其特征在于, 所述将 应用程序加载和运行中所需资源的查找路径重定向至所述目标卷上的文件目 录树中, 包括: 监控应用程序运行,当需要从所述主机操作***所在卷的文件及文件目录 树中调取资源时,将调取资源的路径重定向至目标卷上的文件目录树中,其中, 从所述主机操作***自带的***库文件中调取资源时, 调取资源的路径不改 变。
7、 一种应用程序虚拟化安装的装置, 其特征在于, 包括: 身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径; 第一加载单元, 用于当所述目标卷上存在预置的文件目录树时,加载所述 主机操作***的应用程序安装程序; 第一重定向单元,用于在所述主机操作***执行应用程序安装时,将应用 程序的安装路径重定向至所述目标卷的文件目录树中。
8、 根据权利要求 7所述的装置, 其特征在于, 还包括:
判断单元, 用于判断所述目标卷上是否存在预置的文件目录, 并将发送判 断结果;
创建单元, 用于接收所述判断单元发送的判断结果, 当判断结果为否时, 则创建文件目录, 创建完成后通知所述第一加载单元。
9、 根据权利要求 7或 8所述的装置, 其特征在于, 所述第一重定向单元包 括: 第一监控单元, 用于监控所述主机操作***的应用程序安装的进程; 第一重定向处理单元,用于将所述主机操作***的应用程序安装过程中涉 及文件及文件目录操作的路径重定向至所述目标卷上的文件目录树中。
10、 一种应用程序虚拟化加载的装置, 其特征在于, 包括:
第二获取单元, 用于获取用户指定的在目标卷上的应用程序名称和路径, 其中, 所述目标卷不同主机操作***所在卷;
第二加载单元, 用于加载所述目标卷上安装的应用程序; 第二重定向单元,用于在所述主机操作***对应用程序进行加载时,将应 用程序的加载和运行中所需资源的查找路径重定向至所述目标卷上的文件目 录树中。
11、 根据权利要求 10所述的装置, 其特征在于, 所述第二重定向单元, 包 括: 第二监控单元, 用于监控应用程序运行; 第二处理单元,用于当需要从所述主机操作***所在卷的文件及文件目录 树中调取资源时,将调取资源的路径重定向至目标卷上的文件目录树中,其中, 从所述主机操作***自带的***库文件中调取资源时, 调取资源的路径不改 变。
12、 根据权利要求 10所述的装置, 其特征在于, 还包括:
检查单元, 用于在加载所述目标卷上安装的应用程序之前,检查所述目标卷上 文件***的状态和完整性,当所述目标卷的文件***不满足应用程序安装条件 时, 发送告警信息。
PCT/CN2012/078157 2011-07-04 2012-07-04 应用程序虚拟化安装及加载方法及装置 WO2013004182A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2011101841890A CN102231116A (zh) 2011-07-04 2011-07-04 应用程序虚拟化安装及加载方法及装置
CN201110184189.0 2011-07-04

Publications (1)

Publication Number Publication Date
WO2013004182A1 true WO2013004182A1 (zh) 2013-01-10

Family

ID=44843683

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/078157 WO2013004182A1 (zh) 2011-07-04 2012-07-04 应用程序虚拟化安装及加载方法及装置

Country Status (2)

Country Link
CN (1) CN102231116A (zh)
WO (1) WO2013004182A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231116A (zh) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 应用程序虚拟化安装及加载方法及装置
CN102520944B (zh) * 2011-12-06 2014-07-02 北京航空航天大学 Windows应用程序虚拟化的实现方法
CN102521031B (zh) 2011-12-13 2014-11-05 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
CN103136350B (zh) * 2013-02-01 2017-02-08 江苏易合大成网络科技有限公司 一种在***平台上运行多个应用的方法及装置
JP6020476B2 (ja) * 2014-01-20 2016-11-02 横河電機株式会社 プロセス制御装置及びその更新方法
CN105700914A (zh) * 2015-12-31 2016-06-22 北京金山安全软件有限公司 一种应用软件安装、启动方法和装置
AU2016404863B2 (en) * 2016-04-27 2020-01-23 Honor Device Co., Ltd. Patch-upgrade-based file processing method and apparatus, terminal, and storage medium
CN106020943B (zh) * 2016-05-04 2020-06-19 北京小米移动软件有限公司 应用程序双开启方法及装置
CN110019081B (zh) * 2017-07-20 2023-04-07 中兴通讯股份有限公司 数据持久化处理方法、装置、***及可读存储介质
CN107992355B (zh) * 2017-12-21 2021-07-13 中兴通讯股份有限公司 一种部署应用软件的方法、装置及虚拟机

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221510A (zh) * 2008-01-24 2008-07-16 清华大学 利用移动存储设备在计算机上重现用户配置环境的方法
CN101650668A (zh) * 2008-08-11 2010-02-17 优诺威讯国际有限公司 虚拟环境的实现方法及装置
CN101655798A (zh) * 2008-08-18 2010-02-24 联想(北京)有限公司 一种计算机和虚拟机环境中应用程序部署和运行的方法
CN101965553A (zh) * 2008-01-04 2011-02-02 密刻爱你有限公司 虚拟应用程序***、存储设备、虚拟应用程序的运行方法及虚拟环境的保护方法
CN102231116A (zh) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 应用程序虚拟化安装及加载方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103529B2 (en) * 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
CN101645020A (zh) * 2008-08-04 2010-02-10 优诺威讯国际有限公司 虚拟操作***创建方法
CN101777002B (zh) * 2010-01-18 2012-12-19 杭州宇酷信息技术有限公司 一种基于虚拟化的软件运行方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965553A (zh) * 2008-01-04 2011-02-02 密刻爱你有限公司 虚拟应用程序***、存储设备、虚拟应用程序的运行方法及虚拟环境的保护方法
CN101221510A (zh) * 2008-01-24 2008-07-16 清华大学 利用移动存储设备在计算机上重现用户配置环境的方法
CN101650668A (zh) * 2008-08-11 2010-02-17 优诺威讯国际有限公司 虚拟环境的实现方法及装置
CN101655798A (zh) * 2008-08-18 2010-02-24 联想(北京)有限公司 一种计算机和虚拟机环境中应用程序部署和运行的方法
CN102231116A (zh) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 应用程序虚拟化安装及加载方法及装置

Also Published As

Publication number Publication date
CN102231116A (zh) 2011-11-02

Similar Documents

Publication Publication Date Title
WO2013004182A1 (zh) 应用程序虚拟化安装及加载方法及装置
US8924954B2 (en) Application software installation method and application software installation apparatus
EP2765508B1 (en) Installation method and installation device for application software
US10154112B1 (en) Cloud-to-cloud data migration via cache
US9880889B2 (en) Virtual application extension points
CN107870968B (zh) 对文件***卷执行实时更新
JP5629018B2 (ja) 異種移動環境用の仮想マシンモーフィング
US9069607B1 (en) Selective migration of virtualized applications and configuration settings thereof
US8799709B2 (en) Snapshot management method, snapshot management apparatus, and computer-readable, non-transitory medium
US8495625B1 (en) Method and system for creation of streamed files on-demand
US9880759B2 (en) Metadata for data storage array
US9753768B2 (en) Instant xvmotion using a private storage virtual appliance
US10628196B2 (en) Distributed iSCSI target for distributed hyper-converged storage
US10372547B1 (en) Recovery-chain based retention for multi-tier data storage auto migration system
WO2019119850A1 (zh) 一种部署应用软件的方法、装置及虚拟机
US20100042719A1 (en) Content access to virtual machine resource
US9436494B2 (en) Preserving an independent virtual disk
WO2014075875A1 (en) Automatic template creation based on new feeds
US10394624B2 (en) Attaching applications based on file type
CN110347483B (zh) 物理机到虚拟机迁移方法、装置及存储介质
US9032402B2 (en) Managing an independent virtual disk
US20150254092A1 (en) Instant xvmotion using a hypervisor-based client/server model
JP5439435B2 (ja) 計算機システムおよびその計算機システムにおけるディスク共有方法
EP3028156A1 (en) Storing difference information in a backup system
US20120016847A1 (en) File Management System And Method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12808099

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12808099

Country of ref document: EP

Kind code of ref document: A1