访问共享USB设备方法和装置与流程

文档序号:16530853发布日期:2019-01-05 10:44阅读:382来源:国知局
访问共享USB设备方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种访问共享usb设备方法和装置。



背景技术:

usb具有传输速度快,使用方便,支持热插拔,连接灵活,独立供电等优点,可以连接摄像头、充电器、闪存盘、mp3机、手机、数码相机、移动硬盘、外置光驱/软驱、usb网卡、adslmodem、cablemodem等,几乎所有的外部设备,已成功替代串口和并口,并成为二十一世纪个人电脑和大量智能设备的必配的接口之一。

虚拟化技术,是指通过虚拟化技术将一台主机虚拟为多台虚拟计算机,即虚拟机,在一台主机上同时运行多个虚拟机,每个虚拟机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响。

目前,虚拟化技术将主机上的设备直通给虚拟机已相当成熟,也就是在同一台主机上的外设,如:usb,gpu,网卡等,都可以直接透传给本主机上运行的虚拟机,让虚拟机直接使用,而且usb设备的透传更加常用。但主机a上的虚拟机想使用主机b上的usb设备,还是很不方便的,对于u盘等可热插拔的设备,可以手动移动,但对于像ibm刀片服务器上固定安装在机架内部的dvd光驱,移动起来就非常不方便。更多的用户希望:可以跨网络访问远程主机上的usb设备,就像访问本主机的usb设备一样方便。现有技术中的跨主机访问usb设备的方案都需要额外采购硬件,实现复杂,且需要购买相应的软件license,购买成本和运维成本都很高。



技术实现要素:

本发明的主要目的在于提供一种访问共享usb设备的方法和装置,可以在满足用户需求的前提下,减少了购买成本以及运维成本,简化了实现的复杂度,提升了用户满意度。

为了解决上述技术问题,本发明提供了一种访问共享usb设备的方法,包括:

当接收到本主机上的第一虚拟机发送的使用共享usb设备的请求后,获取所述共享usb设备的网络标识;

根据所述网络标识获取所述共享usb设备的属性信息,及第一主机的网络信息;其中,所述第一主机是所述共享usb设备所在的主机;

将所述属性信息发送给所述第一虚拟机;

根据所述网络信息,传输所述第一虚拟机和所述共享usb设备之间交互的消息。

可选地,所述共享usb设备的网络标识是所述第一主机为所述共享usb设备分配并提供给云计算平台的唯一的网络标识。

可选地,所述根据所述网络信息,传输所述第一虚拟机和所述共享usb设备之间交互的消息包括:

根据所述网络信息,将所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装成第一传输控制协议tcp数据包,发送给所述第一主机;以及接收并解封装所述第一主机发送的第二tcp数据包,并将解封装得到的第二本地usb设备标准请求包发送给所述第一虚拟机;其中,所述第二tcp数据包是由所述共享usb设备发送给所述第一虚拟机的第二本地usb设备标准请求包封装得到的。

可选地,所述共享usb设备的属性信息是所述第一主机初始化所述usb设备时,获得的所述usb设备的属性信息;

所述第一主机的网络信息包括所述第一主机的ip地址和端口号;

所述第一本地usb设备标准请求包和所述第二本地usb设备标准请求包均包括所述共享usb设备的属性信息。

可选地,所述根据所述网络信息,将所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装成第一tcp数据包之前,还包括:

检测所述第一虚拟机发送的本地usb设备标准请求包是否包含所述共享usb设备的属性信息,若包含所述共享usb设备的属性信息,则确定所述本地usb设备标准请求包为第一本地usb设备标准请求包。

为了解决上述问题,本发明还提供了一种访问共享usb设备的方法,应用于共享usb设备所在的主机,包括:

为本主机上的共享usb设备分配网络标识,并将所述共享usb设备的网络标识发送给云计算平台;其中,所述网络标识是利用所述共享usb设备的属性信息和本主机的网络信息按照预设的规则构造的唯一的网络标识;

