访问不同种类的配置管理数据库储存库的方法和装置的制作方法

文档序号:6613135阅读:165来源:国知局

专利名称::访问不同种类的配置管理数据库储存库的方法和装置的制作方法
技术领域
:本发明一般涉及改进的数据处理系统,并且特别涉及用于访问存储的数据的方法和装置。而更特别地,本发明涉及一种用于访问存储在不同储存库中的数据的计算机实现的方法、装置和计算机可用程序代码。
背景技术
:在大型组织中,组织中的不同部分可以使用不同类型的数据库系统来存储和搜索数据。对不同类型的数据库系统的使用可以发自于起动不同类型的数据库系统的、组织内的不同群组。另夕卜,组织中的变化,举例来说,^f象合并、收购或联营,可能导致组织内出现不同种类的数据库系统。对于组织中的不同部分来说,常常希望能够访问来自组织的其它部分的数据。由于组织内所出现的不同类型的lt据库系统,因此在访问数据时产生了问题。此外,在联营时,两个不同的组织可能允许访问其各自的数据库,其中,其数据库可能采用了不同的系统来进4亍管理和访问。一种解决方案要求不同的用户访问并且精通用于不同数据库系统的软件。例如,熟悉一个数据库的用户可以将一个术i吾(term)用于特定的项目。可能使用不同的术语来指代另一数据库中相同的项目。结果,对于用户来"^兌,为了访问两个数据库中用于该项目的信息,要求用户熟悉两个数据库中所使用的术语。当信息的位置对于该项目来i^越多个数据库时,该问M复杂的。要求用户学习不同的数据库系统以;M"那些系统所需要的软件进fr沐问是耗时和复杂的。另一解决方案涉及将来自不同数据库的数据集合到具有用于访问合并数据的单系统的单个中央数据库中。使用中央数据库常常导致要求复杂的一致性检查以确保将数据库中的变化传送给中央数据库。该类型的中央数言增加的费用和时间。因此,获得一种用于访问位于不同源的数据的改进方法、装置和计算机可用程序代码将是有利的。
发明内容本发明提供了一种用于访问储存库中的信息的计算机实现的方法、装置和计算机可用程序代码。响应于从请求者接收到对关于项目的信息的请求,对关于来自多个连接器的连接器是否可以用于为所述请求从所述储存库中检索所述项目的信息进行确定,其中,响应于接收到不同的请求,所述(多个)连接器可重用于访问所述储存库。响应于确定所述连接器可以用于检索关于所述项目的信息,使用所述连接器来检索信息以形成结果。将所述结果返回给所述请求者。在所附权利要求中陈述了被认为是本发明的特色的新颖特征。然而,当结合附图阅读时,通过参照以下对说明性实施例的详细描述,将最好地理解本发明本身,及其优选的使用模式、更多的目的和优点,在附图中图1描绘了可以在其中实现说明性实施例的数据处理系统的网络的图形表示;图2是可以在其中实现说明性实施例的数据处理系统的框图3是依照说明性实施例说明了在提供对不同储存库的访问时所使用的组件的示图4是依照说明性实施例说明了接口对象的示图5是依照说明性实施例说明了连接器的示图6是依照说明性实施例说明了连接数据的例子的示图7是依照说明性实施例说明了在处理来自客户机的请求时的消息流的示图8是依照说明性实施例说明了在从储存库检索信息时所使用的消息流的示图9是依照说明性实施例用于接口对象的过程的流程图;图10是依照说明性实施例用于连接器对象的过程的流程图;图11是依照说明性实施例用于对在访问不同储存库中的信息时所使用的访问过程进行标识的过程的流程图;以及图12是依照说明性实施例用于创建连接器的过程的流程图。具体实施例方式现参照附图,并且特别参照图1至图2,其提供了可以在其中实现说明性实施例的数据处理环境的示例图。应当理解图1至图2仅是示例性的,而并不打算主张或暗示关于可以在其中实现不同实施例的环境的任何限制。可以对所描绘的环境进行4艮多修改。现参照附图,图l描绘了可以在其中实现说明性实施例的数据处理系统的网络的图形表示。网络数据处理系统100是可以在其中实现实施例的计算机的网络。网络数据处理系统100含有网络102,其是用于在网络数据处理系统100内连在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光缆的连接。在所描绘的例子中,服务器104和服务器106与存储单元108—起连接至网络102。另外,客户机IIO、112和114连接至网络102。这些客户机IIO、112和114可以是,例如,个人计算机或网络计算机。在所描绘的例子中,服务器104向客户机110、112和114提供诸如引导文件、操作系统映像和应用的数据。在该例中,客户机110、112和1144J良务器104的客户机。网络数据处理系统IOO可以包括附加的服务器、客户机和未示出的其它i殳备。在所描绘的例子中,网络数据处理系统100是具有网络102的因特网,世界的网络和网关的集合。处于因特网核心的是主节点或主计算机之间的高速数据通信线路的主干线,包括路由数据和消息的成千上万的商业、政府、教育和其它的计算机系统。当然,还可以将网络数据处理系统100实现为许多不同类型的网络,举例来说,4象内联网、局域网(LAN)或广域网(WAN)。图l意在举例,而并不作为对不同实施例的体系结构限制。现参照图2,其示出了可以在其中实现说明性实施例的数据处理系统的框图。数据处理系统200是诸如图1中的服务器104或客户机110的计算机的例子,可以在其中安置实现用于说明性实施例的过程的计算机可用代码或指令。在所描绘的例子中,数据处理系统200采用了包括北桥和存储控制器集线器(MCH)202以及南桥和输AJ输出(I/O)控制器集线器(ICH)204在内的集线器体系结构。处理器206、主存储器208以及图形处理器210耦合于北桥和存储控制器集线器202。举例来说,图形处理器210可以通过加速图形端口(AGP)耦合于MCH。在所描绘的例子中,局域网(LAN)适配器212耦合于南桥和I/0控制器集线器204,并且音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其它通信端口232,以及PCI/PCIe设备234通过总线238耦合于南桥和I/O控制器集线器204,并JU更盘驱动器(HDD)226和CD-ROM驱动器230通过总线240耦合于南桥和I/O控制器集线器204。PCI/PCIei殳备可以包括,例如,以太网适配器、附加卡(add-incards)以及用于笔记本计算机的PC卡。PCI使用卡式总线控制器,而PCIe并不使用。ROM224可以是,例如,闪速二进制输川输出系统(BIOS)o硬盘驱动器226和CD-ROM驱动器230可以使用,例如,集成驱动器电子电路(IDE)或串行高级技术配件(SATA)接口。超级I/O(SIO)设备236可以耦合于南桥和I/O控制器集线器204。操作系统在处理器206上运行,并且协调和提供对图2中数据处理系统200内的各种组件的控制。操作系统可以是市售的操作系统,例如MicrosoftWindowsXP(Microsoft和Windows是微软公司在美国、其它国家或二者的商标)。面向对象的编程系统,例如JavaTM编程系统,可以结合操作系统运行并且从在数据处理系统200上执行的JavaTM程序或应用向操作系统提供调用。JavaTM和所有基于JavaTM的商标是SimMicrosystems公司在美国、其它国家或二者的商标。用于操作系统、面向对象的编程系统以用或程序的指令位于诸如硬盘驱动器226的存^i殳备上,并且可以被加载到主存储器208给处理器206执行。说明性实施例的过程可以由处理器206使用计算机实现的指令来实现,举例来说,该计算机实现的指令可以位于诸如主存储器208、只读存储器224的存储器中,或者位于一个或多个外围设备中。图1至图2中的硬件可以取决于实现方式而变化。除了图1至图2中所描绘的硬件之外,或者代替图1至图2中所描绘的硬件,可以使用其它的内部硬件或外围设备,例如闪速存储器、等效非易失性存储器或光盘驱动器等。此外,说明性实施例的过程可以应用于多处理器数据处理系统。在一些说明性的例子中,数据处理系统200可以是个人数字助理(PDA),其一般被配置具有闪速存储器,以提供用于存储操作系统文件和/或用户产生的数据的非易失性存储器。总线系统可以包括一条或多条总线,例如系统总线、1/0总线和PCI总线。当然,可以4吏用在依附于构造体系结构来实现总线系统。通信单元可以包括用于发送和接收数据的一个或多个设备,例如调制解调器或网络适配器。存储器可以是,例如,主存储器208或诸如在北桥和存储控制器集线器202中找到的高速緩存。处理单元可以包括一个或多个处理器或CPU。图1至图2中所描绘的例子以及上述例子并不意p未着暗示体系结构限制。例如,数据处理系统200除了采取PDA的形式之外,还可以是平板计算机(tabletcomputer)、膝上型计算机或电话设备。说明性实施例提供了一种用于访问储存库中的信息的计算机实现的方法、装置和计算机可用程序代码。当从请求者接收到关于项目的请求时,对关于来自多个连接器的连接器是否可以用于从储存库中检索该项目的信f言构造或息以满足该请求而进行确定。连接器是为了进行查询以获得结果而用于连接至诸如数据库的一个或多个储存库的对象。连接器包括查询储存库所需要的数据和过程。过程可以包括对将要如何查询数据库进行标识的过程。连接器可以由接收查询的一个数据库系统用于将该查询发送至其它的数据库系统,以便从其它的数据库获得结果。连接器可以由,皮i殳计来查询数据源的软件组件用于连接至数据源。该软件组件可以不包括数据。响应于接收到不同的请求,这些连接器可重用于访问储存库。如果连接器可以用于检索关于项目的信息,则使用连接器^索该信息以形成返回给请求者的结果。如果连接器不能够用于检索项目的信息,则可以创建新的连接器来访问信息。可以使用现有连接器作为模版来创建该新的连接器。然后可以使用新的连接器来检索项目的信息,并且新的连接器可以响应于后继请求可重用于访问关于项目的信息。此外,在不同的说明性实施例中,对信息的这一访问可以用于同步跨越不同储存库的关于项目的信息。合,即可以使用对查询请求进行响应的接口来访问该数据结构。这些不同类型的数据结构可以包括,例如,数据库、平坦列表(flatlist)、可串行化对象、串4亍化对象,或者系统或应用信息的实时聚合。在创建新的连接器时,不同的实施例可以使用自省(introspection)来获得创建新的连接器所需要的信息。该自省是在信息可能位于的储存库上进行的。从自省过程返回的数据用于创建新的连接器。现在转向图3,其依照说明性实施例描绘了对在提供对不同储存库的访问时所使用的組件进行说明的示图。在这些说明性例子中,储存库是可以通过程序访问的数据的任何集合。举例来说,数据库或配置管理数据库是储存库的例子。在该说明性例子中,储存库接口300提供了访问诸如数据库301、配置管理数据库(CMDB,configurationmanagementdatabase)302或联合数据库304的不同储存库的接口。在这些例子中,数据库301是相对于储存库接口300的本地数据库,而配置管理数据库302和联合数据库304位于其它的地理位置或其它域中。联合数据库本质上是作为数据库系统的一部分的虚拟数据库。该系统用于透明地将多个数据库集成到单个联合数据库。不同的数据库可以通过网络连接,并且可以位于不同的地理位置。在这些实施例中,配置管理数据库302是信息的统一或联合储存库。配置管理数据库302充当用于配置项目信息和属性的单储存库。例如,该类型的数据库可以保存信息技术基础设施内的元件的细节。该数据库通常用于管理和提供信息技术服务。换句话说,配置管理数据库302是M^i^出设施组件与信息技术基础设施之间的关系的储存库。在这些例子中,不同的元件可以是,例如,服务器、磁带库、路由器、工作站、膝上型计算机、打印机或扫描器。信息技术系统中的项目可以是在网络中使用的任何资源。该类型的数据库还可以是联合的,因而使得现有数据库能够连接至该类型的系统。在这些例子中,不同的储存库可以使用不同的术语访问相同的项目。在这些例子中,这些项目是配置项目。"配置项目(configurationitem)"是信息技术资源的抽象,并且其常常是信息技术基础设施库(ITIL)中的标准项目。通常,配置项目涉及诸如监视器的一件标准硬件。然而,配置项目还可以是涉及整个系统的故障(defects)、人和软件的抽象。例如,术语"事故(incident)"是一些组织用于描述对系统故障或异常所进行的报告的用户项目术语。"用户项目术语(useritemterm)"是配置项目或其属性的名称,在本地(有可能高度定制的)配置管理数据库中的字段或其它数据结构中对其进行输入。"配置项目术语(configurationitemterm)"是配置项目或其属性的名称,在主(优选地是"标准化"的)配置管理数据库中的字段或其它数据结构中对其进行输入。在说明性实施例中,使用可能的标准信息技术基础设施库。然而,该使用不一定总是可能的,并且因而,配置项目术语可能仅对于相应的组织是"标准的"。"寻址名称(addressingname),,是允许用户定位关于配置项目的数据的术语。其可以是配置项目术语、用户项目术语或使得系统能够找到配置项目数据的某种其它的术语、指针、路径或类名。相应的配置项目术语可以与相应的用户项目术语相同。然而,对于可用的本发明来i兌,其它术语在相应的数据库之间会有所不同。在一些i兌明性实施例中,为了构建或编辑在储存库接口300中的接口对象,用户并不需要熟悉在不同的资源数据库或储存库上所使用的专有语法和命名。说明性实施例可以准许使用用户字段输入的查询,其中,下拉菜单或类似的图形用户接口窗口装置(widget)用于为给定的用户字段输入定位用户项目术语或其它等效的关联配置项目术语。用户字段输入可以包括输入到一个或多个字段的字符。另外,用户字段输入可以包括鼠标输入,其从列表进行选择、选定单选按钮,并且点击标签以暗示用户已经完成对其用户字段输入的选择和提炼。可以通过在包括表单控制的浏览器上所示出的超文本协议文档来调节用户字段输入。通常(尽管并不总是),用户字段输入可以通过筒单地按下键盘上的回车键来完成。配置管理数据库存储了关于数据处理系统的元件的数据。配置管理数据库可以存储在耦合于一个或多个处理器的硬盘驱动器阵列上。配置管理数据库通常具有协调访问和实现内务处理功能的前端软件。配置管理数据库可以是聚合数据库(aggregateddatabase),其中多个数据库或文件的位置分布在网络上。配置管理lt据库可以在用户本地或远端,如网络技术方面的技术人员将易于理解的。配置管理数据库可以包括位置远离主要设施的冗余#存储器。包括了配置管理数据库的数据包括配置项目,其净皮存储为用户项目术语或配置项目术语的集合。配置项目代表信息技术环境中的资源,并且包括联网的和独立的两种项目。这样的资源包括软硬件和人事资源这二者。因此,配置项目和配置项目的属性间的关系,以及用于对其进行定义的术语,是多样和复杂的。如可以从以上描述得到的,太多的术语可以对信息进行访问,特别是远程数据库中的,这对于用户是混乱和困难的。为此,借助于接口对象,本发明的说明性实施例准许用户通过选择用户熟悉的用户项目术语来访问配置项目。在这些例子中,在客户机306和308处的用户可以向储存库接口300发送诸如请求310和312的请求用于处理。这些请求可以包括诸如配置项目这样的项目的项目术语。储存库接口300含有用于处理这些请求的多个组件。在这些例子中,这些組件包括请求管理器314、接口对象316、接口对象318、接口对象320、连接器322,以及连接器324。请求管理器314用于接收来自诸如客户机306和308的客户机的请求。作为响应,请求管理器314标识储存库接口300内合适的组件来处理请求。响应于由处理请求而接收到的结果,请求管理器314将这些结果返回给客户机306和308。此外,请求管理器314还可以按照需要创建新的接口对象。举例来说,可以将请求312标识为适合由诸如接口对象318的接口对象来进行处理。利用该类型的标识,请求管理器314将请求312传递给接口对象318。而接口对象318又可以直接生成合适的请求,以便从配置管理数据库302和/或联合数据库304检索数据。可选地,取决于请求的类型,接口对象318可以使用诸如连接器322的连接器,以便从诸如数据库302和联合数据库304的不同数据库检索数据。在该特定的例子中,接口对象318标识获得信息所需要的合适的连接器。接口对象318可以标识满足请求的一个连接器或多个连接器。在这些说明性实施例中,使用自省来进行对连接器的标识。在JavaTM环境中使用自省来获得关于对象的信息。在这些例子中,接口对象318可以通过该类型的机制来标识合适的连接器。在这些说明性例子中,当请求要求来自超过一个的数据库的数据时使用连接器。在该特定的例子中,接口对象318将请求发送给连接器322,而连接器322又对配置管理数据库302和联合数据库304进行合适的请求。当然,如果可以直接从一个数据库检索到数据,则接口对象318直接对那个数据库进行请求。例如,如果可以从配置管理数据库302请求到信息而不需要来自联合数据库304的数据,则接口对象318生成请求。特别地,接口对象318向方法326中合适的方法发送请求,以4更查询配置管理数据库302内的数据库328。在这些i兌明性例子中,连接器322和324含有访问诸如配置管理^t据库302和联合数据库304的数据源的信息。这些连接器是可重用的。例如,可以将连接器导入到另一位置并且用于访问这些数据源。此外,可以将这些连接器发送至诸如配置管理数据库302的目标源之一,并且用于访问联合数据库304和数据库328,其在储存库接口300本地。以这种方式,可以在其它的位置上将在一个位置上生成的连接器用于访问数据。可以在数据库328中访问数据,因为连接器322和连接器324含有标识不同数据库中的对应项目所需要的信息。现在转向图4,其依照说明性实施例描绘了对接口对象进行说明的示图。在该例中,接口对象400是诸如图3中的接口对象318的接口对象的较为详细的例子。接口对象400^^有客户方法(clientmethod)402和访问过程404。客户方法402用于接收可以由诸如图3中的请求管理器314的请求管理器传递给接口对象400的请求。客户方法402标识将要通过访问过程404进4亍的适当的访问。响应于接收到来自请求管理器的请求,访问过程404实际上生成获得数据所必要的命令和请求。请求可以是使用诸如用户项目术语(其在不同的源中可能具有不同的名称)的术语对关于项目的信息的请求。访问过程404可以确定可以通过访问单个数据库来实现对请求的处理。在该情况下,访问过程404然后生成对数据库的适当的请求。在不同的例子中,可以进行确定将要访问超过一个的数据库。在那种情况下,访问过程404向诸如图3中的连接器322的连接器发送请求。在该情况下,访问过程404确定应当如何对不同的数据库进行请求以^更返回所期望的结果。当返回结果的时候,访问过程404接收那些结果并且将其返回至客户方法402。在这些例子中,访问过程404还包括可以用于从数据源获得信息的机制,其中,该信息用于访问该数据源。在说明性实施例中,自省用于标识表示配置项目的类似对象。在这些说明性实施例中,对象的自省器类(introspectorclass),或者简单地+兌"自省器(introspector),,,是借助于自省方法为特性、方法和事件读取JaVaTMbean文件或JavaTM文件的对象。在该说明性实施例中,对访问其它源所需要的信息进行自省。例如,接口对象400使用访问过程404来自省相关管理应用中表示配置项目的对象,由此为特性、方法和事件检索用于访问源数据库的数据。特性、方法和事件的群组可以用于为类似的配置项目搜索用于现有连接器的储存库,由此加速构建新的连接器的过程。自省涉及这样的接口对象,即其自动地将预先构建的连接器与当前配置相匹配并且使用预先定义的规则或策略来提供对获得新的连接器的过程进行指导的选择菜单。可选地,在自省期间,接口对象将这些方法、特性和事件呈现给用户,以便用户可以选择和匹配在与第二或不同种类的配置管理数据库的关联中所使用的用户项目术语。当进行自省的时候,访问过程404可能找到第一对象,该第一对象表示在对第一网络域中的资源进行管理的第一管理应用中的配置项目,其类似于对于第二域中的管理应用或者第二域中类似的管理应用所管理的第二配置项目的第二对象。当这种情形发生的时候,如果为配置项目之一所构建的连接器存在,则访问过程404可以4吏用该连接器作为用于其它域的模版。此外,访问过程404可以利用与用于访问管理应用的对象有关的对象层级中的样式,其中,该管理应用用于构建连接器集,以便在接口对象储存库中的各个配置管理数据库之间进行通信。访问过程404形成最新添加的访问方法作为该层级中的对象。另外,访问过禾呈404还可以标识在通过自省访问储存库时使用的合适的连接器。可选地,访问过程404可以使用对需要什么储存库来满足特定请求进行标识的配置信息。例如,对于特定请求,可以给出三种不同的方式来访问数据。配置信息可以标识将务使用的特定机制。可以在该配置信息中定义的特定机制包括4吏用供应商向访问方法提供的配置管理数据库程序来直接访问关联数据库。在配置信息中可以标识的另一机制可以是由数据库供应商为第三方使用而提供的应用编程接口。配置信息还可以标识使用通往异常分支(hook)的连接器对用于诸如配置管理数据库的数据库的供应商对象的自省访问。而作为另一例子,配置信息可以指向由用于配置管理数据库的连接器所使用的用户构造的(constructed)访问代码。在这些例子中,接口对象400使用在不同数据库处的对象上的访问过程404进行自省,以便选择合适的连接器。如果不能够找到合适的连接器,那么生成指示或标志,从而使得可以通过用户输入选择或创建连接器。另外,如果不能够找到合适的连接器,则访问过程404可以包括选择具有最接近的匹配的连接器的过程。在这些例子中,访问过程404标识储存库、检查才莫式(schemas),并且映射初始配置中的模式。由于已知查询的起源,因此第一阶段(thefirsttier)是如果将要更新的配置的身份是唯一的,则可以对储存库进行直接映射。其它的储存库需要由访问过程404来更新。该信息存储在连接器数据结构中的备选地址字段中,并且这些参考用于更新其它的储存库。如果参考不是唯一的或者是不明确的(ambiguous),那么必须将指向储存库的参考或指针映射或配置在连接器内,因为该映射不能够由访问过程404标识。现在转向图5,其依照说明性实施例描绘了对连接器进行说明的示图。在该例中,连接器500是诸如图3中的连接器322的连接器的例子。连接器500含有请求过程502以及连接数据504。请求过程502标识需要用于为请求返回结果的不同数据库。连接数据504提供生成不同请求所需要的数据。例如,如果正在由请求过程502所处理的请求要求查询两个不同的数据库,则连接数据504用于确定那些数据库的位置以及如何生成查询那些数据库的请求。利用此数据,请求过程502生成请求并且将其发送至两个数据库。请求过程502还接收所进行的任何两个查询的结果,并且将其发送回给发送请求的接口对象。在这些说明性例子中,iString是可以在这样的情况下使用的通用JavaTM类,即在该情况下,通用名称形式下的基本表示可以用于指代涉及相同事物的不同数据库系统所使用的一个或多个可选名称。利用iString,连接器500能够使用该信息来标识不同数据源中的相同项目。因此,利用用于正被请求的项目的通用名称,在必须从多个源检索数据的时候,连接器500可以标识在不同数据库中用于该项目的名称。换句话说,可以将iString用作对用于指代相同项目的不同名称的转换器。在这些例子中的连接器500可以在不同的位置被重用。例如,可以将在一个储存库处为了在访问该储存库以及两个其它的储存库时使用而创建的连接器发送至另一位置用于访问所有的三个储存库。此外,可以将该连接器发送至其它两个储存库之一,用于在访问那其它两个储存库时使用。因此,可以由另一用户重用连接器500来访问相同的储存库。此外,可以重用和修改该连接器,以便访问相对于访问数据具有类似模式的储存库。现转向图6,其依照说明性实施例描绘了对连接数据的例子进行说明的示图。在该例中,连接数据600是图5中的连接器500所使用的连接数据504的例子。连接数据600含有连接器为连接器正在处理的请求标识信息的位置所需要的任何信息。在这些说明性例子中,连接数据600包旨问类型602、自省代码604、数据库名称606、数据库位置608、访问凭证610、字段名称612,以及配置信息614。在这些例子中,访问类型602用于确定将要如何访问特定的数据库。访问类型的例子包括原始/直接(original/direct)和连接器。原始/直接涉及使用现场系统(in-placesystem),且该现场系统具有使用其自己的接口的4*数据储存库。通过连接器的访问涉及使用不同的用户接口或前端系统来查看或改变来自不同系统的数据。自省代码604是连接器用于获得关于应用的信息的指令。例如,自省代码604可以用于询问对象其是什么类别的,并且自省地构成该类别。此外,自省代码604可以用于标识构成类别的所有特性和方法的名称和lt据类型。利用该信息,连接器可以标识将要如何访问特定的数据库。数据库名称606标识具有通过数据库位置608所标识的位置的特定数据库。数据库位置608可以是,例如,URL、IP地址或路径名称。访问凭证610提供访问储存库所需要的信息。字段名称612含有用于将多个名称与单个名称相互关联的信息。在这些例子中,将字段名称612存储为iString。字段名称612提供访问诸如位于不同的储存库中使用单个术语的配置项目这样的项目的信息的能力。字段名称612允许将输入的单个名称用于标识可能用于参考不同储存库中相同的配置项目的其它名称。访问类型602可以含有访问储存库(例如数据库或其它类型的数据源)的多种机制或方式。在多种访问类型的情况下,可以在访问类型602内指定特定的一个或者使用较快的方法。此外,可以通过自省代码604指定访问类型602。以这种方式,可以通过自省代码604标识或者通过配置信息614设置访问类型。不同的设置可以存储在配置信息614中。例如,可以由用户指定访问类型。可选地,可以将配置信息614设置成选择最快的方式来访问源。再者,取决于特定的实现,可以将配置信息614设置成总是忽略或跳过自省。现转向图7,其依照说明性实施例描绘了对在处理来自客户机的请求时所使用的消息流进行描绘的示图。在该例中,客户机700是诸如图3中的客户机308的客户机的例子。请求管理器702是图3中的请求管理314的例子,并且接口对象704是图3中的接口对象318的例子。方法706和数据库708是数据库中的方法(例如图3中的方法326和数据库328)的例子。在该例中,消息流开始于客户机700向请求管理器702发ilXt数据的请求(消息Ml)。响应于接收到该请求,请求管理器702将请求发送至接口对象704用于进行处理(消息M2)。在该例中,接口对象704确定是否可以通过查询单个储存库来满足请求。如果可以通过查询单个储存库来满足请求,则接口对象704标识诸如该储存库中的方法706的方法,并且将请求发送至方法706(消息M3)。响应于接收到请求,方法706处理请求以^使查询数据库708(如消息M4)。响应于查询,数据库708将数据返回方法706(消息M8)。该数据也被称为结果。此后,方法706将数据返回接口对象704(消息M7)。接口对象704然后将数据返回请求管理器702(消息M6)。此后,请求管理器702将数据返回客户机700(消息M5)。现转向图8,其依照说明性实施例描绘了对在从储存库中检索信息时所使用的消息流进行说明的示图。在该例中,所涉及的组件包括客户机800、请求管理器802、接口对象804、连接器806、方法808、数据库810,以及数据库812。客户机800是诸如图3中的客户机306的客户机的例子。请求管理器802、接口对象804以及连接器806可以分别是,例如,图3中的请求管理器314、接口对象318和连接器322。可以在图3中的配置管理数据库302中找到方法808和数据库810。数据库812可以是,例如,图3中的联合数据库304。在该例中,消息流开始于客户机800发送由请求管理器802接收的请求(消息S1)。作为响应,请求管理器802将请求发送至接口对象804用于进行处理(消息S2)。接口对象804确定请求是否要求查询超过一个的数据库或储存库。对于请求是否要求查询超过一个的数据库或储存库的这一确定可以使用自省来进行。如上所述,自省可以用于标识在这些例子中表示项目的类似对象。如果需要超过一个的储存库返回必要的数据或结果,那么接口对象804将请求发送至连接器806(消息S3)。连接器806通过将请求发送至数据库812来请求一部分数据(消息S4)。通过将请求发送至方法808来发送请求所需要的数据的其它部分(消息S5)。响应于这些请求,方法808处理请求并且查询数据库810(消息S6)。数据库810将数据返回方法808(消息S7)。然后随着将该数据返回方法808而将其返回连接器806(消息S8)。数据库812将数据返回连接器806(消息S9)。信息由连接器806聚合,并且被返回接口对象804(消息S10)。而接口对象804又将数据发送至请求管理器802(消息Sll)。然后,最终将数据返回客户机800(消息S12)。在所描绘的例子中,数据是用于配置项目的。在这些例子中,配置项目是信息技术资源的抽象。该术语是如由信息技术基础设施库(ITIL)所定义的标准术语。图9是依照说明性实施例用于接口对象的过程的流程图。可以在诸如图4中的接口对象400的软件组件中实现图9中所说明的过程。该过程通过接收来自客户机的请求而开始(步骤900)。对关于请求是否要求存储在超过一个的储存库中的类型的数据进行确定(步骤卯2)。在步骤卯2中,如果请求要求来自超过一个的储存库的数据,则将请求发送至连接器(步骤卯4)。该过程等待来自连接器的结果(步骤906),并且为客户机格式化结果(步骤卯8)。最后,该过程将结果返回客户机(步骤910)。转回到在步骤卯2处所进行的判决,如果该过程确定请求要求来自单个储存库的数据,则该过程将请求发送至那个数据储存库(步骤912),并且等待结果(步骤914)。此后,该过程前进到步骤908以便为客户机格式化结果并且如上所述继续。图10是依照说明性实施例用于连接器对象的过程的流程图。可以在诸如图5中的连接器500的软件組件中实现图10中所说明的过程。该过程通过接收来自接口对象的请求而开始(步骤IOOO)。接下来,将请求转换到一组储存库(步骤1002),并且标识访问该组储存库所需要的一组方法(步骤1004)。将该组请求发送至该组储存库(步骤1006),并且该过程等待从该组储存库接收结果(步骤1008)。这些结果是聚合结果。此后,接收聚合结果(步骤IOIO)。最后,将聚合结果返回接口对象(步骤1012),且该过程由此终止。接下来转向图11,其依照说明性实施例描绘了用于标识在访问不同储存库中的信息时所使用的访问过程的过程的流程图。可以在诸如图3中的接口对象318的组件中实现图11中所说明的过程。该过程通过从一组储存库中选择储存库而开始(步骤IIOO)。该过程确定是否在配置信息中为所选择的储存库标识了方法(步骤1102)。该方法是储存库中可以用于访问关于项目的信息的方法。在步骤1102中,如果该过程确定并未标识方法,则该过程在所选择的储存库上进行自省(步骤1104)。该过程然后确定连接器是否匹配于储存库(步骤1106)。在该步骤中,来自自省的信息用于确定是否存在以访问储存库中的信息的方式而匹配的连接器。如果不存在连接器,则该过程进一步确定是否已经接收到用于选择连接器的用户输入(步骤1108)。在步骤1108中,如果仍未接收到用户输入,则该过程确定是否存在更多的未经选择的储存库(步骤1110)。如果存在更多的未经选择的储存库,则该过程返回步骤IIOO。如果不存在更多的未经选择的储存库,则该过程终止。返回到在步骤1108中所进行的确定,如果该过程确定已经接收到了用户输入,则该过程基于用户输入将连接器与储存库相关联(步骤1112),并且返回如上所述的步骤1110。转回到在步骤1106中所进行的确定,如果该过程确定连接器匹配于储存库,则该过程将连接器与所选择的储存库相关联(步骤1114),并且返回如上所述的步骤1110。进一步转回到在步骤1102中所进行的确定,如果该过程在配置信息中为所选择的储存库标识了方法,则该过程将该方法与所选择的储存库相关联(步骤1116),并且返回步骤1110。任何关联的方法或连接器均用于访问满足请求所需要的关于项目的信息。接下来转向图12,其依照说明性实施例描绘了用于创建连接器的过程的流程图。可以在诸如图4中的接口对象400的组件中实现图12中所说明的过程。该过程通过为储存库标识位置而开始(步骤1200)。接下来,标识用于项目的术语(步骤1202)。进行自省以获得用于储存库处的项目的每个术语(步骤1204)。最后,存储数据类型、相关性、字段名称,以及描述(步骤1206),且该过程由此终止。因而,不同的说明性实施例提供了用于访问数据的计算机实现的方法、装置和计算机可用程序代码。不同的实施例使用连接器访问来自不同储存库的数据。这些连接器是可重用的连接器,其可以用于很多不同的请求。例如,可以输出或发送在一个位置处创建的连接器,以便在另一储存库或位置上使用,从而访问一组储存库内的数据。自省用于标识访问不同的储存库以获得关于感兴趣的项目的信息所需要的信息或数据。该信息可以包括,例如,数据库的位置、用于访问数据库的访问方法、用于标识该数据库中的项目的术语或名称,以及创建连接器所需要的其它信息。以这种方式,可以很快并且有效地重用连接器以获得新的连接器,这最小化了为访问不同的储存库而手动输入信息的需求。本发明可以采取全硬件实施例、全软件实施例或者既含有硬件元素又含有软件元素的实施例的形式。在优选的实施例中,以软件实现本发明,其包括但不限于固件、常驻软件、微码等。此外,本发明可以采取可访问于计算机可用或计算机可读介质的计算机程序产品的形式,该计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用的或者与计算机或任何指令执行系统结合使用的程序代码。对于该描述来说,计算机可用或计算机可读介质可以是能够容纳、存储、通信、传播或传送由指令执行系统、装置或设备使用的或者与指令执行系统、装置或i殳备结合使用的程序的任何有形装置。介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可装卸计算M盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前的例子包括只读光盘存储器(CD-ROM)、读/写光盘(CD-R/W)和DVD。适于存储和/或执行程序代码的数据处理系统可以包括通过系统总线直接地或间接地耦合于存储元件的至少一个处理器。存储元件可以包括在程序代码的实际执行期间所采用的本地存储器、大容量存储器,以及为了减少在执行期间必须从大容量存储器检索代码的次数而提供对至少一些程序代码的临时存储的高速緩沖存储器。输^/输出或i/o设备(包括但不限于键盘、显示器、指点设备等)可以直接地或者通过插入I/O控制器耦合于系统。网络适配器也可以耦合于系统,从而使得数据处理系统能够适于通过备。调制解调器、电缆调制解调器和以太网卡正是几种当前可用类型的网络适配器。已经出于说明和描述的目的给出了对本发明的描述,且并不旨在穷举或将本发明限制于所公开的形式。对本领域的普通技术人员来说,很多修改和变形将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,以及使本领域的普通技术人员能够理解本发明的各种实施例及其适于所预期的特定用途的各种修改。权利要求1.一种用于访问储存库中的信息的计算机实现的方法,所述计算机实现的方法包括响应于从请求者接收到对关于项目的信息的请求,确定来自多个连接器的连接器是否可以用于为所述请求从所述储存库中检索所述项目的信息,其中,响应于接收到不同的请求,所述多个连接器可重用于访问所述储存库,以便从满足所述请求的储存库获得信息,并且其中,所述多个连接器中的每个连接器均包括访问储存库以便从所述储存库获得所述信息所需要的过程和数据;响应于确定所述连接器可以用于检索关于所述项目的信息,使用所述连接器来检索所述信息以形成结果;以及将所述结果返回给所述请求者。2.根据权利要求1的计算机实现的方法,其进一步包括响应于确定所述连接器不能够检索所述项目的信息,使用所述多个连接器中的一个连接器作为模板,创建新的连接器来访问所述项目的信息;以及使用所述新的连接器从所述项目的信息中检索信息,其中响应于后继请求,所述新的连接器可重用于访问所述项目的信息。3.根据权利要求2的计算机实现的方法,其中所述创建步骤包括在所述储存库上进行自省,以便从所述储存库获得根据所述多个连接器中的所述一个连接器创建所述新的连接器所需要的数据。4.根据权利要求1的计算机实现的方法,其中所述请求是同步所述储存库中所述项目的信息的请求。5.根据权利要求4的计算机实现的方法,其中所述请求者使用所述结果来同步所述项目的信息。6.根据权利要求1的计算机实现的方法,其中所述项目是配置项目。7.根据权利要求1的计算机实现的方法,其中所述确定、检索和返回步骤是通过接口对象来进行的,其中所述接口对象包括客户方法和访问过程,其中所述客户方法接收所述请求并且所述访问过程进行获得所述项目的信息所需要的操作,其中,所述访问过程使用所述多个连接器来访问所述项目的4言息。8.根据权利要求1的计算机实现的方法,其中所述储存库包括一组配置管理数据库。9.根据权利要求l的计算机实现的方法,其中所述计算机实现的方法是在一个位置上实现的,并且其中,可在另一位置上重用所述连接器来访问所述储存库。10.根据权利要求l的计算机实现的方法,其中可以将多个连接器用作模板来创建新的连接器。11.根据权利要求l的计算机实现的方法,其中所述确定步骤包括在所述储存库中的至少一个储存库上进行自省;以及使用来自所述自省的结果以确定是否可以将所述连接器用于检索所述项目的信息。12.—种计算机系统,其包括用于实现权利要求1至11中任何一项的方法的装置。13.—种数据处理系统,其包括连接至所述总线的通信单元;连接至所述总线的存储设备,其中所述存^i殳备包括计算机可用程序代码;以及连接至所述总线的处理器单元,其中响应于从请求者接收到对关于项目的信息的请求,所述处理器单元执行所述计算机可用程序代码,用于确定来自多个连接器的连接器是否可以用于为所述请求从所述储存库中检索所述项目的信息,其中,响应于接收到不同的请求,所述多个连接器可重用于访问所述储存库,以便从满足所述请求的储存库获得信息,并且其中,所述多个连接器中的每个连接器均包括访问储存库以便从所述储存库获得所述信息所需要的过程和数据;响应于确定所述连接器可以用于检索关于所述项目的信息,所述处理器单元执行所述计算机可用程序代码,用于使用所述连接器来检索所述信息以形成结果;以及将所述结果返回给所述请求者。14.根据权利要求13的数据处理系统,其中所述处理器单元进一步执行所述计算机可用程序代码,以便响应于确定所述连接器不能够检索所述项目的信息,使用所述多个连接器中的一个连接器作为模板,创建新的连接器来访问所述项目的信息;以及使用所述新的连接器从所述项目的信息中检索信息,其中响应于后继请求,所述新的连接器可重用于访问所述项目的4言息。全文摘要本发明提供了一种用于访问储存库中的信息的计算机实现的方法、装置和计算机可用程序代码。响应于从请求者接收到对关于项目的信息的请求,对关于来自多个连接器的连接器是否可以用于为所述请求从所述储存库中检索所述项目的信息进行确定,其中,响应于接收到不同的请求,所述(多个)连接器可重用于访问所述储存库。响应于确定所述连接器可以用于检索关于所述项目的信息,使用所述连接器来检索信息以形成结果。将所述结果返回给所述请求者。文档编号G06F17/30GK101174270SQ20071016704公开日2008年5月7日申请日期2007年10月31日优先权日2006年11月1日发明者D·B·库姆海尔,M·K·科普兰申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1