一种云计算环境下基于工作流的软件部署系统及部署方法

文档序号:6432319阅读:210来源:国知局
专利名称:一种云计算环境下基于工作流的软件部署系统及部署方法
一种云计算环境下基于工作流的软件部署系统及部署方法技术领域
本发明属于计算机应用领域,具体涉及一种云计算环境下基于工作流的软件部署系统。
背景技术
目前,云计算(Cloud Computing)正在被学术界及工业界广泛关注,它是分布式计算、并行处理和网格计算的发展,其目标是以互联网为中心,为用户提供安全、快速、便捷的数据存储和网络计算服务。采用云计算后,企业数据中心的运行将与互联网更加相似,这使得企业能够将资源迅速切换到需要的应用上,根据实际需求访问计算资源和存储系统。云计算作为一种新型计算技术,它旨在动态提供所需的计算和存储资源,管理各种工作负载以满足大量应用的需求。云计算的核心思想是,使用大量的分布式计算机来实现快速、高效的计算,而不是在本地的计算机或者某个独立的远程服务器中。一般情况下,一个云计算平台的物理资源可能涉及成千上万台位于不同云计算中心中的计算机节点 (包括了计算资源或存储资源)。然而,伴随着机器节点数目的增多,构建、管理和维护如此大规模的分布式软件系统的难度也与之俱增。为了构建恰当的云计算环境以满足用户不断变化的应用需求,常常需要在大量的远程云计算节点上动态地部署或者反部署各种软件, 而且,即使在某个确定的计算机节点上,多个待部署的软件之间往往存在依赖关系(例如, 要使B软件能够部署且成功运行,必须先部署A和C软件)。总而言之,按需构建云计算环境是一个繁冗复杂的浩大工程,软件依赖非常普遍,如果仅仅凭借传统的部署方式,需要耗费大量的时间和人力,因此,必须借助工作流技术来实施。当前,针对软件部署的管理系统主要有WPKG和Kaseya。WPKG系统是一个针对Windows环境的自动化的软件部署、升级和反部署的开源项目软件,它能够使用推送和拉取方式来从中心服务器上获得软件安装包(包括服务安装包、修复包、程序安装包等),并部署到一系列工作站上。该系统需要在目标机器的后台中运行特定的软件部署服务,使之能够部署.MSI (Microsoft Installer)、. exe、. bat等形式的软件包。Kaseya是全球知名的IT自动化软件解决方案提供商,Kaseya软件自动部署系统允许IT专业人士通过Web平台,便捷、高效地监控、管理和维护分布式的IT基础设施。 Kaseya软件自动部署系统的宗旨是为IT管理员的需求降低复杂度、提高生产率,具有强大、安全的特点,同时拥有良好的用户体验。该系统的软件部署过程分为两个部分,首先是将指定的软件包通过后台分发到目标机器,然后再将软件部署的命令进行分发,目标机器根据接收到的命令对软件包进行部署。当前,Kaseya只支持Windows环境下的软件部署。总而言之,WPKG和Kaseya都在软件自动化部署方面做出了巨大的探索,并取得了一定的成绩。然而,它们还存在以下缺陷(I)WPKG和Kaseya仅局限于Windows环境下的软件部署,而目前的云计算平台大多采用了 Linux/Unix操作系统环境。(2) WPKG和Kaseya 不支持依赖软件部署。然而,在云计算平台中,每台计算节点上往往需要部署多个软件,而软件之间存在依赖关系的现象非常普遍。C3)WPKG和Kaseya的部署效率不高。云计算平台需要能够快速构建满足用户应用需求的分布式软件环境,一般涉及成千上万台机器节点, 这就对部署效率提出了非常高的要求。因此,目前它们还不能满足快速构建云计算环境软件部署的需求。

