CN107797947A - 一种usb设备重定向方法和装置 - Google Patents

一种usb设备重定向方法和装置 Download PDF

Info

Publication number
CN107797947A
CN107797947A CN201610804901.5A CN201610804901A CN107797947A CN 107797947 A CN107797947 A CN 107797947A CN 201610804901 A CN201610804901 A CN 201610804901A CN 107797947 A CN107797947 A CN 107797947A
Authority
CN
China
Prior art keywords
usb device
information
redirected
hub
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.)
Withdrawn
Application number
CN201610804901.5A
Other languages
English (en)
Inventor
万能飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201610804901.5A priority Critical patent/CN107797947A/zh
Priority to PCT/CN2017/099843 priority patent/WO2018041193A1/zh
Publication of CN107797947A publication Critical patent/CN107797947A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

本发明提供一种USB设备重定向方法和装置,通过从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备;将待重定向USB设备对应的设备信息结构体发送给云桌面,使得云桌面根据设备信息结构体完成待重定向USB设备的相应重定向处理。即在USB设备重定向过程中通过从USB设备列表中选择的USB设备的位置信息和根据集线器创建的物理设备对象对应的位置信息就可以确定待重定向USB设备,并对确定的该待重定向USB设备进行重定向操作。相比现有技术中需要终端本地安装各插入USB设备对应的设备驱动,以确定待重定向USB设备进行重定向的方式,减小了终端的存储压力,使重定向过程变得简单,提高了用户体验。

Description

