專利名稱:基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法及交換裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及到由交換設(shè)備構(gòu)建的網(wǎng)絡(luò)環(huán)境中數(shù)據(jù)交換方法領(lǐng)域,特指一種基于 時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法及交換裝置,尤其適用于是對(duì)端到端數(shù)據(jù)傳輸時(shí)延 具有確定性要求的網(wǎng)絡(luò)測(cè)控系統(tǒng),如實(shí)時(shí)測(cè)量、網(wǎng)絡(luò)控制、工業(yè)自動(dòng)化以及現(xiàn)場(chǎng)測(cè)試等 的時(shí)間確定性數(shù)據(jù)交換的方法。
技術(shù)背景現(xiàn)有交換設(shè)備的存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制、隊(duì)列結(jié)構(gòu)以及調(diào)度算法導(dǎo)致了數(shù)據(jù)交換時(shí)延的不確 定性,而且在多個(gè)交換設(shè)備互聯(lián)而成的數(shù)據(jù)傳輸鏈路中,由于各個(gè)交換設(shè)備僅根據(jù)自身 狀態(tài)完成調(diào)度過程,彼此之間沒有數(shù)據(jù)傳輸狀態(tài)的協(xié)同,造成端到端數(shù)據(jù)傳輸時(shí)延的不 確定性更大?,F(xiàn)有交換設(shè)備所存在的這種數(shù)據(jù)交換時(shí)延不確定性問題直接限制了網(wǎng)絡(luò)技 術(shù)在各種實(shí)時(shí)傳輸業(yè)務(wù)中的應(yīng)用,同時(shí),隨著網(wǎng)絡(luò)技術(shù)在儀器平臺(tái)和測(cè)控系統(tǒng)不斷滲透 和融合,交換設(shè)備的數(shù)據(jù)交換時(shí)延不確定性問題也成為各種具有實(shí)時(shí)性和確定性要求的 網(wǎng)絡(luò)化儀器以及網(wǎng)絡(luò)化測(cè)控系統(tǒng)中需要亟待解決的關(guān)鍵技術(shù)問題。根據(jù)排隊(duì)機(jī)制的不同,交換設(shè)備的交換結(jié)構(gòu)可分為輸出排隊(duì)交換結(jié)構(gòu)、輸入排隊(duì)交 換結(jié)構(gòu)、聯(lián)合輸入輸出排隊(duì)交換結(jié)構(gòu)和交叉點(diǎn)聯(lián)合排隊(duì)交換結(jié)構(gòu)四種。各種交換結(jié)構(gòu)雖然各有優(yōu)勢(shì),然而,輸出排隊(duì)交換結(jié)構(gòu)存在N倍加速問題,在高速環(huán)境下應(yīng)用受限,提 高速度將大大增加成本,而且隨著速度的提高會(huì)降低信息交換的穩(wěn)定性;輸入排隊(duì)交換 結(jié)構(gòu)雖然不需加速,但輸入排隊(duì)交換結(jié)構(gòu)的調(diào)度算法僅能實(shí)現(xiàn)粗粒度的優(yōu)先級(jí)服務(wù),其 時(shí)延、時(shí)延抖動(dòng)特性均不如基于輸出排隊(duì)交換結(jié)構(gòu)的調(diào)度算法;聯(lián)合輸入輸出排隊(duì)交換 結(jié)構(gòu)僅處于理論研究階段,其調(diào)度算法的復(fù)雜度過高,工程中很難實(shí)現(xiàn);在交叉點(diǎn)聯(lián)合 排隊(duì)交換結(jié)構(gòu)中,帶緩存交叉開關(guān)通過在傳統(tǒng)交叉開關(guān)(Crossbar)的每一個(gè)交叉節(jié)點(diǎn)設(shè) 置一定容量的緩存單元,使得交換單元的每個(gè)輸入端口和輸出端口可以相對(duì)獨(dú)立的使用 內(nèi)部連接帶寬資源,避免了集中式的控制機(jī)制,為提升交換設(shè)備的綜合性能提供了一個(gè) 更好的基礎(chǔ)平臺(tái)。與傳統(tǒng)的交叉開關(guān)相比,帶緩存交叉開關(guān)可以直接支持變長(zhǎng)分組處理, 避免了分片重組的額外開銷,而且現(xiàn)有研究表明在不加速條件下,單獨(dú)的帶緩存交叉 開關(guān)交換單元僅需通過增大交叉節(jié)點(diǎn)緩存的容量就可以獲得比基于傳統(tǒng)交叉開關(guān)的輸入 排隊(duì)交換結(jié)構(gòu)和輸出排隊(duì)交換結(jié)構(gòu)更好的交換性能。近年來隨著芯片設(shè)計(jì)技術(shù)的進(jìn)步和芯片工藝水平的提高,單芯片內(nèi)部己經(jīng)可以提供 相當(dāng)容量的緩存單元,這使得帶緩存交叉開關(guān)(BufferedCrossbar)迅速成為交換領(lǐng)域新 的研究熱點(diǎn)。交叉點(diǎn)聯(lián)合排隊(duì)交換結(jié)構(gòu)完全消除了HOL堵塞,而且由于交叉點(diǎn)緩存將輸 入輸出競(jìng)爭(zhēng)分離開,這種交換結(jié)構(gòu)可以完全模擬輸出排隊(duì)交換結(jié)構(gòu)的性能。 發(fā)明內(nèi)容本發(fā)明要解決的問題就在于針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種能夠 實(shí)現(xiàn)多個(gè)交換設(shè)備之間交換時(shí)延的動(dòng)態(tài)協(xié)調(diào)、能夠保證數(shù)據(jù)端到端傳輸時(shí)延的確定性和 一致性、從而提高整體傳輸效率和穩(wěn)定性的基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法及 交換裝置。為解決上述技術(shù)問題,本發(fā)明提出的解決方案為 一種基于時(shí)間壓力的時(shí)間確定性 數(shù)據(jù)交換方法,其特征在于在由交換節(jié)點(diǎn)構(gòu)建的網(wǎng)絡(luò)環(huán)境中,實(shí)時(shí)測(cè)量各個(gè)數(shù)據(jù)幀經(jīng) 過各交換節(jié)點(diǎn)傳輸所產(chǎn)生的總交換時(shí)延以及所經(jīng)過的交換節(jié)點(diǎn)數(shù),并記錄到數(shù)據(jù)幀一并 進(jìn)行傳遞,每個(gè)交換節(jié)點(diǎn)根據(jù)數(shù)據(jù)幀的實(shí)際傳輸時(shí)延要求和數(shù)據(jù)幀中所記錄的上述交換 節(jié)點(diǎn)數(shù)和總交換時(shí)延計(jì)算出該數(shù)據(jù)幀的交換時(shí)間壓力,并基于該時(shí)間壓力對(duì)數(shù)據(jù)幀的交 換優(yōu)先級(jí)進(jìn)行調(diào)節(jié)控制,從而保證數(shù)據(jù)幀的所需的傳輸時(shí)延要求。本發(fā)明方法進(jìn)一步的具體步驟為① 獲得鏈路平均交換時(shí)延;由源節(jié)點(diǎn)發(fā)送連接幀至目的節(jié)點(diǎn),目的節(jié)點(diǎn)在收到連接 幀后發(fā)回應(yīng)答幀,源節(jié)點(diǎn)收到應(yīng)答幀后初始交換得到初始交換時(shí)延數(shù)據(jù)初始交換時(shí)延 《"和交換節(jié)點(diǎn)數(shù)量C^,其中《 為連接幀經(jīng)過所有交換節(jié)點(diǎn)的時(shí)延總和,交換節(jié)點(diǎn)數(shù)量為連接幀所經(jīng)過的交換節(jié)點(diǎn)數(shù)量,計(jì)算鏈路平均交換時(shí)延r^ =《 /Cspr ;② 發(fā)送數(shù)據(jù)幀;根據(jù)每個(gè)數(shù)據(jù)幀的傳送需要設(shè)定期望平均交換時(shí)延T^,該期望平 均交換時(shí)延7^不能夠小于鏈路平均交換時(shí)延,源節(jié)點(diǎn)將帶有上述期望平均交換時(shí)延 T。vg、初始化數(shù)據(jù)幀的總交換時(shí)延/)。 =0和交換節(jié)點(diǎn)數(shù)(:^=0,依次發(fā)送給每一個(gè)交換節(jié)點(diǎn),其中r,為該數(shù)據(jù)幀經(jīng)過每個(gè)交換節(jié)點(diǎn)所期望的平均時(shí)延,/)。 為數(shù)據(jù)幀所經(jīng)過的交換節(jié)點(diǎn)產(chǎn)生的交換時(shí)延和,C^為數(shù)據(jù)幀所經(jīng)過的交換節(jié)點(diǎn)數(shù)量;③ 交換優(yōu)先級(jí)調(diào)節(jié);每一個(gè)交換節(jié)點(diǎn)接收到數(shù)據(jù)幀后根據(jù)總交換時(shí)延信息得到該數(shù) 據(jù)幀的時(shí)間壓力值『=7^-D。 /Csr (Csr>0)或『=7^ (C^=0), ^越小表示數(shù)據(jù)幀越緊迫,也就越需要盡快被交換,每一個(gè)交換節(jié)點(diǎn)根據(jù)所接收到的數(shù)據(jù)幀的時(shí)間 壓力值『對(duì)其交換優(yōu)先級(jí)進(jìn)行調(diào)節(jié)控制,同時(shí),在交換節(jié)點(diǎn)將數(shù)據(jù)幀調(diào)度輸出時(shí),測(cè)量該數(shù)據(jù)幀經(jīng)過交換節(jié)點(diǎn)時(shí)產(chǎn)生的實(shí)際交換時(shí)延t^ ,計(jì)算^,-i^+r^以及 C = C +1 傳送完畢;其余依次排列的各交換節(jié)點(diǎn)接收到數(shù)據(jù)幀后,重復(fù)步驟(3),直至數(shù)據(jù) 幀傳送到目的節(jié)點(diǎn)。所述步驟(3)中交換優(yōu)先級(jí)調(diào)節(jié)的步驟為(D于交換節(jié)點(diǎn)中建立與每個(gè)輸入端口對(duì)應(yīng)的VOQ隊(duì)列以及與每個(gè)輸出端口唯一對(duì) 應(yīng)的i周度鏈表和時(shí)延鏈表,輸入端口與輸出端口之間設(shè)有緩存交叉鏈路;② 交換節(jié)點(diǎn)根據(jù)所接收到數(shù)據(jù)幀的時(shí)間壓力在VOQ隊(duì)列中找一個(gè)最佳放置位置, 然后從與輸出端口對(duì)應(yīng)調(diào)度鏈表的最后一項(xiàng)開始向前査詢放置位置,當(dāng)査詢到第一個(gè)無 效放置位置時(shí),在該無效位置與相鄰前一個(gè)有效位置之間插入新位置作為最佳插入位置, 否則把最前面時(shí)間壓力最大的表項(xiàng)位置作為最佳插入位置,并結(jié)束査找過程,然后更新 已査f發(fā)到的最佳放置位置表項(xiàng)之后的各個(gè)數(shù)據(jù)幀時(shí)間壓力值,即將最后一個(gè)表項(xiàng)到査找 到的最佳放置位置表項(xiàng)之間數(shù)據(jù)幀時(shí)間壓力值都減去接收數(shù)據(jù)幀調(diào)度時(shí)間(當(dāng)結(jié)果小于 零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀調(diào)度時(shí)間=數(shù)據(jù)幀長(zhǎng)度*交叉鏈路調(diào)度 l字節(jié)數(shù)據(jù)所需的時(shí)間;③ 將VOQ隊(duì)列中的數(shù)據(jù)幀依次調(diào)度到緩存交叉鏈路的交叉節(jié)點(diǎn)緩存中; 將交叉節(jié)點(diǎn)緩存中的數(shù)據(jù)幀依次調(diào)度給交換節(jié)點(diǎn)的輸出端口。 所述將交叉節(jié)點(diǎn)緩存中的數(shù)據(jù)幀依次調(diào)度給交換節(jié)點(diǎn)輸出端口的過程中包括以下步驟CD首先檢測(cè)該端口對(duì)應(yīng)的調(diào)度鏈表是否為空,當(dāng)不為空時(shí),取出排在隊(duì)頭的第一個(gè) 表項(xiàng),提取出數(shù)據(jù)幀的輸入端口號(hào);② 根據(jù)數(shù)據(jù)幀的輸入端口號(hào)和當(dāng)前調(diào)度器所在的輸出端口號(hào)從對(duì)應(yīng)的交叉節(jié)點(diǎn)緩 存中提取數(shù)據(jù)幀頭信息;③ 根據(jù)數(shù)據(jù)幀頭信息從時(shí)延鏈表中提取該幀的到達(dá)時(shí)間以及幀到達(dá)輸入端口時(shí)的 總交換時(shí)延、總節(jié)點(diǎn)數(shù)和期望平均交換時(shí)延; 輸出調(diào)度器提取時(shí)間單元的當(dāng)前時(shí)間作為數(shù)據(jù)幀的離開時(shí)間,并由數(shù)據(jù)幀的離開 時(shí)間減去^^的到達(dá)時(shí)間得到數(shù)據(jù)幀在當(dāng)前交換設(shè)備中產(chǎn)生的實(shí)際交換時(shí)延; 將總交換時(shí)延加上實(shí)際交換時(shí)延得出新的總交換時(shí)延,以及將總節(jié)點(diǎn)數(shù)加l,更 新數(shù)據(jù)巾貞的總交換時(shí)延和總節(jié)點(diǎn)數(shù)兩個(gè)域,然后將數(shù)據(jù)幀傳出;⑥從調(diào)度鏈表隊(duì)頭的第二項(xiàng)開始,向后依次將表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)幀時(shí)間壓力值減去第一個(gè)表項(xiàng)數(shù)據(jù)幀調(diào)度時(shí)間(當(dāng)結(jié)果小于零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀調(diào) 度時(shí)間=數(shù)據(jù)幀長(zhǎng)度*交叉鏈路調(diào)度1字節(jié)數(shù)據(jù)所需的時(shí)間; ⑦刪除調(diào)度鏈表和時(shí)延鏈表中第一個(gè)表項(xiàng)。一種基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換裝置,其特征在于它包括交換模塊、時(shí) 間模塊、存儲(chǔ)單元、PHY器件組,時(shí)間模塊與交換模塊的輸入端相連,PHY器件組與交 換模塊的輸出端相連,所述交換模塊包括交換單元、用來與時(shí)間模塊相連的時(shí)間單元以 及用來與PHY器件相連的若干個(gè)MAC,所述交換單元的輸入端l3和輸出端口之間包括 若干組依次相連的輸入控制器、輸入調(diào)度器和輸出調(diào)度器,輸入M^器與輸出調(diào)度器之 間設(shè)有緩存交叉鏈路,所述存儲(chǔ)單元包括與每個(gè)輸入端口對(duì)應(yīng)相連的VOQ隊(duì)列單元以及 與每個(gè)輸出端口唯一對(duì)應(yīng)相連的調(diào)度鏈表單元和時(shí)延鏈表單元。所述輸入控制器的輸出端分別與VOQ隊(duì)列單元、調(diào)度鏈表單元gtS時(shí)延鏈表單元的 輸入端相連,輸入調(diào)度器的輸入端與VOQ隊(duì)列單元的輸出端相連,塘度鏈表單元的輸出 端與輸入調(diào)度器和輸出調(diào)度器相連,時(shí)延鏈表單元的輸出端與輸入調(diào)度器和輸出調(diào)度器 相連。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)就在于-1. 本發(fā)明基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法實(shí)現(xiàn)了多個(gè)交換設(shè)備之間交換時(shí) 延的動(dòng)態(tài)協(xié)調(diào),能夠保證數(shù)據(jù)端到端傳輸時(shí)延的確定性和一致性;2. 本發(fā)明交換設(shè)備的交換單元中采用了交叉點(diǎn)聯(lián)合排隊(duì)交換結(jié)構(gòu),有^C避免了傳統(tǒng) 交換設(shè)備中存在的輸入競(jìng)爭(zhēng)和輸出競(jìng)爭(zhēng)問題,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)幀的確定性交換;3. 本發(fā)明交換設(shè)備的交換單元的每一個(gè)輸入端口中采用VOQ隊(duì)列,完全消除了 HOL 堵塞問題;4. 本發(fā)明交換設(shè)備中增加了時(shí)間單元,不僅能夠?qū)崟r(shí)標(biāo)記每一個(gè)網(wǎng)絡(luò)幀的到達(dá)時(shí)間, 并能夠?qū)崟r(shí)測(cè)量每一個(gè)網(wǎng)絡(luò)幀所產(chǎn)生的實(shí)際交換時(shí)延;5. 本發(fā)明LPQF調(diào)度算法采用了分布實(shí)現(xiàn),大大降低了對(duì)匹配算法時(shí)間復(fù)雜度的要 求,并且提高了設(shè)備的吞吐率;6. 本發(fā)明LPQF調(diào)度算法能夠在單片F(xiàn)PGA集成電路上實(shí)現(xiàn),模塊化程度高。
圖1是本發(fā)明交換方法的流程示意圖;圖2是本發(fā)明交換方法中交換優(yōu)先級(jí)調(diào)節(jié)的流程示意圖;圖3是本發(fā)明采用的交叉點(diǎn)聯(lián)合排隊(duì)交換結(jié)構(gòu)示意圖;圖4是本發(fā)明數(shù)據(jù)傳輸鏈路結(jié)構(gòu)示意圖; 圖5是本發(fā)明交換裝置的框架結(jié)構(gòu)示意圖; 圖6是本發(fā)明交換裝置中交換單元的框架結(jié)構(gòu)示意圖; 圖7是本發(fā)明數(shù)據(jù)傳輸鏈路的連接幀結(jié)構(gòu)示意圖; 圖8是本發(fā)明數(shù)據(jù)傳輸鏈路的數(shù)據(jù)幀結(jié)構(gòu)示意圖; 圖9是本發(fā)明交換單元中調(diào)度鏈表單元的結(jié)構(gòu)示意圖; 圖IO是本發(fā)明交換設(shè)備中時(shí)延鏈表單元的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下將結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。如圖1和圖3所示,由交換設(shè)備構(gòu)建的網(wǎng)絡(luò)環(huán)境中用來數(shù)據(jù)傳送的一條數(shù)據(jù)傳輸鏈 路由1個(gè)源節(jié)點(diǎn)、1個(gè)或多個(gè)交換裝置和1個(gè)目的節(jié)點(diǎn)組成,本發(fā)明的一種基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法為在由交換節(jié)點(diǎn)構(gòu)建的網(wǎng)絡(luò)環(huán)境中,實(shí)時(shí)測(cè)量各個(gè)數(shù)據(jù)幀 經(jīng)過各交換節(jié)點(diǎn)傳輸所產(chǎn)生的總交換時(shí)延以及所經(jīng)過的交換節(jié)點(diǎn)數(shù),并記錄到數(shù)據(jù)幀一 并進(jìn)行傳遞,每個(gè)交換節(jié)點(diǎn)根據(jù)數(shù)據(jù)幀的實(shí)際傳輸時(shí)延要求和數(shù)據(jù)幀中所記錄的上述交 換節(jié)點(diǎn)數(shù)和總交換時(shí)延計(jì)算出該數(shù)據(jù)幀的交換時(shí)間壓力,并基于該時(shí)間壓力對(duì)數(shù)據(jù)幀的 交換優(yōu)先級(jí)進(jìn)行調(diào)節(jié)控制,從而保證數(shù)據(jù)幀的所需的傳輸時(shí)延要求。在本實(shí)施例中,本 發(fā)明交換方法具體實(shí)施例的步驟為①獲得鏈路平均交換時(shí)延;由源節(jié)點(diǎn)發(fā)送連接幀至 目的節(jié)點(diǎn),目的節(jié)點(diǎn)在收到連接幀后發(fā)回應(yīng)答幀,源節(jié)點(diǎn)收到應(yīng)答幀后初始交換得到初 始交換時(shí)延數(shù)據(jù)初始交換時(shí)延《"和交換節(jié)點(diǎn)數(shù)量C^,其中《 為連接幀經(jīng)過所有交換節(jié)點(diǎn)的時(shí)延總和,交換節(jié)點(diǎn)數(shù)量c^為連接幀所經(jīng)過的交換節(jié)點(diǎn)數(shù)量,計(jì)算鏈路平均交換 時(shí)延7^=《 ^^;②發(fā)送數(shù)據(jù)幀;根據(jù)每個(gè)數(shù)據(jù)幀的傳送需要設(shè)定期望平均交換時(shí)延rOTg,該期望平均交換時(shí)延r,不能夠小于鏈路平均交換時(shí)延,源節(jié)點(diǎn)將帶有上述期望平均交換時(shí)延7^、初始化數(shù)據(jù)幀的總交換時(shí)延Z^-0和交換節(jié)點(diǎn)數(shù)C^-0,依次發(fā)送給每一個(gè)交換節(jié)點(diǎn),其中7^為該數(shù)據(jù)幀經(jīng)過每個(gè)交換節(jié)點(diǎn)所期望的平均時(shí)延,A^,為數(shù)據(jù)幀所經(jīng)過的交換節(jié)點(diǎn)產(chǎn)生的交換對(duì)延和,C^為數(shù)據(jù)幀所經(jīng)過的交換節(jié)點(diǎn)數(shù)量;③交換優(yōu)先級(jí)調(diào)節(jié);每一個(gè)交換節(jié)點(diǎn)接收到數(shù)據(jù)幀后根據(jù)總交換時(shí)延信息得到該數(shù)據(jù)幀的時(shí)間 壓力值『-乙g-D?!?C觀((^^>0)或『=7^ (Cw=0),每一個(gè)交換節(jié)點(diǎn)根據(jù)所接收到的每個(gè)數(shù)據(jù)幀的時(shí)間壓力值『對(duì)其交換優(yōu)先級(jí)進(jìn)行調(diào)節(jié)控制,同時(shí),在交換節(jié)點(diǎn) 將數(shù)據(jù)幀調(diào)度輸出時(shí),測(cè)量該數(shù)據(jù)幀經(jīng)過交換節(jié)點(diǎn)時(shí)產(chǎn)生的實(shí)際交換時(shí)延TSW,計(jì)算以及C^-C^+1;④傳送完畢;其余依次排列的各交換節(jié)點(diǎn)接收到數(shù)據(jù)幀后,重復(fù)步驟(3),直至數(shù)據(jù)幀傳送到目的節(jié)點(diǎn)。如圖2所示,在較佳的實(shí)施例中,交換優(yōu)先級(jí)調(diào)節(jié)的步驟為① 于交換節(jié)點(diǎn)中建立與每個(gè)輸入端口對(duì)應(yīng)的VOQ隊(duì)列以及與每個(gè)輸出端口唯一對(duì) 應(yīng)的調(diào)度鏈表和時(shí)延鏈表,輸入端口與輸出端口之間設(shè)有緩存交叉鏈路;② 交換節(jié)點(diǎn)根據(jù)所接收到數(shù)據(jù)幀的時(shí)間壓力在VOQ隊(duì)列中找一個(gè)最佳放置位置, 然后從與輸出端口對(duì)應(yīng)調(diào)度鏈表的最后一項(xiàng)開始向前查詢放置位置,當(dāng)查詢到第一個(gè)無 效放置位置時(shí),在該無效位置與相鄰前一個(gè)有效位置之間插入新位置作為最佳插入位置, 否則把最前面時(shí)間壓力最大的表項(xiàng)位置作為最佳插入位置,并結(jié)束査找過程,然后更新 已査找到的最佳放置位置表項(xiàng)之后的各個(gè)數(shù)據(jù)幀時(shí)間壓力值,即將最后一個(gè)表項(xiàng)到査找 到的最佳放置位置表項(xiàng)之間數(shù)據(jù)幀時(shí)間壓力值都減去接收數(shù)據(jù)幀調(diào)度時(shí)間(當(dāng)結(jié)果小于 零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀調(diào)度時(shí)間=數(shù)據(jù)幀長(zhǎng)度*交叉鏈路調(diào)度 l字節(jié)數(shù)據(jù)所需的時(shí)間;◎?qū)OQ隊(duì)列中的數(shù)據(jù)幀依次調(diào)度到緩存交叉鏈路的交叉節(jié)點(diǎn)緩存中; 將交叉節(jié)點(diǎn)緩存中的數(shù)據(jù)幀依次調(diào)度給交換節(jié)點(diǎn)的輸出端口。 其中,上述將交叉節(jié)點(diǎn)緩存中的數(shù)據(jù)幀依次調(diào)度給交換節(jié)點(diǎn)輸出端口的過程中包括 以下步驟-① 首先檢測(cè)該端口對(duì)應(yīng)的調(diào)度鏈表是否為空,當(dāng)不為空時(shí),取出排在隊(duì)頭的第一個(gè) 表項(xiàng),提取出數(shù)據(jù)幀的輸入端口號(hào);② 根據(jù)數(shù)據(jù)幀的輸入端口號(hào)和當(dāng)前調(diào)度器所在的輸出端口號(hào)從對(duì)應(yīng)的交叉節(jié)點(diǎn)緩 存中提取數(shù)據(jù)幀頭信息;③ 根據(jù)數(shù)據(jù)幀頭信息從時(shí)延鏈表中提取該幀的到達(dá)時(shí)間以及幀到達(dá)輸入端口時(shí)的 總交換時(shí)延、總節(jié)點(diǎn)數(shù)和期望平均交換時(shí)延; 輸出調(diào)度器提取時(shí)間單元的當(dāng)前時(shí)間作為數(shù)據(jù)幀的離開時(shí)間,并由數(shù)據(jù)幀的離開 時(shí)間減去幀的到達(dá)時(shí)間得到數(shù)據(jù)幀在當(dāng)前交換設(shè)備中產(chǎn)生的實(shí)際交換時(shí)延;⑤將總交換時(shí)延加上實(shí)際交換時(shí)延得出新的總交換時(shí)延,以及將總節(jié)點(diǎn)數(shù)加l,更 新數(shù)據(jù)幀的總交換時(shí)延和總節(jié)點(diǎn)數(shù)兩個(gè)域,然后將數(shù)據(jù)幀傳出;(D從調(diào)度鏈表隊(duì)頭的第二項(xiàng)開始,向后依次將表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)幀時(shí)間壓力值減去第 一個(gè)表項(xiàng)數(shù)據(jù)幀調(diào)度時(shí)間(當(dāng)結(jié)果小于零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀調(diào) 度時(shí)間=數(shù)據(jù)幀長(zhǎng)度*交叉鏈路調(diào)度l字節(jié)數(shù)據(jù)所需的時(shí)間;⑦刪除調(diào)度鏈表和時(shí)延鏈表中第一個(gè)表項(xiàng)。參見圖7所示,在本實(shí)施例中,連接幀是符合具體網(wǎng)絡(luò)協(xié)議幀結(jié)構(gòu)的數(shù)據(jù)傳輸單元,用于探測(cè)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間需要經(jīng)過交換裝置數(shù)量及交換時(shí)延總和。連接幀除了包含符合網(wǎng)絡(luò)協(xié)議規(guī)范的幀頭信息外,還包含有幀類型、幀ID、源節(jié)點(diǎn)發(fā)送時(shí)戳、總交換 時(shí)延和總節(jié)點(diǎn)數(shù),幀類型域標(biāo)記當(dāng)前幀的類型(區(qū)別連接幀、應(yīng)答幀、數(shù)據(jù)幀和其他幀), 幀ID域記錄當(dāng)前連接幀的序號(hào),源節(jié)點(diǎn)發(fā)送時(shí)戳域記錄幀在源節(jié)點(diǎn)發(fā)送時(shí)的時(shí)間,總交 換時(shí)延域記錄連接幀經(jīng)過各個(gè)交換裝置時(shí)所產(chǎn)生的交換時(shí)延總和,總節(jié)點(diǎn)數(shù)域記錄連接 幀經(jīng)過的交換裝置總數(shù)量。源節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)之前創(chuàng)建連接幀,在發(fā)送幀時(shí)以 源節(jié)點(diǎn)時(shí)間填充源節(jié)點(diǎn)發(fā)送時(shí)戳域,并初始化總交換時(shí)延和總節(jié)點(diǎn)數(shù)為零。連接幀的總 交換時(shí)延取10ns為單位,最大可記錄的時(shí)長(zhǎng)為43秒。參見圖8所示,在本實(shí)施例中,數(shù)據(jù)幀是符合具體網(wǎng)絡(luò)協(xié)議幀結(jié)構(gòu)的數(shù)據(jù)傳輸單元, 用于傳遞業(yè)務(wù)數(shù)據(jù)。數(shù)據(jù)幀除了包含符合網(wǎng)絡(luò)協(xié)議規(guī)范的幀頭信息外,還包含有幀類型、 幀標(biāo)志字、幀ID、總交換時(shí)延、總節(jié)點(diǎn)數(shù)和期望平均交換時(shí)延,幀類型域標(biāo)記當(dāng)前幀的 類型(區(qū)別連接幀、應(yīng)答幀、數(shù)據(jù)幀和其他幀),幀ID域記錄當(dāng)前數(shù)據(jù)幀的序號(hào),總交 換時(shí)延域記錄數(shù)據(jù)幀經(jīng)過各個(gè)交換裝置時(shí)所產(chǎn)生的交換時(shí)延總和,總節(jié)點(diǎn)數(shù)域記錄數(shù)據(jù) 幀經(jīng)過的交換裝置總數(shù)量,期望平均交換時(shí)延域記錄數(shù)據(jù)幀所期望的在各個(gè)交換裝置上 所產(chǎn)生的交換時(shí)延。源節(jié)點(diǎn)在向目的節(jié)點(diǎn)發(fā)送業(yè)務(wù)數(shù)據(jù)時(shí)創(chuàng)建數(shù)據(jù)幀,根據(jù)應(yīng)用需求計(jì) 算和填寫期望平均交換時(shí)延,并初始化總交換時(shí)延和總節(jié)點(diǎn)數(shù)為零,而后發(fā)送出去。數(shù) 據(jù)幀的總交換時(shí)延取10ns為單位,最大可記錄的時(shí)長(zhǎng)為43秒,期望平均交換時(shí)延取10ns 為單位,最大可記錄的時(shí)長(zhǎng)為167毫秒。參見圖5、圖6、圖9和圖10所示,本發(fā)明的一種基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù) 交換裝置,它包括交換模塊、時(shí)間模塊、存儲(chǔ)單元、PHY器件組,時(shí)間模塊與交換模塊 的輸入端相連,PHY器件組與交換模塊的輸出端相連,所述交換模塊包括交換單元、用 來與時(shí)間模塊相連的時(shí)間單元以及用來與PHY器件相連的若干個(gè)MAC,所述交換單元 的輸入端口和輸出端口之間包括若干組依次相連的輸入控制器、輸入調(diào)度器和輸出調(diào)度器,輸入調(diào)度器與輸出調(diào)度器之間設(shè)有緩存交叉鏈路單元,所述存儲(chǔ)單元包括與每個(gè)輸 入端口對(duì)應(yīng)相連的VOQ隊(duì)列單元以及與每個(gè)輸出端口唯一對(duì)應(yīng)相連的調(diào)度鏈表單元和 時(shí)延鏈表單元。在具體實(shí)施例中,輸入控制器的輸出端分別與VOQ隊(duì)列單元、調(diào)度鏈表 單元以及時(shí)延鏈表單元的輸入端相連,輸入調(diào)度器的輸入端與VOQ隊(duì)列單元的輸出端相 連,調(diào)度鏈表單元的輸出端與輸入調(diào)度器和輸出調(diào)度器相連,時(shí)延鏈表單元的輸出端與輸入調(diào)度器和輸出調(diào)度器相連。參見圖9所示,調(diào)度鏈表單元是DDR SDRAM中劃分的 一塊存儲(chǔ)區(qū),用于存儲(chǔ)所有等待調(diào)度的網(wǎng)絡(luò)幀的調(diào)度優(yōu)先級(jí)信息,包括幀的輸入端口號(hào)、 長(zhǎng)度和時(shí)間壓力值等,每個(gè)輸出端口對(duì)應(yīng)唯一一個(gè)調(diào)度鏈表。參見圖10所示,時(shí)延鏈表 單元是DDR SDRAM中劃分的一塊存儲(chǔ)區(qū),用于存儲(chǔ)所有等待調(diào)度的網(wǎng)絡(luò)幀的時(shí)延信息, 包括幀的輸出端口、源地址、幀ID、到達(dá)時(shí)間、總交換時(shí)延、總節(jié)點(diǎn)數(shù)和期望平均交換 時(shí)延等,每個(gè)輸出端口對(duì)應(yīng)唯一一個(gè)時(shí)延鏈表。參見圖1所示,是本發(fā)明中所采用的交 叉點(diǎn)聯(lián)合排隊(duì)交換結(jié)構(gòu)示意圖。該結(jié)構(gòu)在輸入端口設(shè)置有VOQ隊(duì)列,緩存交叉矩陣的每 個(gè)交叉點(diǎn)上都設(shè)置了一定數(shù)量的緩存。VOQ隊(duì)列是DDR SDRAM中劃分的一塊存儲(chǔ)區(qū), 對(duì)應(yīng)每一個(gè)輸入端口設(shè)置有一個(gè)VOQ隊(duì)列,每一個(gè)VOQ隊(duì)列中具有又針對(duì)N個(gè)輸出端 口劃分了N個(gè)子隊(duì)列;緩存交叉矩陣是由FPGA設(shè)計(jì)實(shí)現(xiàn)的一個(gè)矩陣電路,交叉點(diǎn)緩存 采用FPGA內(nèi)部自帶緩存實(shí)現(xiàn)。交叉點(diǎn)緩存的設(shè)置使調(diào)度算法可以在輸入端口和輸出端 口上分布式實(shí)現(xiàn),大大降低了對(duì)匹配算法時(shí)間復(fù)雜度的要求,并且提高了系統(tǒng)的吞吐率。在本實(shí)施例中,交換模塊是由FPGA設(shè)計(jì)實(shí)現(xiàn)的數(shù)據(jù)交換核心模塊,它執(zhí)行LPQF 調(diào)度算法完成數(shù)據(jù)幀的調(diào)度過程,時(shí)鐘模塊為交換裝置提供所需的基準(zhǔn)時(shí)鐘信號(hào),物理 PHY器件實(shí)現(xiàn)與外部連路的互聯(lián),存儲(chǔ)單元(DDR SDRAM)用于暫存到達(dá)輸入端口等 待調(diào)度的網(wǎng)絡(luò)幀、MAC地址表以及幀的調(diào)度鏈表和時(shí)延鏈表信息。交換模塊內(nèi)部由交換 單元、時(shí)間單元和若干MAC組成。各個(gè)MAC位于交換單元與PHY器件之間,與交換 單元通過數(shù)據(jù)總線互連,與PHY器件通過物理層數(shù)字接口相連;時(shí)間單元基于時(shí)鐘模塊 提供的時(shí)鐘信號(hào)產(chǎn)生時(shí)間信號(hào),為交換裝置內(nèi)部提供精確時(shí)間服務(wù);交換單元執(zhí)行LPQF 調(diào)度算法實(shí)現(xiàn)數(shù)據(jù)幀時(shí)間確定性交換,它基于時(shí)間單元提供時(shí)間信息標(biāo)記數(shù)據(jù)幀的到達(dá) 離開交換裝置輸入端口和輸出端口的時(shí)間,根據(jù)數(shù)據(jù)幀中提取的傳輸時(shí)間狀態(tài)信息計(jì)算 時(shí)間壓力,并根據(jù)LPQF調(diào)度算法對(duì)數(shù)據(jù)幀進(jìn)行優(yōu)先級(jí)排隊(duì)和調(diào)度輸出。LPQF調(diào)度算法 由優(yōu)先級(jí)規(guī)劃算法、輸入調(diào)度算法和輸出調(diào)度算法分步在交換單元中完成。參見圖4所示,本實(shí)施例中交換單元是FPGA設(shè)計(jì)實(shí)現(xiàn)的一個(gè)數(shù)據(jù)交換電路單元, 由多組依次相連的輸入控制器、輸入調(diào)度器和輸出調(diào)度器以及位于輸入調(diào)度器和輸出調(diào) 度器之間的緩存交叉鏈路單元組成。在存儲(chǔ)單元(DDR SDRAM)的存儲(chǔ)區(qū)中設(shè)置有與 每個(gè)輸入端口對(duì)應(yīng)的VOQ隊(duì)列單元以及與每個(gè)輸出端口唯一對(duì)應(yīng)的調(diào)度鏈表單元和時(shí) 延鏈表單元,通過數(shù)據(jù)總線與存儲(chǔ)單元(DDR SDRAM)互聯(lián)。輸入控制器是在FPGA中構(gòu)建的一個(gè)處理器電路,它通過數(shù)據(jù)總線接收來自MAC 的網(wǎng)絡(luò)幀,并對(duì)該網(wǎng)絡(luò)幀執(zhí)行優(yōu)先級(jí)規(guī)劃算法。首先,以時(shí)間單元提供的時(shí)間信息標(biāo)記幀的到達(dá)時(shí)間,同時(shí)提取幀頭中的目的地址、源地址、幀id、總交換時(shí)延、總節(jié)點(diǎn)數(shù)和 期望平均交換時(shí)延等信息,根據(jù)提取的地址信息從mac地址表中査詢網(wǎng)絡(luò)幀輸出端口 號(hào),然后,根據(jù)提取交換時(shí)間信息計(jì)算網(wǎng)絡(luò)幀的時(shí)間壓力值,并根據(jù)該時(shí)間壓力值、按 照一定的規(guī)則在voq隊(duì)列中找一個(gè)最佳放置位置,最后,將這些信息分別填寫到調(diào)度鏈 表和時(shí)延鏈表中。優(yōu)先級(jí)規(guī)劃算法中査找?guī)罴逊胖梦恢玫奶幚磉^程如下(1) 、輸入控制器從接收到的幀中獲得交換時(shí)間信息和端口信息,主要包括總交換時(shí) 延(0。,,)、交換節(jié)點(diǎn)數(shù)(cw)、期望平均交換時(shí)延(7^)、輸入端口號(hào)(&)、輸出端口號(hào)(尸。w);(2) 、計(jì)算時(shí)間壓力值『;如果c觀〉0,『=:r,—d?!?c觀;否則,,= ;唯。時(shí)間 壓力值『越小,表明網(wǎng)絡(luò)幀越緊迫,也就越需要盡快被交換。(3) 、從輸出端口對(duì)應(yīng)調(diào)度鏈表的最后一項(xiàng)開始向前查詢放置位置,當(dāng)査詢到第一個(gè)無效放置位置時(shí),記錄上一表項(xiàng)位置作為最佳放置位置,并結(jié)束査找過程。調(diào)度表中,一個(gè)表項(xiàng)位置是有效放置位置,需要滿足以下兩個(gè)原則①接收幀與調(diào)度表當(dāng)前位置幀不是來自同一個(gè)源節(jié)點(diǎn)以及②接收幀時(shí)間壓力大于調(diào)度表當(dāng)前位置幀時(shí)間壓力(時(shí)間壓 力值越小的幀,的時(shí)間壓力就越大)。(4) 、更新已査找到的最佳放置位置表項(xiàng)之后的各個(gè)數(shù)據(jù)幀時(shí)間壓力值,g卩將最后 一個(gè)表項(xiàng)到查找到的最佳放置位置表項(xiàng)之間數(shù)據(jù)幀時(shí)間壓力值都減去接收數(shù)據(jù)幀調(diào)度時(shí) 間(當(dāng)結(jié)果小于零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀調(diào)度時(shí)間=數(shù)據(jù)幀長(zhǎng)度* 交叉鏈路調(diào)度1字節(jié)數(shù)據(jù)所需的時(shí)間。輸入調(diào)度器是在fpga中構(gòu)建的一個(gè)處理器電路,它執(zhí)行輸入調(diào)度算法,完成網(wǎng)絡(luò) 幀由voq隊(duì)列向緩存交叉鏈路中交叉節(jié)點(diǎn)緩存的調(diào)度過程。假設(shè)交換裝置具有w個(gè)端口,交叉節(jié)點(diǎn)緩存狀態(tài)為y; (i&》^ao, ^-i時(shí)表示輸入端口f和輸出端口y交叉節(jié)點(diǎn)的緩存已經(jīng)寫滿,否則為非滿,則輸入調(diào)度算法的處理流程如下對(duì)于輸入端口/。的虛擬輸出隊(duì)列集合/。={^00/|/ = /。,>/ = 1,2...^,將其中所有在r時(shí)刻滿足y; = o的w)《標(biāo)識(shí)為可選隊(duì)列集合£/。,即五/0 = {, I a = o,/ == i,2..jv}從可選隊(duì)列集合五/。中選取具有最小『值的虛擬輸出隊(duì)列獲得調(diào)度,將選中的網(wǎng)絡(luò)幀從voq隊(duì)列調(diào)度到交叉節(jié)點(diǎn)緩存,然后更新對(duì)應(yīng)交叉節(jié)點(diǎn)緩存狀態(tài)= i;輸出調(diào)度器是在fpga中構(gòu)建的一個(gè)處理器電路,它執(zhí)行輸出調(diào)度算法,將網(wǎng)絡(luò)幀從交叉節(jié)點(diǎn)緩存調(diào)度給輸出端口連接的MAC。輸出調(diào)度算法的處理流程與上述交換方法 相同為(1) 、輸出調(diào)度器檢測(cè)該端口對(duì)應(yīng)的調(diào)度鏈表是否為空,當(dāng)不為空時(shí),取出排在隊(duì)頭 的第一個(gè)表項(xiàng),提取出幀的輸入端口號(hào);(2) 、根據(jù)幀的輸入端口號(hào)和當(dāng)前調(diào)度器所在的輸出端口號(hào)從對(duì)應(yīng)的交叉節(jié)點(diǎn)緩存中 提取網(wǎng)絡(luò)幀頭信息;(3) 、根據(jù)網(wǎng)絡(luò)幀頭信息從時(shí)延鏈表中提取該幀的到達(dá)時(shí)間以及幀到達(dá)輸入端口時(shí)的 總交換時(shí)延、總節(jié)點(diǎn)數(shù)和期望平均交換時(shí)延;(4) 、輸出調(diào)度器提取時(shí)間單元的當(dāng)前時(shí)間作為幀的離開時(shí)間,并由幀的離開時(shí)間減 去幀的到達(dá)時(shí)間得到幀在當(dāng)前交換裝置中產(chǎn)生的實(shí)際交換時(shí)延;(5) 、將總交換時(shí)延加上實(shí)際交換時(shí)延得出新的總交換時(shí)延,以及將總節(jié)點(diǎn)數(shù)加l,更 新網(wǎng)絡(luò)幀的總交換時(shí)延和總節(jié)點(diǎn)數(shù)兩個(gè)域,然后將網(wǎng)絡(luò)幀傳給MAC;(6) 、從調(diào)度鏈表隊(duì)頭的第二項(xiàng)開始,向后依次將表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)幀時(shí)間壓力值減去 第一個(gè)表項(xiàng)數(shù)據(jù)幀調(diào)度時(shí)間(當(dāng)結(jié)果小于零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀 調(diào)度時(shí)間=數(shù)據(jù)幀長(zhǎng)度*交叉鏈路調(diào)度l字節(jié)數(shù)據(jù)所需的時(shí)間;(7) 、刪除調(diào)度鏈表和時(shí)延鏈表中第一個(gè)表項(xiàng)。
權(quán)利要求
1. 一種基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法,其特征在于在由交換節(jié)點(diǎn)構(gòu)建的網(wǎng)絡(luò)環(huán)境中,實(shí)時(shí)測(cè)量數(shù)據(jù)幀經(jīng)過各交換節(jié)點(diǎn)傳輸所產(chǎn)生的總交換時(shí)延以及所經(jīng)過的交換節(jié)點(diǎn)數(shù),并記錄到數(shù)據(jù)幀一并進(jìn)行傳遞,每個(gè)交換節(jié)點(diǎn)根據(jù)數(shù)據(jù)幀的實(shí)際傳輸時(shí)延要求和數(shù)據(jù)幀中所記錄的上述總交換時(shí)延與交換節(jié)點(diǎn)數(shù)計(jì)算出該數(shù)據(jù)幀的交換時(shí)間壓力,并基于該時(shí)間壓力對(duì)數(shù)據(jù)幀的交換優(yōu)先級(jí)進(jìn)行調(diào)節(jié)控制,從而保證數(shù)據(jù)幀的所需的傳輸時(shí)延要求。
2、 根據(jù)權(quán)利要求l所述的基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法,其特征在于步 驟為① 獲得鏈路平均交換時(shí)延;由源節(jié)點(diǎn)發(fā)送連接幀至目的節(jié)點(diǎn),目的節(jié)點(diǎn)在收到連接 幀后發(fā)回應(yīng)答幀,源節(jié)點(diǎn)收到應(yīng)答幀后初始交換得到初始交換時(shí)延數(shù)據(jù)初始交換時(shí)延 《,,和交換節(jié)點(diǎn)數(shù)量^^,其中《 為連接幀經(jīng)過所有交換節(jié)點(diǎn)的時(shí)延總和,交換節(jié)點(diǎn)數(shù)量CW為連接幀所經(jīng)過的交換節(jié)點(diǎn)數(shù)量,計(jì)算鏈路平均交換時(shí)延Z"avg =《 /CW ;② 發(fā)送數(shù)據(jù)幀;根據(jù)每個(gè)數(shù)據(jù)幀的傳送需要設(shè)定期望平均交換時(shí)延r,,該期望平 均交換時(shí)延r^不能夠小于鏈路平均交換時(shí)延,源節(jié)點(diǎn)將帶有上述期望平均交換時(shí)延 rOTg、初始化數(shù)據(jù)幀的總交換時(shí)延£>。 =0和交換節(jié)點(diǎn)數(shù)6:^=0,依次發(fā)送給每一個(gè)交換 節(jié)點(diǎn),其中r,為該數(shù)據(jù)幀經(jīng)過每個(gè)交換節(jié)點(diǎn)所期望的平均時(shí)延,D。"為數(shù)據(jù)幀所經(jīng)過的交換節(jié)點(diǎn)產(chǎn)生的交換時(shí)延和,C^為數(shù)據(jù)幀所經(jīng)過的交換節(jié)點(diǎn)數(shù)量;③ 交換優(yōu)先級(jí)調(diào)節(jié);每一個(gè)交換節(jié)點(diǎn)接收到數(shù)據(jù)幀后根據(jù)總交換時(shí)延信息得到該數(shù) 據(jù)幀的時(shí)間壓力值『-7^-A^/C^ (Cw>0)或『=7^ (Cw=0),『越小表示數(shù)據(jù)幀越緊迫,也就越需要盡快被交換,每一個(gè)交換節(jié)點(diǎn)根據(jù)所接收到的數(shù)據(jù)幀的時(shí)間 壓力值『對(duì)其交換優(yōu)先級(jí)進(jìn)行調(diào)節(jié)控制,同時(shí),在交換節(jié)點(diǎn)將數(shù)據(jù)幀調(diào)度輸出時(shí),測(cè)量該數(shù)據(jù)幀經(jīng)過交換節(jié)點(diǎn)時(shí)產(chǎn)生的實(shí)際交換時(shí)延 ,計(jì)算<formula>formula see original document page 2</formula>以及<formula>formula see original document page 2</formula> 傳送完畢;其余依次排列的各交換節(jié)點(diǎn)接收到數(shù)據(jù)幀后,重復(fù)步驟(3),直至數(shù)據(jù) 幀傳送到目的節(jié)點(diǎn)。
3、 根據(jù)權(quán)利要求2所述的基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法,其特征在于所 述步驟(3)中交換優(yōu)先級(jí)調(diào)節(jié)的步驟為① 于交換節(jié)點(diǎn)中建立與每個(gè)輸入端口對(duì)應(yīng)的VOQ隊(duì)列以及與每個(gè)輸出端口唯一對(duì) 應(yīng)的調(diào)度鏈表和時(shí)延鏈表,輸入端口與輸出端口之間設(shè)有緩存交叉鏈路;② 交換節(jié)點(diǎn)根據(jù)所接收到數(shù)據(jù)幀的時(shí)間壓力在VOQ隊(duì)列中找一個(gè)最佳放置位置, 然后從與輸出端口對(duì)應(yīng)調(diào)度鏈表的最后一項(xiàng)開始向前查詢放置位置,當(dāng)査詢到第一個(gè)無 效放置位置時(shí),在該無效位置與相鄰前一個(gè)有效位置之間插入新位置作為最佳插入位置, 否則把最前面時(shí)間壓力最大的表項(xiàng)位置作為最佳插入位置,并結(jié)束査找過程,然后更新 已査找到的最佳放置位置表項(xiàng)之后的各個(gè)數(shù)據(jù)幀時(shí)間壓力值,即將最后一個(gè)表項(xiàng)到査找 到的最佳放置位置表項(xiàng)之間數(shù)據(jù)幀時(shí)間壓力值都減去接收數(shù)據(jù)幀調(diào)度時(shí)間(當(dāng)結(jié)果小于 零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀調(diào)度時(shí)間=數(shù)據(jù)幀長(zhǎng)度*交叉鏈路調(diào)度 l字節(jié)數(shù)據(jù)所需的時(shí)間;③ 將VOQ隊(duì)列中的數(shù)據(jù)幀依次調(diào)度到緩存交叉鏈路的交叉節(jié)點(diǎn)緩存中; 將交叉節(jié)點(diǎn)緩存中的數(shù)據(jù)幀依次調(diào)度給交換節(jié)點(diǎn)的輸出端口。
4、 根據(jù)權(quán)利要求3所述的基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法,其特征在于所 述將交叉節(jié)點(diǎn)緩存中的數(shù)據(jù)幀依次調(diào)度給交換節(jié)點(diǎn)輸出端口的過程中包括以下步驟-① 首先檢測(cè)該端口對(duì)應(yīng)的調(diào)度鏈表是否為空,當(dāng)不為空時(shí),取出排在隊(duì)頭的第一個(gè) 表項(xiàng),提取出數(shù)據(jù)幀的輸入端口號(hào);② 根據(jù)數(shù)據(jù)幀的輸入端口號(hào)和當(dāng)前調(diào)度器所在的輸出端口號(hào)從對(duì)應(yīng)的交叉節(jié)點(diǎn)緩 存中提取數(shù)據(jù)幀頭信息;③ 根據(jù)數(shù)據(jù)幀頭信息從時(shí)延鏈表中提取該幀的到達(dá)時(shí)間以及幀到達(dá)輸入端口時(shí)的 總交換時(shí)延、總節(jié)點(diǎn)數(shù)和期望平均交換時(shí)延; 輸出調(diào)度器提取時(shí)間單元的當(dāng)前時(shí)間作為數(shù)據(jù)幀的離開時(shí)間,并由數(shù)據(jù)幀的離開 時(shí)間減去幀的到達(dá)時(shí)間得到數(shù)據(jù)幀在當(dāng)前交換設(shè)備中產(chǎn)生的實(shí)際交換時(shí)延;⑤將總交換時(shí)延加上實(shí)際交換時(shí)延得出新的總交換時(shí)延,以及將總節(jié)點(diǎn)數(shù)加l,更 新數(shù)據(jù)幀的總交換時(shí)延和總節(jié)點(diǎn)數(shù)兩個(gè)域,然后將數(shù)據(jù)幀傳出;◎從調(diào)度鏈表隊(duì)頭的第二項(xiàng)開始,向后依次將表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)幀時(shí)間壓力值減去第 一個(gè)表項(xiàng)數(shù)據(jù)幀調(diào)度時(shí)間(當(dāng)結(jié)果小于零時(shí),置數(shù)據(jù)幀時(shí)間壓力值為0),其中數(shù)據(jù)幀調(diào) 度時(shí)間=數(shù)據(jù)幀長(zhǎng)度*交叉鏈路調(diào)度1字節(jié)數(shù)據(jù)所需的時(shí)間;⑦刪除調(diào)度鏈表和時(shí)延鏈表中第一個(gè)表項(xiàng)。
5、 一種基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換裝置,其特征在于它包括交換模塊、 時(shí)間模塊、存儲(chǔ)單元、PHY器件組,時(shí)間模塊與交換模塊的輸入端相連,PHY器件組與交換模塊的輸出端相連,所述交換模塊包括交換單元、用來與時(shí)間模塊相連的時(shí)間單元 以及用來與PHY器件相連的若干個(gè)MAC,所述交換單元的輸入端口和輸出端口之間包 括若干組依次相連的輸入控制器、輸入調(diào)度器和輸出調(diào)度器,輸入調(diào)度器與輸出調(diào)度器 之間設(shè)有緩存交叉鏈路單元,所述存儲(chǔ)單元包括與每個(gè)輸入端口對(duì)應(yīng)相連的VOQ隊(duì)列單 元以及與每個(gè)輸出端口唯一對(duì)應(yīng)相連的調(diào)度鏈表單元和時(shí)延鏈表單元。
6、根據(jù)權(quán)利要求5所述的基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換裝置,其特征在于 所述輸入控制器的輸出端分別與VOQ隊(duì)列單元、調(diào)度鏈表單元以及時(shí)延鏈表單元的輸入 端相連,輸入調(diào)度器的輸入端與VOQ隊(duì)列單元的輸出端相連,調(diào)度鏈表單元的輸出端與 輸入調(diào)度器和輸出調(diào)度器相連,時(shí)延鏈表單元的輸出端與輸入調(diào)度器和輸出調(diào)度器相連。
全文摘要
一種基于時(shí)間壓力的時(shí)間確定性數(shù)據(jù)交換方法及交換裝置,在由交換節(jié)點(diǎn)構(gòu)建的網(wǎng)絡(luò)環(huán)境中,實(shí)時(shí)測(cè)量各個(gè)數(shù)據(jù)幀經(jīng)過各交換節(jié)點(diǎn)傳輸所產(chǎn)生的總交換時(shí)延以及所經(jīng)過的交換節(jié)點(diǎn)數(shù),并記錄到數(shù)據(jù)幀一并進(jìn)行傳遞,每個(gè)交換節(jié)點(diǎn)根據(jù)數(shù)據(jù)幀的實(shí)際傳輸時(shí)延要求和數(shù)據(jù)幀中所記錄的上述交換節(jié)點(diǎn)數(shù)和總交換時(shí)延計(jì)算出該數(shù)據(jù)幀的交換時(shí)間壓力,并基于該時(shí)間壓力對(duì)數(shù)據(jù)幀的交換優(yōu)先級(jí)進(jìn)行調(diào)節(jié)控制,從而保證數(shù)據(jù)幀的所需的傳輸時(shí)延要求。該交換裝置包括交換模塊、時(shí)間模塊、存儲(chǔ)單元和PHY器件組。本發(fā)明能夠?qū)崿F(xiàn)了多個(gè)交換設(shè)備之間交換時(shí)延的動(dòng)態(tài)協(xié)調(diào)、能夠保證數(shù)據(jù)端到端傳輸時(shí)延的確定性和一致性、從而提高整體傳輸效率和穩(wěn)定性。
文檔編號(hào)H04L12/56GK101257442SQ200810030990
公開日2008年9月3日 申請(qǐng)日期2008年4月3日 優(yōu)先權(quán)日2008年4月3日
發(fā)明者喬純捷, 明德祥, 俊 楊, 楊建偉, 王躍科, 鐘小鵬, 陳建云, 飛 黃 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)