CN111527474B - 软件功能的动态交付 - Google Patents
软件功能的动态交付 Download PDFInfo
- Publication number
- CN111527474B CN111527474B CN201880083614.7A CN201880083614A CN111527474B CN 111527474 B CN111527474 B CN 111527474B CN 201880083614 A CN201880083614 A CN 201880083614A CN 111527474 B CN111527474 B CN 111527474B
- Authority
- CN
- China
- Prior art keywords
- capsule
- image
- computing device
- service function
- container
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000006870 function Effects 0.000 title claims abstract description 192
- 238000012384 transportation and delivery Methods 0.000 title description 4
- 239000002775 capsule Substances 0.000 claims abstract description 163
- 238000003860 storage Methods 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000009172 bursting Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Abstract
提供了一种允许不同应用容器中的多个应用共享软件功能的容器云平台。服务功能被容器化并从应用容器分离。容器化的服务被交付为用于在应用运行时调用服务功能的应用的胶囊。在操作对应的应用容器的主机计算设备处部署服务容器的图像。容器云平台监视所部署的服务容器的执行以及它们的终止。
Description
背景技术
技术领域
本披露总体上涉及用于开发和部署软件的工具。
相关技术说明
在敏捷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的核心功能。
在一些实施例中,对于使用服务功能的每个应用容器,对应的服务容器启动运行应用容器的服务功能的实例的服务线程。当服务线程完成其操作时,主机通过终止其对应的服务线程来退出服务功能的每个实例。由于服务容器中的服务功能的线程一旦完成服务功能的运行就退出,因此服务容器的胶囊图像被称为运行-脱离胶囊(REC)。容器云平台100的控制器110被称为运行-脱离控制器,因为它监视和控制每个运行-脱离胶囊的执行和终止。
在一些实施例中,服务功能的实例的每个服务线程在调用服务功能的实例的应用容器的命名空间中操作。如图所示,服务容器A在应用容器S的命名空间中操作服务功能A的第一实例131的第一服务线程。服务容器A还操作应用容器V的命名空间中的服务功能A的第二实例132的第二服务线程。由于服务功能A的两个实例131和132在不同的命名空间中操作,所以用于应用容器S的服务功能A的操作将不会干扰用于应用容器V的服务功能A的操作,反之亦然。类似地,服务容器B在应用容器T的命名空间中操作服务功能B的实例141的服务线程。
在一些实施例中,主机可以并行地针对不同的应用容器操作服务功能的不同实例。主机还可以在任何给定时间仅操作服务功能的一个实例,使得调用服务功能的每个应用容器必须等待其轮次来运行服务功能(例如,顺序地或迭代地)。
胶囊图像的部署允许应用容器的图像仅承载核心功能而不承载服务功能及其依赖性。胶囊图像的部署还允许同一主机中的不同应用容器共享同一服务功能图像。并且,容器云平台可以向不同的主机部署相同的胶囊图像,使得不同主机中的应用容器可以调用相同的服务功能,而不必将服务功能携带在它们的容器图像中。在图1的实例中,运行-脱离控制器110将胶囊图像A部署到主机101和103两者,将胶囊图像B部署到主机101和102两者。
在一些实施例中,每个胶囊图像与元数据组相关联。胶囊图像的元数据提供标签或标记,接收胶囊图像的主机可使用所述标签或标记来识别匹配胶囊图像的服务功能的应用容器。胶囊图像的元数据还允许运行-脱离控制器110识别运行匹配的应用程序容器的主机。
图2概念性地展示了根据示范性实施例使用胶囊图像的元数据来标识匹配的应用容器。如图所示,胶囊图像A、B和C在图像注册表处120注册,图像注册表处120可由容器云平台100的运行-脱离控制器110访问。运行-脱离控制器110监视若干应用容器S、T、U、V、W、X和Y。这些应用容器在诸如主机101-103(未示出)的主机中操作。每个胶囊图像可以包括服务功能的图像、胶囊管理脚本和元数据。
胶囊图像A包括服务图像211、胶囊管理脚本212和元数据213。
服务图像211是服务功能的图像,所述服务功能能够执行以运行胶囊图像A的服务功能。
胶囊管理脚本212管理部署胶囊图像的运行-脱离控制器110与接收部署的胶囊图像的主机之间的通信。胶囊管理脚本212还被配置成用于调用默认入口点。胶囊管理脚本212允许运行-脱离控制器110与胶囊容器通信以进行管理活动。例如,运行-脱离控制器110可调用胶囊管理脚本以查询在服务容器内部运行的服务功能的状态。
元数据213包括胶囊标签221集合。胶囊标签221集合指定用于标识针对胶囊图像A的服务功能的匹配应用容器的标准。胶囊标签221的集合指定“OS=ubuntu”,即,使用Ubuntu操作系统。这匹配使用Ubuntu操作系统(“OS=ubuntu”)的应用容器S、V和Y。运行-脱离控制器110进而将胶囊图像A部署到操作应用容器S、V或Y的主机(例如,主机101和103)。
除了胶囊标签221的集合之外,胶囊图像的元数据213还包括诸如服务功能220的标识符、约束参数222和安全评估标志223的信息。约束参数222指示主机是否能够并行地操作针对不同应用容器的服务功能的不同实例,或者在任何给定时间服务功能的仅一个实例。安全评估标志223是胶囊图像通过还是未通过安全测试的指示。运行-脱离控制器110可使用该标志来确定是否限制针对某些应用容器的该服务功能的执行。这确保了正在执行的服务功能的安全性。
图2还示出了胶囊图像B和C的内容。胶囊图像B的胶囊标签集合指定“OS=rhel,app=db2”。这匹配应用容器T和W,因此运行-脱离控制器110将胶囊图像B部署到操作应用容器T或W的主机。胶囊图像C的胶囊标签指定“app=kafka”。这匹配应用容器U、X和Y,因此运行-脱离控制器110将胶囊图像C部署到操作应用容器U、X或Y的主机。
值得注意的是,一个应用容器可以使用来自多个不同胶囊图像的服务功能。在该实例中,应用容器Y匹配胶囊A和C两者的胶囊标签(OS=ubuntu且app=kafka),因此运行-脱离控制器110在操作应用容器Y的主机处部署胶囊图像A和C两者。
图3示出根据示例性实施例的胶囊图像的创建。服务容器的胶囊图像是基于开发者提供的服务功能的代码或定义来创建的。将创建的胶囊图像注册到图像注册表120以供运行-脱离控制器110检索,运行-脱离控制器110将胶囊图像部署到在主机中操作的应用容器。该图示出了标记为‘1’至‘6’的六个阶段中的胶囊图像的创建和配准。
在第一阶段(标签为‘1’),开发者计算设备301接收服务功能的规范或内容(例如,代码)。
在第二阶段(标签为‘2’),开发者计算设备301创建用于接收的服务功能的服务图像305。用构建命令创建服务图像305以包括服务功能所需的所有依赖关系和库。开发者计算设备还指定用于调用服务功能的开始脚本或默认入口点306。开发者计算设备还指定标签307,其标识应当由容器云平台监视的哪些应用容器接收服务图像。服务图像305、入口点306和标签307作为docker图像320存储在图像注册表120中。docker图像是docker容器的图像,其是开源软件开发平台。docker容器允许服务功能在运行Linux操作系统(OS)的任何系统之间是可移植的。
在第三阶段(标签为‘3’),运行-脱离控制器110从图像注册表处120检索docker图像320。
在第四阶段(标签为‘4’),运行-脱离控制器110创建包裹服务图像的胶囊图像310。运行-脱离控制器110用被配置成调用服务图像的默认入口点的胶囊管理脚本(例如,212)重写服务图像的默认入口点。运行-脱离控制器110还执行新创建的胶囊图像的安全或弱点评估。安全评估的结果作为安全评估标志(例如,223)被包括在胶囊图像(其包括服务图像)的元数据中。
在第五阶段,运行-脱离控制器110将新创建的胶囊图像310存储或注册到图像注册表120中。胶囊图像310包括服务功能的图像、胶囊管理脚本和服务功能的元数据。服务功能的元数据包括胶囊标签、约束条件和安全评估结果标志。在一些实施例中,运行-脱离控制器110仅注册或存储通过安全评估的胶囊图像。
在第六阶段,胶囊图像310被登记在图像寄存器120处,以供运行-脱离控制器110随后检索和部署。来自其他开发者计算设备(例如302)的其他服务功能的其他服务图像也可由运行-脱离控制器110处理以创建其他胶囊图像。
图4概念性地展示了与示例性实施例一致的用于将胶囊图像作为服务容器来执行以用于应用容器中的核心功能的过程400。在一些实施例中,主机(例如,101)在操作应用容器并与容器云平台的运行-脱离控制器110通信时执行过程400。在一些实施例中,主机的一个或多个处理单元(例如,处理器)通过执行存储在计算机可读介质中的指令来执行过程400。
主机操作(在410)应用容器并且执行取决于(或调用)服务功能的应用的核心功能。主机还可以操作具有其他核心功能的其他应用容器。主机与运行-脱离控制器110通信,使得运行-脱离控制器110可学习哪些应用容器正在主机中操作以及它们的核心功能需要哪些服务功能。
主机接收(在420)来自运行-脱离控制器110的胶囊图像。胶囊图像包括服务功能的图像(或服务图像)及其依赖性关系。胶囊图像具有元数据,该元数据具有使服务功能与使用服务功能的应用容器匹配的标签。
主机执行(在425)胶囊图像的胶囊管理脚本。胶囊管理脚本管理主机和配置胶囊图像的运行-脱离控制器之间的通信。所述管理脚本还被配置为调用所述服务功能的默认入口点。
主机基于胶囊图像启动(在430)服务线程以执行由应用容器的核心功能调用的服务功能。在一些实施例中,服务线程例如是在一个应用容器的命名空间中操作的服务功能的一个实例,使得服务线程的操作不会干扰主机中的其他容器的操作。胶囊图像的元数据中的约束参数(例如,222)可以允许主机针对不同的应用容器并行地操作服务功能的不同实例(例如,作为服务线程131和132)或限制主机一次仅操作服务功能的一个实例。
在线程完成其对应用容器的操作之后,主机退出(在440)服务线程。在一些实施例中,主机还向运行-脱离控制器110报告退出代码。如果应用容器需要的话,主机上的胶囊容器可以重新触发服务线程。
在将服务功能应用于所有可应用的应用容器之后(或者当运行-脱离控制器110指示主机强制退出应用容器时),主机(在450)退出服务容器(胶囊容器)。然后过程400结束。
图5概念性地示出了用于将服务功能的胶囊图像部署到运行使用服务功能的应用容器的主机的过程500。在一些实施例中,当运行-脱离控制器110监视远程主机以寻找取决于服务功能的应用容器时,运行-脱离控制器110执行过程500。在一些实施例中,运行-脱离控制器110的一个或多个处理单元(例如,处理器)通过执行存储在计算机可读介质中的指令来执行过程500。
运行-脱离控制器110监控(在510)远程主机计算设备集合,每个主机计算设备操作具有依赖于服务功能的核心功能的一个或多个应用容器。
运行-脱离控制器110识别(在520)具有与在主机之一中操作的应用容器匹配的元数据的胶囊图像。在一些实施例中,该匹配基于胶囊图像的元数据中的胶囊标签(例如,221)。标签可由开发者(例如,301)处的服务功能的开发者或由运行-脱离控制器110插入。在一些实施例中,运行-脱离控制器110基于安全评估标志(例如,223)确定是否部署胶囊图像,使得将不部署未通过安全评估的云图像。
运行-脱离控制器110(在530)将所识别的胶囊图像部署在将匹配的应用容器操作为服务容器的主机中。该服务容器(或胶囊容器)包括由匹配的应用容器的核心功能调用的服务功能。
运行-脱离控制器110从主机接收(在540)退出代码。退出代码指示针对一个应用容器或针对使用该服务功能的所有应用容器的服务功能的完全执行。在一些实施例中,如果在阈值时间段内未能从主机接收到退出代码,或者如果退出代码指示服务功能的执行具有错误,则运行-脱离控制器110向管理员报告。过程500然后结束。
虽然未示为过程500的一部分,但运行-脱离控制器110还从图像注册表120检索服务图像并在过程500的操作期间修改它们以成为胶囊图像。如以上参考图3所述,运行-脱离控制器110检索服务图像以创建包裹服务图像的胶囊图像。服务图像的默认入口点用胶囊管理脚本重写。运行-脱离控制器110还执行新创建的胶囊图像的安全或弱点评估。在图像注册表处120注册新创建的胶囊图像。
示例电子系统
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图(即图4,图5)中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
图6展示根据本发明说明性实施例的可用以实施运行-脱离控制器110或主机(例如,101)的数据处理系统600和650的组件的框图。应了解,图6仅提供一个实施例的说明且不暗示关于其中可实施不同实施例的环境的任何限制。可以基于设计和实现要求对所描绘的环境进行许多修改。
数据处理系统600和650代表能够执行机器可读程序指令的任何电子设备。数据处理系统600和650可以代表智能电话、计算机系统、PDA或其他电子设备。可由数据处理系统600和650表示的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、网络PC、小型计算机系统和包括任何上述系统或设备的分布式云计算环境。
数据处理系统600和650可以包括图6中所示的一组内部组件600和一组外部组件650。该组内部组件600包括一个或多个处理器620、在一个或多个总线626上的一个或多个计算机可读RAM622和一个或多个计算机可读ROM624、以及一个或多个操作系统628和一个或多个计算机可读有形存储设备630。一个或多个操作系统628和程序(诸如用于执行过程400和500的程序)存储在一个或多个计算机可读有形存储设备630上,以便由一个或多个处理器620经由一个或多个RAM622(其通常包括高速缓冲存储器)来执行。在图6所示的实施例中,计算机可读有形存储设备630中的每个是内部硬盘驱动器的磁盘存储设备。或者,计算机可读有形存储装置630中的每一者为半导体存储装置,例如ROM624、EPROM、快闪存储器或可存储计算机程序和数字信息的任何其他计算机可读有形存储装置。
该内部组件600集合还包括R/W驱动器或接口632,用于从一个或多个便携式计算机可读有形存储设备686(诸如CD-ROM、DVD、记忆棒、磁带、磁盘、光盘或半导体存储设备)读取和向其写入。用于执行过程400和500的指令可存储在相应的便携式计算机可读有形存储设备686中的一个或多个上,经由相应的R/W驱动器或接口632读取并加载到相应的硬盘驱动器630中。
该内部组件600集合还可以包括网络适配器(或交换机端口卡)或接口636,如TCP/IP适配器卡、无线Wi-Fi接口卡、或3G或4G无线接口卡或其他有线或无线通信链路。上述过程或程序的指令可以经由网络(例如,互联网、局域网或其他广域网)和相应的网络适配器或接口636从外部计算机(例如,服务器)下载。从网络适配器(或交换机端口适配器)或接口636,所描述的程序或过程的指令和数据被加载到相应的硬盘驱动器630中。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。
该组外部组件650可包括计算机显示监视器670、键盘680和计算机鼠标684。该组外部组件650还可包括触摸屏、虚拟键盘、触摸板、定点设备和其他人机接口设备。该组内部组件600还包括用于与计算机显示监视器670、键盘680和计算机鼠标684接口的设备驱动器640。设备驱动器640、R/W驱动器或接口632以及网络适配器或接口636包括硬件和软件(存储在存储设备630和/或ROM624中)。
云计算环境
应当理解,尽管本披露包括关于云计算的详细描述,但本文所引用的传授内容的实现方式不限于云计算环境。相反,本公开的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速配置和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
示例特征:
按需自助服务:云消费者可按需单方面地供应计算能力,诸如服务器时间和网络存储--自动地而无需与服务的提供者的人类交互。
广泛的网络接入:能力在网络上是可用的并且通过标准机制来访问,所述标准机制促进由异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被池化以使用多租户模型服务于多个消费者,其中不同的物理和虚拟资源根据需要被动态地指派和重新指派。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制或知识,但可能能够在较高抽象层级(例如,国家、州或数据中心)处指定位置。
快速弹性:可以快速且弹性地提供能力(在一些情况下,自动地)以快速缩小并且快速释放以快速放大。对于消费者,可用于供应的能力通常显得不受限制,并且可以在任何时间以任何数量购买。
测量的服务:云系统通过利用适于服务类型(例如,存储、处理、带宽和活动用户账户)的某种抽象级别的计量能力来自动控制和优化资源使用。可监视、控制和报告资源使用,从而为所利用的服务的提供者和消费者两者提供透明度。
示例服务模型:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至个体应用能力的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
平台即服务(PaaS):向消费者提供的能力是在云基础结构上部署消费者创建或获取的应用,所述应用是使用提供者所支持的编程语言和工具来创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。基础设施即服务(IaaS):提供给消费者的能力是提供消费者能够部署和运行可包括操作系统和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作系统、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
部署模型:
私有云:云基础结构仅为组织操作。它可由组织或第三方管理,并且可存在于场所内或场所外。
社区云:云基础结构由若干组织共享并且支持具有共享的关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可由组织或第三方管理,并且可存在于场所内或场所外。
公共云:使云基础结构对公众或大型产业组可用并且由销售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共的)的组成,这些云保持唯一实体但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用便携性(例如,用于云之间的负载平衡的云突发)。
云计算环境是面向服务的,集中于状态、低耦合、模块性和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图7,描绘了说明性云计算环境750。如图所示,云计算环境750包括一个或多个云计算节点710,云消费者使用的本地计算设备(诸如个人数字助理(PDA)或蜂窝电话754A、台式计算机754B、膝上型计算机754C和/或汽车计算机系统754N)可与云计算节点710通信。节点710可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境750提供基础结构、平台和/或软件作为云消费者不需要维护本地计算设备上的资源的服务。应理解,图7中所示的754A-N的类型旨在仅是说明性的,并且计算节点710和云计算环境750可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
现在参见图8,示出了由(图7的)云计算环境750提供的一组功能抽象层。应理解,图8中所示的组件、层和功能仅旨在是说明性的,且本公开的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层860包括硬件和软件组件。硬件组件的示例包括:主机861;基于RISC(精简指令集计算机)架构的服务器862;服务器863;刀片服务器864;存储设备865;以及网络和联网组件866。在一些实施例中,软件组件包括网络应用服务器软件867和数据库软件868。
虚拟化层870提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器871;虚拟存储872;虚拟网络873,包括虚拟专用网络;虚拟应用和操作系统874;以及虚拟客户端875。
在一个示例中,管理层880可以提供以下描述的功能。资源供应881提供用于执行云计算环境内的任务的计算资源和其他资源的动态获取。计量和定价882在资源在云计算环境内被利用时提供成本跟踪,并针对这些资源的消费进行计费或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户883为消费者和系统管理员提供对云计算环境的访问。服务级别管理884提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行885为云计算资源提供预安排和采购,根据SLA预期该云计算资源的未来要求。
工作负载层890提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航891;软件开发和生命周期管理892;虚拟教室教育交付893;数据分析处理894;交易处理895;以及跑步脱离控制896。在一些实施例中,工作负荷896执行容器云平台100中的运行脱离控制器110的一些操作。
前述的一个或多个实施例,其中,计算基础设施实现容器云平台,该容器云平台具有监控运行应用容器的若干主机计算设备的运行-脱离控制器计算设备。运行脱离控制器将胶囊图像部署到主机计算设备,并且主机计算设备从所部署的胶囊图像运行服务容器,以便为应用容器中的核心功能提供服务功能。
本披露的不同实施例的描述已出于说明的目的而呈现,但不旨在是穷尽性的或局限于所披露的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场上找到的技术上的技术改进,或使得本领域普通技术人员能够理解在此披露的实施例。
Claims (20)
1.一种计算设备,包括:
网络接口;
处理器;以及
存储指令集合的存储设备,其中所述处理器对所述指令集合的执行将配置所述计算设备以执行动作包括:
操作执行调用服务功能的核心功能的应用容器;
通过所述网络接口接收包括所述服务功能的图像的胶囊图像,所述胶囊图像具有与所述应用容器匹配的元数据;
基于所述胶囊图像启动胶囊容器,以执行由所述应用容器的所述核心功能调用的所述服务功能;并且
在所述服务功能执行完成后,退出所述胶囊容器,其中所述应用容器的图像不包括由所述核心功能调用的所述服务功能的图像或依赖关系。
2.如权利要求1所述的计算设备,其特征在于,启动所述胶囊容器以执行所述服务功能包括启动在所述应用容器的命名空间中运行所述服务功能的服务线程。
3.根据权利要求1所述的计算设备,其中,启动胶囊容器以执行所述服务功能包括执行被配置为与控制器计算设备通信的所述胶囊图像的管理脚本并且调用所述服务功能的默认入口点。
4.根据权利要求1所述的计算设备,其中所述应用容器是调用所述服务功能的多个应用容器中的一个应用容器,其中所述多个应用容器中的每个应用容器匹配所述胶囊图像的所述元数据。
5.如权利要求4所述的计算设备,其中,用于所述服务功能的多个服务线程针对所述多个应用容器并行地执行。
6.如权利要求4所述的计算设备,其中,所述胶囊图像的所述元数据包括是否允许所述服务功能的多个线程针对所述多个应用容器并行地执行的指示。
7.如权利要求1所述的计算设备,其中,所述胶囊图像的所述元数据包括所述胶囊图像是否通过安全评估的指示。
8.根据权利要求1所述的计算设备,其中,所述应用容器的图像不包括所述服务功能。
9.如权利要求1所述的计算设备,其中:
该胶囊图像是从控制器计算设备接收的,并且
退出所述胶囊容器包括向所述控制器计算设备报告退出代码。
10.如权利要求1所述的计算设备,其特征在于,所述应用容器是第一应用容器,所述服务功能是第一服务功能,并且所述胶囊图像是第一胶囊图像,其中所述处理器执行所述指令集合还配置所述计算设备执行包括以下的动作:
接收包括第二服务功能的第二胶囊图像,其不同于所述第一胶囊图像和所述第一服务功能,其中所述第二胶囊图像包括将第二应用容器与所述第二服务功能匹配的元数据;并且
启动所述第二胶囊图像以执行用于所述第二应用容器的核心功能的所述第二服务功能。
11.一种计算设备,包括:
一个或多个处理单元的集合;并且
存储设备,所述存储设备存储指令集合,其中,由所述处理单元集合执行所述指令集合将所述计算设备配置为执行动作,所述动作包括:
通过网络接口监控主机计算设备集合,每个主机计算设备操作一个或多个应用容器;
识别具有与在主机计算设备中操作的应用容器匹配的元数据的胶囊图像;
将所识别的胶囊图像作为胶囊容器部署到所述主机计算设备,其中所部署的胶囊容器包括由所述匹配的第一应用容器的核心功能调用的服务功能;并且
基于所述服务功能的执行从所述主机计算设备接收退出代码,其中所述应用容器的图像不包括由所述核心功能调用的所述服务功能的图像或依赖关系。
12.根据权利要求11所述的计算设备,进一步包括从存储多个胶囊图像的注册表检索所识别的胶囊容器图像。
13.根据权利要求11所述的计算设备,其中,所述应用容器的图像不包括所述服务功能。
14.如权利要求11所述的计算设备,其中,所述胶囊图像的所述元数据包括是否允许所述服务功能的多个线程针对所述多个应用容器并行地执行的指示。
15.如权利要求11所述的计算设备,其中所述胶囊容器的元数据包括所述胶囊容器是否通过安全评估的指示。
16.如权利要求11所述的计算设备,其特征在于,所述胶囊容器包括覆盖所述服务功能的默认入口点的管理脚本。
17.如权利要求11所述的计算设备,其中,由所述处理单元集合执行所述指令集合进一步将所述计算设备配置成用于执行动作,所述动作包括:
识别操作与所述胶囊容器的所述元数据匹配的第二应用容器的第二主机计算设备;并且
将所识别的胶囊容器图像部署到所述第二主机计算设备,其中所述服务功能由在所述第二主机中操作的所述第二应用容器的核心功能调用。
18.根据权利要求11所述的计算设备,其中,所述应用容器是第一应用容器,所述服务功能是第一服务功能,并且所述胶囊图像是第一胶囊图像,其中,由所述处理单元组执行所述指令集合进一步将所述计算设备配置为执行包括以下的动作:
将包括不同于所述第一胶囊图像的第二服务功能的第二胶囊图像部署到所述主机计算设备,其中:
第二应用容器的核心功能调用所述第二服务功能,并且
所述第二胶囊图像包括与所述第二应用容器匹配的元数据。
19.一种计算设备,包括:
处理器;以及
存储指令集合的存储设备,其中所述处理器对所述指令集合的执行将所述计算设备配置成执行动作,包括:
接收具有默认入口点的服务功能的图像;
构建用于所述服务功能的胶囊图像;
将元数据标签与所述胶囊图像相关联,用于标识与所述服务功能匹配的应用容器;
将胶囊管理脚本嵌入所述胶囊图像中,以用于(i)管理部署所述胶囊图像的控制器计算设备与接收所部署的所述胶囊图像的主机之间的通信,以及(ii)调用所述服务功能的所述默认入口点;并且
将该胶囊图像存储在胶囊图像的注册表中,其中所述应用容器的图像不包括由核心功能调用的所述服务功能的图像或依赖关系。
20.如权利要求19所述的计算设备,其中,所述胶囊图像包括所述服务功能的依赖性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/861,274 | 2018-01-03 | ||
US15/861,274 US10833955B2 (en) | 2018-01-03 | 2018-01-03 | Dynamic delivery of software functions |
PCT/IB2018/060193 WO2019135133A1 (en) | 2018-01-03 | 2018-12-17 | Dynamic delivery of software functions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111527474A CN111527474A (zh) | 2020-08-11 |
CN111527474B true CN111527474B (zh) | 2023-12-26 |
Family
ID=67060042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880083614.7A Active CN111527474B (zh) | 2018-01-03 | 2018-12-17 | 软件功能的动态交付 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10833955B2 (zh) |
JP (1) | JP7143417B2 (zh) |
CN (1) | CN111527474B (zh) |
DE (1) | DE112018005898T5 (zh) |
GB (1) | GB2581117B (zh) |
WO (1) | WO2019135133A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10846070B2 (en) * | 2018-07-05 | 2020-11-24 | At&T Intellectual Property I, L.P. | Facilitating cloud native edge computing via behavioral intelligence |
US10877741B2 (en) * | 2018-08-22 | 2020-12-29 | Verizon Patent And Licensing Inc. | Containerized systems and methods for customer premises equipment |
US11630696B2 (en) | 2020-03-30 | 2023-04-18 | International Business Machines Corporation | Messaging for a hardware acceleration system |
US11360789B2 (en) | 2020-07-06 | 2022-06-14 | International Business Machines Corporation | Configuration of hardware devices |
CA3190750A1 (en) * | 2020-08-28 | 2022-03-03 | Shawn Warner | Packaging system for deploying computer software |
CN112199385A (zh) * | 2020-09-30 | 2021-01-08 | 北京百度网讯科技有限公司 | 用于人工智能ai的处理方法、装置、电子设备和存储介质 |
CN113434139A (zh) * | 2021-06-23 | 2021-09-24 | 平安普惠企业管理有限公司 | 一种图像打包的处理方法、装置、服务器及存储介质 |
CN113656142B (zh) * | 2021-07-16 | 2023-10-10 | 华为技术有限公司 | 基于容器组pod的处理方法及相关系统、存储介质 |
US11863385B2 (en) * | 2022-01-21 | 2024-01-02 | International Business Machines Corporation | Optimizing container executions with network-attached hardware components of a composable disaggregated infrastructure |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793259A (zh) * | 2013-09-30 | 2014-05-14 | 中国电子设备系统工程公司研究所 | 一种虚拟器件的生成和部署方法 |
CN103838847A (zh) * | 2014-03-06 | 2014-06-04 | 中国科学院软件研究所 | 一种面向海云协同网络计算环境的数据组织方法 |
CN105245373A (zh) * | 2015-10-12 | 2016-01-13 | 天津市普迅电力信息技术有限公司 | 一种容器云平台系统的搭建及运行方法 |
CN107111519A (zh) * | 2014-11-11 | 2017-08-29 | 亚马逊技术股份有限公司 | 用于管理和调度容器的系统 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774722A (en) | 1995-12-14 | 1998-06-30 | International Business Machines Corporation | Method for efficient external reference resolution in dynamically linked shared code libraries in single address space operating systems |
US20050144226A1 (en) | 2003-11-10 | 2005-06-30 | Churchill Software Services | Systems and methods for modeling and generating reusable application component frameworks, and automated assembly of service-oriented applications from existing applications |
US8527943B1 (en) * | 2004-02-12 | 2013-09-03 | Raju V. Chiluvuri | System and method of application development |
US7756905B2 (en) * | 2004-02-27 | 2010-07-13 | Research In Motion Limited | System and method for building mixed mode execution environment for component applications |
US7761848B1 (en) | 2005-03-15 | 2010-07-20 | Open Invention Network, Llc | Code generator tool for building software applications with reusable components |
US20070201655A1 (en) * | 2006-02-03 | 2007-08-30 | Michael Shenfield | System and method for installing custom services on a component-based application platform |
US7836439B2 (en) * | 2006-02-03 | 2010-11-16 | Research In Motion Limited | System and method for extending a component-based application platform with custom services |
DE102006051186A1 (de) | 2006-10-30 | 2008-05-08 | Siemens Ag | Infrastruktur-Servicearchitektur für Applikationen |
US8396845B2 (en) * | 2008-09-26 | 2013-03-12 | Microsoft Corporation | Data-tier application component |
US9772831B2 (en) * | 2010-04-26 | 2017-09-26 | Pivotal Software, Inc. | Droplet execution engine for dynamic server application deployment |
US8301477B2 (en) | 2010-08-23 | 2012-10-30 | International Business Machines Corporation | Consolidating processes for multiple variations |
US10225335B2 (en) * | 2011-02-09 | 2019-03-05 | Cisco Technology, Inc. | Apparatus, systems and methods for container based service deployment |
EP2783284B1 (en) * | 2011-11-22 | 2019-03-13 | Solano Labs, Inc. | System of distributed software quality improvement |
US9032506B2 (en) | 2012-08-09 | 2015-05-12 | Cisco Technology, Inc. | Multiple application containerization in a single container |
US9690559B2 (en) * | 2012-09-22 | 2017-06-27 | Avaya Inc. | Downloadable pluggable services |
US9672011B2 (en) | 2012-11-07 | 2017-06-06 | Oracle International Corporation | System and method for composing a telecommunication application by orchestrating application components |
US8918837B2 (en) | 2012-12-28 | 2014-12-23 | Intel Corporation | Web application container for client-level runtime control |
US20170201434A1 (en) * | 2014-05-30 | 2017-07-13 | Hewlett Packard Enterprise Development Lp | Resource usage data collection within a distributed processing framework |
CN105893139B (zh) * | 2015-01-04 | 2020-09-04 | 伊姆西Ip控股有限责任公司 | 在云存储环境中用于向租户提供存储服务的方法和装置 |
US10127375B2 (en) | 2015-03-07 | 2018-11-13 | Protegrity Corporation | Enforcing trusted application settings for shared code libraries |
US20160285958A1 (en) | 2015-03-27 | 2016-09-29 | Intel Corporation | Application container for live migration of mobile applications |
US9817584B2 (en) * | 2015-06-02 | 2017-11-14 | Prophetstor Data Services, Inc. | Storage system having node with light weight container |
US20170085419A1 (en) * | 2015-09-18 | 2017-03-23 | Le Holdings (Beijing) Co., Ltd. | System and method for deploying an application |
US20170134471A1 (en) | 2015-11-10 | 2017-05-11 | Genband Us Llc | Web-Based Client for Providing Real-Time Communications |
KR102000266B1 (ko) | 2016-01-15 | 2019-07-15 | 구글 엘엘씨 | 애플리케이션 인스턴스들에 걸친 식별자들 |
US9817648B2 (en) * | 2016-01-15 | 2017-11-14 | Google Inc. | Application containers with dynamic sub-package loading |
US10684839B2 (en) * | 2016-06-15 | 2020-06-16 | Red Hat Israel, Ltd. | Plugin for software deployment |
US10318314B2 (en) * | 2017-02-24 | 2019-06-11 | International Business Machines Corporation | Techniques for managing software container dependencies |
US11030025B2 (en) * | 2017-05-19 | 2021-06-08 | Vmware, Inc. | Managing inter-process communications in a containerized application environment |
US10439987B2 (en) * | 2017-06-12 | 2019-10-08 | Ca, Inc. | Systems and methods for securing network traffic flow in a multi-service containerized application |
US10387129B2 (en) * | 2017-06-29 | 2019-08-20 | General Electric Company | Deployment of environment-agnostic services |
US10565092B2 (en) * | 2017-10-06 | 2020-02-18 | Red Hat, Inc. | Enabling attributes for containerization of applications |
US10601679B2 (en) * | 2017-12-26 | 2020-03-24 | International Business Machines Corporation | Data-centric predictive container migration based on cognitive modelling |
-
2018
- 2018-01-03 US US15/861,274 patent/US10833955B2/en active Active
- 2018-12-17 WO PCT/IB2018/060193 patent/WO2019135133A1/en active Application Filing
- 2018-12-17 GB GB2009131.0A patent/GB2581117B/en active Active
- 2018-12-17 CN CN201880083614.7A patent/CN111527474B/zh active Active
- 2018-12-17 JP JP2020533221A patent/JP7143417B2/ja active Active
- 2018-12-17 DE DE112018005898.0T patent/DE112018005898T5/de active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793259A (zh) * | 2013-09-30 | 2014-05-14 | 中国电子设备系统工程公司研究所 | 一种虚拟器件的生成和部署方法 |
CN103838847A (zh) * | 2014-03-06 | 2014-06-04 | 中国科学院软件研究所 | 一种面向海云协同网络计算环境的数据组织方法 |
CN107111519A (zh) * | 2014-11-11 | 2017-08-29 | 亚马逊技术股份有限公司 | 用于管理和调度容器的系统 |
CN105245373A (zh) * | 2015-10-12 | 2016-01-13 | 天津市普迅电力信息技术有限公司 | 一种容器云平台系统的搭建及运行方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190207823A1 (en) | 2019-07-04 |
DE112018005898T5 (de) | 2020-07-30 |
JP7143417B2 (ja) | 2022-09-28 |
WO2019135133A1 (en) | 2019-07-11 |
GB202009131D0 (en) | 2020-07-29 |
US10833955B2 (en) | 2020-11-10 |
GB2581117B (en) | 2020-12-23 |
CN111527474A (zh) | 2020-08-11 |
JP2021509498A (ja) | 2021-03-25 |
GB2581117A (en) | 2020-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111527474B (zh) | 软件功能的动态交付 | |
US11178207B2 (en) | Software version control without affecting a deployed container | |
US11086661B2 (en) | Container chaining for automated process completion | |
CN107066242B (zh) | 确定软件容器中软件的标识的方法和系统 | |
US10169035B1 (en) | Customized static source code analysis | |
US9619371B2 (en) | Customized application performance testing of upgraded software | |
US10698733B1 (en) | Integrated system to distribute and execute complex applications | |
US10048955B2 (en) | Accelerating software builds | |
US10977167B2 (en) | Application monitoring with a decoupled monitoring tool | |
US20140344808A1 (en) | Dynamically modifying workload patterns in a cloud | |
US9912760B2 (en) | Dynamically generating solution stacks | |
US10305752B2 (en) | Automatically orchestrating the compliance of cloud services to selected standards and policies | |
US10055393B2 (en) | Distributed version control of orchestration templates | |
US10223218B2 (en) | Disaster recovery of managed systems | |
CN113474751A (zh) | 管理软件程序 | |
US20180239611A1 (en) | Running a kernel-dependent application in a container | |
US10606480B2 (en) | Scale-out container volume service for multiple frameworks | |
CN117859309A (zh) | 自动选择在其上执行任务的节点 | |
CN117337429A (zh) | 部署机器学习模型 | |
US20190069121A1 (en) | Direct update of mobile applications based on features used | |
US11630804B1 (en) | Classifying and storing multiple layers of a file system | |
US11099907B1 (en) | Prerequisite driven dynamic infrastructure orchestration | |
US11561787B2 (en) | Application invocation on specified operating system version |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |