專利名稱:音頻數(shù)據(jù)的傳輸方法以及客戶端、服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種音頻數(shù)據(jù)的傳輸方法以及客戶端、服務(wù)器。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,基于音頻技術(shù)開(kāi)發(fā)的移動(dòng)應(yīng)用越來(lái)越多,如基于手機(jī)智能操作系統(tǒng)之上的各種音頻應(yīng)用,典型的,如社區(qū)交友、空間應(yīng)用、即時(shí)通信等與音頻技術(shù)有關(guān)的應(yīng)用產(chǎn)品,都要求較好的實(shí)時(shí)音頻效果。如何更快速、及時(shí)的傳輸音頻數(shù)據(jù),已經(jīng)成
為衡量應(yīng)用性能的重要標(biāo)準(zhǔn)?,F(xiàn)有的音頻數(shù)據(jù)的傳輸方式,參見(jiàn)圖1,主要包括如下處理客戶端向服務(wù)器請(qǐng)求傳輸音頻數(shù)據(jù),服務(wù)器向客戶端表示準(zhǔn)備就緒,可以開(kāi)始接收。客戶端向服務(wù)器發(fā)送音頻數(shù)據(jù)包1,在接收到服務(wù)器的成功應(yīng)答后,向服務(wù)器發(fā)送音頻數(shù)據(jù)包2,接收到服務(wù)器的成功應(yīng)答后,再發(fā)送下一個(gè)音頻數(shù)據(jù)包,重復(fù)操作,直至所有的音頻數(shù)據(jù)包發(fā)送完畢?,F(xiàn)有的音頻數(shù)據(jù)傳輸方式至少具有如下缺陷現(xiàn)有方案中在傳輸音頻數(shù)據(jù)包時(shí),客戶端必須在收到服務(wù)器對(duì)上一音頻數(shù)據(jù)包的響應(yīng)后才能繼續(xù)下一個(gè)音頻數(shù)據(jù)包的發(fā)送,客戶端和服務(wù)器雙方的交互過(guò)于頻繁,易于造成數(shù)據(jù)傳輸中的出錯(cuò)率較高;且由于雙方交互次數(shù)較多,導(dǎo)致網(wǎng)絡(luò)中的延時(shí)較大,直接降低了音頻數(shù)據(jù)傳輸?shù)膶?shí)時(shí)效果。
發(fā)明內(nèi)容
本發(fā)明提供的一種音頻數(shù)據(jù)的傳輸方法以及客戶端、服務(wù)器,以解決現(xiàn)有方案數(shù)據(jù)傳輸出錯(cuò)率較高、傳輸延時(shí)較大的問(wèn)題。為達(dá)到上述目的,本發(fā)明實(shí)施例采用了如下技術(shù)方案本發(fā)明實(shí)施例提供了一種音頻數(shù)據(jù)的傳輸方法,所述方法包括客戶端向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求;在服務(wù)器根據(jù)所述音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,客戶端將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包采用不間斷方式逐包發(fā)送至服務(wù)器,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送;在所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送至服務(wù)器之后,客戶端向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。本發(fā)明實(shí)施例還提供了一種客戶端,所述客戶端包括傳輸發(fā)起單元、不間斷發(fā)送單元和傳輸結(jié)束單元,所述傳輸發(fā)起單元,用于向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求;所述不間斷發(fā)送單元,用于在服務(wù)器根據(jù)所述音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包采用不間斷方式逐包發(fā)送至服務(wù)器,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送;所述傳輸結(jié)束單元,用于在所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送至服務(wù)器之后,向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。本發(fā)明實(shí)施例還提供了一種服務(wù)器,所述服務(wù)器包括不間斷接收單元,用于在根據(jù)客戶端的音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,接收客戶端采用不間斷方式逐包發(fā)送的音頻數(shù)據(jù)的音頻數(shù)據(jù)包,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送;以及,在客戶端將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送完畢之后,接收客戶端發(fā)送的音頻傳輸結(jié)束請(qǐng)求。本發(fā)明實(shí)施例的有益效果是本方案通過(guò)對(duì)音頻數(shù)據(jù)傳輸?shù)纳钊敕治?,提出了一種新的音頻傳輸方式。通過(guò)去 除客戶端發(fā)送單個(gè)音頻數(shù)據(jù)包時(shí)必須等待服務(wù)器應(yīng)答的限制,顯著減少了一次音頻數(shù)據(jù)傳輸中客戶端與服務(wù)器的交互,提高了交互效率,大大降低了數(shù)據(jù)傳輸?shù)某鲥e(cuò)率,減小了網(wǎng)絡(luò)延時(shí),保證了音頻數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。
圖I為現(xiàn)有的音頻數(shù)據(jù)的傳輸方式流程圖;圖2為本發(fā)明實(shí)施例一提供的一種音頻數(shù)據(jù)的傳輸方法流程示意圖;圖3為本發(fā)明實(shí)施例二提供的一種音頻數(shù)據(jù)的傳輸方法流程示意圖;圖4為本發(fā)明實(shí)施例三提供的客戶端和服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。本發(fā)明實(shí)施例一提供的一種音頻數(shù)據(jù)的傳輸方法,參見(jiàn)圖2,所述方法包括21 :客戶端向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求。22 :在服務(wù)器根據(jù)所述音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,客戶端將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包采用不間斷方式逐包發(fā)送至服務(wù)器,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送。23 :在所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送至服務(wù)器之后,客戶端向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。本發(fā)明實(shí)施例在傳輸音頻數(shù)據(jù)時(shí),采用將音頻數(shù)據(jù)分為多個(gè)音頻數(shù)據(jù)包,通過(guò)傳輸音頻數(shù)據(jù)包實(shí)現(xiàn)音頻數(shù)據(jù)通信的方式。下面結(jié)合圖3對(duì)本發(fā)明實(shí)施例二提供的音頻數(shù)據(jù)的傳輸方法進(jìn)行說(shuō)明。圖3示出的音頻傳輸流程與圖I中的不同,圖3中的客戶端逐包發(fā)送音頻數(shù)據(jù)的過(guò)程中,不再需要等待服務(wù)器端返回接收成功與否的應(yīng)答,而是一次性連續(xù)地發(fā)送完全部數(shù)據(jù)包后,發(fā)送結(jié)束請(qǐng)求,通知服務(wù)器本次交互已經(jīng)結(jié)束。這種優(yōu)化后的流程能夠簡(jiǎn)化數(shù)據(jù)包傳輸?shù)慕换?,具體包括如下處理
31 :客戶端向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求。上述音頻傳輸開(kāi)始請(qǐng)求可以為一個(gè)請(qǐng)求音頻傳輸?shù)臄?shù)據(jù)包,該數(shù)據(jù)包中攜帶指示信息,用于指示待傳輸?shù)囊纛l數(shù)據(jù)格式、采樣率和每個(gè)音頻數(shù)據(jù)包的大小。32 :服務(wù)器準(zhǔn)備接收數(shù)據(jù)。服務(wù)器收到音頻傳輸開(kāi)始請(qǐng)求后,啟動(dòng)與接收音頻數(shù)據(jù)相關(guān)的處理單元,并根據(jù)上述指示信息判斷能否支持本次的數(shù)據(jù)傳輸,例如,當(dāng)服務(wù)器能夠支持客戶端所指示的音頻數(shù)據(jù)格式、采樣率和每個(gè)音頻數(shù)據(jù)包的大小時(shí),向客戶端返回成功的應(yīng)答,表示準(zhǔn)備就緒,可以開(kāi)始接收音頻數(shù)據(jù),參見(jiàn)圖3中所示的場(chǎng)景;而當(dāng)服務(wù)器對(duì)音頻傳輸開(kāi)始請(qǐng)求的處理出錯(cuò)或者服務(wù)器不支持音頻傳輸開(kāi)始請(qǐng)求中的數(shù)據(jù)格式時(shí),向客戶端返回拒絕傳輸?shù)膽?yīng)答,該應(yīng)答中可以包含出錯(cuò)或者拒絕傳輸?shù)木唧w原因??蛻舳丝梢愿鶕?jù)這些具體原因調(diào)整后,重新發(fā)送音頻傳輸開(kāi)始請(qǐng)求。 33 :客戶端發(fā)送第一個(gè)音頻數(shù)據(jù)包。客戶端接收到服務(wù)器的成功應(yīng)答,獲知服務(wù)器準(zhǔn)備就緒后,發(fā)送第一個(gè)音頻數(shù)據(jù)包(音頻數(shù)據(jù)包I)。34 :客戶端發(fā)送第二個(gè)音頻數(shù)據(jù)包(音頻數(shù)據(jù)包2)。在音頻數(shù)據(jù)包I發(fā)送完畢后,客戶端不等待服務(wù)器對(duì)音頻數(shù)據(jù)包I的處理,直接發(fā)送音頻數(shù)據(jù)包2。即客戶端對(duì)音頻數(shù)據(jù)包2的發(fā)送無(wú)需以接收到服務(wù)器對(duì)音頻數(shù)據(jù)包I的反饋信息為前提。本實(shí)施例中,客戶端采用不間斷方式將音頻數(shù)據(jù)的所有音頻數(shù)據(jù)包逐包發(fā)送至服務(wù)器,在這種不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送。本實(shí)施例所發(fā)送的音頻數(shù)據(jù)包中包含數(shù)據(jù)包索引和數(shù)據(jù)包主體,所述數(shù)據(jù)包索引用于標(biāo)識(shí)音頻數(shù)據(jù)包和該音頻數(shù)據(jù)包的發(fā)送順序。例如,音頻數(shù)據(jù)包I的數(shù)據(jù)包索引能夠標(biāo)識(shí)出音頻數(shù)據(jù)包I以及音頻數(shù)據(jù)包I的發(fā)送順序?yàn)榈贗個(gè);音頻數(shù)據(jù)包2的數(shù)據(jù)包索引能夠標(biāo)識(shí)出音頻數(shù)據(jù)包2以及音頻數(shù)據(jù)包2的發(fā)送順序?yàn)榈?個(gè),或者,音頻數(shù)據(jù)包2的發(fā)送順序?yàn)樵谝纛l數(shù)據(jù)包I之后。利用數(shù)據(jù)包索引保證了在服務(wù)器側(cè)能夠獲知是否成功接收到所有的音頻數(shù)據(jù)包,以及如果未成功接收,根據(jù)數(shù)據(jù)包索引也能夠獲知未成功接收的音頻數(shù)據(jù)包的序號(hào),則通知客戶端重發(fā)這些音頻數(shù)據(jù)包。35 :客戶端向服務(wù)器發(fā)送結(jié)束通知??蛻舳税l(fā)送完所有的音頻數(shù)據(jù)包后,向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。該音頻傳輸結(jié)束請(qǐng)求能夠指示客戶端所傳輸?shù)囊纛l數(shù)據(jù)包的總包數(shù)。36 :服務(wù)器返回應(yīng)答。服務(wù)器接收到音頻傳輸結(jié)束請(qǐng)求后,檢查接收到的音頻數(shù)據(jù)包的包數(shù)與上述客戶端所指示的總包數(shù)是否相等,若相等,表示已經(jīng)成功接收所有的音頻數(shù)據(jù)包,服務(wù)器返回成功應(yīng)答,關(guān)閉相關(guān)的處理單元,本次音頻數(shù)據(jù)傳輸結(jié)束;若不相等,表示服務(wù)器沒(méi)有完整接收所有的音頻數(shù)據(jù)包,服務(wù)器返回失敗應(yīng)答。如果失敗的原因在于客戶端的數(shù)據(jù)發(fā)送或者網(wǎng)絡(luò)傳輸出現(xiàn)了丟包等,服務(wù)器返回的失敗應(yīng)答中包含未成功接收的音頻數(shù)據(jù)包的數(shù)據(jù)包索引,客戶端在接收到失敗應(yīng)答時(shí),重發(fā)失敗應(yīng)答中的數(shù)據(jù)包索引所指示的音頻數(shù)據(jù)包;如果失敗的原因在于服務(wù)器一側(cè)的處理錯(cuò)誤或其他未知原因,服務(wù)器記錄錯(cuò)誤原因,并結(jié)束本次數(shù)據(jù)傳輸。進(jìn)一步的,對(duì)于數(shù)據(jù)的存儲(chǔ),服務(wù)器提供了如下的緩存機(jī)制服務(wù)器每接收到一個(gè)音頻數(shù)據(jù)包,根據(jù)該音頻數(shù)據(jù)包的數(shù)據(jù)包索引將該音頻數(shù)據(jù)包存儲(chǔ)在緩存的對(duì)應(yīng)區(qū)域中,當(dāng)緩存中的數(shù)據(jù)存儲(chǔ)量達(dá)到預(yù)定值時(shí),服務(wù)器將緩存中的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),清空緩存并將新接收到的音頻數(shù)據(jù)包存儲(chǔ)在清空后的緩存中,循環(huán)執(zhí)行這種操作直至服務(wù)器接受完所有的音頻數(shù)據(jù)包。這種緩存機(jī)制,有助于對(duì)音頻數(shù)據(jù)的快速存取,提高音頻數(shù)據(jù)的解碼速率,提高音頻數(shù)據(jù)的實(shí)時(shí)性。進(jìn)一步的,本實(shí)施例中服務(wù)器不再進(jìn)行“數(shù)據(jù)判重”操作,對(duì)于客戶端重復(fù)發(fā)送的音頻數(shù)據(jù)包,僅依據(jù)數(shù)據(jù)包索引存儲(chǔ)到緩存中指定的對(duì)應(yīng)區(qū)域,如果是重復(fù)接收到的,即當(dāng)重復(fù)接收到同一音頻數(shù)據(jù)包時(shí),刪除之前存儲(chǔ)的數(shù)據(jù),重新寫(xiě)入最近一次接收到的數(shù)據(jù)內(nèi)容。即當(dāng)客戶端先發(fā)送了第一音頻數(shù)據(jù)包時(shí),服務(wù)器根據(jù)第一音頻數(shù)據(jù)包的數(shù)據(jù)包索引將第一音頻數(shù)據(jù)包存儲(chǔ)在緩存的第一區(qū)域中,當(dāng)客戶端又重復(fù)發(fā)送了與第一音頻數(shù)據(jù)包相同的第二音頻數(shù)據(jù)包時(shí),服務(wù)器接收到第二音頻數(shù)據(jù)包且第二音頻數(shù)據(jù)包的數(shù)據(jù)包索引指示將第二音頻數(shù)據(jù)包存儲(chǔ)至所述第一區(qū)域,則服務(wù)器直接刪除所述第一區(qū)域中已存儲(chǔ)的第一 音頻數(shù)據(jù)包并將第二音頻數(shù)據(jù)包存儲(chǔ)至第一區(qū)域。本方案通過(guò)對(duì)音頻數(shù)據(jù)傳輸?shù)纳钊敕治觯岢隽艘环N新的音頻傳輸方式。通過(guò)去除客戶端發(fā)送單個(gè)音頻數(shù)據(jù)包時(shí)必須等待服務(wù)器應(yīng)答的限制,顯著減少了一次音頻數(shù)據(jù)傳輸中客戶端與服務(wù)器的交互,大大降低了數(shù)據(jù)傳輸?shù)某鲥e(cuò)率,減小了網(wǎng)絡(luò)延時(shí),保證了音頻數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。本發(fā)明實(shí)施例三提供了一種客戶端,參見(jiàn)圖4,所述客戶端包括傳輸發(fā)起單元41、不間斷發(fā)送單元42和傳輸結(jié)束單元43,所述傳輸發(fā)起單元41,用于向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求;所述不間斷發(fā)送單元42,用于在服務(wù)器根據(jù)所述音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包采用不間斷方式逐包發(fā)送至服務(wù)器,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送;所述傳輸結(jié)束單元43,用于在所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送至服務(wù)器之后,向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。進(jìn)一步的,所述每個(gè)所述音頻數(shù)據(jù)包中包含數(shù)據(jù)包索引和數(shù)據(jù)包主體,所述數(shù)據(jù)包索引用于標(biāo)識(shí)音頻數(shù)據(jù)包和該音頻數(shù)據(jù)包的發(fā)送順序,該數(shù)據(jù)包主體用于承載需要傳輸?shù)囊纛l數(shù)據(jù)。本發(fā)明實(shí)施例還提供了一種服務(wù)器,參見(jiàn)圖4,所述服務(wù)器包括不間斷接收單元44,用于在根據(jù)客戶端的音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,接收客戶端采用不間斷方式逐包發(fā)送的音頻數(shù)據(jù)的音頻數(shù)據(jù)包,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送;以及,在客戶端將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送完畢之后,接收客戶端發(fā)送的音頻傳輸結(jié)束請(qǐng)求。進(jìn)一步的,所述音頻傳輸結(jié)束請(qǐng)求指示客戶端所傳輸?shù)囊纛l數(shù)據(jù)包的總包數(shù),每個(gè)所述音頻數(shù)據(jù)包中包含數(shù)據(jù)包索引,所述服務(wù)器還包括傳輸反饋單元45,用于在接收客戶端發(fā)送的音頻傳輸結(jié)束請(qǐng)求之后,根據(jù)所述音頻傳輸結(jié)束請(qǐng)求中的總包數(shù)判斷是否成功接收全部音頻數(shù)據(jù)包,若是,向客戶端發(fā)送成功應(yīng)答,結(jié)束當(dāng)前音頻數(shù)據(jù)的傳輸,若否,向客戶端發(fā)送失敗應(yīng)答,所述失敗應(yīng)答中包含未成功接收的音頻數(shù)據(jù)包的數(shù)據(jù)包索引。本發(fā)明實(shí)施例中客戶端和服務(wù)器中各單元的具體工作方式可以參見(jiàn)本發(fā)明的方法實(shí)施例。由上所述,本發(fā)明實(shí)施例通過(guò)優(yōu)化客戶端-服務(wù)器端雙向數(shù)據(jù)的交互流程,降低了交互成本,可以保證音頻傳輸更快、更及時(shí),并且,雙向交互次數(shù)減少,也降低了由于網(wǎng)絡(luò)傳輸條件,而導(dǎo)致的傳輸失敗的概率。上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。權(quán)利要求
1.ー種音頻數(shù)據(jù)的傳輸方法,其特征在于,所述方法包括 客戶端向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求; 在服務(wù)器根據(jù)所述音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,客戶端將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包采用不間斷方式逐包發(fā)送至服務(wù)器,其中,在所述不間斷方式下,客戶端在發(fā)送完ー個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送; 在所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送至服務(wù)器之后,客戶端向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,每個(gè)所述音頻數(shù)據(jù)包中包含數(shù)據(jù)包索引和數(shù)據(jù)包主體,所述數(shù)據(jù)包索引用于標(biāo)識(shí)音頻數(shù)據(jù)包和該音頻數(shù)據(jù)包的發(fā)送順序。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述音頻傳輸結(jié)束請(qǐng)求指示客戶端所傳輸?shù)囊纛l數(shù)據(jù)包的總包數(shù), 在客戶端向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求之后,所述方法還包括 服務(wù)器根據(jù)所述音頻傳輸結(jié)束請(qǐng)求中的總包數(shù)判斷是否成功接收全部音頻數(shù)據(jù)包,若是,向客戶端發(fā)送成功應(yīng)答,結(jié)束當(dāng)前音頻數(shù)據(jù)的傳輸,若否,向客戶端發(fā)送失敗應(yīng)答,所述失敗應(yīng)答中包含未成功接收的音頻數(shù)據(jù)包的數(shù)據(jù)包索引; 客戶端在接收到失敗應(yīng)答時(shí),重發(fā)失敗應(yīng)答中的數(shù)據(jù)包索引所指示的音頻數(shù)據(jù)包。
4.根據(jù)權(quán)利要求2所述的方法,其特征在干, 所述音頻傳輸開(kāi)始請(qǐng)求指示待傳輸?shù)囊纛l數(shù)據(jù)格式、采樣率和每個(gè)音頻數(shù)據(jù)包的大小。
5.根據(jù)權(quán)利要求2至4任一項(xiàng)所述的方法,其特征在于,所述方法還包括 服務(wù)器每接收到ー個(gè)音頻數(shù)據(jù)包,根據(jù)該音頻數(shù)據(jù)包的數(shù)據(jù)包索引將該音頻數(shù)據(jù)包存儲(chǔ)在緩存的對(duì)應(yīng)區(qū)域中; 當(dāng)緩存中的數(shù)據(jù)存儲(chǔ)量達(dá)到預(yù)定值時(shí),服務(wù)器將緩存中的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),清空緩存并將新接收到的音頻數(shù)據(jù)包存儲(chǔ)在清空后的緩存中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)該音頻數(shù)據(jù)包的數(shù)據(jù)包索引將該音頻數(shù)據(jù)包存儲(chǔ)在緩存的對(duì)應(yīng)區(qū)域中包括 根據(jù)第一音頻數(shù)據(jù)包的數(shù)據(jù)包索引將第一音頻數(shù)據(jù)包存儲(chǔ)在緩存的第一區(qū)域中; 當(dāng)接收到第二音頻數(shù)據(jù)包且第二音頻數(shù)據(jù)包的數(shù)據(jù)包索引指示將第二音頻數(shù)據(jù)包存儲(chǔ)至所述第一區(qū)域,直接刪除所述第一區(qū)域中已存儲(chǔ)的第一音頻數(shù)據(jù)包并將第二音頻數(shù)據(jù)包存儲(chǔ)至第一區(qū)域。
7.一種客戶端,其特征在于,所述客戶端包括傳輸發(fā)起単元、不間斷發(fā)送單元和傳輸結(jié)束単元, 所述傳輸發(fā)起單元,用于向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求; 所述不間斷發(fā)送單元,用于在服務(wù)器根據(jù)所述音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包采用不間斷方式逐包發(fā)送至服務(wù)器,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下ー個(gè)音頻數(shù)據(jù)包的發(fā)送; 所述傳輸結(jié)束單元,用于在所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送至服務(wù)器之后,向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。
8.根據(jù)權(quán)利要求7所述的客戶端,其特征在于,所述每個(gè)所述音頻數(shù)據(jù)包中包含數(shù)據(jù)包索引和數(shù)據(jù)包主體,所述數(shù)據(jù)包索引用于標(biāo)識(shí)音頻數(shù)據(jù)包和該音頻數(shù)據(jù)包的發(fā)送順序。
9.一種服務(wù)器,其特征在于,所述服務(wù)器包括不間斷接收單元, 所述不間斷接收單元,用于在根據(jù)客戶端的音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,接收客戶端采用不間斷方式逐包發(fā)送的音頻數(shù)據(jù)的音頻數(shù)據(jù)包,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送;以及,在客戶端將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送完畢之后,接收客戶端發(fā)送的音頻傳輸結(jié)束請(qǐng)求。
10.根據(jù)權(quán)利要求9所述的服務(wù)器,其特征在于,所述音頻傳輸結(jié)束請(qǐng)求指示客戶端所傳輸?shù)囊纛l數(shù)據(jù)包的總包數(shù),每個(gè)所述音頻數(shù)據(jù)包中包含數(shù)據(jù)包索引, 所述服務(wù)器還包括傳輸反饋單元,用于在接收客戶端發(fā)送的音頻傳輸結(jié)束請(qǐng)求之后,根據(jù)所述音頻傳輸結(jié)束請(qǐng)求中的總包數(shù)判斷是否成功接收全部音頻數(shù)據(jù)包,若是,向客戶端發(fā)送成功應(yīng)答,結(jié)束當(dāng)前音頻數(shù)據(jù)的傳輸,若否,向客戶端發(fā)送失敗應(yīng)答,所述失敗應(yīng)答中包含未成功接收的音頻數(shù)據(jù)包的數(shù)據(jù)包索引。
全文摘要
本發(fā)明公開(kāi)了一種音頻數(shù)據(jù)的傳輸方法以及客戶端、服務(wù)器。本發(fā)明實(shí)施例提供的一種音頻數(shù)據(jù)的傳輸方法包括客戶端向服務(wù)器發(fā)送音頻傳輸開(kāi)始請(qǐng)求;在服務(wù)器根據(jù)所述音頻傳輸開(kāi)始請(qǐng)求準(zhǔn)備好接收音頻數(shù)據(jù)后,客戶端將所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包采用不間斷方式逐包發(fā)送至服務(wù)器,其中,在所述不間斷方式下,客戶端在發(fā)送完一個(gè)音頻數(shù)據(jù)包后,不等待來(lái)自服務(wù)器的應(yīng)答,直接執(zhí)行下一個(gè)音頻數(shù)據(jù)包的發(fā)送;在所述音頻數(shù)據(jù)的音頻數(shù)據(jù)包全部發(fā)送至服務(wù)器之后,客戶端向服務(wù)器發(fā)送音頻傳輸結(jié)束請(qǐng)求。
文檔編號(hào)H04L29/06GK102685143SQ20121016329
公開(kāi)日2012年9月19日 申請(qǐng)日期2012年5月23日 優(yōu)先權(quán)日2012年5月23日
發(fā)明者高薇 申請(qǐng)人:北京新媒傳信科技有限公司