有效描述资源之间的关系的制作方法

文档序号:6566957阅读:201来源:国知局
专利名称:有效描述资源之间的关系的制作方法
技术领域
本发明一般涉及关系管理。具体地,提供了一种通过引用关系数据结构发现 资源之间关系的系统和方法。
背景技术
当前,诸如网页、图像和电影的文档一般用包括内容特定和应用程序特定编 码的两类编码来编码。文档可包括定义文档与另一文档之间关系的关系信息。该关 系信息用文档的内容特定或应用程序特定编码来编码。解码器必须知道如何编码文档以提取关系信息。解码器通过解码整个文档并提取关系信息来提取文档内的关系信息。当解码器不理解文档的编码时将不提取关 系信息。当解码器尝试查看或更新经加密或数字签名的安全文档中的关系信息时会产 生问题。如果安全文档被加密,则解码器将不能解码安全文档并提取文档中的关系 信息,因为该解码器不知道该安全文档和关系信息是如何编码的。此外,当安全文 档被数字签名时,解码器将能够解码该安全文档并提取关系信息。然而,解码该文 档并提取关系信息可使数字签名失效,因为解码文档并提取关系信息可改变跟踪上 次访问文档的日期的文档属性。因此,出于至少前述原因,需要一种快速发现文档的内部和外部关系而无需 解码该文档的方法。发明内容本领域中的这些和其它问题通过提供一种允许发现源资源与一个或多个目标 资源之间的一个或多个关系而无需解码该源资源或目标资源的关系数据结构来解 决。关系数据结构储存在计算机可读介质上,并描述源资源与一个或多个目标资 源之间的一个或多个关系。该关系数据结构的各个关系包括唯一地标识源资源与 一个或多个目标资源中的一个目标资源之间关系的标识信息、指定目标资源的位置的目标信息、以及定义源资源与目标资源之间关系的语义的类型信息。此外,关系数据结构与源资源相关联,以使能一种描述源资源与多个目标之 间的多个关系的方法,该多个关系以与源资源的编码或目标资源的编码无关的格式 编码。该描述多个关系的方法包括选择定义关系模式的名空间、基于该多个关系 与关系模式填充关系数据结构、并将多个关系储存在关系数据结构中。此外,关系数据结构使能一种发现源资源与一个或多个目标资源之间的一个 或多个关系的方法。为了发现该一个或多个关系,源资源的位置被确定。随后,源 资源的位置被用来确定关系数据结构是否与源资源相关联。如果关系数据结构与源 资源相关联,则该一个或多个关系根据关系模式解码,并显示该一个或多个经解码 关系。因此,关系数据结构提供对源资源与多个目标资源之间的关系的访问而无需 解码源资源或目标资源。该关系数据结构便于与不同系统的更快速通信,因为这些 关系解析更快并且可以内容中性的格式储存。在以下说明书中将阐述其它优点和新颖特征,并且部分地将在本领域技术人 员细读以下说明书之后变得显而易见,或者可通过本发明的实践获知。


