基于光纖通道fc幀字段的節(jié)點(diǎn)雙端口接收冗余方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及光纖通信,具體是指一種基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法。
【背景技術(shù)】
[0002]FC(光纖通道)環(huán)境中,對(duì)高速傳輸數(shù)據(jù)的鏈路可靠性和穩(wěn)定性要求非常高,一旦網(wǎng)絡(luò)中某個(gè)節(jié)點(diǎn)鏈路出故障,將會(huì)引起部分甚至整個(gè)網(wǎng)絡(luò)通信中斷,在特定的場合,造成工程的停滯,產(chǎn)生重大經(jīng)濟(jì)損失。目前FC總線已逐漸開始采用冗余結(jié)構(gòu)來提高系統(tǒng)的可靠性,如圖1為FC常用的冗余結(jié)構(gòu),系統(tǒng)采用兩套獨(dú)立的交換系統(tǒng),兩套系統(tǒng)同時(shí)工作,每個(gè)節(jié)點(diǎn)都包含2個(gè)FC端口,兩個(gè)端口同時(shí)工作,在此冗余備份方式下,即使某條鏈路甚至一套交換系統(tǒng)出現(xiàn)故障,整個(gè)系統(tǒng)依舊可以正常工作。
[0003]但對(duì)于接收節(jié)點(diǎn)B的2個(gè)FC端口,在接收端如何冗余掉一份完全相同的數(shù)據(jù),目前比較常用的是基于ASM保留字字段的冗余機(jī)制方法,如圖2所示。
[0004]該方法采用FC-AE-ASM幀結(jié)構(gòu)中ASM Header的保留字段reservedl, reserved2 (簡稱Security ID)作為余度控制依據(jù),端口 1和端口 2接收的數(shù)據(jù)均會(huì)經(jīng)過Security ID冗余系統(tǒng),從而冗余一份相同的數(shù)據(jù)。
[0005]圖3為基于Security ID冗余設(shè)計(jì)方案。該方法采用FC-AE-ASM幀結(jié)構(gòu)中ASMHeader的保留字段(reservedl或Reservedl中的高8bit)作為余度控制依據(jù),每個(gè)保留字段長度為4個(gè)字節(jié),F(xiàn)C端口接收數(shù)據(jù)時(shí),首先判定兩個(gè)端口是否是同時(shí)接收數(shù)據(jù),若端口 1和端口 2為非同時(shí)接收,則兩個(gè)端口的數(shù)據(jù)全部接收。若為同時(shí)接收,則會(huì)繼續(xù)檢查接收的數(shù)據(jù)是否是ASM數(shù)據(jù)幀,若為ASM數(shù)據(jù)幀,則繼續(xù)檢查SID是否相同,SID不同,則會(huì)全部接收兩個(gè)端口的有效數(shù)據(jù)。SID相同,貝lj進(jìn)一步檢查Seurity ID是否相同,Seurity ID相同時(shí),則會(huì)冗余掉一份相同的數(shù)據(jù)。
[0006]基于Security字段的冗余機(jī)制存在如下問題:
[0007](1)應(yīng)用范圍窄:該冗余方法由于選取ASM Header中的保留字段(reservedl或reserved2,)作為余度控制依據(jù),只適合FC-AE-ASM幀冗余,而不適用于非ASM幀的數(shù)據(jù)冗余,如FC-AE-1553、FC-AV等數(shù)據(jù)幀的冗余均不適用。
[0008](2)最多只支持256個(gè)不同數(shù)數(shù)據(jù)幀的冗余,數(shù)據(jù)幀的范圍較小。
[0009](3)準(zhǔn)確性低:由于只選用一個(gè)字段作為數(shù)據(jù)冗余的判斷依據(jù),準(zhǔn)確性不高。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種支持支持FC-AE-ASM數(shù)據(jù)幀冗余、FC-AE-1553數(shù)據(jù)幀冗余、FC-AV等其他數(shù)據(jù)幀冗余的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法。
[0011]為了實(shí)現(xiàn)上述目的,本發(fā)明的基于始發(fā)端交換標(biāo)識(shí)符的光纖通道節(jié)點(diǎn)雙端口接收冗余方法具有如下構(gòu)成:
[0012]該基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法,其主要特點(diǎn)是,所述的方法包括以下步驟:
[0013](1)系統(tǒng)判斷第一端口和第二端口是否同時(shí)接收數(shù)據(jù);
[0014](2)如果所述的第一端口和所述的第二端口同時(shí)接收數(shù)據(jù),則根據(jù)所述的第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID、始發(fā)端交換標(biāo)識(shí)符0XID、序列標(biāo)識(shí)符SEQ_ID以及序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT和所述的第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID、始發(fā)站交換標(biāo)識(shí)符0XID、序列標(biāo)識(shí)符SEQ_ID以及序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT-進(jìn)行比較,所述的系統(tǒng)對(duì)所述的第一端口接收的數(shù)據(jù)以及第二端口接收的數(shù)據(jù)進(jìn)行冗余;
[0015](3)如果所述的第一端口和所述的第二端口不同時(shí)接收數(shù)據(jù),則判斷所述的第一端口接收數(shù)據(jù)的時(shí)間和所述的第二端口接收數(shù)據(jù)的時(shí)間的差的絕對(duì)值是否小于一閾值;
[0016](4)如果所述的第一端口接收數(shù)據(jù)的時(shí)間和所述的第二端口接收數(shù)據(jù)的時(shí)間的差的絕對(duì)值小于一閾值,則根據(jù)所述的第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID、始發(fā)站交換標(biāo)識(shí)符0XID、序列標(biāo)識(shí)符SEQ_ID以及序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT和所述的第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID、始發(fā)站交換標(biāo)識(shí)符0XID、序列標(biāo)識(shí)符SEQ_ID以及序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT,所述的系統(tǒng)對(duì)所述的第一端口接收的數(shù)據(jù)以及第二端口接收的數(shù)據(jù)進(jìn)行冗余;
[0017](5)如果所述的第一端口接收數(shù)據(jù)的時(shí)間和所述的第二端口接收數(shù)據(jù)的時(shí)間的差的絕對(duì)值不小于一閾值,則所述的系統(tǒng)全部接收所述的第一端口接收的數(shù)據(jù)和所述的第二端口接收的數(shù)據(jù)。
[0018]進(jìn)一步地,所述的根據(jù)所述的第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID、始發(fā)站交換標(biāo)識(shí)符0XID、序列標(biāo)識(shí)符SEQ_ID以及序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT和所述的第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID、始發(fā)端交換標(biāo)識(shí)符0XID、序列標(biāo)識(shí)符SEQ_ID以及序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT,所述的系統(tǒng)對(duì)所述的第一端口接收的數(shù)據(jù)以及第二端口接收的數(shù)據(jù)進(jìn)行冗余,具體包括以下步驟:
[0019](a)系統(tǒng)判斷第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID和第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID是否相同;
[0020](b)如果所述的第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID與所述的第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID相同,則所述的系統(tǒng)判斷所述的第一端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符0XID和第二端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符0XID是否相同;
[0021](c)如果所述的第一端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符0XID和第二端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符0XID相同,則所述的系統(tǒng)判斷所述的第一端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID和第二端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID是否相同;
[0022](d)如果所述的第一端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID和第二端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID相同,則所述的系統(tǒng)判斷所述的第一端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值和第二端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值是否相同;
[0023](e)如果所述的第一端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值和第二端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值相同,則冗余所述的第一端口接收的數(shù)據(jù)或者冗余所述的第二端口接收的數(shù)據(jù);
[0024](f)如果所述的第一端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值和第二端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值不相同,則所述的系統(tǒng)全部接收所述的第一端口接收的數(shù)據(jù)和所述的第二端口接收的數(shù)據(jù);
[0025](g)如果所述的第一端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID和第二端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID不相同,則所述的系統(tǒng)全部接收所述的第一端口接收的數(shù)據(jù)和所述的第二端口接收的數(shù)據(jù);
[0026](h)如果所述的第一端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符0XID和第二端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符0XID不相同,則所述的系統(tǒng)全部接收所述的第一端口接收的數(shù)據(jù)和所述的第二端口接收的數(shù)據(jù);
[0027](h)如果所述的第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID與所述的第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID不相同,則所述的系統(tǒng)全部接收所述的第一端口接收的數(shù)據(jù)和所述的第二端口接收的數(shù)據(jù)。
[0028]采用了該發(fā)明中的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法,與現(xiàn)有技術(shù)相比,具有以下有益的技術(shù)效果:
[0029](1)本發(fā)明中的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法選取了 FC數(shù)據(jù)幀結(jié)構(gòu)定義的源標(biāo)識(shí)符SID、始發(fā)端交換標(biāo)識(shí)符0XID、序列標(biāo)識(shí)符SEQ_ID、SEQ_CNT序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT共四個(gè)字段,作為FC接收端冗余度判斷的依據(jù),處理冗余數(shù)據(jù)準(zhǔn)確性尚ο
[0030](2)本發(fā)明中的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法使用范圍更廣,除適用于FC-AS-ASM數(shù)據(jù)幀冗余,還適用于FC-AE-1553、FC-AV等其他FC數(shù)據(jù)幀冗余,克服了基于Security字段的冗余機(jī)制實(shí)用范圍小的瓶頸。
[0031](3)本發(fā)明中的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法最多可支持到16K個(gè)不同的業(yè)務(wù)數(shù)據(jù)塊范圍的冗余,數(shù)據(jù)的冗余范圍大大提高。
【附圖說明】
[0032]圖1為現(xiàn)有技術(shù)中的光纖通道冗余結(jié)構(gòu)示意圖。
[0033]圖2為現(xiàn)有技術(shù)中的光纖通道節(jié)點(diǎn)接收端示意圖。
[0034]圖3為現(xiàn)有技術(shù)中的基于Security字段冗余方法的步驟流程圖。
[0035]圖4為本發(fā)明的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法的原理圖。
[0036]圖5為本發(fā)明的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法的步驟流程圖。
【具體實(shí)施方式】
[0037]為了能夠更清楚地描述本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實(shí)施例來進(jìn)行進(jìn)一步的描述。
[0038]請(qǐng)參閱圖4所示,本發(fā)明的基于光纖通道FC幀字段的節(jié)點(diǎn)雙端口接收冗余方法包括以下步驟:
[0039](a)系統(tǒng)判斷第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID和第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID是否相同;
[0040](b)如果所述的第一端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID與所述的第二端口接收的數(shù)據(jù)的源標(biāo)識(shí)符SID相同,則所述的系統(tǒng)判斷所述的第一端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符OXID和第二端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符OXID是否相同;
[0041](c)如果所述的第一端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符OXID和第二端口接收的數(shù)據(jù)的始發(fā)端交換標(biāo)識(shí)符0XID相同,則所述的系統(tǒng)判斷所述的第一端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID和第二端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID是否相同;
[0042](d)如果所述的第一端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID和第二端口接收的數(shù)據(jù)的序列標(biāo)識(shí)符SEQ_ID相同,則所述的系統(tǒng)判斷所述的第一端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值和第二端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值是否相同;
[0043](e)如果所述的第一端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值和第二端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值相同,則冗余所述的第一端口接收的數(shù)據(jù)或者冗余所述的第二端口接收的數(shù)據(jù);
[0044](f)如果所述的第一端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值和第二端口接收的數(shù)據(jù)的序列計(jì)數(shù)標(biāo)識(shí)符SEQ_CNT的計(jì)數(shù)值不相同,則所述的系統(tǒng)全部接收所述的第一端