应用与服务的部署方法和装置的制造方法

文档序号:9923891阅读:267来源:国知局
应用与服务的部署方法和装置的制造方法
【技术领域】
[0001] 本发明实施例设及通信技术领域,尤其设及一种应用与服务的部署方法和装置。
【背景技术】
[0002] 平台即服务(英文:Plat化rm as a Service,简称化aS),是一种把服务器平台或 者开发环境作为服务进行提供的商业模式。目前,在业界当前的化aS平台中,都提出了应 用和服务的概念:服务提供特定接口及能力,应用依赖服务来提供满足用户需求的业务功 能。
[0003] W Cloud化un化y (Cloud化un化y是业界第一个开源化aS云平台,支持多种框 架、语言、运行时环境、云平台及应用服务,支持开发人员在短时间内完成应用的部署和扩 展)为例,用户所开发的应用通过绑定特定的服务实例来使用服务的能力,当部署应用时, Cloud化un化y将服务的访问信息(化edential)返回给应用,运样应用就可W访问服务并 使用服务能力了。但目前Cloud化uml巧仅支持应用绑定服务,而实际设计/开发的场景 中,应用与应用之间、服务与服务之间也会存在能力依赖的需求,运也是一个复杂应用/服 务环境的基本要求,任何一个完整的解决方案都需要满足该基本需求,即可W理解为现有 的Cloud化un化y只考虑单个应用如何访问单个服务的基本能力,而一个业务流程往往需 要由多个应用和服务配合才能最终达成用户需求,显然Cloud化un化y在运一领域存在很 大缺陷。
[0004] 另外,根据Cloud化Un化y的实现,在部署应用时需要声明所依赖的服务实例的访 问信息,云控制器(英文=Cloud Controller,简称:CC)会将服务实例的访问信息获取到, 并在创建应用的运行环境时,将访问信息通过环境变量的方式注入到该运行环境中。应用 启动时解析环境变量即可W得到所依赖的服务实例的访问信息。由此可见,使用运一技术 的前提是所依赖的服务实例已经在应用部署之前完成了部署,且当后续服务的访问信息发 生变化时,应用无法感知运一变化,从而会导致服务访问失败。 阳0化]综上所述,目前的Cloud化un化y仅支持应用绑定服务,无法定义应用与应用、月良 务与服务之间的依赖关系,从而无法实现在云环境下应用访问应用、服务访问服务的目标, 在运些场景下应用和服务如同一个个信息孤岛,运种情况下,不同的应用之间没有通道能 够发现和访问彼此能力的机制,无法串接形成一个复杂业务流程,各个服务也是独立的单 元,一个服务不能通过发现和访问其他服务来重用及构建更复杂的能力,导致重复开发W 及开发成本的上升,并且被依赖者的访问信息的变更无法告知依赖者,会导致应用后续访 问服务失败。因此,如何实现应用与应用、服务与服务之间的绑定,W及如何在被依赖者的 访问信息变更后告知依赖者是当前亟需解决的问题。

【发明内容】

