存储 频道

微软WinFS文件系统大揭秘

  【IT168 技术】WinFS文件系统全称是Windows Future Storage(Windows未来的存储系统),这种文件格式将会在微软公司下一代操作系统Vista中进行部署,该文件系统格式将淘汰现在的FAT32和NTFS格式。

  去年底,为了保证Vista能够如期上市,微软决定削减Vista部分功能,WinFS文件系统被微软束之高阁。今年3月,又有消息传出微软将把WinFS文件系统提前应用于Windows XP操作系统中。不过微软官方对传言置若罔闻,并表示“完全版的WinFS文件系统将迟于Vista发布,并成为未来Windows操作系统的重要组成部分”。

  WinFS,“你是谁?”

  微软的官方站点是这样解释WinFS文件系统的:用以组织、搜索和共享多种多样的信息的存储平台。WinFS文件系统被设计为在无结构文件和数据库数据之间建立起更好的互操作性,从而提供快捷的文件浏览和搜索功能。WinFS文件系统可以从不同的数据中心(比如邮件服务器、数据库和其他应用程序)获得信息。搜索条件也不再只局限于文件名、文件大小或者创建日期,文件标题和作者等,索引信息也可以成为搜索的条件。

  文件系统在任何操作系统中几乎都处于中心地位。它是实现应用程序存储信息、检索信息以及与存储信息进行交互的核心代码。相对于程序员使用的其他系统技术,文件系统的进化十分缓慢,但我们将看到的WinFS文件系统会彻底改变这一局面。

  WinFS,“让我靠近你!”

  下面我们使用Meta Data搜索器来感受一下WinFS文件系统的魅力。

  单击“Start”按钮,选择“Music”,打开音乐文件夹,右键单击选择“View-Details”,然后单击“Genre-Stack by Genre”.

  现在我们可以看到音乐文件以其音乐的类型(比如Pop)分成几个条目,选择点击进去,可以浏览该类型的文件,而非该类型的音乐文件都被隐藏(图2)。同样的,在开始菜单下的“Pictures”中,单击“Group by Dimensions”,选择“800×600”,会发现尺寸大小是800×600的图片都被显示出来。当然WinFS文件系统决不会这么简单,相信更多更有趣的东西会随着WinFS文件系统测试的进展而被挖掘出来。

  从技术角度而言,WinFS文件系统由五个部分组成:核心WinFS、数据模型、架构、服务和API.

  核心WinFS

  核心WinFS由文件系统的核心服务组成。将核心WinFS视为WinFS文件系统的基础,它包括操作和文件系统服务。其中包括安全性、易治理性、Win32文件访问支持、导入/导出、配额等。

  数据模型

  数据模型不包含在核心服务中,它提供了前面提到的一些技术革新,包括基本的项结构、关系以及扩展项与关系的能力。

  架构

  假如没有内置的架构,WinFS文件系统不会比现有的文件系统更好,因为WinFS文件系统不会以更丰富的方式理解数据或者提供更具结构化的方式来处理数据。WinFS架构包括日常信息(包括文档、电子邮件、任务、媒体、音频视频等)的架构,还包括包含配置、程序和其他与系统相关的数据的系统架构。

  服务

  同步和规则属于WinFS文件系统的服务范畴。这些技术位于WinFS的“顶端”,可以为你提供系统基础功能以外的扩展功能。同步功能使你能够通过网络同步WinFS系统,并可以建立同步适配器将WinFS同步到其他系统。例如,你可能希望将联系人信息从你的CRM系统同步到WinFS,以便可以将此数据与WinFS中的其他数据相关联,或者通过WinFS脱机使用此数据。同步适配器可以是双向的,因此在WinFS文件系统中对数据所做的所有更改都可以同步和其他系统合作。

  API

  WinFS文件系统包括一个功能丰富的API,它是Vista中整个WinFX编程模型的一部分。通过WinFS API,开发人员可以编写WinFS系统的不同结构块,包括数据操作、规则、同步和数据模型。

  WinFS是传统的文件系统以及关系数据库的延伸,它不仅存储以往的文件类型数据,也可以存储非文件类型的数据,比如一些个人信息、日程表、邮件等等。因此,在WinFS文件系统中存储的单位不应该用“文件”来描述,准确地说应该是“Item”。凡是从FAT32或NTFS迁移过去的文件,假如有Meta Data,比如mp3文件的ID3这类信息,会被保存下来。假如无MetaData的文件,也可以创建属于它的Meta Data。

  WinFS、FAT32、NTFS三足鼎立?

  不会!因为FAT32即将被淘汰,在Vista中已经不能使用FAT32格式,就算你还没打算安装Vista,现在流行的HDTV电影动辄就会占用4GB到20GB的磁盘空间,仅支持和正常使用2GB的FAT32显然已经显得力不从心,而提前出局了。

  WinFS文件系统可以看作是在NTFS的基础上增加了一个数据库层,这个数据库层以即将出现的SQL Server的“Yukon”版为基础。对于WinFS来说,文件除了我们熟悉的属性,诸如文件名称、大小、日期外,还将通过诸如作者名、图像大小之类的数据建立索引。系统底层的目录结构仍将存在,但用户使用的将是一个相似文件构成的库(Library)。每个库由一组通过查询WinFS数据库获得的文件构成。假如WinFS确实能将查找文件的依据改变为“它是什么”,而不是“它在哪里”的话,无疑这将是基于NTFS文件系统的一个突破。

  因此,有人预言,WinFS文件系统最终会取代FAT32和NTFS系统而成为一个完整的文件系统。但出于系统兼容性的考虑,目前的Vista系统仅将WinFS作为一个文件系统上面的附加数据库模块来使用,而且作用范围仅限于Documents and Settings目录,系统的其他部分仍然处于NTFS的控制之下。

  编后:到此,Vista中WinFX的三大核心技术――Windows Presentation Foundation(Avalon)、Windows Communication Foundation(Indigo)和WinFS文件系统就为大家介绍完了。伴随Vista而来的WinFX将给软件开发带来全新的气象是不言而喻的。如何充分挖掘WinFX蕴含的巨大能量以使软件世界更加丰富多彩将是程序员面临的任务。不过,让我们更感爱好的是借助于操作系统的垄断优势,WinFX到底能给.NET最终战胜其他架构带来多少胜算,以完成微软的宏大霸业?让我们怀着对WinFX欣赏之情拭目以待吧。

0
相关文章