虛擬資料夾

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

在電腦領域,虛擬資料夾(英語:Virtual folder)通常指管理一批檔案的一個虛擬的資料夾,它不依賴於目錄樹層級中的位置,而是由軟件將數據儲存中的結果合併顯示。這可能是一個資料庫或自訂索引,然後在資料夾視圖中以可視方式呈現它們。虛擬資料夾可以被認為是列出具有特定標記檔案的一個視圖,在需要時即時將動態內容模擬為一個資料夾並呈現。在電腦科學中有幾個相似的理念,包括儲存的搜尋、已儲存的查詢和過濾等。

技術

虛擬資料夾為使用者提供一種更方便方法管理一批內容相關的檔案。根據使用者所需的特定標準的或所有的檔案被聚合到一個虛擬資料夾。虛擬資料夾中的檔案不限於硬碟上的某個物理位置,也可能其他形式。事實上,虛擬資料夾中的檔案甚至可以並未儲存在硬碟上,它們可以是網絡共用或自訂套用資料庫中的內容,例如郵件或其他資料庫。

檔案「不能」被儲存在虛擬資料夾中,因為那本質上只是一個檔案儲存的搜尋查詢。嘗試儲存檔案到虛擬資料夾可能遇到多種情況,取決於軟件實現,檔案可能被重新導向到某個物理儲存空間。

大多數實現都會預先索引硬碟或特定位置上的檔案以加速搜尋,這樣在搜尋開始時可以查詢索引以快速展現和完成搜尋任務,避免等待索引和查詢整個資料夾結構。

實現

虛擬資料夾可以是作業系統中的一種結構。BeOS包含一種被稱為「已儲存查詢」的虛擬資料夾,這對虛擬資料夾在作業系統中的開發產生了影響(包括Mac OS X、Windows和Linux)。虛擬資料夾會在整個檔案系統上執行搜尋以動態填充內容,及使用子集或已快取的搜尋結果。

歷史

BeOS

此作業系統的首個開發者預覽版發佈於1995年10月,包括類似資料庫的功能,使使用者能更方便地管理自己的檔案。為了此功能,檔案系統會索引特定檔案內容以說明快速搜尋。預設情況下,檔案系統會自動索引檔名、大小和最後修改日期,當其他應用程式或使用者告知時還可建立其他內容的索引。[1]

當使用者執行檔案搜尋時,在資料夾 "/boot/home/queries" 中會建立一個檔案,檔案名稱根據查詢內容和搜尋的日期時間衍生,例如「Name = Western Infirmary - Mar 21, 11:59:40 PM」。搜尋的查詢條件儲存在被稱為「qrystr」檔案的一個內容中。[2]當該檔案被打開時,檔案系統會查詢索引和打開一個跟蹤視窗,保持最新的匹配條件的檔案列表。

更多搜尋功能被添加到後續的版本中。Release 2引入了編輯已儲存查詢的功能,[3]Release 3允許使用者自己定義已儲存查詢的名稱[4]在1998年的Release 4之前,所有查詢都會無限期儲存。但從R4開始,BeOS開發者為所有查詢引入了7天的時間限制。如果使用者想將一個查詢保留下來,他們可以在「尋找」對話方塊取消「臨時」標記。[5]

Mac OS X

BeOS檔案系統的領頭開發者之一Dominic Giampaolo曾參與蘋果公司Mac OS X作業系統並為其添加了虛擬資料夾系統。[6]

2005年4月,蘋果公司發佈Mac OS X v10.4,其中就包括被稱為「智能資料夾」的虛擬資料夾。這些資料夾實質上由Spotlight引擎動態更新以包含匹配特定條件的內容。例如,這可以給你帶來一個特殊資料夾,其中包含所有包含關鍵詞「shpadoinkle」且在最近7天曾經編輯的Word文件。智能資料夾是通過儲存一個Spotlight搜尋來建立,搜尋條件記錄在一個.savedSearch字尾的內容列表檔案中,預設情況下儲存在「/Users/username/Library/Saved Searches」資料夾。

在許多Spotlight引擎的應用程式中可以看到「智能資料夾」概念的變種,通常以紫色色調的齒輪圖示標記。例如:郵件中的智能郵箱和通訊錄中的智能組。

在沒有Spotlight的Mac OS X早期版本中,iApps(iTunesiPhoto)有一個類似的概念,但它們沒有使用系統級的Spotlight引擎。

Windows

