[發明專利]丟包重傳方法、裝置及電子設備在審
| 申請號: | 201710593797.4 | 申請日: | 2017-07-19 |
| 公開(公告)號: | CN107147481A | 公開(公告)日: | 2017-09-08 |
| 發明(設計)人: | 董家煒;張迪;趙曉星 | 申請(專利權)人: | 北京數碼視訊科技股份有限公司 |
| 主分類號: | H04L1/18 | 分類號: | H04L1/18;H04L1/16 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙)11371 | 代理人: | 王寧寧 |
| 地址: | 100000 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 丟包重傳 方法 裝置 電子設備 | ||
技術領域
本發明涉及數據傳輸技術領域,尤其是涉及一種丟包重傳方法、裝置及電子設備。
背景技術
視頻通訊,就是把本地攝像頭或者其它視頻采集設備采集的視頻信息,編碼壓縮之后,通過多種網絡系統傳輸到遠端,再解壓縮顯示的過程。但是,由于網絡條件的千差萬別,網絡系統中不可避免的會出現數據包丟失,即產生丟失數據包,從而影響視頻通訊的質量。因此,如何在“有限帶寬”的“不穩定”的網絡環境中,“快速可靠的”傳輸數據成為了一個重要的研究方向。
通過丟包重傳的方法來解決在“有限”的“不穩定”的網絡環境中“穩定”的傳輸數據的問題在業內已經有了不少的研究。比如最基礎的方法,直接使用TCP(Transmission Control Protocol,傳輸控制協議)協議來重傳數據,但是由于TCP協議本身的原因,這種方法往往存在擁塞、延時大和恢復慢的問題。因此,在工程實踐中,人們大多采用UDP(User Datagram Protocol,用戶數據報協議)協議來實現丟包重傳方法。
現有技術中,在采用UDP協議來實現丟包重傳方法時,發送重傳請求的觸發條件固定不變,均以網絡回路時間為基準設定觸發條件,即各個重傳請求的重傳等待時間均是按照網絡回路時間進行預估,這就相當于延長了重傳的等待時間,從而導致視頻傳輸質量差。
發明內容
有鑒于此,本發明的目的在于提供一種丟包重傳方法、裝置及電子設備,以縮短重傳等待時間,進而提高視頻傳輸質量。
第一方面,本發明實施例提供一種丟包重傳方法,應用于接收端,包括:接收發送端發送的數據包,并記錄所述數據包的接收時間,其中所述數據包分為重傳數據包和正常數據包,且所述數據包攜帶有信息頭,所述信息頭包括所述數據包的序號;添加所述數據包至緩存鏈表并根據所述序號進行排序;遍歷所述緩存鏈表中的數據包是否連續;若是,則將當前連續的數據包添加至輸出緩存;若否,則當緩存鏈表中的數據包的個數達到預設值時,確定丟失數據包的序號,并判斷所述丟失數據包對應的重傳請求次數是否為零;若是,則發送重傳請求至發送端,并更新所述重傳請求對應的請求時間、所述重傳請求次數;若否,則判斷當前時刻與當前相應的請求時間的差值是否大于單次重傳等待閾值;若是,則發送重傳請求至發送端,并更新所述重傳請求對應的請求時間、所述重傳請求次數;其中,所述重傳請求攜帶有所述丟失數據包的序號的相關信息。
結合第一方面,本發明實施例提供了第一方面的第一種可能的實施方式,其中,所述信息頭還包括發送時間、重傳標識;所述方法還包括:根據所述信息頭中的發送時間和重傳標識,計算所述單次重傳等待閾值。
結合第一方面的第一種可能的實施方式,本發明實施例提供了第一方面的第二種可能的實施方式,其中,具體按照以下方式計算:在預設時間段內,根據所述重傳標識,從所述輸出緩存中獲取重傳次數為1的多個重傳數據包的信息頭;根據所述信息頭中的發送時間,分別計算各個所述重傳次數為1的多個重傳數據包的單次重傳耗時;根據各個所述單次重傳耗時,計算單次重傳等待閾值。
結合第一方面的第二種可能的實施方式,本發明實施例提供了第一方面的第三種可能的實施方式,其中,所述根據所述信息頭中的發送時間,分別計算各個所述重傳次數為1的多個重傳數據包的單次重傳耗時包括:將所述輸出緩存中的各個所述數據包按照序號從小到大進行排序;計算所述重傳次數為1的多個所述重傳數據包的發送時間與所述重傳數據包的后一個數據包的發送時間的時間差;將所述時間差作為相應的重傳次數為1的重傳數據包的單次重傳耗時。
結合第一方面,本發明實施例提供了第一方面的第四種可能的實施方式,其中,判斷當前時刻與當前相應的請求時間的差值是否大于單次重傳等待閾值之前,還包括:判斷所述丟失數據包的接收時長是否超過預設延時閾值;若是,則將所述丟失數據包的后一個的數據包添加至輸出緩存;其中,接收時長為當前時刻與所述丟失數據包的后一個數據包的接收時刻的時間差值。
第二方面,本發明實施例還提供一種丟包重傳方法,應用于發送端,包括:監聽是否接收到重傳請求,所述重傳請求攜帶有丟失數據包的序號的相關信息;若否,獲取待傳送的正常數據包;添加信息頭至所述正常數據包,然后發送所述正常數據包至接收端,同時,將所述正常數據包存儲至數據緩存區;若是,則讀取并解析所述重傳請求,并根據所述重傳請求從數據緩存區提取所述丟失數據包,將所述丟失數據包標記為重傳數據包;更新所述重傳數據包的信息頭,然后發送所述重傳數據包至接收端;其中所述信息頭包括序號、發送時間、重傳標識;所述重傳標識用于區分重傳數據包和正常數據包。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京數碼視訊科技股份有限公司,未經北京數碼視訊科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710593797.4/2.html,轉載請聲明來源鉆瓜專利網。





