Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VIRTUAL DESKTOP IMPLEMENTATION METHOD, DEVICE AND SYSTEM
Document Type and Number:
WIPO Patent Application WO/2013/149473
Kind Code:
A1
Abstract:
A virtual desktop implementation method, device and system. The method comprises: a monitoring program intercepting a file access request of an application program, and obtaining file operation information about the file access request, which comprises a storage location and an operation type of a file to be accessed; according to the storage location of the file to be accessed, the monitoring program determining the file type of the file to be accessed, the file type comprising a system file of an operating system and a program file of the application program; if the file type is the system file, sending the file access request to a file to be accessed in a file folder of a local virtual operating system; and if the file type is the program file, sending the file access request to a file to be accessed in a program file folder of a local or remote device. The present invention increases the operating speeds of a virtual desktop and an application thereon.

Inventors:
WANG PENG (CN)
Application Number:
PCT/CN2012/085905
Publication Date:
October 10, 2013
Filing Date:
December 05, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
G06F9/46
Foreign References:
CN102662741A2012-09-12
CN102355502A2012-02-15
CN102158526A2011-08-17
CN101770399A2010-07-07
Other References:
See also references of EP 2811404A4
Download PDF:
Claims:
权 利 要 求

1、 一种虚拟桌面的实现方法, 其特征在于, 包括:

本地主机中的应用程序通过预定的用户桌面程序被启动后, 监控程序拦 截所述应用程序的文件访问请求, 并获取所述文件访问请求的文件操作信息, 所述文件操作信息包括待访问文件的存储位置和操作类型, 所述操作类型包 括读和写;

所述监控程序根据待访问文件的存储位置确定待访问文件的文件类型, 所述文件类型包括操作系统的系统文件和应用程序的程序文件;

所述监控程序根据所述文件类型, 处理所述文件访问请求, 从而实现虚 拟桌面, 包括:

若文件类型为系统文件, 则将所述文件访问请求发送至本地虚拟操作系 统文件夹中的待访问文件, 所述虚拟操作系统文件夹中的文件结构与主机操 作系统文件夹中的文件结构相同、 且文件夹所在存储位置不同;

若文件类型为程序文件, 则将所述文件访问请求发送至本地或远程设备 中的程序文件夹中的待访问文件。

2、 根据权利要求 1所述的虚拟桌面的实现方法, 其特征在于, 所述若文 件类型为系统文件, 则将所述文件访问请求发送至本地虚拟操作系统文件夹 中的待访问文件, 包括:

所述若文件类型为系统文件, 则检测本地虚拟操作系统文件夹中是否存 在待访问文件;

若是, 将所述文件访问请求发送至所述虚拟操作系统文件夹, 访问所述 虚拟操作系统文件夹中的待访问文件;

否则, 在所述文件访问请求的操作类型为写时, 将本地主机操作系统文 件夹中的待访问文件, 复制到所述虚拟操作系统文件夹中, 根据所述文件访 问请求, 对所述虚拟操作系统文件夹中的待访问文件执行写操作。

3、 根据权利要求 2所述的虚拟桌面的实现方法, 其特征在于, 若虚拟操 作系统文件夹中不存在待访问文件, 在操作类型为读时, 还包括: 将所述文件访问请求发送至本地主机操作系统文件夹中, 根据所述文件 访问请求, 对本地主机操作系统文件夹中的待访问文件执行读操作, 或者 将本地主机操作系统文件夹中的待访问文件, 复制到所述虚拟操作系统 文件夹中, 根据所述文件访问请求, 对所述虚拟操作系统文件夹中的待访问 文件执行读操作。

4、 根据权利要求 1所述的虚拟桌面的实现方法, 其特征在于, 所述文件 类型还包括应用程序的运行文件;

所述监控程序根据所述文件类型, 处理所述文件访问请求, 进一步还包 括:

若文件类型为运行文件, 则将所述文件访问请求发送至远程设备中的运 行文件夹中的待访问文件。

5、 根据权利要求 4所述的虚拟桌面的实现方法, 其特征在于, 所述若文 件类型为运行文件, 则将所述文件访问请求发送至远程设备运行文件夹中的 待访问文件, 包括:

若所述文件类型为运行文件, 则在本地緩存所述远程设备中的运行文件 夹中的待访问文件;

