CN105100157B - 一种usb设备映射、交互方法、装置、云终端及云服务器 - Google Patents

一种usb设备映射、交互方法、装置、云终端及云服务器 Download PDF

Info

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
Application number
CN201410205921.1A
Other languages
English (en)
Other versions
CN105100157A (zh
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 CN201410205921.1A priority Critical patent/CN105100157B/zh
Priority to PCT/CN2014/089361 priority patent/WO2015172526A1/zh
Publication of CN105100157A publication Critical patent/CN105100157A/zh
Application granted granted Critical
Publication of CN105100157B publication Critical patent/CN105100157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; 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端口号发送给与所述云终端对应的虚拟机;接收所述虚拟机通过通信链路发送的携带有所述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任一项所述的装置。
CN201410205921.1A 2014-05-15 2014-05-15 一种usb设备映射、交互方法、装置、云终端及云服务器 Active CN105100157B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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安全认证方法及其系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
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