一种制造技术

技术编号:39902846 阅读:11 留言:0更新日期:2023-12-30 13:17
本发明专利技术提供了一种

【技术实现步骤摘要】
一种USB设备重定向的方法、装置、网络设备及介质


[0001]本专利技术涉及计算机通讯领域,特别涉及一种
USB
设备重定向的方法

装置

网络设备及介质


技术介绍

[0002]随着云计算技术的迅猛发展,越来越多的云厂商纷纷涌入虚拟云桌面领域

在背靠强大的云端计算资源加持下,可以实现对远程云端桌面的流畅操作,因而即使在低端的硬件设备上也能够完成日常的办公生活

然而,要想真正达到使用本地电脑的体验,就必须增加对外设的支持,实现
USB(Universal Serial Bus
通用串行总线
)
重定向技术
——
将本地计算机上的
USB
设备远程连接到虚拟桌面上

只有这样用户才能够在远程桌面上使用打印机

扫描仪
、U
盘等设备,提高工作效率

然而,现有技术中
USB
重定向技术使用客户端加载过滤驱动的方法区分相同类型的设备,效率低下


技术实现思路

[0003]本专利技术的目的在于提供一种
USB
设备重定向的方法

装置

网络设备及介质,用于解决现有技术中
USB
重定向技术使用客户端加载过滤驱动的方法区分相同类型的设备,效率低下的问题

[0004]为了解决上述技术问题,本专利技术实施例提供一种
USB
设备重定向的方法,其中,应用于设备虚拟端,所述方法包括:
[0005]在创建至少一虚拟
USB
设备之后,向设备采集端发送请求消息;其中,所述请求消息中包括至少一第一
USB
请求控制块数据包,每一所述第一
USB
请求控制块数据包包括虚拟
USB
设备的虚拟配置信息和对应的第一唯一标识符
BUSID
,所述第一唯一标识符
BUSID
为根据所述虚拟
USB
设备对应的物理
USB
设备的
ID
生成;
[0006]接收所述设备采集端发送的回复消息;其中,所述回复消息中包括第二
USB
请求控制块数据包,所述第二
USB
请求控制块数据包包括物理
USB
设备的物理配置信息和对应的第二唯一标识符
BUSID

[0007]确定所述至少一第一
USB
请求控制块数据包中,相应的所述第一唯一标识符
BUSID
与第二唯一标识符
BUSID
匹配的目标
USB
请求控制块数据包;
[0008]根据所述目标
USB
请求控制块数据包和所述第二
USB
请求控制块数据包生成第三
USB
请求控制块数据包;其中,所述第三
USB
请求控制块数据包中包括所述第二
USB
请求控制块数据包中的物理配置信息和所述目标
USB
请求控制块数据包中的虚拟配置信息

[0009]可选地,所述的方法,其中,在所述根据所述目标
USB
请求控制块数据包和所述第二
USB
请求控制块数据包生成第三
USB
请求控制块数据包之后,所述方法还包括:
[0010]根据所述第三
USB
请求控制块数据包进入枚举状态

[0011]可选地,所述的方法,其中,在所述向设备采集端发送请求消息之前,所述方法还包括:
[0012]将所述第一
USB
请求控制块数据包发送至第一缓存队列;
[0013]其中,确定所述至少一第一
USB
请求控制块数据包中,相应的所述第一唯一标识符
BUSID
与第二唯一标识符
BUSID
匹配的目标
USB
请求控制块数据包,包括:
[0014]将所述第二
USB
请求控制块数据包中的第二唯一标识符
BUSID
与所述第一缓存队列中的所述第一
USB
请求控制块数据包的所述第一唯一标识符
BUSID
匹配,确定与所述第二唯一标识符
BUSID
匹配的目标
USB
请求控制块数据包

[0015]可选地,所述的方法,其中,在所述将所述第一
USB
请求控制块数据包发送至第一缓存队列之前,所述方法还包括:
[0016]生成第四
USB
请求控制块数据包;
[0017]将所述第四
USB
请求控制块数据包发送至第二缓存队列;
[0018]根据所述第四
USB
请求控制块数据包和所述第一唯一标识符
BUSID
生成所述第一
USB
请求控制块数据包;其中,所述第四
USB
请求控制块数据包为在所述第二缓存队列中检索得到

[0019]可选地,所述的方法,其中,在所述根据所述目标
USB
请求控制块数据包和所述第二
USB
请求控制块数据包生成第三
USB
请求控制块数据包之后,所述方法还包括:
[0020]向终端管理系统发送所述虚拟
USB
设备的接入信息;其中,所述接入信息包括所述虚拟
USB
设备对应的物理
USB
设备的设备类型和与所述第一唯一标识符
BUSID
相对应的第三唯一标识符
BUSID

[0021]接收所述终端管理系统根据所述设备类型分配的带宽值;
[0022]按照所述带宽值的带宽接收所述设备采集端发送的数据文件

[0023]可选地,所述的方法,其中,在所述生成第四
USB
请求控制块数据包之前,所述方法还包括:
[0024]创建虚拟主控制器接口;
[0025]接收所述设备采集端发送的设备描述符和配置描述符;其中,所述设备描述符和所述配置描述符为所述设备采集端的物理
USB
设备的;
[0026]根据所述设备描述符和所述配置描述符,创建所述虚拟
USB
设备;
[0027]将所述虚拟
USB
设备连接所述虚拟主控制器接口

