CN105391652A - 基于usb重定向实现usb设备网络共享的系统及方法 - Google Patents

基于usb重定向实现usb设备网络共享的系统及方法 Download PDF

Info

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
Application number
CN201510880773.8A
Other languages
English (en)
Other versions
CN105391652B (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.)
WUHAN OS-EASY CLOUD COMPUTING Co Ltd
Original Assignee
WUHAN OS-EASY CLOUD COMPUTING Co Ltd
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 WUHAN OS-EASY CLOUD COMPUTING Co Ltd filed Critical WUHAN OS-EASY CLOUD COMPUTING Co Ltd
Priority to CN201510880773.8A priority Critical patent/CN105391652B/zh
Publication of CN105391652A publication Critical patent/CN105391652A/zh
Application granted granted Critical
Publication of CN105391652B publication Critical patent/CN105391652B/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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols 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重定向实现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浏览器或客户端访问虚拟化管理平台。
CN201510880773.8A 2015-12-03 2015-12-03 基于usb重定向实现usb设备网络共享的系统及方法 Active CN105391652B (zh)

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)

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

* Cited by examiner, † Cited by third party
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设备的访问控制方法

Patent Citations (7)

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

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