一種數(shù)據(jù)傳輸方法以及數(shù)據(jù)發(fā)送裝置的制造方法
【專利摘要】本發(fā)明實施例提供一種數(shù)據(jù)傳輸方法以及數(shù)據(jù)發(fā)送裝置,用于減少數(shù)據(jù)丟包重傳的幾率。該數(shù)據(jù)傳輸方法包括以下步驟:發(fā)送端確定與接收端之間鏈路的丟包率;發(fā)送端根據(jù)該丟包率確定冗余比率;發(fā)送端根據(jù)該冗余比率向接收端發(fā)送數(shù)據(jù)包。
【專利說明】
-種數(shù)據(jù)傳輸方法從及數(shù)據(jù)發(fā)送裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及通信技術(shù)領(lǐng)域,特別設(shè)及一種數(shù)據(jù)傳輸方法W及數(shù)據(jù)發(fā)送裝置。
【背景技術(shù)】
[0002] 超時重傳機制是數(shù)據(jù)傳輸領(lǐng)域保證數(shù)據(jù)可靠性的重要機制,其原理是發(fā)送端在發(fā) 送某一個數(shù)據(jù)包W后就開啟一個計時器,如果發(fā)送端在設(shè)定時間段內(nèi)沒有接收到發(fā)送的該 數(shù)據(jù)包的確認(rèn)(Acknowl edgement;簡稱:ACK)報文,則發(fā)送端重新發(fā)送該數(shù)據(jù)包,直到接收 到AO(報文,確定發(fā)送成功為止。
[0003] 但是,數(shù)據(jù)包的重傳不僅需要耗費重傳數(shù)據(jù)包的時間,還需要耗費確定收不到ACK 報文W確定數(shù)據(jù)包丟失的時間,導(dǎo)致數(shù)據(jù)的傳輸耗時較長。
【發(fā)明內(nèi)容】
[0004] 本申請?zhí)峁┮环N數(shù)據(jù)傳輸方法W及數(shù)據(jù)發(fā)送裝置,用于減少數(shù)據(jù)丟包重傳的幾 率。
[0005] 第一方面,本申請實施例提供一種數(shù)據(jù)傳輸方法,包括:
[0006] 發(fā)送端確定與接收端之間鏈路的丟包率;
[0007] 所述發(fā)送端根據(jù)所述丟包率確定冗余比率,所述冗余比率用于表征所述發(fā)送端發(fā) 送的冗余數(shù)據(jù)包與原始數(shù)據(jù)包的數(shù)量比值;
[000引所述發(fā)送端根據(jù)所述冗余比率向所述接收端發(fā)送數(shù)據(jù)包。
[0009] 在一些可能的實現(xiàn)方式中,所述發(fā)送端根據(jù)所述冗余比率向所述接收端發(fā)送數(shù)據(jù) 包,包括:
[0010] 所述發(fā)送端根據(jù)所述冗余比率W及Μ個原始數(shù)據(jù)包,生成N個冗余數(shù)據(jù)包,并向所 述接收端發(fā)送所述Μ個原始數(shù)據(jù)包W及所述Ν個冗余數(shù)據(jù)包,其中,Ν由Μ與所述冗余比率的 乘積所確定,如Μ與所述冗余比率的乘積的取上整值或取下整值。
[0011] 在一些可能的實現(xiàn)方式中,所述冗余數(shù)據(jù)包包括:對所述Μ個原始數(shù)據(jù)包中的任一 原始數(shù)據(jù)包進行復(fù)制獲得的重復(fù)數(shù)據(jù)包,或者,根據(jù)所述Μ個原始數(shù)據(jù)包中至少兩個數(shù)據(jù)包 進行運算獲得的運算數(shù)據(jù)包。
[0012] 在一些可能的實現(xiàn)方式中,所述發(fā)送端根據(jù)所述冗余比率向所述接收端發(fā)送數(shù)據(jù) 包,包括:
[0013] 所述發(fā)送端將每個所述原始數(shù)據(jù)包復(fù)制Κ份,生成每個所述原始數(shù)據(jù)包對應(yīng)的Κ個 重復(fù)數(shù)據(jù)包;
[0014] 所述發(fā)送端將每個所述原始數(shù)據(jù)包W及所述原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù)數(shù)據(jù)包發(fā) 送給所述接收端,其中,Κ為所述冗余比率的取上整值。
[0015] 在一些可能的實現(xiàn)方式中,所述冗余比率可W表示為:
[0016]
,其中,a為所述丟包率。
[0017] 在一些可能的實現(xiàn)方式中,所述發(fā)送端確定與接收端之間鏈路的丟包率,包括:
[0018] 所述發(fā)送端將所述接收端向所述發(fā)送端發(fā)送數(shù)據(jù)的丟包率作為所述發(fā)送端與所 述接收端之間鏈路的丟包率;或者
[0019] 所述發(fā)送端接收所述接收端返回的由所述接收端確定的所述發(fā)送端與所述接收 端之間鏈路的丟包率,所述接收端將接收的所述丟包率作為所述發(fā)送端與所述接收端之間 鏈路的丟包率。
[0020] 第二方面,本申請實施例提供一種數(shù)據(jù)發(fā)送裝置,包括:
[0021] 第一確定模塊,用于確定與接收端之間鏈路的丟包率;
[0022] 第二確定模塊,用于根據(jù)所述丟包率確定冗余比率,所述冗余比率用于表征所述 發(fā)送端發(fā)送的冗余數(shù)據(jù)包與原始數(shù)據(jù)包的數(shù)量比值;
[0023] 發(fā)送模塊,用于根據(jù)所述冗余比率向所述接收端發(fā)送數(shù)據(jù)包。
[0024] 在一些可能的實現(xiàn)方式中,所述發(fā)送模塊具體用于:
[0025] 根據(jù)所述冗余比率W及Μ個原始數(shù)據(jù)包,生成N個冗余數(shù)據(jù)包,并向所述接收端發(fā) 送所述Μ個原始數(shù)據(jù)包W及所述Ν個冗余數(shù)據(jù)包,其中,Ν由Μ與所述冗余比率的乘積所確定。
[0026] 在一些可能的實現(xiàn)方式中,所述冗余數(shù)據(jù)包包括:對所述Μ個原始數(shù)據(jù)包中的任一 原始數(shù)據(jù)包進行復(fù)制獲得的重復(fù)數(shù)據(jù)包,或者,根據(jù)所述Μ個原始數(shù)據(jù)包中至少兩個數(shù)據(jù)包 進行運算獲得的運算數(shù)據(jù)包。
[0027] 在一些可能的實現(xiàn)方式中,所述發(fā)送模塊具體用于:
[0028] 將每個所述原始數(shù)據(jù)包復(fù)制Κ份,生成每個所述原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù)數(shù)據(jù) 包,將每個所述原始數(shù)據(jù)包W及所述原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù)數(shù)據(jù)包發(fā)送給所述接收端, 其中,Κ為所述冗余比率的取上整值。
[0029] 在一些可能的實現(xiàn)方式中,所述冗余比率可W表示為:
[0030]
,其中,a為所述丟包率。
[0031 ]在一些可能的實現(xiàn)方式中,所述第一確定模塊具體用于:
[0032] 將所述接收端向所述發(fā)送端發(fā)送數(shù)據(jù)的丟包率作為所述發(fā)送端與所述接收端之 間鏈路的丟包率;或者
[0033] 將接收的由所述接收端確定的所述發(fā)送端與所述接收端之間鏈路的丟包率作為 所述發(fā)送端與所述接收端之間鏈路的丟包率。
[0034] 本申請實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0035] 上述技術(shù)方案中,發(fā)送端在向接收端發(fā)送數(shù)據(jù)時,根據(jù)鏈路的丟包率確定冗余比 率,根據(jù)冗余比率生成冗余數(shù)據(jù)包,向接收端發(fā)送原始數(shù)據(jù)包W及冗余數(shù)據(jù)包,W在原始數(shù) 據(jù)包丟失后,接收端能夠根據(jù)冗余數(shù)據(jù)包恢復(fù)丟失的原始數(shù)據(jù)包,進而無需發(fā)送端向接收 端進行數(shù)據(jù)重傳,由于減少數(shù)據(jù)重傳時發(fā)送端確定收不到ACK報文的耗時,能夠減少整個數(shù) 據(jù)傳輸過程的耗時。其中,發(fā)送端向接收端發(fā)送的冗余數(shù)據(jù)包的數(shù)量由冗余比率確定,而冗 余比率由鏈路的丟包率確定,換言之,發(fā)送端發(fā)送的冗余數(shù)據(jù)包的數(shù)量由接收端可能丟失 的原始數(shù)據(jù)包的數(shù)量所確定,所W,本發(fā)明實施例中,發(fā)送端可W既使得接收端能夠根據(jù)冗 余數(shù)據(jù)包確定丟失的原始數(shù)據(jù)包,也能夠盡可能的減少冗余數(shù)據(jù)包的數(shù)量。
【附圖說明】
[0036] 為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使 用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可W根據(jù)運些附圖獲得其 他的附圖。
[0037] 圖1為本申請實施例中發(fā)送數(shù)據(jù)方法的流程示意圖;
[0038] 圖2為本發(fā)明實施例中數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)示意框圖。
【具體實施方式】
[0039] 下面通過附圖W及具體實施例對本發(fā)明技術(shù)方案做詳細的說明,應(yīng)當(dāng)理解本申請 實施例W及實施例中的具體特征是對本發(fā)明技術(shù)方案的詳細的說明,而不是對本發(fā)明技術(shù) 方案的限定,在不沖突的情況下,本申請實施例W及實施例中的技術(shù)特征可W相互組合。
[0040] 本發(fā)明實施例提供的數(shù)據(jù)傳輸方法,既可W應(yīng)用于有線傳輸網(wǎng)絡(luò),例如基于光纖 通信網(wǎng)絡(luò)的數(shù)據(jù)傳輸,也可W應(yīng)用于無線傳輸網(wǎng)絡(luò),例如移動通信網(wǎng)絡(luò)中的數(shù)據(jù)傳輸W及 無線局域網(wǎng)(Wireless Local Area Networks;簡稱:WLAN)中的數(shù)據(jù)傳輸。其中,移動通信 網(wǎng)絡(luò)的實現(xiàn)方式包括但不限于:全球移動通訊系統(tǒng)(Global System of Mobile communication;簡稱:GSM)、通用分組無線服務(wù)(General Packet Radio Service;簡稱: GPRS)、碼分多址(Code Division Multiple Access;簡稱:CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access;簡稱:WCDMA)、長期演進(Xong Term Evolution;簡稱: LTE)、第五代移動通信系統(tǒng)(The fifth generation mobile communication system;簡 稱:5G)。
[0041 ]圖1為本發(fā)明實施例提供的數(shù)據(jù)傳輸方法的流程示意圖,該方法包括如下步驟:
[0042] 步驟101:發(fā)送端確定與接收端之間鏈路的丟包率。
[0043] 具體的,本發(fā)明實施例中,發(fā)送端指的是前述有線/無線傳輸網(wǎng)絡(luò)中能夠發(fā)送數(shù)據(jù) 的設(shè)備,例如基于光纖傳輸網(wǎng)絡(luò)通信的個人計算機,又例如,基于移動通信網(wǎng)絡(luò)進行數(shù)據(jù)傳 輸?shù)闹悄苁謾C、虛擬顯示(Virtual Reality ;簡稱:VR)設(shè)備、增強現(xiàn)實(Augmented Reality;簡稱:AR)設(shè)備,再例如,基于車輛網(wǎng)通信的汽車。
[0044] 同理,接收端指的是前述有線/無線傳輸網(wǎng)絡(luò)中能夠接收數(shù)據(jù)的設(shè)備。通常,一個 設(shè)備既可W作為發(fā)送端,也可W作為接收端。
[0045] 本發(fā)明實施例中,丟包率(Packet Loss Rate)是指丟失數(shù)據(jù)包數(shù)量占所發(fā)送數(shù)據(jù) 組的比率。發(fā)送端確認(rèn)丟包率的方式可W為W下任一種:
[0046] 其一,發(fā)送端向接收端發(fā)送數(shù)據(jù)報之后,接收端接收數(shù)據(jù)包,并記錄丟包的情況, 接收端可W根據(jù)所記錄的丟包情況確定丟包率,該由接收端根據(jù)記錄的丟包情況所確定的 丟包率也成為下行丟包率,然后將該下行丟包率發(fā)送給發(fā)送端,發(fā)送端將接收的由接收端 確定的下行丟包率作為鏈路的丟包率。
[0047] 本發(fā)明實施例中,接收端可W周期性地向發(fā)送端返回該下行丟包率,W使發(fā)送端 能夠及時獲知鏈路的通信質(zhì)量,并根據(jù)丟包率調(diào)整發(fā)包策略。
[0048] 其二,通常,發(fā)送端與接收端之間進行雙向傳輸,發(fā)送端可W記錄由該接收端發(fā)送 數(shù)據(jù)包的丟包情況,并根據(jù)記錄的接收端發(fā)送數(shù)據(jù)包的丟包情況確定出接收端發(fā)送數(shù)據(jù)包 的丟包率,該丟包率又可稱為上行丟包率,通常,該上行丟包率與下行丟包率接近,因此,發(fā) 送端可W將該下行丟包率作為發(fā)送端與接收端之間鏈路的丟包率。
[0049] 在其二的方式中,無需發(fā)送端與接收端之間的交互,發(fā)送端能夠根據(jù)本地記錄的 丟包統(tǒng)計數(shù)據(jù)確定鏈路的丟包率,實現(xiàn)方式更為簡單,且耗時更少。
[0050] 其Ξ,結(jié)合前述其一 W及其二的方式,發(fā)送端計算該上行丟包率W及下行丟包率 的加權(quán),將計算獲得的加權(quán)值作為鏈路的丟包率。本發(fā)明實施例對該加權(quán)方式的具體方式 不予限定,例如,該加權(quán)方式可W為算數(shù)平均值、幾何平均值,等等。
[0051] 步驟102:發(fā)送端根據(jù)丟包率確定冗余比率,并根據(jù)冗余比率向接收端發(fā)送數(shù)據(jù) 包。
[0052] 具體的,本發(fā)明實施例中,發(fā)送端在向接收端發(fā)送一原始待傳數(shù)據(jù)時,將數(shù)據(jù)分為 多個數(shù)據(jù)塊進行傳輸,并對每個數(shù)據(jù)塊進行打包,獲得一數(shù)據(jù)包(Packet),本發(fā)明實施例 中,將運種根據(jù)原始待傳數(shù)據(jù)進行分塊打包形成的數(shù)據(jù)包稱為原始數(shù)據(jù)包。
[0053] 發(fā)送端在向接收端傳輸該原始數(shù)據(jù)包時,為了減少重傳的幾率,發(fā)送端會向接收 端發(fā)送冗余數(shù)據(jù)包,接收端在接收的原始數(shù)據(jù)包丟失后,可W根據(jù)該冗余數(shù)據(jù)包確定丟失 的原始數(shù)據(jù)包的數(shù)據(jù)。
[0054] 其中,發(fā)送端根據(jù)鏈路的丟包率確定發(fā)送冗余數(shù)據(jù)包的數(shù)量,例如,在鏈路的丟包 率較大時,發(fā)送較多的冗余數(shù)據(jù)包,而在鏈路的丟包率較小時發(fā)送較少的丟包率。
[0055] 上述技術(shù)方案中,發(fā)送端在向接收端發(fā)送數(shù)據(jù)時,根據(jù)鏈路的丟包率確定冗余比 率,根據(jù)冗余比率生成冗余數(shù)據(jù)包,向接收端發(fā)送原始數(shù)據(jù)包W及冗余數(shù)據(jù)包,W在原始數(shù) 據(jù)包丟失后,接收端能夠根據(jù)冗余數(shù)據(jù)包恢復(fù)丟失的原始數(shù)據(jù)包,進而無需發(fā)送端向接收 端進行數(shù)據(jù)重傳,由于減少數(shù)據(jù)重傳時發(fā)送端確定收不到ACK報文的耗時,能夠減少整個數(shù) 據(jù)傳輸過程的耗時。其中,發(fā)送端向接收端發(fā)送的冗余數(shù)據(jù)包的數(shù)量由冗余比率確定,而冗 余比率由鏈路的丟包率確定,換言之,發(fā)送端發(fā)送的冗余數(shù)據(jù)包的數(shù)量由接收端可能丟失 的原始數(shù)據(jù)包的數(shù)量所確定,所W,本發(fā)明實施例中,發(fā)送端可W既使得接收端能夠根據(jù)冗 余數(shù)據(jù)包確定丟失的原始數(shù)據(jù)包,也能夠盡可能的減少冗余數(shù)據(jù)包的數(shù)量。
[0056] 需要說明的是,上述基于丟包率確定冗余數(shù)據(jù)包的數(shù)量為根據(jù)概率所確定的數(shù) 值,所W,實際情況中,發(fā)送端發(fā)送的冗余數(shù)據(jù)包的數(shù)據(jù)可能會超出接收端確定實際丟失的 原始數(shù)據(jù)包的需求,又或者,接收端根據(jù)冗余數(shù)據(jù)包并不能確定所有丟失的原始數(shù)據(jù)包。但 是,在很長的一段時間內(nèi),采用本發(fā)明實施例提供的技術(shù)方案,能夠有效減少數(shù)據(jù)重傳的幾 率。
[0057] 本發(fā)明實施例中,步驟102中發(fā)送端根據(jù)丟包率確定冗余比率,可W有多種實現(xiàn)方 式。
[0058] 其中的一種可能的實現(xiàn)方式為:
[0化9]
[0060] 上式中,S為冗余比率,a為丟包率。
[0061] 本發(fā)明實施例中,冗余比率S的確定原理可W為:發(fā)送端向接收端發(fā)送適宜數(shù)量的 冗余數(shù)據(jù)包,該冗余數(shù)據(jù)包的數(shù)量可W使得接收端盡可能確定每一個丟失的原始數(shù)據(jù)包的 數(shù)值,且使得該冗余數(shù)據(jù)包的數(shù)量盡可能少。
[0062] 根據(jù)上述原理確定冗余比率S-種可能的表現(xiàn)形式為:
[0063]
[0064] 實際情況中,根據(jù)上述原理確定的冗余比率S有多種表現(xiàn)形式,除了上面介紹的公 式之外,冗余比率S還可W表示為丟包率a的一次函數(shù)、二次函數(shù)W及其他的函數(shù),本發(fā)明實 施例不能予W窮舉。
[0065] 可選的,本發(fā)明實施例中,發(fā)送端在確定冗余比率之后根據(jù)冗余比率向接收端發(fā) 送數(shù)據(jù)包,可W通過如下方式實現(xiàn):
[0066] 發(fā)送端根據(jù)冗余比率W及Μ個原始數(shù)據(jù)包,生成N個冗余數(shù)據(jù)包,并向接收端發(fā)送Μ 個原始數(shù)據(jù)包W及Ν個冗余數(shù)據(jù)包,其中,Ν由Μ與冗余比率的乘積所確定。
[0067] 上述Μ可W為預(yù)設(shè)值,如Μ為10,發(fā)送端每向接收端發(fā)送10個原始數(shù)據(jù)包,一并向接 收端發(fā)送Ν個冗余數(shù)據(jù)包。上述Μ也可W為當(dāng)前需要發(fā)送的原始數(shù)據(jù)包的數(shù)量,例如,發(fā)送端 將待發(fā)送數(shù)據(jù)分為98個數(shù)據(jù)塊,則打包有98個原始數(shù)據(jù)包,則Μ為98,發(fā)送端在向接收端發(fā) 送98個原始數(shù)據(jù)包時,一并發(fā)送Ν個冗余數(shù)據(jù)包。
[0068] 其中,冗余數(shù)據(jù)包的個數(shù)Ν由原始數(shù)據(jù)包個數(shù)及冗余比率的乘積所確定。實際 情況中,如果Μ與冗余比率的乘積為整數(shù)時,冗余數(shù)據(jù)包的個數(shù)Ν即為Μ與冗余比率的乘積; 如果Μ與冗余比率的乘積為非整數(shù)時,冗余數(shù)據(jù)包的個數(shù)Ν即為Μ與冗余比率的乘積的取整 值,可W為取上整值,也可W為取下整值。所謂取下整值指的是,將該乘積進行取整運算后 獲得數(shù)值。所謂取上整值指的是,如果該乘積取整后的余數(shù)大于0,則取該取整值加1的數(shù)值 作為運算后數(shù)值。
[0069] 而上述冗余數(shù)據(jù)包又可W有兩種實現(xiàn)方式:
[0070] 實現(xiàn)方式1,冗余數(shù)據(jù)包為對原始數(shù)據(jù)包進行復(fù)制獲得的重復(fù)數(shù)據(jù)包。
[0071] 例如,在Μ不小于Ν時,發(fā)送端在向接收端發(fā)送Μ個數(shù)據(jù)包時,對Μ個原始數(shù)據(jù)包中的 Ν個原始數(shù)據(jù)包進行復(fù)制,獲得Ν個重復(fù)數(shù)據(jù)包,然后在向接收端發(fā)送該Μ個原始數(shù)據(jù)包時, 一并發(fā)送Ν個重復(fù)數(shù)據(jù)包。
[0072] 又例如,在N = h*M+i,其中,h為正整數(shù),i為小于Μ的正整數(shù),發(fā)送端在向接收端發(fā) 送Μ個數(shù)據(jù)包時,對每個原始數(shù)據(jù)包復(fù)制h個備份,另外,再從Μ個原始數(shù)據(jù)包中在那個選擇i 個數(shù)據(jù)包進行復(fù)制,一共獲得h*M+i=N個復(fù)制數(shù)據(jù)包,向接收端一并發(fā)送N個復(fù)制數(shù)據(jù)包。
[0073] 實際情況中,對Μ個原始數(shù)據(jù)包中的那些數(shù)據(jù)包進行復(fù)制,可W由多種實現(xiàn)方式, 本發(fā)明實施例不予限定。例如,在前述Μ不小于Ν的情況中,發(fā)送端從Μ個原始數(shù)據(jù)包中隨機 選擇Ν個數(shù)據(jù)包進行復(fù)制。
[0074] 實現(xiàn)方式2,冗余數(shù)據(jù)包為根據(jù)Μ個原始數(shù)據(jù)包中至少兩個數(shù)據(jù)包進行運算獲得的 運算數(shù)據(jù)包。
[0075] 例如,將Μ個原始數(shù)據(jù)包中兩個或兩個W上的數(shù)據(jù)包進行運算,獲得一個運算數(shù)據(jù) 包,為了便于說明,可W將該兩個或兩個W上的數(shù)據(jù)包稱為運算數(shù)據(jù)包的源數(shù)據(jù)包。在源數(shù) 據(jù)包中有1個數(shù)據(jù)包丟失后,接收客戶端可W根據(jù)該運算數(shù)據(jù)包W及源數(shù)據(jù)包中未丟失的 數(shù)據(jù)包計算出丟失的源數(shù)據(jù)包的數(shù)值。
[0076] 實際情況中,一個原始數(shù)據(jù)包可W作為多個運算數(shù)據(jù)包的源數(shù)據(jù)包,進而,可W結(jié) 合多個運算數(shù)據(jù)包與未丟失的源數(shù)據(jù)包計算丟失的源數(shù)據(jù)包的數(shù)值。
[0077] 實際情況中,上述根據(jù)源數(shù)據(jù)包計算運算數(shù)據(jù)包W及根據(jù)未丟失源數(shù)據(jù)包與運算 數(shù)據(jù)包計算丟失的源數(shù)據(jù)包的方式可W有很多種,如采用前向糾錯(Forward Error Corr e c t i on;簡稱:陽C)算法的方式,本發(fā)明實施例對此不予限定。
[0078] 可選的,本發(fā)明實施例中,本發(fā)明實施例中,發(fā)送端在確定冗余比率之后根據(jù)冗余 比率向接收端發(fā)送數(shù)據(jù)包,可W通過如下方式實現(xiàn):
[0079] 發(fā)送端將每個原始數(shù)據(jù)包復(fù)制K份,生成每個所述原始數(shù)據(jù)包對應(yīng)的K個重復(fù)數(shù)據(jù) 包,將每個所述原始數(shù)據(jù)包W及所述原始數(shù)據(jù)包對應(yīng)的K個重復(fù)數(shù)據(jù)包發(fā)送給所述接收端, 其中,K為所述冗余比率的取上整值。
[0080] 上述技術(shù)方案中,根據(jù)丟包率,對每個原始數(shù)據(jù)包進行復(fù)制,向接收端發(fā)送每個原 始數(shù)據(jù)包及其復(fù)制后的K個重復(fù)數(shù)據(jù)包,盡可能減少丟包重傳的幾率。
[0081] 本發(fā)明實施例還提供一種數(shù)據(jù)發(fā)送裝置,圖2為該數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)示意框圖, 包括:
[0082] 第一確定模塊201,用于確定與接收端之間鏈路的丟包率;
[0083] 第二確定模塊202,用于根據(jù)丟包率確定冗余比率,冗余比率用于表征發(fā)送端發(fā)送 的冗余數(shù)據(jù)包與原始數(shù)據(jù)包的數(shù)量比值;
[0084] 發(fā)送模塊203,用于根據(jù)冗余比率向接收端發(fā)送數(shù)據(jù)包。
[0085] 在一些可能的實現(xiàn)方式中,發(fā)送模塊203具體用于:根據(jù)冗余比率W及Μ個原始數(shù) 據(jù)包,生成Ν個冗余數(shù)據(jù)包,并向接收端發(fā)送Μ個原始數(shù)據(jù)包W及Ν個冗余數(shù)據(jù)包,其中,Ν由Μ 與冗余比率的乘積所確定。
[0086] 在一些可能的實現(xiàn)方式中,冗余數(shù)據(jù)包包括:對Μ個原始數(shù)據(jù)包中的任一原始數(shù)據(jù) 包進行復(fù)制獲得的重復(fù)數(shù)據(jù)包,或者,根據(jù)Μ個原始數(shù)據(jù)包中至少兩個數(shù)據(jù)包進行運算獲得 的運算數(shù)據(jù)包。
[0087] 在一些可能的實現(xiàn)方式中,發(fā)送模塊203具體用于:將每個原始數(shù)據(jù)包復(fù)制Κ份,生 成每個原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù)數(shù)據(jù)包,將每個原始數(shù)據(jù)包W及原始數(shù)據(jù)包對應(yīng)的Κ個重 復(fù)數(shù)據(jù)包發(fā)送給接收端,其中,Κ為冗余比率的取上整值。
[0088] 在一些可能的實現(xiàn)方式中,冗余比率可W表示為:
[0089]
,其中,a為丟包率。
[0090] W上數(shù)據(jù)發(fā)送裝置包含的個模塊的具體實現(xiàn)方式可W參照圖1的實施例的中由發(fā) 送端執(zhí)行的對應(yīng)步驟,本發(fā)明實施例不再寶述。
[0091] 本申請實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0092] 上述技術(shù)方案中,發(fā)送端在向接收端發(fā)送數(shù)據(jù)時,根據(jù)鏈路的丟包率確定冗余比 率,根據(jù)冗余比率生成冗余數(shù)據(jù)包,向接收端發(fā)送原始數(shù)據(jù)包W及冗余數(shù)據(jù)包,W在原始數(shù) 據(jù)包丟失后,接收端能夠根據(jù)冗余數(shù)據(jù)包恢復(fù)丟失的原始數(shù)據(jù)包,進而無需發(fā)送端向接收 端進行數(shù)據(jù)重傳,由于減少數(shù)據(jù)重傳時發(fā)送端確定收不到ACK報文的耗時,能夠減少整個數(shù) 據(jù)傳輸過程的耗時。其中,發(fā)送端向接收端發(fā)送的冗余數(shù)據(jù)包的數(shù)量由冗余比率確定,而冗 余比率由鏈路的丟包率確定,換言之,發(fā)送端發(fā)送的冗余數(shù)據(jù)包的數(shù)量由接收端可能丟失 的原始數(shù)據(jù)包的數(shù)量所確定,所W,本發(fā)明實施例中,發(fā)送端可W既使得接收端能夠根據(jù)冗 余數(shù)據(jù)包確定丟失的原始數(shù)據(jù)包,也能夠盡可能的減少冗余數(shù)據(jù)包的數(shù)量。
[0093] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實 施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機 可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn) 品的形式。
[0094] 本發(fā)明是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程 圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流 程和/或方框、W及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻\些計算機程序 指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器W產(chǎn) 生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實 現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0095] 顯然,本領(lǐng)域的技術(shù)人員可W對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。運樣,倘若本發(fā)明的運些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含運些改動和變型在內(nèi)。
【主權(quán)項】
1. 一種數(shù)據(jù)傳輸方法,其特征在于,包括: 發(fā)送端確定與接收端之間鏈路的丟包率; 所述發(fā)送端根據(jù)所述丟包率確定冗余比率,所述冗余比率用于表征所述發(fā)送端發(fā)送的 冗余數(shù)據(jù)包與原始數(shù)據(jù)包之間的相對數(shù)量; 所述發(fā)送端根據(jù)所述冗余比率向所述接收端發(fā)送數(shù)據(jù)包。2. 如權(quán)利要求1所述的方法,其特征在于,所述發(fā)送端根據(jù)所述冗余比率向所述接收端 發(fā)送數(shù)據(jù)包,包括: 所述發(fā)送端根據(jù)所述冗余比率以及Μ個原始數(shù)據(jù)包,生成N個冗余數(shù)據(jù)包,并向所述接 收端發(fā)送所述Μ個原始數(shù)據(jù)包以及所述Ν個冗余數(shù)據(jù)包,其中,Ν由Μ與所述冗余比率的乘積 所確定。3. 如權(quán)利要求3所述的方法,其特征在于,所述冗余數(shù)據(jù)包包括:對所述Μ個原始數(shù)據(jù)包 中的任一原始數(shù)據(jù)包進行復(fù)制獲得的重復(fù)數(shù)據(jù)包,或者,根據(jù)所述Μ個原始數(shù)據(jù)包中至少兩 個數(shù)據(jù)包進行運算獲得的運算數(shù)據(jù)包。4. 如權(quán)利要求1所述的方法,其特征在于,所述發(fā)送端根據(jù)所述冗余比率向所述接收端 發(fā)送數(shù)據(jù)包,包括: 所述發(fā)送端將每個所述原始數(shù)據(jù)包復(fù)制Κ份,生成每個所述原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù) 數(shù)據(jù)包,將每個所述原始數(shù)據(jù)包以及所述原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù)數(shù)據(jù)包發(fā)送給所述接 收端,其中,Κ為所述冗余比率的取上整值。5. 如權(quán)利要求1至4任一項所述的方法,其特征在于,所述冗余比率可以表示為:其中,a為所述丟包率。6. -種數(shù)據(jù)發(fā)送裝置,其特征在于,包括: 第一確定模塊,用于確定與接收端之間鏈路的丟包率; 第二確定模塊,用于根據(jù)所述丟包率確定冗余比率,所述冗余比率用于表征所述發(fā)送 端發(fā)送的冗余數(shù)據(jù)包與原始數(shù)據(jù)包的數(shù)量比值; 發(fā)送模塊,用于根據(jù)所述冗余比率向所述接收端發(fā)送數(shù)據(jù)包。7. 如權(quán)利要求6所述的裝置,其特征在于,所述發(fā)送模塊具體用于:根據(jù)所述冗余比率 以及Μ個原始數(shù)據(jù)包,生成N個冗余數(shù)據(jù)包,并向所述接收端發(fā)送所述Μ個原始數(shù)據(jù)包以及所 述Ν個冗余數(shù)據(jù)包,其中,Ν由Μ與所述冗余比率的乘積所確定。8. 如權(quán)利要求7所述的裝置,其特征在于,所述冗余數(shù)據(jù)包包括:對所述Μ個原始數(shù)據(jù)包 中的任一原始數(shù)據(jù)包進行復(fù)制獲得的重復(fù)數(shù)據(jù)包,或者,根據(jù)所述Μ個原始數(shù)據(jù)包中至少兩 個數(shù)據(jù)包進行運算獲得的運算數(shù)據(jù)包。9. 如權(quán)利要求6所述的裝置,其特征在于,所述發(fā)送模塊具體用于:將每個所述原始數(shù) 據(jù)包復(fù)制Κ份,生成每個所述原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù)數(shù)據(jù)包,將每個所述原始數(shù)據(jù)包以 及所述原始數(shù)據(jù)包對應(yīng)的Κ個重復(fù)數(shù)據(jù)包發(fā)送給所述接收端,其中,Κ為所述冗余比率的取 上整值。10. 如權(quán)利要求6至9任一項所述的裝置,其特征在于,所述冗余比率可以表示為:中,a為所述丟包率。
【文檔編號】H04L1/00GK105871514SQ201610339770
【公開日】2016年8月17日
【申請日】2016年5月19日
【發(fā)明人】李洪福
【申請人】樂視控股(北京)有限公司, 樂視云計算有限公司