串并口映射的方法、云终端及虚拟机的制作方法_3

文档序号:9551252阅读:来源:国知局
动替换为映射驱动,以使所述串并口设备映射到所述虚拟机中。
[0121]其中,映射驱动为vhc i驱动。
[0122]虚拟机接收云终端根据指令发送的设备信息并显示,至此,虚拟机上以图标的形式显示串并口设备的设备信息。
[0123]另外,本实施例还将将虚拟机的串并口设备主控驱动替换为映射驱动,以便后续虚拟机通过网络通信的形式请求使用所述串并口设备。
[0124]本实施例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常,且在云终端与虚拟机安装上述的应用程序,即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
[0125]在一优选的实施例中,如图6所示,在上述图5的实施例的基础上,本串并口映射的方法还包括:
[0126]步骤S204,所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端,所述网络包包括使用所述串并口设备的请求;
[0127]其中,虚拟机的驱动包括上层驱动及所述映射驱动,如图7所示,步骤S204所述虚拟机的驱动通过所述网络通信的方式将网络包发送给所述云终端的步骤包括:
[0128]步骤S2041,所述虚拟机的上层驱动发起使用所述串并口设备的请求,根据所述请求生成urb数据包,将所述urb数据包发送给所述映射驱动,其中,映射驱动为vhci驱动;
[0129]步骤S2042,利用所述映射驱动将所述urb数据包封装为网络包;
[0130]步骤S2043,通过所述网络通信的方式将所述网络包发送给所述云终端。
[0131]本发明还提供一种云终端,如图8所7K,在一实施例中,云终端包括:
[0132]确认模块301,用于当串并口设备插入云终端时,获取所述串并口设备的设备信息,并确认所述串并口设备是否需要映射到虚拟机中;
[0133]本实施例中,在云终端上安装串并口检测程序,当串并口设备插入云终端时,串并口检测程序检测到有串并口设备插入,云终端获取串并口设备的设备信息,包括生产商ID (Vendor ID, VID)、产品 ID (Product ID, PID)及产品类型等。
[0134]其中,本实施例在云终端中预置配置信息,该配置信息由用户预先进行设定,将配置信息与所获取的设备信息进行对比,并确定所述串并口设备是否需要映射到虚拟机中。
[0135]绑定模块302,用于若是,则发送一映射请求至虚拟机,绑定所述串并口设备并与所述虚拟机建立连接;
[0136]其中,当确认串并口设备需要映射到虚拟机中时,向虚拟机发送映射请求,同时通过预先安装在云终端中的绑定应用程序将该串并口设备进行绑定,绑定具体包括:将云终端的自动加载的串并口设备驱动替换为映射所需的映射驱动,另外,可以利用现有的虚拟桌面协议与虚拟机建立连接,建立连接后形成一虚拟机通信渠道。
[0137]值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与虚拟机建立连接,还可以使用其他的方式与虚拟机建立连接,本实施例云终端与虚拟机建立连接仅是方便云终端将绑定的串并口设备的地址信息发送给虚拟机。
[0138]本实施例中,映射所需的映射驱动可以为stub驱动。
[0139]获取模块303,用于获取所绑定的串并口设备的地址信息,将所述地址信息发送给所述虚拟机;
[0140]其中,地址信息包括IP地址及端口信息。
[0141 ] 本实施例中,在获取了绑定的串并口设备的地址信息后,将地址信息通过现有的虚拟桌面协议与虚拟机建立的连接来发送给虚拟机,具体为通过虚拟机通信渠道来发送地址信息给虚拟机的串并口映射管理程序。
[0142]本实施例中通过虚拟机通信渠道发送地址信息给虚拟机,以便后续云终端与虚拟机建立网络通信,在后续流程中,云终端与虚拟机通信不再依赖于虚拟桌面协议,而是通过网络通信的方式进行通信,最终实现云终端的串并口设备到虚拟机的映射。
[0143]发送模块304,用于当所述虚拟机利用所述地址信息与所述云终端建立网络通信后,接收所述虚拟机发送的获取所述设备信息的指令,根据所述指令将所述设备信息通过所述网络通信的方式发送给所述虚拟机,以使所述串并口设备映射到所述虚拟机中。
[0144]虚拟机利用云终端发送的地址信息与云终端建立网络通信,具体为通过云终端发送的IP地址及端口信息与云终端建立通信,云终端中预先安装一等待映射输出程序,虚拟机可与该等待映射输出程序建立套接字socket通信。
[0145]当云终端与虚拟机建立socket通信后,云终端接收虚拟机发送的获取设备信息的指令,根据指令将设备信息,包括上述的VID、PID及产品类型通过socket通信发送给虚拟机,而不再使用虚拟机通信渠道。
[0146]因此,本实施例基于网络通信的串并口映射方案,只要虚拟机和云终端的网络通信运行正常,且在云终端与虚拟机安装上述的应用程序,即可实现串并口映射,不针对特定的虚拟机协议,其应用更加广泛。
[0147]在一优选的实施例中,如图9所示,在上述图8的实施例的基础上,确认模块301包括:
[0148]获取单元3011,用于获取预先设置的配置信息;
[0149]判断单元3012,用于判断所述配置信息是否与所述设备信息相对应;
[0150]确认单元3013,用于若是,则确认所述串并口设备需要映射到所述虚拟机中。
[0151]本实施例中,将配置信息与设备信息进行对比,若配置信息中包括所插入的串并口设备的设备信息,则确认该串并口设备需要映射到虚拟机中,否则,确认该串并口设备不需要映射到虚拟机中,结束流程。
[0152]本实施例中,由用户预先进行设定配置信息于云终端中,并可以通过修改配置信息来控制所插入的串并口设备是否能够映射到虚拟机中。
[0153]在一优选的实施例中,如图10所示,在上述图8的实施例的基础上,所述绑定模块302包括:
[0154]替换单元3021,用于将所述云终端的串并口设备驱动替换为映射驱动,以绑定所述串并口设备;
[0155]连接单元3022,用于利用虚拟桌面协议与所述虚拟机建立连接。
[0156]本实施例中,将云终端的串并口设备驱动替换为映射驱动,以绑定串并口设备,其中,映射所需的映射驱动可以为stub驱动。
[0157]其中,可以利用现有的虚拟桌面协议与虚拟机建立连接,其不针对特定的虚拟桌面协议,建立连接后形成一虚拟机通信渠道。
[0158]值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与虚拟机建立连接,还可以使用其他的方式与虚拟机建立连接,本实施例云终端与虚拟机建立连接仅是方便云终端将绑定的串并口设备的地址信息发送给虚拟机。
[0159]在一优选的实施例中,如图11所示,在上述图8的实施例的基础上,云终端还包括:
[0160]接收模块305,用于接收所述虚拟机通过所述网络通信的方式发送的网络包,所述网络包中包括使用所述串并口设备的请求信息;
[0161]解析模块306,用于利用所述映射驱动对所述网络包进行解析,得到urb数据包;
[0162]交互模块307,用于将所述urb数据包发送给底层驱动,利用所述底层驱动根据所述urb数据包与所述串并口设备进行数据交互。
[0163]本实施例中,云终端将设备信息通过网络通信的方式发送给虚拟机后,虚拟机进行一定的处理,就可以在虚拟机上显示对应的串并口设备已经连接上,虚拟机可以使用该串并口设备。
[0164]其中,虚拟机通过网络通信的方式发送网络包给云终端,网络包中包括使用串并口设备的请求信息。云终端接收到网络包后,利用stub驱动对网络包进行解析,得到urb数据包,将urb数据包发送给底层的串并口主控驱动,底层的串并口主控驱动根据所述urb数据包与串并口设备进行数据交互。
[0165]本发明还提供一种虚拟机,如图12所示,在一实施例中,该虚拟机包括:
[0166]接收模块401,用于当接收到云终端的映射请求时,与所述云终端建立连接,接收所述云终端发送的串并口设备的地址信息;
[0167]本实施例中,当确定插入云终端中的串并口设备需要映射到虚拟机中时,虚拟机接收云终端的映射请求。本实施例可以利用现有的虚拟桌面协议与虚拟机建立连接,建立连接后形成一虚拟机通信渠道。
[0168]值得说明的是,本实施例不限定于利用现有的虚拟桌面协议与云终端建立连接,还可以使用其他的方式与云终端建立连接。
[0169]其中,地址信息包括IP地址及端口信息。
[0170]建立模块402,用于通过所述地址信息与所述云终端建立网络通信,并通过所述网络通信的方式向所述云终端发送获取所述串并口设备的设备信息的指令;
[0171]虚拟机利用云终端发送的地址信息与云终端建立网络通信,具体为通过云终端发送的IP地址及端口信息与云终端建立套接字通信,并通过所述套接字通信的方式向所述云终端发送获取所述并口设备的设备信息的指令。
[0172]当虚拟机与云终端建立socket通信后,虚拟机通过网络通信的方式向云终端发送获取并口设备的设备信息的指令
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1