CN113900716B - 桌面启动的管理方法及装置 - Google Patents

桌面启动的管理方法及装置 Download PDF

Info

Publication number
CN113900716B
CN113900716B CN202111154512.XA CN202111154512A CN113900716B CN 113900716 B CN113900716 B CN 113900716B CN 202111154512 A CN202111154512 A CN 202111154512A CN 113900716 B CN113900716 B CN 113900716B
Authority
CN
China
Prior art keywords
disk
data
module
operating system
read
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
CN202111154512.XA
Other languages
English (en)
Other versions
CN113900716A (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.)
Wuhan Os Easy Cloud Computing Co ltd
Original Assignee
Wuhan Os Easy Cloud Computing 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 Wuhan Os Easy Cloud Computing Co ltd filed Critical Wuhan Os Easy Cloud Computing Co ltd
Priority to CN202111154512.XA priority Critical patent/CN113900716B/zh
Publication of CN113900716A publication Critical patent/CN113900716A/zh
Application granted granted Critical
Publication of CN113900716B publication Critical patent/CN113900716B/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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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
    • 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/45583Memory management, e.g. access or allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种桌面启动的管理方法及装置,该方法包括:调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;调用磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;若平稳,则设置操作系统启动完成标记;检测每一次截获的所述读写操作是否是写操作,若是,则根据判断条件将本次写操作对应的数据缓存在磁盘过滤驱动模块中或者将本次写操作发送到底层磁盘驱动模块。通过本发明,解决了成千上百桌面同时启动时,存储系统的性能无法及时响应请求,导致大量I/O队列访问超时,无法启动桌面的问题。

Description

