WO2013004182A1 - Virtualized installation and loading method and apparatus for application program - Google Patents

Virtualized installation and loading method and apparatus for application program 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
French (fr)
Chinese (zh)
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/en

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

Provided are a virtualized installation method and apparatus for an application program. The method comprises the steps of: when a target volume where an application program is to be installed is different from a volume where a host operating system is located, acquiring a current path of an application program installation source and a path of the target volume; when a preset file directory tree exists on the target volume, loading an installation program of the application program of the host operating system; when the host operating system installs the application system, redirecting an installation path of the application program to the file directory tree in the target volume. Also provided are a virtualized loading method and apparatus for an application program.

Description

应用程序虚拟化安装及加载方法及装置 本申请要求于 Jul 2011 年 07 月 04 日提交中国专利局、 申请号为 201110184189.0、 发明名称为"应用程序虚拟化安装及加载方法及装置" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。  Application Virtualization Installation and Loading Method and Apparatus The present application claims to be filed on July 4, 2011 by the Chinese Patent Office, application number 201110184189.0, and the invention titled "Application Virtualization Installation and Loading Method and Apparatus" Priority is hereby incorporated by reference in its entirety.
技术领域 Technical field
本发明实施例涉及安全技术领域, 尤其涉及应用程序虚拟化安装及加载方 法及装置。 背景技术 虚拟化技术可以把原本分散到几个服务器上的工作集中到一台硬件平台 上, 以便能充分地利用硬件资源, 节约管理和控制成本, 其中, 应用程序虚拟 化技术通过将应用程序与操作系统解耦合,为应用程序提供了一个虚拟的运行 环境, 在不改变应用本身的前提下, 通过技术手段在应用运行时改变其行为。  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.
windows平台下对应用程序实现虚拟化可以通过以下方式: 提取指定软件在操 作系统的注册信息及该软件的文件,对用户的操作系统内核在操作注册表时所 涉及的应用程序编程接口进行替换,并根据操作系统的标准接口建立文件过滤 驱动,使得操作系统内核可以依照预定的格式识别软件资源中的注册信息及该 软件的文件, 最终操作系统内核根据用户或系统的请求,运行软件资源所对应 的指定软件。 但是, 发明人的研究中发现, 在软件虚拟化运行之前, 必须提取指定软件 在操作系统注册表中的注册信息及该软件的文件, 这个过程会非常复杂; 提取 后的数据资源必须保存成预定的格式,每个软件都有单独的保存注册表信息的 文件, 这样文件系统也将存在严重的冗余。 发明内容 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. And 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. However, 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:
获取用户指定的在目标卷上的应用程序名称和路径, 其中, 所述目标卷不 同于主机操作系统所在卷; 加载所述目标卷上安装的应用程序; 在所述主机操作系统对应用程序进行加载时,将应用程序加载和运行中所 需资源的查找路径重定向至所述目标卷上的文件目录树中。 本发明实施例还提供一种应用程序虚拟化安装的装置, 包括:  Obtaining a user-specified application name and path on the target volume, where the target volume is different from the volume where the host operating system is located; loading an application installed on the target volume; and performing an application on the host operating system At load time, the lookup path for the application load and the resources required for the run is redirected to the file directory tree on the target volume. The embodiment of the invention further provides an apparatus for installing an application virtualization, comprising:
身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径; 第一加载单元, 用于当所述目标卷上存在预置的文件目录树时,加载所述 主机操作系统的应用程序安装程序; 第一重定向单元,用于在所述主机操作系统执行应用程序安装时,将应用 程序的安装路径重定向至所述目标卷的文件目录树中。 本发明实施例还提供一种应用程序虚拟化加载的装置, 包括: When you are in the volume, get the path and target volume path of the application installation source; a first loading unit, configured to load an application installer of the host operating system when a preset file directory tree exists on the target volume; a first redirecting unit, configured to execute an application in the host operating system When the program is installed, the application's installation path is redirected to the file directory tree of the target volume. 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.
将主机操作系统平台上原本不能改变安装位置的复杂大型的应用程序安装至 用户选定的目标卷上, 例如: 移动硬盘等, 用户可以将多个应用程序安装到同 一个目标卷上,共享一个文件目录树; 当用户选择移动介质作为应用程序虚拟 化安装的目标卷时, 随着介质的移动, 应用程序和数据会同时移动, 为用户提 供了一种具有移动性的软件安装和部署的方法。 Install a complex large-scale application on the host operating system platform that cannot change the installation location to the target volume selected by the user, for example: a mobile hard disk, etc., the user can install multiple applications on the same target volume and share one. File directory tree; When the user selects the 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 mobile software installation and deployment method. .
附图说明 DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描 述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings to be used in the embodiments or the description of the prior art will be briefly described below. The drawings in the above are some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any creative work.
图 1为本发明实施例所提供的一种应用程序虚拟化安装方法流程图; 图 2为本发明实施例所提供的另一种应用程序虚拟化安装方法流程图; 图 3为本发明实施例所提供的一种应用程序虚拟化加载方法的流程图; 图 4为本发明实施例所提供的一种应用程序虚拟化安装的装置结构图; 图 5为本发明实施例提供的另一种应用程序虚拟化安装的装置结构图; 图 6为本发明实施例提供的一种应用程序虚拟化加载的装置结构图; 图 7为本发明实施例提供的另一种应用程序虚拟化加载的装置结构图。 具体实施方式  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 technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is a partial embodiment of the invention, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without departing from the inventive scope are the scope of the present invention. As shown, the method of this embodiment may include:
步骤 100: 当应用程序准备安装的目标卷不同于主机操作系统本身所在卷 时, 获取应用程序安装源当前所在路径和目标卷路径;  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. An application virtualization installation method of an embodiment of the present invention;
本发明实施例中提到的应用程序安装源可以是主机操作系统支持的主流 软件安装包, 以 Mac OS操作系统为例, 可以是 Mac OS操作系统所支持的主流 软件安装包, 如 pkg、 mpkg等格式的软件包;  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;
步骤 102: 当第一目标卷上存在预置的文件目录树时, 加载主机操作系统 的应用程序安装程序;  Step 102: When a preset file directory tree exists on the first target volume, load an application installation program of the host operating system;
其中, 可以是在应用程序虚拟化安装方法执行之前,在第一目标卷上创建 文件目录树; 当第一目标卷上不存在预置的文件目录树时,也可以在应用程序 虚拟化安装过程中,创建文件目录树后,加载主机操作系统的应用程序安装程 序;  Wherein, 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;
应用程序安装的第一目标卷应该是不同于主机操作系统本身所在的卷,通 常可以是移动存储设备, 如 U盘、 移动硬盘等;  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.
为了进行文件管理,在第一目标卷上需要建立文件目录树,通过本发明实 施例所提供的方法, 最终在文件目录树中找到应用程序安装位置; 虚拟化应用 程序和数据将被存储在这个目录结构中,应用程序安装后将改变文件目录所在 文件系统, 如添加目录和文件等;  In order to perform file management, a file directory tree needs to be created on the first target volume. Through the method provided by the embodiment of the present invention, the application installation location is finally found in the file directory tree; the virtualization application and data are stored in this file. In 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;
本发明实施例中,应用程序虚拟安装过程中, 若在第一目标卷中已经存在 文件目录结构时, 将会直接加载主机操作系统的应用安装程序;  In the embodiment of the present invention, in the virtual installation process of the application, if the file directory structure already exists in the first target volume, the application installation program of the host operating system is directly loaded;
步骤 104: 在主机操作系统执行应用程序安装时, 将应用程序的安装路径 重定向至第一目标卷的文件目录树中;  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. 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.
本发明实施例不对该方案应用的操作系统平台类型做限制,本发明实施例 仅以 Mac OS操作系统作为举例来说明; 如图 2为本发明实施例所提供另一种的 应用程序虚拟化安装方法的流程图, 本发明实施例应用于 Mac OS操作系统平 台的场景中, 包括:  The embodiment of the present invention does not limit the type of the operating system platform to which the solution is applied. The embodiment of the present invention is only illustrated by using the Mac OS operating system as an example; 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:
步骤 201 : 当应用程序准备安装的第一目标卷不同于 Mac OS操作系统所在 卷时, 获取应用程序安装源当前所在路径和第一目标卷路径;  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;
步骤 202: 判断第一目标卷上是否存在预置的文件目录树, 若否, 则执行 步骤 203; 若是, 则直接执行步骤 204;  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;
将应用程序安装在第一目标卷上之前或安装过程中,为了让应用程序运行 过程中用户的体验不发生变化,本发明实施例会在第一目标卷的目录树中构建 应用程序安装和运行相关的目录, 例如: 构建与 Mac OS系统所在卷中的目录 树结构相似或相同的目录结构, 使应用程序在第一目标卷上的安装目录和在 Mac OS系统所在卷的安装目录类似或相同;  Before the application is installed on the first target volume or during the installation process, in order to prevent the user's experience from changing during the running of the application, 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;
步骤 203: 创建文件目录树;  Step 203: Create a file directory tree.
步骤 204: 加载 Mac OS系统的应用程序安装程序;  Step 204: Load an application installer of the Mac OS system;
步骤 205:监控 Mac OS操作系统的应用程序安装的进程,将 Mac OS操作系 统的应用程序安装过程中涉及文件及文件目录操作的路径重定向至第一目标 卷上的文件目录树中; 其中,从所述主机操作系统自带的系统库文件中调取资源时,调取资源的 路径不改变。 在应用程序安装的进程中, 涉及文件及文件目录的操作, 可以包 括: 文件创建、 打开, 获得文件属性, 修改文件属性, 目录创建, 修改目录属 性, 更改文件和目录名称等等操作; 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; When the resource is retrieved from the system library file that is provided by the host operating system, the path of the resource is not changed. In the process of application installation, 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;
具体实施中,对拦截到的涉及文件及文件目录的操作,会对操作中涉及文 件或文件目录路径的参数进行改写;  In the specific implementation, the intercepted file and file directory operations are overwritten with parameters related to the file or file directory path in the operation;
本发明实施例中, 在监控 Mac OS操作系统的应用程序安装过程中, 会涉 及到文件及文件目录操作,将会对这些操作进行拦截,可以通过映射算法对所 拦截操作的路径参数进行重定向, 其中, 通过映射算法, 将 Mac OS OS X系统 安装程序中原本要对 Mac OS系统所在卷上的文件及文件目录(Mac OS系统本 身自带的系统库文件除外)进行操作的路径映射到第一目标卷的虚拟文件系统 的文件目录之中, 最终将应用程序安装至第一目标卷上的文件目录树中; 录操作的路径重定向至所述第一目标卷上的文件目录中,可以通过映射算法在 第一目标卷的文件目录中找到应用程序的安装位置,所构建第一目标卷上的文 件目录树, 其目录和 Mac OS系统所在卷原有相关目录比较, 具有很大的相似 性, 以使得将应用程序安装中涉及文件和文件目录的位置重定向时,在目标卷 上能找到一个相似的位置, 例如, 本来应该是在系统盘 C: /Applications/Adobe 位置,映射后,变成在第一目标卷 H盘上的 /Volumes/H/Applications/Adobe位置; 但同时第一目标卷上的目录树要避免过多的冗余,能够满足安装和运行的需求 即可;  In the embodiment of the present invention, during the installation process of monitoring the application program of the Mac OS operating system, 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. , through the mapping algorithm, map the path of the Mac OS OS X system installation program 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). 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;
其中,将应用程序安装中涉及文件和文件目录的位置重定向时,在目标卷 上能找到一个相似的位置的方法,可以通过维护一个主机操作系统所在卷中文 件及文件目录与第一目标卷上的文件及文件目录之间的映射关系,在进行重定 向操作时可以通过这个映射关系表, 将原本要对 Mac OS系统所在卷上的文件 及文件目录(Mac OS系统本身自带的系统库文件除外)进行操作的路径映射 到第一目标卷的虚拟文件系统的文件目录之中;也可以直接将第一目标卷上的 文件系统设置和主机操作系统所在卷上的文件目录结构相同或相似的文件目 录树, 以使得在重定向时可以通过直接在第一目标卷中查找到对应的位置; 本 发明实施例为用户提供了一个在 Mac OS操作系统平台上实现应用程序虚拟化 安装的装置, 可以将 Mac OS操作系统平台上原本不能改变安装位置的复杂大 型的应用程序安装至用户选定的目标卷上,并且,与将应用程序安装在 Mac OS 操作系统所在卷上相比, 在用户体验上几乎没有变化。 Where the target installation involves redirecting the location of the file and file directories in the target volume 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. To the user selected target volume, and, with the application installed on Mac OS Compared to the user experience is almost no change in volume on the system lies.
在本发明实施例所提供的虚拟化安装方法的基础之上, 参见图 3 , 本发明 实施例还提供一种应用程序虚拟化加载的方法, 仍然以 Mac OS操作系统平台 上的应用为例, 实现对第一目标卷上的应用程序进行运行, 该方法包括:  On the basis of the virtualization installation method provided by the embodiment of the present invention, referring to FIG. 3, 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. Implementing an application running on the first target volume, the method comprising:
步骤 300: 获取用户指定的在第一目标卷上的应用程序名称和路径, 其中, 第一目标卷不同于 Mac OS操作系统所在卷;  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. 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;
步骤 302: 加载第一目标卷上安装的应用程序;  Step 302: Load an application installed on the first target volume;
在步骤 302之前, 还可以包括: 检查虚拟文件系统的状态和完整性, 当所 述目标卷的文件系统不满足应用程序安装条件时, 结束安装; Before step 302, 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.
步骤 304: 在 Mac OS操作系统对应用程序进行加载时, 将应用程序的加载 和运行中所需资源的查找路径重定向至第一目标卷上的文件目录树中;  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;
其中, 步骤 304具体可以通过以下方法: 监控应用程序运行, 当需要从到 文件及文件目录树中调取资源时, 将原本应该从 Mac OS操作系统所在卷调取 资源的路径重定向至第一目标卷上的文件目录树中,以使第一目标卷上的应用 程序在 Mac OS操作系统平台上运行;  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;
其中,可以通过映射算法对所拦截操作的路径进行重定向,通过映射算法, 将应用程序运行时, 将原本应该从 Mac OS操作系统所在卷寻找和操作的文件 及文件目录树中的资源的路径映射到第一目标卷的虚拟文件系统的文件目录 树中, 其中, 从所述主机操作系统自带的系统库文件中调取资源时, 调取资源 的路径不改变。  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. When the resource is retrieved from the system library file that is provided by the host operating system, the path of the resource is not changed.
通过本发明实施例所提供的在 Mac OS操作系统平台上实现应用程序加载 的方法, 实现在 Mac OS操作系统平台上对第一目标卷上的应用程序的加载和 运行, 且不影响用户体验。  The method for implementing application loading on the Mac OS operating system platform provided by the embodiment of the present invention implements loading and running of the application on the first target volume on the Mac OS operating system platform without affecting the user experience.
参见图 4, 本发明实施例提供了一种应用程序虚拟化安装的装置, 包括: 第一获取单元 40,用于当应用程序准备安装的目标卷不同于主机操作系统 本身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径;  Referring to FIG. 4, 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;
只要当应用程序准备安装的目标卷(以下称第一目标卷)不同于主机操作 系统所在卷时, 则启动本发明实施例的应用程序虚拟化安装方法; 本发明实施例中提到的应用程序安装源可以是主机操作系统所支持的主 流软件安装包, 如 pkg、 mpkg等格式的软件包; As long as the target volume that the application is ready to install (hereafter referred to as the first target volume) is different from the host operation When the system is in the volume, 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. Software package
第一加载单元 42, 用于当第一目标卷上存在预置的文件目录树时, 则直接 加载主机系统的应用程序安装程序;  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;
应用程序安装的第一目标卷应该是不同于主机操作系统本身所在的卷,通 常可以是移动存储设备, 如 U盘、 移动硬盘等;  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.
第一重定向单元 44, 用于在主机操作系统执行应用程序安装时,将应用程 序的安装路径重定向至第一目标卷的文件目录树中;  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;
通过本发明实施例所提供的一种应用程序虚拟化安装的装置,可以将主机 操作系统平台上复杂大型的应用程序安装至用户选定的目标卷上, 例如: 移动 硬盘等, 用户可以将多个应用程序安装到同一个目标卷上,共享一个文件目录 树; 当用户选择移动介质作为应用程序虚拟化安装的目标卷时, 随着介质的移 动,应用程序和数据会同时移动, 为用户提供了一种具有移动性的软件安装和 部署的方法。  According to an application virtualization installation device provided by the embodiment of the present invention, 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.
参见图 5, 本发明实施例还提供另一种应用程序虚拟化安装的装置, 以应 用于 Mac OS操作系统平台上为例, 包括:  Referring to FIG. 5, 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:
第一获取单元 50, 用于当应用程序准备安装的目标卷不同于 Mac OS操作 系统本身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径;  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;
判断单元 51 , 用于判断第一目标卷上是否存在预置的文件目录, 并将发送 判断结果;  The determining unit 51 is configured to determine whether a preset file directory exists on the first target volume, and send a judgment result;
创建单元 52, 用于接收判断单元 521发送的判断结果, 当判断结果为否时, 则创建文件目录, 创建完成后通知第一加载单元 53; 在第一目标卷上创建文件目录树; 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;
第一目标卷上创建的文件目录树具有和 Mac OS系统所在卷中的目录树结 构相似或相同的目录结构, 使应用程序在第一目标卷上的安装目录和在 Mac OS系统所在卷的安装目录类似或相同;  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;
第一加载单元 53 , 用于接收判断单元 51发送的判断结果及创建单元 52通 知; 当第一目标卷上存在预置的文件目录树时, 则加载 Mac OS系统的应用程 序安装程序;  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;
第一重定向单元 54, 用于在 Mac OS操作系统执行应用程序安装时, 将应 用程序的安装路径重定向至第一目标卷的文件目录树中;  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;
其中, 第一重定向单元 54, 可以包括:  The first redirecting unit 54 can include:
第一监控单元 541 , 用于监控 Mac OS操作系统的应用程序安装的进程; 第一重定向处理单元 542, 用于将 Mac OS操作系统的应用程序安装过程中 涉及文件及文件目录操作的路径重定向至第一目标卷上的文件目录树中; 录操作的路径重定向至所述第一目标卷上的文件目录中,可以通过映射算法在 第一目标卷的文件目录中找到应用程序安装位置,所构建第一目标卷上文件目 录树, 其目录和 Mac OS系统所在卷原有相关目录比较, 具有很大的相似性, 以使得将应用程序安装中涉及文件和文件目录的位置,在目标卷上能找到相似 的位置。  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.
本发明实施例为用户提供了一个在 Mac OS操作系统平台上实现应用程序 虚拟化安装的装置, 可以将 Mac OS操作系统平台上复杂大型的应用程序安装 至用户选定的目标卷上, 并且, 与将应用程序安装在 Mac OS操作系统所在卷 上相比, 在用户体验上几乎没有变化。 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.
参见附图 6, 本发明实施例在前述实施例所提供的在主机操作系统平台上 实现应用程序虚拟化安装的装置的基础上,提供了一种应用程序虚拟化加载的 装置, 包括:  Referring to FIG. 6, 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:
第二获取单元 60,用于获取用户指定的在第一目标卷上的应用程序名称和 路径, 其中, 第一目标卷不同于主机操作系统所在卷;  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;
第二加载单元 61 , 用于加载第一目标卷上安装的应用程序;  a second loading unit 61, configured to load an application installed on the first target volume;
第二重定向单元 62, 用于在所述主机操作系统对应用程序进行加载时,将 应用程序的加载和运行中所需资源的查找路径重定向至第一目标卷上的文件 目录树中;  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.
参见附图 7, 仍然以 Mac OS操作系统平台上使用为例, 本发明实施例还提 供另一种应用程序虚拟化加载的装置, 和附图 6所对应的实施例不同的是, 还 包括:  Referring to FIG. 7 , which is still used as an example on the Mac OS operating system platform, 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:
检查单元 73 , 用于在加载第一目标卷上安装的应用程序之前,检查第一目 标卷上文件系统的状态和完整性;  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;
第二重定向单元 72, 可以包括:  The second redirecting unit 72 may include:
第二监控单元 721 , 用于监控应用程序运行;  a second monitoring unit 721, configured to monitor application running;
第二处理单元 722, 用于当需要从到文件及文件目录树中调取资源时, 将 原本应该从 Mac OS操作系统所在卷调取资源的路径重定向至第一目标卷上的 文件目录树中, 以使第一目标卷上的应用程序在 Mac OS操作系统平台上运行; 本实施例中其他结构和功能和附图 6对应的实施例相同, 在此不再赘述。 本发明实施例提供了在 Mac OS系统上实现应用程序虚拟化安装及加载的 方法和装置, 可以将 Mac OS操作系统平台上复杂大型的应用程序安装至用户 选定的目标卷上, 例如: 移动硬盘等, 用户可以将多个应用程序安装到同一个 目标卷上,共享一个文件目录树; 当用户选择移动介质作为应用程序虚拟化安 装的目标卷时, 随着介质的移动, 应用程序和数据会同时移动, 为用户提供了 一种具有移动性的软件安装和部署的方法。 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可 以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存 储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储 介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序代码的介质。 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. When the user selects the mobile media as the target volume for the application virtualization installation, 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.
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其限 制; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其 中部分技术特征进行等同替换; 而这些修改或者替换, 并不使相应技术方案的 本质脱离本发明各实施例技术方案的精神和范围。  Finally, it should be noted that the above embodiments are only for explaining the technical solutions of the present invention, and are not intended to be limiting; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the foregoing embodiments are modified, or some of the technical features are equivalently replaced. The modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

