本發(fā)明涉及一種通信技術(shù),尤其涉及一種數(shù)據(jù)轉(zhuǎn)發(fā)方法及裝置、電子設(shè)備。
背景技術(shù):
“手拉手”結(jié)構(gòu)的串聯(lián)網(wǎng)絡(luò)因其結(jié)構(gòu)簡單、布線方便,被廣泛地應(yīng)用在工業(yè)總線、現(xiàn)場會議總線等系統(tǒng)中。如圖1所示,圖1示出了“手拉手”串聯(lián)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖,數(shù)據(jù)通過各節(jié)點的轉(zhuǎn)發(fā)在鏈路中傳播。
工業(yè)總線、現(xiàn)場會議總線等應(yīng)用對網(wǎng)絡(luò)的實時性要求較高,必須在各節(jié)點實現(xiàn)低延時轉(zhuǎn)發(fā)才能保證數(shù)據(jù)傳輸?shù)膶崟r性。
如果圖1中所示的轉(zhuǎn)發(fā)節(jié)點的輸入數(shù)據(jù)流RX和輸出數(shù)據(jù)流TX的速率不相等,即存在漂移時,漂移累積就可能造成數(shù)據(jù)位錯誤。因此,漂移累積成為數(shù)據(jù)流轉(zhuǎn)發(fā)中的主要問題。
目前,解決漂移累積問題的一種方法是時鐘同步,即使用鎖相環(huán)使網(wǎng)絡(luò)中的所有節(jié)點的時鐘頻率同步,保證進(jìn)入與離開轉(zhuǎn)發(fā)節(jié)點的數(shù)據(jù)流的速率完全相等,直接消除漂移。第二種被廣泛使用的方法是存儲轉(zhuǎn)發(fā),即轉(zhuǎn)發(fā)節(jié)點接收并存儲一個上游數(shù)據(jù)幀,然后向下游轉(zhuǎn)發(fā),第二種方法是以大量的緩存空間來吸收漂移累積。
然而,上述第一種時鐘同步方法中,鎖相環(huán)電路的使用增加了設(shè)計的復(fù)雜度,也提高了硬件成本;且在“手拉手”串聯(lián)網(wǎng)絡(luò)中,如果各節(jié)點都向它的上游節(jié)點同步,形成逐級同步的結(jié)構(gòu),則越往后的鎖相環(huán)的穩(wěn)定性越差,尤其在較大型的串聯(lián)網(wǎng)絡(luò)中很容易引起不穩(wěn)定現(xiàn)象。
現(xiàn)有的第二種存儲轉(zhuǎn)發(fā)方法中,為了在長時間連續(xù)數(shù)據(jù)流轉(zhuǎn)發(fā)中吸收偏移累積,需要較深的緩存深度,造成較大的轉(zhuǎn)發(fā)延時。尤其在“手拉手”串聯(lián)網(wǎng)絡(luò)中各級轉(zhuǎn)發(fā)延時累積在一起,使網(wǎng)絡(luò)無法滿足實時性要求。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種數(shù)據(jù)轉(zhuǎn)發(fā)方法及裝置、電子設(shè)備,該方法可以保證數(shù)據(jù)轉(zhuǎn)發(fā)的正確性、實時性及穩(wěn)定性。
第一方面,本發(fā)明提供一種數(shù)據(jù)轉(zhuǎn)發(fā)裝置,包括:
用于接收輸入數(shù)據(jù)流RX的先入先出隊列FIFO;
與所述FIFO連接的且用于輸出數(shù)據(jù)流TX的移位寄存器;
所述FIFO和所述移位寄存器構(gòu)成用于數(shù)據(jù)轉(zhuǎn)發(fā)的緩存結(jié)構(gòu);該緩存結(jié)構(gòu)中的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流的速率差值在預(yù)設(shè)范圍內(nèi)。
可選地,所述裝置還包括:分別連接所述FIFO和所述移位寄存器的復(fù)位單元,
所述復(fù)位單元用于在所述FIFO溢出和/或所述移位寄存器耗盡時對所述FIFO和移位寄存器進(jìn)行復(fù)位。
可選地,所述裝置還包括:分別連接所述FIFO和所述移位寄存器的控制單元,
所述控制單元用于根據(jù)所述輸入數(shù)據(jù)流中的釋放信息確定所述緩存結(jié)構(gòu)中吸收漂移累積的時間。
另外,本發(fā)明還提供一種電子設(shè)備,包括上述任一所述的數(shù)據(jù)轉(zhuǎn)發(fā)裝置。
可選地,所述電子設(shè)備屬于手拉手結(jié)構(gòu)中的轉(zhuǎn)發(fā)設(shè)備。
第二方面,本發(fā)明提供一種基于上述任一所述的數(shù)據(jù)轉(zhuǎn)發(fā)裝置的數(shù)據(jù)轉(zhuǎn)發(fā)方法,包括:
在所述數(shù)據(jù)轉(zhuǎn)發(fā)裝置接收到輸入數(shù)據(jù)流時,所述FIFO根據(jù)所述輸入數(shù)據(jù)流中時鐘的高電平信息和低電平信息確定需要寫入的數(shù)據(jù),以及所述移位寄存器根據(jù)所述輸出數(shù)據(jù)流中時鐘的高電平信息和低電平信息緩沖處理FIFO中寫入的數(shù)據(jù),并將緩沖處理后的數(shù)據(jù)作為輸出數(shù)據(jù)流發(fā)送。
可選地,所述方法還包括:
在所述FIFO溢出時,所述數(shù)據(jù)轉(zhuǎn)發(fā)裝置丟棄當(dāng)前待轉(zhuǎn)發(fā)的數(shù)據(jù)幀,并執(zhí)行復(fù)位操作;
和/或,
在所述移位寄存器耗盡時,所述數(shù)據(jù)轉(zhuǎn)發(fā)裝置丟棄當(dāng)前待轉(zhuǎn)發(fā)的數(shù)據(jù)幀,并執(zhí)行復(fù)位操作。
可選地,所述方法還包括:
控制單元在所述FIFO接收到輸入數(shù)據(jù)流時,確定所述輸入數(shù)據(jù)流中是否包括釋放信息;
若包括,根據(jù)所述釋放信息對緩存結(jié)構(gòu)進(jìn)行釋放。
由上述技術(shù)方案可知,本發(fā)明的數(shù)據(jù)轉(zhuǎn)發(fā)裝置,通過設(shè)置FIFO和移位寄存器連接的緩存結(jié)構(gòu)對漂移累積進(jìn)行“吸收”和“釋放”,進(jìn)而可保證上述數(shù)據(jù)轉(zhuǎn)發(fā)裝置的低時延轉(zhuǎn)發(fā),同時保證轉(zhuǎn)發(fā)數(shù)據(jù)的實時性和穩(wěn)定性,提升用戶體驗。
附圖說明
圖1為現(xiàn)有技術(shù)中“手拉手”串聯(lián)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明一實施例提供的數(shù)據(jù)轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
圖3至圖5分別為本發(fā)明一實施例提供的數(shù)據(jù)轉(zhuǎn)發(fā)方法的示意圖;
圖6為本發(fā)明一實施例提供的數(shù)據(jù)轉(zhuǎn)發(fā)裝置中的緩沖結(jié)構(gòu)釋放間隔的示意圖。
具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進(jìn)一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
本發(fā)明實施例提供一種數(shù)據(jù)轉(zhuǎn)發(fā)裝置,如圖2所示,該數(shù)據(jù)轉(zhuǎn)發(fā)裝置包括:用于接收輸入數(shù)據(jù)流(RX)的FIFO(First Input First Output,先入先出隊列);和與所述FIFO連接的且用于輸出數(shù)據(jù)流(TX)的移位寄存器。
本實施例中的FIFO和所述移位寄存器構(gòu)成用于數(shù)據(jù)轉(zhuǎn)發(fā)的緩存結(jié)構(gòu);該緩存結(jié)構(gòu)中的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流的速率差值在預(yù)設(shè)范圍內(nèi)。
通常,緩存深度是不變的。操作人員可根據(jù)具體的應(yīng)用情況來調(diào)整使用的緩存結(jié)構(gòu)的緩存深度。
在一種可選的實現(xiàn)方式中,前述的數(shù)據(jù)轉(zhuǎn)發(fā)裝置還可包括:處理器;其中緩沖結(jié)構(gòu)中的FIFO和所述移位寄存器分別連接所述處理器??梢岳斫獾氖牵绻D(zhuǎn)發(fā)節(jié)點采用的是處理器芯片,則緩存結(jié)構(gòu)是處理器芯片中代碼實現(xiàn)的。
上述數(shù)據(jù)轉(zhuǎn)發(fā)裝置可實現(xiàn)低延時的數(shù)據(jù)流轉(zhuǎn)發(fā),能夠保證數(shù)據(jù)轉(zhuǎn)發(fā)的正確性、實時性及穩(wěn)定性。
以下集合圖3至圖5分別說明圖2所示的數(shù)據(jù)轉(zhuǎn)發(fā)裝置的具體使用方法。
如圖3所示,在圖3中輸入數(shù)據(jù)流和輸出數(shù)據(jù)流的速率相同。圖3中,RxData為接收數(shù)據(jù)流,它按照RxClk的節(jié)拍到達(dá)轉(zhuǎn)發(fā)節(jié)點,RxDv以高電平標(biāo)記幀數(shù)據(jù),低電平標(biāo)記幀間隔。
這里需要說明的是,圖中的TXCLK是由轉(zhuǎn)發(fā)節(jié)點(即本實施例中數(shù)據(jù)轉(zhuǎn)發(fā)裝置所屬的節(jié)點)本身產(chǎn)生的,轉(zhuǎn)發(fā)節(jié)點就是根據(jù)TXCLK的節(jié)拍來發(fā)送RxData的。
在RxData中A、B、C、D、E、F、G、H、I、J分別表示幀數(shù)據(jù)。TxData為輸出數(shù)據(jù)流,它按照TxClk的節(jié)拍離開轉(zhuǎn)發(fā)節(jié)點,Tx,En以高電平標(biāo)記幀數(shù)據(jù),低電平標(biāo)記幀間隔。
每RxClk的上升沿時,如果RxData為幀數(shù)據(jù),則將該數(shù)據(jù)寫入FIFO,圖中標(biāo)出了寫入FIFO中的幀數(shù)據(jù)的操作箭頭。
每TxClk下降沿時,將移位寄存器下移一位;并且如果此時FIFO中有幀數(shù)據(jù)則將該數(shù)據(jù)讀出并填入移位寄存器頂部。圖中3,將寫FIFO的操作以小箭頭標(biāo)記,且在圖中以文字標(biāo)出,讀FIFO的操作以小箭頭標(biāo)記。每次操作后緩存結(jié)構(gòu)中的數(shù)據(jù)情況發(fā)生變化,在圖3中以兩排列出,上排展示每次寫FIFO操作后的情況,下排展示每次移位操作后的情況。
RxData的幀數(shù)據(jù)到達(dá)轉(zhuǎn)發(fā)節(jié)點即本實施例中數(shù)據(jù)轉(zhuǎn)發(fā)裝置所屬的節(jié)點,則被寫入FIFO,然后從FIFO讀出并被填入移位寄存器頂部,再經(jīng)過三次移位后到達(dá)移位寄存器底部,TxData即取自移位寄存器底部的數(shù)據(jù),這個過程經(jīng)過了4個時鐘的時間,即轉(zhuǎn)發(fā)延時為4個時鐘。轉(zhuǎn)發(fā)延時由移位寄存器的深度決定,為保證較小的轉(zhuǎn)發(fā)延時,要設(shè)置較小的移位寄存器深度。
在圖3總僅示意給出的是四個時鐘,在其他實施例中并不限定移位寄存器的深度為四個時鐘,可根據(jù)實際需要調(diào)整。
圖3中RxClk與TxClk頻率相同,即進(jìn)入與離開轉(zhuǎn)發(fā)節(jié)點的數(shù)據(jù)流的速率相同,此時不存在數(shù)據(jù)流速率漂移及累積的情況。在圖3所示的實施例中,轉(zhuǎn)發(fā)的幀數(shù)據(jù)及幀間隔都保持完整。
為更好的理解圖2中的數(shù)據(jù)轉(zhuǎn)發(fā)裝置的數(shù)據(jù)轉(zhuǎn)發(fā)方法,以下對輸入數(shù)據(jù)流和輸出數(shù)據(jù)流的速率不相同的情況進(jìn)行詳細(xì)說明。
當(dāng)輸入數(shù)據(jù)流速率與輸出數(shù)據(jù)流速率不相等時,速率漂移累積后就會造成進(jìn)出數(shù)據(jù)流之間的錯位,該錯位被轉(zhuǎn)發(fā)節(jié)點中的數(shù)據(jù)轉(zhuǎn)發(fā)裝置的緩存結(jié)構(gòu)“吸收”從而保證轉(zhuǎn)發(fā)數(shù)據(jù)與輸入數(shù)據(jù)一致。
當(dāng)輸入數(shù)據(jù)速率較高時,漂移累積被緩存結(jié)構(gòu)中的FIFO吸收,表現(xiàn)為FIFO中累積數(shù)據(jù);當(dāng)輸出數(shù)據(jù)速率較高時,漂移累積被緩存結(jié)構(gòu)中的移位寄存器吸收,表現(xiàn)為移位寄存器的深度被壓縮。
圖4展示了輸入數(shù)據(jù)速率更高時的情況,即RxClk的頻率高于TxClk的頻率。此時寫FIFO的動作頻率略高于讀FIFO的動作頻率,累積后會出現(xiàn)連續(xù)兩次寫FIFO的動作。圖4中標(biāo)記第4次寫FIFO動作的箭頭出現(xiàn)在標(biāo)記第3次讀FIFO動作的箭頭之前,導(dǎo)致FIFO中多積累了一個數(shù)據(jù),即FIFO吸收了一次偏移累積。當(dāng)RxData的數(shù)據(jù)幀結(jié)束后,因為在幀間隔期間不向FIFO中寫入數(shù)據(jù),所以FIFO中積累的數(shù)據(jù)被直接讀出,即FIFO在數(shù)據(jù)幀期間吸收的漂移累積得以在幀間隔期間被釋放。此時,輸出數(shù)據(jù)流中的幀數(shù)據(jù)保持與輸入數(shù)據(jù)流一致,但是幀間隔被壓縮了,在圖4中表現(xiàn)為輸入數(shù)據(jù)流中長度為3的幀間隔在轉(zhuǎn)發(fā)數(shù)據(jù)流中被壓縮到長度為2。
進(jìn)一步地,圖5展示了輸入數(shù)據(jù)速率更低時的情況,即RxClk的頻率低于TxClk的頻率。此時寫FIFO的動作頻率略低于移位寄存器的移位動作頻率,累積后會出現(xiàn)連續(xù)兩次試圖讀FIFO的動作。圖5中標(biāo)記第4次試圖讀FIFO動作的讀FIFO的箭頭出現(xiàn)在標(biāo)記第4次寫FIFO動作的箭頭之前。第4次讀FIFO時,因為FIFO為空而無法讀出數(shù)據(jù),導(dǎo)致無法向移位寄存器頂部填入數(shù)據(jù),此時將移位寄存器壓縮一位,即將原來的次頂位作為新的頂位,如圖中下排第4個緩存結(jié)構(gòu)中將連接FIFO與移位寄存器的箭頭指向次頂位。這個“壓縮”的動作表示由移位寄存器吸收了一次漂移累積。當(dāng)RxData的數(shù)據(jù)幀結(jié)束后,將移位寄存器恢復(fù)到原深度,如圖5中下排第7個緩存結(jié)構(gòu)中將連接FIFO與移位寄存器的箭頭重新指向頂部,即移位寄存器在數(shù)據(jù)幀期間吸收的漂移累積得以在幀間隔期間被釋放。此時,輸出數(shù)據(jù)流中的幀數(shù)據(jù)保持與輸入數(shù)據(jù)流一致,幀間隔則被擴(kuò)展了,在圖5中表現(xiàn)為輸入數(shù)據(jù)中長度為3的幀間隔在轉(zhuǎn)發(fā)數(shù)據(jù)中被擴(kuò)展到長度為4。
“FIFO+移位寄存器”的緩存結(jié)構(gòu)能夠吸收兩個方向上的漂移累積在數(shù)據(jù)幀期間造成的錯位,在幀間隔期間將累積釋放,使緩存結(jié)構(gòu)復(fù)原以保持持續(xù)的緩沖能力。這個及時“釋放”的機(jī)制使得該緩存結(jié)構(gòu)僅以極少的緩存深度即可以保持長時間持續(xù)地緩沖能力,從而保證了極低的轉(zhuǎn)發(fā)延時。
在一種可選的實現(xiàn)方式中,上述圖2所示的數(shù)據(jù)轉(zhuǎn)發(fā)裝置還包括圖中未示出的分別連接FIFO和移位寄存器的復(fù)位單元,該復(fù)位單元用于在所述FIFO溢出和/或所述移位寄存器耗盡時對所述FIFO和移位寄存器進(jìn)行復(fù)位。
也就是說,在實際應(yīng)用中,“FIFO+移位寄存器”的緩存結(jié)構(gòu)依靠及時的“釋放”機(jī)制來保證持續(xù)的緩沖能力,如果緩存結(jié)構(gòu)長時間得不到釋放將會導(dǎo)致它失效,表現(xiàn)為FIFO溢出或移位寄存器耗盡,此時造成轉(zhuǎn)發(fā)幀數(shù)據(jù)出錯。即,F(xiàn)IFO發(fā)生溢出或移位寄存器耗盡后,對緩沖結(jié)構(gòu)復(fù)位,然后保持在復(fù)位狀態(tài),一直等到當(dāng)前的數(shù)據(jù)幀結(jié)束后,再開始正常的轉(zhuǎn)發(fā)后續(xù)數(shù)據(jù)幀。
緩存結(jié)構(gòu)在數(shù)據(jù)幀期間持續(xù)地吸收漂移累積,數(shù)據(jù)幀長度、緩存深度以及速率偏移程度三者之間相互限制。
例如,設(shè)數(shù)據(jù)幀長度為L,RxClk與TxClk的頻率偏差為P=|frxclk-ftxclk|/frxclk,緩存深度為H,則保證正確轉(zhuǎn)發(fā)數(shù)據(jù)流,則要求滿足關(guān)系H≥(L·P)。如圖4和圖5中,H=4,假設(shè)時鐘頻率偏差為P=20/106(即20ppm,對于常見的晶振,這是一個很寬松的指標(biāo)),則要求數(shù)據(jù)幀長度滿足L≤2×105,可見僅使用很小的緩存深度,無需對晶振的精度提出很高要求,即可保證對數(shù)據(jù)幀的正確轉(zhuǎn)發(fā)。
上述“FIFO+移位寄存器”的緩存結(jié)構(gòu)以及利用它“吸收”及“釋放”漂移累積的方式,是本發(fā)明能夠保證低轉(zhuǎn)發(fā)延時及持續(xù)緩沖能力的關(guān)鍵。
在第二種可選的實現(xiàn)方式中,上述圖2所示的數(shù)據(jù)轉(zhuǎn)發(fā)裝置還包括圖中未示出的分別連接FIFO和移位寄存器的控制單元,該控制單元可用于根據(jù)所述輸入數(shù)據(jù)流中的釋放信息確定所述緩存結(jié)構(gòu)中吸收漂移累積的時間。
可理解的是,緩沖結(jié)構(gòu)在數(shù)據(jù)幀期間吸收漂移累積以保證對數(shù)據(jù)幀的正確轉(zhuǎn)發(fā),在幀間隔期間釋放偏移累積使錯位發(fā)生在幀間隔期間,表現(xiàn)為幀間隔的長度被壓縮或擴(kuò)展。
然而,在某些應(yīng)用中對幀間隔也有要求,例如以太網(wǎng)規(guī)定最小幀間隔為96bit長度;另外,在較大規(guī)模的“手拉手”串聯(lián)網(wǎng)絡(luò)中,數(shù)據(jù)流要經(jīng)過多次轉(zhuǎn)發(fā),可能使某一段幀間隔在多次轉(zhuǎn)發(fā)中都被壓縮,最終導(dǎo)致該段幀間隔的長度縮短至零而使兩幀相連,導(dǎo)致該兩幀被破壞。
基于以上原因,本實施例設(shè)置有控制單元,用于控制緩存結(jié)構(gòu)“釋放”漂移累積的時機(jī),以保證在轉(zhuǎn)發(fā)時保證幀數(shù)據(jù)正確及幀間隔完整。
如圖6所示,標(biāo)示出了數(shù)據(jù)幀、幀間隔。另外在協(xié)議中規(guī)定一類特殊的幀“釋放幀”,圖中深灰色標(biāo)出釋放幀。以信號Release來指示“釋放幀”的持續(xù)時間,當(dāng)監(jiān)測到“釋放幀”幀頭后置高電平,“釋放幀”結(jié)束后恢復(fù)低電平。在Release=0期間,緩存結(jié)構(gòu)持續(xù)地吸收漂移累積,保證此期間內(nèi)的數(shù)據(jù)幀及幀間隔都被原樣轉(zhuǎn)發(fā);在Release=1期間,緩存結(jié)構(gòu)釋放漂移累積,這導(dǎo)致“釋放幀”長度被壓縮或擴(kuò)展,這正是“釋放幀”的作用。
“釋放幀”應(yīng)該有足夠的長度,以保證它能夠承受在多次轉(zhuǎn)發(fā)中都被壓縮的情況。兩個“釋放幀”之間的間隔為緩存結(jié)構(gòu)持續(xù)吸收漂移累積的時間,在圖6中以L標(biāo)示,根據(jù)上述給出的H≥(L·P)關(guān)系,它應(yīng)該滿足L≤(H/P),否則將超出緩存結(jié)構(gòu)的緩沖能力。
另外,本發(fā)明實施例還提供一種電子設(shè)備,該電子設(shè)備可包括上述任意實施例所述的數(shù)據(jù)轉(zhuǎn)發(fā)裝置。該電子設(shè)備可為上述的轉(zhuǎn)發(fā)節(jié)點。
通常,該電子設(shè)備可屬于手拉手結(jié)構(gòu)中的轉(zhuǎn)發(fā)設(shè)備及轉(zhuǎn)發(fā)節(jié)點。
根據(jù)本發(fā)明實施例的第三方面,本發(fā)明實施例還提供一種基于上述任一實施例的數(shù)據(jù)轉(zhuǎn)發(fā)方法,該數(shù)據(jù)轉(zhuǎn)發(fā)方法包括下述的圖中未示出的步驟A01和A02:
A01、在所述數(shù)據(jù)轉(zhuǎn)發(fā)裝置接收到輸入數(shù)據(jù)流時,所述FIFO根據(jù)所述輸入數(shù)據(jù)流中時鐘的高電平信息和低電平信息確定需要寫入的數(shù)據(jù);
A02、移位寄存器根據(jù)所述輸出數(shù)據(jù)流中時鐘的高電平信息和低電平信息緩沖處理FIFO中寫入的數(shù)據(jù),并將緩沖處理后的數(shù)據(jù)作為輸出數(shù)據(jù)流發(fā)送。
可選地,在數(shù)據(jù)轉(zhuǎn)發(fā)裝置包括復(fù)位單元時,數(shù)據(jù)轉(zhuǎn)發(fā)方法還包括下述的步驟A03:
A03、在所述FIFO溢出時,所述數(shù)據(jù)轉(zhuǎn)發(fā)裝置丟棄當(dāng)前待轉(zhuǎn)發(fā)的數(shù)據(jù)流,并執(zhí)行復(fù)位操作;
和/或,在所述移位寄存器耗盡時,所述數(shù)據(jù)轉(zhuǎn)發(fā)裝置丟棄當(dāng)前待轉(zhuǎn)發(fā)的數(shù)據(jù)流,并執(zhí)行復(fù)位操作。
可選地,在數(shù)據(jù)轉(zhuǎn)發(fā)裝置包括控制單元時,數(shù)據(jù)轉(zhuǎn)發(fā)方法還包括下述的步驟A03:
控制單元在所述FIFO接收到輸入數(shù)據(jù)流時,確定所述輸入數(shù)據(jù)流中是否包括釋放信息;
否包括,所述控制單元根據(jù)所述釋放信息對緩存結(jié)構(gòu)進(jìn)行釋放。
本實施例的數(shù)據(jù)轉(zhuǎn)發(fā)方法可具有下述特點:
第一、低延時,相比于傳統(tǒng)的存儲轉(zhuǎn)發(fā)方法,本發(fā)明實施例的數(shù)據(jù)轉(zhuǎn)發(fā)方法具有極低的轉(zhuǎn)發(fā)延時,能夠滿足大型串聯(lián)網(wǎng)絡(luò)對實時傳輸?shù)囊蟆?/p>
第二、穩(wěn)定性,本發(fā)明實施例能夠?qū)崿F(xiàn)跨時鐘域的數(shù)據(jù)實時轉(zhuǎn)發(fā),不要求網(wǎng)絡(luò)中各節(jié)點達(dá)到時鐘同步。沒有使用鎖相環(huán)電路,從而保證了網(wǎng)絡(luò)(尤其是大型串聯(lián)網(wǎng)絡(luò))中數(shù)據(jù)轉(zhuǎn)發(fā)的穩(wěn)定性。
第三、靈活性,本發(fā)明實施例使用“FIFO+移位寄存器”的緩存結(jié)構(gòu),可以方便地改變其緩存深度。允許操作人員根據(jù)連續(xù)轉(zhuǎn)發(fā)時間、節(jié)點晶振的頻率偏差以及對轉(zhuǎn)發(fā)延時的要求等條件靈活地設(shè)置緩存深度,更全面地滿足各種場景的需求。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在計算機(jī)可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。