以下参照附图描述本发明,在附图中图1示出适于实现本发明的计算环境的框图;图2示出储存在网络环境中的包,以及源资源与多个目标资源之间的多个关系;图3示出本发明所使用的关系数据结构;图4是本发明一实施例的流程图,示出了一种创建图3的关系数据结构的方法;图5是本发明一实施例的流程图,示出了一种通过引用图3的关系数据结构 发现一种或多种关系的方法。
具体实施方式
本发明一实施例利用关系数据结构来发现源资源与一个或多个目标资源之间 的一个或多个关系。源资源与目标资源可以是可使用如在"封装URI方案以标识 和引用包的各个部分"(Pack URI Scheme to Identify and Reference Parts of apackage)中描述的一封装协议寻址的包。该关系数据结构与源资源相关联,并以 内容中性格式储存。图1示出了适于实现本发明的计算环境的框图。该计算系统环境100仅是合 适的计算环境的一个示例,并非旨在提出对本发明使用范围或功能作任何限制。计 算环境100也不应被解释为对示例性操作环境100中所示的任一组件或其组合有任 何依赖性或任何需求。 .本发明也可在很多其它通用或专用计算系统环境或配置中操作。适于本发明 使用的众所周知的计算系统、环境、和/或配置的示例包括,但不限于,个人计算 机、服务器计算机、手持式或膝上型装置、书写板装置、多处理器系统、基于微处 理器的系统、机顶盒、可编程消费品电器、网络PC、迷你计算机、大型机、包括 任一种以上系统或设备的分布式计算环境等等。本发明可以计算机可执行指令的一般环境进行说明,诸如由计算机执行的程 序模块。 一般而言,程序模块包括执行具体任务或实现具体抽象数据结构的例程、 程序、对象、组件、数据结构等等。本发明还可在任务由经通信网络连接的远程处 理装置执行的分布式计算环境中实施。在分布式计算环境中,程序模块可置于包括 存储器存储设备的本地和远程计算机存储介质中。参照图1,实现本发明的示例性系统包括以计算机110形式的通用计算装置。 计算机110的组件可包括,但不限于,处理单元120、系统存储器130以及把包括 系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121 可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总 线、以及使用多种总线架构的任一种的本地总线。作为示例,而非限制,这些架构 包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强型ISA (EISA) 总线、视频电子标准协会(VESA)局部总线、快速外围部件互连(PCI Express) 总线和也称为Mezzanine总线的外围部件互连(PCI)总线。计算机110通常包括各种计算机可读介质。计算机可读介质可以是能被计算 机110访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介 质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计 算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结 构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。 计算机存储介质包括但不限于RAM、 ROM、 EEPROM、闪存或其它存储器技术、 CD-ROM、数字化多功能光盘(DVD)或其它光学存储技术、磁盒、磁带、磁盘存储器或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机no访问的介质。通信介质通常在诸如载波或其它传输机制的已调制数据信号中体现计 算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术语"已调制数据信号"意指在信号中用对信息编码方式设置或改变其一个或多个特 征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介 质,和诸如声学、射频、红外线和其它无线介质的无线介质。以上任何介质的合成 也应包括在计算机可读介质的范围中。系统存储器130包括诸如只读存储器(ROM) 131和随机存取存储器(RAM) 132的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于计算机110 如启动时在元件间传送信息的基本例程的基本输入/输出系统(BIOS) 133通常存 储在ROM 131中。RAM 132通常包含可被处理单元120立即访问和/或当时正被 操作的数据和/或程序模块。作为示例,而非限制,图l示出了操作系统134、应用 程序135、其它程序模块136、和程序数据137。计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。 作为示例,图1图示了读取和写入不可移动、非易失性磁性介质的硬盘驱动器141, 读取和写入可移动、非易失性磁盘152的磁盘驱动器151,读取和写入可移动、非 易失性光盘156,诸如CD-ROM或其它光学介质的光盘驱动器155。其它也用在示 例性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不 限于,如磁带、闪存卡、数字化视频光盘、数字化录像带、固态RAM、固态ROM 等等。硬盘驱动器141通常通过诸如接口 140的不可移动存储器接口与系统总线 121连接,而磁盘驱动器151和光盘驱动器155通常通过诸如接口 150的可移动存 储器接口与系统总线121连接。如上所述并如图1所示的驱动器及其相关联的计算机存储介质为计算机110 提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图1中,例如, 硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146、和 程序数据147。注意这些组件可以与操作系统134、应用程序135、其它程序模块 136、和程序数据137相同或不同。在此给予操作系统144、应用程序145、其它程 序模块146、和程序数据147的数字不同至少说明他们是不同的副本。用户可通过 输入装置如键盘162、通常是指鼠标、跟踪球或触摸板等的定点装置161向计算机 110输入命令和信息。其它输入装置(未示出)可包括话筒、游戏杆、游戏垫、卫 星接收器、扫描仪等等。这些和其它输入设备常常通过与系统总线耦合的用户输入接口 160与处理单元120相连,但也可通过诸如并行端口、游戏端口或通用串行总 线(USB)的其它接口连接。监视器191或其它类型的显示设备也可通过诸如视频 接口 190的接口与系统总线121相连。除了监视器,计算机还可包括诸如扬声器 197和打印机196的其它输出设备,它们通过输出外围接口 190相连。计算机110可以在使用与一台或多台远程计算机,诸如远程计算机180的逻 辑连接的网络化环境中运行。远程计算机180可以是个人计算机、服务器、路由器、 网络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机110相 关的许多或全部组件,尽管在图1中仅图示了存储器存储设备181。图1中所描绘 的逻辑连接包括局域网(LAN) 171和广域网(WAN) 173,但也可包括其它网络。这 样的网络化环境在办公室、企业范围计算机网络、企业内部互联网和因特网上是常 见的。当用于LAN网络化环境中时,计算机110通过网络接口或适配器170与局域 网171连接。当用于WAN网络化环境中时,计算机110通常包括调制解调器172 或其它用于在广域网173,诸如因特网中建立通信的装置。可以是内置式或外置式 的调制解调器172与系统总线121通过用户输入接口 160或其它适当机制连接。在 网络化环境中,与计算机110相关的程序模块或其一部分可存储在远程存储器存储 装置中。作为示例,而非限制,图1示出了驻留于存储器设备181中的远程应用程 序185。应当理解,所示网络连接是示例性的,且其它用于在计算机间建立通信连 接的技术也可以使用。图2示出储存在网络环境200中的包210,以及源资源211与多个目标资源 213-215和221之间的多个关系。参看图1和2,包210被储存在计算机110上。计算机110将多个其它包储存 在与包210的当前位置相关的地址。该包210是储存源资源211、关系资源212和 目标资源213-215的容器。该包210还可包含多个其它资源和目标资源(未示出)。源资源211可以是比如图像、网页、文档、视频或与包210相似的包的文件。 源资源211与目标资源213-215和221相关。尽管未示出,源资源211还可与相关 于包210的包中所包含的目标资源有关。该源资源211是产生一关系的资源。目标资源213-215和221可以是比如图像文件、网页、文档、视频或与包210 相似的包的文件。目标资源213-215是与源资源211相关的本地资源,而目标资源 221是储存在远程计算机180上的、可经由网络230访问的外部资源。目标资源221 被储存在远程计算机180上的数据库220中。目标资源213-215和221是关系终止的资源。然而,目标资源213-215和221在目标资源与类似于关系资源212的关系 资源相关联时可取得与源资源相关联的特征。关系资源212储存指示该源资源211与目标资源213-215和221相关的信息。 该信息被称为关系信息,并可用于构建资源分层结构或提供有关源资源211的元数 据。以下参考图3公开关系资源212的其它细节。图3示出本发明所使用的关系数据结构300。参看图2和3,关系数据库300 定义关系资源212。多关系(relationships)标记310定义源资源与多个目标资源之 间的多个关系。该多关系标记310可包括定义多个关系的模式和语义的名空间元 315。模式和语义可定义关系数据结构的内容中性编码。单一关系(relation)标记320定义源资源与多个目标资源中的一个目标资源 之间的单一关系。多个单一关系标记320可嵌套在多关系标记310内。该单一关系 标记320包括标识元325、类型元326、目标元327和目标基础(targetBase)元328。标识元325唯一地标识多关系标记310内的关系。该标识元325不能改变并 且必须是有效标识符,诸如可扩展标记语言(XML)标识符。该标识符的有效性 根据由名空间元315指定的模式(比如XML模式)来验证。类型元326可受限于由名空间元315或应用程序指定的值的范围。该类型元 326进一步定义关系的语义。例如,类型元326可定义源资源是否要求或需要目标 资源。与类型元326相类似地,targetBase元328进一步定义源资源与目标资源之间 关系的语义。该targetBase元328可定义目标元是内部的、本地的、相关的、还是外部的。目标元327定义目标资源的位置。位置可以是诸如封装统一资源标识符 (URI)、绝对统一资源定位符(URL)、或相对URL。封装URI是用来引用包的 寻址方案。该封装URI寻址方案使能整个包或该包中所包含的特定资源的请求。 对封装URI寻址方案的详细描述在题为"Pack URI Scheme to Identify and Reference Parts of a package"的共同待批申请中公开,该申请已通过引用结合于此。因此,关系数据结构310使用户能发现和描述与包内目标资源的本地关系、 与位于包外不同计算机上一绝对位置的目标资源的外部关系、以及与位于相关于包 的位置的目标资源的相关关系。此外,关系数据结构310提供一位置来储存源资源 元数据。该元数据信息包括注释和描述性数据,诸如打印或显示数据。图4是本发明一实施例的流程图,示出了一种创建图3的关系数据结构310的方法。在步骤S410,应用程序或用户生成将一关系添加到源资源的请求。然后,在步骤S420,确定源资源的位置。在确定源资源的位置之后,在步骤S430,开始 一校验以验证关系数据结构的存在。如果关系数据结构存在,则在步骤S450,进 行一后续校验以验证该关系是新的。如果该关系是新的或者已经被更改,则它被储 存在关系数据结构中,否则该关系是一重复关系并且不作储存。在一替换实施例中, 该关系根据由名空间元315指定的模式和语义来储存。如果关系数据结构不存在,则在步骤440例示一关系数据结构并使之与源资 源相关联。该关系数据结构可通过在与源资源的位置相关的一位置上创建诸如文件 夹的容器来与源资源相关联。随后,关系数据结构被储存在该容器中。在本发明的 一实施例中,如果源资源位于例如/content/spine.xml,则该关系数据结构会在 /content/—rels/例示并被命名为"spine.xml.rels"。为了符合该命名规范,关系数据结 构可被储存在位于源资源位置上的称为"—rels"的子容器中,并且关系数据结构的 名称可以是与".rds"级联的源资源的名称。使用相似的命名规范使所有关系数据 结构与所有源资源相关联将允许有效地基于源资源的位置访问关系数据结构。在例示了关系数据结构之后,用比如标识、目标或类型信息的关系信息填充 关系数据结构。然后在步骤460储存该关系信息以允许后续检索关系信息。图5是本发明另一实施例的流程图,示出了一种通过引用图3的关系数据结 构发现一个或多个关系的方法。响应于步骤S510的解码关系数据结构的用户或应用程序关系请求,在步骤 S520进行校验以确定源资源是否与关系数据结构相关联。如果该源资源不与关系 数据结构相关联,则不解码关系数据结构。另一方面,如果关系数据结构存在,则 在步骤S530确定该数据结构的名空间。然后,在步骤S540,解码器或读取器解码 这些关系。在解码之后,可在步骤S550显示一个或多个关系。在一替换实施例中, 解码关系利用名空间元315所指定的模式和语义。因此,与多个目标资源相关的源资源将具有将根据上述方法发现的多个关系。 此外,本发明的各个实施例使解码器能解码与源资源相关联的多个关系而无需解码 该源资源。当多个关系的内容编码的格式与源或目标资源编码不同时,该解码器可 解码这些关系。因而,可确定安全或经加密源资源与目标资源之间的关系,而无需 破坏安全或经加密源资源与目标资源的安全性。前面对本发明的描述是说明性的,并且本领域技术人员可更改该配置和实现。 例如,尽管本发明己参照图l-5进行了一般描述,但那些描述是示例性的。因此,本发明的范围仅受以下权利要求限制。
权利要求
1.一种描述一源资源与一个或多个目标资源之间的一个或多个关系的方法,所述一个或多个关系用与所述源资源的编码无关的格式编码,所述方法包括选择定义一关系模式的名空间;基于所述一个或多个关系和所述关系模式填充一关系数据结构;将所述一个或多个关系储存在所述关系数据结构;以及使所述关系数据结构与所述源资源相关联。
2. 如权利要求l所述的方法,其特征在于,所述一个或多个目标资源是从由 本地、外部和相关资源构成的组中选择的资源。
3. 如权利要求l所述的方法,其特征在于,所述源资源和所述一个或多个目 标资源是包。
4. 如权利要求1所述的方法,其特征在于,填充所述关系数据结构进一步包括检索标识所述一个或多个关系的标识信息;以及 通过利用所述关系模式确认检索到的标识信息。
5. 如权利要求1所述的方法,其特征在于,使所述关系数据结构与所述源资 源相关联进一步包括将所述关系数据结构储存在与所述源资源的位置相关的地址。
6. 如权利要求5所述的方法,其特征在于,与所述源资源的位置相关的所述 地址寻址所述源资源的位置处的子文件夹。
7. —种具有执行如权利要求1所述方法的计算机可执行指令的计算机可读介质。
8. —种具有处理器、存储器和操作环境的计算机系统,所述计算机系统可用 来执行如权利要求1所述的方法。
9. 一种发现一源资源与一个或多个目标资源之间的一个或多个关系的方法, 所述一个或多个关系用与所述源资源或所述一个或多个目标资源的编码无关的格 式编码,所述方法包括定位所述源资源;确定关系数据结构是否与所述源资源相关联;解码所述一个或多个关系而无需解码所述源资源;以及显示所述一个或多个关系。
10. 如权利要求9所述的方法 标资源是安全资源。
11. 如权利要求9所述的方法 标资源使用一封装URI来寻址。
12. 如权利要求9所述的方法 解码所述源资源进一步包括在解码所述一个或多个关系之前,确定所述关系数据结构的模式;以及 利用所述模式来解码储存在所述关系数据结构中的所述一个或多个关系。
13. 如权利要求9所述的方法,其特征在于,确定所述关系数据结构是否与所 述源资源相关联进一步包括校验子文件夹在所述源资源的位置处存在。
14. 如权利要求13所述的方法,其特征在于,所述子文件夹位于与所述源资 源的位置相关的地址。
15. —种具有执行如权利要求9所述方法的计算机可执行指令的计算机可读 介质。
16. —种具有处理器、存储器和操作环境的计算机系统,所述计算机系统可用 来执行如权利要求9所述的方法。
17. —种储存在计算机可读介质上的关系数据结构,提供与源资源和一个或多 个目标资源之间的一个或多个关系相对应的数据,所述关系数据结构包括标识信息,用以唯一地标识所述一个或多个关系中的一个关系;目标信息,用以指定所述一个或多个目标资源中的一个目标资源的位置;以及类型信息,用以定义所述源资源与所述目标资源之间的关系。
18. 如权利要求17所述的关系数据结构,还包括 语义信息,用以在解码所述关系时进行帮助。
19. 如权利要求17所述的关系数据结构,其特征在于,储存在所述关系数据 结构中的所述一个或多个关系被嵌套。
20. 如权利要求17所述的关系数据结构,其特征在于,所述关系数据结构包 括用以描述所述源资源的元数据。,其特征在于,所述源资源或所述一个或多个目 ,其特征在于,所述源资源或所述一个或多个目 ,其特征在于,解码所述一个或多个关系而无需
全文摘要
一种与源资源相关联的关系数据结构使能发现并描述该源资源与多个目标资源之间的关系的方法。这些关系以与源资源的编码无关的格式储存。源资源与多个目标资源之间的每个关系以内容中性的格式储存,并且关系数据结构储存每个目标资源的位置、与每个目标资源的关系的类型、以及唯一地标识源资源与每个目标资源之间的每个关系的标识符。因此,关系数据结构允许编码器直接发现源资源于多个目标资源之间的关系,而无需解码源资源或目标资源。
文档编号G06F7/00GK101273329SQ200680011141
公开日2008年9月24日 申请日期2006年3月22日 优先权日2005年4月22日
发明者A·舒尔, B·A·麦克肯齐, C·S·沃克, D·B·奥恩斯坦, I·E·尼科尔斯, J·J·迪尼埃兹, J·M·波洛克, S·B·谢斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1