便于对象系统之间文件属性管理的升级和降级技术的制作方法

文档序号:6477271阅读:222来源:国知局
专利名称:便于对象系统之间文件属性管理的升级和降级技术的制作方法
技术领域
本发明一般涉及计算机系统,尤其涉及一种系统和方法,它采用文件属性处理器以通过文件属性的升级和降级促进字节流中非结构化文件属性存储和文件的结构化对象表示之间的兼容性。在此采用的术语“项”一般指存储在结构化对象存储器中的结构化、模式化对象。文件备份项指的是对象存储器中文件的结构化对象表示。术语“文件”可被用于表示对应于给定文件备份项的非结构化字节流。
背景技术
传统地,在计算机文件系统中,文件是数据存储的基本单元。通常,文件系统中的文件具有以下特征。它是单个字节序列。它具有有限长度且通常存储在非易失性存储介质中。它在目录中创建,并具有可能与其路径相结合而可在文件操作中引用的名字。此外,文件系统可使其它信息与文件相关联,诸如许可比特或其它文件属性;文件创建、上次修改、以及上次访问等的时间标记。特定的应用程序还可在文件的字节流中存储领域特定属性。例如,由字处理应用程序使用并因此视为‘文档’的文件可存储类似文档的标题和作者的属性。这些属性以创建该文件的应用程序专用的格式被存储在文件的字节流中。这些属性不能被结构化为对象,也不具有标准化的名字。该字节流是非结构化值。另一示例是存储一音乐片断的文件,该片断具有众多存储在字节流中的有趣属性,诸如类别、作者、录制日期、艺术家等等。除了这些元数据,还有以某些普遍识别格式来表示音乐本身的字节流。处理这些属性的编程模型被调整为适于处理整个字节流。编程模型是导致为绑定实例制造的句柄(CreateFile/OpenFile调用的结果)的绑定引用模型。值的随后处理由ReadFile/WriteFile来完成以检索和更新字节流的相关部分。

发明内容
以下显示了本发明的简化归纳,以便提供对本发明一些方面的基本理解。该归纳不是本发明的广泛纵览。它并非旨在标识本发明的关键/重要元素或描绘本发明的范围。其唯一目的是用简化形式表示本发明的一些概念,作为后面呈现的更详细描述的序幕。
本发明涉及一种系统和方法,它通过使字节流中的属性存储和文件结构化对象表示的属性在独立更新时能够同步,来促进文件作为结构化对象和文件字节流的处理。假设有适当的应用程序编程接口,用于处理对象存储器中的文件备份项并用于将文件作为非结构化字节流进行处理。文件属性处理器被用来使文件中的非结构化属性能通过称为升级和降级的系统交互、方法和过程适当地映射到文件的文件备份项表示并与其保持一致。升级在应用程序通过直接处理对应于文件的字节流来尝试更改或处理文件时调用。因而,升级是这样的一个过程,当应用程序更新字节流中的非结构化文件属性时,文件属性处理器更新对象存储器中的结构化文件属性以便获取两个环境之间的一致性。非结构化文件属性升级成为结构化对象存储器中的对象便于实现各个目标,诸如a)结构化对象存储器允许基于文件属性进行文件的有效查询。通常这对存储于非结构化字节流中的属性而言是不可能的。
b)非结构化属性被表示为符合标准化对象表示的良好结构化对象。因而,应用程序可使用面向对象编程模型而不是处理字节流的模型来简便操作这些对象。
如果处理并更新了对象存储器中的已升级文件备份项,则文件属性处理器方便于一降级过程,其中逆向转换被执行以对应于结构化对象中的变化而更新非结构化文件中的属性。这样,升级和降级使得文件属性能根据适于手头目标系统的属性而被自动更新和维护(例如通过升级将非结构化属性更新为结构化属性,通过降级则反之)。
在本发明一方面中,一桥接组件(例如文件属性管理器)与文件属性处理器通信以在应用程序处理属性并将其存储到非结构化文件时促使文件字节流中的非结构化属性到结构化对象的转换。文件属性管理器利用由非结构化文件存储器展现的各机制来跟踪要在对象存储器中更新的经更改非结构化文件。
为实现前述及相关结果,本方面的某些说明性方面结合以下说明书和附图在此说明。这些方面示出了在其中可实践本发明的各种方式,且本发明旨在包括所有这些方面。结合附图参阅本发明的以下详细说明,本发明的其它优点和新特征会变得显然。


