解决方案部署方法、设备和系统的制作方法

文档序号:7745190阅读:346来源:国知局
专利名称:解决方案部署方法、设备和系统的制作方法
技术领域
本公开涉及云计算技术,更具体地,涉及一种解决方案部署方法、设备和系统,尤其是在云计算环境中。
背景技术
分布式计算技术,例如云计算(cloud computing),正在被越来越广泛地应用。例如,云计算环境具有超大规模和虚拟化的特点。云计算环境通常具有数量从数百台到数百万台的服务器,从而赋予用户前所未有的计算能力。此外,云计算环境支持用户在任意位置、使用各种终端获取应用服务。用户所请求的资源来自“云”,而不是固定的有形的实体。 应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。由于云计算环境的以上特性,用户可以在云计算环境中部署自己的解决方案来获得所期望的服务。在云计算环境中,被部署的基本模块是一个个软件或操作系统等的镜像或者虚拟机。在云计算环境中需要部署解决方案(包括部署象Os、中间件、软件包之类的物理软件产品和部署虚拟机等的虚拟软件产品)的能力,例如-在物理云基础结构中,解决方案可以包含虚拟机节点;以及-在虚拟云基础结构中,由于其可扩展性,在虚拟机内部动态安装软件产品并不少见。目前已经存在了一些解决方案的部署方法和产品。现有的部署方法通常是针对一种特定软件类型或产品的解决方案部署方法。为了实现部署,用户通过前端界面来从服务目录中选择一个服务。来自用户界面的服务请求被传送给系统管理器。该系统管理器找到正确的资源,然后调用用于在云中实现资源的部署服务。该部署服务可以部署所请求的栈或Web应用等。这种解决方案部署基本上是手动安装,需要用户在部署过程中输入大量配置信息,并且对于物理解决方案和虚拟解决方案,其部署过程如本领域技术人员所知的那样是非常不同的。现有技术的部署方法中通常存在如下问题1.软件产品的差异性在云环境中存在多种类型的软件产品,既有物理软件产品也有虚拟软件产品,而虚拟软件产品和物理软件产品在配置方面以及安装要求等方面是非常不同的。2.高的部署运行成本-不同软件使用产品专用方法来安装,从而导致能够成功安装一种软件的人员不能成功地安装另一种软件;-考虑到软件产品的数量,需要更多的运营人员来处理部署任务;-考虑到软件产品的数量,配置和执行部署需要更多的时间。3.高的解决方案部署复杂性-解决方案配置复杂性,物理软件产品和虚拟软件产品需要的配置信息是非常不同的,并且这些配置信息通常需要用户手动输入;
-没有公用的过程来驱动解决方案的部署,该解决方案可能包括物理解决方案和虚拟解决方案二者,物理软件产品和虚拟软件产品需要的部署过程是非常不同的,这种解决方案的安装要求安装产品的人员既熟悉虚拟软件产品的安装过程也熟悉物理软件产品的安装过程,而普通软件安装人员通常不能满足该要求。因此,现有技术中需要一种解决方案部署方法,其使得用户能够方便快捷地部署其解决方案,而与其解决方案是物理解决方案,还是虚拟解决方案,还是包括这二者无关。

