CN102999545B - 高效提供相同类型的多个元数据表示 - Google Patents

高效提供相同类型的多个元数据表示 Download PDF

Info

Publication number
CN102999545B
CN102999545B CN201210335264.3A CN201210335264A CN102999545B CN 102999545 B CN102999545 B CN 102999545B CN 201210335264 A CN201210335264 A CN 201210335264A CN 102999545 B CN102999545 B CN 102999545B
Authority
CN
China
Prior art keywords
metadata
local
type
coding
reader
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.)
Active
Application number
CN201210335264.3A
Other languages
English (en)
Other versions
CN102999545A (zh
Inventor
J·D·卡普兰
S·法克斯
R·克里希纳瓦斯米
R·M·拜尔斯
R·A·拜因顿
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102999545A publication Critical patent/CN102999545A/zh
Application granted granted Critical
Publication of CN102999545B publication Critical patent/CN102999545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及高效提供相同类型的多个元数据表示。实施例涉及动态适配元数据供本地数据编码使用,以及高效地修改对象模型类型引用。在一个情形中,计算机系统在对象模型描述上例示元数据读取器,来访问该对象模型描述中的元数据的各个部分。元数据读取器被配置成读取本地元数据,其中本地元数据是以元数据读取器预期的编码表示的元数据。元数据读取器确定所访问的元数据是以非本地编码被编码,并然后确定要执行哪些元数据修改来将非本地编码变换成本地编码。计算机系统然后根据所确定的修改将对象模型的元数据从非本地编码动态地适配到本地编码。如此,对象模型可由本地运行时读取。

Description

高效提供相同类型的多个元数据表示
技术领域
本发明涉及计算机技术,尤其涉及高效提供相同类型的多个元数据表示的技术。
背景技术
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且高效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。
在某些情况下,软件应用被设计成实现各种形式的元数据。该元数据可由不同的元数据类型来表示。基于用户期望看到的哪个元数据类型,不同类型可被用于不同的用户。在这些情形中,多个不同的元数据文件通常被存储并用于提供各种元数据类型。这一系列元数据文件的存储和实现可能在检索和应用正确的元数据文件时导致低效率。
发明内容
本文所述的实施例涉及动态适配元数据供本地(native)数据编码使用,以及高效地修改对象模型类型引用。在一个实施例中,计算机系统在对象模型描述上例示(instantiate)元数据读取器,来访问该对象模型描述中的元数据的各个部分。元数据读取器被配置成读取本地元数据,其中本地元数据是以元数据读取器预期的编码表示的元数据。元数据读取器确定所访问的元数据是以非本地编码被编码,并然后确定要执行哪些元数据修改来将非本地编码变换成本地编码。计算机系统然后根据所确定的修改将对象模型的元数据从非本地编码动态地适配到本地编码。如此,对象模型可由本地运行时读取。
在另一实施例中,计算机系统例示一类型引用表,该类型引用表被配置成接收类型定义请求以及作为响应来提供合适的类型定义。该类型引用表包括可由元数据读取器读取的元数据。所例示的类型引用表接收来自类型请求者对指定类型的类型定义请求。计算机系统在类型引用表中实现类型引用,以基于哪个类型曾被请求以及哪个类型适合于元数据读取器的当前消费者来动态地替换元数据的各种类型。计算机系统然后基于被动态替换的类型来向类型请求者提供所请求的类型定义。
提供本发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附加的特征和优点将在以下的描述中被阐述,并且部分地可通过该描述而对本领域技术人员显而易见,或者可通过对本文中的教示的实践来习得。本发明的实施例的特征和优点可以通过在所附权利要求中特别指出的手段和组合来被实现并获得。本发明的实施例的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而习得。
附图说明
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明的实施例将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出本发明的实施例可在其中操作的计算机架构,本发明的实施例包括动态地适配元数据供本地数据编码使用以及高效地修改对象模型类型引用。
图2示出用于动态地适配元数据供本地数据编码使用的示例方法的流程图。
图3示出用于高效地修改对象模型类型引用的示例方法的流程图。
图4示出外部元数据被转换成本地元数据的实施例。
图5示出使用类型引用来编码元数据的实施例。
图6示出通过对类型引用的原地修改将外部类型系统转换成本地类型系统的实施例。
图7示出元数据容器的实施例。
图8示出提供元数据容器的视图的实施例。
图9示出提供元数据容器的视图的替代实施例。
具体实施方式
本文所述的实施例涉及动态适配元数据供本地数据编码使用,以及高效地修改对象模型类型引用。在一个实施例中,计算机系统在对象模型描述上例示元数据读取器,来访问该对象模型描述中的元数据的各个部分。元数据读取器被配置成读取本地元数据,其中本地元数据是以元数据读取器预期的编码表示的元数据。元数据读取器确定所访问的元数据是以非本地编码被编码,并然后确定要执行哪些元数据修改来将非本地编码变换成本地编码。计算机系统然后根据所确定的修改将对象模型的元数据从非本地编码动态地适配到本地编码。如此,对象模型可由本地运行时读取。
在另一实施例中,计算机系统例示一类型引用表,该类型引用表被配置成接收类型定义请求以及作为响应来提供合适的类型定义。该类型引用表包括可由元数据读取器读取的元数据。所例示的类型引用表接收来自类型请求者对指定类型的类型定义请求。计算机系统在类型引用表中实现类型引用,以基于哪个类型曾被请求以及哪个类型适合于元数据读取器的当前消费者来动态地替换元数据的各种类型。计算机系统然后基于被动态替换的类型来向类型请求者提供所请求的类型定义。
以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非特别声明,或者是在一个动作被执行之前因为该动作依赖于另一动作的完成而需要的情况。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储有计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、基于RAM的固态驱动器(SSD)、闪存、相变存储器(PCM)、或其它类型的存储器、或者其他光盘存储、磁盘存储或其他磁存储设备、或可用于以计算机可执行指令、数据或数据结构形式存储所期望的程序代码装置且可被通用或专用计算机访问的任何其他介质。
“网络”被定义成允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线或无线的组合)被传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括如下的网络:所述网络可以用于以计算机可执行指令形式或以数据结构形式运送数据或所期望的程序代码装置,并且可以被通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终被传输给计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行(或计算机可解释)指令例如包括致使通用计算机、专用计算机、或专用处理设备执行某个功能或某组功能的指令。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明还可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统每个都执行任务的分布式系统环境(例如,云计算、云服务等)中实践。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。
图1示出了可在其中采用本发明的原理的计算机架构100。计算机架构100包括计算机系统101。计算机系统101可以是任何类型的本地或分布式计算机系统,包括云计算系统。计算机系统可包括用于执行各种不同任务的各种不同模块。计算机系统使用各种不同接口来允许用户与系统的交互。在某些实施例中,计算机系统可提供允许开发者开发软件程序的集成开发环境(IDE)107。从而,在某些情况下,用户105可以是开发者,并可发出输入106来与IDE交互。IDE可提供对各种不同编程构造和其他元素的访问。在某些情况中,这可包括元数据读取器115。
本文所述的某些实施例提供了单个元数据文件,该元数据文件向不同元数据消费者呈现单个类型的不同视图。无需强制元数据读取器115在元数据被读取时在进行中做出这些改变,就可呈现该不同视图。当在对象模型描述116上例示元数据读取器时,读取器可检测元数据的编码并确定可能需要什么修改使得元数据对于读取器的消费者来说看上去自然。读取器在适配器(如适配模块125)中包装元数据,适配器修改元数据的编码使得元数据读取器的消费者无需修改即可在外部(即本文中的“非本地”)编码(如117)上操作。实施例还描述了对元数据的编码以允许以高效方式进行转换。如本文所使用的,“本地”编码指的是采用元数据读取器所预期的格式的元数据编码。“非本地”或外部编码指的是不是元数据读取器所预期的任何元数据编码。
在修改是显著的情况下,可对单个类型创建元数据的多个副本。这些副本中的每一个都包括区别特征,使得元数据读取器确定哪个视图要被呈现给哪个元数据消费者成为可能。一旦做出了确定,则所确定的视图就被提供给各消费者。元数据消费者可将标识他们的优选视图类型的选项传递给读取器。元数据读取器然后可使用它来选择呈现哪个视图类型。然后向该消费者隐藏其余视图。
本文所述的某些实施例包括以下方面:1)元数据读取器对将外部对象模型编码适配成本地对象模型编码所需的修改的自动检测,2)修改对象模型所引用的类型以改为来自不同对象模型的类型,3)对元数据编码以允许两个不同对象模型的类型系统之间的高效转换,4)修改元数据编码使得它符合元数据读取器的消费者所预期的元数据编码标准,5)使得元数据消费者能够无需修改而透明地消费变化的元数据编码,以及6)包含单个实体的多个视图供不同消费者直接使用的单个元数据文件。这些视图对于每个消费者来说是完整的且一致的,且仅那些对于每个消费者需要不同视图的实体具有多个视图(即这并不简单地是包含元数据文件的三个副本的zip文件)。元数据消费者可因此容易地指定他们希望哪个类型的视图。元数据读取器还可能够基于消费者的选择来选择完整且一致的元数据视图。
当在对象模型描述116上例示元数据适配器125时,该适配器正被期望该对象模型采用特定的本地编码的客户端消费。如果正被读取的对象模型不采用该本地编码,则元数据读取器可检测120需要哪些修改121来将外部编码变换成本地编码126。然后将例示一适配器来在客户端读取元数据时修改元数据,以便允许客户端以各种外部编码117透明地读取元数据。其他元数据读取器仅允许以一个特定的格式来读取,而不是允许在两个格式之间动态地转换。
由于元数据读取器115的客户端使用该读取器来理解对象模型,元数据适配器可透明地对非本地元数据做出许多类的修改,以便允许本地客户端直接理解它。这包括将外部类型系统所引用的类型修改成本地类型系统所使用的类型,以及将元数据标志修改为本地系统中的等同标志。
对象模型描述116可被编码来以最小的运行时处理时间和最小的空间要求来提供高效转换。本文所包括的实施例描述了这一编码,它允许外部类型系统被原地转换成元数据读取器的本地类型系统。在该编码中,对对象模型中正在使用的类型的引用是通过类型引用进行的。在某些情况中,其他元数据编码可基于权标和定义的相对位置来利用类型引用权标和类型定义权标的组合(例如,如果它们都在同一元数据文件中,则选择类型定义权标,而如果它们在不同的元数据文件中,则选择类型引用权标)。在本文的实施例中,即使类型定义权标可用,由于该权标在与定义相同的元数据文件中,类型引用权标被使用。使用类型引用权标而不是类型定义权标允许本文的系统高效地重定向类型,而如果它们是通过类型定义权标而不是类型引用权标来引用的,则代价高。
当使用类型引用来编码非本地对象模型使用的类型时,适配器125通过原地转换类型引用的目标来在类型系统之间转换,同时使得对该引用的其他使用在元数据中不被修改。这允许将对外部类型的每个使用重定向到本地类型,而不要求对元数据表的完全扫描和更新。
此外,元数据容器中所描述的大多数类型具有可在不同消费者之间共享的单个视图,或仅需要如上所述的最小适配。然而,也存在可能对于每个消费者使用不同视图的一类类型。其他实现通常具有整个元数据文件的多个分开的副本(每个视图一个完整副本),或者可能早就尝试根据消费者来在进行中适配或重写元数据。多副本方案增加了复杂性,因为它强制元数据部署者管理两个分开的文件并可能损害性能,因为存在对两个消费者具有共享表示的类型的不需要的副本。在进行中适配或重写仅对于非常简单的变换来说执行顺利,而任何显著的变换将显著减慢读取,且可能甚至要求在存储器或盘上可能临时生成元数据的完整的新副本。
本文所述的实施例包括单个元数据容器,该元数据容器对视图应对所有消费者相同的类型保持元数据的单个定义。元数据容器还保持视图不同(或需要不同)的类型的多个副本。元数据读取器然后向每个消费者提供该容器的不同视图,且仅向该消费者示出具有这些类型的类型的通用视图,以及对其余类型的消费者专用视图。下面,分别针对图2和图3的方法200和300,进一步解释这些概念。
考虑到以上描述的系统和架构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了解释简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。
图2示出用于动态地适配元数据供本地数据编码使用的方法200的流程图。现在将频繁参考环境100的组件和数据来描述方法200。
方法200包括在对象模型描述上例示元数据读取器来访问该对象模型描述中的元数据的一个或多个部分的动作,该元数据读取器被配置成读取本地元数据,该本地元数据包括以该元数据读取器所预期的编码表示的元数据(动作210)。例如,例示模块110可在对象模型描述116上例示元数据读取器115。元数据读取器可被例示来访问对象模型描述中的元数据的各部分。元数据可以是本地类型(126)或外部、非本地类型(117)。元数据读取器被配置成读取以本地格式编码的元数据,但可能不能够读取以各种不同的非本地格式中的任何一种编码的元数据。元数据读取器从而确定所访问的元数据是以非本地编码被编码(动作220),并进一步确定要执行哪些元数据修改来将非本地编码变换成本地编码(动作230)。
修改可包括将非本地编码引用的类型修改(或重编码)成本地编码使用的类型。修改还可包括将非本地编码的元数据标志修改成本地编码的元数据标志。如此,在修改之后,元数据读取器将能够识别元数据标志。还可单独地或除上述修改之外执行其他修改。在某些情况中,数据类型可被重写以符合本地编码。这些数据类型可被动态地重写以使得它们可由元数据读取器读取或以其他方式访问。
方法200还包括根据所确定的修改将对象模型的元数据从非本地编码动态地适配到本地编码的动作,使得对象模型可由本地运行时读取(动作240)。例如,适配模块125可使用由模块120确定的所确定的修改121来将非本地元数据117动态适配到本地编码126。在应用了修改之后,对象模型116于是可由本地运行时读取。动态适配从而允许用户读取采用多种不同的非本地编码的元数据。不管元数据是以哪个非本地编码被编码的,所述的系统将使用一个或多个不同修改来把该元数据适配成可由元数据读取器读取的本地编码。
在某些实施例中,动态适配可在元数据导入-读取级发生。通过在导入-读取级适配元数据,可防止在运行时的后续适配。在某些情况中,可应用可见性修改器来使得被动态适配的元数据内部或公共可见。该可见性修改器可由开发者105按需在元数据中改变。
图3示出用于高效地修改对象模型类型引用的方法300的流程图。现在将频繁参考环境100的组件和数据来描述方法300。
方法300包括例示类型引用表的动作,该类型引用表被配置成接收类型定义请求以及使用可由元数据读取器读取的元数据中存储的一个或多个类型引用权标来提供合适的类型定义作为响应(动作310)。例如,例示模块110可例示类型引用表130,类型引用表130接收类型定义请求以及使用元数据117中存储的各种类型引用权标来提供类型定义131作为响应。该类型引用表130包括可由元数据读取器115读取的元数据。所例示的类型引用表接收来自类型请求者对指定类型的类型定义请求(动作320)。此后,在类型引用表130的元数据中实现类型引用权标,以基于哪个类型曾被请求以及哪个类型可由元数据读取器读取来为元数据读取器115动态地替换一个或多个类型(动作330)。因此,使用类型引用表按请求以及按需动态地替换类型。非本地类型引用被本地类型引用原地替换。这些动态替换向元数据读取器提供了非本地类型的标准化视图。
方法300还包括基于由元数据中的类型引用权标提供的被动态替换的类型来向类型请求者提供所请求的类型定义的动作(动作340)。从而,类型引用表130可基于动态替换的类型来向类型请求者提供类型定义131。类型引用表可被例示来确保经类型引用接收类型请求者的请求。类型是在类型引用表中被替换的。以此方式,用户请求保持不变,而本地类型定义替代非本地定义被使用。
元数据的本地和非本地编码都可被创建在同一元数据文件中。从而,该同一元数据文件可包括不止一个编码。在单个元数据文件具有多个编码的情况下,元数据读取器可确定哪个用户正在请求该元数据文件,以及基于该确定可将该元数据文件的合适的编码传递给用户。因此,如果用户请求了本地编码,则本地编码的本地视图将被发送给用户。以此方式,对于用户来说,编码是完整的且一致的。为了提供高效执行,仅那些被不同类型的用户访问的元数据文件被以本地和非本地编码两者编码。如上所述,动态适配可包括各种不同的修改方法,包括将非本地编码引用的类型修改成本地编码使用的类型,以及将非本地编码的元数据标志修改成本地编码的元数据标志。从而,各种类型的非本地元数据可被动态地适配来供本地数据编码使用。
附加实施例在图4-9中描述。例如,在图4中,描绘了本地客户端、元数据读取器、适配器、以及外部对象模型之间的交互。以外部编码(454)接收的元数据可被发送到元数据适配模块453,来被适配成可由元数据读取器452读取的本地编码。本地元数据客户端450(在API边界451的另一侧)可与元数据读取器交互(例如使用API)来访问本地编码的元数据。
图5示出在使用多个类型时使用类型引用的元数据编码。例如,类型消费者510可包括类型1(511A)和一个或多个其他类型(类型n(511N))。这些类型可通过类型引用(506A)被链接到外部类型定义(如502A)。从而,类型1(511A)可通过类型应用506A被链接到外部类型定义1(502A)。类似地,其他类型(类型n)可通过类型引用506N被链接到外部类型定义502N。外部类型定义被存储在类型定义表501中,而类型引用被存储在类型引用表505中。
图6示出通过对类型引用的原地修改外部类型系统到本地类型系统的转换。因此,尽管类型引用506A和506N先前指向外部类型定义502A和502N(在图5中),但是类型引用可被修改来指向不同的、本地类型定义。从而,类型引用506A可被修改成指向本地类型定义626A,而类型引用506N可被修改成指向本地类型定义626N。如此,外部类型系统可被转换成本地类型系统。
图7示出在元数据容器内,要求多个元数据视图的每个实体可具有单独的视图副本。这些副本然后引用用于不需要不同视图的实体的共享视图。因此,元数据容器705中的实体A可具有两个不同的视图:第一视图710A和第二视图710B。而且,尽管实体A具有两个视图,实体B和C各自具有它们自己的通用元数据视图(分别是711和712)。图8进一步示出元数据读取器可自动向第一元数据消费者701A给出与其所希望的视图一致的元数据容器705中实体的视图。因此,因为消费者701A优选元数据视图710A,所以元数据读取器702用视图710A示出实体A,以及用通用视图示出实体B和C(711和712)。图9示出元数据读取器702自动向元数据消费者701B给出与其所希望的视图一致的元数据容器中实体的视图。因此,因为消费者701B优选元数据视图710B,所以元数据读取器702用视图710B示出实体A,以及用通用视图示出实体B和C(711和712)。
因此,提供了动态地适配元数据供本地数据编码使用的方法、系统和计算机程序产品。而且,提供了高效地修改对象模型类型引用的方法、系统和计算机程序产品。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (13)

