CN115061774A - 应用镜像的管理和发布方法、系统、装置以及存储介质 - Google Patents

应用镜像的管理和发布方法、系统、装置以及存储介质 Download PDF

Info

Publication number
CN115061774A
CN115061774A CN202210529338.0A CN202210529338A CN115061774A CN 115061774 A CN115061774 A CN 115061774A CN 202210529338 A CN202210529338 A CN 202210529338A CN 115061774 A CN115061774 A CN 115061774A
Authority
CN
China
Prior art keywords
application
mirror image
information
virtualization
image information
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
CN202210529338.0A
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202210529338.0A priority Critical patent/CN115061774A/zh
Publication of CN115061774A publication Critical patent/CN115061774A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • 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

Landscapes

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

Abstract

本发明提供了一种应用镜像的管理和发布方法、系统、装置及存储介质,其可以实现对不同虚拟化方式、不同架构与不同服务的应用镜像进行统一管理和自动分发,方法包括以下步骤:响应于用户在虚拟化平台的应用发布,获得发布的应用信息;分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息,所述应用镜像仓库能够将多种虚拟化方式的镜像进行统一储存,存储在镜像仓库中的应用镜像编排有应用镜像索引信息,应用镜像索引信息用于寻找与发布的应用对应的应用镜像信息;从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息;选择服务器节点进行应用发布。

Description