权 利 要 求 Rights request
1、 一种应用程序虚拟化安装的方法, 其特征在于, 包括: 当应用程序准备安装的目标卷不同于主机操作系统所在卷时,获取应用程 序安装源当前所在路径和所述目标卷路径; 当所述目标卷上存在预置的文件目录树时,加载所述主机操作系统的应用 程序安装程序; 在所述主机操作系统执行应用程序安装时,将所述应用程序的安装路径重 定向至所述目标卷上的文件目录树中。  A method for installing an application virtualization, comprising: obtaining a path where the application installation source is currently located and the target volume path when the target volume to be installed by the application is different from the volume of the host operating system; Loading an application installer of the host operating system when a preset file directory tree exists on the target volume; and redirecting an installation path of the application to the host operating system when performing an application installation The file directory tree on the target volume.
2、 根据权利要求 1所述的应用程序虚拟化安装的方法, 其特征在于, 所述 将所述应用程序的安装路径重定向至所述目标卷上的文件目录树中,其特征在 于, 包括: 监控所述主机操作系统执行应用程序安装的进程,通过将所述应用程序安 装进程中涉及文件及文件目录操作的路径重定向, 其中,针对所述主机操作系 统自带的系统库文件进行操作的路径不进行重定向。 The method for installing an application virtualization according to claim 1, wherein the redirecting the installation path of the application to a file directory tree on the target volume is characterized by: Monitoring the process of the host operating system to perform the application installation, by redirecting the path involving the file and the file directory operation in the application installation process, where the system library file that is provided by the host operating system is operated The path is not redirected.
3、 根据权利要求 1所述的应用程序虚拟化安装的方法, 其特征在于, 还包 括: 当所述应用程序准备安装的目标卷上不存在预置的文件目录树时,在应用 程序虚拟化安装过程中,创建文件目录树后,加载所述主机操作系统的应用程 序安装程序。 The method for installing an application virtualization according to claim 1, further comprising:: virtualizing in the application when there is no preset file directory tree on the target volume to be installed by the application; During the installation process, after the file directory tree is created, the application installer of the host operating system is loaded.
4、 根据权利要求 2所述应用程序虚拟化安装的方法, 其特征在于, 所述将 应用程序安装进程中涉及文件及文件目录操作的路径重定向, 包括: 通过维护的所述主机操作系统所在卷上的文件及文件目录与所述目标卷 上的文件及文件目录之间的映射关系,将所述主机操作系统安装程序中原本针 对所述主机操作系统所在卷上的文件及文件目录进行操作的路径映射到所述 目标卷的虚拟文件系统的文件目录之中, 其中,针对所述主机操作系统自带的 系统库文件进行操作的路径不映射。 4. The method of application virtualization installation according to claim 2, wherein said Path redirection involving file and file directory operations in the application installation process, including: mapping between files and file directories on the volume where the host operating system is located and files and file directories on the target volume And mapping, in the host operating system installation program, a path for operating the file and the file directory on the volume where the host operating system is located to a file directory of the virtual file system of the target volume, where The path of the system library file that comes with the host operating system is not mapped.
5、 一种应用程序虚拟化加载方法, 其特征在于, 包括: 获取用户指定的在目标卷上的应用程序名称和路径, 其中, 所述目标卷不 同于主机操作系统所在卷; 加载所述目标卷上安装的应用程序; 在所述主机操作系统对应用程序进行加载时,将应用程序加载和运行中所 需资源的查找路径重定向至所述目标卷上的文件目录树中。 An application virtualization loading method, comprising: acquiring a user-specified application name and path on a target volume, where the target volume is different from a volume where the host operating system is located; loading the target An application installed on the volume; when the host operating system loads the application, redirects the search path of the resources required for application loading and running to the file directory tree on the target volume.
6、 根据权利要求 5所述的应用程序虚拟化加载方法, 其特征在于, 所述将 应用程序加载和运行中所需资源的查找路径重定向至所述目标卷上的文件目 录树中, 包括: 监控应用程序运行,当需要从所述主机操作系统所在卷的文件及文件目录 树中调取资源时,将调取资源的路径重定向至目标卷上的文件目录树中,其中, 从所述主机操作系统自带的系统库文件中调取资源时, 调取资源的路径不改 变。 The application virtualization loading method according to claim 5, wherein the searching path for loading resources required for application loading and running is redirected to a file directory tree on the target volume, including The monitoring application runs. When the resource needs to be retrieved from the file and file directory tree of the volume where the host operating system is located, the path of the retrieved resource is redirected to the file directory tree on the target volume, where When the resource is retrieved from the system library file that comes with the host operating system, the path to the resource is not changed.
7、 一种应用程序虚拟化安装的装置, 其特征在于, 包括: 身所在卷时, 获取应用程序安装源当前所在路径和目标卷路径; 第一加载单元, 用于当所述目标卷上存在预置的文件目录树时,加载所述 主机操作系统的应用程序安装程序; 第一重定向单元,用于在所述主机操作系统执行应用程序安装时,将应用 程序的安装路径重定向至所述目标卷的文件目录树中。 7. An apparatus for installing an application virtualization, comprising: When the volume is located, the path of the application installation source and the path of the target volume are obtained. The first loading unit is configured to load the application of the host operating system when a preset file directory tree exists on the target volume. a first redirecting unit, configured to redirect an installation path of the application to a file directory tree of the target volume when the host operating system performs an application installation.
8、 根据权利要求 7所述的装置, 其特征在于, 还包括: 8. The device according to claim 7, further comprising:
判断单元, 用于判断所述目标卷上是否存在预置的文件目录, 并将发送判 断结果;  a determining unit, configured to determine whether a preset file directory exists on the target volume, and send a judgment result;
创建单元, 用于接收所述判断单元发送的判断结果, 当判断结果为否时, 则创建文件目录, 创建完成后通知所述第一加载单元。  a creating unit, configured to receive a determination result sent by the determining unit, and when the determining result is no, create a file directory, and notify the first loading unit after the creation is completed.
9、 根据权利要求 7或 8所述的装置, 其特征在于, 所述第一重定向单元包 括: 第一监控单元, 用于监控所述主机操作系统的应用程序安装的进程; 第一重定向处理单元,用于将所述主机操作系统的应用程序安装过程中涉 及文件及文件目录操作的路径重定向至所述目标卷上的文件目录树中。  The device according to claim 7 or 8, wherein the first redirection unit comprises: a first monitoring unit, configured to monitor a process of installing an application of the host operating system; And a processing unit, configured to redirect a path related to the file and file directory operations in the application installation process of the host operating system to a file directory tree on the target volume.
10、 一种应用程序虚拟化加载的装置, 其特征在于, 包括: 10. An apparatus for application virtualization loading, comprising:
第二获取单元, 用于获取用户指定的在目标卷上的应用程序名称和路径, 其中, 所述目标卷不同主机操作系统所在卷;  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; And a second redirecting unit, 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 target volume.
11、 根据权利要求 10所述的装置, 其特征在于, 所述第二重定向单元, 包 括: 第二监控单元, 用于监控应用程序运行; 第二处理单元,用于当需要从所述主机操作系统所在卷的文件及文件目录 树中调取资源时,将调取资源的路径重定向至目标卷上的文件目录树中,其中, 从所述主机操作系统自带的系统库文件中调取资源时, 调取资源的路径不改 变。 The device according to claim 10, wherein the second redirection unit comprises: a second monitoring unit, configured to monitor an application running; and a second processing unit, configured to: when needed from the host When the resource is retrieved from the file and file directory tree of the volume where the operating system is located, the path of the resource is redirected to the file directory tree on the target volume, where the system library file is loaded from the host operating system. When a resource is taken, the path to the resource is not changed.
12、 根据权利要求 10所述的装置, 其特征在于, 还包括: 12. The device according to claim 10, further comprising:
检查单元, 用于在加载所述目标卷上安装的应用程序之前,检查所述目标卷上 文件系统的状态和完整性,当所述目标卷的文件系统不满足应用程序安装条件 时, 发送告警信息。 a checking unit, configured to check a status and integrity of a file system on the target volume before loading an application installed on the target volume, and send an alarm when a file system of the target volume does not meet an application installation condition information.
PCT/CN2012/078157 2011-07-04 2012-07-04 Virtualized installation and loading method and apparatus for application program WO2013004182A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110184189.0 2011-07-04
CN2011101841890A CN102231116A (en) 2011-07-04 2011-07-04 Application program virtualization installing and loading method and device

Publications (1)

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

Family

ID=44843683

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/078157 WO2013004182A1 (en) 2011-07-04 2012-07-04 Virtualized installation and loading method and apparatus for application program

Country Status (2)

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

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231116A (en) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 Application program virtualization installing and loading method and device
CN102520944B (en) * 2011-12-06 2014-07-02 北京航空航天大学 Method for realizing virtualization of Windows application program
CN102521031B (en) 2011-12-13 2014-11-05 华为终端有限公司 Management method of preset application programs of mobile terminal and mobile terminal
CN103136350B (en) * 2013-02-01 2017-02-08 江苏易合大成网络科技有限公司 Method for allowing a plurality of applications to run on system platform and device thereof
JP6020476B2 (en) * 2014-01-20 2016-11-02 横河電機株式会社 Process control apparatus and updating method thereof
CN105700914A (en) * 2015-12-31 2016-06-22 北京金山安全软件有限公司 Application software installation and starting method and device
EP3441876B1 (en) * 2016-04-27 2023-02-15 Honor Device Co., Ltd. Patch upgrade-based file processing method and device, terminal, and storage medium
CN106020943B (en) * 2016-05-04 2020-06-19 北京小米移动软件有限公司 Application program double-opening method and device
CN110019081B (en) * 2017-07-20 2023-04-07 中兴通讯股份有限公司 Data persistence processing method, device and system and readable storage medium
CN107992355B (en) * 2017-12-21 2021-07-13 中兴通讯股份有限公司 Method and device for deploying application software and virtual machine

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221510A (en) * 2008-01-24 2008-07-16 清华大学 Method for reappearing user configuration surroundings on computer by mobile memory device
CN101650668A (en) * 2008-08-11 2010-02-17 优诺威讯国际有限公司 Method and device for realizing virtual environment
CN101655798A (en) * 2008-08-18 2010-02-24 联想(北京)有限公司 Method for deployment and operation of application in computer and virtual machine environments
CN101965553A (en) * 2008-01-04 2011-02-02 密刻爱你有限公司 Virtual application program system, storing device, method for executing virtual application program and method for protecting virtual environment
CN102231116A (en) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 Application program virtualization installing and loading method and device

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 (en) * 2008-08-04 2010-02-10 优诺威讯国际有限公司 Virtual operating system creation method
CN101777002B (en) * 2010-01-18 2012-12-19 杭州宇酷信息技术有限公司 Software running method based on virtualization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965553A (en) * 2008-01-04 2011-02-02 密刻爱你有限公司 Virtual application program system, storing device, method for executing virtual application program and method for protecting virtual environment
CN101221510A (en) * 2008-01-24 2008-07-16 清华大学 Method for reappearing user configuration surroundings on computer by mobile memory device
CN101650668A (en) * 2008-08-11 2010-02-17 优诺威讯国际有限公司 Method and device for realizing virtual environment
CN101655798A (en) * 2008-08-18 2010-02-24 联想(北京)有限公司 Method for deployment and operation of application in computer and virtual machine environments
CN102231116A (en) * 2011-07-04 2011-11-02 成都市华为赛门铁克科技有限公司 Application program virtualization installing and loading method and device

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2013004182A1 (en) Virtualized installation and loading method and apparatus for application program
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
CN107870968B (en) Performing real-time updates to a file system volume
JP5629018B2 (en) Virtual machine morphing for heterogeneous mobile environments
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
US9880759B2 (en) Metadata for data storage array
TWI547875B (en) Converting machines to virtual machines
JP5955870B2 (en) Method, computer readable storage medium and system for optimal compression of a virtual disk
US9753768B2 (en) Instant xvmotion using a private storage virtual appliance
US20110246617A1 (en) Virtual Application Extension Points
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 (en) Application software deployment method and device, and virtual machine
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
WO2019196705A1 (en) Physical-to-virtual migration method and apparatus, and storage medium
US9032402B2 (en) Managing an independent virtual disk
US20150254092A1 (en) Instant xvmotion using a hypervisor-based client/server model
JP5439435B2 (en) Computer system and disk sharing method in the computer system
EP3028156A1 (en) Storing difference information in a backup system

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