專利名稱:緩存應(yīng)用方法與裝置以及文件傳輸系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體網(wǎng)絡(luò),尤其涉及緩存應(yīng)用方法與裝置以及文件傳輸系統(tǒng)。
背景技術(shù):
在郵件、彩信、傳真和語音等媒體呼出系統(tǒng)中需要大量的文本、語音、圖像和視頻等多媒體信息,因此第三方系統(tǒng)和媒體外呼系統(tǒng)之間的文件共享接口通常采用文件傳輸協(xié)議(FTP,F(xiàn)ile Transfer Protocol)協(xié)議。其中,文件傳輸協(xié)議是傳輸控制協(xié)議(TCP,Transfer Control Protocol)/網(wǎng)際協(xié)議(IP,InternetProtocol)協(xié)議組中的協(xié)議之一,它是因特網(wǎng)(Internet)文件傳輸?shù)幕A(chǔ),由一系列規(guī)格說明書文檔組成。通過FTP協(xié)議可以提高文件的共享性,并且可以間接地使用遠(yuǎn)程計(jì)算機(jī),同時(shí)將數(shù)據(jù)透明、可靠高效地傳輸給用戶。實(shí)際上,F(xiàn)TP協(xié)議的功能就是完成兩臺(tái)計(jì)算機(jī)之間的文件拷貝,從遠(yuǎn)程計(jì)算機(jī)拷貝文件至本地計(jì)算機(jī)上,稱之為下載(download)文件。將文件從本地計(jì)算機(jī)中拷貝至遠(yuǎn)程計(jì)算機(jī)上,則稱之為上載(upload)文件。
在多媒體呼出系統(tǒng)中,特別是在群發(fā)時(shí)經(jīng)常面臨著特定的媒體信息文件的重復(fù)處理和呼出,因而會(huì)導(dǎo)致同樣的媒體信息內(nèi)容在FTP服務(wù)器和媒體外呼叫系統(tǒng)之間反復(fù)傳送,這樣不但容易導(dǎo)致網(wǎng)絡(luò)阻塞,而且還嚴(yán)重影響了多媒體外呼系統(tǒng)的處理能力。
現(xiàn)有技術(shù)也提供了一種文件傳輸?shù)木彺鎽?yīng)用方法,下面結(jié)合圖1對該現(xiàn)有技術(shù)進(jìn)行說明,具體是這樣實(shí)現(xiàn)的FTP客戶端的業(yè)務(wù)應(yīng)用系統(tǒng)在文件傳輸過程中提供了簡單的緩存功能,首先將本地路徑保存在緩存區(qū)中,然后在客戶端第二次調(diào)用的時(shí)候直接根據(jù)遠(yuǎn)程路徑的命令關(guān)鍵字檢索緩存區(qū)中是否存在對應(yīng)的文件緩存記錄,如果存在,直接從本地文件系統(tǒng)獲取文件對象,否則從FTP服務(wù)器下載文件到本地,再將所述文件對象對應(yīng)的本地路徑在緩存區(qū)中進(jìn)行注冊,以便后續(xù)的業(yè)務(wù)調(diào)用處理。該現(xiàn)有技術(shù)在文件緩存記錄被緩存后就不能被自動(dòng)清理,從而導(dǎo)致緩存區(qū)容易溢出,進(jìn)而甚至可能導(dǎo)致整個(gè)傳輸系統(tǒng)崩潰。另外,由于緩存的存在,導(dǎo)致本地文件系統(tǒng)積累的文件對象越來越多,而這些文件對象一旦過期又不能被自動(dòng)清理,進(jìn)而可能導(dǎo)致磁盤容易溢出。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例要解決的技術(shù)問題是提供緩存應(yīng)用方法與裝置以及文件傳輸系統(tǒng),以達(dá)到能夠自動(dòng)刪除緩存區(qū)的文件緩存記錄。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種緩存應(yīng)用方法,該方法包括將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長相加,再將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較;根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),如果是,從緩存區(qū)刪除所述文件緩存記錄,否則繼續(xù)緩存該文件緩存記錄。
根據(jù)上述方法,本發(fā)明實(shí)施例也提供一種緩存應(yīng)用裝置,該裝置包括存儲(chǔ)單元,用于對文件緩存記錄進(jìn)行緩存,該裝置還包括超時(shí)處理單元,用于獲取文件緩存記錄的注冊時(shí)間,以及將注冊時(shí)間與預(yù)置的超時(shí)步長進(jìn)行相加,并將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí);監(jiān)控器,用于根據(jù)超時(shí)處理單元發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元中將已超時(shí)的文件緩存記錄進(jìn)行刪除。
另外,本發(fā)明實(shí)施例也提供了一種文件傳輸系統(tǒng),該系統(tǒng)包括客戶端、服務(wù)器、緩存應(yīng)用裝置、業(yè)務(wù)應(yīng)用系統(tǒng)和本地文件單元,其中,客戶端用于根據(jù)遠(yuǎn)程路徑向服務(wù)器發(fā)起文件下載請求,以及將服務(wù)器發(fā)送的文件對象保存到本地文件單元,再將該文件對象對應(yīng)的本地路徑信息發(fā)送給緩存應(yīng)用裝置;業(yè)務(wù)應(yīng)用系統(tǒng)用于向緩存應(yīng)用裝置發(fā)起文件傳輸請求,以及從緩存應(yīng)用裝置獲取文件對象對應(yīng)的本地路徑,緩存應(yīng)用裝置包括存儲(chǔ)單元,用于接收客戶端發(fā)送的本地路徑信息,以及將遠(yuǎn)程路徑和本地路徑的對應(yīng)關(guān)系作為文件緩存記錄進(jìn)行注冊,以及向業(yè)務(wù)應(yīng)用系統(tǒng)提供本地路徑信息;超時(shí)處理單元,用于獲取文件緩存記錄的注冊時(shí)間,以及將注冊時(shí)間與預(yù)置的超時(shí)步長進(jìn)行相加,并將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí);監(jiān)控器,用于根據(jù)超時(shí)處理單元發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元中將已超時(shí)的文件緩存記錄進(jìn)行刪除。
以上技術(shù)方案可以看出,由于本發(fā)明實(shí)施例首先將文件緩存記錄的注冊時(shí)間往后延時(shí)一個(gè)超時(shí)步長,再與文件緩存記錄的當(dāng)前時(shí)間來比較決定該文件緩存記錄是否超時(shí),并在文件緩存記錄超時(shí)且沒有被訪問時(shí)從緩存區(qū)刪除所述文件緩存記錄,與現(xiàn)有技術(shù)無法釋放被緩存的文件緩存記錄相比較,本發(fā)明實(shí)施例在文件緩存記錄被緩存之后,會(huì)自動(dòng)刪除已超時(shí)的文件緩存記錄,從而避免了緩存區(qū)容易溢出的現(xiàn)象。
圖1是現(xiàn)有技術(shù)的系統(tǒng)示意圖;圖2是實(shí)現(xiàn)本發(fā)明方法與裝置的一種系統(tǒng)結(jié)構(gòu)示意圖;圖3是本發(fā)明方法實(shí)施方式的文件對象下載流程圖;圖4是本發(fā)明方法實(shí)施方式的超時(shí)刪除文件緩存記錄流程圖;圖5是本發(fā)明裝置實(shí)施方式的示意圖;圖6是本發(fā)明系統(tǒng)實(shí)施方式的示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供了緩存應(yīng)用方法與裝置以及文件傳輸系統(tǒng),為了使本領(lǐng)域技術(shù)人員能夠更好地理解本發(fā)明,下面結(jié)合附圖對本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行詳細(xì)描述。
參照圖2,圖2是實(shí)現(xiàn)本發(fā)明方法與裝置的一種系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)包括緩存管理器、監(jiān)控器、服務(wù)器、客戶端、業(yè)務(wù)應(yīng)用系統(tǒng)、本地文件系統(tǒng)以及遠(yuǎn)程文件系統(tǒng)。
客戶端用于根據(jù)遠(yuǎn)程路徑向服務(wù)器發(fā)起文件下載請求,以及將服務(wù)器發(fā)送的文件對象保存到本地文件系統(tǒng),再將該文件對象對應(yīng)的本地路徑信息發(fā)送給緩存管理器;業(yè)務(wù)應(yīng)用系統(tǒng)用于向緩存管理器發(fā)起文件傳輸請求,以及從緩存管理器獲取文件對象對應(yīng)的本地路徑。
緩存管理器用于接收客戶端發(fā)送的本地路徑信息,以及將遠(yuǎn)程路徑和本地路徑的對應(yīng)關(guān)系作為文件緩存記錄進(jìn)行注冊,以及向業(yè)務(wù)應(yīng)用系統(tǒng)提供本地路徑信息,以及將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長進(jìn)行相加,并將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí)。
監(jiān)控器再根據(jù)超時(shí)處理單元發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從緩存管理器中將已超時(shí)的文件緩存記錄進(jìn)行刪除。
實(shí)現(xiàn)本發(fā)明方法的軟件可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該軟件在執(zhí)行時(shí),包括如下步驟將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長相加,再將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較;根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),如果是,從緩存區(qū)刪除所述文件緩存記錄,否則繼續(xù)緩存該文件緩存記錄。
參照圖3,圖3是本發(fā)明方法實(shí)施方式的文件對象下載流程圖,現(xiàn)結(jié)合圖2和圖3說明文件對象下載流程,具體包括以下步驟步驟301、業(yè)務(wù)應(yīng)用系統(tǒng)根據(jù)遠(yuǎn)程路徑向緩存管理器發(fā)起文件傳輸請求,其中,遠(yuǎn)程路徑和本地路徑的對應(yīng)關(guān)系都需要在緩存管理器中進(jìn)行注冊,通常將遠(yuǎn)程路徑和本地路徑的對應(yīng)關(guān)系稱為文件緩存記錄,所述對應(yīng)關(guān)系是通過鍵-值對的方式來實(shí)現(xiàn)的,其中,“鍵”是指用于查找的關(guān)鍵字,“值”是指用來被查找或檢索的數(shù)據(jù),本實(shí)施方式的“鍵”就是遠(yuǎn)程路徑信息,“值”就是本地路徑信息,由于遠(yuǎn)程路徑和本地路徑就是分別作為鍵和值保存在緩存管理器中,實(shí)際應(yīng)用中就可以通過遠(yuǎn)程路徑這個(gè)“鍵”在緩存管理器中檢索到本地路徑這個(gè)“值”。
步驟302、緩存管理器收到文件傳輸請求后,根據(jù)遠(yuǎn)程路徑的鍵值搜索緩存管理器中是否存在與遠(yuǎn)程路徑匹配的文件緩存記錄,如果存在,執(zhí)行步驟308,否則執(zhí)行步驟303。
步驟303、緩存管理器向客戶端發(fā)起文件下載請求。
步驟304、客戶端根據(jù)遠(yuǎn)程路徑向服務(wù)器發(fā)起文件下載請求,并等待直到遠(yuǎn)程服務(wù)器響應(yīng),服務(wù)器執(zhí)行文件傳輸協(xié)議的處理過程,如果文件對象傳輸?shù)奖镜刂螅捅硎尽跋螺d結(jié)束”。其中,客戶端與服務(wù)器的傳輸協(xié)議可以是FTP協(xié)議、TCP協(xié)議等。
步驟305、服務(wù)器將獲取到的文件對象發(fā)送給客戶端,客戶端將文件對象保存到本地文件系統(tǒng)。
步驟306、客戶端將文件對象對應(yīng)的本地路徑信息發(fā)送給緩存管理器。
步驟307、緩存管理器接收客戶端發(fā)送的本地路徑信息,再將本地路徑和遠(yuǎn)程路徑的對應(yīng)關(guān)系作為文件緩存記錄進(jìn)行注冊,并保存該文件緩存記錄的注冊時(shí)間,然后根據(jù)文件緩存記錄被訪問的情況刷新注冊時(shí)間,如果文件緩存記錄是第一次被訪問,那么注冊時(shí)間就是文件緩存記錄存入緩存管理器的時(shí)間;如果文件緩存記錄被多次訪問,那么注冊時(shí)間就是文件緩存記錄最后一次被訪問的結(jié)束時(shí)間。如果文件緩存記錄正在被訪問時(shí),此時(shí)是不能對該文件緩存記錄進(jìn)行超時(shí)刪除處理的,必須在文件緩存記錄被訪問結(jié)束后才能進(jìn)行相應(yīng)的超時(shí)刪除處理功能。
步驟308、對緩存管理器的所述文件緩存記錄進(jìn)行加鎖,同時(shí)緩存管理器會(huì)保存文件緩存記錄被訪問的次數(shù),并在文件緩存記錄沒有被業(yè)務(wù)應(yīng)用系統(tǒng)訪問時(shí)進(jìn)行解鎖。通常采用可逆計(jì)數(shù)器來存儲(chǔ)文件緩存記錄被訪問的次數(shù),文件緩存記錄每被訪問一次計(jì)數(shù)器就加1,文件緩存記錄每次被訪問結(jié)束計(jì)數(shù)器就減1。文件緩存記錄可以被多個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)訪問,假設(shè)某個(gè)文件緩存記錄同時(shí)被5個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)訪問,計(jì)數(shù)器的初始值是0,那么計(jì)數(shù)器記錄的文件緩存記錄被訪問次數(shù)為5,如果某個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)訪問文件緩存記錄結(jié)束,則計(jì)數(shù)器記錄的文件緩存記錄被訪問次數(shù)為4,如果文件緩存記錄被訪問的次數(shù)為0則說明該文件緩存記錄沒有被訪問。
如果被訪問次數(shù)小于1說明該文件緩存記錄未被訪問,緩存管理器可以對該文件緩存記錄進(jìn)行解鎖,否則說明該文件緩存記錄正在被訪問,緩存管理器不能對該文件緩存記錄進(jìn)行解鎖。
在鎖定期間文件緩存記錄永遠(yuǎn)不會(huì)超時(shí),這樣可以防止在實(shí)際應(yīng)用中可能存在業(yè)務(wù)應(yīng)用系統(tǒng)還在處理文件的過程中,文件緩存記錄已經(jīng)超時(shí)而出現(xiàn)被刪除的特殊情況。
步驟309、將文件緩存記錄對應(yīng)的本地路徑信息返回給業(yè)務(wù)應(yīng)用系統(tǒng)。
步驟310、業(yè)務(wù)應(yīng)用系統(tǒng)根據(jù)本地路徑信息從本地文件系統(tǒng)獲取文件對象。
參照圖4,圖4是本發(fā)明方法實(shí)施方式的超時(shí)刪除文件緩存記錄流程圖,具體包括步驟401、監(jiān)控器定時(shí)掃描緩存管理器中文件緩存記錄的超時(shí)狀態(tài)。
步驟402、將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長進(jìn)行相加,再將相加結(jié)果與當(dāng)前時(shí)間進(jìn)行比較,如果當(dāng)前時(shí)間遲于相加結(jié)果對應(yīng)的時(shí)間則說明該文件緩存記錄超時(shí),否則說明文件緩存記錄沒有超時(shí)。其中,超時(shí)步長就是超時(shí)的監(jiān)控步長,缺省為5分鐘,即5分鐘內(nèi)文件緩存記錄沒有被訪問則說明該文件緩存記錄已超時(shí)。假設(shè)文件緩存記錄的注冊時(shí)間是12時(shí)05分,當(dāng)前時(shí)間是12時(shí)12分,超時(shí)步長為5分鐘,將注冊時(shí)間往后延長一個(gè)超時(shí)步長,也就是將注冊時(shí)間加上超時(shí)步長,延時(shí)得到的時(shí)間是12時(shí)10分,而文件緩存記錄的當(dāng)前時(shí)間是12時(shí)12分,說明該文件緩存記錄的當(dāng)前時(shí)間要遲于12時(shí)10分,那么就可得出該文件緩存記錄是處于超時(shí)狀態(tài)。
步驟403、根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),如果是,執(zhí)行步驟404,否則將文件緩存記錄保存在緩存管理器,結(jié)束流程。
步驟404、判斷文件緩存記錄是否被鎖定,如果是,將文件緩存記錄保存在緩存管理器,結(jié)束流程,否則執(zhí)行步驟405。
步驟405、監(jiān)控器根據(jù)收到的超時(shí)記錄觸發(fā)一個(gè)超時(shí)事件接口,該接口從本地文件系統(tǒng)中將超時(shí)記錄對應(yīng)的文件對象進(jìn)行清理,以及從緩存管理器將該文件緩存記錄進(jìn)行清理。
根據(jù)上述方法,本發(fā)明實(shí)施例還提供了一種緩存應(yīng)用裝置,由圖5可知,該裝置包括存儲(chǔ)單元501、計(jì)數(shù)器502、控制鎖單元503、監(jiān)控器504以及超時(shí)處理單元505。
其中,存儲(chǔ)單元501用于將遠(yuǎn)程路徑和本地路徑的對應(yīng)關(guān)系作為文件緩存記錄進(jìn)行注冊。
其中,計(jì)數(shù)器502用于計(jì)量存儲(chǔ)單元501的文件緩存記錄被訪問次數(shù),以及向控制鎖單元503提供所有文件緩存記錄被訪問的次數(shù)。通常采用可逆計(jì)數(shù)器來計(jì)量文件緩存記錄被訪問的次數(shù),文件緩存記錄每被訪問一次計(jì)數(shù)器就加1,文件緩存記錄每次被訪問結(jié)束計(jì)數(shù)器就減1。假設(shè)某個(gè)文件緩存記錄同時(shí)被5個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)訪問,計(jì)數(shù)器502的初始值為0,此時(shí)計(jì)數(shù)器502記錄的文件被訪問次數(shù)為5,如果某個(gè)業(yè)務(wù)應(yīng)用系統(tǒng)訪問結(jié)束,則計(jì)數(shù)器502記錄的文件被訪問次數(shù)為4,如果文件緩存記錄被訪問的次數(shù)為0則說明該文件緩存記錄沒有被訪問,控制鎖單元503可以對文件緩存記錄進(jìn)行解鎖,否則說明該文件緩存記錄正在被訪問,控制鎖單元503不能對該文件緩存記錄進(jìn)行解鎖。
其中,控制鎖單元503用于對存儲(chǔ)單元501被訪問的文件緩存記錄進(jìn)行加鎖,以及根據(jù)計(jì)數(shù)器502提供的文件緩存記錄被訪問次數(shù)進(jìn)行解鎖或保持鎖定,以及將文件緩存記錄的加鎖或解鎖情況發(fā)送給監(jiān)控器504。另外,在鎖定期間文件緩存記錄永遠(yuǎn)不會(huì)超時(shí),這樣可以防止在實(shí)際應(yīng)用中可能存在業(yè)務(wù)應(yīng)用系統(tǒng)還在處理文件的過程中,文件緩存記錄已經(jīng)超時(shí)而出現(xiàn)被刪除的特殊情況。
其中,監(jiān)控器504用于接收控制鎖單元503發(fā)送的文件緩存記錄加鎖或解鎖情況,以及根據(jù)超時(shí)處理單元505發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元501中將已超時(shí)的文件緩存記錄進(jìn)行刪除,以及清除所述文件緩存記錄對應(yīng)的文件對象。
此外,監(jiān)控器504還可從控制鎖單元獲取文件緩存記錄的加鎖或解鎖情況,并在文件緩存記錄處于解鎖狀態(tài)時(shí)根據(jù)超時(shí)處理單元505發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元501中將沒有被鎖定且已超時(shí)的文件緩存記錄進(jìn)行刪除,以及清除所述文件緩存記錄對應(yīng)的文件對象。
其中,超時(shí)處理單元505包括計(jì)時(shí)器506,用于保存文件緩存記錄的注冊時(shí)間,以及根據(jù)文件緩存記錄被訪問的情況刷新注冊時(shí)間,其中,文件緩存記錄的注冊時(shí)間會(huì)隨被訪問的次數(shù)不斷刷新,如果文件緩存記錄是第一次被訪問,那么注冊時(shí)間就是文件緩存記錄存入存儲(chǔ)單元501的時(shí)間;如果文件緩存記錄被多次訪問,那么注冊時(shí)間就是文件緩存記錄最后一次被訪問的結(jié)束時(shí)間。如果文件緩存記錄正在被訪問時(shí),此時(shí)是不能對該文件緩存記錄進(jìn)行超時(shí)刪除處理的,必須在文件緩存記錄被訪問結(jié)束后才能進(jìn)行相應(yīng)的超時(shí)刪除處理功能。
延時(shí)單元507,用于獲取文件緩存記錄的注冊時(shí)間,以及預(yù)置超時(shí)步長,再將注冊時(shí)間與超時(shí)步長進(jìn)行相加。
比較單元508,用于將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),以及向監(jiān)控器504發(fā)送超時(shí)記錄。
另外,本發(fā)明實(shí)施例也提供了一種文件傳輸系統(tǒng),由圖6可知,該系統(tǒng)包括服務(wù)器601、遠(yuǎn)程文件單元602、本地文件單元603、客戶端604、業(yè)務(wù)應(yīng)用系統(tǒng)605以及緩存應(yīng)用裝置606。
其中,服務(wù)器601用于接收客戶端604的文件下載請求,以及將文件對象發(fā)送給客戶端604。
其中,遠(yuǎn)程文件單元602用于存儲(chǔ)服務(wù)器601的文件對象。
其中,本地文件單元603用于存儲(chǔ)客戶端604的文件對象。
其中,客戶端604用于根據(jù)遠(yuǎn)程路徑向服務(wù)器601發(fā)起該文件下載請求,以及接收服務(wù)器601發(fā)送的文件對象,并將接收到的文件對象保存到本地文件單元603,再將該文件對象對應(yīng)的本地路徑信息發(fā)送給緩存應(yīng)用裝置606。
其中,業(yè)務(wù)應(yīng)用系統(tǒng)605用于根據(jù)遠(yuǎn)程路徑向緩存應(yīng)用裝置606發(fā)起文件傳輸請求,并從緩存應(yīng)用裝置606獲取文件對象對應(yīng)的本地路徑信息。
其中,緩存應(yīng)用裝置606包括存儲(chǔ)單元607,用于接收客戶端604發(fā)送的本地路徑信息,以及將遠(yuǎn)程路徑和本地路徑的對應(yīng)關(guān)系作為文件緩存記錄進(jìn)行注冊,以及向業(yè)務(wù)應(yīng)用系統(tǒng)605提供本地路徑信息。
計(jì)數(shù)器608,用于計(jì)量存儲(chǔ)單元607的文件緩存記錄被訪問次數(shù),以及向控制鎖單元609提供文件緩存記錄被訪問的次數(shù)。通常采用可逆計(jì)數(shù)器來計(jì)量文件緩存記錄被訪問的次數(shù),文件緩存記錄每被訪問一次計(jì)數(shù)器就加1,文件緩存記錄每被釋放一次計(jì)數(shù)器就減1,如果被訪問次數(shù)小于1說明該文件緩存記錄未被訪問,控制鎖單元609可以對文件緩存記錄進(jìn)行解鎖,否則說明該文件緩存記錄正在被訪問,控制鎖單元609不能對該文件緩存記錄進(jìn)行解鎖。
控制鎖單元609,用于對存儲(chǔ)單元607被訪問的文件緩存記錄進(jìn)行加鎖,以及根據(jù)計(jì)數(shù)器608提供的文件緩存記錄被訪問次數(shù)進(jìn)行解鎖或保持鎖定,以及將文件緩存記錄的加鎖或解鎖情況發(fā)送給監(jiān)控器610,其中,在鎖定期間文件緩存記錄永遠(yuǎn)不會(huì)超時(shí),這樣可以防止在實(shí)際應(yīng)用中可能存在業(yè)務(wù)應(yīng)用系統(tǒng)還在處理文件的過程中,文件緩存記錄已經(jīng)超時(shí)而出現(xiàn)被刪除的特殊情況。
監(jiān)控器610,用于根據(jù)超時(shí)處理單元611發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元607中將已超時(shí)的文件緩存記錄進(jìn)行刪除,以及從本地文件單元603清除所述文件緩存記錄對應(yīng)的文件對象。
此外,監(jiān)控器610還可從控制鎖單元獲取文件緩存記錄的加鎖或解鎖情況,并在文件緩存記錄處于解鎖狀態(tài)時(shí)根據(jù)超時(shí)處理單元611發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元607中將沒有被鎖定且已超時(shí)的文件緩存記錄進(jìn)行刪除,以及從本地文件單元603清除所述文件緩存記錄對應(yīng)的文件對象。
超時(shí)處理單元611包括計(jì)時(shí)器612,用于保存文件緩存記錄的注冊時(shí)間,以及根據(jù)文件緩存記錄的訪問情況刷新注冊時(shí)間,其中,文件緩存記錄的注冊時(shí)間會(huì)隨被訪問的次數(shù)不斷刷新,如果文件緩存記錄是第一次被訪問,那么注冊時(shí)間就是文件緩存記錄存入存儲(chǔ)單元607的時(shí)間;如果文件緩存記錄被多次訪問,那么注冊時(shí)間就是文件緩存記錄最后一次被訪問的時(shí)間。
延時(shí)單元613,用于獲取文件緩存記錄的注冊時(shí)間,以及預(yù)置超時(shí)步長,再將注冊時(shí)間與超時(shí)步長進(jìn)行相加。
比較單元614,用于將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),以及向監(jiān)控器610發(fā)送超時(shí)記錄。
由上述可知,本發(fā)明實(shí)施例同時(shí)具備對文件緩存記錄進(jìn)行存儲(chǔ)、超時(shí)刷新和鎖定功能,這樣提高了文件緩存記錄的高速緩存功能。同時(shí),本發(fā)明實(shí)施例在文件緩存記錄被緩存之后,會(huì)自動(dòng)刪除已超時(shí)的文件緩存記錄,同時(shí)還會(huì)從本地文件單元603自動(dòng)清理該文件緩存記錄對應(yīng)的文件對象,從而避免存儲(chǔ)單元607和本地文件單元603容易溢出。
另外,本發(fā)明實(shí)施例對被訪問的文件緩存記錄進(jìn)行加鎖,這樣可以確保文件緩存記錄在應(yīng)用過程中不會(huì)被刪除,從而保證應(yīng)用的一致性。最后,本發(fā)明實(shí)施例會(huì)根據(jù)文件緩存記錄被訪問的次數(shù)而自動(dòng)刷新文件緩存記錄的注冊時(shí)間,如果文件緩存記錄被多次訪問就以最后一次訪問的結(jié)束時(shí)間為文件緩存記錄的注冊時(shí)間。
以上對本發(fā)明實(shí)施例所提供的緩存應(yīng)用方法與裝置以及文件傳輸系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種緩存應(yīng)用方法,其特征在于,該方法包括將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長相加,再將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較;根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),如果是,從緩存區(qū)刪除所述文件緩存記錄,否則繼續(xù)緩存該文件緩存記錄。
2.如權(quán)利要求1所述的緩存應(yīng)用方法,其特征在于,緩存區(qū)沒有與遠(yuǎn)程路徑匹配的文件緩存記錄時(shí),在將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長相加之前進(jìn)一步包括根據(jù)遠(yuǎn)程路徑獲取本地路徑信息,緩存區(qū)將本地路徑和遠(yuǎn)程路徑的對應(yīng)關(guān)系作為文件緩存記錄進(jìn)行注冊,并緩存文件緩存記錄的注冊時(shí)間。
3.如權(quán)利要求2所述的緩存應(yīng)用方法,其特征在于,在文件緩存記錄進(jìn)行注冊之后進(jìn)一步包括對文件緩存記錄進(jìn)行加鎖,并在文件緩存記錄沒有被訪問時(shí)進(jìn)行解鎖;在從緩存區(qū)刪除所述文件緩存記錄之前進(jìn)一步包括判斷文件緩存記錄是否被鎖定,如果文件緩存記錄沒有被鎖定則執(zhí)行從緩存區(qū)刪除所述文件緩存記錄的步驟,否則繼續(xù)緩存所述文件緩存記錄。
4.如權(quán)利要求1所述的緩存應(yīng)用方法,其特征在于,緩存區(qū)存在與遠(yuǎn)程路徑匹配的文件緩存記錄時(shí),在將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長相加之前進(jìn)一步包括對文件緩存記錄進(jìn)行加鎖,并在文件緩存記錄沒有被訪問時(shí)進(jìn)行解鎖;在從緩存區(qū)刪除所述文件緩存記錄之前進(jìn)一步包括判斷文件緩存記錄是否被鎖定,如果文件緩存記錄沒有被鎖定則執(zhí)行從緩存區(qū)刪除所述文件緩存記錄的步驟,否則繼續(xù)緩存所述文件緩存記錄。
5.如權(quán)利要求1、2、3或4所述的緩存應(yīng)用方法,其特征在于,文件緩存記錄被多次訪問時(shí),文件緩存記錄的注冊時(shí)間是文件緩存記錄最后一次被訪問的結(jié)束時(shí)間。
6.如權(quán)利要求1所述的緩存應(yīng)用方法,其特征在于,該方法進(jìn)一步包括將被刪除文件緩存記錄對應(yīng)的文件對象進(jìn)行清理。
7.一種緩存應(yīng)用裝置,該裝置包括存儲(chǔ)單元,用于對文件緩存記錄進(jìn)行緩存,其特征在于,該裝置還包括超時(shí)處理單元,用于獲取文件緩存記錄的注冊時(shí)間,以及將注冊時(shí)間與預(yù)置的超時(shí)步長進(jìn)行相加,并將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí);監(jiān)控器,用于根據(jù)超時(shí)處理單元發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元中將已超時(shí)的文件緩存記錄進(jìn)行刪除。
8.如權(quán)利要求7所述的緩存應(yīng)用裝置,其特征在于,所述的超時(shí)處理單元包括計(jì)時(shí)器,用于保存文件緩存記錄的注冊時(shí)間,以及根據(jù)文件緩存記錄被訪問的情況刷新注冊時(shí)間;延時(shí)單元,用于獲取文件緩存記錄的注冊時(shí)間,以及預(yù)置超時(shí)步長,再將注冊時(shí)間與超時(shí)步長進(jìn)行相加;比較單元,用于將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),以及向監(jiān)控器發(fā)送超時(shí)記錄。
9.如權(quán)利要求7所述的緩存應(yīng)用裝置,其特征在于,監(jiān)控器還進(jìn)一步用于清理被刪除文件緩存記錄對應(yīng)的文件對象。
10.如權(quán)利要求7、8或9所述的緩存應(yīng)用裝置,其特征在于,該裝置進(jìn)一步包括計(jì)數(shù)器,用于計(jì)量存儲(chǔ)單元的文件緩存記錄被訪問次數(shù);控制鎖單元,用于對存儲(chǔ)單元被訪問的文件緩存記錄進(jìn)行加鎖,以及根據(jù)計(jì)數(shù)器提供的文件緩存記錄被訪問次數(shù)進(jìn)行解鎖或保持鎖定,以及將文件緩存記錄的加鎖或解鎖情況發(fā)送給監(jiān)控器;監(jiān)控器進(jìn)一步用于從控制鎖單元獲取文件緩存記錄的加鎖或解鎖情況,并在文件緩存記錄處于解鎖狀態(tài)時(shí)根據(jù)超時(shí)處理單元發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口。
11.一種文件傳輸系統(tǒng),該系統(tǒng)包括客戶端、服務(wù)器、緩存應(yīng)用裝置、業(yè)務(wù)應(yīng)用系統(tǒng)和本地文件單元,其中,客戶端用于根據(jù)遠(yuǎn)程路徑向服務(wù)器發(fā)起文件下載請求,以及將服務(wù)器發(fā)送的文件對象保存到本地文件單元,再將該文件對象對應(yīng)的本地路徑信息發(fā)送給緩存應(yīng)用裝置;業(yè)務(wù)應(yīng)用系統(tǒng)用于向緩存應(yīng)用裝置發(fā)起文件傳輸請求,以及從緩存應(yīng)用裝置獲取文件對象對應(yīng)的本地路徑,其特征在于,緩存應(yīng)用裝置包括存儲(chǔ)單元,用于接收客戶端發(fā)送的本地路徑信息,以及將遠(yuǎn)程路徑和本地路徑的對應(yīng)關(guān)系作為文件緩存記錄進(jìn)行注冊,以及向業(yè)務(wù)應(yīng)用系統(tǒng)提供本地路徑信息;超時(shí)處理單元,用于獲取文件緩存記錄的注冊時(shí)間,以及將注冊時(shí)間與預(yù)置的超時(shí)步長進(jìn)行相加,并將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí);監(jiān)控器,用于根據(jù)超時(shí)處理單元發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口,該接口從存儲(chǔ)單元中將已超時(shí)的文件緩存記錄進(jìn)行刪除。
12.如權(quán)利要求11所述的文件傳輸系統(tǒng),其特征在于,所述的超時(shí)處理單元包括計(jì)時(shí)器,用于保存文件緩存記錄的注冊時(shí)間,以及根據(jù)文件緩存記錄被訪問的情況刷新注冊時(shí)間;延時(shí)單元,用于獲取文件緩存記錄的注冊時(shí)間,以及預(yù)置超時(shí)步長,再將注冊時(shí)間與超時(shí)步長進(jìn)行相加;比較單元,用于將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較,再根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),以及向監(jiān)控器發(fā)送超時(shí)記錄。
13.如權(quán)利要求11所述的文件傳輸系統(tǒng),其特征在于,監(jiān)控器還進(jìn)一步用于從本地文件單元將被刪除文件緩存記錄對應(yīng)的文件對象進(jìn)行清理。
14.如權(quán)利要求11、12或13所述的文件傳輸系統(tǒng),其特征在于,緩存應(yīng)用裝置還包括計(jì)數(shù)器,用于計(jì)量存儲(chǔ)單元的文件緩存記錄被訪問次數(shù);控制鎖單元,用于對存儲(chǔ)單元被訪問的文件緩存記錄進(jìn)行加鎖,以及根據(jù)計(jì)數(shù)器提供的文件緩存記錄被訪問次數(shù)進(jìn)行解鎖或保持鎖定,以及將文件緩存記錄的加鎖或解鎖情況發(fā)送給監(jiān)控器;監(jiān)控器進(jìn)一步用于從控制鎖單元獲取文件緩存記錄的加鎖或解鎖情況,并在文件緩存記錄處于解鎖狀態(tài)時(shí)根據(jù)超時(shí)處理單元發(fā)送的超時(shí)記錄觸發(fā)超時(shí)事件接口。
全文摘要
本發(fā)明公開了一種緩存應(yīng)用方法與裝置以及文件傳輸系統(tǒng),所述方法包括將文件緩存記錄的注冊時(shí)間與預(yù)置的超時(shí)步長相加,再將相加結(jié)果與文件緩存記錄的當(dāng)前時(shí)間進(jìn)行比較;根據(jù)比較結(jié)果判斷文件緩存記錄是否超時(shí),如果是,從緩存區(qū)刪除所述文件緩存記錄,否則繼續(xù)緩存該文件緩存記錄。本發(fā)明也提供了一種緩存應(yīng)用裝置和文件傳輸系統(tǒng),利用本發(fā)明可以提高文件的高速緩存功能,同時(shí)還會(huì)自動(dòng)刪除緩存區(qū)中已超時(shí)的文件緩存記錄,并且還會(huì)根據(jù)文件緩存記錄被訪問的次數(shù)動(dòng)態(tài)刷新注冊時(shí)間。另外,本發(fā)明對被訪問的文件緩存記錄進(jìn)行加鎖,這樣可以確保文件緩存記錄在應(yīng)用過程中不會(huì)被刪除,從而保證應(yīng)用的一致性。
文檔編號G06F17/30GK1997015SQ20061014526
公開日2007年7月11日 申請日期2006年11月24日 優(yōu)先權(quán)日2006年11月24日
發(fā)明者喻文兵 申請人:華為技術(shù)有限公司