CN1867911B - 用于文件转换的系统和方法 - Google Patents

用于文件转换的系统和方法 Download PDF

Info

Publication number
CN1867911B
CN1867911B CN2004800032492A CN200480003249A CN1867911B CN 1867911 B CN1867911 B CN 1867911B CN 2004800032492 A CN2004800032492 A CN 2004800032492A CN 200480003249 A CN200480003249 A CN 200480003249A CN 1867911 B CN1867911 B CN 1867911B
Authority
CN
China
Prior art keywords
file
attribute
item
structured
destructuring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2004800032492A
Other languages
English (en)
Other versions
CN1867911A (zh
Inventor
P·V·克里希南
S·穆图克里希南
S·H·阿加瓦尔
B·S·拉曼
M·E·迪姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1867911A publication Critical patent/CN1867911A/zh
Application granted granted Critical
Publication of CN1867911B publication Critical patent/CN1867911B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

本发明涉及便于不同数据系统之间的互操作性和兼容性的系统和方法。在一方面中,提供具有与一个或多个非结构化属性相关联的至少一个文件的文件转换系统。文件属性处理器根据与结构化对象存储器环境相关联的一个或多个结构化属性来处理非结构化属性。如果非结构化文件要在结构化对象存储器环境中操作,执行升级操作以用适于结构化对象存储器环境中操作的结构化属性来更新文件中的非结构化属性。如果已升级的项要在结构化对象存储器环境中进行处理,则执行降级操作或逆向转换以更新文件中的属性。

Description

用于文件转换的系统和方法
相关申请
本申请声明对序列号为10/693,090于2003年10月23日提交的题为“Promotingand Demotion Techniques to Facilitate File Property Management Between ObjectSystems”的美国专利申请的优先权,在此全部引入作为参考。
技术领域
本发明一般涉及计算机系统,尤其涉及一种系统和方法,它采用文件属性处理器以通过文件属性的升级和降级促进字节流中非结构化文件属性存储和文件的结构化对象表示之间的兼容性。在此采用的术语“项”一般指存储在结构化对象存储器中的结构化、模式化对象。文件备份项指的是对象存储器中文件的结构化对象表示。术语“文件”可被用于表示对应于给定文件备份项的非结构化字节流。
背景技术
传统地,在计算机文件系统中,文件是数据存储的基本单元。通常,文件系统中的文件具有以下特征。它是单个字节序列。它具有有限长度且通常存储在非易失性存储介质中。它在目录中创建,并具有可能与其路径相结合而可在文件操作中引用的名字。此外,文件系统可使其它信息与文件相关联,诸如许可比特或其它文件属性;文件创建、上次修改、以及上次访问等的时间标记。特定的应用程序还可在文件的字节流中存储领域特定属性。例如,由字处理应用程序使用并因此视为‘文档’的文件可存储类似文档的标题和作者的属性。这些属性以创建该文件的应用程序专用的格式被存储在文件的字节流中。这些属性不能被结构化为对象,也不具有标准化的名字。该字节流是非结构化值。另一示例是存储一音乐片断的文件,该片断具有众多存储在字节流中的有趣属性,诸如类别、作者、录制日期、艺术家等等。除了这些元数据,还有以某些普遍识别格式来表示音乐本身的字节流。处理这些属性的编程模型被调整为适于处理整个字节流。编程模型是导致为绑定实例制造的句柄(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作可操作连接。
以上所述包括本发明的诸多示例。当然,为描述本发明而对每一能想到的组件或方法组合进行描述是不可能的,但本领域普通技术人员明白本发明的更多排列和组合是可能的。因此,本发明旨在包含所有这样的在所附权利要求书精神和范围内的变更、修改、和变化。此外,就用于具体实施方式或权利要求书的术语“包含”而言,这种术语意在以类似于术语“包括”在权利要求书中作及物词的方式作包括意义解。

Claims (10)

1.一种计算机实现的文件转换系统,包括:
与一个或多个非结构化属性相关联的文件;
具有一个或多个结构化属性的项,该项是所述文件的结构化对象表示;以及
文件属性处理器,用于处理以下至少一个:基于结构化属性变化的非结构化属性和基于非结构化属性变化的结构化属性。
2.如权利要求1所述的系统,其特征在于,所述文件属性处理器执行对文件的属性和代码进行提取和转换的至少之一以便将所述非结构化属性升级为所述结构化属性或者将所述结构化属性降级为所述非结构化属性。
3.如权利要求2所述的系统,还包括文件属性管理器以促进对非结构化属性流/文件工作的应用程序和对文件的结构化对象表示工作的应用程序之间的通信。
4.如权利要求2所述的系统,其特征在于,所述文件属性处理器在基于文件API的应用程序通过更新结构化对象存储器项的文件流来更改属性时便于升级操作。
5.如权利要求4所述的系统,其特征在于,所述结构化对象存储器项为文件备份项。
6.如权利要求2所述的系统,其特征在于,所述文件属性处理器在应用程序采用处理文件备份项的结构化存储器应用程序编程接口API来查询并更改各项时便于降级操作。
7.如权利要求1所述的系统,其特征在于,所述文件属性处理器被登记为处理一个或多个选定的文件扩展。
8.如权利要求3所述的系统,其特征在于,所述文件属性管理器在接收所述非结构化属性流/文件的非结构化字节流表示已被更改的通知时,用指向要升级的所述文件的字节流的指针调用文件属性处理器。
9.如权利要求2所述的系统,其特征在于,所述文件属性处理器与定义升级和降级方法的抽象类相关联。
10.如权利要求9所述的系统,其特征在于,所述抽象类包括BaseFilePropertyHandler、升级方法、降级方法、第一升级方法、存储串行化项方法、以及检索串行化项方法的至少之一,其中所述第一升级方法区别于其它升级,它需要将所述项和文件彼此同步,其中抽象类BaseFilePropertyHandler用于定义升级和降级方法。
CN2004800032492A 2003-10-23 2004-07-27 用于文件转换的系统和方法 Expired - Fee Related CN1867911B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/693,090 2003-10-23
US10/693,090 US7155444B2 (en) 2003-10-23 2003-10-23 Promotion and demotion techniques to facilitate file property management between object systems
PCT/US2004/024295 WO2005045575A2 (en) 2003-10-23 2004-07-27 Promotion and demotion techniques to facilitate file property management between object systems

Publications (2)

Publication Number Publication Date
CN1867911A CN1867911A (zh) 2006-11-22
CN1867911B true CN1867911B (zh) 2010-06-09

Family

ID=34522292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800032492A Expired - Fee Related CN1867911B (zh) 2003-10-23 2004-07-27 用于文件转换的系统和方法

Country Status (17)

Country Link
US (1) US7155444B2 (zh)
EP (1) EP1634145A4 (zh)
JP (1) JP4578480B2 (zh)
KR (1) KR101137188B1 (zh)
CN (1) CN1867911B (zh)
AU (1) AU2004287137B2 (zh)
BR (1) BRPI0406528A (zh)
CA (1) CA2511528A1 (zh)
IL (1) IL169465A0 (zh)
MX (2) MXPA05007143A (zh)
MY (1) MY137808A (zh)
NO (1) NO20052799L (zh)
NZ (1) NZ540655A (zh)
RU (1) RU2348973C2 (zh)
TW (1) TWI359374B (zh)
WO (1) WO2005045575A2 (zh)
ZA (1) ZA200504758B (zh)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7624356B1 (en) * 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
AU2001264895A1 (en) * 2000-06-21 2002-01-02 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US8819072B1 (en) * 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7318063B2 (en) * 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
US20060100610A1 (en) 2004-03-05 2006-05-11 Wallace Daniel T Methods using a robotic catheter system
US7976539B2 (en) * 2004-03-05 2011-07-12 Hansen Medical, Inc. System and method for denaturing and fixing collagenous tissue
US8145683B2 (en) * 2004-03-17 2012-03-27 Siemens Aktiengesellschaft Data structure and method for creating and storing a file
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US7730482B2 (en) * 2004-06-08 2010-06-01 Covia Labs, Inc. Method and system for customized programmatic dynamic creation of interoperability content
JP4541054B2 (ja) * 2004-07-09 2010-09-08 株式会社リコー レンズ鏡胴及び撮影装置
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7516399B2 (en) * 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US7849048B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. System and method of making unstructured data available to structured data analysis tools
US7849049B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. Schema and ETL tools for structured and unstructured data
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US20070073751A1 (en) * 2005-09-29 2007-03-29 Morris Robert P User interfaces and related methods, systems, and computer program products for automatically associating data with a resource as metadata
US7797337B2 (en) * 2005-09-29 2010-09-14 Scenera Technologies, Llc Methods, systems, and computer program products for automatically associating data with a resource as metadata based on a characteristic of the resource
US20070073770A1 (en) * 2005-09-29 2007-03-29 Morris Robert P Methods, systems, and computer program products for resource-to-resource metadata association
US7484173B2 (en) * 2005-10-18 2009-01-27 International Business Machines Corporation Alternative key pad layout for enhanced security
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US8996592B2 (en) * 2006-06-26 2015-03-31 Scenera Technologies, Llc Methods, systems, and computer program products for identifying a container associated with a plurality of files
US8156149B2 (en) * 2007-07-24 2012-04-10 Microsoft Corporation Composite nested streams
US20110113319A1 (en) * 2007-08-13 2011-05-12 Kcs - Knowledge Control Systems Ltd. Introducing a form instance into an information container
US7958167B2 (en) * 2008-03-05 2011-06-07 Microsoft Corporation Integration of unstructed data into a database
US8645105B1 (en) 2008-11-14 2014-02-04 Adobe Systems Incorporated Methods and systems for round-trip editing of component artwork
US8869051B2 (en) * 2009-10-02 2014-10-21 Adobe Systems Incorporated Systems and methods for using separate editing applications from within electronic content creation applications while preventing data loss
US8856792B2 (en) 2010-12-17 2014-10-07 Microsoft Corporation Cancelable and faultable dataflow nodes
US9172771B1 (en) 2011-12-21 2015-10-27 Google Inc. System and methods for compressing data based on data link characteristics
US8560579B1 (en) * 2011-12-21 2013-10-15 Google Inc. Systems and methods for managing a network by generating files in a virtual file system
US10372741B2 (en) 2012-03-02 2019-08-06 Clarabridge, Inc. Apparatus for automatic theme detection from unstructured data
CN105302425B (zh) * 2014-05-30 2019-03-08 联想(北京)有限公司 一种应用对象的处理方法及电子设备
US11782601B2 (en) 2015-01-20 2023-10-10 Ultrata, Llc Object memory instruction set
CN112214424B (zh) 2015-01-20 2024-04-05 乌尔特拉塔有限责任公司 对象存储器结构、处理节点、存储器对象存储和管理方法
WO2016118564A1 (en) * 2015-01-20 2016-07-28 Ultrata Llc Universal single level object memory address space
US9886210B2 (en) 2015-06-09 2018-02-06 Ultrata, Llc Infinite memory fabric hardware implementation with router
CA3006773A1 (en) 2015-12-08 2017-06-15 Ultrata, Llc Memory fabric software implementation
CN111753141B (zh) * 2019-03-26 2024-06-11 华为技术有限公司 一种数据管理方法及相关设备
US20230089365A1 (en) * 2021-09-20 2023-03-23 Salesforce.Com, Inc. Data virtualization adapter in an integration platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385606B2 (en) * 1997-10-27 2002-05-07 Hitachi, Ltd. File format conversion method, and file system, information processing system, electronic commerce system using the method
US6429882B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
CN1392986A (zh) * 2000-01-31 2003-01-22 Xml都市公司 用于产生各种呈现的结构化文档的方法和装置
US20030101169A1 (en) * 2001-06-21 2003-05-29 Sybase, Inc. Relational database system providing XML query support

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US76978A (en) * 1868-04-21 Francis w
US5873092A (en) * 1995-12-14 1999-02-16 International Business Machines Corporation Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties
US6061696A (en) * 1997-04-28 2000-05-09 Computer Associates Think, Inc. Generating multimedia documents
US6708189B1 (en) * 1997-09-30 2004-03-16 Desknet, Inc. Computer file transfer system
US6549918B1 (en) * 1998-09-21 2003-04-15 Microsoft Corporation Dynamic information format conversion
US6353823B1 (en) * 1999-03-08 2002-03-05 Intel Corporation Method and system for using associative metadata
US6708187B1 (en) * 1999-06-10 2004-03-16 Alcatel Method for selective LDAP database synchronization
US6363386B1 (en) * 1999-07-26 2002-03-26 Microsoft Corporation System and method for managing property information related to a resource
US6549916B1 (en) * 1999-08-05 2003-04-15 Oracle Corporation Event notification system tied to a file system
US6728685B1 (en) * 1999-11-05 2004-04-27 Ford Motor Company Communication schema of online reporting system and method related to online orders for consumer products having specific configurations
US6611840B1 (en) * 2000-01-21 2003-08-26 International Business Machines Corporation Method and system for removing content entity object in a hierarchically structured content object stored in a database
US6779154B1 (en) * 2000-02-01 2004-08-17 Cisco Technology, Inc. Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents
US6871245B2 (en) * 2000-11-29 2005-03-22 Radiant Data Corporation File system translators and methods for implementing the same
JP3773426B2 (ja) * 2001-07-18 2006-05-10 株式会社日立製作所 データマイニングにおける前処理方法及び前処理システム
US6704432B2 (en) * 2001-10-18 2004-03-09 Microsoft Corporation Extensible file format

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385606B2 (en) * 1997-10-27 2002-05-07 Hitachi, Ltd. File format conversion method, and file system, information processing system, electronic commerce system using the method
US6429882B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
CN1392986A (zh) * 2000-01-31 2003-01-22 Xml都市公司 用于产生各种呈现的结构化文档的方法和装置
US20030101169A1 (en) * 2001-06-21 2003-05-29 Sybase, Inc. Relational database system providing XML query support

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
全文.

Also Published As

Publication number Publication date
NO20052799D0 (no) 2005-06-09
JP4578480B2 (ja) 2010-11-10
WO2005045575A2 (en) 2005-05-19
EP1634145A2 (en) 2006-03-15
US7155444B2 (en) 2006-12-26
AU2004287137A1 (en) 2005-05-19
CN1867911A (zh) 2006-11-22
AU2004287137B2 (en) 2009-12-17
CA2511528A1 (en) 2005-05-19
JP2007509415A (ja) 2007-04-12
KR101137188B1 (ko) 2012-04-19
BRPI0406528A (pt) 2005-12-13
IL169465A0 (en) 2007-07-04
TW200515270A (en) 2005-05-01
MY137808A (en) 2009-03-31
RU2348973C2 (ru) 2009-03-10
WO2005045575A3 (en) 2006-03-16
TWI359374B (en) 2012-03-01
MXPA05007143A (es) 2005-08-26
KR20060112590A (ko) 2006-11-01
NZ540655A (en) 2008-04-30
EP1634145A4 (en) 2009-02-18
RU2005120652A (ru) 2006-01-20
NO20052799L (no) 2005-11-07
US20050091285A1 (en) 2005-04-28
MXPA05007144A (es) 2005-11-01
ZA200504758B (en) 2006-08-30

Similar Documents

Publication Publication Date Title
CN1867911B (zh) 用于文件转换的系统和方法
CN100410931C (zh) 用于扩展文件系统应用编程接口的方法
CN100461156C (zh) 集成数据处理系统
US9038022B2 (en) Universal and adaptive software development platform for data-driven applications
RU2398275C2 (ru) Файловая система, представленная внутри базы данных
CN100452029C (zh) 用于管理媒体文件数据库的方法和系统
EP1176523A2 (en) System for providing extended file attributes
US20020055939A1 (en) System for a configurable open database connectivity conduit
US20040133878A1 (en) Method and system for recording macros in a language independent syntax
KR100819702B1 (ko) 게임 노출 방법 및 시스템
US20080033948A1 (en) Storage apparatus and method therefor
CN1828596B (zh) 在数据库内部表示的文件系统
US20080033949A1 (en) Electronic apparatus and method therefor
Lyngbaek et al. A Personal Data Manager.
US20020156788A1 (en) Method of constructing, editing, indexing, and matching up with information on the interner for a knowledge map
US7660821B2 (en) Data storage system
CN109918355A (zh) 实现基于对象存储服务的nas的虚拟元数据映射系统和方法
US20060155755A1 (en) Constructing and referring objects in a computing environment
Weerawarana et al. PPK: Towards a kernel for building PSEs
JPH02278439A (ja) 追記型デバイスのデータ管理方式
JP4319438B2 (ja) 入力情報処理装置、プログラム、記憶媒体及び入力情報処理方法
JP2002244901A (ja) ファイル管理装置及びファイル管理方法、並びに記憶媒体
WO2012026001A1 (ja) 情報処理装置およびプログラム管理方法
Apostolakis Bibliography manager

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100609

Termination date: 20200727