发明内容
考虑到现有技术中存在的上述问题,本公开提供了一种解决方案部署方法、设备和系统。根据本发明的一个实施例的解决方案部署方法定义了一种打包解决方案的包结构,从而屏蔽物理和虚拟解决方案在结构上的差异。根据本发明的另一个实施例的解决方案部署方法定义了一个统一的部署流程从而屏蔽物理和虚拟解决方案在部署流程上的差异,从而对于用户而言基本上感觉不到物理和虚拟解决方案的部署流程差异。本发明实施例可以以包括方法、设备或系统的多种方式实施。下面讨论本发明的几个实施例。作为一种解决方案部署设备,本发明的一个实施例至少包括任务管理器,用于响应于接收到的解决方案部署请求,建立部署任务,并且获得用于所述部署任务的部署图像; 部署执行器,用于执行和监控由所述任务管理器分配的部署任务;其中所述任务管理器基于所获得的部署图像来配置和启动部署执行器,并且所述部署图像包括执行安装所需的配置信息、用于执行安装的脚本以及将所述配置信息映射到所述脚本的信息。作为一种解决方案部署方法,本发明的一个实施例至少包括下列操作响应于接收到的解决方案部署请求,建立部署任务;获得用于所述部署任务的部署图像;基于所获得的部署图像来配置和启动部署执行器;由所述部署执行器执行和监控所述部署任务,其中,所述部署图像包括执行安装所需的配置信息、用于执行安装的脚本以及将所述配置信息映射到所述脚本的信息。作为一种解决方案部署设备,本发明的一个实施例至少包括用于响应于接收到的解决方案部署请求而建立部署任务的装置;用于获得用于所述部署任务的部署图像的装置;用于基于所获得的部署图像来配置和启动部署执行器的装置;用于由所述部署执行器执行和监控所述部署任务的装置;其中,所述部署图像包括执行安装所需的配置信息、用于执行安装的脚本以及将所述配置信息映射到所述脚本的信息。作为一种解决方案部署系统,本发明的一个实施例至少包括上述设备;存储库,用于存储所述部署图像;以及由上述设备在其上部署所述解决方案的目标服务器。本发明的其中一个实施例至少提供了以下优点之一向用户屏蔽了物理和虚拟解决方案在结构上的差异;以及向用户屏蔽了物理和虚拟解决方案在部署流程上的差异。