将所述文件访问请求发送到本地緩存的待访问文件中, 利用本地计算资 源处理所述文件访问请求;

根据处理后的本地緩存的待访问文件, 更新所述远程设备运行文件夹中 的待访问文件。

6、 根据权利要求 1至 5任一所述的虚拟桌面的实现方法, 其特征在于, 用于实现所述监控程序、 应用程序、 和预定的用户桌面程序的可执行文件, 以及虚拟操作系统文件夹存储在与本地主机相连的移动存储设备中。

7、 一种虚拟桌面的实现装置, 其特征在于, 包括:

监控拦截模块, 用于在应用程序通过预定的用户桌面程序被启动后, 拦 截所述应用程序的文件访问请求; 确定模块, 用于获取监控拦截模块拦截到的所述文件访问请求的文件操 作信息, 所述文件操作信息包括待访问文件的存储位置和操作类型, 所述操 作类型包括读和写; 根据待访问文件的存储位置确定待访问文件的文件类型 , 所述文件类型包括操作系统的系统文件和应用程序的程序文件;

处理模块, 用于根据所述文件类型, 处理所述文件访问请求, 从而实现 虚拟桌面, 具体包括:

第一处理单元, 用于若文件类型为系统文件, 则将所述文件访问请求发 送至本地虚拟操作系统文件夹中的待访问文件, 所述虚拟操作系统文件夹中 的文件结构与主机操作系统文件夹中的文件结构相同、 且文件夹所在存储位 置不同;

第二处理单元, 用于若文件类型为程序文件, 则将所述文件访问请求发 送至本地或远程设备中的程序文件夹中的待访问文件。

8、 根据权利要求 7所述的虚拟桌面的实现装置, 其特征在于, 确定模块 确定出的文件类型还包括应用程序的运行文件时, 所述处理模块还包括: 第三处理单元, 用于若文件类型为运行文件, 则将所述文件访问请求发 送至远程设备运行文件夹中的待访问文件。

9、 根据权利要求 7所述的虚拟桌面的实现装置, 其特征在于, 所述第一 处理单元包括:

检测子单元, 用于在文件类型为系统文件时, 检测本地虚拟操作系统文 件夹中是否存在待访问文件;

第一处理子单元, 用于若检测子单元检测结果为是, 将所述文件访问请 求发送至所述虚拟操作系统文件夹, 访问所述虚拟操作系统文件夹中的待访 问文件;

第二处理子单元, 用于若检测子单元检测结果为否, 在所述文件访问请 求的操作类型为写时, 将本地主机操作系统文件夹中的待访问文件, 复制到 所述虚拟操作系统文件夹中, 根据所述文件访问请求, 对虚拟操作系统文件 夹中的待访问文件执行写操作; 第三处理子单元, 用于若检测子单元检测结果为否, 在操作类型为读时, 将所述文件访问请求发送至本地主机操作系统文件夹中, 根据所述文件访问 请求, 对本地主机操作系统文件夹中的待访问文件执行读操作, 或者, 将本 地主机操作系统文件夹中的待访问文件, 复制到所述虚拟操作系统夹中, 根 据所述文件访问请求, 对虚拟操作系统文件夹中的待访问文件执行读操作。

10、 一种虚拟桌面的实现系统, 其特征在于, 包括主机和远程设备, 虚 拟操作系统文件夹、以及如权利要求 7-9任一所述的虚拟桌面的实现装置集成 于所述主机中。

Description:
虚拟桌面的实现方法、 装置和系统 本申请要求于 2012 年 4 月 5 日提交中国专利局、 申请号为 201210097482.8、 发明名称为 "虚拟桌面的实现方法、 装置和系统" 的中国专 利申请的优先权, 其全部内容通过引用结合在本申请中。

技术领域 本发明涉及计算机及通信技术领域, 尤其涉及一种虚拟桌面的实现方法、 装置和系统。

背景技术

通过应用虚拟桌面技术用户可以不使用本地操 作系统的桌面, 而是使用 其他桌面来进行文件访问操作、 安装和运行应用程序。 其实现方法可以是: 用户桌面程序的运行、 应用程序运行中对操作系统文件的访问、 应用程序运 行中执行的运算处理等都是利用虚拟机上的虚 拟化计算资源和存储资源来完 成的; 用户侧可以通过例如瘦客户端或者软件客户端 等接入设备釆用远程桌 面的方式接入到远端虚拟机上, 虚拟机上桌面程序及应用程序的运行结果通 过网络传输到用户侧进行显示。

