CN111221537A - 云桌面升级方法、装置、云端服务器及存储介质 - Google Patents

云桌面升级方法、装置、云端服务器及存储介质 Download PDF

Info

Publication number
CN111221537A
CN111221537A CN201811409392.1A CN201811409392A CN111221537A CN 111221537 A CN111221537 A CN 111221537A CN 201811409392 A CN201811409392 A CN 201811409392A CN 111221537 A CN111221537 A CN 111221537A
Authority
CN
China
Prior art keywords
file
disk
virtual machine
mirror image
cloud desktop
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.)
Pending
Application number
CN201811409392.1A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811409392.1A priority Critical patent/CN111221537A/zh
Priority to PCT/CN2019/119962 priority patent/WO2020103904A1/zh
Priority to EP19886325.0A priority patent/EP3885903A4/en
Publication of CN111221537A publication Critical patent/CN111221537A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例涉及软件技术领域,公开了一种云桌面升级方法、装置、云端服务器及存储介质。本发明实施例中,一种云桌面升级方法,包括:预先制作操作系统的基础镜像,其中,与云桌面对应的虚拟机单独分配有一独立磁盘,基础镜像用于虚拟机的操作系统的启动;独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,供虚拟机在运行时通过挂载独立磁盘,获取到用户私有数据和对系统盘的更改记录;升级基础镜像,并根据升级后的基础镜像,同步更新独立磁盘,更新后的独立磁盘包括升级后的基础镜像。采用本发明的实施方式,实现了对云桌面的统一升级维护,降低了系统资源消耗,提升了用户体验。

Description

