[發(fā)明專利]一種RTP數(shù)據(jù)包接收處理方法及裝置有效
| 申請?zhí)枺?/td> | 200810241110.1 | 申請日: | 2008-12-26 |
| 公開(公告)號: | CN101771599A | 公開(公告)日: | 2010-07-07 |
| 發(fā)明(設(shè)計)人: | 袁潮;郭毅峰;楊黎波;黃曉偉;于蓉蓉 | 申請(專利權(quán))人: | 中國移動通信集團(tuán)公司 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;H04L29/06 |
| 代理公司: | 北京中譽(yù)威圣知識產(chǎn)權(quán)代理有限公司 11279 | 代理人: | 王正茂;叢芳 |
| 地址: | 100032 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 rtp 數(shù)據(jù)包 接收 處理 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域中流媒體等數(shù)據(jù)傳輸技術(shù),具體地,涉及一 種實時傳輸協(xié)議(Real-time?Transport?Protocol,簡稱RTP)數(shù)據(jù)包接 收處理方法及裝置。
背景技術(shù)
RTP是用于流媒體業(yè)務(wù)的標(biāo)準(zhǔn)傳輸協(xié)議,由互聯(lián)網(wǎng)工程任務(wù)組 (The?Internet?Engineering?Task?Force,簡稱IETF)制定,其標(biāo)準(zhǔn)文檔 是RFC?3550,該文檔中規(guī)定了RTP包的格式。在所有流媒體相關(guān)業(yè)務(wù) 中,幾乎所有的媒體內(nèi)容在IP網(wǎng)絡(luò)上進(jìn)行傳輸之前都需要封裝為RTP 數(shù)據(jù)包的形式。由于RTP協(xié)議本身和流媒體業(yè)務(wù)的特點(diǎn),在處理RTP 數(shù)據(jù)包接收時一般會遇到以下問題:
A.由于RTP協(xié)議的底層一般由UDP協(xié)議承載,因此造成傳輸具有 不可靠性,UDP傳輸?shù)膩G包、亂序、重復(fù)等問題在RTP傳輸時會出現(xiàn)。
B.在流媒體通訊中,音視頻同步,去抖動等需求,往往有實時性 要求。
C.RTP數(shù)據(jù)包接收的實現(xiàn)一般使用回調(diào)機(jī)制,回調(diào)函數(shù)操作時間 過長會引起底層緩沖區(qū)溢出。
D.移動終端本身的處理能力和功耗等限制,接收操作的步驟越少 越好。
由于RTP數(shù)據(jù)包有嚴(yán)格的先后順序,在接收以后必須在緩沖中進(jìn) 行重新排序才能交給下一級進(jìn)行處理,現(xiàn)有技術(shù)中RTP接收處理方式 主要有兩種:
一、兩級緩沖加插入排序:采用兩級緩沖的機(jī)制,第一級按照到 達(dá)順序把接收的數(shù)據(jù)放入第一級緩沖,在二級緩沖處理中從第一級緩 沖取出數(shù)據(jù)并使用插入排序算法將數(shù)據(jù)包按照RTP的序列號形成一 維鏈表。
二、兩級緩沖加插空排序:采用兩級緩沖的機(jī)制,第一級的處理 機(jī)制與上述方式一相同,第二級使用預(yù)設(shè)緩沖,根據(jù)RTP的序列號將 數(shù)據(jù)包插入預(yù)設(shè)好的緩沖,緩沖區(qū)滿時丟棄后續(xù)到達(dá)的數(shù)據(jù)包。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)RTP接收處理方式 至少存在如下問題:
1.第一種方式填充二級緩沖的時候使用的插入排序算法效率 比較低,算法復(fù)雜度為O(n2),屬于效率較低的排序算法。
2.第二種方式中亂序包或錯誤包可能占據(jù)正常包的位置,造成 正常包到達(dá)后無法插入而丟棄;二級緩沖的長度固定,當(dāng)緩沖滿 時對后續(xù)數(shù)據(jù)包直接丟棄,無法根據(jù)網(wǎng)絡(luò)流量進(jìn)行自適應(yīng)處理; 緩沖分配過大則浪費(fèi),過小則可能不夠用;且第二種方式對網(wǎng)絡(luò) 接收到的數(shù)據(jù)進(jìn)行了兩次拷貝,增加了內(nèi)存復(fù)制的開支。
3.上述兩種方式均存在共同缺點(diǎn):二級緩沖復(fù)雜度較高、二級 緩沖整體由此造成處理效率低。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有技術(shù)中RTP接收處理方式處理效率低 的缺陷,提出一種RTP數(shù)據(jù)包接收處理方法及裝置,以實現(xiàn)提高RTP 數(shù)據(jù)包的接收處理效率。
為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種RTP數(shù) 據(jù)包接收處理方法。
根據(jù)本發(fā)明實施例的RTP數(shù)據(jù)包接收處理方法,包括:從網(wǎng)絡(luò) 接收RTP數(shù)據(jù)包;對接收的RTP數(shù)據(jù)包進(jìn)行一級緩沖預(yù)排序處理; 將預(yù)排序處理后的RTP數(shù)據(jù)包進(jìn)行二級緩沖處理。
其中,可以采用隊列組作為一級緩沖和/或二級緩沖,對接收的 RTP數(shù)據(jù)包進(jìn)行一級緩沖預(yù)排序處理和二級緩沖處理。
其中,隊列組可以包括鏈表組和/或數(shù)組組。
優(yōu)選地,隊列組可以為兩個,對接收的所述RTP數(shù)據(jù)包進(jìn)行一 級緩沖預(yù)排序處理的操作可以包括:對接收的RTP數(shù)據(jù)包進(jìn)行一級 緩沖預(yù)排序,將RTP數(shù)據(jù)包保存至當(dāng)前正接收數(shù)據(jù)包的隊列組的隊 列中;具體包括:若當(dāng)前接收的RTP包序列號等于上次最后接收的 RTP包的序列號,則丟棄;若當(dāng)前接收的RTP包序列號大于上次最 后接收的RTP包的序列號,則添加到當(dāng)前隊列組的當(dāng)前隊列的末尾; 若當(dāng)前接收的RTP包序列號小于上次最后接收的RTP包的序列號, 則將當(dāng)前接收的RTP數(shù)據(jù)包放入當(dāng)前隊列的下一個隊列。
當(dāng)隊列組的所有隊列已用完,或者隊列組保存的RTP數(shù)據(jù)包總 數(shù)目大于預(yù)設(shè)的閥值時,該隊列組停止接收數(shù)據(jù)包,啟動另一個隊列 組,將當(dāng)前接收到的數(shù)據(jù)包放入該另一個隊列組中;其中,停止接收 數(shù)據(jù)包的隊列組執(zhí)行二級緩沖處理的操作。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國移動通信集團(tuán)公司,未經(jīng)中國移動通信集團(tuán)公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810241110.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種提高數(shù)據(jù)傳輸質(zhì)量的方法及裝置
- 一種Linux網(wǎng)絡(luò)設(shè)備動態(tài)標(biāo)記RTP流量的方法
- 調(diào)節(jié)VoIP電話系統(tǒng)電話回聲的方法及裝置
- 基于內(nèi)核進(jìn)行RTP數(shù)據(jù)收發(fā)的網(wǎng)關(guān)設(shè)備及其實現(xiàn)方法
- 一種實時傳輸協(xié)議會話處理方法及設(shè)備
- 一種RTP數(shù)據(jù)的發(fā)送、接收方法及用戶設(shè)備
- 數(shù)據(jù)傳輸方法、裝置及系統(tǒng)
- 一種基于切片的RTP流媒體存儲、讀取方法及裝置
- RTP丟包檢測方法、裝置、設(shè)備及計算機(jī)可讀存儲介質(zhì)
- 一種RTP丟包檢測方法、裝置、電子設(shè)備及存儲介質(zhì)
- 通過冗余提高數(shù)據(jù)傳輸速度的方法
- 數(shù)據(jù)包調(diào)度方法和裝置
- 一種數(shù)據(jù)包的轉(zhuǎn)發(fā)方法和設(shè)備
- 網(wǎng)絡(luò)通信主體確認(rèn)方法及系統(tǒng)
- 一種轉(zhuǎn)發(fā)數(shù)據(jù)包的方法、裝置和路由設(shè)備
- 一種數(shù)據(jù)報文接收方法及裝置
- 一種降低語音丟包統(tǒng)計量的方法及基站
- 數(shù)據(jù)包的處理方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種數(shù)據(jù)包處理方法、裝置及電子設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)傳輸方法、裝置、設(shè)備及存儲介質(zhì)





