软件功能的动态交付制造技术

技术编号:25233599 阅读:20 留言:0更新日期:2020-08-11 23:20
提供了一种允许不同应用容器中的多个应用共享软件功能的容器云平台。服务功能被容器化并从应用容器分离。容器化的服务被交付为用于在应用运行时调用服务功能的应用的胶囊。在操作对应的应用容器的主机计算设备处部署服务容器的图像。容器云平台监视所部署的服务容器的执行以及它们的终止。

【技术实现步骤摘要】
【国外来华专利技术】软件功能的动态交付
技术介绍

本披露总体上涉及用于开发和部署软件的工具。相关技术说明在敏捷DevOp(开发和操作)环境中,应用越来越多地被容器化。应用包括用于运行期望的软件的整个运行时环境:应用加上其所有依赖性、库和其他二进制文件以及运行软件的配置文件,被捆绑到一个包中。通过包含应用平台及其依赖性,OS分布和底层基础架构中的差异被抽象掉。应用容器的信息的完整集合是图像。图像是作为容器的快照的惰性不可变文件。用构建命令创建容器图像。当在主机机器或主机计算设备上部署或执行时,容器图像产生应用容器。
技术实现思路
本披露的一些实施例提供了一种容器云平台,该容器云平台允许不同应用容器中的多个应用共享软件功能。服务功能被容器化并从应用容器分离。容器化的服务被交付为用于在应用运行时调用服务功能的应用的胶囊。在操作对应的应用容器的主机计算设备处部署服务容器的图像。容器云平台监视所部署的服务容器的执行以及它们的终止。容器云平台包括监视主机计算设备集合的运行-脱离控制器。每个主机计算设备操作一个或多个应用容器。运行-脱离控制器识别具有与在主机计算设备中操作的应用容器匹配的元数据的胶囊图像。运行-脱离控制器将所识别的胶囊图像部署到主机计算设备作为胶囊容器。所部署的胶囊容器包括被匹配的应用容器的核心功能调用的服务功能。运行-脱离控制器基于服务功能的执行从主机接收退出代码。主机操作执行调用服务功能的核心功能的应用容器。主机接收包括服务功能的图像的胶囊图像。胶囊图像具有与应用容器匹配的元数据。主机基于胶囊图像启动胶囊容器,以执行由应用容器的核心功能调用的服务功能。在服务功能执行完成后,主机退出胶囊容器。前面的
技术实现思路
旨在用作对本披露的一些实施例的简要介绍。这并不意味着是本文件中公开的所有专利技术主题的介绍或概述。下面的具体实施方式以及在具体实施方式中参考的附图将进一步描述在
技术实现思路
中描述的实施方式以及其他实施方式。因而,为了理解本文档所描述的所有实施例,提供了
技术实现思路
、具体实施方式和附图。此外,所要求保护的主题内容不受
技术实现思路
、具体实施方式和附图中的说明性细节的限制,而是由所附权利要求书限定,因为所要求保护的主题内容可以在不背离本主题内容的精神的情况下以其他特定形式来体现。附图说明附图是示意性实施例。它们没有示出所有实施例。另外或替代地可以使用其他实施例。可省略可明显或不必要的细节以节省空间或用于更有效的说明。一些实施例可用附加的组件或步骤和/或不用示出的所有组件或步骤来实践。当相同的数字出现在不同的附图中时,它指代相同或相似的部件或步骤。图1概念性地示出了根据示范性实施例的将服务容器部署到操作应用容器的主机计算设备的容器云平台。图2概念性地展示了根据示范性实施例使用胶囊图像的元数据来标识匹配的应用程序容器。图3示出根据示例性实施例的胶囊图像的创建。图4概念性地展示了与示例性实施例一致的用于将胶囊图像作为用于应用容器中的核心功能的服务容器来执行的过程。图5概念性地示出了用于将服务功能的胶囊图像部署到运行使用服务功能的应用容器的主机的过程。图6示出根据本公开的说明性实施例的数据处理系统的组件的框图。图7示出了示例云计算环境。图8示出了与示范性实施例一致的云计算环境提供的功能抽象层的集合。具体实施方式在以下详细描述中,通过实例阐述了许多具体细节,以便提供对相关传授内容的透彻理解。然而,应当显而易见的是,可以在没有这样的细节的情况下实践本教导。在其他情况下,为了避免不必要地模糊本教导的各方面,以相对高水平没有细节地描述了公知的方法、过程、组件和/或电路。应用程序具有许多组件软件功能。这些功能中的一些可以被分类为核心功能,而其他功能可以被分类为服务或辅助软件功能。核心功能通常由应用开发者专门针对应用编写以定义应用。它们未被预先限定以供不同应用使用。服务或辅助功能支持核心功能的实现。它们通常是为了由不同应用(例如,作为库)使用而编写的预定义功能。一些服务功能是针对特定硬件平台的低级例程。此类次要或服务功能的示例包括周期性调用的功能,诸如NTP更新、数据备份、数据一致性检查功能。次要或服务功能的示例还包括偶发功能,诸如增加数据库表格的大小和选择性数据压缩或修剪功能。应用使用的辅助软件功能通常与应用的核心功能一起构建在同一个容器图像中。这导致膨胀的容器图像,其中图像的对应于公共辅助软件功能的部分被一次又一次构建。为了将次要功能从应用容器的图像中分离,本公开的一些实施例提供允许不同应用容器中的多个应用共享软件功能(例如,次要服务功能)的容器云平台。服务功能被容器化并从应用容器分离。容器化的服务被交付为用于在应用运行时调用服务功能的应用的胶囊。这些容器化的服务被称为服务容器。在操作对应的应用容器的主机计算设备处部署服务容器的图像。容器云平台监视所部署的服务容器的执行以及它们的终止。在一些实施例中,服务容器在主机计算设备处被部署为胶囊图像,因此服务容器也可被称为胶囊容器。容器云平台100由运行-脱离控制器110来管理和控制。运行-脱离控制器110与参与容器云平台100的主机计算设备101-103通信。计算设备101-103和运行-脱离控制器110可使用它们相应的网络接口来通过互联网、计算云、局域网或另一类型的通信介质彼此通信。运行-脱离控制器110是具有对图像注册表120的访问的计算设备,图像注册表120存储各种软件图像,包括用于不同服务功能的胶囊图像。当在运行应用容器的主机处部署时,胶囊图像作为服务容器被执行。运行-脱离控制器110监视主机101-103以寻找在那些计算设备中操作的应用容器。运行-脱离控制器110识别这些应用容器所需的服务功能,并将服务容器的相应胶囊图像部署到那些主机。在该实例中,容器云平台将胶囊图像A和B分派或部署到主机101,将胶囊图像B分派或部署到主机102,并且将胶囊图像A和C分派或部署到主机103。如图所示,主机计算设备101正在操作应用容器S、V、T和Z。这些应用容器的每一个的图像包括一个或多个核心功能的图像。然而,应用容器S、V和T的图像不包括用于运行核心功能的服务功能的图像或依赖性。在该实例中,应用容器S和V的核心功能涉及服务功能A,但是应用容器S和V的图像不包括服务功能A。应用容器T的核心功能涉及服务功能B,但是应用容器T的图像不包括服务功能B。相应地,容器云平台100的运行-脱离控制器110将用于服务功能A和服务功能B的胶囊图像部署到主机计算设备101。一旦胶囊图像被部署在主机中,则主机可以执行胶囊图像作为用于服务功能的服务容器。主机针对调用服务功能的核心功能运行服务功能。在图1的实例中,主101执行胶囊图像A作为用于服务功能A的服务容器A。这允许主机计算设备101利用服务功能A正确地执行应用容器S和V的核心功能。同样,主101执行胶囊图像B作为用于服务功能B的服务容器B。这允许主机计算设备101利用服务功能B正确地执行应用容器T的核本文档来自技高网
...