根据本主机的网络信息,传输第一虚拟机和所述共享usb设备之间交互的消息;其中,所述第一虚拟机为第二主机上的虚拟机。

可选地,所述根据本主机的网络信息,传输第一虚拟机和所述共享usb设备之间交互的消息包括:

根据本主机的网络信息,接收并解封装第二主机发送的第一传输控制协议tcp数据包,并将解封装得到的第一本地usb设备标准请求包发送给所述共享usb设备;以及将所述共享usb设备发送给第一虚拟机的第二本地usb设备标准请求包封装为第二tcp数据包,发送给所述第二主机;其中,所述第一tcp数据包是由所述第一虚拟机发送给所述共享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设备之间交互的消息;其中,所述第一虚拟机为第二主机上的虚拟机。根据本发明实施例的访问共享usb设备方法和装置,使usb设备在不同主机上共享成为可能,在满足用户需求的前提下,减少了购买成本以及运维成本,简化了实现的复杂度,提升了用户满意度。

附图说明

图1为本发明的一实施例提供的访问共享usb设备的方法的流程图。

图2为本发明的另一实施例提供的访问共享usb设备方法的流程图。

图3为本发明的一实施例提供的访问共享usb设备的装置的结构示意图。

图4为本发明的另一实施例提供的访问共享usb设备的装置的结构示意图。

图5为本发明的应用示例的实现共享usb设备访问的系统的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1是本发明的一实施例提供的访问共享usb设备的方法的流程图。根据图1的流程图,本实施例的访问共享usb设备的方法,应用于目的主机,包括以下步骤:

步骤s11:当接收到本主机上的第一虚拟机发送的使用共享usb设备的请求后,获取所述共享usb设备的网络标识。

可选地,在上述步骤s11中,所述共享usb设备的网络标识是所述第一主机为所述共享usb设备分配并提供给云计算平台的唯一的网络标识。

在一个示例性的实施例中,共享usb设备的网络标识是利用共享usb设备的属性信息和第一主机的网络信息按照预设的规则构造的唯一的网络标识。

步骤s12:根据所述网络标识获取所述共享usb设备的属性信息,及第一主机的网络信息;其中,所述第一主机是所述共享usb设备所在的主机。

在一个示例性的实施例中,在获取所述共享usb设备的网络标识之后,根据预设的规则对该网络标识进行解析,得到共享usb设备的属性信息,及第一主机的网络信息。

在另一个示例性的实施例中,构造网络标识的预设的规则可以是在初始化时默认的规则,则第一主机和目的主机初始化时均默认该规则;还可以在共享第一主机上的usb设备时由云计算平台提供给第一主机的,在目的主机获取共享usb设备的网络标识时,目的主机还从云计算平台获取该预设的规则。该预设的规则的设置还可以采用其他的方式,本发明对此并不做限定。

步骤s13:将所述属性信息发送给所述第一虚拟机。

步骤s14:根据所述网络信息,传输所述第一虚拟机和所述共享usb设备之间交互的消息。

可选地,根据所述网络信息,传输所述第一虚拟机和所述共享usb设备之间交互的消息包括:

根据所述网络信息,将所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装成第一传输控制协议tcp数据包,发送给所述第一主机;以及接收并解封装所述第一主机发送的第二tcp数据包,并将解封装得到的第二本地usb设备标准请求包发送给所述第一虚拟机;其中,所述第二tcp数据包是由所述共享usb设备发送给所述第一虚拟机的第二本地usb设备标准请求包封装得到的。

对于第一虚拟机和共享usb设备而言,在第一虚拟机得到共享usb设备的属性信息后,第一虚拟机和共享usb设备之间的交互,如同本地访问usb设备时设备的交互,tcp数据包对第一虚拟机和共享usb设备是不可见的。

可选地,所述共享usb设备的属性信息是所述第一主机初始化所述usb设备时,获得的所述usb设备的属性信息;

第一主机的网络信息包括第一主机的ip地址和端口号;

所述第一本地usb设备标准请求包和所述第二本地usb设备标准请求包均包括所述共享usb设备的属性信息。

