一种远程虚拟机键盘鼠标与本地监视器互斥的方法

文档序号:6515192阅读:244来源:国知局
一种远程虚拟机键盘鼠标与本地监视器互斥的方法
【专利摘要】本发明一种远程虚拟机键盘鼠标与本地监视器互斥的方法,包括:步骤S1,当本地监视器将所述本地监视器的所述虚拟机窗口激活时,进行键盘鼠标操作,扫描键盘鼠标事件并处理后通过RFB协议发送键盘鼠标事件给远程虚拟机监视器;步骤S2,利用远程虚拟机监视器接收键盘鼠标事件后判断处理键盘鼠标事件优先级,并进一步判断本远程虚拟机监视器键盘鼠标是否在被操作;步骤S3,远程虚拟机监视器响应并执行相应的键盘鼠标事件,并将状态返回给本地监视器的虚拟机窗口。
【专利说明】一种远程虚拟机键盘鼠标与本地监视器互斥的方法
【技术领域】
[0001]本发明涉及远程监视领域,尤其涉及一种应用于远程监控领域的远程虚拟机监视器与本地监视器及其相互互斥的方法。
【背景技术】
[0002]随着虚拟化技术、云技术的大规模部署使用,原有的针对单台虚拟化服务器的虚拟化管理软件已不能满足大规模虚拟化服务器的需要,一些可同时管理多台虚拟化服务器的虚拟化软件不断推出。而其他虚拟化管理最重要的一点就是用户可以再本地通过虚拟机的远程监控界面操作远程的虚拟机。
[0003]当该虚拟化的管理软件是通过本地的监视器窗口显示虚拟机桌面操作时,便会面临监视器窗口和本地虚拟机窗口上的键盘鼠标数据同时输入操作的问题,其问题的根源在于,远程虚拟机自身键盘鼠标在进行操作的时候,同时接收到远程的键盘鼠标操作命令。操作系统按照键盘鼠标消息队列的先后顺序,执行其操作,所以会出现本地和远程键盘鼠标同时输入的问题,给需要远程实时控制的工业环境带来了困扰。

【发明内容】

[0004]本发明的目的是针对上述【背景技术】存在的缺陷,提供一种用于远程监控领域的远程虚拟机监视器与本地监视器及其相互互斥的方法。
[0005]为实现上述目的,本发明之一提供在于一种本地监视器,与远程虚拟机监视器进行通信,本地监视器包括,键盘鼠标扫描模块,用于获取本地监视器的鼠标键盘事件,将事件传递给键盘鼠标事件处理模块;键盘鼠标事件处理模块,用于处理获取键盘鼠标事件,并将键盘鼠标事件处理为需通过RFB协议进行传输格式;键盘鼠标事件发送模块,用于发送处理好的鼠标键盘事件内容。
[0006]本发明之二在于提供一种远程虚拟机监视器,与本地监视器进行通信,该远程虚拟机监视器包括,键盘鼠标事件接收模块,用于接收RFB协议传输过来的鼠标键盘事件;键盘鼠标事件处理模块,用于对键盘鼠标事件的处理,判断自身与远程的事件的优先级,判断自身键盘鼠标是否有输入,在把结果传递给键盘鼠标事件执行模块;键盘鼠标执行模块,用于根据对处理后的键盘鼠标事件结果值进行执行操作,并且将状态反馈给所述本地监视器中的所述远程虚拟机窗口中显示。
[0007]本发明之三在于一种远程虚拟机监视器键盘鼠标与本地监视器互斥的系统,包括:本地监视器和远程监视器。
[0008]本发明之四在于一种远程虚拟机键盘鼠标与本地监视器互斥的方法,包括:
[0009]步骤S1:当本地监视器将本地监视器的虚拟机窗口激活时,进行键盘鼠标操作,扫描键盘鼠标事件并处理后通过RFB协议发送键盘鼠标事件给远程虚拟机监视器;
[0010]步骤S2:利用远程虚拟机监视器接收键盘鼠标事件后判断处理键盘鼠标事件优先级,并进一步判断本远程虚拟机监视器键盘鼠标是否在被操作;[0011]步骤S3:远程虚拟机监视器响应并执行相应的键盘鼠标事件,并将状态返回给本地监视器的虚拟机窗口。
[0012]综上所述,本发明提供的远程虚拟机监视器键盘鼠标与本地监视器互斥的方法、本地监视器和远程虚拟机监视器及系统,在不改变远程虚拟机虚拟化平台关于远程键盘鼠标事件的处理代码,不改变远程虚拟机的相关设置,也不改变本地监视器所在系统的设置的情况下,解决了远程键盘鼠标与本地监视器操作互斥的问题,并且可以根据设定的优先级来进行处理,对于远程实时控制的工业环境极为重要。
【专利附图】

