【技术实现步骤摘要】
一种新型的USB存储设备重定向方法
本专利技术涉及存储设备重定向
,具体为一种新型的USB存储设备重定向方法。
技术介绍
云终端作为实现云桌面的载体,其功能是将云端的系统桌面呈现到前端来,其主要作用是显示云端的桌面和将云终端的输出输入数据重定向到云端服务器上;云终端适用硬件有云终端、平板、手机、瘦客户机、笔记本电脑、PC电脑主机,云终端的价格低廉,节电省耗,小巧机身,无需风扇散热,无噪音干扰,低辐射,绿色健康环保;硬件使用周期长,一次投资,长期使用,采用软硬件一体化设计,即利于维护又方便管理;支持外部设备打印机等,USB控制开放,故障率极低。存储设备重定向技术主要给基于桌面虚拟化环境的端到端接入提供云终端上存储设备的使用能力,现有的存储设备重定向有以下方案:1)基于USB/IP协议提供的USB存储设备重定向方法,该方法存在以下缺陷:仅适用于USB存储设备,重定向设备在虚拟机初始化慢,从发现设备到出现盘符再到磁盘可用耗时太长,重定向设备在虚拟机读写慢;2)基于SMB、NFS等网络磁盘共享协议的网络 ...
【技术保护点】
1.一种新型的USB存储设备重定向方法,其特征在于:所述重定向方法包括终端与云桌面,所述终端包括内核层iSCSI目标驱动与应用层重定向客户端程序,所述云桌面包括应用层重定向服务程序、应用层iSCSI发起端服务与内核层iSCSI发起端驱动,所述内核层iSCSI目标驱动与应用层重定向客户端程序通过内核在应用层的接口进行交互,所述应用层重定向客户端程序与应用层重定向服务程序通过网络套接字进行交互,所述应用层重定向服务程序与应用层iSCSI发起端服务通过本地网络套接字进行交互,所述应用层iSCSI发起端服务与内核层iSCSI发起端驱动通过内核在应用层的接口进行交互;/n其中,所述重 ...
【技术特征摘要】
1.一种新型的USB存储设备重定向方法,其特征在于:所述重定向方法包括终端与云桌面,所述终端包括内核层iSCSI目标驱动与应用层重定向客户端程序,所述云桌面包括应用层重定向服务程序、应用层iSCSI发起端服务与内核层iSCSI发起端驱动,所述内核层iSCSI目标驱动与应用层重定向客户端程序通过内核在应用层的接口进行交互,所述应用层重定向客户端程序与应用层重定向服务程序通过网络套接字进行交互,所述应用层重定向服务程序与应用层iSCSI发起端服务通过本地网络套接字进行交互,所述应用层iSCSI发起端服务与内核层iSCSI发起端驱动通过内核在应用层的接口进行交互;
其中,所述重定向方法包括USB存储设备重定向与SCSI存储设备重定向,具体内容如下:
1、USB存储设备重定向:
1)用户在终端插入USB存储设备,终端应用层重定向客户端程序从终端本地操作系统接收到USB设备插入事件,判断该USB设备是否为USB存储设备,仅当该USB设备为USB存储设备时进行下面的处理流程;
2)终端应用层重定向客户端程序为接入终端的USB存储设备加载终端内核层iSCSI目标驱动,连接到云桌面应用层重定向服务程序,并发送消息通知云桌面应用层重定向服务程序;
3)云桌面应用层重定向服务程序接受云终端的连接请求,接收到终端应用层重定向客户端程序发过来的新增接入设备消息后,在内存中建立iSCSI目标名称与网络连接套接字描述符的对应关系列表,调用云桌面应用层iSCSI发起程序命令接连到云桌面应用层重定向服务程序挂载该iSCSI目标(卷);
4)云桌面应用层重定向服务程序接受云桌面应用层iSCSI发起端服务的连接请求,接收云桌面应用层iSCSI发起端服务发过来的SCSI任务管理请求、登录请求、Text请求、注销请求、SNACK请求,在云桌面应用层重定向服务程序内部进行响应,将响应发送给云桌面应用层iSCSI发起端服务;
5)当云桌面发起数据读写操作后,云桌面操作系统会生成SCSI指令集(SERVICE_ACTION_IN、INQUIRY、REPORT_LUNS、TEST_UNIT_READY、SYNCHRONIZE_CACHE、VERIFY、VERIFY_16、START_STOP、READ_CAPACITY、MODE_SENSE、REQUEST_SENSE、RESERVE、RELEASE、READ_6、READ_10、READ_16、WRITE_6、WRITE_10、WRITE_16、WRITE_VERIFY等),该SCSI指令集被iSCSI发起端服务封装成iSCSI命令报文,发送给云桌面应用层重定向服务程序,云桌面应用层重定向服务程序将该iSCSI命令报文发送给云终端应用层重定向客户端程序,云终端应用层重定向客户端程序收到iSCSI命令报文时后进行解析,读取其中的SCSI指令,发送给终端内核层iSCSI目标驱动;
6)终端内核层iSCSI目标驱动判断该USB设备为USB存储设备时,终端内核层iSCSI目标驱动按照USB存储设备协议进行封装,构造URB,取CBD(命令描述块)并在之前增加CBW(CommandBlockWrapper),将USB存储设备协议不支持的SCSI命令描述块进行转换,填充到URB的transfer_buffer中,提交到USB存储设备;
7)当前SCSI命令为写(Data-Out)时,终端内核层iSCSI目标驱动构造SCSIR2T(ReadytoTransfer)报文,发送给云终端应用层重定向客户端程序,云终端应用层重定向客户端程序发送给云桌面应用层重定向服务程序,云桌面应用层重定向服务程序发送给iSCSI发起端服务,iSCSI发起端服务解开其iSCSIPDU包,读取其中的SCSI响应内容,并将其提交给操作系统进行处理,云桌面操作系统会继续生成SCSI写(Data-Out)报文,被iSCSI发起端服务发送给云桌面应用层重定向服务程序,云桌面应用层重定向服务程序将该iSCSI写报文发送给云终端应用层重定向客户端程序,云终端应用层重定向客户端程序发送给终端内核层iSCSI目标驱动,终端内核层iSCSI目标驱动构造URB,从iSCSI写报文取需要写的数据填充到URB的transfer_buffer中,提交到USB存储设备,如果整个数据没有完全接收完,会再发出下一个R2T要求iSCSI发起端服务继续发数据,重复上面过程直到接收全部数据;当前SCSI命令为读(Data-In)时,终端内核层iSCSI目标驱动构造URB,设置transfer_buffer长度为读取长度,提交到USB存储设备,从URB响应中取得需要读的数据构造SCSI读(Data-In)报文,如果数据长度太长,就分成多个SCSI读(Data-In)报文,发送给云终端应用层重定向客户端程序,云终端应用层重定向客户端程序发送给云桌面应用层重定向服务程序,云桌...
【专利技术属性】
技术研发人员:刘平,刘武,陈冬冬,袁绍永,姜喜华,陈铭,
申请(专利权)人:湖南云之翼软件有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。