一种程序模块部署的方法和系统的制作方法

文档序号:8445419阅读:394来源:国知局
一种程序模块部署的方法和系统的制作方法
【技术领域】
[0001] 本发明涉及软件部署,更具体地涉及一种程序模块部署的方法和系统。
【背景技术】
[0002] PaaS(Platform-as-a-Service平台即服务)是把服务器平台作为一种服务提供 的商业模式。在云计算环境中,云计算服务器平台或者开发环境作为服务提供给用户就成 为了PaaS(PlatformasaService)。
[0003] 图4示意性示出了一个云计算平台400,该云计算就是一个PaaS平台,PaaS供应 商就需要提供如图4所示的云计算平台400,有了这样的PaaS平台,客户端(图4未示出客 户端)就可以向云计算平台400发送请求,例如该请求要求安装程序模块A、程序模块B、程 序模块C以及程序模块D这四个软件的软件环境的环境来为客户服务。收到这样的请求, 云计算平台400会根据现有平台中可用的资源通过网络401创建虚拟机,例如创建了虚拟 机1和虚拟机2,然后在虚拟机1和虚拟机2上安装上述要求的程序模块,以后,客户端就可 以通过网络401,直接与虚拟机1和虚拟机2相连,并利用虚拟机1和虚拟机2上安装的软 件资源为自己服务。
[0004] 云计算平台400创建了虚拟机后在虚拟机上安装、配置并启动上述要求的程序模 块的过程称为程序模块的部署过程。在云计算平台对虚拟机部署过程中,上述程序模块之 间一般存在数据的依赖性,例如,图5示出了具有三个虚拟机VM0-VM3、其中的三个需要安 装的程序模块的数据依赖关系,其中,DeploymentMgr(服务器管理)程序模块和Create Datasource(创建数据源)程序模块要被部署在同一个虚拟机上,该虚拟机的主要功能是 负责管理多个StandaloneWASServer(应用服务器)节点,并且负责为多个Standalone WASServer程序模块实现数据源连接功能,该功能由CreateDatasource(创建数据源) 程序模块完成。根据诸如上述的要求,三个虚拟机VM0、VMl和VM2被创建。虚拟机VMO是 一个独立服务器,上面需要安装StandaloneWASServer程序模块以及JDBCDriver程序 模块;虚拟机VMl是一个管理服务器,上面需要安装DeploymentMgr程序模块以及Create Datasource程序模块;虚拟机VM2是一个数据库服务器,上面需要安装DB2SerVer程序模 块以及CreateDatabase程序模块;并且其中,StandaloneWASServer程序模块需要来自 DeploymentMgr程序模块的IP地址、端口(port)、节点名称(Cellname)、注册协议类型 (RegistryprotocolType)等信息,这样,StandaloneWASServer程序模块才能将自己注 册到DeploymentMgr程序模块;虚拟机VMl中的CreateDatasource程序模块需要来自 DB2Server程序模块的JDBC入口点的信息,这样CreateDatasource程序模块才能和数据 库建立连接。也就是说,StandaloneWASServer程序模块和DeploymentMgr程序模块之 间具有数据依赖关系;CreateDatasource程序模块和DB2Server程序模块之间具有数据 依赖关系。
[0005] 这些程序模块安装完毕运行时,需要特定的启动顺序来确保整个服务部署的成 功。图6示出了图5示例的程序模块的启动顺序。在该示例中,例如,CreateDataSource(创 建数据源)程序模块需要修改D印loymentMgr(服务器管理)程序模块的一些数据源配置 信息,因此CreateDataSource程序模块需要在DeploymentMgr程序模块之后启动,并且 也需要服务器管理节点的安装路径等信息。即根据数据的依赖性,必须要启动D印Ioyment Manager程序模块和DB2Server程序模块后才能启动CreateDatasource程序模块;并 且,必须启动DB2Server程序模块后才能启动CreateDatabase程序模块;必须要启动 DeploymentManager程序模块后才能启动StandaloneWASServer程序模块,然后才能启 动InstallJDBCDriver程序模块。
[0006] 现有技术中,上述的数据依赖性以及启动顺序需要云服务提供者开发特别的代码 逻辑来实现数据依赖性以及启动顺序,这使得程序员的开发工作变得非常复杂,并且工作 量很大。

【发明内容】

[0007] 因此,对于彼此间具有数据依赖性以及启动顺序要求的多个程序模块的部署,需 要一种自动的部署方法,控制模块之间的依赖关系和启动顺序,从而减少应用开发人员服 务程序开发的工作量。
[0008] 根据本发明的一个方面,提供了一种程序模块部署的方法,包括:
[0009] 获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的 启动顺序;
[0010] 响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该程序模块所依 赖的数据并且安装配置该程序模块;
[0011] 响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序模块完成启 动,启动该程序模块。
[0012] 根据本发明的另一个方面,提供了一种程序模块部署的系统,包括:
[0013] 获得模块,被配置为获得该程序模块与要部署的多个程序模块之间具有的数据依 赖关系以及特定的启动顺序;
[0014] 依赖验证模块,被配置为响应于对该程序模块进行安装配置,根据所述数据依赖 关系得到该程序模块所依赖的数据;
[0015] 安装配置模块,被配置为安装配置该程序模块;
[0016] 启动模块,被配置为响应于所述特定的启动顺序中要求在该程序模块启动前启动 的程序模块完成启动,启动该程序模块。
【附图说明】
[0017] 通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。
[0018] 图1表示根据本发明一实施例的云计算节点;
[0019] 图2表示根据本发明一实施例的云计算环境;
[0020] 图3表示根据本发明一实施例的抽象模型层;
[0021] 图4示意性示出了一个云计算平台;
[0022] 图5示出了具有三个虚拟机VM0-VM3、三个需要安装的程序模块的数据依赖关系;
[0023] 图6示出了图5示例的程序模块的启动顺序;
[0024] 图7示意性示出了根据本发明的一种实施方式的程序模块部署的方法的流程图;
[0025] 图8给出了一种示意性的图形用户界面,用于编辑要部署的多个程序模块之间的 数据依赖关系;
[0026] 图9示出了要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的 图形所示的概述文件;以及
[0027] 图10示出了根据本发明的一种实施方式的一种程序模块部署的系统的结构框 图。
【具体实施方式】
[0028] 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整的传达给本领域的技术人员。
[0029] 首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案 的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环 境而实现。
[
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1