[0028]可选地,所述的方法,其中,所述创建虚拟主控制器接口,包括:
[0029]根据
Wi本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
USB
设备重定向的方法,其特征在于,应用于设备虚拟端,所述方法包括:在创建至少一虚拟
USB
设备之后,向设备采集端发送请求消息;其中,所述请求消息中包括至少一第一
USB
请求控制块数据包,每一所述第一
USB
请求控制块数据包包括虚拟
USB
设备的虚拟配置信息和对应的第一唯一标识符
BUSID
,所述第一唯一标识符
BUSID
为根据所述虚拟
USB
设备对应的物理
USB
设备的
ID
生成;接收所述设备采集端发送的回复消息;其中,所述回复消息中包括第二
USB
请求控制块数据包,所述第二
USB
请求控制块数据包包括物理
USB
设备的物理配置信息和对应的第二唯一标识符
BUSID
;确定所述至少一第一
USB
请求控制块数据包中,相应的所述第一唯一标识符
BUSID
与第二唯一标识符
BUSID
匹配的目标
USB
请求控制块数据包;根据所述目标
USB
请求控制块数据包和所述第二
USB
请求控制块数据包生成第三
USB
请求控制块数据包;其中,所述第三
USB
请求控制块数据包中包括所述第二
USB
请求控制块数据包中的物理配置信息和所述目标
USB
请求控制块数据包中的虚拟配置信息
。2.
根据权利要求1所述的方法,其特征在于,在所述根据所述目标
USB
请求控制块数据包和所述第二
USB
请求控制块数据包生成第三
USB
请求控制块数据包之后,所述方法还包括:根据所述第三
USB
请求控制块数据包进入枚举状态
。3.
根据权利要求1所述的方法,其特征在于,在所述向设备采集端发送请求消息之前,所述方法还包括:将所述第一
USB
请求控制块数据包发送至第一缓存队列;其中,确定所述至少一第一
USB
请求控制块数据包中,相应的所述第一唯一标识符
BUSID
与第二唯一标识符
BUSID
匹配的目标
USB
请求控制块数据包,包括:将所述第二
USB
请求控制块数据包中的第二唯一标识符
BUSID
与所述第一缓存队列中的所述第一
USB
请求控制块数据包的所述第一唯一标识符
BUSID
匹配,确定与所述第二唯一标识符
BUSID
匹配的目标
USB
请求控制块数据包
。4.
根据权利要求3所述的方法,其特征在于,在所述将所述第一
USB
请求控制块数据包发送至第一缓存队列之前,所述方法还包括:生成第四
USB
请求控制块数据包;将所述第四
USB
请求控制块数据包发送至第二缓存队列;根据所述第四
USB
请求控制块数据包和所述第一唯一标识符
BUSID
生成所述第一
USB
请求控制块数据包;其中,所述第四
USB
请求控制块数据包为在所述第二缓存队列中检索得到
。5.
根据权利要求1所述的方法,其特征在于,在所述根据所述目标
USB
请求控制块数据包和所述第二
USB
请求控制块数据包生成第三
USB
请求控制块数据包之后,所述方法还包括:向终端管理系统发送所述虚拟
USB
设备的接入信息;其中,所述接入信息包括所述虚拟
USB
设备对应的物理
USB
设备的设备类型和与所述第一唯一标识符
BUSID
相对应的第三唯一标识符
BUSID
;接收所述终端管理系统根据所述设备类型分配的带宽值;
按照所述带宽值的带宽接收所述设备采集端发送的数据文件
。6.
根据权利要求5所述的方法,其特征在于,在所述生成第四
USB
请求控制块数据包之前,所述方法还包括:创建虚拟主控制器接口;接收所述设备采集端发送的设备描述符和配置描述符;其中,所述设备描述符和所述配置描述符为所述设备采集端的物理
USB
设备的;根据所述设备描述符和所述配置描述符,创建所述虚拟
USB
设备;将所述虚拟
USB
设备连接所述虚拟主控制器接口
。7.
根据权利要求6所述的方法,其特征在于,所述创建虚拟主控制器接口,包括:根据
Windows
模拟
USB
设备
UDE
框架初始化所述
UDE
的上下文;创建虚拟主控制器接口的设备对象和
UCX
控制器对象,并将所述设备对象和所述
UCX
控制器对象关联;将所述
UCX
控制器对象添加到所述上下文;为所述设备对象创建设备接口;将所述设备对象添加到待上传驱动的第一队列
。8.
根据权利要求6所述的方法,其特征在于,所述接收所述设备采集端发送的设备描述符和配置描述符,包括:向所述设备采集端发送请求;接收所述设备采集端根据所述请求发送的所述设备描述符和所述配置描述符
。9.
根据权利要求6所述的方法,其特征在于,在所述接收所述设备采集端发送的设备描述符和配置描述符之后,所述方法还包括:通过携带信息的
IO
控制码检测输入缓存区和输出缓存区的长度是否达到预设值,获取第一检测结果;在所述第一检测结果为是的情况下,从所述
IO
控制码中读取所述物理
USB
设备的格式信息;根据所述格式信息验证所述物理
USB
设备的格式正确后,创建所述物理
USB
设备对应的所述虚拟
USB
设备
。10.
根据权利要求7所述的方法,其特征在于,所述创建所述虚拟
USB
设备,包括:获取一个可用的端口,将所述端口分配给待创建的所述虚拟
USB
设备;根据所述物理
USB
设备的端点信息,为所述设备对象分配一个虚拟
USB
设备的资源;其中,所述端点信息为根据所述设备描述符获取;在所述
UDE
框架中创建所述虚拟
USB
设备
。11.
根据权利要求6所述的方法,其特征在于,在所述将所述虚拟
USB
设备连接所述虚拟主控制器接口之后,所述方法还包括:初始化网络通信库;创建套接字;设置
TCP_NODELAY
选项为
TRUE。12.
根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述虚拟
USB
设备的第一硬件端口;
在所述第一硬件端口与虚拟主控制器接口连接的设备分...

【专利技术属性】
技术研发人员:彭耀华
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1