專利名稱:一種面向應(yīng)用的文件系統(tǒng)名字空間管理方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種面向應(yīng)用的文件系 統(tǒng)名字空間管理方法。
背景技術(shù):
隨著個(gè)人電腦市場的增長和存儲(chǔ)設(shè)備數(shù)據(jù)存儲(chǔ)能力的不斷提高,個(gè) 人數(shù)據(jù)量變得越來越大。文件系統(tǒng)作為管理用戶數(shù)據(jù)的基礎(chǔ),其名字空 間變得越來越復(fù)雜,這導(dǎo)致文件系統(tǒng)元數(shù)據(jù)訪問性能變得越來越低。
在計(jì)算機(jī)系統(tǒng)中,文件包括元數(shù)據(jù)和數(shù)據(jù)兩部分,元數(shù)據(jù)是對(duì)文件 長度、類型等屬性的描述,文件的名字是元數(shù)據(jù)中的一項(xiàng),用于標(biāo)識(shí)一
個(gè)文件;文件系統(tǒng)是文件的集合,文件系統(tǒng)的名字空間即其所包括文件 的名字的集合。
應(yīng)用程序的進(jìn)程所訪問的名字空間是該進(jìn)程所訪問文件的名字的集合。
文件系統(tǒng)元數(shù)據(jù)在語義文件系統(tǒng)中占有很重要的地位,許多語義信 息都是通過元數(shù)據(jù)的形式來表示的。當(dāng)前的文件系統(tǒng)沒有給予元數(shù)據(jù)足 夠的重視,所以它們不能充分利用文件系統(tǒng)的元數(shù)據(jù)進(jìn)行內(nèi)容搜索,更 不能提供一些高級(jí)的基于語義的關(guān)聯(lián)式數(shù)據(jù)存取。目前許多語義文件系 統(tǒng)都是通過在元數(shù)據(jù)中擴(kuò)展文件屬性的方式,以包含多種類型的語義信 息,并利用這些擴(kuò)展的元數(shù)據(jù)提高文件的檢索效率。
目前語義文件系統(tǒng)中元數(shù)據(jù)擴(kuò)展的內(nèi)容大體可包括如下幾類 1運(yùn)行狀態(tài)信息。許多領(lǐng)域都需要運(yùn)行狀態(tài)信息,比如應(yīng)用程序和 編譯器。應(yīng)用程序需要對(duì)狀態(tài)信息的短期和長期的存儲(chǔ),比如許可證信息,用戶信息,密碼,DNS或SMTP服務(wù)器,ORB信息等。編譯器也會(huì) 產(chǎn)生有關(guān)程序數(shù)據(jù)類型的信息。
2數(shù)據(jù)模型。數(shù)據(jù)庫管理系統(tǒng),Windows注冊(cè)表,接口儲(chǔ)存庫都維 護(hù)著關(guān)于數(shù)據(jù)結(jié)構(gòu)和模式的信息,例如數(shù)據(jù)類型,索引,約束,聯(lián)系和 接口等。
3多媒體。像圖片,視頻,音樂等聽覺和視覺信息不能夠很容易的 從中提取出用于査詢的有用格式。因此就需要元數(shù)據(jù)信息以用來提供相 關(guān)訪問。通常這種信息可能通過人工根據(jù)關(guān)鍵字分類數(shù)據(jù)后輸入或者通 過圖片處理程序提取特征樣式后輸入。
雖然當(dāng)前許多文件系統(tǒng),比如微軟的WinFS、蘋果的Spotlight,都 提供了某種程度上的語義信息,但相比于一個(gè)使用廣泛的開放的數(shù)據(jù)模 型方法構(gòu)建的語義文件系統(tǒng),它們包含的語義信息都還遠(yuǎn)遠(yuǎn)不夠。大多 數(shù)文件系統(tǒng)使用層級(jí)目錄結(jié)構(gòu),這種結(jié)構(gòu)僅僅適用于小規(guī)模或中等規(guī)模 名字空間的文件系統(tǒng)。在大規(guī)模數(shù)據(jù)文件系統(tǒng)中,文件的分類和檢索將 變得十分困難。用戶亟需更加有效的組織文件,檢索文件的方法。
發(fā)明內(nèi)容
本發(fā)明提出一種面向應(yīng)用的文件系統(tǒng)名字空間管理方法,解決現(xiàn)有 文件系統(tǒng)中元數(shù)據(jù)擴(kuò)展的內(nèi)容未包含文件的應(yīng)用語義的問題,以縮短元 數(shù)據(jù)訪問時(shí)間并提高應(yīng)用訪問的效率。
本發(fā)明的一種面向應(yīng)用的文件系統(tǒng)名字空間管理方法,包括下列步
驟
(1)應(yīng)用語義提取步驟預(yù)先運(yùn)行各個(gè)應(yīng)用程序,跟蹤各應(yīng)用程序 的進(jìn)程對(duì)文件的訪問,并在文件中增加一項(xiàng)記錄元數(shù)據(jù)用來保存訪問過 該文件的應(yīng)用程序的進(jìn)程名;然后根據(jù)所有的記錄元數(shù)據(jù),提取應(yīng)用語義,每條應(yīng)用語義描述一個(gè)進(jìn)程和所訪問文件之間的關(guān)系,并將各應(yīng)用
語義以XML文件的形式保存到數(shù)據(jù)庫中,等待調(diào)用;
(2) 名字空間裁剪步驟該步驟被調(diào)用時(shí),根據(jù)應(yīng)用程序的進(jìn)程名 從數(shù)據(jù)庫中取出其對(duì)應(yīng)的應(yīng)用語義,根據(jù)應(yīng)用語義裁剪出與該進(jìn)程關(guān)聯(lián) 的名字空間,將其以DOM樹的形式駐留在內(nèi)存中,然后返回;
(3) 裁剪名字空間的訪問步驟實(shí)際運(yùn)行應(yīng)用程序,在應(yīng)用程序的 進(jìn)程訪問文件時(shí),文件系統(tǒng)將接收到的訪問請(qǐng)求重定向到與該進(jìn)程關(guān)聯(lián) 的裁剪的名字空間,重定向成功,則完成訪問請(qǐng)求;否則調(diào)用名字空間 裁剪步驟,再向文件系統(tǒng)發(fā)出訪問請(qǐng)求。
所述的面向應(yīng)用的文件系統(tǒng)名字空間管理方法,其特征在于
(1) 所述應(yīng)用語義提取步驟,順序進(jìn)行下述過程
(1.1) 啟動(dòng)各應(yīng)用程序,當(dāng)有文件被訪問時(shí),順序進(jìn)行;
(1.2) 在被訪問文件F的記錄元數(shù)據(jù)中添加訪問進(jìn)程的名稱,記錄 元數(shù)據(jù)的格式為A:B:C:…,其中F為被訪問的文件名,A、 B、 C分別為 訪問此文件的應(yīng)用程序的進(jìn)程名;
(1.3) 所有應(yīng)用程序結(jié)束,根據(jù)所有被訪問文件的記錄元數(shù)據(jù),提 取應(yīng)用語義,其格式為A=F1:F2:F3:"',其中A為進(jìn)程名,F(xiàn)l、 F2、 F3 為被訪問的文件名;
(1.4) 將所提取到的各應(yīng)用程序的進(jìn)程的應(yīng)用語義,寫成XML文件, 保存到數(shù)據(jù)庫中,結(jié)束;
(2) 所述名字空間裁剪步驟,順序進(jìn)行下述過程
(2.1) 當(dāng)該步驟被調(diào)用時(shí),獲取應(yīng)用程序進(jìn)程的ID參數(shù);
(2.2) 根據(jù)所述進(jìn)程的ID參數(shù),訪問其數(shù)據(jù)結(jié)構(gòu),得到進(jìn)程名A;
(2.3) 從數(shù)據(jù)庫中讀出包含進(jìn)程名A的應(yīng)用語義的XML文件;
(2.4) 將讀出的XML文件解析成DOM樹,將進(jìn)程名A的應(yīng)用語義包含的所有文件名對(duì)應(yīng)的元數(shù)據(jù)添加到該DOM樹中,并且將該DOM樹駐留 在內(nèi)存中,得到與A關(guān)聯(lián)的裁剪的名字空間,結(jié)束;
(3)所述裁剪名字空間的訪問步驟,進(jìn)行下述過程
(3.1) 應(yīng)用程序的進(jìn)程A訪問文件時(shí),向文件系統(tǒng)發(fā)送訪問請(qǐng)求, 進(jìn)行下一步;
(3.2) 文件系統(tǒng)從請(qǐng)求包中得到進(jìn)程A的ID參數(shù),再將訪問請(qǐng)求 重定向到與cA關(guān)聯(lián)的裁剪的名字空間,進(jìn)行下一步;
(3. 3)重定向操作在內(nèi)存中檢查與進(jìn)程A的ID參數(shù)對(duì)應(yīng)的DOM樹 是否存在,存在則轉(zhuǎn)過程(3.5),不存在則進(jìn)行下一步;
(3.4) 調(diào)用名字空間裁剪步驟,得到與進(jìn)程A關(guān)聯(lián)的裁剪的名字空 間,轉(zhuǎn)過程.(3.2);
(3.5) 在與進(jìn)程A關(guān)聯(lián)的裁剪的名字空間中完成文件的訪問請(qǐng)求, 繼續(xù)進(jìn)行應(yīng)用程序;
(3.6) 應(yīng)用程序完成退出時(shí),在內(nèi)存中清除與其所包括的所有進(jìn)程 相關(guān)的裁剪的名字空間,結(jié)束。
本發(fā)明通過提取應(yīng)用程序的進(jìn)程和其所訪問文件之間的關(guān)聯(lián)信息 (即文件的應(yīng)用語義),將各應(yīng)用語義用XML文件保存到數(shù)據(jù)庫中,避免 因?yàn)橄到y(tǒng)重啟而造成的重復(fù)提取;并且利用這些文件的應(yīng)用語義裁剪與 應(yīng)用程序的進(jìn)程關(guān)聯(lián)的名字空間,充分考慮和利用了系統(tǒng)和應(yīng)用程序的 進(jìn)程的名字空間的巨大差異,縮短應(yīng)用程序的進(jìn)程訪問元數(shù)據(jù)的時(shí)間, 提高元數(shù)據(jù)的訪問效率性能,適用于當(dāng)前名字空間變得越來越復(fù)雜的文 件系統(tǒng)。
圖2為本發(fā)明的應(yīng)用語義提取步驟流程示意圖; 圖3為本發(fā)明的名字空間裁剪步驟流程示意圖; 圖4為本發(fā)明的裁剪名字空間的訪問步驟流程示意具體實(shí)施例方式
假設(shè)一個(gè)應(yīng)用程序由2個(gè)進(jìn)程組成,進(jìn)程名分別為PA、 PB;共訪問 5個(gè)文件,分別為Filel、 File2、 File3、 File4、 File5。 圖2為應(yīng)用語義提取步驟示意(1) 啟動(dòng)這個(gè)應(yīng)用程序,當(dāng)有文件被訪問時(shí),順序進(jìn)行;
(2) 在被訪問文件的記錄元數(shù)據(jù)中添加訪問進(jìn)程的名稱;
(3) 所有應(yīng)用程序結(jié)束,根據(jù)所有被訪問文件的記錄元數(shù)據(jù),提取 應(yīng)用語義,應(yīng)用語義為PA:Filel:File2:File3, PB:File4:File5;
(4) 將所提取到的各應(yīng)用程序的進(jìn)程的應(yīng)用語義,寫成XML文件, 保存到數(shù)據(jù)庫中;
(5) 結(jié)束。
圖3為名字空間裁剪步驟流程(1) 當(dāng)該步驟被調(diào)用時(shí),獲取應(yīng)用程序進(jìn)程的ID參數(shù);
(2) 根據(jù)所述進(jìn)程的ID參數(shù),訪問其數(shù)據(jù)結(jié)構(gòu),得到進(jìn)程名PA;
(3) 從數(shù)據(jù)庫中讀出包含進(jìn)程名PA的應(yīng)用語義的XML文件;
(4) 將讀出的XML文件解析成DOM樹,將進(jìn)程名PA的應(yīng)用語義包含 的Filel、 File2、 File3對(duì)應(yīng)的元數(shù)據(jù)添加到該D0M樹中,并且將該D0M 樹駐留在內(nèi)存中,得到與PA關(guān)聯(lián)的裁剪的名字空間;
(5)結(jié)束。
圖4為裁剪名字空間的訪問過程流程(1)應(yīng)用程序的進(jìn)程PA訪問文件Filel時(shí),向文件系統(tǒng)發(fā)送訪問 請(qǐng)求,進(jìn)行下一步;(2) 文件系統(tǒng)從請(qǐng)求包中得到進(jìn)程PA的ID參數(shù),再將訪問請(qǐng)求重 定向到與進(jìn)程PA關(guān)聯(lián)的裁剪的名字空間,進(jìn)行下一步;
(3) 重定向操作在內(nèi)存中檢査與進(jìn)程PA的ID參數(shù)對(duì)應(yīng)的DOM樹是 否存在,存在則轉(zhuǎn)過程(5),不存在則進(jìn)行下一步;
(4) 調(diào)用名字空間裁剪步驟,得到與進(jìn)程PA關(guān)聯(lián)的裁剪的名字空 間,轉(zhuǎn)過程(2);
(5) 在與進(jìn)程PA關(guān)聯(lián)的裁剪的名字空間中完成文件Filel的訪問 請(qǐng)求,繼續(xù)進(jìn)行應(yīng)用程序;
(6) 應(yīng)用程序完成退出時(shí),在內(nèi)存中清除與其所包括的進(jìn)程PA相 關(guān)的裁剪的名字空間;
(7)結(jié)束。
權(quán)利要求
1. 一種面向應(yīng)用的文件系統(tǒng)名字空間管理方法,包括下列步驟(1)應(yīng)用語義提取步驟預(yù)先運(yùn)行各個(gè)應(yīng)用程序,跟蹤各應(yīng)用程序的進(jìn)程對(duì)文件的訪問,并在文件中增加一項(xiàng)記錄元數(shù)據(jù)用來保存訪問過該文件的應(yīng)用程序的進(jìn)程名;然后根據(jù)所有的記錄元數(shù)據(jù),提取應(yīng)用語義,每條應(yīng)用語義描述一個(gè)進(jìn)程和所訪問文件之間的關(guān)系,并將各應(yīng)用語義以XML文件的形式保存到數(shù)據(jù)庫中,等待調(diào)用;(2)名字空間裁剪步驟該步驟被調(diào)用時(shí),根據(jù)應(yīng)用程序的進(jìn)程名從數(shù)據(jù)庫中取出其對(duì)應(yīng)的應(yīng)用語義,根據(jù)應(yīng)用語義裁剪出與該進(jìn)程關(guān)聯(lián)的名字空間,將其以DOM樹的形式駐留在內(nèi)存中,然后返回;(3)裁剪名字空間的訪問步驟實(shí)際運(yùn)行應(yīng)用程序,在應(yīng)用程序的進(jìn)程訪問文件時(shí),文件系統(tǒng)將接收到的訪問請(qǐng)求重定向到與該進(jìn)程關(guān)聯(lián)的裁剪的名字空間,重定向成功,則完成訪問請(qǐng)求;否則調(diào)用名字空間裁剪步驟,再向文件系統(tǒng)發(fā)出訪問請(qǐng)求。
2. 如權(quán)利要求l所述的面向應(yīng)用的文件系統(tǒng)名字空間管理方法,其 特征在于(1)所述應(yīng)用語義提取步驟,順序進(jìn)行下述過程(1.1) 啟動(dòng)各應(yīng)用程序,當(dāng)有文件被訪問時(shí),順序進(jìn)行;(1.2) 在被訪問文件F的記錄元數(shù)據(jù)中添加訪問進(jìn)程的名稱,記錄 元數(shù)據(jù)的格式為A:B:C:…,其中F為被訪問的文件名,A、 B、 C分別為 訪問此文件的應(yīng)用程序的進(jìn)程名;(1.3) 所有應(yīng)用程序結(jié)束,根據(jù)所有被訪問文件的記錄元數(shù)據(jù),提 取應(yīng)用語義,其格式為A二F1:F2:F3:…,其中A為進(jìn)程名,F(xiàn)l, F2, F3為 被訪問的文件名;(1. 4)將所提取到的各應(yīng)用程序的進(jìn)程的應(yīng)用語義,寫成XML文件, 保存到數(shù)據(jù)庫中,結(jié)束;(2) 所述名字空間裁剪步驟,順序進(jìn)行下述過程(2.1) 當(dāng)該步驟被調(diào)用時(shí),獲取應(yīng)用程序進(jìn)程的ID參數(shù);(2.2) 根據(jù)所述進(jìn)程的ID參數(shù),訪問其數(shù)據(jù)結(jié)構(gòu),得到進(jìn)程名A;(2.3) 從數(shù)據(jù)庫中讀出包含進(jìn)程名A的應(yīng)用語義的XML文件;(2.4) 將讀出的XML文件解析成DOM樹,將進(jìn)程名A的應(yīng)用語義包 含的所有文件名對(duì)應(yīng)的元數(shù)據(jù)添加到該DOM樹中,并且將該DOM樹駐留 在內(nèi)存中,得到與A關(guān)聯(lián)的裁剪的名字空間,結(jié)束;(3) 所述裁剪名字空間的訪問步驟,進(jìn)行下述過程(3.1)應(yīng)用程序的進(jìn)程A訪問文件時(shí),向文件系統(tǒng)發(fā)送訪問請(qǐng)求, 進(jìn)行下一步;(3. 2)文件系統(tǒng)從請(qǐng)求包中得到進(jìn)程A的ID參數(shù),再將訪問請(qǐng)求 重定向到與進(jìn)程A關(guān)聯(lián)的裁剪的名字空間,進(jìn)行下一步;(3. 3)重定向操作在內(nèi)存中檢查與進(jìn)程A的ID參數(shù)對(duì)應(yīng)的DOM樹 是否存在,存在則轉(zhuǎn)過程(3.5),不存在則進(jìn)行下一步;(3.4) 調(diào)用名字空間裁剪步驟,得到與進(jìn)程A關(guān)聯(lián)的裁剪的名字空 間,轉(zhuǎn)過程(3.2);(3.5) 在與進(jìn)程A關(guān)聯(lián)的裁剪的名字空間中完成文件的訪問請(qǐng)求, 繼續(xù)進(jìn)行應(yīng)用程序;(3.6) 應(yīng)用程序完成退出時(shí),在內(nèi)存中清除與其所包括的所有進(jìn)程 相關(guān)的裁剪的名字空間,結(jié)束。
全文摘要
一種面向應(yīng)用的文件系統(tǒng)名字空間管理方法,屬于計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,解決現(xiàn)有文件系統(tǒng)中元數(shù)據(jù)擴(kuò)展的內(nèi)容未包含文件的應(yīng)用語義的問題,以縮短元數(shù)據(jù)訪問時(shí)間并提高應(yīng)用訪問的效率。本發(fā)明包括應(yīng)用語義提取、名字空間裁剪、裁剪名字空間訪問三個(gè)步驟。本發(fā)明通過提取應(yīng)用程序的進(jìn)程與其訪問的文件之間的應(yīng)用語義,裁剪出每個(gè)應(yīng)用程序的進(jìn)程面對(duì)的文件系統(tǒng)名字空間,使得應(yīng)用程序縮短元數(shù)據(jù)訪問時(shí)間并提高訪問的效率,適用于名字空間越來越復(fù)雜的文件系統(tǒng)。
文檔編號(hào)G06F17/30GK101419626SQ200810236600
公開日2009年4月29日 申請(qǐng)日期2008年11月28日 優(yōu)先權(quán)日2008年11月28日
發(fā)明者丹 馮, 展 施, 朱春霖, 勇 李, 李志超, 恒 趙, 鄧聰林 申請(qǐng)人:華中科技大學(xué)