本申請(qǐng)實(shí)施例涉及通信,尤其涉及一種數(shù)據(jù)傳輸丟包恢復(fù)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著網(wǎng)絡(luò)技術(shù)以及地區(qū)網(wǎng)絡(luò)建設(shè)的快速發(fā)展,音視頻通信的實(shí)時(shí)性得到顯著提高,各類基于實(shí)時(shí)音視頻的應(yīng)用開(kāi)始逐漸成為用戶的主要溝通工具。然而,由于網(wǎng)絡(luò)異常波動(dòng)以及其他突發(fā)因素的影響,容易引起數(shù)據(jù)傳輸過(guò)程中發(fā)生丟包,使得用戶通訊過(guò)程中的音頻質(zhì)量下降和卡頓頻發(fā)。因此,為了提升用戶的音視頻體驗(yàn),各類音視頻抗丟包技術(shù)開(kāi)始相繼應(yīng)用于各種音視頻通信場(chǎng)景,例如,arq(automatic?repeat-request,自動(dòng)重傳請(qǐng)求)算法以及fec(forward?error?correction,fec,前向糾錯(cuò))算法等。
2、然而,當(dāng)網(wǎng)絡(luò)發(fā)生擁塞而導(dǎo)致出現(xiàn)丟包時(shí),直接基于arq算法和fec算法進(jìn)行重傳包和冗余包的發(fā)送,會(huì)增加額外的發(fā)送流量,容易引起數(shù)據(jù)發(fā)送端的發(fā)送碼率短時(shí)間內(nèi)激增,加劇網(wǎng)絡(luò)擁塞,影響用戶體驗(yàn),需要改進(jìn)。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)傳輸丟包恢復(fù)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),解決了直接基于arq算法和fec算法進(jìn)行重傳包和冗余包的發(fā)送,會(huì)增加額外的發(fā)送流量,容易引起數(shù)據(jù)發(fā)送端的發(fā)送碼率短時(shí)間內(nèi)激增,加劇網(wǎng)絡(luò)擁塞,影響用戶體驗(yàn)的問(wèn)題,實(shí)現(xiàn)了有效平衡信源碼率和抗丟包的恢復(fù)碼率,在保障丟包恢復(fù)效果的同時(shí)避免加劇網(wǎng)絡(luò)擁塞,優(yōu)化用戶體驗(yàn)。
2、第一方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)傳輸丟包恢復(fù)方法,該方法包括:
3、在檢測(cè)到傳輸鏈路滿足擁塞條件的情況下,獲取數(shù)據(jù)接收端發(fā)送的網(wǎng)絡(luò)狀態(tài)信息以及丟包統(tǒng)計(jì)信息,根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息以及歷史最大發(fā)送碼率確定待發(fā)送數(shù)據(jù)包的當(dāng)前最大發(fā)送碼率;
4、將當(dāng)前設(shè)置的信源碼率基于預(yù)設(shè)比例下調(diào)至第一碼率值,根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息以及所述丟包統(tǒng)計(jì)信息確定第一恢復(fù)碼率;
5、在所述第一碼率值與所述第一恢復(fù)碼率之和大于所述當(dāng)前最大發(fā)送碼率的情況下,根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息、所述丟包統(tǒng)計(jì)信息以及預(yù)設(shè)篩選條件確定待發(fā)送的目標(biāo)恢復(fù)包,計(jì)算所述目標(biāo)恢復(fù)包對(duì)應(yīng)的第二恢復(fù)碼率;
6、在所述第一碼率值與所述第二恢復(fù)碼率之和小于或等于所述當(dāng)前最大發(fā)送碼率的情況下,向所述數(shù)據(jù)接收端發(fā)送所述目標(biāo)恢復(fù)包。
7、第二方面,本申請(qǐng)實(shí)施例還提供了一種傳輸丟包恢復(fù)裝置,該裝置包括:
8、獲取模塊,配置為在檢測(cè)到傳輸鏈路滿足擁塞條件的情況下,獲取數(shù)據(jù)接收端發(fā)送的網(wǎng)絡(luò)狀態(tài)信息以及丟包統(tǒng)計(jì)信息;
9、最大碼率確定模塊,配置為根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息以及歷史最大發(fā)送碼率確定待發(fā)送數(shù)據(jù)包的當(dāng)前最大發(fā)送碼率;
10、信源碼率調(diào)整模塊,配置為將當(dāng)前設(shè)置的信源碼率基于預(yù)設(shè)比例下調(diào)至第一碼率值;
11、第一恢復(fù)碼率確定模塊,配置為根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息以及所述丟包統(tǒng)計(jì)信息確定第一恢復(fù)碼率;
12、第二恢復(fù)碼率確定模塊,配置為在所述第一碼率值與所述第一恢復(fù)碼率之和大于所述當(dāng)前最大發(fā)送碼率的情況下,根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息、所述丟包統(tǒng)計(jì)信息以及預(yù)設(shè)篩選條件確定待發(fā)送的目標(biāo)恢復(fù)包,計(jì)算所述目標(biāo)恢復(fù)包對(duì)應(yīng)的第二恢復(fù)碼率;
13、丟包恢復(fù)模塊,配置為在所述第一碼率值與所述第二恢復(fù)碼率之和小于或等于所述當(dāng)前最大發(fā)送碼率的情況下,向所述數(shù)據(jù)接收端發(fā)送所述目標(biāo)恢復(fù)包。
14、第三方面,本申請(qǐng)實(shí)施例還提供了一種傳輸丟包恢復(fù)設(shè)備,該設(shè)備包括:
15、一個(gè)或多個(gè)處理器;
16、存儲(chǔ)裝置,配置為存儲(chǔ)一個(gè)或多個(gè)程序,
17、當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本申請(qǐng)實(shí)施例所述的數(shù)據(jù)傳輸丟包恢復(fù)方法。
18、第四方面,本申請(qǐng)實(shí)施例還提供了一種存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的非易失性存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)配置為執(zhí)行本申請(qǐng)實(shí)施例所述的數(shù)據(jù)傳輸丟包恢復(fù)方法。
19、第五方面,本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,設(shè)備的至少一個(gè)處理器從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)讀取并執(zhí)行計(jì)算機(jī)程序,使得設(shè)備執(zhí)行本申請(qǐng)實(shí)施例所述的數(shù)據(jù)傳輸丟包恢復(fù)方法。
20、本申請(qǐng)實(shí)施例中,通過(guò)在檢測(cè)到傳輸鏈路滿足擁塞條件的情況下,獲取數(shù)據(jù)接收端發(fā)送的網(wǎng)絡(luò)狀態(tài)信息以及丟包統(tǒng)計(jì)信息,根據(jù)網(wǎng)絡(luò)狀態(tài)信息以及歷史最大發(fā)送碼率確定待發(fā)送數(shù)據(jù)包的當(dāng)前最大發(fā)送碼率;將當(dāng)前設(shè)置的信源碼率基于預(yù)設(shè)比例下調(diào)至第一碼率值,根據(jù)網(wǎng)絡(luò)狀態(tài)信息以及丟包統(tǒng)計(jì)信息確定第一恢復(fù)碼率;在第一碼率值與第一恢復(fù)碼率之和大于當(dāng)前最大發(fā)送碼率的情況下,根據(jù)網(wǎng)絡(luò)狀態(tài)信息、丟包統(tǒng)計(jì)信息以及預(yù)設(shè)篩選條件確定待發(fā)送的目標(biāo)恢復(fù)包,計(jì)算目標(biāo)恢復(fù)包對(duì)應(yīng)的第二恢復(fù)碼率;在第一碼率值與第二恢復(fù)碼率之和小于或等于當(dāng)前最大發(fā)送碼率的情況下,向數(shù)據(jù)接收端發(fā)送目標(biāo)恢復(fù)包。上述方案中,通過(guò)根據(jù)網(wǎng)絡(luò)狀態(tài)信息以及歷史最大發(fā)送碼率確定待發(fā)送數(shù)據(jù)包的當(dāng)前最大發(fā)送碼率,可以有效評(píng)估傳輸鏈路發(fā)生擁塞的情況下可行的當(dāng)前最大發(fā)送碼率,為后續(xù)下探合適的信源碼率提供可靠參考;通過(guò)將信源碼率基于預(yù)設(shè)比例下調(diào)至第一碼率值,逐漸下探信源碼率,并通過(guò)確定第一碼率值與第一恢復(fù)碼率之和大于當(dāng)前最大發(fā)送碼率,有效判斷直接發(fā)送恢復(fù)包會(huì)加劇網(wǎng)絡(luò)擁塞,并通過(guò)加入預(yù)設(shè)篩選條件選擇需要發(fā)送的目標(biāo)恢復(fù)包,降低丟包恢復(fù)需要的恢復(fù)碼率,有效平衡信源碼率和抗丟包的恢復(fù)碼率,在保障丟包恢復(fù)效果的同時(shí)避免加劇網(wǎng)絡(luò)擁塞,優(yōu)化用戶體驗(yàn)。
1.一種數(shù)據(jù)傳輸丟包恢復(fù)方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸丟包恢復(fù)方法,其特征在于,所述目標(biāo)恢復(fù)包包括目標(biāo)重傳包,所述網(wǎng)絡(luò)狀態(tài)信息包括實(shí)時(shí)往返時(shí)延,所述根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息、所述丟包統(tǒng)計(jì)信息以及預(yù)設(shè)篩選條件確定待發(fā)送的目標(biāo)恢復(fù)包,包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)傳輸丟包恢復(fù)方法,其特征在于,所述目標(biāo)恢復(fù)包還包括目標(biāo)冗余包,所述網(wǎng)絡(luò)狀態(tài)信息還包括實(shí)時(shí)丟包率,所述根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息、所述丟包統(tǒng)計(jì)信息以及預(yù)設(shè)篩選條件確定待發(fā)送的目標(biāo)恢復(fù)包,還包括:
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸丟包恢復(fù)方法,其特征在于,所述網(wǎng)絡(luò)狀態(tài)信息包括實(shí)時(shí)丟包率、實(shí)時(shí)往返時(shí)延以及最大接收碼率,所述根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息以及歷史最大發(fā)送碼率確定待發(fā)送數(shù)據(jù)包的當(dāng)前最大發(fā)送碼率,包括:
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸丟包恢復(fù)方法,其特征在于,所述根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息以及所述丟包統(tǒng)計(jì)信息確定第一恢復(fù)碼率,包括:
6.根據(jù)權(quán)利要求5中所述的數(shù)據(jù)傳輸丟包恢復(fù)方法,其特征在于,在所述根據(jù)所述網(wǎng)絡(luò)狀態(tài)信息以及所述丟包統(tǒng)計(jì)信息確定第一恢復(fù)碼率之后,還包括:
7.根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的數(shù)據(jù)傳輸丟包恢復(fù)方法,其特征在于,所述滿足擁塞條件,包括:
8.一種傳輸丟包恢復(fù)裝置,其特征在于,包括:
9.一種傳輸丟包恢復(fù)設(shè)備,所述設(shè)備包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,配置為存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)權(quán)利要求1-7中任一項(xiàng)所述的數(shù)據(jù)傳輸丟包恢復(fù)方法。
10.一種存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的非易失性存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在由計(jì)算機(jī)處理器執(zhí)行時(shí)配置為執(zhí)行權(quán)利要求1-7中任一項(xiàng)所述的數(shù)據(jù)傳輸丟包恢復(fù)方法。
11.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7中任一項(xiàng)所述的數(shù)據(jù)傳輸丟包恢復(fù)方法。