2006年11月,微軟發佈Windows Vista,其中允許使用者儲存任何搜尋查詢為「搜尋資料夾」,這就是一種虛擬資料夾。搜尋資料夾的設計目的是使用者不需要記住自己的檔案儲存在哪裏。[7][8]搜尋資料夾不是物理資料夾,它本質上是一個XML檔案,為Windows搜尋子系統提供一個已定義查詢的儲存。[9]正因如此,搜尋資料夾可以在任何可建立普通資料夾的地方建立。類似的方法Windows XP中也存在,當Windows索引服務啟用時,搜尋可以儲存為.fnd檔案。[7][8]但是,在Windows XP中的已儲存搜尋查詢只儲存了使用者的搜尋條件;使用者仍需指定搜尋位置並再次執行搜尋,並且搜尋結果非動態呈現。[8]

無論何時訪問「搜尋資料夾」,它都會返回與已儲存搜尋查詢相關的結果;結果清單中呈現的是實際的檔案和資料夾。搜尋查詢的定義可基於許多參數和內容,包括檔名、指定日期、檔案本身內容、相關元數據、檔案類型、檔案所在位置及其他各種內容。[10]被稱為「查詢組件」的功能允許搜尋者基於其他「搜尋資料夾」進一步細分結果。[11][12]

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.[13] 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」實用工具允許使用者自動執行此流程。[13]

在Windows Vista的早期開發版本中,這些為預設的使用者設定檔夾預組態的「搜尋資料夾」(例如文件、音樂和圖片)取代了Windows開始功能表上的那些資料夾連結。[14][15]在Windows檔案資源瀏覽器中瀏覽時,導航面板會動態填充與當前檢視視圖相關的「搜尋資料夾」;舉一個例子,當檢視「文件」資料夾時,導航面板會基於文件的作者、關鍵詞、類型和最近更改的文件生成一個「搜尋資料夾」。這些預發佈版本的作業系統也包括其他虛擬資料夾,[7]搜尋都通過主要的「媒體櫃」搜尋資料夾聚合。[11] 微軟的表示這種做法的目標是完全超越傳統的物理資料夾概念,[16]但公司收到的反饋顯示大量使用者對新的方式感到困惑/混亂。[11]尤其是「搜尋資料夾」被放在開始功能表導致人們相信它們是具有類似名稱和內容的多個物理資料夾。[16]

基於這種反饋,公司決定恢復在開始功能表上放置物理資料夾的連結,方法類似以前Windows版本的顯示方式,並移除幾個至Windows Vista發佈到製造商時可用的「搜尋資料夾」。儘管在介面上不那麼明顯,該作業系統仍包含幾個預組態的搜尋資料夾:最近的文件、最近的電子郵件、最近的音樂、最近的圖片和影片、最近的更改以及「與我共用」,這些都是由一個「索引位置」搜尋資料夾提供,實現了早期的「媒體櫃」概念。[11]

在Windows 7中,虛擬資料夾的概念被顯著實現為「媒體櫃」功能。類似「儲存的搜尋」,「媒體櫃」在本質上只是一個副檔名為 .library-ms 的XML檔案,功能是收集具有特定內容的一批檔案並在熟悉的資料夾風格介面上顯示它們。媒體櫃在檔案檔案總管上進行了命名空間擴充,其XML檔案可以在各Windows或網絡上重用。

GNOME

在GNOME 2.14中,儲存的搜尋是一個虛擬資料夾,內容是Nautilus的搜尋結果,內容來自多個後端。這些資料夾的內容在資料夾打開時會動態確定,並在檔案被建立或修改時自動更新。

其他實現

電子郵件客戶端

虛擬資料夾是電子郵件客戶端的一種常見設計結構。在1991年初,基於Emacs的郵件閱讀器VM在其5.09版本中就已提供虛擬資料夾設計。[17][18] VM允許使用者使用規則定義虛擬資料夾,這可涉及一個或多個物理資料夾中的郵件內容,並可基於特定選擇條件,如日期、作者、收件人、主題、郵件正文等。虛擬資料夾還可基於以前定義的虛擬資料夾建立,這樣可以根據標準重複篩選Helix Code在2000年建立的Evolution郵件客戶端也納入了虛擬資料夾。可以建立資料夾並自動列出與使用者定義規則匹配的郵件,例如列出所有涉及特定地址的郵件,或者所有包含特定關鍵詞的郵件。[19][20]Opera網絡瀏覽器提供的新郵件客戶端(2002年11月發佈測試版,2003年1月發佈正式版)同樣提供虛擬資料夾(稱之為訪問點)用於電子郵件的管理。它的虛擬資料夾會自動基於活躍聯絡人、附件和已分配標籤建立。虛擬資料夾也會因執行搜尋而建立,並且手動虛擬資料夾可以使用多個邏輯郵件頭完成自動分類(包括使用正則表達式)。Microsoft Outlook 2003添加了類似功能,稱之為「搜尋資料夾」。2004年Gmail的首個發佈版本中,其所有郵件的管理就基於「標籤」實現的虛擬資料夾。Mozilla Thunderbird也可以建立搜尋資料夾,並允許搜尋多個電子郵件帳戶。[21]

音樂客戶端