一种USB设备重定向方法和装置
技术领域
本发明涉及通信领域,尤其涉及一种USB设备重定向方法和装置。
背景技术
USB(Universal Serial Bus,通用串行总线)设备重定向提供一种端到端的接入方案,将物理终端上的USB外设映射到云桌面中,即USB设备重定向是一种在云桌面环境下提供物理终端上的USB设备使用功能的技术。USB设备重定向将云桌面中应用程序的所有I/O请求通过网络转发给物理终端的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设备对应的设备信息结构体发送给云桌面,使云桌面根据设备信息结构体完成待重定向USB设备的相应重定向处理。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行前述的任一项的USB设备重定向方法。
本发明的有益效果是:
根据本发明实施例提供的USB设备重定向方法、装置以及计算机存储介质,通过从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备;将待重定向USB设备对应的设备信息结构体发送给云桌面,使得云桌面根据设备信息结构体完成待重定向USB设备的相应重定向处理。即在USB设备重定向过程中通过从USB设备列表中选择的USB设备的位置信息和根据集线器创建的物理设备对象对应的位置信息就可以确定待重定向USB设备,并对确定的该待重定向USB设备进行重定向操作。相比现有技术中在进行USB设备重定向时,需要终端本地安装各插入USB设备对应的设备驱动,以确定待重定向USB设备进行重定向的方式,减小了终端的存储压力,且使重定向过程变得简单,提高了用户体验。
附图说明
图1为本发明实施例一的USB设备重定向方法流程图;
图2为本发明实施例二的USB设备重定向系统示意图;
图3为本发明实施例二的USB列表生成方法流程图;
图4为本发明实施例二的USB设备重定向方法流程图;
图5为本发明实施例三的USB设备重定向装置示意图;
图6为本发明实施例三的另一USB设备重定向装置示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
实施例一:
本实施例提供一种USB设备重定向方法,请参见图1,具体包括:
步骤S101,根据从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备;
步骤S102,将待重定向USB设备对应的设备信息结构体发送给云桌面,使云桌面根据设备信息结构体完成待重定向USB设备的相应重定向处理。
具体的,在进行USB设备重定向的过程中通过将从USB设备列表中选择的USB设备对应的设备信息结构体对应的位置信息和与集线器创建的物理设备对象对应的位置信息进行对比匹配,就可以确定待重定向USB设备,然后对确定的该待重定向USB设备进行重定向操作。另外,本实施例中,确定的待重定向USB设备可以是需要进行USB设备重定向创建的USB设备,也可以是需要取消USB设备重定向功能的USB设备,其可以根据需要具体选择和设置。
对于步骤S101,根据从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设备标识具体可以是USB设备的名称等可以标识USB设备的信息。在得到从USB设备列表中选择的USB设备的位置信息后,从物理总线枚举集线器(HUB),获取各集线器创建的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物理总线驱动从物理总线枚举集线器,获取集线器信息,该集线器信息具体可以包括集线器序号信息。然后根据该集线器信息,向每个集线器发送设备信息获取消息,获取各集线器对应的USB设备的设备信息,该设备信息具体包括USB设备的VID(Vendor ID,生产厂商ID)、PID(ProductID,产品ID)、设备实例ID及对应的HUB名称和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设备列表替换客户端之前存储的USB设备列表,并显示在客户端上指定的显示界面上。
进一步的,本实施例中,确定待重定向USB设备之后,还包括:使待重定向USB设备加载预设的统一设备驱动。具体的,在确定待重定向USB设备之后,具体可以对该确定的待重定向USB设备进行模拟插拔,并更改该待重定向USB设备的设备信息,如更改USB设备的PID和VID信息,使得该待重定向USB设备加载预先安装在终端中的统一设备驱动。该统一设备驱动具体可以是更改后的设备信息对应的设备驱动。该统一设备驱动安装在终端本地,充当各待重定向USB设备对应的设备驱动,使得各待重定向USB设备根据该统一设备驱动进行重定向处理,而不需要每次安装各待重定向USB设备对应的设备驱动。另外,当该待重定向USB设备是当前重定向系统中需要进行重定向的第一个USB设备时,也可以在去确定其为待重定向USB设备后,实时安装该统一设备驱动,并加载该统一设备驱动,进行重定向处理。使用该统一设备驱动作为各待重定向USB设备对应的设备驱动,可以减小终端的存储压力,且提高了云桌面中USB设备使用的便捷性和通用性。
对于步骤S102,将待重定向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设备进行重定向的方式,减小了终端的存储压力,且使重定向过程变得简单,提高了用户体验。
实施例二:
本实施例提供一种具体的USB设备重定向系统,请参见图2,该USB设备重定向系统包括云桌面和终端,其中云桌面通常包括客户端服务程序,应用程序,设备驱动和虚拟总线;终端通常包括终端服务程序,统一设备驱动,USB物理总线驱动和USB物理设备,还包括云桌面客户端和快切驱动。该云桌面与终端通过客户端服务程序和终端服务程序建立虚拟通道,进行重定向处理。另外,该终端具体可以是瘦终端。
基于前述USB设备重定向系统,本实施例提供一种USB设备列表的生成方法,请参见图3,具体包括:
步骤S301,触发USB设备列表刷新操作。
具体的,终端上云桌面客户端设置有USB设备枚举定时器,当该USB设备枚举定时器触发时,即触发该USB设备列表的刷新操作;或者终端收到新USB设备插入消息后,触发USB设备的枚举行为,即触发该USB设备列表的刷新操作。
步骤S302,打开USB设备物理总线。
具体的,触发USB设备列表刷新操作后,云桌面客户端打开终端上USB设备的物理总线驱动,并获取其句柄;然后向该USB设备的物理总线发送HUB获取消息,获取HUB信息,该HUB获取消息具体可以是IOCTL消息;该HUB信息包括HUB序号,获取到HUB序号后存储该HUB序号。
步骤S303,枚举HUB。
具体的,在得到HUB信息后,根据该HUB信息依次向每个HUB发送位置信息获取消息,请求USB设备的设备信息;该位置信息获取消息具体可以是IOCTL消息。另外,该USB设备的设备信息包括VID、PID(、设备实例ID、USB设备对应的HUB名称和USB设备对应的端口信息等信息。通过这种方式获取USB设备的设备信息,可以获取到除USB设备的位置信息外的其他设备信息,该USB设备的位置信息具体可以通过HUB序号和USB设备的端口信息进行拼接得到。
步骤S304,得到USB设备的设备信息结构体。
具体的,由于USB设备的位置信息的结构具体类似于“Port_#0008.Hub_#0005”的形式,其中“Port_#”后的数据表示USB设备所在HUB的端口号,“Hub_#”后的数据表示USB设备所在HUB的序号。所以,在得到HUB信息和USB设备的设备信息后,根据该HUB信息中的HUB序号和USB设备的设备信息中的端口信息进行拼接得到USB设备的位置信息。然后将该位置信息与VID、PID、设备实例ID、及USB设备所在HUB的名称等信息作为该USB设备的设备信息结构体。本实施例中,在生成USB设备的设备信息结构体的过程中,不需要在终端本地安装该USB设备对应的设备驱动,即不依赖该USB设备驱动的API(Application ProgrammingInterface,应用程序编程接口)函数,就可以获取生成该USB设备的设备信息结构体的所有信息。在生成该设备信息结构体后,后续根据该设备信息结构体确定待重定向USB设备。
步骤S305,生成USB设备列表显示到客户端。
具体的,在生成USB设备的设备信息结构体后,将至少一个USB设备的名称等标识信息进行排列得到USB设备列表,将该USB设备列表显示到客户端;该USB设备列表中的各USB设备名称对应一个设备信息结构体。具体的,当选择触发该USB设备列表中的USB设备的名称等标识信息时,会定位到该USB设备对应的设备信息结构体。
本实施例提供的USB设备列表的生成方法,在生成USB设备列表时,不需要在终端本地安装各插入USB设备对应的设备驱动,通过从物理总线枚举集线器,即可以获取到集线器信息,并根据该集线器信息获取到USB设备信息,生成USB设备的设备信息结构体,然后生成包含USB设备的设备标识的USB设备列表,该USB设备的设备标识对应各USB设备的设备信息结构体。相比于现有技术中需要在终端安装各插入USB设备对应的设备驱动,通过该USB设备对应驱动的系列API函数来获取设备信息生成设备信息结构体的方式,减小了终端的存储压力,可以方便的得到USB设备的设备信息结构体,提高了用户体验。
基于前述USB设备重定向系统,本实施例该提供一种具体的USB设备重定向方法,请参见图4,具体包括:
步骤S401,选择触发USB设备列表中的一个USB设备名称。
具体的,当需要进行USB设备重定向时,选择需要进行重定向的USB设备,并点击USB设备列表中该USB设备的设备标识,该设备标识具体可以是USB设备名称。在用户点击USB设备名称后,终端接收用户的点击操作,由云桌面客户端将该USB设备的设备信息结构体发送给客户端中的“快切驱动”。
步骤S402,确定待重定向的USB设备。
具体的,“快切驱动”接收到云桌面客户端发送的USB设备的设备信息结构体后,枚举HUB创建的所有物理设备对象,并依次请求各物理设备对象对应的位置信息,然后将各物理设备对象对应的位置信息与接收到的USB设备的设备信息结构体中的位置信息进行对比,以确定待重定向USB设备。
步骤S403,使该待重定向USB设备加载预设的统一设备驱动。
具体的,确定待重定向USB设备后,对该待重定向USB设备进行软件模拟拔插。另外,由于“快切驱动”HOOK了HUB驱动中PNP(Plug-and-Play,即插即用)消息的处理函数,所以在待重定向USB设备进行软件模拟拔插的瞬间,改变该待重定向的USB设备的PID和VID信息,使得该待重定向的USB设备加载预先安装在终端里的统一设备驱动。该统一设备驱动充当每个待重定向USB设备的设备驱动参与重定向过程,即只在终端安装一个统一设备驱动,就可以完成USB设备的重定向处理;相比于现有技术中,需要安装各个待重定向USB设备的设备驱动的方式,减小了终端的存储压力,且使得重定向过程变得简单,提高了用户体验。
步骤S404,将待重定向的USB设备的设备信息结构体发送给云桌面,完成该待重定向的USB设备的重定向。
具体的,将待重定向的USB设备的设备信息结构体发送给云桌面,使得云桌面根据该待重定向的USB设备的设备信息结构体在云桌面创建该待重定向的USB设备对应的USB设备,完成该待重定向的USB设备的重定向。然后,在完成重定向后,云桌面向终端返回重定向结果,并与该终端进行通信连接,进行数据传输。
本实施例提供的USB设备重定向方法,在确定待重定向USB设备时,不需要在终端本地安装各插入USB设备对应的设备驱动,只需要从物理总线枚举集线器创建的USB设备的物理设备对象,获取物理设备对象对应的位置信息与用户从USB设备列表中选择的USB设备的位置信息进行匹配,从而确定待重定向USB设备。相比于需要在终端本地安装各插入USB设备对应的设备驱动,通过该设备驱动确定待重定向USB设备的方式,减小了终端的存储压力,且使重定向过程变得简单,提高了用户体验。
实施例三:
本实施例提供一种USB设备重定向装置,请参见图5,具体包括:待重定向USB设备确定模块51和设备信息结构体发送模块52,其中,待重定向USB设备确定模块51用于根据从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备;设备信息结构体发送模块52用于将待重定向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设备的位置信息后,从物理总线枚举集线器,获取各集线器创建的所有物理设备对象,并获取各物理设备对象对应的位置信息。在获取到物理设备对象对应的位置信息后,将该物理设备对象对应的位置信息与从设备信息结构体中解析出的位置信息进行对比,将位置信息与该设备信息结构体的位置信息匹配的物理设备对象对应的USB设备作为待重定向USB设备。本实施例中的待重定向USB设备确定模块的功能可以通过设置具体的驱动,由该驱动完成。
请参见图6,本实施例提供的USB设备重定向装置,还包括设备信息结构体生成模块53,该设备信息结构体生成模块53用于:通过从物理总线枚举集线器,获取集线器信息;根据集线器信息获取USB设备信息;根据集线器信息和USB设备信息生成设备信息结构体;设备信息结构体包括USB设备的位置信息。具体的,可以由客户端打开终端上的USB物理总线驱动,通过该USB物理总线驱动从物理总线枚举集线器,获取集线器信息,该集线器信息具体可以包括集线器序号信息。然后根据该集线器信息,向每个集线器发送设备信息获取消息,获取各集线器对应的USB设备的设备信息,
进一步的,本实施例中的设备信息结构体生成模块还用于:根据集线器信息确定集线器序号信息;根据USB设备信息确定USB设备端口信息;将USB设备端口信息和集线器序号信息进行拼接得到USB设备的位置信息。具体的,本实施例中在获取USB设备的设备信息时,是无法直接获取到USB设备的位置信息的,其具体可以根据集线器信息中的集线器序号信息和USB设备信息中的USB设备端口信息进行拼凑,得到具体的USB设备的位置信息。
请参见图6,本实施例提供的USB设备重定向装置,还包括统一设备驱动加载模块54,该统一设备驱动加载模块54用于:在确定待重定向USB设备之后,使待重定向USB设备加载预设的统一设备驱动。具体的,在确定待重定向USB设备之后,具体可以对该确定的待重定向USB设备进行模拟插拔,并更改该待重定向USB设备的如PID和VID等设备信息,使得该待重定向USB设备加载预先安装在终端中的统一设备驱动。
本实施例中,设备信息结构体发送模块52将待重定向USB设备对应的设备信息结构体发送给云桌面,使云桌面根据设备信息结构体完成待重定向USB设备的相应重定向处理,具体包括:设备信息结构体发送模块52将待重定向USB设备对应的设备信息结构体发送给云桌面,使桌面根据该待重定向USB设备的设备信息结构体在云桌面创建该待重定向的USB设备对应的虚拟USB设备,并在云桌面安装该待重定向USB设备对应的设备驱动,完成该待重定向的USB设备的重定向。在完成重定向后,云桌面向终端返回重定向结果,并与该终端进行通信连接,进行数据传输。
本发明实施例提供的USB设备重定向装置,通过根据从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备;将待重定向USB设备对应的设备信息结构体发送给云桌面,使得云桌面根据设备信息结构体完成待重定向USB设备的相应重定向处理。即在USB设备重定向过程中通过设备信息结构体对应的位置信息和通过从从USB设备列表中选择的USB设备的位置信息和根据集线器创建的物理设备对象对应的位置信息就可以确定待重定向USB设备,并对确定的该待重定向USB设备进行重定向操作。相比现有技术中在进行USB设备重定向时,需要终端本地安装各插入USB设备对应的设备驱动,以确定待重定向USB设备进行重定向的方式,减小了终端的存储压力,且使重定向过程变得简单,提高了用户体验。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种USB设备重定向方法,包括:
根据从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备;
将所述待重定向USB设备对应的设备信息结构体发送给云桌面,使云桌面根据所述设备信息结构体完成所述待重定向USB设备的相应重定向处理。
2.如权利要求1所述的USB设备重定向方法,其特征在于,根据从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备,包括:
从USB设备列表中选择的USB设备对应的设备信息结构体中获取所述USB设备的位置信息;
通过物理总线枚举集线器,获取各集线器创建的物理设备对象对应的位置信息;
将位置信息与所述从USB设备列表中选择的USB设备的位置信息相匹配的物理设备对象对应的USB设备作为所述待重定向USB设备。
3.如权利要求2所述的USB设备重定向方法,其特征在于,所述设备信息结构体的生成方式包括:
通过从物理总线枚举集线器,获取集线器信息;
根据所述集线器信息获取USB设备信息;
根据所述集线器信息和所述USB设备信息生成设备信息结构体;所述设备信息结构体包括USB设备的位置信息。
4.如权利要求3所述的USB设备重定向方法,其特征在于,所述设备信息结构体中USB设备的位置信息的生成方式包括:
根据所述集线器信息确定集线器序号信息;
根据所述USB设备信息确定USB设备端口信息;
将所述USB设备端口信息和所述集线器序号信息进行拼接得到所述USB设备的位置信息。
5.如权利要求1-4任一项所述的USB设备重定向方法,其特征在于,确定待重定向USB设备之后,还包括:
使所述待重定向USB设备加载预设的统一设备驱动。
6.一种USB设备重定向装置,包括:
待重定向USB设备确定模块,用于从USB设备列表中选择的USB设备的位置信息和集线器创建的物理设备对象对应的位置信息确定待重定向USB设备;
设备信息结构体发送模块,用于将所述待重定向USB设备对应的设备信息结构体发送给云桌面,使云桌面根据所述设备信息结构体完成所述待重定向USB设备的相应重定向处理。
7.如权利要求6所述的USB设备重定向装置,其特征在于,所述待重定向USB设备确定模块还用于:
从USB设备列表中选择的USB设备对应的设备信息结构体中获取所述USB设备的位置信息;
通过物理总线枚举集线器,获取各集线器创建的物理设备对象对应的位置信息;
将位置信息与所述从USB设备列表中选择的USB设备的位置信息相匹配的物理设备对象对应的USB设备作为所述待重定向USB设备。
8.如权利要求7所述的USB设备重定向装置,其特征在于,还包括设备信息结构体生成模块,所述设备信息结构体生成模块用于:
通过从物理总线枚举集线器,获取集线器信息;
根据所述集线器信息获取USB设备信息;
根据所述集线器信息和所述USB设备信息生成设备信息结构体;所述设备信息结构体包括USB设备的位置信息。
9.如权利要求8所述的USB设备重定向装置,其特征在于,所述设备信息结构体生成模块还用于:
根据所述集线器信息确定集线器序号信息;
根据所述USB设备信息确定USB设备端口信息;
将所述USB设备端口信息和所述集线器序号信息进行拼接得到所述USB设备的位置信息。
10.如权利要求6-9任一项所述的USB设备重定向装置,其特征在于,还包括统一设备驱动加载模块,所述统一设备驱动加载模块用于:
在确定待重定向USB设备之后,使所述待重定向USB设备加载预设的统一设备驱动。
CN201610804901.5A 2016-09-05 2016-09-05 一种usb设备重定向方法和装置 Withdrawn CN107797947A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610804901.5A CN107797947A (zh) 2016-09-05 2016-09-05 一种usb设备重定向方法和装置
PCT/CN2017/099843 WO2018041193A1 (zh) 2016-09-05 2017-08-31 一种usb设备重定向方法和装置和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610804901.5A CN107797947A (zh) 2016-09-05 2016-09-05 一种usb设备重定向方法和装置

Publications (1)

Publication Number Publication Date
CN107797947A true CN107797947A (zh) 2018-03-13

Family

ID=61300044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610804901.5A Withdrawn CN107797947A (zh) 2016-09-05 2016-09-05 一种usb设备重定向方法和装置

Country Status (2)

Country Link
CN (1) CN107797947A (zh)
WO (1) WO2018041193A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144903A (zh) * 2018-08-15 2019-01-04 国云科技股份有限公司 一种云终端智能管理usb设备的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702143A (zh) * 2009-12-02 2010-05-05 深圳华为通信技术有限公司 修改usb设备驱动匹配信息的方法及装置
CN101963950A (zh) * 2010-09-30 2011-02-02 北京飞天诚信科技有限公司 一种定位设备所连接的usb端口的方法
CN102368231A (zh) * 2011-10-14 2012-03-07 深圳市京华科讯科技有限公司 一种usb设备重定向的方法及系统
CN102789432A (zh) * 2011-05-19 2012-11-21 中国电信股份有限公司 Usb设备驱动方法和系统
CN103154922A (zh) * 2010-08-30 2013-06-12 高通股份有限公司 虚拟usb复合装置枚举
CN105183674A (zh) * 2015-08-26 2015-12-23 深圳市深信服电子科技有限公司 Usb虚拟化网络映射方法、装置以及usb集线器
US20160062940A1 (en) * 2014-08-27 2016-03-03 Vmware, Inc. Safely Sharing USB Devices During PCI Passthrough Operation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895588B1 (en) * 1999-04-09 2005-05-17 Sun Microsystems, Inc. Remote device access over a network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702143A (zh) * 2009-12-02 2010-05-05 深圳华为通信技术有限公司 修改usb设备驱动匹配信息的方法及装置
CN103154922A (zh) * 2010-08-30 2013-06-12 高通股份有限公司 虚拟usb复合装置枚举
CN101963950A (zh) * 2010-09-30 2011-02-02 北京飞天诚信科技有限公司 一种定位设备所连接的usb端口的方法
CN102789432A (zh) * 2011-05-19 2012-11-21 中国电信股份有限公司 Usb设备驱动方法和系统
CN102368231A (zh) * 2011-10-14 2012-03-07 深圳市京华科讯科技有限公司 一种usb设备重定向的方法及系统
US20160062940A1 (en) * 2014-08-27 2016-03-03 Vmware, Inc. Safely Sharing USB Devices During PCI Passthrough Operation
CN105183674A (zh) * 2015-08-26 2015-12-23 深圳市深信服电子科技有限公司 Usb虚拟化网络映射方法、装置以及usb集线器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144903A (zh) * 2018-08-15 2019-01-04 国云科技股份有限公司 一种云终端智能管理usb设备的方法
CN109144903B (zh) * 2018-08-15 2022-02-18 国云科技股份有限公司 一种云终端智能管理usb设备的方法

Also Published As

Publication number Publication date
WO2018041193A1 (zh) 2018-03-08

Similar Documents

Publication Publication Date Title
CN103580942B (zh) 一种模拟串口测试方法和装置
CN106557369A (zh) 一种多线程的管理方法及系统
CN105975367B (zh) 移动设备的测试方法和装置
CN110555072A (zh) 数据访问方法、装置、设备和介质
CN109981360A (zh) 物联网设备站点开通方法、装置、系统及存储介质
CN106528272B (zh) 一种数据处理装置、方法及终端
CN113256095A (zh) 可拖拽配置的敏捷流程服务构建方法、系统、设备及介质
CN110480633B (zh) 一种控制设备的方法、装置及存储介质
CN104199716A (zh) 一种虚拟机热迁移的方法、物理主机及系统
CN107797947A (zh) 一种usb设备重定向方法和装置
CN105279110B (zh) 一种usb设备识别主机系统的方法及usb设备
CN109902182A (zh) 知识数据处理方法、装置、设备及存储介质
CN109828826A (zh) 一种任务进度的轮询方法、装置及系统
CN108399136A (zh) 一种串行接口的控制方法、装置及主机
CN107025126A (zh) 一种资源调度方法、nfvo和系统
CN109445698A (zh) 查询多片flash状态的方法、装置及计算机可读存储介质
CN106598599B (zh) 一种程序的执行方法和设备
CN112506818B (zh) 一种基于软件模拟的usb硬件虚拟化方法
CN205787869U (zh) 一种远程控制系统
CN113778916A (zh) 数据处理方法及装置
CN109271332A (zh) 一种节点设备驱动初始化的方法和设备
CN112671814B (zh) 一种跨平台的设备开发方法、装置及系统
CN107277107A (zh) 应用调试方法、装置及系统
CN105357243B (zh) 一种与物联网设备远程交互的方法和装置
CN108153668A (zh) 应用的调试方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20180313

WW01 Invention patent application withdrawn after publication