CN113973133A - Usb设备重定向方法、装置、电子设备及存储介质 - Google Patents
Usb设备重定向方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113973133A CN113973133A CN202111156936.XA CN202111156936A CN113973133A CN 113973133 A CN113973133 A CN 113973133A CN 202111156936 A CN202111156936 A CN 202111156936A CN 113973133 A CN113973133 A CN 113973133A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- server
- usb
- indication message
- target
- 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.)
- Pending
Links
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/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/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本公开提供一种USB设备重定向方法、装置、电子设备及存储介质,该方法包括:在检测通用串行总线USB设备插入后,向服务器发送第一重定向请求,以便服务器将USB设备重定向至目标虚拟机;接收服务器发送的第一指示消息;若接收到用户输入的USB设备的第一数据操作指令,将第一数据操作指令发送至目标虚拟机;将第一数据操作指令发送至目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据虚拟机切换指令确定用户待切换至的指定虚拟机并向服务器发送第二重定向请求,以便服务器将USB设备重定向至指定虚拟机。本发明用于解决用户在查看和控制其他虚拟机的桌面时,并不能对USB设备进行操作,会对用户的操作带来不便的问题。
Description
技术领域
本公开涉及云桌面领域,尤其涉及USB设备重定向方法、装置、电子设备及存储介质。
背景技术
现有云桌面系统的基本结构可参照图1。如图1所示,云桌面系统基于万像图传协议,主要包括终端设备例如零终端10(简称R端)和云服务器20(简称S端)。其中,R端10用于接收来自S端20的云端桌面图像,同时将本地鼠标和键盘信息反向传输到S端20,由S端20注入当前R端10所对应的云端桌面中,所述云端桌面是由S端20为当前R端10所分配的虚拟机生成的。
现有技术中,用户可以通过一个零终端连接多个虚拟机,这样,可以同时查看和控制多个虚拟机的桌面。在这种场景中,如果用户将串行总线(Universal Serial Bus,USB)设备接入零终端,则只有一个虚拟机可以对USB设备重定向,因此,用户只可以通过对USB设备重定向的虚拟机操作该USB设备,而用户在查看和控制其他虚拟机的桌面时,并不能对USB设备进行操作,会对用户的操作带来不便。
发明内容
本公开实施例提供一种USB设备共享方法、装置、电子设备及存储介质,能够解决用户在查看和控制其他虚拟机的桌面时,并不能对USB设备进行操作,会对用户的操作带来不便的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种USB设备重定向方法,应用于终端设备,包括:
在检测通用串行总线USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机;
接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机;
接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;
将所述第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机。
本公开实施例提供的USB重定向方法,能够在检测USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机;接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机;接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;将第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机,能够在虚拟机发生切换后,由切换后的虚拟机对USB设备进行重定向,使得用户在查看和控制其他虚拟机的桌面时,也能对USB设备进行操作,方便用户的操作。
在一个实施例中,所述向服务器发送第一重定向请求前,所述方法还包括:
接收所述服务器发送的N个第二指示消息,其中,每个第二指示消息包括待建立连接的该虚拟机的标识信息,所述第二指示消息用于指示将所述终端设备与所述该虚拟机建立连接,所述连接指示消息是所述服务器为所述终端设备分配N个虚拟机后向所述终端设备发送的,N为大于1的整数;
分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接并生成该虚拟机的时间戳,所述时间戳是该虚拟机与所述终端设备建立连接时的时间戳;
将时间戳最早的虚拟机作为所述目标虚拟机。
在一个实施例中,所述分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接后,所述方法还包括:
向所述服务器发送N个第三指示消息,其中,每个第三指示消息包括已建立连接的该虚拟机的标识信息,所述第三指示消息用于指示所述终端设备与所述该虚拟机已建立连接;
接收服务器发送的所述N个虚拟机中每个虚拟机的桌面图像以及该虚拟机的标识信息;
将屏幕划分为N个窗口并建立所述N个窗口中每个窗口与所述N个虚拟机中每个虚拟机的对应关系;
将所述N个虚拟机中每个虚拟机的桌面图像分别显示在对应窗口。
在一个实施例中,所述虚拟机切换指令包括用户操作键鼠设备时鼠标在屏幕上的坐标信息,所述根据所述虚拟机切换指令确定用户待切换至的指定虚拟机包括:根据用户操作键鼠设备时鼠标在屏幕上的坐标信息确定用户输入所述虚拟机切换指令时所在的目标窗口;
确定所述目标窗口对应的虚拟机;
将所述目标窗口对应的虚拟机作为所述指定虚拟机。
在一个实施例中,所述将所述USB设备重定向至所述指定虚拟机后,所述方法还包括:
若接收到用户输入的USB设备的第二数据操作指令,将所述第二数据操作指令发送至所述指定虚拟机,以便所述指定虚拟机根据所述第二数据操作指令操作所述USB设备。
根据本公开实施例的第二方面,提供一种USB设备重定向装置,应用于终端设备,包括:
重定向请求发送模块,用于在检测通用串行总线USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机;
第一指示消息接收模块,用于接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机;
第一数据操作指令发送模块,用于接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;
虚拟机切换指令接收模块,用于将所述第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机。
在一个实施例中,所述装置还包括:
第二指示消息接收模块,用于:
接收所述服务器发送的N个第二指示消息,其中,每个第二指示消息包括待建立连接的该虚拟机的标识信息,所述第二指示消息用于指示将所述终端设备与所述该虚拟机建立连接,所述连接指示消息是所述服务器为所述终端设备分配N个虚拟机后向所述终端设备发送的,N为大于1的整数;
分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接并生成该虚拟机的时间戳,所述时间戳是该虚拟机与所述终端设备建立连接时的时间戳;
将时间戳最早的虚拟机作为所述目标虚拟机。
在一个实施例中,所述装置还包括:
第三指示消息发送模块,用于:
向所述服务器发送N个第三指示消息,其中,每个第三指示消息包括已建立连接的该虚拟机的标识信息,所述第三指示消息用于指示所述终端设备与所述该虚拟机已建立连接;
接收服务器发送的所述N个虚拟机中每个虚拟机的桌面图像以及该虚拟机的标识信息;
将屏幕划分为N个窗口并建立所述N个窗口中每个窗口与所述N个虚拟机中每个虚拟机的对应关系;
将所述N个虚拟机中每个虚拟机的桌面图像分别显示在对应窗口。
在一个实施例中,所述虚拟机切换指令包括用户操作键鼠设备时鼠标在屏幕上的坐标信息,所述虚拟机切换指令接收模块用于:
根据用户操作键鼠设备时鼠标在屏幕上的坐标信息确定用户输入所述虚拟机切换指令时所在的目标窗口;
确定所述目标窗口对应的虚拟机;
将所述目标窗口对应的虚拟机作为所述指定虚拟机。
在一个实施例中,所述装置还包括:
第二数据操作指令接收模块,用于:
若接收到用户输入的USB设备的第二数据操作指令,将所述第二数据操作指令发送至所述指定虚拟机,以便所述指定虚拟机根据所述第二数据操作指令操作所述USB设备。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现第一方面中任一项所述的USB设备重定向方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以第一方面中任一项所述的USB设备重定向方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种桌面系统的结构图;
图2是本公开实施例提供的一种USB设备重定向方法的流程图一;
图3是本公开实施例提供的一种USB设备重定向方法的流程图二;
图4是本公开实施例提供的一种USB设备重定向装置的结构图一;
图5是本公开实施例提供的一种USB设备重定向装置的结构图二;
图6是本公开实施例提供的一种电子设备的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图2是本公开实施例提供的一种USB设备重定向方法的流程图一。如图2所示,该方法包括:
S201、在检测USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机。
在一个实施例中,在检测USB设备插入后,终端设备可以在屏幕上弹出界面,界面显示终端设备上连接的N个虚拟机的列表,供用户来选择将USB设备重定向到哪一个虚拟机上,在用户选择任意一个虚拟机,例如目标虚拟机后,即可向终端设备发送USB设备的第一重定向请求,该第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,终端设备再将该第一重定向请求发送至服务器。服务器接收到该第一重定向请求后,将USB设备重定向至用户选择的虚拟机,即目标虚拟机。
在另一个实施例中,向服务器发送第一重定向请求前,接收所述服务器发送的N个第二指示消息,其中,每个第二指示消息包括待建立连接的该虚拟机的标识信息,所述第二指示消息用于指示将所述终端设备与所述该虚拟机建立连接,所述连接指示消息是所述服务器为所述终端设备分配N个虚拟机后向所述终端设备发送的,N为大于1的整数;
分别根据所每个第二指示消息建立该虚拟机与所述终端设备的连接并生成该虚拟机的时间戳,所述时间戳是该虚拟机与所述终端设备建立连接时的时间戳;
将时间戳最早的虚拟机作为所述目标虚拟机。
示例性地,终端设备接收用户输入账号以及密码,并将账号以及密码发送至服务器。服务器为终端设备分配与该不账号以及密码对应的N个虚拟机,再向终端设备发送N个第二指示消息,其中,每个第二指示消息包括待建立连接的该虚拟机的标识信息,所述第二指示消息用于指示将所述终端设备与所述该虚拟机建立连接。终端设备接收到N个第二指示消息后,分别建立多个虚拟机中每个虚拟机与终端设备的连接并生成每个虚拟机的时间戳,并将时间戳最早的虚拟机作为所述目标虚拟机,再将该USB设备重定向至目标虚拟机。
进一步地,终端设备分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接后,向所述服务器发送N个第三指示消息,其中,每个第三指示消息包括已建立连接的该虚拟机的标识信息,所述第三指示消息用于指示所述终端设备与所述该虚拟机已建立连接;
接收服务器发送的所述N个虚拟机中每个虚拟机的桌面图像以及该虚拟机的标识信息;
将屏幕划分为N个窗口并建立所述N个窗口中每个窗口与所述N个虚拟机中每个虚拟机的对应关系;
将所述N个虚拟机中每个虚拟机的桌面图像分别显示在对应窗口。
例如,N为4,则将终端设备的屏幕划分为4个窗口,坐上角窗口对应虚拟机1,右上角窗口对应虚拟机2,左下角窗口对应虚拟机3,坐下角窗口对应虚拟机4,在左上角窗口显示虚拟机1的桌面图像,在右上角窗口显示虚拟机2的桌面图像,在左下角窗口显示虚拟机3的桌面图像,在右下角窗口显示虚拟机4的桌面图像。
S202、接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机。
示例性地,服务器将USB设备重定向至目标虚拟机后,会向终端设备发送第一指示消息,第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机。
S203、接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;
S204、将第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机。
下面对如何根据虚拟机切换指令确定用户待切换至的指定虚拟机进行说明。
示例性地,所述虚拟机切换指令包括用户操作键鼠设备时鼠标在屏幕上的坐标信息,根据用户操作键鼠设备时鼠标在屏幕上的坐标信息确定用户输入所述虚拟机切换指令时所在的目标窗口;确定所述目标窗口对应的虚拟机;将所述目标窗口对应的虚拟机作为所述指定虚拟机。
例如,用户操作键鼠设备时鼠标在屏幕上的坐标信息确定用户输入所述虚拟机切换指令时所在的目标窗口为右上角窗口,且右上角窗口对应虚拟机2,则将虚拟机2作为指定虚拟机。
进一步地,所述将所述USB设备重定向至所述指定虚拟机后,所述方法还包括:
若接收到用户输入的USB设备的第二数据操作指令,将所述第二数据操作指令发送至所述指定虚拟机,以便所述指定虚拟机根据所述第二数据操作指令操作所述USB设备。
此处需要说明的是,将第二数据操作指令发送至所述指定虚拟机后,若终端设备再次接收到虚拟机切换指令,则继续执行S204,本实施例此处不再赘述。
本公开实施例提供的USB重定向方法,能够在检测USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机;接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机;接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;将第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机,能够在虚拟机发生切换后,由切换后的虚拟机对USB设备进行重定向,使得用户在查看和控制其他虚拟机的桌面时,也能对USB设备进行操作,方便用户的操作。
下面结合图3实施例,对本公开实施例提供的USB设备重定向方法做进一步详细说明。
图3是本公开实施例提供的一种USB设备共享方法的流程图二。如图3所示,该方法包括:
S301、零终端设备连接多个虚拟机;
具体的,用户通过输入服务器地址、账号、密码的方式,依次连接多个虚拟机桌面,比如,vm1、vm2和vm3。在连接成功后,为每个连接的虚拟机可以分配一个唯一标识符。
零终端设备连接多个虚拟机之后,每一个虚拟机对应一个操作窗口,零终端中的软件需要对每一个虚拟机操作窗口的显示位置进行组织,同时还需要判断用户当前操作的是哪一个窗口,并将用户的键鼠操作指令准确的发送给对应的虚拟机,以使对应虚拟机能够准确执行用户的操作。
S302、当USB设备接入时,将当前USB设备重定向到一个虚拟机上;
也就是说,在USB设备接入零终端之后,USB设备会被重定向到一个虚拟机上,该虚拟机可以是默认满足某种条件的一个虚拟机,或者,也可以是用户指定的一个虚拟机。比如,用户可以默认设置将USB设备重定向到第一个与零终端建立连接的虚拟机,或者,当用户没有进行默认设置时,可以在用户插入USB设备时,弹出界面,显示所有可连接虚拟机的列表,供用户来选择将USB设备重定向到哪一个虚拟机上,用户可以从中选择一个。在用户选择后,当前USB设备即被重定向到该虚拟机。
同时,零终端记录当前USB设备被重定向到的虚拟机的标识符。
S303、在用户操作桌面过程中,判断用户是否发生了虚拟机操作界面切换,如果确定用户发生了虚拟机操作界面切换,则将当前USB设备重新重定向到当前用户正在使用的虚拟机上。
具体的,当一个零终端同时连接多个虚拟机桌面时,用户会在多个虚拟机操作界面上来回切换进行操作,在这个过程中,可以检测用户是否进行了虚拟机操作界面的切换,如果发生了切换,则表示用户从一个虚拟机切换到了另一个虚拟机。
具体的,通过以下方式检测用户进行了虚拟机操作界面切换:
识别用户键鼠消息,判断用户当前操作的虚拟机操作界面对应的虚拟机标识;
如果当前操作的虚拟机标识与当前USB重定向的虚拟机标识不一致,则认为当前虚拟机操作界面发生了切换。
在确定用户的虚拟机操作界面发生了切换之后,记录下当前用户使用的虚拟机的标识信息,然后重新进行USB设备重定向。
具体的,通过以下方式重新进行USB设备重定向:
当前零终端设备自动重启USB重定向服务;
重启成功后,根据当前用户使用的虚拟机的标识信息,将当前USB设备重定向到当前用户使用的虚拟机上,同时,在当前USB重定向的虚拟机标识信息中标记当前虚拟机。
通过上述方案,能够实现USB设备在多个虚拟机之间的重定向切换,这对于用户的USB设备操作来说提供了便利。
基于上述图2对应的实施例中所描述的USB设备重定向方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
图4是本公开实施例提供的一种USB设备重定向装置的结构图。该装置40应用于终端设备。如图4所示,该装置40包括:
重定向请求发送模块401,用于在检测通用串行总线USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机;
第一指示消息接收模块402,用于接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机;
第一数据操作指令发送模块403,用于接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;
虚拟机切换指令接收模块404,用于将第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机。
在一个实施例中,如图5所示,所述装置40还包括:
第二指示消息接收模块405,用于:
接收所述服务器发送的N个第二指示消息,其中,每个第二指示消息包括待建立连接的该虚拟机的标识信息,所述第二指示消息用于指示将所述终端设备与所述该虚拟机建立连接,所述连接指示消息是所述服务器为所述终端设备分配N个虚拟机后向所述终端设备发送的,N为大于1的整数;
分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接并生成该虚拟机的时间戳,所述时间戳是该虚拟机与所述终端设备建立连接时的时间戳;
将时间戳最早的虚拟机作为所述目标虚拟机。
在一个实施例中,所述装置40还包括:
第三指示消息发送模块406,用于:
向所述服务器发送N个第三指示消息,其中,每个第三指示消息包括已建立连接的该虚拟机的标识信息,所述第三指示消息用于指示所述终端设备与所述该虚拟机已建立连接;
接收服务器发送的所述N个虚拟机中每个虚拟机的桌面图像以及该虚拟机的标识信息;
将屏幕划分为N个窗口并建立所述N个窗口中每个窗口与所述N个虚拟机中每个虚拟机的对应关系;
将所述N个虚拟机中每个虚拟机的桌面图像分别显示在对应窗口。
在一个实施例中,所述虚拟机切换指令包括用户操作键鼠设备时鼠标在屏幕上的坐标信息,所述虚拟机切换指令接收模块404用于:
根据用户操作键鼠设备时鼠标在屏幕上的坐标信息确定用户输入所述虚拟机切换指令时所在的目标窗口;
确定所述目标窗口对应的虚拟机;
将所述目标窗口对应的虚拟机作为所述指定虚拟机。
在一个实施例中,所述装置40还包括:
第二数据操作指令接收模块407,用于:
若接收到用户输入的USB设备的第二数据操作指令,将所述第二数据操作指令发送至所述指定虚拟机,以便所述指定虚拟机根据所述第二数据操作指令操作所述USB设备。
本公开实施例提供的USB设备重定向装置,其实现过程和技术效果可以参见上述图2实施例,在此不再赘述。
图6为本公开实施例提供的电子设备的结构图。如图6所示,该电子设备60包括:
处理器601和存储器602,所述存储器602中存储有至少一条计算机指令,所述指令由所述处理器601加载并执行以实现上述方法实施例中所描述的USB设备重定向方法。
基于上述图2对应的实施例中所描述的USB设备重定向方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图2对应的实施例中所描述的USB设备重定向方法,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种USB设备重定向方法,其特征在于,应用于终端设备,包括:
在检测通用串行总线USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机;
接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机;
接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;
将所述第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述向服务器发送第一重定向请求前,所述方法还包括:
接收所述服务器发送的N个第二指示消息,其中,每个第二指示消息包括待建立连接的该虚拟机的标识信息,所述第二指示消息用于指示将所述终端设备与所述该虚拟机建立连接,所述连接指示消息是所述服务器为所述终端设备分配N个虚拟机后向所述终端设备发送的,N为大于1的整数;
分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接并生成该虚拟机的时间戳,所述时间戳是该虚拟机与所述终端设备建立连接时的时间戳;
将时间戳最早的虚拟机作为所述目标虚拟机。
3.根据权利要求2所述的方法,其特征在于,所述分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接后,所述方法还包括:
向所述服务器发送N个第三指示消息,其中,每个第三指示消息包括已建立连接的该虚拟机的标识信息,所述第三指示消息用于指示所述终端设备与所述该虚拟机已建立连接;
接收服务器发送的所述N个虚拟机中每个虚拟机的桌面图像以及该虚拟机的标识信息;
将屏幕划分为N个窗口并建立所述N个窗口中每个窗口与所述N个虚拟机中每个虚拟机的对应关系;
将所述N个虚拟机中每个虚拟机的桌面图像分别显示在对应窗口。
4.根据权利要求3所述的方法,其特征在于,所述虚拟机切换指令包括用户操作键鼠设备时鼠标在屏幕上的坐标信息,所述根据所述虚拟机切换指令确定用户待切换至的指定虚拟机包括:
根据用户操作键鼠设备时鼠标在屏幕上的坐标信息确定用户输入所述虚拟机切换指令时所在的目标窗口;
确定所述目标窗口对应的虚拟机;
将所述目标窗口对应的虚拟机作为所述指定虚拟机。
5.根据权利要求1所述的方法,其特征在于,所述将所述USB设备重定向至所述指定虚拟机后,所述方法还包括:
若接收到用户输入的USB设备的第二数据操作指令,将所述第二数据操作指令发送至所述指定虚拟机,以便所述指定虚拟机根据所述第二数据操作指令操作所述USB设备。
6.一种USB设备重定向装置,其特征在于,应用于终端设备,包括:
重定向请求发送模块,用于在检测通用串行总线USB设备插入后,向服务器发送第一重定向请求,以便所述服务器将所述USB设备重定向至目标虚拟机,所述第一重定向请求包括USB设备待重定向至的目标虚拟机的标识信息,所述目标虚拟机为与所述终端设备连接的至少一个虚拟机中的任意一个虚拟机;
第一指示消息接收模块,用于接收所述服务器发送的第一指示消息,所述第一指示消息用于指示已将所述USB设备重定向至所述目标虚拟机;
第一数据操作指令发送模块,用于接收所述服务器发送的USB设备发送的第一指示消息后,若接收到用户输入的USB设备的第一数据操作指令,将所述第一数据操作指令发送至所述目标虚拟机,以便所述目标虚拟机根据所述第一数据操作指令操作所述USB设备;
虚拟机切换指令接收模块,用于将所述第一数据操作指令发送至所述目标虚拟机后,若接收到用户输入的虚拟机切换指令,则根据所述虚拟机切换指令确定用户待切换至的指定虚拟机并向所述服务器发送第二重定向请求,以便所述服务器将所述USB设备重定向至所述指定虚拟机,所述第二重定向请求包括所述指定虚拟机的标识信息,所述指定虚拟机为除所述目标虚拟机外的虚拟机。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二指示消息接收模块,用于:
接收所述服务器发送的N个第二指示消息,其中,每个第二指示消息包括待建立连接的该虚拟机的标识信息,所述第二指示消息用于指示将所述终端设备与所述该虚拟机建立连接,所述连接指示消息是所述服务器为所述终端设备分配N个虚拟机后向所述终端设备发送的,N为大于1的整数;
分别根据每个第二指示消息建立该虚拟机与所述终端设备的连接并生成该虚拟机的时间戳,所述时间戳是该虚拟机与所述终端设备建立连接时的时间戳;
将时间戳最早的虚拟机作为所述目标虚拟机。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三指示消息发送模块,用于:
向所述服务器发送N个第三指示消息,其中,每个第三指示消息包括已建立连接的该虚拟机的标识信息,所述第三指示消息用于指示所述终端设备与所述该虚拟机已建立连接;
接收服务器发送的所述N个虚拟机中每个虚拟机的桌面图像以及该虚拟机的标识信息;
将屏幕划分为N个窗口并建立所述N个窗口中每个窗口与所述N个虚拟机中每个虚拟机的对应关系;
将所述N个虚拟机中每个虚拟机的桌面图像分别显示在对应窗口。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现权利要求1至权利要求5任一项所述的USB设备重定向方法中所执行的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现权利要求1至权利要求5任一项所述的USB设备重定向方法中所执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111156936.XA CN113973133A (zh) | 2021-09-30 | 2021-09-30 | Usb设备重定向方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111156936.XA CN113973133A (zh) | 2021-09-30 | 2021-09-30 | Usb设备重定向方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113973133A true CN113973133A (zh) | 2022-01-25 |
Family
ID=79587008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111156936.XA Pending CN113973133A (zh) | 2021-09-30 | 2021-09-30 | Usb设备重定向方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113973133A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911720A (zh) * | 2022-05-16 | 2022-08-16 | 阿里巴巴(中国)有限公司 | 外围设备的连接控制方法、装置、电子设备和存储介质 |
CN116804907A (zh) * | 2023-08-16 | 2023-09-26 | 北京淳中科技股份有限公司 | 一种触摸屏重定向方法、装置、电子设备及存储介质 |
-
2021
- 2021-09-30 CN CN202111156936.XA patent/CN113973133A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911720A (zh) * | 2022-05-16 | 2022-08-16 | 阿里巴巴(中国)有限公司 | 外围设备的连接控制方法、装置、电子设备和存储介质 |
CN116804907A (zh) * | 2023-08-16 | 2023-09-26 | 北京淳中科技股份有限公司 | 一种触摸屏重定向方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113973133A (zh) | Usb设备重定向方法、装置、电子设备及存储介质 | |
CN107479957A (zh) | 一种多系统应用的切换方法、装置、设备和存储介质 | |
CN106802762B (zh) | 在虚拟会话中同步服务器侧键盘布局与客户端侧布局 | |
CN110989952B (zh) | 一种基于多屏幕的鼠标共享实现方法、装置及系统 | |
US20210224014A1 (en) | Display method, display system and vehicle | |
US10582388B2 (en) | Electronic apparatus and method of executing application program | |
CN104079717A (zh) | 一种显示设备界面的方法及服务器 | |
CN113961295A (zh) | 设备交互控制方法、装置、电子设备和可读存储介质 | |
CN113973132A (zh) | Usb设备共享方法、装置、电子设备及存储介质 | |
US10956034B2 (en) | Automatic virtual input device | |
CN109947528B (zh) | 信息处理方法和装置 | |
CN114422236B (zh) | 一种智能设备的访问方法、装置和电子设备 | |
CN113452948B (zh) | 会议终端的控制方法、装置、设备及存储介质 | |
CN113961306A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112596883B (zh) | 一种应用切换方法、装置、存储介质及电子设备 | |
CN112272223B (zh) | 应用的运行方法、装置、服务器及计算机可读存储介质 | |
CN109195021A (zh) | 截图分享方法和装置 | |
CN114265655A (zh) | 云应用数据处理方法及装置、系统和存储介质 | |
CN107390981B (zh) | 一种全局菜单的控制方法、装置、设备和存储介质 | |
CN115437723A (zh) | 应用场景的快速切换方法、装置、电子设备和存储介质 | |
CN114064065A (zh) | 程序升级方法和程序升级系统 | |
CN114048002A (zh) | 设备管理方法及系统 | |
CN111010483B (zh) | 移动终端控制方法及装置、计算机装置及存储介质 | |
US20230213969A1 (en) | Control method, apparatus, electronic devices, and storage medium | |
CN114675929A (zh) | 数据处理方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |