掌桥专利:专业的专利平台
掌桥专利
首页

一种镜像文件处理方法、装置、存储介质及电子装置

文献发布时间:2024-04-18 19:58:26


一种镜像文件处理方法、装置、存储介质及电子装置

技术领域

本申请实施例涉及通信领域,具体而言,涉及一种镜像文件处理方法、装置、存储介质及电子装置。

背景技术

随着5G网络的推广,5G网元也实现了虚拟化容器化。通常的设备商研发出每个网元的容器镜像后,通过网络发布出来。然后运营商从网络上下载指定网元的容器镜像,部署环境实现5G网元功能。一般的设备商研发的容器镜像文件包括基础操作系统、应用程序和配置文件等,这样的容器镜像文件大约在5GB大小,运营商从网络上下载需要10分钟但在5GC平台网元的容器化应用场景,特别是运维工作中效率比较低。比如打包出来的镜像文件一般有5G左右,网络上下载需要10多分钟。加载到镜像管理系统至少需要5分钟甚至更久。这对于镜像文件的推广和使用,运维操作效率都比较低。

业界为了解决这一缺陷也做了很多努力。比如制作镜像描述文件,通过命令生成镜像文件,发布到容器使用。但这个过程仍然没有解决传递、使用、运维操作效率的问题。

针对相关相关技术中制作镜像描述文件,通过命令生成镜像文件之后发布到容器使用,不利于传递与使用,且运维操作效率低的问题,尚未提出解决方案。

发明内容

本申请实施例提供了一种镜像文件处理方法、装置、存储介质及电子装置,以至少解决相关技术中制作镜像描述文件,通过命令生成镜像文件之后发布到容器使用,不利于传递与使用,且运维操作效率低的问题。

根据本申请的一个实施例,提供了一种镜像文件处理方法,所述方法包括:

将镜像文件分离为多个镜像包文件;

将所述多个镜像包文件处理为一个镜像分离包;

将所述镜像分离包以版本包的方式发布到镜像管理系统中。

根据本申请的另一个实施例,还提供了一种镜像文件处理装置,所述装置包括:

分离模块,用于将镜像文件分离为多个镜像包文件;

处理模块,用于将所述多个镜像包文件处理为一个镜像分离包;

发布模块,用于将所述镜像分离包以版本包的方式发布到镜像管理系统中。

根据本申请的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

本申请实施例,将镜像文件分离为多个镜像包文件;将所述多个镜像包文件处理为一个镜像分离包;将所述镜像分离包以版本包的方式发布到镜像管理系统中,可以解决相关技术中制作镜像描述文件,通过命令生成镜像文件之后发布到容器使用,不利于传递与使用,且运维操作效率低的问题,将一个镜像文件分解为多个镜像包文件,将多个镜像包文件关联起来,形成一个可分离的镜像分离包,发布到镜像管理系统中,便于传递与使用,且提高了运维操作效率。

附图说明

图1是本申请实施例的镜像文件处理方法的移动终端的硬件结构框图;

图2是根据本申请实施例的镜像文件处理方法的流程图;

图3是根据本申请可选实施例的镜像文件处理方法的流程图;

图4是根据本实施例的镜像包文件的示意图;

图5是根据本实施例的镜像分离包MD5-Chain的示意图;

图6是根据本实施例的镜像分离包应用的结构示意图;

图7是根据本实施例的镜像分离包的应用流程图;

图8是根据本申请实施例的镜像文件处理装置的框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请的实施例。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的镜像文件处理方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的镜像文件处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及业务链地址池切片处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Control ler,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述移动终端或网络架构的镜像文件处理方法,图2是根据本申请实施例的镜像文件处理方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,将镜像文件分离为多个镜像包文件;

步骤S204,将所述多个镜像包文件处理为一个镜像分离包;

步骤S206,将所述镜像分离包以版本包的方式发布到镜像管理系统中。

通过上述步骤S202至S206,可以解决相关技术中制作镜像描述文件,通过命令生成镜像文件之后发布到容器使用,不利于传递与使用,且运维操作效率低的问题,将一个镜像文件分解为多个镜像包文件,将多个镜像包文件关联起来,形成一个可分离的镜像分离包,发布到镜像管理系统中,便于传递与使用,且提高了运维操作效率。

图3是根据本申请可选实施例的镜像文件处理方法的流程图,如图3所示,上述步骤S204具体可以包括:

S301,获取多个镜像包文件中的操作系统文件、程序文件及配置文件;

S302,将操作系统文件、程序文件及配置文件的描述信息分别记录在关联模板文件中;