【附图说明】
[0013]图1为本发明一种远程虚拟机监视器与本地监视器互斥的方法流程示意图。
[0014]图2为本发明一种远程虚拟机监视器与本地监视器的互斥的方法详细流程示意图。
[0015]图3为本发明一种远程虚拟机监视器与本地监视器系统的结构示意图。
【具体实施方式】
[0016]为详细说明本发明的技术内容、构造特征、所达成目的及效果,以下兹例举实施例并配合附图详予说明。
[0017]请参阅图1、图2及图3,本发明提供了一种远程虚拟机监视器和本地监视器,其中,
[0018]本地监视器包括:
[0019]键盘鼠标扫描模块,用于获取本地监视器的鼠标键盘事件,将事件传递给键盘鼠标事件处理模块;
[0020]键盘鼠标事件处理模块,用于处理获取键盘鼠标事件,并将键盘鼠标事件处理为需通过RFB协议进行传输格式;
[0021 ] 键盘鼠标事件发送模块,用于发送处理好的鼠标键盘事件内容。
[0022]远程虚拟机监视器包括:
[0023]键盘鼠标事件接收模块,用于接收RFB协议传输过来的鼠标键盘事件;
[0024]键盘鼠标事件处理模块,用于对键盘鼠标事件的处理,判断自身与远程的事件的优先级,判断自身键盘鼠标是否有输入,在把结果传递给键盘鼠标事件执行模块;
[0025]键盘鼠标执行模块,用于根据对处理后的键盘鼠标事件结果值进行执行操作,并且将状态反馈给本地监视器中的远程虚拟机窗口中显示,可以远程操作则显示:可以操作;否则显示:禁止操作;
[0026]为了解决上述问题,本发明还提供了一种远程虚拟机键盘鼠标与本地监视器互斥的系统,包括:如上所述的本地监视器和远程监视器。
[0027]本发明一种远程虚拟机键盘鼠标与本地监视器互斥的方法、本地监视器和远程虚拟机监视器及其系统,在不改变远程虚拟机虚拟化平台关于远程键盘鼠标事件的处理代码,不改变远程虚拟机的相关设置,也不改变本地监视器所在系统的设置的情况下,实现自身键盘鼠标输入时,屏蔽远程键盘鼠标事件,并将状态返回给远程端,当自身键盘鼠标无输入的时候,将状态报告给远程,接受远程键盘鼠标事件并执行,可以定义本地和远程的优先级权限,从而避免同时操作键盘鼠标事件,实现本地键盘鼠标与远程虚拟机监视器界面键盘鼠标输入同步互斥的问题。
[0028]本发明提供了一种远程虚拟机键盘鼠标与本地监视器互斥的方法,包括;
[0029]步骤S1:当本地监视器将本地监视器的虚拟机窗口激活并进行键盘鼠标操作时,扫描键盘鼠标事件并处理后通过RFB协议发送键盘鼠标事件给远程虚拟机监视器;
[0030]步骤S2:远程虚拟机监视器接收键盘鼠标事件后判断处理键盘鼠标事件优先级,并进一步判断本远程虚拟机监视器键盘鼠标是否在被操作;
[0031]步骤S3:远程虚拟机监视器响应并执行相应的键盘鼠标事件,并将可以操作或者禁止操作状态信息返回给本地监视器的虚拟机窗口。
[0032]具体地,本远程虚拟机键盘鼠标与本地监视器互斥的方法中:
[0033]当本地监视器将虚拟机窗口激活,并进行键盘鼠标事件操作,会被本地监视器的虚拟机窗口程序的键盘鼠标事件扫描模块扫描,并将接收的内容给键盘鼠标事件处理模块编码成RFB协议需要的格式后,由键盘鼠标事件发送模块通过RFB协议向所述远程虚拟机监视器的键盘鼠标事件接受模块传输键盘鼠标事件消息;
[0034]键盘鼠标事件处理模块通过与实际的键盘鼠标事件比较判断远程虚拟机监控器自身设定的键盘鼠标事件与本地监视器的键盘鼠标事件的优先级,即是远程优先还是自身优先,如是远程优先,则先响应接收到的键盘鼠标事件,屏蔽自身键盘鼠标输入事件;如是自身优先,则先响应自身键盘鼠标输入事件,屏蔽掉接收到的键盘鼠标事件;
[0035]具体地,判断设定的远程虚拟机监视器自身设定的键盘鼠标事件优先级是否高于本地监视器的键盘鼠标事件的优先级,如是,则执行步骤I ;如否,则执行步骤2 ;
[0036]步骤1,判断远程虚拟机监视器自身键盘鼠标事件是否在操作,如是,则执行步骤3;如否,则执行步骤4;
[0037]步骤2,判断本地监视器自身键盘鼠标事件是否在操作,如是,则执行步骤5 ;如否,则执行步骤6;
[0038]步骤3,屏蔽远程虚拟机监视器接收到的键盘鼠标事件,只响应本地监视器自身的键盘鼠标事件,进行相应的操作,最后执行步骤7 ;
[0039]步骤4,接受远程虚拟机监视器接收到的键盘鼠标事件,进行相应的操作,最后执行步骤7 ;
[0040]步骤5,屏蔽本地监视器自身键盘鼠标事件,接受所述远程虚拟机接收到的键盘事件,进行相应的操作,最后执行步骤7 ;
[0041]步骤6,接受远程虚拟机监视器接收到的键盘鼠标事件,进行相应的操作,最后执行步骤7,;
[0042]步骤7,将状态通过RFB协议反馈给本地监视器的所述虚拟机窗口显示出来,可以远程操作则显示:可以操作;否则显示:禁止操作。
[0043]进一步地,本地监视器采用远程帧缓冲RFB协议与远程虚拟机监视器建立通信连接,并将远程虚拟机监视器的图形输出显示在本地监视器的虚拟机窗口中。
[0044]综上所述,本发明提供的远程虚拟机监视器键盘鼠标与本地监视器互斥的方法、本地监视器和远程虚拟机监视器及系统,在不改变远程虚拟机虚拟化平台关于远程键盘鼠标事件的处理代码,不改变远程虚拟机的相关设置,也不改变本地监视器所在系统的设置的情况下,解决了远程键盘鼠标与本地监视器操作互斥的问题,并且可以根据设定的优先级来进行处理,对于远程实时控制的工业环境极为重要。
[0045]以上所述的技术方案仅为本发明一种远程虚拟机键盘鼠标与本地监视器互斥的方法的较佳实施例,任何在本发明一种远程虚拟机键盘鼠标与本地监视器互斥的方法基础上所作的等效变换或替换都包含在本专利的权利要求的范围之内。
【权利要求】
1.一种本地监视器,与远程虚拟机监视器进行通信,其特征在于:本地监视器包括,键盘鼠标扫描模块,用于获取本地监视器的鼠标键盘事件,将事件传递给键盘鼠标事件处理模块;键盘鼠标事件处理模块,用于处理获取键盘鼠标事件,并将键盘鼠标事件处理为需通过RFB协议进行传输格式;键盘鼠标事件发送模块,用于发送处理好的鼠标键盘事件内容。
2.一种远程虚拟机监视器,与本地监视器进行通信,其特征在于:远程虚拟机监视器包括,键盘鼠标事件接收模块,用于接收RFB协议传输过来的鼠标键盘事件;键盘鼠标事件处理模块,用于对键盘鼠标事件的处理,判断自身与远程的事件的优先级,判断自身键盘鼠标是否有输入,在把结果传递给键盘鼠标事件执行模块;键盘鼠标执行模块,用于根据对处理后的键盘鼠标事件结果值进行执行操作,并且将状态反馈给所述本地监视器中的所述远程虚拟机窗口中显示。
3.根据权利要求2所述的一种远程虚拟机键盘鼠标与本地监视器互斥的方法,其特征在于:所述远程虚拟机监视器中的键盘鼠标事件处理模块,用于处理自身与远程接收的键盘鼠标事件。
4.一种远程虚拟机监视器键盘鼠标与本地监视器互斥的系统,包括:本地监视器和远程监视器。
5.一种远程虚拟机监视器键盘鼠标与本地监视器互斥的方法,包括:步骤S1:当本地监视器将所述本地监视器的所述虚拟机窗口激活时,进行键盘鼠标操作,扫描键盘鼠标事件并处理后通过RFB协议发送键盘鼠标事件给远程虚拟机监视器;步骤S2:利用远程虚拟机监视器接收键盘鼠标事件后判断处理键盘鼠标事件优先级,并进一步判断本远程虚拟机监视器键盘鼠标是否在被操作;步骤S3:远程虚拟机监视器响应并执行相应的键盘鼠标事件,并将状态返回给本地监视器的虚拟机窗口。
6.根据权利要求5所述的一种远程虚拟机键盘鼠标与本地监视器互斥的方法,其特征在于:当本地监视器将虚拟机窗口激活,并进行键盘鼠标事件操作,会被本地监视器的虚拟机窗口程序的键盘鼠标事件扫描模块扫描,并将接收的内容给键盘鼠标事件处理模块编码成RFB协议需要的格式后,由键盘鼠标事件发送模块通过RFB协议向所述远程虚拟机监视器的键盘鼠标事件接受模块传输键盘鼠标事件消息。
7.根据权利要求6所述的一种远程虚拟机键盘鼠标与本地监视器互斥的方法,其特征在于:键盘鼠标事件处理模块通过与实际的键盘鼠标事件比较判断远程虚拟机监控器自身设定的键盘鼠标事件与本地监视器的键盘鼠标事件的优先级,即是远程优先还是自身优先,如是远程优先,则先响 应接收到的键盘鼠标事件,屏蔽自身键盘鼠标输入事件;如是自身优先,则先响应自身键盘鼠标输入事件,屏蔽掉接收到的键盘鼠标事件。
8.根据权利要求7所述的一种远程虚拟机键盘鼠标与本地监视器互斥的方法,其特征在于:判断设定的远程虚拟机监视器自身设定的键盘鼠标事件优先级是否高于本地监视器的键盘鼠标事件的优先级,如是,则执行步骤I ;如否,则执行步骤2 ;步骤1,判断远程虚拟机监视器自身键盘鼠标事件是否在操作,如是,则执行步骤3 ;如否,则执行步骤4;步骤2,判断本地监视器自身键盘鼠标事件是否在操作,如是,则执行步骤5 ;如否,则执行步骤6 ;步骤3,屏蔽远程虚拟机监视器接收到的键盘鼠标事件,只响应本地监视器自身的键盘鼠标事件,进行相应的操作,最后执行步骤7 ;步骤4,接受远程虚拟机监视器接收到的键盘鼠标事件,进行相应的操作,最后执行步骤7 ;步骤5,屏蔽本地监视器自身键盘鼠标事件,接受远程虚拟机接收到的键盘事件,进行相应的操作,最后执行步骤7;步骤6,接受远程虚拟机监视器接收到的键盘鼠标事件,进行相应的操作,最后执行步骤7 ;步骤7,将状态通过RFB协议反馈给本地监视器的虚拟机窗口显示出来,可以远程操作则显示:可以操作;否则显示:禁止操作。
9.根据权利要求5所述的一种远程虚拟机键盘鼠标与本地监视器互斥的方法,其特征在于:本地监视器采用远程帧缓冲RFB协议与远程虚拟机监视器建立通信连接,并将远程虚拟机监视器的图形输出`显示在本地监视器的虚拟机窗口中。
【文档编号】G06F3/023GK103529954SQ201310474576
【公开日】2014年1月22日 申请日期:2013年10月12日 优先权日:2013年10月12日
【发明者】王小康, 苗强 申请人:成都阜特科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1