CN109189523B - 一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法 - Google Patents

一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法 Download PDF

Info

Publication number
CN109189523B
CN109189523B CN201810896611.7A CN201810896611A CN109189523B CN 109189523 B CN109189523 B CN 109189523B CN 201810896611 A CN201810896611 A CN 201810896611A CN 109189523 B CN109189523 B CN 109189523B
Authority
CN
China
Prior art keywords
virtual machine
idle
server
message
long time
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
CN201810896611.7A
Other languages
English (en)
Other versions
CN109189523A (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.)
Guangdong Microcloud Technology Inc
Original Assignee
Guangdong Microcloud Technology Inc
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 Guangdong Microcloud Technology Inc filed Critical Guangdong Microcloud Technology Inc
Priority to CN201810896611.7A priority Critical patent/CN109189523B/zh
Publication of CN109189523A publication Critical patent/CN109189523A/zh
Application granted granted Critical
Publication of CN109189523B publication Critical patent/CN109189523B/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法,属于桌面虚拟化技术领域,其包括:S1、在虚拟机服务器端的虚拟化数据传输协议中建立消息统计模块;S2、在服务器中建立空闲虚拟机检测服务;S3、调用消息统计模块来检测虚拟机的键鼠是否长时间无活动;若是,执行步骤S4;S4、调用消息统计模块来检测虚拟机的屏幕图像是否长时间无变化;若是,执行步骤S5;S5、调用消息统计模块来检测虚拟机是否长时间无语音活动;若是,将虚拟机标记为空闲状态。本发明主要解决判断虚拟机是否处于空闲状态的指标较不准确的问题,本发明检测虚拟机的键鼠是否长时间无活动、屏幕图像是否长时间无变化以及是否长时间无语音活动,判断结果更加准确。

Description

