CN105100157B - 一种usb设备映射、交互方法、装置、云终端及云服务器 - Google Patents
一种usb设备映射、交互方法、装置、云终端及云服务器 Download PDFInfo
- Publication number
- CN105100157B CN105100157B CN201410205921.1A CN201410205921A CN105100157B CN 105100157 B CN105100157 B CN 105100157B CN 201410205921 A CN201410205921 A CN 201410205921A CN 105100157 B CN105100157 B CN 105100157B
- Authority
- CN
- China
- Prior art keywords
- usb
- usb device
- driving
- cloud terminal
- cloud
- 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.)
- Active
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004891 communication Methods 0.000 claims abstract description 88
- 230000005540 biological transmission Effects 0.000 claims abstract description 6
- 230000002452 interceptive effect Effects 0.000 claims description 11
- 239000011800 void material Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
- Multimedia (AREA)
Abstract
本发明提供了一种USB设备映射、交互方法、装置、云终端及云服务器,所述USB设备映射方法,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射方法包括:获取USB设备的设备信息;根据设备信息,在云终端侧为USB设备加载第一USB驱动;通过虚拟专用通道,向与云终端对应的虚拟机发送链路创建请求;接收虚拟机通过所述通信链路发送的携带有USB端口号的设备信息获取请求;根据设备信息获取请求,通过通信链路将与USB端口号对应的USB设备的设备信息发送给虚拟机。采用本发明提供的技术方案,通过网络通信实现USB设备从云终端到云服务器的映射。
Description
技术领域
本发明涉及通信领域,尤其涉及一种USB设备映射、交互方法、装置、云终端及云服务器。
背景技术
在云系统中,当云终端连接虚拟机的时候,很多场景下虚拟机的用户都需要使用云终端本地的USB外设接口连接USB设备,获取相关的数据。因此需要一种通用的支持大多数USB设备的USB设备映射方法。
发明内容
为了解决上述技术问题,本发明提供了一种USB设备映射、交互方法、装置、云终端及云服务器,通过网络通信实现USB设备从云终端到云服务器的映射。
为了实现上述目的,本发明提供了一种USB设备映射方法,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射方法包括:获取所述USB设备的设备信息;根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动;通过虚拟专用通道,将与所述USB设备对应的USB端口号发送给与所述云终端对应的虚拟机;接收所述虚拟机通过通信链路发送的携带有所述USB端口号的设备信息获取请求,所述通信链路为所述虚拟机根据所述云终端的IP地址及预设的通信端口号创建的与所述云终端之间的链路;根据所述设备信息获取请求,通过所述通信链路将与所述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请求块URB的第一网络包;对所述第一网络包进行解析,得到所述第一URB;从所述USB设备中获取携带有与所述第一URB对应的数据的第二URB;将所述第二URB封装为第二网络包;将所述第二网络包发送给所述虚拟机。
本发明还提供了一种USB设备映射方法,用于包括USB设备、云终端和云服务器的云系统中的云服务器,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射方法包括:通过虚拟专用通道,接收所述云终端发送的链路创建请求,所述链路创建请求中携带有与所述USB设备对应的USB端口号;根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路;通过所述通信链路向所述云终端发送设备信息获取请求,所述设备信息获取请求中携带有所述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请求块URB封装为第一网络包;向所述云终端发送所述第一网络包;接收云终端反馈的封装有第二URB的第二网络包,所述第二URB中携带有与所述第一URB对应的数据;对所述第二网络包进行解析,获取所述第二URB中携带的数据。
本发明还提供了一种USB设备映射装置,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射装置包括:第一获取模块,用于获取所述USB设备的设备信息;第一加载模块,用于根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动;第一发送模块,用于通过虚拟专用通道,向与所述云终端对应的虚拟机发送链路创建请求,以使得所述虚拟机根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路,所述链路创建请求中携带有与所述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请求块URB的第一网络包;第一解析模块,用于对所述第一网络包进行解析,得到所述第一URB;第二获取模块,用于从所述USB设备中获取携带有与所述第一URB对应的数据的第二URB;第一封装模块,用于将所述第二URB封装为第二网络包;第三发送模块,用于将所述第二网络包发送给所述虚拟机。
本发明还提供了一种云终端,包括如上所述的装置。
本发明还提供了一种USB设备映射装置,用于包括USB设备、云终端和云服务器的云系统中的云服务器,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射装置包括:第三接收模块,用于通过虚拟专用通道,接收所述云终端发送的链路创建请求,所述链路创建请求中携带有与所述USB设备对应的USB端口号;创建模块,用于根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路;第四发送模块,用于通过所述通信链路向所述云终端发送设备信息获取请求,所述设备信息获取请求中携带有所述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请求块URB封装为第一网络包;第五发送模块,用于向所述云终端发送所述第一网络包;第五接收模块,用于接收云终端反馈的封装有第二URB的第二网络包,所述第二URB中携带有与所述第一URB对应的数据;第二解析模块,用于对所述第二网络包进行解析,获取所述第二URB中携带的数据。
本发明还提供了一种云服务器,包括如上所述的装置。
本发明的上述技术方案的有益效果如下:
本发明提供了一种USB设备映射、交互方法、装置、云终端及云服务器,通过网络通信实现USB设备从云终端到云服务器的映射。
附图说明
图1为本发明实施例1提供的用于云终端侧的USB设备映射方法流程示意图。
图2为本发明实施例1提供的用于云服务器侧的USB设备映射方法流程示意图。
图3为本发明实施例2提供的USB设备映射方法的流程示意图。
图4为本发明实施例1提供的用于云终端侧的USB设备交互方法流程示意图。
图5为本发明实施例1提供的用于云服务器侧的USB设备交互方法流程示意图。
图6为本发明提供的终端与虚拟机进行交互获取USB设备数据流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例针对现有技术中,虚拟机用户需要使用终端USB设备的问题,提供了一种USB设备映射、交互方法、装置、云终端及云服务器,通过网络通信实现USB设备从云终端到云服务器的映射。
本发明实施例1提供的USB设备映射方法,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,如图1所示,所述映射方法包括:
步骤S100,获取所述USB设备的设备信息;
步骤S102,根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动;
步骤S104,通过虚拟专用通道,向与所述云终端对应的虚拟机发送链路创建请求,以使得所述虚拟机根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
步骤S106,接收所述虚拟机通过所述通信链路发送的携带有所述USB端口号的设备信息获取请求;
步骤S108,根据所述设备信息获取请求,通过所述通信链路将与所述USB端口号对应的USB设备的设备信息发送给所述虚拟机,以使得所述虚拟机根据所述设备信息在虚拟机侧为所述USB设备加载第二USB驱动,所述第二USB驱动通过所述通信链路与所述第一USB驱动通信以访问所述USB设备。
而在云服务器侧,上述USB设备映射方法,如图2所示,具体包括:
步骤S200,通过虚拟专用通道,接收所述云终端发送的链路创建请求,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
步骤S202,根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路;
步骤S204,通过所述通信链路向所述云终端发送设备信息获取请求,所述设备信息获取请求中携带有所述USB端口号,以获取与所述USB端口号对应的USB设备的设备信息;
步骤S206,通过所述通信链路接收所述云终端发送的所述USB设备的设备信息;
步骤S208,根据所述设备信息为所述USB设备在虚拟机侧加载第二USB驱动,所述第二USB驱动通过所述通信链路与所述云终端在云终端侧为所述USB设备加载的第一USB驱动通信以访问所述USB设备。
本发明提供的USB设备映射方法,通过在云终端侧加载与USB设备相适应的第一USB驱动,在云服务器侧加载与USB设备相适应的第二USB驱动,而第一USB驱动与第二USB驱动能够通过云服务器与云终端之间的通信链路进行通信,从而,当云服务器侧的虚拟机用户需要使用云终端侧的USB设备中的数据时,能够通过第一USB驱动与第二USB驱动之间的通信来获取到所需数据。
USB设备类型有多种,例如:键盘、鼠标、U盘、硬盘等,常存在这种情况:服务器会对某种类型的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设备。
图3为本发明实施例2提供的USB设备映射方法的流程示意图,如图所示,所述方法包括:
步骤S300,监测到USB设备接入,获取USB设备的设备信息;
步骤S302,对比配置文件,判断是否需要映射该USB设备,当需要时,进入步骤S304,否则进入步骤S300;
步骤S304,为该USB设备加载第一USB驱动;
步骤S306,将USB设备使用的USB端口号发送给虚拟机;
步骤S308,虚拟机创建与终端的通信链路;
步骤S310,虚拟机向终端发送设备信息获取请求;
步骤S312,终端将该USB设备的设备信息发送给虚拟机;
步骤S314,虚拟机为该USB设备加载第二USB驱动。
本发明实施例1还提供了一种USB设备交互方法,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述云服务器中包括至少一个虚拟机,所述USB设备与所述云终端连接,并通过如上所述的映射方法映射至与所述云终端对应的虚拟机,如图4所示,所述交互方法包括:
步骤S400,接收所述虚拟机发送的封装有第一USB请求块URB的第一网络包;
步骤S402,对所述第一网络包进行解析,得到所述第一URB;
步骤S404,从所述USB设备中获取携带有与所述第一URB对应的数据的第二URB;
步骤S406,将所述第二URB封装为第二网络包;
步骤S408,将所述第二网络包发送给所述虚拟机。
而在云服务器侧,上述的USB设备交互方法,如图5所示,具体包括:
步骤S500,将第一USB请求块URB封装为第一网络包;
步骤S502,向所述云终端发送所述第一网络包;
步骤S504,接收云终端反馈的封装有第二URB的第二网络包,所述第二URB中携带有与所述第一URB对应的数据;
步骤S506,对所述第二网络包进行解析,获取所述第二URB中携带的数据。
本发明提供的USB设备交互方法,由于云终端侧的第一USB驱动的USB设备类驱动层与云服务器侧的第二USB驱动的USB主控驱动层能够进行通信,因此,当云服务器侧的虚拟机用户需要使用云终端的USB设备中的数据时,云服务器侧的第二USB驱动的USB主控驱动将第一USB请求块URB封装为第一网络包,通过云终端与云服务器之间的通信链路发送给云终端,而云终端侧的第一USB驱动的USB设备驱动接收到所述第一网络包后,对其进行解封装,得到第一URB,第一USB驱动根据该第一URB与USB设备进行交互,获取到携带有相应数据的第二URB后,将该第二URB封装为第二网络包,反馈给云服务器,第二USB驱动接收到该第二网络包后,进行解封装,得到第二URB中携带的数据。
图6为本发明提供的终端与虚拟机进行交互获取USB设备数据流程示意图,如图所示,包括:
步骤S600,虚拟机侧应用程序将第一USB请求块URB发送给虚拟机的USB驱动的USB设备类驱动层;
步骤S602,虚拟机的USB驱动的USB设备类驱动层将该第一URB发送给虚拟机的USB驱动的USB核心驱动层;
步骤S604,虚拟机的USB驱动的USB核心驱动层将该第一URB发送给虚拟机的USB驱动的USB主控驱动层;
步骤S606,虚拟机的USB驱动的USB主控层将该第一URB封装为第一网络包;
步骤S608,虚拟机的USB驱动的USB主控层将封装后的第一网络包发送给终端的USB驱动的USB设备类驱动层;
步骤S610,终端的USB驱动的USB设备类驱动层对该第一网络包进行解封装得到第一URB;
步骤S612,终端的USB驱动的USB设备类驱动层将第一URB发送给终端的USB驱动的USB核心驱动层;
步骤S614,终端的USB驱动的USB核心驱动层将第一URB发送给终端的USB驱动的USB主控驱动层;
步骤S616,终端的USB驱动的USB主控驱动层与USB设备进行交互,获取携带有数据的第二URB;
步骤S618,终端的USB驱动的USB主控驱动层将携带有数据的第二URB发送给终端的USB驱动的USB核心驱动层;
步骤S620,终端的USB驱动的USB核心驱动层将携带有数据的第二URB发送给终端的USB驱动的USB设备类驱动层;
步骤S622,终端的USB驱动的USB设备类驱动层对该第二URB进行封装,生成第二网络包;
步骤S624,终端的USB驱动的USB设备类驱动层将该第二网络包发送给虚拟机的USB驱动的USB主控层;
步骤S626,虚拟机的USB驱动的USB主控层对该第二网络包进行解封装得到携带有数据的第二URB;
步骤S628,虚拟机的USB驱动的USB主控驱动层将携带有数据的第二URB发送给虚拟机的USB驱动的USB核心驱动层;
步骤S630,虚拟机的USB驱动的USB核心驱动层将携带有数据的第二URB发送给虚拟机的USB驱动的USB设备类驱动层;
步骤S632,虚拟机的USB驱动的USB设备类驱动层将携带有数据的第二URB发送给应用程序;
步骤S634,应用程序得到请求的数据,该交互过程完成。
使用本发明提供的USB设备映射、交互方法,当虚拟机用户需要使用终端侧的USB设备中的数据时,其业务流程可以具体包括:
步骤1:USB设备插入终端本地,本地U口检测程序就会检测到USB插入事件,并读取其VID、PID、CLASS等相关信息,将这些信息与本地配置文件进行比较,判断该USB设备需不要进行映射。如果需要映射,就通过绑定应用程序绑定该USB设备,即:将为该USB设备加载的驱动的USB设备类驱动替换为USB设备映射驱动:stub驱动。
步骤2:U口检测程序将USB设备的端口信息通过虚拟机通信发送给虚拟机内USB映射管理程序。
步骤3:虚拟机内的USB映射管理程序收到本地绑定程序发过来的USB端口号之后,利用从虚拟机通道得来的本地IP地址和约定好的端口和本地等待映射输出程序建立socket网络通信。并将该USB端口号和获取设备信息命令发给本地等待映射输出程序。本地等待映射输出程序收到该命令之后将对应USB端口的USB设备的设备信息发给虚拟机。虚拟机USB映射管理程序替换虚拟机内USB设备主控驱动替换为USB设备映射驱动:vhci驱动。
步骤4:虚拟机向终端本地以网络包形式发送URB,URB通过两层驱动到达了vhci驱动,vhci驱动把URB包封装成网络包发给本地的stub驱动
步骤5:本地stub驱动得到网络包封装的URB之后,进行解封装,把网络包变回URB,并发给底层USB主控驱动。USB主控驱动和USB设备进行数据交互,并返回携带数据的URB给stub驱动。
步骤6:stub驱动将携带数据的URB封装成网络包发给虚拟机vhci驱动,vhci驱动进行解封装之后发给上层驱动和应用程序。
本发明还提供了一种USB设备映射装置,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射装置包括:第一获取模块,用于获取所述USB设备的设备信息;第一加载模块,用于根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动;第一发送模块,用于通过虚拟专用通道,向与所述云终端对应的虚拟机发送链路创建请求,以使得所述虚拟机根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路,所述链路创建请求中携带有与所述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请求块URB的第一网络包;第一解析模块,用于对所述第一网络包进行解析,得到所述第一URB;第二获取模块,用于从所述USB设备中获取携带有与所述第一URB对应的数据的第二URB;第一封装模块,用于将所述第二URB封装为第二网络包;第三发送模块,用于将所述第二网络包发送给所述虚拟机。
本发明还提供了一种云终端,包括如上所述的装置。
本发明还提供了一种USB设备映射装置,用于包括USB设备、云终端和云服务器的云系统中的云服务器,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射装置包括:第三接收模块,用于通过虚拟专用通道,接收所述云终端发送的链路创建请求,所述链路创建请求中携带有与所述USB设备对应的USB端口号;创建模块,用于根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路;第四发送模块,用于通过所述通信链路向所述云终端发送设备信息获取请求,所述设备信息获取请求中携带有所述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请求块URB封装为第一网络包;第五发送模块,用于向所述云终端发送所述第一网络包;第五接收模块,用于接收云终端反馈的封装有第二URB的第二网络包,所述第二URB中携带有与所述第一URB对应的数据;第二解析模块,用于对所述第二网络包进行解析,获取所述第二URB中携带的数据。
本发明还提供了一种云服务器,包括如上所述的装置。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种USB设备映射方法,其特征在于,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射方法包括:
获取所述USB设备的设备信息;
根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动;
通过虚拟专用通道,向与所述云终端对应的虚拟机发送链路创建请求,以使得所述虚拟机根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
接收所述虚拟机通过所述通信链路发送的携带有所述USB端口号的设备信息获取请求;
根据所述设备信息获取请求,通过所述通信链路将与所述USB端口号对应的USB设备的设备信息发送给所述虚拟机,以使得所述虚拟机根据所述设备信息在虚拟机侧为所述USB设备加载第二USB驱动,所述第二USB驱动通过所述通信链路与所述第一USB驱动通信以访问所述USB设备。
2.如权利要求1所述的映射方法,其特征在于,所述根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动之前,还包括:
根据所述设备信息及预设的配置文件,判断是否需要对所述USB设备进行映射;
当判定需要对所述USB设备进行映射时,根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动。
3.如权利要求1所述的映射方法,其特征在于,所述第一USB驱动及所述第二USB驱动均包括:USB设备类驱动层、USB核心驱动层及USB主控驱动层;
所述第二USB驱动的USB主控驱动层通过所述通信链路与所述第一USB驱动的USB设备类驱动层通信以访问所述USB设备。
4.一种USB设备交互方法,其特征在于,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述云服务器中包括至少一个虚拟机,所述USB设备与所述云终端连接,并通过如权利要求1-权利要求3任一项所述的映射方法映射至与所述云终端对应的虚拟机,所述交互方法包括:
接收所述虚拟机发送的封装有第一USB请求块URB的第一网络包;
对所述第一网络包进行解析,得到所述第一URB;
从所述USB设备中获取携带有与所述第一URB对应的数据的第二URB;
将所述第二URB封装为第二网络包;
将所述第二网络包发送给所述虚拟机。
5.一种USB设备映射方法,其特征在于,用于包括USB设备、云终端和云服务器的云系统中的云服务器,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射方法包括:
通过虚拟专用通道,接收所述云终端发送的链路创建请求,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路;
通过所述通信链路向所述云终端发送设备信息获取请求,所述设备信息获取请求中携带有所述USB端口号,以获取与所述USB端口号对应的USB设备的设备信息;
通过所述通信链路接收所述云终端发送的所述USB设备的设备信息;
根据所述设备信息为所述USB设备在虚拟机侧加载第二USB驱动,所述第二USB驱动通过所述通信链路与所述云终端在云终端侧为所述USB设备加载的第一USB驱动通信以访问所述USB设备。
6.如权利要求5所述的映射方法,其特征在于,所述第一USB驱动及所述第二USB驱动均包括:USB设备类驱动层、USB核心驱动层及USB主控驱动层;
所述第二USB驱动的USB主控驱动层通过所述通信链路与所述第一USB驱动的USB设备类驱动层通信以访问所述USB设备。
7.一种USB设备映射装置,其特征在于,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射装置包括:
第一获取模块,用于获取所述USB设备的设备信息;
第一加载模块,用于根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动;
第一发送模块,用于通过虚拟专用通道,向与所述云终端对应的虚拟机发送链路创建请求,以使得所述虚拟机根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
第一接收模块,用于接收所述虚拟机通过所述通信链路发送的携带有所述USB端口号的设备信息获取请求;
第二发送模块,用于根据所述设备信息获取请求,通过所述通信链路将与所述USB端口号对应的USB设备的设备信息发送给所述虚拟机,以使得所述虚拟机根据所述设备信息在虚拟机侧为所述USB设备加载第二USB驱动,所述第二USB驱动通过所述通信链路与所述第一USB驱动通信以访问所述USB设备。
8.如权利要求7所述的映射装置,其特征在于,所述根据所述设备信息,在云终端侧为所述USB设备加载第一USB驱动之前,还包括:
判定模块,用于根据所述设备信息及预设的配置文件,判断是否需要对所述USB设备进行映射;
当所述判断模块判定需要对所述USB设备进行映射时,进入第一加载模块。
9.如权利要求7所述的映射装置,其特征在于,所述第一USB驱动及所述第二USB驱动均包括:USB设备类驱动层、USB核心驱动层及USB主控驱动层;
所述第二USB驱动的USB主控驱动层通过所述通信链路与所述第一USB驱动的USB设备类驱动层通信以访问所述USB设备。
10.一种USB设备交互装置,其特征在于,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述云服务器中包括至少一个虚拟机,所述USB设备与所述云终端连接,并通过如权利要求1-权利要求3任一项所述的映射方法映射至与所述云终端对应的虚拟机,所述交互装置包括:
第二接收模块,用于接收所述虚拟机发送的封装有第一USB请求块URB的第一网络包;
第一解析模块,用于对所述第一网络包进行解析,得到所述第一URB;
第二获取模块,用于从所述USB设备中获取携带有与所述第一URB对应的数据的第二URB;
第一封装模块,用于将所述第二URB封装为第二网络包;
第三发送模块,用于将所述第二网络包发送给所述虚拟机。
11.一种云终端,其特征在于,包括如权利要求7-权利要求10任一项所述的装置。
12.一种USB设备映射装置,其特征在于,用于包括USB设备、云终端和云服务器的云系统中的云服务器,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,所述映射装置包括:
第三接收模块,用于通过虚拟专用通道,接收所述云终端发送的链路创建请求,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
创建模块,用于根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路;
第四发送模块,用于通过所述通信链路向所述云终端发送设备信息获取请求,所述设备信息获取请求中携带有所述USB端口号,以获取与所述USB端口号对应的USB设备的设备信息;
第四接收模块,用于通过所述通信链路接收所述云终端发送的所述USB设备的设备信息;
第二加载模块,用于根据所述设备信息为所述USB设备在虚拟机侧加载第二USB驱动,所述第二USB驱动通过所述通信链路与所述云终端在云终端侧为所述USB设备加载的第一USB驱动通信以访问所述USB设备。
13.如权利要求12所述的映射装置,其特征在于,所述第一USB驱动及所述第二USB驱动均包括:USB设备类驱动层、USB核心驱动层及USB主控驱动层;
所述第二USB驱动的USB主控驱动层通过所述通信链路与所述第一USB驱动的USB设备类驱动层通信以访问所述USB设备。
14.一种云服务器,其特征在于,包括如权利要求12-权利要求13任一项所述的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410205921.1A CN105100157B (zh) | 2014-05-15 | 2014-05-15 | 一种usb设备映射、交互方法、装置、云终端及云服务器 |
PCT/CN2014/089361 WO2015172526A1 (zh) | 2014-05-15 | 2014-10-23 | 一种usb设备映射、交互方法、装置、云终端及云服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410205921.1A CN105100157B (zh) | 2014-05-15 | 2014-05-15 | 一种usb设备映射、交互方法、装置、云终端及云服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105100157A CN105100157A (zh) | 2015-11-25 |
CN105100157B true CN105100157B (zh) | 2019-08-27 |
Family
ID=54479262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410205921.1A Active CN105100157B (zh) | 2014-05-15 | 2014-05-15 | 一种usb设备映射、交互方法、装置、云终端及云服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105100157B (zh) |
WO (1) | WO2015172526A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205504B (zh) * | 2016-12-16 | 2021-01-12 | 广州杰赛科技股份有限公司 | 终端usb映射方法、虚拟机usb映射方法及系统 |
CN107203409B (zh) * | 2017-04-10 | 2020-10-30 | 成都长天信息技术有限公司 | 一种usb重定向处理方法和系统 |
CN107463369B (zh) * | 2017-06-30 | 2020-10-16 | 北京北信源软件股份有限公司 | 一种虚拟桌面的接入设备控制方法与装置 |
CN107634851B (zh) * | 2017-08-11 | 2021-03-30 | 珠海金山网络游戏科技有限公司 | 一种移动终端动态配置服务器的方法 |
CN107678984A (zh) * | 2017-09-26 | 2018-02-09 | 厦门市美亚柏科信息股份有限公司 | Usb端口映射方法及计算机可读存储介质 |
CN107846466B (zh) * | 2017-11-15 | 2020-04-07 | 中国联合网络通信集团有限公司 | 云终端外部设备的映射方法、服务器、云终端及系统 |
CN107967366B (zh) * | 2017-12-22 | 2022-03-01 | 深圳Tcl新技术有限公司 | 文件管理方法、u盘及计算机可读存储介质 |
CN108021426A (zh) * | 2017-12-29 | 2018-05-11 | 上海海加网络科技有限公司 | 一种桌面云系统 |
CN108153579A (zh) * | 2017-12-29 | 2018-06-12 | 佛山市幻云科技有限公司 | 桌面云外设接入系统 |
CN111949344A (zh) * | 2019-05-14 | 2020-11-17 | 华为技术有限公司 | 一种虚拟机远程访问usb外设的数据的方法 |
JP2022532604A (ja) | 2019-05-14 | 2022-07-15 | 華為技術有限公司 | 仮想マシンによりusbデバイスのデータにリモートでアクセスするための方法 |
CN111930645B (zh) * | 2020-07-21 | 2022-04-08 | 上海繁易信息科技股份有限公司 | 一种基于tcpip的通用usb设备网络透传系统及方法 |
CN116366928B (zh) * | 2023-06-01 | 2023-08-11 | 南京美乐威电子科技有限公司 | Usb摄像头桥接方法和云终端 |
CN116366650B (zh) * | 2023-06-01 | 2023-08-01 | 南京美乐威电子科技有限公司 | 云服务系统、云终端和物理身份绑定方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567074A (zh) * | 2011-11-29 | 2012-07-11 | 中标软件有限公司 | 一种面向虚拟机的usb设备重定向方法 |
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
CN102882871A (zh) * | 2012-09-28 | 2013-01-16 | 深圳市赛蓝科技有限公司 | 一种移动终端usb虚拟化映射方法 |
CN103281359A (zh) * | 2013-05-06 | 2013-09-04 | 北京启创卓越科技有限公司 | 云桌面系统及运行方法 |
CN103324278A (zh) * | 2012-10-30 | 2013-09-25 | 中兴通讯股份有限公司 | 终端设备、系统及接入虚拟桌面的方法 |
CN103679068A (zh) * | 2013-12-25 | 2014-03-26 | 北京云巢动脉科技有限公司 | U盘的安全处理方法及装置、系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400648B2 (en) * | 2004-05-28 | 2008-07-15 | International Business Machines Corporation | Virtual USB communications port |
US7644160B2 (en) * | 2004-10-20 | 2010-01-05 | Digi International Inc. | Login specific virtual ports |
CN100473070C (zh) * | 2005-03-04 | 2009-03-25 | 联想(北京)有限公司 | 一种具有存储功能的usb设备在网络计算机上的映射方法 |
CN100486200C (zh) * | 2007-04-20 | 2009-05-06 | 福建升腾资讯有限公司 | Usb映射方法 |
CN102420692A (zh) * | 2011-12-28 | 2012-04-18 | 广州杰赛科技股份有限公司 | 一种基于云计算的客户终端USBKey安全认证方法及其系统 |
-
2014
- 2014-05-15 CN CN201410205921.1A patent/CN105100157B/zh active Active
- 2014-10-23 WO PCT/CN2014/089361 patent/WO2015172526A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
CN102567074A (zh) * | 2011-11-29 | 2012-07-11 | 中标软件有限公司 | 一种面向虚拟机的usb设备重定向方法 |
CN102882871A (zh) * | 2012-09-28 | 2013-01-16 | 深圳市赛蓝科技有限公司 | 一种移动终端usb虚拟化映射方法 |
CN103324278A (zh) * | 2012-10-30 | 2013-09-25 | 中兴通讯股份有限公司 | 终端设备、系统及接入虚拟桌面的方法 |
CN103281359A (zh) * | 2013-05-06 | 2013-09-04 | 北京启创卓越科技有限公司 | 云桌面系统及运行方法 |
CN103679068A (zh) * | 2013-12-25 | 2014-03-26 | 北京云巢动脉科技有限公司 | U盘的安全处理方法及装置、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105100157A (zh) | 2015-11-25 |
WO2015172526A1 (zh) | 2015-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105100157B (zh) | 一种usb设备映射、交互方法、装置、云终端及云服务器 | |
US20240139621A1 (en) | Server and Data Processing Method, Apparatus, and System | |
CN103081409B (zh) | 网络系统和网络管理方法 | |
CN105305418B (zh) | 一种基于iec61850标准的配电终端自描述方法 | |
CN102594697A (zh) | 负载均衡方法及负载均衡装置 | |
CN105871666A (zh) | ZigBee设备的添加方法及装置 | |
CN105469675A (zh) | 一种智能实验教学系统 | |
CN103891197A (zh) | 网络受电设备 | |
CN108347351A (zh) | 设备双以太网卡兼容的方法、装置及系统 | |
CN109981360A (zh) | 物联网设备站点开通方法、装置、系统及存储介质 | |
CN107315702A (zh) | 用于智能插件管理的计算机可读介质、计算装置及方法 | |
CN104750458A (zh) | 终端应用的控制、监控处理方法及装置 | |
CN103116102A (zh) | 智能掉电测试方法及系统 | |
US20140313101A1 (en) | Electronic device and method for image content assignment | |
CN106533850A (zh) | 一种基于nfc卡模式的面板场景控制方法 | |
CN107343005A (zh) | 基于多协议栈的信标数据发送方法和装置 | |
CN105391776A (zh) | 长连接消息的通信方法及系统 | |
CN107396186A (zh) | Linux设备WebOS系统应用管理方法 | |
CN104272685A (zh) | 用于安全网络访问的智能壁板和模块插孔和/或vlan配置 | |
CN102339265A (zh) | 一种无线通信终端及其驱动方法 | |
CN109032866A (zh) | 一种多网卡测试同网段产品的多机测试方法 | |
CN104731992A (zh) | 配电自动化建模方法及装置 | |
CN115022424A (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN102983992A (zh) | 实现atca设备内多板卡之间通讯的方法、系统 | |
CN104618481A (zh) | 一种物联app开发方法、装置及物联网系统 |
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 |