王朝网络
分享
 
 
 

浅谈Microsoft Windows操作系统的下一代存储系统WinFS

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

一、什么是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文件系统中的数据。

六、文件的升级(File Promotion):

文件不是驻留在WinFS中,就是在NTFS中。任何包含文件数据流的数据项(item)都能够进行所谓“元数据处理”(metadata handling)的升级/降级操作(promotion/demotion)。当WinFS升级一个文件时,它会从NTFS文件的内容中提取元数据,并将元数据添加到WinFS存储系统中。而文件的实际数据流则仍旧留在NTFS文件系统中。你可以根据元数据在WinFS中查询相应的文件,就如同文件的实际数据被存放在WinFS系统中。WinFS也会检查NTFS文件的改变,并对WinFS中的元数据做出相应的修改。

七、文件的导入和导出:

你可以在WinFS和NTFS之间任意地导入导出文件。文件的导入和导出操作将会移动文件内容和文件的元数据。在导入导出操作完成后,产生的新文件就和原文件完全没有关系了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有