的自適應(yīng)路由算法??梢愿鶕?jù)網(wǎng)絡(luò)狀態(tài)動(dòng)態(tài)調(diào)整路由路徑,實(shí)際效果表明該路由算法可以提高吞吐量和降低網(wǎng)路延時(shí)。該算法具有順時(shí)針、逆時(shí)針和對(duì)面三個(gè)方向的出口通道,還有垂直方向的通道。數(shù)據(jù)包首先在垂直方向進(jìn)行確定性路由,到達(dá)目的層之后再根據(jù)鏈路利用率自適應(yīng)選擇二維路由算法路由到目的節(jié)點(diǎn),可以平衡網(wǎng)絡(luò)中的流量分布。
[0094]基于上述技術(shù)方案,本發(fā)明的另一具體實(shí)施例還可以包括:
[0095]在垂直方向建立兩路虛通道;
[0096]當(dāng)所述源節(jié)點(diǎn)的垂直位置值大于所述目的節(jié)點(diǎn)的垂直位置值,則使用第一虛通道;
[0097]當(dāng)所述源節(jié)點(diǎn)的垂直位置值小于所述目的節(jié)點(diǎn)的垂直位置值,則使用第二虛通道;
[0098]和/或,在水平方向建立兩路虛通道;
[0099]當(dāng)所述第一位置的水平位置值大于所述目的節(jié)點(diǎn)的水平位置值,則使用第一虛通道;
[0100]當(dāng)所述第一位置的水平位置值小于所述目的節(jié)點(diǎn)的水平位置值,則使用第二虛通道。
[0101]由于拓?fù)淅锼械奈锢硗ǖ婪譃閮蓚€(gè)虛通道,并在算法中建立虛通道的使用順序。在垂直方向可以首先比較垂直方向源坐標(biāo)和目的節(jié)點(diǎn)坐標(biāo)的大小。如果源坐標(biāo)大于目的節(jié)點(diǎn)坐標(biāo),則使用第一虛通道VC1,而相反則使用第二虛通道VC2。在水平方向也使用相同的判斷方法。此時(shí)在虛通道內(nèi)數(shù)據(jù)只能向一個(gè)方向流動(dòng)而不會(huì)產(chǎn)生通道閉環(huán)情況,從而保證了該方法中沒(méi)有死鎖。
[0102]即基于V-Spidergon拓?fù)浣Y(jié)構(gòu)使用虛信道來(lái)避免死鎖問(wèn)題,在輸出隊(duì)列緩沖中建立兩個(gè)獨(dú)立的微片緩沖區(qū)來(lái)避免路徑中的環(huán)形鏈路依賴(lài)的出現(xiàn)。
[0103]基于上述技術(shù)方案,本發(fā)明又一具體實(shí)施例在當(dāng)所述預(yù)定水平層路由算法包括第一預(yù)定算法和第二預(yù)定算法時(shí),還可以包括:
[0104]當(dāng)存在所述第一位置到所述目的節(jié)點(diǎn)的路徑跳數(shù)相同時(shí),比較兩條路徑的輸出端口的緩存使用量,并使用緩存使用量小的輸出端口所在路徑,將所述第一位置移動(dòng)到所述目的節(jié)點(diǎn)。
[0105]該算法自適應(yīng)搜索源節(jié)點(diǎn)與目的地節(jié)點(diǎn)之間的等效最小路徑,當(dāng)存在兩條完全等效的路徑時(shí),路由算法根據(jù)輸出端口的緩沖使用情況選擇負(fù)載較輕的端口作為輸出端口,以平衡網(wǎng)絡(luò)中的流量分布。
[0106]其中,路由算法選擇最短路徑來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸,所以在節(jié)點(diǎn)水平距離dist小于m/4、大于3m/4和等于m/2時(shí)選擇固定端口作為輸出端口。而在其它情況下,拓?fù)浯嬖趦蓷l完全等效的路徑,數(shù)據(jù)流向如圖2和圖3所示,則根據(jù)輸出端口的緩沖區(qū)使用情況選擇負(fù)載較輕的端口作為輸出端口,以平衡網(wǎng)絡(luò)中的流量分布。
[0107]基于上述技術(shù)方案,本發(fā)明再一具體實(shí)施例在上述任意一個(gè)實(shí)施例的基礎(chǔ)上還可以包括:
[0108]當(dāng)垂直總線負(fù)載大于閾值時(shí),通過(guò)水平子層確定空閑總線。
[0109]考慮到鏈路擁塞狀態(tài)和均衡網(wǎng)路流量,在總線負(fù)載較高的情況下可以先通過(guò)水平子層尋找空閑垂直總線,以減小總線負(fù)載,防止出現(xiàn)鏈路擁塞。
[0110]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的確定片上網(wǎng)絡(luò)路由路徑的方法,該方法適用于V-Spidergon混合型三維網(wǎng)絡(luò)結(jié)構(gòu)的自適應(yīng)路由算法??梢愿鶕?jù)網(wǎng)絡(luò)狀態(tài)動(dòng)態(tài)調(diào)整路由路徑,實(shí)際效果表明該路由算法可以提高吞吐量和降低網(wǎng)路延時(shí)。該算法具有順時(shí)針、逆時(shí)針和對(duì)面三個(gè)方向的出口通道,還有垂直方向的通道。數(shù)據(jù)包首先在垂直方向進(jìn)行確定性路由,到達(dá)目的層之后再根據(jù)鏈路利用率自適應(yīng)選擇二維路由算法路由到目的節(jié)點(diǎn),可以平衡網(wǎng)絡(luò)中的流量分布。拓?fù)淅锼械奈锢硗ǖ婪譃閮蓚€(gè)虛通道,并在算法中建立虛通道的使用順序來(lái)避免死鎖情況的發(fā)生;在存在兩條完全等效的路徑時(shí),路由算法根據(jù)輸出端口的緩沖使用情況選擇負(fù)載較輕的端口作為輸出端口,以平衡網(wǎng)絡(luò)中的流量分布;在總線負(fù)載較高的情況下可以先通過(guò)水平子層尋找空閑垂直總線,以減小總線負(fù)載,防止出現(xiàn)鏈路擁塞。
[0111]本發(fā)明實(shí)施例提供了確定片上網(wǎng)絡(luò)路由路徑的方法,可以通過(guò)上述方法能夠根據(jù)網(wǎng)絡(luò)狀態(tài)動(dòng)態(tài)調(diào)整路由路徑。
[0112]下面對(duì)本發(fā)明實(shí)施例提供的確定片上網(wǎng)絡(luò)路由路徑的系統(tǒng)進(jìn)行介紹,下文描述的確定片上網(wǎng)絡(luò)路由路徑的系統(tǒng)與上文描述的確定片上網(wǎng)絡(luò)路由路徑的方法可相互對(duì)應(yīng)參照。
[0113]請(qǐng)參考圖4,圖4為本發(fā)明實(shí)施例所提供的確定片上網(wǎng)絡(luò)路由路徑的系統(tǒng)的結(jié)構(gòu)框圖;該系統(tǒng)可以包括:
[0114]垂直移動(dòng)模塊100,用于從源節(jié)點(diǎn)所在的垂直總線上移動(dòng)到目的節(jié)點(diǎn)所在的垂直總線上,到達(dá)目的水平層的第一位置;
[0115]計(jì)算模塊200,用于根據(jù)所述第一位置的水平位置值與所述目的節(jié)點(diǎn)的水平位置值,計(jì)算得到所述第一位置到所述目的節(jié)點(diǎn)的水平跳數(shù);
[0116]水平移動(dòng)模塊300,用于根據(jù)所述水平跳數(shù)與所述水平層的節(jié)點(diǎn)總數(shù),按照預(yù)定水平層路由算法,得到從所述第一位置到達(dá)所述目的節(jié)點(diǎn)的水平路徑。
[0117]優(yōu)選的,所述水平移動(dòng)模塊300包括:第一預(yù)定算法單元和/或第二預(yù)定算法單元;其中,
[0118]所述第一預(yù)定算法單元包括:
[0119]第一計(jì)算單元,用于將所述水平跳數(shù)與所述水平層的節(jié)點(diǎn)總數(shù)相除;
[0120]第一移動(dòng)單元,用于當(dāng)相除的結(jié)果不大于四分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),按照順時(shí)針移動(dòng)到所述目的節(jié)點(diǎn);當(dāng)相除的結(jié)果不小于四分之三所述水平層的節(jié)點(diǎn)總數(shù)時(shí),按照順時(shí)針移動(dòng)到所述目的節(jié)點(diǎn);當(dāng)相除的結(jié)果大于四分之一且小于二分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),將所述第一位置移動(dòng)到對(duì)面的第二位置,將所述第二位置按照順時(shí)針移動(dòng)到所述目的節(jié)點(diǎn);其中,所述移動(dòng)到對(duì)面中間節(jié)點(diǎn)具體為:計(jì)算出所述第一位置到距所述目的節(jié)點(diǎn)具有二分之一所述水平層的節(jié)點(diǎn)總數(shù)的中間節(jié)點(diǎn)的跳數(shù),將所述第一位置移動(dòng)到按順時(shí)針距所述目的節(jié)點(diǎn)具有相同跳數(shù)的第二位置;當(dāng)相除的結(jié)果小于四分之三且大于二分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),將所述第一位置移動(dòng)到對(duì)面的第二位置,將所述第二位置按照順時(shí)針移動(dòng)到所述目的節(jié)點(diǎn);當(dāng)相除的結(jié)果等于二分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),將所述第一位置移動(dòng)到所述目的節(jié)點(diǎn);
[0121]所述第二預(yù)定算法單元包括:
[0122]第二計(jì)算單元,用于將所述水平跳數(shù)與所述水平層的節(jié)點(diǎn)總數(shù)相除;
[0123]第二移動(dòng)單元,用于當(dāng)相除的結(jié)果不大于四分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),按照順時(shí)針移動(dòng)到所述目的節(jié)點(diǎn);當(dāng)相除的結(jié)果不小于四分之三所述水平層的節(jié)點(diǎn)總數(shù)時(shí),按照順時(shí)針移動(dòng)到所述目的節(jié)點(diǎn);當(dāng)相除的結(jié)果大于四分之一且小于二分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),將所述第一位置按照順時(shí)針移動(dòng)到距所述目的節(jié)點(diǎn)具有二分之一所述水平層的節(jié)點(diǎn)總數(shù)的中間節(jié)點(diǎn),從所述中間節(jié)點(diǎn)移動(dòng)到所述目的節(jié)點(diǎn);當(dāng)相除的結(jié)果小于四分之三且大于二分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),將所述第一位置按照順時(shí)針移動(dòng)到距所述目的節(jié)點(diǎn)具有二分之一所述水平層的節(jié)點(diǎn)總數(shù)的中間節(jié)點(diǎn),從所述中間節(jié)點(diǎn)移動(dòng)到所述目的節(jié)點(diǎn);當(dāng)相除的結(jié)果等于二分之一所述水平層的節(jié)點(diǎn)總數(shù)時(shí),將所述第一位置移動(dòng)到所述目的節(jié)點(diǎn)。
[0124]優(yōu)選的,同時(shí)具有所述第一預(yù)定算法單元和所述第二預(yù)定算法單元,該系統(tǒng)還可以包括:
[0125]選擇模塊,用于當(dāng)存在所述第一位置到所述目的節(jié)點(diǎn)的路徑跳數(shù)相同時(shí),比較兩條路徑的輸出端口的緩存使用量,并使用緩存使用量小的輸出端口所在路徑,將所述第一位置移動(dòng)到所述目的節(jié)點(diǎn)。
[0126]優(yōu)選的,基于上述系統(tǒng),該系統(tǒng)還可以包括:
[0127]垂直通道模塊,用于在垂直方向建立兩路虛通道;當(dāng)所述源節(jié)點(diǎn)的垂直位置值大于所述目的節(jié)點(diǎn)的垂直位置值,則使用第一虛通道;當(dāng)所述源節(jié)點(diǎn)的垂直位置值小于所述目的節(jié)點(diǎn)的垂直位置值,則使用第二虛通道;和/或,
[0128]水平通道模塊,用于在水平方向建立兩路虛通道;當(dāng)所述第一位置的水平位置值大于所述目的節(jié)點(diǎn)的水平位置值,則使用第一虛通道;當(dāng)所述第一位置的水平位置值小于所述目的節(jié)點(diǎn)的水平位置值,則使用第二虛通道。
[0129]基于上述任意系統(tǒng),該系統(tǒng)還可以包括:
[0130]判定模塊,用于當(dāng)垂直總線負(fù)載大于閾值時(shí),通過(guò)水平子層確定空閑總線。
[0131]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供的確定片上網(wǎng)絡(luò)路由路徑的系統(tǒng),該系統(tǒng)適用于V-Spidergon混合型三維網(wǎng)絡(luò)結(jié)構(gòu)的自適應(yīng)路由算法??梢愿鶕?jù)網(wǎng)絡(luò)狀態(tài)動(dòng)態(tài)調(diào)整路由路徑,實(shí)際效果表明該路由算法可以提高吞吐量和降低網(wǎng)路延時(shí)。該算法具有順時(shí)針、逆時(shí)針和對(duì)面三個(gè)方向的出口通道,還有垂直方向的通道。數(shù)據(jù)包首先在垂直方向進(jìn)行確定性路由,到達(dá)目的層之后再根據(jù)鏈路利用率自適應(yīng)選擇二維路由算法路由到目的節(jié)點(diǎn),可以平衡網(wǎng)絡(luò)中的流量分布。拓?fù)淅锼械奈锢硗ǖ婪譃閮蓚€(gè)虛通道,并在算法中建立虛通道的使用順序來(lái)避免死鎖情況的發(fā)生;在存在兩條完全等效的路徑時(shí),路由算法根據(jù)輸出端口的緩沖使用情況選擇負(fù)載較輕的端口作為輸出端口,以平衡網(wǎng)絡(luò)中的流量分布;在總線負(fù)載較高的情況下可以先通過(guò)水平子層尋找空閑垂直總線