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

文档序号:8445419阅读:来源:国知局
12还可以通过网络适配器20与一个或者多个网 络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络 适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未 示出,其它硬件和/或软件模块可以与计算机系统/服务器12 -起操作,包括但不限于:微 代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份 存储系统等。
[0056]现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包 括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地 计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C 和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上 所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计 算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上 维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/ 或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算 节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计 算设备(例如使用网络浏览器)通信。
[0057] 现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应 当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图 3所示,提供下列层和对应功能:
[0058] 硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如IBM?zSeries?系统;基于RISC(精简指令集计算机)体系结构的服务器,例如 IBMpSeries? 系统;jBMxSeries? 系统;ffiMBladeCenter?系统;存储设备;网络 和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBMWebSphere?应用服 务器软件;数据库软件,例如IBMDB2?数据库软件。(IBM,zSeries,pSeries,xSeries, BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
[0059] 虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚 拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
[0060] 在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算 环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对 资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软 件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户 门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云 计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为 根据SLA预测的对云计算资源未来需求提供预先安排和供应。
[0061] 工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作 负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提 供;数据分析处理;交易处理。
[0062] 为了解决本发明提出的问题,云计算平台在管理层,也就是图3的64层开发一种 程序模块部署的方法,在创建至少一个虚拟机后,将实现该方法的软件安装到创建的至少 一个虚拟机中,所述程序模块部署方法在云计算平台响应请求而创建的至少一个虚拟机中 执行,并且所述至少一个虚拟机部署该请求要求的多个程序模块。通过这些虚拟机的协调 工作,从而完成用户要求的服务的部署。这里,部署程序模块包括安装该程序模块、对该程 序模块进行参数配置以及启动该程序模块的过程。
[0063] 根据本公开的一种【具体实施方式】,公开了一种程序模块部署的方法,该方法是云 计算平台创建的虚拟机在运行时执行的方法。图7示意性示出了根据本发明的一种实施方 式的程序模块部署的方法的流程图,根据图7,该方法包括:
[0064] 在步骤S701,获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系 以及特定的启动顺序;
[0065] 在步骤S702,响应于对该程序模块进行安装配置,根据所述数据依赖关系得到该 程序模块所依赖的数据并且安装配置该程序模块;
[0066] 在步骤S703,响应于所述特定的启动顺序中要求在该程序模块启动前启动的程序 模块完成启动,启动该程序模块。这样,就完成该程序模块的部署。
[0067] 例如,在图5所示的例子中,有三个虚拟机,6个程序模块,每个虚拟机各自执行上 述方法,就可以将所有的程序模块部署完毕,用户就可以使用。
[0068] 在一种实施方式中,本领域技术人员可以采用编辑器编辑的方式来描述要部署的 多个程序模块之间的数据依赖关系以及特定的启动顺序。在一种具体的实施方式中,可以 为用户提供图形用户界面,然后用户采用拖拽的方式来表达要部署的多个程序模块之间的 数据依赖关系以及特定的启动顺序,再将用户通过图形用户界面给出的要部署的多个程序 模块之间的数据依赖关系以及特定的启动顺序转换成文本或者脚本语言或者规定的其他 形式。图8给出了一种示意性的图形用户界面,用于编辑要部署的多个程序模块之间的数 据依赖关系,其中,标注有in的程序模块依赖于标注有out的程序模块中的数据,箭头连接 表示二者之间的依赖关系。显而易见,CreateDatasource程序模块在启动之前,需要数据 源IP,Port等信息,该信息将由DB2SerVer(数据服务器)程序模块负责输出,将此处的关 系定义为依赖关系,即一个源模块(如CreateDatasource)依赖于另外一个目标模块(如 DB2SerVer)所输出的信息,源模块只有从目标模块获取所依赖的信息后,该源模块才能够 执行。又例如,StandaloneWASServer程序模块依赖于DeploymentMgr程序模块,需要从 DeploymentMgr程序模块导入数据,如IP地址、端口(port)、节点名称(Cellname)、注册协 议类型(RegistryprotocolType)等。双击图8中的箭头,用户就可以在对话框中声明需 要导入的数据的属性值,并且编辑导入数据的属性值。同时,用户对于特定的程序模块,也 可以声明该程序模块的特定属性等,这里不再赘述。对于图8所示的图形用户界面,可以生 成如图9所示的要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的图形 所示的概述文件。
[0069] 另外,要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的概述文 件也可以用文本或者角本语言来描述,或者采用本领域技术人员所知的任何其他形式描 述,可以制定不同的描述规则,以便进行传递。本领域技术人员应该了解,上述的使用图形 用户界面进行编辑、使用图形概述文件表达都是为了用户使用方便,其实完全可以使用文 本编辑器直接编辑要部署的多个程序模块之间的数据依赖关系以及特定的启动顺序的文 本或脚本文件。
[0070] 以下以CreateDataSource程序模块和DB2Server程序模块为例,给出使用脚本 语言年描述的两个程序模块之间的数据依赖关系以及特定的启动顺序。
[0071] 对于CreateDataSource程序模块的依赖及启动时序的描述为:
[0072]
【主权项】
1. 一种程序模块部署的方法,包括: 获得该程序模块与要部署的多个程序模块之间具有的数据依赖关系以及特定的启动 顺序; 响应于对该程序模
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1