如何在存儲中成功使用搜索技術(shù)
傳統文件系統效率不高
幾乎所有的文件存儲系統都是基于文件系統的,文件系統與操作系統是密不可分的整體。文件系統由文件和目錄組成。數據按其內容、結構和用途組成若干命名的文件。目錄構建了文件系統的層次化化結構。用戶(hù)創(chuàng )建子層次以便對文件進(jìn)行分類(lèi)。文件系統可以有效地組織文件,一個(gè)目錄下的子目錄或者文件的名字是惟一的,這就保證了文件的全路徑名稱(chēng)不會(huì )同時(shí)指向兩個(gè)或者更多的子目錄或者文件。
根據什么來(lái)建立層次結構并沒(méi)有一個(gè)很有效的方法,在考慮文件安全和文件共享時(shí),層次結構的缺陷更加明顯。比如,一個(gè)文件在網(wǎng)絡(luò )上進(jìn)行共享時(shí),會(huì )把這個(gè)文件復制到一個(gè)公共目錄下面,同時(shí)設定好公共目錄的訪(fǎng)問(wèn)權限,這樣一個(gè)文件就會(huì )在兩個(gè)不同的層次結構中有著(zhù)兩份拷貝,會(huì )給文件的管理帶來(lái)很大不便,特別是在文件的數量不斷增加的時(shí)候。
另外,層次化結構使得文件訪(fǎng)問(wèn)的效率不高。比如,目錄隱藏了它包含的內容,并且目錄下可能還有一層又一層的子目錄,用戶(hù)很難知道一個(gè)目錄下面到底有什么東西,訪(fǎng)問(wèn)某個(gè)文件必須通過(guò)層次型的目錄樹(shù)結構到達文件的保存位置,如果不知道文件保存位置,就必須遍歷整個(gè)目錄或使用操作系統的搜索功能,而操作系統僅能依靠文件名來(lái)檢索和查找數據。
語(yǔ)義文件系統高效可靠
在過(guò)去十幾年中,文件系統技術(shù)并未進(jìn)行大的變革,而新數據類(lèi)型(如多媒體、電子郵件)不斷出現,包括了豐富的元數據。沒(méi)有給予元數據信息足夠重要的位置,存儲在文件系統中的數據都缺乏語(yǔ)義支持,因此存儲系統不能提供高層的基于語(yǔ)義的關(guān)聯(lián)式數據存取。正因為認識到現有文件系統的不足,學(xué)術(shù)界和工業(yè)界做了大量工作,研究如何提高文件的管理和搜索效率。其中,最重要的研究成果是語(yǔ)義文件系統,它可以充分利用文件的元數據信息進(jìn)行文件瀏覽與搜索。
語(yǔ)義文件系統利用元數據抽取工具獲取更多的元數據,記錄用戶(hù)活動(dòng),并采用手工或其他方法對文件進(jìn)行標注,最后將這些信息結合起來(lái)實(shí)現統一元數據。通過(guò)元數據信息在非結構化文件和數據庫數據之間建立起鏈接,存儲系統可以實(shí)現快速的基于文件屬性的文件系統訪(fǎng)問(wèn)。
語(yǔ)義文件系統提供新的規則,即相關(guān)性的訪(fǎng)問(wèn)方法。相關(guān)性訪(fǎng)問(wèn)是基于內容訪(fǎng)問(wèn)的特性,供一種靈活的關(guān)聯(lián)方式來(lái)存取文件。文件屬性由轉換器從特定類(lèi)型文件中自動(dòng)抽取,表達為 Hkey和Valuei對。同時(shí),語(yǔ)義文件系統又引入了虛擬文件夾的概念。在虛擬文件夾中,一個(gè)使用者可以進(jìn)行基于屬性的搜索,系統在結果集中創(chuàng )建一組文件的符號連接,提供跨越目錄層次的文件存取通路。比如WinFS和Spotlight的虛擬文件夾,虛擬文件夾可采用XML格式的文本文件進(jìn)行表示,內容是對數據庫進(jìn)行查詢(xún)后返回的結果組成的列表,包含了指向符合某種規則的文件或文件夾的鏈接。在占用更多存儲空間的情況下,語(yǔ)義文件系統可輕易實(shí)現一個(gè)文件同時(shí)放在幾個(gè)不同的目錄層次下面。
語(yǔ)義文件系統可對文件進(jìn)行高效分類(lèi)。比如,基于用戶(hù)空間文件系統(Filesystem in Userspace,FUSE)的TagFS采用智能標簽(Smart Tagging)機制,可以動(dòng)態(tài)地讓數據文件具備特定的標簽,而加了標簽的數據文件能依據用戶(hù)的喜好與意圖分類(lèi),并依據權重排序后呈現。
語(yǔ)義文件系統便于用戶(hù)對數據文件進(jìn)行高效地搜索。邏輯文件系統 (LISFS)使用一個(gè)數據庫為系統的文件提供搜索功能。數據庫表由從關(guān)鍵詞到對象的映射組成。目錄的內容是一個(gè)符合查詢(xún)條件的對象集。蘋(píng)果計算機的Spotlight是一個(gè)元數據和內容索引系統,并集成在HFS文件系統中。WinFS的元數據被儲存在一個(gè)數據庫中,而Spotlight的索引內容和搜索結果也保存在數據庫中。Linux也有一個(gè)與Spotlight類(lèi)似的系統,稱(chēng)為Beagle。Beagle利用一個(gè)內核中的文件系統事件服務(wù)Inotify,為新文件類(lèi)型提供一個(gè)即插即用的基礎架構。
集成數據管理與搜索
盡管語(yǔ)義文件系統在文件的存儲和檢索方面做了很多優(yōu)化工作,相關(guān)方法也獲得了廣泛認可,但是其層次化的本質(zhì)并沒(méi)有改變,語(yǔ)義文件系統只是層次化文件系統的重要補充技術(shù)。
一種新思想是把文件存儲與Web結合起來(lái),Web通過(guò)加入鏈接來(lái)傳達信息。一般情況下,在Web和超文本文件中,鏈接可以讓使用者從一個(gè)文件自動(dòng)跳轉到另一個(gè)文件。鏈接可以通過(guò)語(yǔ)義Web進(jìn)行擴展。
為了使語(yǔ)義Web成為可能,W3C制訂了各項標準,為HTML和HTTP在某種程度上的標準化提供一個(gè)可行的途徑。語(yǔ)義Web標準組分成不同層次,URI和Unicode在底部,XML、名字空間和樣式作為自描述文件層在中間,RDF在頂部。RDF為各種應用提供了一個(gè)通用的元數據框架。
此外,語(yǔ)義Web增加了對內容進(jìn)行處理的能力,并引入了另外兩個(gè)概念,即知識導航員和聯(lián)邦知識或數據庫。因此,語(yǔ)義Web可能成為一個(gè)容易獲得的萬(wàn)能圖書(shū)館。
如果使文件存儲變成Web的一部分,文件的存儲和搜索可能會(huì )產(chǎn)生一次變革?;谶@種思想,我們正在開(kāi)發(fā)語(yǔ)義網(wǎng)絡(luò )存儲(Semantic Network Storage,SNStor)系統,目的是提供豐富的元數據結構和構建一個(gè)在線(xiàn)文件系統。為了解決基于Web的文件存儲系統的性能問(wèn)題,我們準備采用更快的數據結構--平衡樹(shù)來(lái)取代多種鏈接列表,還要采用壓縮文件,才能實(shí)現高效存儲。此外,我們還在研究使用容錯數據結構,以增加存儲的可靠性和可用性,如開(kāi)發(fā)一致性檢查程序以提高可用性。
文件數量的高速增長(cháng)預示著(zhù),市場(chǎng)對高效率文件存儲系統的需求會(huì )急劇增長(cháng)。那些可以將數據管理和搜索功能集成在一起的文件存儲系統,可以提高存儲效率,并減少存儲成本,一定會(huì )受到用戶(hù)的熱烈歡迎。
評論