[發明專利]數據包傳輸方法、裝置、電子設備和存儲介質有效
| 申請號: | 202010006886.6 | 申請日: | 2020-01-03 |
| 公開(公告)號: | CN111245578B | 公開(公告)日: | 2022-11-08 |
| 發明(設計)人: | 不公告發明人 | 申請(專利權)人: | 北京字節跳動網絡技術有限公司 |
| 主分類號: | H04L1/18 | 分類號: | H04L1/18 |
| 代理公司: | 北京中知法苑知識產權代理有限公司 11226 | 代理人: | 李明;趙吉陽 |
| 地址: | 100041 北京市石景山區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據包 傳輸 方法 裝置 電子設備 存儲 介質 | ||
本公開實施例提供了一種數據包傳輸方法、裝置、電子設備和存儲介質,該方法包括:在發送目標數據包后,獲取傳輸目標數據包的傳輸鏈路的平均往返時延,以及該目標數據包對應的初始重傳時延;基于平均往返時延范圍與重傳超時區間的對應關系,在多個重傳超時區間中確定獲取的所述平均往返時延所對應的重傳超時區間;基于確定的重傳超時區間、所述初始重傳時延,以及預設的總重傳時延,為所述目標數據包生成多個目標重傳時延;所述目標重傳時延,用于控制所述目標數據包進行重傳。本公開實施例能夠數據包的重傳靈活性。
技術領域
本公開涉及數據技術領域,具體而言,涉及一種數據包傳輸方法、裝置、電子設備和存儲介質。
背景技術
網絡流量大概有90%的流量是傳輸控制協議(Transmission Control Protocol,TCP)流量,Linux系統在通過TCP協議傳輸數據包時,會存在丟包現象,在發生丟包后,基于RFC6298中關于TCP協議的超時算法,計算數據包重傳時延并對數據包進行重傳。
Linux系統在重傳數據包時,第一次重傳數據包的重傳超時時間(RetransmissionTime Out,RTO)值是根據傳輸鏈路的往返時間(Round Trip Time,RTT)值來確定的,如果第一次重傳的數據包沒有被應答,那么,之后每次重傳數據包的RTO值就是前一次RTO值的2倍,若累計RTO值的和值達到總超時時間后,依然無法成功傳輸數據包,則停止重傳數據包。
發明內容
有鑒于此,本公開實施例至少提供一種數據包傳輸方法、裝置、電子設備和存儲介質,用以提高數據包的重傳靈活性。
第一方面,本公開實施例提供了一種數據包傳輸方法,該方法包括:
在發送目標數據包后,獲取傳輸目標數據包的傳輸鏈路的平均往返時延,以及該目標數據包對應的初始重傳時延;
基于平均往返時延范圍與重傳超時區間的對應關系,在多個重傳超時區間中確定獲取的所述平均往返時延所對應的重傳超時區間;
基于確定的重傳超時區間、所述初始重傳時延,以及預設的總重傳時延,為所述目標數據包生成多個目標重傳時延;所述目標重傳時延,用于控制所述目標數據包進行重傳。
在一種實施方式中,根據以下步驟確定所述初始重傳時延:
根據獲取的所述平均往返時延、以及與所述目標數據包的發送時間距離最近的且成功傳輸的歷史數據包的往返時延,確定所述初始重傳時延。
在一種實施方式中,所述獲取傳輸目標數據包的傳輸鏈路的平均往返時延,包括:
獲取在所述目標數據包的發送時間之前的預設時長內,成功傳輸的歷史數據包集合;
基于所述歷史數據包集合中的每個歷史數據包對應的往返時延,為所述傳輸鏈路生成所述平均往返時延。
在一種實施方式中,所述平均往返時延滿足以下公式:
Qi-1=α×Qi-2+β×Ti;
其中,i∈[2,n];n為歷史數據包集合中包括的歷史數據包的總數目;當i=n時,Qi-1為傳輸鏈路的平均往返時延;Ti為歷史數據包集合中第i個歷史數據包對應的往返時延;α∈[0,1];β∈[0,1];在i取2時,Q0為歷史數據包集合中,第1個歷史數據包對應的往返時延。
在一種實施方式中,基于確定的重傳超時區間、所述初始重傳時延,以及預設的總重傳時延,為所述目標數據包生成多個目標重傳時延,包括:
若所述初始重傳時延位于所述重傳超時區間內,則將所述初始重傳時延作為所述多個目標重傳時延中的前M個目標重傳時延;M為預設的正整數;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京字節跳動網絡技術有限公司,未經北京字節跳動網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010006886.6/2.html,轉載請聲明來源鉆瓜專利網。





