首页> 中国专利> 用于在不同的信息技术产品/方案部署之间共享性能数据的方法和系统

用于在不同的信息技术产品/方案部署之间共享性能数据的方法和系统

摘要

一种用于在多个计算节点间动态地共享性能信息的方法和系统。一种实施方式包括动态地从所述计算节点处的信息技术(IT)产品/方案的部署获得性能信息,将获得的性能信息经通信网络发送到服务器以便在知识数据库中存储所获得的性能信息。服务器运行来基于数据库中的信息动态地确定新的配置信息,将新的配置信息存储在数据库中,并通过经网络传送该新的配置信息将新的配置信息提供到所述部署。

著录项

  • 公开/公告号CN102150134A

    专利类型发明专利

  • 公开/公告日2011-08-10

    原文格式PDF

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

    申请/专利号CN200980135048.0

  • 发明设计人 S·布兰卡;P·卡瓦扎;S·马克莱兰;

    申请日2009-05-11

  • 分类号

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

  • 代理人杜娟

  • 地址 美国纽约

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-16

    未缴年费专利权终止 IPC(主分类):G06F 9/445 专利号:ZL2009801350480 申请日:20090511 授权公告日:20140430

    专利权的终止

  • 2014-04-30

    授权

    授权

  • 2011-09-21

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20090511

    实质审查的生效

  • 2011-08-10

    公开

    公开

说明书

技术领域

本发明总地涉及配置信息技术(IT)产品/方案,特别地涉及在IT产品/方案部署之间共享配置信息。

背景技术

当在生产环境中部署信息技术(IT)产品/方案时,经常要解决且难以解决的问题是找到最优配置集合来实现特别的服务水平或性能目标。当前,部署企业应用程序和确定带来最优性能的配置时的一个问题是,应用程序越来越基于一组其它的软件产品,该软件产品为该应用程序提供运行时平台(中间件)。另一问题是,应用程序被开发成在多种平台(操作系统)上运行。再一问题是每个应用程序必须专门地调试,因为不能总是得到程序开发的最佳实施和提供最优的性能。

当前,如果相同的IT产品/方案被部署在不同的用户环境中,每个用户必须花费时间来找到最优配置。如果两个用户具有类似的计算环境,这会导致他们具有相同的最优配置,但是每个用户仍然必须花费时间来找到最优配置,因为这些用户没有用于共享关于最优配置的信息的动态机制。当IT服务提供者必须多次配置产品/方案时也会发生类似问题。

发明内容

根据本发明的一个实施例,本发明提供一种用于在不同信息技术产品/方案部署之间共享性能数据的方法和系统。一种实施方式包括一种用于在多个计算节点间动态地共享性能信息的方法和系统,包括:动态地从所述计算节点处的信息技术(IT)产品/方案的部署获得性能信息,将获得的性能信息经通信网络发送到服务器以便在知识数据库中存储所获得的性能信息。服务器运行来基于数据库中的信息动态地确定新的配置信息,将新的配置信息存储在数据库中,并通过经网络传送该新的配置信息将新的配置信息提供给所述的部署。

每个部署处的性能信息可以包括该部署处的当前配置信息,并且确定新的配置信息的步骤还可以包括基于数据库中的配置信息确定新的配置信息。

性能信息可以包括基于每个部署的配置策略的每个部署处的硬件和软件配置的当前配置参数信息,并且确定新的配置信息的步骤还可以包括基于数据库中的信息确定最优配置。

确定一个部署的最优配置信息的步骤还可以包括:基于从该部署得到的信息,向该部署分配一个基于从该部署得到的参数信息的部署类型,其中部署类型是该部署的计算环境的特征的函数,如果在数据库中存在该部署类型的最优配置,则为该部署类型提供该已经存在的最优配置。如果在数据库中不存在该部署类型的最优配置,则基于数据库中该部署类型的配置信息确定该部署的最优配置,将该部署的最优配置存储到数据库中,并为该部署提供最优配置。

新的配置信息可以基于一个部署的配置策略被应用于该部署。一个部署可以请求新的配置信息,使得提供新的配置信息的步骤可以包括提供该新的配置信息到提出请求的部署。

本发明的其它方面和优点将从后面的详细说明中变得明显,这些详细说明结合附图仅是以举例的方式说明本发明的原理。

附图说明

为了更全面理解本发明的实质和优点以及优选的使用方式,应该参考下面的结合附图的详细说明,其中:

图1显示了根据本发明的一个实施例的在不同信息技术产品/方案部署之间共享性能数据的知识共享系统的功能性方块图。

图2显示了根据本发明的一个实施例的知识共享系统中一个客户端模块的功能性方块图。

图3显示了根据本发明的一个实施例的知识共享系统中一个服务器模块的功能性方块图。

图4显示了根据本发明的一个实施例的,在不同信息技术产品/方案部署之间共享性能数据的体系结构的功能性方块图。

图5显示了根据本发明的一个实施例的,在不同信息技术产品/方案部署之间共享性能数据的一种方法的流程图。

图6显示了根据本发明的一个实施例的,用于在不同信息技术产品/方案部署之间确定和共享最优配置信息的一种方法的流程图。

图7显示了根据本发明的一个实施例的,在不同信息技术产品/方案部署之间共享和应用最优配置信息的一个例子。

具体实施方式

以下说明是用于说明本发明的总原理,不意在限定这里要求保护的本发明的概念。此外,这里说明的特定的特征可以与多种可能的组合和置换的每一个中说明的其它特征组合使用。除非这里具体另外限定,这里所有术语都做可能的最大范围的理解,包括说明书所隐含的含义以及本领域的技术人员理解的含义和/或字典、论文等中限定的含义。

本发明提供用于在不同信息技术(IT)产品/方案部署之间动态共享诸如配置信息的性能数据的方法和系统。一个实施例包括知识共享机制,该机制通过动态地获得和在数据库中存储信息(所述信息包括关于各种计算环境中的(IT)产品/方案(例如软件产品)的部署的新配置的信息),并且将某一环境的这种新的配置信息从数据库提供到该环境的一个客户端,来允许共享配置信息。

在一个实施例中,新的配置信息包括实质上最优的配置信息。知识共享机制应用到IT产品/方案的多个部署以减少用于找到这样的多个部署的最优配置的时间范围,由此避免在多个部署中针对同样的任务进行重复工作。本发明还包括动态改善IT产品/方案的性能模型,由此克服利用静态本地配置顾问的局限。

一种实施方式包括知识共享机制,该机制允许类似Web2.0的系统在企业级和企业(企业2.0)之间传递值。这在给定的IT产品/方案的多个部署间提供一个知识共享系统,来找到该IT产品/方案的最优性能配置。这样的系统通常包括每个IT产品/方案部署的一个客户端,和一个服务器。通过从部署收集需要的硬件和软件数据、发送该数据到服务器、接收对于该部署来说最优的配置来配置客户端以便优化相应的IT产品/方案部署。服务器被配置为从IT产品/方案的所有部署收集数据、找到每个部署的最佳(最优)配置以及将该最优配置信息发回给每个部署。

在一个操作场景中,客户端包括嵌在一特定IT产品/方案中的软件模块,该软件模块周期性地发送计算环境中的IT产品/方案部署的配置状态以及要应用到该部署的优化策略到服务器。服务器分析这样的信息来根据期望的用户优化策略确定该配置对于该环境是否最优。通过利用类似计算环境的已知配置和来自其他部署(用户)的类似优化策略和/或分析配置优化技术,服务器确定该配置是否为最优的。

一旦服务器确定对于一个计算环境中的IT产品/方案部署的最优配置,该服务器就将该最优配置信息发送给该部署的客户端。该部署的用户然后可以决定让系统自动实施配置改变,改变到当前配置来进入最优配置状态,或者要求人工确认来在处理之前使改变有效。

随着IT产品/方案的部署的数量的增加,类似计算环境的配置的优化性也增加。这进一步允许IT产品/方案的性能模型的动态增强。如果在不同时间要求不同的配置(例如计算负荷的季节性变化),系统提供了不同配置,这些配置可以迅速地被请求从服务器下载到每个部署。系统通过基于收集关于多个配置的信息(正面和负面)来产生部署的最优配置而提供知识产生机制,由此不仅利用“负面”知识(当IT产品/方案出错时产生的知识)也利用“正面”知识(IT产品/方案正确动作时的知识)。

