两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

轉(zhuǎn)接設(shè)備、遠程通信系統(tǒng)、數(shù)據(jù)傳輸方法及裝置與流程

文檔序號:11250827閱讀:1937來源:國知局
轉(zhuǎn)接設(shè)備、遠程通信系統(tǒng)、數(shù)據(jù)傳輸方法及裝置與流程

本申請涉及usb設(shè)備重定向領(lǐng)域,具體而言,涉及一種轉(zhuǎn)接設(shè)備、遠程通信系統(tǒng)、數(shù)據(jù)傳輸方法及裝置。



背景技術(shù):

隨著計算機技術(shù)的不斷發(fā)展,個人數(shù)據(jù)或者圖形遠程工作站、數(shù)據(jù)中心等設(shè)備越來越復(fù)雜,導(dǎo)致設(shè)備的顯示和輸入控制設(shè)備需要usb設(shè)備覆蓋非常復(fù)雜的應(yīng)用場景,催生了通用串行總線(universalserialbus,簡稱為usb)接口設(shè)備拉遠的需求。所謂usb接口設(shè)備拉遠,是指將本地(客戶端)的usb設(shè)備掛載到遠端(主機端)的計算機。

目前,業(yè)界主要有以下usb接口設(shè)備拉遠的實現(xiàn)方案:

linux源碼支持的usboverip方案;主機(host)端需要安裝相應(yīng)的虛擬usb主機控制器驅(qū)動和對應(yīng)軟件;host端的驅(qū)動需要針對指定的平臺;host端被安裝軟件導(dǎo)致原系統(tǒng)安全性下降;并且,客戶(client)端的usbhost控制器結(jié)構(gòu)必須和協(xié)議規(guī)定的控制器結(jié)構(gòu)一致;該方法只能限制應(yīng)用在定制的硬件系統(tǒng)中;網(wǎng)絡(luò)鏈路數(shù)據(jù)傳輸利用率低,降低了usb的訪問帶寬。

teradici基于usb控制器控制接口的橋接方案;client端的usbhost控制器結(jié)構(gòu)必須和協(xié)議規(guī)定的控制器結(jié)構(gòu)一致,因此,該方法只能限制應(yīng)用在定制的硬件系統(tǒng)中;網(wǎng)絡(luò)鏈路數(shù)據(jù)傳輸利用率低,降低了usb的訪問帶寬。

icronhubextenders橋接方案;該方案相當(dāng)于延長了usb線而已,受usb鏈路的時間約束,距離只能控制在100米以內(nèi)。

針對上述的問題,目前尚未提出有效的解決方案。



技術(shù)實現(xiàn)要素:

本申請實施例提供了一種轉(zhuǎn)接設(shè)備、遠程通信系統(tǒng)、數(shù)據(jù)傳輸方法及裝置,以至少解決目前的usb拉遠方案存在局限性的技術(shù)問題。

根據(jù)本申請實施例的一個方面,提供了一種轉(zhuǎn)接設(shè)備,包括:高速外設(shè)組件互聯(lián)(peripheralcomponentinterconnect,簡稱為pci)接口,用于提供與主機設(shè)備的通信接口;轉(zhuǎn)換電路,與pcie接口連接,用于通過pcie接口從主機設(shè)備讀取通用串行總線usb傳輸描述符信息,并將usb傳輸描述符信息轉(zhuǎn)換為usb請求塊urb格式,得到第一數(shù)據(jù);收發(fā)電路,與轉(zhuǎn)換電路連接,用于將第一數(shù)據(jù)發(fā)送至客戶端設(shè)備。

根據(jù)本申請實施例的另一方面,還提供了一種遠程通信系統(tǒng),包括:主機設(shè)備;轉(zhuǎn)接設(shè)備,該轉(zhuǎn)接設(shè)備以上的轉(zhuǎn)接設(shè)備,并且,轉(zhuǎn)接設(shè)備通過pcie接口與主機設(shè)備連接;客戶端設(shè)備,用于接收主機設(shè)備通過轉(zhuǎn)接設(shè)備發(fā)送的數(shù)據(jù),和/或,通過轉(zhuǎn)接設(shè)備向主機設(shè)備發(fā)送數(shù)據(jù)。

根據(jù)本申請實施例的又一方面,還提供了一種數(shù)據(jù)傳輸方法,包括:通過pcie接口從主機設(shè)備中讀取通用串行總線usb傳輸描述符信息;將usb傳輸描述符信息轉(zhuǎn)換為usb請求塊urb格式,得到第一數(shù)據(jù);將第一數(shù)據(jù)發(fā)送至客戶端設(shè)備。