一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法
技术领域
本发明涉及桌面虚拟化技术领域,特别是涉及一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法。
背景技术
通过虚拟化技术可以在一台计算机上运行多个虚拟机,实现桌面虚拟化,即Desktop Virtualization。
虚拟化技术的其中一个优势在于弹性计算,即可以根据每个用户的需求为其合理分配计算资源,具体来说,服务器将空闲的CPU资源和内存资源分配给需要的虚拟机使用,以提高虚拟机的性能,优化资源分配。
很多虚拟机在某些时间段会处于空闲状态,但是处于空闲状态的虚拟机仍然会占据CPU资源和内存资源,导致服务器无法将这部分被占据的计算资源分配给需要的虚拟机使用,同时也浪费电能。为了释放被空闲虚拟机所占据的计算资源,管理者会设置一定的指标,当某个虚拟机符合管理者设置的指标时,将该虚拟机判断为空闲状态,并将其关闭或通知管理者处理。
传统的判断虚拟机或者计算机是否处于空闲状态的指标是键盘鼠标是否长时间不操作,以及进一步判断CPU和内存的使用率是否均匀,但是,用上述两个指标判断空闲虚拟机较不准确。例如,虚拟机播放视频或者语音会议时,可以长时间不操作键盘和鼠标,而且CPU和内存的使用率波动较小,此时该虚拟机容易被判断为空闲状态,但是把正在播放视频或者语音会议的虚拟机判断为空闲状态是不准确的。
发明内容
为解决上述的问题,本发明提供了一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法,通过在虚拟机服务器端的虚拟化数据传输协议中建立消息统计模块来统计虚拟机的空闲指标,实现空闲虚拟机的判断。
本发明所采取的技术方案是:一种判断空闲虚拟机的方法,包括:
S1、在虚拟机服务器端的虚拟化数据传输协议中建立消息统计模块;
S2、在服务器中建立空闲虚拟机检测服务;
S3、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机的键鼠是否长时间无活动;若是,执行步骤S4,若否,重新执行本步骤;
S4、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机的屏幕图像是否长时间无变化;若是,执行步骤S5,若否,跳转回步骤S3;
S5、所述空闲虚拟机检测服务调用所述消息统计模块来检测所述虚拟机是否长时间无语音活动;若是,将所述虚拟机标记为空闲状态,若否,将所述虚拟机标记为疑似空闲状态。
上述方法中,所述虚拟化数据传输协议为SPICE协议,适用不同的虚拟机。
上述方法中,步骤S3中,所述消息统计模块统计所述虚拟机服务器端通过所述虚拟化数据传输协议从客户端接收的键鼠消息数量,以检测所述虚拟机的键鼠是否长时间无活动。
上述方法中,步骤S4中,所述消息统计模块统计所述虚拟机服务器端通过所述虚拟化数据传输协议向客户端发送的屏幕图像消息数量,以检测所述虚拟机的屏幕图像是否长时间无变化。
上述方法中,所述消息统计模块根据屏幕区域划分,忽略非统计区域的屏幕图像消息,提高屏幕图像消息数量统计的准确度。
上述方法中,步骤S5中,所述消息统计模块统计所述虚拟机服务器端通过所述虚拟化数据传输协议向客户端发送的语音消息数量,以检测所述虚拟机是否长时间无语音活动。
上述方法中,在服务器中建立空闲虚拟机检测服务后,配置所述空闲虚拟机检测服务的运行策略设定。
上述方法中,所述运行策略设定包括所述空闲虚拟机检测服务的运行时段设定以及虚拟机白名单设定。
一种关闭虚拟机的方法,应用了上述的判断空闲虚拟机的方法,包括:所述服务器关闭被标记为空闲状态的虚拟机。
上述方法中,该种关闭虚拟机的方法还包括:所述服务器确认后关闭被标记为疑似空闲状态的虚拟机。
一种判断空闲虚拟机的系统,应用了上述的判断空闲虚拟机的方法,包括:
服务器,用于提供虚拟化服务以及判断空闲虚拟机;
所述服务器部署有虚拟机服务器端;所述虚拟机服务器端的虚拟化数据传输协议中建立有消息统计模块;
所述服务器还部署有空闲虚拟机检测服务;所述空闲虚拟机检测服务用于调用所述消息统计模块来检测所述虚拟机的键鼠是否长时间无活动、检测所述虚拟机的屏幕图像是否长时间无变化以及检测所述虚拟机是否长时间无语音活动。
上述技术方案中,所述消息统计模块的统计通道包括输入统计通道、语音回放统计通道以及视频统计通道。
本发明的有益效果是:
1、该种判断空闲虚拟机的方法、系统及关闭虚拟机的方法,在虚拟机服务器端的虚拟化数据传输协议中建立消息统计模块,通过空闲虚拟机检测服务调用消息统计模块,从而检测虚拟机的键鼠是否长时间无活动、屏幕图像是否长时间无变化以及是否长时间无语音活动,以上述三个指标来判断虚拟机是否处于空闲状态,其判断结果更加准确,更能适用不同的虚拟机应用场景;
2、该种判断空闲虚拟机的方法、系统及关闭虚拟机的方法,虚拟化数据传输协议为SPICE协议,SPICE协议应用广泛,且方便调用,使该种判断空闲虚拟机的方法及系统能适用于不同的虚拟机,提高该种判断空闲虚拟机的方法及系统的应用范围;同时,在SPICE协议上建立消息统计模块,易于统计键鼠消息数量、屏幕图像消息数量以及语音消息数量;
3、该种判断空闲虚拟机的方法、系统及关闭虚拟机的方法,所述消息统计模块根据屏幕区域划分,忽略非统计区域的屏幕图像消息,提高屏幕图像消息数量统计的准确度;
4、该种判断空闲虚拟机的方法、系统及关闭虚拟机的方法,服务器关闭被标记为空闲状态的虚拟机,能及时释放服务器的计算资源,而且服务器确认后关闭被标记为疑似空闲状态的虚拟机,避免直接关闭可能正在使用的虚拟机。
附图说明
图1是本发明的一种判断空闲虚拟机的方法流程图;
图2是本发明的一种判断空闲虚拟机的方法的步骤S3流程图;
图3是本发明的其中一个实施例的一种判断空闲虚拟机的方法的步骤S4流程图;
图4是本发明的另一个实施例的一种判断空闲虚拟机的方法的步骤S4流程图;
图5是本发明的一种判断空闲虚拟机的方法的步骤S5流程图;
图6是本发明的一种判断空闲虚拟机的系统的系统图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
一种判断空闲虚拟机的方法,用于判断虚拟化系统的虚拟机是否处于空闲状态。所述虚拟化系统包括虚拟机服务器端和客户端;所述虚拟机服务器端部署在服务器中,所述客户端和所述虚拟机服务器端通过虚拟化数据传输协议建立连接,形成虚拟化系统。
所述虚拟化系统的虚拟化数据传输协议为SPICE协议。
如图1-5所示,该种判断空闲虚拟机的方法包括:
S1、在虚拟机服务器端的虚拟化数据传输协议中建立消息统计模块。
所述虚拟化数据传输协议为SPICE协议,即独立计算环境简单协议,SPICE协议是一种桌面虚拟化数据传输协议。SPICE架构包括Protocol、Client、Server以及Guest。
Server为SPICE服务器,用于处理数据和提供服务,本实施例中,Server即为所述虚拟化系统中的所述虚拟机服务器端。
Client为SPICE客户端,用于发送数据和转换从SPICE服务器接收的数据,本实施例中,Client即为所述虚拟化系统中的所述客户端。
Guest是在所述虚拟化系统中运行的驱动和软件。
Protocol为上述的Client、Server以及Guest在虚拟化数据传输中的协议。
SPICE协议的主通道在所述虚拟机服务器端和所述客户端之间建立数据传输信道,所述数据传输信道包括输入信道、语音回放信道和视频信道。
输入信道即InputsChannel,用于传输鼠标和键盘数据;
语音回放信道即PlaybackChannel,用于传输从所述虚拟机服务器端向所述客户端发送的语音数据;
视频信道即Display Channel,用于传输图像数据和视频流数据。
所述消息统计模块建立在SPICE协议的文件中,所述消息统计模块通过建立统计通道来分别统计所述客户端和所述虚拟机服务器端通过虚拟化数据传输协议传输的不同类型的消息。
所述消息统计模块建立的统计通道包括输入统计通道、语音回放统计通道以及视频统计通道。
所述输入统计通道检测所述输入信道是否收到消息;
所述语音回放统计通道检测所述语音回放信道是否发出消息;
所述视频统计通道检测所述视频信道是否发出消息。
S2、在服务器中建立空闲虚拟机检测服务。
所述空闲虚拟机检测服务是建立在服务器的系统中的服务,其具有读取服务器的存储器数据的权限,并可以读取所述服务器的时钟,以便计时。
所述空闲虚拟机检测服务是独立运行于服务器的系统中的服务,所述空闲虚拟机检测服务和多个虚拟机均在服务器中的独立运行,即所述空闲虚拟机检测服务和虚拟机拥有各自的计算资源,所述空闲虚拟机检测服务和所述消息统计模块均可以读写所述服务器存储器的同一存储空间。
S3、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机的键鼠是否长时间无活动;若是,执行步骤S4,若否,重新执行本步骤。
所述消息统计模块统计所述虚拟机服务器端通过所述虚拟化数据传输协议从客户端接收的键鼠消息数量,以检测所述虚拟机的键鼠是否长时间无活动。
所述SPICE协议的所述输入信道用于传输鼠标和键盘数据,使所述服务器能通过所述虚拟化数据传输协议从客户端接收键鼠消息。
当用户操作所述客户端的鼠标或键盘时,所述输入信道接收到如下的消息类型:
SPICE_MSGC_INPUTS_MOUSE_POSITION,用于传输鼠标移动信息;
SPICE_MSGC_INPUTS_MOUSE_PRESS,用于传输鼠标按键按下的信息;
SPICE_MSGC_INPUTS_MOUSE_RELEASE,用于传输鼠标按键释放的信息;
SPICE_MSGC_INPUTS_KEY_DOWN,用于传输键盘按键按下的信息;
SPICE_MSGC_INPUTS_KEY_UP,用于传输键盘按键释放的信息。
上述的输入信道接收到的5种消息类型即为所述键鼠消息的类型。
进一步具体来说,所述消息统计模块统计所述虚拟机服务器端通过所述SPICE协议的所述输入信道从客户端接收的上述5种消息类型的消息数量,所述空闲虚拟机检测服务统计单位时间内所述虚拟机服务器端通过所述虚拟化数据传输协议从客户端接收的键鼠消息数量,从而检测所述虚拟机的键鼠是否长时间无活动。
步骤S3具体包括:
S31、所述空闲虚拟机检测服务开始计时;
S32、所述消息统计模块统计所述虚拟机服务器端通过所述SPICE协议的所述输入信道从客户端接收的键鼠消息,并将统计的所述键鼠消息数量写入所述服务器的存储器中;
S33、所述空闲虚拟机检测服务从所述服务器的存储器中读取所述键鼠消息数量;
S34、所述空闲虚拟机检测服务判断计时时间内所述键鼠消息数量是否大于预设值,若是,则虚拟机处于非空闲状态,跳转回步骤S31,若否,则执行步骤S4。
步骤S32中,所述消息统计模块通过所述输入统计通道检测所述输入信道是否收到消息,以确定所述虚拟机服务器端是否通过所述SPICE协议的所述输入信道从客户端接收键鼠消息,从而统计所述键鼠消息数量。
其中,计时时间和键鼠消息数量的预设值是预设的,例如,预设计时时间为20分钟,键鼠消息数量的预设值设为0,此时,20分钟内客户端的键鼠无操作,则执行步骤S4,20分钟内客户端的键鼠有操作,则虚拟机处于非空闲状态,跳转回步骤S31。
S4、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机的屏幕图像是否长时间无变化;若是,执行步骤S5,若否,跳转回步骤S3。
所述消息统计模块统计所述服务器通过所述虚拟化数据传输协议向客户端发送的屏幕图像消息数量,以检测所述虚拟机的屏幕图像是否长时间无变化。
所述SPICE协议的所述视频信道用于传输图像数据和视频流数据,使所述服务器能通过所述虚拟化数据传输协议从客户端发送屏幕图像消息。
当虚拟机的屏幕图像变化时时,所述虚拟机服务器端通过所述视频信道向所述客户端发送如下的消息类型:
SPICE_MSG_DISPLAY_DRAW_COPY,用于表示屏幕上某个矩形区域的画面发生变化;
上述的视频信道发送的消息类型即为所述屏幕图像消息的类型。
进一步具体来说,所述消息统计模块统计单位时间内所述虚拟机服务器端通过所述SPICE协议的所述视频信道向客户端发送的屏幕图像消息的数量,从而检测所述虚拟机的屏幕图像是否长时间无变化。
步骤S4具体包括:
S41、所述消息统计模块统计所述虚拟机服务器端通过所述SPICE协议的所述视频信道向客户端发送的屏幕图像消息,并将统计的所述屏幕图像消息数量写入所述服务器的存储器中;
S42、所述空闲虚拟机检测服务从所述服务器的存储器中读取所述屏幕图像消息数量;
S43、所述空闲虚拟机检测服务判断计时时间内所述屏幕图像消息数量是否大于预设值,若是,则所述虚拟机的屏幕图像有变化,所述虚拟机处于非空闲状态,跳转回步骤S31,若否,则执行步骤S5。
步骤S41中,所述消息统计模块通过所述视频统计通道检测所述视频信道是否收到消息,以确定所述虚拟机服务器端是否通过所述SPICE协议的所述视频信道向客户端发送屏幕图像消息,从而统计所述屏幕图像消息数量。
其中,屏幕图像消息的预设值是预设的,计时时间从步骤S31中的所述空闲虚拟机检测服务开始计时算起,即步骤S3和步骤S4的计时时间是相同的,例如,预设计时时间为20分钟,屏幕图像消息的预设值设为3,此时,20分钟内客户端的键鼠无操作而且所述虚拟机服务器端通过所述SPICE协议的所述视频信道向客户端发送的屏幕图像消息数量低于或等于3条,则执行步骤S5,20分钟内客户端的键鼠无操作但是所述虚拟机服务器端通过所述SPICE协议的所述视频信道向客户端发送的屏幕图像消息数量大于3条,则虚拟机处于非空闲状态,跳转回步骤S31。
在操作系统中,状态栏通常会显示当前时间以及活动的程序图标,因此,即使用户不再操作客户端,虚拟机的状态栏可能也会发生变化,从而导致虚拟机的屏幕图像发生变化,使得所述虚拟机服务器端仍然持续通过所述SPICE协议的所述视频信道从客户端发送的屏幕图像消息。
因此,所述消息统计模块统计单位时间内所述服务器通过所述虚拟化数据传输协议向客户端发送的屏幕图像消息数量时,需要忽略状态栏区域的屏幕图像消息。
为了使所述消息统计模块忽略状态栏区域的屏幕图像消息,在一个优选的实施例中,所述消息统计模块根据屏幕区域划分,忽略非统计区域的屏幕图像消息。
所述消息统计模块根据屏幕区域划分,忽略非统计区域的屏幕图像消息的情况下,步骤S4具体包括:
S4.1、所述消息统计模块读取所述虚拟机服务器端通过所述SPICE协议的所述视频信道向客户端发送的屏幕图像消息,从中提取所述屏幕图像消息的坐标信息;
S4.2、所述消息统计模块根据所述坐标信息,判断所述屏幕图像消息是否为非统计区域的屏幕图像消息,若是,忽略该屏幕图像消息,若否,统计该屏幕图像消息;
S4.3、所述消息统计模块将统计的所述屏幕图像消息数量写入所述服务器的存储器中;
S4.4、所述空闲虚拟机检测服务从所述服务器的存储器中读取所述屏幕图像消息数量;
S4.5、所述空闲虚拟机检测服务判断计时时间内所述屏幕图像消息数量是否大于预设值,若是,则所述虚拟机的屏幕图像有变化,所述虚拟机处于非空闲状态,跳转回步骤S31,若否,则执行步骤S5。
其中,非统计区域包括虚拟机操作系统的状态栏,虚拟机操作系统的状态栏通常位于屏幕图像的右下角,因此,若忽略状态栏的屏幕图像消息,只需忽略坐标信息为屏幕图像右下角的屏幕图像消息即可。
S5、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机是否长时间无语音活动;若是,将所述虚拟机标记为空闲状态,若否,将所述虚拟机标记为疑似空闲状态。
所述消息统计模块统计所述服务器通过所述虚拟化数据传输协议向客户端发送的语音消息数量,以检测所述虚拟机是否长时间无语音活动。
所述SPICE协议的所述语音回放信道用于传输从所述虚拟机服务器端向所述客户端发送的语音数据,使所述服务器能通过所述虚拟化数据传输协议从客户端发送语音消息。
所述虚拟机服务器端通过所述语音回放信道向所述客户端发送如下的消息类型:
SPICE_MSG_PLAYBACK_DATA,用于虚拟机服务器端向所述客户端发送了语音消息;
上述的语音回放信道发送的消息类型即为所述语音消息的类型。
进一步具体来说,所述消息统计模块统计单位时间内所述虚拟机服务器端通过所述SPICE协议的所述语音回放信道向客户端发送的语音消息的数量,从而检测所述虚拟机是否长时间无语音活动。
步骤S5具体包括:
S51、所述消息统计模块统计所述虚拟机服务器端通过所述SPICE协议的所述语音回放信道向客户端发送的语音消息,并将统计的所述语音消息数量写入所述服务器的存储器中;
S52、所述空闲虚拟机检测服务从所述服务器的存储器中读取所述语音消息数量;
S53、所述空闲虚拟机检测服务判断计时时间内所述语音消息数量是否大于预设值,若是,则所述虚拟机有语音活动,所述空闲虚拟机检测服务将所述虚拟机标记为疑似空闲状态;若否,则所述虚拟机长时间无语音活动,即所述虚拟机处于空闲状态,所述空闲虚拟机检测服务将所述虚拟机标记为空闲状态。
步骤S51中,所述消息统计模块通过所述语音回放统计通道检测所述语音回放信道是否收到消息,以确定所述虚拟机服务器端是否通过所述SPICE协议的所述语音回放信道向客户端发送语音消息,从而统计所述语音消息数量。
其中,语音消息的预设值是预设的,计时时间从步骤S31中的所述空闲虚拟机检测服务开始计时算起,即步骤S3、步骤S4和步骤S5的计时时间是相同的,例如,预设计时时间为20分钟,语音消息的预设值设为1,此时,20分钟内客户端的键鼠无操作、所述虚拟机服务器端通过所述SPICE协议的所述视频信道向客户端发送的屏幕图像消息数量低于3条,而且所述虚拟机服务器端通过所述SPICE协议的所述语音回放信道向客户端发送的语音消息数量低于或等于1条,则所述虚拟机处于空闲状态,所述空闲虚拟机检测服务将所述虚拟机标记为空闲状态。
20分钟内客户端的键鼠无操作、所述虚拟机服务器端通过所述SPICE协议的所述视频信道向客户端发送的屏幕图像消息数量低于3条,但是所述虚拟机服务器端通过所述SPICE协议的所述语音回放信道向客户端发送的语音消息数量大于1条,所述空闲虚拟机检测服务将所述虚拟机标记为疑似空闲状态。
在一个优选实施例中,在服务器中建立空闲虚拟机检测服务后,配置所述空闲虚拟机检测服务的运行策略设定。
所述运行策略设定包括所述空闲虚拟机检测服务的运行时段设定和虚拟机白名单设定。
所述空闲虚拟机检测服务的运行时段设定,具体来说是在所述在服务器中所述空闲虚拟机检测服务运行的时段。
例如,可以根据实际需要,配置所述空闲虚拟机检测服务的运行时段设定,以适应实际业务需求。例如,每日中午12:00-13:30,大多数单位处于用餐和午休时间,管理员在服务器中设置所述空闲虚拟机检测服务的运行为每日中午12:00-13:30,则所述空闲虚拟机检测服务仅在该时段运行,使该种判断空闲虚拟机的方法仅应用于每日中午12:00-13:30,避免在工作时间误关闭虚拟机。
所述虚拟机白名单设定被配置后,所述空闲虚拟机检测服务跳过在虚拟机白名单列表中的虚拟机。
具体来说,可以根据实际需要,配置所述虚拟机白名单设定,所述虚拟机白名单设定被配置后,在所述服务器中形成一个虚拟机白名单列表,所述空闲虚拟机检测服务运行时,检测该虚拟机是否在所述虚拟机白名单列表中,若该虚拟机在所述虚拟机白名单列表中,则不做处理,若该虚拟机不在所述虚拟机白名单列表中,则继续执行步骤S3。
设置所述虚拟机白名单的方法包括:
读取所有虚拟机的标识信息;
把需要加入白名单的虚拟机的标识信息记录在虚拟机白名单列表中。
所述标识信息可以是虚拟机的主机名、虚拟机的用户账户、虚拟机的编号等。
所述标识信息可以唯一区分每个虚拟机。
所述空闲虚拟机检测服务检测该虚拟机是否在所述虚拟机白名单列表中的方法包括:
读取被标记为空闲状态的虚拟机的标识信息;
虚拟机白名单列表中查找是否已存在有该被标记为空闲状态的虚拟机的标识信息,若有,则该虚拟机在所述虚拟机白名单列表中,若无,则该虚拟机不在所述虚拟机白名单列表中。
一种关闭虚拟机的方法,应用了上述的判断空闲虚拟机的方法,包括:
所述服务器关闭被标记为空闲状态的虚拟机;
以及,所述服务器确认后关闭被标记为疑似空闲状态的虚拟机。
具体来说,所述服务器检测是否有虚拟机被标记为空闲状态,若有,关闭被标记为空闲状态的虚拟机,若无,结束处理,关闭被标记为空闲状态的虚拟机以便及时释放服务器的计算资源。
有虚拟机被标记为疑似空闲状态时,所述服务器向被标记为疑似空闲状态的所述虚拟机发送确认提示。
所述确认提示用于确认被标记为疑似空闲状态的所述虚拟机是否正在被使用。收到所述确认提示的虚拟机,弹出对话框,提示用户确认是否正在使用该虚拟机。
所述提示用户确认是否正在使用该虚拟机的对话框包括确认正在使用按钮和确认空闲按钮,若点击确认正在使用按钮,则虚拟机向所述服务器反馈正在使用信息,若点击确认空闲按钮,则虚拟机向所述服务器反馈确认空闲信息。
所述服务器在预设时间内未收到虚拟机反馈的任何信息或者在预设时间内收到反馈的确认空闲信息,则关闭该被标记为疑似空闲状态的虚拟机。所述服务器在预设时间内收到虚拟机反馈的所述正在使用信息,则去除该虚拟机的疑似空闲状态标记,并重新执行上述的判断空闲虚拟机的方法中的步骤S3。
例如,所述预设时间为两分钟时,有虚拟机被标记为疑似空闲状态,所述服务器向被标记为疑似空闲状态的所述虚拟机发送确认提示,收到所述确认提示后,虚拟机弹出对话框,提示用户确认是否正在使用该虚拟机。
若用户在两分钟内点击弹出对话框的确认正在使用按钮,则虚拟机向所述服务器反馈正在使用信息,所述服务器去除该虚拟机的疑似空闲状态标记,并重新执行上述的判断空闲虚拟机的方法中的步骤S3。
若用户在两分钟内点击弹出对话框的确认空闲按钮,则虚拟机向所述服务器反馈确认空闲信息,所述服务器关闭该被标记为疑似空闲状态的虚拟机。
若没有用户在两分钟内点击弹出对话框的确认正在使用按钮,则所述服务器在两分钟内不会收到虚拟机反馈的任何信息,所述服务器关闭该被标记为疑似空闲状态的虚拟机。
如图6所示,一种判断空闲虚拟机的系统,应用了上述的判断空闲虚拟机的方法,包括:
服务器,用于提供虚拟化服务以及判断空闲虚拟机;
客户端,用于提供虚拟化服务;
所述虚拟机服务器端和所述客户端通过虚拟化数据传输协议建立连接,形成虚拟化系统。
所述虚拟化数据传输协议为SPICE协议,即独立计算环境简单协议。
所述服务器部署有虚拟机服务器端;所述虚拟机服务器端的虚拟化数据传输协议中建立有消息统计模块。
SPICE架构包括Protocol、Client、Server以及Guest。
Server为SPICE服务器,用于处理数据和提供服务,本实施例中,Server即为所述虚拟化系统中的所述虚拟机服务器端。
Client为SPICE客户端,用于发送数据和转换从SPICE服务器接收的数据,本实施例中,Client即为所述虚拟化系统中的所述客户端。
Guest是在所述虚拟化系统中运行的驱动和软件。
Protocol为上述的Client、Server以及Guest在虚拟化数据传输中的协议。
SPICE协议的主通道在所述虚拟机服务器端和所述客户端之间建立数据传输信道,所述数据传输信道包括输入信道、语音回放信道和视频信道。
输入信道即InputsChannel,用于传输鼠标和键盘数据;
语音回放信道即PlaybackChannel,用于传输从所述虚拟机服务器端向所述客户端发送的语音数据;
视频信道即Display Channel,用于传输图像数据和视频流数据。
所述服务器还部署有空闲虚拟机检测服务;所述空闲虚拟机检测服务用于调用所述消息统计模块来检测所述虚拟机的键鼠是否长时间无活动、检测所述虚拟机的屏幕图像是否长时间无变化以及检测所述虚拟机是否长时间无语音活动。
所述消息统计模块建立在SPICE协议的文件中,所述消息统计模块通过建立统计通道来分别统计客户端和所述虚拟机服务器端通过虚拟化数据传输协议传输的不同类型的消息。
所述消息统计模块建立的统计通道包括输入统计通道、语音回放统计通道以及视频统计通道。
所述输入统计通道检测所述输入信道是否收到消息;
所述语音回放统计通道检测所述语音回放信道是否发出消息;
所述视频统计通道检测所述视频信道是否发出消息。
以上的实施例只是在于说明而不是限制本发明,故凡依本发明专利申请范围所述的方法所做的等效变化或修饰,均包括于本发明专利申请范围内。