图1显示了根据本发明一个实施例的,用于在不同的IT产品/方案部署(例如用户A和用户B计算环境处的部署)间共享性能数据的系统10的功能性方块图。客户端模块11提供在要优化的计算环境的每个IT产品/方案部署处,服务器12利用不同部署的知识共享来产生最优配置。客户模块11和服务器12经诸如因特网的通信网络(可以使用其他通信网络)相连接。每个计算环境可以包括一个或多个计算节点,其中每个计算节点可以包括一个或多个处理器、存储设备、数据库模块、通信模块、网络等等。

图2显示了客户端模块11的一个实施例的功能性方块图,包括数据收集器15、数据发送器16、方案接收器17、配置激活器18、周期性检查器19和优化策略配置器20。数据收集器15利用探测器21收集性能模块需要的数据。在一个例子中,探测器21包括OS探测器、HW探测器和SW探测器,这些探测器包括分别接口部署计算环境处的OS、硬件和中间件的软件模块,来提取最优配置和性能模型所需要的数据。

数据发送器16将性能模型数据发送到服务器12(图1)。方案接收器17从服务器接收配置(即“方案”)的最优集合并将它们存储在存储器22中。配置激活器18执行IT产品/方案部署处需要的配置改变。周期性检查器19监视部署处的用于性能模型的参数集合,并在所述参数中的一个或多个的值改变得大于/小于特定阈值时启动数据流(即发送性能模型数据到服务器和接收最优配置集合)。优化策略配置器20允许用户指定要应用的用户策略。

图3显示了服务器12的一个实施例的功能性方块图。服务器12利用独立于产品的基础结构,该基础结构为每个IT产品/方案提供插件25。插件25允许从IT产品/方案部署的每个客户端11接收性能模型数据,并且向每个客户端发送优化相应部署所需要的数据集合,该性能模型数据包括描述IT产品/方案的配置所需要的性能数据的集合。服务器12包括优化引擎(方案查找器)13,被配置为运行基于知识数据库14中的数据提供每个IT产品/方案部署的实质上最佳配置的性能模型。优化引擎13可以利用线性内插算法或遗传算法(或其他任何优化技术)来为每个部署提供最优配置。

IT产品/方案(例如软件产品X,软件产品Y)的插件25可以与该IT产品/方案的部署的客户端11通信。在一个实施例中,IT产品/方案的插件25包括一软件模块,该软件模块包括数据接收器26、产品性能模型27和方案发送器28。数据接收器26接收由相应IT产品/方案的部署的客户端11发送的数据。产品性能模型27表示该IT产品/方案的性能模型。在一个例子中,要分析的性能参数集合是矢量A={HW数据、SW数据、部署尺寸},要优化的参数集合是矢量P,要应用于矢量P的每个元素Pi的优化策略集合可以由用户指定为元素Pi的当前值的期望的变化,状态i的配置是并集diAUP,其中性能模型由配置状态的函数表示。

优化引擎13通过访问IT产品/方案的不同部署(不同用户)间共享的数据来确定该IT产品/方案的给定性能模型的最优配置。优化引擎13给每个IT产品/方案(软件产品X、方案产品Y)的客户端11提供相应的最优配置。如图4中的实例体系结构30所示,服务器12于是可以经每个IT产品/方案的多个部署的相关联客户端的相应插件25,对于多个IT产品/方案执行最优配置分析。

图5显示了根据本发明一个实施例的用于在不同的IT产品/方案部署间共享性能数据的客户端处理过程40的流程图。处理方块41扫描IT产品/方案部署的客户端侧的当前配置数据,包括:要分析的诸如硬件数据、软件数据(例如OS、中间件、产品特性)、部署尺寸(例如此部署要支持的客户端的数量)的参数集合和要优化的参数集合(例如前一数据群的子集)以及每个参数的期望优化策略。处理方块42确定这样的数据是否已经上载到服务器。如果是,处理过程回到方块41,否则到方块43。