发明内容本发明的目的在于提供一种云计算环境下的软件部署系统及部署方法,该系统基于工作流技术,支持Windows和Linux操作系统下的软件自动部署,支持依赖软件部署,能够弥补现有软件部署系统的通用性和效率等方面的不足,能够帮助用户在云计算环境下高效地构建大规模分布式软件系统。为了实现上述目的,本发明一种云计算环境下的软件部署系统采用如下技术方案一种云计算环境下基于工作流的软件部署系统,包括用户接口层、系统逻辑层和云资源层;所述用户接口层是所述软件部署系统对外界用户提供的基于Web页面的使用接口,该用户接口层用于用户描述软件部署规划、定义软件之间的依赖关系、查询目标机器节点状态、描述软件属性和监控软件部署过程;所述系统逻辑层用于解析用户提交的软件部署规划文件,然后按照用户的部署规划,将软件包部署到远程的云资源节点上;所述云资源层用于软件部署。本发明进一步的改进在于用户接口层包括Web客户端,Web客户端包括软件部署规划定义模块、依赖软件流程定义模块、目标机器监控模块、软件描述模块和部署状态监控模块;所述软件部署规划定义模块用于描述软件部署规划,最后生成软件部署规划文件,该文件记录了软件组件和云资源节点之间的对应关系;所述依赖软件流程定义模块用于描述软件组件之间的安装次序;所述目标机器监控模块用于了解远程云资源节点的运行状态;所述软件描述模块用于填写软件的各项属性,生成软件描述文件;所述部署状态监控模块用于查询软件组件的运行状态和软件部署记录。本发明进一步的改进在于所述系统逻辑层包括软件库、软件部署核心和信息中心;所述软件库用于提供磁盘存储空间,来存储基础软件和应用软件;所述信息中心用于记录软件包信息、云资源物理节点属性和状态监控信息、软件实时部署记录;所述软件部署核心用于解析用户提交的软件部署规划文件,然后按照用户的部署规划,将软件包部署到远程的云资源节点上去。本发明进一步的改进在于所述软件部署核心包括软件重构工具、目标机器管理模块、部署管理器、工作流引擎、数据传输模块、软件配置模块和安装检验模块;所述软件重构工具用于提取某一 Windows节点上的图形交互式安装软件生成安装文件包、配置文件、注册表属性信息,然后生成安装镜像文件包,最后将软件镜像复制到远端云计算节点上;所述目标机器管理模块用于根据用户需求,在远程云资源中预留机器节点,并在目标节点上为用户创建逻辑用户并授权;所述部署管理器用于接收来自软件部署规划定义模块描述好的软件部署规划文件,然后解析它,依照其定义,从软件库中选择需要的软件包,然后通过数据传输模块将软件包传输到远端选择好的云资源节点上,并开启软件部署流程;所述工作流引擎用于接收来自依赖软件流程定义模块的描述文件,然后解析该文件获得依赖语义,然后依照其工作流逻辑进行软件部署;所述数据传输模块用于传输部署管理器从软件库中选择的软件包给远端选择好的云资源节点;所述软件配置模块用于执行软件描述文件中配置脚本,以完成软件环境变量配置;所述安装验证模块用于执行验证脚本来进行安装完整性和正确性验证。本发明进一步的改进在于远端云计算节点的操作系统与所述软件重构工具提取的Windows节点的操作系统相兼容。本发明进一步的改进在于每个目标节点心跳式地向目标机器管理模块报告该机器目前的实时状态信息。本发明进一步的改进在于云资源层包括若干预先安装Windows或Linux操作系统的目标节点,目标节点须配置网络,Linux系统开放SSH端口 22,Windows系统开放IPC 和 WMI 端口 139,445,135ο为了实现上述目的,本发明一种云计算环境下的软件部署系统的软件部署方法采用如下技术方案一种云计算环境下基于工作流的软件部署系统的软件部署方法,包括以下步骤(1)、用户通过软件部署规划定义模块(11)来描述软件部署规划,最后生成软件部署规划文件,该文件详细地记录了软件组件和云资源节点之间的对应关系;部署管理器 (24)接收来自软件部署规划定义模块(11)描述好的软件部署规划文件,然后解析它,依照其定义,从软件库中选择需要的软件包,然后通过数据传输模块06)将软件包传输到远端选择好的云资源节点上,并开启软件部署流程;(2)解包在选择好的云资源节点上解压缩软件包,分离出软件安装文件、配置属性文件、软件描述文件;(3)安装环境检查解析软件描述文件,根据软件运行环境配置要求检查软硬件属性;(4)依赖软件检查解析软件描述文件,检查该软件的依赖软件是否已经成功安装;(5)安装解析软件描述文件,依照软件部署脚本安装本软件;(6)配置软件完成后,根据软件描述文件,在远端节点上进行环境配置;(7)启动环境配置完成后,启动软件进程,使软件处于运行态;(8)安装成功性验证软件进程被启动后,执行验证脚本,进行安装完整性和正确性验证,即检查软件是否如期望般成功运行,是否安装成功。本发明进一步的改进在于步骤( 中检查软硬件属性包括检查CPU频率、磁盘容量、操作系统类型、文件类型。本发明进一步的改进在于步骤(6)中在远端节点上进行环境配置包括设置注册表、设置守护进程、开机服务加载、配置线程数目。与现有技术相比,本发明具有以下有益效果(1)支持Windows和Linux操作系统下的软件自动部署。针对Windows操作系统,本系统可以提取软件在Windows系统中安装后形成的安装文件、配置文件、注册表属性等信息,然后生成安装镜像文件,最后能够将软件镜像“克隆”到远端云计算节点上。针对Linux操作系统,本系统提供了软件描述模版,基于此,每个软件都会附带一个软件描述文件。解析该软件描述文件,遵照软件安装脚本,本系统可以在Linux操作系统下自动地部署软件包。(2)提供软件部署完整性、正确性验证。无论在Windows还是在Linux环境下,本系统都提供安装前环境验证、软件依赖验证、安装完成后自动配置环境变量、软件进程启动、安装正确性检验等。(3)基于工作流技术,支持依赖软件自动部署。本系统支持在一台机器上一次性部署多个软件。根据用户选择的软件列表,本系统分析每个软件的描述文档,并解析出软件之间的依赖关系,并自动生成DAG工作流定义。 在工作流引擎的帮助下,本系统能够按照工作流定义自动部署存在依赖关系的多个软件包。(4)支持多机并发传输和部署软件包,提高了部署效率。为了提高效率,本系统采用多机并发传输机制,将生成的软件安装包并发地传输到目标机器;在各目标机器上,并发地通过软件部署脚本进行部署。这将极大地缩短部署时间,提高部署效率。(5)支持软件自动反部署。软件的反部署是部署的逆过程。本系统通过部署记录和反部署脚本将目标机器自动还原为部署之前的状态。

图1为本发明云计算环境的软件部署系统的拓扑结构示意图;图2为本发明云计算环境的软件部署系统的逻辑结构;图3为本发明云计算环境下软件部署系统的模块结构示意图;图4为软件描述文件模板;图5为单个软件部署流程;图6为软件依赖实例。
具体实施方式下面结合附图对本发明做进一步详细描述。
图1给出了本发明一种云计算环境下基于工作流的软件部署系统的拓扑结构。如图所示,普通用户通过Web浏览器访问本发明的软件部署系统,然后用户制定部署规划(即在软件组件和云资源之间建立部署计划)。本软件部署系统位于软件部署服务器上,它负责将用户规划的软件组件部署到远端的云资源节点上。云资源包括了两类预先安装了宿主操作系统(Windows和Linux)的目标机器节点。对于Windows目标机器,本系统采取IPC和 WMI技术相结合的通信方式;而对于Linux目标机器,本系统则采用SSH技术的通信方式。如图2给出的系统逻辑结构所示,整个系统包括三层用户接口层、系统逻辑层和云资源层。用户接口层是本系统对外界用户提供的基于Web页面的使用接口,它主要帮助用户描述软件部署规划、定义软件之间的依赖关系、查询目标机器节点状态、描述软件属性、 监控软件部署过程等。系统逻辑层是本系统的核心,它主要负责解析用户提交的软件部署规划文件,然后按照用户的部署规划,将软件包部署到远程的云资源节点上去。云资源层代表了处于云计算中心中的物理资源,包括了大量计算资源和存储资源,例如,超级计算机、集群、SAN等。如图3给出基于工作流的软件部署系统的模块结构示意图。如图3所示,Web客户端1包括了 5个子模块。其中,用户通过软件部署规划定义模块11来描述软件部署规划,最后生成软件部署规划文件,该文件详细地记录了软件组件和云资源节点之间的对应关系;对于需要在同一台机器上部署的多个软件且软件包之间存在依赖关系的情况,用户可以通过依赖软件流程定义模块12描述软件组件之间的安装次序(软件依赖实例见图6);另外,用户可以通过目标机器监控模块13查询信息中心四中的信息,来了解远程云资源节点的运行状态(例如节点正常、网络故障、软件故障、节点挂起等);对于向软件库21中新增加的每一个软件,本系统要求提供者通过软件描述模块14 来详细地填写软件的各项属性,包括软件名、版本号、所需的运行环境(最低CPU时钟频率、 最小内存需求、操作系统版本号、文件系统类型)等等,生成软件描述文件,其中详细软件描述模板见图4 ;通过本系统在远程云资源节点上部署好软件后,用户可以通过部署状态监控模块15查看信息中心四中的信息,进而查询软件组件的运行状态和软件部署记录。另外,软件库21提供大容量的磁盘存储空间,它用来存储常见的基础软件和应用软件,如Apache、Tomcat、Mysql等,当然,用户也可以上传与应用领域相关的软件与其他用户共享。如软件描述模块14所示,用户在上传某个软件包之前,需要根据软件描述模版(见图4)来提供详细的软件属性信息。信息中心四负责记录软件包信息、云资源物理节点属性和状态监控信息、软件实时部署记录等,以便用户查询相关信息。软件部署核心2是本系统的核心模块,它主要负责解析用户提交的软件部署规划文件,然后按照用户的部署规划,将软件包部署到远程的云资源节点上去,它主要包括以下七个子模块(22 观)软件重构工具22只针对远程节点为Windows环境的图形交互式安装软件。在通常情况下,这类软件需要人按照安装提示一步步地设置,最后软件会将一些系统相关信息写入注册表。如果没有相关工具相助,部署这类软件到成千上万台云资源节点上难度非常大。因此,用户只要完成该类软件在一台Windows节点上成功安装,软件重构工具22将提取该软件生成安装文件包、配置文件、注册表属性信息,然后生成安装镜像文件包,最后将软件镜像“克隆”到远端云计算节点上。值得注意的是,远端云资源节点上的操作系统须与被“克隆”的系统相兼容。普通用户通过部署软件包以构建云服务,然而,针对大量的目标机器节点,用户需要对目标机器在特定的时间段内拥有特定的控制权限。因此,目标机器管理模块23负责根据用户需求,在远程云资源中预留机器节点(即某个时间段内资源可供用户使用),并在目标节点上为用户创建逻辑用户并授权。另外,在每一台目标机器上,都部署了一个“探针 (probe) ”程序,它“心跳式(heart-beat) ”地向目标机器管理模块23报告该机器目前的实时状态信息,如CPU利用率、内存大小、网络状态等。接收到这些信息后,目标机器管理模块 23将其记录到信息中心四中,以便随时供目标机器监控模块13和部署状态监控模块15查询。部署管理器M接收来自软件部署规划定义模块11描述好的软件部署规划文件, 然后解析它,依照其定义,从软件库21中选择需要的软件包,然后通过数据传输模块沈将软件包传输到远端选择好的云资源节点上,并开启软件部署流程(单个软件包的部署流程见图幻。当一个软件包完成部署完成后,软件配置模块27执行软件描述文件中的配置脚本(Configuratior^cript,见图幻,以完成软件环境变量配置,如设置注册表、设置守护进程、开机服务加载、配置线程数目等。部署流程完成后,安装验证模块观执行验证脚本 (VerificationScript,见图幻来进行安装完整性和正确性验证。对于依赖软件部署的情形,工作流引擎25接收来自依赖软件流程定义模块12的描述文件,然后解析该文件获得依赖语义,然后依照其工作流逻辑进行软件部署。本系统中,工作流引擎25采用了开源的ActiveBPEL引擎。和单独软件部署相似的是,在依赖软件部署过程中,同样需要部署管理器M调用数据传输模块沈、软件配置模块27、安装检验模块观的服务。图4给出了本系统提供的一个通用的软件描述模版,该模版基于XMI^chema设计。依照该模版,软件提供者描述运行该软件所需配置的硬件系统和软件平台信息(包括须预先安装的依赖软件等)。这些信息包括软件名称(Name)、版本号(Version)、 软件运行环境配置要求(RunningEnvironment)、依赖软件(D印endentSoftware)、部署脚本(D印IoymentScript)、配置脚本(ConfigurationScript)、安装正确性验证脚本 (VerificationScript)、反部署脚本(Und印IoymenUcript)。其中,软件运行环境配置要求包括最低CPU频率(MinimumCPUClockRate)、最低内存容量(MinimumMemory)、最低可用磁盘空间(MinimumDiskCapacity)、最低网络带宽(MinimumNetworkBandwidth)、操作系统类型(OSVersion)、文件系统类型(FileSystem)。另外,依赖软件属性包括软件名(Name)、依赖软件版本(Version)、依赖软件是否已安装验证脚本(VerificationScript)。通过解析软件描述文件,本系统可以检验目标机器是否满足了安装该软件所必须的环境参数;如果是,本系统可以按照部署脚本进行自动化地安装该软件,安装完成后,能够对其是否安装成功进行验证。否则,系统则拒绝软件安装。图5给出了在远程目标节点正常的情况下(即远程节点上已经安装好了宿主操作系统,并配置好了网络),单个软件部署的基本过程,其主要包含以下几个步骤
(1)传输将用户指定的软件包从软件库中传输到目标机器;(2)解包在目标机器节点上解压缩软件包,分离出软件安装文件、配置属性文件、软件描述文件;(3)安装环境检查解析软件描述文件,根据软件运行环境配置要求检查软硬件属性,如CPU频率、磁盘容量、操作系统类型、文件类型等;(4)依赖软件检查解析软件描述文件,检查该软件的依赖软件是否已经成功安装;例如,Tomcat依赖于JDK,因此安装Tomcat前,需要先验证是否已经安装了 JDK ;(5)安装解析软件描述文件,依照软件部署脚本安装本软件;(6)配置软件完成后,根据软件描述文件,在远端节点上进行环境配置,如设置注册表、设置守护进程、开机服务加载、配置线程数目等;(7)启动环境配置完成后,启动软件进程,使软件处于运行态;(8)安装成功性验证软件进程被启动后,执行验证脚本,进行安装完整性和正确性验证,即检查软件是否如期望般成功运行,是否安装成功。其中,在三个检查验证环节,如果任何一个环节验证结果显示出现问题(如操作系统版本不符、所依赖的软件还未安装、安装成功性验证失败),安装流程将停止前进,并报告可能发生的异常。根据异常类型,故障排除程序将尝试解决,若故障被排除,则返回原验证环节,继续执行;否则,若故障无法排除,则向用户报告,请求人工解决。图6给出了一个软件之间存在依赖关系的实例示意图。在向一个远程目标机器上构建软件平台时,往往可能涉及多个软件包,而且,这些软件之间存在依赖关系的现象也非常普遍。在这种情况下,用户必须花费大量时间和精力依照依赖关系,按次序去部署这些依赖软件。例如,如图6所示,软件包php5-mysql的依赖关系具有4层次,共有8个依赖软件。本系统基于工作流技术,支持依赖软件自动部署。根据用户选择的软件列表,本系统分析每个软件的描述文档,并解析出软件之间的依赖关系,并自动生成DAG工作流定义。在工作流引擎的帮助下,本系统能够按照工作流定义自动部署存在依赖关系的多个软件包。因此,从宏观方面来看,本系统能够并发地向所有机器节点传输软件包,并可以并发执行软件部署;从微观方面来看,在每台物理节点上,倘若多个软件包之间存在依赖关系,则可以按照DAG工作流模型实施基于工作流的依赖软件部署。实例本系统使用了一个集群服务器的4个节点来安装。其系统实例软硬件配置如表1 所示。如表1所示,集群服务器的Nodel用来安装用户Web客户端(包括子模块11_15), Node2安装系统核心模块(包括子模块22-28),Node3用来安装软件库21,Node4用来安装信息中心四。表1系统实例软硬件配置表
权利要求
1.一种云计算环境下基于工作流的软件部署系统,其特征在于,包括用户接口层、系统逻辑层和云资源层;所述用户接口层是所述软件部署系统对外界用户提供的基于Web页面的使用接口,该用户接口层用于用户描述软件部署规划、定义软件之间的依赖关系、查询目标机器节点状态、描述软件属性和监控软件部署过程;所述系统逻辑层用于解析用户提交的软件部署规划文件,然后按照用户的部署规划, 将软件包部署到远程的云资源节点上; 所述云资源层用于软件部署。
2.如权利要求1所述的一种云计算环境下基于工作流的软件部署系统,其特征在于, 用户接口层包括Web客户端(l),Web客户端(1)包括软件部署规划定义模块(11)、依赖软件流程定义模块(1 、目标机器监控模块(13)、软件描述模块(14)和部署状态监控模块 (15);所述软件部署规划定义模块(11)用于描述软件部署规划,最后生成软件部署规划文件,该文件记录了软件组件和云资源节点之间的对应关系;所述依赖软件流程定义模块(1 用于描述软件组件之间的安装次序; 所述目标机器监控模块(1 用于了解远程云资源节点的运行状态; 所述软件描述模块(14)用于填写软件的各项属性,生成软件描述文件; 所述部署状态监控模块(1 用于查询软件组件的运行状态和软件部署记录。
3.如权利要求2所述的一种云计算环境下基于工作流的软件部署系统,其特征在于, 所述系统逻辑层包括软件库(21)、软件部署核心( 和信息中心09);所述软件库用于提供磁盘存储空间,来存储基础软件和应用软件; 所述信息中心09)用于记录软件包信息、云资源物理节点属性和状态监控信息、软件实时部署记录;所述软件部署核心( 用于解析用户提交的软件部署规划文件,然后按照用户的部署规划,将软件包部署到远程的云资源节点上去。
4.如权利要求3所述的一种云计算环境下基于工作流的软件部署系统,其特征在于, 所述软件部署核心( 包括软件重构工具0 、目标机器管理模块、部署管理器04)、 工作流引擎(25)、数据传输模块(沈)、软件配置模块(XT)和安装检验模块08);所述软件重构工具02)用于提取某一 Windows节点上的图形交互式安装软件生成的安装文件包、配置文件、注册表属性信息,然后生成安装镜像文件包,最后将软件镜像复制到远端云计算节点上;所述目标机器管理模块03)用于根据用户需求,在远程云资源中预留机器节点,并在目标节点上为用户创建逻辑用户并授权;所述部署管理器04)用于接收来自软件部署规划定义模块(11)描述好的软件部署规划文件,然后解析它,依照其定义,从软件库中选择需要的软件包,然后通过数据传输模块06)将软件包传输到远端选择好的云资源节点上,并开启软件部署流程;所述工作流引擎0 用于接收来自依赖软件流程定义模块(1 的描述文件,然后解析该文件获得依赖语义,然后依照其工作流逻辑进行软件部署;所述数据传输模块06)用于传输部署管理器04)从软件库中选择的软件包给远端选择好的云资源节点;所述软件配置模块(XT)用于执行软件描述文件中配置脚本,以完成软件环境变量配置;所述安装验证模块08)用于执行验证脚本来进行安装完整性和正确性验证。
5.如权利要求4所述的一种云计算环境下基于工作流的软件部署系统,其特征在于, 远端云计算节点的操作系统必须与所述软件重构工具02)提取的Windows节点的操作系统相兼容。
6.如权利要求4所述的一种云计算环境下基于工作流的软件部署系统,其特征在于, 每个目标节点心跳式地向目标机器管理模块03)报告该机器目前的实时状态信息。
7.如权利要求1所述的一种云计算环境下基于工作流的软件部署系统,其特征在于, 云资源层包括若干预先安装Windows或Linux操作系统的目标节点,目标节点须配置网络, Linux 系统开放 SSH 端口 22,Windows 系统开放 IPC 和 WMI 端口 139、445、135。
8.如权利要求4所述的一种云计算环境下基于工作流的软件部署系统的软件部署方法,其特征在于,包括以下步骤(1)、用户通过软件部署规划定义模块(11)来描述软件部署规划,最后生成软件部署规划文件,该文件详细地记录了软件组件和云资源节点之间的对应关系;部署管理器04) 接收来自软件部署规划定义模块(11)描述好的软件部署规划文件,然后解析它,依照其定义,从软件库中选择需要的软件包,然后通过数据传输模块06)将软件包传输到远端选择好的云资源节点上,并开启软件部署流程;(2)解包在选择好的云资源节点上解压缩软件包,分离出软件安装文件、配置属性文件、软件描述文件;(3)安装环境检查解析软件描述文件,根据软件运行环境配置要求检查软硬件属性;(4)依赖软件检查解析软件描述文件,检查该软件的依赖软件是否已经成功安装;(5)安装解析软件描述文件,依照软件部署脚本安装本软件;(6)配置软件完成后,根据软件描述文件,在远端节点上进行环境配置;(7)启动环境配置完成后,启动软件进程,使软件处于运行态;(8)安装成功性验证软件进程被启动后,执行验证脚本,进行安装完整性和正确性验证,即检查软件是否如期望般成功运行,是否安装成功。
9.如权利要求8所述的软件部署方法,其特征在于,步骤(3)中检查软硬件属性包括检查CPU频率、磁盘容量、操作系统类型、文件类型。
10.如权利要求8所述的软件部署方法,其特征在于,步骤(6)中在远端节点上进行环境配置包括设置注册表、设置守护进程、开机服务加载、配置线程数目。
全文摘要
本发明提供一种云计算环境下基于工作流的软件部署系统及部署方法,软件部署系统包括用户接口层、系统逻辑层和云资源层;用户接口层用于用户描述软件部署规划、定义软件之间的依赖关系、查询目标机器节点状态、描述软件属性和监控软件部署过程;系统逻辑层用于解析用户提交的软件部署规划文件,然后按照用户的部署规划,将软件包部署到远程的云资源节点上;云资源层用于软件部署。本发明具有以下优点支持Windows和Linux操作系统下的软件自动部署;提供软件部署完整性、正确性验证;基于工作流技术,支持依赖软件自动部署;支持多机并发传输和部署软件包,提高了部署效率;支持软件自动反部署。
文档编号G06F9/46GK102404381SQ20111025887
公开日2012年4月4日 申请日期2011年9月2日 优先权日2011年9月2日
发明者叶斌, 姚超, 张兴军, 曹海军, 朱霍, 樊源泉, 董小社, 赵旭, 马冬冬 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1