專(zhuān)利名稱(chēng):一種媒體文件系統(tǒng)的建立方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多媒體文件的計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種媒體文件系統(tǒng)的建立方法。
背景技術(shù):
現(xiàn)有媒體文件系統(tǒng)采用多級(jí)索引結(jié)構(gòu),視頻等媒體文件信息以塊為單位進(jìn)行計(jì)算機(jī)存儲(chǔ)和傳輸,那么在視頻服務(wù)器等信息處理設(shè)備上存取視頻等媒體文件時(shí),通常是以邏輯記錄為單位提出存取要求的,因此,存儲(chǔ)介質(zhì)上的物理塊長(zhǎng)度與邏輯記錄的長(zhǎng)度是否匹配直接影響到對(duì)文件的尋址。一般可分為三種情況(1)邏輯記錄長(zhǎng)度與物理塊長(zhǎng)相等;(2)邏輯記錄長(zhǎng)度為物理塊長(zhǎng)的整數(shù)因子;(3)邏輯記錄長(zhǎng)度不為物理塊長(zhǎng)的整數(shù)因子;因此,在尋址時(shí)步驟如下a.根據(jù)邏輯記錄長(zhǎng)度,確定第n條記錄所在物理塊的相對(duì)塊號(hào)rb;b.由記錄長(zhǎng)度和物理長(zhǎng)度確定該記錄所占用的物理塊塊數(shù)n;c.計(jì)算記錄在所占的首物理塊內(nèi)的位移量d1;d.計(jì)算記錄所占的末物理塊內(nèi)的位移量d2,即記錄在末塊內(nèi)占據(jù)的長(zhǎng)度;e.根據(jù)物理塊長(zhǎng)bs及計(jì)算出來(lái)的d1和d2,判斷記錄是否跨塊;若跨塊則修改n值和d2值。
這樣,將導(dǎo)致文件的讀取有很大的延時(shí)。對(duì)于視頻文件而言,每幀進(jìn)行壓縮后長(zhǎng)度都是不固定的,每條邏輯記錄跨物理塊的情況大量存在。同時(shí)多個(gè)讀操作將極大地影響文件系統(tǒng)性能,當(dāng)前的文件系統(tǒng)不適用于媒體文件的操作。
在視頻技術(shù)領(lǐng)域,使用多媒體文件與其他系統(tǒng)文件有很大不同,多媒體文件一般都比較大,占用巨大的存儲(chǔ)單元;多媒體文件讀寫(xiě)動(dòng)作由系統(tǒng)發(fā)出并且是實(shí)時(shí)的。專(zhuān)業(yè)領(lǐng)域使用多媒體文件的重要要求是實(shí)時(shí)性,即文件數(shù)據(jù)的讀取到解碼輸出數(shù)據(jù)的處理速度是恒定的,每一幀的時(shí)間嚴(yán)格限制在40毫秒范圍內(nèi)?,F(xiàn)有技術(shù)中,傳統(tǒng)的文件系統(tǒng)在讀操作方面有很大的不確定性,且同時(shí)多個(gè)讀操作將極大地影響性能;對(duì)于擁有多個(gè)通道的視頻服務(wù)器而言,隨時(shí)引入的命令將影響輸出的實(shí)時(shí)性,甚至播出質(zhì)量。傳統(tǒng)的文件系統(tǒng)使用標(biāo)準(zhǔn)的文件格式,且由多個(gè)文件組成,增加了硬盤(pán)的尋址次數(shù),極大地影響存儲(chǔ)系統(tǒng)的性能;這些文件往往不支持流傳輸;存在多種格式文件并存而且大小相差懸殊的情況,這樣加快產(chǎn)生硬盤(pán)碎塊,也使存儲(chǔ)系統(tǒng)性能下降很多,給穩(wěn)定播出留下很多隱患。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供一種媒體文件系統(tǒng)的建立方法,該媒體文件系統(tǒng)能夠保證視頻服務(wù)器等視頻設(shè)備實(shí)時(shí)工作,提高硬盤(pán)存儲(chǔ)系統(tǒng)的讀取性能,提高單臺(tái)視頻服務(wù)器擁有的通道數(shù)量,特別適合多媒體等視頻文件的存儲(chǔ)。
為達(dá)到以上目的,本發(fā)明采用的技術(shù)方案是一種媒體文件系統(tǒng)的建立方法,包括以下步驟(1)首先確立磁盤(pán)上媒體文件的存儲(chǔ)方式,即將磁盤(pán)劃分為區(qū),包括系統(tǒng)區(qū)、索引區(qū)和數(shù)據(jù)區(qū),基本磁盤(pán)分配單位是塊;(2)然后在磁盤(pán)上媒體文件系統(tǒng)中以圖像組為單位保存媒體文件,媒體文件的存儲(chǔ)單位是數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊保存一個(gè)圖像組數(shù)據(jù),并與磁盤(pán)索引區(qū)的索引項(xiàng)對(duì)應(yīng)。
更進(jìn)一步,步驟(1)中,該文件系統(tǒng)的磁盤(pán)數(shù)據(jù)采用以下方式分布一個(gè)磁盤(pán)內(nèi)包含系統(tǒng)塊、索引塊和數(shù)據(jù)塊,系統(tǒng)區(qū)包含系統(tǒng)的布局、文件數(shù)量、塊的數(shù)量和空余磁盤(pán)塊鏈表的起始位置,索引區(qū)包含文件條目和文件的索引,文件條目包含文件的基本信息和塊索引,基本信息里包含文件元數(shù)據(jù)信息,所有已分配的數(shù)據(jù)塊和可分配的數(shù)據(jù)塊構(gòu)成數(shù)據(jù)區(qū)。
更進(jìn)一步,為使本發(fā)明獲得更好地發(fā)明效果,步驟(2)中,數(shù)據(jù)塊內(nèi)的數(shù)據(jù)包括視頻數(shù)據(jù)和音頻數(shù)據(jù)。每個(gè)塊都可以獨(dú)立解碼。數(shù)據(jù)塊內(nèi)的數(shù)據(jù)依次包含數(shù)據(jù)索引、視頻數(shù)據(jù)、音頻數(shù)據(jù),塊內(nèi)頭字節(jié)包含塊內(nèi)幀索引、音頻索引,這些索引由偏移量和數(shù)據(jù)大小組成。
更進(jìn)一步,步驟(2)中在磁盤(pán)上建立數(shù)據(jù)塊采用如下方法進(jìn)行首先確定圖像組的大小,然后再根據(jù)固定比特率確定數(shù)據(jù)塊大小,數(shù)據(jù)塊的索引記錄在磁盤(pán)的索引塊中。數(shù)據(jù)塊的大小要大于最大圖像組的數(shù)據(jù)大小。
更進(jìn)一步,步驟(2)中,磁盤(pán)索引區(qū)的索引項(xiàng)與數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系是每個(gè)索引區(qū)的索引項(xiàng)索引一個(gè)數(shù)據(jù)塊,即索引一個(gè)完整的圖像組及其音頻內(nèi)容,所述的圖像組最好為壓縮圖像組。
更進(jìn)一步,所述的圖像組為壓縮后的圖像組,且圖像組越大,本系統(tǒng)的性能比傳統(tǒng)文件系統(tǒng)的性能越高。
本發(fā)明的效果在于采用本發(fā)明所述方法建立起來(lái)的媒體文件系統(tǒng),可以使視頻服務(wù)器等視頻設(shè)備長(zhǎng)時(shí)間穩(wěn)定地工作,大大提高硬盤(pán)存儲(chǔ)系統(tǒng)的讀取性能,并提高單臺(tái)視頻服務(wù)器擁有的通道數(shù)量。因此本發(fā)明可以廣泛地應(yīng)用于多媒體等視頻文件的存儲(chǔ)。
本發(fā)明之所以具有上述效果,主要是因?yàn)榘衙襟w文件的讀寫(xiě)特征與磁盤(pán)的存儲(chǔ)特征緊密結(jié)合,同時(shí)該系統(tǒng)無(wú)需特別的音頻文件,可以更快地讀取文件,減少硬盤(pán)尋址次數(shù),大大減少硬盤(pán)碎塊。這樣既避免了音頻視頻交錯(cuò)格式(avi)的索引分布于文件中,難于檢索,又解決運(yùn)動(dòng)圖像專(zhuān)家組制定的格式(mepg)中沒(méi)有索引的缺點(diǎn),提高視頻文件的可用性;也避免了這些文件跨塊存儲(chǔ)的缺點(diǎn)。
圖1是磁盤(pán)分布示意圖;圖2是采用本發(fā)明所述方法建立起來(lái)的媒體文件系統(tǒng)存儲(chǔ)媒體文件的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施方式
對(duì)本發(fā)明做進(jìn)一步的描述一種媒體文件系統(tǒng)的建立方法,包括以下步驟(1)首先確立磁盤(pán)上媒體文件的存儲(chǔ)方式,即將磁盤(pán)劃分為區(qū),包括系統(tǒng)區(qū)、索引區(qū)和數(shù)據(jù)區(qū),基本磁盤(pán)分配單位是塊;(2)然后在磁盤(pán)上媒體文件系統(tǒng)中以圖像組為單位保存媒體文件,媒體文件的存儲(chǔ)單位是數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊保存一個(gè)圖像組數(shù)據(jù),并與磁盤(pán)索引區(qū)的索引項(xiàng)對(duì)應(yīng)。
如圖1所示,上層矩形表示整個(gè)磁盤(pán)的分布,從圖1可看出最初的磁盤(pán)為系統(tǒng)區(qū)1和索引區(qū)2,其他部分為數(shù)據(jù)區(qū)3。數(shù)據(jù)區(qū)3中每個(gè)數(shù)據(jù)塊包含一個(gè)圖像組,用下層的矩形表示,每個(gè)數(shù)據(jù)塊都由頭部的幀和音頻索引4、數(shù)據(jù)部分5構(gòu)成。本實(shí)施例中的圖像組為壓縮后的圖像組。
本實(shí)施例中,媒體文件系統(tǒng)的磁盤(pán)數(shù)據(jù)采用以下方式分布根據(jù)功能不同將磁盤(pán)劃分為區(qū),具體磁盤(pán)分布包括系統(tǒng)區(qū)、索引區(qū)和數(shù)據(jù)區(qū)?;敬疟P(pán)分配單位是塊。系統(tǒng)區(qū)包含系統(tǒng)的布局、文件數(shù)量、塊的數(shù)量和空余磁盤(pán)塊鏈表的起始位置,索引區(qū)包含文件條目和文件的索引,文件條目包含文件的基本信息和塊索引,基本信息里包含文件元數(shù)據(jù)信息,所有已分配的數(shù)據(jù)塊和可分配的數(shù)據(jù)塊構(gòu)成數(shù)據(jù)區(qū)。
媒體文件系統(tǒng)在功能上有別于其他存儲(chǔ)系統(tǒng),磁盤(pán)作為一種獨(dú)立的存儲(chǔ)結(jié)構(gòu)存在。媒體文件系統(tǒng)由索引部分和數(shù)據(jù)部分組成系統(tǒng)區(qū)1包括視頻文件系統(tǒng)的布局,文件數(shù)量,塊的數(shù)量和空余磁盤(pán)塊鏈表的起始位置。
索引節(jié)點(diǎn)分為文件項(xiàng)節(jié)點(diǎn)和地址節(jié)點(diǎn)兩種,均為固定長(zhǎng)度128個(gè)字節(jié)。文件項(xiàng)節(jié)點(diǎn)部分,依順序分別為索引部分包括8字節(jié)文件名、64字節(jié)的文件長(zhǎng)度、8字節(jié)創(chuàng)建時(shí)間、44字節(jié)的保留空間,最后4字節(jié)為地址塊的索引。
地址節(jié)點(diǎn)以0X00000001共四字節(jié)開(kāi)始;隨后是按文件順序排列塊地址索引,每個(gè)塊地址索引四個(gè)字節(jié),共30個(gè),同文件項(xiàng)節(jié)點(diǎn)最后4字節(jié)為地址塊的索引。當(dāng)?shù)刂匪饕秊?X00000000時(shí)文件結(jié)束。
本實(shí)施例中,數(shù)據(jù)塊內(nèi)數(shù)據(jù)包括視頻數(shù)據(jù)和音頻數(shù)據(jù)。每個(gè)塊都可以獨(dú)立解碼。數(shù)據(jù)塊內(nèi)數(shù)據(jù)依次包含數(shù)據(jù)索引、視頻數(shù)據(jù)、音頻數(shù)據(jù),塊內(nèi)頭字節(jié)包含塊內(nèi)幀索引、音頻索引,這些索引由偏移量、數(shù)據(jù)大小和時(shí)間碼共16位組成;在數(shù)據(jù)塊的數(shù)據(jù)段起始為該塊內(nèi)幀塊和音頻塊的索引,包括每一幀的起始地址、幀大小和該幀的時(shí)間碼,音頻數(shù)據(jù)索引作為一幀的索引緊跟在其后,這樣如果系統(tǒng)定義了圖像組大小為n,那么在每個(gè)塊索引里包含了n+1個(gè)索引點(diǎn)。每個(gè)塊存儲(chǔ)了一個(gè)圖像組的視頻數(shù)據(jù)和與此時(shí)間段對(duì)應(yīng)的音頻數(shù)據(jù)。
另外,在本實(shí)施例中所述的文件系統(tǒng)適用于對(duì)多媒體素材有統(tǒng)一壓縮方法的環(huán)境,尤其是在有幀間壓縮的情況下,效果更好。磁盤(pán)上建立塊與圖像組的對(duì)應(yīng)關(guān)系時(shí),采用如下方法進(jìn)行,具體步驟如下首先確定圖像組的大小為N幀,然后再根據(jù)固定比特率B確定數(shù)據(jù)塊大小,塊的索引記錄在磁盤(pán)的索引塊中。
數(shù)據(jù)塊的大小等于((N/25)*B+(N/25)*48K+N*16)/512+1)*512。
上述式子中,(N/25)*B是視頻部分長(zhǎng)度,(N/25)*48K是音頻部分長(zhǎng)度,N*16是索引和時(shí)間碼部分的長(zhǎng)度。512是硬盤(pán)存取的最小單位,系統(tǒng)劃分的塊長(zhǎng)度是512的整數(shù)倍。
如圖2所示,采用本發(fā)明所述方法建立起來(lái)的媒體文件系統(tǒng)存儲(chǔ)媒體文件時(shí),首先在使用磁盤(pán)前,依據(jù)用戶所選擇的壓縮參數(shù),根據(jù)上述公式確定磁盤(pán)塊的大小,并格式化磁盤(pán)。
其次,在使用中對(duì)于非讀寫(xiě)命令,創(chuàng)建或刪除文件,在索引塊內(nèi),保存或刪除文件占用的磁盤(pán)塊信息,并修改系統(tǒng)塊內(nèi)的與該文件相關(guān)的內(nèi)容,完成文件的創(chuàng)建和磁盤(pán)分配。
對(duì)于讀命令,先計(jì)算用戶欲訪問(wèn)幀所在的圖像組。對(duì)于磁盤(pán)緩存里沒(méi)有的數(shù)據(jù)從磁盤(pán)中讀取該圖像組;對(duì)于磁盤(pán)緩存已有的數(shù)據(jù),根據(jù)該數(shù)據(jù)塊頭部的索引信息找到幀數(shù)據(jù),并返回給用戶。
對(duì)于寫(xiě)命令,把從用戶接受到的數(shù)據(jù)緩存在磁盤(pán),同時(shí)生成索引信息,待到接受完整個(gè)圖像組后,把該圖像組的索引和數(shù)據(jù)一次寫(xiě)入磁盤(pán),最后在磁盤(pán)的索引塊中登記該磁盤(pán)塊的使用。
本發(fā)明所述的方法并不限于具體實(shí)施方式
中所述的實(shí)施例,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出其他的實(shí)施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范圍。
權(quán)利要求
1.一種媒體文件系統(tǒng)的建立方法,包括以下步驟(1)首先確立磁盤(pán)上媒體文件的存儲(chǔ)方式,即將磁盤(pán)劃分為區(qū),包括系統(tǒng)區(qū)、索引區(qū)和數(shù)據(jù)區(qū),基本磁盤(pán)分配單位是塊;(2)然后在磁盤(pán)上媒體文件系統(tǒng)中以圖像組為單位保存媒體文件,媒體文件的存儲(chǔ)單位是數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊保存一個(gè)圖像組數(shù)據(jù),并與磁盤(pán)索引區(qū)的索引項(xiàng)對(duì)應(yīng)。
2.如權(quán)利要求1所述的一種媒體文件系統(tǒng)的建立方法,其特征是步驟(1)中,該文件系統(tǒng)的磁盤(pán)數(shù)據(jù)采用以下方式分布系統(tǒng)區(qū)包含系統(tǒng)的布局、文件數(shù)量、塊的數(shù)量和空余磁盤(pán)塊鏈表的起始位置,索引區(qū)包含文件條目和文件的索引,文件條目包含文件的基本信息和塊索引,基本信息里包含文件元數(shù)據(jù)信息,所有已分配的數(shù)據(jù)塊和可分配的數(shù)據(jù)塊構(gòu)成數(shù)據(jù)區(qū)。
3.如權(quán)利要求1所述的一種媒體文件系統(tǒng)的建立方法,其特征是步驟(2)中所述的數(shù)據(jù)塊內(nèi)包括視頻數(shù)據(jù)和音頻數(shù)據(jù),每個(gè)數(shù)據(jù)塊都獨(dú)立解碼,數(shù)據(jù)塊內(nèi)的數(shù)據(jù)依次包含數(shù)據(jù)索引、時(shí)間碼、視頻數(shù)據(jù)、音頻數(shù)據(jù),塊內(nèi)頭字節(jié)包含塊內(nèi)幀索引、音頻索引,這些索引由偏移量和數(shù)據(jù)大小組成。
4.如權(quán)利要求3所述的一種媒體文件系統(tǒng)的建立方法,其特征是步驟(2)中在磁盤(pán)上建立數(shù)據(jù)塊采用如下方法進(jìn)行首先確定圖像組的大小,然后再根據(jù)固定比特率確定數(shù)據(jù)塊大小,數(shù)據(jù)塊的索引記錄在磁盤(pán)的索引塊中,數(shù)據(jù)塊的大小要大于最大圖像組的數(shù)據(jù)大小。
5.如權(quán)利要求1或2所述的一種媒體文件系統(tǒng)的建立方法,其特征是步驟(2)中,磁盤(pán)索引區(qū)的索引項(xiàng)與數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系是每個(gè)索引區(qū)的索引項(xiàng)索引一個(gè)數(shù)據(jù)塊,即索引一個(gè)完整的圖像組及其音頻內(nèi)容。
6.如權(quán)利要求4所述的一種媒體文件系統(tǒng)的建立方法,其特征是步驟(2)中,磁盤(pán)索引區(qū)的索引項(xiàng)與數(shù)據(jù)塊的對(duì)應(yīng)關(guān)系是每個(gè)索引區(qū)的索引項(xiàng)索引一個(gè)數(shù)據(jù)塊,即索引一個(gè)完整的圖像組及其音頻內(nèi)容。
7.如權(quán)利要求1或2所述的一種媒體文件系統(tǒng)的建立方法,其特征是所述的圖像組為壓縮后的圖像組。
8.如權(quán)利要求5所述的一種媒體文件系統(tǒng)的建立方法,其特征是所述的圖像組為壓縮后的圖像組。
全文摘要
本發(fā)明涉及一種媒體文件系統(tǒng)的建立方法,屬于多媒體文件的計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域。現(xiàn)有文件系統(tǒng)在讀寫(xiě)操作方面,尤其是同時(shí)存在多個(gè)流的環(huán)境下,不能滿足實(shí)時(shí)性要求。媒體文件存儲(chǔ)系統(tǒng)的性能也因使用標(biāo)準(zhǔn)的文件格式受到極大地影響,這樣的文件格式往往不支持流傳輸,而且容易產(chǎn)生硬盤(pán)碎塊。本發(fā)明所述媒體文件系統(tǒng),通過(guò)把相關(guān)的多媒體文件信息集成到該媒體文件系統(tǒng)里,提出圖像組作為磁盤(pán)讀寫(xiě)的基本單位,避免了傳統(tǒng)文件系統(tǒng)中的缺陷。采用本發(fā)明所述的方法,多媒體文件的讀取效率有很大提高,能夠保證播出過(guò)程持續(xù)穩(wěn)定,提高了在視頻應(yīng)用中數(shù)據(jù)的吞吐量,同時(shí),提高了磁盤(pán)高速緩存的命中率,能夠增加設(shè)備支持的視頻通道數(shù)量。
文檔編號(hào)G06F12/02GK1702633SQ20051008412
公開(kāi)日2005年11月30日 申請(qǐng)日期2005年7月8日 優(yōu)先權(quán)日2005年7月8日
發(fā)明者韓仲陽(yáng), 張魯平 申請(qǐng)人:北京北大方正電子有限公司, 北京大學(xué)