图1示出了根据本发明的一个实施例的在云计算环境中的解决方案部署系统的示意性框图。图2示出了根据本发明的一个实施例的部署图像的结构示意图。
图3示出了根据OVF标准的OVF包的结构示意图。图4示出了根据本发明的一个实施例的在云计算环境中的解决方案部署方法的示意性框图。
具体实施例方式现在将以具体的、示例性实施例描述本发明实施例。应该理解,本发明不限于所披露的示例性实施例。还应该理解,目前所披露的解决方案部署方法、设备和系统的每一个特征并非都是实现所附权利要求任一具体权项要求保护的发明必不可少的。描述设备的多个元件和特征是为了使本发明完全能够得以实施。还应该理解的是,在本说明书中,在表示或者描述处理或方法之处,方法的步骤可以按照任何顺序执行或者同时执行,除非从上下文中显然可以看出一个步骤依赖于先前执行的另一步骤。如上所述,现有技术的部署方法没有向用户屏蔽物理和虚拟解决方案在结构上的差异,也没有向用户屏蔽物理和虚拟解决方案在部署流程上的差异。显然,现有技术中缺少从部署的角度看来统一的解决方案表示这是由于物理解决方案和虚拟解决方案在配置和部署方式上非常不同;配置细节随Os、中间件、应用等的变化而改变。现有技术中还缺少这样的解决方案部署过程这种过程对于加速解决方案在线更新和降低总体成本是关键性的,并能够使用户基本上感觉不到物理和虚拟解决方案的部署流程差异。从而,现有技术的解决方案上线更新被延迟,总体成本难以控制。为了解决现有技术中的上述问题,本发明的一个实施例提供了一种解决方案的模板图像,其中包括了解决方案中所包括的组件的配置信息和用于安装组件的脚本,并将二者关联起来。这样,免除了用户针对每一组件进行配置的烦琐操作。为了解决现有技术中的上述问题,本发明的一个实施例提供了一种部署过程。对于用户而言,该部署过程是用来部署物理解决方案还是用来部署虚拟解决方案是没有区别的。也就是说,该部署过程对于物理解决方案和虚拟解决方案是一致的,从而向用户屏蔽了物理解决方案和虚拟解决方案的部署上的差异性。以下将对本文中使用的术语进行具体说明。“解决方案”是指出于实现特定用户需求而需要的机器、操作系统、中间件产品、软件包以及虚拟应用的集合。“物理解决方案”通常包括所需要的机器、操作系统、中间件产品、和软件包。“虚拟解决方案”通常包括所需要的虚拟应用,诸如虚拟机。“解决方案部署”是指安装整个解决方案并使该解决方案能够即时使用的过程。“解决方案部署”是指该部署过程既适用于部署物理解决方案也适用于部署虚拟解决方案。以下的描述是在云计算环境的情况下给出的。但是本领域技术人员应当理解本发明不限于此,本发明的原理可以应用于任何分布式网络环境。图1示出了根据本发明的一个实施例的在云计算环境中的解决方案部署(Hybrid Solution Provisioning, HSP)系统 100 的示意性框图。如图1所示,根据本发明的一个实施例的解决方案部署系统包括存储库140、物理解决方案引擎150、虚拟解决方案引擎160、目标服务器180以及根据本发明的一个实施例的解决方案部署引擎(即,HSP引擎)100。在云计算环境中,这些组件通常分布在不同的物理主机上,但是也可以位于同一物理主机上。如图1中的虚线框所示,根据本发明的一个实施例的HSP引擎100包括任务管理
器110、解析器120、以及多个部署执行器130-1........130-n(以下统称为部署执行器
130,除非需要具体区分出其中的一个或多个部署执行器),其中η为正整数。部署执行器 130的数量可以等于或小于HSP引擎100正在部署的解决方案的数量。HSP引擎100是根据本发明的一个实施例的用于实现解决方案部署的组件或系统。HSP引擎100用于驱动不同的现有部署工具来基于每个组件的类型执行该组件的实际安装和配置工作,并且协调整个解决方案部署过程。HSP引擎100可以响应于多个部署请求140同时进行多个解决方案的部署。HSP 引擎100协调和控制全部解决方案部署过程。此外,HSP引擎100还接收来自存储库140的部署图像。下面将对部署图像进行详细描述。图2示出了根据本发明的一个实施例的部署图像的结构示意图。每个部署图像用于一个解决方案的部署。部署图像包含了执行安装所需的配置信息、用于执行安装的脚本以及将配置信息映射到脚本的信息。可选地,部署图像还包含安装介质,从而在此情况下, 部署图像包含了实现解决方案部署所需要的全部信息。作为例子,图2示出了部署图像的结构。但是部署图像的结构不限于此,而是可以使用任何本领域技术人员可以设想的结构,只要包括上述信息即可。如图2所示,部署图像包括(1)元数据部分,包括a)物理配置文件这是一个描述物理解决方案的结构的文件,包括-用于描述物理解决方案的组件的元素,包括用于指定机器或产品的名称以及组件属性,包括组件的类型、组件序列号等等,每个组件对应于该解决方案中的一个软件产
P
m ;-组件之间的依赖关系;-组件的配置信息,其被公开以便在部署时期间进行定制。对于物理软件产品,配置信息对应于安装选项。以下示出了一个物理解决方案的物理配置文件的例子ITM. ya ml-Component :M1 // 组件名称Type =Machine // 组件类型SN :99FWP41// 序列号-Component :SLES10SP2_32Type :0SStatus installed //状态Host :M1// 主机DiskSize :10M//磁盘大小TargetDirectory /vmfs/volumes/storagel/ // 目标目录
IPAddress =ConfigNET. ipaddr //IP 地址Netmask =ConfigNET. netmask // 网络掩码Gateway =ConfigNET. gateway // 网关名称PrimaryDNS =ConfigNET. pri_dns // 主 DNS 名称SecondDNS =ConfigNET. sec_dns // 辅 DNS 名称RootPassword ConfigPWD_ROOT. password// 启动口令SLES10SP2-32 //用于操作系统SLES10SP2-32的脚本名称......C)虚拟配置文件这是一个描述虚拟解决方案的结构的文件。虚拟配置文件 所包括的内容与物理配置文件中的相似。虚拟配置文件使用OVF(Open Visualization format,开放虚拟格式)格式来描述。OVF专用于部署虚拟解决方案的情況,用于描述虚拟 解决方案、部署定制属性以及Hypervisor信息(包括地址和认证信息)。Open Virtualization Format (OVF)是用于封装和分发将在虚拟机上运行的虚拟 工具(或软件)的开放标准。该标准描述了一种开放、安全、可迁移、有效以及可扩展的格 式,用于封装和分发将在虚拟机上运行的软件。下面先对OVF进行简要介绍。图3示出了根据OVF标准的OVF包的结构示意图。OVF标准定义了三个元素OVF包、OVF描述符和OVF环境文件。OVF包是OVF标准 的核心,OVF包是一种分发包,它由以下内容組成-一个OVF描述符文件(.OVf)。这通常表示OVF信封并且主要是此工具支持的主 题。OVF描述符文件定义了封装虚拟工具的内容和需求,以支持此包的成功和一致的部署。 OVF描述符文件采用XML格式。-O到1个OVF清単文件(.mf)。清単文件包含OVF包中各文件的SHA-I摘要。清 单的作用是提供包的数据完整性。-O到1个OVF认证文件(.cert)。可以通过签名清単文件来签名OVF包。摘要的 签名随同base64-encoded X. 509证书存储在一个.cert文件中。证书的作用是确保包的
真实性。-O到多个磁盘镜像文件。这些文件代表支持定义的虚拟镜像或工具的虚拟磁盘。 通常,包中包含工具所需的工件,其中包括虚拟磁盘、本地化语言资源和其他工件。OVF信封描述构成此OVF包的所有虚拟机元数据(包括虚拟硬件)。OVF信封由以下几个部分組成-由XML名称空间URI定义的版本指示;-引用所有外部文件的文件引用列表,它是由References元素及其File子元素定 义的OVF包的一部分。它们通常是虚拟磁盘文件、ISO镜像和国际化资源;-由section元素定义的工具级元数据,用于描述网络和虚拟磁盘等内容;-对工具内容的描述,可以是单个虚拟机(VirtualSystem元素)或一系列虚拟机 (VirtualSystemuoIlection 兀糸)。-一个针对O到多个区域的消息资源包规范,各区域由相应的Strings元素定义。OVF信封在虚拟工具生命周期的封装和分发阶段创建和使用。OVF环境是一个XML文档,它由OVF部署平台在部署OVF包的过程中生成,并提供给已部署的虚拟系统中的访客软件使用。OVF环境文档的作用是提供虚拟系统访客软件 (属于已部署的OVF包)属性变量信息,用于“定制”访客虚拟系统。OVF包描述符的创建者(0VF信封)指定哪些自定义属性将需要变量输入。在OVF包的部署活动中,部署平台将收集与自定义属性键相关的值,并构建OVF环境文档。OVF环境在虚拟工具生命周期的部署阶段中使用。(2)脚本是可执行文件,用于使用元数据中的配置信息来执行各个组件的安装和激活。脚本(即命令)被调用来执行产品的部署。对于给定产品,可以有多个脚本。每个脚本包括以下信息a脚本的路径;b脚本语义,包括脚本参数和正确序列。例如,路径 Install =Workflow :SPA. D印loyOS,其是相对路径。(3)安装介质所有的安装文件,包括安装二进制文件、安装向导、安装包、产品脚本、虚拟应用等。例如,上例中的Workflow =SPA. D印loyOS。根据本发明的一个实施例的部署图像能够帮助部署引擎了解解决方案的内部依赖关系,并且理解解决方案结构,诸如打包在解决方案中的文件以及这些文件用于什么以及如何使用这些文件;以及描述了打包在解决方案内的部署脚本的语义,诸如有效的参数名称/值和参数序列,从而使得在部署的过程中可以自动进行配置,而无需用户手动地输入配置信息。该部署图像可以被压缩到文件中以便在网络上分发。这些部署图像不必与HSP引擎100集成在一起,而是可以位于网络中的另一主机上。此外,通过使用根据本发明的一个实施例的格式来生成部署图像,可以建造部署图像库以存储和共享针对不同服务的部署图像以便重用部署图像。该部署图像库使得软件开发团体中的不同人员贡献其部署图像。由于不同用户有可能需要相同或类似的服务,重复使用或简单地修改部分元数据来重用部署图像是可能的并且是高效的。部署图像库能够维护和管理不同用户所贡献的部署图像,从而缩减解决方案上线时间。如图1所示,作为例子,示出了将部署图像存储在另一物理主机上的存储库140 中。存储库140用于存储根据本发明的一个实施例的由不同人员贡献的多个部署图像。HSP 引擎100与存储库140交互以获得部署图像。在图1的例子中,假设部署图像包含安装介质,从而包含了实现解决方案部署所需要的全部信息。任务管理器110响应于接收到的解决方案部署请求,建立部署任务,获得用于该部署任务的部署图像,并且基于获得的部署图像来配置和启动部署执行器130。部署执行器 130用于执行和监控任务管理器110分配给它的部署任务。全部部署执行器的操作由任务管理器110来协调和控制。任务管理器110基于解决方案部署请求中的解决方案名称,向存储库140请求具有相同名称的部署图像。在获得部署图像之后,任务管理器110启动相应的部署执行器 130,并将部署图像中的相应信息传递给部署执行器130。优选地,在启动部署执行器130以执行针对一个解决方案的部署任务之前,任务管理器110首先检查该解决方案是否正在或者已经被部署在目标服务器上。这种检查是基于HSP引擎100中维护的作业控制数据和包含在解决方案部署请求中的数据,例如解决方案的名称。本发明实施例提出了 “作业控制数据”用于同步和避免同一解决方案在同一服务器上的重复部署。缺省地,作业控制数据包括解决方案的名称、安装介质到目标服务器的传 送(其值可以是完成或未完成)。可选地,作业控制数据还包括部署图像在目标服务器上的 解压缩(其值可以是开始或完成)以及脚本的执行(其值可以是等待、正在执行或完成)。 以下示出了作业控制数据的一个示例性例子SolutionName JTM//解决方案名称为 ITM-Transfer :completed //安装介质的传送已完成-Unpack Started//解压缩开始,可选-Script =Waiting//脚本等待执行,其可以为默认值//,可选如果确定相同的解决方案正在或者已经被部署在目标服务器上,则任务管理器 110将丢弃该解决方案部署请求和/或返回提示信息,诸如,“同一解决方案正在/已经部 暑”,以避免同一解决方案在同一目标服务器上的重复部署而导致的冲突。当然,任务管理 器110也可以仅仅以不响应该解决方案部署请求作为所述提示信息。在确定没有相同的解决方案正在或已经被部署在目标服务器上之后,任务管理器 110针对该解决方案创建作业控制数据。这时作业控制数据中除了解决方案名称项被填入 部署请求中携帯的名称之外,其它各项均具有缺省值或为空。在创建了作业控制数据之后,任务管理器110基于解决方案名称向存储库140请 求具有相同名称的部署图像,然后启动相应的部署执行器130,并且将为该部署任务创建的 作业控制数据传递给启动的部署执行器130。在被启动之后,部署执行器130指令存储库140将相应的部署图像传送给目标服 务器180。在传送成功之后,系统将会给部署执行器130回传传送成功消息,同时回传相应 的信息,诸如文件的路径。在接收到成功指示之后,部署执行器130将作业控制数据中的 项^ansfer的值修改为completed。如果从发出指令之后经过了预定时间段,部署执行器 130还未接收到传送成功消息,那么部署执行器130可以默认传送失败,可以再次指令存储 库140向目标服务器180传送模板图像。在模板图像不包括安装介质的情况下,部署执行器130可以在被启动之后指令具 有安装介质的其它方将安装介质传送到目标服务器。部署执行器130可以默认在接收到传送成功消息之后的预定时间(例如,20分钟, 或更长或更短时间)之后,就开始执行脚本。可替换地,在作业控制数据包括Unpack和kript项的情况下,部署执行器130还 如下所述对这两项的值进行记录。在传送成功之后,模板图像在目标服务器180上自动解 压縮。如果自动解压缩成功,则系统将会给部署执行器130回传自动解压缩成功消息。在 接收到成功指示之后,部署执行器130将作业控制数据中的项Unpack的值修改为started。在解压缩完成之后,系统将会给部署执行器130回传解压缩完成消息,同时回传 相应的信息,诸如解压缩文件所在的文件夹的路径。在接收到成功指示之后,部署执行器 130将作业控制数据中的项topack的值修改为completed。如果从接收到自动解压缩成功消息开始经过了预定时间段,部署执行器130还未 接收到解压缩成功消息,那么部署执行器130可以默认解压缩失败,可以再次指示存储库 140向目标服务器180传送模板图像,重复上述过程。
可替换地,存储库140在从部署执行器130接收到指令后,解压缩相应的模板图像以只获得其中的安装介质,然后,将安装介质压缩成压缩文件,诸如ITM. zip文件,并将该压缩文件传送给目标服务器180。在从存储库140接收到所请求的部署图像之后,任务管理器110将该部署图像传送给解析器120。当然,也可以将解析器120与任务管理器110集成为一个单元。解析器120用于解压缩该部署图像,并只获得其中的元数据和脚本。在此需要说明的是,存储库140在接收到来自任务管理器110的部署图像请求后,可以解压缩相应的部署图像,获得其中的元数据和脚本并将其压缩成与模板图像相同名称的压缩文件,然后将该压缩文件传送给任务管理器110。从而,解析器120只需执行解压缩。然后,解析器120将解析出的信息返回给任务管理器110。一旦接收到来自解析器120的元数据和脚本,任务管理器110就将该元数据和脚本传送给为该部署任务启动的部署执行器130。部署执行器130从任务管理器110接收到元数据和脚本之后,检查作业控制数据中的项“Unpack”的值是否为“completed”。如果不是的话,部署执行器130就等待,并周期性地检查项“Unpack”的值。一旦项“Unpack”的值变为“completed”,部署执行器130打开元数据中的句法文件,并按照句法文件中列出的脚本顺序执行脚本,同时将句法文件中列出的选项传递给相应脚本。对于一个解决方案,可以有一个或多个脚本。脚本的数量和内容是由用户根据其需要定制的。由于需求不同而导致的配置信息的不同被反映在物理/虚拟配置文件中。也就是说,脚本与配置信息相关联。用户在定制脚本的同时,将脚本所需的相应配置信息写入物理/虚拟配置文件中。例如,对于组件SLES10SP2-32的安装,需要磁盘大小对于不同的机器可以不同。因此,用户可以把脚本SLES10SP2-32与所需的磁盘大小相关联,并且将物理配置文件中组件ID为SLES10SP2-32下的项DiskSize的值写为10M。针对每一脚本,部署执行器130根据与该脚本相关联的配置文件中的组件的类型而确定其是物理的还是虚拟的,然后调用物理解决方案引擎150或虚拟解决方案引擎 160来执行对应的脚本,同时部署执行器130将作业控制数据中的项kript的值设置为 Executing。物理解决方案引擎150是用于部署物理解决方案的现有工具,由HSP引擎100 调用,诸如 Red Hat RPM Package Manager、FreeBSDPorts System、Windows Installer 以及 Enterprises JavaBeans (EJB)、xCat、IBM Tivoli RemboΛ IBM Solution Assembly Toolkit(SAT)。虚拟解决方案引擎160是用于部署虚拟解决方案的现有工具,由HSP引擎 100调用,诸如XEN。物理解决方案引擎150或虚拟解决方案引擎160在完成部署之后,将给部署执行器130返回部署完成指示。在接收到句法文件中的最后一个脚本的部署完成指示之后,部署执行器130将作业控制数据中的项kript的值设置为Completed。一旦script的值被设置为Completed, 部署执行器130就给任务管理器110返回部署完成指示。收到部署完成指示后,任务管理器110就释放相应的部署执行器130。
根据本发明实施例的任务管理器110和部署执行器130都要维护自己的数据。例如,任务管理器110也可以维护每个任务的状态信息(例如,任务是否在运行、是否成功) 以及与每个任务有关的资源信息(例如,所需的内存大小)以及日志信息。部署执行器130 也可以维护每个解决方案部署的状态信息、资源信息以及日志信息等。这些信息在HSP引擎100中可以存储在数据库中,也可以存成数据文件,只要能够存取相关信息就可以了。如果由于解决方案的部署没有完成或没有成功,则部署执行器130将作业控制数据中的项kript的值为不同值,例如Error。则在下一次部署该解决方案时,任务管理器 110还进行部署前的检查。这种情况下,已经有了针对该解决方案的作业控制数据,但是其中的的值为Error,也就是,部署没有在执行或尚未完成。那么任务管理器110根据其维护的信息找出已有的针对该解决方案的元数据和脚本,启动部署执行器130以重新基于元数据来执行脚本。如本领域技术人员所知道的那样,图1所述的各个部件,诸如任务管理器、解析器、以及各个部署执行器可以被实现为一个或多个硬件单元,诸如专用集成电路,DSP模块等,也可以被实现为一个或多个软件单元,诸如单独的程序、代码块等,或者被实现为二者的组合。其具体的实现方式依赖于用户的需求。图4示出了根据本发明的一个实施例的在云计算环境中的解决方案部署方法的示意性框图。在步骤401,处理开始。在步骤403,确定是否接收到解决方案部署请求。如果是,则为该解决方案部署请求建立一个部署任务,并前进到步骤405。否则,返回步骤401。在步骤405,针对该解决方案部署请求,建立部署任务。然后,前进到步骤407。在步骤407,获得针对该部署任务的部署图像。可以通过基于解决方案部署请求中的解决方案名称而向存储库请求相应部署图像来获得。然后,前进到步骤409。在步骤409,基于获得的部署图像,配置和启动部署执行器。所述配置是通过解析所获得的部署图像,并将解析后的部署图像传递给部署执行器来实现的。然后,前进到步骤 411。在步骤411,由部署执行器执行和监控部署任务。如前所述,这个步骤是基于获得的部署图像中的信息进行部署。通过按照元数据中的句法文件中规定的顺序使用元数据中的配置文件执行脚本而实现的。在步骤413,处理结束。上述过程是在第一次执行解决方案部署时所需的动作。如前所述,如果第一次执行没有完成或没有成功,在后续执行该解决方案的部署时,可以省略步骤407。本发明实施例可采用任何适宜的方式实现,包括硬件、软件、固件或其任何组合。 或者,可将本发明实施例至少部分地实现为在一个或多个数据处理器和/或数字信号处理器上运行的计算机软件。本发明的实施例的元件和组件可采用任何合适的方式在物理上、 功能上和逻辑上实现。的确,可将该功能实现于单个部件、多个部件中,或作为其他功能部件的一部分。这样,可将本发明实施例实现在单个部件中,或将其在物理上和功能上分布在不同部件和处理器之间。应该理解,以上出于说明清楚的目的参照不同功能部件和处理器对本发明的实施例进行了描述。显然,在不偏离本发明的条件下,可在不同功能部件或处理器之间使用任何合适的功能分布。例如,所示出的由分立单元或处理器执行的功能可由同一单元或处理器执行。因此,仅将针对具体功能部件的描述视为是对用于提供所述功能的合适装置的描述, 而不表示严格的逻辑或物理结构或组织。此外,在权利要求中特征的顺序并不表示特征起作用的任何特定顺序,特别是在方法权利要求中各步骤的顺序并不表示一定按照该顺序执行这些步骤。而是,这些步骤可采用任何合适的顺序执行,除非从上下文中显然可以看出一个步骤依赖于先前执行的另一步骤。本发明通过使用本发明的实施例的详细说明被描述,这些实施例作为例子被提供,并且不打算限制本发明的范围。所描述的实施例包括不同的特性,不是所有的这些特性在本发明的所有的实施例中都是需要的。本发明的某些实施例仅仅利用某些特性或特性的可能的组合。所描述的本发明的实施例的变例和包括在描述的实施例中指出的特性的不同的组合的本发明的实施例是本领域技术人员将会设想到的。
权利要求
1.一种解决方案部署设备,包括任务管理器,用于响应于接收到的解决方案部署请求,建立部署任务,并且获得用于所述部署任务的部署图像;部署执行器,用于执行和监控由所述任务管理器建立的部署任务;其中所述任务管理器基于所获得的部署图像来配置和启动部署执行器,并且所述部署图像包括执行安装所需的配置信息、用于执行安装的脚本以及将所述配置信息映射到所述脚本的信息。
2.根据权利要求1所述的解决方案部署设备,其中,所述配置信息包括以下至少一项 描述物理解决方案的结构的物理配置信息和描述虚拟解决方案的结构的虚拟配置信息。
3.根据权利要求1所述的解决方案部署设备,其中,所述将所述配置信息映射到所述脚本的信息包括脚本的名称和按照指定顺序列出的脚本选项。
4.根据权利要求1所述的解决方案部署设备,还包括解析器,用于解析所述部署图像以获得所述部署图像中的信息,其中,所述任务管理器通过将解析后获得的部署图像中的信息传递给部署执行器来配置所述部署执行器。
5.根据权利要求1所述的解决方案部署设备,其中在启动所述部署执行器之前,所述任务管理器基于所述解决方案部署请求确定所请求的解决方案是否正在或者已经被部署在目标服务器上,并且如果所述任务管理器确定所述所请求的解决方案正在或者已经被部署在目标服务器上,则所述任务管理器返回提示信息。
6.根据权利要求5所述的解决方案部署设备,其中,如果所述任务管理器确定所述所请求的解决方案没有正在或者已经被部署在目标服务器上,则所述任务管理器针对所述解决方案部署请求,创建作业控制数据来同步和避免同一解决方案在同一服务器上的重复部署,所述作业控制数据至少包括解决方案名称和指示安装介质到目标服务器的传送的项。
7.根据权利要求6所述的解决方案部署设备,其中,所述作业控制数据还包括指示部署图像在目标服务器上的解压缩的项以及指示脚本的执行的项。
8.根据权利要求1所述的解决方案部署设备,其中所述解决方案部署设备包括多个部署执行器,每个部署执行器至少用于一个解决方案的部署。
9.一种解决方案部署方法,包括步骤响应于接收到的解决方案部署请求,建立部署任务;获得用于所述部署任务的部署图像;基于所获得的部署图像来配置和启动部署执行器;由所述部署执行器执行和监控所述部署任务,其中,所述部署图像包括执行安装所需的配置信息、用于执行安装的脚本以及将所述配置信息映射到所述脚本的信息。
10.根据权利要求9所述的解决方案部署方法,其中,所述配置信息包括以下至少一项描述物理解决方案的结构的物理配置信息和描述虚拟解决方案的结构的虚拟配置信息。
11.根据权利要求9所述的解决方案部署方法,其中,所述将所述配置信息映射到所述脚本的信息包括脚本的名称和按照指定顺序列出的脚本选项。
12.根据权利要求9所述的解决方案部署方法,还包括解析所述部署图像以获得所述部署图像中的信息,其中,所述配置所述部署执行器包括将解析后获得的部署图像中的信息传递给部署执行器。
13.根据权利要求9所述的解决方案部署方法,在启动所述部署执行器之前,所述方法还包括基于所述解决方案部署请求确定所请求的解决方案是否正在或者已经被部署在目标服务器上,以及如果所述任务管理器确定所述所请求的解决方案正在或者已经被部署在目标服务器上,则返回提示信息。
14.根据权利要求13所述的解决方案部署方法,还包括如果确定所述所请求的解决方案没有正在或者已经被部署在目标服务器上,则针对所述解决方案部署请求,创建作业控制数据来同步和避免同一解决方案在同一服务器上的重复部署,其中,所述作业控制数据至少包括解决方案名称和指示安装介质到目标服务器的传送的项。
15.根据权利要求14所述的解决方案部署方法,其中,所述作业控制数据还包括指示部署图像在目标服务器上的解压缩的项以及指示脚本的执行的项。
16.根据权利要求9所述的解决方案部署方法,其中所述解决方案部署设备包括多个部署执行器,每个部署执行器至少用于一个解决方案的部署。
17.一种解决方案部署系统,包括用于响应于接收到的解决方案部署请求而建立部署任务的装置;用于获得用于所述部署任务的部署图像的装置;用于基于所获得的部署图像来配置和启动部署执行器的装置;用于由所述部署执行器执行和监控所述部署任务的装置;其中,所述部署图像包括执行安装所需的配置信息、用于执行安装的脚本以及将所述配置信息映射到所述脚本的信息。
18.一种解决方案部署系统,包括如权利要求1-8中的任一项所述的解决方案部署设备;存储库,用于存储所述部署图像;以及由所述解决方案部署设备在其上部署所述解决方案的目标服务器。
全文摘要
本公开提供了一种解决方案部署方法、设备和系统,所述解决方案部署设备包括任务管理器,用于响应于接收到的解决方案部署请求,建立部署任务,并且获得用于所述部署任务的部署图像;部署执行器,用于执行和监控由所述任务管理器分配的部署任务;其中所述任务管理器基于所获得的部署图像来配置和启动部署执行器,并且所述部署图像包括执行安装所需的配置信息、用于执行安装的脚本以及将所述配置信息映射到所述脚本的信息。通过使用本公开中所述的方法,能够向用户屏蔽物理和虚拟解决方案在结构上的差异以及物理和虚拟解决方案的在部署流程上的差异。
文档编号H04L29/08GK102207859SQ20101013912
公开日2011年10月5日 申请日期2010年3月31日 优先权日2010年3月31日
发明者何乐, 吴玉会, 王庆波, 赵阳, 邹志乐, 金涬, 陈滢 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1