桌面启动的管理方法及装置
技术领域
本发明涉及桌面虚拟化领域,尤其涉及一种桌面启动的管理方法及装置。
背景技术
windows操作系统启动过程中有大部分的读操作和少部分为写操作。在桌面虚拟化场景中,读操作大部分是对“桌面base镜像”的读操作,这部分读操作比较容易在宿主机的后端进行缓存优化,但对这少量的写操作没有非常好的处理方式。虽然写操作比较少,但是,当成百上千桌面同时启动时,后端存储端会接收到大量并发I/O,导致存储系统无法及时响应请求,使大量I/O队列访问超时,致使桌面响应会极慢甚至崩溃。桌面用户看到的是登录界面一直在加载,无法启动桌面,尝试重启多次也无果,严重影响用户使用体验。
现有技术中,通过配置SSD磁盘或通过将整个“桌面base镜像”缓存到内存中或借用宿主机上的文件系统的缓存机制来缓解后端存储端接收到大量并发I/O的压力。但是通过配置SSD磁盘缓解后端存储端接收到大量并发I/O的压力所需的成本高,通过将整个“桌面base镜像”缓存到内存中缓解后端存储端接收到大量并发I/O的压力占用的内存量比较大,借用宿主机上的文件系统的缓存机制缓解后端存储端接收到大量并发I/O的压力缓存所需占用的内存不可控,缓存效果也不可控,导致桌面虚拟机动态迁移功能无法使用,降低用户使用体验。
发明内容
本发明的主要目的在于提供一种桌面启动的管理方法及装置,旨在解决当成百上千桌面同时启动时,存储系统的性能无法及时响应请求,使大量I/O队列访问超时,无法启动桌面的问题,同时降低用户投入成本,且避免了动态迁移功能不能使用的情况出现。
第一方面,本发明提供一种桌面启动的管理方法,其特征在于,所述桌面启动的管理方法包括:
调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。
可选的,所述调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳的步骤包括:
调用桌面内安装的系统服务模块根据操作系统的读写操作速度检测操作系统磁盘是否平稳;
若操作系统的读写操作在预设时长内的读写速度都低于阈值,则操作系统磁盘平稳;
若操作系统的读写操作在预设时长内的读写速度不都低于阈值,则操作系统磁盘不平稳。
可选的,所述检测每一次截获的所述读写操作是否是写操作的步骤之后,包括:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
可选的,所述将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中的步骤包括:
将磁盘过滤驱动模块中的数据发送给底层磁盘驱动模块,再控制底层磁盘驱动模块将接收到的数据逐步写入对应的虚拟机磁盘中,并清除磁盘过滤驱动模块中对应的缓存数据;
若磁盘过滤驱动模块中的数据个数大于一,则按照数据缓存到磁盘过滤驱动模块的先后顺序,先缓存到磁盘过滤驱动模块中的数据先通过底层磁盘驱动模块逐步写到虚拟机磁盘中。
可选的,所述将本次写操作发送到底层磁盘驱动模块的步骤之后包括:
控制底层磁盘驱动模块执行本次写操作,并将本次写操作对应的数据写到虚拟机磁盘中。
可选的,所述桌面启动的管理方法包括:
当要重启或关机时,控制磁盘过滤驱动模块将缓存中的数据发送到底层磁盘驱动模块,底层磁盘驱动模块收到数据后将数据写入虚拟机磁盘中。
第二方面,本发明还提供一种桌面启动的管理装置,所述桌面启动的管理装置包括:
读取模块,用于调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
截获模块,用于调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
第一检测模块,用于调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
第一执行模块,用于若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
第二检测模块,用于检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
第三检测模块,用于若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
第二执行模块,用于若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
发送检测模块,用于若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。
可选的,第二检测模块,具体用于:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
本发明中,调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。通过本发明,先逐一截获操作系统启动过程中的读写操作,再控制磁盘过滤驱动模块利用配置的内存对截获的读写操作进行处理,解决了成千上百桌面同时启动时,存储系统的性能无法及时响应请求,导致大量I/O队列访问超时,无法启动桌面的问题,缓解了后端存储设备的压力,而且不会带来额外的硬件成本问题,也不会出现因为使用宿主机的内存导致动态迁移功能不能使用的情况。
附图说明
图1为本发明桌面启动的管理方法第一实施例的流程示意图;
图2为本发明桌面启动的管理装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供了一种桌面启动的管理方法。
一实施例中,参照图1,图1为本发明桌面启动的管理方法第一实施例的流程示意图。如图1所示,桌面启动的管理方法,包括以下步骤:
S10,调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
本实施例中,在操作系统启动之前,在操作系统中配置一个用来缓存数据的内存,并调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小。
S20,调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
本实施例中,操作系统启动时,桌面内安装的磁盘过滤驱动模块也会启动,此时,调用磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作。
S30,调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
本实施例中,操作系统启动时,桌面内安装的系统服务模块也会启动,此时,调用系统服务模块根据操作系统的读写操作速度检测操作系统磁盘是否平稳。
进一步地,一实施例中,步骤S30包括:
调用桌面内安装的系统服务模块根据操作系统的读写操作速度检测操作系统磁盘是否平稳;
若操作系统的读写操作在预设时长内的读写速度都低于阈值,则操作系统磁盘平稳;
若操作系统的读写操作在预设时长内的读写速度不都低于阈值,则操作系统磁盘不平稳。
本实施例中,若阈值为10KB/s且预设时长为10s,当操作系统的读写操作速度10s内都低于10KB/s时,则系统服务模块对操作系统磁盘的检测结果为操作系统磁盘平稳。当操作系统的读写操作速度10s内没有都低于10KB/s时,则系统服务模块对操作系统磁盘的检测结果为操作系统磁盘不平稳。容易想到的是,本实施例中的参数在此仅供参考,在此不做限制。
S40,若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
本实施例中,若操作系统磁盘平稳,则控制系统服务模块通过IOCLT函数来设置操作系统启动完成标记。具体地,操作系统启动完成时,设置标记为1。若操作系统磁盘不平稳,则控制系统服务模块继续对操作系统进行检测,直到检测到操作系统磁盘平稳。容易想到的是,对操作系统启动完成标记的设置方式及参数仅供参考,在此不做限制。
S50,检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
本实施例中,在步骤S20中逐步截获操作系统启动过程中的读写操作,每截获一次,就对截获的读写操作检测一次,若为写操作,再判断此时操作系统是否已设置启动完成标记。
进一步地,一实施例中,检测每一次截获的所述读写操作是否是写操作的步骤之后,包括:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
本实施例中,若对步骤S20中截获的读写操作检测的结果是读操作,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中,如果磁盘过滤驱动模块的缓存中有本次读操作对应的数据,则从磁盘过滤驱动模块的缓存中读取本次读操作对应的数据。如果磁盘过滤驱动模块的缓存中没有本次读操作对应的数据,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
S60,若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
本实施例中,如果步骤S50中的判断结果为此时操作系统中没有设置启动完成标记,则检测将本次写操作对应的数据写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,从而本次写操作对应的数据将原缓存数据替换。若本次写操作对应的数据写入虚拟机磁盘中的位置上没有数据缓存,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过步骤S10中读取的配置内存的大小。
S70,若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
本实施例中,如果磁盘过滤驱动模块中已缓存的数据所占用的内存大小没有超过步骤S10中读取的配置内存的大小,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中。如果磁盘过滤驱动模块中已缓存的数据所占用的内存大小超过步骤S10中读取的配置内存的大小,则将本次写操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次写操作。
S80,若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。
本实施例中,如果步骤S50中的判断结果为此时操作系统中已设置启动完成标记,则将本次写操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次写操作。并且检测磁盘过滤驱动模块中有无数据缓存,如果没有数据缓存,则不做处理。如果有数据缓存,则将磁盘过滤驱动模块中缓存的数据发送到底层磁盘驱动模块中,底层磁盘驱动模块接收到数据后,再控制底层磁盘驱动模块将数据逐步写到虚拟机磁盘中,并清空磁盘过滤驱动模块中缓存的发送给底层磁盘驱动模块的数据,从而降低后端存储设备的压力,防止额外数据写入对用户使用造成影响。其中,每次写入数据的个数在预设范围内。
进一步地,一实施例中,将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中的步骤包括:
将磁盘过滤驱动模块中的数据发送给底层磁盘驱动模块,再控制底层磁盘驱动模块将接收到的数据逐步写入对应的虚拟机磁盘中,并清除磁盘过滤驱动模块中对应的缓存数据;
若磁盘过滤驱动模块中的数据个数大于一,则按照数据缓存到磁盘过滤驱动模块的先后顺序,先缓存到磁盘过滤驱动模块中的数据先通过底层磁盘驱动模块逐步写到虚拟机磁盘中。
本实施例中,将磁盘过滤驱动模块中的数据发送给底层磁盘驱动模块,再控制底层磁盘驱动模块将收到的数据逐步写到虚拟机磁盘中,并清除磁盘过滤驱动模块中对应的缓存数据。例如,若磁盘过滤驱动模块中有10个数据缓存且每次写入数据的个数的预设范围为大于1小于4,则按照缓存到磁盘过滤驱动模块中的先后顺序,先将排在前2个的数据发送给底层磁盘驱动模块,再控制底层磁盘驱动模块将接收到的2个数据写到虚拟机磁盘中,并且将磁盘过滤驱动模块中缓存的这前2个数据清空。以此类推,再将排在第3个、第4个以及第5个数据写到虚拟机磁盘中,再将排在第6个、第7个以及第8个数据写到虚拟机磁盘中,最后再将排在第9个和第10个数据写到虚拟机磁盘中。容易想到的是,本实施例中的参数仅供参考,在此不做限制。
本实施例中,调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。通过本实施例,先逐一截获操作系统启动过程中的读写操作,再控制磁盘过滤驱动模块利用配置的内存对截获的读写操作进行处理,解决了成千上百桌面同时启动时,存储系统的性能无法及时响应请求,导致大量I/O队列访问超时,无法启动桌面的问题,缓解了后端存储设备的压力,而且不会带来额外的硬件成本问题,也不会出现因为使用宿主机的内存导致动态迁移功能不能使用的情况。
进一步地,一实施例中,将本次写操作发送到底层磁盘驱动模块的步骤之后包括:
控制底层磁盘驱动模块执行本次写操作,并将本次写操作对应的数据写到虚拟机磁盘中。
本实施例中,步骤S70或步骤S80中,将本次写操作发送到底层磁盘驱动模块后,控制底层磁盘驱动模块执行本次写操作,并将本次写操作对应的数据写到虚拟机磁盘中。
进一步地,一实施例中,桌面启动的管理方法包括:
当要重启或关机时,控制磁盘过滤驱动模块将缓存中的数据发送到底层磁盘驱动模块,底层磁盘驱动模块收到数据后将数据写入虚拟机磁盘中。
本实施例中,当要重启或关机时,若磁盘过滤驱动模块中还有数据缓存,则控制磁盘过滤驱动模块将缓存中的数据通过底层磁盘驱动模块一并写入虚拟机磁盘中。
第二方面,本发明实施例还提供一种桌面启动的管理装置。
一实施例中,参照图2,图2为本发明桌面启动的管理装置第一实施例的功能模块示意图。如图2所示,桌面启动的管理装置包括:
读取模块10,用于调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
截获模块20,用于调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
第一检测模块30,用于调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
第一执行模块40:用于若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
第二检测模块50,用于检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
第三检测模块60,用于若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
第二执行模块70,用于若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
发送检测模块80,用于若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。
进一步地,一实施例中,第一检测模块30,具体用于:
调用桌面内安装的系统服务模块根据操作系统的读写操作速度检测操作系统磁盘是否平稳;
若操作系统的读写操作在预设时长内的读写速度都低于阈值,则操作系统磁盘平稳;
若操作系统的读写操作在预设时长内的读写速度不都低于阈值,则操作系统磁盘不平稳。
进一步地,一实施例中,第二检测模块50,具体用于:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
进一步地,一实施例中,发送检测模块80,具体用于:
将磁盘过滤驱动模块中的数据发送给底层磁盘驱动模块,再控制底层磁盘驱动模块将接收到的数据逐步写入对应的虚拟机磁盘中,并清除磁盘过滤驱动模块中对应的缓存数据;
若磁盘过滤驱动模块中的数据个数大于一,则按照数据缓存到磁盘过滤驱动模块的先后顺序,先缓存到磁盘过滤驱动模块中的数据先通过底层磁盘驱动模块逐步写到虚拟机磁盘中。
进一步地,一实施例中,第二执行模块70,还用于:
控制底层磁盘驱动模块执行本次写操作,并将本次写操作对应的数据写到虚拟机磁盘中。
进一步地,一实施例中,当要重启或关机时,控制磁盘过滤驱动模块将缓存中的数据发送到底层磁盘驱动模块,底层磁盘驱动模块收到数据后将数据写入虚拟机磁盘中。
其中,上述桌面启动的管理装置中各个模块的功能实现与上述桌面启动的管理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种桌面启动的管理方法,其特征在于,所述桌面启动的管理方法包括:
调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内;
所述调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳的步骤包括:
调用桌面内安装的系统服务模块根据操作系统的读写操作速度检测操作系统磁盘是否平稳;
若操作系统的读写操作在预设时长内的读写速度都低于阈值,则操作系统磁盘平稳;
若操作系统的读写操作在预设时长内的读写速度不都低于阈值,则操作系统磁盘不平稳。
2.如权利要求1所述的桌面启动的管理方法,其特征在于,所述检测每一次截获的所述读写操作是否是写操作的步骤之后,包括:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
3.如权利要求1所述的桌面启动的管理方法,其特征在于,所述将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中的步骤包括:
将磁盘过滤驱动模块中的数据发送给底层磁盘驱动模块,再控制底层磁盘驱动模块将接收到的数据逐步写入对应的虚拟机磁盘中,并清除磁盘过滤驱动模块中对应的缓存数据;
若磁盘过滤驱动模块中的数据个数大于一,则按照数据缓存到磁盘过滤驱动模块的先后顺序,先缓存到磁盘过滤驱动模块中的数据先通过底层磁盘驱动模块逐步写到虚拟机磁盘中。
4.如权利要求1所述的桌面启动的管理方法,其特征在于,所述将本次写操作发送到底层磁盘驱动模块的步骤之后包括:
控制底层磁盘驱动模块执行本次写操作,并将本次写操作对应的数据写到虚拟机磁盘中。
5.如权利要求1所述的桌面启动的管理方法,其特征在于,所述桌面启动的管理方法包括:
当要重启或关机时,控制磁盘过滤驱动模块将缓存中的数据发送到底层磁盘驱动模块,底层磁盘驱动模块收到数据后将数据写入虚拟机磁盘中。
6.一种桌面启动的管理装置,其特征在于,所述桌面启动的管理装置包括:
读取模块,用于调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
截获模块,用于调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
第一检测模块,用于调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
第一执行模块,用于若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
第二检测模块,用于检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
第三检测模块,用于若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
第二执行模块,用于若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
发送检测模块,用于若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内;
所述第一检测模块,用于:
调用桌面内安装的系统服务模块根据操作系统的读写操作速度检测操作系统磁盘是否平稳;
若操作系统的读写操作在预设时长内的读写速度都低于阈值,则操作系统磁盘平稳;
若操作系统的读写操作在预设时长内的读写速度不都低于阈值,则操作系统磁盘不平稳。
7.如权利要求6所述的桌面启动的管理装置,其特征在于,第二检测模块,具体用于:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
CN202111154512.XA 2021-09-29 2021-09-29 桌面启动的管理方法及装置 Active CN113900716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111154512.XA CN113900716B (zh) 2021-09-29 2021-09-29 桌面启动的管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111154512.XA CN113900716B (zh) 2021-09-29 2021-09-29 桌面启动的管理方法及装置