2002年7月,蘋果公司宣佈iTunes 3提供「智能播放列表」功能,這可以被認為是一種虛擬資料夾。唯一的區別是搜尋不是在檔案系統的資料夾結構,而是在其內部的儲存區。微軟在2003年也在Windows XP的[22]Windows Media Player 9中添加類似功能,稱之為「自動播放列表」。[23]

參考資料

  1. ^ Scot Hacker. The BeOS Bible. Peachpit Press. 1999. ISBN 0-201-35377-6. 
  2. ^ Chris Herborth. Show formula query strings in Tracker. The BeOS Tip Server. [2007-03-22]. (原始內容存檔於2008-11-21). 
  3. ^ Be Inc. Be Ships BeOS Preview Release 2. Be Inc. October 7, 1997 [2006-12-24]. (原始內容存檔於2007-09-28). 
  4. ^ Be Inc. Searching on the BeOS. The BeOS Tip of the Week. Be Inc. [2006-12-24]. (原始內容存檔於2002-07-24). 
  5. ^ Scot Hacker. Self-destructing queries. The BeOS Tip Server. [2007-03-22]. (原始內容存檔於2008-04-23). 
  6. ^ Dominic Giampaolo. Personal homepage. [2006-09-10]. (原始內容存檔於2017-10-22). 
  7. ^ 7.0 7.1 7.2 Price, John. Windows Vista Virtual Folders and Search. MSDN. Microsoft. [October 23, 2015]. (原始內容存檔於2016-03-05). 
  8. ^ 8.0 8.1 8.2 Shultz, Greg. An in-depth look at Windows Vista's Virtual Folders technology. TechRepublic. CBS Interactive. October 12, 2005 [November 15, 2015]. (原始內容存檔於2015-11-17). 
  9. ^ Microsoft. Saved Search File Format. MSDN. [November 11, 2015]. (原始內容存檔於2015-12-10). 
  10. ^ Kaelin, Mark. How do I... Save and refine desktop searches in Microsoft Windows Vista?. TechRepublic. CBS Interactive. July 17, 2007 [November 11, 2015]. (原始內容存檔於2015-11-17). 
  11. ^ 11.0 11.1 11.2 11.3 Bentz, Ben. Query Composition: Building a search upon another search. Shell: Revealed Blog. Microsoft. October 31, 2006 [October 20, 2015]. (原始內容存檔於2006-12-15). 
  12. ^ Shultz, Greg. Narrow a saved search with Vista's Query Composition feature. TechRepublic. CBS Interactive. December 11, 2007 [November 11, 2015]. (原始內容存檔於2017-03-11). 
  13. ^ 13.0 13.1 White, Nick. Searcing, part III: Do you know what a SearchMelt is?. Windows Vista Team Blog. Microsoft. May 14, 2007 [October 20, 2015]. (原始內容存檔於2007年5月16日). 
  14. ^ Thurrott, Paul. Working with Display Drivers in Windows Vista Beta 1. SuperSite for Windows. Penton. October 6, 2010 [November 11, 2015]. (原始內容存檔於2016-04-04). 
  15. ^ Lee, Wei-Meng. An In-Depth Look at Vista, Part 2. O'Reilly Media. August 2, 2005 [November 11, 2015]. (原始內容存檔於2016-03-04). 
  16. ^ 16.0 16.1 Thurrott, Paul. Windows Vista December 2005 CTP (Build 5270) Review Part 1: Setup and User Interface. SuperSite for Windows. Penton. December 21, 2005 [October 13, 2015]. (原始內容存檔於2005-12-23). 
  17. ^ Kyle Jones. VM User's Manual - Virtual Folders. Wonderworks. [2010-01-26]. (原始內容存檔於2020-10-01). 
  18. ^ Phil Sung. VM Configuration and Workflow. [2010-03-13]. (原始內容存檔於2020-09-22). 
  19. ^ Michael Hall. You Say You Want an Evolution. Linux Planet. June 30, 2000 [2006-12-24]. (原始內容存檔於2019-02-09). 
  20. ^ Dave Whitinger. Dave Whitinger and Miguel de Icaza at the ZD Open Source Forum. Linux Today. July 8, 1999 [2006-12-24]. (原始內容存檔於2012-02-08). 
  21. ^ Saved Search - MozillaZine Knowledge Base. [2010-01-22]. (原始內容存檔於2021-02-11). 
  22. ^ Apple. Apple Announces iTunes 3. Apple. July 17, 2002 [2006-12-25]. (原始內容存檔於2007-05-30). 
  23. ^ Microsoft. Microsoft Announces Digital Media Upgrade for Windows XP With Final Release of Windows Media Player 9 Series and Windows Movie Maker 2. Microsoft. January 3, 2003 [2006-12-25]. (原始內容存檔於2007-03-09). 

參見