一种usb设备映射、交互方法、装置、云终端及云服务器的制造方法_2

文档序号:9380335阅读:来源:国知局
析,获取所述第二 URB中携带的数据。
[0019]本发明还提供了一种云服务器,包括如上所述的装置。
[0020]本发明的上述技术方案的有益效果如下:
[0021]本发明提供了一种USB设备映射、交互方法、装置、云终端及云服务器,通过网络通信实现USB设备从云终端到云服务器的映射。
【附图说明】
[0022]图1为本发明实施例1提供的用于云终端侧的USB设备映射方法流程示意图。
[0023]图2为本发明实施例1提供的用于云服务器侧的USB设备映射方法流程示意图。
[0024]图3为本发明实施例2提供的USB设备映射方法的流程示意图。
[0025]图4为本发明实施例1提供的用于云终端侧的USB设备交互方法流程示意图。
[0026]图5为本发明实施例1提供的用于云服务器侧的USB设备交互方法流程示意图。
[0027]图6为本发明提供的终端与虚拟机进行交互获取USB设备数据流程示意图。
【具体实施方式】
[0028]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0029]本发明实施例针对现有技术中,虚拟机用户需要使用终端USB设备的问题,提供了一种USB设备映射、交互方法、装置、云终端及云服务器,通过网络通信实现USB设备从云终端到云服务器的映射。
[0030]本发明实施例1提供的USB设备映射方法,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述USB设备与所述云终端连接,所述云服务器中包括至少一个虚拟机,如图1所示,所述映射方法包括:
[0031 ] 步骤S100,获取所述USB设备的设备信息;
[0032]步骤S102,根据所述设备信息,在云终端侧为所述USB设备加载第一 USB驱动;
[0033]步骤S104,通过虚拟专用通道,向与所述云终端对应的虚拟机发送链路创建请求,以使得所述虚拟机根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
[0034]步骤S106,接收所述虚拟机通过所述通信链路发送的携带有所述USB端口号的设备息获取请求;
[0035]步骤S108,根据所述设备信息获取请求,通过所述通信链路将与所述USB端口号对应的USB设备的设备信息发送给所述虚拟机,以使得所述虚拟机根据所述设备信息在虚拟机侧为所述USB设备加载第二 USB驱动,所述第二 USB驱动通过所述通信链路与所述第一USB驱动通信以访问所述USB设备。
[0036]而在云服务器侧,上述USB设备映射方法,如图2所示,具体包括:
[0037]步骤S200,通过虚拟专用通道,接收所述云终端发送的链路创建请求,所述链路创建请求中携带有与所述USB设备对应的USB端口号;
[0038]步骤S202,根据所述云终端的IP地址及预设的通信端口号创建与所述云终端的通信链路;
[0039]步骤S204,通过所述通信链路向所述云终端发送设备信息获取请求,所述设备信息获取请求中携带有所述USB端口号,以获取与所述USB端口号对应的USB设备的设备信息;
[0040]步骤S206,通过所述通信链路接收所述云终端发送的所述USB设备的设备信息;[0041 ] 步骤S208,根据所述设备信息为所述USB设备在虚拟机侧加载第二 USB驱动,所述第二 USB驱动通过所述通信链路与所述云终端在云终端侧为所述USB设备加载的第一 USB驱动通信以访问所述USB设备。
[0042]本发明提供的USB设备映射方法,通过在云终端侧加载与USB设备相适应的第一USB驱动,在云服务器侧加载与USB设备相适应的第二 USB驱动,而第一 USB驱动与第二 USB驱动能够通过云服务器与云终端之间的通信链路进行通信,从而,当云服务器侧的虚拟机用户需要使用云终端侧的USB设备中的数据时,能够通过第一 USB驱动与第二 USB驱动之间的通信来获取到所需数据。
[0043]USB设备类型有多种,例如:键盘、鼠标、U盘、硬盘等,常存在这种情况:服务器会对某种类型的USB设备禁止使用,对于该类型的USB设备则无需进行映射,因此,上述的USB设备映射方法,其中,所述根据所述设备信息,在云终端侧为所述USB设备加载第一 USB驱动之前,还包括:根据所述设备信息及预设的配置文件,判断是否需要对所述USB设备进行映射;当判定需要对所述USB设备进行映射时,根据所述设备信息,在云终端侧为所述USB设备加载第一 USB驱动。
[0044]上述操作的目的是,能够对需要映射的USB设备的类型进行控制,即,可以在本地的配置文件中存储禁止映射的USB设备,通过对比当前USB接口接入的USB设备的设备信息,判断该USB设备是否需要映射,只有当需要映射时,才会执行相应操作,否则,无需对该USB设备进行映射。
[0045]USB设备驱动可分为三层,分别为:USB设备类驱动层、USB核心驱动层及USB主控驱动层,上述的USB设备映射方法,其中,第一 USB驱动及第二 USB驱动进行通信时,由第二USB驱动的USB主控驱动层通过所述通信链路与第一 USB驱动的USB设备类驱动层通信以访问所述USB设备。
[0046]图3为本发明实施例2提供的USB设备映射方法的流程示意图,如图所示,所述方法包括:
[0047]步骤S300,监测到USB设备接入,获取USB设备的设备信息;
[0048]步骤S302,对比配置文件,判断是否需要映射该USB设备,当需要时,进入步骤S304,否则进入步骤S300 ;
[0049]步骤S304,为该USB设备加载第一 USB驱动;
[0050]步骤S306,将USB设备使用的USB端口号发送给虚拟机;
[0051]步骤S308,虚拟机创建与终端的通信链路;
[0052]步骤S310,虚拟机向终端发送设备信息获取请求;
[0053]步骤S312,终端将该USB设备的设备信息发送给虚拟机;
[0054]步骤S314,虚拟机为该USB设备加载第二 USB驱动。
[0055]本发明实施例1还提供了一种USB设备交互方法,用于包括USB设备、云终端和云服务器的云系统中的云终端,所述云服务器中包括至少一个虚拟机,所述USB设备与所述云终端连接,并通过如上所述的映射方法映射至与所述云终端对应的虚拟机,如图4所示,所述交互方法包括:
[0056]步骤S400,接收所述虚拟机发送的封装有第一 USB请求块URB的第一网络包;
[0057]步骤S402,对所述第一网络包进行解析,得到所述第一 URB ;
[0058]步骤S404,从所述USB设备中获取携带有与所述第一 URB对应的数据的第二 URB ;
[0059]步骤S406,将所述第二 URB封装为第二网络包;
[0060]步骤S408,将所述第二网络包发送给所述虚拟机。
[0061]而在云服务器侧,上述的USB设备交互方法,如图5所示,具体包括:
[0062]步骤S500,将第一 USB请求块URB封装为第一网络包;
[0063]步骤S502,向所述云终端发送所述第一网络包;
[0064]步骤S504,接收云终端反馈的封装有第二URB的第二网络包,所述第二URB中携带有与所述第一 URB对应的数据;
[0065]步骤S506,对所述第二网络包进行解析,获取所述第二 URB中携带的数据。
[0066]本发明提供的USB设备交互方法,由于云终端侧的第一 USB驱动的USB设备类驱动层与云服务器侧的第二 USB驱动的USB主控驱动层能够进行通信,因此,当云服务器侧的虚拟机用户需要使用云终端的USB设备中的数据时,云服务器侧的第二 USB驱动的USB主控驱动将第一 USB请求块URB封装为第一网络包,通过云终端与云服务器之间的通信链路发送给云终端,而云终端侧的第一 USB驱动的USB设备驱动接收到所述第一网络包后,对其进行解封装,得到第一 URB,第一 USB驱动根据该第一 URB与USB设备进行交互,获取到携带有相应数据的第二 URB后,将该第二 URB封装为第二网络包,反馈给云服务器,第二 USB驱动接收到该第二网络包后,进行解封装,得到第二 URB中携带的数据。
[0067]图6为本发明提供的终端与虚拟机进行交互获取USB设备数据流程示意图,如图所示,包括:
[0068]步骤S600,虚拟机侧应用程序将第一 USB请求块URB发送给虚拟机的USB驱动的USB设备类驱动层;
[0069]步骤S602,虚拟机的USB驱动的USB设备类驱动层将该第一 URB发送给虚拟机的USB驱动的USB核心驱动层;
[0070]步骤S604,虚拟机的USB驱动的USB核心驱动层将该第一 URB发送给虚拟机的USB驱动的USB主控驱动层;
[0071]步骤S606,虚拟机的USB驱动的USB主控层将该第一 URB封装为第一网络包;
[0072]步骤S608,虚拟机的USB驱动的USB主控层将封装后的第一网络包发送给终端的USB驱动的USB设备类驱动层;<
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1