本發明專利技術公開了一種基于幀記憶池(Frame Memory Pool,FMP)的并行冗余協議(Parallel Redundancy Protocol,PRP)重復幀判別處理方法及系統。本方法中,首先,FMP記錄報文幀及對應的相關信息,并根據發送方MAC地址建立幀記憶子池(Frame Memory SubPool,FMSP);接著,FMP池通過發送方MAC地址進行分類索引,將源于同一MAC地址的信息存放于同一個FMSP中;最后,當節點接收到新報文幀時,根據幀的MAC地址索引到對應的FMSP,并對新接收到的報文幀和FMSP進行處理。本系統應用于一種基于幀記憶池的并行冗余協議重復幀判別處理方法,包括接收模塊、索引模塊、處理模塊。本發明專利技術既可適應幀亂序接收,又可避免出現幀重復提交,同時FMSP的大小依據應用通信報文頻率設定,即可滿足應用需求,避免了設置過大影響查找效率。避免了設置過大影響查找效率。避免了設置過大影響查找效率。
【技術實現步驟摘要】
基于幀記憶池的PRP協議重復幀判別處理方法及系統
[0001]本專利技術屬于高可用網絡通信
,特別是涉及一種基于幀記憶池的PRP重復幀判別處理方法及系統。
技術介紹
[0002]并行冗余協議(ParallelRedundancyProtocol,PRP)是IEC62439標準中針對控制領域網絡通信高可用需求,在TCP/IP基礎上改進的一種零丟包通信機制,PRP通過連接在兩個獨立的子網上的兩個網口發送復制的、在數據尾部追加PRP特定信息RCT(幀號SequenceNumber、長度、PRP協議類型、通道號等)字段的報文,接收方也通過連接在獨立的子網上的兩個網口接收報文,通過對數據尾部RCT字段信息判斷,提交先接收到的報文,丟棄后接收到的幀(Frame)。
[0003]現有的重復幀判別處理算法主要有基于序列號的雙窗口丟棄機制、基于源MAC(MediaAccessControlAddress)及序列號表的查找機制,基本上都沒考慮幀亂序接收情形,并且偶爾還會出現提交個別重復幀的現象。所謂傳統幀亂序接收是指接收方接收到的幀序號出現非遞增順序的情形,也就是新、后到幀幀號小于先到幀幀號,在這種情形下現有的機制會丟棄合法幀。所謂提交個別重復幀是指重復提交應該丟棄的同一幀號的報文,往往出現在基于滑動窗口的丟棄機制中。
技術實現思路
[0004]本專利技術目的在于提供一種可以兼容以太網報文亂序情形時用于重復幀判斷處理的數據結構及判斷方法,解決現有技術在幀亂序接收情形下,處理效率較低,并且偶爾還會出現提交個別重復幀的問題。
[0005]為了實現本專利技術目的,本專利技術公開了一種基于幀記憶池FMP(FrameMemoryPool)的PRP重復幀判別處理方法,包括以下步驟:
[0006]步驟1、幀記憶池FMP記錄PRP報文幀及對應的相關信息,并根據發送方MAC地址建立幀記憶子池FMSP(FrameMemorySubPool);
[0007]步驟2、幀記憶池FMP通過發送方MAC地址進行分類索引,將源于同一MAC地址的信息存放于同一個FMSP中;
[0008]步驟3、當節點接收到新PRP報文幀F
p
時,根據F
p
的源MAC地址SMAC
Fp
索引到對應于SMAC
Fp
的幀記憶子池,并對F
p
和進行處理。
[0009]進一步地,所述的與PRP報文幀F
p
對應的相關信息包括發送方的源MAC地址SMAC
Fp
、PRP報文幀幀號SN
Fp
、到達時間、接收通道號。
[0010]進一步地,FMP為結構數組鏈表或二維數組鏈表,初始時為空,并分別設有一個空的頭指針pFMPHead和尾指針pFMPTail;結構數組鏈表或二維數組鏈表的每一個成員對應網絡中每個發送節點的FMSP,每個FMSP存放從相應發送節點MAC地址的接收到的報文幀幀號SN
Fp
及對應的相關信息。
[0011]進一步地,檢查中是否存在F
p
的幀號SN
Fp
,并根據檢查結果作出進一步處理,具體步驟如下:
[0012]步驟3
?
1、根據F
p
的SMAC
Fp
查找到對應的,如果未查找到,則跳到步驟3
?
3;
[0013]步驟3
?
2、檢查中是否存在F
p
的SN
Fp
;如果存在,則刪除中的SN
Fp
及對應的相關信息,并丟棄F
p
,跳到步驟3
?
5;
[0014]步驟3
?
3、為SMAC
Fp
創建一個幀記憶子池,并將F
p
對應的相關信息填入;如果pHead為空,則pFMPHead指向,pFMPTail 指向;否則,pFMPTail
→
Next指向,然后pFMPTail指向;
[0015]步驟3
?
4、在中增加SN
Fp
及相關信息,然后將F
p
中的RCT字段刪除后,提交到上層協議;
[0016]步驟3
?
5、完成處理。
[0017]進一步地,組成PRP網絡的每個節點中的兩個網卡驅動同時維護一個FMP。
[0018]進一步地,當到達時間不為0時,表示PRP報文幀幀號SN
Fp
對應的成員有效;當到達時間為0時,表示PRP報文幀幀號SN
Fp
對應的成員無效,即能夠用來存儲新的幀信息。
[0019]進一步地,步驟3
?
2中刪除中的SN
Fp
及對應的相關信息,是通過將到達時間置為0來實現的。
[0020]進一步地,步驟3中,為避免FMSP滿的情形,在進行PRP報文幀幀號比對時,同時比對幀號的老化時間,所述老化時間是指當前時間與幀接收時間的差值;系統在初始化時預設老化時間閾值,若幀號的老化時間超出設定的老化閾值,則從FMSP中刪除幀號對應的相關信息。
[0021]進一步地,FMSP的大小依據應用通信網絡報文頻率設定調節。
[0022]為了實現本專利技術的目的,本專利技術還公開了一種基于幀記憶池的PRP重復幀判別處理系統,包括以下模塊:
[0023]接收模塊,所述接收模塊中,幀記憶池FMP記錄PRP報文幀及對應的相關信息,并根據發送方MAC地址建立幀記憶子池FMSP;
[0024]索引模塊,所述索引模塊中,幀記憶池FMP通過發送方MAC地址進行分類索引,將源于同一MAC地址的信息存放于同一個FMSP中;
[0025]處理模塊,所述處理模塊中,當節點接收到新PRP報文幀F
p
時,根據F
p
的源MAC地址SMAC
Fp
索引到對應于SMAC
Fp
的幀記憶子池,并對F
p
和進行處理。
[0026]與現有技術相比,本專利技術具有以下有益效果:1)通過采用接收池緩存近一段時間內接收到的幀信息,采用比較查找的方式判別重復幀,既可適應幀亂序接收,又可避免出現幀重復提交;2)FMSP的大小依據應用通信報文頻率設定,即可滿足應用需求,又避免了設置過大影響查找效率。
[0027]為更清楚說明本專利技術的功能特性以及結構參數,下面結合附圖及具體實施方式進一步說明。
附圖說明
[0028]此處所說明的附圖用來提供對本專利技術的進一步理解,構成本申請的一部分,本專利技術的示意性實施例及其說明用于解釋本專利技術,并不構成對本專利技術的不當限定。在附圖中:
[0029]圖1為一種基于幀記憶池的PRP重復幀判別處理方法流程示意圖。
具體實施方式
[0030]下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種基于幀記憶池的PRP重復幀判別處理方法,其特征在于,包括以下步驟:步驟1、幀記憶池FMP記錄PRP報文幀及對應的相關信息,并根據發送方MAC地址建立幀記憶子池FMSP;步驟2、幀記憶池FMP通過發送方MAC地址進行分類索引,將源于同一MAC地址的信息存放于同一個FMSP中;步驟3、當節點接收到新PRP報文幀F
p
時,根據F
p
的源MAC地址索引到對應于的幀記憶子池并對F
p
和進行處理。2.根據權利要求1所述的一種基于幀記憶池的PRP重復幀判別處理方法,其特征在于,所述的與PRP報文幀F
p
對應的相關信息包括發送方的源MAC地址PRP報文幀幀號到達時間接收通道號3.根據權利要求2所述的一種基于幀記憶池的PRP重復幀判別處理方法,其特征在于,FMP為結構數組鏈表或二維數組鏈表,初始時為空,并分別設有一個空的頭指針pFMPHead和尾指針pFMPTail;結構數組鏈表或二維數組鏈表的每一個成員對應網絡中每個發送節點的FMSP,每個FMSP存放從相應發送節點MAC地址的接收到的報文幀幀號及對應的相關信息。4.根據權利要求3所述的一種基于幀記憶池的PRP重復幀判別處理方法,步驟3、當節點接收到新PRP報文幀F
p
時,根據F
p
的源MAC地址索引到對應于的幀記憶子池其特征在于,檢查中是否存在F
p
的幀號并根據檢查結果作出進一步處理,具體步驟如下:步驟3
?
1、根據F
p
的查找到對應的如果未查找到則跳到步驟3
?
3;步驟3
?
2、檢查中是否存在F
p
的如果存在,則刪除中的及對應的相關信息,并丟棄F
p
,跳到步驟3
?
5;步驟3
?
3、為創建一個幀記憶子池并將F
p
對應的相關信息填入如果pHead為空,則pFMPHead指向pFMPTa...
【專利技術屬性】
技術研發人員:孔祥營,陳學兵,張振華,王凱龍,凌云鋒,沈毅南,
申請(專利權)人:中國船舶重工集團公司第七一六研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。