CN104991871A - 云终端usb重定向方法与系统 - Google Patents
云终端usb重定向方法与系统 Download PDFInfo
- Publication number
- CN104991871A CN104991871A CN201510329197.8A CN201510329197A CN104991871A CN 104991871 A CN104991871 A CN 104991871A CN 201510329197 A CN201510329197 A CN 201510329197A CN 104991871 A CN104991871 A CN 104991871A
- Authority
- CN
- China
- Prior art keywords
- usb
- cloud terminal
- redirected
- libusb
- call back
- 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.)
- Pending
Links
Classifications
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种云终端USB重定向方法与系统,初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库,根据libusb指令库绑定usb热拔插的回调函数,定义usb重定向通道,在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数,定义usb device读写回调函数,实现usb重定向。整个过程,利用云终端中的libusb和usbredir库,通过增加USB重定向通道,并重定向通道继承通道基类,快速实现USB的重定向,提高用户的体验。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及云终端USB重定向方法与系统。
背景技术
USB设备重定向,就是把云终端中Linux服务器上对设备的操作重定向到Linux终端上。USB设备重定向的原理是:在服务器通过创建虚拟设备,对该设备的操作被虚拟驱动通过网络发送到终端,终端接收到请求后,发送给USB设备,再把结果通过网络返回服务器。
随着桌面虚拟化技术的发展,目前已有越来越多的公司和企业开始部署桌面虚拟化系统。在虚拟化桌面云的部署及应用过程中,用户需要云终端对不同的USB设备重定向,以方便办公。
但是目前针对USB传输规范,主要是USB传输协议,例如USB总线协议,针对USB重定向这一方面来说,目前尚无良好的USB重定向方式,以快速实现USB重定向,方便用户的使用。
发明内容
基于此,有必要针对目前尚一种USB重定向方式,快速实现USB重定向的问题,提供一种基于Linux云终端USB重定向方法与系统,以快速实现USB重定向,方便用户的使用。
一种云终端USB重定向方法,包括步骤:
初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库;
根据libusb指令库绑定usb热拔插的回调函数;
定义usb重定向通道;
在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数;
定义usb device读写回调函数,实现usb重定向。
一种云终端USB重定向系统,包括:
初始模块,用于初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库;
绑定模块,用于根据libusb指令库绑定usb热拔插的回调函数;
通道定义模块,用于定义usb重定向通道;
回调函数生成模块,用于在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数;
重定向模块,用于定义usb device读写回调函数,实现usb重定向。
本发明云终端USB重定向方法与系统,初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库;
根据libusb指令库绑定usb热拔插的回调函数;
定义usb重定向通道;
在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数;
定义usb device读写回调函数,实现usb重定向。
本发明云终端USB重定向方法与系统,初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库,根据libusb指令库绑定usb热拔插的回调函数,定义usb重定向通道,在usb重定向通道中,当检测有usbdevice接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数,定义usb device读写回调函数,实现usb重定向。整个过程,利用云终端中的libusb和usbredir库,通过增加USB重定向通道,并重定向通道继承通道基类,快速实现USB的重定向,提高用户的体验。
附图说明
图1为本发明云终端USB重定向方法第一个实施例的流程示意图;
图2为本发明云终端USB重定向方法第二个实施例的流程示意图;
图3为本发明云终端USB重定向系统第一个实施例的结构示意图;
图4为本发明云终端USB重定向系统第二个实施例的结构示意图。
具体实施方式
如图1所示,一种云终端USB重定向方法,包括步骤:
S100:初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库。
云终端是指利用嵌入式ARM实现,其上运行linux操作系统的一个网络设备,具有网络VGA、USB等外设接口,主要功能通过运行应用spicec客户端连接虚拟化服务器上虚拟机(windows),从而实现远程桌面的功能。在这里,主要针对linux操作系统的云终端进行研究,初始化linux中的libusb库和usbredir库,获取libusb指令库和usbredir指令库。对初始化linux中的libusb库具体可以是调用libusb_init初始化libusb库。
S200:根据libusb指令库绑定usb热拔插的回调函数。
调用libusb指令库中的某一特定指令,绑定usb热插拔的回调函数。具体来说步骤S200为:根据libusb指令库得到usb库的句柄,调用usb库的句柄绑定usb热拔插的回调函数。在实际操作中,可以调用libusb指令库中libusb_hotplug_register_callback绑定usb热插拔的回调函数。
S300:定义usb重定向通道。
通过定义usb重定向通道,其通道中最主要的成员函数handle_usb_data,该函数处理从虚拟机中的usb设备来的控制或数据消息,将该函数绑定到接收数据处理回调中。
S400:在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数。
usb重定向通道中,当检测有usb device接入时,调用usbredirhost_open_full、usbredirhost_set_device以及libusb_open,打开usb device,调用usbredirhost_open_full绑定回调函数usbredir_read_callback,usbredir_write_callback。
S500:定义usb device读写回调函数,实现usb重定向。
本发明云终端USB重定向方法,初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库,根据libusb指令库绑定usb热拔插的回调函数,定义usb重定向通道,在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数,定义usb device读写回调函数,实现usb重定向。整个过程,利用云终端中的libusb和usbredir库,通过增加USB重定向通道,并重定向通道继承通道基类,快速实现USB的重定向,提高用户的体验。
在其中一个实施例中,所述根据libusb指令库绑定usb热拔插的回调函数具体为:
根据libusb指令库得到usb库的句柄,调用usb库的句柄绑定usb热拔插的回调函数。
如图2所示,在其中一个实施例中,步骤S500具体包括步骤:
S520:根据回调函数,生成usb数据类别消息。
usbredir_write_callback回调函数生成usb数据类别消息。
S540:发送usb数据类别消息至云终端服务器。
发送消息到云终端服务器中去,该回调函数在有usb数据需要发送时被激活。
S560:处理云终端服务器反馈回的usb控制命令或数据。
handle_usb_data函数处理从虚拟机接受到的usb控制命令或数据,然后调用usbredirhost_read_guest_data。
S580:根据usb控制命令或数据,将回调函数缓存至usb device中,实现usb重定向。
usbredir_read_callback回调函数复制从虚拟机中接收到的usb数据到usbdevice缓存,该回调函数在有usb数据需要写或控制时被激活,实现usb重定向。
如图2所示,在其中一个实施例中,步骤S560之后还有步骤:
S570:将云终端服务器反馈回的usb控制命令或数据保存。
将usb控制命令或数据保存,避免意外情况导致数据丢失,例如突然断电。
如图2所示,在其中一个实施例中,步骤S300具体包括步骤:
S320:利用spicec增设usb重定向通道,并获取spicec提供的通道基类;
S340:继承通道基类,定义usb重定向通道。
spicec(Simple Protocol for independent Computing Environment client,独立计算环境简单协议)软件是红帽企业虚拟化桌面版的三大主要技术组件之一,具有自适应能力的远程提交协议,能够提供与物理桌面完全相同的最终用户体验云终端通过集成开源spicec软件来连接虚拟机。在spicec客户端软件通过增加usb重定向通道,重定向usb通道继承原spicec软件提供的通道基类。
如图3所示,一种云终端USB重定向系统,包括:
初始模块100,用于初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库;
绑定模块200,用于根据libusb指令库绑定usb热拔插的回调函数;
通道定义模块300,用于定义usb重定向通道;
回调函数生成模块400,用于在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数;
重定向模块500,用于定义usb device读写回调函数,实现usb重定向。
本发明云终端USB重定向系统,初始模块100初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库,绑定模块200根据libusb指令库绑定usb热拔插的回调函数,通道定义模块300定义usb重定向通道,回调函数生成模块400在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数,重定向模块500定义usb device读写回调函数,实现usb重定向。整个过程,利用云终端中的libusb和usbredir库,通过增加USB重定向通道,并重定向通道继承通道基类,快速实现USB的重定向,提高用户的体验。
在其中一个实施例中,所述绑定模块200具体用于根据libusb指令库得到usb库的句柄,调用usb库的句柄绑定usb热拔插的回调函数。
如图4所示,在其中一个实施例中,所述重定向模块500具体包括:
类别消息生成单元520,用于根据回调函数,生成usb数据类别消息;
发送单元540,用于发送usb数据类别消息至云终端服务器;
处理单元560,用于处理云终端服务器反馈回的usb控制命令或数据;
重定向单元580,用于根据usb控制命令或数据,将回调函数缓存至usbdevice中,实现usb重定向。
如图4所示,在其中一个实施例中,所述重定向模块500还包括:
存储单元570,用于将云终端服务器反馈回的usb控制命令或数据保存。
如图4所示,在其中一个实施例中,所述通道定义模块300包括:
通道基类获取单元320,用于利用spicec增设usb重定向通道,并获取spicec提供的通道基类;
通道定义单元340,用于继承通道基类,定义usb重定向通道。
为了更进一步详细解释本发明云终端USB重定向方法与系统的技术方案及其有益效果下面将才用一个具体实施例进行说明。
步骤一:调用libusb_init初始化libusb库,得到usb库的句柄,调用libusb_hotplug_register_callback绑定检测usb热拔插的回调函数,启动检测usb设备的热拔插事件线程。
步骤二:通过继承通道基类,定义usb通道,其通道中最主要的成员函数handle_usb_data,该函数处理从虚拟机中的usb设备来的控制或数据消息,将该函数绑定到接收数据处理回调中。
步骤三:检测到usb device插入,调用usbredirhost_open_full,usbredirhost_set_device,libusb_open,打开usb device,调用usbredirhost_open_full绑定回调函数usbredir_read_callback,usbredir_write_callback。
步骤四:usbredir_write_callback回调函数生成usb数据类别消息,发送消息到服务器中去,该回调函数在有usb数据需要发送时被激活。
步骤五:handle_usb_data函数处理从虚拟机接收到的usb控制命令或数据,将数据保存,然后调用usbredirhost_read_guest_data。
步骤六:usbredir_read_callback回调函数复制从虚拟机中接收到的usb数据到usb device缓存该回调函数在有usb数据需要写或控制时被激活。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种云终端USB重定向方法,其特征在于,包括步骤:
初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库;
根据libusb指令库绑定usb热拔插的回调函数;
定义usb重定向通道;
在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数;
定义usb device读写回调函数,实现usb重定向。
2.根据权利要求1所述的云终端USB重定向方法,其特征在于,所述根据libusb指令库绑定usb热拔插的回调函数具体为:
根据libusb指令库得到usb库的句柄,调用usb库的句柄绑定usb热拔插的回调函数。
3.根据权利要求1或2所述的云终端USB重定向方法,其特征在于,所述定义usb device读写回调函数,实现usb重定向具体包括步骤:
根据回调函数,生成usb数据类别消息;
发送usb数据类别消息至云终端服务器;
处理云终端服务器反馈回的usb控制命令或数据;
根据usb控制命令或数据,将回调函数缓存至usb device中,实现usb重定向。
4.根据权利要求3所述的云终端USB重定向方法,其特征在于,所述处理云终端服务器反馈回的usb控制命令或数据之后还有步骤:
将云终端服务器反馈回的usb控制命令或数据保存。
5.根据权利要求1或2所述的云终端USB重定向方法,其特征在于,所述定义usb重定向通道具体包括步骤:
利用spicec增设usb重定向通道,并获取spicec提供的通道基类;
继承通道基类,定义usb重定向通道。
6.一种云终端USB重定向系统,其特征在于,包括:
初始模块,用于初始化云终端中的libusb库和usbredir库,获取libusb指令库和usbredir指令库;
绑定模块,用于根据libusb指令库绑定usb热拔插的回调函数;
通道定义模块,用于定义usb重定向通道;
回调函数生成模块,用于在usb重定向通道中,当检测有usb device接入时,调用libusb指令库和usbredir指令库,激活usb device,绑定usb热拔插的回调函数,生成回调函数;
重定向模块,用于定义usb device读写回调函数,实现usb重定向。
7.根据权利要求6所述的云终端USB重定向系统,其特征在于,所述绑定模块具体用于根据libusb指令库得到usb库的句柄,调用usb库的句柄绑定usb热拔插的回调函数。
8.根据权利要求6或7所述的云终端USB重定向系统,其特征在于,所述重定向模块具体包括:
类别消息生成单元,用于根据回调函数,生成usb数据类别消息;
发送单元,用于发送usb数据类别消息至云终端服务器;
处理单元,用于处理云终端服务器反馈回的usb控制命令或数据;
重定向单元,用于根据usb控制命令或数据,将回调函数缓存至usb device中,实现usb重定向。
9.根据权利要求8所述的云终端USB重定向方法,其特征在于,所述重定向模块还包括:
存储单元,用于将云终端服务器反馈回的usb控制命令或数据保存。
10.根据权利要求6或7所述的云终端USB重定向系统,其特征在于,所述通道定义模块包括:
通道基类获取单元,用于利用spicec增设usb重定向通道,并获取spicec提供的通道基类;
通道定义单元,用于继承通道基类,定义usb重定向通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510329197.8A CN104991871A (zh) | 2015-06-15 | 2015-06-15 | 云终端usb重定向方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510329197.8A CN104991871A (zh) | 2015-06-15 | 2015-06-15 | 云终端usb重定向方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104991871A true CN104991871A (zh) | 2015-10-21 |
Family
ID=54303687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510329197.8A Pending CN104991871A (zh) | 2015-06-15 | 2015-06-15 | 云终端usb重定向方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991871A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017185954A1 (zh) * | 2016-04-28 | 2017-11-02 | 中兴通讯股份有限公司 | 一种实现usb设备管理的方法、主机和系统 |
CN108108201A (zh) * | 2017-12-26 | 2018-06-01 | 合肥中科云巢科技有限公司 | 基于rdp协议的usb存储设备重定向方法及虚拟机 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368231A (zh) * | 2011-10-14 | 2012-03-07 | 深圳市京华科讯科技有限公司 | 一种usb设备重定向的方法及系统 |
CN102546837A (zh) * | 2012-03-13 | 2012-07-04 | 广州辉远电子技术有限公司 | 一种虚拟主机的输入输出重定向系统及其实现方法 |
CN102567074A (zh) * | 2011-11-29 | 2012-07-11 | 中标软件有限公司 | 一种面向虚拟机的usb设备重定向方法 |
CN103714020A (zh) * | 2013-12-27 | 2014-04-09 | 普华基础软件股份有限公司 | 一种基于网络的usb设备重定向系统 |
-
2015
- 2015-06-15 CN CN201510329197.8A patent/CN104991871A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368231A (zh) * | 2011-10-14 | 2012-03-07 | 深圳市京华科讯科技有限公司 | 一种usb设备重定向的方法及系统 |
CN102567074A (zh) * | 2011-11-29 | 2012-07-11 | 中标软件有限公司 | 一种面向虚拟机的usb设备重定向方法 |
CN102546837A (zh) * | 2012-03-13 | 2012-07-04 | 广州辉远电子技术有限公司 | 一种虚拟主机的输入输出重定向系统及其实现方法 |
CN103714020A (zh) * | 2013-12-27 | 2014-04-09 | 普华基础软件股份有限公司 | 一种基于网络的usb设备重定向系统 |
Non-Patent Citations (1)
Title |
---|
孙玉伟 等: "云桌面中USB设备重定向技术研究", 《信息网络安全》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017185954A1 (zh) * | 2016-04-28 | 2017-11-02 | 中兴通讯股份有限公司 | 一种实现usb设备管理的方法、主机和系统 |
CN108108201A (zh) * | 2017-12-26 | 2018-06-01 | 合肥中科云巢科技有限公司 | 基于rdp协议的usb存储设备重定向方法及虚拟机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9258299B2 (en) | Biometric cloud communication and data movement | |
US7971049B2 (en) | Systems and methods for managing user configuration settings | |
US10445491B2 (en) | Confirming the identity of integrator applications | |
JP6828014B2 (ja) | 1つまたは複数の署名デバイスに通信可能に接続されたローカルコンピューヒング装置によって実行されるコンピュータ実装方法 | |
WO2019228570A3 (en) | Log-structured storage systems | |
US9712605B2 (en) | Method and system for providing server virtual machine for real-time virtual desktop service, and server device supporting the same | |
JP2016031762A5 (zh) | ||
US11113126B2 (en) | Verifying transfer of detected sensitive data | |
CN105069383A (zh) | 一种云桌面usb存储外设管控的方法及系统 | |
CN107873129A (zh) | 用于不受管理的设备的安全服务 | |
WO2019041765A1 (zh) | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 | |
WO2020020202A1 (zh) | 应用程序的账号管理方法、装置、设备和介质 | |
JP6511161B2 (ja) | データファイルの保護 | |
CN111158857B (zh) | 数据加密方法、装置、设备及存储介质 | |
US20200089512A1 (en) | Method and Apparatus for Invoking Input Method, Server, and Terminal | |
CN104991871A (zh) | 云终端usb重定向方法与系统 | |
WO2013067724A1 (zh) | 一种云端用户映射系统和方法 | |
US10083052B1 (en) | Streamlined remote application streaming technology configuration and usage | |
CN106951790A (zh) | Usb存储介质透明加密方法 | |
CN109347899A (zh) | 在分布式存储系统中写入日志数据的方法 | |
US20140297953A1 (en) | Removable Storage Device Identity and Configuration Information | |
WO2021051534A1 (zh) | 云主机创建方法和系统 | |
CN107862035A (zh) | 会议记录的网络读取方法、装置、智能平板和存储介质 | |
CN111858020B (zh) | 用户资源限制方法、装置及计算机存储介质 | |
US20080270480A1 (en) | Method and system of deleting files from a remote server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151021 |