[0006] 本发明实施例提供一种应用与服务的部署方法和装置,用W实现应用与应用、月良 务与服务之间的绑定,并解决被依赖者的访问信息变更后无法告知依赖者的问题。
[0007] 第一方面,提供一种应用与服务的部署方法,所述方法包括:
[0008] 获取预先编排的部署描述文件,所述部署描述文件中包括至少两个实体之间的依 赖关系;其中,所述至少两个实体中的任一实体为应用或服务;
[0009] 根据所述至少两个实体之间的依赖关系依次对所述至少两个实体进行部署;其 中,被依赖的实体的部署顺序优先于依赖所述被依赖的实体的部署顺序。
[0010] 结合第一方面,在第一种可能的实现方式中,所述至少两个实体之间的依赖关系 至少包括:第一实体依赖于第二实体,其中,所述第一实体和所述第二实体为所述至少两个 实体中的任意两个存在直接依赖关系的实体,则所述根据所述至少两个实体之间的依赖关 系依次对所述至少两个实体进行部署包括:
[0011] 根据所述至少两个实体之间的依赖关系确定所述第一实体和所述第二实体的部 署顺序,所述部署顺序为所述第一实体优先于所述第二实体;
[0012] 分别创建所述第一实体的实例和所述第二实体的实例,获取所述第一实体的资源 数据和所述第二实体的资源数据;
[0013] 根据所述第一实体的资源数据部署所述第二实体,获取所述第二实体的访问信 息;
[0014] 根据所述第二实体的资源信息部署所述第一实体,所述第二实体的资源信息包括 所述第二实体的资源数据和所述第二实体的访问信息。
[0015] 结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述分别 创建所述第一实体的实例和所述第二实体的实例,获取所述第一实体的资源数据和所述第 二实体的资源数据包括:
[0016] 创建所述第一实体的虚拟机和第一管理节点,其中所述第一管理节点运行在所述 第一实体的虚拟机上;
[0017] 通过所述第一管理节点创建所述第一实体的实例;
[0018] 获取所述第一实体的资源数据,所述第一实体的资源数据包括所述第一实体的虚 拟机信息和所述第一实体的实例的信息;
[0019] 创建所述第二实体的虚拟机和第二管理节点,其中所述第二管理节点运行在所述 第二实体的虚拟机上;
[0020] 通过所述第二管理节点创建所述第二实体的实例;
[0021] 获取所述第二实体的资源数据,所述第二实体的实例的资源数据包括所述第二实 体的虚拟机信息和所述第二实体的实例的信息。
[0022] 结合第一方面的第二种可能的实现方式,在第=种可能的实现方式中,所述根据 所述第一实体的资源数据部署所述第二实体,获取所述第二实体的访问信息包括:
[0023] 将所述第一实体的资源数据通过所述第二管理节点注入所述第二实体;
[0024] 通过所述第二管理节点对所述第一实体的资源数据在所述第二实体上进行持久 化处理;
[00巧]通过所述第二管理节点启动所述第二实体,使所述第二实体读取并配置所述第一 实体的资源数据;
[00%] 获取所述第二实体的访问信息,所述第二实体的访问信息包括所述第二实体的实 例的ID和所述第二实体的实例的访问凭证。
[0027] 结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述根据 所述第二实体的资源信息部署所述第一实体,所述第二实体的资源信息包括所述第二实体 的资源数据和所述第二实体的访问信息包括:
[0028] 将所述第二实体的资源信息通过所述第二管理节点注入所述第一实体;
[0029] 通过所述第一管理节点对所述第二实体的资源信息在所述第一实体上进行持久 化处理;
[0030] 通过所述第一管理节点启动所述第一实体,使所述第一实体读取并配置所述第二 实体的资源信息,W便所述第一实体根据所述第二实体的资源数据和所述第二实体的访问 信息访问所述第二实体。
[0031] 结合第一方面至第一方面的第四种可能的实现方式中的任意一种,在第五种可能 的实现方式中,还包括:
[0032] 当第=实体的资源信息更新时,获取所述第=实体的更新后的资源信息;所述第 =实体为所述至少两个实体中的任意一个实体;
[0033] 查询所述至少两个实体之间的依赖关系,确定依赖所述第=实体的第四实体;
[0034] 通过第=管理节点将所述第=实体的更新后的资源信息通知所述第四实体,所述 第=实体的更新后的资源信息包括所述第=实体的更新后的资源数据和所述第=实体的 更新后的访问信息,W便根据所述第四实体根据所述第=实体的更新后的资源数据和所述 第=实体的更新后的访问信息访问所述第=实体。
[0035] 第二方面,提供一种应用与服务的部署装置,所述装置包括:
[0036] 预编排单元,用于获取预先编排的部署描述文件,所述部署描述文件中包括至少 两个实体之间的依赖关系;其中,所述至少两个实体中的任一实体为应用或服务;
[0037] 部署单元,用于根据所述至少两个实体之间的依赖关系依次对所述至少两个实体 进行部署;其中,被依赖的实体的部署顺序优先于依赖所述被依赖的实体的部署顺序。
[0038] 结合第二方面,在第一种可能的实现方式中,所述至少两个实体之间的依赖关系 至少包括:第一实体依赖于第二实体,其中,所述第一实体和所述第二实体为所述至少两个 实体中的任意两个存在直接依赖关系的实体,所述部署单元包括:
[0039] 部署顺序确定单元,用于根据所述至少两个实体之间的依赖关系确定所述第一实 体和所述第二实体的部署顺序,所述部署顺序为所述第一实体优先于所述第二实体;
[0040] 创建单元,用于分别创建所述第一实体的实例和所述第二实体的实例,获取所述 第一实体的资源数据和所述第二实体的资源数据.
[0041] 实体部署单元,用于根据所述第一实体的资源数据部署所述第二实体,获取所述 第二实体的访问信息;
[0042] 根据所述第二实体的资源信息部署所述第一实体,所述第二实体的资源信息包括 所述第二实体的资源数据和所述第二实体的访问信息。
[0043] 结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述创建 单元具体用于:
[0044] 创建所述第一实体的虚拟机和第一管理节点,其中所述第一管理节点运行在所述 第一实体的虚拟机上;
[0045] 通过所述第一管理节点创建所述第一实体的实例;
[0046] 获取所述第一实体的资源数据,所述第一实体的资源数据包括所述第一实体的虚 拟机信息和所述第一实体的实例的信息;
[0047] 创建所述第二实体的虚拟机和第二管理节点,其中所述第二管理节点运行在所述 第二实体的虚拟机上;
[0048] 通过所述第二管理节点创建所述第二实体的实例
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1