根據(jù)本申請實施例的又一方面,還提供了一種數(shù)據(jù)傳輸裝置,包括:讀取模塊,用于通過pcie接口從主機設(shè)備中讀取usb傳輸描述符信息;轉(zhuǎn)換模塊,用于將usb傳輸描述符信息轉(zhuǎn)換為usb請求塊urb格式,得到第一數(shù)據(jù);發(fā)送模塊,用于將第一數(shù)據(jù)發(fā)送至客戶端設(shè)備。

根據(jù)本申請實施例的又一方面,還提供了一種存儲介質(zhì),其特征在于,存儲介質(zhì)包括存儲的程序,其中,在程序運行時控制存儲介質(zhì)所在設(shè)備執(zhí)行以上的數(shù)據(jù)傳輸方法。

根據(jù)本申請實施例的再一方面,還提供了一種處理器,處理器用于運行程序,其中,程序運行時執(zhí)行以上的數(shù)據(jù)傳輸方法。

在本申請實施例中,采用設(shè)置有pcie接口、用于將usb傳輸描述符信息轉(zhuǎn)換為urb格式的數(shù)據(jù)的轉(zhuǎn)換電路和收發(fā)電路的轉(zhuǎn)接設(shè)備,通過pcie接口接入主機,從而實現(xiàn)客戶端和主機的通信,進而實現(xiàn)了usb設(shè)備拉遠的通信,由于采用上述轉(zhuǎn)接設(shè)備進行usb設(shè)備拉遠通信時對主機的軟硬件沒有限制,因此,實現(xiàn)了usb設(shè)備拉遠方案的通用性,對0進而解決了目前的usb拉遠方案存在局限性的技術(shù)問題。

附圖說明

此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:

圖1是根據(jù)本申請實施例的一種轉(zhuǎn)接設(shè)備的結(jié)構(gòu)示意圖;

圖2a是根據(jù)本申請實施例的一種可選的轉(zhuǎn)接設(shè)備的結(jié)構(gòu)示意圖;

圖2b是根據(jù)本申請實施例的一種可選的轉(zhuǎn)接設(shè)備的結(jié)構(gòu)示意圖;

圖3是根據(jù)本申請實施例的另一種可選的轉(zhuǎn)接設(shè)備的結(jié)構(gòu)示意圖;

圖4a是根據(jù)本申請實施例的一種數(shù)據(jù)傳輸方法的流程圖;

圖4b是根據(jù)本申請實施例的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖;

圖5a是根據(jù)本申請實施例的一種遠程通信系統(tǒng)的結(jié)構(gòu)示意圖;

圖5b是根據(jù)本申請實施例的一種遠程通信系統(tǒng)的結(jié)構(gòu)示意圖;

圖6是根據(jù)本申請實施例的一種網(wǎng)絡(luò)拉遠原理的結(jié)構(gòu)示意圖;

圖7是根據(jù)本申請實施例的一種可選的usb鏈路協(xié)議棧的結(jié)構(gòu)示意圖;

圖8是根據(jù)本申請實施例的另一種可選的遠程通信系統(tǒng)的結(jié)構(gòu)示意圖;

圖9是根據(jù)本申請實施例的一種可選的客戶端設(shè)備的結(jié)構(gòu)示意圖;

圖10是根據(jù)本申請實施例的一種可選的主機端的控制流程示意圖;

圖11是根據(jù)本申請實施例的一種可選的客戶端設(shè)備的控制流程示意圖;

圖12為根據(jù)本申請實施例的一種可選的usb傳輸描述符列表示意圖;以及

圖13為根據(jù)本申請實施例的一種可選的urb數(shù)據(jù)與usb傳輸描述符列表的映射關(guān)系示意圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。

需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

為便于理解本申請實施例,以下將本申請實施例中所涉及的技術(shù)術(shù)語解釋如下:

urb:linux內(nèi)核中usb驅(qū)動實現(xiàn)上的一個數(shù)據(jù)結(jié)構(gòu);

操作寄存器(operationregs):ehci協(xié)議規(guī)定的操作寄存器,對ehciusb控制器進行控制的接口;

usb傳輸描述符列表(101):transactiondescriptorssetupinmainmemorybyusbsystemsoftware,figure(101)。

實施例1