云桌面升级方法、装置、云端服务器及存储介质
技术领域
本发明实施例涉及软件技术领域,特别涉及云桌面升级技术。
背景技术
目前,VDI(Virtual Desktop Infrastructure,虚拟桌面基础架构)已得到广泛的应用。VDI通过在数据中心的服务器运行操作系统,可迅速部署通用的虚拟桌面,用户通过来自客户端设备的客户计算协议与虚拟桌面进行连接并访问虚拟桌面,如同访问传统的本地安装桌面。一台服务器可同时支持许多虚拟桌面,供用户独立使用。
然而发明人发现现有技术中至少存在如下问题:由于虚拟桌面的基础镜像与每个用户的运行操作是强关联的,因此基础镜像一旦生成并分发给每个虚拟机后,无法对基础镜像内部的软件进行升级,只能由每个用户自行对虚拟机维护升级,系统消耗巨大,难以实现同步管理。
发明内容
本发明实施方式的目的在于提供一种云桌面升级方法、装置、云端服务器及存储介质,实现了对云桌面的统一升级维护,降低了系统资源消耗,提升了用户体验。
为解决上述技术问题,本发明的实施方式提供了一种云桌面升级方法,包括以下步骤:预先制作操作系统的基础镜像,其中,与云桌面对应的虚拟机单独分配有一独立磁盘,基础镜像用于虚拟机的操作系统的启动;独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,供虚拟机在运行时通过挂载独立磁盘,获取到用户私有数据和对系统盘的更改记录;升级基础镜像,并根据升级后的基础镜像,同步更新独立磁盘,更新后的独立磁盘包括升级后的基础镜像。
本发明的实施方式还提供了一种云桌面升级装置,包括:分配单元,用于为与云桌面对应的虚拟机单独分配一独立磁盘;其中,独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,供虚拟机在运行时通过挂载独立磁盘,获取到用户私有数据和对系统盘的更改记录;基础镜像制作模块,用于制作操作系统的基础镜像,所述基础镜像用于虚拟机的操作系统的启动;升级模块,用于升级基础镜像,并根据升级后的基础镜像,同步更新独立磁盘,更新后的所述独立磁盘包括所述升级后的基础镜像。
本发明的实施方式还提供了一种云端服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的云桌面升级方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的云桌面升级方法。
本发明实施方式相对于现有技术而言,预先制作操作系统的基础镜像,其中,与云桌面对应的虚拟机单独分配有一独立磁盘,基础镜像用于虚拟机的操作系统的启动;独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,通过这种方式,供虚拟机在运行时通过挂载独立磁盘,获取到用户私有数据和对系统盘的更改记录,实现对每个虚拟机自身数据的保留。升级基础镜像,并根据升级后的基础镜像,同步更新独立磁盘,更新后的独立磁盘包括升级后的基础镜像。通过这种方式将对基础镜像的升级和用户的更改记录合并于独立磁盘中,实现了对云桌面的统一升级维护,简化了对虚拟机的更新操作,降低了系统资源消耗,提升了用户体验。也就是说,每次管理员统一升级基础镜像,包括软件安装,卸载,更新,系统补丁包等等,统一触发更新事件后,每个虚拟机可以保留自己的用户数据,并且合并基础模板的更新,重启一次机器即可,无需逐个虚拟机单独更新。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式的一种云桌面升级方法的流程图;
图2是根据现有技术中的VDI系统框架的示意图;
图3是根据本发明第一实施方式中的VDI系统框架的示意图;
图4是根据本发明第二实施方式的一种云桌面升级方法的流程图;
图5是根据本发明第三实施方式中的文件过滤示意图;
图6是根据本发明第四实施方式的一种云桌面升级装置的结构示意图;
图7是根据本发明第五实施方式的一种云端服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种云桌面升级方法,具体流程如图1所示。云桌面技术让操作系统的桌面不再局限于特定的硬件上运行,所有的数据都被存储在云端,通过可视化桌面的方式显示给用户,用户通过网络即可登陆至操作系统的桌面,实现随时办公。本实施方式中,预先制作操作系统的基础镜像,其中,与云桌面对应的虚拟机单独分配有一独立磁盘,以对每个虚拟机自身数据进行保留;升级基础镜像,并根据升级后的基础镜像,同步更新独立磁盘,通过这种方式将对基础镜像的升级和用户的更改记录合并于独立磁盘中,实现了对云桌面的统一升级维护,简化了对虚拟机的更新操作,降低了系统资源消耗,提升了用户体验。下面对图1的流程做具体说明:
步骤101,预先制作操作系统的基础镜像。
具体地说,基础镜像用于与云桌面对应的虚拟机的操作系统的启动。管理员使用iso文件安装虚拟机操作系统,安装完操作系统后根据需求安装组件,此处的组件指代的是应用程序和操作系统补丁包等;安装完组件后安装minifilter驱动等可提供组件升级服务的软件;安装完可提供组件升级服务的软件后,组件升级服务处于空闲态。随后进行操作系统重启,重启生效后,基础镜像制作完成。
具体地说,通过管理中心为每个虚拟机单独分配一独立磁盘,独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,供虚拟机在运行时通过挂载独立磁盘,获取到用户私有数据和对系统盘的更改记录。
更具体的说,当通过管理中心为虚拟机分配独立磁盘时,可以是为每个虚拟机单独分配一磁盘,也可是对多个虚拟机进行分组,为每组虚拟机分配一磁盘。当每个虚拟机单独分配有一独立磁盘时,该独立磁盘仅用于存储该虚拟机的用户私有数据和用户对系统盘的更改记录;当每组虚拟机分配一个磁盘时,该一个磁盘中划分有多个存储区块,每个存储区块都对应于该组虚拟机中的一个虚拟机,用于存储该一个虚拟机的用户私有数据和用户对系统盘的更改记录,实际并不影响对每个用户的私有数据和更改记录的存储,仅为节省系统资源的优化方案。通过这种方式,考虑到了用户规模较大的情况,令同一组的多个虚拟机共享一个磁盘,有效节省了系统资源。
步骤102,对虚拟机进行首次同步,控制虚拟机进入组件过滤模式。
具体地说,首先根据基础镜像启动虚拟机的操作系统,挂载分配的独立磁盘,对虚拟机进行首次同步并控制虚拟机进入组件过滤模式,使得独立磁盘具有了以下两部分内容,一部分是通过虚拟机的注册表更改至独立磁盘的用户私有数据,如“我的文档”、“下载”、“图片”等目录文档,另一部分是生成的虚拟磁盘文件,虚拟磁盘文件包括虚拟机的注册表和占位文件(guestfile),用于存储所有用户对于系统盘(如C盘)的更改记录。其中,占位文件用于记录对系统盘存储文件的操作记录,每个占位文件都与系统盘中的存储文件一一对应;虚拟机的注册表用于记录用户对系统盘中的注册表的操作记录,虚拟机的注册表与系统盘中的注册表对应。
虚拟机在组件过滤模式下,可利用操作系统的文件过滤驱动程序,实现对系统盘操作的进行过滤。本实施方式对原有VDI系统(原有VDI系统框架如图2所示)进行了改动,涉及了minifilter文件系统过滤驱动,改动后如图3所示。利用操作系统的minifilter文件系统过滤驱动实现文件重定向和虚拟机的注册表重定向,完成更改的记录和存放。
由于文件系统过滤驱动属于操作系统自带的功能,因此本实施方式的改动不涉及对底层机制的改动,所以通过这种方式,保证了原有底层机制的兼容适配,并使得操作系统中的文件内容属性分布于多个磁盘簇上,且每个磁盘簇包含多个文件的信息,有效提升了粒度要求。
步骤103,升级基础镜像。
具体地说,通过某台虚拟机启动基础镜像,管理员发出“开始同步”的消息,此时组件升级服务从空闲态切换到同步态。升级基础镜像包括安装应用程序、卸载应用程序、更新应用程序等对系统盘进行更改的操作;应用程序的安装由管理员决定,其中,应用程序的安装路径属于系统盘下。当对系统盘进行更改时,利用NTFS系统的日志文件自动记录对文件的更改,利用操作系统的文件系统过滤驱动对系统盘的操作进行过滤,将过滤结果重定向至与操作的存储文件对应的占位文件和虚拟机的注册表。
步骤104,根据升级后的基础镜像,同步更新独立磁盘。
具体地说,更新后的独立磁盘包括升级后的基础镜像,升级后的基础镜像具体包括基础镜像升级过程中的文件改动记录;根据文件改动记录,对虚拟磁盘文件包括的占位文件和虚拟机的注册表进行更新。当管理员完成对基础镜像的升级后,触发“开始同步”的消息,对升级后的基础镜像进行克隆,以生成两个升级后的差分镜像,其中一个差分镜像用于虚拟机的操作系统的启动,另一个差分镜像用于建立占位文件。在本实施方式中,可以是令每一个独立磁盘都对应一个升级后的基础镜像,也可是对多个独立磁盘进行分组,令每组独立磁盘对应一个升级后的基础镜像,通过这种方式,考虑到了用户规模较大的情况,令同一组的多个独立磁盘共享一个基础镜像,有效节省了系统资源。当启动虚拟机的操作系统后,且虚拟机处于同步态时,挂载虚拟磁盘文件和另一个用于建立占位文件的差分镜像,同时遍历日志文件,获取基础镜像升级过程中的文件改动记录,根据文件改动记录,对占位文件和虚拟机的注册表进行更新。通过这种方式,将基础镜像升级过程中的文件改动记录合并到独立磁盘上,使得虚拟机在挂载独立磁盘时,能够获取到升级后的基础镜像,与用户私有数据和对系统盘的更改记录,实现了对云桌面的统一维护,降低了系统资源消耗。
下面以一实例为具体说明:当管理员对基础镜像进行升级时,对存储文件A进行了修改,修改后的文件为A1。当根据升级后的基础镜像,同步更新独立磁盘后,虚拟机挂载虚拟磁盘文件,获取到用户对存储文件A的修改记录(如对文件A的第10个bit至第20个bit的修改),并根据基础镜像升级过程中得到的文件A1,以及用户的修改记录,最终得到具有用户修改记录的文件A1’,文件A1’包括了升级后的基础镜像的文件改动记录和用户对系统盘的更改记录,也就是说同步更新后的独立磁盘完成了升级。
本实施方式相对于现有技术而言,管理员预先制作操作系统的基础镜像,其中,与云桌面对应的虚拟机单独分配有一独立磁盘,用于存储用户私有数据和用户对系统盘的更改记录,以供虚拟机在运行时通过挂载独立磁盘,获取到用户私有数据和对系统盘的更改记录。其中,用户对系统盘的更改记录,通过虚拟机的注册表和占位文件存储在独立磁盘中;升级基础镜像,并根据升级后的基础镜像同步更新独立磁盘,更新后的独立磁盘包括升级后的基础镜像,通过这种方法,将基础镜像升级过程中的文件改动记录合并到独立磁盘上,使得虚拟机在挂载独立磁盘时,能够获取到升级后的基础镜像,与用户私有数据和对系统盘的更改记录,实现了对云桌面的统一维护,降低了系统资源消耗,提升了用户体验。
本发明的第二实施方式涉及一种云桌面升级方法,具体流程如图4所示。第二实施方式与第一实施方式大致相同,主要区别之处在于:在本发明第二实施方式中,对如何对虚拟机进行首次同步,做了进一步细化。下面对图4的流程做具体说明:
步骤401,预先制作操作系统的基础镜像。本步骤与步骤101相同,此处不再赘述。
步骤402,根据基础镜像为虚拟机生成两个差分镜像。
具体地说,通过对基础镜像的克隆,生成两个差分镜像,一个用于虚拟机的操作系统的启动,另一个用于建立占位文件。通过这种方式,合理明确的进行了差分镜像的分工,有利于提高系统工作效率。
步骤403,启动虚拟机的操作系统,全盘扫描另一个差分镜像;根据扫描结果,生成虚拟磁盘文件。
具体地说,通过上述差分镜像启动虚拟机的操作系统,判断虚拟机在运行时挂载的磁盘是否是用于存储用户私有数据的磁盘,若是,判断该挂载的磁盘是否已格式化,若否,该挂载的磁盘进行格式化。随后虚拟机挂载独立磁盘,进行首次同步,具体为:全盘扫描该用于建立占位文件的差分镜像,根据扫描结果,生成虚拟磁盘文件,文件名可为cmap.vhd,虚拟磁盘文件包括虚拟机的注册表和占位文件,其中,虚拟机的注册表用于记录对系统盘注册表进行的用户的相关目录文档的更改,相关目录文档如“我的文档”、“下载”、“图片”等,占位文件用于记录对系统盘存储文件的操作记录,每个占位文件都与系统盘中的存储文件一一对应。具体地,可以为每个占位文件建立可选数据流ADS。ADS的名称中包括对应的系统盘中的存储文件(即hostfile)的文件标识符(fileid),这样就建立了占位文件和C盘文件的对应关系。根据NTFS文件系统的特点,系统盘上的每个存储文件都包含唯一的文件标识符,所以通过文件标识符可获取到占位文件与系统盘中的存储文件的对应关系,便于同步更新独立磁盘。
而且,在实际应用中,占位文件可按照sparse稀疏文件的方式构造,即并不包含真实的文件内容,只是包含了文件属性,比如创建时间,文件大小等等。由于占位文件为稀疏文件,只将真实的、非空的数据块写入磁盘,以简短的信息表示空数据块而不是占用实际空间来存储空数据块,使得文件内容大多为空时有效地节省磁盘空间,提升对磁盘空间的利用率,减少首次写入文件的时间消耗。
步骤404,控制虚拟机进入组件过滤模式。具体地说,同步完成后,进行一次系统重启,进入组件过滤模式。在组件过滤模式下,用户所有对系统盘(如C盘)的文件操作都被minifilter过滤,即使用windows驱动程序工具包提供的文件系统过滤驱动(minifilter分层框架),实现用户对系统盘的所有操作的拦截及重定向。包括文件Create(创建),Open(打开),Read(读取),Write(写入),Control(控制)等等。只要有改动,都通过增量方式重定向写入到占位文件guestfile中。
步骤405,升级基础镜像。本步骤与步骤103相同,此处不再赘述。
步骤406,根据升级后的基础镜像,同步更新独立磁盘。本步骤与步骤104相同,此处不再赘述。
具体地说,在本实施方式中,获取基础镜像升级过程中的文件改动记录,根据文件改动记录,对占位文件和所述虚拟机的注册表进行更新。当占位文件记录的对应的存储文件的操作记录,与文件改动记录中记录的对应的存储文件的操作记录冲突时,删除占位文件;以文件改动记录中记录的对应的存储文件,重新生成对应的占位文件,并为重新生成的占位文件建立ADS。若用户修改了某存储文件,管理员在升级基础镜像的过程中也修改了同样的存储文件,则会造成操作记录的冲突,因此通过这种方式,抛弃用户对存储文件进行的操作记录,解决了用户修改与管理员修改的冲突问题,以升级基础镜像过程中的文件改动记录为标准。另外,当更新注册表时,若遇到同样类型的上述冲突,则依旧以管理员在升级基础镜像过程中的文件改动记录为标准。
本实施方式相对于现有技术而言,提供了一种首次同步虚拟机的方式。在为虚拟机单独分配一独立磁盘后,根据基础镜像为虚拟机生成两个差分镜像,其中,一个差分镜像用于所述虚拟机的操作系统的启动,另一个差分镜像用于建立所述占位文件,合理明确的进行了差分镜像的分工,有利于提高系统工作效率;在启动虚拟机的操作系统后,全盘扫描另一个差分镜像,根据扫描结果,生成虚拟磁盘文件,虚拟磁盘文件包括与系统盘的注册表对应的虚拟机的注册表和与系统盘中的存储文件一一对应的占位文件,并为每个占位文件建立可选数据流ADS,ADS的名称中包括对应的系统盘中的存储文件的文件标识符,使得通过ADS可获取到占位文件与系统盘中的存储文件的对应关系,便于同步更新独立磁盘。而且,占位文件为稀疏文件,有效的节省磁盘空间,提升对磁盘空间的利用率,减少首次写入文件的时间消耗。
本发明的第三实施方式涉及一种云桌面升级方法,在本实施方式中,对第二实施方式中的步骤404进行了进一步的细化。在步骤404中,利用minifilter文件系统过滤驱动程序,对系统盘的操作进行过滤,实现用户所有对系统盘(如C盘)的文件操作,被重定向至独立磁盘中。通过这种方式,利用操作系统的文件系统过滤驱动程序这一标准的解决方案规范,能够十分方便的监控和干涉对系统盘的操作,且在不破坏原有操作的执行和更改记录的完整性的情况下,将用户对系统盘的更改记录写入独立磁盘中。
下面以过滤到的操作为创建请求(IRP_MJ_CREATE)、文件打开操作、读取请求、写入请求、文件关闭请求(Close)、文件清除请求(Cleanup)、快速读写操作(FastI/O)、文件重命名操作(rename)为例,分别进行说明:
以过滤得到的操作为对存储文件的创建请求为举例说明。IRP_MJ_CREATE这一接口用于打开和创建文件,通过接口可以预先处理回调函数pre操作,和下层驱动执行后的后置处理回调函数pose操作。在pre操作中,输入的参数包含结构体FLT_FILE_NAME_INFORMATION,用于指出该存储文件在C盘的全路径;当流程处理到postcallback时,可以获得该C盘的全路径(例如C:\dir1);在pre操作中,修改C盘的全路径对应的路径为占位文件的路径,例如C:\dir1对应/volume1/dir1。通过这种方式,使得后续操作中,对应的存储文件都被重定向到了占位文件。
以过滤得到的操作为对存储文件的写入请求时为举例说明。当过滤得到的操作为对存储文件的写入请求时,将增量修改的数据写入到所述对应的占位文件,并记录写入的数据的位置。首先在占位文件的ADS中创建一bitmap区,记录对存储文件的写入的数据的占用情况。在precallback中判断存储文件是否存在于系统盘中,如果是,则直接通过该写入请求,进行写入操作;当写入操作成功后,将增量修改的数据写入到所述对应的占位文件;同时在bitmap区中记录写入的数据的位置,包括对存储文件的写入的数据的位置偏移和长度。若过滤得到的操作为对存储文件的多个连续写入请求,则将多个连续写入的数据的位置合并为一条记录,记录于bitmap区中。通过这种方式,仅记录对文件需要写入的数据占用情况,有效控制了占位文件的文件大小,便于根据占位文件中存储的增量修改的数据和写入数据的位置得到用户的修改记录。
以过滤得到的操作为对存储文件的读取请求为举例说明。当过滤得到的操作为对存储文件的读取请求时,首先判断读取的数据的位置是否落入链表中,若读取的数据的位置落入链表中,则直接通过该读取请求,进行读取操作;若读取的数据跨段,则以此进行多次读取操作。
以过滤得到的操作为对存储文件的文件关闭请求(Close)为举例说明。当过滤得到的操作为对存储文件的文件关闭请求(Close)时,在pre操作时生成任务请求“在bitmap区中写入起止扇区位置”,随后将该任务请求加入系统的I/O操作队列,使用单独线程从队列中取出该任务请求,执行在bitmap区中的写入动作。通过这种同步串行处理的方式,有效避免了因互相冲突而导致写入错误的情况。
以过滤得到的操作为对存储文件的文件清除请求(Cleanup)为举例说明。当过滤得到的操作为对存储文件的文件清除请求(Cleanup)时,关闭对应的占位文件和原位置的文件对象,回收句柄。
以过滤得到的操作为对存储文件的快速读写操作(FastI/O)为举例说明。当过滤得到操作时,可在pre操作中,通过系统函数FLT_IS_FASTIO_OPERATION函数判断该操作是否为快速读写操作(FastI/O)。若过滤得到的操作为对存储文件的快速读写操作,则直接返回FLT_PREOP_DISALLOW_FASTIO函数。由于快速读写操作是由操作系统生成的输入输出请求包(IRP),所以快速读写操作是直接在系统缓存中传输处理数据,而不是通过文件系统来传输数据。
以过滤得到的操作为对存储文件的文件重命名操作(rename)为举例说明。当过滤得到的操作为对存储文件的文件重命名操作(rename)时,同时对对应存储文件的占位文件和占位文件的ADS进行重命名操作。由于存储文件被重命名且基础镜像被更新后,在后续操作中难以定位到对应存储文件的占位文件,而占位文件与存储文件的对应关系是根据ADS获取的,因此对对应存储文件的占位文件和占位文件的ADS也进行重命名操作,以便于准确获取占位文件。
如图5所示,当涉及到对操作系统调用文件处理流程时,使用windos WDK提供的文件系统过滤minifilter分层框架实现,入口注册函数为FltRegisterFilter,可以处理的调用函数包括:IRP_MJ_CREATE、IRP_MJ_CLOSE、IRP_MJ_READ、IRP_MJ_WRITE、IRP_MJ_CLEANUP、IRP_MJ_QUERY_VOLUME_INFORMATION、IRP_MJ_SET_INFORMATION等。
当应用程序运行时,调用操作系统的api函数,当文件系统过滤驱动拦截到调用函数时,过滤驱动截获到调用函数开始执行过滤。同时获取当前打开的进程,与预存的配置文件中进程的黑名单和白名单进行匹配,根据匹配结果对拦截到的内容进行处理,其中,黑名单表示无需处理并直接返回操作系统的情况,白名单表示需要进行过滤处理的情况;若未能在黑名单和白名单中匹配到当前打开的进程,则默认当前打开的进程存在于白名单中。由于系统调用较多,以下仅说明文件打开和目录查询。
以拦截到文件打开调用函数为举例说明。首先判断当前文件打开调用函数是否为对系统盘的访问请求,若是,将文件打开调用函数重定向至挂载虚拟磁盘文件文件的独立磁盘中去;根据ADS获取到系统盘中的请求打开的文件的文件标识符,根据该文件标识符打开对应的系统盘中的存储文件。同时,在占位文件中设置StramContext函数和StreamHandleContext函数。通过这种方式,使得后续的文件读取请求和文件写入请求可以通过判断是否存在Context函数而进行处理。当完成上述操作后,返回操作系统。
如图5所示,当涉及到对操作系统调用注册表处理流程,使用windos WDK提供的文件系统过滤minifilter分层框架实现,入口注册函数为CmRegisterCallback,可以处理的调用函数包括:RegNtPreDeleteKey、RegNtPreSetValueKey、RegNtPreDeleteValueKey、RegNtPreRenameKey、RegNtPreEnumerateKey、RegNtPreEnumerateValueKey、RegNtPreQueryKey、RegNtQueryValueKey、RegNtPreCreateKeyEx、RegNtPreOpenKeyEx、RegNtPreLoadKey等。
以拦截到RegNtPreQueryKey为举例说明。首先将文件系统过滤驱动加载至操作系统后,在操作系统处于同步态下时将所有对注册表的改动都记录在内存中;当操作系统结束同步态时,将所有对注册表的改动以hive格式分别保存为单个文件,保存于reg目录中。当操作系统进行过滤时,挂载独立磁盘,连接上述保存于reg目录的文件;当接收到调用函数时,优先查询独立磁盘的注册表中的同路径,若存在查询结果,则以此查询结果返回。
其次,将过滤得到的对系统盘的操作,重定向至与操作的存储文件对应的占位文件。
具体地说,本步骤提供了多种将过滤得到的对系统盘的操作,重定向至与操作的存储文件对应的占位文件和虚拟机的注册表的情况,
本实施方式相对于现有技术而言,利用操作系统的文件系统过滤驱动程序,对系统盘的操作进行过滤,保证了原有底层机制的兼容适配,有效提升了粒度要求;同时对过滤得到不同操作的情况进行了进一步举例说明,即通过文件重定向和注册表重定向,实现了将用户对系统盘的更改的记录和保存。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种云桌面升级装置,如图6所示,包括:分配单元601,基础镜像制作模块602和升级模块603。
分配单元601,用于为与云桌面对应的虚拟机单独分配一独立磁盘;其中,独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,供虚拟机在运行时通过挂载独立磁盘,获取到用户私有数据和对系统盘的更改记录。
基础镜像制作模块602,用于制作操作系统的基础镜像,基础镜像用于虚拟机的操作系统的启动。
具体地说,管理员使用iso文件,通过基础镜像制作模块602安装虚拟机操作系统和一系列组件的安装;当全部安装操作完成后,进行操作系统重启,重启生效后,基础镜像制作模块602完成基础镜像的制作。
升级模块603,用于升级基础镜像,并根据升级后的基础镜像,同步更新独立磁盘,更新后的所述独立磁盘包括所述升级后的基础镜像。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种云端服务器,如图7所示,包括:至少一个处理器702;以及,与至少一个处理器702通信连接的存储器701;其中,所述存储器701存储有可被至少一个处理器702执行的指令,指令被至少一个处理器702执行,以使至少一个处理器702能够执行上述云桌面升级方法。
其中,存储器701和处理器702采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器701的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器702处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器702。
处理器702负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器701可以被用于存储处理器在执行操作时所使用的数据。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (12)

