一種基于文件的緩存方法和裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種基于文件的緩存方法和裝置,該方法包括:存儲用戶打開的文件的句柄和必要的數(shù)據(jù)到公用數(shù)據(jù)區(qū);在文件數(shù)據(jù)上設(shè)置唯一的標識,并在數(shù)據(jù)緩存區(qū)中存儲所述標識。該裝置包括:文件緩存模塊,用于存儲用戶打開的文件的句柄和必要的數(shù)據(jù);文件數(shù)據(jù)緩存模塊,用于存儲所述數(shù)據(jù)的唯一標識。通過本發(fā)明的實施例,可以減少對文件進行反復(fù)的打開、關(guān)閉、重復(fù)讀取的操作,從而進一步提高了文件的利用率和文件數(shù)據(jù)的讀取效率。
【專利說明】一種基于文件的緩存方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視音頻制作領(lǐng)域,尤其是涉及一種視音頻后期處理過程中對文件進行緩存的方法和裝置。
【背景技術(shù)】
[0002]隨著計算機技術(shù)和集成電路技術(shù)的不斷進步,線性編輯系統(tǒng)(用于錄像帶和膠卷的系統(tǒng))已經(jīng)非常陳舊,目前已被以計算機硬件平臺、視音頻處理卡和大規(guī)模數(shù)字存儲載體為基礎(chǔ)的非線性編輯系統(tǒng)所取代。
[0003]非線性編輯系統(tǒng)是計算機和數(shù)字化電視技術(shù)相結(jié)合的產(chǎn)物,它基本上是由計算機加視音頻處理卡并配以相應(yīng)的非線性編輯軟件組成。數(shù)字非線性編輯技術(shù)應(yīng)用在視頻節(jié)目制作過程中具有編輯功能強大,操作方便快捷等特點,因此被廣泛用于電視節(jié)目的制作中。其中,非線性編輯系統(tǒng)中的“非線性”是指不以線性方式為工作流程,即它突破了以往在線性工作環(huán)境下操作者必須以節(jié)目時間先后為順序的操作模式。在非線性工作方式下,操作者可以自由地選擇工作對象,不必以時間先后為順序。簡單說,就是剪輯時不用像編輯磁帶那樣來回地快進或是到帶來搜尋畫面。
[0004]因為非線性編輯系統(tǒng)存在上述巨大優(yōu)勢,因此很快在電視臺的節(jié)目制作中得到了廣泛的應(yīng)用。通過非線性編輯系統(tǒng)的應(yīng)用,電視臺編輯人員得到的最終節(jié)目就是一個非線性編輯系統(tǒng)的工程文件,在該工程文件中記錄了節(jié)目中所有引用的素材:視音頻素材、字幕素材和特技等,及這些素材的組織形式。正如經(jīng)常在電視中看到的,電視臺中的各個節(jié)目中每期節(jié)目的片頭、字幕、特技和片尾都有一個統(tǒng)一的形式,因此前期節(jié)目往往對后面的節(jié)目具有很大的參考價值。在進行當前節(jié)目的制作時,常常需要對前期節(jié)目所生成的工程文件進行重復(fù)使用,調(diào)取上述內(nèi)容。
[0005]然而發(fā)明人在實現(xiàn)本發(fā)明時發(fā)現(xiàn)現(xiàn)有技術(shù)中存在如下技術(shù)缺陷:
[0006]在利用非線性編輯軟件及視音頻后期特效處理與合成軟件制作廣告、片花、電影等的過程中,經(jīng)常需要高效讀取大量的文件,這就要求盡可能的用最快的速度讀取文件,傳統(tǒng)的方法一般是打開文件,使用系統(tǒng)提供的異步讀取文件的方法進行讀取文件數(shù)據(jù),然后關(guān)閉文件。這樣雖然提高了數(shù)據(jù)讀取時的速度,但是重復(fù)使用文件或者多次回放同一段的時候,用傳統(tǒng)的方法就會多次打開,關(guān)閉同一個文件,重復(fù)讀取數(shù)據(jù)。打開,關(guān)閉文件,從磁盤讀取數(shù)據(jù),這些操作是一個比較花費時間的過程,進一步造成文件數(shù)據(jù)的讀取效率過低。如何減少打開文件和關(guān)閉文件的次數(shù),減少重復(fù)讀取,提高文件利用率,提高文件數(shù)據(jù)的讀取效率亟待解決。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例要解決的問題是提供一種基于文件的緩存方法和裝置,用于減少反復(fù)打開文件和關(guān)閉文件的次數(shù),減少重復(fù)讀取數(shù)據(jù)。
[0008]為達到上述目的,本發(fā)明實施例提供一種基于文件的緩存方法裝置,其特征在于,[0009]存儲用戶打開的文件的句柄和必要的數(shù)據(jù)到公用數(shù)據(jù)區(qū);
[0010]在文件數(shù)據(jù)上設(shè)置唯一的標識,并在數(shù)據(jù)緩存區(qū)中存儲所述標識。
[0011]同時,本發(fā)明實施例還提供了一種基于文件的緩存裝置,包括:
[0012]文件緩存模塊,用于存儲用戶打開的文件的句柄和必要的數(shù)據(jù);
[0013]文件數(shù)據(jù)緩存模塊,用于存儲所述數(shù)據(jù)的唯一標識。
[0014]本發(fā)明的技術(shù)方案具有以下優(yōu)點,本發(fā)明實施例通過存儲用戶打開的文件的句柄和必要的數(shù)據(jù)到公用數(shù)據(jù)區(qū),使用戶通過公用數(shù)據(jù)區(qū)可以直接找到所需要的文件,并通過數(shù)據(jù)緩存區(qū)中對文件數(shù)據(jù)標識的存儲,可以使用戶直接找到需要的數(shù)據(jù),不用對文件再進行反復(fù)的打開、關(guān)閉、重復(fù)讀取的操作,從而進一步提高了文件的利用率和文件數(shù)據(jù)的讀取效率。
【專利附圖】
【附圖說明】
[0015]為了更清楚的說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖做簡單的介紹,顯而易見的,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明實施例中的一種基于文件的緩存方法的流程圖;
[0017]圖2為本發(fā)明實施例中的一種基于文件的緩存方法的具體流程圖;
[0018]圖3為本發(fā)明實施例中的針對文件進行緩存的流程圖;
[0019]圖4為本發(fā)明實施例中的針對文件數(shù)據(jù)進行緩存的流程圖;
[0020]圖5為本發(fā)明實施例的中一種基于文件的緩存裝置圖。
【具體實施方式】
[0021]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0022]本發(fā)明實施例提出了一種基于文件的緩存方法和裝置,可以實現(xiàn)減少打開文件和關(guān)閉文件的次數(shù),減少重復(fù)讀取,提高文件利用率,提高文件數(shù)據(jù)的讀取效率。
[0023]下面結(jié)合附圖和具體實施例對本發(fā)明實施例提供的一種基于文件的緩存方法進行詳細說明。
[0024]本發(fā)明實施例提供一種基于文件的緩存方法流程圖,如圖1所示,包括:
[0025]步驟S101,打開文件,存儲用戶打開文件的句柄和必要的數(shù)據(jù)到公用數(shù)據(jù)區(qū),當再次需要打開文件時在公用數(shù)據(jù)區(qū)找到必要的數(shù)據(jù)和文件句柄,直接讀取需要的文件。
[0026]步驟S102,在文件數(shù)據(jù)上設(shè)置唯一的標識,并在數(shù)據(jù)緩存區(qū)中存儲該標識,當需要讀取該數(shù)據(jù)時,在數(shù)據(jù)緩存區(qū)中查找該標識,如果找到則讀取數(shù)據(jù)。
[0027]下面通過具體實施例對本發(fā)明提供的一種基于文件的緩存方法進行詳細說明,如圖2所示,具體包括:
[0028]步驟S201,打開文件,第一次成功打開文件時,以文件的路徑名為索引把當前文件的句柄和讀取該文件需要的必要數(shù)據(jù)存儲到公用數(shù)據(jù)區(qū)中。
[0029]當前文件的句柄是對于當前打開的文件的唯一識別依據(jù),必要數(shù)據(jù)包括當前文件的長度,文件數(shù)據(jù)格式,畫面大小,文件幀率等,當前文件的句柄與文件的必要數(shù)據(jù)一起構(gòu)成了當前文件的唯一標識,存儲到公用數(shù)據(jù)區(qū)中,公用數(shù)據(jù)區(qū)是以文件的路徑名為索引的鏈表,通過公用數(shù)據(jù)區(qū)中存儲的該文件的標識,可以直接打開當前文件。
[0030]步驟S202,在公用數(shù)據(jù)區(qū)中查找當前文件是否已經(jīng)被打開了,如果已經(jīng)打開則從公用數(shù)據(jù)區(qū)中直接找到文件的信息;如果沒有被打開,則執(zhí)行步驟S203。
[0031]步驟S203,打開物理文件。
[0032]步驟S204,將上述物理文件的句柄和必要數(shù)據(jù)存儲到公用數(shù)據(jù)區(qū)。使用戶可以通過公用數(shù)據(jù)區(qū)查找到需要的文件并可以直接讀取文件中的數(shù)據(jù)。
[0033]步驟S205,讀取數(shù)據(jù),計算當前的數(shù)據(jù)在文件中的唯一標識。
[0034]步驟S206,根據(jù)所述標識在數(shù)據(jù)緩存區(qū)中查找和所述標識相同的數(shù)據(jù),如果找到則返回當前數(shù)據(jù);如果沒有找到則執(zhí)行步驟S105。
[0035]步驟S207,從文件中讀取數(shù)據(jù),
[0036]步驟S208,對該數(shù)據(jù)設(shè)置唯一的標識標記到該段數(shù)據(jù)上,并將該標識存儲到數(shù)據(jù)緩存區(qū)中,以便下次讀取該數(shù)據(jù)時,從數(shù)據(jù)緩存區(qū)中可以直接讀取。
[0037]步驟S209,返回數(shù)據(jù)。
[0038]如圖3所示,為本發(fā)明針對文件進行緩存的流程圖:
[0039]在本發(fā)明實施例中,為了減少同一個文件在重復(fù)利用的時候打開次數(shù)。在第一次成功打開文件的時候,以文件的路徑名為索引把當前文件的句柄和讀取這個文件需要的必要數(shù)據(jù)存儲到一個公用數(shù)據(jù)區(qū)。當我們下次再需要這個文件的時候,就不需要去真正執(zhí)行打開文件的操作,只需要按照文件名到公用數(shù)據(jù)區(qū)找到必要的數(shù)據(jù)和文件句柄就可以直接讀取這個文件的數(shù)據(jù)了,這樣節(jié)省了再次打開文件需要的時間。
[0040]如圖4所示,為本發(fā)明針對文件數(shù)據(jù)進行緩存的流程圖
[0041]當需要讀取數(shù)據(jù)時,先計算當前需要的數(shù)據(jù)在文件中唯一標識,根據(jù)所述標示在數(shù)據(jù)緩存區(qū)查找和當前標示相同的數(shù)據(jù),如果查找不到再從文件中去讀取這段數(shù)據(jù),數(shù)據(jù)從文件中讀取后,設(shè)置一個唯一標示標記到這段數(shù)據(jù)上,并將該標識存儲到數(shù)據(jù)緩存區(qū)中,以便下次使用時方便查找和使用。
[0042]上述實施例中,通過公用數(shù)據(jù)區(qū),使用戶可以直接找到所需要的文件,并通過數(shù)據(jù)緩存區(qū)中對文件數(shù)據(jù)標識的存儲,可以使用戶直接找到需要的數(shù)據(jù),不用對文件在進行反復(fù)的打開、關(guān)閉、重復(fù)讀取的操作,從而進一步提高了文件的利用率和文件數(shù)據(jù)的讀取效率。
[0043]同時,為實現(xiàn)本發(fā)明實施例提供的一種基于文件的緩存方法,本發(fā)明實施例還提供了一種基于文件的緩存裝置,如圖5所示,包括:
[0044]文件緩存模塊501,用于存儲用戶打開的文件的句柄和必要的數(shù)據(jù);
[0045]文件數(shù)據(jù)緩存模塊502,用于存儲所述數(shù)據(jù)的唯一標識。
[0046]該裝置還包括:
[0047]文件標識添加模塊503,用于在公用數(shù)據(jù)區(qū)中添加物理文件的句柄和必要數(shù)據(jù);
[0048]文件數(shù)據(jù)標識計算模塊504,用于計算文件數(shù)據(jù)的唯一標識;[0049]文件數(shù)據(jù)標識添加模塊505,用于在數(shù)據(jù)緩存區(qū)中添加數(shù)據(jù)唯一標識。
[0050]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是⑶-R0M,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0051]以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種基于文件的緩存方法,用于減少文件的反復(fù)打開的次數(shù)提高文件的利用率,其特征在于, 打開文件,將所述打開文件的句柄和必要的數(shù)據(jù)到存儲到公用數(shù)據(jù)區(qū); 讀取所述文件的數(shù)據(jù),在所述文件數(shù)據(jù)上設(shè)置唯一的標識,并將所述標識存儲在數(shù)據(jù)緩存區(qū)中。
2.如權(quán)利要求1所述一種基于文件的緩存方法,其特征在于,所述將所述打開文件的句柄和必要的數(shù)據(jù)到存儲到公用數(shù)據(jù)區(qū),還包括: 在公用數(shù)據(jù)區(qū)中查找當前文件是否已經(jīng)被打開,如果所述文件打開則從公用數(shù)據(jù)區(qū)中直接找到文件的信息,進行讀取數(shù)據(jù); 如果所述文件未打開,則打開物理文件,并將所述文件的句柄和必要的數(shù)據(jù)存儲到公用數(shù)據(jù)區(qū)。
3.如權(quán)利要求1所述一種基于文件的緩存方法,其特征在于,還包括: 所述文件的句柄是對所述打開文件的唯一識別依據(jù); 所述必要數(shù)據(jù)包括當前文件的長度、文件數(shù)據(jù)格式、畫面大小、文件幀率等。
4.如權(quán)利要求1所述一種基于文件的緩存方法,其特征在于,在所述文件數(shù)據(jù)上設(shè)置唯一的標識,并將所述標識存儲在數(shù)據(jù)緩存區(qū)中之前,還包括:根據(jù)所述標識在所述數(shù)據(jù)緩存區(qū)中查找和所述標識相同的數(shù)據(jù)。
5.如權(quán)利要求4所述所述一種基于文件的緩存方法,其特征在于,根據(jù)所述標識在所述數(shù)據(jù)緩存區(qū)中查找和所述標識相同的數(shù)據(jù),其特征在于,還包括: 如果所述數(shù)據(jù)緩存區(qū)中存在與所述標識相同的數(shù)據(jù),則直接讀取數(shù)據(jù); 如果所述數(shù)據(jù)緩存區(qū)中未存在與所述標識相同的數(shù)據(jù),則從文件中讀取數(shù)據(jù),并設(shè)置一個所述數(shù)據(jù)的唯一標識存儲在數(shù)據(jù)緩存區(qū)中。
6.如權(quán)利要求1所述所述一種基于文件的緩存方法,其特征在于,在文件數(shù)據(jù)上設(shè)置唯一的標識,并在數(shù)據(jù)緩存區(qū)中存儲所述標識之后,其特征在于,還包括:返回所述數(shù)據(jù)。
7.一種基于文件的緩存裝置,其特征在于,包括: 文件緩存模塊,用于存儲用戶打開的文件的句柄和必要的數(shù)據(jù); 文件數(shù)據(jù)緩存模塊,用于存儲所述數(shù)據(jù)的唯一標識。
8.如權(quán)利要求7所述的裝置,其特征在于,還包括: 文件標識添加模塊,用于在公用數(shù)據(jù)區(qū)中添加物理文件的句柄和必要數(shù)據(jù); 文件數(shù)據(jù)標識計算模塊,用于計算文件數(shù)據(jù)的唯一標識; 文件數(shù)據(jù)標識添加模塊,用于在數(shù)據(jù)緩存區(qū)中添加數(shù)據(jù)唯一標識。
【文檔編號】G06F17/30GK103761227SQ201010617309
【公開日】2014年4月30日 申請日期:2010年12月31日 優(yōu)先權(quán)日:2010年12月31日
【發(fā)明者】劉鐵華, 徐進, 鄭鵬程, 見良 申請人:新奧特(北京)視頻技術(shù)有限公司