Publications (2)

Publication Number Publication Date
CN113900716A CN113900716A (zh) 2022-01-07
CN113900716B true CN113900716B (zh) 2023-05-30

Family

ID=79189510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111154512.XA Active CN113900716B (zh) 2021-09-29 2021-09-29 桌面启动的管理方法及装置

Country Status (1)

Country Link
CN (1) CN113900716B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205048A (zh) * 2012-09-18 2014-12-10 科空软件株式会社 网络启动系统
CN105117645A (zh) * 2015-07-29 2015-12-02 杭州安恒信息技术有限公司 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法
CN106708603A (zh) * 2016-12-28 2017-05-24 平安科技(深圳)有限公司 虚拟机快速恢复方法及装置
CN109491782A (zh) * 2017-09-11 2019-03-19 中兴通讯股份有限公司 一种云桌面智能管理的方法及装置
CN110457899A (zh) * 2019-08-12 2019-11-15 北京无线电测量研究所 一种操作系统保护系统及方法
WO2020103904A1 (zh) * 2018-11-23 2020-05-28 中兴通讯股份有限公司 云桌面升级方法、装置、云端服务器及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112505B1 (en) * 2009-10-20 2012-02-07 Wanova Technologies, Ltd. On-demand block-level file system streaming to remote desktops
US10152211B2 (en) * 2014-11-11 2018-12-11 Amazon Technologies, Inc. Application delivery agents on virtual desktop instances
US11263039B2 (en) * 2019-11-15 2022-03-01 Vmware, Inc. High performance attachable writeable volumes in VDI desktops

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205048A (zh) * 2012-09-18 2014-12-10 科空软件株式会社 网络启动系统
CN105117645A (zh) * 2015-07-29 2015-12-02 杭州安恒信息技术有限公司 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法
CN106708603A (zh) * 2016-12-28 2017-05-24 平安科技(深圳)有限公司 虚拟机快速恢复方法及装置
CN109491782A (zh) * 2017-09-11 2019-03-19 中兴通讯股份有限公司 一种云桌面智能管理的方法及装置
WO2020103904A1 (zh) * 2018-11-23 2020-05-28 中兴通讯股份有限公司 云桌面升级方法、装置、云端服务器及存储介质
CN111221537A (zh) * 2018-11-23 2020-06-02 中兴通讯股份有限公司 云桌面升级方法、装置、云端服务器及存储介质
CN110457899A (zh) * 2019-08-12 2019-11-15 北京无线电测量研究所 一种操作系统保护系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云巢独创指纹技术化解桌面用户启动风暴;数字通信世界(03);第23页 *
基于磁盘过滤驱动的硬盘保护技术;魏希三;董巍;;电脑知识与技术(35);第230-231页 *

Also Published As

Publication number Publication date
CN113900716A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
US8745351B2 (en) Initializing file data blocks
US8392915B2 (en) Efficient volume manager hot swapping
JP3830886B2 (ja) 不揮発性メモリへのデータ貯蔵方法
CN102662741B (zh) 虚拟桌面的实现方法、装置和系统
US6948165B1 (en) Method for installing an application program, to be executed during each bootload of a computer system for presenting a user with content options prior to conventional system startup presentation, without requiring a user's participation to install the program
US20090132621A1 (en) Selecting storage location for file storage based on storage longevity and speed
CN107305534B (zh) 同时进行内核模式访问和用户模式访问的方法
US20130326186A1 (en) Avoiding Physical Fragmentation in a Virtualized Storage Environment
EP2017713A2 (en) Techniques for implementing virtual storage devices
US6996582B2 (en) Virtual storage systems and virtual storage system operational methods
KR20140118093A (ko) 메모리 가상화 기반 스냅샷 부트 장치 및 방법
US5963960A (en) Method and apparatus for queuing updates in a computer system
US20050204095A1 (en) System and method to reduce disk access time during predictable loading sequences
US10817205B2 (en) Computer system and storage device
KR101615646B1 (ko) 컴퓨터시스템, 그 제어방법과, 그 컴퓨터프로그램이 저장된 기록매체
CN112612417B (zh) 数据迁移方法、装置、设备及存储介质
KR20160134750A (ko) 공유가능한 메모리 페이지의 비동기 프리페칭
US20150088858A1 (en) Data storage device deferred secure delete
CN111033478A (zh) 使用磁盘高速缓存的动态trim处理
US7953914B2 (en) Clearing interrupts raised while performing operating system critical tasks
CN112596950A (zh) 虚拟机数据备份方法、装置、设备及存储介质
US7277993B2 (en) Write-back disk cache
CN113900716B (zh) 桌面启动的管理方法及装置
US20140059291A1 (en) Method for protecting storage device data integrity in an external operating environment
US8195981B2 (en) Memory metadata used to handle memory errors without process termination

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Management methods and devices for desktop startup

Granted publication date: 20230530

Pledgee: Guanggu Branch of Wuhan Rural Commercial Bank Co.,Ltd.

Pledgor: WUHAN OS-EASY CLOUD COMPUTING Co.,Ltd.

Registration number: Y2024980009157