CN115480785A - 基于容器的服务部署方法、装置和服务器 - Google Patents

基于容器的服务部署方法、装置和服务器 Download PDF

Info

Publication number
CN115480785A
CN115480785A CN202211147275.9A CN202211147275A CN115480785A CN 115480785 A CN115480785 A CN 115480785A CN 202211147275 A CN202211147275 A CN 202211147275A CN 115480785 A CN115480785 A CN 115480785A
Authority
CN
China
Prior art keywords
model
service
file
image
server
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.)
Pending
Application number
CN202211147275.9A
Other languages
English (en)
Inventor
张伟
张友权
唐汇
张晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202211147275.9A priority Critical patent/CN115480785A/zh
Publication of CN115480785A publication Critical patent/CN115480785A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种基于容器的服务部署方法、装置和服务器,涉及数据存储领域。该方法包括:服务器使用训练数据进行训练,得到模型文件。服务器将该模型文件上传到模型仓库中进行存储。服务器根据模型文件,确定其对应的模型服务代码。服务器根据模型服务代码,构建镜像文件。服务器将该镜像文件存储到镜像仓库中。服务器根据待部署服务,从镜像仓库中拉取该待部署服务对应的镜像文件,从第三方的模型仓库中下载该待部署服务对应的模型文件到目标服务器。服务器运行该镜像文件,并在该镜像文件中加载模型文件,实现该待部署服务的部署。本申请的方法,通过将模型服务代码和模型文件分开,极大的缩小了镜像文件的体积,提高了容器存储空间的利用率。

Description

