CN113900716A - 桌面启动的管理方法及装置 - Google Patents
桌面启动的管理方法及装置 Download PDFInfo
- Publication number
- CN113900716A CN113900716A CN202111154512.XA CN202111154512A CN113900716A CN 113900716 A CN113900716 A CN 113900716A CN 202111154512 A CN202111154512 A CN 202111154512A CN 113900716 A CN113900716 A CN 113900716A
- Authority
- CN
- China
- Prior art keywords
- disk
- write operation
- module
- data
- operating system
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000001514 detection method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 description 7
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (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 (8)
1.一种桌面启动的管理方法,其特征在于,所述桌面启动的管理方法包括:
调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。
2.如权利要求1所述的桌面启动的管理方法,其特征在于,所述调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳的步骤包括:
调用桌面内安装的系统服务模块根据操作系统的读写操作速度检测操作系统磁盘是否平稳;
若操作系统的读写操作在预设时长内的读写速度都低于阈值,则操作系统磁盘平稳;
若操作系统的读写操作在预设时长内的读写速度不都低于阈值,则操作系统磁盘不平稳。
3.如权利要求1所述的桌面启动的管理方法,其特征在于,所述检测每一次截获的所述读写操作是否是写操作的步骤之后,包括:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
4.如权利要求1所述的桌面启动的管理方法,其特征在于,所述将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中的步骤包括:
将磁盘过滤驱动模块中的数据发送给底层磁盘驱动模块,再控制底层磁盘驱动模块将接收到的数据逐步写入对应的虚拟机磁盘中,并清除磁盘过滤驱动模块中对应的缓存数据;
若磁盘过滤驱动模块中的数据个数大于一,则按照数据缓存到磁盘过滤驱动模块的先后顺序,先缓存到磁盘过滤驱动模块中的数据先通过底层磁盘驱动模块逐步写到虚拟机磁盘中。
5.如权利要求1所述的桌面启动的管理方法,其特征在于,所述将本次写操作发送到底层磁盘驱动模块的步骤之后包括:
控制底层磁盘驱动模块执行本次写操作,并将本次写操作对应的数据写到虚拟机磁盘中。
6.如权利要求1所述的桌面启动的管理方法,其特征在于,所述桌面启动的管理方法包括:
当要重启或关机时,控制磁盘过滤驱动模块将缓存中的数据发送到底层磁盘驱动模块,底层磁盘驱动模块收到数据后将数据写入虚拟机磁盘中。
7.一种桌面启动的管理装置,其特征在于,所述桌面启动的管理装置包括:
读取模块,用于调用桌面内安装的磁盘过滤驱动模块读取操作系统注册表中的配置内存的大小;
截获模块,用于调用桌面内安装的磁盘过滤驱动模块逐一截获操作系统启动过程中的读写操作;
第一检测模块,用于调用桌面内安装的系统服务模块检测操作系统磁盘是否平稳;
第一执行模块,用于若平稳,则设置操作系统启动完成标记,若不平稳,则继续对操作系统进行检测;
第二检测模块,用于检测每一次截获的所述读写操作是否是写操作,若是,则判断是否已设置操作系统启动完成标记;
第三检测模块,用于若没有设置,则检测将本次写操作写入虚拟机磁盘中的位置上是否已有数据缓存,若已有,则更新磁盘过滤驱动模块的缓存,使得本次写操作对应的数据替代磁盘过滤驱动模块中已有的缓存数据,若没有,则检测磁盘过滤驱动模块中已缓存的数据所占用的内存大小是否超过所述配置内存的大小;
第二执行模块,用于若没超过,则将本次写操作对应的数据缓存在磁盘过滤驱动模块中,若超过,则将本次写操作发送到底层磁盘驱动模块;
发送检测模块,用于若已设置,则将本次写操作发送到底层磁盘驱动模块,并检测磁盘过滤驱动模块中有无数据缓存,若有,则将磁盘过滤驱动模块中的数据通过底层磁盘驱动模块逐步写到虚拟机磁盘中,其中,每次写入数据的个数在预设范围内。
8.如权利要求7所述的桌面启动的管理装置,其特征在于,第二检测模块,具体用于:
若否,则判断本次读操作对应的数据是否在磁盘过滤驱动模块的缓存中;
若在,则从缓存中读取本次读操作对应的数据;
若不在,则将本次读操作发送到底层磁盘驱动模块,控制底层磁盘驱动模块执行本次读操作。
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 true CN113900716A (zh) | 2022-01-07 |
CN113900716B 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 (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024680A1 (en) * | 2009-10-20 | 2013-01-24 | Vmware, Inc. | Atomic switching of images in desktop streaming over wide area networks |
CN104205048A (zh) * | 2012-09-18 | 2014-12-10 | 科空软件株式会社 | 网络启动系统 |
CN105117645A (zh) * | 2015-07-29 | 2015-12-02 | 杭州安恒信息技术有限公司 | 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法 |
US20160132214A1 (en) * | 2014-11-11 | 2016-05-12 | Amazon Technologies, Inc. | Application delivery agents on virtual desktop instances |
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 | 中兴通讯股份有限公司 | 云桌面升级方法、装置、云端服务器及存储介质 |
US20210149700A1 (en) * | 2019-11-15 | 2021-05-20 | Vmware, Inc. | High performance attachable writeable volumes in vdi desktops |
-
2021
- 2021-09-29 CN CN202111154512.XA patent/CN113900716B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024680A1 (en) * | 2009-10-20 | 2013-01-24 | Vmware, Inc. | Atomic switching of images in desktop streaming over wide area networks |
CN104205048A (zh) * | 2012-09-18 | 2014-12-10 | 科空软件株式会社 | 网络启动系统 |
US20160132214A1 (en) * | 2014-11-11 | 2016-05-12 | Amazon Technologies, Inc. | Application delivery agents on virtual desktop instances |
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 | 北京无线电测量研究所 | 一种操作系统保护系统及方法 |
US20210149700A1 (en) * | 2019-11-15 | 2021-05-20 | Vmware, Inc. | High performance attachable writeable volumes in vdi desktops |
Non-Patent Citations (2)
Title |
---|
"云巢独创指纹技术化解桌面用户启动风暴", 数字通信世界 * |
魏希三;董巍;: "基于磁盘过滤驱动的硬盘保护技术", 电脑知识与技术 * |
Also Published As
Publication number | Publication date |
---|---|
CN113900716B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8392915B2 (en) | Efficient volume manager hot swapping | |
US11003438B2 (en) | Method and device for incremental upgrade | |
CN102662741B (zh) | 虚拟桌面的实现方法、装置和系统 | |
KR101781447B1 (ko) | 시스템 리셋 | |
US8433890B2 (en) | Preparing and preserving a system configuration during a hot upgrade | |
US20080022032A1 (en) | Concurrent virtual machine snapshots and restore | |
US20110213954A1 (en) | Method and apparatus for generating minimum boot image | |
KR20140118093A (ko) | 메모리 가상화 기반 스냅샷 부트 장치 및 방법 | |
US20130036299A1 (en) | Method for increasing free memory amount of main memory and computer therefore | |
US8522084B2 (en) | Computer system and method employing separate storage area for computer program recovery | |
US10817205B2 (en) | Computer system and storage device | |
TWI450090B (zh) | 關於改變程式之啟動列表以判定電腦系統性能是否增進之方法及系統 | |
US7200705B2 (en) | Method of checkpointing state of virtual memory for process | |
CN110941516B (zh) | 操作系统还原方法、装置、设备及存储介质 | |
US20050223209A1 (en) | Apparatus for fast booting computer and method for the same | |
CN113900716A (zh) | 桌面启动的管理方法及装置 | |
CN107977242A (zh) | 应用程序启动方法及电子装置 | |
US20140059291A1 (en) | Method for protecting storage device data integrity in an external operating environment | |
EP1764668A1 (en) | Computer activating method, program, recording medium, and information processing apparatus | |
JP3702233B2 (ja) | 情報処理システムおよびプログラム実行モード制御方法 | |
TWI841160B (zh) | 存儲控制器的驅動管理方法及相關設備 | |
JP4723913B2 (ja) | 新しいビデオbiosを動作させる方法 | |
CN112182652B (zh) | 保护数据分区不被写满方法、装置、存储介质及终端设备 | |
CN112202856B (zh) | 一种网络存储管理系统数据迁移方法及装置 | |
JP5487725B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム |
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 |