国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種內(nèi)存分配方法及裝置制造方法

      文檔序號:6625465閱讀:199來源:國知局
      一種內(nèi)存分配方法及裝置制造方法
      【專利摘要】本發(fā)明公開了一種內(nèi)存分配方法及裝置,所述方法包括:在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,視頻數(shù)據(jù)包括多個視頻數(shù)據(jù)塊;獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,目標(biāo)內(nèi)存池包括多個預(yù)設(shè)內(nèi)存塊;比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小,在視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。通過本發(fā)明實施例,可根據(jù)實時的視頻數(shù)據(jù)中的視頻數(shù)據(jù)塊的大小進行內(nèi)存分配,分配的內(nèi)存塊大小與視頻數(shù)據(jù)塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性,提高了內(nèi)存使用率。
      【專利說明】—種內(nèi)存分配方法及裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種內(nèi)存分配方法及裝置。

      【背景技術(shù)】
      [0002]在對播放的視頻數(shù)據(jù)進行緩存時,將視頻數(shù)據(jù)緩存到內(nèi)存池中,內(nèi)存池包括多個內(nèi)存塊,每個內(nèi)存塊的大小一樣,多個內(nèi)存塊的總大小多于視頻數(shù)據(jù)的大小,為每一個視頻數(shù)據(jù)塊分配一個空閑的內(nèi)存塊,其中,視頻數(shù)據(jù)包括多個視頻數(shù)據(jù)塊,視頻數(shù)據(jù)塊可以為一幀視頻數(shù)據(jù),也可以為幾幀視頻數(shù)據(jù)。視頻數(shù)據(jù)在不同分辨率的播放界面下,視頻數(shù)據(jù)塊的大小是不相同的,例如不同大小的播放界面對應(yīng)不同的分辨率,但為每個視頻數(shù)據(jù)塊分配的內(nèi)存塊的大小固定不變,若視頻數(shù)據(jù)塊的大小多于內(nèi)存塊的大小,則視頻數(shù)據(jù)塊無法完整存儲到內(nèi)存間中,若視頻數(shù)據(jù)塊的大小少于內(nèi)存空間的大小,則會造成內(nèi)存空間的浪費,該內(nèi)存分配方案缺乏靈活性,且大大降低了內(nèi)存使用率。


      【發(fā)明內(nèi)容】

      [0003]本發(fā)明實施例提供一種內(nèi)存分配方法及裝置,可提高視頻數(shù)據(jù)的內(nèi)存分配方案的靈活性,且可提高內(nèi)存使用率。
      [0004]本發(fā)明第一方面提供一種內(nèi)存分配方法,可包括:
      [0005]在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,所述視頻數(shù)據(jù)包括多個所述視頻數(shù)據(jù)塊;
      [0006]獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,所述目標(biāo)內(nèi)存池包括多個所述預(yù)設(shè)內(nèi)存塊;
      [0007]比較所述視頻數(shù)據(jù)塊的大小和所述預(yù)設(shè)內(nèi)存塊的大??;
      [0008]在所述比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)所述視頻數(shù)據(jù)塊的大小為所述視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。
      [0009]本發(fā)明第二方面提供一種內(nèi)存分配裝置,可包括:
      [0010]數(shù)據(jù)塊獲取模塊,用于在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,所述視頻數(shù)據(jù)包括多個所述視頻數(shù)據(jù)塊;
      [0011]內(nèi)存塊獲取模塊,用于獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,所述目標(biāo)內(nèi)存池包括多個預(yù)設(shè)內(nèi)存塊;
      [0012]比較模塊,用于比較所述視頻數(shù)據(jù)塊的大小和所述預(yù)設(shè)內(nèi)存塊的大小;
      [0013]分配模塊,用于在所述比較模塊的比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)所述視頻數(shù)據(jù)塊的大小為所述視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。
      [0014]實施本發(fā)明實施例,具有如下有益效果:
      [0015]本發(fā)明實施例可在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,還可獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,進而可比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小,在比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,本發(fā)明實施例可根據(jù)實時的視頻數(shù)據(jù)中的視頻數(shù)據(jù)塊的大小進行內(nèi)存分配,分配的內(nèi)存塊大小與視頻數(shù)據(jù)塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性,提高了內(nèi)存使用率。

      【專利附圖】

      【附圖說明】
      [0016]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0017]圖1為本發(fā)明實施例提供的一種內(nèi)存分配方法的流程圖;
      [0018]圖2為本發(fā)明實施例提供的另一種內(nèi)存分配方法的流程圖
      [0019]圖3為本發(fā)明實施例提供的一種內(nèi)存分配示意圖;
      [0020]圖4為本發(fā)明實施例提供的一種內(nèi)存分配裝置的結(jié)構(gòu)示意圖;
      [0021]圖5為本發(fā)明實施例提供的比較模塊的結(jié)構(gòu)示意圖;
      [0022]圖6為本發(fā)明實施例提供的分配模塊的結(jié)構(gòu)示意圖。

      【具體實施方式】
      [0023]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
      [0024]本發(fā)明實施例提供一種內(nèi)存分配方法及裝置,可為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,其中,視頻數(shù)據(jù)包括多個視頻數(shù)據(jù)塊,視頻數(shù)據(jù)塊可以為一幀視頻數(shù)據(jù),也可以為幾幀視頻數(shù)據(jù),視頻數(shù)據(jù)的視頻數(shù)據(jù)塊的大小是變化的,例如,對于同一視頻數(shù)據(jù),在手機中播放時,手機橫屏與手機豎屏的情況下分別對應(yīng)不同的播放界面分辨率,則不同的播放界面分辨率下的視頻數(shù)據(jù)塊的大小不一樣。本發(fā)明實施例中,可根據(jù)當(dāng)前獲取到的視頻數(shù)據(jù)塊的大小,與預(yù)設(shè)內(nèi)存塊的大小比較,在視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,從而避免了視頻數(shù)據(jù)塊的大小多于內(nèi)存塊的大小導(dǎo)致視頻數(shù)據(jù)塊無法完整存儲到內(nèi)存間中的情況,也避免了視頻數(shù)據(jù)塊的大小少于內(nèi)存空間的大小造成內(nèi)存空間的浪費的情況。
      [0025]進一步的,本發(fā)明實施例中的預(yù)設(shè)內(nèi)存塊為目標(biāo)內(nèi)存池中空閑的內(nèi)存塊,本發(fā)明實施例中的目標(biāo)內(nèi)存塊為目標(biāo)內(nèi)存池中空閑的內(nèi)存塊。
      [0026]進一步可選的,本發(fā)明實施例在播放視頻數(shù)據(jù)之前進行,在為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊之后,視頻數(shù)據(jù)的視頻數(shù)據(jù)塊緩存到目標(biāo)內(nèi)存塊中,再從目標(biāo)內(nèi)存塊中讀取一幀的視頻數(shù)據(jù),從而進行視頻數(shù)據(jù)的播放,從而可自適應(yīng)各種視頻質(zhì)量,使得視頻數(shù)據(jù)的視頻數(shù)據(jù)塊大小與目標(biāo)內(nèi)存塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性。
      [0027]本發(fā)明實施例提供一種內(nèi)存分配裝置可以為個人計算機、平板電腦、智能手機、筆記本電腦等可播放視頻數(shù)據(jù)的終端設(shè)備,也可以為終端設(shè)備中的如:視頻播放器客戶端、網(wǎng)頁瀏覽器客戶端等客戶端模塊。本發(fā)明實施例提供的一種內(nèi)存分配方案例如:在網(wǎng)頁中播放視頻時,緩存視頻時需對緩存的視頻數(shù)據(jù)進行內(nèi)存分配的場景等等。
      [0028]下面將結(jié)合附圖1?附圖3,對本發(fā)明實施例提供的內(nèi)存分配方法進行詳細介紹。
      [0029]請參見圖1,為本發(fā)明實施例提供的一種內(nèi)存分配方法的流程圖;該方法可包括以下步驟SlOl?S104。
      [0030]S101,在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,視頻數(shù)據(jù)包括多個視頻數(shù)據(jù)塊。
      [0031 ] 作為一種可選的實施方式,在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,具體的,可以在接收到用戶對視頻數(shù)據(jù)的播放操作時確定檢測到視頻數(shù)據(jù)的內(nèi)存請求,在檢測到視頻數(shù)據(jù)的內(nèi)存請求后,獲取視頻數(shù)據(jù)塊的大小,其中,視頻數(shù)據(jù)包括多個視頻數(shù)據(jù)塊,視頻數(shù)據(jù)塊可以為一幀視頻數(shù)據(jù),也可以為幾幀視頻數(shù)據(jù),具體不受本發(fā)明實施例的限制。
      [0032]進一步的,步驟SlOl獲取視頻數(shù)據(jù)塊的大小具體可以包括:
      [0033]獲取預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小,在預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致;或
      [0034]獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,在接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0035]具體實現(xiàn)中,預(yù)設(shè)時間可以為根據(jù)每幀視頻數(shù)據(jù)的傳送時間的整數(shù)倍進行設(shè)置的時間數(shù)值,例如20ms、15ms等,預(yù)設(shè)時間可設(shè)置定時器進行控制,則預(yù)設(shè)時間內(nèi)可接收到M個視頻數(shù)據(jù)塊,M為大于I的正整數(shù),獲取M個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
      [0036]進一步的,獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,具體的,還可對視頻數(shù)據(jù)塊的數(shù)量進行計數(shù),每收到一個視頻數(shù)據(jù)塊,遞增內(nèi)部計數(shù),在內(nèi)部計數(shù)的數(shù)值達到預(yù)設(shè)數(shù)量N時,獲取該N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,即對接收到的第一個視頻數(shù)據(jù)塊、第二個視頻數(shù)據(jù)塊……第N個視頻數(shù)據(jù)塊進行處理,獲取前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
      [0037]S102,獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,目標(biāo)內(nèi)存池包括多個預(yù)設(shè)內(nèi)存塊。
      [0038]作為一種可選的實施方式,可獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,其中,目標(biāo)內(nèi)存池包括多個預(yù)設(shè)內(nèi)存塊,預(yù)設(shè)內(nèi)存塊的大小為預(yù)先設(shè)定的一數(shù)值,目標(biāo)內(nèi)存池為在接收到內(nèi)存請求時從內(nèi)存池中申請的一個足夠內(nèi)存空間的內(nèi)存池,目標(biāo)內(nèi)存池的大小多于視頻數(shù)據(jù)的大小。
      [0039]進一步可選的,步驟S101、S102的執(zhí)行無先后之分,可以先執(zhí)行其中一個,再執(zhí)行另一個步驟,也可同時執(zhí)行。
      [0040]S103,比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小。
      [0041]作為一種可選的實施方式,可比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小。具體實現(xiàn)中,可計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值。進一步的,可比較預(yù)設(shè)內(nèi)存塊的大小是否多于視頻數(shù)據(jù)塊的大小的第一比例值,或比較預(yù)設(shè)內(nèi)存塊的大小是否少于視頻數(shù)據(jù)塊的大小的第二比例值。其中,第一比例值可以為預(yù)先設(shè)定的預(yù)設(shè)內(nèi)存塊的大小比視頻數(shù)據(jù)塊的大小多的比例值,例如第一比例值可以為120%,若預(yù)設(shè)內(nèi)存塊的大小為80KB,視頻數(shù)據(jù)塊的大小為30KB,則80>30*120% ;第二比例值可以為預(yù)先設(shè)定的預(yù)設(shè)內(nèi)存塊的大小比視頻數(shù)據(jù)塊的大小少的比例值,例如第二比例值可以為110%,若預(yù)設(shè)內(nèi)存塊的大小為80KB,視頻數(shù)據(jù)塊的大小為80KB,則80〈80*110%。
      [0042]S104,在比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。
      [0043]作為一種可選的實施方式,在S103的比較結(jié)果為視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。具體的,還可清空預(yù)先分配的預(yù)設(shè)內(nèi)存塊,再重新為視頻數(shù)據(jù)分配內(nèi)存塊,具體為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。進一步的,也可直接根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,具體不受本發(fā)明實施例的限制。
      [0044]進一步的,在獲取預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小之后,在預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,可確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0045]進一步的,在獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小之后,在接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0046]進一步的,在計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值中所得到的差值滿足預(yù)設(shè)第一差值閾值時,確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。其中,預(yù)設(shè)第一差值閾值為預(yù)先設(shè)定的視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值和最大值,例如,預(yù)設(shè)第一差值閾值可以為:[_15,-1](單位為KB),即視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值可以為-15KB,最大值可以為-1KB。
      [0047]進一步的,在預(yù)設(shè)內(nèi)存塊的大小多于視頻數(shù)據(jù)塊的大小的第一比例值,或預(yù)設(shè)內(nèi)存塊的大小少于視頻數(shù)據(jù)塊的大小的第二比例值時,確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0048]作為一種可選的實施方式,根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊具體可以包括:
      [0049]計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和,或計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)比值閾值的乘積,由計算結(jié)果得到目標(biāo)內(nèi)存塊的大?。?br> [0050]根據(jù)目標(biāo)內(nèi)存塊的大小從目標(biāo)內(nèi)存池中申請多個目標(biāo)內(nèi)存塊;
      [0051]為視頻數(shù)據(jù)塊分配目標(biāo)內(nèi)存塊。
      [0052]具體實現(xiàn)中,預(yù)設(shè)第二差值閾值為預(yù)先設(shè)定的預(yù)設(shè)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小的差值的最小值和最大值,例如,預(yù)設(shè)第二差值閾值可以為:[1,20](單位為KB),即視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值可以為1KB,最大值可以為20KB,具體的,可從預(yù)設(shè)第二差值閾值中選一個作為最終值,例如,可以選1,則若視頻數(shù)據(jù)塊的大小為30KB,則目標(biāo)內(nèi)存塊的大小可以設(shè)為30+1 = 31KB。
      [0053]其中,預(yù)設(shè)比值閾值可以為預(yù)先設(shè)定的目標(biāo)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小的比值的最小值和最大值,例如,預(yù)設(shè)比值閾值可以為[1.1,1.5],即目標(biāo)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小的比值的最小值可以為1.1,比值的最大值可以為1.5。例如,視頻數(shù)據(jù)塊的大小為30KB,則目標(biāo)內(nèi)存塊的大小可以設(shè)為30*1.1 = 33KB。
      [0054]具體實現(xiàn)中,在計算得到目標(biāo)內(nèi)存塊的大小后,根據(jù)目標(biāo)內(nèi)存塊的大小從目標(biāo)內(nèi)存池中申請多個目標(biāo)內(nèi)存塊,例如,計算得到目標(biāo)內(nèi)存塊的大小為31KB,則可從目標(biāo)內(nèi)存池中申請多個31KB的目標(biāo)內(nèi)存塊。進一步的,為每個視頻數(shù)據(jù)塊分配一個目標(biāo)內(nèi)存塊,從而可將接收到的視頻數(shù)據(jù)塊緩存到目標(biāo)內(nèi)存塊中。
      [0055]進一步可選的,在比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小一致時,將接收到的視頻數(shù)據(jù)塊緩存到預(yù)設(shè)內(nèi)存塊中。
      [0056]進一步可選的,在比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,清空預(yù)設(shè)內(nèi)存塊,可為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,其中,目標(biāo)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小相同。
      [0057]本發(fā)明實施例提供一種內(nèi)存分配方法,可在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,還可獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,進而可比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小,在比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,清空預(yù)設(shè)內(nèi)存塊,并根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,本發(fā)明實施例可根據(jù)實時的視頻數(shù)據(jù)中的視頻數(shù)據(jù)塊的大小進行內(nèi)存分配,分配的內(nèi)存塊大小與視頻數(shù)據(jù)塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性,提高了內(nèi)存使用率。
      [0058]請參見圖2,為本發(fā)明實施例提供的另一種內(nèi)存分配方法的流程圖,該方法可包括以下步驟S201?S207。
      [0059]S201,獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小。
      [0060]作為一種可選的實施方式,目標(biāo)內(nèi)存池為在接收到內(nèi)存請求時從內(nèi)存池中申請的一個足夠內(nèi)存空間的內(nèi)存池,其中,目標(biāo)內(nèi)存池包括多個預(yù)設(shè)內(nèi)存塊。
      [0061]S202,在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
      [0062]進一步的,獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,具體的,還可對視頻數(shù)據(jù)塊的數(shù)量進行計數(shù),每收到一個視頻數(shù)據(jù)塊,遞增內(nèi)部計數(shù),在內(nèi)部計數(shù)的數(shù)值達到預(yù)設(shè)數(shù)量N時,獲取該N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,即對接收到的第一個視頻數(shù)據(jù)塊、第二個視頻數(shù)據(jù)塊……第N個視頻數(shù)據(jù)塊進行處理,獲取前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
      [0063]S203,計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值。
      [0064]S204,判斷計算得到的差值是否滿足預(yù)設(shè)第一差值閾值。在判斷結(jié)果為是時,執(zhí)行步驟S205?S206,在判斷結(jié)果為否時,執(zhí)行步驟S207。
      [0065]作為一種可選的實施方式,預(yù)設(shè)第一差值閾值為預(yù)先設(shè)定的視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值和最大值,例如,預(yù)設(shè)第一差值閾值可以為:[_15,-1](單位為KB),即視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值可以為-15KB,最大值可以為-1KB。
      [0066]S205,由視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和計算得到目標(biāo)內(nèi)存塊的大小。
      [0067]作為一種可選的實施方式,在計算得到的差值滿足預(yù)設(shè)第一差值閾值時,計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和得到目標(biāo)內(nèi)存塊的大小,預(yù)設(shè)第二差值閾值為預(yù)先設(shè)定的預(yù)設(shè)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小的差值的最小值和最大值,例如,預(yù)設(shè)第二差值閾值可以為:[1,20](單位為KB),即視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值可以為1KB,最大值可以為20KB,具體的,可從預(yù)設(shè)第二差值閾值中選一個作為最終值,例如,可以選1,則若視頻數(shù)據(jù)塊的大小為30KB,則目標(biāo)內(nèi)存塊的大小可以設(shè)為30+1=31KB。
      [0068]S206,由計算得到的目標(biāo)內(nèi)存塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。
      [0069]作為一種可選的實施方式,在計算得到目標(biāo)內(nèi)存塊的大小后,可根據(jù)目標(biāo)內(nèi)存塊的大小從目標(biāo)內(nèi)存池中申請多個目標(biāo)內(nèi)存塊,例如,計算得到目標(biāo)內(nèi)存塊的大小為31KB,則可從目標(biāo)內(nèi)存池中申請多個31KB的目標(biāo)內(nèi)存塊。
      [0070]S207,為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,目標(biāo)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小相等。
      [0071]進一步可選的,如圖3所示,為本發(fā)明實施例提供的一種內(nèi)存分配示意圖,視頻數(shù)據(jù)31中包括第一個視頻數(shù)據(jù)塊311、第二個視頻數(shù)據(jù)塊312、第三個數(shù)據(jù)庫塊313……,目標(biāo)內(nèi)存池32中包括第一預(yù)設(shè)內(nèi)存塊321、第二預(yù)設(shè)內(nèi)存塊322、第三預(yù)設(shè)內(nèi)存塊323……,目標(biāo)內(nèi)存池中還包括:第一目標(biāo)內(nèi)存塊331、第二目標(biāo)內(nèi)存塊332、第三目標(biāo)內(nèi)存塊333……。本發(fā)明實施例中,可計算前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,N = 3,計算第一個視頻數(shù)據(jù)塊311的大小、第二個視頻數(shù)據(jù)塊312的大小和第三個數(shù)據(jù)庫塊313的大小。具體的,可計算第一預(yù)設(shè)內(nèi)存塊321的大小:bl = 40KB,計算第二預(yù)設(shè)內(nèi)存塊322的大小:b2 =40KB、計算第三預(yù)設(shè)內(nèi)存塊323的大小:b3 = 40KB……。在接收到第一個視頻數(shù)據(jù)塊311時,計算第一個視頻數(shù)據(jù)塊311的大小:al = 30KB,可比較al、bl的大小,在al與bl的差值滿足預(yù)設(shè)第一差值閾值時,由視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和計算得到目標(biāo)內(nèi)存塊的大小,由此可計算第一目標(biāo)內(nèi)存塊331的大小:cl = 3IKB ;在接收到第二個視頻數(shù)據(jù)塊312時,計算第二個視頻數(shù)據(jù)塊312的大小:a2 = 30KB,可比較a2、b2的大小,同理可計算第二目標(biāo)內(nèi)存塊332的大小:c2 = 3IKB ;在接收到第三個視頻數(shù)據(jù)塊313時,計算第三個視頻數(shù)據(jù)塊313的大小:a3 = 30KB,可比較a3、b3的大小,同理可計算第三目標(biāo)內(nèi)存塊333的大小:c3 = 31KB……進一步的,在計算目標(biāo)內(nèi)存塊的大小之后,可清空預(yù)設(shè)內(nèi)存塊,并由計算得到的目標(biāo)內(nèi)存塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,即為第一個視頻數(shù)據(jù)塊311分配cl = 3IKB的第一目標(biāo)內(nèi)存塊331,為第二個視頻數(shù)據(jù)塊312分配c2 = 3IKB的第二目標(biāo)內(nèi)存塊332、為第三個視頻數(shù)據(jù)庫塊313分配c3 = 3IKB的第三目標(biāo)內(nèi)存塊333。
      [0072]本發(fā)明實施例提供一種內(nèi)存分配方法,可獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,可在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,進而可計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值,在計算得到的差值滿足預(yù)設(shè)第一差值閾值時,由視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和計算得到目標(biāo)內(nèi)存塊的大小,可由計算得到的目標(biāo)內(nèi)存塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,本發(fā)明實施例可根據(jù)實時的視頻數(shù)據(jù)中的視頻數(shù)據(jù)塊的大小進行內(nèi)存分配,分配的內(nèi)存塊大小與視頻數(shù)據(jù)塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性,提高了內(nèi)存使用率。
      [0073]下面將結(jié)合附圖4?圖6,對本發(fā)明實施例提供的內(nèi)存分配裝置進行詳細介紹。需要說明的是,附圖4?圖6所示的內(nèi)存分配裝置,用于執(zhí)行本發(fā)明圖1或圖2所示實施例的方法,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細節(jié)未揭示的,請參照本發(fā)明圖1或圖2所示的實施例。
      [0074]請參見圖4,為本發(fā)明實施例提供的一種內(nèi)存分配裝置的結(jié)構(gòu)示意圖;該裝置可包括:數(shù)據(jù)塊獲取模塊401、內(nèi)存塊獲取模塊402、比較模塊403和分配模塊404。
      [0075]數(shù)據(jù)塊獲取模塊401,用于在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,視頻數(shù)據(jù)包括多個視頻數(shù)據(jù)塊。
      [0076]作為一種可選的實施方式,在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,具體的,可以在接收到用戶對視頻數(shù)據(jù)的播放操作時確定檢測到視頻數(shù)據(jù)的內(nèi)存請求,在檢測到視頻數(shù)據(jù)的內(nèi)存請求后,數(shù)據(jù)塊獲取模塊401可獲取視頻數(shù)據(jù)塊的大小,其中,視頻數(shù)據(jù)包括多個視頻數(shù)據(jù)塊,視頻數(shù)據(jù)塊可以為一幀視頻數(shù)據(jù),也可以為幾幀視頻數(shù)據(jù),具體不受本發(fā)明實施例的限制。
      [0077]進一步可選的,數(shù)據(jù)塊獲取模塊401可以包括:第一獲取單元或第二獲取單元。
      [0078]第一獲取單元,用于獲取預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小,在預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0079]第二獲取單元,用于獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,在接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0080]具體實現(xiàn)中,預(yù)設(shè)時間可以為根據(jù)每幀視頻數(shù)據(jù)的傳送時間的整數(shù)倍進行設(shè)置的時間數(shù)值,例如20ms、15ms等,預(yù)設(shè)時間可設(shè)置定時器進行控制,則預(yù)設(shè)時間內(nèi)可接收到M個視頻數(shù)據(jù)塊,M為大于I的正整數(shù),進而第一獲取單元可獲取M個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
      [0081]進一步的,第二獲取單元可獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,具體的,還可對視頻數(shù)據(jù)塊的數(shù)量進行計數(shù),每收到一個視頻數(shù)據(jù)塊,遞增內(nèi)部計數(shù),在內(nèi)部計數(shù)的數(shù)值達到預(yù)設(shè)數(shù)量N時,獲取該N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,即對接收到的第一個視頻數(shù)據(jù)塊、第二個視頻數(shù)據(jù)塊……第N個視頻數(shù)據(jù)塊進行處理,獲取前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
      [0082]內(nèi)存塊獲取模塊402,用于獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,目標(biāo)內(nèi)存池包括多個預(yù)設(shè)內(nèi)存塊。
      [0083]作為一種可選的實施方式,內(nèi)存塊獲取模塊402可獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,其中,目標(biāo)內(nèi)存池包括多個預(yù)設(shè)內(nèi)存塊,預(yù)設(shè)內(nèi)存塊的大小為預(yù)先設(shè)定的一數(shù)值,目標(biāo)內(nèi)存池為在接收到內(nèi)存請求時從內(nèi)存池中申請的一個足夠內(nèi)存空間的內(nèi)存池,目標(biāo)內(nèi)存池的大小多于視頻數(shù)據(jù)的大小。
      [0084]比較模塊403,用于比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小。
      [0085]作為一種可選的實施方式,比較模塊403可比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小。具體實現(xiàn)中,可計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值。進一步的,可比較預(yù)設(shè)內(nèi)存塊的大小是否多于視頻數(shù)據(jù)塊的大小的第一比例值,或比較預(yù)設(shè)內(nèi)存塊的大小是否少于視頻數(shù)據(jù)塊的大小的第二比例值。
      [0086]進一步可選的,如圖5所示,為本發(fā)明實施例提供的比較模塊的結(jié)構(gòu)示意圖,如圖所示,比較模塊403可以包括:第一計算單元51。
      [0087]第一計算單元51,用于計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值,在差值滿足預(yù)設(shè)第一差值閾值時,確定比較模塊的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0088]進一步可選的,比較模塊403還可以包括:比例值比較單元52。
      [0089]比例值比較單元52,用于比較預(yù)設(shè)內(nèi)存塊的大小是否多于視頻數(shù)據(jù)塊的大小的第一比例值,或比較預(yù)設(shè)內(nèi)存塊的大小是否少于視頻數(shù)據(jù)塊的大小的第二比例值;在預(yù)設(shè)內(nèi)存塊的大小多于視頻數(shù)據(jù)塊的大小的第一比例值,或預(yù)設(shè)內(nèi)存塊的大小少于視頻數(shù)據(jù)塊的大小的第二比例值時,確定比較模塊的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0090]具體實現(xiàn)中,第一比例值可以為預(yù)先設(shè)定的預(yù)設(shè)內(nèi)存塊的大小比視頻數(shù)據(jù)塊的大小多的比例值,例如第一比例值可以為120%,若預(yù)設(shè)內(nèi)存塊的大小為80KB,視頻數(shù)據(jù)塊的大小為30KB,則80>30*120%;第二比例值可以為預(yù)先設(shè)定的預(yù)設(shè)內(nèi)存塊的大小比視頻數(shù)據(jù)塊的大小少的比例值,例如第二比例值可以為110 %,若預(yù)設(shè)內(nèi)存塊的大小為80KB,視頻數(shù)據(jù)塊的大小為80KB,則80〈80*110%。
      [0091]分配模塊404,在比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。
      [0092]作為一種可選的實施方式,在比較模塊403的比較結(jié)果為視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,分配模塊404可清空預(yù)設(shè)內(nèi)存塊,并根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。具體的,分配模塊404可清空預(yù)先分配的預(yù)設(shè)內(nèi)存塊,再重新為視頻數(shù)據(jù)分配內(nèi)存塊,具體為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。進一步的,也可直接根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,具體不受本發(fā)明實施例的限制。
      [0093]進一步的,數(shù)據(jù)塊獲取模塊401在獲取預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小之后,在預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,t匕較模塊403可確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0094]進一步的,在獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小之后,在接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0095]進一步的,在計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值中所得到的差值滿足預(yù)設(shè)第一差值閾值時,可確定比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。其中,預(yù)設(shè)第一差值閾值為預(yù)先設(shè)定的視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值和最大值,例如,預(yù)設(shè)第一差值閾值可以為:[_15,-1](單位為KB),即視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值可以為-15KB,最大值可以為-1KB0
      [0096]進一步的,在預(yù)設(shè)內(nèi)存塊的大小多于視頻數(shù)據(jù)塊的大小的第一比例值,或預(yù)設(shè)內(nèi)存塊的大小少于視頻數(shù)據(jù)塊的大小的第二比例值時,課確定比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
      [0097]進一步可選的,如圖6所示,為本發(fā)明實施例提供的分配模塊的結(jié)構(gòu)示意圖,如圖所示,分配模塊404可以包括:第二計算單元61和分配單元62。
      [0098]第二計算單元61,用于計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和,或計算視頻數(shù)據(jù)塊的大小與預(yù)設(shè)比值閾值的乘積,由計算結(jié)果得到目標(biāo)內(nèi)存塊的大小。
      [0099]分配單元62,用于根據(jù)目標(biāo)內(nèi)存塊的大小從目標(biāo)內(nèi)存池中申請多個目標(biāo)內(nèi)存塊,并為視頻數(shù)據(jù)塊分配目標(biāo)內(nèi)存塊。
      [0100]具體實現(xiàn)中,預(yù)設(shè)第二差值閾值為預(yù)先設(shè)定的預(yù)設(shè)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小的差值的最小值和最大值,例如,預(yù)設(shè)第二差值閾值可以為:[1,20](單位為KB),即視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小的差值的最小值可以為1KB,最大值可以為20KB,具體的,可從預(yù)設(shè)第二差值閾值中選一個作為最終值,例如,可以選1,則若視頻數(shù)據(jù)塊的大小為30KB,則目標(biāo)內(nèi)存塊的大小可以設(shè)為30+1 = 31KB。
      [0101]其中,預(yù)設(shè)比值閾值可以為預(yù)先設(shè)定的目標(biāo)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小的比值的最小值和最大值,例如,預(yù)設(shè)比值閾值可以為[1.1,1.5],即目標(biāo)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小的比值的最小值可以為1.1,比值的最大值可以為1.5。例如,視頻數(shù)據(jù)塊的大小為30KB,則目標(biāo)內(nèi)存塊的大小可以設(shè)為30*1.1 = 33KB。
      [0102]具體實現(xiàn)中,在第二計算單元61計算得到目標(biāo)內(nèi)存塊的大小后,分配單元62可根據(jù)目標(biāo)內(nèi)存塊的大小從目標(biāo)內(nèi)存池中申請多個目標(biāo)內(nèi)存塊,例如,計算得到目標(biāo)內(nèi)存塊的大小為31KB,則可從目標(biāo)內(nèi)存池中申請多個31KB的目標(biāo)內(nèi)存塊。進一步的,為每個視頻數(shù)據(jù)塊分配一個目標(biāo)內(nèi)存塊,從而可將接收到的視頻數(shù)據(jù)塊緩存到目標(biāo)內(nèi)存塊中。
      [0103]進一步可選的,在比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小一致時,分配模塊404還可將接收到的視頻數(shù)據(jù)塊緩存到預(yù)設(shè)內(nèi)存塊中。
      [0104]進一步可選的,在比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,清空預(yù)設(shè)內(nèi)存塊,分配模塊404可為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,其中,目標(biāo)內(nèi)存塊的大小與視頻數(shù)據(jù)塊的大小相同。
      [0105]本發(fā)明實施例提供一種內(nèi)存分配裝置,數(shù)據(jù)塊獲取模塊可在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,內(nèi)存塊獲取模塊可獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,進而比較模塊可比較視頻數(shù)據(jù)塊的大小和預(yù)設(shè)內(nèi)存塊的大小,在比較模塊的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,分配模塊可根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,本發(fā)明實施例可根據(jù)實時的視頻數(shù)據(jù)中的視頻數(shù)據(jù)塊的大小進行內(nèi)存分配,分配的內(nèi)存塊大小與視頻數(shù)據(jù)塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性,提高了內(nèi)存使用率。
      [0106]本發(fā)明實施例還公開了一種終端,包括圖4?圖6任一所示的裝置;該裝置的結(jié)構(gòu)和功能可參見圖4?圖6任一所示實施例的相關(guān)描述,在此不贅述。需要說明的是,本實施例提供的服務(wù)器與圖1、圖2所示的內(nèi)存分配方法相對應(yīng),為基于圖1或圖2所示的內(nèi)存分配方法的執(zhí)行主體。
      [0107]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
      [0108]以上所揭露的僅為本發(fā)明較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
      【權(quán)利要求】
      1.一種內(nèi)存分配方法,其特征在于,所述方法包括: 在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,所述視頻數(shù)據(jù)包括多個所述視頻數(shù)據(jù)塊; 獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,所述目標(biāo)內(nèi)存池包括多個所述預(yù)設(shè)內(nèi)存塊; 比較所述視頻數(shù)據(jù)塊的大小和所述預(yù)設(shè)內(nèi)存塊的大小; 在所述比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)所述視頻數(shù)據(jù)塊的大小為所述視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。
      2.如權(quán)利要求1所述的方法,其特征在于,所述獲取視頻數(shù)據(jù)塊的大小包括: 獲取預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小,在所述預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,確定所述比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致;或 獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,在所述接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,確定所述比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致。
      3.如權(quán)利要求1所述的方法,其特征在于,所述比較所述視頻數(shù)據(jù)塊的大小和所述預(yù)設(shè)內(nèi)存塊的大小,包括: 計算所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小的差值,在所述差值滿足預(yù)設(shè)第一差值閾值時,確定所述比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不—致。
      4.如權(quán)利要求1所述的方法,其特征在于,所述比較所述視頻數(shù)據(jù)塊的大小和所述預(yù)設(shè)內(nèi)存塊的大小,包括: 比較所述預(yù)設(shè)內(nèi)存塊的大小是否多于所述視頻數(shù)據(jù)塊的大小的第一比例值,或比較所述預(yù)設(shè)內(nèi)存塊的大小是否少于所述視頻數(shù)據(jù)塊的大小的第二比例值;在所述預(yù)設(shè)內(nèi)存塊的大小多于所述視頻數(shù)據(jù)塊的大小的第一比例值,或所述預(yù)設(shè)內(nèi)存塊的大小少于所述視頻數(shù)據(jù)塊的大小的第二比例值時,確定所述比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致。
      5.如權(quán)利要求1?4任一所述的方法,其特征在于,所述根據(jù)所述視頻數(shù)據(jù)塊的大小為所述視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,包括: 計算所述視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和,或計算所述視頻數(shù)據(jù)塊的大小與預(yù)設(shè)比值閾值的乘積,由所述計算結(jié)果得到所述目標(biāo)內(nèi)存塊的大?。? 根據(jù)所述目標(biāo)內(nèi)存塊的大小從所述目標(biāo)內(nèi)存池中申請多個所述目標(biāo)內(nèi)存塊,并為所述視頻數(shù)據(jù)塊分配所述目標(biāo)內(nèi)存塊。
      6.一種內(nèi)存分配裝置,其特征在于,所述裝置包括: 數(shù)據(jù)塊獲取模塊,用于在檢測到視頻數(shù)據(jù)的內(nèi)存請求時,獲取視頻數(shù)據(jù)塊的大小,所述視頻數(shù)據(jù)包括多個所述視頻數(shù)據(jù)塊; 內(nèi)存塊獲取模塊,用于獲取目標(biāo)內(nèi)存池中預(yù)先分配的預(yù)設(shè)內(nèi)存塊的大小,所述目標(biāo)內(nèi)存池包括多個所述預(yù)設(shè)內(nèi)存塊; 比較模塊,用于比較所述視頻數(shù)據(jù)塊的大小和所述預(yù)設(shè)內(nèi)存塊的大?。? 分配模塊,在所述比較模塊的比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,根據(jù)所述視頻數(shù)據(jù)塊的大小為所述視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊。
      7.如權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)塊獲取模塊包括:第一獲取單元或第二獲取單元; 所述第一獲取單元,用于獲取預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小,在所述預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,確定所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致; 所述第二獲取單元,用于獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,在所述接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致時,確定所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致。
      8.如權(quán)利要求6所述的裝置,其特征在于,所述比較模塊包括: 第一計算單元,用于計算所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小的差值,在所述差值滿足預(yù)設(shè)第一差值閾值時,確定所述比較模塊的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致。
      9.如權(quán)利要求6所述的裝置,其特征在于,所述比較模塊還包括: 比例值比較單元,用于比較所述預(yù)設(shè)內(nèi)存塊的大小是否多于所述視頻數(shù)據(jù)塊的大小的第一比例值,或比較所述預(yù)設(shè)內(nèi)存塊的大小是否少于所述視頻數(shù)據(jù)塊的大小的第二比例值;在所述預(yù)設(shè)內(nèi)存塊的大小多于所述視頻數(shù)據(jù)塊的大小的第一比例值,或所述預(yù)設(shè)內(nèi)存塊的大小少于所述視頻數(shù)據(jù)塊的大小的第二比例值時,確定所述比較模塊的比較結(jié)果為:所述視頻數(shù)據(jù)塊的大小與所述預(yù)設(shè)內(nèi)存塊的大小不一致。
      10.如權(quán)利要求6?9任一所述的裝置,其特征在于,所述分配模塊包括: 第二計算單元,用于計算所述視頻數(shù)據(jù)塊的大小與預(yù)設(shè)第二差值閾值的和,或計算所述視頻數(shù)據(jù)塊的大小與預(yù)設(shè)比值閾值的乘積,由所述計算結(jié)果得到所述目標(biāo)內(nèi)存塊的大小; 分配單元,用于根據(jù)所述目標(biāo)內(nèi)存塊的大小從所述目標(biāo)內(nèi)存池中申請多個所述目標(biāo)內(nèi)存塊,并為所述視頻數(shù)據(jù)塊分配所述目標(biāo)內(nèi)存塊。
      【文檔編號】G06F12/02GK104182355SQ201410438502
      【公開日】2014年12月3日 申請日期:2014年8月29日 優(yōu)先權(quán)日:2014年8月29日
      【發(fā)明者】李錦 , 陳杰, 施劍華 申請人:廣州華多網(wǎng)絡(luò)科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1