相關(guān)技術(shù)中,usb設(shè)備功能應(yīng)用越來越廣泛,但是usb設(shè)備驅(qū)動之間的差異也越來越多;大數(shù)據(jù)、云計算的用戶使用usb設(shè)備時,希望和本地設(shè)備使用體驗一致,由于定制化的嵌入式驅(qū)動不能滿足所有的設(shè)備,因此催生了usboverip的需求。即支持usb設(shè)備拉遠:實現(xiàn)usb設(shè)備插在本地客戶端上,和直接插在遠端計算機上用戶體驗一致;支持pcie接口:基于pcie接口的ehci協(xié)議usb控制器,網(wǎng)絡(luò)協(xié)議傳輸能兼容軟件方式;支持多對一:能夠?qū)崿F(xiàn)多對一方式,即一個遠端服務(wù)器(host)控制多個終端(client)usb設(shè)備;便于實現(xiàn)跨平臺:host機器上免安裝軟件驅(qū)動,便于實現(xiàn)跨平臺。

為實現(xiàn)上述目的,本申請實施例提供了一種轉(zhuǎn)接設(shè)備,如圖1所示,包括:

pcie接口11,用于提供與主機設(shè)備的通信接口;轉(zhuǎn)接設(shè)備通過pcie接口11接入主機設(shè)備。

轉(zhuǎn)換電路13,與上述pcie接口11連接,用于通過上述pcie接口11從上述主機設(shè)備讀取usb傳輸描述符信息,并將上述usb傳輸描述符信息轉(zhuǎn)換為urb格式,得到第一數(shù)據(jù)。

該轉(zhuǎn)換過程可以表現(xiàn)為利用usb傳輸描述符信息和urb數(shù)據(jù)的映射關(guān)系,得到上述urb格式的數(shù)據(jù),即第一數(shù)據(jù)。其中,usb傳輸描述符信息可以為usb傳輸描述符列表中的信息。

收發(fā)電路15,與上述轉(zhuǎn)換電路13連接,用于將上述第一數(shù)據(jù)發(fā)送至客戶端設(shè)備。在一個可選實施例中,收發(fā)電路可以表現(xiàn)為網(wǎng)絡(luò)通信模塊,即通過網(wǎng)絡(luò)實現(xiàn)主機和客戶端設(shè)備之間的數(shù)據(jù)傳輸,具體地,如圖2a所示,上述收發(fā)電路15,包括:網(wǎng)絡(luò)通信模塊151,用于將上述第一數(shù)據(jù)封裝為第一網(wǎng)絡(luò)數(shù)據(jù)包,并將上述第一網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送至上述客戶端設(shè)備。由此可見,本申請實施例提供的轉(zhuǎn)接設(shè)備作為主機和客戶端設(shè)備之間的溝通橋梁,其與客戶端設(shè)備通過網(wǎng)絡(luò)進行通信,該網(wǎng)絡(luò)依據(jù)使用場景的不同可以表現(xiàn)為不同的實現(xiàn)方式,例如,其可以為以太網(wǎng),本地局域網(wǎng)等。

采用本實施例提供的技術(shù)方案,可以解決usb拉遠方案存在局限性的問題,例如需要安裝驅(qū)動軟件,對硬件結(jié)構(gòu)有要求,或者傳輸距離受限。

作為本申請的一個可選實施例,收發(fā)電路15,還用于接收上述客戶端設(shè)備依據(jù)上述第一數(shù)據(jù)返回的第二數(shù)據(jù),并將上述第二數(shù)據(jù)發(fā)送至上述轉(zhuǎn)換電路13。即本申請實施例中的轉(zhuǎn)接設(shè)備不僅可以實現(xiàn)主機設(shè)備到客戶端設(shè)備的數(shù)據(jù)發(fā)送,也可以實現(xiàn)客戶端設(shè)備到主機設(shè)備的數(shù)據(jù)發(fā)送,此時,轉(zhuǎn)接設(shè)備可以認為是起到數(shù)據(jù)轉(zhuǎn)發(fā)的作用。此時,上述轉(zhuǎn)換電路13,還用于將上述第二數(shù)據(jù)由urb格式轉(zhuǎn)換為usb傳輸描述符信息,即轉(zhuǎn)接設(shè)備將客戶端設(shè)備發(fā)送的urb格式的第二數(shù)據(jù)轉(zhuǎn)換為usb格式,以將數(shù)據(jù)發(fā)送至主機設(shè)備??蛇x地,上述轉(zhuǎn)換電路13,還用于通過以下方式將上述usb傳輸描述符信息轉(zhuǎn)換為urb格式:基于上述usb傳輸描述符信息與urb數(shù)據(jù)的映射關(guān)系,獲取與上述usb傳輸描述符信息對應(yīng)的urb數(shù)據(jù)。

可選地,如圖2a所示,上述轉(zhuǎn)接設(shè)備還可以包括但不限于:存儲器17,設(shè)置于上述轉(zhuǎn)換電路13和上述收發(fā)電路15之間,用于存儲上述第一數(shù)據(jù);上述轉(zhuǎn)換電路13,還用于依次將usb數(shù)據(jù)描述符鏈表中的上述usb傳輸描述符信息轉(zhuǎn)換為urb格式,并存儲至上述存儲器17中。這樣,便可以對urb數(shù)據(jù)進行后續(xù)統(tǒng)一處理。

可選地,如圖2a所示,上述轉(zhuǎn)接設(shè)備還可以包括但不限于:控制器19,用于通過上述pcie接口接收來自上述主機設(shè)備的設(shè)置地址指令,以及依據(jù)上述設(shè)置地址指令確定與上述客戶端設(shè)備進行通信的地址。需要說明的是,該控制器19也可以為多個,也可以為一個,即,一個控制器對應(yīng)一個功能,也可以是一個控制器實現(xiàn)多個功能,具體根據(jù)實際情況靈活確定。

可選地,為了提高效率,上述控制器19,還用于在上述主機設(shè)備進行usb設(shè)備的枚舉過程中,向上述主機設(shè)備返回已有的usb設(shè)備信息。即控制器19在枚舉usb設(shè)備的過程中,根據(jù)已有的usb設(shè)備信息直接返回設(shè)備信息。

需要說明的是,圖1和2中所示轉(zhuǎn)接設(shè)備中的各個組成部分可以為同一產(chǎn)品中的結(jié)構(gòu),也可以為分離設(shè)置的部件。對于前者,在一個可選實施例中,如圖2b所示,轉(zhuǎn)接設(shè)備還包括一個殼體1,該殼體1內(nèi)部設(shè)置有上述pcie接口11、轉(zhuǎn)換電路13、收發(fā)電路15、存儲器17和控制器19,均設(shè)置與殼體1中。

圖3是根據(jù)本申請實施例的另一種可選的轉(zhuǎn)接設(shè)備的結(jié)構(gòu)示意圖。如圖3所示,該轉(zhuǎn)換橋接卡包含了pcie接口30,操作寄存器處理模塊(301),主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊(300),usb設(shè)備枚舉處理模塊(302),usb設(shè)備管理及設(shè)備描述符管理模塊(303),數(shù)據(jù)存儲單元102及網(wǎng)絡(luò)控制模塊304。其中,操作寄存器處理模塊(301)、usb設(shè)備枚舉處理模塊(302),usb設(shè)備管理及設(shè)備描述符管理模塊(303)相當(dāng)于圖2中的控制器21;數(shù)據(jù)存儲單元102相當(dāng)于圖2中的存儲器17;網(wǎng)絡(luò)控制模塊304相當(dāng)于圖2中的收發(fā)電路15。

其中,操作寄存器處理模塊(301)根據(jù)接入usb設(shè)備的狀態(tài)配置ehci/ohci操作寄存器,主機通過讀取和配置操作寄存器的狀態(tài)完成對usb設(shè)備的枚舉和通信,其中主機通過操作寄存器指定了位于主機系統(tǒng)存儲單元內(nèi)的usb傳輸描述符列表(101)入口指針;主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊(300)根據(jù)操作寄存器提供的鏈表指針,讀取usb傳輸描述符列表(101),把鏈表數(shù)據(jù)依次轉(zhuǎn)換為urb數(shù)據(jù)包并存儲到數(shù)據(jù)存儲單元(102),并根據(jù)urb數(shù)據(jù)包執(zhí)行狀態(tài)修改usb傳輸描述符列表(101)狀態(tài);usb設(shè)備枚舉處理模塊(302),在主機對設(shè)備進行枚舉時,usb設(shè)備枚舉處理模塊(302)根據(jù)主機配置設(shè)備地址(setaddress)命令,記錄主機分配給usb設(shè)備地址到相應(yīng)的usb設(shè)備信息表內(nèi);另外,為了減少設(shè)備枚舉的時間,在枚舉的過程中,usb設(shè)備枚舉處理模塊(302)根據(jù)已有的usb設(shè)備信息直接返回設(shè)備信息;usb設(shè)備管理及設(shè)備描述符管理模塊(303),維護usb設(shè)備信息表(305)包括usb設(shè)備在主機端的地址信息、usb設(shè)備描述符、usb設(shè)備接口描述符、在遠端的設(shè)備地址等,并監(jiān)控client端設(shè)備的熱插拔事件;網(wǎng)絡(luò)控制模塊(304),發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包(202)和接收urb數(shù)據(jù)包返回數(shù)據(jù)。

其中,usb設(shè)備管理及設(shè)備描述符管理模塊通過網(wǎng)絡(luò)控制模塊獲取client端的usb設(shè)備描述符信息后,相關(guān)信息保存到usb設(shè)備信息表內(nèi),該設(shè)備的usb地址默認為0;

usb設(shè)備枚舉處理模塊依次處理usb設(shè)備信息表內(nèi)usb地址為0的設(shè)備,usb設(shè)備枚舉處理模塊配置修改操作寄存器處理模塊內(nèi)的portsc寄存器(可以支持16個設(shè)備端口狀態(tài)),通知host端主機有設(shè)備接入,host端主機對設(shè)備進行枚舉操作;usb設(shè)備枚舉處理模塊檢測到usb設(shè)備信息表中usb設(shè)備為刪除狀態(tài),配置修改操作寄存器處理模塊內(nèi)的portsc寄存器,通知host端主機設(shè)備斷開,host端主機刪除該設(shè)備相關(guān)的傳輸描述符列表;usb設(shè)備管理及設(shè)備描述符管理模塊從usb設(shè)備信息表內(nèi)刪除該設(shè)備相關(guān)信息。查詢usb設(shè)備信息表內(nèi)usb地址為0的設(shè)備;處理設(shè)備地址為默認地址0的傳輸描述符列表,并配置操作寄存器處理模塊和主機進行交互,完成設(shè)備發(fā)現(xiàn)和設(shè)備地址管理;查詢usb設(shè)備信息表,發(fā)現(xiàn)某個usb設(shè)備為刪除狀態(tài),配置修改操作寄存器處理模塊內(nèi)的portsc寄存器,通知host端主機設(shè)備斷開。

主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊從主機讀取傳輸描述符列表,在主機配置設(shè)備地址之前,usb設(shè)備枚舉處理模塊根據(jù)usb設(shè)備信息表應(yīng)答host端主機的枚舉過程;在host端主機配置設(shè)備地址之后,更新usb設(shè)備信息表。

主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊根據(jù)usb設(shè)備信息表依次將從主機讀取的傳輸描述符列表轉(zhuǎn)換為urb數(shù)據(jù)包,并提交給網(wǎng)絡(luò)控制模塊;當(dāng)usb設(shè)備管理及設(shè)備描述符管理模塊檢測到client端usb設(shè)備拔出或者斷開,修改usb設(shè)備信息表為刪除狀態(tài);通過網(wǎng)絡(luò)控制模塊獲取client端usb設(shè)備的設(shè)備描述符信息,并保存到usb設(shè)備信息表內(nèi);檢測client端usb設(shè)備斷開,并修改usb設(shè)備信息表為刪除狀態(tài)。

需要說明的是,圖1至圖3中所示轉(zhuǎn)接設(shè)備的具體結(jié)構(gòu)僅是示意,在具體應(yīng)用時,本申請中的轉(zhuǎn)接設(shè)備可以具有比圖1至圖3所示轉(zhuǎn)接設(shè)備多或少的結(jié)構(gòu)。

實施例2

根據(jù)本申請實施例,提供了一種數(shù)據(jù)傳輸方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

本實施例提供的數(shù)據(jù)傳輸方法,可以運行于圖1至圖3所示轉(zhuǎn)接設(shè)備中,但不限于此。圖4a是根據(jù)本申請實施例的一種可選的數(shù)據(jù)傳輸方法的流程圖。如圖4a所示,該方法包括:

步驟s402,通過pcie接口從主機設(shè)備中讀取usb傳輸描述符信息;

步驟s404,將上述usb傳輸描述符信息轉(zhuǎn)換為urb格式,得到第一數(shù)據(jù);

在一個可選實施例中,可以通過以下方式實現(xiàn)上述轉(zhuǎn)換過程:基于上述usb傳輸描述符信息與urb數(shù)據(jù)的映射關(guān)系,獲取與上述usb傳輸描述符信息對應(yīng)的urb數(shù)據(jù)。

步驟s406,將上述第一數(shù)據(jù)發(fā)送至客戶端設(shè)備。

在一個可選實施例中,通過上述pcie接口接收來自上述主機設(shè)備的設(shè)置地址指令,以及依據(jù)上述設(shè)置地址指令確定與上述客戶端設(shè)備進行通信的地址。其地址類型可以為ip地址,但不限于此。

作為本申請的一個可選實施例,在上述主機設(shè)備進行usb設(shè)備的枚舉過程中,向上述主機設(shè)備返回已有的usb設(shè)備信息。

在一個可選實施例中,檢測上述客戶端設(shè)備所接入usb設(shè)備的接入狀態(tài),其中,上述接入狀態(tài)包括以下至少之一:上述usb設(shè)備接入上述客戶端設(shè)備,上述usb設(shè)備斷開與上述客戶端設(shè)備的連接;依據(jù)上述接入狀態(tài)更新上述已有的usb設(shè)備信息。其中,上述“更新”包括但不限于:修改、刪除、添加。

需要說明的是,上述各個步驟的執(zhí)行主體可以為轉(zhuǎn)接設(shè)備,但不限于此。

在一個可選實施例中,還可以接收上述客戶端設(shè)備依據(jù)上述第一數(shù)據(jù)返回的第二數(shù)據(jù);并將上述第二數(shù)據(jù)由urb格式轉(zhuǎn)換為usb傳輸描述符信息。例如,上述第一數(shù)據(jù)為發(fā)往客戶端設(shè)備的請求消息,上述第二數(shù)據(jù)為上述客戶端設(shè)備依據(jù)請求消息反饋的響應(yīng)消息。

本申請實施例還提供一種數(shù)據(jù)傳輸裝置,該裝置用于實現(xiàn)上述方法,圖4b是根據(jù)本申請實施例的一種數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖。如圖4b所示,該裝置包括:讀取模塊40,用于通過高速外設(shè)組件互聯(lián)pcie接口從主機設(shè)備中讀取通用串行總線usb傳輸描述符信息;轉(zhuǎn)換模塊42,用于將上述usb傳輸描述符信息轉(zhuǎn)換為usb請求塊urb格式,得到第一數(shù)據(jù);發(fā)送模塊44,用于將上述第一數(shù)據(jù)發(fā)送至客戶端設(shè)備。

在一個可選實施例中,如圖4b所示,上述數(shù)據(jù)傳輸裝置還可以包括:接收模塊46,用于接收上述客戶端設(shè)備依據(jù)上述第一數(shù)據(jù)返回的第二數(shù)據(jù),并將上述第二數(shù)據(jù)發(fā)送至上述轉(zhuǎn)換模塊42;上述轉(zhuǎn)換模塊42,還用于將上述第二數(shù)據(jù)由urb格式轉(zhuǎn)換為usb傳輸描述符信息。

需要說明的是,上述發(fā)送模塊44和接收模塊46可以通過一個模塊來實現(xiàn),例如通過一個收發(fā)電路實現(xiàn),但不限于此。

實施例3

圖5a是根據(jù)本申請實施例的一種遠程通信系統(tǒng)的結(jié)構(gòu)示意圖。如圖5a所示,該系統(tǒng)包括:

主機設(shè)備50;

轉(zhuǎn)接設(shè)備52,該轉(zhuǎn)接設(shè)備可以為實施例1中的轉(zhuǎn)接設(shè)備,并且,轉(zhuǎn)接設(shè)備52通過pcie接口與主機設(shè)備50連接;

客戶端設(shè)備54,用于接收主機設(shè)備50通過轉(zhuǎn)接設(shè)備發(fā)送的數(shù)據(jù),和/或,通過轉(zhuǎn)接設(shè)備向主機設(shè)備發(fā)送數(shù)據(jù)。

可選地,客戶端設(shè)備54上設(shè)置有多個usb接口。在一個可選實施例中,上述系統(tǒng)還可以包括hub設(shè)備56,該hub設(shè)備56與主機設(shè)備50連接,用于接入至少一個客戶端設(shè)備54。

圖6是根據(jù)本申請實施例的一種網(wǎng)絡(luò)拉遠原理的結(jié)構(gòu)示意圖。如圖6所示,主機端的轉(zhuǎn)換橋接卡(即轉(zhuǎn)接設(shè)備)通過pcie接口(300)接入主機設(shè)備,依據(jù)ehci/ohci接口協(xié)議,把usb傳輸描述符列表(101)轉(zhuǎn)換為urb(100)數(shù)據(jù)格式,并通過網(wǎng)絡(luò)數(shù)據(jù)包(602)傳輸?shù)娇蛻魴C(即客戶端設(shè)備),客戶機通過客戶端橋接應(yīng)用程序把網(wǎng)絡(luò)包(102)恢復(fù)為客戶機的urb(103)數(shù)據(jù)格式。圖6中,104也表示usb傳輸符列表。

圖7是根據(jù)本申請實施例的一種可選的usb鏈路協(xié)議棧的結(jié)構(gòu)示意圖。如圖7所示,基于ehci/ohci接口協(xié)議的usb主機控制器的usb鏈路協(xié)議棧分為主機軟件部分和usb控制器pcie接口卡部分,主機軟件部分運行在工作站或者數(shù)據(jù)中心,usb控制器pcie接口卡通過pcie接口接入工作站或者數(shù)據(jù)中心;主機軟件部分包含usb設(shè)備驅(qū)動、usb核心驅(qū)動(coredriver)、usb控制器驅(qū)動,是一般系統(tǒng)都包含的;其中usb控制器驅(qū)動向協(xié)議棧的上層usbcoredriver提供的接口為標準的usbrequestblock數(shù)據(jù)接口(簡稱urb)(100);usb控制器驅(qū)動與usb控制器的鏈接方式由ehci/ohci接口協(xié)議定義的,ehci/ohci接口協(xié)議定義了pci物理接口(300)的數(shù)據(jù)鏈路協(xié)議,包含了usb控制器具體的功能配置寄存器、操作寄存器和usb傳輸描述符列表(101)。

圖8是根據(jù)本申請實施例的另一種可選的遠程通信系統(tǒng)的結(jié)構(gòu)示意圖。如圖8所示,該系統(tǒng)包括:

主機端的主機端協(xié)議轉(zhuǎn)換橋接卡80通過pcie接口800接入工作站或者數(shù)據(jù)中心,client端設(shè)備82通過網(wǎng)絡(luò)控制模塊84與主機端協(xié)議轉(zhuǎn)換橋接卡80的網(wǎng)絡(luò)控制模塊86連接,完成客戶端設(shè)備82接入的usb設(shè)備通過網(wǎng)絡(luò)拉遠到host端的工作站或者數(shù)據(jù)中心上;其中,客戶端設(shè)備82包括網(wǎng)絡(luò)控制模塊84和客戶端處理模塊88。

圖9是根據(jù)本申請實施例的一種可選的客戶端設(shè)備的結(jié)構(gòu)示意圖。如圖9所示,usb設(shè)備拉遠客戶端設(shè)備包含了客戶端處理模塊90(相當(dāng)于圖8中的客戶端處理模塊88)、網(wǎng)絡(luò)控制模塊92和多個usb設(shè)備;客戶端處理模塊90包含了遠端橋接應(yīng)用程序901、遠端橋接設(shè)備驅(qū)動902和usb驅(qū)動和控制器模塊903;其中,usb驅(qū)動和控制器模塊903是一般計算機或者嵌入系統(tǒng)包含的,可以完成對usb設(shè)備的枚舉過程,并向上層提供了通用數(shù)據(jù)(urb)訪問接口;遠端橋接設(shè)備驅(qū)動902,屬于協(xié)議棧的usb設(shè)備驅(qū)動層,把網(wǎng)絡(luò)urb數(shù)據(jù)轉(zhuǎn)換為client端支持的urb數(shù)據(jù)包并提交給usb驅(qū)動和控制器模塊903;遠端橋接應(yīng)用程序901,接收和維護host端網(wǎng)絡(luò)的連接請求,管理usb設(shè)備驅(qū)動,把host端的網(wǎng)絡(luò)urb數(shù)據(jù)包提交給遠端橋接設(shè)備驅(qū)動902。

圖10是根據(jù)本申請實施例的一種可選的主機端的控制流程示意圖。如圖10所示,該流程包括:

1、主機端協(xié)議轉(zhuǎn)換橋接卡插入host端主機,上電初始化所有硬件;

2、等待client端網(wǎng)絡(luò)連接后,usb設(shè)備管理及設(shè)備描述符管理模塊(403)讀取client端usb設(shè)備信息;

3、操作寄存器處理模塊(401)通過配置操作寄存器通知host端有新的usb設(shè)備接入;

4、host端主機通過配置操作寄存器提供usb傳輸描述符列表(101)的操作入口;

5、主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊(400)讀取數(shù)據(jù)描述符鏈表,并將數(shù)據(jù)描述符轉(zhuǎn)化為urb數(shù)據(jù)包(102);

6、urb數(shù)據(jù)包被網(wǎng)絡(luò)控制模塊(404)轉(zhuǎn)發(fā)到client端;

7、等待網(wǎng)絡(luò)端數(shù)據(jù)回復(fù);

8、收到client端urb包數(shù)據(jù)回復(fù),主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊(400)將數(shù)據(jù)回復(fù)轉(zhuǎn)化為描述符狀態(tài);

9、主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊(400)修改host端主機描述符狀態(tài);

10、如果描述符鏈路還有有效描述符,重復(fù)5-8過程;

11、如果第7步,發(fā)現(xiàn)網(wǎng)絡(luò)端口或者設(shè)備端口,操作寄存器處理模塊(400)配置操作寄存器通知host端主機設(shè)備已經(jīng)端口。

圖11是根據(jù)本申請實施例的一種可選的客戶端設(shè)備的控制流程示意圖。如圖11所示,

1、主機端協(xié)議轉(zhuǎn)換橋接卡插入host端主機,上電初始化硬件和軟件;

2、usb控制器發(fā)現(xiàn)新usb設(shè)備接入;

3、usb驅(qū)動和控制器模塊(503)對usb設(shè)備進行枚舉;

4、設(shè)備枚舉結(jié)束后,客戶端橋接應(yīng)用程序(501)把該usb設(shè)備掛載到客戶端橋接設(shè)備驅(qū)動(502);

5、等待與host端網(wǎng)絡(luò)鏈路正常;

6、客戶端橋接應(yīng)用程序(501)向host端發(fā)送usb設(shè)備信息表;

7、客戶端橋接應(yīng)用程序(501)等待host端發(fā)送網(wǎng)絡(luò)urb數(shù)據(jù)包(102),并將網(wǎng)絡(luò)urb數(shù)據(jù)包(102)提交給客戶端橋接設(shè)備驅(qū)動(502);

8、客戶端橋接設(shè)備驅(qū)動(502)提交給usb驅(qū)動和控制模塊(503);

9、等待執(zhí)行urb數(shù)據(jù)包結(jié)束;

10、usb驅(qū)動和控制器模塊(503)回復(fù)host端主機urb數(shù)據(jù)包執(zhí)行結(jié)果;

11、處理下一個urb數(shù)據(jù)包,重復(fù)第七步到第10步;

12、檢測到usb設(shè)備斷開,通知host端主機設(shè)備斷開。

圖12為根據(jù)本申請實施例的一種可選的usb傳輸描述符列表示意圖。如圖12所示,在本申請的一個可選實施例中,usb傳輸描述符包括兩類:qh和qtd。

在本申請的一個可選實施例中,可以通過urb數(shù)據(jù)與usb傳輸描述符列表中的usb傳輸描述符信息的映射關(guān)系實現(xiàn)格式轉(zhuǎn)換,圖13為根據(jù)本申請實施例的一種可選的urb數(shù)據(jù)與usb傳輸描述符列表的映射關(guān)系示意圖。如圖13所示,itd列表包含了urn數(shù)據(jù)包所需要的所有數(shù)據(jù),其與urb數(shù)據(jù)存在映射關(guān)系。其中,上述轉(zhuǎn)換流程包括:主機數(shù)據(jù)讀寫處理模塊及數(shù)據(jù)轉(zhuǎn)換模塊(400)通過操作寄存器處理模塊(401)提供的memory指針,讀取qh和qtd傳輸描述符列表;qh傳輸鏈表內(nèi)容如圖13中的itd列表所示,包含了urb包所需要的所有數(shù)據(jù)。依照urb數(shù)據(jù)格式轉(zhuǎn)換為urb數(shù)據(jù)包。

采用本實施例提供的方案,不需要在主機上安裝額外的軟件;不侵入host端系統(tǒng),保證原系統(tǒng)安全穩(wěn)定;方便跨多種系統(tǒng)平臺,使用方便;對接入點client端的usb主機控制器沒有限制,可以較好地使用于跨平臺的場景。

上述本申請實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

在本申請的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。

在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述僅是本申請的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本申請的保護范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
浪卡子县| 绥棱县| 区。| 永康市| 宽甸| 雅安市| 茂名市| 吉木乃县| 邹平县| 南川市| 台湾省| 咸宁市| 玛纳斯县| 瓦房店市| 嵊州市| 从化市| 邮箱| 东明县| 陆良县| 德格县| 兴安盟| 建湖县| 康保县| 洪江市| 介休市| 长阳| 石林| 敖汉旗| 驻马店市| 南阳市| 苍山县| 龙岩市| 南阳市| 伽师县| 延长县| 宜城市| 离岛区| 米脂县| 商都县| 永平县| 邯郸县|