亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

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

文檔序號:6625465閱讀:195來源:國知局
一種內(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ù)塊的大小進(jìn)行內(nèi)存分配,分配的內(nèi)存塊大小與視頻數(shù)據(jù)塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性,提高了內(nèi)存使用率。
【專利說明】—種內(nèi)存分配方法及裝置

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

【背景技術(shù)】
[0002]在對播放的視頻數(shù)據(jù)進(jìn)行緩存時,將視頻數(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)存空間的浪費(fè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)存塊的大小,進(jìn)而可比較視頻數(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ù)塊的大小進(jìn)行內(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ù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[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ù),在手機(jī)中播放時,手機(jī)橫屏與手機(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)存空間的浪費(fèi)的情況。
[0025]進(jìn)一步的,本發(fā)明實施例中的預(yù)設(shè)內(nèi)存塊為目標(biāo)內(nèi)存池中空閑的內(nèi)存塊,本發(fā)明實施例中的目標(biāo)內(nèi)存塊為目標(biāo)內(nèi)存池中空閑的內(nèi)存塊。
[0026]進(jìn)一步可選的,本發(fā)明實施例在播放視頻數(shù)據(jù)之前進(jìn)行,在為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊之后,視頻數(shù)據(jù)的視頻數(shù)據(jù)塊緩存到目標(biāo)內(nèi)存塊中,再從目標(biāo)內(nèi)存塊中讀取一幀的視頻數(shù)據(jù),從而進(jìn)行視頻數(shù)據(jù)的播放,從而可自適應(yīng)各種視頻質(zhì)量,使得視頻數(shù)據(jù)的視頻數(shù)據(jù)塊大小與目標(biāo)內(nèi)存塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性。
[0027]本發(fā)明實施例提供一種內(nèi)存分配裝置可以為個人計算機(jī)、平板電腦、智能手機(jī)、筆記本電腦等可播放視頻數(shù)據(jù)的終端設(shè)備,也可以為終端設(shè)備中的如:視頻播放器客戶端、網(wǎng)頁瀏覽器客戶端等客戶端模塊。本發(fā)明實施例提供的一種內(nèi)存分配方案例如:在網(wǎng)頁中播放視頻時,緩存視頻時需對緩存的視頻數(shù)據(jù)進(jìn)行內(nèi)存分配的場景等等。
[0028]下面將結(jié)合附圖1?附圖3,對本發(fā)明實施例提供的內(nèi)存分配方法進(jìn)行詳細(xì)介紹。
[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]進(jìn)一步的,步驟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ù)倍進(jìn)行設(shè)置的時間數(shù)值,例如20ms、15ms等,預(yù)設(shè)時間可設(shè)置定時器進(jìn)行控制,則預(yù)設(shè)時間內(nèi)可接收到M個視頻數(shù)據(jù)塊,M為大于I的正整數(shù),獲取M個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
[0036]進(jìn)一步的,獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,具體的,還可對視頻數(shù)據(jù)塊的數(shù)量進(jìn)行計數(shù),每收到一個視頻數(shù)據(jù)塊,遞增內(nèi)部計數(shù),在內(nèi)部計數(shù)的數(shù)值達(dá)到預(yù)設(shè)數(shù)量N時,獲取該N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,即對接收到的第一個視頻數(shù)據(jù)塊、第二個視頻數(shù)據(jù)塊……第N個視頻數(shù)據(jù)塊進(jìn)行處理,獲取前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]進(jìn)一步可選的,步驟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)存塊的大小的差值。進(jìn)一步的,可比較預(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ìn)一步的,也可直接根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,具體不受本發(fā)明實施例的限制。
[0044]進(jìn)一步的,在獲取預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小之后,在預(yù)設(shè)時間內(nèi)接收到的每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,可確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
[0045]進(jìn)一步的,在獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小之后,在接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
[0046]進(jìn)一步的,在計算視頻數(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]進(jìn)一步的,在預(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)存塊的大??;
[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)存塊。進(jìn)一步的,為每個視頻數(shù)據(jù)塊分配一個目標(biāo)內(nèi)存塊,從而可將接收到的視頻數(shù)據(jù)塊緩存到目標(biāo)內(nèi)存塊中。
[0055]進(jìn)一步可選的,在比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小一致時,將接收到的視頻數(shù)據(jù)塊緩存到預(yù)設(shè)內(nèi)存塊中。
[0056]進(jìn)一步可選的,在比較結(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)存塊的大小,進(jìn)而可比較視頻數(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ù)塊的大小進(jìn)行內(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]進(jìn)一步的,獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,具體的,還可對視頻數(shù)據(jù)塊的數(shù)量進(jìn)行計數(shù),每收到一個視頻數(shù)據(jù)塊,遞增內(nèi)部計數(shù),在內(nèi)部計數(shù)的數(shù)值達(dá)到預(yù)設(shè)數(shù)量N時,獲取該N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,即對接收到的第一個視頻數(shù)據(jù)塊、第二個視頻數(shù)據(jù)塊……第N個視頻數(shù)據(jù)塊進(jìn)行處理,獲取前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]進(jìn)一步可選的,如圖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……進(jìn)一步的,在計算目標(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ù)塊的大小,進(jìn)而可計算視頻數(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ù)塊的大小進(jìn)行內(nèi)存分配,分配的內(nèi)存塊大小與視頻數(shù)據(jù)塊的大小適配,提升了視頻數(shù)據(jù)內(nèi)存分配方案的靈活性,提高了內(nèi)存使用率。
[0073]下面將結(jié)合附圖4?圖6,對本發(fā)明實施例提供的內(nèi)存分配裝置進(jìn)行詳細(xì)介紹。需要說明的是,附圖4?圖6所示的內(nèi)存分配裝置,用于執(zhí)行本發(fā)明圖1或圖2所示實施例的方法,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細(xì)節(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]進(jìn)一步可選的,數(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ù)倍進(jìn)行設(shè)置的時間數(shù)值,例如20ms、15ms等,預(yù)設(shè)時間可設(shè)置定時器進(jìn)行控制,則預(yù)設(shè)時間內(nèi)可接收到M個視頻數(shù)據(jù)塊,M為大于I的正整數(shù),進(jìn)而第一獲取單元可獲取M個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小。
[0081]進(jìn)一步的,第二獲取單元可獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,其中,N為預(yù)設(shè)數(shù)量,具體的,還可對視頻數(shù)據(jù)塊的數(shù)量進(jìn)行計數(shù),每收到一個視頻數(shù)據(jù)塊,遞增內(nèi)部計數(shù),在內(nèi)部計數(shù)的數(shù)值達(dá)到預(yù)設(shè)數(shù)量N時,獲取該N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小,即對接收到的第一個視頻數(shù)據(jù)塊、第二個視頻數(shù)據(jù)塊……第N個視頻數(shù)據(jù)塊進(jìn)行處理,獲取前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)存塊的大小的差值。進(jìn)一步的,可比較預(yù)設(shè)內(nèi)存塊的大小是否多于視頻數(shù)據(jù)塊的大小的第一比例值,或比較預(yù)設(shè)內(nèi)存塊的大小是否少于視頻數(shù)據(jù)塊的大小的第二比例值。
[0086]進(jìn)一步可選的,如圖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]進(jìn)一步可選的,比較模塊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ìn)一步的,也可直接根據(jù)視頻數(shù)據(jù)塊的大小為視頻數(shù)據(jù)分配目標(biāo)內(nèi)存塊,具體不受本發(fā)明實施例的限制。
[0093]進(jìn)一步的,數(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]進(jìn)一步的,在獲取接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小之后,在接收到的前N個視頻數(shù)據(jù)塊中每個視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致時,確定比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
[0095]進(jìn)一步的,在計算視頻數(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]進(jìn)一步的,在預(yù)設(shè)內(nèi)存塊的大小多于視頻數(shù)據(jù)塊的大小的第一比例值,或預(yù)設(shè)內(nèi)存塊的大小少于視頻數(shù)據(jù)塊的大小的第二比例值時,課確定比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小不一致。
[0097]進(jìn)一步可選的,如圖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)存塊。進(jìn)一步的,為每個視頻數(shù)據(jù)塊分配一個目標(biāo)內(nèi)存塊,從而可將接收到的視頻數(shù)據(jù)塊緩存到目標(biāo)內(nèi)存塊中。
[0103]進(jìn)一步可選的,在比較模塊403的比較結(jié)果為:視頻數(shù)據(jù)塊的大小與預(yù)設(shè)內(nèi)存塊的大小一致時,分配模塊404還可將接收到的視頻數(shù)據(jù)塊緩存到預(yù)設(shè)內(nèi)存塊中。
[0104]進(jìn)一步可選的,在比較模塊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)存塊的大小,進(jìn)而比較模塊可比較視頻數(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ù)塊的大小進(jìn)行內(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)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(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條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1