CN105391652A - 基于usb重定向实现usb设备网络共享的系统及方法 - Google Patents
基于usb重定向实现usb设备网络共享的系统及方法 Download PDFInfo
- Publication number
- CN105391652A CN105391652A CN201510880773.8A CN201510880773A CN105391652A CN 105391652 A CN105391652 A CN 105391652A CN 201510880773 A CN201510880773 A CN 201510880773A CN 105391652 A CN105391652 A CN 105391652A
- Authority
- CN
- China
- Prior art keywords
- node
- usb device
- usb
- virtual
- virtual machine
- 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.)
- Granted
Links
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于USB重定向实现USB设备网络共享的系统及方法,涉及虚拟化与云计算领域。该系统包括用户管理主机和虚拟化平台,虚拟化平台包括至少2个节点,一个节点作为控制节点,其余节点作为计算节点,每个计算节点设有至少一台虚拟机;虚拟化平台中所有节点均用于模拟虚拟的USB设备,用作提供USB设备的服务端或接受USB设备的客户端,某一节点下的USB设备能通过Passthough模型分配给该节点下的虚拟机使用,还能通过网络共享到其他节点下的虚拟机。本发明能与现有的Passthrough模型结合使用,实现整个资源池中USB设备的共享,解决了虚拟机迁移时USB设备不能迁移的问题,操作简单方便。
Description
技术领域
本发明涉及虚拟化与云计算领域,具体是涉及一种基于USB重定向实现USB设备网络共享的系统及方法。
背景技术
在云计算虚拟化场景中,虚拟机通常运行在物理服务器上,物理服务器放置在中心机房,用户通过浏览器或客户端登录管理界面对虚拟机进行管理。为了简化系统维护管理,提高系统负载均衡,增强系统错误容忍度和优化系统电源管理,或者当服务器的硬件资源不足时,需要将当前服务器上的虚拟机,迁移到环境相同的另一台服务器上,保证虚拟机能正常使用,更希望不需要重新分配USB(UniversalSerialBUS,通用串行总线)设备,虚拟机就能使用原来的USB设备。
目前的虚拟机只能使用其所在服务器上的USB设备,通过Passthrough模型将设备独占式地分配给指定的客户域,使该域具有最高的I/O(Input/Output,输入输出)访问性能。
Pass-through模型具有以下优点:
(1)不需要模拟设备进行请求转换,故访问速度高;
(2)客户机能根据最新硬件,加载对应驱动,可充分发挥新硬件功能;
(3)客户机可以直接操纵硬件设备,提高I/O性能。
当把虚拟机从源服务器迁移到目的服务器后,如果虚拟机要使用源服务器上的USB设备,必须到机房把USB设备从源服务器上拔下来,插到当前虚拟机所在的服务器,再重新分配。现有的USB设备无法随虚拟机的迁移一起迁移,使得用户操作变得繁琐。
目前,业界一般是采用USB/IP方式来实现USB设备网络共享。参见图1所示,在client端,VHCIDriver相当于USB主机控制器,主要用于USB虚拟的attachment(分配)和detachment(移除),并能初始化远端的USB设备。在server端,StubDriver相当于USBper-devicedriver。Stubdriver可以将USB/IP请求解析为USB请求,并提交到真正的USB设备。
通常将插有USB设备的服务器当作server端,将目的虚拟机当成client端使用。这样,服务器就需要添加服务端的功能模块,虚拟机需要添加客户端的功能模块。而且服务端开启一个守护进程,等待客户端的连接,虚拟机的内核也要满足一定要求,这样就限制了USB设备网络共享的作用范围,而且增加了资源的损耗。
给每个节点添加支持USB/IP的所有功能模块,这样每个节点既能被当成服务端使用,也能被当成客户端使用。采用USB/IP方式实现USB设备网络共享,可以将USB设备从一个节点映射到另一个节点,然后通过USB本地共享(Passthrough)分配给节点下的虚拟机。
但是,发明人发现:通过USB/IP方式实现USB设备网络共享后,共享的USB设备不能再经过Passthrough分配给虚拟机使用,导致基于USB/IP实现USB设备网络共享的方法无法与Passthrough模型结合使用。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于USB重定向实现USB设备网络共享的系统及方法,能够与现有的Passthrough模型结合使用,实现整个资源池中USB设备的网络共享,服务器上的USB设备不仅能被分配到当前节点下的虚拟机使用,而且能够被其他节点下的虚拟机使用,迁移虚拟机时,无需重新拔插和分配USB设备,操作简单方便。
本发明提供一种基于USB重定向实现USB设备网络共享的系统,该系统包括用户管理主机和虚拟化平台,虚拟化平台包括至少2个结构相同的节点,其中的一个节点作为控制节点,其余节点作为计算节点,每个计算节点设置有至少一台虚拟机;用户管理主机通过互联网与控制节点相连,控制节点通过内部网络与所有计算节点相连;所述虚拟化平台中的所有节点均用于模拟虚拟的USB设备,用作提供USB设备的服务端或接受USB设备的客户端,不再作为单一的服务端或客户端使用;某一节点下的USB设备不仅能通过Passthough模型分配给该节点下的虚拟机使用,而且还能通过网络共享到其他节点下的虚拟机,实现整个资源池中USB设备的共享;但是,同一时刻,一个USB设备只能被一台虚拟机占用。
在上述技术方案的基础上,所述虚拟化平台中的每个节点都包括USB重定向单元、虚拟化管理单元、内部通讯单元、USB设备处理单元,其中:
所述USB重定向单元用于实现对物理USB设备的直接管理,将USB设备重定向到不同的虚拟机;
所述虚拟化管理单元用于模拟虚拟机的设备,为虚拟机提供运行环境;
所述内部通讯单元包括内部通讯发送模块、内部通讯接收模块,内部通讯发送模块用于将本节点上的数据包发送至目标节点;内部通讯接收模块用于接收其他节点发送的数据包;
所述USB设备处理单元用于将USB设备映射到虚拟机上,使得虚拟机使用远端的USB设备就像使用本地的USB设备一样。
在上述技术方案的基础上,所述USB重定向单元的核心模块用于数据的真实传输、对USB读写事件的处理。
在上述技术方案的基础上,所述虚拟化管理单元模拟虚拟机的光驱、CPU、内存、磁盘。
在上述技术方案的基础上,所述控制节点通过交换机与所有计算节点相连。
本发明还提供一种基于USB重定向实现USB设备网络共享的方法,包括以下步骤:
S1、用户通过用户管理主机访问虚拟化平台,在用户管理主机的管理界面上看见资源池中的所有USB设备,选择要分配给客户端节点A下的虚拟机的USB设备,并向A节点发送需要分配USB设备到A节点下的虚拟机的请求;
S2、A节点接收到用户的请求,将请求发送至物理USB设备所在服务端节点B;
S3、B节点收到A节点的请求,对USB设备进行直接管理:B节点采用固定的字符串做抬头,与当前时间生成的经过加密的字符串组合,作为虚拟USB设备在客户端的节点上的USB唯一标识;B节点准备好USB设备,将对USB设备的直接处理事件存放到队列中,准备用于信息传输的网络通信端口,等待A节点的连接,并将“USB设备已准备好”的消息返回到A节点;
S4、A节点接收到B节点返回的消息,A节点通过B节点的IP地址和指定的网络通信端口,找到B节点已经准备好的USB设备,向B节点发出连接请求;
S5、B节点收到A节点的连接请求后,将USB设备的实际信息传输到A节点上,A节点模拟出虚拟的USB设备,将虚拟的USB设备映射到A节点下的虚拟机,给A节点下的虚拟机使用,该虚拟机使用映射的USB设备就像在本地使用一样。
在上述技术方案的基础上,步骤S3中,B节点的内部通讯接收模块收到A节点的请求,将请求传达到B节点的USB重定向单元,B节点的USB重定向单元对USB设备进行直接管理:B节点采用固定的字符串做抬头,与当前时间生成的经过加密的字符串组合,作为虚拟USB设备在客户端的节点上的USB唯一标识;B节点的USB重定向单元准备好USB设备,将对USB设备的直接处理事件存放到队列中,准备用于信息传输的网络通信端口,等待A节点的连接,并将“USB设备已准备好”的消息传递给B节点的内部通讯发送模块,B节点的内部通讯发送模块将“USB设备已准备好”的消息返回到A节点;
步骤S5中,B节点收到A节点的连接请求后,B节点的USB重定向单元通过传输控制协议,将USB设备的实际信息传输到A节点上,A节点的USB设备处理单元模拟出虚拟的USB设备,将虚拟的USB设备映射到A节点下的虚拟机,给A节点下的虚拟机使用。
在上述技术方案的基础上,步骤S5中还包括以下步骤:每个节点都运行着一个实时检查、更新数据库中USB信息的服务,作为服务端的B节点在数据库中对USB唯一标识做记录,每次重定向时,B节点都进行相应的检查更新,删除不需要的记录,保证记录条数不达到上限,不影响后来的USB设备网络共享。
在上述技术方案的基础上,步骤S3中所述经过加密的字符串为消息摘要算法第五版MD5值。
在上述技术方案的基础上,步骤S1中,用户通过用户管理主机上的Web浏览器或客户端访问虚拟化管理平台。
与现有技术相比,本发明的优点如下:
(1)本发明中的用户管理主机通过互联网访问虚拟化平台,在用户管理主机的管理界面上可以很清晰地看见资源池中的所有USB设备,虚拟化平台中的每个节点都包括USB重定向单元,USB重定向单元实现了对物理USB设备的直接管理,根据需求,可以选择性的分配USB设备到目的虚拟机,使每个节点不再成为单一的服务端或客户端,某一节点下的USB设备不仅能分配给该节点下的虚拟机使用,而且还能通过网络共享到其他节点下的虚拟机,实现整个资源池中USB设备的共享,而不需要考虑虚拟机与USB设备是否在同一节点下,操作简单明了。本发明能够与现有的Passthrough模型结合使用,服务器上的USB设备不仅能被分配到当前节点下的虚拟机使用,而且能够被其他节点下的虚拟机使用。当服务器需要进行维护、升级,或考虑到服务器的硬件资源不足时,迁移带有USB设备的虚拟机时,不需要重新“拔、插、再分配”USB设备,USB设备还是能被原来的虚拟机占用。本发明省去了操作人员去机房对USB设备的“拔、插”操作,不需要人为的将USB设备从一台服务器上转到另一台服务器上,再人为的分配到指定虚拟机,在用户管理主机的管理界面上就能够实现对虚拟机和USB设备的直接管理,用户只需选择要添加的USB设备,而其他过程完全由底层自动完成,用户不需要安装任何第三方工具,操作简单方便。
(2)本发明的服务端节点采用固定的字符串做抬头,与当前时间生成的经过加密的字符串(例如:MD5值)组合,作为虚拟USB设备在客户端的节点上的USB唯一标识,这个USB唯一标识只会出现一次,保证分配到虚拟机的USB设备正确。USB网络共享可能由于网络中断和其他等问题出现断开的异常,而异常处理完后,USB设备会重新分配到虚拟机,而这时在客户端节点的qemu(模拟处理器)中USB唯一标识已经发生改变,但原来的USB唯一标识还存在客户端所在的qemu中。现有的qemu对标识的数量做了上限设置,记录条数达到上限后,不能再添加USB设备,这样就会影响后来的USB设备网络共享。本发明的服务端节点在数据库中对USB唯一标识做了记录,每次重定向时,都会做相应的检查更新,删除不需要的记录,使得重定向的USB设备的记录条数不会达到上限,即使突发异常(例如网络中断,服务器重启等)导致USB设备不能使用,异常消除后,不需重新人为分配,USB设备会重新重定向到虚拟机,这样就不会影响后来的USB设备网络共享。
附图说明
图1是现有技术中基于USB/IP实现USB设备网络共享的原理图。
图2是本发明实施例中基于USB重定向实现USB设备网络共享的系统的结构框图。
图3是本发明实施例中虚拟化平台的节点的结构框图。
图4是本发明实施例中基于USB重定向实现USB设备网络共享的方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图2所示,本发明实施例提供一种基于USB重定向实现USB设备网络共享的系统,该系统包括用户管理主机和虚拟化平台,虚拟化平台包括至少2个结构相同的节点,其中的一个节点作为控制节点,其余节点作为计算节点,每个计算节点设置有至少一台虚拟机;用户管理主机通过互联网与控制节点相连,控制节点通过内部网络(优选交换机)与所有计算节点相连。
虚拟化平台中的所有节点均用于模拟虚拟的USB设备,用作提供USB设备的服务端或接受USB设备的客户端,不再作为单一的服务端或客户端使用。某一节点下的USB设备不仅能通过Passthough模型分配给该节点下的虚拟机使用,而且还能通过网络共享到其他节点下的虚拟机,实现整个资源池中USB设备的共享。但是,同一时刻,一个USB设备只能被一台虚拟机占用。
参见图3所示,虚拟化平台中的每个节点都包括USB重定向单元、虚拟化管理单元、内部通讯单元、USB设备处理单元,其中:
USB重定向单元用于实现对物理USB设备的直接管理,将USB设备重定向到不同的虚拟机;USB重定向单元的核心模块用于数据的真实传输、对USB读写事件的处理;
虚拟化管理单元用于模拟虚拟机的各种设备,例如:模拟虚拟机的光驱、CPU、内存、磁盘等设备,为虚拟机提供运行环境;
内部通讯单元包括内部通讯发送模块、内部通讯接收模块,内部通讯发送模块用于将本节点上的数据包发送至目标节点,内部通讯接收模块用于接收其他节点发送的数据包;
USB设备处理单元用于将USB设备映射到虚拟机上,使得虚拟机使用远端的USB设备就像使用本地的USB设备一样,根据虚拟机的操作系统的差别,虚拟机要安装不同的驱动。
参见图4所示,本发明实施例还提供一种应用于上述系统的基于USB重定向实现USB设备网络共享的方法,包括以下步骤:
S1、用户通过用户管理主机访问虚拟化平台,在用户管理主机的管理界面上可以很清晰地看见资源池中的所有USB设备,选择要分配给客户端节点(下文简称A节点)下的虚拟机的USB设备,并向A节点发送需要分配USB设备到A节点下的虚拟机的请求;在实际应用中,用户可以通过用户管理主机上的Web浏览器或客户端访问虚拟化管理平台;
S2、A节点的内部通讯接收模块接收到用户的请求,通过内部通讯发送模块将请求发送至物理USB设备所在服务端节点(下文简称B节点);
S3、B节点的内部通讯接收模块收到A节点的请求,将请求传达到B节点的USB重定向单元,B节点的USB重定向单元对USB设备进行直接管理:B节点采用固定的字符串做抬头,与当前时间生成的经过加密的字符串组合,作为虚拟USB设备在客户端的节点上的USB唯一标识,这个USB唯一标识只会出现一次;经过加密的字符串可以为MD5(MessageDigestAlgorithm5,消息摘要算法第五版)值。B节点的USB重定向单元准备好USB设备,将对USB设备的直接处理事件存放到队列中,准备用于信息传输的网络通信端口,等待A节点的连接,并将“USB设备已准备好”的消息传递给B节点的内部通讯发送模块,B节点的内部通讯发送模块将“USB设备已准备好”的消息返回到A节点;
S4、A节点的内部通讯接收模块接收到B节点返回的消息,A节点通过B节点的IP地址和指定的网络通信端口,找到B节点已经准备好的USB设备,向B节点发出连接请求;
S5、B节点收到A节点的连接请求后,B节点的USB重定向单元通过TCP(TransmissionControlProtocol,传输控制协议)传输协议,将USB设备的实际信息传输到A节点上,A节点的USB设备处理单元模拟出虚拟的USB设备,将虚拟的USB设备映射到A节点下的虚拟机,给A节点下的虚拟机使用,该虚拟机使用映射的USB设备就像在本地使用一样。每个节点都运行着一个实时检查、更新数据库中USB信息的服务,作为服务端的B节点在数据库中对USB唯一标识做了记录,每次重定向时,B节点都会做相应的检查更新,会删除不需要的记录,保证了记录条数不会达到上限,这样就不会影响后来的USB设备网络共享。
本发明实施例的原理详细阐述如下:
为了与现有的Passthrough模型相结合,考虑到兼容性和资源消耗的问题,本发明实施例采用USB重定向方式来实现USB设备网络共享。基于USB重定向的USB设备网络共享,需要使用USB设备的目的虚拟机安装正确的USB驱动。资源池中的每个节点,都添加USB重定向单元,qemu(模拟处理器)也要达到版本要求,并将usb-redir(重定向功能)、libusb(支持usb重定向的库)、spice(一种协议)等功能都编译到qemu中(实现中使用的是2.3.0版本),这样才能实现USB设备重定向。
通常将带有USB设备的节点作为服务端,将目的虚拟机所在的节点作为客户端。服务端接收来自客户端的请求时,要获取未被占用的网络通信端口(port)和USB在服务器上的唯一标识作为启动服务的命令。唯一标识由bus(总线标识)和dev(设备标识)组合构成,如果端口已经被使用,以此端口的服务不能启动。如果获取的bus和dev是错误的,虽然服务能启动,但此USB设备根本不存在。只有保证port未被使用,bus和dev标识的USB设备真的存在,作为客户端的节点通过端口才能与服务端相连接,服务端的USB重定向单元将USB设备的信息封装成URB(USBRequestBlock,USB数据请求块)数据包发送到客户端,USB信息在客户端经过qemu处理,映射到虚拟机上,在虚拟机上就能看到远端的USB设备。
USB网络共享不会在虚拟机的XML(ExtensibleMarkupLanguage,可扩展标记语言)文件中形成关于分配的USB设备的记录,而在客户端qemu中会记录重定向之后的USB设备,为了保证分配到虚拟机的USB设备正确,客户端也要对每个虚拟的USB设备有唯一标识,并和服务端的物理的USB设备建立联系。虚拟USB设备在客户端的节点上的唯一标识的设置就成了一个难题。为了解决这个难题,本发明实施例中,服务端的节点采用固定的字符串做抬头,与当前时间生成的经过加密的字符串(例如MD5值)组合,作为虚拟USB设备在客户端的节点上的USB唯一标识,保证这个USB唯一标识只会出现一次。
USB网络共享可能由于网络中断和其他等问题出现断开的异常,而异常处理完后,USB设备会重新分配到虚拟机,而这时在客户端节点的qemu中USB唯一标识已经发生改变,但原来的标识还存在客户端所在的qemu中,而在qemu中对USB唯一标识的数量做了上限设置,记录条数达到上限后,不能再添加USB设备,这样会影响后来的共享。为了解决这个问题,本发明实施例中,服务端的节点在数据库中对USB唯一标识做了记录,每次重定向时,服务端的节点都会做相应的检查更新,会删除不需要的记录,保证了记录条数不会达到上限,这样就不会影响后来的USB设备网络共享。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。
Claims (10)
1.一种基于USB重定向实现USB设备网络共享的系统,其特征在于:该系统包括用户管理主机和虚拟化平台,虚拟化平台包括至少2个结构相同的节点,其中的一个节点作为控制节点,其余节点作为计算节点,每个计算节点设置有至少一台虚拟机;用户管理主机通过互联网与控制节点相连,控制节点通过内部网络与所有计算节点相连;所述虚拟化平台中的所有节点均用于模拟虚拟的USB设备,用作提供USB设备的服务端或接受USB设备的客户端,不再作为单一的服务端或客户端使用;某一节点下的USB设备不仅能通过Passthough模型分配给该节点下的虚拟机使用,而且还能通过网络共享到其他节点下的虚拟机,实现整个资源池中USB设备的共享;但是,同一时刻,一个USB设备只能被一台虚拟机占用。
2.如权利要求1所述的基于USB重定向实现USB设备网络共享的系统,其特征在于:所述虚拟化平台中的每个节点都包括USB重定向单元、虚拟化管理单元、内部通讯单元、USB设备处理单元;
所述USB重定向单元用于实现对物理USB设备的直接管理,将USB设备重定向到不同的虚拟机;
所述虚拟化管理单元用于模拟虚拟机的设备,为虚拟机提供运行环境;
所述内部通讯单元包括内部通讯发送模块、内部通讯接收模块,内部通讯发送模块用于将本节点上的数据包发送至目标节点,内部通讯接收模块用于接收其他节点发送的数据包;
所述USB设备处理单元用于将USB设备映射到虚拟机上,使得虚拟机使用远端的USB设备就像使用本地的USB设备一样。
3.如权利要求2所述的基于USB重定向实现USB设备网络共享的系统,其特征在于:所述USB重定向单元的核心模块用于数据的真实传输、对USB读写事件的处理。
4.如权利要求2所述的基于USB重定向实现USB设备网络共享的系统,其特征在于:所述虚拟化管理单元模拟虚拟机的光驱、CPU、内存、磁盘。
5.如权利要求1至4中任一项所述的基于USB重定向实现USB设备网络共享的系统,其特征在于:所述控制节点通过交换机与所有计算节点相连。
6.一种应用于权利要求1所述系统的基于USB重定向实现USB设备网络共享的方法,其特征在于,包括以下步骤:
S1、用户通过用户管理主机访问虚拟化平台,在用户管理主机的管理界面上看见资源池中的所有USB设备,选择要分配给客户端节点A下的虚拟机的USB设备,并向A节点发送需要分配USB设备到A节点下的虚拟机的请求;
S2、A节点接收到用户的请求,将请求发送至物理USB设备所在服务端节点B;
S3、B节点收到A节点的请求,对USB设备进行直接管理:B节点采用固定的字符串做抬头,与当前时间生成的经过加密的字符串组合,作为虚拟USB设备在客户端的节点上的USB唯一标识;B节点准备好USB设备,将对USB设备的直接处理事件存放到队列中,准备用于信息传输的网络通信端口,等待A节点的连接,并将“USB设备已准备好”的消息返回到A节点;
S4、A节点接收到B节点返回的消息,A节点通过B节点的IP地址和指定的网络通信端口,找到B节点已经准备好的USB设备,向B节点发出连接请求;
S5、B节点收到A节点的连接请求后,将USB设备的实际信息传输到A节点上,A节点模拟出虚拟的USB设备,将虚拟的USB设备映射到A节点下的虚拟机,给A节点下的虚拟机使用,该虚拟机使用映射的USB设备就像在本地使用一样。
7.如权利要求6所述的基于USB重定向实现USB设备网络共享的方法,其特征在于:步骤S3中,B节点的内部通讯接收模块收到A节点的请求,将请求传达到B节点的USB重定向单元,B节点的USB重定向单元对USB设备进行直接管理:B节点采用固定的字符串做抬头,与当前时间生成的经过加密的字符串组合,作为虚拟USB设备在客户端的节点上的USB唯一标识;B节点的USB重定向单元准备好USB设备,将对USB设备的直接处理事件存放到队列中,准备用于信息传输的网络通信端口,等待A节点的连接,并将“USB设备已准备好”的消息传递给B节点的内部通讯发送模块,B节点的内部通讯发送模块将“USB设备已准备好”的消息返回到A节点;
步骤S5中,B节点收到A节点的连接请求后,B节点的USB重定向单元通过传输控制协议,将USB设备的实际信息传输到A节点上,A节点的USB设备处理单元模拟出虚拟的USB设备,将虚拟的USB设备映射到A节点下的虚拟机,给A节点下的虚拟机使用。
8.如权利要求6所述的基于USB重定向实现USB设备网络共享的方法,其特征在于:步骤S5中还包括以下步骤:每个节点都运行着一个实时检查、更新数据库中USB信息的服务,作为服务端的B节点在数据库中对USB唯一标识做记录,每次重定向时,B节点都进行相应的检查更新,删除不需要的记录,保证记录条数不达到上限,不影响后来的USB设备网络共享。
9.如权利要求6所述的基于USB重定向实现USB设备网络共享的方法,其特征在于:步骤S3中所述经过加密的字符串为消息摘要算法第五版MD5值。
10.如权利要求6至9中任一项所述的基于USB重定向实现USB设备网络共享的方法,其特征在于:步骤S1中,用户通过用户管理主机上的Web浏览器或客户端访问虚拟化管理平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510880773.8A CN105391652B (zh) | 2015-12-03 | 2015-12-03 | 基于usb重定向实现usb设备网络共享的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510880773.8A CN105391652B (zh) | 2015-12-03 | 2015-12-03 | 基于usb重定向实现usb设备网络共享的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105391652A true CN105391652A (zh) | 2016-03-09 |
CN105391652B CN105391652B (zh) | 2018-08-31 |
Family
ID=55423498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510880773.8A Active CN105391652B (zh) | 2015-12-03 | 2015-12-03 | 基于usb重定向实现usb设备网络共享的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105391652B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205504A (zh) * | 2016-12-16 | 2018-06-26 | 广州杰赛科技股份有限公司 | 终端usb映射方法、虚拟机usb映射方法及系统 |
CN108768783A (zh) * | 2018-06-08 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种循环测试网络连通性的方法及系统 |
CN109086238A (zh) * | 2018-07-04 | 2018-12-25 | 山东超越数控电子股份有限公司 | 一种基于usb重定向的服务器串口管理系统及方法 |
CN109284170A (zh) * | 2018-09-11 | 2019-01-29 | 山东观海数据技术有限公司 | 一种局域网内usb共享系统及共享方法 |
CN109525432A (zh) * | 2018-12-10 | 2019-03-26 | 浙江大华技术股份有限公司 | 一种室内电力巡检方法、装置及系统 |
CN111045737A (zh) * | 2019-11-29 | 2020-04-21 | 惠州Tcl移动通信有限公司 | 设备标识获取方法、装置、终端设备和存储介质 |
WO2020114167A1 (zh) * | 2018-12-07 | 2020-06-11 | 青岛海信宽带多媒体技术有限公司 | 一种融合网关的usb设备安全共用方法及装置 |
CN112596793A (zh) * | 2020-11-26 | 2021-04-02 | 新华三大数据技术有限公司 | 复合设备的重定向方法及装置 |
CN113687910A (zh) * | 2021-07-29 | 2021-11-23 | 广东浪潮智慧计算技术有限公司 | 一种集群内usb设备管理方法、装置、设备及存储介质 |
CN114006882A (zh) * | 2021-11-12 | 2022-02-01 | 广州青云直上信息科技有限公司 | 一种自动识别远程usb设备的控制方法 |
CN115190073A (zh) * | 2022-05-20 | 2022-10-14 | 阿里巴巴(中国)有限公司 | 一种usb重定向实现方法、系统和相关设备 |
CN116955236A (zh) * | 2023-09-20 | 2023-10-27 | 元内核(北京)科技有限公司 | 一种基于虚拟化的usb设备共享方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493786A (zh) * | 2008-01-22 | 2009-07-29 | 联想(北京)有限公司 | 一种计算机及设备访问方法 |
CN102523264A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 面向虚拟机的usb设备远程共享方法和系统 |
CN102567074A (zh) * | 2011-11-29 | 2012-07-11 | 中标软件有限公司 | 一种面向虚拟机的usb设备重定向方法 |
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
US20140317418A1 (en) * | 2013-04-23 | 2014-10-23 | Hon Hai Precision Industry Co., Ltd. | Server, client device, and usb redirection method |
CN104123244A (zh) * | 2013-04-25 | 2014-10-29 | 鸿富锦精密工业(深圳)有限公司 | Usb重定向系统及方法 |
CN104954451A (zh) * | 2015-06-02 | 2015-09-30 | 华中科技大学 | 一种虚拟化环境下usb设备的访问控制方法 |
-
2015
- 2015-12-03 CN CN201510880773.8A patent/CN105391652B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493786A (zh) * | 2008-01-22 | 2009-07-29 | 联想(北京)有限公司 | 一种计算机及设备访问方法 |
CN102789432A (zh) * | 2011-05-19 | 2012-11-21 | 中国电信股份有限公司 | Usb设备驱动方法和系统 |
CN102567074A (zh) * | 2011-11-29 | 2012-07-11 | 中标软件有限公司 | 一种面向虚拟机的usb设备重定向方法 |
CN102523264A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 面向虚拟机的usb设备远程共享方法和系统 |
US20140317418A1 (en) * | 2013-04-23 | 2014-10-23 | Hon Hai Precision Industry Co., Ltd. | Server, client device, and usb redirection method |
CN104123244A (zh) * | 2013-04-25 | 2014-10-29 | 鸿富锦精密工业(深圳)有限公司 | Usb重定向系统及方法 |
CN104954451A (zh) * | 2015-06-02 | 2015-09-30 | 华中科技大学 | 一种虚拟化环境下usb设备的访问控制方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205504A (zh) * | 2016-12-16 | 2018-06-26 | 广州杰赛科技股份有限公司 | 终端usb映射方法、虚拟机usb映射方法及系统 |
CN108768783B (zh) * | 2018-06-08 | 2021-10-22 | 郑州云海信息技术有限公司 | 一种循环测试网络连通性的方法及系统 |
CN108768783A (zh) * | 2018-06-08 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种循环测试网络连通性的方法及系统 |
CN109086238B (zh) * | 2018-07-04 | 2022-03-04 | 超越科技股份有限公司 | 一种基于usb重定向的服务器串口管理系统及方法 |
CN109086238A (zh) * | 2018-07-04 | 2018-12-25 | 山东超越数控电子股份有限公司 | 一种基于usb重定向的服务器串口管理系统及方法 |
CN109284170A (zh) * | 2018-09-11 | 2019-01-29 | 山东观海数据技术有限公司 | 一种局域网内usb共享系统及共享方法 |
CN109284170B (zh) * | 2018-09-11 | 2021-10-26 | 山东观海数据技术有限公司 | 一种局域网内usb共享系统及共享方法 |
WO2020114167A1 (zh) * | 2018-12-07 | 2020-06-11 | 青岛海信宽带多媒体技术有限公司 | 一种融合网关的usb设备安全共用方法及装置 |
CN109525432A (zh) * | 2018-12-10 | 2019-03-26 | 浙江大华技术股份有限公司 | 一种室内电力巡检方法、装置及系统 |
CN111045737A (zh) * | 2019-11-29 | 2020-04-21 | 惠州Tcl移动通信有限公司 | 设备标识获取方法、装置、终端设备和存储介质 |
CN111045737B (zh) * | 2019-11-29 | 2023-09-19 | 惠州Tcl移动通信有限公司 | 设备标识获取方法、装置、终端设备和存储介质 |
CN112596793A (zh) * | 2020-11-26 | 2021-04-02 | 新华三大数据技术有限公司 | 复合设备的重定向方法及装置 |
CN113687910A (zh) * | 2021-07-29 | 2021-11-23 | 广东浪潮智慧计算技术有限公司 | 一种集群内usb设备管理方法、装置、设备及存储介质 |
CN114006882A (zh) * | 2021-11-12 | 2022-02-01 | 广州青云直上信息科技有限公司 | 一种自动识别远程usb设备的控制方法 |
CN115190073A (zh) * | 2022-05-20 | 2022-10-14 | 阿里巴巴(中国)有限公司 | 一种usb重定向实现方法、系统和相关设备 |
CN116955236A (zh) * | 2023-09-20 | 2023-10-27 | 元内核(北京)科技有限公司 | 一种基于虚拟化的usb设备共享方法及系统 |
CN116955236B (zh) * | 2023-09-20 | 2023-12-12 | 元内核(北京)科技有限公司 | 一种基于虚拟化的usb设备共享方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105391652B (zh) | 2018-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105391652A (zh) | 基于usb重定向实现usb设备网络共享的系统及方法 | |
CN103620578B (zh) | 经由网络分割的本地云计算 | |
CN104253865B (zh) | 一种混合型桌面云服务平台的两级管理方法 | |
CN101430649B (zh) | 基于虚拟机的虚拟计算环境系统 | |
CN102447723B (zh) | 客户端虚拟化架构 | |
CN112099918A (zh) | 容器化环境中的集群的实时迁移 | |
CN102523264B (zh) | 面向虚拟机的usb设备远程共享方法和系统 | |
US9063793B2 (en) | Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes | |
CN108667859A (zh) | 一种实现资源调度的方法及装置 | |
US9720719B2 (en) | Method and system for optimizing virtual disk provisioning | |
CN103986786A (zh) | 一种远程云桌面操作系统 | |
CN103530167A (zh) | 一种虚拟机内存数据的迁移方法及相关装置和集群系统 | |
CN103685441B (zh) | 一种基于龙芯终端的远程桌面控制系统 | |
US20170005878A1 (en) | Method and system for testing and analyzing management servers | |
CN104239122A (zh) | 一种虚拟机迁移方法和装置 | |
CN104239227A (zh) | 一种虚拟化存储管理装置、本地虚拟存储管理装置及方法 | |
CN104283959A (zh) | 一种适用于云平台的基于性能分级的存储机制 | |
CN102833334A (zh) | 一种逻辑卷管理方法 | |
Zhang et al. | Typical virtual appliances: An optimized mechanism for virtual appliances provisioning and management | |
CN102932455A (zh) | 基于云计算渲染农场的构建方法 | |
CN103501295B (zh) | 一种基于虚拟机迁移的远程访问方法和设备 | |
US9898273B1 (en) | Dynamically updating APIS based on updated configuration file of a computing system | |
CN102307207A (zh) | 在线定制虚拟机镜像的系统及其方法 | |
CN114579250B (zh) | 一种构建虚拟集群的方法、装置及存储介质 | |
CN114281444A (zh) | 一种实施云桌面客户端的布置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 430000 Hubei city of Wuhan Province, East Lake New Technology Development Zone, Optics Valley Road No. 465 building 17 room 1701 creative Applicant after: WUHAN OS-EASY CLOUD COMPUTING CO., LTD. Address before: 430074 Hubei city of Wuhan Province, East Lake New Technology Development Zone, Road No. 465 Optics Valley creative building C block 17 layer Applicant before: WUHAN OS-EASY CLOUD COMPUTING CO., LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |