首页> 中国专利> 用于中间件组件的基于策略自动配置的方法和装置

用于中间件组件的基于策略自动配置的方法和装置

摘要

具有多个相互互连的计算机的分布式计算网络中提供中间件组件的基于策略的自动配置以提供服务解决方案的方法和设备。在本发明中,确定提供解决方案所必需的中间件组件。然后,确定计算机配置以满足选定方案的选定配置策略。最后,必需的中间件组件被安装在配置后的计算机上,使得可以提供解决方案。一些选定的配置策略是:最大化服务器使用率策略,基于外部资源的可用性自动配置要求外部访问的软件组件,和使安装确定的组件的总时间最小。还可以监视中间件组件的安装进度,以在虚拟机配置中进行任何必需的调整,使得可以满足选定的配置策略。

著录项

  • 公开/公告号CN101256495A

    专利类型发明专利

  • 公开/公告日2008-09-03

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200810081416.5

  • 申请日2008-02-21

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人赵科

  • 地址 美国纽约

  • 入库时间 2023-12-17 20:41:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-11

    未缴年费专利权终止 IPC(主分类):G06F9/445 授权公告日:20110817 终止日期:20190221 申请日:20080221

    专利权的终止

  • 2011-08-17

    授权

    授权

  • 2008-10-29

    实质审查的生效

    实质审查的生效

  • 2008-09-03

    公开

    公开

说明书

技术领域:

本发明一般涉及数据处理系统,尤其涉及一种用于联网计算机环境中软件和系统管理的计算机实现方法。更具体地,本发明提供了一种用于提供虚拟化服务交付(service delivery)环境中基于策略的自动配置的计算机实现方法、数据处理系统、计算机可用程序代码。

背景技术:

虚拟化正广泛地在用于客户端应用的主机服务的数据中心中使用,因为其支持增加的服务器利用率并且易于管理。然而,随着解决方案变得越来越复杂,每个解决方案的部署需要分配和自动配置(provisioning)跨不同应用层(application tier)的服务器,即需要跨多个应用层安装的多个软件堆栈。缺省情况下,数据中心使用最快自动配置策略,这意味着只要一台服务器可用,就在该服务器上开始中间件的部署。由于安装不同中间件组件的持续时间不同,所以在某些应用层中服务器上的安装先于其安装完成。然而,在跨层的所有服务器都准备好之前,解决方案不能被配置和使能。作为使用这种策略的结果,在自动配置解决方案期间,跨不同层(tier)的服务器处于空闲状态。扩展类似策略以在数据中心使用虚拟化时使用还导致浪费服务器的利用率

在现有技术中,两种方法被用于自动配置:(1)虚拟化环境中从零开始自动配置(provision from scratch),(2)使用冻干(freezedried)虚拟机(VM)堆栈用于解决方案的主机服务。在方法(1)中,由单个虚拟机配置决定自动配置解决方案的速度,部署整个解决方案的时间由需要最多安装时间的组件决定。一旦自动配置运行已经开始,就剩下虚拟机运行完成。当最慢的组件正在安装时,为虚拟机提供主机服务的其它服务器处于空闲。在方法(2)中,使用预定虚拟机镜像来创建和启动虚拟机。这种方法的弱点在于其需要预创建和预配置不同置换(permutation)的镜像来使用。这在需要应用用于某组件的任何补丁的任何时候将导致管理噩梦,因为所有使用该组件的虚拟机镜像都需要被重新创建。

发明内容

因此,本发明提供一种用于提供满足为分布式计算网络中选定的解决方案选择的配置策略的中间件组件的基于策略自动配置的方法和装置。通过本发明,确定提供解决方案所必需的中间件组件。然后,确定计算机配置以满足为选定的解决方案选择的配置策略。最后,必要的中间件组件被安装在配置后的计算机上,从而可以提供符合配置策略的解决方案。

一些选择的配置策略可能如下:最大化服务器使用率策略,基于外部资源可用性自动配置需要外部访问的软件组件,和使安装所确定的组件的总时间最小。

还可以监视中间件组件的安装过程,以在虚拟机的配置中进行任何必要调整,使得可以满足选择的配置策略。

附图说明

在所附的权利要求书中阐述了说明性实施例的被认为是新特性的特性。然而,说通过结合附图参考下面对说明性实施例的详细描述将更好地理解明性实施例以及优选使用模式、其他目标和优势,其中:

图1描绘了其中可以实现说明性实施例的数据处理系统网络的图形表示;

图2描绘了其中可以实现说明性实施例的数据处理系统的框图;

图3描绘了根据一个说明性实施例的虚拟化服务交付环境的示意性表示。

图4展现了根据一个说明性实施例的解决方案的3个层。

图5描绘了解决方案提供用于说明性实施例的关系图的一个示例。

图6描绘了根据一个说明性实施例的基于策略管理系统的逻辑架构的示意性表示。

图7的流程图示出了根据一个说明性实施例的自动配置管理器所执行的步骤。

图8的流程图示出了根据一个说明性实施例的策略管理器所执行的步骤。

图9的流程图示出了根据一个说明性实施例的策略管理器响应于来自进度监视器的通知所执行的步骤。

具体实施方式

现在参考附图,特别是参考图1和2,提供其中可以实现实施例的数据处理环境的例示性图表。应该指出,图1和2仅仅是示例性的,而并不是要断言或暗示对于其中可以实现实施例的环境的任何限制。对于所示环境可以进行多种修改,而不背离说明性实施例的精神和范畴。

现在参考附图,图1描绘了其中可以实现说明性实施例的数据处理系统网络的图形表示。网络数据处理系统100是其中可以实现实施例的计算机网络。网络数据处理系统100包含网络102,其中网络102是用于在网络数据处理系统100内互相连接的各装置和计算机之间提供通信链路的媒介。网络102可以包括诸如有线、无线通信链路、或者光缆这样的连接。

在所描绘的例子中,服务器104和服务器106与存储单元108都连接到网络102。此外,客户端110、112和114连接到网络102。这些客户端110、112和114例如可以是个人计算机或者网络计算机。在所描绘的例子中,服务器104提供诸如引导文件、操作系统镜像和应用程序这样的数据给客户端110、112和114。在这个例子中,客户端110、112和114是服务器104的客户端。网络数据处理系统100可以包括其他服务器、客户端和其它没有示出的装置。

在所描绘的例子中,网络数据处理系统100是因特网,其中网络102表示使用传输控制协议/因特网协议(TCP/IP)协议族的协议相互通信的网络和网关的全球集合。因特网的核心是包括路由数据和消息的成千上万的商业、政府、教育和其他计算机系统的主要节点或主机计算机之间的高速数据通信线的主干网络。当然,网络数据处理系统100也可以被实现为许多不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。图1用作一个例子,并不是对于不同实施例的架构限制。

现在参考图2,示出了其中可以实现说明性实施例的数据处理系统的框图。数据处理系统200是实现实施例处理过程的计算机可用代码或指令可以被放置在其中的计算机的例子,诸如图1中的服务器104或者客户端110。

在所描绘的例子中,数据处理系统200使用集线架构(hubarchitecture),包括北桥和存储器控制中心(MCH:memory controllerhub)202、南桥和输入/输出(I/O)控制中心(ICH)204。处理器206、主存储器208、和图形处理器210被耦接到北桥和存储器控制中心202。图形处理器210例如可以通过加速图形端口(AGP)被耦接到存储器控制中心(MCH)。

在所描绘的例子中,局域网(LAN)适配器212被连接到南桥和I/O控制中心204,音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其他通信端口232和PCI/PCIe设备234通过总线238连接到南桥和I/O控制中心204,硬盘驱动器(HDD)226和CD-ROM驱动器230通过总线240连接到南桥和I/O控制中心204。PCI/PCIe设备例如可以包括以太网适配器、附加卡(add-in card)和用于笔记本电脑的PC卡。PCI使用插件总线控制器(card bus controller),而PCIe不使用。ROM 224例如可以是闪存(flash)二进制输入/输出系统(BIOS:binary input/output system)。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动器件电子技术(IDE)或串行高级技术连接(SATA)接口。超级I/O(SIO)设备236可以被连到南桥和I/O控制中心204。

操作系统运行在处理器206上,并且操作系统协调和提供图2中数据处理系统200中各组件的控制。操作系统可以是商用操作系统,诸如MicrosoftWindowsXP(Microsoft和Win dows是Microsoft公司在美国、其他国家或二者的商标)。面向对象编程系统、诸如JavaTM编程系统可以与操作系统结合运行,并且提供从在数据处理系统200上执行的应用程序或Java程序对操作系统的调用(Java和所有基于Java的商标都是Sun Microsystems公司在美国和其他国家或二者的商标)。

操作系统、面向对象编程系统和应用程序或程序的指令位于存储装置、诸如硬盘驱动器226上,并且可以被加载到主存储器208中用于由处理器206执行。说明性实施例的处理过程可以由处理器206利用计算机实现指令执行,其中计算机实现指令可以位于存储器、诸如主存储器208、只读存储器225上,或者位于一个或多个外围装置中。

图1和2中的硬件可以根据具体实现而变化。作为图1和2中所示的硬件的附加或替代,可以使用其他内部硬件或外围装置,诸如闪存、等效的非易失性存储器、或光盘驱动器等。同样,说明性实施例的处理过程可以被应用到多处理器数据处理系统。

在一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),其通常配置有闪存来提供用于存储操作系统文件和/或者用户生成数据的非易失性存储器。总线系统可以包括一个或多个总线,诸如系统总线、I/O总线和PCI总线。当然,可以利用提供连接到通信组织或架构的不同装置和组件之间数据传输的任何类型的通信组织或架构来实现总线系统。通信单元可以包括一个或多个用于传输和接收数据的装置,诸如调制解调器或网络适配器。存储器例如可以是主存储器208或诸如北桥和存储器控制中心202中的缓存。处理单元可以包括一个或多个处理器或CPU。图1和2中所描述的示例和上述示例并不意味着暗示架构限制。例如,除PDA形式之外,数据处理系统200也可以是平板电脑(tablet computer)、便携式计算机或电话装置。

说明形性实施例提供了一种计算机实现方法、数据处理系统和用于编译源代码的计算机可用程序代码。可以在数据处理系统、诸如图1所示数据处理系统100或图2所示数据处理系统200中执行说明性实施例的计算机实现方法。

图3描绘了根据一个说明性实施例的虚拟化服务交付环境的示意性表示。来自因特网/内联网的请求被位于DMZ中的路由器装置306接收。路由器装置通常由诸如IBM的WebSeal软件这样的逆向代理实现。这些来自用户的请求然后经由网络308被引导到驻宿在运行于物理服务器(302)中心上的虚拟机(310)集合上的解决方案。系统管理员304借助于管理服务器312管理和监视服务器中心(serverfarm)。管理服务器运行软件以辅助对服务器中心的自动配置、监视、测定和问题确定。

图4展现了根据一个说明性实施例的应用方案的3个层。一个应用方案的示例可以是在储蓄借贷机构中维护客户账户信息数据库。第一层是表示或者Web层402。它处理与用户的交互,并且包含HTML页面、图像以及用于显示和处理页面的代码,诸如portlets和/或servlets。与表示层的典型交互是经由网页浏览器的。该实施例在多层(n层)架构下也有效,为了简单起见,只说明3层。

第二层被称为应用层或业务层404,其处理所用客户端的请求。其通过执行特定于解决方案的所有功能性的业务流程或实际的J2EE应用程序来体现。

第三层被叫做数据库层406,其包含用于管理和保存特定于解决方案的所有数据的组件。

图5描绘了解决方案提供用于说明性实施例的关系图的示例。关系图被表示成突出不同组件之间关系和相关性的XML文件。在图中,“借贷方案”422依赖于3个组件的可用性:WebSphere入口服务器424、WebSphere处理服务器430、和DB2服务器434。此外,WebSphere入口服务器424依赖于WebSphere应用服务器426和DB2客户端428,而WebSphere处理服务器依赖于DB2客户端432。