在一个示例性的实施例中,根据第一主机的网络信息中的第一主机的ip地址,第一tcp数据包可以被继续封装为可供网络透传的ip报文,通过ip网络实现第一虚拟机与共享usb设备的交互。

可选地,所述根据所述网络信息,将所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装成第一tcp数据包之前,还包括:

检测所述第一虚拟机发送的本地usb设备标准请求包是否包含所述共享usb设备的属性信息,若包含所述共享usb设备的属性信息,则确定所述本地usb设备标准请求包为第一本地usb设备标准请求包。

在一个示例性的实施例中,在共享usb设备被取消共享时,第一主机可以向目的主机发送共享取消的通知消息,其中,所述共享取消的通知消息携带共享usb设备的网络标识;目的主机解析共享取消的通知消息得到共享usb设备的网络标识,根据共享usb设备的网络标识通知第一虚拟机。在共享usb设备被取消共享时,第一主机还可以向云计算平台发送共享取消的通知消息。在共享usb设备被取消共享时,还可以采用其他的方式通知目的主机的第一虚拟机或云计算平台。如,在共享usb设备被取消共享时,第一主机可以仅向云计算平台发送共享取消的通知消息,并不通知目的主机,由云计算平台通知目的主机。或者,在共享usb设备被取消共享时,第一主机可以仅向云计算平台发送共享取消的通知消息,并不通知目的主机,而云计算平台也可以不通知目的主机;当第一主机在共享usb设备被取消共享后,收到由第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装的第一tcp数据包时,第一主机才回复共享已取消的消息。本申请的实施例还可以采用其他的方式,本发明对此并不做限定。

图2是本发明的另一实施例提供的访问共享usb设备的方法的流程图。根据图2的流程图,本实施例的访问共享usb设备的方法,应用于共享usb设备所在的主机,包括以下步骤:

步骤s21:为本主机上的共享usb设备分配网络标识,并将所述共享usb设备的网络标识发送给云计算平台;其中,所述网络标识是利用所述共享usb设备的属性信息和本主机的网络信息按照预设的规则构造的唯一的网络标识。

步骤s22:根据本主机的网络信息,传输第一虚拟机和所述共享usb设备之间交互的消息;其中,所述第一虚拟机为第二主机上的虚拟机。

在一个示例性的实施例中,共享usb设备的网络标识发送给云计算平台后,第二主机可以从云计算平台上获取,并按照预设的规则进行解析,得到共享usb设备的属性信息和本主机的网络信息。

在一个示例性的实施例中,构造网络标识的预设的规则可以是在初始化时默认的规则,则本主机和第二主机初始化时均默认该规则;还可以在共享本主机上的usb设备时由云计算平台提供给本主机的,在第二主机获取共享usb设备的网络标识时,第二主机还从云计算平台获取该预设的规则。该预设的规则的设置还可以采用其他的方式,本发明对此并不做限定。

可选地,根据本主机的网络信息,传输第一虚拟机和所述共享usb设备之间交互的消息包括:

根据本主机的网络信息,接收并解封装第二主机发送的第一传输控制协议tcp数据包,并将解封装得到的第一本地usb设备标准请求包发送给所述共享usb设备;以及将所述共享usb设备发送给第一虚拟机的第二本地usb设备标准请求包封装为第二tcp数据包,发送给所述第二主机;其中,所述第一tcp数据包是由所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装得到的。

对于第一虚拟机和共享usb设备而言,第一虚拟机和共享usb设备之间的交互,如同本地访问usb设备时设备的交互,tcp数据包对第一虚拟机和共享usb设备是不可见的。

可选地,所述共享usb设备的属性信息是本主机初始化所述usb设备时,获得的所述usb设备的属性信息;

本主机的网络信息包括本主机的ip地址和端口号;

所述第一本地usb设备标准请求包和所述第二本地usb设备标准请求包均包括所述共享usb设备的属性信息。