Claims (11)

1.一种判断空闲虚拟机的方法,其特征在于,包括:
S1、在虚拟机服务器端的虚拟化数据传输协议中建立消息统计模块;
S2、在服务器中建立空闲虚拟机检测服务;
S3、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机的键鼠是否长时间无活动;若是,执行步骤S4,若否,重新执行本步骤;
S4、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机的屏幕图像是否长时间无变化;若是,执行步骤S5,若否,跳转回步骤S3;
S5、所述空闲虚拟机检测服务调用所述消息统计模块来检测虚拟机是否长时间无语音活动;若是,将所述虚拟机标记为空闲状态,若否,将所述虚拟机标记为疑似空闲状态;
在服务器中建立空闲虚拟机检测服务后,配置所述空闲虚拟机检测服务的运行策略设定。
2.根据权利要求1所述的一种判断空闲虚拟机的方法,其特征在于:所述虚拟化数据传输协议为SPICE协议。
3.根据权利要求1或2所述的一种判断空闲虚拟机的方法,其特征在于:步骤S3中,所述消息统计模块统计所述虚拟机服务器端通过所述虚拟化数据传输协议从客户端接收的键鼠消息数量,以检测所述虚拟机的键鼠是否长时间无活动。
4.根据权利要求1或2所述的一种判断空闲虚拟机的方法,其特征在于:步骤S4中,所述消息统计模块统计所述虚拟机服务器端通过所述虚拟化数据传输协议向客户端发送的屏幕图像消息数量,以检测所述虚拟机的屏幕图像是否长时间无变化。
5.根据权利要求4所述的一种判断空闲虚拟机的方法,其特征在于:所述消息统计模块根据屏幕区域划分,忽略非统计区域的屏幕图像消息。
6.根据权利要求1或2所述的一种判断空闲虚拟机的方法,其特征在于:步骤S5中,所述消息统计模块统计所述虚拟机服务器端通过所述虚拟化数据传输协议向客户端发送的语音消息数量,以检测所述虚拟机是否长时间无语音活动。
7.根据权利要求1所述的一种判断空闲虚拟机的方法,其特征在于:所述运行策略设定包括所述空闲虚拟机检测服务的运行时段设定以及虚拟机白名单设定。
8.一种关闭虚拟机的方法,应用了权利要求1-7任一所述的判断空闲虚拟机的方法,其特征在于,包括:所述服务器关闭被标记为空闲状态的虚拟机。
9.根据权利要求8所述的一种关闭虚拟机的方法,其特征在于:
还包括:所述服务器确认后关闭被标记为疑似空闲状态的虚拟机。
10.一种判断空闲虚拟机的系统,应用了权利要求1-7任一所述的判断空闲虚拟机的方法,其特征在于,包括:
服务器,用于提供虚拟化服务以及判断空闲虚拟机;
所述服务器部署有虚拟机服务器端;所述虚拟机服务器端的虚拟化数据传输协议中建立有消息统计模块;
所述服务器还部署有空闲虚拟机检测服务;所述空闲虚拟机检测服务用于调用所述消息统计模块来检测所述虚拟机的键鼠是否长时间无活动、检测所述虚拟机的屏幕图像是否长时间无变化以及检测所述虚拟机是否长时间无语音活动。
11.根据权利要求10所述的一种判断空闲虚拟机的系统,其特征在于:所述消息统计模块的统计通道包括输入统计通道、语音回放统计通道以及视频统计通道。
CN201810896611.7A 2018-08-08 2018-08-08 一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法 Active CN109189523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810896611.7A CN109189523B (zh) 2018-08-08 2018-08-08 一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810896611.7A CN109189523B (zh) 2018-08-08 2018-08-08 一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法

