一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法与流程

文档序号:16607890发布日期:2019-01-14 21:16阅读:552来源:国知局
一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法与流程

本发明涉及桌面虚拟化技术领域,特别是涉及一种判断空闲虚拟机的方法、系统及关闭虚拟机的方法。



背景技术:

通过虚拟化技术可以在一台计算机上运行多个虚拟机,实现桌面虚拟化,即desktopvirtualization。

虚拟化技术的其中一个优势在于弹性计算,即可以根据每个用户的需求为其合理分配计算资源,具体来说,服务器将空闲的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,用于传输从所述虚拟机服务器端向所述客户端发送的语音数据;

视频信道即displaychannel,用于传输图像数据和视频流数据。

所述消息统计模块建立在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,用于传输从所述虚拟机服务器端向所述客户端发送的语音数据;

视频信道即displaychannel,用于传输图像数据和视频流数据。

所述服务器还部署有空闲虚拟机检测服务;所述空闲虚拟机检测服务用于调用所述消息统计模块来检测所述虚拟机的键鼠是否长时间无活动、检测所述虚拟机的屏幕图像是否长时间无变化以及检测所述虚拟机是否长时间无语音活动。

所述消息统计模块建立在spice协议的文件中,所述消息统计模块通过建立统计通道来分别统计客户端和所述虚拟机服务器端通过虚拟化数据传输协议传输的不同类型的消息。

所述消息统计模块建立的统计通道包括输入统计通道、语音回放统计通道以及视频统计通道。

所述输入统计通道检测所述输入信道是否收到消息;

所述语音回放统计通道检测所述语音回放信道是否发出消息;

所述视频统计通道检测所述视频信道是否发出消息。

以上的实施例只是在于说明而不是限制本发明,故凡依本发明专利申请范围所述的方法所做的等效变化或修饰,均包括于本发明专利申请范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1