上述的虚拟桌面实现方法存在如下技术缺陷: 桌面程序及通过桌面程序 启动的应用程序都在远端的虚拟机中运行, 运行过程中涉及的运算例如对操 作系统的系统文件的访问都是在虚拟机侧执行 , 运行结果通过网络传输至用 户侧显示, 使得虚拟桌面的运行速度较慢。

发明内容 本发明提供一种虚拟桌面的实现方法、 装置和系统, 目的是提高虚拟桌 面的运行速度。

本发明的第一个方面是提供一种虚拟桌面的实 现方法, 包括: 本地主机中的应用程序通过预定的用户桌面程 序被启动后, 监控程序拦 截所述应用程序的文件访问请求, 并获取所述文件访问请求的文件操作信息, 所述文件操作信息包括待访问文件的存储位置 和操作类型, 所述操作类型包 括读和写;

所述监控程序根据待访问文件的存储位置确定 待访问文件的文件类型, 所述文件类型包括操作系统的系统文件和应用 程序的程序文件;

所述监控程序根据所述文件类型, 处理所述文件访问请求, 从而实现虚 拟桌面, 包括:

若文件类型为系统文件, 则将所述文件访问请求发送至本地虚拟操作系 统文件夹中的待访问文件, 所述虚拟操作系统文件夹中的文件结构与主机 操 作系统文件夹中的文件结构相同、 且文件夹所在存储位置不同;

若文件类型为程序文件, 则将所述文件访问请求发送至本地或远程设备 中的程序文件夹中的待访问文件。

本发明的另一个方面是提供一种虚拟桌面的实 现装置, 包括:

监控拦截模块, 用于在应用程序通过预定的用户桌面程序被启 动后, 拦 截所述应用程序的文件访问请求;

确定模块, 用于获取监控拦截模块拦截到的所述文件访问 请求的文件操 作信息, 所述文件操作信息包括待访问文件的存储位置 和操作类型, 所述操 作类型包括读和写; 根据待访问文件的存储位置确定待访问文件的 文件类型 , 所述文件类型包括操作系统的系统文件和应用 程序的程序文件;

处理模块, 用于根据所述文件类型, 处理所述文件访问请求, 从而实现 虚拟桌面, 具体包括:

第一处理单元, 用于若文件类型为系统文件, 则将所述文件访问请求发 送至本地虚拟操作系统文件夹中的待访问文件 , 所述虚拟操作系统文件夹中 的文件结构与主机操作系统文件夹中的文件结 构相同、 且文件夹所在存储位 置不同;

第二处理单元, 用于若文件类型为程序文件, 则将所述文件访问请求发 送至本地或远程设备中的程序文件夹中的待访 问文件。

本发明的再一个方面是提供一种虚拟桌面的实 现系统, 包括主机和远程 设备, 虚拟操作系统文件夹、 以及本发明所述的虚拟桌面的实现装置集成于 所述主机中。 本发明实施例提供的虚拟桌面的实现方案, 通过监控程序获取所述应用 程序的文件操作信息, 并根据所述文件操作信息控制所述应用程序执 行文件 访问, 例如, 访问位于本地的虚拟操作系统的系统文件, 访问本地或远程设 备中的程序文件, 由于用户桌面程序是直接在本地启动, 并且也是在本地访 问系统文件, 文件访问的执行结果也是直接通过本地的用户 桌面程序来显示, 不再如现有技术那样需要频繁的网络传输, 因此可以减少网络传输带来的时 间损耗, 大大提高虚拟桌面及其上应用的运行速度。 附图说明

图 1为本发明虚拟桌面的实现方法实施例的应用 意图;

图 2为本发明虚拟桌面的实现方法实施例的流程 意图;

图 3为本发明虚拟桌面的实现装置实施例的结构 意图。 具体实施方式

实施例一

图 1为本发明虚拟桌面的实现方法实施例的应用 意图, 图 2为本发明 虚拟桌面的实现方法实施例的流程示意图, 下面结合图 1和图 2, 对本实施例 的虚拟桌面的实现方法进行说明。

如图 1 所示, 本实施例提供的虚拟桌面的实现方法是由虚拟 桌面的实现 系统执行的, 该实现系统可以包括主机和远程设备, 其中主机上运行有预定 的用户桌面程序、 监控程序、 应用程序; 其中, 预定的用户桌面程序未在图 1 中显示。 该实现系统实现虚拟桌面主要指的是, 首先启动所述预定的用户桌 面程序(该桌面程序与主机操作系统的桌面程 序不同), 然后通过所述预定的 用户桌面程序启动其他应用程序, 由监控程序负责控制应用运行中的文件操 作。 详细的实现方法参见如下的图 2所述:

如图 2所示, 实现方法可以包括:

201、 在本地的主机操作系统中启动预定的用户桌面 程序; 需要说明的是用户桌面程序本身也是一种应用 程序, 用于向用户提供用 户界面, 从而实现用户与操作系统之间的接口。 每个用户桌面程序都有对应 的存储空间, 其中存储有桌面布局参数、 背景色彩等桌面环境信息。 启动用 户桌面程序之后, 对应生成的用户桌面程序的进程读取上述桌面 环境信息, 所看到的就类似于常见的电脑主机桌面或者手 机界面等, 例如, 当本地指的 是电脑时, 该用户桌面即为电脑桌面, 当本地指的是移动终端时, 该用户桌 面即为移动终端桌面例如手机桌面。 以下将所述用户桌面程序启动之后形成 的界面称为桌面。

可选的, 本实施例的用户桌面程序可以存储在移动存储 设备或者存储于 本地的主机存储设备上, 所述的移动存储设备例如可以为 U盘、 移动硬盘、 或者安全数码卡 ( Secure Digital Memory Card, 简称: SD卡)等。 通过将用 户桌面程序存储在移动存储设备, 方便用户的携带, 也可以随时随地方便地 启动用户桌面程序, 不用再受到瘦客户端等接入设备的限制, 在任何地方都 能够通过移动存储设备实现即插即用的使用虚 拟桌面; 举例说明: 例如, 将 用户桌面程序部署在 U盘上, 将该 U盘插入本地电脑主机后, 就可以启动该 用户桌面程序形成虚拟桌面替换主机原有的电 脑桌面; 将虚拟桌面部署在 SD 卡上, 用户就可以启动 SD卡上的虚拟桌面替换手机上原有的桌面。

具体的, 用户桌面程序的启动过程如下: 通过本地主机操作系统所支持 的多桌面机制实现; 例如, U盘中存储有用户桌面程序, 还存储有监控程序 (也可以称为虚拟化引擎), 当 U盘插入主机时, 主机操作系统检测 U盘中 是否存储有该监控程序, 如果检测到有, 则主机操作系统会自动运行该监控 程序; 该监控程序运行后, 将根据预设的配置项负责读取并启动 U盘中的用 户桌面程序, 形成通常所看到的界面形式的虚拟桌面, 并使得虚拟桌面替换 本地的主机桌面。 主机操作系统会为该虚拟桌面创建一个工作站 ( workstation ), 并将监控程序的动态库注入该工作站的 explorer进程中, 这 样就可以使得监控程序能够监测到通过该虚拟 桌面启动的应用程序的文件操 作信息 (具体请参照 API hook技术的相关资料;)。正是由于操作系统支 多桌 面机制, 在主机及与主机相连的外部存储设备中存在有 多个用户桌面程序时, 本实施例中的虚拟桌面可以基于其中的一个指 定用户桌面程序来实现, 例如, 存储在移动存储设备上的第一用户桌面程序, 后续监控程序只拦截并处理基 于第一用户桌面程序安装或启动的应用程序产 生的文件访问请求, 而不影响 其他用户桌面程序, 其他用户桌面程序仍然按照主机操作系统原有 的机制来 工作。

202、 监控程序拦截通过所述用户桌面程序被启动的 应用程序的文件访问 请求, 并获取所述文件访问请求的文件操作信息;