本实施例中的描述信息具体可以包括:文件名、文件大小、文件MD5校验码、文件启动序号、文件版本号、是否为缺省文件。准备镜像包文件的描述信息,一般的镜像包文件包括基础操作系统文件,程序文件和配置文件等,分别把这些文件的文件名、文件大小、文件MD5校验码、文件启动序号、文件版本号、是否缺省文件等信息分别记录在关联模板文件。

S303,根据多个镜像包文件的MD5码生成MD5拼接串;

生成MD5(Message-Digest Algorithm)拼接串,MD5是计算机安全领域的一种散列函数算法,用于提供消息的完整性保护。镜像分离包中,按文件启动序号,依次把每个文件的MD5码按顺序拼接,形成MD5拼接串;获取每个文件的MD5码时,需要对文件实时生成的MD5码做比对,以校验文件的正确性,不是缺省文件的文件项才做校验,对于缺省文件不做校验。

S304,确定MD5拼接串的MD5-Chain码,将MD5-Chain码补充到关联模板文件中;

MD5-Chain技术,由一个或多个MD5码组合而成的MD5串,再次通过MD5算法计算得到MD5-Chain码。用于保护一个或多个文件组合而成的镜像分离包的完整性。具体使用MD5算法,对MD5拼接串计算得到MD5-Chain码,补充到关联模板文件。

S305,将关联模板文件与多个镜像包文件整体打包,以形成镜像分离包。

具体的,打包镜像分离包,把关联模板文件和镜像包文件整体打包,形成镜像分离包。

图4是根据本实施例的镜像包文件的示意图,如图4所示,本实施例中的镜像包文件包括操作系统文件、程序文件及配置文件。

5G网元使用镜像分离包作为最终版本发布。镜像分离包有4个部分组成:关联模板文件、操作系统文件、应用程序文件(对应程序文件)、配置文件;其中,操作系统文件是CGSL操作系统,是容器实例运行的基础操作系统。应用程序文件是5GC平台网元的业务应用程序。配置文件包括业务应用程序运行需要加载的配置项、环境变量、系统任务、脚本等辅助文件。

关联模板文件是一个描述文件,描述了操作系统文件名称、应用程序文件名称、配置文件名称,以及各文件初始版本号,同时描述各文件的启动顺序(依赖关系)。

本实施例中,上述步骤S303具体可以包括:获取每个镜像包文件的MD5码;根据所述多个镜像包文件的启动序号,依次将所述每个镜像包文件的MD5码按顺序拼接,以形成所述MD5拼接串。

进一步的,在获取每个镜像包文件的MD5码之后,对于所述多个镜像包文件中的非缺省文件,获取所述非缺省文件实时生成的目标MD5码;将所述MD5码与所述目标MD5码进行对比,以校验所述非缺省文件的正确性。

在一实施例中,在上述步骤S206之后,所述方法还包括:获取所述镜像分离包的MD5-Chain码;使用所述MD5-Chain码对所述镜像分离包的完整性进行校验。

在另一实施例中,在上述步骤S206之后,所述方法还包括:当所述镜像分离包中的目标程序文件需要修改时,修改所述镜像分离包中的所述目标程序文件,得到更新后的镜像分离包,其中,所述更新后的镜像分离包只包含所述目标程序文件,除所述程序文件之外的其他文件在所述关联模板文件中设置为缺省。

上述更新后的镜像分离包即为镜像分离升级包,可以只包括应用程序文件和配置文件,关联模板文件记录程序文件和配置文件的新版本号。而操作系统文件由于没有变化,不需要添加到镜像分离升级包,所以操作系统文件标记为缺省文件。但关联模板文件必须有该基础操作系统文件的描述信息,同时MD5-Chain必须包括基础操作系统文件的MD5码,这样才能确保镜像分离升级包在镜像管理系统和容器管理系统的完整性。

本实施例将镜像文件分离为多个文件的组合体,通过MD5-Chain技术确保镜像分离包的完整性和统一性。镜像分离包支持缺省文件方式,即某些无变化的程序文件可以不添加到镜像分离包,关联模板文件需要有该文件的描述信息。镜像分离包加载时,需要对分离包中的每一个文件做MD5校验,同时对整个分离包做MD5-Chain码校验,确保完整无误后再加载。

图5是根据本实施例的镜像分离包MD5-Chain的示意图,如图5所示,包括:关联模板文件和镜像包文件;关联模板文件和镜像包文件总体形成一个镜像包,供镜像管理系统加载。

关联模板文件是镜像分离包的描述文件,记录了每个镜像包内文件的描述信息,整个镜像分离包的MD5-Chain码。

