專利名稱:數(shù)據(jù)傳輸方法及相關(guān)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及數(shù)據(jù)傳輸方法及相關(guān)設(shè)備。
背景技術(shù):
隨著第三代移動(dòng)通信(3G :3rd Generation)技術(shù)的飛速發(fā)展,在運(yùn)營商中已經(jīng)得 到了越來越多的應(yīng)用。3G網(wǎng)絡(luò)的流量具有速率高,占用的帶寬高等特點(diǎn),導(dǎo)致3G網(wǎng)絡(luò)的丟 包現(xiàn)象比普通網(wǎng)絡(luò)嚴(yán)重,表現(xiàn)在平均丟包率高及容易發(fā)生突發(fā)性丟包?,F(xiàn)有的通信網(wǎng)絡(luò)采用前向糾錯(cuò)編碼(FECforward Error Correction)對(duì)傳輸?shù)?數(shù)據(jù)包進(jìn)行編碼,傳輸?shù)臄?shù)據(jù)包可以是采用噴泉模型編碼方式進(jìn)行了編碼的異或后的數(shù)據(jù) 包?,F(xiàn)有的3G網(wǎng)絡(luò)中服務(wù)器在向客戶端發(fā)送數(shù)據(jù)時(shí)是采用如下的流程進(jìn)行數(shù)據(jù)發(fā)送將源 數(shù)據(jù)分片成網(wǎng)絡(luò)數(shù)據(jù)包后,對(duì)網(wǎng)絡(luò)數(shù)據(jù)包采用噴泉模型編碼方式進(jìn)行編碼,獲得異或后的 數(shù)據(jù)包,再通過FEC數(shù)據(jù)包封裝器將異或后的進(jìn)行FEC編碼,再通過3G網(wǎng)絡(luò)層傳輸??蛻?端收到了經(jīng)過FEC編碼后的數(shù)據(jù)包后,通過FEC數(shù)據(jù)包解封裝器將經(jīng)過FEC編碼后的數(shù)據(jù) 包進(jìn)行FEC解碼,獲得異或后的數(shù)據(jù)包,對(duì)獲得的異或后的數(shù)據(jù)包采用噴泉模型解碼方式 進(jìn)行解碼就可以獲得網(wǎng)絡(luò)數(shù)據(jù)包,再通過網(wǎng)絡(luò)數(shù)據(jù)包獲得源數(shù)據(jù)。使用上述的方式雖然可以完成數(shù)據(jù)的傳輸,但是由于3G網(wǎng)絡(luò)的丟包現(xiàn)象比普通 網(wǎng)絡(luò)嚴(yán)重,特別是丟失解碼的關(guān)鍵數(shù)據(jù)包的問題更為突出,導(dǎo)致客戶端在獲得異或后的數(shù) 據(jù)包后,因?yàn)槿鄙俳獯a的關(guān)鍵數(shù)據(jù)包而導(dǎo)致解碼失敗。因此,如何實(shí)現(xiàn)在傳輸數(shù)據(jù)過程中, 減少或避免解碼的關(guān)鍵數(shù)據(jù)包的丟失是亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了數(shù)據(jù)傳輸方法及相關(guān)設(shè)備,實(shí)現(xiàn)在傳輸數(shù)據(jù)過程中,減少或 避免解碼的關(guān)鍵數(shù)據(jù)包的丟失。本發(fā)明實(shí)施例提供了一種數(shù)據(jù)傳輸方法,包括從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;通過基于噴泉編碼模型的編碼方式對(duì)所述數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得 異或后的數(shù)據(jù)包;對(duì)所述異或后的數(shù)據(jù)包進(jìn)行前向糾錯(cuò)編碼;向客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包;如果在向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包的過程中接收到 來自所述客戶端的自動(dòng)重傳請(qǐng)求,則向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的所述解碼關(guān)鍵 數(shù)據(jù)包,所述自動(dòng)重傳請(qǐng)求包括所述客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)傳輸方法,包括接收來自服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包;對(duì)所述經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的數(shù)據(jù) 包;
判斷所述異或后的數(shù)據(jù)包是否為解碼關(guān)鍵數(shù)據(jù)包;如果獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向所述服 務(wù)器發(fā)送自動(dòng)重傳請(qǐng)求,所述自動(dòng)重傳請(qǐng)求包括所述解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);接收來自所述服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的解碼關(guān)鍵數(shù)據(jù)包。本發(fā)明實(shí)施例還提供了一種服務(wù)器,包括讀取單元、編碼單元、發(fā)送單元和接收單 元;其中所述讀取單元,用于從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;所述編碼單元,用于通過基于噴泉編碼模型的編碼方式對(duì)所述讀取單元讀取的數(shù) 據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得異或后的數(shù)據(jù)包;對(duì)所述異或后的數(shù)據(jù)包進(jìn)行前向糾 錯(cuò)編碼;所述發(fā)送單元,用于向客戶端發(fā)送經(jīng)過所述編碼單元進(jìn)行前向糾錯(cuò)編碼的數(shù)據(jù) 包;如果在向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包的過程中所述接收單元 接收到來自所述客戶端的自動(dòng)重傳請(qǐng)求,向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的所述解碼 關(guān)鍵數(shù)據(jù)包,所述自動(dòng)重傳請(qǐng)求包括所述客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。本發(fā)明實(shí)施例還提供了一種客戶端,包括接收單元,用于接收來自服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包;解碼單元,用于對(duì)所述接收單元接收的經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包進(jìn)行 FEC解碼,獲得異或后的數(shù)據(jù)包;判斷單元,用于判斷所述解碼單元獲得的異或后的數(shù)據(jù)包是否為解碼關(guān)鍵數(shù)據(jù) 包;發(fā)送單元,用于在所述解碼單元獲得了第一數(shù)量的異或后的數(shù)據(jù)包,所述判斷單 元仍然判斷沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向所述服務(wù)器發(fā)送自動(dòng)重傳請(qǐng)求,所述自動(dòng)重傳請(qǐng)求 包括所述解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);所述接收單元,還用于接收來自所述服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的解碼關(guān)鍵數(shù)據(jù) 包。從本發(fā)明實(shí)施例提供的以上技術(shù)方案可以看出,本發(fā)明實(shí)施例中服務(wù)器在向客戶 端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包時(shí),可以接收來自客戶端的請(qǐng)求解碼關(guān)鍵數(shù)據(jù)包的 ARQ請(qǐng)求,從而向客戶端發(fā)送解碼關(guān)鍵數(shù)據(jù)包,實(shí)現(xiàn)在傳輸數(shù)據(jù)過程中,減少或避免解碼的 關(guān)鍵數(shù)據(jù)包的丟失。同時(shí),也使得客戶端可以獲得解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成 功率,可以提高解碼效率。
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其 他的附圖。圖1為本發(fā)明一個(gè)實(shí)施例提供的一種數(shù)據(jù)傳輸方法的流程示意圖;圖2為本發(fā)明另一個(gè)實(shí)施例提供的一種數(shù)據(jù)傳輸方法的流程示意圖;圖3為本發(fā)明另一個(gè)實(shí)施例提供的一種數(shù)據(jù)傳輸方法的流程示意圖4為本發(fā)明另一個(gè)實(shí)施例提供的一種數(shù)據(jù)傳輸方法的流程示意圖;圖5為本發(fā)明另一個(gè)實(shí)施例提供的一種數(shù)據(jù)傳輸方法的流程示意圖;圖6為本發(fā)明另一個(gè)實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;圖7為本發(fā)明另一個(gè)實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;圖8為本發(fā)明另一個(gè)實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;圖9為本發(fā)明另一個(gè)實(shí)施例提供的一種客戶端的結(jié)構(gòu)示意圖;圖10為本發(fā)明另一個(gè)實(shí)施例提供的一種客戶端的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。先介紹本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法,圖1描述了本發(fā)明一個(gè)實(shí)施例提供的 數(shù)據(jù)傳輸方法的流程,該實(shí)施例描述的通信網(wǎng)絡(luò)中服務(wù)器的處理流程,包括101、從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;服務(wù)器在獲取了源數(shù)據(jù)后,將源數(shù)據(jù)通過數(shù)據(jù)分片后分成網(wǎng)絡(luò)數(shù)據(jù)包,并將網(wǎng)絡(luò) 數(shù)據(jù)包存放在數(shù)據(jù)包緩存池,因此在需要發(fā)送數(shù)據(jù)包時(shí),就可以根據(jù)需要從數(shù)據(jù)包緩存池 中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列。其中,在本發(fā)明的一個(gè)實(shí)施例中,服務(wù)器采用滑動(dòng)窗口的方式從數(shù)據(jù)包緩存池中 讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列,該數(shù)據(jù)包隊(duì)列的長度由滑動(dòng)窗口的窗長確定,該數(shù)據(jù)包 隊(duì)列的初始數(shù)據(jù)包由滑動(dòng)窗口的初始位置確定。102、通過基于噴泉編碼模型的編碼方式對(duì)數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得 異或后的數(shù)據(jù)包;基于噴泉編碼模型的編碼方式包括但不限于噴泉編碼方式。103、對(duì)異或后的數(shù)據(jù)包進(jìn)行FEC編碼;104、向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包;向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包是一個(gè)持續(xù)的過程。在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包時(shí),可以同時(shí)發(fā)送異或后的數(shù)據(jù) 包的度以及參與異或數(shù)據(jù)包的標(biāo)識(shí)。在服務(wù)器是采用滑動(dòng)窗口的方式從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包 隊(duì)列時(shí),還可以進(jìn)一步向客戶端發(fā)送滑動(dòng)窗口的初始位置及窗長。105、在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包的過程中接收到來自客戶 端的ARQ請(qǐng)求,該ARQ請(qǐng)求包括客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);該ARQ請(qǐng)求由客戶端在獲得了第一數(shù)量的異或后的數(shù)據(jù)包、但仍然沒有解碼關(guān)鍵 數(shù)據(jù)包時(shí)發(fā)送,其中解碼關(guān)鍵數(shù)據(jù)包具體可以是度為1的數(shù)據(jù)包,因?yàn)榭蛻舳酥挥蝎@得了 度為1的數(shù)據(jù)包才能夠?qū)邮盏漠惢蚝蟮臄?shù)據(jù)包進(jìn)行解碼。由于客戶端接收的數(shù)據(jù)包包括 了參與異或數(shù)據(jù)包的標(biāo)識(shí),因此客戶端可以根據(jù)接收的參與異或數(shù)據(jù)包的標(biāo)識(shí)確定所需要 的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。進(jìn)一步,還可以根據(jù)滑動(dòng)窗口的初始位置及窗長確定所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí),以確保確定的解碼關(guān)鍵數(shù)據(jù)包在當(dāng)前滑動(dòng)窗口內(nèi)。106、向客戶端發(fā)送經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包。向客戶端發(fā)生了解碼關(guān)鍵數(shù)據(jù)包后,使得客戶端可以根據(jù)解碼關(guān)鍵數(shù)據(jù)包進(jìn)行解 碼。從上可知,本實(shí)施例在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包時(shí),可以接 收來自客戶端的請(qǐng)求解碼關(guān)鍵數(shù)據(jù)包的ARQ請(qǐng)求,從而向客戶端發(fā)送解碼關(guān)鍵數(shù)據(jù)包,實(shí) 現(xiàn)在傳輸數(shù)據(jù)過程中,減少或避免解碼的關(guān)鍵數(shù)據(jù)包的丟失。同時(shí),也使得客戶端可以獲得 解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼效率。圖2描述了本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程,該實(shí)施例描述的通 信網(wǎng)絡(luò)中服務(wù)器的處理流程,包括201、從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;202、通過基于噴泉編碼模型的編碼方式對(duì)數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得 異或后的數(shù)據(jù)包;203、對(duì)異或后的數(shù)據(jù)包進(jìn)行FEC編碼;204、向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包;205、在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包的過程中接收到來自客戶 端的ARQ請(qǐng)求,該ARQ請(qǐng)求包括客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);206、向客戶端發(fā)送經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包;其中,201 206可以參照101 106執(zhí)行。207、在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包的過程中接收到來自客戶 端的反饋信息,該反饋信息包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí);208、根據(jù)已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng)窗口的初始位置。例如,當(dāng)前滑動(dòng)窗口的初始位置為1號(hào)數(shù)據(jù)包,窗長為10,即當(dāng)前滑動(dòng)窗口包括的 數(shù)據(jù)包為1 10號(hào)數(shù)據(jù)包;如果客戶端已經(jīng)成功解碼了 1 3號(hào)數(shù)據(jù)包,則可以將滑動(dòng)窗 口的初始位置調(diào)整至4號(hào)數(shù)據(jù)包,由于窗長沒有變,因此調(diào)整后的滑動(dòng)窗口包括的數(shù)據(jù)包 為4 13號(hào)數(shù)據(jù)包。此時(shí),服務(wù)器可以從數(shù)據(jù)包緩存池中讀取11 13號(hào)數(shù)據(jù)包,從而可 以編碼向客戶端發(fā)送4 13號(hào)數(shù)據(jù)包。其中,滑動(dòng)窗口初始位置的調(diào)整要以客戶端已解碼 的包括滑動(dòng)窗口初始位置的數(shù)據(jù)包在內(nèi)的連續(xù)的數(shù)據(jù)包為基礎(chǔ),以當(dāng)前滑動(dòng)窗口包括的數(shù) 據(jù)包為1 10號(hào)數(shù)據(jù)包為例如果客戶端已經(jīng)解碼1 3號(hào)數(shù)據(jù)包,則可以將初始位置調(diào) 整至4號(hào)數(shù)據(jù)包;如果客戶端已經(jīng)解碼1 2、4 10號(hào)數(shù)據(jù)包,只能將初始位置調(diào)整至3 號(hào)數(shù)據(jù)包;如果客戶端已經(jīng)解碼2 10號(hào)數(shù)據(jù)包,也不能對(duì)滑動(dòng)窗口的初始位置進(jìn)行調(diào)整。從上可知,本實(shí)施例在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包時(shí),可以接 收來自客戶端的請(qǐng)求解碼關(guān)鍵數(shù)據(jù)包的ARQ請(qǐng)求,從而向客戶端發(fā)送解碼關(guān)鍵數(shù)據(jù)包,使 得客戶端可以獲得解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼效率;并且 還可以接收客戶端返回的包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)的反饋信息,根據(jù)已經(jīng)成功解 碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng)窗口的初始位置,避免繼續(xù)發(fā)送已經(jīng)成功解碼的數(shù)據(jù)包,同時(shí) 可以加大未發(fā)送的數(shù)據(jù)包的發(fā)送量,為客戶端解碼提供更多有效的數(shù)據(jù)包。圖3描述了本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程,該實(shí)施例描述的通 信網(wǎng)絡(luò)中服務(wù)器的處理流程,包括
301、從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;302、通過基于噴泉編碼模型的編碼方式對(duì)數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得 異或后的數(shù)據(jù)包;303、對(duì)異或后的數(shù)據(jù)包進(jìn)行FEC編碼;304、向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包;305、在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包的過程中接收到來自客戶 端的ARQ請(qǐng)求,該ARQ請(qǐng)求包括客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);306、向客戶端發(fā)送經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包;307、在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包的過程中接收到來自客戶 端的反饋信息,該反饋信息包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí);308、根據(jù)已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng)窗口的初始位置。其中,301 308可以參照201 208執(zhí)行。309、記錄滑動(dòng)窗口的初始位置的滑動(dòng)速度;可以記錄一段時(shí)間內(nèi)滑動(dòng)窗口的初始位置的滑動(dòng)數(shù)量,從而確定滑動(dòng)窗口的初始 位置的滑動(dòng)速度;例如,1個(gè)單位時(shí)間內(nèi)滑動(dòng)窗口的初始位置從1號(hào)數(shù)據(jù)包滑動(dòng)到了 6號(hào)數(shù) 據(jù)包,則可以確定滑動(dòng)窗口的初始位置的滑動(dòng)速度為6。 310、根據(jù)滑動(dòng)速度調(diào)整滑動(dòng)窗口的窗長。在滑動(dòng)窗口的初始位置的滑動(dòng)速度較快時(shí),則說明網(wǎng)絡(luò)的狀態(tài)好,此時(shí)可以稍微 加長滑動(dòng)窗口的窗長;反之,在滑動(dòng)窗口的初始位置的滑動(dòng)速度較慢時(shí),則說明網(wǎng)絡(luò)的狀態(tài) 差,此時(shí)可以稍微減小滑動(dòng)窗口的窗長。具體地,滑動(dòng)窗口的初始位置的滑動(dòng)速度與調(diào)整的 滑動(dòng)窗口的窗長的對(duì)應(yīng)關(guān)系可以根據(jù)需要預(yù)先設(shè)定。從上可知,本實(shí)施例在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包時(shí),可以接 收來自客戶端的請(qǐng)求解碼關(guān)鍵數(shù)據(jù)包的ARQ請(qǐng)求,從而向客戶端發(fā)送解碼關(guān)鍵數(shù)據(jù)包,使 得客戶端可以獲得解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼效率;并且 還可以接收客戶端返回的包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)的反饋信息,根據(jù)已經(jīng)成功解 碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng)窗口的初始位置,避免繼續(xù)發(fā)送已經(jīng)成功解碼的數(shù)據(jù)包,同時(shí) 可以加大未發(fā)送的數(shù)據(jù)包的發(fā)送量,為客戶端解碼提供更多有效的數(shù)據(jù)包;并且還可以記 錄滑動(dòng)窗口的初始位置的滑動(dòng)速度,從而根據(jù)滑動(dòng)速度調(diào)整滑動(dòng)窗口的窗長,從而可以有 效地處理更多的數(shù)據(jù)包。圖4描述了本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程,該實(shí)施例描述的通 信網(wǎng)絡(luò)中客戶端的處理流程,包括401、接收來自服務(wù)器的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包;接收的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包可以包括異或后的數(shù)據(jù)包的度以及參與 異或數(shù)據(jù)包的標(biāo)識(shí)。在服務(wù)器是采用滑動(dòng)窗口的方式從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送 的數(shù)據(jù)包隊(duì)列時(shí),接收的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包還可以包括滑動(dòng)窗口的初始位置 及窗長。402、對(duì)經(jīng)過FEC編碼的異或后的數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的數(shù)據(jù)包;403、判斷異或后的數(shù)據(jù)包是否為解碼關(guān)鍵數(shù)據(jù)包;解碼關(guān)鍵數(shù)據(jù)包根據(jù)編碼方式的不同而不同,在異或后的數(shù)據(jù)包是通過基于噴泉編碼模型的編碼方式編碼時(shí),關(guān)鍵數(shù)據(jù)包可以是度為1的數(shù)據(jù)包。404、在獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向服務(wù) 器發(fā)送ARQ請(qǐng)求,該ARQ請(qǐng)求包括解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);第一數(shù)量可以根據(jù)需要接收的數(shù)據(jù)包的數(shù)量確定,例如需要接收15個(gè)數(shù)據(jù)包,則 可以在接收了 7個(gè)數(shù)據(jù)包仍沒有獲得解碼關(guān)鍵數(shù)據(jù)包時(shí)可以向服務(wù)器發(fā)送ARQ請(qǐng)求;由于 客戶端接收的數(shù)據(jù)包包括了參與異或數(shù)據(jù)包的標(biāo)識(shí),因此客戶端可以根據(jù)接收的參與異或 數(shù)據(jù)包的標(biāo)識(shí)確定所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。進(jìn)一步,還可以根據(jù)滑動(dòng)窗口的初始 位置及窗長確定所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí),以確保確定的解碼關(guān)鍵數(shù)據(jù)包在當(dāng)前滑 動(dòng)窗口內(nèi)。405、接收來自服務(wù)器的經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包。在接收了經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包后,可以對(duì)經(jīng)過FEC編碼的解碼關(guān)鍵數(shù) 據(jù)包進(jìn)行FEC解碼,獲得異或后的解碼關(guān)鍵數(shù)據(jù)包;進(jìn)而根據(jù)異或后的解碼關(guān)鍵數(shù)據(jù)包和 異或后的數(shù)據(jù)包進(jìn)行解碼。從上可知,本實(shí)施例在獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解碼關(guān)鍵數(shù) 據(jù)包時(shí),向服務(wù)器發(fā)送ARQ請(qǐng)求,從而促使服務(wù)器發(fā)送解碼關(guān)鍵數(shù)據(jù)包,從而獲得解碼所需 的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼效率。圖5描述了本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程,該實(shí)施例描述的通 信網(wǎng)絡(luò)中客戶端的處理流程,包括501、接收來自服務(wù)器的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包;502、對(duì)經(jīng)過FEC編碼的異或后的數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的數(shù)據(jù)包;503、判斷異或后的數(shù)據(jù)包是否為解碼關(guān)鍵數(shù)據(jù)包;504、在獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向服務(wù) 器發(fā)送ARQ請(qǐng)求,該ARQ請(qǐng)求包括解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);505、接收來自服務(wù)器的經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包。其中,501 505可以參照401 405執(zhí)行。506、對(duì)經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的解碼關(guān)鍵數(shù) 據(jù)包;507、根據(jù)異或后的解碼關(guān)鍵數(shù)據(jù)包和異或后的數(shù)據(jù)包進(jìn)行解碼。508、獲取成功解碼的數(shù)據(jù)包的標(biāo)識(shí);509、向服務(wù)器發(fā)送反饋信息,該反饋信息包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)。從上可知,本實(shí)施例在獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解碼關(guān)鍵數(shù) 據(jù)包時(shí),向服務(wù)器發(fā)送ARQ請(qǐng)求,從而促使服務(wù)器發(fā)送解碼關(guān)鍵數(shù)據(jù)包,從而獲得解碼所需 的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼效率;并且可以講已經(jīng)成功解碼的數(shù)據(jù) 包的標(biāo)識(shí)發(fā)送給服務(wù)器,使服務(wù)器可以根據(jù)已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng)窗口的 初始位置和窗長,避免服務(wù)器繼續(xù)發(fā)送已經(jīng)成功解碼的數(shù)據(jù)包,同時(shí)可以加大未發(fā)送的數(shù) 據(jù)包的發(fā)送量,為客戶端解碼提供更多有效的數(shù)據(jù)包,從而可以有效地處理更多的數(shù)據(jù)包。需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列 的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)?依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。再介紹本發(fā)明實(shí)施例提供的服務(wù)器,圖6描述了本發(fā)明另一個(gè)實(shí)施例提供的一種 服務(wù)器的結(jié)構(gòu),包括讀取單元601、編碼單元602、發(fā)送單元603和接收單元604 ;其中讀取單元601,用于從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;在本發(fā)明的一個(gè)實(shí)施例中,讀取單元601可以采用滑動(dòng)窗口的方式讀取數(shù)據(jù)包隊(duì) 列;編碼單元602,用于通過基于噴泉編碼模型的編碼方式對(duì)讀取單元601讀取的數(shù) 據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得異或后的數(shù)據(jù)包;對(duì)異或后的數(shù)據(jù)包進(jìn)行FEC編碼;發(fā)送單元603,用于向客戶端發(fā)送經(jīng)過編碼單元602進(jìn)行FEC編碼的數(shù)據(jù)包;如果 在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包的過程中,接收單元604接收到來自客戶 端的ARQ請(qǐng)求,向客戶端發(fā)送經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包,該ARQ請(qǐng)求包括客戶端所需 要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。在本發(fā)明的一個(gè)實(shí)施例中,發(fā)送單元603在向客戶端發(fā)送經(jīng)過FEC編碼的異或后 的數(shù)據(jù)包時(shí),可以進(jìn)一步發(fā)送滑動(dòng)窗口的初始位置和窗長。從上可知,本實(shí)施例中服務(wù)器在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包 時(shí),可以接收來自客戶端的請(qǐng)求解碼關(guān)鍵數(shù)據(jù)包的ARQ請(qǐng)求,從而向客戶端發(fā)送解碼關(guān)鍵 數(shù)據(jù)包,使得客戶端可以獲得解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼 效率。圖7描述了本發(fā)明另一個(gè)實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu),包括讀取單元701,用于從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;編碼單元702,用于通過基于噴泉編碼模型的編碼方式對(duì)讀取單元701讀取的數(shù) 據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得異或后的數(shù)據(jù)包;對(duì)異或后的數(shù)據(jù)包進(jìn)行FEC編碼;發(fā)送單元703,用于向客戶端發(fā)送經(jīng)過編碼單元702進(jìn)行FEC編碼的數(shù)據(jù)包;在接 收單元704接收到來自客戶端的ARQ請(qǐng)求時(shí),向客戶端發(fā)送經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù) 包,該ARQ請(qǐng)求包括客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。接收單元704,用于在發(fā)送單元703向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包 的過程中,接收到來自客戶端的ARQ請(qǐng)求和反饋信息,該反饋信息包括已經(jīng)成功解碼的數(shù) 據(jù)包的標(biāo)識(shí);調(diào)整單元705,用于根據(jù)接收單元704接收的已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整 滑動(dòng)窗口的初始位置。從上可知,本實(shí)施例中服務(wù)器在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包 時(shí),可以接收來自客戶端的請(qǐng)求解碼關(guān)鍵數(shù)據(jù)包的ARQ請(qǐng)求,從而向客戶端發(fā)送解碼關(guān)鍵 數(shù)據(jù)包,使得客戶端可以獲得解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼 效率;并且還可以接收客戶端返回的包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)的反饋信息,根據(jù) 已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng)窗口的初始位置,避免繼續(xù)發(fā)送已經(jīng)成功解碼的數(shù) 據(jù)包,同時(shí)可以加大未發(fā)送的數(shù)據(jù)包的發(fā)送量,為客戶端解碼提供更多有效的數(shù)據(jù)包。圖8描述了本發(fā)明另一個(gè)實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu),包括讀取單元801,用于從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;
編碼單元802,用于通過基于噴泉編碼模型的編碼方式對(duì)讀取單元801讀取的數(shù) 據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得異或后的數(shù)據(jù)包;對(duì)異或后的數(shù)據(jù)包進(jìn)行FEC編碼;發(fā)送單元803,用于向客戶端發(fā)送經(jīng)過編碼單元802進(jìn)行FEC編碼的數(shù)據(jù)包;在接 收單元804接收到來自客戶端的ARQ請(qǐng)求時(shí),向客戶端發(fā)送經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù) 包,該ARQ請(qǐng)求包括客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。接收單元804,用于在發(fā)送單元803向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包 的過程中,接收到來自客戶端的ARQ請(qǐng)求和反饋信息,該反饋信息包括已經(jīng)成功解碼的數(shù) 據(jù)包的標(biāo)識(shí);調(diào)整單元805,用于根據(jù)接收單元804接收的已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整 滑動(dòng)窗口的初始位置;根據(jù)記錄單元806記錄的滑動(dòng)速度調(diào)整滑動(dòng)窗口的窗長;記錄單元806,用于在調(diào)整單元806根據(jù)已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng) 窗口的初始位置后,記錄滑動(dòng)窗口的初始位置的滑動(dòng)速度。從上可知,本實(shí)施例中服務(wù)器在向客戶端發(fā)送經(jīng)過FEC編碼的異或后的數(shù)據(jù)包 時(shí),可以接收來自客戶端的請(qǐng)求解碼關(guān)鍵數(shù)據(jù)包的ARQ請(qǐng)求,從而向客戶端發(fā)送解碼關(guān)鍵 數(shù)據(jù)包,使得客戶端可以獲得解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼 效率;并且還可以接收客戶端返回的包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)的反饋信息,根據(jù) 已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑動(dòng)窗口的初始位置,避免繼續(xù)發(fā)送已經(jīng)成功解碼的數(shù) 據(jù)包,同時(shí)可以加大未發(fā)送的數(shù)據(jù)包的發(fā)送量,為客戶端解碼提供更多有效的數(shù)據(jù)包;并且 還可以記錄滑動(dòng)窗口的初始位置的滑動(dòng)速度,從而根據(jù)滑動(dòng)速度調(diào)整滑動(dòng)窗口的窗長,從 而可以有效地處理更多的數(shù)據(jù)包。再介紹本發(fā)明實(shí)施例提供的客戶端,圖9描述了本發(fā)明另一實(shí)施例提供的一種客 戶端的結(jié)構(gòu),包括接收單元901,用于接收來自服務(wù)器的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包;接收來自 服務(wù)器的經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包;解碼單元902,用于對(duì)接收單元901接收的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包進(jìn)行 FEC解碼,獲得異或后的數(shù)據(jù)包;在本發(fā)明的另一個(gè)實(shí)施例中,解碼單元902還可以用于對(duì)接收單元901接收的經(jīng) 過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的解碼關(guān)鍵數(shù)據(jù)包;并根據(jù)獲得的 異或后的解碼關(guān)鍵數(shù)據(jù)包和異或后的數(shù)據(jù)包進(jìn)行解碼。判斷單元903,用于判斷解碼單元902獲得的異或后的數(shù)據(jù)包是否為解碼關(guān)鍵數(shù) 據(jù)包;發(fā)送單元904,用于在解碼單元902獲得了第一數(shù)量的異或后的數(shù)據(jù)包,判斷單元 903仍然判斷沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向服務(wù)器發(fā)送ARQ請(qǐng)求,ARQ請(qǐng)求包括解碼關(guān)鍵數(shù)據(jù) 包的標(biāo)識(shí),使得服務(wù)器發(fā)送解碼關(guān)鍵數(shù)據(jù)包。從上可知,本實(shí)施例客戶端在獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解碼 關(guān)鍵數(shù)據(jù)包時(shí),向服務(wù)器發(fā)送ARQ請(qǐng)求,從而促使服務(wù)器發(fā)送解碼關(guān)鍵數(shù)據(jù)包,從而獲得解 碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼效率。再介紹本發(fā)明實(shí)施例提供的客戶端,圖10描述了本發(fā)明另一實(shí)施例提供的一種 客戶端的結(jié)構(gòu),包括
接收單元1001,用于接收來自服務(wù)器的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包;接收來 自服務(wù)器的經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù)包;解碼單元1002,用于對(duì)接收單元1001接收的經(jīng)過FEC編碼的異或后的數(shù)據(jù)包進(jìn) 行FEC解碼,獲得異或后的數(shù)據(jù)包;對(duì)接收單元1001接收的經(jīng)過FEC編碼的解碼關(guān)鍵數(shù)據(jù) 包進(jìn)行FEC解碼,獲得異或后的解碼關(guān)鍵數(shù)據(jù)包;并根據(jù)獲得的異或后的解碼關(guān)鍵數(shù)據(jù)包 和異或后的數(shù)據(jù)包進(jìn)行解碼;判斷單元1003,用于判斷解碼單元1002獲得的異或后的數(shù)據(jù)包是否為解碼關(guān)鍵 數(shù)據(jù)包;發(fā)送單元1004,用于在解碼單元1002獲得了第一數(shù)量的異或后的數(shù)據(jù)包,判斷單 元1003仍然判斷沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向服務(wù)器發(fā)送ARQ請(qǐng)求,ARQ請(qǐng)求包括解碼關(guān)鍵 數(shù)據(jù)包的標(biāo)識(shí),使得服務(wù)器發(fā)送解碼關(guān)鍵數(shù)據(jù)包;向服務(wù)器發(fā)送反饋信息,該反饋信息包括 獲取單元1005獲取的已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí);獲取單元1005,用于獲取解碼單元1002成功解碼的數(shù)據(jù)包的標(biāo)識(shí)。從上可知,本實(shí)施例中客戶端在獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解 碼關(guān)鍵數(shù)據(jù)包時(shí),向服務(wù)器發(fā)送ARQ請(qǐng)求,從而促使服務(wù)器發(fā)送解碼關(guān)鍵數(shù)據(jù)包,從而獲得 解碼所需的解碼關(guān)鍵數(shù)據(jù)包,提高解碼成功率,可以提高解碼效率;并且可以講已經(jīng)成功解 碼的數(shù)據(jù)包的標(biāo)識(shí)發(fā)送給服務(wù)器,使服務(wù)器可以根據(jù)已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整滑 動(dòng)窗口的初始位置和窗長,避免服務(wù)器繼續(xù)發(fā)送已經(jīng)成功解碼的數(shù)據(jù)包,同時(shí)可以加大未 發(fā)送的數(shù)據(jù)包的發(fā)送量,為客戶端解碼提供更多有效的數(shù)據(jù)包,從而可以有效地處理更多 的數(shù)據(jù)包。上述裝置和系統(tǒng)內(nèi)的各模塊之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方 法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,上述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,上述的存儲(chǔ)介質(zhì)可為 磁碟、光盤、只讀存儲(chǔ)記憶體(ROM :Read-0nly Memory)或隨機(jī)存儲(chǔ)記憶體(RAM =Random Access Memory)等。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說 明只是用于幫助理解本發(fā)明的方法及其思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā) 明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理 解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種數(shù)據(jù)傳輸方法,其特征在于,包括從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;通過基于噴泉編碼模型的編碼方式對(duì)所述數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得異或 后的數(shù)據(jù)包;對(duì)所述異或后的數(shù)據(jù)包進(jìn)行前向糾錯(cuò)編碼; 向客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包;如果在向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包的過程中接收到來自 所述客戶端的自動(dòng)重傳請(qǐng)求,則向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的所述解碼關(guān)鍵數(shù)據(jù) 包,所述自動(dòng)重傳請(qǐng)求包括所述客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。
2.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,采用滑動(dòng)窗口的方式讀取所述數(shù) 據(jù)包隊(duì)列;向客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包時(shí)進(jìn)一步發(fā)送所述滑動(dòng)窗口的初 始位置和窗長。
3.如權(quán)利要求2所述的數(shù)據(jù)傳輸方法,其特征在于,在向所述客戶端發(fā)送經(jīng)過前向糾 錯(cuò)編碼的異或后的數(shù)據(jù)包的過程中,接收到來自所述客戶端的反饋信息,所述反饋信息包 括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí);根據(jù)所述已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整所述滑動(dòng)窗口的初始位置。
4.如權(quán)利要求3所述的數(shù)據(jù)傳輸方法,其特征在于,根據(jù)所述已經(jīng)成功解碼的數(shù)據(jù)包 的標(biāo)識(shí)調(diào)整所述滑動(dòng)窗口的初始位置后進(jìn)一步包括記錄所述滑動(dòng)窗口的初始位置的滑動(dòng)速度; 根據(jù)所述滑動(dòng)速度調(diào)整所述滑動(dòng)窗口的窗長。
5.一種數(shù)據(jù)傳輸方法,其特征在于,包括接收來自服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包;對(duì)所述經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的數(shù)據(jù)包;判斷所述異或后的數(shù)據(jù)包是否為解碼關(guān)鍵數(shù)據(jù)包;如果獲得了第一數(shù)量的異或后的數(shù)據(jù)包,仍然沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向所述服務(wù)器 發(fā)送自動(dòng)重傳請(qǐng)求,所述自動(dòng)重傳請(qǐng)求包括所述解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí); 接收來自所述服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的解碼關(guān)鍵數(shù)據(jù)包。
6.如權(quán)利要求5所述的數(shù)據(jù)傳輸方法,其特征在于,接收來自所述服務(wù)器的經(jīng)過前向 糾錯(cuò)編碼的解碼關(guān)鍵數(shù)據(jù)包后進(jìn)一步包括對(duì)所述經(jīng)過前向糾錯(cuò)編碼的解碼關(guān)鍵數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的解碼關(guān)鍵數(shù) 據(jù)包;根據(jù)所述異或后的解碼關(guān)鍵數(shù)據(jù)包和所述異或后的數(shù)據(jù)包進(jìn)行解碼。
7.如權(quán)利要求6所述的數(shù)據(jù)傳輸方法,其特征在于,根據(jù)所述異或后的解碼關(guān)鍵數(shù)據(jù) 包和所述異或后的數(shù)據(jù)包進(jìn)行解碼后進(jìn)一步包括獲取成功解碼的數(shù)據(jù)包的標(biāo)識(shí);向所述服務(wù)器發(fā)送反饋信息,所述反饋信息包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)。
8.一種服務(wù)器,其特征在于,包括讀取單元、編碼單元、發(fā)送單元和接收單元;其中 所述讀取單元,用于從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;所述編碼單元,用于通過基于噴泉編碼模型的編碼方式對(duì)所述讀取單元讀取的數(shù)據(jù)包 隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得異或后的數(shù)據(jù)包;對(duì)所述異或后的數(shù)據(jù)包進(jìn)行前向糾錯(cuò)編 碼;所述發(fā)送單元,用于向客戶端發(fā)送經(jīng)過所述編碼單元進(jìn)行前向糾錯(cuò)編碼的數(shù)據(jù)包;如 果在向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包的過程中所述接收單元接收 到來自所述客戶端的自動(dòng)重傳請(qǐng)求,向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的所述解碼關(guān)鍵 數(shù)據(jù)包,所述自動(dòng)重傳請(qǐng)求包括所述客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。
9.如權(quán)利要求8所述的服務(wù)器,其特征在于,所述讀取單元采用滑動(dòng)窗口的方式讀取 所述數(shù)據(jù)包隊(duì)列;所述發(fā)送單元向客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包時(shí)進(jìn)一步發(fā)送所述 滑動(dòng)窗口的初始位置和窗長。
10.如權(quán)利要求9所述的服務(wù)器,其特征在于,在所述發(fā)送單元向所述客戶端發(fā)送經(jīng)過 前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包的過程中,所述接收單元接收到來自所述客戶端的反饋信 息,所述反饋信息包括已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí);所述服務(wù)器還包括調(diào)整單元,用于根據(jù)所述接收單元接收的已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整所述滑動(dòng) 窗口的初始位置。
11.如權(quán)利要求10所述的服務(wù)器,其特征在于,所述服務(wù)器還包括記錄單元,用于在所述調(diào)整單元根據(jù)所述已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)調(diào)整所述滑動(dòng) 窗口的初始位置后,記錄所述滑動(dòng)窗口的初始位置的滑動(dòng)速度;所述調(diào)整單元,還用于根據(jù)所述記錄單元記錄的滑動(dòng)速度調(diào)整所述滑動(dòng)窗口的窗長。
12.—種客戶端,其特征在于,包括接收單元,用于接收來自服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包;解碼單元,用于對(duì)所述接收單元接收的經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包進(jìn)行FEC 解碼,獲得異或后的數(shù)據(jù)包;判斷單元,用于判斷所述解碼單元獲得的異或后的數(shù)據(jù)包是否為解碼關(guān)鍵數(shù)據(jù)包;發(fā)送單元,用于在所述解碼單元獲得了第一數(shù)量的異或后的數(shù)據(jù)包,所述判斷單元仍 然判斷沒有解碼關(guān)鍵數(shù)據(jù)包時(shí),向所述服務(wù)器發(fā)送自動(dòng)重傳請(qǐng)求,所述自動(dòng)重傳請(qǐng)求包括 所述解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí);所述接收單元,還用于接收來自所述服務(wù)器的經(jīng)過前向糾錯(cuò)編碼的解碼關(guān)鍵數(shù)據(jù)包。
13.如權(quán)利要求12所述的客戶端,其特征在于,所述解碼單元,還用于對(duì)所述接收單 元接收的經(jīng)過前向糾錯(cuò)編碼的解碼關(guān)鍵數(shù)據(jù)包進(jìn)行FEC解碼,獲得異或后的解碼關(guān)鍵數(shù)據(jù) 包;根據(jù)獲得的異或后的解碼關(guān)鍵數(shù)據(jù)包和所述異或后的數(shù)據(jù)包進(jìn)行解碼。
14.如權(quán)利要求13所述的客戶端,其特征在于,還包括獲取單元,用于獲取所述解碼單元成功解碼的數(shù)據(jù)包的標(biāo)識(shí);所述發(fā)送單元,還用于向所述服務(wù)器發(fā)送反饋信息,所述反饋信息包括所述獲取單元 獲取的已經(jīng)成功解碼的數(shù)據(jù)包的標(biāo)識(shí)。
全文摘要
本發(fā)明涉及通信技術(shù)領(lǐng)域,公開了數(shù)據(jù)傳輸方法及相關(guān)設(shè)備,所述數(shù)據(jù)傳輸方法包括從數(shù)據(jù)包緩存池中讀取當(dāng)前需要發(fā)送的數(shù)據(jù)包隊(duì)列;通過基于噴泉編碼模型的編碼方式對(duì)所述數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包進(jìn)行編碼,獲得異或后的數(shù)據(jù)包;對(duì)所述異或后的數(shù)據(jù)包進(jìn)行前向糾錯(cuò)編碼;向客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包;如果在向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的異或后的數(shù)據(jù)包的過程中接收到來自所述客戶端的自動(dòng)重傳請(qǐng)求,則向所述客戶端發(fā)送經(jīng)過前向糾錯(cuò)編碼的所述解碼關(guān)鍵數(shù)據(jù)包,所述自動(dòng)重傳請(qǐng)求包括所述客戶端所需要的解碼關(guān)鍵數(shù)據(jù)包的標(biāo)識(shí)。使用本發(fā)明,可以提高3G網(wǎng)絡(luò)中客戶端的解碼成功率。
文檔編號(hào)H04W28/04GK102142922SQ20101010488
公開日2011年8月3日 申請(qǐng)日期2010年1月29日 優(yōu)先權(quán)日2010年1月29日
發(fā)明者吳志剛, 孫知信, 張小敏, 李慶亮, 遲忠惠 申請(qǐng)人:華為軟件技術(shù)有限公司