基于容器的服务部署方法、装置和服务器
技术领域
本申请涉及数据存储领域,尤其涉及一种基于容器的服务部署方法、装置和服务器。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的不断发展,AI服务在各个领域的应用越来越广泛。基于容器的AI服务部署方法可以通过对资源的限制和隔离,把AI服务直接移植到目标服务器上,实现该AI服务在目标服务器上的部署。
现有技术中,模型训练和模型服务发布是AI服务部署的重要一环。在模型训练和模型服务发布使用场景中,服务器可以根据不同版本的训练数据,在模型训练阶段得到不同版本的模型文件。不同版本的模型文件需要对应不同版本的模型服务。并且,在基于容器发布新的模型服务时,服务器需要根据不同版本的模型文件构建不同镜像文件,从而实现不同版本的模型服务的发布。
然而,在上述过程中,每一版本的模型文件和模型服务均需要对应生成一个镜像文件,这些镜像文件占用了大量的存储空间,容易导致存储空间利用率低的问题。
发明内容
本申请提供一种基于容器的服务部署方法、装置和服务器,用以解决现有技术中镜像文件占用了大量的存储空间,容易导致存储空间利用率低的问题。
第一方面,本申请提供一种基于容器的服务部署方法,包括:
对训练数据进行多次处理和训练,得到多个模型文件,并将模型文件上传到模型仓库中进行存储;
根据每一模型文件确定其对应的模型服务代码,并将根据模型服务代码构建的镜像文件存储到镜像仓库中;
根据待部署服务,提取待部署服务对应的模型文件和镜像文件,以完成待部署服务的部署。
可选地,模型服务代码中至少包括待部署服务的服务运行指令和模型文件在目标服务器中的目标存储地址。
可选地,根据待部署服务,提取待部署服务对应的模型文件和镜像文件,具体包括:
根据待部署服务的部署编排文档中模型初始化镜像的存储地址,从镜像仓库中拉取模型初始化镜像到目标服务器;
运行模型初始化镜像,以使模型初始化镜像根据部署编排文档中的模型地址,从模型仓库中将模型文件下载到目标服务器;
使用模型初始化镜像对模型文件中的数据模型进行初始化处理,以使数据模型被待部署服务对应的镜像文件中的模型服务镜像使用;
根据部署编排文档中的镜像地址,从镜像仓库中拉取镜像文件到目标服务器;
运行镜像文件中的模型服务镜像,以完成待部署服务在目标服务器的部署。
可选地,方法,还包括:
根据部署编排文档中的共享存储空间,在共享存储空间中为容器配置一个用于数据缓存和数据临时存储的空存储卷。
可选地,对训练数据进行多次处理和训练,得到多个模型文件,并将模型文件上传到模型仓库中进行存储,具体包括:
对训练数据进行数据处理,得到处理后的训练数据,并使用处理后的训练数据训练得到的数据模型;
根据数据模型和第一预设规则,生成模型版本信息,模型版本信息用于唯一标识数据模型;
将数据模型和模型版本信息存储到模型文件中;
将模型文件存储到模型仓库中,并将模型文件在模型仓库中的模型地址添加到模型文件中;
循环上述步骤直至数据模型的模型效果满足预设要求。
可选地,将根据模型服务代码构建的镜像文件存储到镜像仓库中,具体包括:
根据模型服务代码,构建模型服务镜像;
根据模型服务镜像和第二预设规则,生成镜像版本信息,镜像版本信息用于唯一标识模型服务镜像;
将模型服务镜像和镜像版本信息存储到镜像文件中;
将镜像文件存储到镜像仓库中,并将镜像文件在镜像仓库中的镜像地址添加到镜像文件中。
第二方面,本申请提供一种基于容器的服务部署装置,包括:
处理模块,用于对训练数据进行多次处理和训练,得到多个模型文件,并将模型文件上传到模型仓库中进行存储;根据每一模型文件确定其对应的模型服务代码,并将根据模型服务代码构建的镜像文件存储到镜像仓库中;
部署模块,用于根据待部署服务,提取待部署服务对应的模型文件和镜像文件,以完成待部署服务的部署。
可选地,模型服务代码中至少包括待部署服务的服务运行指令和模型文件在目标服务器中的目标存储地址。
可选地,部署模块,具体用于:
根据待部署服务的部署编排文档中模型初始化镜像的存储地址,从镜像仓库中拉取模型初始化镜像到目标服务器;
运行模型初始化镜像,以使模型初始化镜像根据部署编排文档中的模型地址,从模型仓库中将模型文件下载到目标服务器;
使用模型初始化镜像对模型文件中的数据模型进行初始化处理,以使数据模型被待部署服务对应的镜像文件中的模型服务镜像使用;
根据部署编排文档中的镜像地址,从镜像仓库中拉取镜像文件到目标服务器;
运行镜像文件中的模型服务镜像,以完成待部署服务在目标服务器的部署。
可选地,部署模块,还用于:
根据部署编排文档中的共享存储空间,在共享存储空间中为容器配置一个用于数据缓存和数据临时存储的空存储卷。
可选地,处理模块,具体用于:
对训练数据进行数据处理,得到处理后的训练数据,并使用处理后的训练数据训练得到的数据模型;
根据数据模型和第一预设规则,生成模型版本信息,模型版本信息用于唯一标识数据模型;
将数据模型和模型版本信息存储到模型文件中;
将模型文件存储到模型仓库中,并将模型文件在模型仓库中的模型地址添加到模型文件中;
循环上述步骤直至数据模型的模型效果满足预设要求。
可选地,处理模块,具体用于:
根据模型服务代码,构建模型服务镜像;
根据模型服务镜像和第二预设规则,生成镜像版本信息,镜像版本信息用于唯一标识模型服务镜像;
将模型服务镜像和镜像版本信息存储到镜像文件中;
将镜像文件存储到镜像仓库中,并将镜像文件在镜像仓库中的镜像地址添加到镜像文件中。
第三方面,本申请提供一种服务器,包括:存储器和处理器;存储器用于存储计算机程序;处理器用于根据存储器存储的计算机程序执行第一方面及第一方面任一种可能的设计中的基于容器的服务部署方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当服务器的至少一个处理器执行该计算机程序时,服务器执行第一方面及第一方面任一种可能的设计中的基于容器的服务部署方法。
第五方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,当服务器的至少一个处理器执行该计算机程序时,服务器执行第一方面及第一方面任一种可能的设计中的基于容器的服务部署方法。
本申请提供的基于容器的服务部署方法、装置和服务器,通过获取预先提供的初始数据,并对该初始数据进行整理得到训练数据;根据该训练数据生成对应的模型文件;将该模型文件上传到模型仓库中进行存储;根据模型文件,确定其对应的模型服务代码;根据模型服务代码,构建镜像文件;将该镜像文件存储到镜像仓库中;根据待部署服务,确定目标服务器;通过容器的客户端从镜像仓库中拉取该待部署服务对应的镜像文件到目标服务器;从第三方的模型仓库中下载该待部署服务对应的模型文件到目标服务器;运行该镜像文件,并在该镜像文件中加载模型文件,实现该待部署服务的部署的手段,实现将模型服务代码和模型文件分开,极大的缩小了使用模型服务代码构建的镜像文件的体积,提高了容器存储空间的利用率,以及镜像文件的拉取效率效果。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的一种基于容器的服务部署的场景示意图;
图2为本申请一实施例提供的一种基于容器的服务部署方法的流程图;
图3为本申请一实施例提供的一种模型训练过程的流程图;
图4为本申请一实施例提供的一种模型服务过程的流程图;
图5为本申请一实施例提供的一种模型服务部署的流程图;
图6为本申请一实施例提供的一种基于容器的服务部署装置的结构示意图;
图7为本申请一实施例提供的一种服务器的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。
应当进一步理解,术语“包含”、“包括”表明存在的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。
此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
随着人工智能(Artificial Intelligence,AI)技术的不断发展,AI服务在各个领域的应用越来越广泛。基于容器的AI服务部署方法可以通过对资源的限制和隔离,把AI服务直接移植到目标服务器上,实现该AI服务在目标服务器上的部署。
现有技术中,AI服务部署可以分为AI模型训练和模型服务发布两个阶段。在AI模型训练和模型服务发布的使用场景中,原始数据会随着模型服务的使用得到积累。服务器可以通过对原始数据进行分析处理,得到训练数据。随着原始数据的积累,训练数据会不断迭代。但是,模型训练的训练代码以及模型服务的模型服务代码很少或几乎不会修改。在模型训练过程中,服务器可以通过人工智能算法对该训练数据进行学习训练生成数据模型。即,服务器可以根据不同版本的训练数据,得到包括不同版本的数据模型的模型文件。服务器可以在得到新的版本的模型文件时,根据该模型文件确定其对应的模型服务代码。其中,不同版本的模型文件可以对应相同的模型服务代码。或者,不同版本的模型文件可以对应不同的模型服务代码。因此,服务器需要在得到新的模型文件,并确定其对应的模型服务代码后,构建新的镜像文件。该新的镜像文件中可以包括该新的模型文件和该模型文件对应的模型服务代码。在基于容器发布新的模型服务时,服务器可以根据需要部署的模型文件的版本,确定需要下载的镜像文件,从而实现模型服务的部署。当完成模型服务的部署后,服务器可以使用该镜像文件中的模型文件,实现对数据的识别。显然,这样的方式中存在镜像文件过大的问题,进而增加模型服务发布的时间。并且,每次模型文件的更新和模型服务代码的更新都需要重新生成镜像文件,容易加大管理镜像文件的复杂度,导致浪费镜像文件的存储空间,从而导致存储空间利用率低等问题。
在基于容器的模型服务部署场景中,基于容器化模型服务部署,通常可以提高部署效率,以及后续的模型文件更新效率。然而,在上述的模型服务部署方法中,镜像文件中包括模型文件和模型服务代码。在模型文件或者模型服务代码中任一项更新时,服务器都需要使用重新构建镜像文件。随着模型文件的版本的多次迭代更新,以及模型服务代码的多次优化改进,镜像文件的数量会不断增多。并且,在该过程中,每一次构建的镜像文件并不会被删除,服务器中存储的大量镜像文件将会导致存储空间的极大浪费。此外,模型文件占用的内存通常较大,且远大于模型服务代码。使用模型文件与模型服务代码一起构建镜像文件,容易导致镜像文件的过大。在部署模型服务时,每次部署都需要拉取最新版本的镜像文件到目标服务器中。过大的镜像文件容易导致模型服务在部署时占用更多的网络带宽。并且,在模型服务部署过程中,该镜像文件的拉取时间属于模型服务启动耗时,该过大的镜像文件还会导致模型服务启动耗时长的问题。
为解决镜像文件过大的问题,将模型预存储到共享存储空间的方法被提出。这种方法采用模型文件和模型服务代码分离的方式。在构建镜像文件时,服务器不需要直接将模型文件添加到镜像文件中。因此,镜像文件并不需要在模型文件更新后重新构建。但是,该方法只在有较高操作权限的集群中适用。并且,该方法需要在共享存储空间中文件上传权限以及文件管理权限。否则,服务器将无法向共享存储空间上传模型文件。以及,服务器将无法在模型文件上传到共享存储空间后对模型文件的版本进行管理。即,该方法中,服务器虽然不需要在模型文件每一次更新时重新构建镜像文件,但是服务器需要对共享存储空间中的模型文件进行版本更新。因此,服务器通常需要提前部署好共享存储空间的HostPath、PV等数据存储类型。因此,该方法存在部署复杂度高,以及权限要求高的问题。
针对上述问题,本申请提出了一种基于容器的服务部署方法。本申请中,服务器可以将版本迭代产生的模型文件单独存放在第三方的模型仓库中。这些模型文件可以在该第三方的模型仓库中实现统一集中管理。该模型仓库的使用避免了模型文件占用容器本身的存储空间。并且,针对不同的模型文件的版本,服务器只需要做好模型文件的管理即可。服务器不再需要针对不同版本的模型文件构建不同的镜像文件。在模型文件的开发使用过程中,模型文件的集中统一管理,可以更加准确的记录模型文件的迭代过程。工程师可以根据这些模型文件,更加清晰明了的知道每个版本的模型文件做了哪些方面的改进以及在测试过程中发现了哪些问题。可见,该模型文件的在该第三方的模型仓库中的存储和管理,为工程师对数据模型的优化和分析,提供了更加便利的条件。此外,当模型服务随着算法的优化更新模型服务代码时,服务器可以使用该更新后的模型服务代码构建镜像文件。该方法可以有效减少构建的镜像文件数量,提高镜像文件的使用效率。该镜像文件可以被存储到容器的镜像仓库中。该镜像文件中只包含有模型服务代码。因此,该镜像文件占用的内存较小。该镜像文件的使用可以有效提高镜像文件的拉取效率。在本申请中,模型文件和模型服务代码分离的方式,可以使镜像文件更纯粹,从而有效避免使用模型文件和模型服务代码一起构建镜像文件导致的占用容器存储空间大、拉取镜像文件消耗久等问题。服务器还可以通过模型初始化镜像,实现在镜像文件中初始化模型文件。在部署服务时,服务器可以使用模型初始化镜像先从模型仓库中下载模型文件到目标服务器中。并且,该模型初始化镜像还可以将该模型文件初始化到与镜像文件约定好的存放路径中。当模型初始化镜像完成该模型文件的初始化后,镜像文件可以直接调用该目录下的模型文件,从而完成模型服务的部署。该方法的使用,可以有效降低镜像的管理复杂度、节约镜像的存储空间,减少模型服务发布时镜像加载的时间。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1示出了本申请一实施例提供的一种基于容器的服务部署的场景示意图。如图1所示,在模型服务的开发过程中,针对模型的使用场景以及初始数据,工程师首先需要选定一个合适的算法。选定算法后,服务器可以基于选定的算法对已有的数据进行学习,得到一个能处理同类数据的数据模型。该算法通常为深度学习算法或者机器学习算法。服务器在获取该数据模型后,生成该数据模型对应的模型文件。工程师还需要根据该数据模型开发对应算法的模型服务代码。服务器可以将开发好的模型服务代码构建成一个镜像文件。服务器可以使用该镜像文件和该模型文件实现模型服务的部署。当这个部署好的模型服务被启动时,该模型服务可以调用已学习好的数据模型完成对陌生的同类数据的智能化处理。
在开发过程中,通常无法一次性得到最优的数据模型。该数据模型会在之后的测试验证之后,根据测试验证的结果,对数据进行多次处理,得到不同版本的训练数据。服务器可以使用不同版本的训练数据,对数据模型进行训练,得到多个版本的模型文件。并且,服务器还可以在测试验证之后,根据测试验证的结果,对核心算法进行优化,并开发不同版本的模型服务代码。服务器可以在每一次数据模型或者模型服务代码更新之后进行模型服务的更新部署。工程师可以在多次测试验证之后,得到一个效果比较满意且符合要求的数据模型和与之对应的模型服务代码。
本申请中,以服务器为执行主体,执行如下实施例的基于容器的服务部署方法。具体地,该执行主体可以为服务器的硬件装置,或者为服务器中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
图2示出了本申请一实施例提供的一种基于容器的服务部署方法的流程图。在图1所示实施例的基础上,如图2所示,以服务器为执行主体,本实施例的方法可以包括如下步骤:
S101、对训练数据进行多次处理和训练,得到多个模型文件,并将模型文件上传到模型仓库中进行存储。
本实施例中,服务器可以在获取预先提供的初始数据之后,对该初始数据进行整理得到训练数据。服务器可以使用工程师选定的算法,对该训练数据进行训练得到数据模型。该算法可以为深度学习算法。服务器可以根据该数据模型生成对应的模型文件。服务器可以将该模型文件上传到模型仓库中进行存储。该模型仓库可以为第三方的存储空间。
一种示例中,该模型文件中可以包括模型名称、存储地址、模型描述信息、模型版本信息和模型测试信息。其中,模型名称的设置为识别模型和使用模型提供方便。工程师可以根据该模型名称,快速确定该模型文件的功能,并快速识别该模型文件。存储地址用于给第三方提供下载链接等信息。例如,模型初始化镜像可以根据该存储地址,实现该模型文件的下载。模型描述信息中包括模型使用场景的大致描述。该模型描述信息的设置方便模型使用者了解在何种场景中使用该模型以及模型能达到的效果和作用。模型版本信息中记录该模型文件中的数据模型在迭代更新过程中的版本号。模型测试信息中记录了模型在测试中发现的缺陷等信息。
一种示例中,如图3所示,该模型文件的生成过程具体可以包括如下步骤:
步骤1、服务器获取初始数据,并根据该初始数据,生成训练数据。服务器可以对训练数据进行训练得到的数据模型。在该过程中,如图3所示,服务器可以先判断该初始数据是否需要处理。如果该初始数据需要处理,则服务器可以在对该初始数据进行处理后得到训练数据。否则,如果该初始数据不需要处理,则服务器可以直接根据该初始数据生成训练数据。
步骤2、服务器可以根据数据模型和第一预设规则,生成模型版本信息,模型版本信息用于唯一标识数据模型。
步骤3、服务器可以将数据模型和模型版本信息存储到模型文件中。
步骤4、服务器可以将模型文件推送到模型仓库中,实现该模型文件的存储。服务器在该过程中还可以获取该模型文件在该模型仓库中的模型地址。服务器可以将该模型地址添加到模型文件中。
步骤5、当服务器确定该模型效果不满足预设要求时,如图3所示,服务器可以继续对该训练数据进行数据处理。服务器可使用处理后的训练数据继续进行模型训练,得到数据模型。即,服务器可以循环上述步骤直至数据模型的模型效果满足预设要求。该预设要求可以为数据模型的测试准确率大于预设值。该预设值可以为经验值,例如90%。
S102、根据每一模型文件确定其对应的模型服务代码,并将根据模型服务代码构建的镜像文件存储到镜像仓库中。
本实施例中,服务器可以根据工程师确定的模型选定的算法,确定其对应的模型服务代码。该模型服务代码中可以用于对该数据模型结果的优化和处理,从而生成该服务的最终的结果。工程师可以根据该算法,开发不同的模型服务代码,或者,工程师还可以根据不同的算法,开发不同的模型服务代码。服务器还可以根据模型服务代码,构建镜像文件。服务器可以将该镜像文件存储到镜像仓库中。该镜像仓库可以为容器内部的内存。
一种示例中,模型服务代码中至少包括待部署服务的服务运行指令和模型文件在目标服务器中的目标存储地址。该目标存储地址为该镜像文件中的模型服务代码运行时,读取模型文件的地址。该目标存储地址可以为该模型服务代码与模型初始化镜像约定的地址。
一种示例中,该镜像文件中可以包括镜像名称、镜像地址、镜像版本信息和镜像描述信息。其中,镜像名称的设置为识别镜像提供方便。镜像地址中包括该镜像文件在镜像仓库中的镜像地址。即,该镜像地址为该镜像文件的下载地址。服务器可以根据该镜像地址拉取该镜像文件。镜像版本信息用于指示该镜像文件在构建时的迭代号。镜像描述信息中包括镜像文中模型服务镜像的使用场景、功能等信息。
一种示例中,如图4所示的镜像文件生成过程,可以对应于如图3中部署步骤之前,以及完成模型训练之后的步骤。在执行下述步骤之前,服务器需要先根据模型文件生成对应的模型服务代码。在服务测试验证过程中,如果模型文件的数据处理和/或算法发生变化,则服务器会根据该数据处理和/或发生变化的算法重新生成模型服务代码。或者,在服务测试验证过程中,如果模型文件中的参数因为迭代等原因发生了变化,而模型文件的数据处理和算法没有发生变化,则服务器不需要重新生成模型服务代码。服务器根据模型服务代码生成镜像文件的过程具体可以包括如下步骤:
步骤1、服务器可以根据模型服务代码,构建模型服务镜像。
步骤2、服务器可以根据模型服务镜像和第二预设规则,生成镜像版本信息,镜像版本信息用于唯一标识模型服务镜像。
步骤3、服务器将模型服务镜像和镜像版本信息存储到镜像文件中。
步骤4、服务器将镜像文件存推送镜像仓库中,并根据镜像文件在镜像仓库中的镜像地址,将镜像地址添加到镜像文件中。服务器可以通过发布该镜像文件,实现该模型服务的发布。当该模型服务需要更新时,服务器可以根据更新后的模型文件重新构建模型服务镜像。
S103、根据待部署服务,提取待部署服务对应的模型文件和镜像文件,以完成待部署服务的部署。
本实施例中,服务器可以获取目标服务器的待部署服务。服务器可以根据该待部署服务确定待提取的模型文件和镜像文件。服务器可以通过容器的客户端从镜像仓库中拉取镜像文件。服务器还可以通过容器的客户端从镜像仓库中拉取模型初始化镜像。服务器可以使用该模型初始化镜像从第三方的模型仓库中下载对应的模型文件,并将该模型文件初始化到目标服务器的目标存储地址。镜像文件可以根据该目标存储地址读取该模型文件,从而实现该待部署服务的部署。
一种示例中,该待部署服务的部署过程可以如图5,具体包括如下步骤:
步骤1、服务器可以根据待部署服务的部署编排文档,确定模型初始化镜像的存储地址。服务器可以根据该存储地址,从镜像仓库中拉取模型初始化镜像到目标服务器。模型初始化镜像的拉取由容器客户端实现。模型初始化镜像可以为一个单独的容器。其中,该部署编排文档中可以包括模型初始化镜像地址、模型文件地址、镜像文件地址和共享存储空间。
步骤2、服务器可以在目标服务器的容器中运行模型初始化镜像。当该模型初始化镜像运行后,该模型初始化镜像可以从部署编排文档中获取目标存储地址。该模型初始化镜像可以从第三方的模型仓库中将模型文件下载到目标服务器。
步骤3、服务器可以使用模型初始化镜像对模型文件中的数据模型进行初始化处理。该初始化后的数据模型可以存储到该目标服务器的目标存储地址中。镜像文件可以直接从该目标服务器的目标存储地址中直接调用该模型文件。该目标存储地址可以为该镜像文件与该模型初始化镜像预先约定的地址。
步骤4、服务器可以根据部署编排文档中镜像地址,通过容器客户端,直接从镜像仓库中拉取镜像文件到目标服务器。
步骤5、服务器可以运行该镜像文件中的模型服务镜像,以完成待部署服务在目标服务器的部署。
一种示例中,在上述步骤的基础上,还可以包括:
步骤6、服务器可以根据部署编排文档中的共享存储空间,在共享存储空间中为容器配置一个用于数据缓存和数据临时存储的空存储卷。其中,用于数据临时存储的空存储卷可以为第三方的模型仓库。
本申请提供的基于容器的服务部署方法,服务器可以在获取预先提供的初始数据之后,对该初始数据进行整理得到训练数据。服务器可以根据该训练数据生成对应的模型文件。服务器可以将该模型文件上传到模型仓库中进行存储。服务器可以根据模型文件,确定其对应的模型服务代码。服务器可以根据模型服务代码,构建镜像文件。服务器可以将该镜像文件存储到镜像仓库中。服务器可以根据待部署服务,确定目标服务器。服务器可以通过容器的客户端从镜像仓库中拉取该待部署服务对应的镜像文件到目标服务器。服务器还可以从第三方的模型仓库中下载该待部署服务对应的模型文件到目标服务器。服务器可以运行该镜像文件,并在该镜像文件中加载模型文件,实现该待部署服务的部署。本申请中,通过将模型服务代码和模型文件分开,极大的缩小了使用模型服务代码构建的镜像文件的体积,提高了容器存储空间的利用率,以及镜像文件的拉取效率。
在上述各是实施例的基础上,本实施例可以在服务器中使用kubernetes实现云平台中多个主机上容器化服务的管理。其中,kubernetes是一种用于管理云平台中各个主机的容器的编排工具。该kubernetes为应用提供了容器化部署。并且,该kubernetes支持容器规划、更新和维护。容器具有占用资源少、部署快的优势。一个服务对应的应用程序可以被打包成一个镜像文件。镜像文件在容器中的使用,不需要与其余的服务堆栈组合。容器的这种特性这使得一个服务从研发测试到生产部署的过程,均可以在一致的运行环境中运行。服务器使用kubernetes完成上述步骤的具体流程可以包括如下步骤:
S201、服务器基于kubernetes中Pod的特性,在Pod中配置一个emptyDir的临时共享存储空间。该临时共享存储空间用于存储数据模型文件。即,该临时共享存储空间为上述模型仓库。
在kubernetes的世界里,Pod是运行服务的载体。Pod中可以包括多个容器。一个Pod可以看成是kubernetes的最小调度单元。在该kubernetes中,Pod可以共享底层资源。Pod的生命后期由kubernetes来管理。
其中,emptyDir为存储卷。该emtpyDir可以在Pod被指定到目标服务器时创建。emptyDir在被创建之初是一个空目录,并且会一直存在于Pod的生命周期中。当Pod被移除时,emptyDir中的数据也会被随之删除。需要注意的是,Pod中一个容器的崩溃并不会使得emptyDir被删除。emptyDir可以被挂载到Pod中的任意一个容器下的任意路径。并且,emptyDir可以被该Pod中的全部容器共享。目前,emptyDir磁盘通常为Pod中容器的普通空间。该emptyDir可以用于临时的数据存储。或者,该emptyDir还可以作为从崩溃中恢复的容器的备份点。
S202、服务器可以使用kubernetes的initContainers来配置模型初始化镜像。模型初始化镜像就是一个初始化容器(InitContainer)。一个pod里可以运行多个容器,该多个容器中可以包括一个或者多个初始化容器。在一个Pod中初始化容器通常先于应用容器运行。初始化容器一旦开始运行,则必须运行至完成(run to completion)。并且,在Pod中,必须在一个初始化容器成功运行完成后,另一个初始化容器才能运行。如果pod中的一个初始化容器运行失败,则kubernetes会尝试重启pod,直到初始化容器成功运行完成。如果pod的重启策略被设置为从不(never),则该Pod不会重启。但是由于初始化容器没有成功运行完成,其他初始化容器将无法运行。目前,初始化容器不支持lifecycle、livenessProbe、readinessProbe和startupProbe。初始化容器中可以包含一些服务容器中不存在的实用工具或个性化代码。这些实用工具或个性化代码可能在服务容器的安装过程中被使用。使用初始化容器可以更加安全地运行这些工具,避免这些工具导致服务镜像的安全性降低。而且,初始化容器可以以root身份运行,执行一些高权限命令。初始化容器相关操作执行完成以后即退出,不会给服务容器带来安全隐患。
S203、服务器可以使用kubernetes的containers配置模型服务的镜像文件,该模型服务的镜像文件完成部署后,可以在目标服务器中提供模型服务。
S204、服务器可以在initContainers和containers中,同时挂载临时的共享存储空间。
在上述步骤的基础上,在正式启动一个服务Pod时,从Pod角度,该服务部署具体可以包括如下步骤:
S301、kubernetes中的kubelet客户端可以解析部署编排文档,并将镜像文件和模型初始化镜像拉取到目标服务器中。
S302、服务器可以创建一个emptyDir的临时共享存储空间。
S303、服务器运行模型初始化镜像,并从模型仓库中下载模型文件到该临时共享存储空间中,并对该模型文件做初始化处理。
S304、当模型初始化镜像执行完毕之后,该模型初始化镜像退出。服务器继续运行业务容器。该业务容器即为模型服务的镜像文件。该模型服务的镜像文件启动后可以实现模型服务在该目标服务器上的部署。
其中,部署编排文档(Deployment)中可以包括多个参数。参数apiVersion用于指定api版本的参数。例如,该版本可以为apps/v1。在该部署编排文档中可以记为apiVersion:apps/v1。该参数apiVersion的参数值必须在kubectl api-versions中。参数kind用于指定创建资源的角色/类型。例如,该角色/类型可以为Deployment。在该部署编排文档中可以记为kind:Deployment。参数metadata用于指示资源的元数据/属性。参数name用于指示资源的名字。例如,该资源的名字可以为model-demo。在该部署编排文档中可以记为name:model-demo。在同一个namespace中参数name的参数值必须唯一。参数namespace用于指示部署在哪个namespace中。例如,该namespace的名称可以为default。在该部署编排文档中可以记为namespace:default。参数labels用于设定资源的标签。参数spec用于指示资源规范字段。replicas用于声明副本数目。例如,该副本数目可以为1。在该部署编排文档中可以记为replicas:1。参数selector用于指示选择器。参数matchLabels用于指示匹配标签。参数template用于指示模版。参数metadata用于指示资源的元数据/属性。参数labels用于指示设定资源的标签。参数spec用于指示资源规范字段。参数name用于指示初始化容器的名字。例如,该初始化容器的名字可以为model-initContainer。在该部署编排文档中可以记为name:model-initContainer。参数image用于指示容器的地址。例如,该地址可以为registry.example.com/tools/model-initContainer:latest。在该部署编排文档中可以记为image:registry.example.com/tools/model-initContainer:latest。参数command为容器启动执行的命令。例如,该命令可以为['xxx','xxx']。在该部署编排文档中可以记为command:['xxx','xxx']。参数volumeMounts用于指示文件挂载目录。该挂载目录为容器内配置的挂载目录。该参数volumeMounts中可以包括子参数mountPath。该子参数mountPath用于指示容器内要挂载的目录。例如,该目录可以为/model/path/model。在该部署编排文档中可以记为-mountPath:/model/path/model。参数name用于指示定义的名字。例如,该名字可以为model-dir。在该部署编排文档中可以记为name:model-dir。该参数name需要与下面vloume对应使用。该参数name还可以包括子参数name。该子参数name用于指示容器的名字。例如,该名字可以为model-service。在该部署编排文档中可以记为-name:model-service。参数image用于指示容器使用的镜像地址。例如,该镜像地址可以为registry.example.com/inference/model-service:latest。在该部署编排文档中可以记为image:registry.example.com/inference/model-service:latest。参数command用于指示容器启动执行的命令参数。例如,该命令可以为['xxx','xxxx']。在该部署编排文档中可以记为command:['xxx','xxxx']。参数imagePullPolicy用于指示每次Pod启动拉取镜像策略。例如,该策略可以为IfNotPresent。在该部署编排文档中可以记为imagePullPolicy:IfNotPresent。IfNotPresent中具体可以包括Always、Never、IfNotPresent三个策略。其中,Always为每次都检查,即,每次都会进行拉取新镜像。Never为每次都不检查。IfNotPresent为如果本地有就不检查,如果本地没有就拉取。在手动测试时,镜像存在docker容器中时,可以使用IfNotPresent。在默认情况下则通常使用Always。在部署过程中,如果镜像仓库不存在,则会导致部署失败。参数volumeMounts用于指示文件挂载目录。该挂载目录为容器内配置的目录。参数volumeMounts包括子参数mountPath。该参数mountPath为容器内要挂载的目录。例如,该目录可以为/model/path/model。在该部署编排文档中可以记为-mountPath:/model/path/model。此外,还可以包括参数app、version、initContainers、containers等。其中,参数app的取值可以为model-demo。并在部署编排文档中可以记为app:model-demo。其中,参数version的取值可以为v1。在部署编排文档中可以记为version:v1。
图6示出了本申请一实施例提供的一种基于容器的服务部署装置的结构示意图,如图6所示,本实施例的基于容器的服务部署装置10用于实现上述任一方法实施例中对应于服务器的操作,本实施例的基于容器的服务部署装置10包括:
处理模块11,用于对训练数据进行多次处理和训练,得到多个模型文件,并将模型文件上传到模型仓库中进行存储。根据每一模型文件确定其对应的模型服务代码,并将根据模型服务代码构建的镜像文件存储到镜像仓库中。
部署模块12,用于根据待部署服务,模型服务代码中至少包括待部署服务的服务运行指令和模型文件在目标服务器中的目标存储地址。
一种示例中,模型服务代码中至少包括待部署服务的运行指令和目标存储地址。
一种示例中,部署模块12,具体用于:
根据待部署服务的部署编排文档中模型初始化镜像的存储地址,从镜像仓库中拉取模型初始化镜像到目标服务器。
运行模型初始化镜像,以使模型初始化镜像根据部署编排文档中模型地址,从模型仓库中将模型文件下载到目标服务器。
使用模型初始化镜像对模型文件中的数据模型进行初始化处理,以使数据模型可以被待部署服务对应的镜像文件中的模型服务镜像使用。
根据部署编排文档中镜像地址,从镜像仓库中拉取镜像文件到目标服务器。
运行镜像文件中的模型服务镜像,以完成待部署服务在目标服务器的部署。
一种示例中,部署模块12,还用于:
根据部署编排文档中的共享存储空间,在共享存储空间中为容器配置一个用于数据缓存和数据临时存储的空存储卷。
一种示例中,处理模块11,具体用于:
对训练数据进行数据处理,得到处理后的训练数据,并使用处理后的训练数据训练得到的数据模型。
根据数据模型和第一预设规则,生成模型版本信息,模型版本信息用于唯一标识数据模型。
将数据模型和模型版本信息存储到模型文件中。
将模型文件存储到模型仓库中,并将模型文件在模型仓库中的模型地址添加到模型文件中。
循环上述步骤直至数据模型的模型效果满足预设要求。
一种示例中,处理模块11,具体用于:
根据模型服务代码,构建模型服务镜像。
根据模型服务镜像和第二预设规则,生成镜像版本信息,镜像版本信息用于唯一标识模型服务镜像。
将模型服务镜像和镜像版本信息存储到镜像文件中。
将镜像文件存储到镜像仓库中,并将镜像文件在镜像仓库中的镜像地址添加到镜像文件中。
本申请实施例提供的基于容器的服务部署装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图7示出了本申请实施例提供的一种服务器的硬件结构示意图。如图7所示,该服务器20,用于实现上述任一方法实施例中对应于服务器的操作,本实施例的服务器20可以包括:存储器21,处理器22。
存储器21,用于存储计算机程序。该存储器21可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器22,用于执行存储器存储的计算机程序,以实现上述实施例中的基于容器的服务部署方法。具体可以参见前述方法实施例中的相关描述。该处理器22可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,存储器21既可以是独立的,也可以跟处理器22集成在一起。
当存储器21是独立于处理器22之外的器件时,服务器20还可以包括总线23。该总线23用于连接存储器21和处理器22。该总线23可以是工业标准体系结构(IndustryStandard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本实施例提供的服务器可用于执行上述的基于容器的服务部署方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-OnlyMemory,ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机程序,至少一个处理器执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
本申请实施例还提供一种芯片,该芯片包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本申请可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种基于容器的服务部署方法,其特征在于,所述方法包括:
对训练数据进行多次处理和训练,得到多个模型文件,并将所述模型文件上传到模型仓库中进行存储;
根据每一所述模型文件确定其对应的模型服务代码,并将根据所述模型服务代码构建的镜像文件存储到镜像仓库中;
根据待部署服务,提取所述待部署服务对应的所述模型文件和所述镜像文件,以完成所述待部署服务的部署。
2.根据权利要求1所述的方法,其特征在于,所述模型服务代码中至少包括所述待部署服务的服务运行指令和所述模型文件在所述目标服务器中的目标存储地址。
3.根据权利要求1所述的方法,其特征在于,所述根据待部署服务,提取所述待部署服务对应的所述模型文件和所述镜像文件,具体包括:
根据所述待部署服务的部署编排文档中模型初始化镜像的存储地址,从镜像仓库中拉取所述模型初始化镜像到目标服务器;
运行所述模型初始化镜像,以使所述模型初始化镜像根据所述部署编排文档中的模型地址,从模型仓库中将所述模型文件下载到所述目标服务器;
使用所述模型初始化镜像对所述模型文件中的数据模型进行初始化处理,以使所述数据模型被所述待部署服务对应的镜像文件中的模型服务镜像使用;
根据所述部署编排文档中的镜像地址,从镜像仓库中拉取所述镜像文件到所述目标服务器;
运行所述镜像文件中的模型服务镜像,以完成所述待部署服务在所述目标服务器的部署。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:
根据所述部署编排文档中的共享存储空间,在所述共享存储空间中为所述容器配置一个用于数据缓存和数据临时存储的空存储卷。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述对训练数据进行多次处理和训练,得到多个模型文件,并将所述模型文件上传到模型仓库中进行存储,具体包括:
对训练数据进行数据处理,得到处理后的所述训练数据,并使用所述处理后的所述训练数据训练得到的数据模型;
根据所述数据模型和第一预设规则,生成模型版本信息,所述模型版本信息用于唯一标识所述数据模型;
将所述数据模型和所述模型版本信息存储到所述模型文件中;
将所述模型文件存储到所述模型仓库中,并将所述模型文件在所述模型仓库中的模型地址添加到所述模型文件中;
循环上述步骤直至所述数据模型的模型效果满足预设要求。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述将根据所述模型服务代码构建的镜像文件存储到镜像仓库中,具体包括:
根据所述模型服务代码,构建模型服务镜像;
根据所述模型服务镜像和第二预设规则,生成镜像版本信息,所述镜像版本信息用于唯一标识所述模型服务镜像;
将所述模型服务镜像和所述镜像版本信息存储到所述镜像文件中;
将所述镜像文件存储到所述镜像仓库中,并将所述镜像文件在所述镜像仓库中的镜像地址添加到所述镜像文件中。
7.一种基于容器的服务部署装置,其特征在于,所述装置,包括:
处理模块,用于对训练数据进行多次处理和训练,得到多个模型文件,并将所述模型文件上传到模型仓库中进行存储;根据每一所述模型文件生成一个模型服务代码,并将根据所述模型服务代码构建的镜像文件存储到镜像仓库中;
部署模块,用于根据待部署服务,提取所述待部署服务对应的所述模型文件和所述镜像文件,以完成所述待部署服务的部署。
8.一种服务器,其特征在于,所述服务器,包括:存储器,处理器;所述存储器用于存储计算机程序;所述处理器用于根据所述存储器存储的计算机程序,实现如权利要求1至6中任意一项所述的基于容器的服务部署方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1至6任一项所述的基于容器的服务部署方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的基于容器的服务部署方法。
CN202211147275.9A 2022-09-19 2022-09-19 基于容器的服务部署方法、装置和服务器 Pending CN115480785A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211147275.9A CN115480785A (zh) 2022-09-19 2022-09-19 基于容器的服务部署方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211147275.9A CN115480785A (zh) 2022-09-19 2022-09-19 基于容器的服务部署方法、装置和服务器

Publications (1)

Publication Number Publication Date
CN115480785A true CN115480785A (zh) 2022-12-16

Family

ID=84424247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211147275.9A Pending CN115480785A (zh) 2022-09-19 2022-09-19 基于容器的服务部署方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN115480785A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667118A (zh) * 2023-11-30 2024-03-08 北京远舢智能科技有限公司 一种算法模型的部署方法、装置、电子设备及存储介质
CN117873535A (zh) * 2024-03-08 2024-04-12 之江实验室 一种服务路由更新方法、装置、存储介质及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667118A (zh) * 2023-11-30 2024-03-08 北京远舢智能科技有限公司 一种算法模型的部署方法、装置、电子设备及存储介质
CN117873535A (zh) * 2024-03-08 2024-04-12 之江实验室 一种服务路由更新方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN115480785A (zh) 基于容器的服务部署方法、装置和服务器
US10324696B2 (en) Dynamic container deployment with parallel conditional layers
CN110389832B (zh) ZooKeeper容器集群部署方法、系统、设备及存储介质
Yang et al. A profile-based approach to just-in-time scalability for cloud applications
CN110532098B (zh) 提供gpu服务的方法及系统
CN111459539B (zh) 基于镜像分层的持续集成流水线运行方法及装置
CN109298868B (zh) 测绘影像数据处理软件智能动态部署及卸载方法
CN111176818B (zh) 分布式预测的方法、装置、系统、电子设备及存储介质
CN110389766B (zh) HBase容器集群部署方法、系统、设备及计算机可读存储介质
CN111198695A (zh) 微服务治理管理平台的自动化部署方法和电子设备
CN114791856B (zh) 基于K8s的分布式训练任务处理方法、相关设备及介质
CN114489833B (zh) 一种在应用程序中提交flink作业到yarn集群的实现方法与装置
CN111124286A (zh) 一种基于Libcloud的多云管理实现方法
CN105474177A (zh) 分布式处理系统、分布式处理设备、分布式处理方法和分布式处理程序
CN104881311A (zh) 一种版本兼容的判断方法及装置
CN110569113A (zh) 分布式任务的调度方法及系统、计算机可读存储介质
US11080909B2 (en) Image layer processing method and computing device
CN112799777B (zh) 一种流水线中预热调度的方法
CN109343947A (zh) 一种资源调度方法及装置
CN111857953A (zh) 一种容器集群管理方法、装置、设备及可读存储介质
CN114598666A (zh) 资源处理方法及资源调度方法
CN112783653A (zh) 基于容器化的资源调度方法及装置
CN113708971A (zh) 一种Openstack云平台的部署方法及相关装置
CN105446718B (zh) 基于红帽软件包管理器的软件管理方法及系统
CN114390106B (zh) 基于Kubernetes容器资源的调度方法、调度器及调度系统

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