在一个示例性的实施例中,本主机可以通过本主机的网络信息中的本主机的ip地址,接收并解封装由第一tcp数据包封装的可供网络透传的ip报文,通过ip网络实现共享usb设备与第一虚拟机的交互。

在一个示例性的实施例中,在共享usb设备被取消共享时,本主机可以向目的主机发送共享取消的通知消息,其中,所述共享取消的通知消息携带共享usb设备的网络标识。在共享usb设备被取消共享时,本还可以向云计算平台发送共享取消的通知消息。在共享usb设备被取消共享时,本主机还可以采用其他的方式通知第二主机或云计算平台。如,在共享usb设备被取消共享时,本主机可以仅向云计算平台发送共享取消的通知消息,并不通知第二主机;若当本主机在共享usb设备被取消共享后,收到由第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装的第一tcp数据包时,本主机才回复共享已取消的消息。本申请的实施例还可以采用其他的方式,本发明对此并不做限定。

综上,本发明实施例提出的访问共享usb设备的方法使usb设备在不同主机上共享成为可能,实现了远程usb调试,usb设备统一管理,虚拟机使用远程usb加密狗等功能,减少了硬件采购成本,简化了usb设备管理和维护工作,提升了对相应业务的灵活适应力,支撑了虚拟化的高效性、可用性。

图3是本发明的一实施例提供的访问共享usb设备的装置的结构示意图。根据图3所示的示意图,本实施例的访问共享usb设备的装置,应用于共享usb设备所在的主机,包括第一存储器100和第二处理器200。其中:

所述第一存储器100,用于存储用于访问共享usb设备的程序;

所述第二处理器200,用于读取执行所述用于访问共享usb设备的程序,执行如下操作:

为本主机上的共享usb设备分配网络标识,并将所述共享usb设备的网络标识发送给云计算平台;其中,所述网络标识是利用所述共享usb设备的属性信息和本主机的网络信息按照预设的规则构造的唯一的网络标识;

根据本主机的网络信息,传输第一虚拟机和所述共享usb设备之间交互的消息;其中,所述第一虚拟机为第二主机上的虚拟机。

在一个示例性的实施例中,共享usb设备的网络标识发送给云计算平台后,第二主机可以从云计算平台上获取,并按照预设的规则进行解析,得到共享usb设备的属性信息和本主机的网络信息。

在一个示例性的实施例中,构造网络标识的预设的规则可以是在初始化时默认的规则,则本主机和第二主机初始化时均默认该规则;还可以在共享本主机上的usb设备时由云计算平台提供给本主机的,在第二主机获取共享usb设备的网络标识时,第二主机还从云计算平台获取该预设的规则。该预设的规则的设置还可以采用其他的方式,本发明对此并不做限定。

可选地,所述根据本主机的网络信息,传输第一虚拟机和所述共享usb设备之间交互的消息包括:

根据本主机的网络信息,接收并解封装第二主机发送的第一传输控制协议tcp数据包,并将解封装得到的第一本地usb设备标准请求包发送给所述共享usb设备;以及将所述共享usb设备发送给第一虚拟机的第二本地usb设备标准请求包封装为第二tcp数据包,发送给所述第二主机;其中,所述第一tcp数据包是由所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装得到的。

对于第一虚拟机和共享usb设备而言,第一虚拟机和共享usb设备之间的交互,如同本地访问usb设备时设备的交互,tcp数据包对第一虚拟机和共享usb设备是不可见的。

可选地,所述共享usb设备的属性信息是本主机初始化所述usb设备时,获得的所述usb设备的属性信息;

本主机的网络信息包括本主机的ip地址和端口号;

所述第一本地usb设备标准请求包和所述第二本地usb设备标准请求包均包括所述共享usb设备的属性信息。

在一个示例性的实施例中,本实施例的访问共享usb设备的装置可以通过本主机的网络信息中的本主机的ip地址,接收并解封装由第一tcp数据包封装的可供网络透传的ip报文,通过ip网络实现共享usb设备与第一虚拟机的交互。

