CN104484291A - 一种建立设备映射的方法及装置 - Google Patents
一种建立设备映射的方法及装置 Download PDFInfo
- Publication number
- CN104484291A CN104484291A CN201410683064.6A CN201410683064A CN104484291A CN 104484291 A CN104484291 A CN 104484291A CN 201410683064 A CN201410683064 A CN 201410683064A CN 104484291 A CN104484291 A CN 104484291A
- Authority
- CN
- China
- Prior art keywords
- client
- state
- identification information
- physical
- usb
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000001960 triggered effect Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 44
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种建立设备映射的方法及装置,涉及电子信息技术领域,能够使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。本发明的方法包括:所述客户机获取所述物理设备的识别信息;在所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态。本发明适用于远程桌面系统。
Description
技术领域
本发明涉及电子信息技术领域,尤其涉及一种建立设备映射的方法及装置。
背景技术
目前,通常通过远程桌面协议,将本地终端的各种输入输出设备,比如:键盘,鼠标,USB(Universal Serial Bus,通用串行总线)外设,耳机和麦克风等,映射到具有远程虚拟桌面系统的服务器。
在现有技术中,远程虚拟桌面系统的在运行过程中至少需要客户机和服务器这两种硬件设备,在客户机上用于实现远程虚拟桌面系统的软件程序可以称为客户端,在服务器上用于实现远程虚拟桌面系统的软件程序可以称为服务端。客户机通过客户机上运行的客户端接入具有远程虚拟桌面系统的服务器,并通过远程虚拟桌面系统调用客户机的输入输出设备。例如:如图1所示,客户机可以为具有Linux系统的终端,物理USB设备插入终端,被终端通过遍历或监听插拔等手段检测到,并在缺省状态下,USB物理设备绑定USB设备驱动。USB物理设备在插入终端后,终端通过操作系统的内核读取USB物理设备自带的描述信息并存入终端的内存中,USB客户端从内存中读取描述信息并根据所读取的描述信息识别到USB物理设备,之后USB客户端将USB物理设备绑定至通用驱动,并通过通用驱动控制USB物理设备重定向至远程虚拟桌面系统。但是在实际应用中,终端中的某些应用程序也会使用插入终端的物理USB设备,比如在终端的用户态中存在程序1,且程序1也需要使用物理USB设备,此时就会将当前USB物理设备所绑定的内核驱动强制解绑,若当前USB物理设备所绑定的驱动为USB客户端进行重定向的过程中所用的通用驱动,则就会导致重定向的过程中断,使得物理USB设备无法正常映射到具有远程虚拟桌面系统的服务器,导致远程虚拟桌面系统中的应用不能正常调用本地终端的输入输出设备。
发明内容
本发明的实施例提供一种建立设备映射的方法及装置,能够使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种建立设备映射的方法,所述方法用于一种远程桌面系统,所述远程桌面系统包括客户机和服务器,所述客户机外接有物理设备,所述服务器包括虚拟设备;所述客户机上安装通用驱动和第三方驱动,所述客户机上存在的应用程序至少包括第一应用程序和第二应用程序;所述第一应用程序为所述远程桌面系统的客户端程序,所述第一应用程序用于通过所述通用驱动控制所述物理设备,并建立所述物理设备与所述虚拟设备的映射,所述第一应用程序识别到所述物理设备时,触发所述客户机加载所述通用驱动;所述第二应用程序用于通过所述第三方驱动控制所述物理设备,所述第二应用程序识别到所述物理设备时,触发所述客户机加载所述第三方驱动;
所述方法包括:
所述客户机获取所述物理设备的识别信息,所述识别信息包括用于描述所述物理设备的关键字段,所述关键字段用于所述客户机上存在的应用程序识别所述物理设备;
在所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态;其中,处于所述第一状态的所述识别信息中的关键字段能够被所述客户机上存在的应用程序读取,并用于识别所述物理设备;处于所述第一状态的关键字段与处于所述第二状态的关键字段的不相同,处于所述第二状态的所述识别信息中的关键字段无法被所述客户机上存在的应用程序用于识别所述物理设备。
结合第一方面,在第一方面的第一种可能的实现方式中,所述将所述识别信息由第一状态修改为第二状态包括:
所述客户机对所述关键字段按位取反,并将包括了按位取反后的关键字段的识别信息作为处于所述第二状态的识别信息。
结合第一方面,或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,还包括:
在将所述识别信息由第一状态修改为第二状态之前,所述客户机根据所述服务器发送的请求信息,判断所述请求信息所指向的物理设备的设备独占事件是否触发;
若触发所述设备独占事件,则在所述客户机根据所述识别信息识别所述请求信息所指向的物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:
在所述物理设备与所述虚拟设备的映射被断开时,检测所述物理设备是否记录在独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态,其中,在所述客户机将所述识别信息由第一状态修改为第二状态之后,所述物理设备被所述客户机记录在所述独占列表中;
或者,在所述设备独占事件被取消时,检测所述物理设备是否记录在所述独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述物理设备包括USB设备,所述请求信息为携带了附加信息的USB重定向请求,所述附加信息表示所述USB设备的设备独占事件触发或不触发,所述方法还包括:
所述客户机通过所述客户端程序接收所述服务器发送的所述USB重定向请求,并将所述USB重定向请求传输至所述通用驱动;
当所述附加信息表示所述USB设备的设备独占事件触发时,所述客户机通过所述通用驱动将所述识别信息由第一状态修改为第二状态,并将所述物理设备记录在所述独占列表中;并通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输;
当所述附加信息表示所述USB设备的设备独占事件不触发时,所述客户机通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
第二方面,本发明的实施例提供一种建立设备映射的装置,所述装置用于一种远程桌面系统中的客户机,所述远程桌面系统包括所述客户机和服务器,所述客户机外接有物理设备,所述服务器包括虚拟设备;所述客户机上安装通用驱动和第三方驱动,所述客户机上存在的应用程序至少包括第一应用程序和第二应用程序;所述第一应用程序为所述远程桌面系统的客户端程序,所述第一应用程序用于通过所述通用驱动控制所述物理设备,并建立所述物理设备与所述虚拟设备的映射,所述第一应用程序识别到所述物理设备时,触发所述客户机加载所述通用驱动;所述第二应用程序用于通过所述第三方驱动控制所述物理设备,所述第二应用程序识别到所述物理设备时,触发所述客户机加载所述第三方驱动;
所述装置包括:
第一获取模块,用于获取所述物理设备的识别信息,所述识别信息包括用于描述所述物理设备的关键字段,所述关键字段用于所述客户机上存在的应用程序识别所述物理设备;
第一处理模块,用于在所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态;其中,处于所述第一状态的所述识别信息中的关键字段能够被所述客户机上存在的应用程序读取,并用于识别所述物理设备;处于所述第一状态的关键字段与处于所述第二状态的关键字段的不相同,处于所述第二状态的所述识别信息中的关键字段无法被所述客户机上存在的应用程序用于识别所述物理设备。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一处理模块包括:
第一处理子模块,用于对所述关键字段按位取反,并将包括了按位取反后的关键字段的识别信息作为处于所述第二状态的识别信息。
结合第二方面,或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括:
判断模块,用于在将所述识别信息由第一状态修改为第二状态之前,根据所述服务器发送的请求信息,判断所述请求信息所指向的物理设备的设备独占事件是否触发;
第二处理模块,用于若触发所述设备独占事件,则在所述客户机根据所述识别信息识别所述请求信息所指向的物理设备后,将所述识别信息由第一状态修改为第二状态。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:
第三处理模块,用于在所述物理设备与所述虚拟设备的映射被断开时,检测所述物理设备是否记录在独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态,其中,在所述客户机将所述识别信息由第一状态修改为第二状态之后,所述物理设备被所述客户机记录在所述独占列表中;
或者,在所述设备独占事件被取消时,检测所述物理设备是否记录在所述独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述物理设备包括USB设备,所述请求信息为携带了附加信息的USB重定向请求,所述附加信息表示所述USB设备的设备独占事件触发或不触发,所述装置还包括:
第四处理模块,用于通过所述客户端程序接收所述服务器发送的所述USB重定向请求,并将所述USB重定向请求传输至所述通用驱动;
当所述附加信息表示所述USB设备的设备独占事件触发时,通过所述通用驱动将所述识别信息由第一状态修改为第二状态,并将所述物理设备记录在所述独占列表中;并通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输;
当所述附加信息表示所述USB设备的设备独占事件不触发时,通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
本发明实施例提供的一种建立设备映射的方法及装置,能够在客户机获取设备的识别信息,并根据识别信息识别到设备后,将识别信息由第一状态修改为第二状态,使客户机中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,相比较于现有技术,本发明能够通过修改设备的识别信息的状态,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本现有技术的具体应用场景的示意图;
图2为本发明实施例提供的一种建立设备映射的方法的流程图;
图3为本发明实施例提供的另一种建立设备映射的方法的流程图;
图4为本发明实施例提供的另一种建立设备映射的方法的流程图;
图5、图6为本发明实施例提供的另一种建立设备映射的方法的流程图;
图7为本发明实施例提供的另一种建立设备映射的方法的流程图;
图7a为本发明实施例提供的一种建立设备映射的方法的具体数据交互流程图;
图8为本发明实施例提供的一种建立设备映射的装置的结构示意图;
图8a、图8b、图8c、图8d为本发明实施例提供的一种建立设备映射的装置的结构示意图;
图9为本发明实施例提供的一种客户机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例可以应用于一种远程桌面系统,所述远程桌面系统至少包括客户机和服务器,所述客户机外接有物理设备,所述服务器包括虚拟设备;所述客户机上安装通用驱动和第三方驱动,所述客户机上存在的应用程序至少包括第一应用程序和第二应用程序;所述第一应用程序为所述远程桌面系统的客户端程序,所述第一应用程序用于通过所述通用驱动控制所述物理设备,并建立所述物理设备与所述虚拟设备的映射,所述第一应用程序识别到所述物理设备时,触发所述客户机加载所述通用驱动;所述第二应用程序用于通过所述第三方驱动控制所述物理设备,所述第二应用程序识别到所述物理设备时,触发所述客户机加载所述第三方驱动。例如:如图1所示,程序1是一种基于用户态驱动开发的应用程序,可以作为第二应用程序;USB客户端可以作为第一应用程序。
以图1为例,在物理USB设备重定向的过程中,USB客户端或USB服务端会向客户机发送请求,触发客户机利用USB通用驱动针对物理USB设备开启重定向,就会强制解绑物理USB设备在默认状态下绑定的USB设备驱动,再把自身的USB通用驱动绑定到物理USB设备上,从而USB客户端占用了物理USB设备,并将物理USB设备用于重定向。其中,USB服务端位于服务器,USB设备驱动和USB通用驱动工作在内核态,属于内核态驱动;而“基于用户态驱动开发的应用程序”会通过相关系统API,强制解绑定物理USB设备当前绑定的USB内核态驱动,比如USB通用驱动,然后直接与物理USB设备进行交互,从而抢占物理USB设备。
本发明实施例提供一种建立设备映射的方法,如图2所示,包括:
101、所述客户机获取所述物理设备的识别信息。
其中,所述识别信息包括用于描述所述物理设备的关键字段,所述关键字段用于所述客户机上存在的应用程序识别所述物理设备。在识别信息中所包括的关键字段可以是一种或是多种的组合,例如:在表一中记载的是MAC OS中几种关键字段的可能组合方式:
idVendor+idProduct+bcdDevice |
idVendor+idProduct |
idVendor+bDeviceSubClass+bDeviceProtocol |
idVendor+bDeviceSubClass |
bDeviceClass+bDeviceSubClass+bDeviceProtocol |
bDeviceClass+bDeviceSubClass |
idVendor+idProduct+bInterfaceNumber+bConfigurationValue+bcdDevice |
idVendor+idProduct+bInterfaceNumber+bConfigurationValue |
idVendor+bInterfaceSubClass+bInterfaceProtocol |
idVendor+bInterfaceSubClass |
bInterfaceClass+bInterfaceSubClass+bInterfaceProtocol |
bInterfaceClass+bInterfaceSubClass |
表一
需要说明的是,识别信息中的关键字段的组合方式并不限定,可以是依据现有标准协议中制定的组合,也可以由技术人员根据具体的情况设定,比如:对于一些免驱动的USB设备,客户机的操作系统一般不会关注idVendor+idProduct字段,而会关注其它标识字段。客户机的操作系统将关键字段读取并存入内存,以及客户机中的应用程序如何读取内存中的关键字段的具体实现方式,可以参照现有技术手段实现。
在本实施例中,当客户机上插入设备,客户机中使用通用驱动的子系统监听到物理USB设备插入的事件通知时,由客户机获取插入客户机的物理USB设备的识别信息;或者,在客户机子系统运行起来之前,物理USB设备已经插入客户机,客户机通过自动的遍历查询,周期性获取物理USB设备的识别信息。
102、所述客户机中的所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态。
其中,处于所述第一状态的所述识别信息中的关键字段能够被所述客户机上存在的应用程序读取,并用于识别所述物理设备;处于所述第一状态的关键字段与处于所述第二状态的关键字段的不相同,处于所述第二状态的所述识别信息中的关键字段无法被所述客户机上存在的应用程序用于识别所述物理设备。
在本实施例中,当客户机根据所获取的识别信息识别到插入的设备后,由客户机将所获取的识别信息由第一状态修改为第二状态。需要说明的是,由于第一应用程序已根据修改前的识别信息识别到了物理设备,因此第一应用程序根据处于第二状态的识别信息能否识别到物理设备,可以不做限定。本发明实施例提供的一种建立设备映射的方法,能够在客户机获取设备的识别信息,并根据识别信息识别到设备后,将识别信息由第一状态修改为第二状态,使客户机中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,相比较于现有技术,本发明能够通过修改设备的识别信息的状态,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
在本实施例中,所述识别信息包括所述物理设备的内核驱动中的关键字段,所述关键字段的默认状态为所述第一状态。因此,在如图2所示的实现方式的基础上,102可以实现为如图3所示的201:
201、所述客户机对所述关键字段按位取反,并将包括了按位取反后的关键字段的识别信息作为处于所述第二状态的识别信息。
其中,当客户机根据所获取的识别信息识别到插入的设备后,由具有正在运行通用驱动的子系统的客户机将识别信息中的关键字段按位取反,将包括了按位取反后的关键字段的识别信息作为处于第二状态的识别信息,并在执行完毕修改过程后,可以将该设备记录在独占列表中,以便在物理设备与虚拟设备的映射被断开时,或者在设备独占事件被取消时,将识别信息由第二状态修改为第一状态。其中,在客户机将识别信息由第一状态修改为第二状态之后,物理设备被客户机记录在独占列表中。
例如:当物理USB设备插入客户机时,具有正在运行通用驱动的子系统的客户机获取到物理USB设备的识别信息,根据识别信息识别到所插入的物理USB设备,并针对udev的物理USB设备描述descriptor结构体中用于匹配的关键字段进行按位取反的修改过程,具体修改内容如下:
udev->descriptor.idProduct=~udev->descriptor.idProduct;
udev->descriptor.idVendor=~udev->descriptor.idVendor;
udev->descriptor.bDeviceClass=~udev->descriptor.bDeviceClass;
udev->descriptor.bDeviceProtocol=~udev->descriptor.bDeviceProtocol;
udev->descriptor.bDeviceSubClass=~udev->descriptor.bDeviceSubClass;
udev->descriptor.bcdDevice=~udev->descriptor.bcdDevice。
需要说明的是,将识别信息由第一状态修改为第二状态的方式不仅限于按位取反,还可以包括其他的修改方式。例如:所述客户机通过常用的加密算法对所述关键字段进行加密计算,并得到与所述关键字段的长度一致的加密后的字段,并将加密后的字段作为第二状态的识别信息。再例如:所述客户机通过字段移位的方法对所述关键字段进行向左移位或者向右移位,并得到与所述关键字段的长度一致的移位后的关键字段,并将包括了移位后的关键字段的识别信息作为第二状态的识别信息。比如:支持策略配置提供,PID(1,100)和VID(1,200),表示对于独占设备,把识别信息中idProduct(产品ID)=1的字段,以及idVendor(供应商ID)=1的字段,修改为idProduct=100,idVendor=200。其中,在识别信息中idProduct(产品ID)=1的字段,idVendor(供应商ID)=1的字段修改前为第一状态;当修改为idProduct=100,idVendor=200时为第二状态。
并且,客户机根据识别信息识别到需要采用独占方式映射的设备后,可以将处于第一状态的识别信息,以及采用独占方式映射的物理设备记录在独占列表中,以便在映射被断开时或者在设备独占事件被取消时,客户机将包括了关键字段的识别信息由第二状态修改为第一状态。
本发明实施例提供的一种建立设备映射的方法,能够在客户机获取设备的识别信息,并根据识别信息识别到设备后,将识别信息中的关键字段,通过按位取反的方式由第一状态修改为第二状态,使客户机中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,相比较于现有技术,本发明能够通过修改识别信息中的关键字段,从而修改设备的识别信息的状态,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
在本实施例中,在如图2或如图3所示的实现方式的基础上,还可以实现为如图4所示的实现方式:
301、在将识别信息由第一状态修改为第二状态之前,所述客户机根据所述服务器发送的请求信息,判断所述请求信息所指向的物理设备的设备独占事件是否触发。
例如:在客户机上插入3个物理USB设备,其中,物理USB设备1、物理USB设备2需要与虚拟设备建立映射,物理USB设备3不需要与虚拟设备建立映射,则获取到3个物理USB设备的信息后,通过客户端向服务端发送,服务端根据3个物理USB设备的信息,结合策略配置进行判断,确认物理USB设备1、物理USB设备2需要重定向,以及是否独占,物理USB设备3不需要重定向;根据每个物理USB设备的信息生成请求信息,并通过客户端转发给通用驱动。
其中,请求信息中至少包括是否重定向,以及是否独占方式进行重定向的指令。
在本实施例中,当客户机接收到服务器发送的请求信息后,根据服务端返回的请求信息,请求信息用于表示物理USB设备的处理方式,物理USB设备的处理方式至少包括了独占重定向、非独占重定向和不重定向,比如:请求信息记录了物理USB设备1的状态为独占重定向,物理USB设备2的状态为非独占重定向,以及物理USB设备3的状态为不重定向,当客户机接收到该请求信息后,根据请求信息判断物理USB设备1触发设备独占事件,物理USB设备2通过现有技术手段进行重定向,物理USB设备3不触发设备重定向事件。
302、若触发所述设备独占事件,则在所述客户机根据所述识别信息识别所述请求信息所指向的物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态。
若未触发所述设备独占事件,则不作独占处理。
其中,不作独占处理可以实现为不进行物理设备的状态信息的修改,且不将物理设备加入独占列表。
例如:当客户机接收到服务器发送的请求信息后,根据请求信息判断物理USB设备1触发设备独占重定向事件,物理USB设备2触发非独占重定向事件,物理USB设备3不触发设备重定向事件,则在客户机根据识别信息识别请求信息所指向的物理USB设备1后,将物理USB设备1的识别信息由第一状态修改为第二状态;物理USB设备2触发非独占重定向事件,物理USB设备3不触发设备重定向事件,则不进行物理设备的状态信息的修改,且不将物理设备加入独占列表。
在本实施例中,通常由加载了USB内核驱动的子系统先检测到物理USB设备插入客户机,并读取该物理USB设备的识别信息以及其他描述符信息,比如:设备描述符、接口描述符、配置描述符等,再向各监听器广播该物理USB设备插入客户机的插入事件通知,以便将物理USB设备的识别信息通知客户端或服务端,并询问是否需要映射该物理USB设备,客户端或服务端根据策略配置情况,返回请求信息,请求信息涉及是否需要重定向,以及如果重定向时,采用的重定向方式的指令。
需要说明的是,识别信息可以多次获取,即在获取请求信息之后,还可以根据需要再次获取识别信息。
本发明实施例提供的一种建立设备映射的方法,能够根据服务器发送的请求信息,判断针对请求信息所指向的物理设备触发独占事件,在客户机获取设备的识别信息,并根据识别信息识别到设备后,将识别信息由第一状态修改为第二状态,使客户机中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,相比较于现有技术,本发明能够根据服务器发送的请求信息,判断针对请求信息所指向的物理设备触发独占事件,通过修改触发独占事件的设备的识别信息的状态,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
在本实施例中,在所述物理设备与所述虚拟设备的映射被断开时,或者在所述设备独占事件被取消时,若所述物理设备记录在独占列表中,则所述客户机将所述识别信息由所述第二状态修改为第一状态,并将该物理设备从独占列表中删除。因此,在如图4所示的实现方式的基础上,还可以实现为如图5所示,或如图6所示的实现方式:
401、在所述物理设备与所述虚拟设备的映射被断开时,检测所述物理设备是否记录在独占列表中。
或者,
402、在所述设备独占事件被取消时,检测所述物理设备是否记录在所述独占列表中。
403、若在所述物理设备与所述虚拟设备的映射被断开时,或者在所述设备独占事件被取消时,所述物理设备记录在独占列表中,则所述客户机将所述识别信息由所述第二状态修改为第一状态。
其中,在所述客户机将所述识别信息由第一状态修改为第二状态之后,所述物理设备被所述客户机记录在所述独占列表中。
在物理设备与虚拟设备的映射被断开时,或者在设备独占事件被取消时,检测该物理设备是否记录在独占列表中,若该物理设备已经记录在独占列表中,则客户机将识别信息,由第二状态修改为第一状态,并将该物理设备从独占列表中删除;若该物理设备未被记录在独占列表中,则不作处理。
本发明实施例提供的一种建立设备映射的方法,能够根据服务器发送的请求信息,判断针对请求信息所指向的物理设备触发独占事件,在客户机获取设备的识别信息,并根据识别信息识别到设备后,将识别信息由第一状态修改为第二状态,使客户机中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,从而完成该物理设备与虚拟设备的映射;在物理设备与虚拟设备的映射被断开时,或者在设备独占事件被取消时,若物理设备记录在独占列表中,则客户机将识别信息由第二状态修改为第一状态,并将该物理设备从独占列表中删除。相比较于现有技术中,本发明的客户机将识别信息由第一状态修改为第二状态,且在物理设备与虚拟设备的映射被断开时,或者在设备独占事件被取消时,若物理设备记录在独占列表中,则客户机将识别信息由第二状态修改为第一状态,并将该物理设备从独占列表中删除,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
在本实施例中,所述物理设备包括USB设备,所述请求信息为携带了附加信息的USB重定向请求,所述附加信息表示所述USB设备的设备独占事件触发或不触发,因此,在如图5或图6所示的实现方式的基础上,还可以实现为如图7所示的实现方式:
501、所述客户机通过所述客户端程序接收所述服务器发送的所述USB重定向请求,并将所述USB重定向请求传输至所述通用驱动。
502、判断所述附加信息表示所述USB设备的设备独占事件是否触发。
503、当所述附加信息表示所述USB设备的设备独占事件触发时,所述客户机通过所述通用驱动将所述识别信息由第一状态修改为第二状态,并将所述物理设备记录在所述独占列表中;并通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
504、当所述附加信息表示所述USB设备的设备独占事件不触发时,所述客户机通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
在客户机上用于实现远程虚拟桌面系统的软件程序可以称为客户端,在服务器上用于实现远程虚拟桌面系统的软件程序可以称为服务端。在本实施例中,在重定向过程中,即在客户机根据所获取的插入设备的识别信息,建立客户机上所插入的USB设备与虚拟USB设备的映射的过程中,如图7a所示,具体的数据交互过程如下:
当正在运行通用驱动的子系统监听到,客户机上插入USB设备的事件通知时,在通用驱动已被打开的情况下,封装生成的相关数据,并通知客户端读取;
客户端向正在运行通用驱动的子系统读取封装数据,提取USB设备的相关数据信息,并将新插入的USB设备的相关数据信息,通过虚拟通道向服务端发送;
服务端接收到USB设备的相关数据信息,结合当前配置的重定向策略及独占策略,判断新插入的USB设备是否允许映射;需要说明的,判断新插入的USB设备是否允许映射也可在客户端进行,本实施例对此不作具体限定。
如果允许映射,则服务端向客户端发送开启该USB设备重定向的通知,以及“是否独占”的信息,并由客户端把携带附加信息,以及服务端开启USB设备重定向的请求,转发给正在运行通用驱动的子系统处理,需要说明的是,当附加信息表示USB设备的设备独占事件触发时,客户机通过通用驱动将识别信息由第一状态修改为第二状态,并将物理设备记录在独占列表中,并通过通用驱动将USB重定向的处理结果向客户端程序传输;当附加信息表示USB设备的设备独占事件不触发时,客户机通过通用驱动将USB重定向的处理结果向客户端程序传输;
正在运行通用驱动的子系统接收到请求、附加信息,分别采用不同方式开启重定向,对USB设备进行驱动替换、认领接口,并通知客户端读取封装后的处理结果,开启USB设备的重定向;客户端向正在运行总线驱动的虚拟桌面系统读取封装后的处理结果,提取出响应结果,并将响应结果向服务端发送;
服务端分析接收到的响应结果,判断是否成功开启重定向,若成功开启,则向正在运行总线驱动的虚拟桌面系统发送创建虚拟USB设备的通知;
正在运行总线驱动的虚拟桌面系统根据服务端发送的请求,创建虚拟USB设备,之后服务器就会感知到新USB设备出现,并做出相应的处理。
本发明实施例提供的一种建立设备映射的方法,能够在客户机获取设备的识别信息,并根据识别信息识别到设备后,将识别信息由第一状态修改为第二状态,使客户机中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,相比较于现有技术,本发明能够通过修改设备的识别信息的状态,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
本发明实施例提供一种建立设备映射的装置60,如图8所示,所述装置60用于一种远程桌面系统,所述远程桌面系统包括客户机和服务器,所述客户机外接有物理设备,所述服务器包括虚拟设备;所述客户机上安装通用驱动和第三方驱动,所述客户机上存在的应用程序至少包括第一应用程序和第二应用程序;所述第一应用程序为所述远程桌面系统的客户端程序,所述第一应用程序用于通过所述通用驱动控制所述物理设备,并建立所述物理设备与所述虚拟设备的映射,所述第一应用程序识别到所述物理设备时,触发所述客户机加载所述通用驱动;所述第二应用程序用于通过所述第三方驱动控制所述物理设备,所述第二应用程序识别到所述物理设备时,触发所述客户机加载所述第三方驱动;
所述装置60包括:
第一获取模块61,用于获取所述物理设备的识别信息,所述识别信息包括用于描述所述物理设备的关键字段,所述关键字段用于所述客户机上存在的应用程序识别所述物理设备。
第一处理模块62,用于在所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态;其中,处于所述第一状态的所述识别信息中的关键字段能够被所述客户机上存在的应用程序读取,并用于识别所述物理设备;处于所述第一状态的关键字段与处于所述第二状态的关键字段的不相同,处于所述第二状态的所述识别信息中的关键字段无法被所述客户机上存在的应用程序用于识别所述物理设备。
在本实施例中,如图8a所示,所述第一处理模块62包括:
第一处理子模块621,用于对所述关键字段按位取反,并将包括了按位取反后的关键字段的识别信息作为处于所述第二状态的识别信息。
在本实施例中,在如图8所示或如图8a所示的基础上,如图8b所示,所述装置60还包括:
判断模块63,用于在将所述识别信息由第一状态修改为第二状态之前,根据所述服务器发送的请求信息,判断所述请求信息所指向的物理设备的设备独占事件是否触发。
第二处理模块64,用于若触发所述设备独占事件,则在所述客户机根据所述识别信息识别所述请求信息所指向的物理设备后,将所述识别信息由第一状态修改为第二状态。
在本实施例中,在如图8b所示的基础上,如图8c所示,所述装置60还包括:
第三处理模块65,用于在所述物理设备与所述虚拟设备的映射被断开时,检测所述物理设备是否记录在独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态,其中,在所述客户机将所述识别信息由第一状态修改为第二状态之后,所述物理设备被所述客户机记录在所述独占列表中;
或者,在所述设备独占事件被取消时,检测所述物理设备是否记录在所述独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态。
在本实施例中,在如图8c所示的基础上,所述物理设备包括USB设备,所述请求信息为携带了附加信息的USB重定向请求,所述附加信息表示所述USB设备的设备独占事件触发或不触发,如图8d所示,所述装置60还包括:
第四处理模块66,用于通过所述客户端程序接收所述服务器发送的所述USB重定向请求,并将所述USB重定向请求传输至所述通用驱动;
当所述附加信息表示所述USB设备的设备独占事件触发时,通过所述通用驱动将所述识别信息由第一状态修改为第二状态,并将所述物理设备记录在所述独占列表中;并通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输;
当所述附加信息表示所述USB设备的设备独占事件不触发时,通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
本发明实施例提供的一种建立设备映射的装置,能够在客户机获取设备的识别信息,并根据识别信息识别到设备后,将识别信息由第一状态修改为第二状态,使客户机中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,相比较于现有技术,本发明能够通过修改设备的识别信息的状态,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
本发明实施例提供了一种客户机设备70,如图9所示,至少包括:处理器701、网络接口702、存储器703和通信总线704;所述通信总线704用于实现所述处理器701、所述网络接口702和所述存储器703之间的连接通信;所述存储器703,用于存储所述客户机设备70在运行过程中所涉及的数据;可选的,还包含用户接口705,包括显示器,键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏)。存储器703可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器703可选的可以包含至少一个位于远离前述处理器701的存储装置;其中,所述客户机设备70用于一种远程桌面系统,所述远程桌面系统包括客户机设备70和服务器,所述客户机设备70外接有物理设备,所述服务器包括虚拟设备;所述客户机设备70上安装通用驱动和第三方驱动,所述客户机设备70上存在的应用程序至少包括第一应用程序和第二应用程序;所述第一应用程序为所述远程桌面系统的客户端程序,所述第一应用程序用于通过所述通用驱动控制所述物理设备,并建立所述物理设备与所述虚拟设备的映射,所述第一应用程序识别到所述物理设备时,触发所述客户机设备70加载所述通用驱动;所述第二应用程序用于通过所述第三方驱动控制所述物理设备,所述第二应用程序识别到所述物理设备时,触发所述客户机设备70加载所述第三方驱动。
在一些实施方式中,存储器703存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
其中操作业务系统7031,包含各种业务系统程序,用于实现各种基础业务以及处理基于硬件的任务;应用程序7032,包含各种应用程序,用于实现各种应用业务。
在本实施例中,所述网络接口702,用于获取所述物理设备的识别信息,所述识别信息包括用于描述所述物理设备的关键字段,所述关键字段用于所述客户机设备70上存在的应用程序识别所述物理设备。
所述处理器701,用于在所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机设备70将所述识别信息由第一状态修改为第二状态;其中,处于所述第一状态的所述识别信息中的关键字段能够被所述客户机设备70上存在的应用程序读取,并用于识别所述物理设备;处于所述第一状态的关键字段与处于所述第二状态的关键字段的不相同,处于所述第二状态的所述识别信息中的关键字段无法被所述客户机设备70上存在的应用程序用于识别所述物理设备。
在本实施例中,所述处理器701,具体用于对所述关键字段按位取反,并将包括了按位取反后的关键字段的识别信息作为处于所述第二状态的识别信息。
在本实施例中,所述处理器701,还用于在将所述识别信息由第一状态修改为第二状态之前,根据所述服务器发送的请求信息,判断所述请求信息所指向的物理设备的设备独占事件是否触发;
若触发所述设备独占事件,则在所述客户机设备70根据所述识别信息识别所述请求信息所指向的物理设备后,将所述识别信息由第一状态修改为第二状态。
在本实施例中,所述处理器701,还用于在所述物理设备与所述虚拟设备的映射被断开时,检测所述物理设备是否记录在独占列表中,若是,则所述客户机设备70将所述识别信息由所述第二状态修改为第一状态,其中,在所述客户机设备70将所述识别信息由第一状态修改为第二状态之后,所述物理设备被所述客户机设备70记录在所述独占列表中;
或者,在所述设备独占事件被取消时,检测所述物理设备是否记录在所述独占列表中,若是,则所述客户机设备70将所述识别信息由所述第二状态修改为第一状态。
在本实施例中,所述物理设备包括USB设备,所述请求信息为携带了附加信息的USB重定向请求,所述附加信息表示所述USB设备的设备独占事件触发或不触发;所述处理器701,还用于通过所述客户端程序接收所述服务器发送的所述USB重定向请求,并将所述USB重定向请求传输至所述通用驱动;
当所述附加信息表示所述USB设备的设备独占事件触发时,通过所述通用驱动将所述识别信息由第一状态修改为第二状态,并将所述物理设备记录在所述独占列表中;并通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输;
当所述附加信息表示所述USB设备的设备独占事件不触发时,通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
本发明实施例提供的一种客户机设备,能够在客户机设备获取设备的识别信息,并根据识别信息识别到设备后,将识别信息由第一状态修改为第二状态,使客户机设备中基于用户态驱动开发的应用程序,即第二应用程序,无法识别到该物理设备,相比较于现有技术,本发明能够通过修改设备的识别信息的状态,避免物理设备的驱动管理混乱,使物理设备与虚拟设备的映射不被断开,保证远程虚拟桌面系统中的应用能够正常使用该物理设备而不被中断。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种建立设备映射的方法,其特征在于,所述方法用于一种远程桌面系统,所述远程桌面系统包括客户机和服务器,所述客户机外接有物理设备,所述服务器包括虚拟设备;所述客户机上安装通用驱动和第三方驱动,所述客户机上存在的应用程序至少包括第一应用程序和第二应用程序;所述第一应用程序为所述远程桌面系统的客户端程序,所述第一应用程序用于通过所述通用驱动控制所述物理设备,并建立所述物理设备与所述虚拟设备的映射,所述第一应用程序识别到所述物理设备时,触发所述客户机加载所述通用驱动;所述第二应用程序用于通过所述第三方驱动控制所述物理设备,所述第二应用程序识别到所述物理设备时,触发所述客户机加载所述第三方驱动;
所述方法包括:
所述客户机获取所述物理设备的识别信息,所述识别信息包括用于描述所述物理设备的关键字段,所述关键字段用于所述客户机上存在的应用程序识别所述物理设备;
在所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态;其中,处于所述第一状态的所述识别信息中的关键字段能够被所述客户机上存在的应用程序读取,并用于识别所述物理设备;处于所述第一状态的关键字段与处于所述第二状态的关键字段的不相同,处于所述第二状态的所述识别信息中的关键字段无法被所述客户机上存在的应用程序用于识别所述物理设备。
2.根据权利要求1所述的建立设备映射的方法,其特征在于,所述将所述识别信息由第一状态修改为第二状态包括:
所述客户机对所述关键字段按位取反,并将包括了按位取反后的关键字段的识别信息作为处于所述第二状态的识别信息。
3.根据权利要求1或2所述的建立设备映射的方法,其特征在于,还包括:
在将所述识别信息由第一状态修改为第二状态之前,所述客户机根据所述服务器发送的请求信息,判断所述请求信息所指向的物理设备的设备独占事件是否触发;
若触发所述设备独占事件,则在所述客户机根据所述识别信息识别所述请求信息所指向的物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态。
4.根据权利要求3所述的建立设备映射的方法,其特征在于,还包括:
在所述物理设备与所述虚拟设备的映射被断开时,检测所述物理设备是否记录在独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态,其中,在所述客户机将所述识别信息由第一状态修改为第二状态之后,所述物理设备被所述客户机记录在所述独占列表中;
或者,在所述设备独占事件被取消时,检测所述物理设备是否记录在所述独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态。
5.根据权利要求4所述的建立设备映射的方法,其特征在于,所述物理设备包括USB设备,所述请求信息为携带了附加信息的USB重定向请求,所述附加信息表示所述USB设备的设备独占事件触发或不触发,所述方法还包括:
所述客户机通过所述客户端程序接收所述服务器发送的所述USB重定向请求,并将所述USB重定向请求传输至所述通用驱动;
当所述附加信息表示所述USB设备的设备独占事件触发时,所述客户机通过所述通用驱动将所述识别信息由第一状态修改为第二状态,并将所述物理设备记录在所述独占列表中;并通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输;
当所述附加信息表示所述USB设备的设备独占事件不触发时,所述客户机通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
6.一种建立设备映射的装置,其特征在于,所述装置用于一种远程桌面系统中的客户机,所述远程桌面系统包括所述客户机和服务器,所述客户机外接有物理设备,所述服务器包括虚拟设备;所述客户机上安装通用驱动和第三方驱动,所述客户机上存在的应用程序至少包括第一应用程序和第二应用程序;所述第一应用程序为所述远程桌面系统的客户端程序,所述第一应用程序用于通过所述通用驱动控制所述物理设备,并建立所述物理设备与所述虚拟设备的映射,所述第一应用程序识别到所述物理设备时,触发所述客户机加载所述通用驱动;所述第二应用程序用于通过所述第三方驱动控制所述物理设备,所述第二应用程序识别到所述物理设备时,触发所述客户机加载所述第三方驱动;
所述装置包括:
第一获取模块,用于获取所述物理设备的识别信息,所述识别信息包括用于描述所述物理设备的关键字段,所述关键字段用于所述客户机上存在的应用程序识别所述物理设备;
第一处理模块,用于在所述第一应用程序根据所述识别信息识别到所述物理设备后,所述客户机将所述识别信息由第一状态修改为第二状态;其中,处于所述第一状态的所述识别信息中的关键字段能够被所述客户机上存在的应用程序读取,并用于识别所述物理设备;处于所述第一状态的关键字段与处于所述第二状态的关键字段的不相同,处于所述第二状态的所述识别信息中的关键字段无法被所述客户机上存在的应用程序用于识别所述物理设备。
7.根据权利要求6所述的建立设备映射的装置,其特征在于,所述第一处理模块包括:
第一处理子模块,用于对所述关键字段按位取反,并将包括了按位取反后的关键字段的识别信息作为处于所述第二状态的识别信息。
8.根据权利要求6或7所述的建立设备映射的装置,其特征在于,还包括:
判断模块,用于在将所述识别信息由第一状态修改为第二状态之前,根据所述服务器发送的请求信息,判断所述请求信息所指向的物理设备的设备独占事件是否触发;
第二处理模块,用于若触发所述设备独占事件,则在所述客户机根据所述识别信息识别所述请求信息所指向的物理设备后,将所述识别信息由第一状态修改为第二状态。
9.根据权利要求8所述的建立设备映射的装置,其特征在于,还包括:
第三处理模块,用于在所述物理设备与所述虚拟设备的映射被断开时,检测所述物理设备是否记录在独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态,其中,在所述客户机将所述识别信息由第一状态修改为第二状态之后,所述物理设备被所述客户机记录在所述独占列表中;
或者,在所述设备独占事件被取消时,检测所述物理设备是否记录在所述独占列表中,若是,则所述客户机将所述识别信息由所述第二状态修改为第一状态。
10.根据权利要求9所述的建立设备映射的装置,其特征在于,所述物理设备包括USB设备,所述请求信息为携带了附加信息的USB重定向请求,所述附加信息表示所述USB设备的设备独占事件触发或不触发,所述装置还包括:
第四处理模块,用于通过所述客户端程序接收所述服务器发送的所述USB重定向请求,并将所述USB重定向请求传输至所述通用驱动;
当所述附加信息表示所述USB设备的设备独占事件触发时,通过所述通用驱动将所述识别信息由第一状态修改为第二状态,并将所述物理设备记录在所述独占列表中;并通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输;
当所述附加信息表示所述USB设备的设备独占事件不触发时,通过所述通用驱动将USB重定向的处理结果向所述客户端程序传输。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410683064.6A CN104484291B (zh) | 2014-11-24 | 2014-11-24 | 一种建立设备映射的方法及装置 |
PCT/CN2015/083283 WO2016082549A1 (zh) | 2014-11-24 | 2015-07-03 | 一种建立设备映射的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410683064.6A CN104484291B (zh) | 2014-11-24 | 2014-11-24 | 一种建立设备映射的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484291A true CN104484291A (zh) | 2015-04-01 |
CN104484291B CN104484291B (zh) | 2017-08-25 |
Family
ID=52758834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410683064.6A Active CN104484291B (zh) | 2014-11-24 | 2014-11-24 | 一种建立设备映射的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104484291B (zh) |
WO (1) | WO2016082549A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183674A (zh) * | 2015-08-26 | 2015-12-23 | 深圳市深信服电子科技有限公司 | Usb虚拟化网络映射方法、装置以及usb集线器 |
CN105183675A (zh) * | 2015-09-30 | 2015-12-23 | 华为技术有限公司 | 对usb设备的访问方法、装置、终端、服务器及系统 |
WO2016082549A1 (zh) * | 2014-11-24 | 2016-06-02 | 华为技术有限公司 | 一种建立设备映射的方法及装置 |
CN105653028A (zh) * | 2015-12-25 | 2016-06-08 | 福建升腾资讯有限公司 | 一种基于远程桌面协议对人体工程学设备进行usb映射的方法 |
CN108984265A (zh) * | 2018-05-24 | 2018-12-11 | 深圳市腾讯网络信息技术有限公司 | 检测虚拟机环境的方法及装置 |
CN114090475A (zh) * | 2020-07-02 | 2022-02-25 | 中兴通讯股份有限公司 | Usb设备重定向方法、系统、电子设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099642A (zh) * | 2020-08-18 | 2020-12-18 | 西安万像电子科技有限公司 | 一种hid类设备的远端映射方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143395A1 (en) * | 2005-11-25 | 2007-06-21 | Keitaro Uehara | Computer system for sharing i/o device |
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
CN102270186A (zh) * | 2011-07-21 | 2011-12-07 | 华中科技大学 | 一种虚拟桌面外部设备支持系统 |
CN102281264A (zh) * | 2010-06-13 | 2011-12-14 | 杭州华三通信技术有限公司 | 实现usb主机远程访问的虚拟usb系统和设备及方法 |
CN103823771A (zh) * | 2014-03-04 | 2014-05-28 | 飞天诚信科技股份有限公司 | 一种远程通信方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484291B (zh) * | 2014-11-24 | 2017-08-25 | 华为技术有限公司 | 一种建立设备映射的方法及装置 |
-
2014
- 2014-11-24 CN CN201410683064.6A patent/CN104484291B/zh active Active
-
2015
- 2015-07-03 WO PCT/CN2015/083283 patent/WO2016082549A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143395A1 (en) * | 2005-11-25 | 2007-06-21 | Keitaro Uehara | Computer system for sharing i/o device |
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
CN102281264A (zh) * | 2010-06-13 | 2011-12-14 | 杭州华三通信技术有限公司 | 实现usb主机远程访问的虚拟usb系统和设备及方法 |
CN102270186A (zh) * | 2011-07-21 | 2011-12-07 | 华中科技大学 | 一种虚拟桌面外部设备支持系统 |
CN103823771A (zh) * | 2014-03-04 | 2014-05-28 | 飞天诚信科技股份有限公司 | 一种远程通信方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016082549A1 (zh) * | 2014-11-24 | 2016-06-02 | 华为技术有限公司 | 一种建立设备映射的方法及装置 |
CN105183674A (zh) * | 2015-08-26 | 2015-12-23 | 深圳市深信服电子科技有限公司 | Usb虚拟化网络映射方法、装置以及usb集线器 |
CN105183674B (zh) * | 2015-08-26 | 2019-01-08 | 深信服科技股份有限公司 | Usb虚拟化网络映射方法、装置以及usb集线器 |
CN105183675A (zh) * | 2015-09-30 | 2015-12-23 | 华为技术有限公司 | 对usb设备的访问方法、装置、终端、服务器及系统 |
CN105183675B (zh) * | 2015-09-30 | 2018-03-27 | 华为技术有限公司 | 对usb设备的访问方法、装置、终端、服务器及系统 |
US10552348B2 (en) | 2015-09-30 | 2020-02-04 | Huawei Technologies Co., Ltd. | USB device access method, apparatus and system, a terminal, and a server |
CN105653028A (zh) * | 2015-12-25 | 2016-06-08 | 福建升腾资讯有限公司 | 一种基于远程桌面协议对人体工程学设备进行usb映射的方法 |
CN105653028B (zh) * | 2015-12-25 | 2019-02-19 | 福建升腾资讯有限公司 | 一种基于远程桌面协议对人体工程学设备进行usb映射的方法 |
CN108984265A (zh) * | 2018-05-24 | 2018-12-11 | 深圳市腾讯网络信息技术有限公司 | 检测虚拟机环境的方法及装置 |
CN108984265B (zh) * | 2018-05-24 | 2020-12-15 | 深圳市腾讯网络信息技术有限公司 | 检测虚拟机环境的方法及装置 |
CN114090475A (zh) * | 2020-07-02 | 2022-02-25 | 中兴通讯股份有限公司 | Usb设备重定向方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016082549A1 (zh) | 2016-06-02 |
CN104484291B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484291B (zh) | 一种建立设备映射的方法及装置 | |
US8468288B2 (en) | Method for efficient guest operating system (OS) migration over a network | |
US10142425B2 (en) | Session reliability for a redirected USB device | |
JP5029440B2 (ja) | 情報処理システム、情報処理方法及びコンピュータプログラム | |
JP2010218347A (ja) | シンクライアントサーバシステム及びusbデバイスのドライバの管理方法 | |
WO2021134928A1 (zh) | 基于p2p网络的数据传输方法、设备、系统、装置及介质 | |
JP5351853B2 (ja) | 情報処理端末及びリソース解放方法 | |
WO2017185718A1 (zh) | 系统服务的重载方法及装置 | |
KR101620254B1 (ko) | 액세스 제어 방법, 장치, 프로그램 및 기록매체 | |
US8898312B2 (en) | Element terminal and communication system | |
WO2019090997A1 (zh) | 一种数据获取方法、装置、计算机设备及存储介质 | |
US20170257449A1 (en) | Method for forwarding traffic in application on mobile intelligent terminal | |
US9134887B2 (en) | Multi-device visual correlation interaction | |
CN110505246B (zh) | 客户端网络通讯检测方法、装置及存储介质 | |
KR102179459B1 (ko) | 멀티 클라우드 통합 관리 시스템 및 그 방법 | |
KR101601680B1 (ko) | 클라우드 컴퓨팅 방법, 이를 수행하는 클라우드 컴퓨팅 서버 및 이를 저장하는 기록매체 | |
CN113946376B (zh) | 负载调整方法、装置、电子设备及存储介质 | |
JP2017204173A (ja) | データ保護プログラム、データ保護方法及びデータ保護装置 | |
WO2015180293A1 (zh) | 云桌面的监控方法及装置 | |
JP5736346B2 (ja) | 仮想化装置、仮想化制御方法、仮想化装置制御プログラム | |
WO2014087654A1 (ja) | データ送信装置、データ送信方法、及び記録媒体 | |
WO2015078020A1 (zh) | 一种手势操作的转换方法和装置 | |
CN105975624B (zh) | 一种数据传输方法、设备和系统 | |
TWI581189B (zh) | 一種虛擬機控制系統、方法及使用者終端 | |
CN110572375B (zh) | Ip地址代理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220215 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |