專利名稱:一種衛(wèi)星鏈路網(wǎng)絡(luò)連續(xù)狀態(tài)路由算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種衛(wèi)星鏈路網(wǎng)絡(luò)路由算法,屬于衛(wèi)星星座通信路由技術(shù)領(lǐng)域。
背景技術(shù):
路由算法是在網(wǎng)絡(luò)中根據(jù)一定指標(biāo)進(jìn)行路徑規(guī)劃的方法,路由設(shè)計即是利用路由 算法在網(wǎng)絡(luò)獲得最優(yōu)路徑的過程,也稱為路由優(yōu)化。衛(wèi)星星座在實(shí)現(xiàn)了星間鏈路之后形成 了一個鏈路網(wǎng)絡(luò)。這一網(wǎng)絡(luò)區(qū)別于一般地面交通網(wǎng)絡(luò)和計算機(jī)網(wǎng)絡(luò)在于其拓?fù)浣Y(jié)構(gòu)的時變 動態(tài)特點(diǎn),表現(xiàn)為衛(wèi)星之間的鏈路和衛(wèi)星與地面終端之間的鏈路不但長度時變而且壽命有 限。鏈路壽命有限是指鏈路的連通持續(xù)時間有限,鏈路因此在連通與無連通兩種狀態(tài)之間 切換。衛(wèi)星鏈路網(wǎng)絡(luò)這一時變特點(diǎn)使得其路由問題不能用一般的路由算法解決。國內(nèi)外學(xué)者針對衛(wèi)星鏈路網(wǎng)絡(luò)提出了大量的路由算法。這些算法都基于對衛(wèi)星鏈 路網(wǎng)絡(luò)的離散狀態(tài)仿真之上。離散狀態(tài)仿真通過將整個仿真時間劃分成小區(qū)間,在每個區(qū) 間端點(diǎn)上更新網(wǎng)絡(luò)結(jié)構(gòu)狀態(tài)信息,從而將網(wǎng)絡(luò)拓?fù)涞倪B續(xù)演變離散成一系列靜止的瞬間狀 態(tài)。傳統(tǒng)的衛(wèi)星鏈路網(wǎng)絡(luò)路由算法即在這些離散的靜態(tài)拓?fù)渖蠎?yīng)用一般的路由算法在每一 個時間區(qū)間內(nèi)進(jìn)行路徑規(guī)劃,獲得路徑片段。最后通過串聯(lián)各個區(qū)間的路徑片段完成整個 仿真時間內(nèi)的全路徑。Noakes,M. D. ;Cain, J. B. ;et al,An adaptive link assignment algorithm for dynamically changing topologies.IEEE Trans. Communications, vol.41, May 1993, Page(s) :694-706 一文最先提出了將衛(wèi)星鏈路網(wǎng)絡(luò)的連續(xù)狀態(tài)演變過程離散化的思想。Chang, H. S. ;Kim, B. W. ;Lee, C. G. ;et al, FSA-based link assignment and routing in low-Earth orbit satellite networks. IEEE Trans.Vehicular Technology, vol.47, August 1998,Page (s) :1037-1048 中將有限狀態(tài)機(jī)原理 Finite State Automaton(FSA)應(yīng)用于衛(wèi)星鏈路網(wǎng)絡(luò)動態(tài)仿真,提出了基于這一仿真的路由算法。FSA仿 真中將仿真時間按等長度劃分成區(qū)間,定時更新衛(wèi)星網(wǎng)絡(luò)拓?fù)洹5捎趬勖邢?,有些鏈?在某一區(qū)間內(nèi)部發(fā)生狀態(tài)轉(zhuǎn)換,這種情況下,這些鏈路無法持續(xù)當(dāng)前整個區(qū)間,表現(xiàn)為不完 整鏈路。由于FSA路由算法將在區(qū)間端點(diǎn)更新的網(wǎng)絡(luò)拓?fù)洚?dāng)作靜態(tài)結(jié)構(gòu)進(jìn)行路徑規(guī)劃,所 以這種不完整鏈路嚴(yán)重影響路徑規(guī)劃的準(zhǔn)確性。因此,Chang提出的FSA算法規(guī)定舍棄所 有不完整鏈路。這種處理忽略了一些鏈路信息,無法保證路由設(shè)計結(jié)果的最優(yōu)性,而且會導(dǎo) 致某些區(qū)間出現(xiàn)偽無連通現(xiàn)象,即因?yàn)樯釛壛怂胁煌暾溌范鴮?dǎo)致某個區(qū)間不存在任何 鏈路的情況。Gounder, V. V. ;Prakash, R. ;Abu-Amara, H. , Routing in LEO-based satellite networks.Proceeding of IEEE Emerging Technologies Symposium, Wireless Communications and Systems, Richardson, 1999, Page (s) :91-96 中提出了另一種針對衛(wèi) 星鏈路網(wǎng)絡(luò)的離散狀態(tài)仿真方法,后被稱為快照法??煺辗ㄡ槍SA方法的不足,靈活處理 區(qū)間長度,讓區(qū)間端點(diǎn)與鏈路狀態(tài)切換時刻保持一致。即當(dāng)網(wǎng)絡(luò)中任何一條鏈路發(fā)生狀態(tài) 切換,則結(jié)束當(dāng)前區(qū)間,開始新區(qū)間,并更新網(wǎng)絡(luò)拓?fù)湫畔??;诳煺辗ǖ穆酚伤惴ㄒ虼四軌虮4嫱暾逆溌沸畔?,但是由于鏈路狀態(tài)切換頻繁,區(qū)間和路徑片段數(shù)目巨大,算法效率 低下。隨后開發(fā)的各類路由算法都無一例外地基于FSA或快照法仿真。由于這兩種仿真 方法都使用了離散狀態(tài),即在同一區(qū)間內(nèi)將網(wǎng)絡(luò)拓?fù)湟曌黛o止,因此這些路由算法都忽略 了鏈路長度的動態(tài)信息,在以時延為指標(biāo)的路由設(shè)計中,結(jié)果存在較大誤差。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服以上基于離散狀態(tài)的路由算法的缺點(diǎn),提供了一種連續(xù) 狀態(tài)路由算法。本發(fā)明所述算法不對仿真時間進(jìn)行區(qū)間劃分,而在整個仿真時間內(nèi)一次性 操作,記錄網(wǎng)絡(luò)的拓?fù)溲葑冃畔?、搜索路徑并進(jìn)行全路徑優(yōu)化整合。本發(fā)明所述的一種衛(wèi)星鏈路網(wǎng)絡(luò)連續(xù)狀態(tài)路由算法,包括以下具體步驟步驟一、建立鏈路狀態(tài)切換表。在整個仿真時間內(nèi)記錄所有鏈路狀態(tài)切換時刻并 分別用“ 1,,和“-1,,標(biāo)記每一條鏈路連通區(qū)間的起點(diǎn)與終點(diǎn)Lij = Linkij (Si, Sj, to, ‘ 1',、,' ,t3,' 1',...,tn,' 1',tn+1,' } (1)式中,SjPS」為衛(wèi)星或地面點(diǎn)的編號,Lij為51與1之間的鏈路,LinkijH]為 鏈路Lu的信息集合,、,…,tn+1為鏈路狀態(tài)切換時刻點(diǎn)。鏈路Lu在整個仿真時間內(nèi)的連 通區(qū)間可表示為L (Si, Sj) = [t0 tj U [t3 t4] U …U [tn tn+1] (2)步驟二、搜索和記錄路徑。在整個仿真時間內(nèi)按給定的通信線路起點(diǎn)和終點(diǎn)搜索 路徑,記錄路徑連通區(qū)間,即路徑壽命的起始時刻與終止時刻,并按從線路起點(diǎn)至終點(diǎn)的順 序記錄路徑中包含的衛(wèi)星的編號Pi = PathJSil, -Sin, ti0, ‘ 1',tn,‘} (3)式中,Pi為搜索到的第i條路徑,ti(l和tn分別為路徑壽命的起始和終止時刻。這 兩個時刻可由路徑中所包含的鏈路的連通區(qū)間的交集確定[tl0 (1]Q Au2AAh3 門…門 A( -I),m(4)式中右端交集可能不止一個區(qū)間,將每一個交集區(qū)間作為一條獨(dú)立路徑的連通區(qū) 間存儲,[ti(l tn]因此只取其中一個交集區(qū)間,其它區(qū)間存為新路徑。將所有獨(dú)立路徑存入 路徑庫。步驟三、進(jìn)行路徑過濾。從第二條路徑開始,每次搜索到一條新路徑Pi,則在路徑 庫中進(jìn)行雙向路徑過濾。首先檢查路徑庫中是否存在一條路徑pk,使得以下兩個條件同時 成立(1)[“ Λ](2) {Skl,-,Skm}^{Sa,-,Sin}若是,則拋棄路徑Pi,否則將Pi存入路徑庫,并反過來檢查路徑庫中的任一條除Pi 之外的路徑Pk是否同時滿足(1)[“ &][[。 Λ](2) {Skl,-,Skm}^{Sa,-,Sin}若是,則將路徑Pk從路徑庫中刪除。路徑雙向過濾是基于路徑擇優(yōu)原理若路徑
4Pi與路徑Pj服務(wù)于同一時間段并且Pi的服務(wù)時間覆蓋了 Pj的服務(wù)時間且Pi所用的衛(wèi)星是 Pj所用衛(wèi)星的子集,則路徑Pi優(yōu)于路徑P」。步驟四、進(jìn)行全路徑整合。將每一條路徑當(dāng)作一個節(jié)點(diǎn),在路徑庫中應(yīng)用Dijkstra 最短路徑算法進(jìn)行路徑串聯(lián),完成全路徑的整合。其中,Dijkstra算法中的路徑長度值以 相應(yīng)的路由優(yōu)化指標(biāo)如時延或鏈路切換數(shù)代替。在計算時延時,應(yīng)用積分方法根據(jù)鏈路長 度的動態(tài)演變信息計算。Pi = PathJSil,…,Sin, ti(1,‘ 1',tn,‘ -1',Ii, j} (5)式中,Ii為該路徑的優(yōu)化指標(biāo)值,j為其所銜接的前一路徑的編號。本發(fā)明的優(yōu)點(diǎn)在于(1)在整個仿真時間內(nèi)完整地保存了衛(wèi)星鏈路網(wǎng)絡(luò)拓?fù)涞膭討B(tài)信息,保證了路由 優(yōu)化結(jié)果的有效性和準(zhǔn)確性;(2)通過記錄鏈路狀態(tài)切換時刻點(diǎn),用簡單的數(shù)據(jù)信息追蹤了網(wǎng)絡(luò)的動態(tài),同時方 便于使用區(qū)間求交集的方法計算路徑的連通性;(3)引進(jìn)路徑過濾環(huán)節(jié),提前篩選路徑,為全路徑整合減輕工作量。(4)路由設(shè)計結(jié)果更優(yōu)。
圖1 (a)是基于FSA的路由算法的區(qū)間劃分和路徑處理;圖1 (b)是基于快照法的路由算法的區(qū)間劃分和路徑處理;圖2是本發(fā)明所述路由算法在整個仿真周期內(nèi)的路徑登記;圖3是本發(fā)明所述路由算法的流程圖;圖4是本發(fā)明實(shí)施例中本算法與FSA算法的路由優(yōu)化結(jié)果比較。
具體實(shí)施例方式下面根據(jù)附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。本發(fā)明是一種針對傳統(tǒng)的衛(wèi)星鏈路網(wǎng)絡(luò)路由算法的不足提出的連續(xù)狀態(tài)路由算 法。圖1(a)、(b)給出了傳統(tǒng)的路由算法對衛(wèi)星鏈路動態(tài)網(wǎng)絡(luò)所采用的兩種離散狀態(tài)仿真 方法的區(qū)間劃分規(guī)則與路徑處理方式。區(qū)別于這些路由算法,本發(fā)明所述的路由算法在整 個仿真時間里進(jìn)行路由設(shè)計,包括路徑搜索和全路徑整合,因此,每條獨(dú)立路徑的信息都得 到完整的登記,而不是按區(qū)間劃分成片段登記,如圖2所示。本發(fā)明是一種衛(wèi)星鏈路網(wǎng)絡(luò)連續(xù)狀態(tài)路由算法,算法流程如圖3所示,具體包括 以下步驟步驟一、建立鏈路狀態(tài)切換表。在整個仿真時間內(nèi)記錄所有鏈路狀態(tài)切換時刻并 分別用“ 1,,和“-1,,標(biāo)記每一條鏈路連通區(qū)間的起點(diǎn)與終點(diǎn)Lij = Linkij (Si, Sj, t0, ‘ 1',、,' ,t3,' 1',...,tn,' 1',tn+1,' } (1)式中,Si和h為衛(wèi)星或地面點(diǎn)的編號,Lij為Si與h之間的鏈路,Lin、!···}為鏈 路Lu的信息集合,、,…,tn+1為鏈路狀態(tài)切換時刻點(diǎn)。鏈路Lu在整個仿真時間內(nèi)的連通 區(qū)間可表示為
5
L (Si, Sj) = [t0 tj U [t3 t4] U …U [tn tn+1] (2)當(dāng)衛(wèi)星的軌道運(yùn)行周期與地球的自轉(zhuǎn)周期不相等的情況下,衛(wèi)星與地面用戶之間 的鏈路(稱為星地鏈路)在地心慣性坐標(biāo)系中的位置矢量隨時間變化。一般認(rèn)為,只有當(dāng) 星地鏈路與該地水平面之間的夾角即通信仰角大于一定值的情況下,鏈路才能連通。這一 邊界值稱為最小通信仰角。根據(jù)衛(wèi)星通信系統(tǒng)的最小通信仰角要求,可以在整個仿真時間 內(nèi)首先計算采樣時刻點(diǎn)星地鏈路的通信仰角,然后在兩個相鄰采樣點(diǎn)間進(jìn)行插值求出極值 點(diǎn),最后在兩個相鄰極值點(diǎn)之間再次插值找出通信仰角等于最小通信仰角的邊界點(diǎn),即星 地鏈路在連通與非連通兩種狀態(tài)之間切換的時刻點(diǎn)。星間鏈路的連通區(qū)間取決于天線的掃 描范圍與地球?qū)πl(wèi)星的阻擋即地球掩星,也包括強(qiáng)制關(guān)閉星間鏈路的情況,如“銥”星座為 了避免近極地區(qū)鏈路干擾而規(guī)定在60度緯度以上地區(qū)關(guān)閉星間鏈路。根據(jù)天線掃描范圍、 地球掩星條件以及強(qiáng)制關(guān)閉鏈路的規(guī)定可以用類似前面所述插值方法求出星間鏈路的狀 態(tài)切換時刻點(diǎn)。這些時刻點(diǎn)用“ 1,,標(biāo)記進(jìn)入連通狀態(tài),用“-1,,標(biāo)記結(jié)束連通狀態(tài),從而完 成連通區(qū)間的登記。由于衛(wèi)星的軌道運(yùn)行和地球的自轉(zhuǎn)都是周期性運(yùn)動,鏈路的狀態(tài)切換 也是周期性重復(fù)的。因此在整個仿真時間內(nèi),每一條鏈路的連通區(qū)間可能不止一個,但這些 區(qū)間不是連續(xù)的。一條鏈路在整個仿真時間內(nèi)的連通時間是這些區(qū)間的并,如式( 所示。步驟二、搜索和記錄路徑。在整個仿真時間內(nèi)按給定的通信線路起點(diǎn)和終點(diǎn)搜索 路徑,記錄路徑連通區(qū)間,即路徑壽命的起始時刻與終止時刻,并按從線路起點(diǎn)至終點(diǎn)的順 序記錄路徑中包含的衛(wèi)星的編號Pi = PathJSil, ...Sin,ti(1,‘ 1',tn,‘} (3)式中,Pi為搜索到的第i條路徑,ti(l和tn分別為路徑壽命的起始和終止時刻。這 兩個時刻可由路徑中所包含的鏈路的連通區(qū)間的交集確定[tl0門 A2,,3 門…門 A( -I),m(4)式中右端交集可能不止一個區(qū)間,將每一個交集區(qū)間作為一條獨(dú)立路徑的連通區(qū) 間存儲,[ti(l tn]因此只取其中一個交集區(qū)間,其它區(qū)間存為新路徑。將所有獨(dú)立路徑存入 路徑庫。根據(jù)鏈路信息表,首先可以為每一顆衛(wèi)星或每一個地面點(diǎn)建立一個鄰星集,里面 存放了在整個仿真時間內(nèi)該星或該地能夠鏈接到的衛(wèi)星信息以及相應(yīng)的連通區(qū)間。根據(jù)這 些鄰星關(guān)系,應(yīng)用樹式的搜索法,可以搜索到連接兩個地面用戶的路徑。一條路徑能連通當(dāng) 且僅當(dāng)路徑中所有的鏈路都處在連通狀態(tài),因此,路徑的連通區(qū)間是它所包含的所有鏈路 的連通區(qū)間的交集。這一交集可能包含兩個以上的不連續(xù)區(qū)間。為了方便整合全路徑,將 交集中的每一個區(qū)間登記為一條獨(dú)立的路徑。路徑在路徑庫中按其壽命的起點(diǎn)時刻先后順 序存放。步驟三、進(jìn)行路徑過濾。從第二條路徑開始,每次搜索到一條新路徑Pi,則在路徑 庫中進(jìn)行雙向路徑過濾。首先檢查路徑庫中是否存在一條路徑pk,使得以下兩個條件同時 兩足(1)[“ Λ](2) {Skl,-,Skm}^{Sa,-,Sin}若是,則拋棄路徑Pi,否則將Pi存入路徑庫,并反過來檢查路徑庫中的任一條除Pi 之外的路徑Pk是否同時滿足
(1)[“ ][[ ](2) {Skl,-,Skm}^{Sa,-,Sin}若是,則將路徑Pk從路徑庫中刪除。路徑雙向過濾是基于路徑擇優(yōu)原理若路徑 Pi與路徑Pj服務(wù)于同一時間段并且Pi的服務(wù)時間覆蓋了 Pj的服務(wù)時間且Pi所用的衛(wèi)星是 Pj所用衛(wèi)星的子集,則路徑Pi優(yōu)于路徑P」。步驟四、進(jìn)行合路徑整合。將每一條路徑當(dāng)作一個節(jié)點(diǎn),在路徑庫中應(yīng)用Dijkstra 最短路徑算法進(jìn)行路徑串聯(lián),完成全路徑的整合。其中,Dijkstra算法中的路徑長度值以 相應(yīng)的路由優(yōu)化指標(biāo)如時延或鏈路切換數(shù)代替。在計算時延時,應(yīng)用微積分方法根據(jù)鏈路 長度的動態(tài)演變信息計算。Pi = PathJSil, ...,Sin,ti0,‘ 1',tn,‘ ,Ii, j} (5)式中,Ii為該路徑的優(yōu)化指標(biāo)值,j為其所銜接的前一路徑的編號。路由算法必 須有一定的指標(biāo),本發(fā)明的連續(xù)狀態(tài)路由算法可以適用于各種指標(biāo),只需要在最后路徑整 合的過程中計算出相應(yīng)的指標(biāo)值作為Dijkstra最短路徑算法的“路徑長度”。常用的路由 指標(biāo)有切換數(shù)和時延。全路徑的整合即根據(jù)一定的指標(biāo)在路徑庫中選擇路徑進(jìn)行組合,從 而使得全路徑最優(yōu),如時延最小或切換數(shù)最。以時延作指標(biāo)為例,路徑整合的過程如下。首 先,應(yīng)用積分計算壽命起始時刻與仿真起點(diǎn)一致的所有路徑在其連通區(qū)間內(nèi)的總時延???時延為瞬時時延在連通區(qū)間內(nèi)的積分。其次,按壽命起始時間先后順序?yàn)槁窂綆斓拿恳粭l 路徑尋找最優(yōu)前一路徑,即在它所能銜接上的所有路徑中選擇時延累計最小者,然后在當(dāng) 前路徑中記錄該最優(yōu)前一路徑的編號,并將當(dāng)前路徑的總時延加上該最優(yōu)前一路徑的時延 累計記錄為當(dāng)時路徑的時延累計值。依次類似,直到路徑庫中的路徑都得到相應(yīng)指標(biāo)值,并 且記錄了最優(yōu)前一路徑的編號。最后,在所有壽命終點(diǎn)與仿真結(jié)束時刻一致的路徑中尋找 時延累計最小者,并根據(jù)它所記錄的最優(yōu)前一路徑的編號找到前一路徑,再依次讀取其前 一路徑的編號,最終可得到最優(yōu)全路徑所包含的所有路徑。以切換數(shù)為路由指標(biāo),則要計算 從前一路徑轉(zhuǎn)接到當(dāng)前路徑需要進(jìn)行的鏈路切換次數(shù)。例如從路徑Pi (S1A3, S5)轉(zhuǎn)接到路 ^Pi (S1, S4, &),需要經(jīng)過兩次鏈路切換實(shí)現(xiàn)。路徑中記錄的同樣為最小切換數(shù)累計。實(shí)施例以一個小型LEO玫瑰星座為例。該星座構(gòu)形參數(shù)為42° :32/4/1,軌道 高度為 7 千米;最小通信仰角為10°,每星有兩條軌內(nèi)星間鏈路,兩條軌際星間鏈路, 無強(qiáng)制關(guān)閉規(guī)定。仿真時間長2小時。線路兩地面終端的地理位置為A(0° E,20° N)和 B(120° Ε,50° N)。以切換數(shù)作為路由優(yōu)化指標(biāo)。步驟一、建立鏈路狀態(tài)切換表。在2個小時的仿真時間內(nèi)計算鏈路的連通區(qū)間。......LA,28 = LinkA,28{SA,S28,0.0, ‘ 1' , 174. 235, ‘ _1 ‘ ,6480.908, ‘ 1', 7127.136,‘ -1' }......LBj10 = LinkBjl0{SB, S10,0.0, ‘ 1' ,385. 135, ‘ _1 ‘ ,6572. 708, ‘ 1', 7200.0,‘ -1' }......L3,10 = Link3,10{S3,S10,0,‘ 1',3600,‘}......
L3j27 = Link3j27IS3, S27,0, ‘ 1',3600,‘}......Lloai = Link10ai{S10, S11,0, ‘ 1',3600,‘}......L27j28 = Link27j28{S27, S28,0, ‘ 1' ,3600,‘ -1' }......步驟二、搜索和記錄路徑。在整個仿真時間內(nèi)搜索路徑,將每一個連通區(qū)間存作一 條獨(dú)立的路徑。路徑在路徑庫中按其壽命起始時刻先后順序存放。由上面所列五條鏈路構(gòu) 成的兩條路徑,在路徑庫分別存為第3號和第321號。由于所有路徑都是從終端A至終端 B的路徑,故地面點(diǎn)編號可以忽略。P1 = Path1IS28, S4, S11,0. 0, ‘ 1' , 174. 236, ‘}P2 = Path2IS28, S27, S3, S4, S11,0. 0, ‘ 1' , 174. 236, ‘}P3 = Path3IS28, S27, S3, S10, S11,0. 0, ‘ 1' , 174. 236, ‘}......P321 = Path321IS28, S27, S3, S10, S11,6572. 708, ‘ 1' ,7127. 136, ‘}......步驟三、進(jìn)行路徑過濾。將搜索到的新路徑與路徑庫中的已存路徑進(jìn)行對比,擇優(yōu) 保存。搜索到新路徑Pnew= I^athnew {S8,S1, S16J23, 2106. 931,' 1' ,2256. 954, ‘ -1' }但路徑庫中存在PM= I^ath34 IS8iS1, S16, 2097. 485,‘ 1' ,2633. 823, ‘ -1' }因?yàn)閇2097.485 2633.823]〕[2106.931 2256.954]且^1,^16) [ ^1,^16,^23),所 以舍棄Pnrat,不將之存入路徑庫。搜索到新路徑Pnew= I^athnew (S1。,S11, S12,5676. 253,‘ 1' ,6500.990, ‘ -1' }, 經(jīng)比較,路徑庫中沒有能夠?qū)nrat排除的路徑,于是將Pnrat按其起始時間插入到路徑庫中第 120號的位置,即P120 = Path120IS10, S11, S12,5676. 253, ‘ 1' ,6500. 990, ‘}于是從第121號開始,將每一條路徑與P12tl進(jìn)行對比,發(fā)現(xiàn)P125 = Path125IS4, S3, S10, S11, S12,5728. 929, ‘ 1' ,6299. 616, ‘}因?yàn)閇5676253 6500.990]〕[5728.929 6299.616]且 ( , , }^ , , , , },所以將Pim從路徑庫中刪除。當(dāng)在路徑庫中插入新路徑或 刪除已存放的路徑時,該位置之后的路徑相應(yīng)順序下移或上移。步驟四、進(jìn)行全路徑整合。為路徑庫中每一條路徑計算其指標(biāo)值,在本實(shí)施例中為 切換數(shù)累計,并選取其最優(yōu)前一路徑。最優(yōu)前一路徑是指當(dāng)銜接在該路徑之后時,當(dāng)前路徑 的切換數(shù)累計最小,即“路徑長度”最小。壽命起始時刻與仿真起點(diǎn)相同的路徑為第一批路 徑,它們相當(dāng)于Dijkstra最短路徑算法中的第一個節(jié)點(diǎn),因此切換數(shù)累計為0,最優(yōu)前一路 徑編號記為0。......P3 = Path3IS28, S27, S3, S10, S11,0. 0, ‘ 1' , 174. 236, ‘ ,0,0}......
P10 = Path10IS27, S3, S10, S11,51. 490, ‘ 1' ,385. 135, ‘ , 1,3}......P26 = Path26IS27, S3, S10,311. 832, ‘ 1' , 1065. 382, ‘ -1' ,2,10}......P37 = Path37IS26, S27, S3, S10,952. 917, ‘ 1' , 1274. 001, ‘ ,4,26}......P63 = Path63IS26, S27, S3, S10, S9,1204. 185, ‘ 1' , 1951. 160, ‘ ,6,37}......P79 = Path79IS25, S32, S17, S10, S9,1859. 186, ‘ 1' ,2159. 755, ‘ -1',10,63}......P406 = Path406 IS9, S10, S11, S18,6454. 173, ‘ 1' ,6951. 581, ‘ -1' ,36,405}......P428 = Path428 IS9, S10, S11,6572. 708, ‘ 1',7200.0,‘ ,37,406}......P435 = Path435 IS9, S24, S17, S18, S11,6572. 708, ‘ 1',7200.0,‘ ,39,408}......P442 = Path442 IS3, S4, S11,6637. 013, ‘ 1',7200.0,‘ ,40,429}......在完成路徑庫中所有路徑的切換數(shù)累計計算之后,在所有壽命終止時刻與仿真終 點(diǎn)一致的路徑中,找出切換累計最小的路徑,在本實(shí)施例中,P428,P435,P442等路徑的壽命終 點(diǎn)都為7200秒,與仿真終點(diǎn)一致,其中的切換數(shù)累計最小,為37次。從的最優(yōu)前一 路徑登記中可以找出其前一路徑為P4tl6,依次類推,可得到全路徑為
「01171ρ—ρ—ρ—ρ—ρ—ρ—ρ —ρ —ρ —ρ —ρ —ρ
L,J 1 1 '」 Γ3 rIO r26 r 37 r63 r 79 rIOl r 129 r 159 r 196 r219 r265
「0118 —P —P —P —P —P —P —P
L,J 1 ·θ」r277 r286 r 351 r 360 r405 r406 r428 本發(fā)明所述路由算法的優(yōu)異性體現(xiàn)在它能夠給出更優(yōu)的路由方案。圖4中給出了 針對本實(shí)施例,仿真時間從2小時到M小時的各種情況下,本發(fā)明所述路由算法與FSA路 由算法給出的最優(yōu)全路徑的切換數(shù)之比。在以切換數(shù)為指標(biāo)的路由設(shè)計中,本發(fā)明所述算 法給出的全路徑切換數(shù)較少,比FSA算法給出的路徑更優(yōu)。本發(fā)明所述路由算法的優(yōu)點(diǎn)根 源于對衛(wèi)星鏈路網(wǎng)絡(luò)動態(tài)拓?fù)涞倪B續(xù)狀態(tài)仿真,因此,在其它指標(biāo)下同樣能給出更優(yōu)的路 由,在此不再贅述。
權(quán)利要求
1. 一種衛(wèi)星鏈路網(wǎng)絡(luò)連續(xù)狀態(tài)路由算法,其特征在于通過在整個仿真時間內(nèi)登記鏈路 在連通與非連通狀態(tài)之間切換的時刻從而保存網(wǎng)絡(luò)完整的動態(tài)拓?fù)溲葑冃畔?,給出更優(yōu)的 路由,包括以下步驟步驟一、建立鏈路狀態(tài)切換表;在整個仿真時間內(nèi)記錄所有鏈路狀態(tài)轉(zhuǎn)換時刻并分別 用“ 1”和“-1 ”標(biāo)記每一條鏈路連通區(qū)間的起點(diǎn)與終點(diǎn)Lij Linkij {S" Sj,t〇, 丄 , ι, 1 ,tg, 1 , “, η, 1 ,, 1 }(1)式中,Si和h為衛(wèi)星或地面點(diǎn)的編號,Lij為Si與h之間的鏈路,LinkijH]為鏈路Lij 的信息集合,t0,…,tn+1為鏈路狀態(tài)切換時刻點(diǎn),鏈路Lij在整個仿真時間內(nèi)的連通區(qū)間可 表示為L (Si, Sj) = [t0 tj U [t3 t4] U …U [tn tn+1] (2)步驟二、搜索和記錄路徑;在整個仿真時間內(nèi)按給定的通信線路起點(diǎn)和終點(diǎn)搜索路徑, 記錄路徑連通區(qū)間,即路徑壽命的起始時刻與終止時刻,并按從線路起點(diǎn)至終點(diǎn)的順序記 錄路徑中包含的衛(wèi)星的編號Pi = PathiISil, ...Sin,ti0,‘ 1',tn,‘ -1' } (3)式中,Pi為搜索到的第i條路徑,ti0和tn分別為路徑壽命的起始和終止時刻,這兩個 時刻可由路徑中所包含的鏈路的連通區(qū)間的交集確定[^o ^ ] [ Ln,η η α2,,3 η …η Α( -ι),,《(4)式中右端交集可能不止一個區(qū)間,將每一個交集區(qū)間作為一條獨(dú)立路徑的連通區(qū)間存 儲,[ti(l tn]因此只取其中一個交集區(qū)間,其它區(qū)間存為新路徑,將所有獨(dú)立路徑存入路徑 庫;步驟三、進(jìn)行路徑過濾;從第二條路徑開始,每次搜索到一條新路徑Pi,則在路徑庫中進(jìn) 行雙向路徑過濾,首先檢查路徑庫中是否存在一條路徑pk,使得以下兩個條件同時成立 ⑴ bo Gibko (1] (2) {^1,···,^} c {《ι,···,《.《}若是,則拋棄路徑Pi,否則將Pi存入路徑庫,并反過來檢查路徑庫中的任一條除Pi之外 的路徑Pk是否同時滿足 ⑴ bo Gikko。] (2) {SkW,Skm}〕( ,"., } 若是,則將路徑Pk從路徑庫中刪除;步驟四、進(jìn)行全路徑整合;將每一條路徑當(dāng)作一個節(jié)點(diǎn),在路徑庫中應(yīng)用Dijkstra最 短路徑算法進(jìn)行路徑串聯(lián),完成全路徑的整合,其中,Dijkstra算法中的路徑長度值以相應(yīng) 的路由優(yōu)化指標(biāo)如時延或鏈路切換率代替,在計算時延時,應(yīng)用積分方法根據(jù)鏈路長度的 動態(tài)演變信息計算,Pi = PathiISil, ...,Sin,ti0,‘ 1',tn,‘ -1' , Ii, j} (5) 式中,Ii為該路徑的優(yōu)化指標(biāo)值,j為其所銜接的前一路徑的編號。
全文摘要
本發(fā)明公開了一種衛(wèi)星鏈路網(wǎng)絡(luò)連續(xù)狀態(tài)路由算法,包括以下步驟步驟一、在整個仿真時間內(nèi)登記鏈路連通與非連通狀態(tài)切換時刻,建立鏈路狀態(tài)切換表;步驟二、在整個仿真時間內(nèi)搜索和記錄路徑;步驟三、進(jìn)行路徑過濾,擇優(yōu)保存;步驟四、應(yīng)用Dijkstra最短路徑算法進(jìn)行全路徑整合。區(qū)別于傳統(tǒng)的衛(wèi)星鏈路網(wǎng)絡(luò)路由算法,本路由算法在整個仿真時間內(nèi)對時變的衛(wèi)星鏈路網(wǎng)絡(luò)動態(tài)拓?fù)溥M(jìn)行了連續(xù)狀態(tài)的記錄和應(yīng)用,而不是通過劃分時段區(qū)間將之簡化為離散的靜態(tài)拓?fù)洹1韭酚伤惴ū4媪俗钔暾木W(wǎng)絡(luò)動態(tài)信息,因此能夠給出更優(yōu)的路由設(shè)計結(jié)果,而且數(shù)值形式簡單,在路徑登記過程中對路徑實(shí)施過濾,從而減輕了全路徑整合的工作量。
文檔編號H04W40/02GK102118820SQ20111007300
公開日2011年7月6日 申請日期2011年3月25日 優(yōu)先權(quán)日2011年3月25日
發(fā)明者陳小燕, 韓潮 申請人:北京航空航天大學(xué)