專利名稱:文件加載方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多媒體應(yīng)用領(lǐng)域,尤其涉及一種文件加載方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)及科技的進(jìn)步,電子終端變得越來越智能化和互聯(lián)網(wǎng)化,手機(jī)、電視、平板等終端產(chǎn)品越來越多,在電子終端上的各種網(wǎng)絡(luò)應(yīng)用也越來越多,而目前眾多的應(yīng)用都為了給用戶更加直觀的體驗(yàn)而需要經(jīng)常從網(wǎng)絡(luò)獲取一些文件顯示給用戶。雖然現(xiàn)在的電子終端越來越先進(jìn),應(yīng)用越來越多,然而由于網(wǎng)絡(luò)速度的限制,終端在網(wǎng)絡(luò)獲取大量文件并加載所耗費(fèi)的時(shí)間過長,加載效率較低
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種文件加載的方法及裝置,旨在解決現(xiàn)有的終端由于網(wǎng)絡(luò)速度的限制,從網(wǎng)絡(luò)獲取大量文件耗費(fèi)時(shí)間過長的問題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種文件加載方法,所述方法包括接收文件加載指令,所述文件加載指令攜帶待加載文件的文件信息;根據(jù)所述待加載文件的文件信息查詢內(nèi)存索引表,所述內(nèi)存索引表中包含從磁盤緩存預(yù)加載到內(nèi)存緩存中的文件的存儲位置信息和訪問次數(shù);若在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)查找到的存儲位置信息從所述內(nèi)存緩存中加載文件,并更新所述內(nèi)存索引表中文件的訪問次數(shù)。本發(fā)明實(shí)施例的另一目的在于提供一種文件加載裝置,所述終端包括指令接收單元,用于接收文件加載指令,所述文件加載指令攜帶待加載文件的文件信息;內(nèi)存查找單元,用于根據(jù)所述待加載文件的文件信息查詢內(nèi)存索引表,所述內(nèi)存索引表中包含從磁盤緩存預(yù)加載到內(nèi)存緩存中的文件的存儲位置信息和訪問次數(shù);內(nèi)存文件加載單元,用于若在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)查找到的存儲位置信息從所述內(nèi)存緩存中加載文件,并更新所述內(nèi)存索引表中文件的訪問次數(shù)。在本發(fā)明實(shí)施例中,在終端通過二級緩存文件的模式來存儲網(wǎng)絡(luò)下載的文件,由于內(nèi)存的訪問延時(shí)遠(yuǎn)小于磁盤緩存,因而對于已存儲在內(nèi)存緩存或磁盤緩存中的文件都能立即加載后顯示,而不需等待慢慢從網(wǎng)絡(luò)加載,尤其是當(dāng)文件存儲在內(nèi)存緩存中時(shí)基本可以快讀加載顯示文件,文件加載效率高、速度快,文件加載速度不用受網(wǎng)絡(luò)速度的限制,用戶體驗(yàn)良好。
圖I是本發(fā)明第一實(shí)施例提供的文件加載方法的流程圖;圖2是本發(fā)明第二實(shí)施例提供的文件加載方法的流程圖3是本發(fā)明第三實(shí)施例提供的文件加載方法的流程圖;圖4是本發(fā)明第四實(shí)施例提供的文件加載裝置的結(jié)構(gòu)示意圖;圖5是本發(fā)明第五實(shí)施例提供的文件加載裝置的結(jié)構(gòu)示意圖;圖6是本發(fā)明第六實(shí)施例提供的文件加載裝置的結(jié)構(gòu)示意圖;。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例提供一種文件加載方法,通過將從網(wǎng)絡(luò)下載的文件進(jìn)行二級緩存, 以便于用戶瀏覽文件時(shí),可以從緩存中盡快加載文件。為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。實(shí)施例一如圖I所示為本發(fā)明第一實(shí)施例提供的文件加載方法流程圖,為了便于說明,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分。在步驟SlOl中,預(yù)先創(chuàng)建存儲文件的磁盤緩存,并建立磁盤索引表。在本發(fā)明實(shí)施例中,預(yù)先在磁盤中創(chuàng)建一個(gè)文件夾(例如此處建立一個(gè)名為tcl_img_cache的文件夾)作為存儲文件的磁盤緩存,并且使用一個(gè)文件或者終端內(nèi)置的小型數(shù)據(jù)庫建立磁盤索引表用來記錄這些文件的索引,其中該磁盤索引表包括文件特征碼(如文件ID等),文件的URL (url),文件的存儲位置信息(如文件的讀取路徑(path)等),文件的訪問次數(shù)(num),最近訪問文件的時(shí)間(date)等。在磁盤索引表中,由于是對網(wǎng)絡(luò)文件進(jìn)行緩存,因此可使用文件的URL (url)作為文件索引的關(guān)鍵(key)值。在本發(fā)明實(shí)施例中,文件的類型包括但不限于網(wǎng)頁文件、圖片文件等。在本發(fā)明實(shí)施例中,創(chuàng)建磁盤緩存可以在應(yīng)用程序安裝時(shí)完成,初始創(chuàng)建后該磁盤緩存文件夾為空,后續(xù)從網(wǎng)絡(luò)下載一次文件,便將下載的文件存儲至磁盤緩存中。在步驟S102中,在應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存,將磁盤緩存中的文件預(yù)加載至所述內(nèi)存緩存,并建立內(nèi)存索引表。在本發(fā)明實(shí)施例中,終端啟動需要瀏覽網(wǎng)絡(luò)文件的應(yīng)用程序時(shí),在內(nèi)存中開辟出一塊空間作為存儲文件的內(nèi)存緩存,此塊內(nèi)存緩存區(qū)域和程序運(yùn)行的內(nèi)存區(qū)域不共享,由應(yīng)用程序控制該內(nèi)存緩存的回收利用及釋放。其中,所建立的內(nèi)存區(qū)域的大小由開發(fā)者根據(jù)應(yīng)用程序預(yù)先靈活設(shè)置。在本發(fā)明實(shí)施例中,內(nèi)存緩存創(chuàng)建好后,將若干磁盤緩存中的文件預(yù)加載至內(nèi)存緩存中,預(yù)加載的文件數(shù)量可以根據(jù)內(nèi)存緩存的大小所確定(如內(nèi)存緩存大小為5M,則預(yù)加載3M文件至內(nèi)存緩存中),并根據(jù)預(yù)加載的文件在內(nèi)存緩存建立內(nèi)存索引表,所述內(nèi)存索引表包括文件特征碼(如文件ID等),文件的URUurl ),文件的存儲位置信息(如文件的讀取路徑(path)等),文件的訪問次數(shù)(num),最近訪問文件的時(shí)間(date)等。在本實(shí)施例中,將磁盤緩存中的文件預(yù)加載至內(nèi)存緩存中的方法可以如下根據(jù)公式1^1/((^-4+1)計(jì)算出磁盤緩存中所有文件的訪問因子,將訪問因子最大的N個(gè)文件預(yù)加載至內(nèi)存緩存。其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,N為大于零的整數(shù)。在本發(fā)明實(shí)施例中,由上述公式來獲取預(yù)加載至內(nèi)存緩存的文件,其計(jì)算時(shí)間較短,不需耗費(fèi)太多的資源和時(shí)間,效率高且效果好。在步驟S103中,接收文件加載指令,該文件加載指令攜帶待加載文件的文件信
肩、O在本發(fā)明實(shí)施例中,文件加載指令攜帶的待加載文件的文件信息包括但不限于文件URL或文件特征碼等。文件加載指令可以在應(yīng)用程序啟動過程中發(fā)送。需要說明的是,待加載的文件信息可以來自于網(wǎng)絡(luò)側(cè)下發(fā),也可以在本地生成。在步驟S104中,根據(jù)待加載文件的文件信息查詢內(nèi)存索引表,判斷內(nèi)存索引表中是否存在待加載文件的文件信息對應(yīng)的存儲位置信息,是則執(zhí)行步驟S105,否則結(jié)束流程。
在本發(fā)明實(shí)施例中,由于內(nèi)存緩存中只存儲了部分磁盤緩存的文件,因而在查找時(shí)存在兩種情況,即查找到對應(yīng)的存儲位置信息和未查找到對應(yīng)的存儲位置信息。在步驟S105中,根據(jù)查找到的存儲位置信息,從內(nèi)存緩存中加載文件。在本發(fā)明實(shí)施例中,根據(jù)查找到的存儲位置信息,從內(nèi)存緩存中加載文件。當(dāng)從內(nèi)存緩存中加載文件加載指令指定的文件后,還可以更新內(nèi)存索引表中該文件的文件訪問次數(shù)信息及最近訪問文件的時(shí)間信息(如文件的訪問次數(shù)加一,更新最近訪問文件的時(shí)間)。在本發(fā)明實(shí)施例中,在終端通過二級緩存文件的模式來存儲網(wǎng)絡(luò)下載的文件,由于內(nèi)存的訪問延時(shí)遠(yuǎn)小于磁盤緩存,因而對于已存儲在內(nèi)存緩存中的文件基本可以快速加載顯示文件,文件加載效率高、速度快,且文件加載速度不用受網(wǎng)絡(luò)速度的限制,用戶體驗(yàn)良好。實(shí)施例二 如圖2所示為本發(fā)明第二實(shí)施例提供的文件加載方法流程圖,為了便于說明,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分。在步驟S201中,預(yù)先創(chuàng)建存儲文件的磁盤緩存,并建立磁盤索引表。在步驟S202中,在應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存,將磁盤緩存中的文件預(yù)加載至內(nèi)存緩存,并建立內(nèi)存索引表。在步驟S203中,接收文件加載指令,該文件加載指令攜帶待加載文件的文件信息。在步驟S204中,根據(jù)待加載文件的文件信息查詢內(nèi)存索引表,判斷內(nèi)存索引表中是否存在待加載文件的文件信息對應(yīng)的存儲位置信息,是則執(zhí)行步驟S205,否則執(zhí)行步驟S206。在本發(fā)明實(shí)施例中,當(dāng)內(nèi)存索引表中不存在待加載文件的文件信息時(shí),跳轉(zhuǎn)至步驟S206,查詢磁盤索引表。與實(shí)施例一中內(nèi)存索引表中不存在待加載文件的文件信息時(shí)結(jié)束操作流程不同。在步驟S205中,根據(jù)查找到的存儲位置信息,從內(nèi)存緩存中加載文件。在本發(fā)明實(shí)施例中,步驟S201-S205與步驟S101-S105的執(zhí)行過程類似,請參考實(shí)施例一中的描述。在步驟S206中,根據(jù)待加載文件的文件信息查詢磁盤索引表,判斷磁盤索引表中是否存在待加載文件的文件信息對應(yīng)的存儲位置信息,是則執(zhí)行步驟S207,否則執(zhí)行步驟S208。在本實(shí)施例中,由于磁盤緩存中存儲了上次下載的文件,因而在根據(jù)文件信息查找時(shí)存在兩種情況,即查找到文件信息對應(yīng)的存儲位置信息和未查找到對應(yīng)的存儲位置信息(需要從網(wǎng)絡(luò)下載)。在步驟S207中,根據(jù)查找到的存儲位置信息,從磁盤緩存中加載文件。在本發(fā)明實(shí)施例中,查找到存儲位置信息后從磁盤緩存中加載文件。在本實(shí)施例中,在從磁盤緩存加載文件加載指令指定的文件后,還可以將該文件存儲至內(nèi)存緩存,并在磁盤索弓丨表中更新該文件的訪問次數(shù)及最近訪問文件的時(shí)間信息(如文件的訪問次數(shù)加一,更新最近訪問文件的時(shí)間),并進(jìn)一步在內(nèi)存索引表中添加該文件相應(yīng)的信息,如該文件的特征碼,該文件的存儲位置信息,該文件的訪問次數(shù),該文件的最近訪問時(shí)間等。在本實(shí)施例中的,為了能及時(shí)的清理磁盤空間,當(dāng)達(dá)到預(yù)設(shè)的第二時(shí)間或磁盤緩存達(dá)到預(yù)設(shè)的大小時(shí),根據(jù)公式1^1/(4-4+1)計(jì)算出所述磁盤緩存中的文件的訪問因子,刪除訪問因子最小的X個(gè)文件,其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文 件的時(shí)間,X為大于零的整數(shù),預(yù)設(shè)的第二時(shí)間及預(yù)設(shè)的磁盤緩存大小由開發(fā)者預(yù)先設(shè)置。在步驟S208中,從網(wǎng)絡(luò)下載文件加載指令中文件信息對應(yīng)的文件,并將下載的文件存儲至磁盤緩存中,更新磁盤索引表。在本發(fā)明實(shí)施例中,將從網(wǎng)絡(luò)下載的文件存儲至內(nèi)存緩存及磁盤緩存中后,在磁盤索引表中添加該文件相應(yīng)的信息。在本發(fā)明實(shí)施例中,在終端通過二級緩存文件的模式來顯示網(wǎng)絡(luò)文件,對于已存儲在內(nèi)存緩存或磁盤緩存中的文件都能立即加載后顯示,而不需等待慢慢從網(wǎng)絡(luò)加載。此夕卜,通過在內(nèi)存緩存中不存在待加載的文件時(shí)從磁盤緩存或網(wǎng)絡(luò)獲取,進(jìn)一步提高了文件加載效率。實(shí)施例三如圖3所示為本發(fā)明第三實(shí)施例提供的文件加載方法流程圖,為了便于說明,僅不出了與本發(fā)明實(shí)施例相關(guān)的部分。在步驟S301中,預(yù)先創(chuàng)建存儲文件的磁盤緩存,并建立磁盤索引表。在步驟S302中,在應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存,將磁盤緩存中的文件預(yù)加載至內(nèi)存緩存,并建立內(nèi)存索引表。在步驟S303中,接收文件加載指令,該文件加載指令攜帶待加載文件的文件信
肩、O在步驟S304中,根據(jù)待加載文件的文件信息查詢內(nèi)存索引表,判斷內(nèi)存索引表中是否存在待加載文件的文件信息對應(yīng)的存儲位置信息,是則執(zhí)行步驟S305,否則執(zhí)行步驟S306。在步驟S305中,根據(jù)查找到的存儲位置信息,從內(nèi)存緩存中加載文件。在本發(fā)明實(shí)施例中,步驟S301-S305與步驟S101-S105及步驟S201-S205的執(zhí)行過程類似,其中步驟S304與步驟S204的跳轉(zhuǎn)有所不同,請參考實(shí)施例一及實(shí)施例二中的描述。在本發(fā)明實(shí)施例中,為了及時(shí)清理內(nèi)存緩存,節(jié)省空間,所述文件加載方法還包括在步驟S306中,當(dāng)滿足預(yù)設(shè)的條件時(shí),清理內(nèi)存緩存。具體為,當(dāng)達(dá)到預(yù)設(shè)的第一時(shí)間或內(nèi)存緩存達(dá)到預(yù)設(shè)的大小時(shí),根據(jù)公式n*l/(Cl1-Cl2+1)計(jì)算出所述內(nèi)存緩存中的文件的訪問因子,刪除訪問因子最小的M個(gè)文件,其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,M為大于零的整數(shù),預(yù)設(shè)的第一時(shí)間及預(yù)設(shè)的內(nèi)存緩存大小由開發(fā)者預(yù)先設(shè)置。當(dāng)終端應(yīng)用程序關(guān)閉,則釋放內(nèi)存緩存。
在本發(fā)明實(shí)施例中,由公式來決定內(nèi)存緩存的清理釋放,其計(jì)算時(shí)間較短,不需耗費(fèi)太多的資源和時(shí)間,效率高且效果好。需要說明的是,在從內(nèi)存中加載文件后,當(dāng)滿足預(yù)設(shè)的條件時(shí)清理內(nèi)存緩存的步驟也可以在實(shí)施例一、二中,而不限于實(shí)施例三中。實(shí)施例四圖4為本發(fā)明第四實(shí)施例提供的文件加載裝置的結(jié)構(gòu)示意圖,為了便于說明,僅不出了與本發(fā)明實(shí)施例相關(guān)的部份。磁盤緩存創(chuàng)建單元41,用于預(yù)先創(chuàng)建存儲文件的磁盤緩存,并建立磁盤索引表,磁盤索引表包含磁盤緩存中的文件的存儲位置信息和訪問次數(shù)。在本發(fā)明實(shí)施例中,磁盤索引表包括文件特征碼(如文件ID等),文件的URL(url),文件的存儲位置信息(如文件的讀取路徑(path)等),文件的訪問次數(shù)(num),最近訪問文件的時(shí)間(date )等。 內(nèi)存緩存創(chuàng)建單元42,用于在終端應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存,將磁盤緩存中的文件預(yù)加載至內(nèi)存緩存,并建立內(nèi)存索引表。在本發(fā)明實(shí)施例中,所述內(nèi)存緩存創(chuàng)建單元42包括緩存創(chuàng)建模塊421,用于在終端應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存。預(yù)加載模塊422,用于根據(jù)公式計(jì)算出磁盤緩存中所有文件的訪問因子,將訪問因子最大的N個(gè)文件預(yù)加載至內(nèi)存緩存。其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,N為大于零的整數(shù)。索引表建立模塊423,用于建立內(nèi)存索引表,內(nèi)存索引表包括文件特征碼(如文件ID等),文件的URL (url),文件的存儲位置信息(如文件的讀取路徑(path)等),訪問文件的次數(shù)(num),最近訪問文件的時(shí)間(date)等。指令接收單元43,用于接收文件加載指令,該文件加載指令攜帶待加載文件的文件信息。內(nèi)存查找單元44,用于根據(jù)待加載文件的文件信息查詢內(nèi)存索引表,內(nèi)存索引表中包含從磁盤緩存預(yù)加載到內(nèi)存緩存中的文件的存儲位置信息和訪問次數(shù);文件加載單元45,用于若在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)查找到的存儲位置信息從內(nèi)存緩存中加載文件,并更新內(nèi)存索引表中文件的訪問次數(shù)。本實(shí)施例四提供的文件加載裝置可以使用在前述對應(yīng)的實(shí)施例一中,詳情參見上述方法實(shí)施例的描述。在本發(fā)明實(shí)施例中,在終端通過二級緩存文件的模式來存儲網(wǎng)絡(luò)下載的文件,由于內(nèi)存的訪問延時(shí)遠(yuǎn)小于磁盤緩存,因而對于已存儲在內(nèi)存緩存或磁盤緩存中的文件都能立即加載后顯示,而不需等待慢慢從網(wǎng)絡(luò)加載,尤其是當(dāng)文件存儲在內(nèi)存緩存中時(shí)基本可以快讀加載顯示文件,文件加載效率高、速度快,文件加載速度不用受網(wǎng)絡(luò)速度的限制,用戶體驗(yàn)良好。
實(shí)施例五圖5為本發(fā)明第五實(shí)施例提供的文件加載裝置的結(jié)構(gòu)示意圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部份。與實(shí)施例四中的圖4相比,實(shí)施例五提供的圖5中,文件加載裝置中的文件加載單元45還可用于在磁盤索引表中查找到文件信息對應(yīng)的存儲位置信息時(shí),根據(jù)查找到的文件存儲位置信息從磁盤緩存中加載文件,并更新磁盤索引表中文件的訪問次數(shù)。此外,文件加載裝置還包括了ー個(gè)單元,即磁盤查找單元51。其中磁盤查找單元51,用于若未在內(nèi)存索引表中查找到文件信息對應(yīng)的存儲位置信息,則根據(jù)文件信息查詢磁盤索引表,磁盤索引表包含磁盤緩存中緩存的文件的存儲位置信息和訪問次數(shù)。文件加載單元45還用于在磁盤索引表中查找到文件信息對應(yīng)的存儲位置信息時(shí),根據(jù)查找到的文件存儲位置信息從磁盤緩存中加載文件,并更新磁盤索引表中文件的訪問次數(shù)。本實(shí)施例五提供的文件加載裝置可以使用在前述對應(yīng)的實(shí)施例ニ中,詳情參見上述方法實(shí)施例的描述。在本發(fā)明實(shí)施例中,在終端通過ニ級緩存文件的模式來顯示網(wǎng)絡(luò)文件,對于已存儲在內(nèi)存緩存或磁盤緩存中的文件都能立即加載后顯示,而不需等待慢慢從網(wǎng)絡(luò)加載。此外,通過在內(nèi)存緩存中不存在待加載的文件時(shí)從磁盤緩存或網(wǎng)絡(luò)獲取,進(jìn)ー步提高了文件加載效率。實(shí)施例六圖6為本發(fā)明第六實(shí)施例提供的文件加載裝置的結(jié)構(gòu)示意圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部份。實(shí)施例六提供的圖6與實(shí)施例四中提供的圖4及實(shí)施例五提供的圖5中的磁盤緩存創(chuàng)建單元41、內(nèi)存緩存創(chuàng)建單元42、指令接收單元43、內(nèi)存查找單元44及文件加載單元45相同,此外,圖6的文件加載裝置還多包括了兩個(gè)單元,即內(nèi)存緩存釋放單元61及內(nèi)存緩存清理單元62。其中內(nèi)存緩存釋放單元61,用于當(dāng)終端應(yīng)用程序關(guān)閉時(shí),釋放所述內(nèi)存緩存。內(nèi)存緩存清理單元62,用于當(dāng)達(dá)到預(yù)設(shè)的第一時(shí)間或內(nèi)存緩存達(dá)到預(yù)設(shè)的大小時(shí),根據(jù)公式計(jì)算出內(nèi)存緩存中的文件的訪問因子,刪除訪問因子最小的M個(gè)文件,其中,η為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,M為大于零的整數(shù)。在本發(fā)明實(shí)施例中,在終端通過ニ級緩存文件的模式來存儲網(wǎng)絡(luò)下載的文件,由于內(nèi)存的訪問延時(shí)遠(yuǎn)小于磁盤緩存,因而對于已存儲在內(nèi)存緩存或磁盤緩存中的文件都能立即加載后顯示,而不需等待慢慢從網(wǎng)絡(luò)加載,尤其是當(dāng)文件存儲在內(nèi)存緩存中時(shí)基本可以快讀加載顯示文件,文件加載效率高、速度快,且文件加載速度不用受網(wǎng)絡(luò)速度的限制,用戶體驗(yàn)良好。本實(shí)施例六提供的文件加載裝置可以使用在前述對應(yīng)的實(shí)施例ニ、三中,詳情參見上述方法實(shí)施例的描述。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲于ー計(jì)算機(jī)可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如R0M/RAM、磁盤、光盤等。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精、神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi) 。
權(quán)利要求
1.一種文件加載方法,其特征在于,所述方法包括 接收文件加載指令,所述文件加載指令攜帶待加載文件的文件信息; 根據(jù)所述待加載文件的文件信息查詢內(nèi)存索引表,所述內(nèi)存索引表中包含從磁盤緩存預(yù)加載到內(nèi)存緩存中的文件的存儲位置信息和訪問次數(shù); 若在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)查找到的存儲位置信息從所述內(nèi)存緩存中加載文件,并更新所述內(nèi)存索引表中文件的訪問次數(shù)。
2.如權(quán)利要求I所述的方法,其特征在于,在所述接收文件加載指令的步驟之前,所述方法還包括 預(yù)先創(chuàng)建存儲文件的磁盤緩存,并建立磁盤索引表,所述磁盤索引表包含所述磁盤緩存中的文件的存儲位置信息和訪問次數(shù); 在終端應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存,將所述磁盤緩存中的文件預(yù)加載至所述內(nèi)存緩存,并建立內(nèi)存索引表。
3.如權(quán)利要求2所述的方法,其特征在于,所述將磁盤緩存中的文件預(yù)加載至所述內(nèi)存緩存包括 根據(jù)公式MlAd1-C^l)計(jì)算出所述磁盤緩存中的文件的訪問因子; 將訪問因子最大的N個(gè)文件預(yù)加載至所述內(nèi)存緩存,其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,N為大于零的整數(shù)。
4.如權(quán)利要求I至3任一權(quán)利要求所述的方法,其特征在于,所述方法還包括 若未在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)所述文件信息查詢磁盤索引表,所述磁盤索引表包含磁盤緩存中緩存的文件的存儲位置信息和訪問次數(shù); 若在磁盤索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)查找到的文件存儲位置信息從所述磁盤緩存中加載文件,并更新所述磁盤索引表中文件的訪問次數(shù)。
5.如權(quán)利要求I所述的方法,其特征在于,在所述根據(jù)查找到的文件存儲位置信息從所述內(nèi)存緩存中加載文件之后,還包括 當(dāng)終端應(yīng)用程序關(guān)閉時(shí),釋放所述內(nèi)存緩存;或 當(dāng)達(dá)到預(yù)設(shè)的第一時(shí)間或內(nèi)存緩存達(dá)到預(yù)設(shè)的大小時(shí),根據(jù)公式MlAd1-C^l)計(jì)算出所述內(nèi)存緩存中的文件的訪問因子,刪除訪問因子最小的M個(gè)文件,其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,M為大于零的整數(shù)。
6.一種文件加載裝置,其特征在于,所述裝置包括 指令接收單元,用于接收文件加載指令,所述文件加載指令攜帶待加載文件的文件信息; 內(nèi)存查找單元,用于根據(jù)所述待加載文件的文件信息查詢內(nèi)存索引表,所述內(nèi)存索引表中包含從磁盤緩存預(yù)加載到內(nèi)存緩存中的文件的存儲位置信息和訪問次數(shù); 文件加載單元,用于若在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)查找到的存儲位置信息從所述內(nèi)存緩存中加載文件,并更新所述內(nèi)存索引表中文件的訪問次數(shù)。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括 磁盤緩存創(chuàng)建單元,用于預(yù)先創(chuàng)建存儲文件的磁盤緩存,并建立磁盤索引表,所述磁盤索引表包含所述磁盤緩存中的文件的存儲位置信息和訪問次數(shù); 內(nèi)存緩存創(chuàng)建單元,用于在終端應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存,將所述磁盤緩存中的文件預(yù)加載至所述內(nèi)存緩存,并建立內(nèi)存索引表。
8.如權(quán)利要求7所述的裝置,其特征在于,所述內(nèi)存緩存創(chuàng)建單元包括 緩存創(chuàng)建模塊,用于在終端應(yīng)用程序啟動時(shí)創(chuàng)建內(nèi)存緩存; 預(yù)加載模塊,用于根據(jù)公式計(jì)算出所述磁盤緩存中的文件的訪問因子,將訪問因子最大的N個(gè)文件預(yù)加載至所述內(nèi)存緩存,其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,N為大于零的整數(shù); 索引表建立模塊,用于建立內(nèi)存索引表。
9.如權(quán)利要求6至8任一權(quán)利要求所述的裝置,其特征在于,所述裝置還包括 磁盤查找單元,用于若未在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)所述文件信息查詢磁盤索引表,所述磁盤索引表包含磁盤緩存中緩存的文件的存儲位置信息和訪問次數(shù); 所述文件加載單元還用于在磁盤索引表中查找到所述文件信息對應(yīng)的存儲位置信息時(shí),根據(jù)查找到的文件存儲位置信息從所述磁盤緩存中加載文件,并更新所述磁盤索引表中文件的訪問次數(shù)。
10.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括 內(nèi)存緩存釋放單元,用于當(dāng)終端應(yīng)用程序關(guān)閉時(shí),釋放所述內(nèi)存緩存; 內(nèi)存緩存清理單元,用于當(dāng)達(dá)到預(yù)設(shè)的第一時(shí)間或內(nèi)存緩存達(dá)到預(yù)設(shè)的大小時(shí),根據(jù)公式計(jì)算出所述內(nèi)存緩存中的文件的訪問因子,刪除訪問因子最小的M個(gè)文件,其中,n為文件的訪問次數(shù),Cl1為當(dāng)前日期,d2為最近訪問文件的時(shí)間,M為大于零的整數(shù)。
全文摘要
本發(fā)明適用于多媒體應(yīng)用領(lǐng)域,提供了一種文件加載方法及裝置,所述方法包括接收文件加載指令,所述文件加載指令攜帶待加載文件的文件信息;根據(jù)所述待加載文件的文件信息查詢內(nèi)存索引表,所述內(nèi)存索引表中包含從磁盤緩存預(yù)加載到內(nèi)存緩存中的文件的存儲位置信息和訪問次數(shù);若在內(nèi)存索引表中查找到所述文件信息對應(yīng)的存儲位置信息,則根據(jù)查找到的存儲位置信息從所述內(nèi)存緩存中加載文件,并更新所述內(nèi)存索引表中文件的訪問次數(shù)。在終端通過二級緩存文件的模式來存儲網(wǎng)絡(luò)下載的文件,由于內(nèi)存的訪問延時(shí)遠(yuǎn)小于磁盤緩存,因而對于已存儲在內(nèi)存緩存中的文件可以快速加載顯示文件,文件加載效率高、速度快。
文檔編號G06F9/445GK102750174SQ20121022377
公開日2012年10月24日 申請日期2012年6月29日 優(yōu)先權(quán)日2012年6月29日
發(fā)明者程徐超 申請人:Tcl集團(tuán)股份有限公司