1.一种在包括多个计算系统的计算机联网环境中、在包括至少一个处理器和存储器的计算机系统处提供用于动态适配元数据来供本地数据编码使用的计算机实现的方法,所述方法包括:
在对象模型描述上例示元数据读取器来访问所述对象模型描述中的元数据的一个或多个部分的动作,所述元数据读取器被配置成读取本地元数据,所述本地元数据包括以所述元数据读取器所预期的编码表示的元数据;
所述元数据读取器确定所访问的元数据是以非本地编码被编码的动作;
所述元数据读取器确定哪些元数据修改要被执行来将非本地编码变换成本地编码的动作;以及
根据所确定的修改将所述对象模型描述的元数据从非本地编码动态地适配到本地编码的动作,使得所述对象模型描述可由本地运行时读取,其中对元数据的本地编码和非本地编码被创建在同一元数据文件中。
2.如权利要求1所述的方法,其特征在于,所述动态适配允许用户读取采用多种不同非本地编码的元数据。
3.如权利要求1所述的方法,其特征在于,所述动态适配在元数据导入-读取级发生。
4.如权利要求3所述的方法,其特征在于,在所述元数据导入-读取级的动态适配防止在运行时级的一个或多个后续适配。
5.如权利要求1所述的方法,其特征在于,应用一可见性修改器来使得被动态适配的元数据内部或公共可见。
6.如权利要求1所述的方法,其特征在于,一个或多个数据类型被重写以符合本地编码。
7.如权利要求1所述的方法,其特征在于,所述元数据读取器被配置成确定哪个用户正在请求元数据文件,以及基于该确定将元数据文件的合适编码传递给用户。
8.如权利要求1所述的方法,其特征在于,对于各用户,所述编码是完整的且一致的。
9.如权利要求1所述的方法,其特征在于,仅那些对于本地和非本地用户被不同编码的元数据以本地和非本地编码两者编码。
10.如权利要求9所述的方法,其特征在于,所述用户指定哪个类型的编码要被提供给他们。
11.一种在包括多个计算系统的计算机联网环境中、在包括至少一个处理器和存储器的计算机系统处用于高效修改对象模型类型引用的计算机实现的方法,所述方法包括:
例示类型引用表的动作,所述类型引用表被配置成接收类型定义请求以及使用可由元数据读取器读取的元数据中存储的一个或多个类型引用权标来提供合适的类型定义作为响应,其中对元数据的本地编码和非本地编码被创建在同一元数据文件中;
所例示的类型引用表接收来自类型请求者对指定类型的类型定义请求的动作;
在所述类型引用表的元数据中实现类型引用权标,以基于哪个类型曾被请求以及哪个类型适合于所述元数据读取器的当前消费者来为所述元数据读取器动态地替换一个或多个类型的动作;以及
基于由所述元数据中的所述类型引用权标提供的被动态替换的类型来向类型请求者提供所请求的类型定义的动作。
12.如权利要求11所述的方法,其特征在于,非本地类型引用被本地类型引用原地替换。
13.如权利要求11所述的方法,其特征在于,动态替换向元数据读取器提供了非本地类型的标准化视图。
CN201210335264.3A 2011-09-12 2012-09-11 高效提供相同类型的多个元数据表示 Active CN102999545B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161533744P 2011-09-12 2011-09-12
US61/533,744 2011-09-12
US13/350,604 2012-01-13
US13/350,604 US8849996B2 (en) 2011-09-12 2012-01-13 Efficiently providing multiple metadata representations of the same type