图6描绘了根据一个说明性实施例的基于策略管理系统的逻辑架构的示意性表示。策略管理系统的关键组件是自动配置管理器504。如箭头516-518和520所示,它与虚拟机管理器502和策略管理器组件506通信。管理入口502可用于与自动配置管理器和策略管理器交互,如图中箭头520所示。策略管理器使用储存库510来保存所需的策略和配置信息。参见箭头519。虚拟机管理器504负责创建和管理自动配置管理器为了解决方案部署而使用的虚拟机。参见箭头513。策略管理器组件506负责生成虚拟机配置,其中自动配置管理器使用该虚拟机配置来开始解决方案的部署。此外,策略管理器组件还监视各个中间件组件的自动配置过程(见箭头515),并向自动配置管理器推荐为了确保中间件组件的自动配置与为特定部署所分配的策略设置一致而需要进行的对虚拟机的调整。

图7的流程图示出了根据一个说明性实施例的自动配置管理器所执行的步骤。当自动配置管理器从管理入口(或外部源)接收到自动配置方案请求(602)以及优选的策略名称时,自动配置管理器从配置储存库(604)中检索解决方案的关系图。这种步骤假定自动配置管理器知道需要部署的解决方案。稍后描述经由管理入口初始化系统。关系图列出了在安装解决方案之前需要被安装到三层上的中间件组件。自动配置管理器将相关性信息和所选择的策略名称传递到策略管理器,以获得(606)中间件组件的安装顺序和需要(608)在三个应用层上创建的虚拟机的初始虚拟机配置。自动配置管理器请求虚拟机管理器以指定的配置创建虚拟机。在虚拟机已经被创建和设置后,自动配置管理器开始在虚拟机610上部署中间件组件。参见箭头514。在步骤620里,自动配置管理器等待来自策略管理器的关于改变虚拟机配置参数的通知。如果接受到这样一个通知,则在步骤622中,自动配置管理器通知虚拟机管理器进行这样的改变。在步骤612中,自动配置管理器检查是否所有自动配置都完成了。在完成后,它通知(614)策略管理器组件完成的实际时间。在步骤616中,自动配置管理器在中间件组件之上开始在三个层上安装应用方案,并且在步骤618中,自动配置管理器完成安装。

图8的流程图示出了根据一个说明性实施例的策略管理器所执行的步骤。当策略管理器从自动配置管理器接收到“生成虚拟机配置”请求以及特定策略时,(702)它识别对于解决方案的中间件要求,(704)并确定所需要的虚拟机数目。接下来,基于分配的软件堆栈和相关策略,策略管理器计算虚拟机的配置。例如,如果策略指示服务器使用率最大化,则计算在这组虚拟机上自动配置堆栈所要求的时间。(708,710)为了执行该计算,策略管理器使用存储关于系统中不同中间件组件的通常安装时间的信息的表706。例如,表706的一行表明在存储器为4GB的2GHz机器上安装WPS要花费大约30分钟。这个数据被用来计算跨三个应用层安装中间件堆栈所花费的总时间。例如,如果层1虚拟机需要WP,层2虚拟机需要WPS和DB2客户端,层3虚拟机需要DB2服务器,则3个层中每一个的总时间分别是480分钟、40分钟和20分钟。该信息与将运行虚拟机的物理服务器的实际CPU速度一起然后被用来计算为了3个层中每一个上的中间件安装几乎同时完成而应该被分配给每个虚拟机的存储器和CPU份额的数量。用于为要求所有中间件安装同时完成的策略计算虚拟机份额的数量的算法基于预期安装总时间的比例来计算份额。对于这个例子,分配给3个层的份额比例是480∶40∶20。基于该策略,策略管理器还计算所选择的机器应该被自动配置的顺序。(712)产生该顺序的算法被编码在基于分配给请求的虚拟机数目产生特定部署顺序的Java类中。计算出的虚拟机配置和顺序被返回给自动配置管理器。自动配置管理器传递配置信息给虚拟机管理器,以创建虚拟机,并使用顺序信息来开始中间件在虚拟机上的部署。计算出的顺序在步骤714中被返回到自动配置管理器。

优选实施例讨论“最大化”服务器使用率策略。策略管理器实现多个其他策略,诸如:

1.基于外部资源(DB2)的可用性自动配置要求外部访问的组件。

2.首先完成基本安装,然后完成可由应用程序共享的可选组件。

3.使安装中间件组件所需要的总时间最小化。

策略管理器也可以支持全局策略,其中全局策略然后可以被转化为低级策略以指定需要重新分配资源的确切时间(如果完成时间之间的差>某指定数)和需要重新分配的资源的百分比。同样,如果层1的完成时间<某指定时间(5分钟),则层1自动配置完成,使得它的所有资源将被使用。同样的方法可以被用于以下情况,即多个解决方案需要被自动配置并且某中间件组件是公共的;在这种情况下,策略可以指定可以从公共中间件获取资源的条件。

在虚拟机已经被虚拟机管理器创建之后,自动配置管理器还在各个虚拟机上安装“进度监视器”508组件。这个组件负责周期性地通知策略管理器每个中间件组件的安装进度。进度按照<中间件组件><完成百分比>被报告,并被发送到跟踪每个请求的进度的策略管理器。本领域技术人员能够实现进度监视器。例如,可用使用IBM公司或BMC软件公司的软件产品。

在已经安装“进度监视器”组件之后,自动配置管理器根据策略管理器所产生的顺序开始自动配置跨所有虚拟机的堆栈。“进度监视器”接收安装器事件和/或监视来自不同组件的日志和报告每个的完成百分比给策略管理器。这些指示可以是不规律的。进度的不均匀速率被平滑,并且在更长的时间间隔期间,发送包含估算的完成百分比的定时报告。图9的流程图示出了根据一个说明性实施例的策略管理器响应于来自进度监视器的通知而执行的步骤。基于该报告数据802,策略管理器重新计算与策略相关的目标函数,并且计算利用目标函数所计算的预测值与利用目标函数重新计算的实际值之间的偏差804。

在步骤806中,策略管理器确定是否需要调整,诸如当存在明显偏差时。对于任何这样的明显偏差,策略管理器重新计算808虚拟机配置,并且通知自动配置管理器新的配置810。自动配置管理器与虚拟机管理器协调以基于新计算的值动态地调整虚拟机配置。步骤812标记消息处理完成。

管理入口提供用于初始化和管理自动配置过程的装置。图6的管理入口512是网页应用程序,它提供用于向策略管理器填充策略信息(图8的表716)和关于安装各软件产品的时间的信息(图8的表706)的装置。管理入口还提供用于发布解决方案信息及其关系图到自动配置管理器的装置。

在一个优选实施例中,使用虚拟机的CPU分配来演示本发明的创新;然而其通过调整诸如存储器、网络访问速度、硬盘访问速度等这样的其它资源也有效。

本发明可以采用完全硬件实施例、完全软件实施例或既包含硬件元件又包含软件元件的实施例的形式。在一个优选实施例中,本发明被实现为软件,这包括但不限于固件、驻留软件、微代码等等。

此外,本发明可以采取可从提供由计算机或任何指令执行系统使用或与其结合的程序代码的计算机可用或计算机可读介质来访问的计算机程序产品的形式。就本说明书而言,计算机可用或计算机可读介质可以是可以包含、存储、通信、传播或传输由指令执行系统、装置或设备使用或与其结合的程序的任何有形装置。

介质可以是电子的、磁的、光的、电磁的、红外的、或半导体的系统(或装置或设备)或者传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。现光盘的当前例子包括只读光盘存储器(CD-ROM)、读/写光盘存储器(CD-R/W)和DVD。

适于存储和/或执行程序代码的数据处理系统包括直接地或通过系统总线间接地耦接到存储器部件的至少一个处理器。存储器部件可以包括在程序代码实际执行过程中所使用的本地存储器、大容量存储器、和提供至少某程序代码的暂时存储以便减少在执行期间必须从大容量存储器检索代码的次数的缓存。

输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可以直接或通过中间I/O控制器耦接到系统。

网络适配器同样可用被耦接到系统,以使数据处理系统能够通过之间私网或公网而耦接到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡都只是当前可用的网络适配器类型中的一些。

已经为了阐述和描述的目的展示了本发明的描述,并且并不是要穷举或限制到公开形式的发明。对于本领域技术人员而言,许多修改和变动是显而易见的。选择和描述了实施例,以便最好地解释本发明的原则、实际应用,并且为了使本领域技术人员能够理解具有各种修改的本发明的各个实施例适于可以想到的特定用途。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号