專利名稱:基于索引編碼的虛擬文件系統(tǒng)及建立方法、訪問方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)文件系統(tǒng)領(lǐng)域,尤其涉及文件合并操作相關(guān)的文件系統(tǒng)。
背景技術(shù):
為了在復(fù)雜的網(wǎng)絡(luò)環(huán)境下提供優(yōu)質(zhì)的網(wǎng)絡(luò)服務(wù),現(xiàn)今提供網(wǎng)絡(luò)服務(wù)的網(wǎng)站(如論壇、門戶網(wǎng)站、網(wǎng)絡(luò)游戲、視頻等等)都普遍自建或購(gòu)買內(nèi)容分發(fā)網(wǎng)絡(luò)來(lái)對(duì)網(wǎng)絡(luò)服務(wù)進(jìn)行加速,同時(shí)也降低了源站的壓力。內(nèi)容分發(fā)網(wǎng)絡(luò)的使用導(dǎo)致訪問日志散布在大量的機(jī)器上,需要進(jìn)行排序和合并。為了提高排序和日志合并的效率,一般以較小的時(shí)間粒度來(lái)處理日志文件,再對(duì)排序完的日志進(jìn)行合并,因此產(chǎn)生了大量的日志文件合并的操作。在現(xiàn)有的文件系統(tǒng)中,要將兩個(gè)或多個(gè)文件合并成一個(gè)文件需要將文件內(nèi)容從文件系統(tǒng)中讀出,再重新寫入到文件系統(tǒng)中。其兩種合并過程如下:(I)創(chuàng)建一個(gè)新的空文件,并發(fā)所有待合并文件的內(nèi)容從文件系統(tǒng)中讀出,并追加到選定文件的末尾,如圖1所示。首先,創(chuàng)建一個(gè)新的空文件,讀取第一個(gè)待合并的文件的內(nèi)容然后寫入到空文件中,再繼續(xù)讀下一個(gè)待合并的文件。(2)選定兩個(gè)或多個(gè)文件中的一個(gè),從文件系統(tǒng)中讀取其他待合并文件的內(nèi)容,并追加寫入到選定文件的末尾,如圖2所示。首先,從眾多待合并的文件中選擇一個(gè)作為選定文件,然后將其余的待合并文件逐個(gè)的進(jìn)行讀取然后寫入到選定文件的末尾。這種現(xiàn)有文件系統(tǒng)的文件合成方式有以下的不足:
1.大量的IO操作,導(dǎo)致系統(tǒng)IP負(fù)載過高,進(jìn)一步導(dǎo)致服務(wù)器性能下降。2.合并操作需要的時(shí)間長(zhǎng),導(dǎo)致系統(tǒng)延時(shí)增加。3.多數(shù)時(shí)候,系統(tǒng)需要保存合并前后的文件,例如上面的日志系統(tǒng),這樣就需要消耗兩倍的存儲(chǔ)空間。
發(fā)明內(nèi)容
本發(fā)明的目的是解決上述問題,提供了一種基于索引編碼的虛擬文件系統(tǒng)及建立方法、訪問方法,減少了合并文件過程中產(chǎn)生的讀取和寫入操作,降低系統(tǒng)IO負(fù)載,使文件在不需要讀取和寫入內(nèi)容的情況下完成文件合并的操作。本發(fā)明的技術(shù)方案為:本發(fā)明揭示了一種基于索引編碼的虛擬文件系統(tǒng),包括:接口模塊,接收用戶的合并請(qǐng)求生成索引文件,其中合并請(qǐng)求包括若干原始文件和目標(biāo)鏡像文件;索引目錄模塊,連接接口模塊,通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件--對(duì)應(yīng),索引文件中包含目標(biāo)鏡像文件和原始文件的文件信息;鏡像文件系統(tǒng),連接索引目錄模塊,根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成鏡像文件系統(tǒng)中對(duì)應(yīng)的目標(biāo)鏡像文件。根據(jù)本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的一實(shí)施例,索引目錄模塊的索引目錄結(jié)構(gòu)存放在任何可訪問的文件系統(tǒng)上。
根據(jù)本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的一實(shí)施例,鏡像文件系統(tǒng)還包括:
文件信息查詢單元,供用戶查詢鏡像文件系統(tǒng)中的目標(biāo)鏡像文件的文件信息,根據(jù)目標(biāo)鏡像文件在索引目錄結(jié)構(gòu)中的對(duì)應(yīng)的索引文件中的信息直接響應(yīng)查詢;
文件內(nèi)容訪問單元,供用戶訪問鏡像文件系統(tǒng)中的目標(biāo)鏡像文件的文件內(nèi)容,根據(jù)用戶要求訪問的內(nèi)容在目標(biāo)鏡像文件中的文件偏移和原始文件的信息計(jì)算出該內(nèi)容所在的原始文件及相應(yīng)的文件偏移,從原始文件中讀取出相應(yīng)的內(nèi)容并返回給用戶。
根據(jù)本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的一實(shí)施例,文件信息包括但不限于文件大小、文件名稱、最后修改時(shí)間。
本發(fā)明揭示了一種基于索引編碼的虛擬文件系統(tǒng)的建立方法,包括:
接收用戶的合并請(qǐng)求生成索引文件,其中合并請(qǐng)求包括若干原始文件和目標(biāo)鏡像文件;
通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件--對(duì)應(yīng),索引文件中包含目標(biāo)鏡像文件和原始文件的文件信息;
根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成對(duì)應(yīng)的目標(biāo)鏡像文件,多個(gè)目標(biāo)鏡像文件形成鏡像文件系統(tǒng)。
根據(jù)本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的建立方法的一實(shí)施例,索引目錄模塊的索引目錄結(jié)構(gòu)存放在任何可訪問的文件系統(tǒng)上。
根據(jù)本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的建立方法的一實(shí)施例,文件信息包括但不限于文件大小、文件名稱、最后修改時(shí)間。
本發(fā)明揭示了一種基于索引編碼的虛擬文件系統(tǒng)的訪問方法,包括:
接收用戶對(duì)目標(biāo)鏡像文件的訪問請(qǐng)求;
根據(jù)用戶要求訪問的目標(biāo)鏡像文件訪問其--對(duì)應(yīng)的索引文件,從索引文件的記錄中獲取目標(biāo)鏡像文件的文件信息和原始文件的文件信息;
判斷用戶所要訪問的對(duì)象,若是訪問目標(biāo)鏡像文件的文件信息,則直接返回獲取到的目標(biāo)鏡像文件的文件信息和原始文件的文件信息;
若是訪問目標(biāo)鏡像文件的文件內(nèi)容,則根據(jù)用戶要求訪問的內(nèi)容在目標(biāo)鏡像文件中的文件偏移和原始文件的信息計(jì)算出該內(nèi)容所在的原始文件及相應(yīng)的文件偏移,從原始文件中讀取出相應(yīng)的內(nèi)容并返回給用戶。
根據(jù)本發(fā)明的基于索引編碼的`虛擬文件系統(tǒng)的訪問方法的一實(shí)施例,文件信息包括但不限于文件大小、文件名稱、最后修改時(shí)間。
本發(fā)明對(duì)比現(xiàn)有技術(shù)有如下的有益效果:本發(fā)明的方案是通過接口模塊接收用戶的合并請(qǐng)求生成索引文件,索引目錄模塊通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件--對(duì)應(yīng),鏡像文件系統(tǒng)根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成鏡像文件系統(tǒng)中對(duì)應(yīng)的目標(biāo)鏡像文件。相較于傳統(tǒng)技術(shù),本發(fā)明在不讀取和重新寫入文件內(nèi)容的情況下,將若干指定文件合并成新的文件,即鏡像文件。鏡像文件和使用傳統(tǒng)文件合并出來(lái)的文件一樣,但是合并過程中并不會(huì)發(fā)生文件內(nèi)容的讀取和寫入操作,同時(shí)該鏡像文件不占用實(shí)際的存儲(chǔ)空間。
圖1和圖2示出了傳統(tǒng)的文件合并方式。圖3A示出了本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的較佳實(shí)施例的結(jié)構(gòu)圖。圖3B示出了圖3A所示的虛擬文件系統(tǒng)實(shí)施例的原理圖。圖4A示出了本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的建立方法的較佳實(shí)施例的流程圖。圖4B示出了圖4A所示的虛擬文件系統(tǒng)的建立方法的示意圖。圖5A示出了本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的訪問方法的較佳實(shí)施例的流程圖。圖5B示出了圖5A所示的虛擬文件系統(tǒng)的訪問方法的示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述?;谒饕幋a的虛擬文件系統(tǒng)的實(shí)施例圖3A示出了本發(fā)明的基于索引編碼的虛擬文件系統(tǒng)的較佳實(shí)施例的結(jié)構(gòu),圖3B示出了圖3A所示的虛擬文件系統(tǒng)實(shí)施例的原理。請(qǐng)參見圖3A,本實(shí)施例的基于索引編碼的虛擬文件系統(tǒng)包括:接口模塊10、索引目錄模塊11、鏡像文件系統(tǒng)12。索引目錄模塊11連接接口模塊10,鏡像文件系統(tǒng)12連接索引目錄模塊11。請(qǐng)同時(shí)參見圖3B,接口模塊10接收用戶的合并請(qǐng)求生成索引文件,其中合并請(qǐng)求包括若干用于生成目標(biāo)文件的原始文件和用戶指定的目標(biāo)鏡像文件。接口模塊10在收到用戶的指令后檢查用戶指定的所有原始文件,記錄這些原始文件的文件信息(包括但不限于文件大小、文件名稱、最后修改時(shí)間等),并根據(jù)這些原始文件的文件信息以及用戶指定生成的目標(biāo)文件的文件信息,接口模塊10將創(chuàng)建一個(gè)與目標(biāo)文件—對(duì)應(yīng)的索引文件,把目標(biāo)文件的文件信息以及所有原始文件的文件信息編碼并寫入該索引文件中。索引目錄模塊11通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件一一對(duì)應(yīng),索引文件中包含目標(biāo)鏡像文件和原始文件的文件信息,文件信息包括但不限于文件大小、文件名稱、最后修改時(shí)間。索引目錄模塊11的索引目錄結(jié)構(gòu)存放在任何可訪問的文件系統(tǒng)上,例如傳統(tǒng)文件系統(tǒng)的磁盤、光盤文件系統(tǒng)、閃存文件系統(tǒng)、內(nèi)存文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)等。鏡像文件系統(tǒng)12根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成鏡像文件系統(tǒng)中對(duì)應(yīng)的目標(biāo)鏡像文件,供用戶查看和讀取使用。鏡像文件系統(tǒng)12包括文件信息查詢單元120和文件內(nèi)容訪問單元122。鏡像文件系統(tǒng)12的API接口被重寫后接管用戶對(duì)鏡像文件系統(tǒng)的訪問。當(dāng)用戶訪問一個(gè)路徑/文件時(shí),如果該路徑/文件屬于鏡像文件系統(tǒng)12,那么訪問過程中屬于鏡像文件系統(tǒng)部分的文件系統(tǒng)訪問接口將由虛擬文件系統(tǒng)接管提供。用戶像讀取傳統(tǒng)文件系統(tǒng)中的文件一樣,從鏡像文件系統(tǒng)12中讀取目標(biāo)鏡像文件,用戶不會(huì)也不需要感知到該文件是鏡像文件而不是在傳統(tǒng)文件系統(tǒng)中真實(shí)存在的文件。組織鏡像文件的文件系統(tǒng),由虛擬文件系統(tǒng)根據(jù)索引目錄結(jié)構(gòu)生成。用戶由此讀取使用鏡像文件。鏡像文件系統(tǒng)12像其他的文件系統(tǒng)一樣掛載在目錄樹上。用戶可以像訪問傳統(tǒng)文件系統(tǒng)一樣訪問鏡像文件系統(tǒng)(寫屬性操作除外),鏡像文件系統(tǒng)提供和傳統(tǒng)文件系統(tǒng)一樣的訪問接口,用戶不會(huì)也不需要感知到其訪問的是鏡像文件系統(tǒng)12。用戶對(duì)鏡像文件系統(tǒng)12內(nèi)所有文件和目錄的寫屬性的操作都會(huì)返回失敗,寫屬性的操作用戶需要通過重新生成索引文件來(lái)實(shí)現(xiàn),也就是說,鏡像文件系統(tǒng)本身是一個(gè)只讀文件系統(tǒng)。文件信息查詢單元120供用戶查詢鏡像文件系統(tǒng)中的目標(biāo)鏡像文件的文件信息(例如響應(yīng)Is、stat之類命令的操作),根據(jù)目標(biāo)鏡像文件在索引目錄結(jié)構(gòu)中的對(duì)應(yīng)的索引文件中的信息直接響應(yīng)查詢。文件內(nèi)容訪問單元122供用戶訪問鏡像文件系統(tǒng)中的目標(biāo)鏡像文件的文件內(nèi)容,根據(jù)用戶要求訪問的內(nèi)容在目標(biāo)鏡像文件中的文件偏移和原始文件的信息計(jì)算出該內(nèi)容所在的原始文件及相應(yīng)的文件偏移,從原始文件中讀取出相應(yīng)的內(nèi)容并返回給用戶。基于索引編碼的虛擬文件系統(tǒng)的建立方法的實(shí)施例基于上述的基于索引編碼的虛擬文件系統(tǒng),其建立方法如圖4A所示,而圖4B示出了一個(gè)具體示例的示意圖。請(qǐng)參見圖4A,下面是對(duì)本實(shí)施例的虛擬文件系統(tǒng)的建立方法的各個(gè)步驟的詳細(xì)描述。
步驟SlO:接收用戶的合并請(qǐng)求生成索引文件,其中合并請(qǐng)求包括若干原始文件和目標(biāo)鏡像文件。系統(tǒng)在收到用戶的指令后檢查用戶指定的所有原始文件,記錄這些原始文件的文件信息(文件信息包括但不限于文件大小、文件名稱、最后修改時(shí)間等),并根據(jù)這些原始文件的文件信息以及用戶指定生成的目標(biāo)文件的文件信息,創(chuàng)建一個(gè)與目標(biāo)文件一一對(duì)應(yīng)的索引文件,把目標(biāo)文件的文件信息以及所有原始文件的文件信息編碼并寫入該索引文件中。步驟Sll:通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件--對(duì)應(yīng),索引文件中包含目標(biāo)鏡像文件和原始文件的文件信息。索引目錄結(jié)構(gòu)存放在任何可訪問的文件系統(tǒng)上,例如傳統(tǒng)文件系統(tǒng)的磁盤、光盤文件系統(tǒng)、閃存文件系統(tǒng)、內(nèi)存文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)等。步驟S12:根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成對(duì)應(yīng)的目標(biāo)鏡像文件,多個(gè)目標(biāo)鏡像文件形成鏡像文件系統(tǒng)。鏡像文件系統(tǒng)根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成鏡像文件系統(tǒng)中對(duì)應(yīng)的目標(biāo)鏡像文件,供用戶查看和讀取使用。鏡像文件系統(tǒng)的API接口被重寫后接管用戶對(duì)鏡像文件系統(tǒng)的訪問。當(dāng)用戶訪問一個(gè)路徑/文件時(shí),如果該路徑/文件屬于鏡像文件系統(tǒng),那么訪問過程中屬于鏡像文件系統(tǒng)部分的文件系統(tǒng)訪問接口將由虛擬文件系統(tǒng)接管提供。鏡像文件系統(tǒng)像其他的文件系統(tǒng)一樣掛載在目錄樹上。用戶可以像訪問傳統(tǒng)文件系統(tǒng)一樣訪問鏡像文件系統(tǒng)(寫屬性操作除外),鏡像文件系統(tǒng)提供和傳統(tǒng)文件系統(tǒng)一樣的訪問接口,用戶不會(huì)也不需要感知到其訪問的是鏡像文件系統(tǒng)。用戶對(duì)鏡像文件系統(tǒng)內(nèi)所有文件和目錄的寫屬性的操作都會(huì)返回失敗,寫屬性的操作用戶需要通過重新生成索引文件來(lái)實(shí)現(xiàn),也就是說,鏡像文件系統(tǒng)本身是一個(gè)只讀文件系統(tǒng)。請(qǐng)參見圖4B,用戶向接口模塊要求生成目標(biāo)鏡像文件/index/test/ws.file,用于生成該目標(biāo)文件的 3 個(gè)原始文件為 /src/sl/wsl.fI,/src/sl/ws2.f2,/src/s2/ws3.f3。接口模塊根據(jù)用戶輸入查找上述3個(gè)原始文件,并訪問其文件信息,若訪問及建立索引文件失敗,則向用戶報(bào)告錯(cuò)誤。反之根據(jù)原始文件信息和用戶輸入的目標(biāo)鏡像文件生成目標(biāo)鏡像文件的文件信息:文件名為用戶輸入的目標(biāo)鏡像文件的文件名,文件的大小為上述3個(gè)原始文件合成后的大小,文件的最后修改時(shí)間為上述3個(gè)原始文件最后修改時(shí)間中最新的那一個(gè),其他文件屬性類似處理生成等。接口模塊創(chuàng)建一個(gè)與目標(biāo)鏡像文件一一對(duì)應(yīng)的索引文件,并把在上一步中生成的目標(biāo)鏡像文件的文件信息和訪問到的原始文件的文件信息寫入改索引文件。
基于索引編碼的虛擬文件系統(tǒng)的訪問方法的實(shí)施例
圖5A示出了上述實(shí)施例的基于索引編碼的虛擬文件系統(tǒng)的訪問方法的較佳實(shí)施例的流程。圖5B示出了圖5A所示的虛擬文件系統(tǒng)的訪問方法的示意圖。
請(qǐng)參見圖5A,下面是對(duì)本實(shí)施例的虛擬文件系統(tǒng)的訪問方法的各個(gè)步驟的詳細(xì)描述。
步驟S20:接收用戶對(duì)目標(biāo)鏡像文件的訪問請(qǐng)求。
步驟S21:根據(jù)用戶要求訪問的目標(biāo)鏡像文件訪問其一一對(duì)應(yīng)的索引文件,從索引文件的記錄中獲取目標(biāo)鏡像文件的文件信息和原始文件的文件信息。文件信息包括文件大小、文件名稱、最后修改時(shí)間等。
步驟S22:判斷用戶所要訪問的對(duì)象,若是訪問目標(biāo)鏡像文件的文件信息,則直接返回獲取到的目標(biāo)鏡像文件的文件信息和原始文件的文件信息。
步驟S23:若是訪問目標(biāo)鏡像文件的文件內(nèi)容,則根據(jù)用戶要求訪問的內(nèi)容在目標(biāo)鏡像文件中的文件偏移和原始文件的信息計(jì)算出該內(nèi)容所在的原始文件及相應(yīng)的文件偏移,從原始文件中讀取出相應(yīng)的內(nèi)容并返回給用戶。
請(qǐng)參見圖5B,用戶要求訪問文件/dst/test/ws.file。虛擬文件系統(tǒng)根據(jù)用戶要求訪問的目標(biāo)鏡像文件訪問其--對(duì)應(yīng)的索引文件/index/test/ws.file,獲取目標(biāo)鏡像文件的文件信息及原始文件的文件信息。若用戶要求訪問的是鏡像文件的文件信息,例如用戶要求知道文件名、文件大小、最后修改時(shí)間等信息,則虛擬文件系統(tǒng)根據(jù)索引文件中記錄的信息直接返回。若用戶要求訪問的是文件的內(nèi)容,則虛擬文件系統(tǒng)根據(jù)用戶要求訪問的內(nèi)容在鏡像文件中的文件偏移和原始文件的信息計(jì)算出這段內(nèi)容所在的原始文件(可能有多個(gè))及相應(yīng)的文件偏移。虛擬文件系統(tǒng)從原始文件中讀取出相應(yīng)的內(nèi)容,并返回給用戶。用戶獲取到文件信息/內(nèi)容,用戶像訪問傳統(tǒng)的文件系統(tǒng)一樣訪問了文件,并獲取到了想要的結(jié)果,而不關(guān)心相應(yīng)的文件系統(tǒng)底層API已被虛擬文件系統(tǒng)接管。
上述實(shí)施例是提供給本領(lǐng)域普通技術(shù)人員來(lái)實(shí)現(xiàn)和使用本發(fā)明的,本領(lǐng)域普通技術(shù)人員可在不脫離本發(fā)明的發(fā)明思想的情況下,對(duì)上述實(shí)施例做出種種修改或變化,因而本發(fā)明的保護(hù)范圍并不被上述實(shí)施例所限,而應(yīng)該是符合權(quán)利要求書所提到的創(chuàng)新性特征的最大范圍。
權(quán)利要求
1.一種基于索引編碼的虛擬文件系統(tǒng),包括: 接口模塊,接收用戶的合并請(qǐng)求生成索引文件,其中合并請(qǐng)求包括若干原始文件和目標(biāo)鏡像文件; 索引目錄模塊,連接接口模塊,通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件—對(duì)應(yīng),索引文件中包含目標(biāo)鏡像文件和原始文件的文件信息; 鏡像文件系統(tǒng),連接索引目錄模塊,根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成鏡像文件系統(tǒng)中對(duì)應(yīng)的目標(biāo)鏡像文件。
2.根據(jù)權(quán)利要求1所述的基于索引編碼的虛擬文件系統(tǒng),其特征在于,索引目錄模塊的索引目錄結(jié)構(gòu)存放在任何可訪問的文件系統(tǒng)上。
3.根據(jù)權(quán)利要求1所述的基于索引編碼的虛擬文件系統(tǒng),其特征在于,鏡像文件系統(tǒng)還包括: 文件信息查詢單元,供用戶查詢鏡像文件系統(tǒng)中的目標(biāo)鏡像文件的文件信息,根據(jù)目標(biāo)鏡像文件在索引目錄結(jié)構(gòu)中的對(duì)應(yīng)的索引文件中的信息直接響應(yīng)查詢; 文件內(nèi)容訪問單元,供用戶訪問鏡像文件系統(tǒng)中的目標(biāo)鏡像文件的文件內(nèi)容,根據(jù)用戶要求訪問的內(nèi)容在目標(biāo)鏡像文件中的文件偏移和原始文件的信息計(jì)算出該內(nèi)容所在的原始文件及相應(yīng)的文件偏移,從原始文件中讀取出相應(yīng)的內(nèi)容并返回給用戶。
4.根據(jù) 權(quán)利要求1-3中任一項(xiàng)所述的基于索引編碼的虛擬文件系統(tǒng),其特征在于,文件信息包括但不限于文件大小、文件名稱、最后修改時(shí)間。
5.一種基于索引編碼的虛擬文件系統(tǒng)的建立方法,包括: 接收用戶的合并請(qǐng)求生成索引文件,其中合并請(qǐng)求包括若干原始文件和目標(biāo)鏡像文件; 通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件--對(duì)應(yīng),索引文件中包含目標(biāo)鏡像文件和原始文件的文件信息; 根據(jù)索弓丨目錄結(jié)構(gòu)中的索引文件和索弓I文件中指出的原始文件,生成對(duì)應(yīng)的目標(biāo)鏡像文件,多個(gè)目標(biāo)鏡像文件形成鏡像文件系統(tǒng)。
6.根據(jù)權(quán)利要求5所述的基于索引編碼的虛擬文件系統(tǒng)的建立方法,其特征在于,索引目錄模塊的索引目錄結(jié)構(gòu)存放在任何可訪問的文件系統(tǒng)上。
7.根據(jù)權(quán)利要求5或6所述的基于索引編碼的虛擬文件系統(tǒng)的建立方法,其特征在于,文件信息包括但不限于文件大小、文件名稱、最后修改時(shí)間。
8.一種基于索引編碼的虛擬文件系統(tǒng)的訪問方法,包括: 接收用戶對(duì)目標(biāo)鏡像文件的訪問請(qǐng)求; 根據(jù)用戶要求訪問的目標(biāo)鏡像文件訪問其--對(duì)應(yīng)的索引文件,從索引文件的記錄中獲取目標(biāo)鏡像文件的文件信息和原始文件的文件信息; 判斷用戶所要訪問的對(duì)象,若是訪問目標(biāo)鏡像文件的文件信息,則直接返回獲取到的目標(biāo)鏡像文件的文件信息和原始文件的文件信息; 若是訪問目標(biāo)鏡像文件的文件內(nèi)容,則根據(jù)用戶要求訪問的內(nèi)容在目標(biāo)鏡像文件中的文件偏移和原始文件的信息計(jì)算出該內(nèi)容所在的原始文件及相應(yīng)的文件偏移,從原始文件中讀取出相應(yīng)的內(nèi)容并返回給用戶。
9.根據(jù)權(quán)利要求8所述的基于索引編碼的虛擬文件系統(tǒng)的訪問方法,其特征在于,文件信息包括但不限 于文件大小、文件名稱、最后修改時(shí)間。
全文摘要
本發(fā)明公開了基于索引編碼的虛擬文件系統(tǒng)及建立方法、訪問方法,減少了合并文件過程中產(chǎn)生的讀取和寫入操作,降低系統(tǒng)IO負(fù)載,使文件在不需要讀取和寫入內(nèi)容的情況下完成文件合并的操作。其技術(shù)方案為系統(tǒng)包括接口模塊,接收用戶的合并請(qǐng)求生成索引文件,其中合并請(qǐng)求包括若干原始文件和目標(biāo)鏡像文件;索引目錄模塊,連接接口模塊,通過一索引目錄結(jié)構(gòu)存儲(chǔ)生成的索引文件,索引文件和目標(biāo)鏡像文件一一對(duì)應(yīng),索引文件中包含目標(biāo)鏡像文件和原始文件的文件信息;鏡像文件系統(tǒng),連接索引目錄模塊,根據(jù)索引目錄結(jié)構(gòu)中的索引文件和索引文件中指出的原始文件,生成鏡像文件系統(tǒng)中對(duì)應(yīng)的目標(biāo)鏡像文件。
文檔編號(hào)G06F17/30GK103150402SQ20131010249
公開日2013年6月12日 申請(qǐng)日期2013年3月27日 優(yōu)先權(quán)日2013年3月27日
發(fā)明者洪珂, 鄒寧勇, 林志遠(yuǎn) 申請(qǐng)人:網(wǎng)宿科技股份有限公司