在一个示例性的实施例中,第二处理器200读取执行所述用于访问共享usb设备的程序,还执行如下操作:在共享usb设备被取消共享时,可以向第二主机发送共享取消的通知消息,还可以向云计算平台发送共享取消的通知消息;其中,所述共享取消的通知消息携带共享usb设备的网络标识。在共享usb设备被取消共享时,第二处理器200读取执行所述用于访问共享usb设备的程序,还可以采用其他的方式通知第二主机或云计算平台。如,在共享usb设备被取消共享时,可以仅向云计算平台发送共享取消的通知消息,并不通知第二主机;若当本主机在共享usb设备被取消共享后,收到由第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装的第一tcp数据包时,本实施例的访问共享usb设备的装置才回复共享已取消的消息。本申请的实施例还可以采用其他的方式,本发明对此并不做限定。

图4为本发明的另一实施例提供的访问共享usb设备的装置的结构示意图。根据图4所示的示意图,本实施例的访问共享usb设备的装置,应用于目的主机,包括第二存储器300和第二处理器400。其中:

所述第二存储器300,用于存储用于访问共享usb设备的程序;

所述第二处理器400,用于读取执行所述用于访问共享usb设备的程序,执行如下操作:

当接收到本主机上的第一虚拟机发送的使用共享usb设备的请求后,获取所述共享usb设备的网络标识;

根据所述网络标识获取所述共享usb设备的属性信息,及第一主机的网络信息;其中,所述第一主机是所述共享usb设备所在的主机;

将所述属性信息发送给所述第一虚拟机;

根据所述网络信息,传输所述第一虚拟机和所述共享usb设备之间交互的消息。

可选地,所述共享usb设备的网络标识是所述第一主机为所述共享usb设备分配并提供给云计算平台的唯一的网络标识。

在一个示例性的实施例中,共享usb设备的网络标识是利用共享usb设备的属性信息和第一主机的网络信息按照预设的规则构造的唯一的网络标识。

在一个示例性的实施例中,在获取所述共享usb设备的网络标识之后,根据预设的规则对该网络标识进行解析,得到共享usb设备的属性信息,及第一主机的网络信息。

在另一个示例性的实施例中,构造网络标识的预设的规则可以是在初始化时默认的规则,则第一主机和目的主机初始化时均默认该规则;还可以在共享第一主机上的usb设备时由云计算平台提供给第一主机的,在目的主机获取共享usb设备的网络标识时,目的主机还从云计算平台获取该预设的规则。该预设的规则的设置还可以采用其他的方式,本发明对此并不做限定。

可选地,所述根据所述网络信息,传输所述第一虚拟机和所述共享usb设备之间交互的消息包括:

根据所述网络信息,将所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装成第一传输控制协议tcp数据包,发送给所述第一主机;以及接收并解封装所述第一主机发送的第二tcp数据包,并将解封装得到的第二本地usb设备标准请求包发送给所述第一虚拟机;其中,所述第二tcp数据包是由所述共享usb设备发送给所述第一虚拟机的第二本地usb设备标准请求包封装得到的。

对于第一虚拟机和共享usb设备而言,在第一虚拟机得到共享usb设备的属性信息后,第一虚拟机和共享usb设备之间的交互,如同本地访问usb设备时设备的交互,tcp数据包对第一虚拟机和共享usb设备是不可见的。

可选地,所述共享usb设备的属性信息是所述第一主机初始化所述usb设备时,获得的所述usb设备的属性信息;

所述第一主机的网络信息包括所述第一主机的ip地址和端口号;

所述第一本地usb设备标准请求包和所述第二本地usb设备标准请求包均包括所述共享usb设备的属性信息。

在一个示例性的实施例中,根据第一主机的网络信息中的第一主机的ip地址,第一tcp数据包可以被继续封装为可供网络透传的ip报文,通过ip网络实现第一虚拟机与共享usb设备的交互。

可选地,所述第二处理器读取执行所述用于访问共享usb设备的程序,还执行如下操作:

