CN109284161B - 桌面虚拟化环境下的软件分发方法 - Google Patents

桌面虚拟化环境下的软件分发方法 Download PDF

Info

Publication number
CN109284161B
CN109284161B CN201811067051.0A CN201811067051A CN109284161B CN 109284161 B CN109284161 B CN 109284161B CN 201811067051 A CN201811067051 A CN 201811067051A CN 109284161 B CN109284161 B CN 109284161B
Authority
CN
China
Prior art keywords
software
disk
file
library
software library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811067051.0A
Other languages
English (en)
Other versions
CN109284161A (zh
Inventor
何少伟
石正科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thinputer Technology Co ltd
Original Assignee
Thinputer Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thinputer Technology Co ltd filed Critical Thinputer Technology Co ltd
Priority to CN201811067051.0A priority Critical patent/CN109284161B/zh
Publication of CN109284161A publication Critical patent/CN109284161A/zh
Application granted granted Critical
Publication of CN109284161B publication Critical patent/CN109284161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects

Abstract

本发明提供了一种桌面虚拟化环境下的软件分发方法,包括:步骤1,在软件库制作模式下安装软件,并将其写入到软件库磁盘;步骤2,将制作完成的软件库磁盘挂给多个虚拟机使用;步骤3,通过设置文件过滤模块,确定用户使用软件的下发规则,以使软件库磁盘中某一用户不使用的软件对该用户不可见。管理员用户通过在虚拟机桌面设置成制作软件盘的模式,在软件库制作模式下安装的软件将被写入到软件库磁盘,并记录软件的信息及其对应的文件系统位置。制作完成后该软件库磁盘就可以挂给多个虚拟机使用,且通过设置用户使用哪些软件对文件过滤模块下发规则,可以将用户不使用的软件库的软件文件对用户不可见,达到个性化软件分发的目的。

Description

桌面虚拟化环境下的软件分发方法
技术领域
本发明涉及虚拟机技术领域,特别涉及一种桌面虚拟化环境下的软件分发方法。
背景技术
桌面虚拟化(Virtual Desktop Infrastructure,VDI):桌面虚拟化(又称虚拟桌面架构)是利用虚拟化的技术,将操作系统和应用程序统一存放在数据中心的服务器及存储设备中,通过建立虚拟机池,为不同的用户提供桌面。用户通过采用不同的终端设备,利用对应的虚拟桌面显示协议和虚拟机进行连接,从而在终端上显示虚拟机的操作界面,终端仅作为输入端和输出端,计算和存储全部在服务器端。通过显示协议的优化和一些外设的重定向技术,使得访问虚拟桌面和使用本地的PC达到体验一致。该架构可以提供集中管理的维护和安全优势,同时具有移动优势,在任何地方都可以访问到自己的桌面环境。
软件分发是指系统管理员通过某种方法将用户所需的软件发送给用户桌面使用户可以使用该软件。文件系统过滤驱动(File system filter driver):一种为文件系统提供附加的过滤规则的Windows驱动。
在桌面虚拟化环境下,经常存在多个用户需要在各自的云桌面上安装相同软件的场景,比如office等各种常用软件。而现在在批量的云桌面上批量更新/安装软件的方式通常为以下两种:第一种是通过软件管家类管理软件将软件传输到用户云桌面进行安装;第二种是将用户所需的软件安装在一个虚拟机模版中,通过更新模板来更新虚拟桌面的软件。
上述两种方式都存在一定的缺点和不足,第一种方式软件兼容性不好,需要管理员去维护、定制各种软件安装包来达到满足软件分发的要求,而且对于一些安装过程较为复杂、安装时长较长的软件,在每个虚拟桌面上都要耗费大量的时间;第二种方法虽然省去了用户各自的安装时间,但是同样存在一定的局限性,重新更新模板会导致用户原来虚拟桌面数据的丢失,不适用于办公类等用户有个性化数据的应用场景。
发明内容
本发明提供了一种桌面虚拟化环境下的软件分发方法,以解决上述技术问题。
为解决上述问题,作为本发明的一个方面,提供了一种桌面虚拟化环境下的软件分发方法,包括:步骤1,在软件库制作模式下安装软件,并将其写入到软件库磁盘;步骤2,将制作完成的软件库磁盘挂给多个虚拟机使用;步骤3,通过设置文件过滤模块,确定用户使用软件的下发规则,以使软件库磁盘中某一用户不使用的软件对该用户不可见。
优选地,所述方法在步骤1之前还包括:将虚拟机桌面设置成制作软件盘的模式;将软件库磁盘挂载到该虚拟机桌面;启动虚拟机后运行软件库制作工具,进入软件库制作模式。
优选地,所述软件库制作工具是运行在制作软件库的虚拟机上的模块,用于在软件安装时透明地重定向到软件库磁盘,并在软件库磁盘中维护软件与本地文件系统的对应关系。
优选地,所述软件库制作工具包括文件重定向过滤驱动模块和软件管理模块:所述软件管理模块用于定义软件包含的文件集合,为同一软件的文件打上软件的标识;所述文件重定向过滤驱动模块用于代理文件系统的读、写操作,在软件安装过程将文件重定向写到软件库磁盘。
优选地,所述文件过滤模块是安装在用户虚拟机中的一个文件过滤驱动,用于将软件库磁盘与虚拟机磁盘的文件整理成对上层系统统一的文件系统组织架构,并根据管理员分发给用户的软件列表,对软件库磁盘的软件进行过滤,不在该软件列表的软件将对用户不可见。
优选地,所述文件过滤模块包括文件读取模块、文件写入模块和注册表管理模块;所述文件读取模块用于代理文件系统的读文件操作,对不可见的软件不返回相应文件,用户读取目录时将虚拟机磁盘及软件库磁盘对应的目录整合后返回给用户;所述文件写入模块用于代理文件系统的写文件操作,其中,软件库磁盘默认是不可写的,所有写入的操作写入到相应的虚拟机磁盘;所述注册表管理模块用于软件库软件的注册表导入及清除,在挂载软件库磁盘时导入软件库软件的注册表,取消软件库磁盘时清除软件库软件的注册表。
在本发明中技术方案中,管理员用户通过在虚拟机桌面设置成制作软件盘的模式,将软件库磁盘挂载到该虚拟机桌面,启动虚拟机后运行软件库制作工具,进入软件库制作模式,在软件库制作模式下安装的软件将被写入到软件库磁盘,并记录软件的信息及其对应的文件系统位置。制作完成后该软件库磁盘就可以挂给多个虚拟机使用,且通过设置用户使用哪些软件对文件过滤模块下发规则,可以将用户不使用的软件库的软件文件对用户不可见,达到个性化软件分发的目的。
附图说明
图1示意性地示出了本发明的原理框图;
图2示意性地示出了软件库制作工具的示意图;
图3示意性地示出了文件过滤模块的示意图;
图4示意性地示出了使用本发明后windows虚拟机的文件系统框架图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
为了更好的解决用户需求,提高用户体验,减少管理成本,本发明提供一种全新的软件分发方法。
本方法通过实现特定文件系统过滤驱动,将软件安装的文件修改过程封装到独立的磁盘空间(软件库),并对不同的软件进行标识和分隔。对于有软件需求的用户,会在分配给用户的虚拟机中安装好驱动,当管理员将软件库磁盘挂载给用户的虚拟机,用户在虚拟机中即可直接使用软件库中的软件,随时分配随时使用,用户在虚拟机中不会感觉到软件库磁盘的存在。
此外,管理员可以为用户指定在软件库中的软件哪些对用户可见,哪些对用户不可见,达到为用户个性化定制桌面软件的目的;且软件只需安装一次,就可对多个虚拟机分发使用,节省存储资源。
在本发明中技术方案中,管理员用户通过在虚拟机桌面设置成制作软件盘的模式,将软件库磁盘挂载到该虚拟机桌面,启动虚拟机后运行软件库制作工具,进入软件库制作模式,在软件库制作模式下安装的软件将被写入到软件库磁盘,并记录软件的信息及其对应的文件系统位置。制作完成后该软件库磁盘就可以挂给多个虚拟机使用,且通过设置用户使用哪些软件对文件过滤模块下发规则,可以将用户不使用的软件库的软件文件对用户不可见,达到个性化软件分发的目的。
下面,对各个模块功能介绍如下:
(1)软件库制作工具:主要包含文件过滤驱动,其主要功能是安装软件时记录安装过程中文件变化并将文件重定向保存到软件库磁盘中,并对不同软件进行标识和分隔以便管理员管理维护和升级软件。
软件库制作工具是运行在制作软件库的虚拟机上的模块,具体功能是软件安装时透明地重定向到软件库磁盘,并在软件库磁盘中维护软件与本地文件系统的对应关系,主要由“文件重定向过滤驱动模块”和“软件管理模块”组成:
A.软件管理模块:定义软件包含的文件集合,为同一软件的文件打上软件的标识。
B.文件重定向过滤驱动模块:代理文件系统的读、写操作,在软件安装过程将文件重定向写到软件库磁盘。
(2)文件过滤模块:安装在用户虚拟机中的一个文件过滤驱动,包含两个功能,一是将软件库磁盘与虚拟机磁盘的文件整理成对上层系统统一的文件系统组织架构;二是根据管理员分发给用户的软件列表,对软件库磁盘的软件进行过滤,不在该软件列表的软件将对用户不可见。
文件过滤模块是运行在使用软件库的虚拟机上的模块,具体功能是为用户提供软件库软件的读写功能,使用户可以使用软件库软件,包括“文件读取模块”、“文件写入模块”、“注册表管理模块”。
A.文件读取模块:代理文件系统的读文件操作,对不可见的软件不返回相应文件,用户读取目录时将虚拟机磁盘及软件库磁盘对应的目录整合后返回给用户。
B.文件写入模块:代理文件系统的写文件操作,软件库磁盘默认是不可写的,所有写入的操作写入到相应的虚拟机磁盘。
C.注册表管理模块:软件库软件的注册表导入及清除功能,用于挂载软件库磁盘时导入软件库软件的注册表;取消软件库磁盘时清除软件库软件的注册表。
图4左侧是标准的windows操作系统虚拟机里视图的文件对应磁盘的框架,右侧是使用软件库磁盘后windows操作系统虚拟机里视图的文件对应的磁盘。在原来的框架里我们在windows看见C:\目录,其对应的文件都在虚拟机磁盘里;在新的框架里我们在windows看见C:\目录里的文件,有一部份在虚拟机磁盘(虚拟机系统原来的文件),有一部份在软件库磁盘(通过软件库工具安装的软件)。通过文件系统过滤驱动实现管理,对上层使用者透明。
使用本发明后,软件流程如下:(1)管理员在软件库制作虚拟机上安装软件,生成软件库;(2)管理员将软件库分配给虚拟桌面,并选择软件库中的哪些软件给虚拟桌面使用;(3)用户登录进虚拟桌面后,可以正常使用管理员分配给他的软件,跟本地安装的软件使用方式一致。
本发明提出的软件分发方法和目前的软件分发方法相比,有以下优点:
(1)通过文件过滤驱动的方式制作软件库,并通过挂载该软件库磁盘的方式提供软件给用户直接使用;节省用户安装时间;
(2)管理员只需提前制作好软件库磁盘,然后只需为用户勾选软件列表即可完成软件分发,部署速度更快,且通过虚拟机的文件过滤可以确保用户无法使用软件列表之外的软件,便于管理员集中管理。
本发明使用文件过滤驱动制作软件库磁盘,并通过挂载该磁盘到虚拟机来提供软件给用户使用来的软件分发方案;通过对软件库磁盘中文件的可见与否来个性化用户的软件方案。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种桌面虚拟化环境下的软件分发方法,其特征在于,包括:
步骤1,在软件库制作模式下安装软件,并将其写入到软件库磁盘;
步骤2,将制作完成的软件库磁盘挂给多个虚拟机使用;
步骤3,通过设置文件过滤模块,确定用户使用软件的下发规则,以使软件库磁盘中某一用户不使用的软件对该用户不可见;
所述方法在步骤1之前还包括:将虚拟机桌面设置成制作软件盘的模式;将软件库磁盘挂载到该虚拟机桌面;启动虚拟机后运行软件库制作工具,进入软件库制作模式;
所述软件库制作工具是运行在制作软件库的虚拟机上的模块,用于在软件安装时透明地重定向到软件库磁盘,并在软件库磁盘中维护软件与本地文件系统的对应关系;
所述软件库制作工具包括文件重定向过滤驱动模块和软件管理模块:所述软件管理模块用于定义软件包含的文件集合,为同一软件的文件打上软件的标识;所述文件重定向过滤驱动模块用于代理文件系统的读、写操作,在软件安装过程将文件重定向写到软件库磁盘;
所述文件过滤模块是安装在用户虚拟机中的一个文件过滤驱动,用于将软件库磁盘与虚拟机磁盘的文件整理成对上层系统统一的文件系统组织架构,并根据管理员分发给用户的软件列表,对软件库磁盘的软件进行过滤,不在该软件列表的软件将对用户不可见。
2.根据权利要求1所述的桌面虚拟化环境下的软件分发方法,其特征在于,所述文件过滤模块包括文件读取模块、文件写入模块和注册表管理模块;
所述文件读取模块用于代理文件系统的读文件操作,对不可见的软件不返回相应文件,用户读取目录时将虚拟机磁盘及软件库磁盘对应的目录整合后返回给用户;
所述文件写入模块用于代理文件系统的写文件操作,其中,软件库磁盘默认是不可写的,所有写入的操作写入到相应的虚拟机磁盘;
所述注册表管理模块用于软件库软件的注册表导入及清除,在挂载软件库磁盘时导入软件库软件的注册表,取消软件库磁盘时清除软件库软件的注册表。
CN201811067051.0A 2018-09-13 2018-09-13 桌面虚拟化环境下的软件分发方法 Active CN109284161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811067051.0A CN109284161B (zh) 2018-09-13 2018-09-13 桌面虚拟化环境下的软件分发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811067051.0A CN109284161B (zh) 2018-09-13 2018-09-13 桌面虚拟化环境下的软件分发方法

Publications (2)

Publication Number Publication Date
CN109284161A CN109284161A (zh) 2019-01-29
CN109284161B true CN109284161B (zh) 2021-10-08

Family

ID=65181074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811067051.0A Active CN109284161B (zh) 2018-09-13 2018-09-13 桌面虚拟化环境下的软件分发方法

Country Status (1)

Country Link
CN (1) CN109284161B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647383A (zh) * 2019-09-23 2020-01-03 青岛联众智芯科技有限公司 一种基于docker容器的应用管理方法及计算设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9276875B2 (en) * 2010-10-28 2016-03-01 Intel Corporation Cooperated approach to network packet filtering
CN102314373B (zh) * 2011-07-07 2013-12-18 胡建斌 一种基于虚拟化技术实现安全工作环境的方法
CN102279748A (zh) * 2011-08-29 2011-12-14 焦秀琴 远程存储本地执行的软件使用方法、系统、服务器及客户端
TW201521376A (zh) * 2013-11-27 2015-06-01 Inst Information Industry 虛擬桌面基礎建設伺服器、由電腦執行之視訊串流傳輸方法及其電腦程式產品
US20150149593A1 (en) * 2013-11-27 2015-05-28 Institute For Information Industry Virtual desktop infrastructure server, computer implemented video streaming method, and non-transitory computer readable storage medium thereof
CN105592114A (zh) * 2014-10-22 2016-05-18 北京云巢动脉科技有限公司 一种在虚拟桌面环境下的应用软件发布方法
CN104573505A (zh) * 2014-12-30 2015-04-29 北京工业大学 一种使用过滤驱动实现单硬盘双操作系统分区隔离的方法
CN104660710A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种虚拟桌面实现方法、系统及相应的服务器
CN105701409B (zh) * 2015-12-29 2019-05-17 珠海豹趣科技有限公司 一种实现文件虚拟化的方法及装置
CN108446102A (zh) * 2017-02-15 2018-08-24 中国石油化工股份有限公司 一种开发部署应用程序的一体化系统及方法
CN107992355B (zh) * 2017-12-21 2021-07-13 中兴通讯股份有限公司 一种部署应用软件的方法、装置及虚拟机

Also Published As

Publication number Publication date
CN109284161A (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
US11030025B2 (en) Managing inter-process communications in a containerized application environment
CN106933508B (zh) 应用容器的迁移方法及装置
CN1947099B (zh) 数据处理装置与计算机进行数据交换的方法
US5247683A (en) System and method for installing software and updating configuration files
CN101326489B (zh) 用于运行多个环境的操作系统小型引导
CN104238963B (zh) 一种数据存储方法、存储装置及存储系统
US20090070541A1 (en) Automated information life-cycle management with thin provisioning
CN101477444B (zh) 一种虚拟存储方法和设备
EP3885903A1 (en) Cloud desktop upgrade method, device, cloud server, and storage medium
JPH0820990B2 (ja) 異なるファイル・システムにまたがる記憶管理システム
US11709692B2 (en) Hot growing a cloud hosted block device
CN110806911B (zh) 一种云桌面管控方法、装置及系统
CN104598170B (zh) 确定读写路径的方法和装置
CN101387989A (zh) 构建基于分区管理的虚拟存储设备的计算机系统及方法
JP2024516572A (ja) ゾーンセグメントドライブ管理
WO2001042985A2 (en) Sharing data between operating systems
CN109684028B (zh) 一种操作系统与用户数据分离的方法、装置及设备
CN109284161B (zh) 桌面虚拟化环境下的软件分发方法
US7996631B1 (en) System and method for accessing storage devices attached to a stateless client
CN107436761B (zh) 基于uefi主板的uefi系统与传统系统共存的管理方法
US11360806B2 (en) Application attachment based on user application preferences
KR20150069311A (ko) 차량 데이터 제어 시스템 및 제어 방법
JPH04245545A (ja) マルチ・ユーザ仮想計算機システム構成方法およびマルチ・ユーザ仮想計算機システム
CN109634690A (zh) 一种基于WinPE系统的数据清除方法、装置、终端及存储介质
US7844506B2 (en) Method, system, and program product for automatically populating a field of a record

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant