專利名稱:一種調(diào)整媒體數(shù)據(jù)緩存的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種調(diào)整媒體數(shù)據(jù)緩存的方法和裝置。
背景技術(shù):
視頻編碼的圖像是由幀組成的,包括幀內(nèi)圖(I幀)、預(yù)測圖(P幀)以及雙向圖(B 幀)。在視頻編碼體系中,圖像序列由畫面組(GOP)組成,每個(gè)GOP以I幀為起始,其中還 可能包含P幀和B幀,GOP的長度是I幀之間的間隔。根據(jù)人眼視覺,通常的圖像為每秒25 幀或30幀,通常I幀每秒產(chǎn)生一個(gè)或多個(gè)。由于I幀、P幀和B幀的特點(diǎn)及內(nèi)容不同,大小 也各不相同,其中,I幀最大,P幀次之,B幀最小。在傳輸視頻流的網(wǎng)絡(luò)設(shè)備中,每個(gè)端口都存在一個(gè)隊(duì)列,其中一個(gè)或多個(gè)隊(duì)列用 于緩存視頻流,稱為視頻隊(duì)列,其它隊(duì)列用于其它業(yè)務(wù)。由于網(wǎng)絡(luò)設(shè)備整體緩存是有限的, 因此,需要對各隊(duì)列的長度進(jìn)行限制,即為每個(gè)端口分配設(shè)定的緩存作為隊(duì)列,剩余緩存作 為全局的共享緩存,當(dāng)某業(yè)務(wù)的隊(duì)列已滿,則占用共享緩存。一旦網(wǎng)絡(luò)設(shè)備的共享緩存耗 盡,則對新接收到的數(shù)據(jù)進(jìn)行尾部丟棄或隨機(jī)丟棄。對于媒體流而言,為了保證顯示端圖像沒有較大的抖動,將視頻流的每幀數(shù)據(jù)進(jìn) 行勻速發(fā)送或盡力線速發(fā)送。由于I幀較大,在I幀產(chǎn)生時(shí)可能會產(chǎn)生突發(fā)現(xiàn)象而超出設(shè) 定的平均帶寬,特別在多個(gè)媒體流源端并發(fā)發(fā)送視頻流時(shí),突發(fā)現(xiàn)象更加突出。在這種情況 下,網(wǎng)絡(luò)設(shè)備對媒體數(shù)據(jù)的緩存需求增大,由于在媒體緩存隊(duì)列滿時(shí)才能夠占用共享緩存, 因此,如果共享緩存被其它業(yè)務(wù)占用而使得緩存耗盡,則可能導(dǎo)致媒體數(shù)據(jù)被丟棄。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種調(diào)整媒體數(shù)據(jù)緩存的方法和裝置,以便于避免網(wǎng)絡(luò) 設(shè)備的緩存限制造成媒體數(shù)據(jù)被丟棄。一種調(diào)整媒體數(shù)據(jù)緩存的方法,該方法應(yīng)用于至少包含媒體緩存隊(duì)列和共享緩存 的網(wǎng)絡(luò)設(shè)備,其中,媒體緩存隊(duì)列用于緩存網(wǎng)絡(luò)設(shè)備接收到的媒體數(shù)據(jù),共享緩存用于供媒 體緩存隊(duì)列或其它業(yè)務(wù)緩存隊(duì)列已滿時(shí)進(jìn)行共享;其特征在于,該方法包括A、對媒體緩存隊(duì)列的占用率進(jìn)行檢測,如果檢測到媒體緩存隊(duì)列的占用率大于或 等于預(yù)設(shè)的第一閾值,則執(zhí)行步驟B;如果檢測到媒體緩存隊(duì)列的占用率小于或等于預(yù)設(shè) 的第二閾值,則執(zhí)行步驟C;B、將共享緩存中大小為ACl的緩存增加為媒體緩存隊(duì)列,轉(zhuǎn)至步驟A ;C、將媒體緩存隊(duì)列的緩存減少Δ C2,減少的緩存作為共享緩存,轉(zhuǎn)至步驟A ;其中,所述第一閾值大于所述第二閾值,ACl和AC2為預(yù)設(shè)的值。一種調(diào)整媒體數(shù)據(jù)緩存的裝置,該裝置包括用于緩存接收到的媒體數(shù)據(jù)的媒體 緩存隊(duì)列,以及用于供媒體緩存隊(duì)列或其它業(yè)務(wù)隊(duì)列已滿時(shí)進(jìn)行共享的共享緩存;該裝置 還包括第一隊(duì)列檢測單元和隊(duì)列控制單元;所述第一隊(duì)列檢測單元,用于對媒體緩存隊(duì)列的占用率進(jìn)行檢測,如果檢測到媒體緩存隊(duì)列的占用率大于或等于預(yù)設(shè)的第一閾值,則向所述隊(duì)列控制單元發(fā)送第一調(diào)整通 知;如果檢測到媒體緩存隊(duì)列的占用率小于或等于預(yù)設(shè)的第二閾值,則向所述隊(duì)列控制單 元發(fā)送第二調(diào)整通知;所述隊(duì)列控制單元,用于接收到第一調(diào)整通知時(shí),將共享緩存中大小為ACl的緩 存增加為媒體緩存隊(duì)列;接收到第二調(diào)整通知時(shí),將媒體緩存隊(duì)列的緩存減少AC2,減少 的緩存作為共享緩存;其中,所述第一閾值大于所述第二閾值,ACl和AC2為預(yù)設(shè)的值。由以上技術(shù)方案可以看出,本發(fā)明通過對媒體緩存隊(duì)列的占用率進(jìn)行檢測,根據(jù) 檢測到的狀況動態(tài)調(diào)整媒體緩存隊(duì)列對共享緩存的占用情況,使得在媒體數(shù)據(jù)較多,例如 媒體流并發(fā)時(shí),能夠及時(shí)增加媒體緩存隊(duì)列對共享緩存的占用,避免被其它業(yè)務(wù)占用使得 緩存耗盡導(dǎo)致媒體數(shù)據(jù)被丟失。
圖1為本發(fā)明提供的主要方法流程圖;圖2為本發(fā)明實(shí)施例提供的詳細(xì)方法流程圖;圖3為采用滑窗方式對媒體數(shù)據(jù)進(jìn)行解析的示意圖;圖4為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對 本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明所提供方法的核心思想主要為對網(wǎng)絡(luò)設(shè)備中媒體緩存隊(duì)列的占用率進(jìn)行 檢測,根據(jù)媒體緩存隊(duì)列的占用率狀況實(shí)時(shí)調(diào)整媒體緩存隊(duì)列的長度。主要步驟可以如圖 1所示,包括步驟101 對媒體緩存隊(duì)列的占用率進(jìn)行檢測;如果檢測到媒體緩存隊(duì)列的占用 率大于或等于預(yù)設(shè)的第一閾值Rmax,則執(zhí)行步驟102 ;如果檢測到媒體緩存隊(duì)列的占用率 小于或等于預(yù)設(shè)的第二閾值Rmin,則執(zhí)行步驟103。步驟102 將共享緩存中大小為ACl的緩存增加為媒體緩存隊(duì)列,轉(zhuǎn)至步驟101。步驟103 將媒體緩存隊(duì)列的緩存減少AC2,減少的緩存作為共享緩存,轉(zhuǎn)至步驟 101。上述流程中,Rmax大于Rmin,ACl和Δ C2為預(yù)先設(shè)定的值,兩者可以相等也可以不等。下面結(jié)合具體實(shí)施例對本發(fā)明提供的上述方法進(jìn)行詳細(xì)描述。圖2為本發(fā)明實(shí)施 例提供的詳細(xì)方法流程圖,在本實(shí)施例中,可以假設(shè)媒體緩存隊(duì)列的初始值與其它業(yè)務(wù)緩 存隊(duì)列的初始值一樣都為Cq ;該媒體緩存隊(duì)列的長度可以按照本發(fā)明提供的方法進(jìn)行調(diào) 整,即將共享緩存中的緩存增加到媒體緩存隊(duì)列,可以預(yù)先設(shè)置媒體緩存隊(duì)列可調(diào)整到的 最大限度值為Cs。如圖2所示,該方法可以具體包括以下步驟步驟201 對媒體緩存隊(duì)列的占用率進(jìn)行檢測,如果檢測到媒體緩存隊(duì)列的占用 率大于或等于預(yù)設(shè)的第一閾值Rmax,則執(zhí)行步驟202 ;如果檢測到媒體緩存隊(duì)列的占用率小于或等于預(yù)設(shè)的第二閾值Rmin,則執(zhí)行步驟205。本步驟中,可以采用對實(shí)時(shí)性、周期性等方式對媒體緩存隊(duì)列的占用率進(jìn)行檢測。其中,第一閾值Rmax大于第二閾值Rmin。步驟202 判斷當(dāng)前媒體緩存隊(duì)列是否達(dá)到最大限度值Cs,如果否,轉(zhuǎn)至步驟203 ; 如果是,執(zhí)行步驟204。本步驟中,如果當(dāng)前媒體緩存隊(duì)列的長度已經(jīng)達(dá)到最大限度值Cs,則表明當(dāng)前的 媒體數(shù)據(jù)突發(fā)狀況已經(jīng)達(dá)到十分嚴(yán)重的程度,需要觸發(fā)媒體流源端對媒體數(shù)據(jù)的發(fā)送進(jìn)行 調(diào)整,通知其暫緩媒體數(shù)據(jù)的發(fā)送,即執(zhí)行步驟204。如果當(dāng)前媒體緩存隊(duì)列的長度尚未達(dá) 到最大限度值Cs,則表明當(dāng)前的媒體數(shù)據(jù)突發(fā)狀況尚在可接受范圍內(nèi),則采用增加媒體緩 存隊(duì)列占用的共享緩存的方式,對媒體數(shù)據(jù)的緩存進(jìn)行調(diào)整。步驟203 將共享緩存中大小為ACl的緩存增加為媒體緩存隊(duì)列,轉(zhuǎn)至步驟201。假設(shè)Rmax為80 %,如果媒體緩存隊(duì)列的占用率達(dá)到80 %,則表明當(dāng)前媒體緩存隊(duì) 列將不能夠滿足媒體數(shù)據(jù)的需求,可以增加媒體緩存隊(duì)列對共享緩存的占用,即將共享緩 存中大小為ACl的緩存增加為媒體緩存隊(duì)列。步驟204 對媒體緩存隊(duì)列中的媒體數(shù)據(jù)進(jìn)行解析,確定造成媒體數(shù)據(jù)并發(fā)的媒 體流源端,并向確定的媒體流源端發(fā)送并發(fā)碰撞通知,轉(zhuǎn)至步驟201。當(dāng)媒體緩存隊(duì)列達(dá)到最大限度值Cs時(shí),啟動媒體數(shù)據(jù)解析,從而確定造成媒體數(shù) 據(jù)并發(fā)的媒體流源端。確定造成媒體數(shù)據(jù)并發(fā)的媒體流源端的具體方法可以包括對媒體緩存隊(duì)列中的 媒體數(shù)據(jù)進(jìn)行鏡像采樣;確定采樣到的媒體數(shù)據(jù)中,對應(yīng)最多數(shù)量媒體流源端的時(shí)間段,將 該時(shí)間段內(nèi)媒體數(shù)據(jù)對應(yīng)的媒體流源端確定為造成媒體數(shù)據(jù)并發(fā)的媒體流源端。假設(shè)所有媒體流都采用H. 264編碼方式,以實(shí)時(shí)傳送協(xié)議(RTP)進(jìn)行傳輸,每秒包 含25幀,且都采用相同的G0P,此時(shí),可以采用80ms的采樣時(shí)間,即從媒體緩存隊(duì)列中鏡像 采樣80ms的媒體數(shù)據(jù),并且,將采樣到的媒體數(shù)據(jù)加上時(shí)間戳。對采樣到的媒體數(shù)據(jù)進(jìn)行 解析,確定對應(yīng)最多數(shù)量媒體流源端的時(shí)間段,該過程可以采用滑窗的方式實(shí)現(xiàn)在預(yù)設(shè)時(shí) 間長度的滑窗進(jìn)行步進(jìn)的過程中,統(tǒng)計(jì)每個(gè)步進(jìn)位置滑窗所包含的媒體數(shù)據(jù)的源IP地址, 確定包含媒體數(shù)據(jù)的源IP地址數(shù)量最多的滑窗所在的時(shí)間段為所述對應(yīng)最多數(shù)量媒體流 源端的時(shí)間段。以滑窗長度為40ms為例,如圖3所示,每個(gè)媒體數(shù)據(jù)報(bào)文都有時(shí)間戳并按時(shí)間戳 在時(shí)間軸上分布,使用一個(gè)40ms的滑窗進(jìn)行報(bào)文的源IP地址進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)該滑窗內(nèi)報(bào)文 的源IP地址,形成一張?jiān)碔P地址表;滑窗以IOms為步進(jìn)做5次統(tǒng)計(jì),分別得到5張?jiān)碔P 地址表,比較5張表的源IP地址數(shù)量,選擇源IP地址數(shù)量最大一張表作為并發(fā)的媒體流源 端IP地址表,該表中的各源IP地址對應(yīng)的媒體流源端是對媒體數(shù)據(jù)并發(fā)影響最大的源端, 即造成媒體數(shù)據(jù)并發(fā)的媒體流源端。確定出造成媒體數(shù)據(jù)并發(fā)的媒體流源端后,網(wǎng)絡(luò)設(shè)備向該媒體流源端發(fā)送并發(fā)碰 撞通知,接收到并發(fā)碰撞通知的媒體流源端暫緩媒體數(shù)據(jù)的發(fā)送,例如將媒體數(shù)據(jù)的發(fā)送 向后調(diào)整一個(gè)隨機(jī)時(shí)間,該隨機(jī)時(shí)間通常在滑窗的時(shí)間長度范圍內(nèi)。步驟205 將媒體緩存隊(duì)列的緩存減少AC2,減少的緩存作為共享緩存,轉(zhuǎn)至步驟 201。
假設(shè)Rmin為60%,如果媒體緩存隊(duì)列的占用率減少到60%,則表明當(dāng)前網(wǎng)絡(luò)設(shè)備 接收到的媒體數(shù)據(jù)狀況較好,能夠很好的滿足媒體數(shù)據(jù)的需求,則可以減少緩存隊(duì)列對共 享緩存的占用。在本實(shí)施例中,可以設(shè)定最少保持媒體緩存隊(duì)列的長度為初始值Cq,即當(dāng)媒體緩 存隊(duì)列的長度減少到Cq后,即便媒體緩存隊(duì)列的占用率小于或等于Rmin,也不再減少媒體 緩存隊(duì)列占用的緩存。即在步驟205之前還可以包括判斷當(dāng)前媒體緩存隊(duì)列的緩存減少 Δ C2后的長度是否小于預(yù)設(shè)的初始值Cq,如果是,則直接轉(zhuǎn)至步驟201 ;否則,繼續(xù)執(zhí)行所 述步驟205。以上是對本發(fā)明所提供的方法進(jìn)行的詳細(xì)描述,下面對本發(fā)明所提供的裝置進(jìn)行 詳細(xì)描述。圖4為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖,該裝置可以設(shè)置在轉(zhuǎn)發(fā)媒體數(shù)據(jù)的網(wǎng) 絡(luò)設(shè)備中,如圖4所示,該裝置可以包括媒體緩存隊(duì)列401、共享緩存402、第一隊(duì)列檢測單 元403和隊(duì)列控制單元404。其中,媒體緩存隊(duì)列401和共享緩存402是網(wǎng)絡(luò)設(shè)備中已有的單元。媒體緩存單 元401用于緩存網(wǎng)絡(luò)設(shè)備接收到的媒體數(shù)據(jù)的媒體緩存隊(duì)列,共享緩存用于供媒體緩存隊(duì) 列或其它業(yè)務(wù)隊(duì)列已滿時(shí)進(jìn)行共享。第一隊(duì)列檢測單元403,用于對媒體緩存隊(duì)列401的占用率進(jìn)行檢測,如果檢測到 媒體緩存隊(duì)列401的占用率大于或等于預(yù)設(shè)的第一閾值Rmax,則向隊(duì)列控制單元404發(fā)送 第一調(diào)整通知;如果檢測到媒體緩存隊(duì)列401的占用率小于或等于預(yù)設(shè)的第二閾值Rmin, 則向隊(duì)列控制單元404發(fā)送第二調(diào)整通知。隊(duì)列控制單元404,用于接收到第一調(diào)整通知時(shí),將共享緩存402中大小為ACl 的緩存增加為媒體緩存隊(duì)列401 ;接收到第二調(diào)整通知時(shí),將媒體緩存隊(duì)列401的緩存減少 Δ C2,減少的緩存作為共享緩存402。其中,第一閾值Rmax大于第二閾值Rmin,ACl和AC2為預(yù)設(shè)的值。該第一隊(duì)列檢測單元403能夠?qū)崟r(shí)性地或者周期性地檢測媒體緩存隊(duì)列的占用 率,根據(jù)檢測的占用情況來知會隊(duì)列控制單元404對共享緩存的占用進(jìn)行調(diào)整。更進(jìn)一步地,該裝置還可以包括第二隊(duì)列檢測單元405和媒體解析單元406。第二隊(duì)列檢測單元405,用于接收第一隊(duì)列檢測單元403發(fā)送給隊(duì)列控制單元404 的第一調(diào)整通知,并檢測當(dāng)前媒體緩存隊(duì)列401的緩存長度是否達(dá)到預(yù)設(shè)的最大限度值 Cs,如果是,向媒體解析單元406發(fā)送解析通知,且不向隊(duì)列控制單元404轉(zhuǎn)發(fā)第一調(diào)整通 知;否則向隊(duì)列控制單元404轉(zhuǎn)發(fā)第一調(diào)整通知。媒體解析單元406,用于接收到解析通知時(shí),對媒體緩存隊(duì)列401中的媒體數(shù)據(jù)進(jìn) 行解析,確定造成媒體數(shù)據(jù)并發(fā)的媒體流源端,并向確定的媒體流源端發(fā)送并發(fā)碰撞通知, 以通知確定的媒體流源端暫緩發(fā)送媒體數(shù)據(jù)。第二隊(duì)列檢測單元405確定媒體緩存隊(duì)列401的緩存長度達(dá)到最大限度值Cs時(shí), 觸發(fā)媒體解析單元406的解析過程,通過解析找出造成并發(fā)的媒體流源端,通知這些媒體 流源端調(diào)整發(fā)送策略。其中,媒體解析單元406可以具體包括鏡像采樣子單元4061、并發(fā)確定子單元 4062和通知發(fā)送子單元4063。鏡像采樣子單元4061,用于對媒體緩存隊(duì)列401中的媒體數(shù)據(jù)進(jìn)行鏡像采樣。
并發(fā)確定子單元4062,用于確定鏡像采樣子單元4061采樣到的媒體數(shù)據(jù)中對應(yīng) 最多數(shù)量媒體流源端的時(shí)間段,將該時(shí)間段內(nèi)媒體數(shù)據(jù)對應(yīng)的媒體流源端確定為造成媒體 數(shù)據(jù)并發(fā)的媒體流源端。通知發(fā)送子單元4063,用于向并發(fā)確定子單元4062確定的媒體流源端發(fā)送并發(fā) 碰撞通知。具體地,并發(fā)確定子單元4062可以將采樣到的媒體數(shù)據(jù)分別加上時(shí)間戳,按照時(shí) 間戳的順序排列采樣到的媒體數(shù)據(jù);在預(yù)設(shè)時(shí)間長度的滑窗進(jìn)行步進(jìn)的過程中,統(tǒng)計(jì)每個(gè) 步進(jìn)位置滑窗所包含的媒體數(shù)據(jù)的源IP地址,確定包含媒體數(shù)據(jù)的源IP地址數(shù)量最多的 滑窗所在的時(shí)間段為對應(yīng)最多數(shù)量媒體流源端的時(shí)間段。更優(yōu)地,如果設(shè)定最少保持媒體緩存隊(duì)列的長度為初始值Cq,當(dāng)媒體緩存隊(duì)列的 長度減少到Cq后,即便媒體緩存隊(duì)列的占用率小于或等于Rmin,也不再減少媒體緩存隊(duì)列 占用的緩存。即該裝置還可以進(jìn)一步包括第三隊(duì)列檢測單元407,用于接收第一隊(duì)列檢測 單元403向隊(duì)列控制單元404發(fā)送的第二調(diào)整通知,并判斷當(dāng)前媒體緩存隊(duì)列401的緩存 減少△ C2后的長度是否小于預(yù)設(shè)的初始值Cq,如果是,不向隊(duì)列控制單元404轉(zhuǎn)發(fā)第二調(diào) 整通知;否則,向隊(duì)列控制單元404轉(zhuǎn)發(fā)第二調(diào)整通知。上述第一隊(duì)列檢測單元403、第二隊(duì)列檢測單元405和第三隊(duì)列檢測單元407可以 設(shè)置在同一個(gè)隊(duì)列檢測單元中實(shí)現(xiàn)。由以上描述可以看出,本發(fā)明提供的方法和裝置具備以下優(yōu)點(diǎn)1)本發(fā)明通過對媒體緩存隊(duì)列的占用率進(jìn)行檢測,根據(jù)檢測到的狀況動態(tài)調(diào)整媒 體緩存隊(duì)列對共享緩存的占用情況,使得在媒體數(shù)據(jù)較多,例如媒體流并發(fā)時(shí),能夠及時(shí)增 加媒體緩存隊(duì)列對共享緩存的占用,避免被其它業(yè)務(wù)占用使得緩存耗盡導(dǎo)致媒體數(shù)據(jù)被丟 失。2)在媒體緩存隊(duì)列的長度達(dá)到預(yù)設(shè)的最大限度值時(shí),說明媒體數(shù)據(jù)并發(fā)情況嚴(yán) 重,本發(fā)明能夠進(jìn)一步通過對媒體緩存隊(duì)列中媒體數(shù)據(jù)的解析確定造成并發(fā)狀況的媒體流 源端,通知這些媒體流源端暫緩發(fā)送媒體數(shù)據(jù),以緩解媒體數(shù)據(jù)的并發(fā)現(xiàn)象,避免媒體數(shù)據(jù) 并發(fā)狀況嚴(yán)重來不及緩存造成被丟棄的現(xiàn)象。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種調(diào)整媒體數(shù)據(jù)緩存的方法,其特征在于,該方法應(yīng)用于至少包含媒體緩存隊(duì)列 和共享緩存的網(wǎng)絡(luò)設(shè)備,其中,媒體緩存隊(duì)列用于緩存網(wǎng)絡(luò)設(shè)備接收到的媒體數(shù)據(jù),共享緩 存用于供媒體緩存隊(duì)列或其它業(yè)務(wù)緩存隊(duì)列已滿時(shí)進(jìn)行共享;其特征在于,該方法包括A、對媒體緩存隊(duì)列的占用率進(jìn)行檢測,如果檢測到媒體緩存隊(duì)列的占用率大于或等于 預(yù)設(shè)的第一閾值,則執(zhí)行步驟B;如果檢測到媒體緩存隊(duì)列的占用率小于或等于預(yù)設(shè)的第 二閾值,則執(zhí)行步驟C;B、將共享緩存中大小為ACl的緩存增加為媒體緩存隊(duì)列,轉(zhuǎn)至步驟A;C、將媒體緩存隊(duì)列的緩存減少AC2,減少的緩存作為共享緩存,轉(zhuǎn)至步驟A;其中,所述第一閾值大于所述第二閾值,Δ Cl和Δ C2為預(yù)設(shè)的值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟B之前還包括判斷當(dāng)前媒體 緩存隊(duì)列的緩存長度是否達(dá)到預(yù)設(shè)的最大限度值,如果是,執(zhí)行步驟D ;否則,繼續(xù)執(zhí)行所 述步驟B;D、對媒體緩存隊(duì)列中的媒體數(shù)據(jù)進(jìn)行解析,確定造成媒體數(shù)據(jù)并發(fā)的媒體流源端,并 通知確定的媒體流源端暫緩發(fā)送媒體數(shù)據(jù),轉(zhuǎn)至步驟Α。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟D中對媒體緩存隊(duì)列中的媒體數(shù)據(jù)進(jìn) 行解析,確定造成媒體數(shù)據(jù)并發(fā)的媒體流源端具體包括D1、對媒體緩存隊(duì)列中的媒體數(shù)據(jù)進(jìn)行鏡像采樣;D2、確定采樣到的媒體數(shù)據(jù)中對應(yīng)最多數(shù)量媒體流源端的時(shí)間段,將該時(shí)間段內(nèi)媒體 數(shù)據(jù)對應(yīng)的媒體流源端確定為造成媒體數(shù)據(jù)并發(fā)的媒體流源端。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟D2中所述確定采樣到的媒體數(shù)據(jù)中 對應(yīng)最多數(shù)量媒體流源端的時(shí)間段具體包括將所述采樣到的媒體數(shù)據(jù)分別加上時(shí)間戳,按照時(shí)間戳的順序排列采樣到的媒體數(shù)據(jù);在預(yù)設(shè)時(shí)間長度的滑窗進(jìn)行步進(jìn)的過程中,統(tǒng)計(jì)每個(gè)步進(jìn)位置滑窗所包含的媒體數(shù)據(jù) 的源IP地址,確定包含媒體數(shù)據(jù)的源IP地址數(shù)量最多的滑窗所在的時(shí)間段為所述對應(yīng)最 多數(shù)量媒體流源端的時(shí)間段。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟C之前還包括判斷當(dāng)前媒體 緩存隊(duì)列的緩存減少AC2后的長度是否小于預(yù)設(shè)的初始值,如果是,則直接轉(zhuǎn)至步驟A ;否 則,繼續(xù)執(zhí)行所述步驟C。
6.一種調(diào)整媒體數(shù)據(jù)緩存的裝置,該裝置包括用于緩存接收到的媒體數(shù)據(jù)的媒體緩 存隊(duì)列,以及用于供媒體緩存隊(duì)列或其它業(yè)務(wù)隊(duì)列已滿時(shí)進(jìn)行共享的共享緩存;其特征在 于,該裝置還包括第一隊(duì)列檢測單元和隊(duì)列控制單元;所述第一隊(duì)列檢測單元,用于對媒體緩存隊(duì)列的占用率進(jìn)行檢測,如果檢測到媒體緩 存隊(duì)列的占用率大于或等于預(yù)設(shè)的第一閾值,則向所述隊(duì)列控制單元發(fā)送第一調(diào)整通知; 如果檢測到媒體緩存隊(duì)列的占用率小于或等于預(yù)設(shè)的第二閾值,則向所述隊(duì)列控制單元發(fā) 送第二調(diào)整通知;所述隊(duì)列控制單元,用于接收到第一調(diào)整通知時(shí),將共享緩存中大小為ACl的緩存增 加為媒體緩存隊(duì)列;接收到第二調(diào)整通知時(shí),將媒體緩存隊(duì)列的緩存減少AC2,減少的緩 存作為共享緩存;其中,所述第一閾值大于所述第二閾值,Δ Cl和Δ C2為預(yù)設(shè)的值。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該裝置還包括第二隊(duì)列檢測單元和媒體 解析單元;所述第二隊(duì)列檢測單元,用于接收所述第一隊(duì)列檢測單元發(fā)送給所述隊(duì)列控制單元的 第一調(diào)整通知,并檢測當(dāng)前媒體緩存隊(duì)列的緩存長度是否達(dá)到預(yù)設(shè)的最大限度值,如果是, 向所述媒體解析單元發(fā)送解析通知,且不向隊(duì)列控制單元轉(zhuǎn)發(fā)所述第一調(diào)整通知;否則,向 隊(duì)列控制單元轉(zhuǎn)發(fā)所述第一調(diào)整通知;所述媒體解析單元,用于接收到解析通知時(shí),對媒體緩存隊(duì)列中的媒體數(shù)據(jù)進(jìn)行解析, 確定造成媒體數(shù)據(jù)并發(fā)的媒體流源端,并向確定的媒體流源端發(fā)送并發(fā)碰撞通知,以通知 所述確定的媒體流源端暫緩發(fā)送媒體數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述媒體解析單元具體包括鏡像采樣子 單元、并發(fā)確定子單元和通知發(fā)送子單元;所述鏡像采樣子單元,用于對媒體緩存隊(duì)列中的媒體數(shù)據(jù)進(jìn)行鏡像采樣;所述并發(fā)確定子單元,用于確定所述鏡像采樣子單元采樣到的媒體數(shù)據(jù)中對應(yīng)最多數(shù) 量媒體流源端的時(shí)間段,將該時(shí)間段內(nèi)媒體數(shù)據(jù)對應(yīng)的媒體流源端確定為造成媒體數(shù)據(jù)并 發(fā)的媒體流源端;所述通知發(fā)送子單元,用于向所述并發(fā)確定子單元確定的媒體流源端發(fā)送并發(fā)碰撞通知。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述并發(fā)確定子單元將所述采樣到的媒 體數(shù)據(jù)分別加上時(shí)間戳,按照時(shí)間戳的順序排列采樣到的媒體數(shù)據(jù);在預(yù)設(shè)時(shí)間長度的滑 窗進(jìn)行步進(jìn)的過程中,統(tǒng)計(jì)每個(gè)步進(jìn)位置滑窗所包含的媒體數(shù)據(jù)的源IP地址,確定包含媒 體數(shù)據(jù)的源IP地址數(shù)量最多的滑窗所在的時(shí)間段為所述對應(yīng)最多數(shù)量媒體流源端的時(shí)間 段。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該裝置還包括第三隊(duì)列檢測單元,用于 接收所述第一隊(duì)列檢測單元向所述隊(duì)列控制單元發(fā)送的第二調(diào)整通知,并判斷當(dāng)前媒體緩 存隊(duì)列的緩存減少AC2后的長度是否小于預(yù)設(shè)的初始值,如果是,不向隊(duì)列控制單元轉(zhuǎn)發(fā) 所述第二調(diào)整通知;否則,向隊(duì)列控制單元轉(zhuǎn)發(fā)所述第二調(diào)整通知。
全文摘要
本發(fā)明提供了一種調(diào)整媒體數(shù)據(jù)緩存的方法和裝置,通過對媒體緩存隊(duì)列的占用率進(jìn)行檢測,根據(jù)檢測到的狀況動態(tài)調(diào)整媒體緩存隊(duì)列對共享緩存的占用情況,使得媒體流并發(fā)引起媒體數(shù)據(jù)較多時(shí),能夠及時(shí)增加媒體緩存隊(duì)列對共享緩存的占用,避免被其它業(yè)務(wù)占用使得緩存耗盡導(dǎo)致媒體數(shù)據(jù)被丟失。
文檔編號H04L12/56GK102088395SQ20091024145
公開日2011年6月8日 申請日期2009年12月2日 優(yōu)先權(quán)日2009年12月2日
發(fā)明者寧軍 申請人:杭州華三通信技術(shù)有限公司