其中,镜像包内文件的描述信息有:文件名、文件大小、文件MD5校验码、文件启动序号、文件版本号、是否缺省文件等;

文件名是文件的名称,包括文件后缀;

文件大小是文件的物理存储大小;

文件MD5校验码是文件完整性校验码,通过MD5算法计算获得;

文件启动序号是文件在容器启动时的加载顺序;

文件版本号,是文件在镜像管理系统仓库中的版本号,用于版本管理;

是否缺省文件,是镜像分离包中是否只记录描述信息,不包括物理文件;

整个镜像分离包的MD5-Chain码是由MD5算法计算得到的整个镜像分离包的校验码,具有完整性校验功能,同时确保每个镜像包内文件的正确性。

镜像包文件是镜像分离包的基础文件,一般包括基础操作系统文件,程序文件和配置文件。这几类文件组合在一个文件包内,通过关联模板文件构建关联关系,形成镜像分离包。

本实施例中,上述步骤S206具体可以包括:在镜像管理系统上,读取所述镜像分离包中的关联模板文件、操作系统文件、程序文件以及配置文件,同时设置对应的版本号;对每一个文件做MD5校验,对所述镜像分离包进行MD5-Chain校验,以确定所述镜像分离包的完整性;通过所述镜像管理系统独立存储所述镜像分离包中的关联模板文件、操作系统文件、程序文件、配置文件以及对应的版本号。

在一实施例中,所述方法还包括:通过容器管理系统启动容器实例时,根据所述关联模板文件从所述镜像管理系统中获取所述镜像分离包中的所述关联模板文件、所述操作系统文件、所述程序文件以及所述配置文件;按照所述关联模板文件中定义的启动顺序,依次启动所述操作系统文件、所述程序文件以及所述配置文件;和/或在所述镜像分离包实例化之后,生成容器实例,通过容器管理系统维护所述容器实例的生命周期,其中,运行的所述容器实例用于提供外部调用的服务。

图6是根据本实施例的镜像分离包应用的结构示意图,如图6所示,包括:镜像管理系统和容器管理系统,镜像管理系统是镜像分离包的仓库,包括加载的所有镜像分离包。每个镜像分离包中的多个文件独立存储。容器管理系统是镜像实例化后的容器管理系统,包括由镜像包实例化后的一个或多个容器的启停和维护。

图7是根据本实施例的镜像分离包的应用流程图,如图7所示,包括:

步骤S701,制作镜像分离包,镜像分离包中包括关联模板文件描述的所有文件。该镜像分离包作为基础镜像,后续含缺省文件的镜像分离包都基于该分离包使用。制作好的镜像分离包发布给用户。

步骤S702,下载镜像分离包,导入镜像管理系统。镜像分离包导入镜像管理系统时,需按上述方式进行文件校验。

在镜像管理系统上,读取镜像分离包中的关联模板文件,定义镜像分离包及其包含的操作系统文件、程序文件和配置文件,同时设置各文件的版本号;同时对每一个文件做MD5校验,然后对整个镜像分离包做MD5-Chain校验。

步骤S703,镜像分离包实例化后,生成容器,容器管理系统维护该容器的生命周期,其中,运行的容器通过容器管理系统提供服务供外部调用。

步骤S704,当镜像分离包中某个程序文件需要修改时,制作新的镜像分离包。该镜像分离包可以只包含需要修改的程序文件,其他文件在关联模板文件中设置为缺省。新制作的镜像分离包的文件大小将大大减小。

步骤S705,下载新的镜像分离包,导入镜像管理系统。由于镜像管理系统在上次导入镜像分离包时,已经存在缺省文件,因此MD5-Chain校验镜像分离包完整性成功。

提交系统文件、程序文件和配置文件到镜像管理系统;镜像管理系统按版本号独立存储镜像分离包中的每一个文件。如果镜像管理系统已经有相同版本号的相同文件存在,MD5码校验相同,则可共用存储。

镜像管理系统维护各文件的版本,支持使用指定版本的镜像分离包。容器管理系统启动容器实例时,先从镜像管理系统根据关联模板文件获取镜像分离包文件。按关联模板文件中定义的启动顺序,依次启动;先启动操作系统文件,然后程序文件,最后加载配置文件。容器实例启动后,容器管理系统维护其正常运行。容器实例暴露服务到网络上供其他应用调用。

5G网元的镜像分离包的使用,镜像分离包制作完成后,以版本包的方式发布到镜像管理系统的版本仓库中,以供工程使用。