其中, 在 201 中启动了用户桌面程序, 并且将监控程序注入该用户桌面 程序中的相应进程之后, 监控程序就可以监控到后续的通过虚拟桌面启 动或 安装应用程序所产生的文件访问请求了。 这里所述的应用指的是例如 Microsoft office系列的 word2003、 execl2003、 金山词霸等应用程序。 例如, 用户通过虚拟桌面安装应用程序时运行所述应 用程序的安装包(该安装包可 以是预先存储在移动存储设备例如 U盘中的, 当然, 也可以存储在其他地方 例如本地的主机存储设备) 时, 应用程序的安装进程将在文件系统的指定目 录下创建该应用程序的程序文件夹, 这时会产生文件访问请求; 或者用户通 过虚拟桌面点击已安装的应用程序对应的图标 (快捷方式图标)后, 应用程 序的工作进程将读取该应用程序的程序文件夹 中某些文件中的数据, 这时也 会产生文件访问请求。

应用程序在启动时会产生要访问文件系统中某 个文件的文件访问请求 (文件 I/O ), 监控程序会截取到该应用程序的文件 I/O, 并获取该 I/O中携带 的文件操作信息; 这里所述的文件操作信息包括待访问文件的存 储位置 (即 存储路径) 以及对于所述文件的操作类型; 所述操作类型包括读或者写, 所 述待访问文件的类型包括操作系统的系统文件 、 应用的程序文件, 可选地, 还包括应用的运行文件。

其中, 所述的操作系统的系统文件指的是所有与操作 系统运行相关的文 件、 以及例如注册表等文件数据; 所述的程序文件指的是应用程序安装过程 中的相关文件, 所述的运行文件指的是能够通过应用程序创建 、 打开、 或者 爹改的文件。 举例说明: 以 Microsoft office 系列的应用程序为例, 该 office 在启动时会对操作系统的系统文件 (例如, 系统盘 C 盘中操作系统文件夹 "C:\WINDOWS" 中的文件)进行访问, 执行相应的操作信息例如文件的读 写; 还会对应用的程序文件进行访问, 该程序文件指的是安装 office时生成的 文件(例如, 应用程序对应的文件夹 "C:\Program Files\Microsoft Office" 中的 文件); 也会产生运行文件的访问, 该运行文件指的是用 office生成的文件, 例如, 利用 office中的 word写的一篇文档(例如, 后缀名为 ".doc" 的文件)。

可选地, 并非所有的应用程序在安装或启动时, 都会访问上述三类文件, 例如, Microsoft office系列的应用程序在安装和启动时,会访问 上述三类文件, 但金山词霸应用程序在安装和启动时, 只会访问系统文件和程序文件, 而不 会产生或涉及运行文件。

203、 监控程序根据所述文件操作信息, 处理所述文件 I/O;

监控程序会根据 202中获取到的文件操作信息, 控制应用执行文件访问, 对应用程序的访问 I/O进行重定向。可选地,监控程序根据文件操 作信息中的 文件的存储位置, 可以知道应用程序要访问的是系统文件、 程序文件还是运 行文件, 即监控程序根据待访问文件的存储位置确定待 访问文件的文件类型。 例如, 监控程序中预先存储系统文件夹、 程序文件夹的存储路径 (该存储路 径可以是预先指定的、 或者在应用程序安装过程中记录的); 截获到文件 I/O 并获取文件操作信息中的存储位置后, 判断该存储位置是否在系统文件夹或 程序文件夹的存储路径下, 若在系统文件夹的存储路径下, 则说明待访问文 件是系统文件; 若在程序文件夹的存储路径下, 则说明待访问文件是系统文 件; 否则说明是运行文件。

具体的,如果应用程序的文件 I/O要访问的是操作系统的系统文件, 则不 论操作类型是读还是写, 均首先检测待访问的系统文件是否存在于虚拟 操作 系统文件夹中。 所述虚拟操作系统文件夹中的文件结构与主机 操作系统文件 夹中的文件结构相同、 且文件夹所在存储位置不同, 例如主机操作系统文件 夹的存储位置为 C:\WINDOWS , 而虚拟操作系统文件夹的存储位置为 F: W- WINDOWS„ 若虚拟操作系统文件夹中存在待访问文件, 则直接将应用程 序对本地操作系统文件夹的 I/O重定向至虚拟操作系统文件夹中;若虚拟操 作 系统文件夹中不存在待访问文件,则监控程序 将根据文件 I/O的操作信息执行 不同的处理:

例如, 若操作类型是写, 则监控程序从本地的主机操作系统的系统文件 夹中获取应用程序待访问的系统文件, 并将该系统文件复制 (即拷贝)到虚 拟操作系统文件夹中之后,再将应用程序的文 件 I/O重定向至虚拟操作系统文 件夹中, 即使得应用程序对虚拟操作系统文件夹中的系 统文件执行写操作。 其中, 虚拟操作系统文件夹中的文件结构与主机操作 系统文件夹中的文件结 构是相同的, 并且, 本实施例的用户桌面程序启动之后, 监控程序可以将虚 拟操作系统的系统文件与主机操作系统的系统 文件进行逻辑上的合并, 即文 件路径结构的合并, 以使得应用看起来本地只有一个操作系统, 也只有一份 操作系统的系统文件。 但实际上还是如上面所述, 二者的存储位置不同, 例 如虚拟操作系统文件夹中的系统文件是存储在 移动存储设备上的, 与主机操 作系统的系统文件的存储位置是相互隔离的, 并由监控程序控制具体的文件 访问。

举例说明上述的针对系统文件写操作的处理: 由于预先可能不知道某个 应用程序在启动时具体会访问系统文件中的哪 些文件, 所以最初在 U盘中存 储的虚拟操作系统文件夹中可以只是一些空的 文件子目录, 并且, 该虚拟操 作系统文件夹中的系统文件与本地的主机操作 系统文件夹中的系统文件的文 件路径结构相同, 例如, 主机操作系统文件夹为 C:\WINDOWS\, 该路径下包 括 C:\WINDOWS\system32、 C:\WINDOWS\system等子目录; 虚拟操作系统 文件夹为 F: W- WINDOWS, 该路径下也包括 F: \V-WINDOWS\system32 , F: \V-WINDOWS\system等子目录,即虚拟操作系统文件 具有与主机操作系统 的系统文件文件夹相同的文件路径结构, 但是只是一些空的子文件夹。 当首 次安装应用时, 虚拟操作系统文件夹中没有应用程序要访问的 系统文件, 则 监控程序可以从本地的主机操作系统的系统文 件夹中获取所述待访问的系统 文件并将之复制到所述虚拟操作系统的文件夹 中, 即从本地的主机操作系统 的系统文件夹中拷贝应用程序要访问的系统文 件到虚拟操作系统文件夹的相 同的文件目录下, 然后, 再控制应用程序访问虚拟操作系统文件夹中的 所述 系统文件, 例如对文件进行读写操作 (图 1中所示的读写操作 3 )。 当然, 在 上述的首次拷贝之后, 该系统文件可以继续保存在虚拟操作系统文件 夹中; 这样后续在应用程序再次运行时如果再次需要 访问系统文件, 可以直接从该 虚拟操作系统文件夹中访问, 而不需再拷贝。

例如, 若操作类型是读, 则监控程序可以釆用与操作类型是写时相类似 的处理方式, 从本地的主机操作系统的系统文件夹中获取应 用程序待访问的 系统文件, 并将该系统文件复制 (即拷贝)到虚拟操作系统文件夹中之后, 再将应用程序的文件 I/O重定向至虚拟操作系统文件夹中,即使得应 用程序对 虚拟操作系统文件夹中的系统文件执行读操作 ; 监控程序也可以不执行上述 的从主机操作系统的系统文件拷贝到虚拟操作 系统的处理, 而是直接将应用 程序的文件 I/O发送至主机操作系统文件夹中,即控制应用 程序访问本地的主 机操作系统文件夹中的待访问系统文件 (图 1中的读操作 2 ), 因为读操作也 不会对主机操作系统文件夹中的系统文件进行 修改, 也就不会对主机操作系 统的运行产生影响, 还可以节约存储资源。

通过将应用程序对系统文件的访问重定向至虚 拟操作系统文件夹中, 使 得不会对本地的主机操作系统的系统文件产生 影响, 而且对系统文件产生的 修改可以存储至移动存储设备(即虚拟操作系 统文件夹可以是存储在移动存 储设备中的), 随时携带随地使用, 而且不会对某个终端例如某台电脑产生依 赖, 满足了移动办公的需求。

