[發明專利]一種新型的USB存儲設備重定向方法有效
| 申請號: | 202010439263.8 | 申請日: | 2020-05-22 |
| 公開(公告)號: | CN111666122B | 公開(公告)日: | 2022-05-27 |
| 發明(設計)人: | 劉平;劉武;陳冬冬;袁紹永;姜喜華;陳銘 | 申請(專利權)人: | 湖南云之翼軟件有限公司 |
| 主分類號: | G06F9/451 | 分類號: | G06F9/451;H04L67/025;H04L67/146 |
| 代理公司: | 北京和信華成知識產權代理事務所(普通合伙) 11390 | 代理人: | 顏思文 |
| 地址: | 410100 湖南省長沙市長沙縣湘龍街道汽配城路89號愷悅花園*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 新型 usb 存儲 設備 定向 方法 | ||
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指令集,該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)報文,發送給云終端應用層重定向客戶端程序,云終端應用層重定向客戶端程序發送給云桌面應用層重定向服務程序,云桌面應用層重定向服務程序發送給iSCSI發起端服務,iSCSI發起端服務解開其iSCSIPDU包,讀取其中的SCSI響應內容,并將其提交給操作系統進行處理,然后操作系統在將其處理后的內容返回給應用程序;
8)SCSI讀寫完成后,終端內核層iSCSI目標驅動構造URB,在transfer_buffer中填充CSW,提交到USB存儲設備,從URB響應中取得需要讀的數據構造SCSI響應報文,發送給云終端應用層重定向客戶端程序,云終端應用層重定向客戶端程序發送給云桌面應用層重定向服務程序,云桌面應用層重定向服務程序發送給iSCSI發起端服務,iSCSI發起端服務解開其iSCSIPDU包,讀取其中的SCSI響應內容,并將其提交給操作系統進行處理;
2、SCSI存儲設備重定向:
1)用戶設置終端本地第二磁盤存儲設備重定向時,終端應用層重定向客戶端程序為終端本地的第二磁盤存儲設備加載終端內核層iSCSI目標驅動,連接到云桌面應用層重定向服務程序,并發送消息通知云桌面應用層重定向服務程序;
2)云桌面應用層重定向服務程序接受云終端的連接請求,接收到終端應用層重定向客戶端程序發過來的新增接入設備消息后,在內存中建立iSCSI目標名稱與網絡連接套接字描述符的對應關系列表,調用云桌面應用層iSCSI發起程序命令接連到云桌面應用層重定向服務程序掛載該iSCSI目標(卷);
3)云桌面應用層重定向服務程序接受云桌面應用層iSCSI發起端服務的連接請求,接收云桌面應用層iSCSI發起端服務發過來的SCSI任務管理請求、登錄請求、Text請求、注銷請求、SNACK請求,在云桌面應用層重定向服務程序內部進行響應,將響應發送給云桌面應用層iSCSI發起端服務;
4)當云桌面發起數據讀寫操作后,云桌面操作系統會生成SCSI指令集,該SCSI指令集被iSCSI發起端服務封裝成iSCSI命令報文,發送給云桌面應用層重定向服務程序,云桌面應用層重定向服務程序將該iSCSI命令報文發送給云終端應用層重定向客戶端程序,云終端應用層重定向客戶端程序收到iSCSI命令報文后進行解析,讀取其中的SCSI指令,發送給終端內核層iSCSI目標驅動;
5)終端內核層iSCSI目標驅動將SCSI指令提交到第二磁盤存儲設備;
6)當前SCSI命令為寫(Data-Out)時,終端內核層iSCSI目標驅動構造SCSIR2T(ReadytoTransfer)報文,發送給云終端應用層重定向客戶端程序,云終端應用層重定向客戶端程序發送給云桌面應用層重定向服務程序,云桌面應用層重定向服務程序發送給iSCSI發起端服務,iSCSI發起端服務解開其iSCSIPDU包,讀取其中的SCSI響應內容,并將其提交給操作系統進行處理,云桌面操作系統會繼續生成SCSI寫(Data-Out)報文,被iSCSI發起端服務發送給云桌面應用層重定向服務程序,云桌面應用層重定向服務程序將該iSCSI寫報文發送給云終端應用層重定向客戶端程序,云終端應用層重定向客戶端程序發送給終端內核層iSCSI目標驅動,終端內核層iSCSI目標驅動從iSCSI寫報文取需要寫的數據提交到第二磁盤存儲設備,如果整個數據沒有完全接收完,會再發出下一個R2T要求iSCSI發起端服務繼續發數據,重復上面過程直到接收全部數據;當前SCSI命令為讀(Data-In)時,終端內核層iSCSI目標驅動從第二磁盤存儲設備取得需要讀的數據構造SCSI讀(Data-In)報文,如果數據長度太長,就分成多個SCSI讀(Data-In)報文,發送給云終端應用層重定向客戶端程序,云終端應用層重定向客戶端程序發送給云桌面應用層重定向服務程序,云桌面應用層重定向服務程序發送給iSCSI發起端服務,iSCSI發起端服務解開其iSCSIPDU包,讀取其中的SCSI響應內容,并將其提交給操作系統進行處理,然后操作系統在將其處理后的內容返回給應用程序;
7)SCSI讀寫完成后,終端內核層iSCSI目標驅動從第二磁盤存儲設備取得SCSIResponse構造SCSI響應報文,發送給云終端應用層重定向客戶端程序,云終端應用層重定向客戶端程序發送給云桌面應用層重定向服務程序,云桌面應用層重定向服務程序發送給iSCSI發起端服務,iSCSI發起端服務解開其iSCSIPDU包,讀取其中的SCSI響應內容,并將其提交給操作系統進行處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南云之翼軟件有限公司,未經湖南云之翼軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010439263.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種油電混合系統及汽車
- 下一篇:一種自動化熟蛋剝殼、清洗機構