应用镜像的管理和发布方法、系统、装置以及存储介质
技术领域
本发明涉及云计算和虚拟化技术领域,具体涉及应用镜像的管理和发布方法、系统、装置以及存储介质。
背景技术
近年来,随着云计算和虚拟化技术的发展,云计算及其衍生产品已经成功部署并应用各个行业领域,借助数据中心硬件、通过云计算技术可以为人们提供便捷可用的基础设施服务、平台服务、软件服务等能力。和传统资源服务模式相比,云计算技术的应用不仅提高了资源利用率,而且极大地提高了系统的运维保障能力;随之而来的是用户需求的服务数量越来越大、服务种类也越来越多,如何高效的统一管理和分发虚拟化的镜像成为了研究的热点和重点。然而,在当代云计算和虚拟化技术发展的趋势下,集群呈现规模大、异构性强、虚拟化种类多的特点;尤其是异构性明显的多种类虚拟化方式并存、节点的架构类型多样,会严重制约着异构虚拟化平台的镜像统一管理和自动分发的效率。
图1是传统虚拟化平台镜像管理和分发的示意图,目前传统的虚拟化平台中虚拟机镜像管理和分发架构主要包括三个部分,虚拟化平台、镜像仓库以及外接的镜像仓库文件数据存储。其中,虚拟化平台主要提供虚拟化计算服务,从架构上看,包括X86、ARM64、MIPS等架构,每种架构在指令集和性能等方面存在差异,从提供的虚拟化计算服务上看,包括KVM虚拟机、Docker容器、裸金属以及新出现的微虚拟机等,每种虚拟化计算服务在虚拟化开销、隔离强度等方面存在差异;镜像仓库中存储的是提供各种计算服务的镜像文件,根据服务器架构的不同和提供的服务种类不同,对于同一个应用服务APP1而言,需要拆分为“服务器架构的数量*虚拟化计算服务种类数量”个镜像文件。更为严重的是,由于虚拟化平台的不同导致一个数据中心内部会存在多个镜像仓库,如面向OpenStack的虚拟机和裸金属镜像仓库、面向Kubernetes的容器和微虚拟机仓库等。
当用户需要根据虚拟化方式的不同,例如KVM虚拟化,在某一种架构服务器上,例如ARM64架构,部署应用APP1时,用户首先需要在ARM64架构上部署具有KVM虚拟化的虚拟化平台,再进行APP1应用的部署。并在虚拟化平台上根据服务器架构和提供的计算服务,去选择对应镜像仓库中的不同架构的应用镜像,如去虚拟化镜像仓库中选择ARM架构的APP1时,需要通过指定应用镜像进行应用的部署发布。由此对于用户而言,需要非常熟悉平台的架构和计算的类别,在进行应用发布时,则需要去从大量的镜像文件中查找到对应的镜像文件进行发布,耗时耗力,同时会增加用户的平台操作风险。
另外,随着新型虚拟化技术的发展,不同架构与不同服务的镜像也变得越来越多,如何面向不同虚拟化平台中对越来越多种类的镜像进行统一管理和自动分发变得越来也迫切。
发明内容
针对上述问题,本发明提供了一种应用镜像的管理和发布方法、系统、装置及存储介质,其能够实现对不同架构与不同虚拟化服务的应用镜像进行统一管理和自动分发。
其技术方法是这样的:一种应用镜像的管理和发布方法,包括以下步骤:
响应于用户在虚拟化平台的应用发布,获得发布的应用信息;
分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息,所述应用镜像仓库将对多种虚拟化方式的镜像统一储存,存储在镜像仓库中的应用镜像编排有应用镜像索引信息,应用镜像索引信息用于寻找与发布的应用对应的应用镜像信息;
从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息;
选择服务器节点进行应用发布。
进一步的,若存储的应用镜像中有且只有一个与应用对应的镜像信息,则将对应的镜像信息作为应用镜像发布时所需要的应用镜像信息;
若存储的应用镜像中存在与应用对应的多个镜像信息,则根据用户的需求、应用的类型、隔离要求信息,从多个镜像信息中自动选择一个最匹配的镜像信息作为发布时所需要的应用镜像信息。
进一步的,所述用户的需求包括服务器架构、虚拟化方式,所述应用类型包括轻负载型、计算密集型、数据处理型、需要加速器支持,所述隔离要求包括独占、强隔离、中度隔离、弱隔离。
进一步的,根据调度策略选择指定服务器节点进行应用发布,所述调度策略包括:顺序调度模式,所述顺序调度模式包括:
按顺序调度所有可用的服务器节点,若调度的当前服务器节点的闲置资源无法满足应用镜像需求时,按顺序继续进行下一个服务器节点的调度;当调度的服务器节点的闲置资源满足应用镜像需求时,根据应用镜像信息拉取镜像,在调度的服务器节点上进行应用发布。
进一步的,所述调度策略包括:可用程度调度模式,所述可用程度调度模式包括:
根据服务器的可用程度选择可用的服务器节点,根据应用镜像信息拉取镜像,在满足可用程度的服务器节点上进行应用发布,服务器的可用程度的量化参数包括:CPU空闲率、内存空闲率。
进一步的,应用镜像的虚拟化方式包括虚拟机、容器、裸金属和微虚拟机。
其中,对于四种虚拟化方式的应用镜像的统一管理,采用如下管理规范:
对于index文件,index文件为可选的文件,指向不同平台、不同虚拟化方式的manifest文件,index文件能够保证一个镜像能够跨平台、提供不同虚拟化计算服务使用,每个平台和每个虚拟化计算服务拥有不同的manifest文件,使用index作为索引;
对于manifest文件,manifest文件为镜像的config文件索引,manifest文件中保存了和当前平台有关的信息,包括文件层,额外的注释信息;
对于文件系统,文件系统为以文件层方式保存的文件系统,每个文件层保存了和上层之间变化的部分,文件层包括应保存的具体文件,表示增加、修改和删除的文件;
对于config文件:config文件保存了文件系统的层级信息,包括每个层级的hash值以及历史信息,以及虚拟化运行时需要的环境变量、工作目录、命令参数、mount列表,并且指定了镜像在某个特定平台和系统的配置。
进一步的,应用镜像索引信息包括应用名称、服务器架构tag信息、虚拟化方式,在分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息时,通过应用镜像索引信息寻找是否有与发布的应用对应的应用镜像信息。
进一步的,在编排应用镜像索引信息时,根据不同的架构类型,对同一个应用镜像在应用名称后加上对应的服务器架构tag信息,应用名称和服务器架构tag信息之间使用冒号进行连接;根据不同的虚拟化方式,在同一个应用镜像的服务器架构tag信息后添加虚拟化方式,中间使用破折号进行连接。
一种应用镜像的管理和发布系统,包括通讯连接的虚拟化平台模块、镜像分析模块、镜像调度模块、镜像仓库模块,
所述虚拟化平台模块用于供用户发布应用,所述镜像分析模块接收并分析发布的应用信息,镜像分析模块通过镜像调度模块获取存储的应用镜像,分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息;镜像仓库模块用于存储应用镜像,应用镜像在镜像仓库模块中进行统一存储,存储在镜像仓库模块中的应用镜像编排有应用镜像索引信息,应用镜像索引信息用于寻找与发布的应用对应的应用镜像信息;从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息;镜像调度模块选择服务器节点进行应用发布。
一种计算机装置,其包括:包括处理器、存储器以及程序;
所述程序存储在所述存储器中,所述处理器调用存储器存储的程序,以执行上述的应用镜像的管理和发布方法。
一种计算机可读存储介质,所述计算机可读存储介质用于存储程序,所述程序用于执行上述的应用镜像的管理和发布方法。
和现有技术相比,本发明的优势在于:从生产实际需求考虑,简化了用户使用的复杂度,用户无需在同一个应用的众多应用镜像中,去查找对应的具体应用镜像,简化了虚拟化平台镜像管理和自动分发的复杂度,能够支持异构架构和不同计算服务的应用镜像统一管理和自动分发,减小了用户的操作风险,并且随着新型虚拟化技术的不断发展和壮大,在虚拟化平台中实现了对裸金属镜像和微虚拟机镜像管理和自动分发的支持,使得适应和支持范围更加广泛;并且本发明通过对异构虚拟化的应用镜像统一管理和自动分发的支持,用户能够根据自己的需求,在虚拟化平台中灵活的使用相关镜像。
附图说明
图1是传统虚拟化平台镜像管理和分发的示意图。
图2为本发明的一个实施例中的应用镜像的管理和发布方法的主要步骤的示意图;
图3为本发明的一个实施例中的应用镜像的管理和发布系统的组成框图;
图4为本发明的一个实施例中的应用镜像的管理和发布系统具体的执行流程图;
图5为一个实施例中计算机装置的内部结构图。
具体实施方式
虚拟化平台主要是提供虚拟化计算服务,虚拟化计算服务根据服务器的架构不同和提供的计算服务种类不同可划分为多种类型,服务器架构包括但不限于X86架构、AMR64架构、MIPS架构,虚拟化方式包括虚拟机、容器、裸金属及微虚拟机,其中虚拟机包括但不限于KVM,容器包括但不限于Docker、LXC、Containerd,裸金属指提供物理机服务,微虚拟机包括但不限于Kata Container,由此带来同一个应用的虚拟化镜像的数量为“服务器架构种类数量*虚拟化方式数量”。
虚拟化平台虽然能够支持异构架构和不同虚拟化方式,也能够提供镜像的管理和分发,但根据服务器架构种类的多少和提供的虚拟化种类的多少,对同一个应用而言,会存在十几甚至几十个镜像文件,对于用户而言,在进行应用发布时,需要从大量的镜像文件中查找对应的镜像仓库中的镜像文件进行发布,耗时耗力,同时增加了操作风险。
为此,见图2,本发明提供了一种应用镜像的管理和发布方法,至少包括以下步骤:
步骤1:响应于用户在虚拟化平台的应用发布,获得发布的应用信息;
步骤2:分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息,应用镜像能够将多种不同虚拟化方式的镜像进行统一储存,存储在镜像仓库中的应用镜像编排有应用镜像索引信息,应用镜像索引信息用于寻找与发布的应用对应的应用镜像信息;
步骤3:从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息;
步骤4:选择服务器节点进行应用发布。
通过本实施例的方法,当用户在虚拟化平台进行应用APP1发布时,只需要在虚拟化平台上填写应用镜像名称APP1后,即可进行应用的发布,而不需要根据服务器架构类型和虚拟化方式去指定APP1应用对应的具体架构类型和虚拟化方式。
具体在一个实施例中,在步骤1中当用户在虚拟化平台进行应用发布时,会收到虚拟化平台发送的应用的信息;
在步骤2中,为了更方便和快捷的能够判断存储的应用镜像中是否有与发布的应用对应的应用镜像信息,在本发明的一个实施例中,将应用镜像存储在镜像仓库中,应用镜像在镜像仓库中进行统一存储,在本实施例中,应用镜像的虚拟化方式包括虚拟机、容器、裸金属和微虚拟机。
同时不同虚拟化方式的应用镜像统一存储在镜像仓库中;存储中提供的是镜像仓库中各个应用各种镜像文件,保证了镜像文件的数据安全。并且,目前在虚拟化平台中无法支持对虚拟机镜像、容器镜像、裸金属镜像和微虚拟机镜像的统一管理和分发,通过本实施例的方法,实现了在虚拟化平台中对虚拟机、容器、裸金属和微虚拟机等应用镜像自动分发的支持。
此外,为了更方便的能找到具体的应用镜像,在一个实施例中,在编排的应用镜像索引信息,应用镜像索引信息收录的信息包括应用名称、服务器架构tag信息、虚拟化方式,通过应用镜像索引信息,能够在镜像仓库中对不同架构类型、不同虚拟化方式的同一个应用的应用镜像进行统一的管理和分发,具体应用镜像索引信息编排策略如下:
根据不同的架构类型,对同一个应用镜像在应用名称后加上对应的服务器架构tag信息,应用名称和服务器架构tag信息之间使用“:”进行连接;
根据不同的虚拟化方式,在同一个应用镜像的服务器架构tag信息后添加虚拟化方式,中间使用“-”进行连接。
其中,对于四种虚拟化方式的应用镜像的统一管理,采用如下管理规范:
对于index文件,index文件为可选的文件,指向不同平台、不同虚拟化方式的manifest文件,index文件能够保证一个镜像能够跨平台、提供不同虚拟化计算服务使用,每个平台和每个虚拟化计算服务拥有不同的manifest文件,使用index作为索引;
对于manifest文件,manifest文件为镜像的config文件索引,manifest文件中保存了和当前平台有关的信息,包括文件层,额外的注释信息;
对于文件系统,文件系统为以文件层方式保存的文件系统,每个文件层保存了和上层之间变化的部分,文件层包括应保存的具体文件,表示增加、修改和删除的文件;
对于config文件:config文件保存了文件系统的层级信息,包括每个层级的hash值以及历史信息,以及虚拟化运行时需要的环境变量、工作目录、命令参数、mount列表,并且指定了镜像在某个特定平台和系统的配置。
从而,在分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息时,可以通过应用镜像索引信息寻找是否有与发布的应用对应的应用镜像信息,并且,可以根据具体的需求情况,对于仓库中存在的应用镜像进行选择。
在本发明的一个实施例中,在步骤3中,在从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息,可以有多种情况,其包括:
若存储的应用镜像中有且只有一个与应用对应的镜像信息,则将对应的镜像信息作为应用镜像发布时所需要的应用镜像信息;
若存储的应用镜像中存在与应用对应的多个镜像信息,则根据用户的需求、应用的类型、隔离要求等信息,从多个镜像信息中自动选择一个最匹配的镜像信息作为发布时所需要的应用镜像信息。
具体而言,可以根据用户的需求,选择一个满足需求的镜像信息作为应用镜像发布时所需要的应用镜像信息,所述的用户的需求包括服务器架构、虚拟化方式等。
具体而言,可以根据应用的类型,选择一个满足需求的镜像信息作为应用镜像发布时所需要的应用镜像信息,所述的应用类型包括轻负载型、计算密集型、数据处理型、需要加速器支持等。
具体而言,可以根据隔离要求,选择一个满足需求的镜像信息作为应用镜像发布时所需要的应用镜像信息,所述的隔离要求包括独占、强隔离、中度隔离、弱隔离等。
并且,在存在对应的多个镜像信息时,可以进一步满足用户的需求,用户的需求通常包括指定的服务器架构、虚拟化方式,在应用镜像索引信息已经包含其具体的服务器架构、虚拟化方式,只需要通过应用镜像索引信息,就可以选择满足需求的镜像信息作为应用镜像发布时所需要的应用镜像信息。
在步骤4中,则根据调度策略选择指定服务器节点进行应用发布,具体在本发明的实施例中,调度策略包括:顺序调度模式,
在顺序调度模式中,按顺序调度所有可用的服务器节点,若调度的当前服务器节点的闲置资源无法满足应用镜像需求时,按顺序继续进行下一个服务器节点的调度;当调度的服务器节点的闲置资源满足应用镜像需求时,根据应用镜像信息拉取镜像,在调度的服务器节点上进行应用发布。
调度策略还包括:可用程度调度模式,在可用程度调度模式中:根据服务器的可用程度选择可用的服务器节点,根据应用镜像信息拉取镜像,在满足可用程度的服务器节点上进行应用发布,服务器的可用程度的量化参数包括:CPU空闲率、内存空闲率,其中,CPU空闲率为通过top命令获取CPU调度id参数对应的值,内存空闲率为通过top命令获取CPU调度id参数对应的值;当CPU空闲率、内存空闲率满足设定的要求时,认为该服务器节点可用。
顺序调度模式和可用程度调度模式两只调度模式可以择一选用。
当根据服务器的可用程度确定了具体的服务器节点后,根据应用镜像信息拉取镜像,并在指定的服务器节点上进行应用发布。
本发明的实施例中提供的方法,从生产实际需求考虑,简化了用户使用的复杂度,用户无需在同一个应用的众多应用镜像中,去查找对应的具体应用镜像,简化了虚拟化平台镜像管理和自动分发的复杂度,能够支持异构架构和不同虚拟化的应用镜像统一管理和自动分发,减小了用户的操作风险,并且随着新型虚拟化技术的不断发展和壮大,在虚拟化平台中实现了对裸金属镜像和微虚拟机镜像管理和自动分发的支持,使得适应和支持范围更加广泛;并且本发明通过对异构虚拟化的应用镜像统一管理和自动分发的支持,用户能够根据自己的需求,在虚拟化平台中灵活的使用相关镜像。
见图3,在本发明的实施例中,还提供了一种应用镜像的管理和发布系统,包括通讯连接的镜像分析模块1和镜像调度模块2,
镜像分析模块1被配置成接收并分析发布的应用信息,镜像分析模块1通过镜像调度模块2获取存储的应用镜像,分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息;从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息;
镜像调度模块2根据调度策略选择指定服务器节点进行应用发布。
虚拟化平台模块3,用于供用户发布应用;
镜像仓库模块4,用于存储应用镜像,应用镜像在镜像仓库模块4中进行统一存储,应用镜像的虚拟化方式包括虚拟机、容器、裸金属和微虚拟机;存储在镜像仓库模块中的应用镜像编排有应用镜像索引信息,应用镜像索引信息包括应用名称、服务器架构tag信息、虚拟化方式,镜像仓库中对镜像的管理规范包括:
对于index文件,index文件为可选的文件,指向不同平台、不同虚拟化方式的manifest文件,index文件能够保证一个镜像能够跨平台、提供不同虚拟化计算服务使用,每个平台和每个虚拟化计算服务拥有不同的manifest文件,使用index作为索引;
对于manifest文件,manifest文件为镜像的config文件索引,manifest文件中保存了和当前平台有关的信息,包括文件层,额外的注释信息;
对于文件系统,文件系统为以文件层方式保存的文件系统,每个文件层保存了和上层之间变化的部分,文件层包括应保存的具体文件,表示增加、修改和删除的文件;
对于config文件:config文件保存了文件系统的层级信息,包括每个层级的hash值以及历史信息,以及虚拟化运行时需要的环境变量、工作目录、命令参数、mount列表,并且指定了镜像在某个特定平台和系统的配置。
镜像分析模块在分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息时,通过应用镜像索引信息寻找镜像仓库模块4中是否有与发布的应用对应的应用镜像信息。
当用户在虚拟化平台模块进行应用发布时,虚拟化平台模块会将应用的信息发送给镜像分析模块,镜像分析模块获取到应用信息后,再通过镜像调度模块中获取应用镜像索引信息,获取后首先会检测应用的镜像信息是否存在于镜像仓库模块,如果镜像仓库模块无法找到应用的镜像信息,则应用发布结束,发布失败。如果应用的镜像信息存在于镜像仓库模块中,此时镜像分析模块再去该镜像仓库单元中查找应用的镜像信息,如果仅存在一种该应用的镜像信息,则镜像分析模块将该应用镜像信息同步给镜像调度模块,镜像调度模块获取到信息后,通过调度策略选择具体的服务器节点,将应用发布到指定的服务器节点上,应用发布成功;如果存在多种该应用的镜像信息,则镜像分析模块根据相关策略,选取一个该应用的镜像信息,并将该应用的镜像信息同步给镜像调度模块,镜像调度模块获取到信息后,通过调度策略选择具体的服务器节点,将应用发布到指定的服务器节点上,应用发布成功。
图4举例说明了实施例中的应用镜像的管理和发布系统的执行流程图,具体流程步骤如下:
用户在虚拟化平台模块3发布应用,虚拟化平台模块3的主要功能主要包括提供各种虚拟化计算服务;当用户发布应用时,向镜像分析模块11提供应用信息;当应用对应的应用镜像无法获取时,结束发布流程,并提示用户应用发布失败。
镜像分析模块1主要的任务是对虚拟化平台模块1发送过来的应用信息进行分析,选出应用发布时所需要的应用镜像信息,并同步发送给镜像调度模块2,该单元的具体实现如下:
当接收到应用信息时,镜像分析模块1首先通过镜像调度模块2获取镜像仓库模块4中的应用镜像信息;
镜像仓库模块3中保存所有镜像文件及其索引信息,镜像仓库模块3中保存同一个应用的不同架构类型和不同虚拟化方式的应用镜像,并根据镜像调度模块2的需求进行应用镜像文件的增删改查等操作;
镜像分析模块1此时判断在镜像仓库模块4中是否存在待发布应用的镜像信息,若镜像仓库模块4中不存在待发布应用的镜像信息时,则将应用发布失败的相关信息同步给虚拟化平台模块3,应用发布结束;若镜像仓库模块4中仅存在应用的一个镜像信息时,镜像分析模块1将应用镜像信息发送给镜像调度模块2;若镜像仓库模块4中存在应用的多个镜像信息时,则如下:
默认情况下,镜像分析模块1将从待发布应用的多个镜像信息中自动选择一个应用镜像信息发送给镜像调度模块2;
此外,镜像分析模块1可根据用户的具体需求选择应用镜像信息,当用户进行应用发布时,可选择具体需求包括但不限于服务器架构、虚拟化方式,其中服务器架构包括但不限于X86、ARM64、MIPS,虚拟化方式包括但不限于虚拟机计算服务、容器计算服务、裸金属计算服务和微虚拟机计算服务。当用户具体选择的服务器架构或虚拟化方式对应的应用镜像信息不存在时,则镜像调度模块2将应用发布失败的相关信息同步给虚拟化平台模块3,应用发布结束;否则,将该应用镜像信息发送给镜像调度模块2。
镜像调度模块2的主要功能包括采集镜像仓库模块3中所有应用的应用镜像索引信息和接收到镜像分析模块1发送过来的应用镜像信息后,进行服务器节点的调度。
通过应用的应用镜像索引信息编排,镜像调度模块2能够在镜像仓库中对不同架构类型、不同虚拟化方式、不同应用的镜像进行统一的管理和分发,具体应用镜像索引信息编排策略如下:
根据不同的架构类型,对同一个应用在应用名称后加上对应的架构tag信息,应用名称和tag信息之间使用“:”进行连接;
根据不同的虚拟化方式,在同一个应用的架构tag信息后添加虚拟化方式,中间使用“-”进行连接;
同时当接收到镜像分析模块1发送过来的应用镜像信息后,进行服务器节点的调度,具体调度如下:
默认情况下,镜像调度模块2采用顺序调度模式进行服务器节点的选择,在所有可用的服务器节点中按序调度,当调度的服务器节点闲置资源无法满足应用需求时,再往下继续进行调度,当确认满足需求时,根据应用镜像信息拉取镜像,并在调度节点上进行应用发布;
此外,镜像调度模块2可根据服务器的可用程度选择服务器节点,可选择的可用程度指标包括但不限于CPU空闲率、内存空闲率,其中CPU空闲率为通过top命令获取CPU调度id参数对应的值,内存空闲率通过top命令获取CPU调度id参数对应的值。当镜像调度模块2根据服务器的可用程度确定了具体的服务器节点后,根据应用镜像信息拉取镜像,并在调度的服务器节点上进行应用发布。
在本发明的实施例中,还提供了一种计算机装置,其包括:包括处理器、存储器以及程序;
程序存储在存储器中,处理器调用存储器存储的程序,以执行上述的应用镜像的管理和发布方法。
该计算机装置可以是终端,其内部结构图可以如图5所示。该计算机装置包括通过总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机装置的处理器用于提供计算和控制能力。该计算机装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机装置的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现应用镜像的管理和发布方法。该计算机装置的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机装置的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机装置外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(Programmable Read-OnlyMemory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。
处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(NetworkProcessor,简称:NP)等。该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机装置的限定,具体的计算机装置可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本发明的实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序,程序用于执行上述的应用镜像的管理和发布方法。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、计算机装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、计算机装置、或计算机程序产品的流程图来描述的。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图中指定的功能。
以上对本发明所提供的应用镜像的管理和发布方法、系统、计算机装置、计算机可读存储介质的应用进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种应用镜像的管理和发布方法,其特征在于,包括以下步骤:
响应于用户在虚拟化平台的应用发布,获得发布的应用信息;
分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息,所述应用镜像仓库能够将不同的虚拟化方式镜像进行统一存储,存储在镜像仓库中的应用镜像编排有应用镜像索引信息,应用镜像索引信息用于寻找与发布的应用对应的应用镜像信息;
从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息;
选择服务器节点进行应用发布。
2.根据权利要求1所述的一种应用镜像的管理和发布方法,其特征在于:若存储的应用镜像中有且只有一个与应用对应的镜像信息,则将对应的镜像信息作为应用镜像发布时所需要的应用镜像信息;
若存储的应用镜像中存在与应用对应的多个镜像信息,则根据用户的需求、应用的类型、隔离要求信息,从多个镜像信息中选择一个最匹配的镜像信息作为发布时所需要的应用镜像信息。
3.根据权利要求2所述的一种应用镜像的管理和发布方法,其特征在于:所述用户的需求包括服务器架构、虚拟化方式;所述应用类型包括轻负载型、计算密集型、数据处理型、需要加速器支持;所述隔离要求包括独占、强隔离、中度隔离、弱隔离。
4.根据权利要求1所述的一种应用镜像的管理和发布方法,其特征在于:根据调度策略选择指定服务器节点进行应用发布,所述调度策略为顺序调度模式和可用程度调度模式的任意一种;
所述顺序调度模式包括:按顺序调度所有可用的服务器节点,若调度的当前服务器节点的闲置资源无法满足应用镜像需求时,按顺序继续进行下一个服务器节点的调度;当调度的服务器节点的闲置资源满足应用镜像需求时,根据应用镜像信息拉取镜像,在调度的服务器节点上进行应用发布;
所述可用程度调度模式包括:根据服务器的可用程度选择可用的服务器节点,根据应用镜像信息拉取镜像,在满足可用程度的服务器节点上进行应用发布,服务器的可用程度的量化参数包括:CPU空闲率、内存空闲率。
5.根据权利要求1所述的一种应用镜像的管理和发布方法,其特征在于:所述应用镜像的虚拟化方式包括虚拟机、容器、裸金属和微虚拟机。
6.根据权利要求5所述的一种应用镜像的管理和发布方法,其特征在于:应用镜像索引信息包括应用名称、服务器架构tag信息、虚拟化方式,在分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息时,通过应用镜像索引信息寻找是否有与发布的应用对应的应用镜像信息。
7.根据权利要求6所述的一种应用镜像的管理和发布方法,其特征在于:在编排应用镜像索引信息时,根据不同的架构类型,对同一个应用镜像在应用名称后加上对应的服务器架构tag信息,应用名称和服务器架构tag信息之间使用冒号进行连接;根据不同的虚拟化方式,在同一个应用镜像的服务器架构tag信息后添加虚拟化方式,中间使用破折号进行连接。
8.一种应用镜像的管理和发布系统,其特征在于:包括通讯连接的虚拟化平台模块、镜像分析模块、镜像调度模块、镜像仓库模块,
所述虚拟化平台模块用于供用户发布应用,所述镜像分析模块接收并分析发布的应用信息,镜像分析模块通过镜像调度模块获取存储的应用镜像,分析存储的应用镜像中是否有与发布的应用对应的应用镜像信息;镜像仓库模块用于存储应用镜像,应用镜像在镜像仓库模块中进行统一存储,存储在镜像仓库模块中的应用镜像编排有应用镜像索引信息,应用镜像索引信息用于寻找与发布的应用对应的应用镜像信息;从找到的应用镜像信息中提取出应用镜像发布时所需要的应用镜像信息;镜像调度模块选择服务器节点进行应用发布。
9.一种计算机装置,其特征在于,其包括:包括处理器、存储器以及程序;
所述程序存储在所述存储器中,所述处理器调用存储器存储的程序,以执行权利要求1所述的应用镜像的管理和发布方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质用于存储程序,所述程序用于执行权利要求1所述的应用镜像的管理和发布方法。
CN202210529338.0A 2022-05-16 2022-05-16 应用镜像的管理和发布方法、系统、装置以及存储介质 Pending CN115061774A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210529338.0A CN115061774A (zh) 2022-05-16 2022-05-16 应用镜像的管理和发布方法、系统、装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210529338.0A CN115061774A (zh) 2022-05-16 2022-05-16 应用镜像的管理和发布方法、系统、装置以及存储介质

Publications (1)

Publication Number Publication Date
CN115061774A true CN115061774A (zh) 2022-09-16

Family

ID=83197814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210529338.0A Pending CN115061774A (zh) 2022-05-16 2022-05-16 应用镜像的管理和发布方法、系统、装置以及存储介质

Country Status (1)

Country Link
CN (1) CN115061774A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117369953A (zh) * 2023-12-08 2024-01-09 中电云计算技术有限公司 镜像同步方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117369953A (zh) * 2023-12-08 2024-01-09 中电云计算技术有限公司 镜像同步方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US10089135B2 (en) Expediting the provisioning of virtual machines based on cached repeated portions of a template
CN108614726B (zh) 虚拟机创建方法及装置
JP6658882B2 (ja) 制御装置、vnf配置先選択方法及びプログラム
CN111324571B (zh) 一种容器集群管理方法、装置及系统
EP3668009B1 (en) Network service lifecycle management method and device
US8812627B2 (en) System and method for installation and management of cloud-independent multi-tenant applications
US10025630B2 (en) Operating programs on a computer cluster
WO2015149505A1 (zh) Sdn应用集成管理和控制的方法、系统及设备
CN102946413B (zh) 虚拟机调度和执行部署过程中的资源预处理方法及系统
CN111258726A (zh) 任务调度方法和装置
CN115061774A (zh) 应用镜像的管理和发布方法、系统、装置以及存储介质
CN113204368B (zh) 应用程序处理方法、服务器及存储介质
US8060885B2 (en) Creating task queries for concrete resources using alias selection fields specifying formal resources and formal relationships
CN112199200B (zh) 资源调度方法、装置、计算机设备和存储介质
Tang et al. Application centric lifecycle framework in cloud
CN117076096A (zh) 任务流程的执行方法、装置、计算机可读介质及电子设备
CN113535220A (zh) 一种代码包管理方法和装置
US20220229689A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
US10572412B1 (en) Interruptible computing instance prioritization
CN115665231A (zh) 服务创建方法、装置以及计算机可读存储介质
US11847611B2 (en) Orchestrating and automating product deployment flow and lifecycle management
Castellanos-Rodríguez et al. Serverless-like platform for container-based YARN clusters
CN114675872A (zh) 一种对应用程序的数据处理方法、装置、设备及存储介质
US11281494B2 (en) Business operation method, apparatus, and system for determining and executing operation tasks in cloud computing
US11953972B2 (en) Selective privileged container augmentation

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