Publications (2)

Publication Number Publication Date
CN102999545A CN102999545A (zh) 2013-03-27
CN102999545B true CN102999545B (zh) 2016-11-23

Family

ID=47830839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210335264.3A Active CN102999545B (zh) 2011-09-12 2012-09-11 高效提供相同类型的多个元数据表示

Country Status (7)

Country Link
US (2) US8849996B2 (zh)
EP (1) EP2756433B1 (zh)
JP (1) JP6101269B2 (zh)
KR (1) KR101941641B1 (zh)
CN (1) CN102999545B (zh)
TW (2) TWI598813B (zh)
WO (1) WO2013039801A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849996B2 (en) 2011-09-12 2014-09-30 Microsoft Corporation Efficiently providing multiple metadata representations of the same type
US9959114B2 (en) * 2015-03-16 2018-05-01 Microsoft Technology Licensing, Llc Representation of customizable types in a development environment
US10078501B2 (en) 2015-03-16 2018-09-18 Microsoft Technology Licensing, Llc Domain specific language modeling framework in a development environment
US10067755B2 (en) 2015-03-16 2018-09-04 Microsoft Technology Licensing, Llc Model driven customization framework
US10915531B2 (en) * 2015-08-14 2021-02-09 California Institute Of Technology Algebraic query language (AQL) database management system
JP6398944B2 (ja) * 2015-10-28 2018-10-03 オムロン株式会社 データ流通管理システム
US10838819B2 (en) * 2017-01-18 2020-11-17 Microsoft Technology Licensing, Llc Including personal relationship metadata within duplicated resources shared across partitioned storage
US11222274B2 (en) 2017-12-01 2022-01-11 At&T Intellectual Property I, L.P. Scalable integrated information structure system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325007B2 (en) * 2005-03-07 2008-01-29 Microsoft Corporation System and method for supporting non-native data types in a database API
CN101443753A (zh) * 2005-02-17 2009-05-27 微软公司 用于数字图像的可扩展元数据体系结构的系统和方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0486833B1 (de) 1990-11-22 1995-02-15 Ascom Tech Ag Empfänger für ein DSSS-Signal
BR9909896A (pt) * 1998-03-27 2001-09-11 Informix Software Inc Processamento de vistas pré-computadas
US6430575B1 (en) 1999-09-10 2002-08-06 Xerox Corporation Collaborative document management system with customizable filing structures that are mutually intelligible
US6904515B1 (en) * 1999-11-09 2005-06-07 Ati International Srl Multi-instruction set flag preservation apparatus and method
EP1249002B1 (en) 2000-01-13 2011-03-16 Digimarc Corporation Authenticating metadata and embedding metadata in watermarks of media signals
US6523046B2 (en) 2000-02-25 2003-02-18 Microsoft Corporation Infrastructure and method for supporting generic multimedia metadata
US6760721B1 (en) 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data
US7099946B2 (en) * 2000-11-13 2006-08-29 Canon Kabushiki Kaishsa Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device
US8195760B2 (en) * 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US7295755B2 (en) * 2001-06-22 2007-11-13 Thomson Licensing Method and apparatus for simplifying the access of metadata
US7353287B2 (en) * 2001-09-26 2008-04-01 Adobe Systems Incorporated Marked foreign data blocks
US7197158B2 (en) 2002-06-28 2007-03-27 Microsoft Corporation Generation of metadata for acquired images
JP2004133675A (ja) * 2002-10-10 2004-04-30 Murata Mach Ltd 文書管理サーバ
KR100511785B1 (ko) 2002-12-20 2005-08-31 한국전자통신연구원 멀티미디어 컨텐츠 기술 메타데이터 저작 시스템 및 저작방법
US7069270B1 (en) 2003-02-05 2006-06-27 Oracle International Corporation Automated method and mechanism for converting a single instance application to a multiple instance application
TWI227853B (en) * 2003-08-29 2005-02-11 Rdc Semiconductor Co Ltd Data accessing method and system for processing unit
US8374284B2 (en) 2004-02-12 2013-02-12 Apple, Inc. Universal decoder
JP2005234634A (ja) * 2004-02-17 2005-09-02 Sony Corp データ管理方法
US8953908B2 (en) 2004-06-22 2015-02-10 Digimarc Corporation Metadata management and generation using perceptual features
US7730012B2 (en) 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
EP1792256B1 (en) 2004-09-03 2018-03-07 Red Hat, Inc. Methods, systems and computer program products for implementing single-node and cluster snapshots
KR20060025100A (ko) * 2004-09-15 2006-03-20 삼성전자주식회사 다국어를 지원하는 메타 데이터를 기록한 정보저장매체 및메타 데이터 처리방법
US7243207B1 (en) 2004-09-27 2007-07-10 Network Appliance, Inc. Technique for translating a pure virtual file system data stream into a hybrid virtual volume
US7480654B2 (en) 2004-12-20 2009-01-20 International Business Machines Corporation Achieving cache consistency while allowing concurrent changes to metadata
US20060184554A1 (en) 2005-02-17 2006-08-17 Microsoft Corporation System and method for extensible metadata architecture for digital images using in-place editing
US7743363B2 (en) * 2005-10-13 2010-06-22 Microsoft Corporation Extensible meta-data
US20070231781A1 (en) 2006-03-31 2007-10-04 Birgit Zimmermann Estimation of adaptation effort based on metadata similarity
US9064010B2 (en) 2006-12-13 2015-06-23 Quickplay Media Inc. Encoding and transcoding for mobile media
JP4901880B2 (ja) * 2007-01-09 2012-03-21 日本電信電話株式会社 符号化装置、復号化装置、それらの方法、その方法のプログラム及びそのプログラムを記録した記録媒体
US8958483B2 (en) * 2007-02-27 2015-02-17 Adobe Systems Incorporated Audio/video content synchronization and display
WO2008130983A1 (en) * 2007-04-16 2008-10-30 Attune Systems, Inc. File aggregation in a switched file system
US20080270351A1 (en) 2007-04-24 2008-10-30 Interse A/S System and Method of Generating and External Catalog for Use in Searching for Information Objects in Heterogeneous Data Stores
KR101105970B1 (ko) * 2009-09-02 2012-01-17 한국전자통신연구원 다양한 포맷의 컨텐츠를 관리하는 미디어 미디에이터 시스템 및 방법
US20110208761A1 (en) 2010-02-24 2011-08-25 Microsoft Corporation Coordinating content from multiple data sources
US20110264495A1 (en) * 2010-04-22 2011-10-27 Apple Inc. Aggregation of tagged media item information
US20110289445A1 (en) * 2010-05-18 2011-11-24 Rovi Technologies Corporation Virtual media shelf
US8849996B2 (en) 2011-09-12 2014-09-30 Microsoft Corporation Efficiently providing multiple metadata representations of the same type

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101443753A (zh) * 2005-02-17 2009-05-27 微软公司 用于数字图像的可扩展元数据体系结构的系统和方法
US7325007B2 (en) * 2005-03-07 2008-01-29 Microsoft Corporation System and method for supporting non-native data types in a database API

