虛擬資料夾

在計算機領域，虛擬資料夾通常指管理一批檔案的一個虛擬的資料夾，它不依賴於目錄樹層級中的位置，而是由軟體將資料儲存中的結果合併顯示。這可能是一個數據庫或自定義索引，然後在資料夾檢視中以可視方式呈現它們。虛擬資料夾可以被認為是列出具有特定標記檔案的一個檢視，在需要時即時將動態內容模擬為一個資料夾並呈現。在計算機科學中有幾個相似的理念，包括已儲存的搜尋、已儲存的查詢和過濾等。技術.虛擬資料夾為使用者提供一種更方便方法管理一批內容相關的檔案。根據使用者所需的特定標準的或所有的檔案被聚合到一個虛擬資料夾。虛擬資料夾中的檔案不限於硬碟上的某個物理位置，也可能其他形式。事實上，虛擬資料夾中的檔案甚至可以並未儲存在硬碟上，它們可以是網路共享或自定義應用資料庫中的內容，例如郵件或其他資料庫。檔案“不能”被儲存在虛擬資料夾中，因為那本質上只是一個檔案儲存的搜尋查詢。嘗試儲存檔案到虛擬資料夾可能遇到多種情況，取決於軟體實現，檔案可能被重定向到某個物理儲存空間。大多數實現都會預先索引硬碟或特定位置上的檔案以加速搜尋，這樣在搜尋開始時可以查詢索引以快速展現和完成搜尋任務，避免等待索引和查詢整個資料夾結構。實現.虛擬資料夾可以是作業系統中的一種結構。BeOS包含一種被稱為“已儲存查詢”的虛擬資料夾，這對虛擬資料夾在作業系統中的開發產生了影響。虛擬資料夾會在整個檔案系統上執行搜尋以動態填充內容，及使用子集或已快取的搜尋結果。歷史.BeOS.此作業系統的首個開發者預覽版釋出於1995年10月，包括類似資料庫的功能，使使用者能更方便地管理自己的檔案。為了此功能，檔案系統會索引特定檔案屬性以幫助快速搜尋。預設情況下，檔案系統會自動索引檔名、大小和最後修改日期，當其他應用程式或使用者告知時還可建立其他屬性的索引。當用戶執行檔案搜尋時，在資料夾 "/boot/home/queries" 中會建立一個檔案，檔名稱根據查詢內容和搜尋的日期時間派生，例如“Name = Western Infirmary - Mar 21, 11:59:40 PM”。搜尋的查詢條件儲存在被稱為“qrystr”檔案的一個屬性中。當該檔案被開啟時，檔案系統會查詢索引和開啟一個跟蹤視窗，保持最新的匹配條件的檔案列表。更多搜尋功能被新增到後續的版本中。Release 2引入了編輯已儲存查詢的功能，Release 3允許使用者自己定義已儲存查詢的名稱在1998年的Release 4之前，所有查詢都會無限期儲存。但從R4開始，BeOS開發者為所有查詢引入了7天的時間限制。如果使用者想將一個查詢保留下來，他們可以在“查詢”對話方塊取消“臨時”標記。Mac OS X.BeOS檔案系統的領頭開發者之一Dominic Giampaolo曾參與蘋果公司的Mac OS X作業系統併為其添加了虛擬資料夾系統。2005年4月，蘋果公司釋出Mac OS X v10.4，其中就包括被稱為“智慧資料夾”的虛擬資料夾。這些資料夾實質上由Spotlight引擎動態更新以包含匹配特定條件的內容。例如，這可以給你帶來一個特殊資料夾，其中包含所有包含關鍵詞“shpadoinkle”且在最近7天曾經編輯的Word文件。智慧資料夾是透過儲存一個Spotlight搜尋來建立，搜尋條件記錄在一個.savedSearch字尾的屬性列表檔案中，預設情況下儲存在“/Users/username/Library/Saved Searches”資料夾。在許多Spotlight引擎的應用程式中可以看到“智慧資料夾”概念的變種，通常以紫色色調的齒輪圖示標記。例如：郵件中的智慧郵箱和通訊錄中的智慧組。在沒有Spotlight的Mac OS X早期版本中，iApps有一個類似的概念，但它們沒有使用系統級的Spotlight引擎。Windows.2006年11月，微軟釋出Windows Vista，其中允許使用者儲存任何搜尋查詢為“搜尋資料夾”，這就是一種虛擬資料夾。搜尋資料夾的設計目的是使用者不需要記住自己的檔案儲存在哪裡。搜尋資料夾不是物理資料夾，它本質上是一個XML檔案，為Windows搜尋子系統提供一個已定義查詢的儲存。正因如此，搜尋資料夾可以在任何可建立普通資料夾的地方建立。類似的方法Windows XP中也存在，當Windows索引服務啟用時，搜尋可以儲存為.fnd檔案。但是，在Windows XP中的已儲存搜尋查詢只儲存了使用者的搜尋條件；使用者仍需指定搜尋位置並再次執行搜尋，並且搜尋結果非動態呈現。無論何時訪問“搜尋資料夾”，它都會返回與已儲存搜尋查詢相關的結果；結果清單中呈現的是實際的檔案和資料夾。搜尋查詢的定義可基於許多引數和屬性，包括檔名、指定日期、檔案本身內容、相關元資料、檔案型別、檔案所在位置及其他各種屬性。被稱為“查詢元件”的功能允許搜尋者基於其他“搜尋資料夾”進一步細分結果。Windows Vista在預設情況下， references the profile of the user who originally created a saved search as part of the query's scope, which includes the disk partition. This design choice does not prevent saved searches from being shared with other users, but it prevents them from operating on different partitions or user profiles. 雖然使用者可以手動修改已儲存搜尋的內容將引用範圍改為%USERPROFILE%環境變數， which will enable it to operate on other machines or profiles regardless of the original author or location, 微軟已釋出一個“SearchMelt Creator”實用工具允許使用者自動執行此流程。在Windows Vista的早期開發版本中，這些為預設的使用者配置資料夾預配置的“搜尋資料夾”取代了Windows開始選單上的那些資料夾連結。在Windows檔案資源瀏覽器中瀏覽時，導航面板會動態填充與當前檢視檢視相關的“搜尋資料夾”；舉一個例子，當檢視“文件”資料夾時，導航面板會基於文件的作者、關鍵詞、型別和最近更改的文件生成一個“搜尋資料夾”。這些預釋出版本的作業系統也包括其他虛擬資料夾，搜尋都透過主要的“庫”搜尋資料夾聚合。 微軟的表示這種做法的目標是完全超越傳統的物理資料夾概念，但公司收到的反饋顯示大量使用者對新的方式感到困惑/混亂。尤其是“搜尋資料夾”被放在開始選單導致人們相信它們是具有類似名稱和內容的多個物理資料夾。基於這種反饋，公司決定恢復在開始選單上放置物理資料夾的連結，方法類似以前Windows版本的顯示方式，並移除幾個至Windows Vista釋出到製造商時可用的“搜尋資料夾”。儘管在介面上不那麼明顯，該作業系統仍包含幾個預配置的搜尋資料夾：最近的文件、最近的電子郵件、最近的音樂、最近的圖片和影片、最近的更改以及“與我共享”，這些都是由一個“索引位置”搜尋資料夾提供，實現了早期的“庫”概念。在Windows 7中，虛擬資料夾的概念被顯著實現為“庫”功能。類似“已儲存的搜尋”，“庫”在本質上只是一個副檔名為 codice_1 的XML檔案，功能是收集具有特定屬性的一批檔案並在熟悉的資料夾風格介面上顯示它們。庫在檔案資源管理器上進行了名稱空間擴充套件，其XML檔案可以在各Windows或網路上重用。GNOME.在GNOME 2.14中，已儲存的搜尋是一個虛擬資料夾，內容是Nautilus的搜尋結果，內容來自多個後端。這些資料夾的內容在資料夾開啟時會動態確定，並在檔案被建立或修改時自動更新。其他實現.電子郵件客戶端.虛擬資料夾是電子郵件客戶端的一種常見設計結構。在1991年初，基於Emacs的郵件閱讀器VM在其5.09版本中就已提供虛擬資料夾設計。 VM允許使用者使用規則定義虛擬資料夾，這可涉及一個或多個物理資料夾中的郵件內容，並可基於特定選擇條件，如日期、作者、收件人、主題、郵件正文等。虛擬資料夾還可基於以前定義的虛擬資料夾建立，這樣可以根據標準重複篩選Helix Code在2000年建立的Evolution郵件客戶端也納入了虛擬資料夾。可以建立資料夾並自動列出與使用者定義規則匹配的郵件，例如列出所有涉及特定地址的郵件，或者所有包含特定關鍵詞的郵件。Opera網路瀏覽器提供的新郵件客戶端。Microsoft Outlook 2003添加了類似功能，稱之為“搜尋資料夾”。2004年Gmail的首個釋出版本中，其所有郵件的管理就基於“標籤”實現的虛擬資料夾。Mozilla Thunderbird也可以建立搜尋資料夾，並允許搜尋多個電子郵件賬戶。音樂客戶端.2002年7月，蘋果公司宣佈iTunes 3提供“智慧播放列表”功能，這可以被認為是一種虛擬資料夾。唯一的區別是搜尋不是在檔案系統的資料夾結構，而是在其內部的儲存區。微軟在2003年也在Windows XP的Windows Media Player 9中新增類似功能，稱之為“自動播放列表”。