本發(fā)明專利技術(shù)公開了一種高可靠性無(wú)縫冗余環(huán)網(wǎng)中副本處理的FPGA實(shí)現(xiàn)方法,該實(shí)現(xiàn)方法中由FPGA在HSR源端節(jié)點(diǎn)根據(jù)源MAC地址來(lái)遞增序號(hào),同時(shí)由FPGA在HSR目的端節(jié)點(diǎn)維護(hù)滑動(dòng)丟棄窗口和記錄丟棄窗口,并同時(shí)利用這兩個(gè)窗口對(duì)報(bào)文副本進(jìn)行處理。通過(guò)本方案能夠使得維護(hù)的序號(hào)數(shù)量和節(jié)點(diǎn)數(shù)成線性關(guān)系,減少了大規(guī)模網(wǎng)絡(luò)的序號(hào)維護(hù)開銷;同時(shí)能有效刪除序號(hào)亂序范圍在n以內(nèi)的副本,從而使得冗余口實(shí)現(xiàn)千兆線速收發(fā),線速丟棄副本。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及工業(yè)通信網(wǎng)絡(luò)技術(shù),具體涉及高可靠性的自動(dòng)化網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)。
技術(shù)介紹
國(guó)際標(biāo)準(zhǔn)IEC62439-3-2012以及其前一個(gè)版本的標(biāo)準(zhǔn)ffiC62439-2_2008中介紹了HSR協(xié)議,該協(xié)議用一種環(huán)狀網(wǎng)絡(luò)為工業(yè)控制網(wǎng)絡(luò)提供了高可靠性和實(shí)時(shí)性保障,即為網(wǎng)絡(luò)故障提供0毫秒恢復(fù)時(shí)間。參見(jiàn)圖1,其所示為環(huán)狀網(wǎng)絡(luò)的示意圖。由圖可知,該環(huán)狀網(wǎng)絡(luò)由HSR節(jié)點(diǎn)和全雙工鏈路相互連接組成。每個(gè)HSR節(jié)點(diǎn)都有兩個(gè)被稱為冗余口的環(huán)網(wǎng)接口,每個(gè)接口通過(guò)鏈路與兩個(gè)鄰居HSR節(jié)點(diǎn)相聯(lián)。當(dāng)HSR節(jié)點(diǎn)有報(bào)文要發(fā)到環(huán)里面其他HSR節(jié)點(diǎn)時(shí),會(huì)將該報(bào)文加上HSR標(biāo)簽,從兩個(gè)冗余口分別發(fā)出。目的HSR節(jié)點(diǎn)則會(huì)收到兩個(gè)報(bào)文,其中第二個(gè)報(bào)文將被當(dāng)做副本丟棄。IEC62439-2-2008中介紹了副本生成和丟棄算法,在HSR源端節(jié)點(diǎn)用基于源目的MAC地址遞增的序號(hào),在HSR目的端節(jié)點(diǎn)使用該序號(hào)維護(hù)一個(gè)滑動(dòng)窗口協(xié)議用于丟棄副本。該算法存在兩個(gè)缺點(diǎn):1.由于序號(hào)基于源目的MAC地址建立,維護(hù)的序號(hào)數(shù)量隨著節(jié)點(diǎn)數(shù)的增長(zhǎng)呈2次方級(jí)數(shù)增長(zhǎng)。因此維護(hù)開銷隨網(wǎng)絡(luò)節(jié)點(diǎn)規(guī)模大幅攀升。2.在目的端HSR節(jié)點(diǎn)冗余口可能收到亂序報(bào)文,導(dǎo)致目的節(jié)點(diǎn)不能有效丟棄副本。對(duì)此,雖然在IEC62439-3-2012中建議根據(jù)源MAC地址來(lái)遞增序號(hào),降低了維護(hù)開銷,但刪去了前一個(gè)版本中副本丟棄算法的描述。如果沿用以前的副本丟棄算法,增加亂序報(bào)文出現(xiàn)的頻度將導(dǎo)致大量副本無(wú)法丟棄。由此可見(jiàn),現(xiàn)有技術(shù)中HSR節(jié)點(diǎn)冗余口工作在千兆線速的端口速率將對(duì)副本處理和收發(fā)吞吐能力提出巨大挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)思路
針對(duì)上述現(xiàn)有技術(shù),本專利技術(shù)所要解決的技術(shù)問(wèn)題是如何大幅降低使用序號(hào)的維護(hù)開銷和解決亂序報(bào)文副本丟棄問(wèn)題,以此來(lái)提高冗余口吞吐能力和副本處理能力。為了解決上述技術(shù)問(wèn)題,本專利技術(shù)提供一種高可靠性無(wú)縫冗余環(huán)網(wǎng)中副本處理的FPGA實(shí)現(xiàn)方法,該實(shí)現(xiàn)方法中由FPGA在HSR源端節(jié)點(diǎn)根據(jù)源MAC地址來(lái)遞增序號(hào),同時(shí)由FPGA在HSR目的端節(jié)點(diǎn)維護(hù)滑動(dòng)丟棄窗口和記錄丟棄窗口,并同時(shí)利用這兩個(gè)窗口對(duì)報(bào)文副本進(jìn)行處理。在優(yōu)選實(shí)例中,所述FPGA在維護(hù)序號(hào)時(shí),HSR環(huán)網(wǎng)中的每個(gè)節(jié)點(diǎn)每向環(huán)中發(fā)送一個(gè)報(bào)文,都對(duì)序號(hào)進(jìn)行遞增。進(jìn)一步的,所述序號(hào)達(dá)到最大值時(shí),從0開始重新遞增。進(jìn)一步的,所述方法中在節(jié)點(diǎn)上兩個(gè)環(huán)網(wǎng)冗余口分別為收到的報(bào)文基于源MAC地址維護(hù)一個(gè)滑動(dòng)丟棄窗口的同時(shí),在節(jié)點(diǎn)上兩個(gè)環(huán)網(wǎng)冗余口分別為最近收到的報(bào)文維護(hù)η比特記錄丟棄窗口,η指設(shè)定的窗口深度,即記錄丟棄窗口內(nèi)可記錄的數(shù)量。進(jìn)一步的,所述接收記錄窗口為每個(gè)報(bào)文對(duì)應(yīng)的序號(hào)一個(gè)記錄位,記載相應(yīng)的報(bào)文的是否被接收過(guò)。再進(jìn)一步的,所述FPGA實(shí)現(xiàn)副本處理的具體過(guò)程如下:在源端節(jié)點(diǎn),F(xiàn)PGA基于HASH技術(shù)根據(jù)源MAC地址索引查到當(dāng)前發(fā)送序號(hào),并將序號(hào)填入HSR標(biāo)簽的相關(guān)字段;然后將打好HSR標(biāo)簽的報(bào)文從兩個(gè)冗余口發(fā)送到環(huán)網(wǎng);在目的端一個(gè)個(gè)冗余口,F(xiàn)PGA基于接收到的報(bào)文的源MAC地址,索引到另一個(gè)冗余口中的滑動(dòng)窗口信息和接收記錄;根據(jù)索引到的滑動(dòng)窗口信息和接收記錄判斷接收到的報(bào)文是否要丟棄;副本丟棄處理完畢后,再調(diào)整滑動(dòng)窗口信息和修改接收記錄。通過(guò)本專利技術(shù)提供的方案能夠達(dá)到如下優(yōu)點(diǎn):1.維護(hù)的序號(hào)數(shù)量和節(jié)點(diǎn)數(shù)成線性關(guān)系,減少了大規(guī)模網(wǎng)絡(luò)的序號(hào)維護(hù)開銷。2.能有效刪除序號(hào)亂序范圍在η以內(nèi)的副本。3.冗余口實(shí)現(xiàn)千兆線速收發(fā),線速丟棄副本【附圖說(shuō)明】以下結(jié)合附圖和【具體實(shí)施方式】來(lái)進(jìn)一步說(shuō)明本專利技術(shù)。圖1為基于HSR協(xié)議形成的環(huán)狀網(wǎng)絡(luò)示意圖;圖2為本專利技術(shù)中端口丟棄副本的示意圖;圖3為本專利技術(shù)中記錄窗口收到序號(hào)為L(zhǎng)ogSeq時(shí)的處理示意圖;圖4為本專利技術(shù)中記錄窗口收到序號(hào)大于記錄窗口上限時(shí)的處理示意圖;圖5為本專利技術(shù)中記錄窗口收到序號(hào)位于記錄窗口內(nèi)時(shí)的處理示意圖?!揪唧w實(shí)施方式】為了使本專利技術(shù)實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本專利技術(shù)。本專利技術(shù)利用FPGA實(shí)現(xiàn)序列號(hào)維護(hù),副本丟棄,其中序列號(hào)的維護(hù)采用基于源MAC地址的序號(hào)遞增方式,對(duì)于副本丟棄的方式通過(guò)在相應(yīng)的節(jié)點(diǎn)沿用IEC62439-2-2008中介紹的滑動(dòng)丟棄窗口,同時(shí)引入η比特記錄丟棄窗口,形成雙窗口丟棄副本,其中η指設(shè)定的窗口深度,即記錄丟棄窗口內(nèi)可記錄的數(shù)量?;谠撛?,本專利技術(shù)提供一種基于FPGA實(shí)現(xiàn)高可靠性無(wú)縫冗余環(huán)網(wǎng)中副本處理的方法,該實(shí)現(xiàn)方法中由FPGA在HSR源端節(jié)點(diǎn)根據(jù)源MAC地址來(lái)遞增序號(hào),同時(shí)由FPGA在HSR目的端節(jié)點(diǎn)維護(hù)滑動(dòng)丟棄窗口和記錄丟棄窗口,并同時(shí)利用這兩個(gè)窗口對(duì)報(bào)文副本進(jìn)行處理。具體的,F(xiàn)PGA在HSR源端節(jié)點(diǎn)維護(hù)序號(hào)時(shí)所采用的序號(hào)遞增方式為在HSR環(huán)網(wǎng)中的每個(gè)節(jié)點(diǎn)每向環(huán)中發(fā)送一個(gè)報(bào)文,都對(duì)序號(hào)進(jìn)行遞增。若序號(hào)計(jì)數(shù)器有16位,因此序號(hào)的最大值為65535,當(dāng)序號(hào)達(dá)到最大值65535后,則從0開始重新遞增。對(duì)于一個(gè)HSR遠(yuǎn)端節(jié)點(diǎn),這種序號(hào)遞增方式為每個(gè)源MAC地址維護(hù)一個(gè)序號(hào),維護(hù)的序號(hào)數(shù)等于源MAC地址的個(gè)數(shù)。根據(jù)IEC62439-2-2008中介紹的方式,為每個(gè)源目MAC地址的組合維護(hù)一個(gè)序號(hào),維護(hù)的序號(hào)數(shù)等于源MAC地址數(shù)乘以目的MAC地址數(shù),該方式在網(wǎng)絡(luò)規(guī)模較大時(shí),源目的MAC地址數(shù)量同時(shí)增長(zhǎng),會(huì)導(dǎo)致維護(hù)的序號(hào)數(shù)急劇增長(zhǎng)。故通過(guò)本方案提供的序號(hào)遞增方式能減少大規(guī)模網(wǎng)絡(luò)的序號(hào)維護(hù)開銷。FPGA在HSR目的端節(jié)點(diǎn)維護(hù)的兩個(gè)窗口,一個(gè)是滑動(dòng)丟棄窗口,一個(gè)是記錄丟棄窗口。以下是對(duì)這兩個(gè)窗口的定義:對(duì)于滑動(dòng)丟棄窗口,在節(jié)點(diǎn)的兩個(gè)環(huán)網(wǎng)冗余口(A和B)分別為收到的報(bào)文基于源MAC地址維護(hù)一個(gè)滑動(dòng)丟棄窗口,定義如下:1.滑動(dòng)丟棄窗口的下限為StartSeqA或StartSeqB ;2.滑動(dòng)丟棄窗口的上限為 CurrentSeqA 或 CurrentSeqB ;其中,StartSeqA或StartSeqB是其冗余口(A和B)維護(hù)的最小序號(hào),CurrentSeqA和CurrentSeqB是其維護(hù)的最大序號(hào)。對(duì)于記錄丟棄窗口,在兩個(gè)冗余口(A和B)分別為最近收到的報(bào)文維護(hù)η比特向量作為記錄丟棄窗口,其中η指設(shè)定的窗口深度,即記錄丟棄窗口內(nèi)可記錄的數(shù)量。以冗余口 Α為例定義如下:設(shè)LogSeqAp LogSeqA2到LogSeqAn是η個(gè)連續(xù)遞增的序號(hào),其中LogSeqn是已經(jīng)收到的報(bào)文中最大的序號(hào)。其中LogSeqn就是CurrentSeqA。每個(gè)序號(hào)存儲(chǔ)了一個(gè)記錄位,記載相應(yīng)的報(bào)文是否被接收過(guò),這些記錄位記做Log1; Log2,...Logn。其中,記錄位為“0”表示當(dāng)前第1頁(yè)1 2 本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種高可靠性無(wú)縫冗余環(huán)網(wǎng)中副本處理的FPGA實(shí)現(xiàn)方法,其特征在于,所述實(shí)現(xiàn)方法中由FPGA在HSR源端節(jié)點(diǎn)根據(jù)源MAC地址來(lái)遞增序號(hào),同時(shí)由FPGA在HSR目的端節(jié)點(diǎn)維護(hù)滑動(dòng)丟棄窗口和記錄丟棄窗口,并同時(shí)利用這兩個(gè)窗口對(duì)報(bào)文副本進(jìn)行處理。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:汪革,汪超,張皓,
申請(qǐng)(專利權(quán))人:上海博達(dá)數(shù)據(jù)通信有限公司,
類型:發(fā)明
國(guó)別省市:上海;31
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。