发明内容
有鉴于此,本发明实施例提供一种虚拟桌面实例的管理方法及装置,在同时接入多个虚拟桌面实例的情景下,能够在新的虚拟桌面实例启动后发送新加入虚拟桌面实例消息指令至已经注册的虚拟桌面实例,从而令已经注册的虚拟桌面实例可获知新的虚拟桌面实例加入,并在刚启动的新的虚拟桌面实例上显示设有对应于其他虚拟桌面实例图标的控制界面以供用户操作,同时对其他虚拟桌面实例发出的数据更新消息指令进行监听,可提高操作便利性。
第一方面提供一种虚拟桌面实例的管理方法,包括:获取启动消息指令;响应启动消息指令从共享内存区获取已经注册的虚拟桌面实例的数据信息,并在共享内存区注册新的虚拟桌面实例,其中已经注册的虚拟桌面实例的数据信息包括已经注册的虚拟桌面实例的端口号、名称以及显示数据,共享内存区存储有已经注册的多个虚拟桌面实例的数据信息;若注册成功,则:根据已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送新加入虚拟桌面实例消息指令以表示新的虚拟桌面实例加入;根据已经注册的虚拟桌面实例的数据信息绘制包括有已经注册的虚拟桌面实例名称的图标的控制界面;记录图标与对应的已经注册的虚拟桌面实例的数据信息之间的关联;显示新的虚拟桌面,并在新的虚拟桌面上显示控制界面;监听其他虚拟桌面实例发出的数据更新消息指令并进行处理,其中其他虚拟桌面实例包括已经注册的虚拟桌面实例和在新的虚拟桌面实例之后注册的虚拟桌面实例;若注册失败,则释放获取到的已经注册的虚拟桌面实例的数据信息并退出。
在第一方面的第一种可能的实现方式中,在共享内存区注册新的虚拟桌面实例的步骤包括:在共享内存区写入新的虚拟桌面实例的数据信息,其中新的虚拟桌面实例的数据信息包括新的虚拟桌面实例的端口号、名称以及显示数据,且在写入成功时,判断注册成功,在写入失败时,判断注册失败;显示新的虚拟桌面的步骤包括:根据新的虚拟桌面实例的显示数据绘制新的虚拟桌面并显示。
在第一方面的第二种可能的实现方式中,监听来自其他虚拟桌面实例的数据更新消息指令并进行处理的步骤包括:采用Socket Server接收来自监听其他虚拟桌面实例发出的数据更新消息指令,其中数据更新消息指令为TCP/UDP格式的请求指令。
在第一方面的第三种可能的实现方式中,数据更新消息指令为在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令,在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令包括在新的虚拟桌面实例之后注册的虚拟桌面实例的端口号、名称以及显示数据,监听来自其他虚拟桌面实例的数据更新消息指令并进行处理包括:在监听到在新的虚拟桌面实例之后注册的虚拟桌面实例的新加入虚拟桌面实例发出的消息指令时,绘制包括有已经注册的虚拟桌面实例名称和在新的虚拟桌面实例之后注册的虚拟桌面实例的图标的控制界面,并在新的虚拟桌面上重新显示控制界面。
在第一方面的第四种可能的实现方式中,数据更新消息指令为已经注册的虚拟桌面实例中需要退出者所发出的退出消息指令,监听来自其他虚拟桌面实例的数据更新消息指令并进行处理包括:在监听到已经注册的虚拟桌面实例中需要退出者发出的退出消息指令时,绘制不包括已经注册的虚拟桌面实例中需要退出者的图标的控制界面,并在新的虚拟桌面上重新显示控制界面。
在第一方面的第五种可能的实现方式中,数据更新消息指令为针对图标中的一者的预览消息指令,监听来自其他虚拟桌面实例的数据更新消息指令并进行处理包括:在监听到其他虚拟桌面实例发出的预览消息指令时,根据共享内存区存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面实例上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
在第一方面的第六种可能的实现方式中,数据更新消息指令为针对图标中的一者的预览更新消息指令,预览更新消息指令包括图标中的一者对应的虚拟桌面实例经更新后的显示数据,监听来自其他虚拟桌面实例的数据更新消息指令并进行处理包括:在监听到其他虚拟桌面实例发出的预览更新消息指令时,根据显示数据更新共享内存区中存储的图标中的一者对应的虚拟桌面实例对应的显示数据。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,数据更新消息指令为针对图标中的一者的预览消息指令,监听来自其他虚拟桌面实例的数据更新消息指令并进行处理还包括:在监听到其他虚拟桌面实例发出的预览消息指令时,根据共享内存区存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
在第一方面的第八种可能的实现方式中,在监听来自其他虚拟桌面实例的数据更新消息指令并进行处理之后,方法还包括:获取退出消息指令;响应退出消息指令再次从共享内存区获取最新的已经注册的虚拟桌面实例的数据信息;根据最新的已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送退出虚拟桌面实例消息指令以表示新的虚拟桌面实例退出。
在第一方面的第九种可能的实现方式中,数据更新消息指令为针对图标中的一者的切换指令,监听来自其他虚拟桌面实例的数据更新消息指令并进行处理包括:在监听到其他虚拟桌面实例发出的切换指令时,根据共享内存区中存储的图标中的一者对应的虚拟桌面实例的显示数据绘制当前需显示的虚拟桌面,并将当前需显示的虚拟桌面置顶并进行显示;其中,切换指令是图标中的一者对应的虚拟桌面实例在检测到鼠标箭头在对应的图标上点击时产生的。
第二方面提供一种虚拟桌面实例的管理装置,包括多实例管理模块、共享数据服务模块、UI控制渲染模块以及监听服务模块,其中:多实例管理模块,用于获取启动消息指令;共享数据服务模块,用于响应启动消息指令从共享内存区获取已经注册的虚拟桌面实例的数据信息,并在共享内存区注册新的虚拟桌面实例,其中已经注册的虚拟桌面实例的数据信息包括已经注册的虚拟桌面实例的端口号、名称以及显示数据,共享内存区存储有已经注册的多个虚拟桌面实例的数据信息;若注册成功,多实例管理模块还用于根据已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送新加入虚拟桌面实例消息指令以表示新的虚拟桌面实例加入;UI控制渲染模块用于根据已经注册的虚拟桌面实例的数据信息绘制包括有已经注册的虚拟桌面实例名称的图标的控制界面,记录图标与对应的已经注册的虚拟桌面实例的数据信息之间的关联,显示新的虚拟桌面,并在新的虚拟桌面上显示控制界面;监听服务模块用于监听其他虚拟桌面实例发出的数据更新消息指令并进行处理,其中其他虚拟桌面实例包括已经注册的虚拟桌面实例和在新的虚拟桌面实例之后注册的虚拟桌面实例;若注册失败,多实例管理模块用于释放获取到的已经注册的虚拟桌面实例的数据信息。
在第二方面的第一种可能的实现方式中,共享数据服务模块具体用于在共享内存区写入新的虚拟桌面实例的数据信息,其中新的虚拟桌面实例的数据信息包括新的虚拟桌面实例的端口号、名称以及扩展信息,且在写入成功时,判断注册成功,在写入失败时,判断注册失败;UI控制渲染模块具体用于根据新的虚拟桌面实例的显示数据绘制新的虚拟桌面并显示。
在第二方面的第二种可能的实现方式中,监听服务模块具体用于采用SocketServer接收来自监听其他虚拟桌面实例发出的数据更新消息指令,其中数据更新消息指令为TCP/UDP格式的请求指令。
在第二方面的第三种可能的实现方式中,数据更新消息指令为在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令,在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令包括在新的虚拟桌面实例之后注册的虚拟桌面实例的端口号、名称以及显示数据,监听服务模块在监听到在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令时,UI控制渲染模块绘制包括有已经注册的虚拟桌面实例名称和在新的虚拟桌面实例之后注册的虚拟桌面实例的图标的控制界面,并在新的虚拟桌面上重新显示控制界面。
在第二方面的第四种可能的实现方式中,数据更新消息指令为已经注册的虚拟桌面实例中需要退出者所发出的退出消息指令,监听服务模块在监听到已经注册的虚拟桌面实例中需要退出者发出的退出消息指令时,UI控制渲染模块绘制不包括已经注册的虚拟桌面实例中需要退出者的图标的控制界面,并在新的虚拟桌面实例上重新显示控制界面。
在第二方面的第五种可能的实现方式中,数据更新消息指令为针对图标中的一者的预览消息指令,监听服务模块在监听到其他虚拟桌面实例发出的预览消息指令时,UI控制渲染模块根据共享内存区存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
在第二方面的第六种可能的实现方式中,数据更新消息指令为针对图标中的一者的预览更新消息指令,预览更新消息指令包括图标中的一者对应的虚拟桌面实例经更新后的显示数据,监听服务模块在监听到其他虚拟桌面实例发出的预览更新消息指令时,UI控制渲染模块根据显示数据更新共享内存区中存储的图标中的一者对应的虚拟桌面实例对应的显示数据。
结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,数据更新消息指令为针对图标中的一者的预览消息指令,监听服务模块在监听到预览消息指令时,UI控制渲染模块根据共享内存区存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
在第二方面的第八种可能的实现方式中,多实例管理模块还用于获取退出消息指令;共享数据服务模块响应退出消息指令再次从共享内存区获取最新的已经注册的虚拟桌面实例的数据信息;多实例管理模块根据最新的已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送退出虚拟桌面实例消息指令以表示新的虚拟桌面实例退出。
在第二方面的第九种可能的实现方式中,数据更新消息指令为针对图标中的一者的切换指令,监听服务模块在监听到其他虚拟桌面实例发出的切换指令时,UI控制渲染模块根据共享内存区中存储的图标中的一者对应的虚拟桌面实例的显示数据绘制当前需显示的虚拟桌面,并将当前需显示的虚拟桌面置顶并进行显示;其中,切换指令是图标中的一者对应的虚拟桌面实例在检测到鼠标箭头在对应的图标上点击时产生的。
通过上述方案,本发明实施例提供的虚拟桌面实例的管理方法及装置可已经注册的虚拟桌面实例可获知新的虚拟桌面实例加入,并可在刚启动的新的虚拟桌面实例上显示设有对应于其他虚拟桌面实例图标的控制界面以供用户操作,同时对其他虚拟桌面实例发出的数据更新消息指令进行监听,从而提高操作便利性。
具体实施方式
首先请参阅图1,图1是根据本发明实施例终端与虚拟桌面的连接示意图。如图1所示,每个用户都可以在同一台终端接入1个或多个虚拟机VM1、VM2、VM3、VM4,且每一个虚拟机VM1、VM2、VM3、VM4分别对应于一个虚拟桌面实例501、502、503、504,虚拟桌面实例501、502、503、504设置在终端40内,每个虚拟桌面实例之间可进行通信。
并请参见图2,图2是根据本发明实施例的虚拟桌面实例的管理方法的流程图。如图2所示,本发明实施例揭示的虚拟桌面实例的管理方法包括以下步骤:
步骤101:获取启动消息指令。在本步骤中,具体可通过在特定区域获取鼠标点击事件来触发启动消息指令,举例而言,用户可通过鼠标点击菜单栏上的启动图标来触发启动消息指令。
步骤102:响应启动消息指令从共享内存区获取已经注册的虚拟桌面实例的数据信息,并在共享内存区注册新的虚拟桌面实例。通过若注册成功,执行步骤104,若注册失败,执行步骤110。其中已经注册的虚拟桌面实例的数据信息包括已经注册的虚拟桌面实例的端口号、名称以及显示数据。共享内存区是本发明实施例中划分的一个内存区域,其用于存储有已经注册的多个虚拟桌面实例的数据信息,该共享内存区可供已经注册的多个虚拟桌面实例读写。在本发明中,每一虚拟桌面实例均分配有一特定端口号,通过端口号可与对应的虚拟桌面实例进行通信。并且,显示数据包括虚拟桌面实例的显示数据,通过显示数据可以绘制出对应的虚拟桌面,从而使得用户可在终端上使用虚拟桌面。
步骤104:根据已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送新加入虚拟桌面实例消息指令以表示新的虚拟桌面实例加入。具体地,由于已经注册的虚拟桌面实例的数据信息包括已经注册的虚拟桌面实例的端口号,因此,通过向对应端口发送新加入虚拟桌面实例消息指令,即可通知对应的虚拟桌面实例。
步骤105:根据已经注册的虚拟桌面实例的数据信息绘制包括有已经注册的虚拟桌面实例名称的图标的控制界面。如上所述,已经注册的虚拟桌面实例的数据信息包括虚拟桌面的名称,因此可以绘制出包括有已经注册的虚拟桌面实例名称的图标的控制界面。
步骤106:记录图标与对应的已经注册的虚拟桌面实例的数据信息之间的关联。该步骤可建立图标与虚拟桌面实例之间的映射关系,在图标被鼠标点击或鼠标移动到图标上时,可通过该映射关系获取到已经注册的虚拟桌面实例的数据信息。
步骤107:显示新的虚拟桌面。
步骤108:在新的虚拟桌面上显示控制界面。进一步地,可参见图3,图3是根据本发明实施例的控制界面的示意图,如图3所示,假设新的虚拟桌面为VM1,控制界面包括主页图标、VM2图标、VM3图标、窗口图标、首选项图标以及断开连接图标,该控制界面在VM1上显示。在本发明中,主页图标、窗口图标、首选项图标以及断开连接图标设置可以根据需要选择设置。
步骤109:监听其他虚拟桌面实例发出的数据更新消息指令并进行处理,其中其他虚拟桌面实例包括已经注册的虚拟桌面实例和在新的虚拟桌面实例之后注册的虚拟桌面实例。
步骤110:释放获取到的已经注册的虚拟桌面实例的数据信息并退出。
通过上述方案,本发明实施例提供的虚拟桌面实例的管理方法可已经注册的虚拟桌面实例可获知新的虚拟桌面实例加入,并可在刚启动的新的虚拟桌面实例上显示设有对应于其他虚拟桌面实例图标的控制界面以供用户操作,同时对其他虚拟桌面实例发出的数据更新消息指令进行监听,从而提高操作便利性。
可选地,在步骤102中,在共享内存区注册新的虚拟桌面实例的步骤具体可为:在共享内存区写入新的虚拟桌面实例的数据信息,其中新的虚拟桌面实例的数据信息包括新的虚拟桌面实例的端口号、名称以及显示数据,且在写入成功时,判断注册成功,在写入失败时,判断注册失败。对应地,步骤107具体可为:根据新的虚拟桌面的显示数据绘制新的虚拟桌面并显示。
可选地,在步骤109中,监听其他虚拟桌面实例发出的数据更新消息指令并进行处理的步骤具体可通过采用Socket Server(套接字服务器)接收来自监听其他虚拟桌面实例发出的数据更新消息指令来实现,其中数据更新消息指令为TCP/UDP格式的请求指令。
值得注意的是,在步骤109中,数据更新消息指令具体可包括:新加入虚拟桌面实例消息指令、退出消息指令、预览消息指令、预览更新消息指令、切换指令以及出消息指令。
当数据更新消息指令分别为上述指令时,本发明实施例的管理方法依次作出:通知其他虚拟桌面实例本方加入、本方虚拟桌面实例退出、在本方虚拟桌面预览其他虚拟桌面、更新其他虚拟桌面的显示界面、从本方虚拟桌面切换至其他虚拟桌面以及退出本方虚拟桌面等动作。以下将分别对上述不同情况作出详细介绍。
可选地,在步骤109中,数据更新消息指令可为在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令,在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令包括在新的虚拟桌面实例之后注册的虚拟桌面实例的端口号、名称以及显示数据,步骤109具体可为:在监听到在新的虚拟桌面实例之后注册的虚拟桌面实例的新加入虚拟桌面实例发出的消息指令时,绘制包括有已经注册的虚拟桌面实例名称和在新的虚拟桌面实例之后注册的虚拟桌面实例的图标的控制界面,并在新的虚拟桌面上重新显示控制界面。因此,当有更新的虚拟桌面实例注册成功,在当前的虚拟桌面上的控制界面可以看到更新的虚拟桌面实例对应的图标,从而方便用户切换或预览该更新的虚拟桌面。
可选地,在步骤109中,数据更新消息指令为已经注册的虚拟桌面实例中需要退出者所发出的退出消息指令,步骤109可具体为:在监听到已经注册的虚拟桌面实例中需要退出者发出的退出消息指令时,绘制不包括已经注册的虚拟桌面实例中需要退出者的图标的控制界面,并在新的虚拟桌面上重新显示控制界面。由于有虚拟桌面实例退出,且在虚拟桌面实例退出时,会发出退出消息指令,在监听到退出消息指令时重新绘制控制界面,在该控制界面中删除退出的虚拟桌面对应的图标,从而令用户知晓有虚拟桌面实例退出。
可选地,数据更新消息指令为针对图标中的一者的预览消息指令,步骤109可具体为:在监听到其他虚拟桌面实例发出的预览消息指令时,根据共享内存区存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面。其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。当用户将鼠标箭头移动至控制界面上其他虚拟桌面实例对应的图标时,其他虚拟桌面实例发出预览消息指令,该预览消息指令被监听,从而触发本处理流程,使得可在新的虚拟桌面上显示预览界面,可以使得用户预览到其他虚拟桌面。具体可参见图4,图4是根据本发明实施例的预览界面的示意图,如图4所示,当前当鼠标箭头移动至其他虚拟桌面实例对应的图标VM2上时,预览界面50在在新的虚拟桌面上60显示,以供用户预览。
可选地,数据更新消息指令为针对图标中的一者的切换指令,步骤109具体可为:在监听到其他虚拟桌面实例发出的切换指令时,根据共享内存区中存储的图标中的一者对应的虚拟桌面实例的显示数据绘制当前需显示的虚拟桌面实例,并将当前需显示的虚拟桌面置顶并进行显示。其中,预览消息指令是图标中的一者对应的虚拟桌面实例在检测到鼠标箭头在对应的图标上点击时产生的。
可选地,数据更新消息指令为针对图标中的一者的预览更新消息指令,预览更新消息指令包括图标中的一者对应的虚拟桌面实例经更新后的显示数据,步骤109具体可为:在监听到其他虚拟桌面实例发出的预览更新消息指令时,根据显示数据更新共享内存区中存储的图标中的一者对应的虚拟桌面实例对应的显示数据。进一步地,在监听到其他虚拟桌面实例发出的预览消息指令时,根据共享内存区存储的经更新后的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面实例上显示预览界面。其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。因此,通过本步骤,可使得用户可预览到其他虚拟桌面更新后的状态。
根据本发明实施例的虚拟桌面实例的管理方法还包括一退出步骤,具体而言,请参见图5,图5是根据本发明实施例的虚拟桌面实例的管理方法中的关于退出步骤的子流程图,如图5所示,在步骤109之后,该方法还包括:
步骤111:获取退出消息指令。在本步骤中,具体可通过在特定区域获取鼠标点击事件来触发退出消息指令,举例而言,用户可通过鼠标点击虚拟桌面菜单栏上的退出图标来触发退出消息指令。
步骤112:响应退出消息指令再次从共享内存区获取最新的已经注册的虚拟桌面实例的数据信息。
步骤113:根据最新的已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送退出虚拟桌面实例消息指令以表示新的虚拟桌面实例退出。由于已经注册的虚拟桌面实例的数据信息包括端口号,因此通过该端口号可向已经注册的虚拟桌面实例发送退出虚拟桌面实例消息指令。
本发明实施例进一步提供一种虚拟桌面实例的管理装置,具体可参见图6,图6是根据本发明的虚拟桌面实例的管理装置的装置结构示意图,如图6所示,其包括多实例管理模块201、共享数据服务模块202、UI控制渲染模块203以及监听服务模块205,其中:
多实例管理模块201,用于获取启动消息指令;
共享数据服务模块202,用于响应启动消息指令从共享内存区204获取已经注册的虚拟桌面实例的数据信息,并在共享内存区204注册新的虚拟桌面实例,其中已经注册的虚拟桌面实例的数据信息包括已经注册的虚拟桌面实例的端口号、名称以及显示数据,共享内存区204存储有已经注册的多个虚拟桌面实例的数据信息;
若注册成功,多实例管理模块201还用于根据已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送新加入虚拟桌面实例消息指令以表示新的虚拟桌面实例加入;UI控制渲染模块203用于根据已经注册的虚拟桌面实例的数据信息绘制包括有已经注册的虚拟桌面实例名称的图标的控制界面,记录图标与对应的已经注册的虚拟桌面实例的数据信息之间的关联,显示新的虚拟桌面,并在新的虚拟桌面上显示控制界面;监听服务模块205用于监听其他虚拟桌面实例发出的数据更新消息指令并进行处理,其中其他虚拟桌面实例包括已经注册的虚拟桌面实例和在新的虚拟桌面实例之后注册的虚拟桌面实例;
若注册失败,多实例管理模块201用于释放获取到的已经注册的虚拟桌面实例的数据信息。
可选地,共享数据服务模块202具体用于在共享内存区204写入新的虚拟桌面实例的数据信息,其中新的虚拟桌面实例的数据信息包括新的虚拟桌面实例的端口号、名称以及扩展信息,且在写入成功时,判断注册成功,在写入失败时,判断注册失败;UI控制渲染模块203具体用于根据新的虚拟桌面实例的显示数据绘制新的虚拟桌面并显示。
可选地,监听服务模块205具体用于采用Socket Server接收来自监听其他虚拟桌面实例发出的数据更新消息指令,其中数据更新消息指令为TCP/UDP格式的请求指令。
可选地,数据更新消息指令为在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令,在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令包括在新的虚拟桌面实例之后注册的虚拟桌面实例的端口号、名称以及显示数据,监听服务模块205在监听到在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令时,UI控制渲染模块203绘制包括有已经注册的虚拟桌面实例名称和在新的虚拟桌面实例之后注册的虚拟桌面实例的图标的控制界面,并在新的虚拟桌面实例上重新显示控制界面。
可选地,数据更新消息指令为已经注册的虚拟桌面实例中需要退出者所发出的退出消息指令,监听服务模块205在监听到已经注册的虚拟桌面实例中需要退出者发出的退出消息指令时,UI控制渲染模块203绘制不包括已经注册的虚拟桌面实例中需要退出者的图标的控制界面,并在新的虚拟桌面上重新显示控制界面。
可选地,数据更新消息指令为针对图标中的一者的预览消息指令,监听服务模块205在监听到其他虚拟桌面实例发出的预览消息指令时,UI控制渲染模块203根据共享内存区204存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
可选地,数据更新消息指令为针对图标中的一者的预览更新消息指令,预览更新消息指令包括图标中的一者对应的虚拟桌面实例经更新后的显示数据,监听服务模块205在监听到其他虚拟桌面实例发出的预览更新消息指令时,UI控制渲染模块203根据显示数据更新共享内存区204中存储的图标中的一者对应的虚拟桌面实例对应的显示数据。
可选地,数据更新消息指令为针对图标中的一者的预览消息指令,监听服务模块205在监听到预览消息指令时,UI控制渲染模块203根据共享内存区204存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
可选地,多实例管理模块201还用于获取退出消息指令;共享数据服务模块202响应退出消息指令再次从共享内存区204获取最新的已经注册的虚拟桌面实例的数据信息;多实例管理模块201根据最新的已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送退出虚拟桌面实例消息指令以表示新的虚拟桌面实例退出。
可选地,数据更新消息指令为针对图标中的一者的切换指令,监听服务模块205在监听到其他虚拟桌面实例发出的切换指令时,UI控制渲染模块203根据共享内存区204中存储的图标中的一者对应的虚拟桌面实例的显示数据绘制当前需显示的虚拟桌面实例,并将当前需显示的虚拟桌面实例置顶并进行显示;其中,预览消息指令是图标中的一者对应的虚拟桌面实例在检测到鼠标箭头在对应的图标上点击时产生的。
本发明实施例进一步提供一种虚拟桌面实例的管理装置的另外一种实施方式,具体可参见图7,图7是根据本发明的虚拟桌面实例的管理装置另一实施方式的装置结构示意图,如图7所示,该装置30包括处理器301、存储器302、总线303,所述处理器301和存储器302分别与总线303连接。其中:
存储器303,存储有程序和共享内存区,该程序用于获取启动消息指令;
该程序,还用于响应启动消息指令从共享内存区获取已经注册的虚拟桌面实例的数据信息,并在共享内存区注册新的虚拟桌面实例,其中已经注册的虚拟桌面实例的数据信息包括已经注册的虚拟桌面实例的端口号、名称以及显示数据,共享内存区存储有已经注册的多个虚拟桌面实例的数据信息;
若注册成功,该程序还用于根据已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送新加入虚拟桌面实例消息指令以表示新的虚拟桌面实例加入、用于根据已经注册的虚拟桌面实例的数据信息绘制包括有已经注册的虚拟桌面实例名称的图标的控制界面,记录图标与对应的已经注册的虚拟桌面实例的数据信息之间的关联,显示新的虚拟桌面,并在新的虚拟桌面上显示控制界面、用于监听其他虚拟桌面实例发出的数据更新消息指令并进行处理,其中其他虚拟桌面实例包括已经注册的虚拟桌面实例和在新的虚拟桌面实例之后注册的虚拟桌面实例;
若注册失败,该程序用于释放获取到的已经注册的虚拟桌面实例的数据信息;
处理器301,用于运行该程序。
可选地,上述程序具体用于在共享内存区写入新的虚拟桌面实例的数据信息,其中新的虚拟桌面实例的数据信息包括新的虚拟桌面实例的端口号、名称以及扩展信息,且在写入成功时,判断注册成功,在写入失败时,判断注册失败;该程序还具体用于根据新的虚拟桌面实例的显示数据绘制新的虚拟桌面并显示。
可选地,该程序具体用于采用Socket Server接收来自监听其他虚拟桌面实例发出的数据更新消息指令,其中数据更新消息指令为TCP/UDP格式的请求指令。
可选地,数据更新消息指令为在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令,在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令包括在新的虚拟桌面实例之后注册的虚拟桌面实例的端口号、名称以及显示数据,上述程序在监听到在新的虚拟桌面实例之后注册的虚拟桌面实例发出的新加入虚拟桌面实例消息指令时,还用于绘制包括有已经注册的虚拟桌面实例名称和在新的虚拟桌面实例之后注册的虚拟桌面实例的图标的控制界面,并在新的虚拟桌面实例上重新显示控制界面。
可选地,数据更新消息指令为已经注册的虚拟桌面实例中需要退出者所发出的退出消息指令,上述程序在监听到已经注册的虚拟桌面实例中需要退出者发出的退出消息指令时,还用于绘制不包括已经注册的虚拟桌面实例中需要退出者的图标的控制界面,并在新的虚拟桌面上重新显示控制界面。
可选地,数据更新消息指令为针对图标中的一者的预览消息指令,上述程序在监听到其他虚拟桌面实例发出的预览消息指令时,还用于根据共享内存区存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
可选地,数据更新消息指令为针对图标中的一者的预览更新消息指令,预览更新消息指令包括图标中的一者对应的虚拟桌面实例经更新后的显示数据,上述程序在监听到其他虚拟桌面实例发出的预览更新消息指令时,根据显示数据更新共享内存区中存储的图标中的一者对应的虚拟桌面实例对应的显示数据。
可选地,数据更新消息指令为针对图标中的一者的预览消息指令,上述程序在监听到预览消息指令时,根据共享内存区存储的图标中的一者对应的显示数据产生预览界面,并在新的虚拟桌面上显示预览界面;其中,预览消息指令是其他虚拟桌面实例检测到鼠标箭头移动至其他虚拟桌面实例对应的图标上时产生的。
可选地,上述程序还用于获取退出消息指令,并响应退出消息指令再次从共享内存区获取最新的已经注册的虚拟桌面实例的数据信息,根据最新的已经注册的虚拟桌面实例的数据信息向已经注册的虚拟桌面实例发送退出虚拟桌面实例消息指令以表示新的虚拟桌面实例退出。
可选地,数据更新消息指令为针对图标中的一者的切换指令,上述程序在监听到其他虚拟桌面实例发出的切换指令时,根据共享内存区中存储的图标中的一者对应的虚拟桌面实例的显示数据绘制当前需显示的虚拟桌面实例,并将当前需显示的虚拟桌面实例置顶并进行显示;其中,预览消息指令是图标中的一者对应的虚拟桌面实例在检测到鼠标箭头在对应的图标上点击时产生的。
综上,本发明实施例提供的虚拟桌面实例的管理方法及装置可已经注册的虚拟桌面实例可获知新的虚拟桌面实例加入,并可在刚启动的新的虚拟桌面实例上显示设有对应于其他虚拟桌面实例图标的控制界面以供用户操作,同时对其他虚拟桌面实例发出的数据更新消息指令进行监听,从而提高操作便利性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。