当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 浅谈Microsoft Windows操作系统的下一代存储系统WinFS

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

ASP.NET 中的 浅谈Microsoft Windows操作系统的下一代存储系统WinFS


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 31 ::
收藏到网摘: n/a

一、什么是WinFS?WinFS是Longhorn操作系统引入的全新的存储系统。它针对原先的Microsoft Windows 平台作了三方面的改进:1、WinFS允许你用多种方式来对你的存储信息进行分类,并且允许你将信息的某个数据项(item)同其它信息的数据项进行关联。2、WinFS为日常信息提供了公共存储格式(common storage format),比如:用于处理人、地点、照片等信息的存储格式。3、WinFS支持多个应用程序间公共信息的共享。往往这些应用程序来自于不同的开发商。二、WinFS是一个信息存储平台:WinFS是一个用于组织、搜索和共享各类信息的存储平台。WinFS定义了丰富的数据模型(data model )。你可以使用这些数据模型来定义能让WinFS可以使用的数据类型(data type)。WinFS还包含了很多的模式(schema)。模式是用来描述类似照片、文档、人、地点、事件、任务和消息等真实世界的实体。这些实体可以非常的复杂。比如:一个人能够有多个名字、多个住址、多个e-mail地址,甚至拥有更多的实体。每个软件提供商(ISV)也可以定义自己的数据类型,并将相应的模式提供给WinFS。通过将复杂的存储问题交给WinFS去管理,ISV可以将精力集中于开发应用程序的逻辑、将WinFS提供的便利应用到自己的日常和定制数据上来。WinFS提供了一个关系引擎(relational engine )。通过它,你可以运用强大的关系查询方式来定位一个存储类型的实例。WinFS允许使用关系来组合多个存储实体。一个联系人(contact)可以是一个组织(Organization)的雇员(Employee)组中的一个成员,同时他也可以是某个住址的室友(Household)组中的一个成员。ISV可以在自己定制的数据类型之间或是在WinFS预定义的数据类型之间,自动获取搜索、复制、设置安全属性和建立关系的能力。这种结构允许用户向系统提问,并且通过回答相应的定位信息来查找数据,而不同于Longhorn之前系统提供的搜索方式。比如:你可以要求WinFS从你的即时通讯好友中查找所有没有电话号码的人的e-mail地址。使用关系,你能够在所有室友中找到本周过生日的特定成员。WinFS也支持多种灵活的编程方式。使用这些编程方式,你可以选择适当的编程接口(API)来完成相应的任务。你可以使用传统的关系查询语句SQL来访问存储系统。同样,你也可以使用.NET类和对象来访问存储系统。你也可以使用基于XML的API来访问数据存储系统。WinFS也支持传统的Microsoft Win32文件系统API函数访问数据的方式。你甚至可以混合使用上述的几种API来完成单一的任务。然而,在大多数情况下,开发人员总是使用托管类API来操作WinFS存储系统中的数据。使用SQL语句来实现数据更新远比使用对象API要复杂得多。此外,WinFS提供了一个数据服务函数集合,用于监视、管理和操作数据。你可以通过注册所感兴趣的事件(event)来接收类似数据项(item)改变的事件。你也可以安排WinFS定期地将数据复制到其它系统中。三、WinFS是一个文件系统:不同于传统的基于文件的文件系统,WinFS是一个全新的Windows文件系统。通常,你会把文件的主要数据,即“文件流”(file stream)作为一个文件存放在NTFS卷中。然而,每当你调用API来改变或添加NTFS文件流,WinFS将从文件流中提取出元数据(metadata),并将元数据添加到WinFS存储系统中。元数据描述了文件流的信息,包括文件的路径和其它WinFS从文件流中所提取出来的信息。根据文件的内容,元数据也许是文档的创建者,音频文件的类型或者是PDF文件的关键字等信息。文件流是驻留在NTFS中的,而相应的元数据则驻留在WinFS中,WinFS则对两者进行一致性控制。新的Longhorn应用程序可以选择将文件流直接存放在WinFS中。文件流能够用现有的Win32文件系统API或者新的WinFS API来访问。四、WinFS不只是一个文件系统:一个文件系统是用来管理文件和文件夹的。WinFS不仅能管理文件和文件夹,同时它还能管理各类非文件的数据,比如:个人的联系人、个人日程安排日历、个人的e-mail消息。WinFS数据可以是结构化的、半结构化的、或者是非结构化的。结构化数据包含了模式(schema)。模式是用来定义数据是什么东西,以及如何使用该数据。因为WinFS部分实现了关系型系统的功能,所以WinFS要求数据满足相应的语义完整性、数据的事务处理和数据约束。WinFS又不只是一个关系型系统。它支持分级存储,又支持关系存储。它支持结构化类型,又支持对象。你可以将WinFS看作是层次型、关系型和面向对象型三为一体的数据存储系统。尽管实际上它只是实现了三个传统存储系统的某些方面。同时,WinFS扩展了传统的文件系统和关系型数据库系统。WinFS支持最新Windows平台上所有的数据类型。五、WinFS和NTFS:你可以将文件存放在传统的NTFS文件系统中,将文件存放到新的WinFS数据存储系统中。一般而言,一个存放在NTFS中的文件在WinFS中是不可见的。Longhorn应用程序使用了新的WinFS API函数来访问存放于WinFS或NTFS中的数据。此外,Longhorn应用程序也允许继续使用Win32 API函数来访问存放在NTFS文件系统中的数据。六、文件