具体的,如果应用程序的文件 I/O要访问的是应用程序的程序文件, 则监 控程序可以控制执行对程序文件夹中的程序文 件的访问; 程序文件夹在具体 实施中可以存储于远程设备中, 例如云计算中心, 或者, 也可以存储于本地, 例如与虚拟操作系统文件夹一样, 可以存储在与主机连接的移动存储设备中, 监控程序可以根据预先设定的程序文件夹的存 储位置, 将应用程序的文件 I/O 重定向到程序文件夹中。

例如, 当应用程序的程序文件夹存储于远程设备中, 例如云计算中心时, 监控程序在识别待访问文件为程序文件时,将 控制所述文件 I/O访问存储在云 计算中心的程序文件夹中的程序文件 (图 1中所示的读写操作 1 ), 该程序文 件是在安装应用程序的时候直接在云计算中心 提供的存储空间中创建的。 当 应用程序的程序文件夹存储于本地时,监控程 序在确定文件 I/O待访问的文件 为程序文件时,将所述文件 I/O发送到存储在本地的程序文件夹中(图 1中所 示的读写操作 3 ), 该程序文件是在安装应用程序的时候直接在本 地的存储空 间中创建的。

在应用程序安装之后的运行过程中, 涉及到对系统文件和程序文件的访 问时, 对所产生的文件 I/O的处理方式和上述相同, 不再赘述。 具体的, 如果 应用程序要访问的是应用程序的运行文件, 监控程序会执行如下操作: 例如, 监控程序可以检测远程设备中是否存储有该应 用程序的运行文件夹, 如果没 有, 则属于首次生成, 则监控程序可以在本地创建一个运行文件, 并利用本 地计算资源,在所述运行文件中执行所述文件 I/O之后,将所述运行文件存储 至云计算中心; 如果云计算中心存在该应用程序的运行文件夹 , 则监控程序 可以在本地緩存所述远程设备运行文件夹中的 待访问文件; 将所述文件访问 请求发送到本地緩存的待访问文件中, 利用本地计算资源处理所述文件 I/O; 根据处理后的本地緩存的待访问文件, 更新远程设备运行文件夹中的待访问 文件。 即, 运行文件是必须存储在远程设备, 例如云计算中心的, 但是涉及 到对文件的访问操作也还是利用本地的计算资 源处理。

可选的, 本实施例中, 用于实现所述的监控程序、 应用程序、 和预定的 用户桌面程序的可执行文件, 以及虚拟操作系统文件夹存储在与本地主机相 连的移动存储设备中。

在监控程序根据所述文件操作信息,处理完所 述文件 I/O之后,通过所述 预定的用户桌面程序显示文件访问的执行结果 。 通过上述对本实施例的虚拟桌面实现方法的说 明可以看出, 本实施例与 现有技术中的虚拟桌面实现方法比较, 本实施例主要是将计算和存储分离, 即, 将应用程序的运行文件仍然存储在云端, 但是对于运行文件的处理、 对 于系统文件和程序文件的读写访问等计算(这 里的计算指的是对文件的读写 访问、 应用程序的运行等操作)都是在本地进行, 在文件访问中如果涉及到 需要使用 CPU、 内存或者緩存等设备用于数据緩存和运算时, 可以直接利用 本地的 CPU、 内存或者緩存等计算资源, 而不再利用云端的计算资源, 从而 大大降低了远程设备的计算成本; 并且, 由于用户桌面程序也是由本地直接 启动, 应用程序启动中也是直接访问位于本地的系统 文件, 不再如现有技术 那样需要网络传输, 因此大大提高了虚拟桌面的运行速度; 再次, 本实施例 釆用沙箱技术运行用户桌面程序及其上的应用 程序, 使得当用户桌面程序及 基于用户桌面程序启动的应用程序访问主机操 作系统上染毒文件时, 会被重 定向到虚拟操作系统文件夹中, 有效降低感染病毒的机率; 因此相对传统云 计算虚拟机方式下的虚拟桌面而言, 云计算中心中不需要再部署操作系统的 安全防护软件, 显著降低远程设备的管理成本。

实施例二

图 3 为本发明虚拟桌面的实现装置实施例的结构示 意图, 该装置可以执 行本发明任意实施例的虚拟桌面的实现方法, 本实施例仅对该装置的结构做 简单说明, 其具体的工作原理可以结合参见方法实施例所 述。

如图 3 所示, 本实施例的虚拟桌面的实现装置可以包括: 监控拦截模块 31、 确定模块 32和处理模块 33。 其中,

监控拦截模块 31 , 用于在应用程序通过预定的用户桌面程序被启 动后, 拦截所述应用程序的文件访问请求;

确定模块 32 ,用于获取监控拦截模块 31拦截到的所述文件访问请求的文 件操作信息, 所述文件操作信息包括待访问文件的存储位置 和操作类型, 所 述操作类型包括读和写; 根据待访问文件的存储位置确定待访问文件的 文件 类型, 所述文件类型包括操作系统的系统文件和应用 程序的程序文件; 处理模块 33 , 用于根据所述文件类型, 处理所述文件访问请求, 从而实 现虚拟桌面;该处理模块 33具体包括:第一处理单元 331和第二处理单元 332; 其中,

第一处理单元 331 , 用于若文件类型为系统文件, 则将所述文件访问请求 发送至本地虚拟操作系统文件夹中的待访问文 件, 所述虚拟操作系统文件夹 中的文件结构与主机操作系统文件夹中的文件 结构相同、 且文件夹所在存储 位置不同;

第二处理单元 332 , 用于若文件类型为程序文件, 则将所述文件访问请求 发送至本地或远程设备中的程序文件夹中的待 访问文件。

可选的,当确定模块 32确定出的文件类型还包括应用程序的运行文 时, 所述处理模块 33还包括: 第三处理单元 333 , 用于若文件类型为运行文件, 则将所述文件访问请求发送至远程设备运行文 件夹中的待访问文件。

可选的, 第一处理单元 331包括: 检测子单元 34、 第一处理子单元 35、 第二处理子单元 36和第三处理子单元 37; 其中,

检测子单元 34 , 用于在文件类型为系统文件时, 检测本地虚拟操作系统 文件夹中是否存在待访问文件;

第一处理子单元 35 , 用于若检测子单元检测结果为是, 将所述文件访问 请求发送至所述虚拟操作系统文件夹, 访问所述虚拟操作系统文件夹中的待 访问文件;

第二处理子单元 36 , 用于若检测子单元检测结果为否, 在所述文件访问 请求的操作类型为写时, 将本地主机操作系统文件夹中的待访问文件, 复制 到所述虚拟操作系统文件夹中, 根据所述文件访问请求, 对虚拟操作系统文 件夹中的待访问文件执行写操作;

第三处理子单元 37 , 用于若检测子单元检测结果为否, 在操作类型为读 时, 将所述文件访问请求发送至本地主机操作系统 文件夹中, 根据所述文件 访问请求, 对本地主机操作系统文件夹中的待访问文件执 行读操作, 或者, 将本地主机操作系统文件夹中的待访问文件, 复制到所述虚拟操作系统夹中, 根据所述文件访问请求, 对虚拟操作系统文件夹中的待访问文件执行读 操作。 本实施例的虚拟桌面的实现装置, 通过获取应用程序的文件操作信息, 并根据所述文件操作信息中的待访问文件的存 储位置和操作类型处理应用程 序的文件访问请求, 例如, 将文件访问请求发送至本地虚拟操作系统文件 夹 中的待访问文件, 或者将所述文件访问请求发送至本地或远程设 备中的程序 文件夹中的待访问文件, 是直接利用本地计算资源处理应用程序的文件 访问, 运行结果直接在本地显示, 而不再如现有技术需要频繁的网络传输, 因此大 大提高了虚拟桌面及其上应用的运行速度。

实施例三

本发明还提供了一种虚拟桌面的实现系统, 该系统包括主机和远程设备, 其中, 虚拟操作系统文件夹、 以及本发明任意实施例所述的虚拟桌面的实现 装置集成于所述主机中。

该虚拟操作系统文件夹、 虚拟桌面的实现装置的结构, 以及该虚拟桌面 的实现系统实现虚拟桌面的原理可以结合参见 本发明的任意方法实施例和装 置实施例所述, 在此不再赘述。

本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算机可 读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的步骤; 而 前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程序代码 的介质。

最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的 说明, 本领域的普通 技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案 进行修改, 或者对其中部分或者全部技术特征进行等同替 换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例 技术方案的范围。