本發(fā)明屬于通信
技術(shù)領(lǐng)域:
,尤其涉及一種SpaceWire通信網(wǎng)路故障恢復(fù)方法和系統(tǒng)。
背景技術(shù):
:SpaceWire總線是針對航天任務(wù)而設(shè)計(jì)的一種高速的、點(diǎn)對點(diǎn)、全雙工的串行總線標(biāo)準(zhǔn),其具有高傳輸速率、低功耗、可升級、低成本等特點(diǎn)。最高通信速率可達(dá)400Mbps,拓?fù)浣Y(jié)構(gòu)靈活,對解決目前星上數(shù)據(jù)處理系統(tǒng)的總線帶寬不足有重要作用,在航天業(yè)界得到越來越廣泛的應(yīng)用。航天環(huán)境復(fù)雜惡劣,對通信網(wǎng)絡(luò)的可靠性要求很高,由于器件的特征尺寸不斷縮小和工作頻率的提高,SpaceWire電路發(fā)生單粒子多位翻轉(zhuǎn)幾率大大增加,單粒子瞬態(tài)的敏感性不斷增強(qiáng),因此當(dāng)前SpaceWire總線通信技術(shù)的應(yīng)用中還存在著對鏈路故障的容錯能力不足的問題。在原有的SpaceWire通信網(wǎng)絡(luò)的星型拓?fù)浣Y(jié)構(gòu)中,如果某條鏈路出現(xiàn)無法重新建立連接的故障,網(wǎng)絡(luò)通信則部分?jǐn)嚅_,網(wǎng)絡(luò)無法及時更新信息,則無法保證網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)恼_性和可靠性。另外,由于網(wǎng)絡(luò)鏈路或設(shè)備損壞使網(wǎng)絡(luò)狀態(tài)發(fā)生改變也不可避免,顯然傳統(tǒng)的靜態(tài)路由配置已不能高效的解決網(wǎng)絡(luò)故障恢復(fù)問題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的技術(shù)解決問題:克服現(xiàn)有技術(shù)的不足,提供一種SpaceWire通信網(wǎng)路故障恢復(fù)方法和系統(tǒng),旨在解決SpaceWire網(wǎng)絡(luò)在空間輻射下鏈路斷開錯誤的故障恢復(fù)問題。為了解決上述技術(shù)問題,本發(fā)明公開了一種SpaceWire通信網(wǎng)路故障恢復(fù)方法,包括:當(dāng)監(jiān)測到SpaceWire通信網(wǎng)路中的某一通信節(jié)點(diǎn)主通信鏈路發(fā)生故障時,激活所述某一通信節(jié)點(diǎn)的備用通信鏈路;其中,所述某一通信節(jié)點(diǎn)與兩個或兩個以上的路由器冗余連接;根據(jù)所述某一通信節(jié)點(diǎn)的備用通信鏈路的鏈路信息,對SpaceWire通信網(wǎng)路進(jìn)行動態(tài)優(yōu)化重構(gòu),得到重構(gòu)路由表;將所述重構(gòu)路由表配置到路由器中,對SpaceWire通信網(wǎng)絡(luò)進(jìn)行故障恢復(fù)。在上述SpaceWire通信網(wǎng)路故障恢復(fù)方法中,所述根據(jù)所述某一通信節(jié)點(diǎn)的備用通信鏈路的鏈路信息,對SpaceWire通信網(wǎng)路進(jìn)行動態(tài)優(yōu)化重構(gòu),得到重構(gòu)路由表,包括:根據(jù)所述備用通信鏈路的鏈路信息和集中路由選擇策略,通過最短路徑尋優(yōu)算法,對SpaceWire通信網(wǎng)路路由進(jìn)行優(yōu)化重構(gòu),得到所述重構(gòu)路由表。在上述SpaceWire通信網(wǎng)路故障恢復(fù)方法中,所述根據(jù)所述備用通信鏈路的鏈路信息和集中路由選擇策略,通過最短路徑尋優(yōu)算法,對SpaceWire通信網(wǎng)路路由進(jìn)行優(yōu)化重構(gòu),得到所述重構(gòu)路由表,包括:根據(jù)所述備用通信鏈路的鏈路信息,對初始路徑權(quán)值矩陣進(jìn)行矩陣重構(gòu),得到重構(gòu)邊權(quán)矩陣;根據(jù)所述重構(gòu)邊權(quán)矩陣,通過Dijkstra算法公式,重新確定所述某一通信節(jié)點(diǎn)對應(yīng)的最短通信路徑;根據(jù)集中路由選擇策略對所述重新確定的最短通信路徑進(jìn)行解析,生成路由器可識別的重構(gòu)路由表。在上述SpaceWire通信網(wǎng)路故障恢復(fù)方法中,所述方法還包括:對SpaceWire通信網(wǎng)路進(jìn)行數(shù)據(jù)采集,得到初始通信節(jié)點(diǎn)數(shù)據(jù)和路由器狀態(tài)數(shù)據(jù);根據(jù)采集得到的初始通信節(jié)點(diǎn)數(shù)據(jù)和路由器狀態(tài)數(shù)據(jù),生成所述初始路徑權(quán)值矩陣。在上述SpaceWire通信網(wǎng)路故障恢復(fù)方法中,所述方法還包括:當(dāng)某一路徑為主通信鏈路時,將所述某一路徑在所述初始路徑權(quán)值矩陣中相應(yīng)位置處的值置為0;當(dāng)某一路徑為非主通信鏈路時,將所述某一路徑在所述初始路徑權(quán)值矩陣中相應(yīng)位置處的值置為∞。在上述SpaceWire通信網(wǎng)路故障恢復(fù)方法中,所述SpaceWire通信網(wǎng)路包括:7個通信節(jié)點(diǎn)和3個路由器。在上述SpaceWire通信網(wǎng)路故障恢復(fù)方法中,所述方法還包括:將所述7個通信節(jié)點(diǎn)中的任意一個與所述3個路由器中的任意兩個冗余連接。相應(yīng)的,本發(fā)明還公開了一種SpaceWire通信網(wǎng)路故障恢復(fù)系統(tǒng),包括:選擇模塊,用于當(dāng)監(jiān)測SpaceWire通信網(wǎng)路中的某一通信節(jié)點(diǎn)主通信鏈路發(fā)生故障時,激活所述某一通信節(jié)點(diǎn)的備用通信鏈路;其中,所述某一通信節(jié)點(diǎn)與兩個或兩個以上的路由器冗余連接;重構(gòu)模塊,用于根據(jù)所述某一通信節(jié)點(diǎn)的備用通信鏈路的鏈路信息,對SpaceWire通信網(wǎng)路進(jìn)行動態(tài)優(yōu)化重構(gòu),得到重構(gòu)路由表;恢復(fù)模塊,用于將所述重構(gòu)路由表配置到路由器中,對SpaceWire通信網(wǎng)絡(luò)進(jìn)行故障恢復(fù)。在上述SpaceWire通信網(wǎng)路故障恢復(fù)系統(tǒng)中,所述重構(gòu)模塊,用于根據(jù)所述備用通信鏈路的鏈路信息和集中路由選擇策略,通過最短路徑尋優(yōu)算法,對SpaceWire通信網(wǎng)路路由進(jìn)行優(yōu)化重構(gòu),得到所述重構(gòu)路由表。在上述SpaceWire通信網(wǎng)路故障恢復(fù)系統(tǒng)中,所述重構(gòu)模塊,用于:根據(jù)所述備用通信鏈路的鏈路信息,對初始路徑權(quán)值矩陣進(jìn)行矩陣重構(gòu),得到重構(gòu)邊權(quán)矩陣;根據(jù)所述重構(gòu)邊權(quán)矩陣,通過Dijkstra算法公式,重新確定所述某一通信節(jié)點(diǎn)對應(yīng)的最短通信路徑;根據(jù)集中路由選擇策略對所述重新確定的最短通信路徑進(jìn)行解析,生成路由器可識別的重構(gòu)路由表。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:(1)本發(fā)明所述的一種SpaceWire網(wǎng)絡(luò)故障恢復(fù)方法,利用最短路徑算法和集中路由選擇策略對網(wǎng)絡(luò)鏈路錯誤進(jìn)行動態(tài)重構(gòu),及時更新網(wǎng)絡(luò)信息,實(shí)現(xiàn)了在空間輻射下鏈路斷開錯誤的SpaceWire網(wǎng)絡(luò)的故障恢復(fù)。(2)相對傳統(tǒng)的基于星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的SpaceWire總線通信模型,在SpaceWire節(jié)點(diǎn)和SpaceWire路由器之間使用一條首選線路和一條備用線路進(jìn)行冗余連接。當(dāng)首選線路出現(xiàn)故障無法正常工作時,冗余線路被激活,替代首選線路進(jìn)行數(shù)據(jù)傳輸,有效增強(qiáng)了SpaceWire總線通信網(wǎng)絡(luò)的可靠性。附圖說明圖1是本發(fā)明實(shí)施例中一種SpaceWire通信網(wǎng)路故障恢復(fù)方法的步驟流程圖;圖2是本發(fā)明實(shí)施例中一種傳統(tǒng)的SpaceWire網(wǎng)絡(luò)架構(gòu)模型示意圖;圖3是本發(fā)明實(shí)施例中一種優(yōu)選的SpaceWire網(wǎng)絡(luò)架構(gòu)模型示意圖;圖4是本發(fā)明實(shí)施例中一種SpaceWire通信網(wǎng)路的架構(gòu)圖;圖5是本發(fā)明實(shí)施例中一種初始化網(wǎng)絡(luò)輸入界面示意圖;圖6是本發(fā)明實(shí)施例中一種設(shè)備網(wǎng)絡(luò)路線界面示意圖;圖7是本發(fā)明實(shí)施例中一種重構(gòu)后的設(shè)備網(wǎng)絡(luò)路線界面示意圖;圖8是本發(fā)明實(shí)施例中一種SpaceWire通信網(wǎng)路故障恢復(fù)系統(tǒng)的結(jié)構(gòu)框圖。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明公共的實(shí)施方式作進(jìn)一步詳細(xì)描述。參照圖1,示出了本發(fā)明實(shí)施例中一種SpaceWire通信網(wǎng)路故障恢復(fù)方法的步驟流程圖。在本實(shí)施例中,所述SpaceWire通信網(wǎng)路故障恢復(fù)方法包括:步驟101,當(dāng)監(jiān)測到SpaceWire通信網(wǎng)路中的某一通信節(jié)點(diǎn)主通信鏈路發(fā)生故障時,激活所述某一通信節(jié)點(diǎn)的備用通信鏈路。在本實(shí)施例中,所述某一通信節(jié)點(diǎn)與兩個或兩個以上的路由器冗余連接,對應(yīng)有兩條或兩條以上的通信鏈路,其中一條通信鏈路可以作為主通信鏈路,其余通信鏈路則可作為備用通信鏈路。參照圖2,示出了本發(fā)明實(shí)施例中一種傳統(tǒng)的SpaceWire網(wǎng)絡(luò)架構(gòu)模型示意圖。參照圖3,示出了本發(fā)明實(shí)施例中一種優(yōu)選的SpaceWire網(wǎng)絡(luò)架構(gòu)模型示意圖。如圖2和圖3可見,在圖2中,如果通信終端N1與路由器R1之間鏈路斷開,則通信網(wǎng)絡(luò)會丟失N1;而如果路由器R1與路由器R2之間鏈路斷開,則通信網(wǎng)絡(luò)丟失路由器R1、N1、N2和N3。為了避免上述情況,本發(fā)明利用增加冗余線路的方法提高通信網(wǎng)絡(luò)可靠性,如圖3示,例如當(dāng)N1與R1鏈路斷開時,通過R2仍可與N1相連。在本實(shí)施例中,一優(yōu)選的,參照圖4,示出了本發(fā)明實(shí)施例中一種SpaceWire通信網(wǎng)路的架構(gòu)圖。所述SpaceWire通信網(wǎng)路包括:7個通信節(jié)點(diǎn)和3個路由器。其中,所述路由器具體可以是SpaceWire路由器。在本實(shí)施例中,可以將所述7個通信節(jié)點(diǎn)中的任意一個通過SpW總線(SpaceWire總線)與所述3個路由器中的任意兩個冗余連接;3個路由器可以通過動態(tài)重構(gòu)總線與故障恢復(fù)單元連接。在本實(shí)施例中,SpaceWire通信網(wǎng)路故障恢復(fù)方法可以基于所述故障恢復(fù)單元實(shí)現(xiàn)所述故障恢復(fù)單元實(shí)負(fù)責(zé)對故障網(wǎng)絡(luò)進(jìn)行整體路由重構(gòu)和優(yōu)化,分為初始數(shù)據(jù)生成子模塊、路由演化計(jì)算子模塊、演化結(jié)果生成子模塊。其中,初始數(shù)據(jù)生成子模塊將網(wǎng)絡(luò)狀態(tài)采集模塊采集到的數(shù)據(jù)生成初始路徑權(quán)值矩陣,該矩陣是SpaceWire動態(tài)重構(gòu)路由方法的原始數(shù)據(jù);路由演化計(jì)算子模塊基于Dijkstra算法對SpaceWire通信網(wǎng)絡(luò)進(jìn)行路由重構(gòu)優(yōu)化;演化結(jié)果生成子模塊是將路由演化計(jì)算子模塊的輸出結(jié)果進(jìn)一步轉(zhuǎn)化成為可供SpaceWire路由器使用的路由表;演化結(jié)果輸出模塊將網(wǎng)絡(luò)智能演化模塊形成的路由表配置到SpaceWire路由器中,對SpaceWire通信網(wǎng)絡(luò)進(jìn)行故障恢復(fù),實(shí)現(xiàn)SpaceWire動態(tài)重構(gòu)路由方法;此外,演化結(jié)果輸出模塊還可將演化結(jié)果實(shí)時顯示于故障恢復(fù)單元界面上。步驟102,根據(jù)所述某一通信節(jié)點(diǎn)的備用通信鏈路的鏈路信息,對SpaceWire通信網(wǎng)路進(jìn)行動態(tài)優(yōu)化重構(gòu),得到重構(gòu)路由表。在本實(shí)施例中。當(dāng)所述某一通信節(jié)點(diǎn)時,原有的通信路徑將不再適用(原有的部分通信路徑存在中斷的情況),此時需要重新確定通信路徑,在本實(shí)施例中,可以根據(jù)所述備用通信鏈路的鏈路信息,利用最短路徑算法(如Dijkstra算法)對斷開的節(jié)點(diǎn)重新計(jì)算最短路徑,并利用集中路由選擇策略和最短路徑計(jì)算的結(jié)果對路由器重新進(jìn)行配置,以實(shí)現(xiàn)對鏈路進(jìn)行重新連接,完成對鏈路斷開錯誤的網(wǎng)絡(luò)故障恢復(fù)。本實(shí)施例的路由選擇策略為集中路由選擇策略,因?yàn)镾paceWire總線通信協(xié)議中的蟲洞路由機(jī)制是固定路由選擇策略的路由表機(jī)制。該機(jī)制是在通信網(wǎng)絡(luò)中的每個節(jié)點(diǎn)存儲一份路由表,記錄每個目的節(jié)點(diǎn)對應(yīng)的轉(zhuǎn)發(fā)物理端口號,當(dāng)數(shù)據(jù)包到達(dá)后,查詢路由表即可建立數(shù)據(jù)傳輸通道進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。該策略實(shí)現(xiàn)方便,適用于較穩(wěn)定的通信網(wǎng)絡(luò),但在處理通信網(wǎng)絡(luò)的故障時無法進(jìn)行路由調(diào)整和恢復(fù),靈活性差。集中路由選擇策略改造了固定路由選擇策略,在路由表機(jī)制基礎(chǔ)上,可采集網(wǎng)絡(luò)中所有節(jié)點(diǎn)的鏈路信息,進(jìn)行綜合優(yōu)化,動態(tài)生成所有轉(zhuǎn)發(fā)節(jié)點(diǎn),如路由器等設(shè)備中的路由表。集中采集通信網(wǎng)絡(luò)信息和進(jìn)行路由綜合制定的控制中樞稱為路由控制中心RCC(RoutingControlCenter)。該方式增加了網(wǎng)絡(luò)路由構(gòu)建的靈活性,可在網(wǎng)絡(luò)出現(xiàn)通信故障時,由RCC進(jìn)行故障恢復(fù),增強(qiáng)通信網(wǎng)絡(luò)的可靠性。本發(fā)明的路徑尋優(yōu)算法可以為最短路徑Dijkstra算法。Dijkstra最短路徑算法是常用的最短路徑尋優(yōu)算法。Dijkstra算法的探索方式是從源節(jié)點(diǎn)出發(fā),通過對相鄰節(jié)點(diǎn)集合的逐層尋優(yōu),找到其他所有節(jié)點(diǎn),最后保留探索軌跡,即得到了該點(diǎn)到其他每個節(jié)點(diǎn)的最短路徑。我們可以把SpaceWire總線通信網(wǎng)絡(luò)抽象為G=(V,E,W),G是一個帶權(quán)無向圖,頂點(diǎn)集合V=(v1,v2,...,vn),(i,j)≤n,包括演化系統(tǒng)中的節(jié)點(diǎn)和路由,邊集合E表示系統(tǒng)中所有通信路徑的集合,E是vi到vj的路徑集合,W(E)是E的權(quán)重,D是vi到vj的最短路徑。頂點(diǎn)集合V被分為2組,一組S是已經(jīng)計(jì)算好的最短路徑集合,另一組是S的其他位置,S只能有一個源。計(jì)算v1到vn的最短路徑距離D(v1n),Dijkstra算法如下:1:形成距離矩陣使S={vi},i=1,S={v2,v3,...,vn},并且等式(1)用來表示距離矩陣。2:計(jì)算T(vj),T(vj)=min{T(vj),W(vi)+wij}(2)T(vj)是vi到vj的距離,j=(2,3,...,n).3:決定vi到vj的最短距離,W(vk)=min{T(vj)}(3)W(vk)是v1到vj的最短距離4:決定最短路徑D(v1n)如果vk=vn,那么最短路徑D(v1n)=W(vk)如果vk≠vn,那么讓k=i,從刪除k,將vk帶入到第二步,直到vk=vn,因此,通過此方法可以決定最短路徑D(v1n)?;贒ijkstra算法,SpaceWire仿真測試平臺中的7個SpaceWire通信節(jié)點(diǎn)和3個SpaceWire路由器,可看作由10個頂點(diǎn)和17個邊組成的曲線。當(dāng)網(wǎng)路中兩個節(jié)點(diǎn)由于鏈路故障而斷開,可轉(zhuǎn)換為計(jì)算斷開頂點(diǎn)的最短路徑。在本實(shí)施例中,在將Dijkstra算法應(yīng)用于對SpaceWire通信網(wǎng)路路由進(jìn)行優(yōu)化重構(gòu)選擇路徑時,具體做法可以如下:根據(jù)所述備用通信鏈路的鏈路信息,對初始路徑權(quán)值矩陣進(jìn)行矩陣重構(gòu),得到重構(gòu)邊權(quán)矩陣;根據(jù)所述重構(gòu)邊權(quán)矩陣,通過Dijkstra算法公式,重新確定所述某一通信節(jié)點(diǎn)對應(yīng)的最短通信路徑;根據(jù)集中路由選擇策略對所述重新確定的最短通信路徑進(jìn)行解析,生成路由器可識別的重構(gòu)路由表。其中,初始路徑權(quán)值矩陣的生成方式可以如下:對SpaceWire通信網(wǎng)路進(jìn)行數(shù)據(jù)采集,得到初始通信節(jié)點(diǎn)數(shù)據(jù)和路由器狀態(tài)數(shù)據(jù);根據(jù)采集得到的初始通信節(jié)點(diǎn)數(shù)據(jù)和路由器狀態(tài)數(shù)據(jù),生成所述初始路徑權(quán)值矩陣。當(dāng)某一路徑為主通信鏈路時,將所述某一路徑在所述初始路徑權(quán)值矩陣中相應(yīng)位置處的值置為0;當(dāng)某一路徑為非主通信鏈路時,將所述某一路徑在所述初始路徑權(quán)值矩陣中相應(yīng)位置處的值置為∞。下面以一個具體實(shí)例來說明所述對SpaceWire通信網(wǎng)路進(jìn)行動態(tài)優(yōu)化重構(gòu)的具體實(shí)現(xiàn):在本實(shí)施例中,SpaceWire通信網(wǎng)路的網(wǎng)絡(luò)架構(gòu)如圖4所示,基于Dijkstra算法,7個SpaceWire通信節(jié)點(diǎn)和3個SpaceWire路由器可看作由10個頂點(diǎn)和17個邊組成的曲線。參照圖5,示出了本發(fā)明實(shí)施例中一種初始化網(wǎng)絡(luò)輸入界面示意圖。結(jié)合圖4,設(shè)備0~設(shè)備6是SpaceWire通信節(jié)點(diǎn),設(shè)備7~設(shè)備9是SpaceWire路由器,相連的設(shè)備在同一行。如果“是否備用”的返回值為0,表示該路徑是第一路徑;如果“是否備用”的返回值為1,表示該路徑是相關(guān)路徑。每一個路徑的權(quán)重為1。例如圖5第一行所示,首設(shè)備號0的首端口號1和次設(shè)備8的次端口號3相連且“是否備用”的返回值為0,等價于SpaceWire節(jié)點(diǎn)0的P1端口和SpaceWire路由器8的端口3相連且為第一路徑。根據(jù)圖5中節(jié)點(diǎn)路由的連接性設(shè)計(jì)了設(shè)備網(wǎng)絡(luò)路線界面,如圖6,示出了本發(fā)明實(shí)施例中一種設(shè)備網(wǎng)絡(luò)路線界面示意圖。若圖5中“是否備用”的返回值為0,表示該路徑是第一路徑,圖6中將用實(shí)線表示;若圖5中“是否備用”的返回值為1,表示該路徑是相關(guān)路徑,圖6中將用實(shí)線表示。例如圖5第一行可在圖6中表示為Node0的P1和Node8的端口3通過實(shí)線相連,為第一路徑。根據(jù)5圖的值,可將其用表1所示的初始路徑權(quán)值矩陣表示,表1反映每個節(jié)點(diǎn)到其他節(jié)點(diǎn)的初始路徑值,是Dijkstra算法的初始矩陣。表1中的第一行和第一列表示設(shè)備0~設(shè)備9,即設(shè)備0~設(shè)備6是SpaceWire通信節(jié)點(diǎn),設(shè)備7~設(shè)備9是SpaceWire路由器。如果2個節(jié)點(diǎn)相連且為第一路徑,矩陣對應(yīng)的元素值為1,反之為∞。例如,圖5中設(shè)備0(首設(shè)備號)和設(shè)備8(次設(shè)備號)在第一行相連,且“是否備用”的返回值為0,則將表1矩陣相關(guān)位置的值設(shè)為1(因?yàn)榫€路權(quán)重為1);如果圖5的“是否備用”的返回值為1,則表1矩陣相關(guān)位置值為∞。其他沒有直接連接的設(shè)備,也將表1矩陣中相關(guān)位置的值設(shè)為∞。01234567890∞∞∞∞∞∞∞∞1∞1∞∞∞∞∞∞∞∞1∞2∞∞∞∞∞∞∞∞1∞3∞∞∞∞∞∞∞∞∞14∞∞∞∞∞∞∞∞∞15∞∞∞∞∞∞∞∞∞16∞∞∞∞∞∞∞1∞∞7∞∞∞∞∞∞1∞118111∞∞∞∞1∞19∞∞∞111∞11∞表1為實(shí)現(xiàn)SpaceWire動態(tài)重構(gòu)方法,在設(shè)備上注入一個錯誤:如圖6,設(shè)計(jì)斷開節(jié)點(diǎn)6的P0和路由器7的端口3,設(shè)備錯誤使節(jié)點(diǎn)6與SpaceWire網(wǎng)絡(luò)斷開,當(dāng)監(jiān)測到節(jié)點(diǎn)6主通信鏈路發(fā)生故障時,激活所述節(jié)點(diǎn)6的備用通信鏈路,從路徑矩陣表中刪除錯誤的第一路徑并添加相關(guān)路徑到路徑矩陣表中。節(jié)點(diǎn)6的相關(guān)矩陣如圖6所示為Node6的P1到Router9的端口2。通過上述過程,由于斷開了節(jié)點(diǎn)6和路由器7,因此刪除表1初始路徑權(quán)值矩陣中對應(yīng)位置處的1,更改其值為∞;添加節(jié)點(diǎn)6和路由器9為相關(guān)路徑到相應(yīng)的位置,即將表1相應(yīng)位置的∞更改為1。由于其他節(jié)點(diǎn)和路由器的連接狀態(tài)未變,因此相應(yīng)的邊權(quán)矩陣值不變。更改節(jié)點(diǎn)6的連接情況后得到表2所示的斷開后重置的邊權(quán)矩陣。表2結(jié)合表2和Dijkstra算法公式,計(jì)算節(jié)點(diǎn)6分別到路由器7-9的最短路徑。例如,計(jì)算節(jié)點(diǎn)6到路由器7的最短路徑,定點(diǎn)集合V=(v6,v7,v8,v9);計(jì)算第一次迭代j=7,8,9.n=7;T(v7)=min{T(v7),W(v6)+w67}=min{∞,0+∞}=∞T(v8)=min{T(v8),W(v6)+w68}=min{∞,0+∞}=∞T(v9)=min{T(v9),W(v6)+w69}=min{1,0+1}=1因此:min{T(v9)}=1=T(v9)=W(v9),因此k=9≠(n=7),所以計(jì)算第二次迭代,j=7,8T(v7)=min{T(v7)+W(v9)+w97}=min{1,0+1}=1T(v8)=min{T(v8)+W(v9)+w98}=min{1,0+1}=1T(v7)=T(v8),根據(jù)Dijkstra算法,min{T(v8)}=1=T(v8)=W(v8),由于k=8≠(n=7),所以得到v8不是最短路徑。min{T(v7)}=1=T(v7)=W(v7),由于k=7=(n=7),所以到v7是最短路徑節(jié)點(diǎn)。因此,節(jié)點(diǎn)6到路由器7的最短路徑為Node6->Route9->Router7。同理可得到Node6到Router7,Router8的最短路徑,如表3所示。編號路由器最短路徑1Router7Node6->Route9->Router72Router8Node6->Route9->Router83Router9Node6->Route9表3參照圖7,示出了本發(fā)明實(shí)施例中一種重構(gòu)后的設(shè)備網(wǎng)絡(luò)路線界面示意圖。結(jié)合表3利用集中路由選擇策略形成新的SpaceWire路由表,如表4所示。新的路由表中節(jié)點(diǎn)Node0-5對應(yīng)的路由器Router7-9端口號是由第一路徑一一對應(yīng)形成的,節(jié)點(diǎn)Node6的路由表是相關(guān)路徑通過Dijkstra最短路徑算法重新計(jì)算生產(chǎn)。例如,由于人為注入錯誤,Node6到Router7的第一路徑(主通信鏈路)斷開,啟用相關(guān)路徑(備用通信鏈路);結(jié)合表3重新計(jì)算的最短路徑,Node6到Router7的最短路徑為Node6->Route9->Router7,因此結(jié)合圖6其對應(yīng)的路由器端口為Node6(端口號P1)->Route9(端口號2)->Router7(斷口號7),即得到表4中邏輯地址(節(jié)點(diǎn))6對應(yīng)路由器7的端口號7的路由表。同理可得邏輯地址(節(jié)點(diǎn)6)與路由器8、路由器9的對應(yīng)端口號,形成表4所示的重構(gòu)路由表。表4步驟103,將所述重構(gòu)路由表配置到路由器中,對SpaceWire通信網(wǎng)絡(luò)進(jìn)行故障恢復(fù)。如前所述,通過為SpaceWire網(wǎng)絡(luò)重新配置表4所示的重構(gòu)路由表,使斷開的節(jié)點(diǎn)6與SpaceWire網(wǎng)絡(luò)重新連接,實(shí)現(xiàn)對SpaceWire通信網(wǎng)絡(luò)的故障恢復(fù)。綜上所述,本發(fā)明實(shí)施例所述的SpaceWire網(wǎng)絡(luò)故障恢復(fù)方法,特別針對應(yīng)用于空間環(huán)境中輻射原因產(chǎn)生的SpaceWire網(wǎng)絡(luò)節(jié)點(diǎn)鏈路斷開故障,采用基于Dijkstra最短路徑算法和集中路由選擇策略的SpaceWire網(wǎng)絡(luò)動態(tài)路由重構(gòu)方法進(jìn)行故障恢復(fù),實(shí)現(xiàn)利用故障恢復(fù)方法增強(qiáng)SpaceWire電路的抗輻射加固技術(shù),提高了SpaceWire網(wǎng)絡(luò)的環(huán)境適應(yīng)性和可靠性。其次,本發(fā)明實(shí)施例所述的SpaceWire網(wǎng)絡(luò)故障恢復(fù)方法在具體實(shí)現(xiàn)時,可以實(shí)時采集SpaceWire各節(jié)點(diǎn)和路由器的信息,更加采集到的數(shù)據(jù)生成初始路徑權(quán)值矩陣,利用初始路徑權(quán)值矩陣結(jié)合Dijkstra算法和集中路由選擇策略對SpaceWire網(wǎng)絡(luò)進(jìn)行路由重構(gòu)優(yōu)化,輸出結(jié)果進(jìn)一步轉(zhuǎn)化為可供SpaceWire路由器使用的路由表,實(shí)現(xiàn)的SpaceWire網(wǎng)絡(luò)鏈路故障的動態(tài)重構(gòu),解決了SpaceWire網(wǎng)絡(luò)在空間輻射下鏈路斷開錯誤的故障恢復(fù)問題?;谏鲜龇椒▽?shí)施例中,本發(fā)明實(shí)施例還公開了一種SpaceWire通信網(wǎng)路故障恢復(fù)系統(tǒng)。參照圖8,示出了本發(fā)明實(shí)施例中一種SpaceWire通信網(wǎng)路故障恢復(fù)系統(tǒng)的結(jié)構(gòu)框圖。在本實(shí)施例中,所述SpaceWire通信網(wǎng)路故障恢復(fù)系統(tǒng)包括:選擇模塊801,用于當(dāng)監(jiān)測SpaceWire通信網(wǎng)路中的某一通信節(jié)點(diǎn)主通信鏈路發(fā)生故障時,激活所述某一通信節(jié)點(diǎn)的備用通信鏈路;其中,所述某一通信節(jié)點(diǎn)與兩個或兩個以上的路由器冗余連接。重構(gòu)模塊802,用于根據(jù)所述某一通信節(jié)點(diǎn)的備用通信鏈路的鏈路信息,對SpaceWire通信網(wǎng)路進(jìn)行動態(tài)優(yōu)化重構(gòu),得到重構(gòu)路由表;優(yōu)選的,所述重構(gòu)模塊802,具體可以用于據(jù)所述備用通信鏈路的鏈路信息和集中路由選擇策略,通過最短路徑尋優(yōu)算法,對SpaceWire通信網(wǎng)路路由進(jìn)行優(yōu)化重構(gòu),得到所述重構(gòu)路由表。進(jìn)一步優(yōu)選的,所述重構(gòu)模塊802,具體可以用于根據(jù)所述備用通信鏈路的鏈路信息,對初始路徑權(quán)值矩陣進(jìn)行矩陣重構(gòu),得到重構(gòu)邊權(quán)矩陣;根據(jù)所述重構(gòu)邊權(quán)矩陣,通過Dijkstra算法公式,重新確定所述某一通信節(jié)點(diǎn)對應(yīng)的最短通信路徑;根據(jù)集中路由選擇策略對所述重新確定的最短通信路徑進(jìn)行解析,生成路由器可識別的重構(gòu)路由表?;謴?fù)模塊803,用于將所述重構(gòu)路由表配置到路由器中,對SpaceWire通信網(wǎng)絡(luò)進(jìn)行故障恢復(fù)。對于裝置實(shí)施例而言,由于其與方法實(shí)施例相對應(yīng),所以描述的比較簡單,相關(guān)之處參見裝置實(shí)施例部分的說明即可。本說明中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。以上所述,僅為本發(fā)明最佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。當(dāng)前第1頁1 2 3