[發明專利]一種報文重傳的方法、請求端、響應端以及系統有效
| 申請號: | 201410250643.1 | 申請日: | 2014-06-06 |
| 公開(公告)號: | CN104065465B | 公開(公告)日: | 2018-03-16 |
| 發明(設計)人: | 石仔良;陳步林 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | H04L1/18 | 分類號: | H04L1/18 |
| 代理公司: | 廣州三環專利商標代理有限公司44202 | 代理人: | 郝傳鑫,熊永強 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 報文 方法 請求 響應 以及 系統 | ||
技術領域
本發明涉及通信領域,尤其涉及一種報文重傳的方法、請求端、響應端以及系統。
背景技術
RDMA(Remote Direct Memory Access,遠端直接數據存取)技術用于網絡中服務器間的數據傳輸,數據傳輸過程中,請求端服務器的帶RDMA功能的網卡通過零復制技術經網絡把數據直接傳輸到響應端服務器的存儲區。在具體的實現過程中,響應端服務器可能會因為各種原因而接收數據錯誤或者超時接收數據。在這種情況下,需要請求端服務器重新傳輸數據到響應端服務器,即數據重傳,由于數據是以報文形式進行傳輸的,故數據重傳又稱為報文重傳。
目前報文重傳的方法是,請求端服務器需要為每個用于傳輸的數據隊列的每個消息記錄首報文的序列號并保存在表項中,在響應端服務器發送來報錯消息時從表項中讀取首報文的序列號,通過將首報文的序列號與報錯消息中的出錯報文的序列號對比,獲取出錯報文存儲地址的偏移地址,進而確定報文重傳開始的位置,進行報文重傳。但是,當數據隊列規模較大(例如256K~1M)以及每個數據隊列支持的并發消息較多(例如16K)的時候,所述表項將耗費巨大的存儲資源(即16K*256K~16K*1M bits)。顯然,這樣大的表項硬件存儲設備難以承受,并且放在硬件存儲設備不利于擴展,故該方法通常將上述表項放到主機服務器的內存中,這樣每次發送完一個消息時需要請求端服務器在上述內存中增添該表項內容,收到響應端服務器發送來的報錯消息時需要從上述內存中讀取該表項內容,增加了延時和操作的復雜度。
發明內容
本發明實施例提供一種報文重傳的方法、請求端、響應端以及系統,用于在報文傳送出錯重傳出錯報文時,減少延時性和提高操作簡便性。
為了解決上述技術問題,本發明實施例第一方面提供了一種報文重傳的方法,包括:
向響應端發送多個數據隊列,所述數據隊列包括至少一個消息,所述消息包括至少一個報文,所述報文的長度是固定的,且所述數據隊列包括的所有報文都是連續編號的;
獲得所述響應端發送來的報錯消息,所述報錯消息包括用于獲得所述出錯報文的序列號相對于所述出錯報文所屬消息的首報文的序列號的偏移值的信息、所述出錯報文所屬消息的數據隊列的隊列號以及所述出錯報文所屬消息的序列號;
根據所述用于獲得所述出錯報文的序列號相對于所述出錯報文所屬消息的首報文的序列號的偏移值的信息獲得所述偏移值,并根據所述偏移值和所述報文的長度的乘積,獲得所述出錯報文相對于所述出錯報文所屬消息的首報文的偏移地址;
根據所述數據隊列的隊列號和所述出錯報文所屬消息的序列號,定位出所述出錯報文所屬消息的起始存儲地址,其中,所述數據隊列的隊列號和所述出錯報文所屬消息的序列號兩者與所述出錯報文所屬消息的起始存儲地址之間具有對應關系;
根據所述出錯報文相對于所述出錯報文所屬消息的首報文的偏移地址和所述出錯報文所屬消息的起始存儲地址,定位出所述出錯報文的起始存儲地址,并從所述出錯報文的起始存儲地址處向所述響應端重傳報文,其中,所述出錯報文所屬消息的起始存儲地址即為所述出錯報文所屬消息的首報文的起始存儲地址。
在第一方面的一種可能實現方式中,所述用于獲得所述出錯報文的序列號相對于所述出錯報文所屬消息的首報文的序列號的偏移值的信息,具體包括:
所述出錯報文的序列號和所述出錯報文所屬消息的首報文的序列號;
所述根據所述用于獲得所述出錯報文的序列號相對于所述出錯報文所屬消息的首報文的序列號的偏移值的信息獲得所述偏移值,具體包括:
根據所述出錯報文的序列號和所述出錯報文所屬消息的首報文的序列號,計算出所述出錯報文的序列號相對于所述出錯報文所屬消息的首報文的序列號的偏移值,所述出錯報文的序列號是以所述出錯報文所屬消息的首報文的序列號為基數,按照一定順序進行計數得到的一個數值。
本發明實施例第二方面提供了一種報文重傳的方法,包括:
接收請求端發送的多個數據隊列,所述數據隊列包括至少一個消息,所述消息包括至少一個報文,所述報文的長度是固定的,且所述數據隊列包括的所有報文都是連續編號的;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410250643.1/2.html,轉載請聲明來源鉆瓜專利網。





