新四季網

一種信元保序方法及裝置與流程

2024-03-06 10:37:15


本發明涉及clos交換網絡,具體涉及一種信元保序方法及裝置。
背景技術:
:基於信元的clos交換網絡具有無阻塞、可擴展和大容量的特點,目前已成為交換晶片的主流。clos交換網絡包含im(輸入模塊),cm(中間模塊)和om(輸出模塊),採用摺疊方式,im和om功能可在一塊晶片內實現,而cm則在另一塊晶片中實現,他們可組成3級的clos結構,並且可以很容易擴展成5級clos結構。為了提高延時性能和減少緩存容量,目前主流的clos交換網絡中都是以信元為基本單位進行交換的,im需把數據包切分成信元送往cm,cm完成信元的交換,om則需要把信元重新組成原來的數據包並輸出。圖1所示為常見的clos信元交換網絡架構,在該交換架構中,為了提高網絡的性能,im需要把同一個數據包的所有信元負載均衡的送到不同的交換平面cm,但隨之也會帶來問題,經過不同cm到達同一個om的延時可能會不一樣,這樣可能導致數據包亂序和信元亂序,如果不做信元保序,om需要消耗大量的資源來解決這個問題。目前,信元保序的主要採用的方案是在im給信元打全局時戳,在cm和om執行最早信元先出,從而實現在om完成信元保序,進一步完成包重組,該方案最大的優點是在om排序完成之後,數據包自然完成重組,無需專門的重組緩存空間,同時存在以下缺點:(1)、在進行信元切分時需要保留、添加較多信息構成全局時戳、且參與比較的全局時戳位寬較大,導致鏈路開銷較多;在該方案中,在im把包切分成信元時,不僅需要保留包的源編號(輸入模塊號和輸入埠號)、目的編號(輸出模塊號和輸出埠號),用於把信元送達目的地的路由信息,還需要增加包切分必須的包序列號、分片編號等,用於把信元還原成包的切片信息,以及信元保序所需的時戳等保序信息,組成全局時戳(時戳,源編號,分片編號),對於同一個包的所有分片,時戳同為首個分片的時戳,這些為信元層面引入很多開銷,必定會降低系統的效率。(2)在cm和om根據全局時戳執行最老信元先出的原則,在cm和om選擇最老信元的排序算法複雜度較高;假設在cm中所有的iq都存在信元需要發送,我們需要對所有iq的首個信元進行比較,選擇出最老的信元進行發送,通常的最老信元判斷原則如下:首先比較信元的時戳timestamp,時戳timestamp最小,則信元最老;如果時戳timestamp相同,則比較信元的源編號sourceid,源編號sourceid最小,則信元最老;如果源編號sourceid也相同,則比較分片編號fragmentid,分片編號fragmentid最小的信元是最老的(同一個包的fragmentid不可能相同);同樣的,在om也要按照上述原則選出最老信元,在進行重組,還原成包,排序算法十分繁瑣,實現複雜度非常高。同時,隨著ptn(分組傳送網,packettransportnetwork)和otn(光傳送網,opticaltransportnetwork)的發展,兩者不僅在設備層面發生融合,而且開始在晶片層面融合,這樣,在clos交換網絡同時進行ptn和otn業務交換時,由於otn業務對時延和抖動有較高要求,因此只在鏈路層面公用,在晶片層面需要分別處理ptn和otn的業務,無論是在im、cm或者om,都需要把ptn和otn業務分開處理,避免ptn業務影響otn業務的性能,而為了ptn和otn業務都能順利保序,則需要在切分信元時分別為ptn和otn業務的信元打上兩個全局時戳,如果仍採用目前的保序方法,鏈路開銷就更大了,排序算法的複雜度也將加倍。技術實現要素:本發明所要解決的技術問題是現有信元保序方案鏈路開銷較大,選擇最老信元的排序算法複雜度較高的問題。為了解決上述技術問題,本發明所採用的技術方案是提供一種信元保序方法,包括以下步驟:im模塊將收到的正常業務包切分成業務信元,並為每個信元添加路由信息、切片信息以及為不同業務類型的信元添加對應的時戳,與im模塊記錄的不同業務的重組描述和重組狀態一起發送出去;cm模塊通過比較信元時戳,對im模塊發送的信元,按照不同業務類型分別進行從最老信元到最新信元的排序,並根據排序結果輸出;om模塊接收各個cm模塊發送的信元,並通過比較信元時戳,按照不同業務類型的信元分別進行從最老信元到最新信元的排序;再根據對不同業務的時戳信息以及重組描述和重組狀態,對不同業務的信元分別進行信元重組。在上述方法中,當im模塊無業務信元需要發送時,直接發送時戳信元。在上述方法中,在cm模塊中,對接收信元進行排序具體為:每個從其輸入埠輸入的信元,按照不同業務存儲在不同的輸入隊列中,根據信元時戳,對每個業務的輸入隊列的隊頭信元以最老信元優先原則進行排序,並根據排序結果送往其輸出埠的不同的輸出隊列,等待輸出到om模塊;在om模塊中,信元排序與cm模塊相同,排序完畢後,不再送往輸出隊列,直接進行信元重組。在上述方法中,當同一業務類型中出現信元時戳時,從相等的信元任意選擇一個作為最老信元。在上述方法中,業務類型包括ptn業務和otn業務;cm模塊優先將otn業務輸出隊列中的信元送到輸出鏈路,進入om模塊排序重組。在上述方法中,每個信元的信頭包括路由信息、切片信息和不同業務的信元時戳,信元頭信息結構包括:ptn和otn平面公用部分:fragmentvalid,分片有效指示,值為1時表示該信元為正常信元;值為0時表示該信元為時戳信元;sourceid,源編號,為輸入模塊號inputmoduleid和輸入埠號inputport的組合;destinationid,目的編號,為輸出模塊號outputmoduleid和輸出埠號outputport的組合;packetseq,業務包的序列號;fragmentid,信元分片的編號,用於區分同一個包的不同信元分片;lastfragment,最後一個分片指示;ptn和otn平面還分別包括打上各自的信元時戳:ptncelltimestamp:ptn業務信元時戳;otncelltimestamp:otn業務信元時戳。在上述方法中,所有的im模塊記錄不同業務得重組描述,共享所有的重組描述資源;所述重組描述內容包括重組包的緩存頭指針、重組包在緩存中的當前寫指針、重組狀態、分片計數和業務類型;當重組狀態為01時,佔用重組描述,否則,處於空閒狀態,不佔用重組描述。在上述方法中,在om模塊中,進行信元重組具體包括以下步驟:步驟s301、om模塊對信元排序成功後,判斷信元是否健全,如果該信元不健全則直接丟棄,否則進入步驟s302;步驟s302、確定信元的業務類型,查看該業務類型對應的重組狀態是否為重組中,如果重組狀態處於重組中,則進入步驟s303;否則,進入步驟s308;步驟s303、讀取對應的重組描述,查看重組狀態;如果重組狀態為重組錯誤或丟棄,則進入步驟s304;否則,進入步驟s305;步驟s304、丟棄信元,進入步驟s313;步驟s305、根據重組描述的分片計數和信元上的分片的編號值是否相等,判斷該信元是否期望分片,如果兩值相等則該信元為期望分片,進入步驟s306;否則,進入步驟s307;步驟s306、把信元寫入包緩存,將重組描述的分片計數fragmentcounter加1,並緩存寫指針更新,進入步驟s313;步驟s307、丟棄信元,更新重組描述的重組狀態為重組錯誤,並生成丟棄包描述,釋放緩存資源,然後,執行步驟s313;步驟s308、查看是否存在空閒的重組描述,如果有進入步驟s309;否則,直接丟棄該信元;步驟s309、申請新的重組描述;步驟s310、根據重組描述的分片計數和信元上的分片的編號是否相等,判斷該信元是否期望分片,如果兩值相等則該信元為期望分片,進入步驟s311;否則,該信元不是期望分片,進入步驟s312;步驟s311、把信元寫入包緩存,將重組描述的分片計數fragmentcounter加1;並記錄第一個信元的頭指針,更新緩存寫指針,進入步驟s313;步驟s312、丟棄信元,更新重組描述的重組狀態為重組錯誤;步驟s313、判斷信元上的lastfragment是否為1,如果lastfragment為1,進入步驟s314;否則,轉步驟s301;步驟s314、查看重組描述是否發生重組錯誤,如果發生重組錯誤,則進入步驟s315;否則,進入步驟s316;步驟s315、釋放重組描述,更新im的重組狀態為未重組,回到步驟s301;步驟s316、生成包描述,進入隊列,釋放重組描述,更新im的重組狀態為未重組,回到步驟s301。本發明還提供了一種信元保序裝置,包括:im模塊,用於記錄不同業務的重組描述和重組狀態,以及將收到正常的業務包切分成業務信元,並為每個信元添加路由信息、切片信息以及為不同業務類型的信元添加對應的時戳,與不同業務的重組描述和重組狀態,一起發送出去;cm模塊,通過比較信元時戳,對所述im模塊發送的信元,按照不同業務類型分別進行從最老信元到最新信元的排序,並根據排序結果輸出;om模塊,接收各個所述cm模塊發送的信元,並通過比較信元時戳,按照不同業務類型的信元分別進行從最老信元到最新信元的排序;再根據對不同業務的時戳信息以及重組描述和重組狀態,對不同業務的信元分別進行信元重組。本發明結合相應的信元重組方法,利用信元時戳完成信元排序,降低排序算法複雜度,提高鏈路效率,形成了一整套更優信元保序方案;並且採用重組描述動態管理機制,所有im共享少量重組描述緩存,當im需要重組時,申請重組描述,重組完畢,釋放重組描述,這樣就可以把重組描述資源需求有效降低,且不影響om的重組法。附圖說明圖1為常見的clos信元交換網絡架構;圖2為本發明中信元頭信息結構示意圖;圖3為本發明中信元重組的流程圖;圖4為本發明提供的一種信元保序裝置的架構圖。具體實施方式下面結合說明書附圖和具體實施例對本發明做出詳細的說明。本發明提供的一種信元保序方法,包含信元切分、信元排序以及信元重組三階段,需要clos交換網絡架構中的im模塊、cm模塊和模塊配合完成,即在im模塊進行信元切分,並打上時戳信息和重組信息;在cm模塊中進行信元交換,並結合時戳信息完成信元排序;在om模塊利用時戳信息完成信元排序,然後再根據重組信息完成信元重組,本發明在排序算法複雜度和鏈路開銷上有極大地改進,形成了一整套更優、且適應當前clos交換網絡應用環境的信元保序方案。(1)信元切分。im模塊將收到業務包切分成業務信元,並為每個信元添加路由信息、切片信息和不同業務的信元時戳(保序信息)發送出去,即無論是ptn業務還是otn業務信元均攜帶ptn信元時戳和otn信元時戳,與現有保序算法的主要區別在於,現有保序信息需要分別為ptn業務和otn業務信元添加兩個平面的信元的源編號sourceid、信元的時戳timestamp和信元分片編號fragmentid;對於信元排序來說,本發明只需要為信元打上ptn業務或otn業務平面的信元的時戳timestamp,省去了信元的源編號sourceid和信元分片編號fragmentid欄位。但是由於信元重組仍然需要信元的源編號sourceid和信元分片編號fragmentid欄位,總的來說在多平面的場景下僅需保留一份信元的源編號sourceid和信元分片編號fragmentid欄位即可;如果im模塊無業務信元需要發送的時候就發送時戳信元(無有效淨荷,僅包含ptn業務和otn業務信元時戳信息)。在本發明中,路由信息、切片信息和不同業務的信元時戳添加在信元頭中,則每個信元頭信息結構如圖2所示,其中,ptn和otn平面公用部分包括:fragmentvalid,分片有效指示,值為1時表示該信元為正常信元;值為0時表示該信元為時戳信元;sourceid,源編號,為輸入模塊號inputmoduleid和輸入埠號inputport的組合;destinationid,目的編號,為輸出模塊號outputmoduleid和輸出埠號outputport的組合;packetseq,業務包的序列號;fragmentid,信元分片的編號,用於區分同一個包的不同信元分片;lastfragment,最後一個分片指示。ptn和otn平面還分別包括打上各自的信元時戳:ptn(orunicast)celltimestamp:ptn業務信元時戳;otn(ormulticast)celltimestamp:otn業務信元時戳。其中,fragmentvalid和celltimestamp用於信元排序,而sourceid、packetseq、fragmentid和lastfragment用於信元重組。(2)信元排序。在cm模塊和om模塊中,通過信元時戳timestamp比較分別進行信元排序,確定最老信元,不再需要比較信元源編號sourceid和信元分片編號fragmentid,如果出現信元時戳timestamp相等情況,可從相等的信元任意選擇一個作為最老信元。在cm模塊,每個從其輸入埠輸入的信元,按照不同業務(ptn業務和otn業務)存儲在不同的輸入隊列中(ptn業務輸入隊列和otn業務輸入隊列),針對不同業務,每個業務的輸入隊列的隊頭信元以最老信元優先原則進行排序(比如冒泡排序等),並根據排序結果送往其輸出埠的不同的輸出隊列(ptn輸出隊列和otn輸出隊列),等待輸出到om模塊,由於otn業務對時延的較高要求,cm模塊優先將otn業務輸出隊列中的信元送到輸出鏈路,進入om模塊排序重組。在om模塊,信元排序與cm模塊相同,在此不再贅述,排序完畢後,不在送往輸出隊列,直接進行信元重組。本發明中,無論在cm模塊,還是om模塊,信元排序時,只比較輸入隊列每個信元頭中的信元時戳celltimestamp,信元時戳celltimestamp越小的信元為越老信元,應越優先從輸出隊列輸出,不再比較源編號sourceid和信元分片編號fragmentid;如果兩個信元的信元時戳celltimestamp相同時,則隨機選取一個作為更老信元。(3)信元重組。由於在cm模塊和om模塊的信元排序階段未考慮源編號sourceid,因此在om模塊排序之後,不同源編號sourceid的信元會間插出現,導致此處無法像現有信元保序方案一樣直接完成信元重組;所以在om模塊完成信元排序後,需要按照源編號sourceid、業務包的序列號packetseq、信元分片的編號和最後一個分片指示lastfragment進行信元重組,還原成包;此處的重組緩存可以與om模塊的流量管理緩存共用,相當於未增加重組緩存。在om模塊進行信元重組需要依賴im模塊記錄的重組描述,重組描述內容包括重組包的緩存頭指針、重組包在緩存中的當前寫指針、重組狀態、分片計數和業務類型(如表1所示)。在本發明中,考慮到ptn業務和otn業務是各自完成重組,每個im模塊需記錄ptn業務和otn業務兩個重組狀態,如果重組狀態為01則佔用重組描述,否則處於空閒狀態(00)不佔用重組描述;所有的im模塊包含ptn和otn兩種業務重組描述,共享所有的重組描述資源。表1:重組描述內容。headpointer重組包的緩存頭指針currentwrpointer重組包在緩存中的當前寫指針reassemblestate重組狀態,00:空閒,01:重組中,10:重組錯誤,11:包丟棄fragmentcounter分片計數ptnorotn1:otn,o:ptn如圖3所示,在本發明中,信元重組具體包括以下步驟:步驟s301、在0m模塊中,當信元排序成功後,把信元送往重組模塊,首先判斷信元是否健全(即是否存在校驗錯誤、長度錯誤等),如果該信元不健全則直接丟棄,否則進入步驟s302;步驟s302、確定信元的業務類型(是ptn業務還是otn業務的信元),查看該業務類型對應的重組狀態是否為重組中,如果重組狀態處於重組中,則進入步驟s303;否則,進入步驟s308,申請新的重組描述。步驟s303、讀取對應的重組描述,查看重組狀態;如果重組狀態為重組錯誤或丟棄,則進入步驟s304;否則,進入步驟s305。步驟s304、丟棄信元,進入步驟s313。步驟s305、根據重組描述的fragmentcounter和信元上的fragmentid值是否相等,判斷該信元是否期望分片,如果兩值相等則該信元為期望分片,進入步驟s306;否則,該信元不是期望分片,發生了重組錯誤,進入步驟s307。步驟s306、把信元寫入包緩存,更新重組描述,即fragmentcounter加1;緩存寫指針更新,進入步驟s313。步驟s307、丟棄信元,更新重組描述,即更新重組狀態為重組錯誤,並生成丟棄包描述,釋放緩存資源,然後,執行步驟s313。步驟s308、查看是否存在空閒的重組描述,如果有進入步驟s309;否則,直接丟棄該信元。步驟s309、申請新的重組描述。步驟s310、根據重組描述的fragmentcounter和信元上的fragmentid是否相等,判斷該信元是否期望分片,如果兩值相等則該信元為期望分片,進入步驟s311;否則,該信元不是期望分片,發生了重組錯誤,進入步驟s312。步驟s311、把信元寫入包緩存,更新重組描述,即fragmentcounter加1;並記錄第一個信元的頭指針,緩存寫指針更新,進入步驟s313,本發明經過信元重組後的包都會進入隊列,進行相關的流量管理。步驟s312、丟棄信元,更新重組描述,即更新重組狀態為重組錯誤,由於是第一個信元,不用生成丟棄包描述。步驟s313、判斷信元上的lastfragment是否為1,如果lastfragment為1,表示該信元是最後一個分片,進入步驟s314;否則,轉步驟s301。步驟s314、查看重組描述是否發生重組錯誤,如果發生重組錯誤,則進入步驟s315;否則,進入步驟s316。步驟s315、釋放重組描述,更新im的重組狀態為未重組,重組失敗。回到步驟s301;步驟s316、生成包描述,進入隊列,釋放重組描述;更新im的重組狀態為未重組,重組成功。回到步驟s301;如圖4所示,本發明還提供了一種信元保序裝置,包括im模塊10、cm模塊20和om模塊30。im模塊10,用於記錄不同業務的重組描述和重組狀態,以及將收到正常的業務包切分成業務信元,並為每個信元添加路由信息、切片信息以及為不同業務類型的信元添加對應的時戳,與不同業務的重組描述和重組狀態,一起發送出去;cm模塊20,通過比較信元時戳timestamp,對im模塊10發送的信元,按照不同業務類型分別進行從最老信元到最新信元的排序,並根據排序結果輸出;om模塊30,接收各個cm模塊20發送的信元,並通過比較信元時戳timestamp,按照不同業務類型的信元分別進行從最老信元到最新信元的排序;再根據對不同業務的時戳信息以及重組描述和重組狀態,對不同業務的信元分別進行信元重組。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。當前第1頁12

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