CN102999545B - 高效提供相同类型的多个元数据表示 - Google Patents
高效提供相同类型的多个元数据表示 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/84—Mapping; Conversion
- G06F16/88—Mark-up to mark-up conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection 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所述的方法,其特征在于,动态替换向元数据读取器提供了非本地类型的标准化视图。
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)
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)
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)
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 |
-
2012
- 2012-01-13 US US13/350,604 patent/US8849996B2/en active Active
- 2012-07-25 TW TW105126869A patent/TWI598813B/zh active
- 2012-07-25 TW TW101126811A patent/TWI569208B/zh not_active IP Right Cessation
- 2012-09-10 EP EP12831036.4A patent/EP2756433B1/en active Active
- 2012-09-10 JP JP2014530710A patent/JP6101269B2/ja active Active
- 2012-09-10 KR KR1020147006679A patent/KR101941641B1/ko active IP Right Grant
- 2012-09-10 WO PCT/US2012/054353 patent/WO2013039801A2/en unknown
- 2012-09-11 CN CN201210335264.3A patent/CN102999545B/zh active Active
-
2014
- 2014-09-09 US US14/481,323 patent/US9390152B2/en active Active
Patent Citations (2)
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 |