在处理方块43,客户端发送扫描的数据到服务器。例如,扫描的数据可以被周期性地上载到服务器或者当某些参数值改变到高于/低于预定阈值时被上载到服务器。在处理方块44,在服务器侧,来自IT产品/方案的所有不同客户端的数据被收集起来,对于每个部署确定最优配置,如下面要结合图6进一步说明的。在处理方块45,最优配置信息被下载到相应的请求客户端。在处理方块46,在客户端侧,新接收的配置信息被自动/人工地应用到IT产品/方案部署。具体地,客户端可以基于策略设置来应用该最优配置,策略设置诸如:自动地(即总是应用从服务器推送来的配置改变);当低于/高于阈值时(即,将配置改变应用到高于/低于预定阈值的配置参数);需要人工干预(即操作人员必须接受该改变或其它处理)。

图6显示了根据本发明一个实施例的,确定IT产品/方案的每个部署的最优配置的服务器处理50的流程图。处理方块说明如下:

方块51:定义部署类别。此处理包括根据部署类型过滤从客户端接收的性能模型参数数据。每个产品性能模型定义了要分析的参数的子集的范围,以定义每个部署的类别。

方块52:定义优化策略类别。一旦部署已经被分配到一个类别(例如SMB部署、企业部署等等),它就被根据由该部署的用户指定的优化策略(例如Web应用程序的两个不同的策略可以为“最大化吞吐量”或“最小化响应时间”)进一步过滤。

方块53:确定部署是否为已知的部署类型(A)?如果是,前进到方块54a,否则前进到方块54b。

方块54a:确定部署的未知配置(di)是否已经为最优的。如果否,前进到方块55,否则停止。

方块54b:确定部署的配置(di)是否已经最优?如果否,则前进到方块55,否则停止。

方块55:查找部署的新的更好/最优配置。

方块56:发送新的配置到部署处的客户端。

这样,在方块54a和54b中,如果已经存在该部署环境的最优配置(例如,因为先前为同一用户或不同用户识别),则不发生进一步的处理。在方块55中,由于不存在该环境的最优方案,方案引擎13(图3)通过利用来自不同部署的数据来确定最优配置。

参考图7中的示例处理过程60,考虑由要分析的性能模型参数集合(Pi,i=1,...,8)所表示的IT产品/方案的部署(用户A),其优化策略可以表示为参数P2的值的期望增量。假定其部署类型和优化策略与用户A相同的另一用户(用户B)已经达到了其部署的最优配置,则方案引擎13可以比较性能模型参数的两个集合(即用户A和用户B的性能模型参数)并发现改变其中的两个(例如P5和P7)使得用户A达到其部署的期望最优配置(类似于用户B的部署)。

下面的例子提供的场景说明了知识共享过程,来处理新的次最优IT产品/方案配置(对应于IT产品/方案的新的安装)并建议了该部署的已知的“好”配置。假定该知识共享系统利用XML文件来管理与产品/方案有关的所有配置信息。设计用来说明此场景的样本产品具有下面的XML概述所定义的性能模型:

在产品开发和测试阶段定义的产品性能模型包括可能影响其性能的所有参数(例如硬件、操作系统和产品配置的参数)以及关键/重要度量的当前值(说明该产品当前正如何运行在该系统上)以及用户指定的那些值的期望改变量(其性能目标或优化策略)。为了简化说明,参数和度量的数量和类型保持为小的值。例如,样本产品具有单服务器拓扑配置,其中服务器模块是仅有的其配置影响整个产品的性能的模块。其它的产品和性能模型可以包括更多的信息。样本产品的每个安装/部署都由该XML概述的一个实例(XML文件)表示。

样本产品被部署在四个不同用户位置(用户A、B、C和D),其中三个用户(用户A、C和D)已经运行该产品一些时间并且它们的配置已经存储在知识共享系统10的服务器12上的数据库中(例如根据图6中的处理过程50)。此产品的所述三个用户部署的配置由下面的XML代码表示。

用户A代表在一个环境中部署该样本产品的客户端11,知识共享系统10将该环境分类为“大”(XML文件中的“enterprise(企业)”)。由于用户仍然在请求某些性能度量向“上”或向“下”变化,其配置尚不是“最优”的。用户A配置:

用户C代表在一个环境中部署该样本产品的客户端,知识共享系统10将该环境分类为“小”(XML文件中的“SMB”)。对于用户A,其性能目标尚未达到。用户C配置:

用户D代表在一个环境中部署该样本产品的客户端,知识共享系统10将该环境分类为“SMB”,例如用户C的类别。由于用户D没有指定产品性能关键度量的任何改变,其配置被假定为“最优”。用户D配置:

第四个用户(用户B)刚刚部署其样本产品的实例,其配置被首次发送到知识共享系统10。用户B配置:

用户B的部署类型被系统10归为“SMB”。这样,当服务器12匹配其它用户的配置时,仅用户C和用户D被考虑做进一步的比较,而其部署已经被归为“Enterprise”的用户A被放弃进行优化分析。

当知识共享系统10前进到下一分类步骤(即包括用户优化策略的比较)时,发现用户C具有相对于用户B不同的优化策略。因此,在此情况下用户B的数据不用于优化。

相反,已经实现了其优化策略的用户D提供处于用户B指定的性能目标的“方向”的其度量的当前值集合。例如,用户D的CPU利用和响应时间低于正请求新配置的用户B,该新配置可能降低用户B的CUP利用和响应时间值。此外,用户D具有比正试图增加其吞吐量的用户B更大的吞吐量值。

于是,知识共享系统10(经服务器12的操作)可以确定用户D的配置也可以被建议给用户B来使得用户B满足其性能目标。通过进行两个配置之间的比较,可以看出可能引起产品性能的差别的参数值是线程池尺寸和DB连接池尺寸。一个新的配置建议由服务器发送到用户B,提供了线程池尺寸和DB连接池尺寸配置参数的改变。

这样,根据本发明的知识共享系统的实施例,客户端间共享的知识被动态地从多个客户端产生并馈送到服务器,其中所产生的知识的有效性随着贡献者(客户端)数量的增加而改善。该知识共享系统利用一个包括要与客户端共享的配置的动态集合的知识库。该知识共享系统使得知识库可以被动态更新并随着使用它(例如在不同安装/部署间共享一般应用程序的配置信息)的客户端数量的增加而改善。此共享机制使得客户端可以访问任何其它客户端使用的配置。具体地,一旦使用过一个配置并且已经从其使用中得到了某些益处的另一客户端使得该配置可以被某客户端利用,此客户端就被“通知”该新的配置适合其需要。

如本领域的技术人员熟知的,根据本发明的上述的示例性实施例可以以多种方式实施,诸如处理器执行的程序指令、软件模块、计算机可读介质上的计算机程序产品、逻辑电路、硅晶片、集成电路、应用特定的集成电路、固件等等。虽然已经参考了某些特定形式说明了本发明,但是也可能做出其他形式。因此后附的权利要求的精神和范围不应限定到这里包含的优选实施方式的说明。

术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”、“计算机程序产品”通常意义上是指诸如主存储器、副存储器、可移动存储器驱动器、安装在硬盘驱动器上的硬盘和信号的介质。这些计算机程序产品是用于向计算机系统提供软件的装置。计算机可读介质使得计算机系统可以从计算机可读介质读取数据、指令、消息或消息包和其它计算机可读信息。计算机可读介质例如可以包括非易失性存储器(如软盘)、ROM、闪存、盘驱动器存储器、CD-ROM和其它永久存储器。计算机可读介质可以用于例如在计算机系统间传送诸如数据和计算机指令的信息。此外,计算机可读介质可以包括暂时状态介质中的计算机可读信息,诸如网络链路和/或网络接口,包括可以使计算机读取计算机可读信息的有线网络或无线网络。计算机程序(也称作计算机控制逻辑)存储在主存储器和/或副存储器中。计算机程序也可以经通信接口接收。当执行时这样的计算机程序使得计算机系统能实施这里讨论的本发明的特征。特别地,当执行时,这些计算机程序使得处理器多核处理器来实施计算机系统的特征。因此,这样的计算机程序表示该计算机系统的控制器。

本领域的技术人员可以理解,在不脱离本发明的范围和精神的情况下可以构造上述优选实施例的各种变型和修正。因此,应理解在后附权利要求的范围内,本发明可以不同于这里具体说明的方式来实施。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号