1.一种云桌面升级方法,其特征在于,包括:
预先制作操作系统的基础镜像;其中,与云桌面对应的虚拟机单独分配有一独立磁盘,所述基础镜像用于所述虚拟机的操作系统的启动;所述独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,供所述虚拟机在运行时通过挂载所述独立磁盘,获取到所述用户私有数据和所述对系统盘的更改记录;
升级所述基础镜像,并根据升级后的基础镜像,同步更新所述独立磁盘,更新后的所述独立磁盘包括所述升级后的基础镜像。
2.根据权利要求1所述的云桌面升级方法,其特征在于,所述用户对系统盘的更改记录,通过所述虚拟机的注册表和占位文件存储在所述独立磁盘中;
其中,所述占位文件与系统盘中的存储文件一一对应,所述占位文件用于记录对应的存储文件的操作记录;所述虚拟机的注册表与系统盘中的注册表对应,所述虚拟机的注册表用于记录用户对系统盘中的注册表的操作记录。
3.根据权利要求2所述的云桌面升级方法,其特征在于,
所述占位文件为稀疏文件。
4.根据权利要求2所述的云桌面升级方法,其特征在于,在所述预先制作操作系统的基础镜像,并为与云桌面对应的虚拟机单独分配一独立磁盘后,还包括:
根据所述基础镜像为所述虚拟机生成两个差分镜像;其中,一个差分镜像用于所述虚拟机的操作系统的启动,另一个差分镜像用于建立所述占位文件。
5.根据权利要求4所述的云桌面升级方法,其特征在于,所述占位文件通过以下方式建立:
在启动所述虚拟机的操作系统后,全盘扫描所述另一个差分镜像;
根据扫描结果,生成虚拟磁盘文件,所述虚拟磁盘文件包括所述虚拟机的注册表和与所述系统盘中的存储文件一一对应的所述占位文件;
为每个所述占位文件建立可选数据流ADS;所述ADS的名称中包括对应的所述系统盘中的存储文件的文件标识符。
6.根据权利要求2所述的云桌面升级方法,其特征在于,所述用户对系统盘的更改记录,通过以下方式存储在所述独立磁盘中:
利用操作系统的文件系统过滤驱动程序,对所述系统盘的操作进行过滤,并将过滤得到的对所述系统盘的操作,重定向至与操作的存储文件对应的所述占位文件和所述虚拟机的注册表。
7.根据权利要求6所述的云桌面升级方法,其特征在于,所述将过滤得到的对所述系统盘的操作,重定向至与操作的存储文件对应的所述占位文件,具体包括:
当过滤得到的操作为对存储文件的写入请求时,将增量修改的数据写入到所述对应的所述占位文件,并记录写入的数据的位置。
8.根据权利要求2至7中任一项所述的云桌面升级方法,其特征在于,所述根据升级后的基础镜像,同步更新所述独立磁盘,具体包括:
获取所述基础镜像升级过程中的文件改动记录;
根据所述文件改动记录,对所述占位文件和所述虚拟机的注册表进行更新。
9.根据权利要求8所述的云桌面升级方法,其特征在于,所述根据所述文件改动记录,对所述占位文件进行的更新,具体包括:
当所述占位文件记录的所述对应的存储文件的操作记录,与所述文件改动记录中记录的所述对应的存储文件的操作记录冲突时,删除所述占位文件;
以所述文件改动记录中记录的所述对应的存储文件,重新生成对应的占位文件。
10.一种云桌面升级装置,其特征在于,包括:
分配单元,用于为与云桌面对应的虚拟机单独分配一独立磁盘;其中,所述独立磁盘用于存储用户私有数据和用户对系统盘的更改记录,供所述虚拟机在运行时通过挂载所述独立磁盘,获取到所述用户私有数据和所述对系统盘的更改记录;
基础镜像制作模块,用于制作操作系统的基础镜像,所述基础镜像用于所述虚拟机的操作系统的启动;
升级模块,用于升级所述基础镜像,并根据升级后的基础镜像,同步更新所述独立磁盘,更新后的所述独立磁盘包括所述升级后的基础镜像。
11.一种云端服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至9中任一项所述的云桌面升级方法。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的云桌面升级方法。
CN201811409392.1A 2018-11-23 2018-11-23 云桌面升级方法、装置、云端服务器及存储介质 Pending CN111221537A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811409392.1A CN111221537A (zh) 2018-11-23 2018-11-23 云桌面升级方法、装置、云端服务器及存储介质
PCT/CN2019/119962 WO2020103904A1 (zh) 2018-11-23 2019-11-21 云桌面升级方法、装置、云端服务器及存储介质
EP19886325.0A EP3885903A4 (en) 2018-11-23 2019-11-21 METHOD OF UPGRADING A CLOUD DESKTOP, DEVICE, CLOUD SERVER AND STORAGE MEDIA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811409392.1A CN111221537A (zh) 2018-11-23 2018-11-23 云桌面升级方法、装置、云端服务器及存储介质

Publications (1)

Publication Number Publication Date
CN111221537A true CN111221537A (zh) 2020-06-02

Family

ID=70773261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811409392.1A Pending CN111221537A (zh) 2018-11-23 2018-11-23 云桌面升级方法、装置、云端服务器及存储介质

Country Status (3)

Country Link
EP (1) EP3885903A4 (zh)
CN (1) CN111221537A (zh)
WO (1) WO2020103904A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782339A (zh) * 2020-06-28 2020-10-16 京东数字科技控股有限公司 一种容器创建方法、装置、电子设备及存储介质
CN111782318A (zh) * 2020-06-16 2020-10-16 贵州省广播电视信息网络股份有限公司 远程挂载本地磁盘到云桌面虚拟机中共享访问系统及方法
CN112596748A (zh) * 2020-12-28 2021-04-02 武汉噢易云计算股份有限公司 一种桌面融合使用方法、装置、设备及可读存储介质
CN113238784A (zh) * 2021-06-16 2021-08-10 中国农业银行股份有限公司 交易程序的更新方法及设备
CN113407220A (zh) * 2021-07-12 2021-09-17 浙江华网俊业科技有限公司 镜像推送本地终端的更新方法、装置
CN113900716A (zh) * 2021-09-29 2022-01-07 武汉噢易云计算股份有限公司 桌面启动的管理方法及装置
CN114282214A (zh) * 2021-12-17 2022-04-05 北京天融信网络安全技术有限公司 一种病毒查杀方法、装置及电子设备
CN114510278A (zh) * 2022-01-21 2022-05-17 武汉噢易云计算股份有限公司 数据静态恢复方法、装置、设备及可读存储介质
CN114564283A (zh) * 2022-02-28 2022-05-31 锐捷网络股份有限公司 一种磁盘空间管理方法、装置、电子设备和存储介质
CN114840267A (zh) * 2022-04-20 2022-08-02 北京金山云网络技术有限公司 云应用程序运行方法、装置、电子设备及可读存储介质
WO2023197862A1 (zh) * 2022-04-13 2023-10-19 广州视源电子科技股份有限公司 镜像管理方法、装置、服务器、终端及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679442A (zh) * 2022-02-28 2022-06-28 阿里巴巴(中国)有限公司 基于云桌面的用户数据同步方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100107113A1 (en) * 2008-10-24 2010-04-29 Andrew Innes Methods and systems for providing a modifiable machine base image with a personalized desktop environment in a combined computing environment
CN102037444A (zh) * 2008-05-20 2011-04-27 思杰系统有限公司 用于修补从通用基础磁盘映像获取的多个磁盘映像的方法和系统
CN102193807A (zh) * 2010-03-19 2011-09-21 联想(北京)有限公司 一种镜像文件升级的方法、服务器及计算机网络系统
US8904081B1 (en) * 2012-05-08 2014-12-02 Vmware, Inc. Composing a virtual disk using application delta disk images
US20150012570A1 (en) * 2003-04-11 2015-01-08 Vmware, Inc. System and method for converting a physical disk to a virtual disk

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176744B2 (en) * 2011-05-20 2015-11-03 Citrix Systems, Inc. Quickly provisioning a virtual machine by identifying a path to a differential file during pre-boot
CN103019802B (zh) * 2012-11-20 2015-11-25 中标软件有限公司 一种虚拟机管理方法及平台
CN107273146B (zh) * 2016-04-08 2021-11-19 中兴通讯股份有限公司 虚拟机升级方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012570A1 (en) * 2003-04-11 2015-01-08 Vmware, Inc. System and method for converting a physical disk to a virtual disk
CN102037444A (zh) * 2008-05-20 2011-04-27 思杰系统有限公司 用于修补从通用基础磁盘映像获取的多个磁盘映像的方法和系统
US20100107113A1 (en) * 2008-10-24 2010-04-29 Andrew Innes Methods and systems for providing a modifiable machine base image with a personalized desktop environment in a combined computing environment
CN102193807A (zh) * 2010-03-19 2011-09-21 联想(北京)有限公司 一种镜像文件升级的方法、服务器及计算机网络系统
US8904081B1 (en) * 2012-05-08 2014-12-02 Vmware, Inc. Composing a virtual disk using application delta disk images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李毅伦等: "基于应用程序分层技术的镜像管理机制研究", 《计算机应用与软件》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782318A (zh) * 2020-06-16 2020-10-16 贵州省广播电视信息网络股份有限公司 远程挂载本地磁盘到云桌面虚拟机中共享访问系统及方法
CN111782339A (zh) * 2020-06-28 2020-10-16 京东数字科技控股有限公司 一种容器创建方法、装置、电子设备及存储介质
CN111782339B (zh) * 2020-06-28 2024-04-12 京东科技控股股份有限公司 一种容器创建方法、装置、电子设备及存储介质
CN112596748B (zh) * 2020-12-28 2023-05-16 武汉噢易云计算股份有限公司 一种桌面融合使用方法、装置、设备及可读存储介质
CN112596748A (zh) * 2020-12-28 2021-04-02 武汉噢易云计算股份有限公司 一种桌面融合使用方法、装置、设备及可读存储介质
CN113238784A (zh) * 2021-06-16 2021-08-10 中国农业银行股份有限公司 交易程序的更新方法及设备
CN113407220A (zh) * 2021-07-12 2021-09-17 浙江华网俊业科技有限公司 镜像推送本地终端的更新方法、装置
CN113407220B (zh) * 2021-07-12 2022-04-19 浙江华网俊业科技有限公司 镜像推送本地终端的更新方法、装置
CN113900716B (zh) * 2021-09-29 2023-05-30 武汉噢易云计算股份有限公司 桌面启动的管理方法及装置
CN113900716A (zh) * 2021-09-29 2022-01-07 武汉噢易云计算股份有限公司 桌面启动的管理方法及装置
CN114282214B (zh) * 2021-12-17 2022-10-21 北京天融信网络安全技术有限公司 一种病毒查杀方法、装置及电子设备
CN114282214A (zh) * 2021-12-17 2022-04-05 北京天融信网络安全技术有限公司 一种病毒查杀方法、装置及电子设备
CN114510278A (zh) * 2022-01-21 2022-05-17 武汉噢易云计算股份有限公司 数据静态恢复方法、装置、设备及可读存储介质
CN114564283A (zh) * 2022-02-28 2022-05-31 锐捷网络股份有限公司 一种磁盘空间管理方法、装置、电子设备和存储介质
WO2023197862A1 (zh) * 2022-04-13 2023-10-19 广州视源电子科技股份有限公司 镜像管理方法、装置、服务器、终端及存储介质
CN114840267A (zh) * 2022-04-20 2022-08-02 北京金山云网络技术有限公司 云应用程序运行方法、装置、电子设备及可读存储介质
CN114840267B (zh) * 2022-04-20 2024-08-30 北京金山云网络技术有限公司 云应用程序运行方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
EP3885903A4 (en) 2022-01-26
WO2020103904A1 (zh) 2020-05-28
EP3885903A1 (en) 2021-09-29

Similar Documents

Publication Publication Date Title
CN111221537A (zh) 云桌面升级方法、装置、云端服务器及存储介质
KR101465928B1 (ko) 머신을 가상 머신으로 변환하는 방법
CN107992355B (zh) 一种部署应用软件的方法、装置及虚拟机
US11914881B2 (en) Data migration method and apparatus
US20080028402A1 (en) Method of setting operation environment and computer system
CN105893115B (zh) 差异化部署虚拟机的方法和系统
WO2022095366A1 (zh) 基于Redis的数据读取方法、装置、设备及可读存储介质
US11029932B2 (en) Hydration of applications
CN112835524A (zh) 存储资源配置方法、存储资源控制器及调度系统
CN111582824B (zh) 云资源同步方法、装置、设备及存储介质
CN114528255A (zh) 元数据管理方法、电子设备及计算机程序产品
WO2021254280A1 (zh) 磁盘挂载方法、装置、存储介质以及电子装置
CN114528260A (zh) 文件访问请求的处理方法、电子设备及计算机程序产品
WO2016070641A1 (zh) 数据的保存方法、装置及读取方法、装置
AU2012200600B2 (en) "Converting machines to virtual machines"
CN116185454A (zh) 应用资源确定方法、装置、服务器和计算机可读存储介质
CN115421752A (zh) 软件更新方法、装置、存储介质及电子设备

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200602

RJ01 Rejection of invention patent application after publication