软件产品的多维建模的制作方法

文档序号:6362062阅读:104来源:国知局
专利名称:软件产品的多维建模的制作方法
技术领域
本实施例涉及用于管理软件产品的技术。更具体而言,本实施例涉及一种有助于在资源集合上配备、部署和执行软件产品的多维模型。
背景技术
近期的计算趋势已经使数据和服务的处理和消耗向云计算系统转变。这样的云计算系统允许软件提供商在共享基础结构资源、比如服务器、网络设备、平台虚拟化软件和/或数据中心空间上部署、执行和管理软件产品(offering)。另外,可以动态配备和/或缩放这样的资源、因此实现将资源作为服务来消耗。例如云计算提供商可以向多个云计算客户提供虚拟化的存储装置、网络和/或计算资源。云计算客户可以在虚拟化的资源上部署软件产品并且仅针对软件产品所消耗的资源向云计算提供商付费。因此,云计算客户可以避免与购买、设立和/或管理下层硬件和软件关联的资本开支。另外,基础结构资源的集中和共享可以改进资源的利用率和管理开销。因此,用于动态分配和配置软件产品所使用的基础结构资源的机制可以有助于软件产品的部署、执行和管理。

发明内容
公开的实施例提供一种有助于部署和执行软件产品的系统。在操作期间,该系统获得软件产品的服务定义和可用于由软件产品使用的资源的资源定义。接着,该系统通过将来自服务定义的第一要素集合映射到来自资源定义的第二要素集合来创建软件产品的多维模型。最后,该系统在无需用户人工配置资源的情况下使用多维模型来管理软件产品的部署和执行。在一些实施例中,服务定义包含拓扑或者策略。在一些实施例中,拓扑包括一个或者多个层、服务部件集合和连接集合。在一些实施例中,创建软件产品的多维模型包括从服务定义中标识与软件产品关联的要求集合,并且基于要求集合向服务部件分配来自资源定义的资源的子集。在一些实施例中,使用多维模型来管理软件产品的部署和执行包括以下中的至少一个:(i)在分配的资源上自动地部署软件产品;(ii)使得能够标识分配的资源;(iii)有助于在执行软件产品期间标识故障;以及并且(iv)管理与软件产品或者资源关联的改变。在一些实施例中,资源定义包含资源、资源群集、安全性区段、托管分段和位置中的至少一项。在一些实施例中,资源中的每个资源是计算资源、网络资源或者存储资源。在一些实施例中,资源中的每个资源是物理资源或者虚拟资源。