5G网元的镜像分离包升级之后,得到镜像分离升级包,镜像管理系统加载镜像分离升级包。镜像管理系统读取镜像分离升级包中的关联模板文件,更新关联模板文件中描述的程序文件和配置文件,并且打上新的版本号标签。对于不需要更新的操作系统文件,则不需要更新。执行命令,触发容器管理系统中所有该镜像分离包的容器实例,按新版本号文件更新程序文件和配置文件。然后重启程序。

本实施例中的5G网元涉及的镜像分离包,包括5G网元,但不限制在5G网元应用场景下。比如互联网容器镜像同样适用。

根据本申请的另一个实施例,还提供了一种镜像文件处理装置,图8是根据本申请实施例的镜像文件处理装置的框图,如图8所示,所述装置包括:

分离模块82,用于将镜像文件分离为多个镜像包文件;

处理模块84,用于将所述多个镜像包文件处理为一个镜像分离包;

发布模块86,用于将所述镜像分离包以版本包的方式发布到镜像管理系统中。

在一实施例中,所述处理模块84包括:

获取子模块,用于获取所述多个镜像包文件中的操作系统文件、程序文件及配置文件;

记录子模块,用于将所述操作系统文件、所述程序文件及所述配置文件的描述信息分别记录在关联模板文件中;

生成子模块,用于根据所述多个镜像包文件的MD5码生成MD5拼接串;

确定子模块,用于确定所述MD5拼接串的MD5-Chain码,将所述MD5-Chain码补充到所述关联模板文件中;

打包子模块,用于将所述关联模板文件与所述多个镜像包文件整体打包,以形成所述镜像分离包。

在一实施例中,所述生成子模块,还用于

获取每个镜像包文件的MD5码;

根据所述多个镜像包文件的启动序号,依次将所述每个镜像包文件的MD5码按顺序拼接,以形成所述MD5拼接串。

在一实施例中,所述装置还包括:

第一获取模块,用于对于所述多个镜像包文件中的非缺省文件,获取所述非缺省文件实时生成的目标MD5码;

第一校验模块,用于将所述MD5码与所述目标MD5码进行对比,以校验所述非缺省文件的正确性。

在一实施例中,所述装置还包括:

第二获取模块,用于获取所述镜像分离包的MD5-Chain码;

第二校验模块,用于使用所述MD5-Chain码对所述镜像分离包的完整性进行校验。

在一实施例中,所述装置还包括:

更新模块,用于当所述镜像分离包中的目标程序文件需要修改时,修改所述镜像分离包中的所述目标程序文件,得到更新后的镜像分离包,其中,所述更新后的镜像分离包只包含所述目标程序文件,除所述程序文件之外的其他文件在所述关联模板文件中设置为缺省。

在一实施例中,所述镜像包文件包括操作系统文件、程序文件及配置文件;所述描述信息包括:文件名、文件大小、文件MD5校验码、文件启动序号、文件版本号、是否为缺省文件。

在一实施例中,所述发布模块86包括:

读取子模块,用于在镜像管理系统上,读取所述镜像分离包中的关联模板文件、操作系统文件、程序文件以及配置文件,同时设置对应的版本号;

校验子模块,用于对每一个文件做MD5校验,对所述镜像分离包进行MD5-Chain校验,以确定所述镜像分离包的完整性;

存储子模块,用于通过所述镜像管理系统独立存储所述镜像分离包中的关联模板文件、操作系统文件、程序文件、配置文件以及对应的版本号。

在一实施例中,所述装置还包括:

第三获取模块,用于通过容器管理系统启动容器实例时,根据所述关联模板文件从所述镜像管理系统中获取所述镜像分离包中的所述关联模板文件、所述操作系统文件、所述程序文件以及所述配置文件;

启动模块,用于按照所述关联模板文件中定义的启动顺序,依次启动所述操作系统文件、所述程序文件以及所述配置文件;和/或

生成模块,用于在所述镜像分离包实例化之后,生成容器实例,通过容器管理系统维护所述容器实例的生命周期,其中,运行的所述容器实例用于提供外部调用的服务。

本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种消息处理方法、装置、电子设备及存储介质
  • 一种应用程序处理方法、装置、电子设备及可读存储介质
  • 一种网页处理方法、装置、电子设备及存储介质
  • 一种方控数据处理方法、装置、电子设备及存储介质
  • 一种游戏信息处理方法和装置、电子设备、存储介质
  • 一种镜像文件处理方法、装置、存储介质及电子设备
  • 镜像文件处理方法、装置、电子设备及存储介质
技术分类

06120116495860