CN1841320A - 用于管理动态配置数据的方法和系统 - Google Patents
用于管理动态配置数据的方法和系统 Download PDFInfo
- Publication number
- CN1841320A CN1841320A CNA2006100577654A CN200610057765A CN1841320A CN 1841320 A CN1841320 A CN 1841320A CN A2006100577654 A CNA2006100577654 A CN A2006100577654A CN 200610057765 A CN200610057765 A CN 200610057765A CN 1841320 A CN1841320 A CN 1841320A
- Authority
- CN
- China
- Prior art keywords
- component
- relationship
- incident
- producer
- notice request
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
生产者组件集合的动态配置数据存储于组件对象集合和关系对象集合中。当收到指示该动态配置的变化的事件时,将组件对象和/或关系对象进行更新以反映该变化。组件和/或关系对象可用来向一个或多个监听组件通知该动态配置的修改。以此方式,监听组件与生产者组件只是松散地耦合,使得对于配置变化的任何必要调整更易于实施。
Description
技术领域
本发明总体上涉及动态配置数据,尤其涉及用于管理组件集合的动态配置的数据的改进方案。
背景技术
各种软件和/或硬件组件使用了系统(比如计算机基础结构)的配置数据,以与该系统的一个或更多组件交互。在此意义上,常称为“生产者(producer)”的系统内的各种组件使得与它们的当前硬件和/或软件配置有关的数据可为其它组件所用。常称为“消费者(consumer)”的其它组件取回该配置数据并且将它用来进行关于如何与系统中的各种组件交互的决策。例如,当系统包括计算机基础结构时,路由器可获得关于该计算机基础结构中的各种服务器的配置数据,以决策如何路由一个或多个由该计算机基础结构进行处理的消息。
历史上,消费者将获得配置数据作为启动例程等的一部分,并且假定该配置将在该过程的生命期保持稳定。然而,配置及其对应配置数据日益变得动态。另外,新的按照需求的技术要求消费者总是可用的并且表现良好,而不管变化的配置。在此意义上,为适应变化的配置,消费者不能再依赖过程重启(在此期间,启动例程被重新执行)。
其结果是,消费者能够动态地响应于配置的变化变得更为重要。实施该能力的一个阻碍,是一般存在于配置数据的消费者与生产者之间的紧密耦合。例如,消费者经常会基于特定的生产者来确定所需的配置数据。
在此意义上,存在着对用于管理消费者和/或生产者的配置数据的改进方案的需求。具体来说,存在着对使得消费者能够变得与配置数据的生产者更为松散地耦合的方案的需求。
发明内容
本发明提供一种用于管理生产者组件集合的动态配置数据的改进方案。特别地,对组件对象集合(一个或多个)和关系对象集合进行管理,每个集合分别包括关于生产者组件配置和关系的数据。当收到指示动态配置变化的事件时,将组件对象和/或关系对象进行更新以反映该变化。组件和/或关系对象可用来向一个或多个监听组件通知动态配置的修改。在一个实施例中,每个监听组件请求被通知特定类型(例如事件类型和组件类型)的事件(修改)。当收到这样的事件时,提供关于该事件的数据,以用于由监听组件进行处理。以此方式,监听组件仅与生产者组件松散地耦合,使得对于配置变化的任何必要调整更易于实施。
本发明的第一方面提供了一种管理生产者组件集合的动态配置数据的方法,该方法包括:为该生产者组件集合中的每个生产者组件产生一个独特组件对象,其中该独特组件对象包括用于该对应生产者组件的组件属性集合;获得用于该生产者组件集合的关系集合;以及为该关系集合中的每个关系产生一个独特关系对象,其中该独特关系对象包括用于该对应关系的关系属性集合。
本发明的第二方面提供了一种管理生产者组件集合的动态配置数据的方法,该方法包括:管理组件对象集合,其中每个组件对象对应于该生产者组件集合中的一个独特生产者组件,以及其中每个组件对象包括用于该对应的独特生产者组件的组件属性集合;管理关系对象集合,其中每个关系对象对应于该关系集合中的一个独特关系,以及其中每个关系对象包括用于该对应的独特关系的关系属性集合;以及管理监听组件的通知请求集合,其中每个通知请求包括事件类型和对象类型。
本发明的第三方面提供了一种用于管理生产者组件集合的动态配置数据的系统,该系统包括:用于管理组件对象集合的系统,其中每个组件对象对应于该生产者组件集合中的一个独特生产者组件,以及其中每个组件对象包括用于该对应的独特生产者组件的组件属性集合;用于管理关系对象集合的系统,其中每个关系对象对应于该关系集合中的一个独特关系,以及其中每个关系对象包括用于该对应的独特关系的关系属性集合;以及用于管理监听组件的通知请求集合的系统,其中每个通知请求包括事件类型和对象类型。
本发明的第四方面提供了一种存储于计算机可读介质上的程序产品,该程序产品在执行时对组件集合的动态配置数据进行管理,该程序产品包括:用于管理组件对象集合的程序代码,其中每个组件对象对应于该组件集合中的一个独特组件,以及其中每个组件对象包括用于该对应的独特组件的组件属性集合;用于管理关系对象集合的程序代码,其中每个关系对象对应于该关系集合中的一个独特关系,以及其中每个关系对象包括用于该对应的独特关系的关系属性集合;以及用于管理监听组件的通知请求集合的程序代码,其中每个通知请求包括事件类型和对象类型。
本发明的第五方面提供了一种包括计算机程序代码的计算机可读介质,该计算机程序代码使计算机基础结构能够管理生产者组件集合的动态配置数据。
本发明的第六方面提供了一种用于管理生产者组件集合的动态配置数据的商业方法。
本发明的第七方面提供了一种产生用于管理生产者组件集合的动态配置数据的系统的方法。
本发明的说明性方面是设计用来解决本领域技术人员可发现的在此所述的问题以及未讨论到的其它问题。
附图说明
与描绘了本发明各种实施例的附图相结合,从本发明各种方面的如下具体描述中,将更容易地理解本发明的这些及其它特征,在附图中:
图1示出了按照本发明的一个实施例用于管理动态配置数据的说明性的系统;
图2示出了可动态配置的说明性的计算机基础结构;
图3示出了可由图1的各种系统实施的用来管理数据的说明性的数据流程图;
图4示出了用于对配置数据的修改进行处理的说明性的数据流程图;
图5示出了包括多个组件对象的说明性的表;
图6示出了包括多个关系对象的说明性的表;以及
图7示出了包括多个通知请求的说明性的表。
注意的是,本发明的附图不是成比例的。这些附图仅旨在描绘本发明的典型方面,因此不应当被认为是限制本发明的范围。在附图中,相似的标号代表附图之间相似的单元。
具体实施方式
如上所示,本发明提供了一种用于管理生产者组件集合的动态配置数据的改进方案。具体来说,对组件对象(一个或多个)集合和关系对象集合进行管理,每个集合分别包括关于生产者的组件配置和关系的数据。当收到指示动态配置变化的事件时,将组件对象和/或关系对象进行更新以反映该变化。组件和/或关系对象可用来向一个或多个监听组件通知动态配置的修改。在一个实施例中,每个监听组件请求被通知特定类型(例如事件类型和组件类型)的事件(修改)。当收到这样的事件时,提供关于该事件的数据,以用于由监听组件进行处理。以此方式,监听组件仅与生产者组件松散地耦合,使得对于配置变化的任何必要调整更易于实施。
参见附图,图1示出了用于管理动态配置数据的说明性的系统10。在此意义上,系统10包括计算机基础结构12,该基础结构可进行这里所述的用于管理动态配置数据的各种处理步骤。特别地,示出了计算机基础结构12包括计算设备14,该计算设备包括配置系统30,该配置系统使计算设备14能够通过执行本发明的处理步骤来管理动态配置数据。
示出了计算设备14包括处理器20、存储器22A、输入/输出(I/O)接口24和总线26。另外,示出了计算设备14与外部I/O设备/资源28和存储系统22B进行通信。正如本领域公知的,一般来说,处理器20执行存储器22A和/或存储系统22B中存储的计算机程序代码,比如配置系统30。在执行计算机程序代码时,处理器20能够从/向存储器22A、存储系统22B和/或I/O接口24读和/或写数据,比如组件对象50。总线26提供了计算设备14中的每个单元之间的通信链路。I/O设备28可包括使用户能够与计算设备14进行交互的任何设备或者使计算设备14能够与一个或多个其它计算设备比如监听组件44进行通信的任何设备。
在任何事件中,计算设备14可包括能够执行由用户安装的计算机程序代码的任何通用计算制造品(例如个人计算机、服务器、手持设备等)。然而,应该理解,计算设备14和配置系统30仅代表可进行本发明的各种处理步骤的各种可能的等效计算设备。在此意义上,在其它实施例中,计算设备14可包括:包括用于执行具体功能的硬件和/或计算机程序代码的任何专用计算制造品;包括专用和通用硬件/软件的组合的任何计算制造品等。在每种情况下,程序代码和硬件可分别利用标准的编程和工程技术来创建。
类似地,计算机基础结构12仅仅是对于实施本发明的各类计算基础结构的说明。例如,在一个实施例中,计算机基础结构12包括两个或更多计算设备(例如服务器群集),这些计算设备经由任何类型的有线和/无线通信链路比如网络、共享式存储器等进行通信,以执行本发明的各种处理步骤。当通信链路包括网络时,该网络可包括一种或多种网络类型(例如因特网、广域网、局域网、虚拟专用网等)的任一组合。不管如何,计算设备之间的通信可利用各类传输技术的任一组合。
在此意义上,计算基础结构12可进一步包括监听组件44和/或生产者组件42的集合(一个或多个)。示出了监听组件44和生产者组件42在通信链路18上与计算设备14进行通信。如上所述,通信链路18可包括本领域已知的各类通信链路的任一组合。在一个实施例中,监听组件44和/或生产者组件42每个都包括计算设备,该计算设备在诸如局域网(LAN)等的网络上与计算设备14和/或其它计算设备进行通信。无论如何,应该理解,监听组件44和/或生产者组件42每个都可包括与所示计算设备14相同的单元(处理器、存储器、I/O接口等)。出于简洁的目的,未分别地示出和讨论这些单元。
如前所述和下面进一步讨论的,配置系统30使计算基础结构12能够管理生产者组件42的集合的动态配置数据。在此意义上,示出了配置系统30,包括用于管理组件对象50的集合的组件系统32、用于管理关系对象52的集合的关系系统34、用于管理从监听组件44接收的通知请求的集合的通知系统36、以及用于处理从生产者组件42的集合接收的指示其配置变化的事件的事件系统38。下面进一步讨论这些系统的每一个的操作。然而,应该理解,对于经由网络通信的一个或多个分开的计算设备14,可独立地实施、组合和/或在存储器中存储图1中所示的各种系统中的某些系统。另外,应该理解,可实施某些系统和/或功能,或者可包括额外的系统和/或功能作为系统10的一部分。
尽管如此,本发明提供了生产者组件42的集合的动态配置数据的管理。在一个实施例中,生产者组件42的集合包括计算机基础结构40的各种组件。在此意义上,图2示出了说明性的计算机基础结构40A,按照本发明,该基础结构可以动态地配置,并且可为该基础结构管理其配置数据。如图所示,计算机基础结构40A包括多个生产者组件42,每个生产者组件包括多个组件类型之一。特别地,计算机基础结构40A包括内含多个服务器60A-60D的群集(服务器组)、多个机器62A-62D和多个应用64A-64C。另外,每个生产者组件42可包括一个或多个属性。例如,每个生产者组件42可包括用于对在其它类似生产者组件42之中的优先级进行确定的权重、指示其可用性的状态等。应该理解,计算机基础结构40A仅是说明性的,并可以包括较少、额外和/或替代的生产者组件42。例如,另一计算机基础结构可包括多个群集40A,每个群集40A包括生产者组件42。
在任何事件中,基于计算机基础结构40A的当前配置,一个或多个生产者组件42将彼此相关。例如,每个服务器60A-60D将与服务器60A-60D上安装和/或执行的每个应用64A-64C和每个机器62A-62D有关,反之亦然。另外,每个关系可包括一个或多个属性。在此意义上,服务器60A将与机器62A和应用64A有关。服务器60A与机器62A之间的关系可包括状态属性(例如可用的、不可用的等)。类似地,服务器60A与应用64A之间的关系可包括状态属性(例如已安装的、运行中的等)等。此外,一个或多个关系可形成分层树。例如,服务器60A可包括机器62A的“父亲”,机器62A将是服务器60A的“孩子”。然而,服务器60A将不是应用64A的父亲,因为应用64A可安装在一个或多个其它服务器例如服务器60B上。
配置系统30(图1)可管理关于计算机基础结构40A的当前配置的数据。在此意义上,图3示出了可由图1的各种系统实施以管理数据的说明性的数据流程图。特别地,组件系统32可管理组件对象50的集合(一个或多个)。每个组件对象50可包括计算机基础结构40中的一个独特生产者组件42(图1)的组件属性集合。组件系统32可利用任一已知方案来产生每个组件对象50。例如,开始时,组件系统32可获得计算机基础结构40的生产者组件42的集合。这可通过产生一接口来实现,该接口使用户能够为计算机基础结构40内的特定组件类型(例如服务器)的一个或多个来指定标识信息。此外,组件系统32可通过查询计算机基础结构40来自动地确定生产者组件42的一个或多个。在此意义上,组件系统32可从每个已知的生产者组件42,例如服务器60A-60D(图2),请求有关的生产者组件42的集合。
在任何事件中,一旦组件系统32已经获得某个生产者组件42(图1),组件系统32可从计算机基础结构40获得生产者组件数据56。例如,组件系统32可从相应的生产者组件42、从生产者组件42的“父亲”、从计算机基础结构40的其它组件等请求生产者组件数据56。响应时,组件系统32将接收所请求的生产者组件数据56。随后,组件系统32可基于生产者组件数据56,为每个生产者组件42产生一个独特组件对象50。每个组件对象50将包括用于对应的生产者组件42的组件属性集合。
组件系统32可利用任一个已知方案来存储和管理组件对象50的集合。例如,图5示出了说明性的表70,该表包括多个组件对象50A-50H,每个组件对象可存储为例如数据库表中的记录。示出了每个组件对象50A-50H,包括多个组件属性72A-72D。组件属性72A-72D可包括例如组件标识符(ID)72A、组件类型72B、组件权重72C、组件状态72D和/或其它。应该理解,表70仅是说明性的。在此意义上,可包括额外和/或可选择的组件属性72A-72D,组件属性72A-72D可基于组件类型72B或其它来改变。另外,多个数据库表或类似的存储方案可用来存储和管理组件对象50A-50H。
回到图3,关系系统34能够以与组件系统32产生和管理组件对象50的集合相类似的方式来产生和管理关系对象52的集合。在此意义上,关系系统34可从计算机基础结构40(例如从用户、生产者组件、计算机基础结构40中的另一组件和/或其它)获得一个或多个关系和相应的关系数据58。每个关系将定义两个或更多生产者组件42(图1)之间的某类关联。在此意义上,用于每个关系的关系数据58将包括标识和定义该类关联的一个或多个关系属性。
关系系统34可基于其相应的关系数据58为从计算机基础结构40获得的每个关系产生关系对象52。例如,图6示出了包括多个关系对象52A-52H的说明性的表74。类似于表70(图5),每个关系对象52A-52H包括关系属性76A-76E的集合。该关系属性的集合可包括例如关系标识符(ID)76A、用于至少两个相关生产者组件42(图1)的标识符76B-76C、关系类型76D和关系状态76E。如上参考组件对象50A-50H(图5)所论述的那样,关系系统34可利用任何已知方案来存储和管理各种关系对象52A-52H。
回到图3,通知系统36可进一步管理一个或多个监听组件44的通知请求54的集合。特别地,通知系统36可接收数据,该数据定义了监听组件44希望被通知的事件的集合。基于该数据,通知系统36可产生和管理通知请求54的集合。例如,图7示出了说明性的表78,该表包括多个通知请求54A-54H,每个通知请求包括通知属性80A-80E的集合。如上所述,每个监听组件44通过事件类型和对象类型来指定它希望被通知的事件的集合。在此意义上,示出了每个通知请求54A-54H,包括事件类型80C和对象(例如关系或组件)类型80D。另外,当通知系统36管理多个监听组件44的通知请求54A-54H时,每个通知请求54A-54H可进一步包括监听器标识符(ID)80B。在一些情况下,监听组件44可能希望仅在对象类型的生产者组件42的特定属性进行修改时才被通知。在此意义上,通知请求54A-54H可进一步包括属性标识符80E。应该理解,如上参考组件对象50A-50H(图5)所论述的那样,通知系统36(图3)可利用任何已知方案来存储和管理各种通知请求54A-54H。
回到图3,计算机基础结构40的配置可以动态地修改。作为结果,关于配置的数据将需要基于该修改来动态地修改。在此意义上,组件系统32和/或关系系统34可响应于每个修改来更新一个或多个组件对象50和/或关系对象52。图4示出了用于对计算机基础结构40的修改进行处理的说明性的数据流程图。特别地,计算机基础结构40的配置的每个修改产生了相应的事件60。每个事件60可标识已经连同关于该修改的任何其它数据一起(例如新的值、先前值、属性和/或其它)而被修改的计算机基础结构40中的生产者组件42(图1)和/或关系。
事件系统38可接收用于该动态配置的事件60。在一个实施例中,事件系统38可将事件60转发到组件系统32和关系系统34,每个系统确定相应的一个或多个组件对象50和/或一个或多个关系对象52是否要求修改。可选择地,事件系统38可初步确定一个或多个组件对象50或者一个或多个关系对象52是否可能要求修改。例如,事件系统38可识别事件类型和自动确定生产者组件42(图1)和/或关系是否已被修改,并且将事件60转发到组件系统32和/或关系系统34。
尽管如此,组件系统32和关系系统34可识别已经由事件60修改过的每个生产者组件42(图1)和/或关系。基于该识别,组件系统32和/或关系系统34可分别更新一个或多个组件对象50和/或关系对象52。例如,当生产者组件42的配置已被修改时,组件系统32可使组件对象50匹配于修改过的生产者组件42,并且基于事件60来修改已匹配的组件对象50。类似地,当关系的配置已被修改时,关系系统34可使关系对象52匹配于修改过的关系,并且基于事件60来修改已匹配的关系对象52。对象50、52可利用任何已知的方案来分别匹配于相应的生产者组件42和关系。例如,用于生产者组件42或关系的标识符可用来分别匹配组件ID属性72A(图5)或关系ID属性76A(图6)。
除了修改事件之外,各种其它事件类型可由组件系统32和关系系统34进行处理。例如,事件60可包括添加了新的生产者组件42和/或关系的添加事件类型。在此情况下,组件系统32和/或关系系统34将分别产生新的对象50、52,并且用关于相应的新生产者组件42(图1)和/或新关系的数据来初始化新的对象50、52。在此意义上,该数据可从事件60来获得和/或由计算机基础结构40来请求和提供。可选择地,事件60可包括去除事件类型。在此情况下,在对现存对象50、52进行匹配之后,组件系统32和关系系统34将分别去除已匹配的对象50、52。
如前所述,组件对象50和/或关系对象52的集合可用来向一个或多个监听组件44通知事件60。在此意义上,当组件系统32和/或关系系统34分别更新一个或多个对象50、52时,它可将关于更新的对象50、52的数据提供给事件系统38,该事件系统可将该数据转发到通知系统36。通知系统36可确定是否一个或多个通知请求54匹配于关于该更新的对象50、52的数据。例如,该数据可包括用于更新的对象50、52的对象类型以及引起该更新的事件60的事件类型。基于该数据,通知系统36可选择匹配于对象类型和事件类型的每个通知请求54(如果有的话)。另外,当被指定时,通知系统36可确定用于所指定的属性标识符80E的数据是否已经已被修改,并且基于修改过的属性来选择每个通知请求54。在任何事件中,对于每个所选的通知请求54,通知系统36可提供关于事件60的数据,用于由相应监听组件44进行的处理。
在一个实施例中,监听组件44包括与计算机基础结构40交互的组件,并且基于计算机基础结构40的配置来改变该交互的一个或多个方面。例如,监听组件44可包括路由器,该路由器寻求确定群集40A(图2)中的适当的服务器60A-60D(图2)以转发消息。可选择地,监听组件44可包括计算机基础结构40中的生产者组件42(图1)。在此意义上,计算机基础结构40中的单个组件可包括生产者组件42和监听组件44。
尽管这里示出和描述为用于管理生产者组件集合的动态配置数据的方法和系统,但是应该理解,本发明进一步提供了各种可选实施例。例如,在一个实施例中,本发明提供了包括计算机程序代码的计算机可读介质,该程序代码用以使计算机基础结构能够管理生产者组件集合的动态配置数据。在此意义上,计算机可读介质包括程序代码,比如配置系统30(图1),该程序代码实施本发明的各种处理步骤的每一个。应该理解,术语“计算机可读介质”包括程序代码的物理实施例的任何类型的一种或多种。特别地,计算机可读介质可包括程序代码,该程序代码包含于一个或多个便携式存储制品(例如光盘、磁盘、磁带等)、计算设备的一个或多个数据存储部分(比如存储器22(图1))和/或存储系统29(图1)(例如固定盘、只读存储器、随机存取存储器、高速缓冲存储器等),以及/或者体现为经由网络传送的数据信号(例如在程序代码的有线/无线电子发布期间)。
在另一实施例中,本发明提供了一种商业方法,该方法在预订、广告和/或收费基础上执行本发明的处理步骤。也就是说,服务供应商比如因特网服务供应商可提供如上所述对于生产者组件集合的动态配置数据的管理。在此情况下,服务供应商可为一个或多个客户对执行本发明的处理步骤的计算机基础结构,比如计算机基础结构12(图1),进行创建、维护、支持等。作为回报,服务供应商可在预订和/或收费协议下从客户收取报酬,以及/或者服务供应商可从将广告空间销售给一个或多个第三方中来收取报酬。
在又一实施例中,本发明提供了产生用于管理生产者组件集合的动态配置数据的系统的方法。在此情况下,可获得(例如创建、维护、已使其可用等)计算机基础结构,比如计算机基础结构12(图1),以及可获得(例如创建、购置、使用、修改等)用于执行本发明的处理步骤的一个或多个系统,并且将它们部署到计算机基础结构。在此意义上,每个系统的部署可包括如下所述的一项或多项:(1)在计算设备比如计算设备14(图1)上安装来自计算机可读介质的程序代码;(2)将一个或多个计算设备添加到计算机基础结构;以及(3)并入和/或修改计算机基础结构的一个或多个现有系统,以使计算机基础结构能够执行本发明的处理步骤。
如这里所用到的,应该理解,术语“程序代码”和“计算机程序代码”是同义的,并且意味着指令集的、以任何语言、代码或符号形式的任何表达,这些指令集旨在使得具有信息处理能力的计算设备既可以直接地也可以在如下所述的任一项或二项之后执行特定的功能:(a)转换到另一语言、代码或符号;(b)以不同材料形式再现;和/或(c)解压缩。在此意义上,程序代码可体现为一类或多类程序产品,比如应用/软件程序、组件软件/功能库、操作系统、用于特定计算和/或I/O设备的基本I/O系统/驱动器等。
出于说明和描述的目的,已经呈现了本发明各方面的先前的描述。并非旨在将本发明穷尽或限制为所公开的精确的形式,并且显然地,许多修改和变形是可能的。对于本领域的技术人员此类修改和变形将是明显的,包括在如所附权利要求限定的本发明的范围之内。
Claims (25)
1.一种管理生产者组件集合的动态配置数据的方法,该方法包括:
为该生产者组件集合中的每个生产者组件产生一个独特组件对象,其中该独特组件对象包括用于对应生产者组件的组件属性集合;
获得用于该生产者组件集合的关系集合;以及
为该关系集合中的每个关系产生一个独特关系对象,其中该独特关系对象包括用于对应关系的关系属性集合。
2.如权利要求1所述的方法,进一步包括获得该生产者组件集合。
3.如权利要求1所述的方法,进一步包括:
接收用于该动态配置的事件;以及
基于该事件更新该组件对象集合或该关系对象集合中的至少一个。
4.如权利要求3所述的方法,其中该事件包括添加事件类型,以及其中该更新步骤包括基于该添加事件来产生新的组件对象或新的关系对象中的至少一个。
5.如权利要求3所述的方法,其中该事件包括去除事件类型,以及其中该更新步骤包括基于该去除事件来去除组件对象或关系对象中的至少一个。
6.如权利要求3所述的方法,其中该事件包括修改事件类型,以及其中该更新步骤包括:
使组件对象或关系对象中的至少一个匹配于该修改事件;以及
基于该修改事件来修改组件对象或关系对象中该匹配的至少一个。
7.如权利要求1所述的方法,进一步包括获得监听组件的通知请求集合,其中该通知请求集合中的每个通知请求指定事件类型和对象类型。
8.如权利要求7所述的方法,进一步包括:
接收用于该动态配置的事件;
确定用于该事件的事件类型和对象类型匹配于该通知请求集合中的至少一个;以及
提供关于该事件的数据用于由该监听组件进行处理。
9.一种计算机可读介质,用于使计算机基础结构能够管理生产者组件集合的动态配置数据,该计算机可读介质包括用于执行权利要求1的方法步骤的计算机程序代码。
10.一种产生用于管理生产者组件集合的动态配置数据的系统的方法,该方法包括:
获得计算机基础结构;以及
对于权利要求1的每个步骤,将用于执行该步骤的装置部署到该计算机基础结构。
11.一种管理生产者组件集合的动态配置数据的方法,该方法包括:
管理组件对象集合,其中每个组件对象对应于该生产者组件集合中的一个独特生产者组件,以及其中每个组件对象包括用于该对应的独特生产者组件的组件属性集合;
管理关系对象集合,其中每个关系对象对应于该关系集合中的一个独特关系,以及其中每个关系对象包括用于该对应的独特关系的关系属性集合;以及
管理监听组件的通知请求集合,其中每个通知请求包括事件类型和对象类型。
12.如权利要求11所述的方法,进一步包括接收用于该动态配置的事件。
13.如权利要求12所述的方法,进一步包括使组件对象或关系对象中的至少一个匹配于该事件。
14.如权利要求13所述的方法,进一步包括基于该事件来修改组件对象或关系对象中该匹配的至少一个。
15.如权利要求13所述的方法,进一步包括:
基于该事件和该至少一个匹配的对象来选择通知请求;以及
提供关于该事件的数据用于由该监听组件进行处理。
16.如权利要求15所述的方法,其中该选择步骤进一步基于修改后的属性。
17.一种用于管理生产者组件集合的动态配置数据的系统,该系统包括:
用于管理组件对象集合的系统,其中每个组件对象对应于该生产者组件集合中的一个独特生产者组件,以及其中每个组件对象包括用于该对应的独特生产者组件的组件属性集合;
用于管理关系对象集合的系统,其中每个关系对象对应于该关系集合中的一个独特关系,以及其中每个关系对象包括用于该对应的独特关系的关系属性集合;以及
用于管理监听组件的通知请求集合的系统,其中每个通知请求包括事件类型和对象类型。
18.如权利要求17所述的系统,进一步包括用于接收用于该动态配置的事件的系统。
19.如权利要求18所述的系统,进一步包括用于使组件对象或关系对象中的至少一个匹配于该事件的系统。
20.如权利要求19所述的系统,进一步包括用于基于该事件来修改组件对象或关系对象中该匹配的至少一个的系统。
21.如权利要求19所述的系统,进一步包括:
用于基于该事件和该匹配的对象来选择通知请求的系统;以及
用于提供关于该事件的数据用来由该监听组件进行处理的系统。
22.如权利要求17所述的系统,其中该通知请求集合是用于多个监听组件的,以及其中每个通知请求进一步包括对应的监听组件。
23.如权利要求17所述的系统,其中该监听组件包括该生产者组件集合中的一个生产者组件。
24.如权利要求17所述的系统,其中该生产者组件集合包括计算机基础结构的组件。
25.一种存储于计算机可读介质上的程序产品,该程序产品在执行时对组件集合的动态配置数据进行管理,该程序产品包括:
用于管理组件对象集合的程序代码,其中每个组件对象对应于该组件集合中的一个独特组件,以及其中每个组件对象包括用于该对应的独特组件的组件属性集合;
用于管理关系对象集合的程序代码,其中每个关系对象对应于该关系集合中的一个独特关系,以及其中每个关系对象包括用于该对应的独特关系的关系属性集合;以及
用于管理监听组件的通知请求集合的程序代码,其中每个通知请求包括事件类型和对象类型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/093,933 US7546582B2 (en) | 2005-03-30 | 2005-03-30 | Managing dynamic configuration data for producer components in a computer infrastructure |
US11/093,933 | 2005-03-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1841320A true CN1841320A (zh) | 2006-10-04 |
CN100421070C CN100421070C (zh) | 2008-09-24 |
Family
ID=37030362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100577654A Active CN100421070C (zh) | 2005-03-30 | 2006-02-27 | 用于管理动态配置数据的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7546582B2 (zh) |
CN (1) | CN100421070C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959709A (zh) * | 2011-09-30 | 2014-07-30 | 西门子公司 | 利用定义的组件来动态配置和实现设备固件的工具和方法 |
CN107168993A (zh) * | 2017-03-29 | 2017-09-15 | 广州优视网络科技有限公司 | 处理响应数据的方法、设备、客户端设备和电子设备 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496594B1 (en) * | 2005-06-08 | 2009-02-24 | Unisys Corporation | User interface for displaying a hierarchical structure of a computer system |
JP4791910B2 (ja) | 2005-08-26 | 2011-10-12 | 株式会社リコー | 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体 |
US8479159B2 (en) * | 2006-10-20 | 2013-07-02 | International Business Machines Corporation | System and method for automatically determining relationships between software artifacts using multiple evidence sources |
US8117596B2 (en) * | 2007-07-11 | 2012-02-14 | Trend Micro Incorporated | Method and system for version independent software release management |
US8499294B2 (en) * | 2009-09-30 | 2013-07-30 | Red Hat, Inc. | Persisting the changes for managed components in an application server |
US20130024469A1 (en) * | 2011-07-21 | 2013-01-24 | International Business Machines Corporation | Apparatus and method for preventing regression defects when updating software components |
US9703551B2 (en) * | 2014-04-28 | 2017-07-11 | Ca, Inc. | Modifying mobile application binaries to call external libraries |
US9778964B1 (en) | 2016-09-19 | 2017-10-03 | Microsoft Technology Licensing, Llc | Application data sharing and decision service platform |
US10409786B2 (en) | 2016-09-19 | 2019-09-10 | Microsoft Technology Licensing, Llc | Deployment of applications confirming to application data sharing and decision service platform schema |
US10715603B2 (en) | 2016-09-19 | 2020-07-14 | Microsoft Technology Licensing, Llc | Systems and methods for sharing application data between isolated applications executing on one or more application platforms |
US10404833B1 (en) * | 2017-03-22 | 2019-09-03 | Intuit, Inc. | Cloud-based dynamic software configuration for global mobile applications |
CN108984544B (zh) * | 2017-05-31 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 一种分布式系统修改配置信息的方法和装置 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220654A (en) * | 1991-03-28 | 1993-06-15 | International Business Machines Corp. | Method and system for managing an operating system definition of a dynamically modifiable i/o configuration |
CA2100540A1 (en) * | 1992-10-19 | 1994-04-20 | Jonel George | System and method for performing resource reconfiguration in a computer system |
US7043407B2 (en) * | 1997-03-10 | 2006-05-09 | Trilogy Development Group, Inc. | Method and apparatus for configuring systems |
US6002854A (en) * | 1993-03-29 | 1999-12-14 | Trilogy Developmetn Group, Inc. | Method and apparatus for configuring systems |
US5659735A (en) * | 1994-12-09 | 1997-08-19 | Object Technology Licensing Corp. | Object-oriented system for program version and history database management system for various program components |
US5774689A (en) * | 1995-09-22 | 1998-06-30 | Bell Atlantic Network Services, Inc. | Network configuration management system for digital communication networks |
US6298476B1 (en) * | 1995-12-04 | 2001-10-02 | International Business Machines Corporation | Object oriented software build framework mechanism |
US6434739B1 (en) * | 1996-04-22 | 2002-08-13 | International Business Machines Corporation | Object oriented framework mechanism for multi-target source code processing |
US6003075A (en) * | 1997-07-07 | 1999-12-14 | International Business Machines Corporation | Enqueuing a configuration change in a network cluster and restore a prior configuration in a back up storage in reverse sequence ordered |
US6330710B1 (en) | 1998-06-19 | 2001-12-11 | At&T Corp. | Servlet-based architecture for dynamic service composition |
US6230312B1 (en) * | 1998-10-02 | 2001-05-08 | Microsoft Corporation | Automatic detection of per-unit location constraints |
US6598056B1 (en) * | 1999-02-12 | 2003-07-22 | Honeywell International Inc. | Remotely accessible building information system |
JP4146027B2 (ja) * | 1999-04-05 | 2008-09-03 | 株式会社岩根研究所 | 情報変換システム |
US6754885B1 (en) * | 1999-05-17 | 2004-06-22 | Invensys Systems, Inc. | Methods and apparatus for controlling object appearance in a process control configuration system |
US7272815B1 (en) * | 1999-05-17 | 2007-09-18 | Invensys Systems, Inc. | Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects |
US6519571B1 (en) * | 1999-05-27 | 2003-02-11 | Accenture Llp | Dynamic customer profile management |
US6742176B1 (en) | 1999-06-14 | 2004-05-25 | Lycos, Inc. | Secure flexible plugin software architecture |
US6678882B1 (en) * | 1999-06-30 | 2004-01-13 | Qwest Communications International Inc. | Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse |
US6490719B1 (en) | 1999-07-26 | 2002-12-03 | Gary Thomas | System and method for configuring and executing a flexible computer program comprising component structures |
CN1153137C (zh) * | 1999-08-16 | 2004-06-09 | 艾利森电话股份有限公司 | 在事件驱动的网络中分配软件更新的方法 |
US6795846B1 (en) * | 1999-10-22 | 2004-09-21 | Sun Microsystems, Inc. | Network configuration and management for dynamic networks and methods thereof |
US6769008B1 (en) * | 2000-01-10 | 2004-07-27 | Sun Microsystems, Inc. | Method and apparatus for dynamically altering configurations of clustered computer systems |
US6748429B1 (en) * | 2000-01-10 | 2004-06-08 | Sun Microsystems, Inc. | Method to dynamically change cluster or distributed system configuration |
US6725261B1 (en) * | 2000-05-31 | 2004-04-20 | International Business Machines Corporation | Method, system and program products for automatically configuring clusters of a computing environment |
US7219332B2 (en) * | 2000-07-07 | 2007-05-15 | Microsoft Corporation | Configuring software components(merge) with transformation component using configurable and non-configurable data elements |
US7047518B2 (en) * | 2000-10-04 | 2006-05-16 | Bea Systems, Inc. | System for software application development and modeling |
US6999992B1 (en) * | 2000-10-04 | 2006-02-14 | Microsoft Corporation | Efficiently sending event notifications over a computer network |
US7000219B2 (en) | 2000-11-03 | 2006-02-14 | Wilde Technologies Limited | Software development process |
US20040015822A1 (en) | 2001-03-23 | 2004-01-22 | Linton Samuel W. | Method and apparatus for dynamic assembly and verification of software components into flexible applications |
US7386832B2 (en) * | 2001-08-31 | 2008-06-10 | Siebel Systems, Inc. | Configurator using structure to provide a user interface |
US7499986B2 (en) * | 2001-10-04 | 2009-03-03 | International Business Machines Corporation | Storage area network methods with event notification conflict resolution |
US7287063B2 (en) * | 2001-10-05 | 2007-10-23 | International Business Machines Corporation | Storage area network methods and apparatus using event notifications with data |
US7418484B2 (en) * | 2001-11-30 | 2008-08-26 | Oracle International Corporation | System and method for actively managing an enterprise of configurable components |
US20030115575A1 (en) * | 2001-12-19 | 2003-06-19 | David Reyna | Method and system for sharing resources in hierarchical backplanes |
US7032014B2 (en) * | 2002-01-18 | 2006-04-18 | Sun Microsystems, Inc. | Service management system for configuration information |
WO2003071444A1 (en) * | 2002-02-15 | 2003-08-28 | Tridium, Inc. | Component model for real time system control |
US7363612B2 (en) * | 2002-03-06 | 2008-04-22 | Sun Microsystems, Inc. | Application programs with dynamic components |
US7599986B2 (en) * | 2002-03-26 | 2009-10-06 | Alcatel-Lucent Usa Inc. | Method of handling overlapping notification requests in networks with open application programming interfaces |
US7100149B1 (en) * | 2002-04-26 | 2006-08-29 | Ciena Corporation | Apparatus and generic method for interfacing with managed objects in a communication network |
US7296266B2 (en) * | 2002-06-28 | 2007-11-13 | International Business Machines Corporation | Apparatus and method for monitoring and routing status messages |
JP2004056196A (ja) * | 2002-07-16 | 2004-02-19 | Fujitsu Ltd | ネットワークのコンフィギュレーションの動的決定 |
US20040117494A1 (en) * | 2002-12-16 | 2004-06-17 | Mitchell Larry J. | Method and system for dynamically reconfiguring pervasive device communication channels |
US7539985B2 (en) | 2003-02-26 | 2009-05-26 | Bea Systems, Inc. | Systems and methods for dynamic component versioning |
US7779405B2 (en) | 2003-03-14 | 2010-08-17 | At&T Intellectual Property I, L.P. | Run-time determination of application delivery |
US7529823B2 (en) * | 2003-03-27 | 2009-05-05 | Microsoft Corporation | Notifications for shared resources |
KR20060009000A (ko) * | 2003-05-08 | 2006-01-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 데이터 패킷의 통과로 인해 차단된 처리 노드를차단해제하는데 대한 임계값 |
CA2527970C (en) * | 2003-06-18 | 2014-07-29 | Ambric, Inc | Integrated circuit development system |
US7577727B2 (en) * | 2003-06-27 | 2009-08-18 | Newisys, Inc. | Dynamic multiple cluster system reconfiguration |
US20050005261A1 (en) * | 2003-07-02 | 2005-01-06 | Severin William B. | Component integration engine |
US20050080811A1 (en) * | 2003-10-10 | 2005-04-14 | Cendura Corporation | Configuration management architecture |
US7945648B2 (en) * | 2003-10-27 | 2011-05-17 | Hewlett-Packard Development Company, L.P. | Methods and systems for dynamically configuring a network component to reroute media streams |
US8151280B2 (en) * | 2003-10-27 | 2012-04-03 | Microsoft Corporation | Simple and dynamic configuration of network devices |
-
2005
- 2005-03-30 US US11/093,933 patent/US7546582B2/en not_active Expired - Fee Related
-
2006
- 2006-02-27 CN CNB2006100577654A patent/CN100421070C/zh active Active
-
2009
- 2009-03-04 US US12/397,824 patent/US8266590B2/en not_active Expired - Fee Related
-
2012
- 2012-05-09 US US13/467,780 patent/US8832648B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959709A (zh) * | 2011-09-30 | 2014-07-30 | 西门子公司 | 利用定义的组件来动态配置和实现设备固件的工具和方法 |
CN103959709B (zh) * | 2011-09-30 | 2017-06-20 | 西门子瑞士有限公司 | 利用定义的组件来动态配置和实现设备固件的工具和方法 |
US9690268B2 (en) | 2011-09-30 | 2017-06-27 | Siemens Schweiz Ag | Tool and method for dynamic configuration and implementation of device firmware utilizing defined components |
CN107168993A (zh) * | 2017-03-29 | 2017-09-15 | 广州优视网络科技有限公司 | 处理响应数据的方法、设备、客户端设备和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100421070C (zh) | 2008-09-24 |
US20120227031A1 (en) | 2012-09-06 |
US8832648B2 (en) | 2014-09-09 |
US20090172387A1 (en) | 2009-07-02 |
US20060225039A1 (en) | 2006-10-05 |
US7546582B2 (en) | 2009-06-09 |
US8266590B2 (en) | 2012-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100421070C (zh) | 用于管理动态配置数据的方法和系统 | |
EP2469444B1 (en) | Multi-tenant system | |
CN100483405C (zh) | 用于警报传递体系结构的方法和系统 | |
US7774826B1 (en) | System and method for determining effective policy profiles in a client-server architecture | |
CN102713865B (zh) | 授权数据缓存管理 | |
CN109597853B (zh) | 业务场景元素序列号生成方法、装置、介质和计算机设备 | |
AU2012228693B2 (en) | Method and system for synchronization mechanism on multi-server reservation system | |
US20060101096A1 (en) | Associations between duplicate master data objects | |
CA2827265C (en) | Method and system for centralized reservation context management on multi-server reservation system | |
US6363375B1 (en) | Classification tree based information retrieval scheme | |
WO2007113164A1 (en) | Service registry and relevant system and method | |
CN1755676A (zh) | 用于网络文档批处理索引的系统和方法 | |
CN1959713A (zh) | 存储商务文档的计算机实现方法、系统以及程序产品 | |
CN1691677A (zh) | 管理计算机身份的方法、系统和装置 | |
EP2361465B1 (en) | Retrieving configuration records from a configuration management database | |
US7752625B2 (en) | Caching resources requested by applications | |
US20120030166A1 (en) | System integration architecture | |
CN101657791A (zh) | 支持高级媒体制作和分发的增强数据库方案 | |
CN1647040A (zh) | 用于管理计算机系统的方法和系统 | |
CN1363886A (zh) | 目标集成管理系统 | |
US20080320011A1 (en) | Increasing file storage scale using federated repositories | |
CN113568925B (zh) | 一种报文数据的转换方法、装置、电子设备及存储介质 | |
CN1858744A (zh) | 数据查询系统及数据查询方法 | |
US20040064571A1 (en) | Configuration management in a distributed platform | |
CN117574428A (zh) | 面向海量分布式存储的隐匿查询方法、装置、设备及介质 |
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 |