專利名稱:數(shù)據(jù)傳輸裝置、方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信系統(tǒng),具體地,涉及一種數(shù)據(jù)傳輸裝置、方法及系統(tǒng)。
背景技術(shù):
分布式系統(tǒng)的基本構(gòu)架如圖Ia所示,多個包處理器(Packet ftOcessor,簡稱PP) 提供外圍網(wǎng)絡(luò)路由和交換接口,而包處理器之間通過高速接口連接到互聯(lián)網(wǎng)絡(luò)(Fabric) 上,從而實現(xiàn)多個PP之間的數(shù)據(jù)傳輸。通常,對網(wǎng)絡(luò)內(nèi)部的路徑做如下定義上行路徑是指從PP到Fabric的傳輸路徑; 下行路徑是指從Fabric到PP的傳輸路徑;上行路徑上的PP,稱為源PP ;下行路徑上的PP, 稱為目的PP。在分布式系統(tǒng)中,多個PP通過Fabric進行數(shù)據(jù)傳輸?shù)倪^程中,通常存在三個主要問題(1)隊頭問題(Header of Line,簡稱 HOL)隊頭問題如圖Ib所示,當一個源PP (PP 1)依次向多個目的PP (PP 2和PP η等) 發(fā)送數(shù)據(jù)時,如果源PP發(fā)送的第一個數(shù)據(jù)包的目標ΡΡ(ΡΡ 2)發(fā)生擁塞,這樣第一個數(shù)據(jù)包就無法發(fā)送出去、仍然滯留在源PP內(nèi)部,雖然此時第二個數(shù)據(jù)包的目的PP(PP η)沒有發(fā)生擁塞,源PP要發(fā)送的數(shù)據(jù)包都會堵塞在源PP內(nèi)部無法發(fā)送出去。如果我們把源ΡΡ(ΡΡ 1) 中的待發(fā)送的數(shù)據(jù)看成一個隊列,如果隊列頭部的數(shù)據(jù)在傳輸中發(fā)生擁塞,就會影響到隊列后繼的數(shù)據(jù)傳輸,這就是隊頭問題(Header of Line)。隊頭問題將會導致一些沒有發(fā)生擁塞的傳輸路徑受到其他擁塞路徑的影響,例如,PP 1到PP 2發(fā)生擁塞、而PP 1到PP η沒有發(fā)送擁塞,PP 1到PP 2的數(shù)據(jù)無法發(fā)送, 從而影響到PP 1到PP η的數(shù)據(jù)無法發(fā)送,這種情況將大大降低Fabric的帶寬利用率。(2)多對一問題(又稱為Many to One問題)多對一的問題如圖Ic所示,當一個目的PP(PP 1)接收來自多個源PP (PP2和PP η 等)的數(shù)據(jù)時,尤其是多個源PP同時向一個目的PP發(fā)送數(shù)據(jù)時,由于多個源PP的發(fā)送的數(shù)據(jù)量之和高于目的PP的可接收的數(shù)據(jù)量閾值,就必然會導致目的PP發(fā)生擁塞。圖Ic中,如果PP 1的接收數(shù)據(jù)量閾值為40(ibpS,PP 2和PP η發(fā)送的數(shù)據(jù)量也各為40(ibpS,并且PP 2和PP η同時向PP 1發(fā)送數(shù)據(jù),則瞬時發(fā)送的數(shù)據(jù)量就會達到80(ibpS, 這時候PP 1則只能接收40(ibpS的數(shù)據(jù),那么必然在PP 1的接收路徑上發(fā)生擁塞。此外,多對一的問題出現(xiàn)時,也就是在某個目的PP的接收端出現(xiàn)擁塞時,要保證目的PP接收到數(shù)據(jù),需采用以下的優(yōu)先級原則第一,源PP發(fā)送優(yōu)先級較高的數(shù)據(jù)時,被優(yōu)先分配傳輸帶寬;第二,源PP發(fā)送優(yōu)先級較低的數(shù)據(jù)時,被分配有限的傳輸帶寬;第三,在沒有獲取到傳輸帶寬時,數(shù)據(jù)緩存在源PP上,而不是緩存在Fabric的公共通道上。針對以上問題,現(xiàn)有的分布式系統(tǒng)通過如下的兩種技術(shù)方案流控機制和信用機制來實現(xiàn)Fabric上的數(shù)據(jù)傳輸。第一種方案,采用流控機制實現(xiàn)Fabric上的數(shù)據(jù)傳輸。流控機制也就是在各個源PP、目的PP和Fabric之間發(fā)送流量控制信息來實現(xiàn)流量控制。當數(shù)據(jù)接收端無法接收數(shù)據(jù)時,向數(shù)據(jù)發(fā)送端發(fā)送流量控制信息(在以太網(wǎng)中,通過Pause幀實現(xiàn)),數(shù)據(jù)發(fā)送端接收到流量控制信息后停止數(shù)據(jù)發(fā)送。數(shù)據(jù)發(fā)送端停止發(fā)送數(shù)據(jù)一段時間后,如果沒有再收到數(shù)據(jù)接收端的流量控制信息、則重新向數(shù)據(jù)接收端發(fā)送數(shù)據(jù)。流控機制的具體實現(xiàn)方式如下步驟1、PP 1發(fā)生擁塞,向Fabric的發(fā)送端1發(fā)送流量控制信息,告訴Fabric的發(fā)送端1就不要再發(fā)送數(shù)據(jù)給PP 1的接收端;步驟2、Fabric的發(fā)送端1收到流控信息后,將流量控制信息發(fā)送給Fabric的接收端2和接收端η ;步驟3、Fabric的接收端2和接收端η將流控信息分別發(fā)送給PP 2和PP η,告訴它們不要再發(fā)送數(shù)據(jù)。流控機制存在如下缺點第一,在解決多對一問題中,可能浪費Fabric帶寬從上述流控機制的實現(xiàn)方式可見,一旦發(fā)生擁塞,并且使用了流控機制,則會導致 Fabric中發(fā)生源PP(PP 2和PP η等)停止數(shù)據(jù)發(fā)送,等待目的PP(PP 1)的數(shù)據(jù)清空。這種源PP的停止數(shù)據(jù)發(fā)送并等待和目的PP(PP 1)數(shù)據(jù)清空之間的配合如果不是很緊密,則會出現(xiàn)帶寬的浪費。第二,無法進行基于優(yōu)先級的區(qū)分服務(wù)目前的流量控制信息基本不包含優(yōu)先級信息,即使采用基于優(yōu)先級的流量控制信息,優(yōu)先級的細分也無法滿足整個系統(tǒng)的需要。例如以太網(wǎng)的基于優(yōu)先級的Pause幀,只能區(qū)分8個優(yōu)先級,也就是整個系統(tǒng)只能支持8個優(yōu)先級。第三,無法解決隊頭問題流控機制無法解決隊頭問題。第二種方案,采用信用機制實現(xiàn)Fabric上的數(shù)據(jù)傳輸信用機制是指在源PP和目的PP之間,通過信用授權(quán)來實現(xiàn)數(shù)據(jù)傳輸。也就是說由目的PP根據(jù)自身狀況,向各個源PP發(fā)送信用授權(quán),獲得信用授權(quán)的源PP就可以按照信用授權(quán)指示的數(shù)據(jù)量向目的PP發(fā)送數(shù)據(jù)。信用機制可以很大程度解決隊頭問題和多對一問題,也可以通過虛擬輸出隊列 (VoQ, Virtual Output Queue)隊列的細分來解決優(yōu)先級問題。不過信用機制還是存在如下問題第一,瞬時的隊頭問題經(jīng)過信用授權(quán)后,各個源PP就會立即向目的PP發(fā)送數(shù)據(jù)。這樣會在系統(tǒng)的Fabric 中形成突發(fā)流量,從而導致瞬時擁塞。這種瞬時的擁塞,會導致源PP中的隊列的頭數(shù)據(jù)在某個時刻無法發(fā)送出去,從而瞬時出現(xiàn)隊頭問題。第二,瞬時的多對一問題與瞬時的隊頭問題類似,突發(fā)的數(shù)據(jù)流量也會引起瞬時的多對一問題。
第三,信用授權(quán)的準確性目前的信用授權(quán)基本都是根據(jù)VoQ隊列來進行固定信用分配,缺乏靈活性。這種信用分配方式可能會造成Fabric傳輸帶寬的浪費。例如高優(yōu)先級的VoQ隊列沒有數(shù)據(jù),卻得到授權(quán);而低優(yōu)先級的VoQ隊列有數(shù)據(jù),卻沒有得到授權(quán)。綜上可見,在現(xiàn)有的數(shù)據(jù)傳輸技術(shù)中存在對隊頭問題和多對一問題解決效果不佳的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供了一種數(shù)據(jù)傳輸裝置,用以解決現(xiàn)有的數(shù)據(jù)傳輸技術(shù)中存在的對隊頭問題和多對一問題解決效果不佳的問題。相應(yīng)的,本發(fā)明實施例還提供了一種數(shù)據(jù)傳輸方法和系統(tǒng)。本發(fā)明實施例技術(shù)方案如下一種數(shù)據(jù)傳輸裝置,數(shù)據(jù)傳輸裝置的一端連接至包處理器,另一端連接至互聯(lián)網(wǎng)絡(luò),數(shù)據(jù)傳輸裝置包括緩存管理單元、信用調(diào)度單元;其中,緩存管理單元,用于接收并緩存來自包處理器的數(shù)據(jù),確定該緩存的數(shù)據(jù)的數(shù)據(jù)量信息,并將確定的數(shù)據(jù)量信息發(fā)送給信用調(diào)度單元;根據(jù)來自信用調(diào)度單元的數(shù)據(jù)量指示信息,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù)、并將讀取的該數(shù)據(jù)通過信用調(diào)度單元基于互聯(lián)網(wǎng)絡(luò)發(fā)送給與該數(shù)據(jù)對應(yīng)的目的數(shù)據(jù)傳輸裝置;信用調(diào)度單元,用于根據(jù)來自緩存管理單元的數(shù)據(jù)量信息,生成包括該數(shù)據(jù)量信息的數(shù)據(jù)量請求,并將該數(shù)據(jù)量請求通過互聯(lián)網(wǎng)絡(luò)發(fā)送給緩存管理單元緩存的該數(shù)據(jù)的目的數(shù)據(jù)傳輸裝置;通過互聯(lián)網(wǎng)絡(luò)接收來自目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息,將該數(shù)據(jù)量指示信息發(fā)送給緩存管理單元。一種數(shù)據(jù)傳輸方法,包括接收并緩存來自包處理器的數(shù)據(jù),確定該緩存的數(shù)據(jù)的數(shù)據(jù)量信息;根據(jù)確定得到的數(shù)據(jù)量信息生成包括該數(shù)據(jù)量信息的數(shù)據(jù)量請求,將生成的數(shù)據(jù)量請求發(fā)送給緩存的數(shù)據(jù)的目的數(shù)據(jù)傳輸裝置;接收來自目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息;根據(jù)該數(shù)據(jù)量指示信息,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù);將讀取的該數(shù)據(jù)發(fā)送給目的數(shù)據(jù)傳輸裝置。一種數(shù)據(jù)傳輸裝置,數(shù)據(jù)傳輸裝置的一端連接至包處理器,另一端連接至互聯(lián)網(wǎng)絡(luò),數(shù)據(jù)傳輸裝置包括信用調(diào)度單元、緩存管理單元,其中;信用調(diào)度單元,用于通過互聯(lián)網(wǎng)絡(luò)接收來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括數(shù)據(jù)量信息;獲取緩存管理單元中空閑的緩存空間信息;根據(jù)接收到的數(shù)據(jù)量請求中的數(shù)據(jù)量信息和獲取到的緩存管理單元中空閑的緩存空間信息生成授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息;將授權(quán)指令通過互聯(lián)網(wǎng)絡(luò)發(fā)送給源數(shù)據(jù)傳輸裝置;通過互聯(lián)網(wǎng)絡(luò)接收來自源數(shù)據(jù)傳輸裝置按照授權(quán)指令中的數(shù)據(jù)量指示信息發(fā)送來的數(shù)據(jù),并將接收到的該數(shù)據(jù)發(fā)送給緩存管理單元;緩存管理單元,接收并緩存來自信用調(diào)度單元的數(shù)據(jù);將該數(shù)據(jù)發(fā)送給包處理器。一種數(shù)據(jù)傳輸方法,包括接收來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括數(shù)據(jù)量信息;獲取空閑的緩存空間信息;根據(jù)接收到的數(shù)據(jù)量請求中的數(shù)據(jù)量信息和獲取到的空閑的緩存空間信息生成授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息;將生成的授權(quán)指令發(fā)送給源數(shù)據(jù)傳輸裝置;接收來自源數(shù)據(jù)傳輸裝置根據(jù)授權(quán)指令中的數(shù)據(jù)量指示信息發(fā)送來的數(shù)據(jù),并緩存接收到的該數(shù)據(jù);將緩存的數(shù)據(jù)發(fā)送給包處理器。CN 102546098 A
—種數(shù)據(jù)傳輸系統(tǒng),包括如上所述的兩種數(shù)據(jù)傳輸裝置。在本發(fā)明實施例中,由與源包處理器相連接的數(shù)據(jù)傳輸裝置將要發(fā)送的數(shù)據(jù)的數(shù)據(jù)量信息發(fā)送給目的數(shù)據(jù)傳輸裝置,目的數(shù)據(jù)傳輸裝置根據(jù)該數(shù)據(jù)量信息和目的數(shù)據(jù)傳輸裝置空閑的緩存空間信息,確定源數(shù)據(jù)傳輸裝置應(yīng)發(fā)送數(shù)據(jù)的數(shù)據(jù)量、并將確定的該數(shù)據(jù)量的數(shù)據(jù)量信息發(fā)送給源數(shù)據(jù)傳輸裝置,源數(shù)據(jù)傳輸裝置根據(jù)接收到的該數(shù)據(jù)量信息、讀取與該數(shù)據(jù)量信息相應(yīng)的數(shù)據(jù),并將讀取的數(shù)據(jù)經(jīng)由目的數(shù)據(jù)傳輸裝置發(fā)送給目的包處理器;通過該方案,源數(shù)據(jù)傳輸裝置能夠按照目的數(shù)據(jù)傳輸裝置指示的數(shù)據(jù)量信息、向目的數(shù)據(jù)傳輸裝置發(fā)送響應(yīng)數(shù)據(jù)量的數(shù)據(jù),就能根據(jù)目的數(shù)據(jù)傳輸裝置的實際的數(shù)據(jù)處理狀況來發(fā)送數(shù)據(jù),不會造成目的包處理器端的數(shù)據(jù)擁塞,從而能夠解決數(shù)據(jù)傳輸中的多對一問題; 相應(yīng)地,目的包處理器端和互聯(lián)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)不形成擁塞后,源包處理器和源數(shù)據(jù)傳輸裝置相應(yīng)地能夠順暢地將數(shù)據(jù)發(fā)送給目的包處理器,這樣能夠解決源包處理器側(cè)的隊頭問題;從而能夠解決現(xiàn)有的數(shù)據(jù)傳輸技術(shù)中存在的對隊頭問題和多對一問題解決效果不佳的問題,提高傳輸資源的利用率、提高傳輸效率、提升系統(tǒng)的處理效率。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
圖Ia為現(xiàn)有技術(shù)中分布式系統(tǒng)基本構(gòu)架的結(jié)構(gòu)示意圖;圖Ib為現(xiàn)有技術(shù)中隊頭問題的原理示意圖;圖Ic為現(xiàn)有技術(shù)中多對一問題的原理示意圖;圖加是根據(jù)本發(fā)明實施例的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖;圖2b是根據(jù)本發(fā)明實施例的數(shù)據(jù)傳輸方法的工作流程圖;圖3是根據(jù)本發(fā)明實施例的數(shù)據(jù)傳輸裝置的另一結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明實施例的數(shù)據(jù)傳輸方法的另一工作流程圖;圖5是根據(jù)本發(fā)明實施例的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖;圖6是本發(fā)明實施例具體應(yīng)用的場景示意圖;圖7是本發(fā)明實施例具體應(yīng)用中的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖;圖8是本發(fā)明實施例具體應(yīng)用中的優(yōu)先級配置寄存器的數(shù)據(jù)結(jié)構(gòu)示意圖;圖9是本發(fā)明實施例具體應(yīng)用中的上行緩存管理單元進行緩存輸入的處理流程圖;圖10是本發(fā)明實施例具體應(yīng)用中的上行緩存管理單元進行緩存輸出的處理流程圖;圖11是本發(fā)明實施例具體應(yīng)用中的信用配置寄存器的數(shù)據(jù)結(jié)構(gòu)示意圖;圖12是本發(fā)明實施例具體應(yīng)用中的上行信用調(diào)度模塊發(fā)送信用請求的處理流程圖;圖13是本發(fā)明實施例具體應(yīng)用中的信用請求的數(shù)據(jù)結(jié)構(gòu)示意圖;圖14是本發(fā)明實施例具體應(yīng)用中的信用調(diào)度模塊接收信用授權(quán)的處理流程圖;圖15是本發(fā)明實施例具體應(yīng)用中的上行信用調(diào)度模塊72根據(jù)接收到的信用授權(quán)生成數(shù)據(jù)輸出指令的處理流程圖;圖16是本發(fā)明實施例具體應(yīng)用中的上行信用調(diào)度模塊轉(zhuǎn)發(fā)數(shù)據(jù)的處理流程圖;圖17是本發(fā)明實施例具體應(yīng)用中的下行信用模塊進行信用分配的處理流程圖;圖18是本發(fā)明實施例具體應(yīng)用中的下行信用模塊進行時間片分配的處理流程圖;圖19是本發(fā)明實施例具體應(yīng)用中的定時機制的原理示意圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明的實施例進行說明,應(yīng)當理解,此處所描述的實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。針對現(xiàn)有技術(shù)中存在的對隊頭問題和多對一問題解決效果不佳的問題,本發(fā)明實施例提出了一種數(shù)據(jù)傳輸裝置、方法及系統(tǒng),用以解決這一問題。本發(fā)明實施例提供的數(shù)據(jù)傳輸裝置位于包處理器(PP,Packet Processor)和互聯(lián)網(wǎng)絡(luò)之間,用于處理源包處理器與目的包處理器之間經(jīng)由互聯(lián)網(wǎng)絡(luò)轉(zhuǎn)發(fā)的數(shù)據(jù)。本發(fā)明實施例首先應(yīng)用了改進了的“信用機制”來解決多對一問題和隊頭問題。與源包處理器相連接的源數(shù)據(jù)傳輸裝置,將從源包處理器發(fā)送過來的數(shù)據(jù)緩存后,將該數(shù)據(jù)的數(shù)據(jù)量信息發(fā)送給與目的包處理器相連接的目的數(shù)據(jù)傳輸裝置;目的數(shù)據(jù)傳輸裝置根據(jù)接收到的該數(shù)據(jù)量信息和目的數(shù)據(jù)傳輸裝置中空閑的數(shù)據(jù)存儲空閑信息、為源數(shù)據(jù)傳輸裝置指定發(fā)送數(shù)據(jù)的數(shù)據(jù)量,即目的數(shù)據(jù)傳輸裝置為源數(shù)據(jù)傳輸裝置分配數(shù)據(jù)傳輸?shù)摹靶庞命c”;源數(shù)據(jù)傳輸裝置根據(jù)目的數(shù)據(jù)傳輸裝置為其指定的數(shù)據(jù)量來發(fā)送數(shù)據(jù)。當多個源數(shù)據(jù)傳輸裝置向同一個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)時,能夠根據(jù)目的數(shù)據(jù)傳輸裝置的實際的數(shù)據(jù)存儲狀況來發(fā)送相應(yīng)數(shù)據(jù)量的數(shù)據(jù),就不會因為多個源數(shù)據(jù)裝置將全部數(shù)據(jù)發(fā)送給目的數(shù)據(jù)傳輸裝置、而造成目的包處理器側(cè)的數(shù)據(jù)擁塞,從而能夠解決現(xiàn)有技術(shù)中的多對一問題;并且,當目的包處理器側(cè)解決了多對一問題后,即目的包處理器、以及互聯(lián)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)不形成擁塞后,源包處理器和源數(shù)據(jù)傳輸裝置相應(yīng)地能夠順暢地將數(shù)據(jù)發(fā)送給目的包處理器,這樣能夠在很大程度上減輕源包處理器側(cè)的隊頭問題。同理,當多個源包處理器向多個目的包處理器發(fā)送數(shù)據(jù)時,各個源數(shù)據(jù)傳輸裝置能夠按照各個目的數(shù)據(jù)傳輸裝置實際的數(shù)據(jù)處理狀況來發(fā)送數(shù)據(jù),從而能夠解決現(xiàn)有技術(shù)中的多對一問題的和隊頭問題。并且,相比于現(xiàn)有技術(shù),本發(fā)明實施例提供的方案傳輸資源的利用率高、數(shù)據(jù)傳輸效率高、系統(tǒng)的處理效率高。在本發(fā)明實施例的優(yōu)選方案中,還應(yīng)用了“時間片機制”。在信用機制的基礎(chǔ)上,目的數(shù)據(jù)傳輸裝置還為源數(shù)據(jù)傳輸裝置指定發(fā)送數(shù)據(jù)的時間片,源數(shù)據(jù)按照目的數(shù)據(jù)傳輸裝置指定的時間片來發(fā)送指定數(shù)據(jù)量的數(shù)據(jù)。當同一個源數(shù)據(jù)傳輸裝置向多個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)時,按照各個目的數(shù)據(jù)傳輸裝置指定的時間片和數(shù)據(jù)量分別向相應(yīng)的目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù),能夠形成源數(shù)據(jù)傳輸裝置有序、交錯地向各個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)的情景,即使源數(shù)據(jù)傳輸裝置與某個目的數(shù)據(jù)傳輸裝置的路徑上存在數(shù)據(jù)擁塞,也不會影響到與其他目的數(shù)據(jù)傳輸裝置的數(shù)據(jù)正常發(fā)送,這樣就能夠在源數(shù)據(jù)傳輸裝置側(cè)避免數(shù)據(jù)擁塞問題,從而能夠解決相關(guān)技術(shù)中隊頭問題。并且,在目的數(shù)據(jù)傳輸裝置側(cè),能夠按照時間片有序、依次接收來自各個源數(shù)據(jù)傳輸裝置按照指定數(shù)據(jù)量發(fā)送的數(shù)據(jù),從而能夠更有效地解決多對一的問題。同理,當多個源包處理器向多個目的包處理器發(fā)送數(shù)據(jù)時, 各個源數(shù)據(jù)傳輸裝置能夠按照各個目次數(shù)據(jù)傳輸裝置指定的時間片、有序交錯地向各個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù),從而能夠解決現(xiàn)有技術(shù)中的多對一問題的和隊頭問題。并且,相比于現(xiàn)有技術(shù),本發(fā)明實施例提供的方案傳輸資源的利用率高、數(shù)據(jù)傳輸效率高、系統(tǒng)的處
理效率高。(一 )、本發(fā)明實施例首先提供了一種數(shù)據(jù)傳輸裝置,該裝置應(yīng)用“信用機制”對上行數(shù)據(jù)進行處理。圖加示出了根據(jù)本發(fā)明實施例的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖,如圖加所示,該裝置的一端連接至包處理器、另一端連接至互聯(lián)網(wǎng)絡(luò),該數(shù)據(jù)傳輸裝置包括緩存管理單元 1、信用調(diào)度單元2。緩存管理單元1,用于接收并緩存來自包處理器的數(shù)據(jù),確定該緩存的數(shù)據(jù)的數(shù)據(jù)量信息,并將確定的數(shù)據(jù)量信息發(fā)送給信用調(diào)度單元2 ;根據(jù)來自信用調(diào)度單元2的數(shù)據(jù)量指示信息,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù)、并將讀取的該數(shù)據(jù)通過信用調(diào)度單元2基于互聯(lián)網(wǎng)絡(luò)發(fā)送給與該數(shù)據(jù)對應(yīng)的目的數(shù)據(jù)傳輸裝置;信用調(diào)度單元2,用于根據(jù)來自緩存管理單元1的數(shù)據(jù)量信息,生成包括該數(shù)據(jù)量信息的數(shù)據(jù)量請求,并將該數(shù)據(jù)量請求通過互聯(lián)網(wǎng)絡(luò)發(fā)送給緩存管理單元1所緩存的該數(shù)據(jù)的目的數(shù)據(jù)傳輸裝置;通過互聯(lián)網(wǎng)絡(luò)接收來自目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息,將該數(shù)據(jù)量指示信息發(fā)送給緩存管理單元1。圖2b所示裝置的工作原理如圖2所示,如圖2b所示,該裝置的工作原理包括如下處理過程步驟21、接收并緩存來自包處理器的數(shù)據(jù),確定該緩存的數(shù)據(jù)的數(shù)據(jù)量信息;步驟22、根據(jù)確定得到的數(shù)據(jù)量信息生成包括該數(shù)據(jù)量信息的數(shù)據(jù)量請求,將生成的數(shù)據(jù)量請求發(fā)送給所緩存的數(shù)據(jù)的目的數(shù)據(jù)傳輸裝置;步驟23、接收來自目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示 fn息;步驟M、根據(jù)該數(shù)據(jù)量指示信息,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù);步驟25、將讀取的該數(shù)據(jù)發(fā)送給目的數(shù)據(jù)傳輸裝置。如圖加所示的數(shù)據(jù)傳輸裝置,通過緩存來自包處理器的數(shù)據(jù),確定該數(shù)據(jù)的數(shù)據(jù)量信息,并將該數(shù)據(jù)量信息發(fā)送給目的數(shù)據(jù)傳輸裝置,能夠使目的數(shù)據(jù)傳輸裝置較為準確地了解到上行路徑上傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)量情況,從而有助于目的數(shù)據(jù)傳輸裝置為各個源數(shù)據(jù)傳輸裝置指定發(fā)送數(shù)據(jù)的數(shù)據(jù)量,有助于解決數(shù)據(jù)傳輸中的多對一的問題。并且,如圖加所示的數(shù)據(jù)傳輸裝置,根據(jù)接收到的授權(quán)指令中的數(shù)據(jù)量指示信息,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù),并將讀取的該數(shù)據(jù)發(fā)送給目的數(shù)據(jù)傳輸裝置,能夠?qū)崿F(xiàn)源數(shù)據(jù)傳輸裝置根據(jù)目的數(shù)據(jù)傳輸裝置指定的數(shù)據(jù)量來發(fā)送數(shù)據(jù),能夠避免與目的數(shù)據(jù)傳輸裝置相連接的目的包處理器側(cè)的數(shù)據(jù)擁塞。一種優(yōu)選地的方式,可通過如下的處理流程來實現(xiàn)圖2b所示的工作原理,該處理過程包括如下的步驟步驟一、根據(jù)接收到的數(shù)據(jù)中攜帶的虛擬數(shù)據(jù)輸出隊列VoQ標識,將該數(shù)據(jù)緩存到相應(yīng)的VoQ中;步驟二、確定各個VoQ中緩存的數(shù)據(jù)的數(shù)據(jù)量信息;步驟三、對各個VoQ生成包括所確定的相應(yīng)的數(shù)據(jù)量信息的數(shù)據(jù)量請求;步驟四、將對各個VoQ生成的數(shù)據(jù)量請求發(fā)送給相應(yīng)的各個VoQ的目的數(shù)據(jù)傳輸
裝置;步驟五、接收來自各個目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括對與目的數(shù)據(jù)傳輸裝置對應(yīng)的VoQ的數(shù)據(jù)量指示信息;步驟六、根據(jù)接收到的對各個VoQ的數(shù)據(jù)量指示信息,從各個VoQ中讀取與對應(yīng)的數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù);步驟七、將從各個VoQ中讀取的數(shù)據(jù)發(fā)送給各個對應(yīng)的目的數(shù)據(jù)傳輸裝置。通過上述處理,能夠?qū)⒃磾?shù)據(jù)傳輸裝置的各個VoQ中緩存的數(shù)據(jù)的數(shù)據(jù)量信息發(fā)送給各個VoQ的目的數(shù)據(jù)傳輸裝置,有助于各個目的數(shù)據(jù)傳輸裝置較為準確地了解上行路徑上的傳輸狀況,有助于解決數(shù)據(jù)傳輸中的多對一問題和隊頭問題;并且,源數(shù)據(jù)傳輸裝置根據(jù)來自各個目的數(shù)據(jù)傳輸裝置的數(shù)據(jù)量指示信息,在各個對應(yīng)的VoQ中讀取與數(shù)據(jù)量指示信息所指示的數(shù)據(jù)量相應(yīng)的數(shù)據(jù),并將從各個VoQ中讀取的數(shù)據(jù)分別發(fā)送給與各個VoQ 對應(yīng)的的目的數(shù)據(jù)傳輸裝置,能夠?qū)崿F(xiàn)源數(shù)據(jù)傳輸裝置根據(jù)目的數(shù)據(jù)傳輸裝置指示的數(shù)據(jù)量來發(fā)送數(shù)據(jù),能夠避免目的數(shù)據(jù)傳輸裝置側(cè)的數(shù)據(jù)擁塞,能夠解決數(shù)據(jù)傳輸中的多對一問題和隊頭問題。( 二)、本發(fā)明還提供另一種數(shù)據(jù)傳輸裝置,該裝置應(yīng)用“信用機制”對下行數(shù)據(jù)進行處理。圖3示出了根據(jù)本發(fā)明實施例的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖,如圖3所示,該裝置一端連接至包處理器、另一端連接至互聯(lián)網(wǎng)絡(luò),該數(shù)據(jù)傳輸裝置包括信用調(diào)度單元3、緩存管理單元4。信用調(diào)度單元3,用于通過互聯(lián)網(wǎng)絡(luò)接收來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括數(shù)據(jù)量信息;獲取緩存管理單元4中空閑的緩存空間信息;根據(jù)接收到的數(shù)據(jù)量請求中的數(shù)據(jù)量信息和獲取到的緩存管理單元4中空閑的緩存空間信息生成授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息;將授權(quán)指令通過互聯(lián)網(wǎng)絡(luò)發(fā)送給源數(shù)據(jù)傳輸裝置;通過互聯(lián)網(wǎng)絡(luò)接收來自源數(shù)據(jù)傳輸裝置按照授權(quán)指令中的數(shù)據(jù)量指示信息發(fā)送來的數(shù)據(jù),并將接收到的該數(shù)據(jù)發(fā)送給緩存管理單元;緩存管理單元4,接收并緩存來自信用調(diào)度單元3的數(shù)據(jù);將該數(shù)據(jù)發(fā)送給包處理
ο圖4示出了圖3所述裝置的工作原理,如圖4所示,該工作原理包括如下處理步驟步驟41、接收來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括數(shù)據(jù)量信息;步驟42、獲取空閑的緩存空間信息;步驟43、根據(jù)接收到的數(shù)據(jù)量請求中的數(shù)據(jù)量信息和獲取到的空閑的緩存空間信息生成授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息;步驟44、將生成的授權(quán)指令發(fā)送給源數(shù)據(jù)傳輸裝置;
步驟45、接收來自源數(shù)據(jù)傳輸裝置根據(jù)授權(quán)指令中的數(shù)據(jù)量指示信息發(fā)送來的數(shù)據(jù),并緩存接收到的該數(shù)據(jù);步驟46、將緩存的數(shù)據(jù)發(fā)送給包處理器。如圖3所示的裝置,目的數(shù)據(jù)傳輸裝置根據(jù)來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求、 和目的數(shù)據(jù)傳輸裝置空閑的緩存空間信息,生成指示源數(shù)據(jù)傳輸裝置發(fā)送一定數(shù)據(jù)量的數(shù)據(jù)的授權(quán)指令,使得目的數(shù)據(jù)傳輸裝置能夠根據(jù)上行路徑發(fā)送數(shù)據(jù)的狀況、以及自身空閑的緩存空間、來為源數(shù)據(jù)傳輸裝置指定發(fā)送數(shù)據(jù)的數(shù)據(jù)量,即目的數(shù)據(jù)傳輸裝置為各個源數(shù)據(jù)傳輸裝置分配數(shù)據(jù)傳輸?shù)摹靶庞命c”,能夠使源數(shù)據(jù)傳輸裝置按照目的數(shù)據(jù)傳輸裝置指定的數(shù)據(jù)量來發(fā)送數(shù)據(jù)、能夠避免與目的數(shù)據(jù)傳輸裝置相連接的目的包處理器側(cè)的數(shù)據(jù)擁塞,從而能夠解決數(shù)據(jù)傳輸中的多對一問題的隊頭問題。一種優(yōu)選的方式,可以通過如下的處理來實現(xiàn)圖4所示的工作原理,該處理過程包括如下步驟步驟一、接收來自各個源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括有相應(yīng)源數(shù)據(jù)傳輸裝置的VoQ中的數(shù)據(jù)量信息;步驟二、獲取各個數(shù)據(jù)輸出隊列(0Q,Output Queue)中空閑存儲空間信息;步驟三、根據(jù)接收到的各個源數(shù)據(jù)傳輸裝置的VoQ的數(shù)據(jù)量信息、獲取的各個OQ 的空閑存儲空間信息,以及對各個OQ預設(shè)的優(yōu)先級信息,生成對各個源數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括指示源數(shù)據(jù)傳輸裝置輸出數(shù)據(jù)的數(shù)據(jù)量指示信息;具體地,根據(jù)各個OQ中空閑的緩存空間信息、以及對各個OQ預設(shè)的優(yōu)先級信息, 確定各個OQ接收數(shù)據(jù)的數(shù)據(jù)量;按照確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量、與相應(yīng)的源數(shù)據(jù)傳輸裝置中VoQ的數(shù)據(jù)量信息所指示的數(shù)據(jù)量的比例,確定與各個OQ相對應(yīng)的源數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)的數(shù)據(jù)量,并將確定的數(shù)據(jù)量作為數(shù)據(jù)量指示信息攜帶在授權(quán)指令中;步驟四、將對各個源數(shù)據(jù)傳輸裝置生成的授權(quán)指令發(fā)送給相應(yīng)的各個源數(shù)據(jù)傳輸
直ο通過上述處理,目的數(shù)據(jù)傳輸裝置能夠根據(jù)各個源數(shù)據(jù)傳輸裝置的VOQ中緩存的數(shù)據(jù)的數(shù)據(jù)量大小、目的數(shù)據(jù)傳輸裝置中各個OQ的空閑的數(shù)據(jù)存儲空間、以及對OQ預設(shè)的優(yōu)先級,來為各個源數(shù)據(jù)傳輸裝置分配發(fā)送數(shù)據(jù)的數(shù)據(jù)量,各個源數(shù)據(jù)傳輸裝置根據(jù)目的數(shù)據(jù)傳輸裝置分配的數(shù)據(jù)量向目的數(shù)據(jù)傳輸裝置發(fā)送相應(yīng)數(shù)據(jù)量的數(shù)據(jù),從而能夠避免目的數(shù)據(jù)傳輸裝置側(cè)可能存在的數(shù)據(jù)擁塞問題、以及源數(shù)據(jù)傳輸裝置側(cè)可能存在的數(shù)據(jù)擁塞問題,從而能夠解決數(shù)據(jù)傳輸中的多對一問題和隊頭問題。(三)、本發(fā)明實施例還提供了一種數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)包括如圖加所示的數(shù)據(jù)傳輸裝置和圖3所示的數(shù)據(jù)傳輸裝置,能分別為同一個包處理器處理其上行路徑和下行路徑的數(shù)據(jù)傳輸,該系統(tǒng)的結(jié)構(gòu)如圖5所示。如圖5所示,該系統(tǒng)包括上行處理部分和下行處理部分,上行處理部分包括上行緩存管理單元11、上行信用調(diào)度單元22,下行處理部分包括下行信用調(diào)度單元33、下行緩存管理單元44,上行緩存管理單元11、下行緩存管理單元 44與包處理器相連接,上行信用調(diào)度單元22、下行信用調(diào)度單元33與互聯(lián)網(wǎng)絡(luò)相連接。其中,上行緩存管理單元11、上行信用調(diào)度單元22用于處理上行路徑上傳輸?shù)臄?shù)據(jù),這二者的功能分別與圖加中緩存管理單元1、信用調(diào)度單元2的功能類似,下行信用調(diào)度單元33、 下行緩存管理單元44用于處理上行路徑上傳輸?shù)臄?shù)據(jù),這二者的功能分別與圖3中信用調(diào)度單元3、緩存管理單元4的功能類似,這里不再贅述。上行緩存管理單元11和上行信用調(diào)度單元22的工作原理如圖2b所示,下行信用調(diào)度單元33和下行緩存管理單元44的工作原理如圖4所示,這里不再贅述。圖5所示的系統(tǒng)通過應(yīng)用“信用機制”,與目的包處理器相連接的、作為目的數(shù)據(jù)傳輸裝置的圖5所示系統(tǒng)中的下行處理部分,根據(jù)自身實際的數(shù)據(jù)存儲狀況,來為與源包處理器相連接的、作為源數(shù)據(jù)傳輸裝置的圖5所示系統(tǒng)中的上行處理部分、指定發(fā)送數(shù)據(jù)的數(shù)據(jù)量,就不會因為多個源數(shù)據(jù)裝置將全部數(shù)據(jù)發(fā)送給目的數(shù)據(jù)傳輸裝置、而造成目的數(shù)據(jù)傳輸裝置側(cè)的數(shù)據(jù)擁塞,從而能夠解決現(xiàn)有技術(shù)中的多對一問題和隊頭問題。(四)、本發(fā)明實施例還提供了一種時間片機制,用于解決數(shù)據(jù)傳輸中的隊頭問題。時間片機制的原理包括根據(jù)目的數(shù)據(jù)傳輸裝置為各個源數(shù)據(jù)傳輸裝置分配的發(fā)送數(shù)據(jù)的數(shù)據(jù)量,目的數(shù)據(jù)傳輸裝置相應(yīng)地為各個源數(shù)據(jù)傳輸裝置分配發(fā)送數(shù)據(jù)的數(shù)據(jù)輸出時間片,并將分配的數(shù)據(jù)輸出時間片信息攜帶在授權(quán)指令中;根據(jù)預設(shè)的授權(quán)指令發(fā)送時間片信息,對發(fā)送授權(quán)指令的時間進行計時,在該授權(quán)指令發(fā)送時間片到來時,將授權(quán)指令發(fā)送給源數(shù)據(jù)傳輸裝置。源數(shù)據(jù)傳輸裝置根據(jù)預設(shè)的數(shù)據(jù)量請求時間片信息、對發(fā)送數(shù)據(jù)量請求的時間片進行計時,在該數(shù)據(jù)量請求時間片到來之時,向目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)量請求。源數(shù)據(jù)傳輸裝置在接收到授權(quán)指令之時,根據(jù)授權(quán)指令中攜帶的數(shù)據(jù)輸出時間片信息、對發(fā)送按照數(shù)據(jù)量指示信息讀取的數(shù)據(jù)的時間片進行計時,在數(shù)據(jù)輸出時間片到來之時,向目的數(shù)據(jù)傳輸裝置發(fā)送讀取的數(shù)據(jù)。具體地,目的數(shù)據(jù)傳輸裝置確定數(shù)據(jù)輸出時間片的處理包括根據(jù)目的數(shù)據(jù)傳輸裝置在進行上述確定數(shù)據(jù)量指示信息操作時、確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量,為當前OQ 確定向該OQ發(fā)送數(shù)據(jù)的時間段,按照為與該OQ對應(yīng)的各個源數(shù)據(jù)傳輸裝置所確定的數(shù)據(jù)量之間的比例關(guān)系、將確定的時間段劃分為多個子時間片,將劃分的該多個子時間片分別作為與當前OQ相對應(yīng)的各個源數(shù)據(jù)傳輸裝置的數(shù)據(jù)輸出時間片。通過時間片機制,當同一個源數(shù)據(jù)裝置向多個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)時,能夠在源數(shù)據(jù)傳輸裝置端按照各個目的數(shù)據(jù)傳輸裝置指定的時間、分別向各個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù),即使源數(shù)據(jù)傳輸裝置與某一個目的數(shù)據(jù)傳輸裝置的路徑上發(fā)送擁塞、導致該路徑上的數(shù)據(jù)無法發(fā)送,源數(shù)據(jù)傳輸裝置在其他時間片仍然可以向其他數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù),從而能夠避免源數(shù)據(jù)傳輸裝置的數(shù)據(jù)擁塞,即能夠解決數(shù)據(jù)傳輸技術(shù)中的隊頭問題。并且,在應(yīng)用信用機制的基礎(chǔ)上應(yīng)用時間片機制,同一個目的數(shù)據(jù)傳輸裝置接收多個源數(shù)據(jù)傳輸裝置發(fā)送的數(shù)據(jù)時,能夠在目的數(shù)據(jù)傳輸裝置側(cè)有序的接收來自源數(shù)據(jù)傳輸裝置按照指定時間、指定數(shù)據(jù)量發(fā)送的數(shù)據(jù),從而能夠更好避免目的數(shù)據(jù)傳輸裝置側(cè)的數(shù)據(jù)擁塞,能夠更有效地解決傳輸技術(shù)中的多對一問題。同理,當多個源數(shù)據(jù)傳輸裝置向多個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)時,能夠按照各自的數(shù)據(jù)輸出時間片、來有序交錯發(fā)送數(shù)據(jù),能夠解決傳輸技術(shù)中的多對一問題和隊頭問題。(五)具體應(yīng)用的情況
14
在本發(fā)明實施例具體應(yīng)用的場景中,如圖6所示,在由n+1個包處理器(PP1、…、 PP n+1)和互聯(lián)網(wǎng)絡(luò)構(gòu)成的系統(tǒng)中,在每個包處理器和互聯(lián)網(wǎng)絡(luò)之間分別設(shè)置一個本發(fā)明實施例提供的數(shù)據(jù)傳輸系統(tǒng),該數(shù)據(jù)傳輸系統(tǒng)通過現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield Programmable Gate Array)芯片來實現(xiàn),即PP 1至PP n+1與互聯(lián)網(wǎng)絡(luò)之間相應(yīng)地設(shè)置有 FPGA 1至FPGA n+1,每個FPGA分別對從PP到互聯(lián)網(wǎng)絡(luò)的上行路徑上傳輸?shù)臄?shù)據(jù)、和互聯(lián)網(wǎng)絡(luò)到PP的下行路徑上傳輸?shù)臄?shù)據(jù)進行處理。優(yōu)選地,也可以通過通用芯片器件(ASIC, Application Specific Circuit)來實現(xiàn)本發(fā)明實施例提供的數(shù)據(jù)傳輸系統(tǒng)。如圖7所示,每個FPGA都包括對上行路徑進行處理的上行緩存管理單元71、上行信用調(diào)度單元72,對下行路徑進行處理的下行信用調(diào)度單元73、下行緩存管理單元74 ;其中,每個上行緩存管理單元71中都配置16個VoQ,每個下行緩存管理單元74中都配置16 個0Q。預先對下行緩存管理模塊中的OQ進行優(yōu)先級設(shè)置,對16個OQ相應(yīng)地設(shè)置16個優(yōu)先級,具體地,可通過寄存器來配置這16個優(yōu)先級,優(yōu)先級配置寄存器的數(shù)據(jù)結(jié)構(gòu)如圖8 所示,該寄存器的結(jié)構(gòu)包括整個寄存器為256bit ;每個優(yōu)先級有16bit,其中高4bit用于設(shè)定優(yōu)先級別,低12位用于設(shè)定權(quán)重;優(yōu)先級別的設(shè)定范圍為0 15,其中0的優(yōu)先級最高,15的優(yōu)先級最低;權(quán)重的設(shè)定范圍為 0 2047,也就是可以配置出1 2047的權(quán)重比。下面對FPGA中的模塊的功能及工作原理進行說明。1、上行緩存管理單元71上行緩存管理單元71包括兩部分功能緩存輸入、緩存輸出。圖9示出了上行緩存管理單元71進行緩存輸入的處理過程,如圖9所示,該處理過程包括如下步驟步驟91、接收源PP發(fā)送過來的數(shù)據(jù),該數(shù)據(jù)幀包含兩個部分數(shù)據(jù)幀頭和數(shù)據(jù),其中數(shù)據(jù)幀頭包含VoQ ID信息,該VoQ ID信息是由源PP在路由運算過程中得到的;步驟92、提取數(shù)據(jù)幀頭的VoQ ID ;步驟93、判斷VoQ ID所對應(yīng)的VoQ中的數(shù)據(jù)存儲水線是否超過高水線,即判斷VoQ 中存儲的數(shù)據(jù)是否已經(jīng)超過了預定的閾值,如果超過,處理進行到94 ;否則,處理進行到步驟95 ;步驟94,將接收到的數(shù)據(jù)丟棄,處理返回步驟91 ;步驟95、將數(shù)據(jù)寫入到與VoQ ID所對應(yīng)的VoQ中;步驟96、向上行信用調(diào)度模塊72發(fā)送數(shù)據(jù)入緩存消息,該消息包含數(shù)據(jù)幀的字節(jié)
數(shù)信息。圖10示出了上行緩存管理單元71進行緩存輸出的處理過程,如圖9所示,該處理過程包括如下步驟步驟101、接收來自上行信用調(diào)度模塊72的數(shù)據(jù)輸出指令;步驟102、分析指令,得到VoQ ID和信用點數(shù);步驟103、根據(jù)VoQ ID和信用點數(shù),從與VoQ ID對應(yīng)的VoQ中讀出與信用點數(shù)對應(yīng)的數(shù)據(jù)幀發(fā)送給上行信用調(diào)度模塊72 ;
步驟104、由于數(shù)據(jù)是按照幀為單位從VoQ中讀出的,因此會存在讀出的數(shù)據(jù)幀和信用點數(shù)有存在偏差的可能,這里記下偏移量(可能是正偏,也可能是負偏),在下次輸出操作中進行修正;步驟105、向上行信用調(diào)度模塊72發(fā)送數(shù)據(jù)出緩存消息,包含數(shù)據(jù)幀的字節(jié)數(shù)信肩、ο2、上行信用調(diào)度模塊72上行信用調(diào)度模塊72的工作原理可簡述為接收來自上行緩存管理模塊71的數(shù)據(jù)入緩存消息和數(shù)據(jù)出緩存消息,根據(jù)這兩個消息確定VoQ中實際存儲的數(shù)據(jù)量,即將數(shù)據(jù)入緩存消息中的數(shù)據(jù)幀的字節(jié)數(shù)、與數(shù)據(jù)出緩存消息中的數(shù)據(jù)幀的字節(jié)數(shù)的差值、確定為VoQ中實際存儲的數(shù)據(jù)量;根據(jù)確定得到的數(shù)據(jù)量形成數(shù)據(jù)量請求,將該數(shù)據(jù)量請求發(fā)送給目的FPGA ;在接收到來自目的FPGA的授權(quán)指令后,將授權(quán)指令中的數(shù)據(jù)量指示信息發(fā)送給上行緩存管理模塊71,在授權(quán)指令中指定的數(shù)據(jù)輸出時間到達之時、將上行緩存管理模塊71按照數(shù)據(jù)量指示信息讀取的數(shù)據(jù)發(fā)送給目的FPGA。這樣,可將上行信用調(diào)度模塊72的功能劃分為兩部分信用管理和數(shù)據(jù)調(diào)度。其中,信用管理功能包括統(tǒng)計數(shù)據(jù)量(或稱為VoQ數(shù)據(jù)統(tǒng)計)、根據(jù)數(shù)據(jù)量形成數(shù)據(jù)量請求 (或稱為信用請求)、接收來自目的FPGA的授權(quán)指令(或稱為信用授權(quán))。數(shù)據(jù)調(diào)度功能包括根據(jù)信用授權(quán)生成數(shù)據(jù)輸出指令,將該數(shù)據(jù)輸出指令發(fā)送給上行緩存管理模塊71,并將來自上行緩存管理模塊71的按照數(shù)據(jù)輸出指令讀取的數(shù)據(jù)發(fā)送給目的FPGA。下面對這兩部分的內(nèi)容進行詳細說明。(1)、VoQ 數(shù)據(jù)統(tǒng)計上行信用調(diào)度模塊72接收來自上行緩存管理模塊71的數(shù)據(jù)入緩存消息和數(shù)據(jù)出緩存消息。根據(jù)這兩個信息得到VoQ中緩存的數(shù)據(jù)量。在得到VoQ所對應(yīng)的數(shù)據(jù)量后,根據(jù)信用權(quán)重(CW,Credit Worth)將數(shù)據(jù)量換算成信用點,該換算的信用點又可稱為VoQ的預分配信用(AVC,Anticipated VOQ Credit)。在本發(fā)明實施例中,對信用權(quán)重CW的設(shè)置根據(jù)具體情況來選擇,如000,一個信用點表示256字節(jié);001,一個信用點表示512字節(jié);010,一個信用點表示IK字節(jié);011,一個信用點表示I字節(jié);100,一個信用點表示4K字節(jié);101,一個信用點表示8K字節(jié);110, 一個信用點表示16K字節(jié);111,一個信用點表示31字節(jié)。當互聯(lián)網(wǎng)絡(luò)的帶寬較大、數(shù)據(jù)傳輸速率較高時,可選擇較大的信用點,相反的情況則可以選擇較小的信用點。具體地,當選擇111時表示一個信用點代表3 字節(jié),確定VoQ 的數(shù)據(jù)量為320K字節(jié)時,為VoQ預分配的信用就是10個信用點。信用權(quán)重配置好后存放在信用配置寄存器中,如圖11所示,信用配置寄存器的長度為32bit,0 Mbit供上行信用調(diào)度模塊72使用,16 31bit供下行信用調(diào)度模塊73 使用;其中,O !Bbit存放信用權(quán)重信息,3 7bit為保留位,8 Mbit存放預設(shè)的信用請求時間間隔信息,16 2!3bit存放預設(shè)的信用授權(quán)時間間隔信息,24 31bit存放預設(shè)的信用授權(quán)超時信息。類似地,對信用請求時間間隔、信用授權(quán)時間間隔、信用授權(quán)超時這三個參數(shù)預先配置好后,也存放在信用配置寄存器。相比于現(xiàn)有技術(shù)中,僅根據(jù)VoQ中的水線(即VoQ中存儲數(shù)據(jù)的最大閾值和最小閾值)來判斷是否要向目的PP發(fā)送數(shù)據(jù),本發(fā)明實施具體應(yīng)用場景中的處理能更準確地了解VoQ中存儲數(shù)據(jù)的數(shù)據(jù)量,有助于目的FPGA更準確地了解上行路徑上的數(shù)據(jù)傳輸狀況。(2)信用請求上行信用調(diào)度模塊72將VoQ的AVC通過信用請求發(fā)送給目的FPGA,圖12示出了上行信用調(diào)度模塊72發(fā)送信用請求的處理過程步驟121、初始化結(jié)束后,向上行緩存管理模塊71獲取上行緩存管理模塊71中16 個VoQ緩存的數(shù)據(jù)量;步驟122、根據(jù)數(shù)據(jù)量信息及預選的信用權(quán)重,為各個VoQ生成預分配信用AVC ;步驟123、根據(jù)為各個VOQ生成的AVC,為各個VoQ生成包括該AVC信用請求(如圖13所示); 步驟124、將信用請求發(fā)送給與VoQ相應(yīng)的目的FPGA (目的FPGA與對應(yīng)的目的PP 相連接)。圖13示出了信用請求的數(shù)據(jù)結(jié)構(gòu),如圖13所示一個信用請求包括對上行緩存管理模塊71中16個VoQ的信用請求信息,對每個VoQ的信用請求信息為32bit,16個信用請求信息一共是512bit ;每個信用請求信息包括VoQ ID和AVC,32bit中的O 21bit為 AVC, 22 31bit 為 VoQ ID。(3)接收信用授權(quán)上行信用調(diào)度模塊72接收來自各個目的FPGA的信用授權(quán),從信用授權(quán)中分析提取各個目的FPGA為各個VoQ分配的信用點數(shù)(CG),保存在本地信用授權(quán)寄存器(VoQ Credit Register,簡稱VCR)中,覆蓋上次接收到的信用點數(shù)。具體地,對應(yīng)于16個VoQ,上行信用調(diào)度模塊72中配置有16個信用授權(quán)寄存器,該寄存器中僅用于存放與該寄存器相對于的VoQ的信用點數(shù)。圖14中示出了信用調(diào)度模塊接收信用授權(quán)的處理過程,包括如下過程步驟141、判斷等待目的FPGA發(fā)送的信用授權(quán)的時間是否超時,如果超時,則繼續(xù)等待,否則,處理進行到步驟142 ;步驟142、收得到信用授權(quán)后,將信用授權(quán)更新到信用授權(quán)寄存器VCR中,作為VoQ 數(shù)據(jù)調(diào)度的依據(jù),信用授權(quán)中包括有信用點數(shù)、以及用于指示發(fā)送數(shù)據(jù)的開始時間、結(jié)束時間;步驟143、判斷接收信用授權(quán)的時間間隔是否到達,時間到達時,處理返回步驟 141,否則繼續(xù)等待。具體地,信用授權(quán)寄存器VCR僅存儲目的FPGA發(fā)送的信用授權(quán)信息,對應(yīng)于16個 VoQ,上行信用調(diào)度模塊72中配置有16個信用授權(quán)寄存器VCR。(4)數(shù)據(jù)調(diào)度圖15示出了上行信用調(diào)度模塊72根據(jù)接收到的信用授權(quán)生成數(shù)據(jù)輸出指令的工作流程,該流程包括步驟151、上行信用調(diào)度模塊72接收到信用授權(quán)之時、定時器對發(fā)送數(shù)據(jù)的開始時間進行計時,定時器到達信用授權(quán)中指定的開始時間之時,表示本上行路徑可以開始發(fā)送數(shù)據(jù),處理進行到步驟152 ;否則繼續(xù)等待;步驟152、輪詢16個信用授權(quán)寄存器VCR,如果為空,表示數(shù)據(jù)發(fā)送完畢,則回到步驟151 ;如果非空,則處理進行到步驟153 ;
步驟153、讀取信用授權(quán)寄存器VCR中的信用點數(shù)并附加VoQ ID形成數(shù)據(jù)輸出指令;步驟154、將數(shù)據(jù)輸出指令發(fā)送給上行緩存管理模塊71,用于指示上行緩存管理模塊71輸出數(shù)據(jù);步驟155、判斷定時器是否到達結(jié)束時間,如果沒有到達,處理返回步驟152 ;否貝IJ,處理返回步驟151。圖16示出了上行信用調(diào)度模塊72將來自上行緩存管理模塊71的數(shù)據(jù)發(fā)送到目的FPGA的處理流程,該處理流程包括如下步驟步驟161、接收上行緩存管理模塊71發(fā)送的數(shù)據(jù);步驟162、緩存接收到的數(shù)據(jù);步驟163、將緩存的數(shù)據(jù)通過互聯(lián)網(wǎng)絡(luò)發(fā)送到目的FPGA。3、下行信用調(diào)度模塊73下行信用調(diào)度模塊73的工作原理可簡述為接收來自源FPGA的信用請求,根據(jù)信用請求中的AVC、下行緩存管理模塊74的可進行緩存的緩存空間信息、下行緩存管理模塊 74中OQ的優(yōu)先級信息來為源FPGA分配信用點數(shù),根據(jù)為源數(shù)據(jù)分配的信用點數(shù)來為其分配時間片,將分配的信用點數(shù)和時間片攜帶在信用授權(quán)中發(fā)送給源FPGA ;在接收到來自源 FPGA發(fā)送的數(shù)據(jù)后,將該數(shù)據(jù)發(fā)送給下行緩存管理模塊74。這樣,可將下行信用調(diào)度模塊73的功能分為兩部分信用管理和數(shù)據(jù)轉(zhuǎn)發(fā)。其中, 信用管理包括信用分配和時間片分配。下面對下行信用調(diào)度模塊73的功能進行詳細描述。(1)信用分配圖17示出了下行信用模塊73進行信用分配的流程圖,如圖17所示,該處理流程包括如下步驟步驟171、接收來自N個源輸出傳輸裝置的信用請求,收集N個源輸出傳輸裝置的 VoQ 的 AVC ;步驟172、查看OQ的流控信息,如果某個OQ的流控有效(即表示該OQ中的數(shù)據(jù)已滿,要進行流量控制),則不為與該OQ對應(yīng)的源FPGA分配信用,也即與該OQ對應(yīng)的源FPGA 不能向該數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù);如果OQ沒有設(shè)置流控,則讀取該OQ空閑的存儲容量信息;步驟173、從OQ優(yōu)先級配置寄存器中讀取預先為各個OQ配置的優(yōu)先級信息;步驟174、根據(jù)OQ空閑的存儲容量信息和優(yōu)先級信息,確定OQ可接收數(shù)據(jù)的數(shù)據(jù)量(或相應(yīng)地稱為可接收數(shù)據(jù)的緩存空間),要保證優(yōu)先級高的OQ優(yōu)先分配信用、優(yōu)先級相同的OQ按照權(quán)重分配信用;步驟175、根據(jù)確定的OQ可接收數(shù)據(jù)的數(shù)據(jù)量、和N個源FPGA的AVCjf OQ可接收數(shù)據(jù)的數(shù)據(jù)量按照N個AVC之間的比例、劃分為N個信用,每個信用中都包括若干個信用點,這N個信用分別與N個AVC向?qū)?yīng);步驟176、將劃分的N個信用中各自包含的信用點分別做為分配給N個源FPGA的
信用點數(shù)。優(yōu)選地,本發(fā)明實施例為OQ設(shè)置了 16個優(yōu)先級,對OQ預設(shè)的優(yōu)先級存儲在優(yōu)先級寄存器中,優(yōu)先級寄存器的數(shù)據(jù)結(jié)構(gòu)如圖8所示,該數(shù)據(jù)結(jié)構(gòu)參見前述。在根據(jù)優(yōu)先級為OQ分配接收數(shù)據(jù)的數(shù)據(jù)量時,如果16個優(yōu)先級的優(yōu)先級別都設(shè)定為一樣,權(quán)重設(shè)置也一樣,則采用公平輪轉(zhuǎn)隊列(Round Robin,簡稱RR)策略,各個優(yōu)先級公平分配數(shù)據(jù)量;如果16個優(yōu)先級的優(yōu)先級別都設(shè)定為一樣,而權(quán)重設(shè)定不一樣,則采用加權(quán)公平輪轉(zhuǎn)隊列(Weight Round Robin,簡稱WRR)策略,按照權(quán)重分配數(shù)據(jù)量;如果16 個優(yōu)先級的優(yōu)先級別設(shè)定為遞增或者遞減,則各個優(yōu)先級的權(quán)重可以忽略,則采用固定優(yōu)先級隊列(Strict Priority,簡稱SP)策略,按照優(yōu)先級依次分配數(shù)據(jù)量;如果16個OQ的優(yōu)先級是按照具體需要來設(shè)定的,則按照設(shè)定的優(yōu)先級別進行數(shù)據(jù)量分配,如果優(yōu)先級別相同,則按照權(quán)重進行分配。(2)時間片分配圖18示出了下行信用模塊73進行時間片分配的流程圖,如圖18所示,該處理流程包括如下步驟步驟181、根據(jù)為各個OQ確定的接收數(shù)據(jù)的數(shù)據(jù)量,確定向OQ發(fā)送數(shù)據(jù)的時間段;步驟182、按照下行信用調(diào)度模塊73為N個源FPGA確定的信用點數(shù)之間的比例, 將確定的時間段分為多個子時間片;步驟183、將劃分的多個子時間片分別作為與OQ相對應(yīng)的N個源FPGA的數(shù)據(jù)輸出時間片。通過上述處理,為各個源FPGA分配發(fā)送數(shù)據(jù)的時間片,能夠在目的FPGA上依次接收來自不同F(xiàn)PGA的數(shù)據(jù),從而能夠避免瞬時的突發(fā)數(shù)據(jù)對下行路徑接口的壓力。一種優(yōu)選的方式,時間片機制中還包括定時機制,如圖19所示。定時機制的目的在于,使源FPGA根據(jù)預設(shè)的時間發(fā)送信用請求,目的FPGA按照預設(shè)的時間發(fā)送信用授權(quán), 這樣能使目的FPGA穩(wěn)定、持續(xù)的接收到源FPGA發(fā)送的信用請求。優(yōu)選地,對各個FPGA預設(shè)的發(fā)送信用請求的時間相同,預設(shè)的發(fā)送信用授權(quán)的時間也相同,這樣使各個目的FPGA 能夠大致上在同一時間接收到來自各個源FPGA的信用請求,使各個源FPGA能夠大致上在同一時間接收到各個目的FPGA的信用授權(quán),這樣能夠在源FPGA側(cè)、保證各個數(shù)據(jù)輸出時間是連續(xù)、不重疊的,能夠避免發(fā)送時間的重疊而導致發(fā)送的數(shù)據(jù)的重疊。具體地,下行信用調(diào)度模塊73根據(jù)預先配置的信用授權(quán)時間間隔(如圖11所示)、在該信用授權(quán)時間間隔內(nèi)向源FPGA發(fā)送信用授權(quán);上行信用調(diào)度模塊72在接收到信用授權(quán)時開始計時,到達預設(shè)的信用請求時間間隔(如圖11所示)時向目的FPGA發(fā)送信用請求。通過圖19的這種定時機制,能夠?qū)崿F(xiàn)各個信用請求是依據(jù)信用授權(quán)的接收來發(fā)送;如果互聯(lián)網(wǎng)絡(luò)暢通,就可以保證兩次信用授權(quán)之間,只接收到一次某個上行路徑的信用請求,確保信息的準確性;如果互聯(lián)網(wǎng)絡(luò)不暢通,則某個擁塞的上行路徑也只會發(fā)送一次信用請求,從而也有利于信用分配操作;通過設(shè)置合理的信用請求時間間隔(具體根據(jù)信用授權(quán)時間間隔來設(shè)置),就可以使得信用授權(quán)的時間點和信用請求的時間點拉開時間間隔, 從而使得下行路徑在進行授權(quán)操作的時候,能夠盡可能地接收到各個上行路徑的信用請求。一種優(yōu)選的方式,時間片機制中還包括對時操作,即源FPGA的上行調(diào)度模塊在接收到信用授權(quán)(或稱授權(quán)指令)之時,開始對目的FPGA指定的時間片進行計時,這樣能夠協(xié)調(diào)各個上行路徑之間發(fā)送數(shù)據(jù)的操作。但是從圖19中可以看出,這種對時還是存在一定的偏差,因為下行路徑到各個上行路徑的信用授權(quán)的傳輸延時各不相同。不過在本發(fā)明實施例中,將信用請求和信用授權(quán)信息的傳輸優(yōu)先級設(shè)定為最高,因此這種偏差基本都可以保持在10微妙以內(nèi)。這樣,這種偏差就是可以接收的,實現(xiàn)了各個上行路徑傳輸步調(diào)基本一致,可能在各個上行路徑在時間片的交界處會有一些數(shù)據(jù)傳輸?shù)闹丿B,不過這種重疊不會超過10微妙,形成的突發(fā)數(shù)據(jù)量十分有限,不會引起路徑擁塞。4、下行緩存管理模塊74下行緩存管理模塊74實現(xiàn)對OQ的管理,它的功能包括接收來自下行信用調(diào)度 73的數(shù)據(jù)幀,并緩存在OQ中;將OQ中的數(shù)據(jù)讀出,發(fā)送給目的PP ;形成各個OQ的數(shù)據(jù)水線,并形成流控信息提供給下行信用調(diào)度模塊73。綜上所述,本發(fā)明實施例通過設(shè)置數(shù)據(jù)傳輸裝置,應(yīng)用了改進了的“信用機制”來解決多對一問題和隊頭問題。與源包處理器相連接的源數(shù)據(jù)傳輸裝置,將從源包處理器發(fā)送過來的數(shù)據(jù)緩存后,將該數(shù)據(jù)的數(shù)據(jù)量信息發(fā)送給與目的包處理器相連接的目的數(shù)據(jù)傳輸裝置;目的數(shù)據(jù)傳輸裝置根據(jù)接收到的該數(shù)據(jù)量信息和目的數(shù)據(jù)傳輸裝置中空閑的數(shù)據(jù)存儲空閑信息、為源數(shù)據(jù)傳輸裝置指定發(fā)送數(shù)據(jù)的數(shù)據(jù)量,即目的數(shù)據(jù)傳輸裝置為源數(shù)據(jù)傳輸裝置分配數(shù)據(jù)傳輸?shù)摹靶庞命c”;源數(shù)據(jù)傳輸裝置根據(jù)目的數(shù)據(jù)傳輸裝置為其指定的數(shù)據(jù)量來發(fā)送數(shù)據(jù)。當多個源數(shù)據(jù)傳輸裝置向同一個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)時,能夠根據(jù)目的數(shù)據(jù)傳輸裝置的實際的數(shù)據(jù)存儲狀況來發(fā)送相應(yīng)數(shù)據(jù)量的數(shù)據(jù),就不會因為多個源數(shù)據(jù)裝置將全部數(shù)據(jù)發(fā)送給目的數(shù)據(jù)傳輸裝置、而造成目的包處理器側(cè)的數(shù)據(jù)擁塞,從而能夠解決現(xiàn)有技術(shù)中的多對一問題;并且,當目的包處理器側(cè)解決了多對一問題后,即目的包處理器以及互聯(lián)網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)不形成擁塞后,源包處理器和源數(shù)據(jù)傳輸裝置相應(yīng)地能夠順暢地將數(shù)據(jù)發(fā)送給目的包處理器,這樣能夠在很大程度上減輕源包處理器側(cè)的隊頭問題。同理,當多個源包處理器向多個目的包處理器發(fā)送數(shù)據(jù)時,各個源數(shù)據(jù)傳輸裝置能夠按照各個目的數(shù)據(jù)傳輸裝置實際的數(shù)據(jù)處理狀況來發(fā)送數(shù)據(jù),從而能夠解決現(xiàn)有技術(shù)中的多對一問題的和隊頭問題,具有良好的實施效果。在本發(fā)明實施例的優(yōu)選方案中,還應(yīng)用了“時間片機制”。在信用機制的基礎(chǔ)上,目的數(shù)據(jù)傳輸裝置還為源數(shù)據(jù)傳輸裝置指定發(fā)送數(shù)據(jù)的時間片,源數(shù)據(jù)按照目的數(shù)據(jù)傳輸裝置指定的時間片來發(fā)送指定數(shù)據(jù)量的數(shù)據(jù)。當同一個源數(shù)據(jù)傳輸裝置向多個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)時,按照各個目的數(shù)據(jù)傳輸裝置指定的時間片和數(shù)據(jù)量分別向相應(yīng)的目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù),能夠形成源數(shù)據(jù)傳輸裝置有序、交錯地向各個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)的情景,即使源數(shù)據(jù)傳輸裝置與某個目的數(shù)據(jù)傳輸裝置的路徑上存在數(shù)據(jù)擁塞,也不會影響到與其他目的數(shù)據(jù)傳輸裝置的數(shù)據(jù)正常發(fā)送,這樣就能夠在源數(shù)據(jù)傳輸裝置側(cè)避免數(shù)據(jù)擁塞問題,從而能夠解決相關(guān)技術(shù)中隊頭問題。并且,在目的數(shù)據(jù)傳輸裝置側(cè),能夠按照時間片有序、依次接收來自各個源數(shù)據(jù)傳輸裝置按照指定數(shù)據(jù)量發(fā)送的數(shù)據(jù),從而能夠更有效地解決多對一的問題。同理,當多個源包處理器向多個目的包處理器發(fā)送數(shù)據(jù)時, 各個源數(shù)據(jù)傳輸裝置能夠按照各個目次數(shù)據(jù)傳輸裝置指定的時間片、有序交錯地向各個目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù),從而能夠解決現(xiàn)有技術(shù)中的多對一問題的和隊頭問題,具有良好的實施效果。
并且,相比于現(xiàn)有技術(shù),本發(fā)明實施例提供的方案綜合利用改進了的信用機制、時間片機制、以及流控機制,能夠提高傳輸資源的利用率、提高傳輸效率、提升系統(tǒng)的處理效率。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)傳輸裝置,其特征在于,所述數(shù)據(jù)傳輸裝置的一端連接至包處理器,另一端連接至互聯(lián)網(wǎng)絡(luò),所述數(shù)據(jù)傳輸裝置包括緩存管理單元、信用調(diào)度單元;其中,所述緩存管理單元,用于接收并緩存來自包處理器的數(shù)據(jù),確定該緩存的數(shù)據(jù)的數(shù)據(jù)量信息,并將確定的數(shù)據(jù)量信息發(fā)送給所述信用調(diào)度單元;根據(jù)來自所述信用調(diào)度單元的數(shù)據(jù)量指示信息,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù)、并將讀取的該數(shù)據(jù)通過所述信用調(diào)度單元基于互聯(lián)網(wǎng)絡(luò)發(fā)送給與該數(shù)據(jù)對應(yīng)的目的數(shù)據(jù)傳輸裝置;所述信用調(diào)度單元,用于根據(jù)來自所述緩存管理單元的數(shù)據(jù)量信息,生成包括該數(shù)據(jù)量信息的數(shù)據(jù)量請求,并將該數(shù)據(jù)量請求通過互聯(lián)網(wǎng)絡(luò)發(fā)送給所述緩存管理單元緩存的該數(shù)據(jù)的目的數(shù)據(jù)傳輸裝置;通過互聯(lián)網(wǎng)絡(luò)接收來自目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息,將該數(shù)據(jù)量指示信息發(fā)送給所述緩存管理單元。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述緩存管理單元,具體用于將接收到的數(shù)據(jù)緩存到相應(yīng)的虛擬輸出數(shù)據(jù)隊列VoQ 中,確定各個VoQ中緩存的數(shù)據(jù)的數(shù)據(jù)量信息,并將確定的各個VoQ的數(shù)據(jù)量信息發(fā)送給所述信用調(diào)度單元;所述信用調(diào)度單元,具體用于根據(jù)接收到的各個VoQ的數(shù)據(jù)量信息,對各個VoQ生成包括相應(yīng)VoQ的數(shù)據(jù)量信息的數(shù)據(jù)量請求,將對各個VoQ生成的數(shù)據(jù)量請求發(fā)送給相應(yīng)的各個VoQ的目的數(shù)據(jù)傳輸裝置;所述信用調(diào)度單元,具體用于接收來自各個目的數(shù)據(jù)傳輸裝置的授權(quán)指令,所述授權(quán)指令中包括與目的數(shù)據(jù)傳輸裝置相應(yīng)的VoQ的數(shù)據(jù)量指示信息,并將接收到的各個VoQ的數(shù)據(jù)量指示信息發(fā)送給所述緩存管理單元;所述緩存管理單元,具體用于根據(jù)接收到的各個VoQ的數(shù)據(jù)量指示信息,從各個VoQ中讀取與對應(yīng)的數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù),并將從各個VoQ中讀取的數(shù)據(jù)通過所述信用調(diào)度單元發(fā)送給相應(yīng)的各個目的數(shù)據(jù)傳輸裝置。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述信用調(diào)度單元,具體用于接收來自目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中還包括數(shù)據(jù)輸出時間片信息;在接收到該授權(quán)指令時,根據(jù)所述數(shù)據(jù)輸出時間片信息、對發(fā)送所述緩存管理單元讀取的數(shù)據(jù)的時間片進行計時,在該數(shù)據(jù)輸出時間片到來之時,向目的數(shù)據(jù)傳輸裝置發(fā)送所述緩存管理單元讀取的數(shù)據(jù);根據(jù)預設(shè)的數(shù)據(jù)量請求時間片信息、對發(fā)送數(shù)據(jù)量請求的時間片進行計時,在該數(shù)據(jù)量請求時間片到來之時,向目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)量請求。
4.一種數(shù)據(jù)傳輸方法,其特征在于,包括接收并緩存來自包處理器的數(shù)據(jù),確定該緩存的數(shù)據(jù)的數(shù)據(jù)量信息; 根據(jù)確定得到的數(shù)據(jù)量信息生成包括該數(shù)據(jù)量信息的數(shù)據(jù)量請求,將生成的數(shù)據(jù)量請求發(fā)送給緩存的數(shù)據(jù)的目的數(shù)據(jù)傳輸裝置;接收來自所述目的數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息; 根據(jù)該數(shù)據(jù)量指示信息,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù); 將讀取的該數(shù)據(jù)發(fā)送給所述目的數(shù)據(jù)傳輸裝置。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,緩存來自包處理器的數(shù)據(jù)、確定該緩存的數(shù)據(jù)的數(shù)據(jù)量信息,根據(jù)確定得到的數(shù)據(jù)量CN 102546098 A信息生成數(shù)據(jù)量請求,將生成的數(shù)據(jù)量請求發(fā)送給緩存的所述數(shù)據(jù)的目的數(shù)據(jù)傳輸裝置, 具體包括根據(jù)接收到的數(shù)據(jù)中攜帶的虛擬數(shù)據(jù)隊列VoQ標識,將該數(shù)據(jù)緩存到相應(yīng)的VoQ中; 確定各個VoQ中緩存的數(shù)據(jù)的數(shù)據(jù)量信息; 對各個VoQ生成包括所確定的相應(yīng)的數(shù)據(jù)量信息的數(shù)據(jù)量請求; 將對各個VoQ生成的數(shù)據(jù)量請求發(fā)送給相應(yīng)的各個VoQ的目的數(shù)據(jù)傳輸裝置; 接收來自所述目的數(shù)據(jù)傳輸裝置的授權(quán)指令,在緩存的數(shù)據(jù)中讀取與該數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù),并將讀取的該數(shù)據(jù)發(fā)送給所述目的數(shù)據(jù)傳輸裝置,具體包括接收來自各個目的數(shù)據(jù)傳輸裝置的授權(quán)指令,所述授權(quán)指令中包括對與目的數(shù)據(jù)傳輸裝置對應(yīng)的VoQ的數(shù)據(jù)量指示信息;根據(jù)接收到的對各個VoQ的數(shù)據(jù)量指示信息,從各個VoQ中讀取與對應(yīng)的數(shù)據(jù)量指示信息相應(yīng)的數(shù)據(jù);將從各個VoQ中讀取的數(shù)據(jù)發(fā)送給各個對應(yīng)的目的數(shù)據(jù)傳輸裝置。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括接收到的所述授權(quán)指令中還包括數(shù)據(jù)輸出時間片信息;在接收到該授權(quán)指令時,根據(jù)所述數(shù)據(jù)輸出時間片信息、對發(fā)送按照數(shù)據(jù)量指示信息讀取的數(shù)據(jù)的時間片進行計時, 在該數(shù)據(jù)輸出時間片到來之時,向目的數(shù)據(jù)傳輸裝置發(fā)送讀取的數(shù)據(jù);根據(jù)預設(shè)的數(shù)據(jù)量請求時間片信息、對發(fā)送數(shù)據(jù)量請求的時間片進行計時,在該數(shù)據(jù)量請求時間片到來之時,向目的數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)量請求。
7.一種數(shù)據(jù)傳輸裝置,其特征在于,所述數(shù)據(jù)傳輸裝置的一端連接至包處理器,另一端連接至互聯(lián)網(wǎng)絡(luò),所述數(shù)據(jù)傳輸裝置包括信用調(diào)度單元、緩存管理單元,其中;所述信用調(diào)度單元,用于通過互聯(lián)網(wǎng)絡(luò)接收來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括數(shù)據(jù)量信息;獲取所述緩存管理單元中空閑的緩存空間信息;根據(jù)接收到的所述數(shù)據(jù)量請求中的數(shù)據(jù)量信息和獲取到的所述緩存管理單元中空閑的緩存空間信息生成授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息;將所述授權(quán)指令通過互聯(lián)網(wǎng)絡(luò)發(fā)送給所述源數(shù)據(jù)傳輸裝置;通過互聯(lián)網(wǎng)絡(luò)接收來自所述源數(shù)據(jù)傳輸裝置按照所述授權(quán)指令中的數(shù)據(jù)量指示信息發(fā)送來的數(shù)據(jù),并將接收到的該數(shù)據(jù)發(fā)送給緩存管理單元;所述緩存管理單元,接收并緩存來自所述信用調(diào)度單元的數(shù)據(jù);將該數(shù)據(jù)發(fā)送給包處理器。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述信用調(diào)度單元,具體用于接收來自各個源數(shù)據(jù)傳輸裝置的對其中的VoQ的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括有VoQ的數(shù)據(jù)量信息;獲取所述緩存管理模塊中各個數(shù)據(jù)輸出隊列OQ中空閑存儲空間信息;根據(jù)接收到的各個源數(shù)據(jù)傳輸裝置的VoQ的數(shù)據(jù)量信息、獲取的各個OQ的空閑存儲空間信息,以及對各個 OQ預設(shè)的優(yōu)先級信息,生成對各個源數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括指示各個源數(shù)據(jù)傳輸裝置中輸出數(shù)據(jù)的數(shù)據(jù)量指示信息。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述信用調(diào)度單元,具體根據(jù)所述緩存管理單元中各個OQ中空閑的緩存空間信息、以及對各個OQ預設(shè)的優(yōu)先級信息,確定各個OQ 接收數(shù)據(jù)的數(shù)據(jù)量;按照確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量、與相應(yīng)的源數(shù)據(jù)傳輸裝置中 VoQ的數(shù)據(jù)量信息所指示的數(shù)據(jù)量的比例,確定與各個OQ相對應(yīng)的各個源數(shù)據(jù)傳輸裝置中的VoQ發(fā)送數(shù)據(jù)的數(shù)據(jù)量,并將確定的數(shù)據(jù)量作為數(shù)據(jù)量指示信息攜帶在授權(quán)指令中發(fā)送給相應(yīng)的各個源數(shù)據(jù)傳輸裝置。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述信用調(diào)度單元具體還用于根據(jù)確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量,為各個源數(shù)據(jù)傳輸裝置分配發(fā)送數(shù)據(jù)的數(shù)據(jù)輸出時間片,將分配的數(shù)據(jù)輸出時間片信息攜帶在所述授權(quán)指令中;根據(jù)預設(shè)的授權(quán)指令發(fā)送時間片信息,對發(fā)送授權(quán)指令的時間進行計時,在該授權(quán)指令發(fā)送時間片到來時,給向各個源數(shù)據(jù)傳輸裝置發(fā)送授權(quán)指令。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述信用調(diào)度單元具體還用于根據(jù)確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量,為當前OQ確定向該OQ發(fā)送數(shù)據(jù)的時間段,按照為與該OQ對應(yīng)的各個源數(shù)據(jù)傳輸裝置所確定的數(shù)據(jù)量之間的比例關(guān)系、將確定的時間段劃分為多個子時間片,將劃分的該多個子時間片分別作為與當前OQ相對應(yīng)的各個源數(shù)據(jù)傳輸裝置的數(shù)據(jù)輸出時間片。
12.—種數(shù)據(jù)傳輸方法,其特征在于,包括接收來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括數(shù)據(jù)量信息;獲取空閑的緩存空間信息;根據(jù)接收到的所述數(shù)據(jù)量請求中的數(shù)據(jù)量信息和獲取到的空閑的緩存空間信息生成授權(quán)指令,該授權(quán)指令中包括數(shù)據(jù)量指示信息;將生成的授權(quán)指令發(fā)送給源數(shù)據(jù)傳輸裝置;接收來自源數(shù)據(jù)傳輸裝置根據(jù)所述授權(quán)指令中的數(shù)據(jù)量指示信息發(fā)送來的數(shù)據(jù),并緩存接收到的該數(shù)據(jù);將緩存的數(shù)據(jù)發(fā)送給包處理器。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,接收來自源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,獲取空閑的緩存空間信息,根據(jù)接收到的所述數(shù)據(jù)量請求中的數(shù)據(jù)量信息和獲取到的空閑的緩存空間信息生成授權(quán)指令,將生成的授權(quán)指令發(fā)送給源數(shù)據(jù)傳輸裝置,包括接收來自各個源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量請求,該數(shù)據(jù)量請求中包括有源數(shù)據(jù)傳輸裝置的VoQ中的數(shù)據(jù)量信息;獲取各個數(shù)據(jù)輸出隊列OQ中空閑存儲空間信息;根據(jù)接收到的各個源數(shù)據(jù)傳輸裝置的VoQ的數(shù)據(jù)量信息、獲取的各個OQ的空閑存儲空間信息,以及對各個 OQ預設(shè)的優(yōu)先級信息,生成對各個源數(shù)據(jù)傳輸裝置的授權(quán)指令,該授權(quán)指令中包括指示源數(shù)據(jù)傳輸裝置輸出數(shù)據(jù)的數(shù)據(jù)量指示信息;將對各個源數(shù)據(jù)傳輸裝置的授權(quán)指令發(fā)送給相應(yīng)的各個源數(shù)據(jù)傳輸裝置。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,生成對各個源數(shù)據(jù)傳輸裝置的授權(quán)指令包括根據(jù)各個OQ中空閑的緩存空間信息、以及對各個OQ預設(shè)的優(yōu)先級信息,確定各個OQ 接收數(shù)據(jù)的數(shù)據(jù)量;按照確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量、與各個OQ對應(yīng)的源數(shù)據(jù)傳輸裝置的數(shù)據(jù)量信息所指示的數(shù)據(jù)量的比例,確定與各個OQ相對應(yīng)的源數(shù)據(jù)傳輸裝置發(fā)送數(shù)據(jù)的數(shù)據(jù)量,并將確定的數(shù)據(jù)量作為數(shù)據(jù)量指示信息攜帶在授權(quán)指令中。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述方法還包括根據(jù)確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量,為各個源數(shù)據(jù)傳輸裝置分配發(fā)送數(shù)據(jù)的數(shù)據(jù)輸出時間片,將分配的數(shù)據(jù)輸出時間片信息攜帶在所述授權(quán)指令中;根據(jù)預設(shè)的授權(quán)指令發(fā)送時間片信息,對發(fā)送授權(quán)指令的時間進行計時,在該授權(quán)指令發(fā)送時間片到來時,給向各個源數(shù)據(jù)傳輸裝置發(fā)送授權(quán)指令。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,為各個源數(shù)據(jù)傳輸裝置分配發(fā)送數(shù)據(jù)的數(shù)據(jù)輸出時間片包括根據(jù)確定的各個OQ接收數(shù)據(jù)的數(shù)據(jù)量,為當前OQ確定向該OQ發(fā)送數(shù)據(jù)的時間段,按照為與該OQ對應(yīng)的各個源數(shù)據(jù)傳輸裝置所確定的數(shù)據(jù)量之間的比例關(guān)系、將確定的時間段劃分為多個子時間片,將劃分的該多個子時間片分別作為與當前OQ相對應(yīng)的各個源數(shù)據(jù)傳輸裝置的數(shù)據(jù)輸出時間片。
17.一種數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括如權(quán)利要求1至3中任一項所述的數(shù)據(jù)傳輸裝置;和,如權(quán)利要求7至11中任一項所述的數(shù)據(jù)傳輸裝置。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)傳輸裝置、方法及系統(tǒng),其中,該系統(tǒng)包括上行緩存管理單元、上行信用調(diào)度單元、下行信用調(diào)度單元、下行緩存管理單元;上行緩存管理單元的一端和下行緩存管理單元的一端連接至包處理器,上行信用調(diào)度單元的一端和下行信用調(diào)度單元的一端連接至互聯(lián)網(wǎng)絡(luò)。根據(jù)本發(fā)明的源數(shù)據(jù)傳輸裝置能夠按照目的數(shù)據(jù)傳輸裝置指示的數(shù)據(jù)量信息、向目的數(shù)據(jù)傳輸裝置發(fā)送響應(yīng)數(shù)據(jù)量的數(shù)據(jù),就能根據(jù)目的數(shù)據(jù)傳輸裝置的實際的數(shù)據(jù)處理狀況來發(fā)送數(shù)據(jù),不會造成目的包處理器端和互聯(lián)網(wǎng)絡(luò)上的數(shù)據(jù)擁塞,從而能夠解決數(shù)據(jù)傳輸中的多對一問題和隊頭問題,能夠提高傳輸資源的利用率、提高傳輸效率、提升系統(tǒng)的處理效率。
文檔編號H04L1/00GK102546098SQ201110421048
公開日2012年7月4日 申請日期2011年12月15日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者彭鼎祥 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司