定幀方法及定幀裝置的制造方法
【技術領域】
[0001]本發明涉及數據通信領域,尤其涉及一種定幀方法及定幀裝置。
【背景技術】
[0002]常用的異步通信中以幀作為發送單位,這樣,通信的接收端必須隨時做好接收幀的準備。這時,發送方發送的幀的頭部必須設有一些特殊的比特組合,使得接收端能夠找出一幀的開始,這種方式稱為幀定界。也就是所謂的異步通信中的“定幀”。
[0003]當前,定幀處理主要劃分為三種狀態:搜索狀態、預同步狀態、同步狀態。接收端初始化處于搜索狀態,當接收到對端幀數據時,在搜索狀態通過單核中央處理器(CentralProcessing Unit, CPU)或邏輯硬件進行串行的字節掃描搜索或比特掃描搜索,當掃描到正確幀頭,開始進入預同步狀態,在預同步狀態進行跳幀搜索幀頭,其中,對于光傳送網絡(Optical Transport Network, OTN)、同步數字體系(Synchronous Digital Hierarchy,SDH)等定長幀格式的數據流采用固定幀長度跳轉搜索幀頭,而對于幀映射通用成幀過程(Frame Mapped Generic Framing Procedure, GFP-F)等包格式數據流就是根據巾貞頭指示的變化的幀長度信息進行跳幀搜索。當在預同步狀態搜索到連續X個正確的幀頭,就進入同步狀態;當在預同步狀態出現錯誤的幀頭則回到搜索狀態;在同步狀態,關于幀頭的搜索和預同步狀態保持一致,當在同步狀態檢測出現X個錯誤幀頭時,返回搜索狀態,否則,在同步狀態就根據搜索的幀頭找到對應的數據幀,并提取相應的數據。當然,現有技術中,有時候將預同步和同步合并為一種狀態即定幀狀態。
[0004]由上述描述的現有技術可知,當前定幀處理的方法中,在搜索狀態,是一種單核CPU或邏輯硬件進行的串行的字節掃描或比特掃描方式,其效率非常低下,不能實現高速地定中貞處理。
【發明內容】
[0005]本發明實施例提供一種定巾貞方法及定巾貞裝置,能實現高速地定巾貞處理。
[0006]本發明第一方面提供一種定巾貞方法,其可包括:
[0007]在預搜索狀態,接收數據流并將接收的數據流按塊分配到多個CPU中,并進入搜索狀態;
[0008]在搜索狀態,通過所述多個CPU并行掃描幀頭,當任意一個CPU掃描到正確的幀頭,通過所述掃描到正確的幀頭的CPU通告其他CPU釋放所占用的數據塊,并進入定幀狀態;
[0009]在定幀狀態,通過所述掃描到正確幀頭的CPU以幀為單元跳幀搜索幀頭,當連續X次掃描到錯誤的幀頭,返回所述預搜索狀態,其中,X為大于等于I的整數。
[0010]結合第一方面,在第一種可行的實施方式中,在搜索狀態,通過所述多個CPU并行掃描幀頭時,所述多個CPU采用字節掃描搜索方式或比特掃描搜索方式。
[0011]結合第一方面的第一種可行的實施方式,在第二種可行的實施方式中,當所述多個CPU采用比特掃描搜索方式時,所述當任意一個CPU掃描到正確的幀頭之后,進入定幀狀態之前,還包括:
[0012]根據所述正確的幀頭的比特流的起始位置相對于所述起始位置所在字節的起始位置的偏移值,移動所述正確的幀頭所在CPU中的數據塊,以將所述CPU中的數據塊中所有幀頭的起始位置移動到相應的字節起始位置。
[0013]結合第一方面至第一方面的第二種可行的實施方式,在第三種可行的實施方式中,所述數據流為幀長固定的數據流或者幀長不固定的數據流。
[0014]結合第一方面至第一方面的第二種可行的實施方式,在第四種可行的實施方式中,所述定幀狀態包括預同步狀態和同步狀態兩種狀態;
[0015]所述在定幀狀態,通過所述掃描到正確幀頭的CPU以幀為單元跳幀搜索幀頭,當連續X次掃描到錯誤的幀頭,返回所述預搜索狀態,包括:
[0016]在預同步狀態,通過所述掃描到正確幀頭的CPU以幀為單元跳幀搜索幀頭,當連續掃描到Y個正確的幀頭,則進入同步狀態;當I次掃描到錯誤的幀頭,返回所述預搜索狀態,其中,Y為大于或等于I的整數;
[0017]在同步狀態,通過所述掃描到正確幀頭的CPU以幀為單元跳幀搜索幀頭,當連續X次掃描到錯誤的幀頭,返回所述預搜索狀態。
[0018]本發明第二方面提供一種定幀裝置,其包括:
[0019]數據處理模塊,用于在所述定幀裝置處于預搜索狀態時,接收數據流并將接收的數據流按塊分配到多個CPU中,并使所述定幀裝置進入搜索裝置;
[0020]所述多個CPU中的每個CPU,用于在所述定幀裝置處于搜索狀態時,與其他CPU并行掃描幀頭,并當掃描到正確幀頭時,通告其他CPU釋放所占用的數據塊,并使所述定幀裝置進入定幀狀態,以及,在所述定幀裝置處于定幀狀態時,以幀為單元跳幀搜索幀頭,當連續X次掃描到錯誤的幀頭,使所述定幀裝置返回所述預搜幀狀態,其中,所述X為大于或等于I的整數。
[0021]結合第二方面,在第一種可行的實施方式中,所述每個CPU在搜索狀態與其他CPU并行掃描幀頭時,采用字節掃描搜索方式或比特掃描搜索方式。
[0022]結合第二方面的第一種可行的實施方式,在第二種可行的實施方式中,當所述多個CPU采用比特掃描搜索方式時,該裝置還包括:
[0023]調整模塊,用于當任意一個CPU掃描到正確的幀頭,使所述定幀裝置進入定幀狀態之前,根據所述正確的幀頭的比特流的起始位置相對于所述起始位置所在字節的起始位置的偏移值,移動所述正確的幀頭所在CPU中的數據塊,以將所述CPU中的數據塊中所有幀頭的起始位置移動到相應的字節起始位置。
[0024]結合第二方面至第二方面的第二種可行的實施方式,在第三種可行的實施方式中,所述數據流為幀長固定的數據流或者幀長不固定的數據流。
[0025]結合第二方面至第二方面的第二種可行的實施方式,在第四種可行的實施方式中,所述多個CPU中的每個CPU包括:
[0026]搜索模塊,用于在所述定幀裝置處于搜索狀態時,與其他CPU并行掃描幀頭,并當掃描到正確幀頭時,通告其他CPU釋放所占用的數據塊,并使所述定幀裝置進入定幀狀態;
[0027]定幀模塊,用于在所述定幀裝置處于定幀狀態時,以幀為單元跳幀搜索幀頭,當連續X次掃描到錯誤的幀頭,使所述定幀裝置返回所述預搜幀狀態。
[0028]結合第二方面的第四種可行的實施方式,在第五種可行的實施方式中,所述定幀狀態包括預同步狀態和同步狀態兩種狀態;
[0029]所述定幀模塊包括:
[0030]第一定幀模塊,用于在所述定幀裝置處于預同步狀態時,以幀為單元跳幀搜索幀頭,當連續掃描到Y個正確的幀頭,則使所述定幀裝置進入同步狀態;當I次掃描到錯誤的幀頭,使所述定幀裝置返回所述預搜索狀態,其中,所述Y為大于或等于I的整數;
[0031]第二定幀模塊,用于在所述定幀裝置處于同步狀態時,以幀為單元跳幀搜索幀頭,當連續X次掃描到錯誤的幀頭,使所述定幀裝置返回所述預搜索狀態。
[0032]由上可見,本發明實施例當接收到數據流時,將接收的數據流按塊分配到多個CPU中,并且,在搜索狀態通過所述多個CPU并行掃描幀頭的方式替代現有技術中串行掃描幀頭的方式。由此,本發明實施例將串行搜幀轉換為并行搜幀,大大提高了搜幀的速率,進而實現了高速地定幀處理。
【附圖說明】
[0033]圖1為本發明實施例的定幀方法的一實施例的流程示意圖;
[0034]圖2為本發明實施例的定幀方法應用與GFP-F中的原理示意圖;
[0035]圖3為本發明實施例的定幀裝置的一實施例的結構組成示意圖;
[0036]圖4為圖3中的CPU的一實施例的結構組成示意圖;
[0037]圖5為圖4中的定幀模塊的一實施例的結構組成示意圖;
[0038]圖6為本發明實施例的定幀裝置的另一實施例的結構組成示意圖;
[0039]圖7為本發明實施例的定幀裝置的另一實施例的結構組成示意圖。
【具體實施方式】
[0040]本發明實施例提供一種定幀方法及裝置,當接收到數據流時,將接收的數據流按塊分配到多個CPU中,并且,在搜索狀態通過所述多個CPU并行掃描幀頭的方