图1示出根据一个实施例的系统的示意图。图2示出根据一个实施例的用于软件产品的服务定义。图3示出根据一个实施例的资源定义的结构。图4示出根据一个实施例的软件产品的多维模型。图5示出了图示根据一个实施例的有助于部署和执行软件产品的过程的流程图。图6示出根据一个实施例的计算机系统。在附图中,相似标号指代相同附图要素。
具体实施例方式呈现下文描述以使本领域技术人员能够实现和运用实施例,并且在特定应用及其要求的背景中提供下文描述。本领域技术人员将容易清楚对公开的实施例的各种修改,并且这里定义的一般原理可以应用于其它实施例和应用,而未脱离本公开内容的精神实质和范围。因此,本发明不限于所示实施例、但是将被赋予与这里公开的原理和特征一致的最广范围。通常在计算机可读存储介质上存储在这一具体实现方式中描述的数据结构和代码,该计算机可读存储介质可以是可以存储用于由计算机系统使用的代码和/或数据的任何设备或者介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁和光学存储设备、比如盘驱动、磁带、CD (紧致盘)、DVD(数字万用盘或者数字视频盘)或者现在已知或者以后开发的能够存储代码和/或数据的其它介质。可以将在具体实现方式章节中描述的方法和过程具体化为代码和/或数据,该代码和/或数据可以在如上文描述的计算机可读存储介质中存储。在计算机系统读取和执行在计算机可读存储介质上存储的代码和/或数据时,计算机系统执行具体化为数据结构和代码并且在计算机可读存储介质内存储的方法和过程。另外,可以在硬件模块或者装置中包括这里描述的方法和过程。这些模块或者装置可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间执行特定软件模块或者代码段的专用或者共享处理器和/或现在已知或者以后开发的其它可编程逻辑器件。在激活硬件模块或者装置时,它们执行在它们内包括的方法和过程。公开的实施例提供一种用于有助于部署和执行软件产品的方法和系统。软件产品可以对应于在一个或者多个服务器上部署的并且通过网络连接来访问的应用。例如软件产品可以向软件产品的用户提供web应用、分布式应用和/或web服务。更具体而言,公开的实施例提供一种用于创建软件产品的多维模型并且使用多维模型以管理软件产品的部署和执行的方法和系统。多维模型可以包括软件产品的服务定义和可用于由软件产品使用的资源的资源定义。为了创建多维模型,可以将来自服务定义的第一要素集合映射到来自资源定义的第二要素集合。映射可以表示向来自服务定义的服务部件分配来自资源定义的资源。因此,多维模型可以提供软件产品所使用的所有软件和硬件部件以及在部件之间的相互关系和/或依赖性的全面视图。多维模型反过来可以允许在无需用户人工配置资源的情况下管理软件产品的部署和执行。例如多维模型可以有助于在资源上自动部署软件产品、标识向软件产品分配的资源、标识在执行软件产品期间的故障和/或管理与软件产品或者资源关联的改变。图1示出根据一个实施例的系统的示意图。如图1中所示,该系统包括管理装置102、建模装置104和配备装置116。下文进一步具体讨论这些部件中的每个部件。在一个或者多个实施例中,图1的系统用来管理软件产品在资源(例如资源I122、资源m 124、资源I 126、资源η 128)集合上的部署和执行。软件产品可以对应于为用户集合执行任务的软件程序。例如软件产品可以允许用户在项目上协作、上报收入税、管理个人或者小企业财务和/或对目标数据集合执行数据挖掘。另外,可以使用客户端-服务器架构来实现软件产品。可以在一个或者多个服务器上(例如在数据中心中)部署和执行软件产品的部件,并且从使用本地安装的可执行文件、命令行接口和/或web浏览器和网络连接从其它机器访问软件产品的部件。换而言之,可以使用通过因特网访问的云计算系统来实现软件产品。为了使得能够执行软件产品,与软件产品的创建、部署和/或执行关联的用户可以确定与软件产品关联的要求集合。用户然后可以向软件产品中的部件分配云计算系统中的资源(例如资源I 122、资源m 124、资源I 126、资源η 128)并且以允许执行的软件产品满足要求的方式配置分配的资源。例如用于软件产品的开发团队可以提供如下策略,该策略指定软件产品中的可用性、可靠性、可缩放性、安全性和/或响应时间水平。云计算系统的管理员可以通过向软件产品分配充分基础结构资源和/或配置资源以提供软件产品中的冗余性、安全性和/或负荷平衡必需水平来保证与策略相符。本领域技术人员将理解云计算系统可以使用虚拟化以在共享资源集合上部署和执行软件产品。具体而言,多个调配(orchestration)工具(例如调配工具I 118、调配工具z 120)可以用来虚拟化/或配备云计算系统中的不同类型的资源。例如虚拟机监视器可以通过创建和执行虚拟机作为物理服务器的抽象来分配和/或管理计算资源。类似地,虚拟文件器(filer)可以将来自多种存储设备的存储资源组合成资源池并且从资源池分配逻辑存储卷。最后,网络路由器和/或交换机可以将网络资源分区(partition)成虚拟局域网(VLAN),这些VLAN连接云计算系统中的物理和/或虚拟计算和/或存储资源。另外,每个调配工具可以包括用于响应于软件产品和/或资源需求的改变来动态重新配备资源的功能。例如虚拟机监视器可以实例化新虚拟机以使得能够向软件产品添加新web服务器。虚拟机监视器也可以向虚拟机分配物理计算资源(例如处理器、存储器等)集合以使得能够在资源上执行web服务器。最后,如果web服务器的资源要求改变和/或用来执行web范围的物理资源(例如服务器)变得超负荷,则虚拟机监视器可以将虚拟机移向不同物理资源集合。换而言之,软件产品对资源的使用可以由多个独立作用的相异调配工具管理。因此,云计算系统可能缺乏在软件产品中的软件部件与用来执行软件部件的硬件资源之间的依赖性的全面视图。例如,一旦调配工具开始重新定位和/或重新配备向软件产品分配的资源,则云计算系统可能失去对资源的跟踪。这样的依赖性信息的缺乏可能引起在跟踪和管理事件时的问题和/或云计算系统中的故障。例如云计算系统中的服务器停机可能需要管理员的人工干预以确定受停机影响的软件和硬件部件集合和/或执行使得能够从服务器停机中恢复的纠正动作。
在一个或者多个实施例中,图1的系统通过创建软件产品的多维模型108并且使用多维模型108以管理软件产品的部署和执行来减少与关联软件产品中的要求和依赖性关联的复杂性。如图1中所示,可以根据软件产品的服务定义110和可用于由于软件产品使用的资源的资源定义130创建多维模型108。可以从与软件产品的创建和/或开发关联的用户(例如开发人员、设计师等)获得服务定义110。更具体而言,服务定义110可以对应于在软件产品的配置、拓扑、策略和/或服务质量(QoS)属性方面对软件产品的逻辑表示。因此,服务定义110的要素(例如要素I 112、要素X 114)可以包括一个或者多个层(tier)、服务部件集合和/或连接集合。例如软件产品的设计师可以通过向由管理装置102提供的用户接口中输入与软件产品关联的层数、安全性水平、软件开发生命周期阶段和/或软件栈来提供服务定义110。下文关于图2进一步具体讨论服务定义110。另一方面,可以从云计算系统的管理员和/或调配工具获得资源定义130,并且资源定义130对应于在云计算系统中的可用基础结构资源的位置、状态和/或利用方面对资源的逻辑表示和/或划分。资源定义130的要素(例如要素I 132、要素y 134)因此可以表示云计算系统中的物理和/或虚拟资源、资源群集、安全性区段、托管分段和/或位置。例如管理员可以人工地用云计算系统中的物理的和/或虚拟资源的清单来填充资源定义,或者配备装置116可以从调配工具(例如虚拟机监视器、虚拟文件管理器)接收对云计算系统中的资源的改变(例如添加新资源、去除现有资源)的通知,并且相应地更新资源定义130。下文关于图3进一步具体讨论资源定义130。为了创建多维模型108,建模装置104可以将来自服务定义110的第一要素(例如要素I 112,要素X 114)集合映射到来自资源定义130的第二要素(例如要素I 132、要素y 134)集合。映射可以表示第一要素集合对第二要素集合的依赖性。例如从服务定义110中的服务部件到资源定义130中的资源的映射可以指示调配工具对资源向服务部件的分配。下文关于图4进一步具体描述多维模型108。在一个或者多个实施例中,多维模型108的创建涉及到从服务定义110标识与软件产品关联的要求集合以及随后基于要求向服务定义110中的服务部件分配来自资源定义130的资源的子集。具体而言,管理装置102可以根据服务定义110中的策略集合确定软件产品的要求并且在工作分解结构106中存储要求。策略可以包括软件开发生命周期策略、安全性策略、软件模板策略、QoS策略和/或结构策略。要求因此可以指定为了满足策略而需要的资源数量和/或配置。接着,配备装置116可以使用工作分解结构106以自动配备用于由软件产品使用的资源集合而无需用户(例如管理员)人工配置资源。例如配备装置116可以使用工作分解结构106以创建用于托管软件产品的服务容器集合。配备装置116继而可以通过请求来自对应调配工具的所需软件数量和/或配置来向服务容器分配资源。向软件产品自动配备资源在与本申请相同的发明人并且与本申请同日提交、标题为“Automatic Provisioningof Resources to Software Offerings”、具有待定序列号和待定申请日(代理案号INTU-115592)、通过引用而结合于此的共同未决非临时申请中讨论。如先前提到的那样,多维模型108可以包括在服务定义110中的服务部件与资源定义130中的资源之间的依赖性。因而建模装置104可以通过将配备装置116分配的资源映射到资源被分配到的服务部件来创建多维模型108。建模装置104也可以基于对配备的资源的改变来更新映射。例如向服务部件配备的资源可以在分配新资源、取消分配当前分配的资源和/或不同物理资源集合用来执行虚拟化的资源(例如虚拟机、逻辑卷、VLAN等)时改变。配备装置116可以通过查询和/或监视调配工具来获得这样的改变。配备装置116也可以使用改变以更新资源定义130。继而可以经由建模装置104向多维模型108传播更新。由于多维模型108包含软件产品中的服务部件、资源和依赖性的最新表示,所以图1的系统可以有助于管理云计算环境内的软件产品。例如多维模型108可以有助于在分配的资源上自动部署软件产品、标识向软件产品分配的资源、标识在执行软件产品期间的故障和/或管理与软件产品或者资源关联的改变。换而言之,多维模型108的创建和更新可以减少与软件产品中的配置管理、故障诊断和补救、部署和/或资源配备关联的复杂性和/或开销。图2示出根据一个实施例的用于软件产品的服务定义。如上文描述的那样,服务定义可以对应于在软件产品的配置、拓扑、策略和/或QoS属性方面对软件产品的逻辑表示。因而服务定义的创建可以始于实例化根产品节点202,该节点表示服务产品。产品节点202可以包含与软件产品的开发和/或所有权有关的信息。例如产品节点202可以包括软件产品的名称、负责开发软件产品的组(例如团队、企业单位等)、软件产品属于的项目和/或与软件产品关联的软件开发声明周期阶段(例如开发、预生产、生产)。接着,连接到产品节点202的多个层节点204-208可以定义软件要约的拓扑。更具体而言,层节点204-208可以指示在软件产品的客户端-服务器架构中使用的层数。例如,如果围绕单个逻辑层开发软件产品,则服务定义可以包括一个层节点。另一方面,服务定义可以包括用于表示三层架构的呈现、应用和数据层的三个层节点(例如层节点204-208)。最后,如果软件产品包括多于一个应用层、数据层和/或呈现层,则服务定义可以包括多于三个层节点。另外,在层204-208以下的服务节点210-240的集合可以表示启用和/或实现软件产品的功能的服务部件。例如服务节点210-240可以表示服务器操作系统、软件栈(例如应用服务器和web服务器)、数据库管理系统、认证服务、支付系统和/或移动服务。此外,软件产品中的依赖性可以由在成对服务节点210-240之间和/或在节点210-240与层节点204-208之间的连接表示。如图2中所示,在服务与层节点之间的连接可以指示与服务节点210-214对应的服务是层节点204表示的第一层的(例如该第一层使用的)依赖性。连接也可以指示与服务节点216-220对应的服务是层节点206表示的第二层的依赖性。最后,连接可以指示与服务节点222-226对应的服务是层节点208表示的第三层的依赖性。在服务节点228、230、232和234与服务节点210、212、216和218之间的一对一连接可以表示一个服务对仅一个其它服务的依赖性,而在服务节点224与服务节点236-240之间的多对一连接可以指示一个服务对多个服务的依赖性。例如在成对服务节点210与228,212与230、216与232以及218与234之间的连接可以表示与在操作系统上执行软件栈关联的依赖性。另一方面,一个服务节点224到多个服务节点236-240的连接可以表示数据库实例对关系数据库管理系统(RDBMS)和一个或者多个操作系统的依赖性。
与产品节点202 —样,层节点204-208和服务节点210-240可以包括与节点表示的部件和/或层相关的信息。例如每个层节点204-208可以标识软件产品中的架构层(例如“web服务器”、“应用服务器”、“数据库”),并且每个服务节点210-240可以包括对应服务部件的名称和/或版本(例如JBoss (JBoss 是Red Hat公司的注册商标)、Red HatEnterprise Linux(RHEL)、Oracle Database llg)。另外,每个节点(例如产品节点202、层节点204-208、服务节点210-240)可以与诸如安全策略、软件模板策略、QoS策略和/或结构策略之类的一个或者多个策略关联。如在上文引用的申请中讨论的那样,策略可以影响工作分解结构(例如图1的工作分解结构106)的创建,该工作分解结构然后用来向服务节点210-240表示的服务部件动态地分配资源。图3示出根据一个实施例的资源定义的结构。资源定义可以对应于在云计算系统中的可用基础设施资源的位置、状态和/或利用方面对资源的逻辑表示和/或划分。换而言之,资源定义可以提供云计算系统的从下至上的视图,该视图始于根资源池节点302,该节点表示软件产品可以使用的基础设施资源集合。因此,资源池节点302可以包括标识云计算系统和/或云计算系统的特定资源池的名称。在一个或者多个实施例中,云计算系统中的资源的划分由资源定义中的连接集合表示。更具体而言,每个连接可以是从资源定义中的第一节点到第二节点的有向边。第一节点因此可以表示资源定义中的容器,并且第二节点可以表示用于容器的资源。因而,连接到资源池节点302的位置节点304-306的集合可以表示将资源池划分成资源的不同物理位置。例如每个位置节点可以包括云计算系统中的数据中心的名称和/或该数据中心的物理位置(例如地址、地理坐标等)。每个位置节点304-306继而可以连接到托管分段节点308-310的集合。托管分段节点308-310可以表示将数据中心划分成多个托管分段。每个托管分段可以对应于数据中心中的固定大小的物理计算、存储和网络资源块。也可以将托管分段划分成子分段,这些子分段表示用于软件产品的软件开发生命周期的不同阶段(例如开发、预生产、生产)。另外,托管分段可以与不同功率和/或冷却要求关联。例如数据中心可以包含各自具有三个机架的三个托管分段;一个托管分段可以具有低功率和/或冷却要求,一个托管分段可以具有适度功率和/或冷却要求,并且一个托管分段(例如高性能托管分段)可以具有高功率和/或冷却要求。托管分段节点308-310因此可以允许基于软件产品的软件开发生命周期阶段和/或软件产品中的QoS要求、比如可靠性、可用性、响应时间和/或可缩放性分配云计算系统中的资源。每个托管分段节点308-310也可以参考安全性区段节点312-314。安全性区段节点312-314可以表示将托管分段划分成安全、非安全和/或公共安全性区段。如同托管分段,每个安全性区段可以包括固定数目的物理资源。因而安全性区段节点312-314可以用来根据与软件产品关联的安全性策略限制对资源的基于网络的访问。继续资源定义,每个安全性区段节点312-314可以连接到资源群集结点316-318的集合,而每个资源群集节点316-318可以连接到资源节点320-322的集合。资源群集节点316-318和资源节点320-322可以分别表示安全性区段内的相异资源群集以及每个资源群集中的物理和/或虚拟资源。例如计算资源群集可以包括物理服务器和/或虚拟机的非重叠集合,存储资源群集可以包括物理上相异的文件器和/或逻辑上相异的虚拟文件器,并且网络资源群集可以包括物理或者虚拟负荷平衡器、交换机、防火墙和/或网络接口卡(NIC)的相异集合。资源群集节点316-318和资源节点320-322还可以有助于基于软件产品的策略和/或要求向软件产品配置和/或配备资源。例如用于软件产品的服务定义可以指定在软件产品中使用应用服务器、数据库和多个web服务器。为了实行服务定义中的安全性策略,可以从安全区段配备用于数据库的资源(例如以防范对数据的未授权访问),可以从非安全区段配备用于应用服务器的资源,并且可以从公共安全性分段配备用于web服务器的资源(例如以使得能够由web服务器托管公共网站)。另外可以将web服务器映射到不同资源群集以满足与软件产品中的响应时间和/或容错性关联的QoS要求。图4示出根据一个实施例的软件产品的多维模型。多维模型可以包括多个要素402-490,和映射492的集合。具体而言,要素402-440可以形成软件产品的服务定义、诸如图2的服务定义。因此,要素402可以对应于服务定义中的产品节点,要素404-408可以对应于层节点,并且要素410-440可以对应于服务节点。反言之,要素442-490可以形成可用于由软件产品使用的资源的资源定义。例如要素490可以是资源池节点,要素486-488可以是位置节点,并且要素478-484可以是托管分段节点。沿着相同路线,要素474-476可以是安全性区段节点,要素466-472可以是资源群集节点,并且要素442-464可以是资源节点。映射492可以表示向来自服务定义的服务部件分配来自资源定义的物理和/或虚拟资源。例如要素442-450可以表示在与要素442-458表示的资源的位置分离的位置(例如数据中心)驻留的物理和/或虚拟计算资源,要素456-458可以表示物理和/或虚拟存储资源,并且要素460-464可以表示物理和/或虚拟资源。因此,映射492可以指示向要素428-434表示的服务部件各自分配一个计算资源、一个网络资源和一个存储资源。映射492也可以示出要素436-438表示的服务部件共享要素460表示的物理和/或虚拟资源并且向要素440表示的服务部件给予对要素464表示的物理和/或虚拟资源的完全使用。缺乏向要素448和462的映射可以指示在资源定义中存在未分配的资源。如果软件产品的针对响应时间、可用性和/或可靠性的要求增加,则随后可以向软件产品分配这样的未分配的资源。另一方面,如果软件产品无需附加基础设施资源,则可以在向不同软件产品配备资源时使用未分配的资源。图5示出如下流程图,该流程示根据一个实施例的有助于部署和执行软件产品的过程的流程图。在一个或者多个实施例中,可以省略、重复和/或按照不同顺序执行步骤中的一个或者多个步骤。因而不应解释图5中所示具体步骤布置为限制本技术的范围。首先,获得软件产品的服务定义和可用于由软件产品使用的资源的资源定义(操作502)。服务定义可以由软件产品的开发关联的用户提供,而资源定义可以由与用于软件产品的基础结构资源的管理关联的用户和/或调配工具提供。接着通过将来自服务定义的第一要素集合映射到来自资源集合的第二要素集合来创建软件产品的多维模型(操作504)。映射可以表示向软件产品中的服务部件配备物理和/或虚拟计算、网络和存储资源。因而多维模型可以提供软件所使用的软件和/或硬件部件以及在部件之间的依赖性的全面视图。
多维模型继而可以在无需用户人工配置资源的情况下用来管理软件产品的部署和执行(操作506)。例如多维模型可以使得能够标识向软件产品分配的资源以及在分配的资源上自动部署软件产品。在执行软件产品期间更新多维模型还可以有助于标识软件产品中的故障和/或管理与软件产品或者资源关联的改变。图6示出根据一个实施例的计算机系统600。计算机系统600包括处理器602、存储器604、存储装置606和/或在电子计算设备中发现的其它部件。处理器602可以支持与计算机系统600中的其它处理器的并行处理和/或多线程操作。计算机系统600也可以包括输入/输出(I/O)设备、比如键盘608、鼠标610和显示器612。计算机系统600可以包括用于执行本实施例的各种部件的功能。具体而言,计算机系统600可以包括如下0S(未示出)以及为用户执行专门化任务的一个或者多个应用,该OS协调计算机系统600上的硬件和软件资源的使用。为了为用户执行任务,应用可以从OS获得对计算机系统600上的硬件资源的使用以及通过OS提供的硬件和/或软件框架与
用户交互。具体而言,计算机系统600可以提供一种用于有助于部署和执行软件产品的系统。该系统可以包括获得软件产品的服务定义的管理装置。该系统也可以包括建模装置,该建模装置通过将来自服务定义的第一要素集合映射到来自可用于由软件产品使用的资源的资源定义的第二要素集合来创建软件产品的多维模型。多维模型继而可以在无需用户人工配置资源的情况下由管理装置用来管理软件产品的部署和执行。此外,计算机系统600的一个或者多个部件可以远程定位并且通过网络连接到其它部件。本实施例的一些部分(例如管理装置、建模装置等)也可以位于实现这些实施例的分布式系统的不同节点上。例如可以使用如下云计算系统来实现本实施例,该云计算系统提供用于管理软件产品在资源集合上的部署和执行的多维模型。已经仅出于示例和描述的目的而呈现各种实施例的前文描述。它们并非旨在于穷举本发明或者使本发明限于公开的形式。因而本领域技术人员将清楚许多修改和变化。此夕卜,上文公开内容并非旨在于限制本发明。
权利要求
1.一种用于有助于部署和执行软件产品的计算机实现的方法,包括: 获得所述软件产品的服务定义和可用于由所述软件产品使用的资源的资源定义;通过将来自所述服务定义的第一要素集合映射到来自所述资源定义的第二要素集合来创建所述软件产品的多维模型;以及 在无需用户人工配置所述资源的情况下使用所述多维模型来管理所述软件产品的部署和执行。
2.根据权利要求1所述的计算机实现的方法,其中所述服务定义包括拓扑和策略中的至少一项。
3.根据权利要求2所述的计算机实现的方法,其中所述拓扑包括一个或者多个层、月艮务部件集合和连接集合。
4.根据权利要求3所述的计算机实现的方法,其中创建所述软件产品的所述多维模型包括: 从所述服务定义标识与所述软件产品相关联的要求集合;以及 基于所述要求集合向所述服务部件分配来自所述资源定义的所述资源的子集。
5.根据权利要求4所述的计算机实现的方法,其中使用所述多维模型来管理所述软件产品的部署和执行包括以下中的至少一个: 在所述分配的资源上自动地部署所述软件产品; 使得能够标识所述分配的资源; 有助于在执行所述软件产品期间标识故障;以及 管理与所述软件产品或者所述资源相关联的改变。
6.根据权利要求1所述的计算机实现的方法,其中所述资源定义包括资源、资源群集、安全性区段、托管分段和位置中的至少一项。
7.根据权利要求1所述的计算机实现的方法,其中所述资源中的每个资源是计算资源、网络资源和存储资源中的至少一个。
8.根据权利要求1所述的计算机实现的方法,其中所述资源中的每个资源是物理资源和虚拟资源中的至少一个。
9.一种用于有助于部署和执行软件产品的系统,包括: 管理装置,被配置为获得所述软件产品的服务定义;以及 建模装置,被配置为通过将来自所述服务定义的第一要素集合映射到来自可用于由所述软件产品使用的资源的资源定义的第二要素集合来创建所述软件产品的多维模型, 其中所述多维模型在无需用户人工配置所述资源的情况下由所述管理装置用来管理所述软件产品的部署和执行。
10.根据权利要求9所述的系统,其中所述服务定义包括拓扑和策略中的至少一项。
11.根据权利要求10所述的系统,其中所述拓扑包括一个或者多个层、服务部件集合和连接集合。
12.根据权利要求11所述的系统,其中创建所述软件产品的所述多维模型包括: 从所述服务定义标识与所述软件产品相关联的要求集合;以及 基于所述要求集合向所述服务部件分配来自所述资源定义的所述资源的子集。
13.根据权利要求12所述的系统,其中使用所述多维模型来管理所述软件产品的部署和执行包括以下中的至少一个: 在所述分配的资源上自动地部署所述软件产品; 使得能够标识所述分配的资源; 有助于在执行所述软件产品期间标识故障;以及 管理与所述软件产品或者所述资源相关联的改变。
14.根据权利要求9所述的系统,其中所述资源定义包括资源、资源群集、安全性区段、托管分段和位置中的至少一项。
15.根据权利要求9所述的系统,其中所述资源中的每个资源是计算资源、网络资源和存储资源中的至少一个。
16.根据权利要求9所述的系统,其中所述资源中的每个资源是物理资源和虚拟资源中的至少一个。
17.一种存储指令的计算机可读存储介质,所述指令在由计算机执行时使所述计算机执行用于有助于部署和执行软件产品的方法,所述方法包括: 获得所述软件产品的服务定义和可用于由所述软件产品使用的资源的资源定义;通过将来自所述服务定 义的第一要素集合映射到来自所述资源定义的第二要素集合来创建所述软件产品的多维模型;以及 在无需用户人工配置所述资源的情况下使用所述多维模型来管理所述软件产品的部署和执行。
18.根据权利要求17所述的计算机可读存储介质,其中所述服务定义包括拓扑和策略中的至少一项。
19.根据权利要求18所述的计算机可读存储介质,其中所述拓扑包括一个或者多个层、服务部件集合和连接集合。
20.根据权利要求19所述的计算机可读存储介质,其中创建所述软件产品的所述多维模型包括: 从所述服务定义标识与所述软件产品相关联的要求集合;以及 基于所述要求集合向所述服务部件分配来自所述资源定义的所述资源的子集。
21.根据权利要求20所述的计算机可读存储介质,其中使用所述多维模型来管理所述软件产品的部署和执行包括以下中的至少一个: 在所述分配的资源上自动地部署所述软件产品; 使得能够标识所述分配的资源; 有助于在执行所述软件产品期间标识故障;以及 管理与所述软件产品或者所述资源相关联的改变。
22.根据权利要求17所述的计算机可读存储介质,其中所述资源定义包括资源、资源群集、安全性区段、托管分段和位置中的至少一项。
23.根据权利要求17所述的计算机可读存储介质,其中所述资源中的每个资源是计算资源、网络资源和存储资源中的至少一个。
24.根据权利要求17所述的计算机可读存储介质,其中所述资源中的每个资源是物理资源和虚拟资源中的至少一个。
全文摘要
公开的实施例提供一种有助于部署和执行软件产品的系统。在操作期间,该系统获得软件产品的服务定义和可用于由软件产品使用的资源的资源定义。接着,该系统通过将来自服务定义的第一要素集合映射到来自资源定义的第二要素集合来创建软件产品的多维模型。最后,该系统在无需用户人工配置资源的情况下使用多维模型来管理软件产品的部署和执行。
文档编号G06F9/44GK103180823SQ201180050765
公开日2013年6月26日 申请日期2011年4月5日 优先权日2011年2月22日
发明者J·拉巴特, R·瓦拉德哈拉简, W·W·劳, T·C·毕肖普 申请人:因特伟特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1