Publications (2)

Publication Number Publication Date
CN109189523A CN109189523A (zh) 2019-01-11
CN109189523B true CN109189523B (zh) 2022-03-15

Family

ID=64920552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810896611.7A Active CN109189523B (zh) 2018-08-08 2018-08-08 一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法

Country Status (1)

Country Link
CN (1) CN109189523B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416518A (zh) * 2020-11-21 2021-02-26 广州西麦科技股份有限公司 智能防止虚拟资源浪费的方法及系统
CN113672392B (zh) * 2021-08-25 2023-07-25 国家电网有限公司信息通信分公司 能耗优化的方法及装置、电子设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517862A (zh) * 2003-01-15 2004-08-04 Lg电子株式会社 提供屏幕保护预警的方法及显示设备
CN102693064A (zh) * 2011-03-23 2012-09-26 中兴通讯股份有限公司 一种终端退出保护屏幕的方法及系统
CN106843687A (zh) * 2017-01-16 2017-06-13 北京大上科技有限公司 基于电子墨水屏的计算机显示器的屏幕保护方法及装置
CN107395717A (zh) * 2017-07-20 2017-11-24 成都安恒信息技术有限公司 一种应用于运维审计系统的空闲超时自动断开的方法
CN107567081A (zh) * 2017-09-01 2018-01-09 深圳传音通讯有限公司 移动终端和移动终端休眠时间的调整方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259896A1 (en) * 2005-05-16 2006-11-16 Microsoft Corporation Maintaining reproducibility across multiple software builds
US20150121373A1 (en) * 2013-10-30 2015-04-30 Alistair Black User Privacy Systems And Methods
CN104598294B (zh) * 2015-01-07 2021-11-26 乾云数创(山东)信息技术研究院有限公司 用于移动设备的高效安全的虚拟化方法及其设备
WO2018205267A1 (zh) * 2017-05-12 2018-11-15 深圳前海达闼云端智能科技有限公司 输入设备实现方法及其实现装置
WO2019028854A1 (zh) * 2017-08-11 2019-02-14 深圳前海达闼云端智能科技有限公司 一种虚拟机的状态管理方法、装置和智能终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517862A (zh) * 2003-01-15 2004-08-04 Lg电子株式会社 提供屏幕保护预警的方法及显示设备
CN102693064A (zh) * 2011-03-23 2012-09-26 中兴通讯股份有限公司 一种终端退出保护屏幕的方法及系统
CN106843687A (zh) * 2017-01-16 2017-06-13 北京大上科技有限公司 基于电子墨水屏的计算机显示器的屏幕保护方法及装置
CN107395717A (zh) * 2017-07-20 2017-11-24 成都安恒信息技术有限公司 一种应用于运维审计系统的空闲超时自动断开的方法
CN107567081A (zh) * 2017-09-01 2018-01-09 深圳传音通讯有限公司 移动终端和移动终端休眠时间的调整方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"面向IaaS云平台测试的负载生成系统研究与实现";杨军伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170415;I138-103 *