图1是根据本发明一方面的文件转换系统的示意框图。
图2是根据本发明一方面的更为详细的文件转换系统的示意框图。
图3-6是根据本发明一方面示出对文件属性处理器和文件属性管理器的自动升级和降级过程的流程图。
图7是根据本发明一方面的项的状态图。
图8是根据本发明一方面示出适当操作环境的示意框图。
图9是本发明可与之交互的样本计算环境的示意框图。
具体实施例方式
本发明涉及一种便于文件作为非结构化字节流和结构化对象的处理的系统和方法,其中在一种独立于另一种更新时通过特定的应用程序编程接口使它们一致。
文件属性处理器根据与相应文件备份项相关联的一个或多个结构化对象属性来处理文件中的非结构化属性。只要直接更新非结构化文件流,就执行升级操作以用结构化属性更新文件备份项。类似地,如果文件备份项以在结构化对象环境中使用的应用程序编程接口来处理和更新,则执行降级操作或逆向转换以更新文件的非结构化表示中的属性。
当用于本发明时,术语“组件”、“处理器”、“管理器”和“系统”等等旨在指向计算机相关实体硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是,但不限于是,运行于处理器上的过程、处理器、对象、可执行组件、执行线程、程序和/或计算机。作为说明,运行于服务器上的应用程序和服务器都是组件。一个或多个组件可驻留于执行的进程和/或线程中,且组件可在一台计算机上本地化和/或分布在两台或多台计算机之间。
开始时参照图1,根据本发明一方面示出一文件转换系统100。该系统100包括通常与一个或多个非结构化文件120相关联的系统或应用程序110,其中应用程序110和文件通常与一非结构化文件环境相关联。桥接模块130和文件属性处理器140被用来促进与通常关联于结构化对象存储器环境的结构化对象系统或应用程序150的通信和兼容性。在一示例中,结构化系统应用程序可与通常关联于诸如XML的代码的一个或多个模式化对象160相关联。
如果文件要作为非结构化文件被更改、储存、和/或处理,桥接模块或文件属性管理器130提供对从非结构化文件到结构化对象的转换的引导。该转换由桥接模块调用文件属性处理器140执行,而文件属性处理器140随后执行一升级操作以将未经管理文件的非结构化属性转换成与根据结构化存储器160操作的应用程序相关联的结构化属性。如果要从结构化存储器应用程序处理经升级对象,则文件属性处理器140执行一降级操作,它促使属性逆向转换成在非结构化文件中更新的属性。
在一方面中,当基于文件的应用程序110通过对应于也称为文件备份项的结构化对象更新文件流来持续更改属性时,升级进行操作。因而,升级可被建模为更新在结构化对象系统的项中这些属性的副本以便该项反映通过更新该文件作出的改变的一个过程。相反,当根据结构化存储器工作的新应用程序使用结构化对象应用程序编程接口(API)查询并更改各项时(例如,无论各项是或不是文件备份项),降级进行操作。在文件备份项情形中,部分(先前从该文件升级的)这些属性被写回到文件中。该过程被称为降级,实质上是升级的逆向转换。
对于文件属性处理器140,升级和降级通过调用称为文件属性处理器(FPH)的代码模块来获取,该代码模块确定如何升级来自给定文件的属性和/或将属性降级回给定文件。该FPH 140通常被登记成处理一个或多个选定文件扩展。注意,在某些情形中,FPH 140可判定仅实现升级或降级功能。当在此描述时,术语‘升级器’如果使用指的是在升级环境中讨论的FPH,而‘降级器’指的是在降级环境中的FPH。
桥接组件130(也称为文件属性管理器)与FPH 140交互以便于升级和降级。因而,在接收来自升级改变队列(如下所述)的条目时,桥接组件130以指向要升级文件流的指针来调用文件的适当FPH 140。然后FPH 140执行文件中非结构化属性的提取并将其转换(如下所述)为存储在结构化对象存储器160中的受管理项的结构化属性。对于降级,当项在结构化对象存储器160中被更新时结构化对象API调用降级器。降级器采用逆向转换和提取代码来将已更新属性写回到文件中。FPH140的提取部分使用专用于文件格式的API来提取属性。注意,一般有一登记FPH140调用一给定文件。
现在参看图2,一更详细的转换系统200根据本发明一方面示出。系统200代表用于升级和/或降级的逻辑模型。在该方面中,一个或多个FPH(文件属性处理器)210驻留于受管理代码中。FPM(文件属性管理器)220作为到受管理FPH210的互操作或桥接组件。FPM 220通常作为不同于维护真实对象存储器230的进程的一独立进程运行。如上所述,可提供定义用于升级和降级的各方法的抽象BaseFile PropertyHandler类。因而,文件属性处理器210被建模为实现要在升级和/或降级中调用的各方法的从抽象BaseFilePropertyHandler类中导出的具体受管理类。例如,FPM 220可例示用特定文件扩展调用文件升级的类。以下代码摘录表示一示例类指定using System;using System.Storage;using System.Storage.Base;namespace System.Storage.FPM{struct FPMContext{ItemContext itmCtxt;public string fileExtension;};abstract class BaseFilePropertyHandler{abstract public void Promote(refItem itm,//文件项(用于写)FileStream fStream,//文件流(用于读)PromotionContext ctx);//升级环境abstract public void Demote(Item existingItm,//文件项(用于读)FileStream fStream,//文件流(用于写)PromotionContext ctx);//升级环境abstract public void FirstPromote(refItem itm,//文件项(用于写)FileStream fStream,//文件流(用于写)PromotionContext ctx);//升级环境abstract public void StoreSerializedItem(Item existingItm,//文件项(用于读)
FileStream fStream,//文件流(用于写)PromotionContext ctx);//升级环境abstract public void RetrieveSerializedItem(refItem itm,//文件项(用于写)FileStream fStream,//文件流(用于读)PromotionContext ctx);//升级环境};}当文件备份项的文件流由对文件工作的应用程序使用文件API更改时,升级被调用。因而,当该应用程序被用来更改结构化存储器名字空间中的文件时应调用升级。通常不应有对不移往结构化存储器名字空间的以及继续存在于非结构化文件环境的文件的任何升级。当结构化存储器名字空间中的文件由使用文件API的应用程序更改时,文件升级管理器220或服务对该文件异步地调用FPH 210以对应于该文件来更新项。通常,每个文件扩展登记一FPH 210。当文件备份项上有一等待升级时,该项上的‘PromotionStale’(‘失去升级时效’)标记被设置为1。
如图2所示,如果对非结构化文件工作的应用程序200更改在230的结构化存储器名字空间中的文件240,则在把经升级项返回以在230存储之前FPH 210在250执行对非结构化属性的提取和转换。相反,当文件备份项通过结构化存储器API 260更新时通常调用降级。结构化存储器API 260使应用程序能更改一个或多个文件备份项或这些项的一部分。在执行之后,当应用程序尝试使用结构化存储器API来储存经变化的项时,结构化存储器API中被调用进行保存的方法执行以下(结构化存储器API中执行储存项的功能的方法在此在概念上被称为‘储存’方法,尽管实际方法名字是实现相关的)如果文件备份项或其一部分通过结构化存储器API 260被更改,则结构化存储器API的储存方法查询对应于文件备份项(基于文件扩展)的降级器并调用它。降级器取一项(或其一部分)用于读写,以及一文件流用于写,并基于对该项的改变而更新文件内容。由于降级是在尝试将该项储存到结构化存储器中的操作期间调用的,它通常是一同步操作。上述储存方法通过调用降级器来更新文件240,并将适当的属性写入结构化数据存储器中的项。
图3-6根据本发明一方面示出对文件属性处理器和文件属性管理器的自动升级和降级过程。尽管为了简单解释,各方法被示为并描述为一系列动作,可以理解和认为本发明并不限于各动作的顺序,因为根据本发明某些动作可以不同顺序发生和/或与在此所示和所述的其它动作同时发生。例如,本领域技术人员将理解和认为,方法可有选择地表示为诸如状态图中的一系列相互关连的状态或事件。此外,根据本发明实现一方法并不是所有所示动作都是必需的。
同时讨论图3和4,其中图3示出升级期间文件程序管理器(FPM)的过程,图4示出升级期间文件属性处理器(FPH)的过程。一般而言,文件在称为改变队列的队列中排队等待升级。以下是在文件程序管理器接收来自改变队列的文件备份项之后进行升级所包括的动作。在310,FPM通过从文件所在的结构化存储器中查寻FPH登记信息来查寻文件的FPH。在320,FPM载入相应的FPH。例如,这可通过从相应机器的全汇编缓冲区载入FPH汇编,并检索FPH类的一个实例来获取。在330,FPM开始处理并使该项从改变队列中出列。在340,FPM检索对应于已改变文件的结构化存储器项(I1)。在350,FPM通过调用FPH上的适当方法来执行升级。
350之后,过程继续到图4与FPH处理相关的410。此时FPH可实现改变该项的结构。在420,FPH提取属性,并基于属性更新条目。在430,FPH将该项的经更新部分标记为已升级。430之后过程继续,回到图3的360用于进行进一步的FPM处理。在360,FPM将该项标记为非PromotionStale。在370,FPM将改变应用于结构化对象存储器。在380,FPM执行一提交/回滚处理并关闭文件句柄。
同时讨论图5和6,其中图5示出降级期间结构化存储器储存功能(定义如前)的过程,图6示出降级期间文件属性处理器(FPH)的过程。参看图5,对已更改项执行以下动作。在510,更新功能检查它是否是一文件备份项。如果不是,绕过降级代码并对非文件备份项进行正常处理,否则确定适于在是文件备份项的项的一部分上执行更新的项。这可通过查寻与结构化对象存储器中的项相关联的isFileBacked比特来获取。
在520,储存功能向存储器查询文件备份项驻留于何处(在远程文件情形中这可以是另一机器)以查获为本文件扩展所登记的FPH。这返回有关升级文件的FPH的细节(例如汇编名字和版本#)。在530,更新功能基于以上信息载入适当的FPH(例如它可在相应机器的全汇编缓冲区中登记)。在540,储存功能调用FPH上的方法以便执行降级。已改变项还包含对该项所作变化的记录。这些变化可通过结构化存储器API来跟踪。
在540之后,过程继续到图6的610用于进行进一步的FPM处理。在610,FPH查看项中的被跟踪变化以标识哪些字段需要降级。在620,FPH从该项中读取变化,写入文件属性。这还可包括调用结构化存储器API以从存储器中读取其它信息。在630,FPH将已降级的项或其一部分上的‘已升级’标记标为1。然后该过程继续,回到图5的550用于进一步储存功能处理。在550,储存功能将对项的改变应用于存储器中。在560,储存功能关闭该流并提交对文件的处理。
如前所述,处理可相对“第一升级”而不同。第一升级的动作通常与其它升级有区别。这可能因为第一升级需要使项和文件彼此同步。
图7根据本发明一方面示出文件备份项的状态图700。如上所述,文件备份项的状态如图700所示。结构化存储器API不能用promotionStale=1来更新文件备份项。如果它是文件备份项则该项上的‘promotionStale’为真并在710有等待在项中的升级。想要使用结构化存储器API来更新文件备份项并因而调用降级的应用程序可如下操作1)取得项2)查询该项是否为‘promotionStale’3)如果项是失去时效的,一用API调用‘SynchronousPromote’(同步升级)方法以使该项更新。
注意2和3是可任选的。
4)更新被取得的项5)调用结构化存储器API的储存方法以尝试储存该项6)如果储存在降级上成功,则完成7)否则8)如果返回的错误码是‘项是PromotionStale’(如果应用程序未执行以上2和3就会如此)-调用API中的‘SynchronousPromote’方法以使该项更新。返回updatedItem(经更新项)-去到以上4以将变化应用在updatedItem上9)如果返回的错误码是‘项已被更新’-去到以上4一般而言每个文件类型都登记有一个FPH。然而,在文件格式是可扩展的情形中,新的属性可被添加到FPH不知道何时会开发的文件的非结构化属性中。有系统所支持的不同可扩展方案,用来使给定文件类型的FPH能被扩展以升级/降级由软件供应商/方案供应商而不是FPH作者以及终端用户添加的新的或定制的属性。这使得将新添加的非结构化文件属性转换成项上新的结构化属性成为可能。示例性可扩展方案如下所述1.将简单的非结构化属性添加到文件中,并想把这些转换成该项上简单的结构化属性的软件供应商/方案供应商可如下动作a)将相应的新的简单结构化属性添加到该项中,以及b)使用XML声明性地指定新添加的非结构化属性应如何被转换成新添加的结构化项属性为文件类型登记的主要FPH会实现这些转换(在升级和降级期间),因而无需供应商扩展该文件以写任何新的代码。
2.将非结构化属性添加到文件中,并想把这些转换成项上较复杂的结构化属性或建立各项之间关系的软件供应商/方案供应商可如下动作a)将相应的复杂结构化属性添加到该项中,以及b)编写使用结构化存储器API的代码以将非结构化属性转换成新添加的结构化项属性或建立各项之间的关系。该代码将与文件类型的主要FPH的实现相类似。
3.终端用户可把新属性添加到文件中。这些被升级和降级成文件的结构化项表示上的缺省属性集。
参照图8,实现本发明各方面的示例性环境810具有计算机812。计算机812具有处理单元814、系统存储器816、及系统总线818。系统总线818耦合系统组件包括,但不限于将系统存储器816耦合到处理单元814。处理单元814可以是各种可用处理器的任一种。双微处理器和其它多处理器架构也可被用作处理单元814。
系统总线818可以是若干类总线结构的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线结构任一种的本地总线,这些总线结构包括,但不限于,工业标准结构(ISA)、微信道结构(MSA)、扩展ISA(EISA)、智能磁盘设备(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、和小型计算机系统接口(SCSI)。
系统存储器816具有易失性存储器820和非易失性存储器822。包含在计算机812硬件间传送如起动时信息的基本例程的基本输入/输出系统(BIOS),存储在非易失性存储器822上。作为说明且无限制,非易失性存储器822可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器820包括作为外部高速缓存的随机存取存储器(RAM)。作为说明且非限制,RAM有多种形式可用,如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SRAM)、双数率SDRAM(DDR SDRAM)、增强DSRAM(ESDRAM)、同步链接DRAM(SLDRAM)、和直接Rambus RAM(DRRAM)。
计算机812还具有可移动/不可移动、易失性/非易失性计算机存储介质。图8示出了例如磁盘存储器824。磁盘存储器824包括,但不限于,象磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或存储棒等装置。另外,磁盘存储器824可具有单独存储介质或结合其它存储介质包括,但不限于,诸如光盘ROM设备(CD-ROM)、可记录光盘驱动器(CD-R驱动器)、可重写光盘驱动器(CD-RW驱动器)、或数字化通用盘ROM驱动器(DVD-ROM)的光盘驱动器。为便于磁盘存储器824与系统总线818的连接,通常可使用诸如接口826的可移动或不可移动接口。
应当理解,图8描述了作为用户和在适当操作环境810中描述的基本计算机资源间中间体的软件。这种软件包括操作系统828。可存储在磁盘存储器824中的操作系统828,其作用是控制和分配计算机系统812的资源。系统应用830得益于操作系统828通过存储在或系统存储器816或磁盘存储器824中的程序模块832和程序数据834对资源的管理。可以理解本发明可用各种操作系统或操作系统组合来实现。
用户通过输入设备836将命令或信息输入到计算机812中。输入设备836包括,但不限于,诸如鼠标、跟踪球、输入笔、触板、键盘、麦克风、操纵杆、游戏垫、卫星接收器、扫描仪、电视调谐器卡、数码相机、数字视频照相机、网络相机等定点设备。这些和其它输入设备经系统总线818通过接口端口838与处理单元814相连。接口端口838包括例如串行端口、并行端口、游戏端口、和通用串行总线(USB)。输出设备840使用象输入设备836的某些相同类型端口。因此,例如USB端口可用来为计算机812提供输入,并将信息从计算机812输出到输出设备840。输出适配器842被提供用来说明某些输出设备象监视器、扬声器、和打印机,与其它输出设备840之间,需要特殊适配器。输出适配器842包括,作为说明且非限制,视频卡和声卡在输出设备840和系统总线818间提供了连接方法。应该注意的是诸如远程计算机844的其它设备和/或设备系统提供输入和输出功能。
计算机812使用与一台或多台远程计算机如远程计算机844的逻辑连接在网络化环境中操作。远程计算机844可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电气设备、对等设备或其它公共网络节点等等,而且通常包括所述与计算机812相关的许多或全部元件。为简化起见,仅存储器存储装置846与远程计算机844一起图示。远程计算机844经网络接口848与计算机812逻辑连接,然后通过网络连接850进行物理连接。网络接口848包括诸如局域网(LAN)和广域网(WAN)的有线和/或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网/IEEE802.3、令牌环/IEEE802.5等等。WAN技术包括,但不限于,点对点链接、象综合业务数字网(ISDN)及其后变种的电路交换网络、分组交换网络、和数字用户线路(DSL)。
通信连接850指向被用来将网络接口848连接到总线818的硬件/软件。尽管为了清晰地说明,通信连接850被示为位于计算机812内,但它也可在计算机812之外。与网络接口848连接所必需的硬件/软件具有,仅作为示例,诸如包括常用电话级调制解调器、电缆调制解调器和DSL调制解调器的调制解调器、ISDN适配器、和以太网卡等内部和外部技术。
图9是本发明可与之交互的采样计算环境900的示意方框图。系统900包括一台或多台客户机910。客户机910可以是硬件和/或软件(例如线程、过程、计算装置)。系统900还可包括一台或多台服务器930。服务器930也可以是硬件和/或软件(例如线程、过程、计算装置)。服务器930可包含采用本发明来执行变换的线程。在客户机910和服务器930间的一可能通信可能是以适于在两个或多个计算机过程间传送的数据包形式进行。系统900包括可用来便于客户机910和服务器930间通信的通信框架950。客户机910可与用来存储客户机910本地信息的一个或多个客户数据存储960作可操作连接。类似地,服务器930可与用来存储服务器930本地信息的一个或多个客户数据存储940作可操作连接。
以上所述包括本发明的诸多示例。当然,为描述本发明而对每一能想到的组件或方法组合进行描述是不可能的,但本领域普通技术人员明白本发明的更多排列和组合是可能的。因此,本发明旨在包含所有这样的在所附权利要求书精神和范围内的变更、修改、和变化。此外,就用于具体实施方式
或权利要求书的术语“包含”而言,这种术语意在以类似于术语“包括”在权利要求书中作及物词的方式作包括意义解。
权利要求
1.一种文件转换系统,其特征在于,包括与一个或多个非结构化属性相关联的至少一个文件;以及一文件属性处理器,用以根据与结构化对象环境相关联的一个或多个结构化属性来处理所述非结构化属性。
2.如权利要求1所述的系统,其特征在于,所述文件属性处理器执行提取和转换的至少之一以便将所述非结构化属性升级为所述结构化属性。
3.如权利要求1所述的系统,其特征在于,所述文件属性处理器执行提取和转换的至少之一以便将所述结构化属性降级为所述非结构化属性。
4.如权利要求1所述的系统,其特征在于,还包括一文件属性管理器以促进对非结构化属性流/文件工作的应用程序和对文件的结构化对象表示工作的应用程序之间的通信。
5.如权利要求1所述的系统,其特征在于,所述文件属性处理器在基于文件API的应用程序通过更新结构化对象存储器项的文件流来更改属性时便于升级操作。
6.如权利要求5所述的系统,其特征在于,所述结构化对象存储器项为一文件备份项。
7.如权利要求1所述的系统,其特征在于,所述文件属性处理器在应用程序采用处理所述文件备份项的结构化存储器应用程序编程接口(API)来查询并更改各项时便于降级操作。
8.如权利要求1所述的系统,其特征在于,所述文件属性处理器被登记为处理一个或多个选定的文件扩展。
9.如权利要求4所述的系统,其特征在于,所述文件属性管理器在接收所述文件的所述非结构化字节流表示已被更改的通知时,用指向要升级的所述文件的字节流的指针调用一文件属性处理器。
10.如权利要求1所述的系统,其特征在于,所述文件属性处理器与定义升级和降级方法的一抽象类相关联。
11.如权利要求10所述的系统,其特征在于,所述抽象类包括BaseFilePropertyHandler、升级方法、降级方法、第一升级方法、存储串行化项方法、以及检索串行化项方法的至少之一。
12.如权利要求1所述的系统,其特征在于,还包括使应用程序能更改一文件备份项的应用程序编程接口(API)。
13.一种具有存储其上的计算机可读指令的计算机可读介质,其特征在于,所述指令用于实现如权利要求1所述的文件属性处理器。
14.一种便于数据转换的系统,其特征在于,包括一装置,用于向结构化存储器应用程序展现非结构化文件属性;一装置,用于将所述非结构化文件属性转换成与所述结构化存储器应用程序相关联的结构化项属性;以及一装置,用于更新所述结构化存储器应用程序中的所述结构化项属性。
15.如权利要求14所述的系统,其特征在于,还包括一装置用于将所述结构化项属性转换成非结构化文件属性。
16.一种便于数据项移动的方法,其特征在于,包括从基于文件API的应用程序中更改结构化存储器名字空间中的一项;以及将与所述项相关联的一个或多个属性升级为与所述结构化存储器名字空间相关联的属性一致。
17.如权利要求16所述的方法,其特征在于,还包括将与所述项相关联的一个或多个属性降级为与所述基于文件API的应用程序一致。
18.如权利要求16所述的方法,其特征在于,还包括登记一文件属性处理器以便于升级或降级所述一个或多个属性。
19.如权利要求16所述的方法,其特征在于,还包括使一变化项出列。
20.如权利要求16所述的方法,其特征在于,还包括为一选定项路径检索一结构化项。
21.如权利要求16所述的方法,其特征在于,还包括变形一项的类型/结构或改变一项的类型/结构。
22.如权利要求16所述的方法,其特征在于,还包括自动提取各属性并更新一项。
23.如权利要求16所述的方法,其特征在于,还包括将一项的经更改部分标记为已升级。
24.如权利要求16所述的方法,其特征在于,还包括将对所述项的变化应用于所述结构化对象存储器。
25.如权利要求17所述的方法,其特征在于,还包括确定所述项用于更新为所述项的一部分。
26.如权利要求17所述的方法,其特征在于,还包括向一项存储器查询文件属性处理器登记。
27.如权利要求26所述的方法,其特征在于,还包括将所述文件属性处理器载入一缓冲区。
28.如权利要求17所述的方法,其特征在于,还包括自动标识要更新的字段。
29.如权利要求17所述的方法,其特征在于,还包括读取一项的变化并更新文件属性。
30.如权利要求29所述的方法,其特征在于,还包括将所述项的变化发送给所述存储器以及关闭一流的至少之一。
31.一种具有存储于其上的数据结构的计算机可读介质,其特征在于,包括一第一数据字段,与关联于文件数据的非结构化属性相关;一第二数据字段,与关联于结构化对象(项)数据的结构化属性相关;以及一第三数据字段,被用来使所述非结构化属性数据与所述结构化属性数据相互关联。
全文摘要
本发明涉及便于不同数据系统之间的互操作性和兼容性的系统和方法。在一方面中,提供具有与一个或多个非结构化属性相关联的至少一个文件的文件转换系统。文件属性处理器根据与结构化对象存储器环境相关联的一个或多个结构化属性来处理非结构化属性。如果非结构化文件要在结构化对象存储器环境中操作,执行升级操作以用适于结构化对象存储器环境中操作的结构化属性来更新文件中的非结构化属性。如果已升级的项要在结构化对象存储器环境中进行处理,则执行降级操作或逆向转换以更新文件中的属性。
文档编号G06F11/07GK1867911SQ200480003249
公开日2006年11月22日 申请日期2004年7月27日 优先权日2003年10月23日
发明者P·V·克里希南, S·穆图克里希南, S·H·阿加瓦尔, B·S·拉曼, M·E·迪姆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1