【技术保护点】
1.一种计算设备,包括:/n网络接口;/n处理器;以及/n存储指令集合的存储设备,其中所述处理器对所述指令集合的执行将配置所述计算设备以执行动作包括:/n操作执行调用服务功能的核心功能的应用容器;/n通过所述网络接口接收包括所述服务功能的图像的胶囊图像,所述胶囊图像具有与所述应用容器匹配的元数据;/n基于所述胶囊图像启动胶囊容器,以执行由所述应用容器的所述核心功能调用的所述服务功能;并且/n在所述服务功能执行完成后,退出所述胶囊容器。/n

【技术特征摘要】
【国外来华专利技术】20180103 US 15/861,2741.一种计算设备,包括:
网络接口;
处理器;以及
存储指令集合的存储设备,其中所述处理器对所述指令集合的执行将配置所述计算设备以执行动作包括:
操作执行调用服务功能的核心功能的应用容器;
通过所述网络接口接收包括所述服务功能的图像的胶囊图像,所述胶囊图像具有与所述应用容器匹配的元数据;
基于所述胶囊图像启动胶囊容器,以执行由所述应用容器的所述核心功能调用的所述服务功能;并且
在所述服务功能执行完成后,退出所述胶囊容器。


2.如权利要求1所述的计算设备,其特征在于,启动所述胶囊容器以执行所述服务功能包括启动在所述应用容器的命名空间中运行所述服务功能的服务线程。


3.根据权利要求1所述的计算设备,其中,启动胶囊容器以执行所述服务功能包括执行被配置为与控制器计算设备通信的所述胶囊图像的管理脚本并且调用所述服务功能的默认入口点。


4.根据权利要求1所述的计算设备,其中所述应用容器是调用所述服务功能的多个应用容器中的一个应用容器,其中所述多个应用容器中的每个应用容器匹配所述胶囊图像的所述元数据。


5.如权利要求4所述的计算设备,其中,用于所述服务功能的多个服务线程针对所述多个应用容器并行地执行。


6.如权利要求4所述的计算设备,其中,所述胶囊图像的所述元数据包括是否允许所述服务功能的多个线程针对所述多个应用容器并行地执行的指示。


7.如权利要求1所述的计算设备,其中,所述胶囊图像的所述元数据包括所述胶囊图像是否通过安全评估的指示。


8.根据权利要求1所述的计算设备,其中,所述应用容器的图像不包括所述服务功能。


9.如权利要求1所述的计算设备,其中:
该胶囊图像是从控制器计算设备接收的,并且
退出所述胶囊容器包括向所述控制器计算设备报告退出代码。


10.如权利要求1所述的计算设备,其特征在于,所述应用容器是第一应用容器,所述服务功能是第一服务功能,并且所述胶囊图像是第一胶囊图像,其中所述处理器执行所述指令集合还配置所述计算设备执行包括以下的动作:
接收包括第二服务功能的第二胶囊图像,其不同于所述第一胶囊图像和所述第一服务功能,其中所述第二胶囊图像包括将第二应用容器与所述第二服务功能匹配的元数据;并且
启动所述第二胶囊图像以执行用于所述第二应用容器的核心功能的所述第二服务功能。


11.一种计算设备,包括:
一个或多个处理单元的集合;并且
存储设备,所述存储设备存储指令集合,其中,由所述处理单元集合执行所述指令集合将所述计算设备配置为执行动作,所述动作包括:
通过所述网...

【专利技术属性】
技术研发人员:S·纳德戈达C·伊什奇
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1