Also Published As

Publication number Publication date
CN109189523A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN108763012B (zh) 卡顿信息获取方法、装置及终端
WO2019019644A1 (zh) 推送服务器分配方法、装置、计算机设备和存储介质
CN110674025B (zh) 交互行为监测方法、装置以及计算机设备
US20150067147A1 (en) Group server performance correction via actions to server subset
CN105740326A (zh) 浏览器的线程状态监测方法及装置
CN109189523B (zh) 一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法
CN112000911B (zh) 页面管理方法、装置、电子设备以及存储介质
CN106454389A (zh) 一种直播视频的播放方法与装置
WO2021051589A1 (zh) 数据存储方法、装置、电子设备及存储介质
CN110955584A (zh) 块设备访问追踪方法、装置、存储介质及终端
CA2966161A1 (en) Monitoring and correlating a binary process in a distributed business transaction
WO2024113716A1 (zh) 一种支持iops突发的方法、装置、电子设备及介质
US20190034071A1 (en) Method, device, storage medium and mobile terminal for recognizing an off-screen gesture
CN112882850A (zh) 按键事件处理方法、装置、设备和存储介质
CN111949511A (zh) 应用程序的卡顿处理方法、装置、终端及存储介质
US8255535B2 (en) Method and system to generate execution-based scheduling signature for an application
US10432490B2 (en) Monitoring single content page application transitions
CN114140162A (zh) 广告投放方法、装置、电子设备及计算机可读存储介质
CN112395297B (zh) 作品信息同步的方法、装置及服务器
CN113346973A (zh) 事件提示方法及装置、电子设备、计算机可读存储介质
CN110351577B (zh) 直播信息处理方法及装置、存储介质、电子设备
CN111949512A (zh) 应用程序的卡顿检测方法、装置、终端及介质
CN115237846B (zh) 一种墨水屏刷新方法、装置、终端设备以及存储介质
CN115760494A (zh) 基于数据处理的针对房地产营销的服务优化方法及装置
CN107609117B (zh) 日志信息上报方法、装置及存储介质、adsp和终端

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