[發明專利]一種傳輸報文的方法及裝置有效
| 申請號: | 201110440932.4 | 申請日: | 2011-12-23 |
| 公開(公告)號: | CN102523168A | 公開(公告)日: | 2012-06-27 |
| 發明(設計)人: | 楊濤 | 申請(專利權)人: | 福建星網銳捷網絡有限公司 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;H04L29/12 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 黃志華 |
| 地址: | 350002 福建省福州市倉*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 傳輸 報文 方法 裝置 | ||
技術領域
本發明涉及通信技術領域,尤其涉及一種傳輸報文的方法及裝置。
背景技術
分布式系統通常包括各種線卡,如主控卡、業務卡、載板卡等,各線卡之間傳輸數據報文的通道一般通過快速外設組件互聯標準(Peripheral?Component?Interconnect?Express,PCIE)總線技術實現。
圖1為現有技術中的基于PCIE的分布式系統結構示意圖,如圖1所示,該系統包括主控卡、業務卡1、業務卡2、業務卡3和業務卡4,并且,各線卡之間通過PCIE總線相連。其中,在實際應用中,基于PCIE的分布式系統還包括載板卡(圖1中未示出)。
在現有技術中,各線卡之間傳輸數據報文主要是通過直接內存訪問(Direct?Memory?Access,DMA)來進行的。具體的,針對每個線卡,該線卡將自身的一部分存儲空間映射到PCIE空間,用于存放向其他線卡發送數據報文時的目的地址。由于通過DMA傳輸數據報文時,發送方需要獲知要將數據報文發送到接收方的哪個存儲空間,因此當作為數據報文發送方的線卡(以下稱為發送線卡)向作為數據報文接收方的線卡(以下稱為接收線卡)發送數據報文時,接收線卡從自身映射到PCIE空間的存儲空間中,選擇一定數量的存儲空間,作為接收數據報文的存儲空間,并將選擇的一定數量的存儲空間的地址信息,寫入到發送線卡映射到PCIE空間上的存儲空間中。其中,接收線卡用于接收數據報文的每個存儲空間的地址信息稱為信用,發送線卡映射到PCIE空間上的用于保存這些信用的存儲空間稱為信用池。圖2為現有技術中線卡之間傳輸數據報文的過程,具體包括以下步驟:
S201:發送線卡向接收線卡發送數據報文時,先向接收線卡申請信用。
也即,通知接收線卡將用于接收數據報文的存儲空間的地址信息,寫入到PCIE空間上對應該發送線卡的信用池中。
S202:接收線卡從自身映射到PCIE空間的存儲空間中,選擇一定數量的存儲空間并以一定的順序進行排序,作為接收數據報文的接收(RX)隊列。
也即,將選擇的該一定數量的存儲空間作為接收數據報文的存儲空間,并且是按照一定的順序,依次采用各個存儲空間接收數據報文的。
S203:接收線卡將選擇的該一定數量的存儲空間的地址信息作為信用,將每個信用按照RX隊列中的排列順序,依次寫入發送線卡的信用池中。
S204:發送線卡順序讀取信用池中的信用,并通過DMA將待發送數據報文寫入到讀取的信用對應的地址上。
其中,對于接收線卡的RX隊列中的一個存儲空間,如果當前正在采用該存儲空間接收數據報文,那么判斷該存儲空間上的數據報文已經接收完畢之后,接收線卡則將接收到的數據報文轉發給自身的數據處理模塊,對該數據報文進行處理。這是因為如果該存儲空間上的數據報文還未接收完畢,則該存儲空間上接收到的并不是完整的數據報文,將不完整的數據報文轉發給數據處理模塊進行處理時,必然會導致處理出錯。
在現有技術中,接收線卡判斷RX隊列中的某個存儲空間是否已經接收數據報文完畢的方法為:判斷RX隊列中當前用于接收數據報文的存儲空間的下一個存儲空間中,是否存在數據報文的報文頭,若存在,則確定當前用于接收數據報文的存儲空間已經接收完畢,否則確定當前用于接收數據報文的存儲空間還未接收完畢。
這是由于一個數據報文包括報文頭和數據區,報文頭包括報文類型字段和報文長度字段,數據區中是該數據報文的內容,如圖3所示。圖3為現有技術中數據報文的結構示意圖,在圖3中,數據報文的報文頭包括報文類型字段和報文長度字段,這兩個字段各占2個字節,數據區的長度不固定。發送線卡在發送一個數據報文時,是按照先發送數據報文的報文頭,再發送數據報文的數據區進行發送的。并且,發送線卡在發送多個數據報文時,也是按照一定順序,將該多個數據報文依次發送給接收線卡的。因此,發送線卡讀取一個信用,將一個數據報文寫入該信用對應的地址上之后,會依次讀取下一個信用,將下一個數據報文寫入該下一個信用對應的地址上,從而,接收線卡只要確定RX隊列中當前接收數據報文的存儲空間的下一個存儲空間上存在了數據報文的報文頭,就可以確定當前接收數據報文的存儲空間已經完整的接收到了數據報文,也即接收數據報文完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建星網銳捷網絡有限公司,未經福建星網銳捷網絡有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110440932.4/2.html,轉載請聲明來源鉆瓜專利網。