Also Published As

Publication number Publication date
TW201706835A (zh) 2017-02-16
WO2013039801A2 (en) 2013-03-21
US20130067053A1 (en) 2013-03-14
TWI569208B (zh) 2017-02-01
EP2756433A4 (en) 2016-01-06
KR20140068966A (ko) 2014-06-09
US9390152B2 (en) 2016-07-12
WO2013039801A3 (en) 2013-05-02
US8849996B2 (en) 2014-09-30
JP2014534488A (ja) 2014-12-18
US20140379740A1 (en) 2014-12-25
EP2756433A2 (en) 2014-07-23
JP6101269B2 (ja) 2017-03-22
CN102999545A (zh) 2013-03-27
EP2756433B1 (en) 2020-09-09
KR101941641B1 (ko) 2019-04-11
TWI598813B (zh) 2017-09-11
TW201312464A (zh) 2013-03-16

Similar Documents

Publication Publication Date Title
CN102999545B (zh) 高效提供相同类型的多个元数据表示
CN110612538B (zh) 生成输入数据项的离散潜在表示
CN104737133B (zh) 使用服务组的分布式应用优化
KR102310187B1 (ko) 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법
CN110580197A (zh) 大型模型深度学习的分布式计算架构
US10768908B1 (en) Workflow engine tool
US8151282B2 (en) System and method for pipelet processing of data sets
US9292271B2 (en) Apparatus and method for managing software translation
CN106293311A (zh) 基于移动应用的页面显示方法、客户端、服务器及平台
AU2012352719B2 (en) Autonomous network streaming
US11829888B2 (en) Modifying artificial intelligence models using model fragments
TW202022719A (zh) 基於模型進行預測的方法和裝置
TW201011584A (en) Data schema transformation using declarative transformations
KR20160141736A (ko) 데이터 뷰 노출 메커니즘
US10318559B2 (en) Generation of graphical maps based on text content
CN102446100A (zh) 用于数据类型的类型和长度抽象
CN114341847A (zh) 对容器的外部操作与突变事件的对应关系
US11061739B2 (en) Dynamic infrastructure management and processing
US20170371977A1 (en) Unbounded list processing
CN110471654A (zh) 通信协议的云端开发系统及计算机软件程序产品
WO2022206295A1 (en) Program context migration
CN116670664A (zh) 对自动响应的查询的对抗性强化
US20190361974A1 (en) Predicting if a message will be understood by recipients
CN102402433B (zh) 模型、操作以及实现的分离
Kelly et al. Investigating methods of supporting dynamically linked executables on high performance computing platforms.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

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

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant