云思创想云桌面USB重定向程序概要设计.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### 云思创想云桌面USB重定向程序概要设计 #### 一、引言 ##### 编写目的 本文档旨在提供云思创想云桌面USB重定向程序的设计概要,包括关键技术点、功能需求及性能指标等内容,以便开发团队能够明确项目目标并顺利推进项目的实施。 #### 二、背景 ##### 定义 - **CLDMIND**:云思创想科技(北京)有限公司的注册商标。 #### 三、参考资料 - 《通用串行总线 (USB) 协议》 - 《虚拟化技术原理与应用》 #### 四、特性总体设计 ##### 需求规定 **功能需求**: 1. **支持大存储设备**:包括但不限于U盘、移动硬盘等。 2. **支持USB打印机**:确保在云桌面环境中可以正常使用USB打印机进行打印操作。 3. **支持智能手机**: - 支持主流安卓手机,包括LG、华为、联想、HTC、小米、魅族等品牌。 - 支持苹果手机。 4. **支持USB摄像头**:实现在云桌面环境中正常使用USB摄像头进行视频通话等功能。 5. **支持扫描仪**:确保扫描仪能够在云桌面环境中正常工作。 6. **支持热插拔**:实现USB设备即插即用的功能。 7. **支持扫描枪**:确保扫描枪可以在云桌面环境中正常识别条形码。 **性能需求**: 1. **USB2.0的U盘**:拷贝速率不低于2M/s。 2. **USB3.0的移动硬盘**:拷贝速率不低于30M/s。 #### 五、基本设计概念和处理流程 **通用串行总线(USB)**:是一种广泛应用于计算机主机与外围设备之间的通信协议。USB协议支持热插拔,使得设备与主机之间的交互变得简单易用。随着虚拟化技术的发展,云桌面技术逐渐普及,而USB设备的支持成为了一个重要的技术挑战。 **云思创想USB重定向技术**:通过使用Windows的虚拟总线枚举技术,将客户端接入的USB设备重定向到远程主机中。当客户端POND(云思创想远程交互协议客户端)向远程主机发起连接请求后,调用重定向程序的接口,启动USB重定向功能。重定向启动后,首先初始化USB设备重定向权限控制表,并扫描本地的USB设备,若设备允许被重定向至远程主机,则读取USB设备的信息,并向远程主机中的cldusbd程序发起重定向请求。 #### 六、软件结构图 - **客户端**:识别各类USB设备并向服务端发起连接请求。 - **服务端**:接收客户端请求,并负责驱动与数据传输。 #### 七、模块变更概述 ##### 客户端设计(新增模块) - **模块描述**:USB重定向客户端是云思创想桌面云之USB重定向的重要组成部分。 - **功能**: - 识别各类USB设备。 - 向服务端发起连接请求。 - **性能设计方法(算法)**: - **USB设备抽象层**:屏蔽不同USB设备的差异性,决定哪些USB设备可以被重定向。重定向主线程负责与远程主机交互,接收和转发URB(USB Request Block)请求。热插拔事件处理用于发现USB设备,并创建重定向主线程。 ```c typedef struct { unsigned int ven_prod; // key,vendorID<<16|productID int (*control)(void* private, char* setup); int (*post_callback)(void* private, int status); } cld_usb_op_t; ``` - **流程逻辑**:当USB设备被确认可以被重定向时,向远程主机发起连接请求。 - **关键数据结构**:`cld_usb_op_t`。 - **关键函数**:`control`、`post_callback`。 - **存储分配**:动态分配内存用于存储USB设备信息。 ##### 服务端设计(新增模块) - **模块描述**:USB重定向服务端是云思创想桌面云之USB重定向的关键组成部分。 - **功能**:接收客户端请求,并负责驱动与数据传输。 - **性能设计方法(算法)**: - 流程逻辑:接收客户端请求,并处理相关的数据传输任务。 - 关键数据结构:待定义。 - 关键函数:待定义。 - 存储分配:合理分配内存资源以确保数据传输的高效性。 #### 八、总结 云思创想云桌面USB重定向程序的设计旨在解决云桌面环境中USB设备的支持问题。通过对USB设备进行抽象和重定向,实现了多种USB设备在云桌面环境下的正常使用。此外,还针对不同类型的USB设备设定了性能需求,确保用户体验不受影响。未来,随着技术的发展,该方案还将不断优化和完善,以满足更多应用场景的需求。
- 粉丝: 3814
- 资源: 59万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助