发布日期: 8/25/2004 | 更新日期: 8/25/2004
Thomas Rizzo
Microsoft Corporation
摘要:Tom Rizzo 推出了他的新专栏,其中概述了新型“Longhorn”存储子系统(代号为“WinFS”)诞生的原因、WinFS 在帮助解决数据过载问题方面所起的作用以及他的专栏在未来几个月中要提供的内容。
欢迎您阅读我的新专栏“WinFS 文件”!本专栏旨在帮助开发人员更多地了解有关代号为“Longhorn”的下一版 Microsoft® Windows®(尤其是代号为“WinFS”的革新性新型文件系统)中的最新技术革新方面的信息。在本专栏的后续部分中,我们将了解 WinFS 所特有的数据模型、功能集和编程范例。本专栏的初始部分全面概述了 WinFS 的新增功能以及如何开始学习和理解这项新技术。
为什么推出 WinFS?
技术行业正在经历一场愈演愈烈的“完美风暴” - 一场由潮流与技术组合而成的风暴,它将推动信息的开发和使用方式实现下一个突破。这场完美风暴由三种推动力组合而成:硬件改进、数字数据在数量上的剧增以及信息管理架构和标准的激增。
硬件改进
回首硬件在过去几年里的发展过程,我们不禁会对某些硬件类型的发展速度感到惊讶。每个人都知道摩尔定律-芯片上的晶体管数量每 18 个月翻一番。但许多人都忽略的一点是,网络带宽和存储技术的发展速度甚至超出了摩尔定律中指出的速度。在企业内部以及通过家庭网络连接到全球网络的单个用户之间,网络带宽都以惊人的速度不断增长。在过去几十年中,服务器和客户端计算机上的存储容量明显增大。1984 年,IBM PC 推出了 10 MB 硬盘。如今,60-80 GB 硬盘已成为便携式计算机的标准配置。在未来的几年里,不难想象便携式计算机将具有 1 TB 甚至更大的存储。伴随着存储以惊人速度增长的同时,在管理人们每天创建、存储和搜索的所有数据方面也出现了问题。
数字数据
人们如今使用的大多数数据是数字数据。例如,编写本文时,我使用的并不是普通的白纸,而是便携式计算机中安装的 Microsoft® Word。现在,电子邮件、电子传真、数字媒体、日历、Microsoft Office 文档、语音邮件以及其他许多类型的信息都以电子方式创建和存储。2003 年的一份 University of Berkeley study(英文)表明,仅 2002 年一年创建的新信息数量便超过了 5 百万亿条。这些信息中的 92% 存储在磁盘媒体(大多数是客户端硬盘)中。2002 年中发送和存储的电子邮件数量超过了 40 万万亿封。将硬件和软件的增长原动力与计算机连接、下载、处理和存储比以前多得多的信息的能力结合在一起,而且您会看到有效管理数字数据(我们自己创建的数据以及我们从其他人处接收的数据)多么重要。
数据标准和架构化数据
数据标准和架构化数据的激增是驱使考虑信息管理新方式的最后一个难题。在最近几十年里,许多企业和行业集团在向数字数据转移的过程中,希望在其实际业务流程之后将数据模型化。
开始时,计算机无法处理将许多业务进程模型化和自动化的复杂过程。而现在,随着计算机运行速度的提高以及编程语言和数据技术的改进,自动执行业务进程已成为企业简化操作的一种方式,尤其是在企业资源规划 (ERP)、客户关系管理 (CRM)、销售人员自动化 (SFA) 和其他类型的企业应用出现之后。随着这些新型应用的出现,数据突然变得更复杂。但同时,数据具有更好的结构,而这对业务更有用。数据库系统并非用于存储难以理解的二进制数据或简单的数据模型,而是将不同类型的复杂数据关联起来。例如,ERP 系统了解总分类帐、人力资源和销售系统的复杂性,并可以进行建模。由于标准化架构描述了系统中的数据,因此企业可以询问有关其业务的特定问题,并可在系统中查询此信息。
然而,跨系统工作仍然是行业中存在的一个问题。在企业内部集成系统比较困难,而在企业之间集成系统则难上加难。这刺激了企业应用集成 (EAI) 供应商的发展,因为它们可以帮助客户跨越异类系统之间架构化数据的鸿沟。在认识到此集成问题之后,行业将 XML 和 XML Web service 用作帮助公司在多个系统和多个组织之间工作的一种方式。这些较新的标准可以帮助解决数据集成问题,并有助于在组织内部以及组织之间共享数据。
什么是 WinFS?
为迎接这场完美技术风暴的到来,Microsoft 在构建下一代 Windows 文件系统(代号为 WinFS)方面投入了大量的精力。WinFS 产品小组在革新 Windows 文件系统的过程中遵循以下三个核心原则:使用户能够“查找”、“关联”和“操作”他们的信息。让我们了解一下每个原则的含义,然后深入探讨一些使 WinFS 满足这些目标的技术细节。
查找
根据市场与信息技术调查公司 IDC 的调查,技术工作人员花费大约 15% 到 30% 的时间来查找信息。在通常的 8 小时工作日(即一个人在通常的 8 小时工作日中工作)中,无论在何处总共都需要 1 到 2.5 小时来查找信息。IDC 还估计至少 50% 的 Web 搜索失败。尽管提高信息查找的速度和准确性是 WinFS 的主要目标之一,但仅仅成为一个出色的搜索引擎还远远不够。查找信息已经超出了遍历和检索内容的范畴。相反,今天的信息具有许多含义,如定义信息之间的关系(WinFS 将提供这项功能)。搜索可能不是 WinFS 用户查找其大多数信息的默认方式。
另外,在过去十几年之内,文件系统技术并未进行大的变革。而是出现了一些新数据类型(如多媒体以及新型的通信和协作),它们不仅仅是二进制文件和简单的元数据。现在的文件系统不知道如何在这些新类型的数据中收集和查找信息。不过,我们正在构建 WinFS 以扩展文件系统,使其包含这些新类型的信息并进而提供更丰富的功能来使用这些信息。
关联
每个人都了解数据之间存在的关系。但当今的软件在存储和利用这些关系方面做得并不好。例如,我知道在一次特定会议上一个叫 George 的特定的人介绍了一篇特定文档。我知道 George 写了这篇文档,并且我知道 George 写的另一篇文档也会引起我的兴趣。现在我如何找到另一篇文档?我必须通过电子邮件和文件系统在我经常访问的位置到处搜索。有了 WinFS,数据“关系”将构建到系统中,并将人们使用的不同“类型”的“所有”数据链接在一起,包括您编写的自定义应用程序数据。用户可以遍历这些关系并通过多种方式搜索数据。此外,您可以在能够识别 WinFS 的应用程序中以图形形式显示这些相关项,以便用户更好地了解他们的数据如何关联在一起,无论该数据是由您的应用程序、其他人的应用程序还是内置的 Windows 程序存储的。
操作
到目前为止,我已经介绍了如何将您的所有数据存储在 WinFS 中以及如何以更直观的新方式创建这些数据之间的关系。但是,如果这是您使用此系统所能做的全部事情,那么 WinFS 的革新只展示了一半。人们希望在任何数据系统中实现的一个关键功能是使系统帮助他们将其数据转化为可以操作的有用信息。PC 用户一天中的大量时间都花在充当其数据的数字职员。您必须对数据进行手动排序、筛选、分类和堆栈分级。WinFS 将提供数字代理,帮助人们从数字职员转变为数字数据决策者。WinFS 帮助处理信息过载的主要方式之一是消除可以自动进行的冗余数据活动。只有相关信息或重要信息才应显示给数据用户。
例如,您可能希望知道一封需要立即回复的电子邮件何时来自某个作者,此邮件与您正处理的一份具体业务文档有关系。但您现在不在办公桌旁,而是正在参加一个会议,并只带着手机。您不希望错过这封电子邮件,并且需要确保尽快与这个人交谈。与对方谈话需要安排一个 30 分钟电话的情况介绍,以排除业务文档中的所有问题(此电话情况介绍的截止期限是今天结束之前)。
WinFS Rules 是该系统的内置组件,允许您通知系统如何处理、排序和交付数据。通过使用 WinFS Rules,您可以创建数据和数据关系的处理规则。此外,WinFS Rules 还可以与其他 Windows 应用程序配合工作来向您发出通知(例如,通过向您的手机发送寻呼)。最后,WinFS Rules 还可以通过查看日历信息了解一天中的空闲时间,来帮助安排电话会议。在此处,规则可以自动在下一个空闲时间创建会议。集成的 WinFS Rules 技术允许将数据存储在 WinFS 中(甚至复制到 WinFS 中),以使其成为活动数据。此活动数据在其进入系统时立即将重要信息通知给您,从而有助于进行更好的业务决策。此技术通过自动处理我们现在手动对数据执行的许多任务,可以帮助缓解信息过载。
技术背景
现在,我们已经讨论了 WinFS 的基本原理,接下来我们将介绍它的一些核心技术。在刚创立的本专栏目中,我将针对每种技术提供高级别的概述。在未来几个月内,本专栏将深入介绍每种技术,并向开发人员展示如何利用新的 WinFS 技术建立应用程序。
从技术角度而言,WinFS 由 5 个部分组成:核心 WinFS、数据模型、架构、服务和 API。图 1 显示这几个部分的结构块的更详细视图。
图 1. 核心 WinFS 结构块
核心 WinFS
核心 WinFS 由文件系统的核心服务组成。将核心 WinFS 视为基础,它包括操作和文件系统服务。其示例包括安全性、易管理性、Win32 文件访问支持、导入/导出、配额等。
数据模型
数据模型不包含在核心服务中,它提供了前面提到的一些技术革新,包括基本的项结构、关系以及扩展项与关系的能力。
架构
如果没有内置的架构,WinFS 不会比现有的文件系统更好,因为 WinFS 不会以更丰富的方式理解数据或者提供更具结构化的方式来处理数据的元数据。WinFS 架构包括日常信息(包括文档、电子邮件、任务、媒体、音频视频等)的架构,还包括包含配置、程序和其他与系统相关的数据的系统架构。
服务
同步和规则属于 WinFS 的服务范畴。这些技术位于 WinFS 的“顶端”,可以为您提供系统基础功能以外的扩展功能。同步功能使您能够通过网络同步 WinFS 系统,并可以建立同步适配器将 WinFS 同步到其他系统。例如,您可能希望将联系人信息从您的 CRM 系统同步到 WinFS,以便可以将此数据与 WinFS 中的其他数据相关联,或者通过 WinFS 脱机使用此数据。同步适配器可以是双向的,因此在 WinFS 中对数据所做的所有更改都可以同步回其他合作系统。
API
作为开发人员,您将写入 API。WinFS 包括一个功能丰富的 API,它是 Longhorn 中整个 WinFX™ 编程模型的一部分。通过 WinFS API,您可以编写 WinFS 系统的不同结构块,包括数据操作、规则、同步和数据模型。
结论
未来几个月内,由于开始深入探讨 WinFS 的不同技术,因此有很多内容将要介绍。开始时,您会希望明确了解其他的 Longhorn 基石,尤其是“Avalon”,因为来年将构建的许多应用程序都是基于 Avalon 的。建议您参阅 Chris Sells 在其 first Longhorn Foghorn column(英文)一文中对 Longhorn 基石的概述。除此之外,让我们为 WinFS 的到来做好准备:它是信息驱动的应用程序的未来。
WinFS 文件
Thomas Rizzo 是 Microsoft SQL Server 组的主管。Tom 利用业余时间为 Microsoft Press 编写编程方面的书籍,在 Microsoft 新闻组中为客户提供帮助,并偶尔更新其 Blog(他应该更经常地更新!)。您可以通过电子邮件联系 Tom,他的邮件地址是:thomriz@microsoft.com。