在根据所述网络信息,将所述第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装成第一tcp数据包之前,检测所述第一虚拟机发送的本地usb设备标准请求包是否包含所述共享usb设备的属性信息,若包含所述共享usb设备的属性信息,则确定所述本地usb设备标准请求包为第一本地usb设备标准请求包。

在一个示例性的实施例中,在共享usb设备被取消共享时,第一主机可以向目的主机发送共享取消的通知消息,其中,所述共享取消的通知消息携带共享usb设备的网络标识;目的主机解析共享取消的通知消息得到共享usb设备的网络标识,根据共享usb设备的网络标识通知第一虚拟机。在共享usb设备被取消共享时,第一主机还可以向云计算平台发送共享取消的通知消息。在共享usb设备被取消共享时,还可以采用其他的方式通知目的主机的第一虚拟机或云计算平台。如,在共享usb设备被取消共享时,第一主机可以仅向云计算平台发送共享取消的通知消息,并不通知目的主机,由云计算平台通知目的主机。或者,在共享usb设备被取消共享时,第一主机可以仅向云计算平台发送共享取消的通知消息,并不通知目的主机,而云计算平台也可以不通知目的主机;当第一主机在共享usb设备被取消共享后,收到由第一虚拟机发送给所述共享usb设备的第一本地usb设备标准请求包封装的第一tcp数据包时,第一主机才回复共享已取消的消息。本申请的实施例还可以采用其他的方式,本发明对此并不做限定。

下面以虚拟化系统中的具体应用示例对上述访问共享usb设备的方法做进一步的说明。

在该示例中,如图5所示的实现共享usb设备访问的系统包括云计算平台、主机a、主机b,以及位于主机b上的虚拟机b和位于主机a上的usb设备a。其中,主机a、主机b和云计算平台均通过网络连接。主机a上存储的用于访问共享usb设备的程序包含共享usb设备驱动;主机b上存储的用于访问共享usb设备的程序包含虚拟usb设备驱动。

步骤一:usb设备a插入主机a,主机a初始化usb设备a,获得usb设备a的属性信息生成usb设备基础信息表。

步骤二:主机a将usb设备a的属性信息加载给共享usb设备驱动。

步骤三:usb设备a被设置为共享usb设备,此时主机a利用所述共享usb设备的属性信息和本主机的网络信息按照预设的规则构造的唯一的网络标识,将该构造的网络标识分配给共享usb设备a;以及该构造的网络标识发送给云计算平台。

步骤四:主机b上的虚拟机b想访问该共享usb设备a,向主机b发送使用共享usb设备的请求;主机b从云计算平台获取共享usb设备a的网络标识;主机b按照预设的规则解析该网络标识,获取共享usb设备a的属性信息,及主机a的网络信息;并将共享usb设备a的属性信息,及主机a的网络信息配置给虚拟usb设备驱动,并添加给虚拟机b。

步骤五:虚拟机b根据虚拟usb设备驱动,得到共享usb设备a的属性信息。

步骤六:虚拟机b发送第一本地usb设备标准请求包到主机b的虚拟usb设备驱动,虚拟usb设备驱动根据主机a的网络信息,将第一本地usb设备标准请求包封装成第一传输控制协议tcp数据包,并继续将第一tcp数据包封装为可供网络透传的ip包,主机b将ip包发送给主机a。

步骤七:主机a接收到主机b发送的ip包后,主机a的共享usb设备驱动对接收的报文进行解封装,得到第一本地usb设备标准请求包,发送给共享usb设备a;共享usb设备a接收到第一本地usb设备标准请求包后,发送第二本地usb设备标准请求包给共享usb设备驱动;共享usb设备驱动封装为第二tcp数据包,并继续将第二tcp数据包封装为可供网络透传的ip包,主机a将ip包发送给主机b。

步骤八:主机b接收并解封装主机a发送的报文得到第二本地usb设备标准请求包,发送给虚拟机b;虚拟机b接收到第二本地usb设备标准请求包后,再回复第一本地usb设备标准请求包,之后如上述步骤六和步骤七所述的步骤,通过虚拟机a和共享usb设备之间的交互,实现共享usb设备的访问。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1