CN112612489A - 软件的升级包构建方法、装置和电子设备 - Google Patents

软件的升级包构建方法、装置和电子设备 Download PDF

Info

Publication number
CN112612489A
CN112612489A CN202011492632.6A CN202011492632A CN112612489A CN 112612489 A CN112612489 A CN 112612489A CN 202011492632 A CN202011492632 A CN 202011492632A CN 112612489 A CN112612489 A CN 112612489A
Authority
CN
China
Prior art keywords
mirror image
software
content
image
mirror
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.)
Granted
Application number
CN202011492632.6A
Other languages
English (en)
Other versions
CN112612489B (zh
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.)
Beijing Bangbang System Integration Service Co ltd
Beijing Bangcle Technology Co ltd
Original Assignee
Beijing Bangbang System Integration Service Co ltd
Beijing Bangcle Technology 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 Beijing Bangbang System Integration Service Co ltd, Beijing Bangcle Technology Co ltd filed Critical Beijing Bangbang System Integration Service Co ltd
Priority to CN202011492632.6A priority Critical patent/CN112612489B/zh
Publication of CN112612489A publication Critical patent/CN112612489A/zh
Application granted granted Critical
Publication of CN112612489B publication Critical patent/CN112612489B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开一种软件的升级包构建方法、装置和电子设备,该方法包括:从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;基于所述镜像文件和所述描述文件构建所述软件的升级包。本申请方案缩短了软件升级包的网络传播时间,提高网络传播效率。

Description

软件的升级包构建方法、装置和电子设备
技术领域
本申请涉及计算机技术领域,更具体地涉及软件的升级包构建方法、装置和电子设备。
背景技术
当虚拟化技术以及隔离技术出现后,基于docker的容器化基础架构得以广泛的应用。容器镜像具有一次构建到处运行的特点,使得通过容器镜像进行软件发布的运行的方式得以很快在业界流行开来。但是软件系统由众多容器镜像组成,在快速迭代更新的阶段,软件升级包的传输及升级效率低下。
因此,为了提升软件迭代、输出和交付的效率,如何能有效缩短容器镜像的网络传播时间,提高网络传播效率,成为一个亟待解决的问题。
发明内容
本申请的目的在于提供一种软件的升级包构建方法、装置和电子设备,以解决现有技术存在的软件升级包的传输及升级效率低下的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提供了一种基于软件的升级包的镜像执行方法,包括:
构建软件的升级包,所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述构建软件的升级包包括:
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
基于所述镜像文件和所述描述文件,构建所述软件的升级包;
基于所述软件的升级包执行Docker镜像,包括:
获取所述升级包;
获取所述基础镜像层的镜像文件和描述文件;
将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
在所述镜像注册服务器注册所述Docker镜像;
注册成功后,在Docker容器中运行所述Docker镜像。
第二方面,提供了一种软件的升级包构建方法,包括:
所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述方法包括:
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
基于所述镜像文件和所述描述文件,构建所述软件的升级包。
第三方面,提供了一种基于以上所述的软件的升级包构建方法的Docker镜像执行方法,包括:
获取所述升级包;
获取所述基础镜像层的镜像文件和描述文件;
将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
在所述镜像注册服务器注册所述Docker镜像;
注册成功后,在Docker容器中运行所述Docker镜像。
第四方面,提供了一种基于软件的升级包的镜像执行系统,其特征在于,包括:
软件的升级包构建单元,所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述软件的升级包构建单元执行以下功能:
用于从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
用于通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
用于根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
用于基于所述镜像文件和所述描述文件,构建所述软件的升级包;
基于所述软件的升级包的Docker镜像执行单元,
用于获取所述升级包;
用于获取所述基础镜像层的镜像文件和描述文件;
用于将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
用于在所述镜像注册服务器注册所述Docker镜像;
用于注册成功后,在Docker容器中运行所述Docker镜像。
第五方面,提供一种软件的升级包构建装置,包括:所有镜像层的内容摘要信息获取模块、差异内容的内容摘要信息获取模块、差异内容拉取模块、软件的升级包构建模块,其中,
所有镜像层的内容摘要信息获取模块,用于所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
差异内容的内容摘要信息获取模块,用于通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
差异内容拉取模块,用于根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
软件的升级包构建模块,用于基于所述镜像文件和所述描述文件,构建所述软件的升级包。
第六方面,提供一种基于软件的升级包的镜像执行装置,包括:升级包获取模块、基础镜像层文件获取模块、升级包合并模块、镜像注册模块、镜像运行模块,其中,
升级包获取模块,用于获取所述升级包;
基础镜像层文件获取模块,用于获取所述基础镜像层的镜像文件和描述文件;
升级包合并模块,用于将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
镜像注册模块,用于在所述镜像注册服务器注册所述Docker镜像;
镜像运行模块,用于注册成功后,在Docker容器中运行所述Docker镜像。
第七方面,提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述实施例提供的软件的升级包构建方法。
第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的软件的升级包构建方法。
第九方面,提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述实施例提供的基于以上所述的软件的升级包构建方法的Docker镜像执行方法。
第十方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的基于以上所述的软件的升级包构建方法的Docker镜像执行方法。
采用以上本申请实施例提供的至少一个技术方案,在进行软件包镜像的下载之前,通过获取差异内容的内容摘要信息确定软件的升级包所包含的差异内容镜像层,下载差异内容对应的镜像文件,不需要下载全部镜像文件,能够在不影响软件包镜像的部署的前提下,减少实际下载的镜像层的数量,缩短软件包镜像的网络传播时间,提高网络传播效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的第一实施例提供的一种基于软件的升级包的镜像执行方法的示意性流程图。
图2是本申请的第二实施例提供的一种软件的升级包构建方法的示意性流程图。
图3是本申请的第二实施例提供的一种软件的升级包构建方法的示意图。
图4是本申请实施例提供的软件包镜像的示意图。
图5是本申请的第三实施例提供的一种基于软件的升级包构建方法的Docker镜像执行方法的示意性流程图。
图6是本申请的第三实施例提供的一种基于软件的升级包构建方法的Docker镜像执行方法的示意图。
图7是本申请实施例提供的一种基于软件的升级包的镜像执行系统的示意图。
图8是本申请实施例提供的一种软件的升级包构建装置的示意图。
图9是本申请实施例提供的一种基于软件的升级包的Docker镜像执行装置的示意图。
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例一
为解决现有技术存在的软件升级包的传输及升级效率低下的问题,本申请实施例一提供一种基于软件的升级包的镜像执行方法。
该方法的执行主体,可以但不限于为手机、平板电脑或个人电脑(PersonalComputer,PC)、服务器、服务器集群等等计算设备,或者,该方法的执行主体,也可以是计算设备上安装的应用软件,比如安装在电脑上的应用(Application,APP)等。
图1是本发明实施例一提供的基于软件的升级包的镜像执行方法的主要步骤的示意图,该流程可以包括下述步骤:
S11:构建软件的升级包,包括:
所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述方法包括:
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
基于所述镜像文件和所述描述文件,构建所述软件的升级包。
S12:基于所述软件的升级包执行Docker镜像,包括:
获取所述升级包;
获取所述基础镜像层的镜像文件和描述文件;
将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
在所述镜像注册服务器注册所述Docker镜像;
注册成功后,在Docker容器中运行所述Docker镜像。
实施例二
为解决现有技术存在的软件升级包的传输及升级效率低下的问题,本申请实施例二提供一种软件的升级包构建方法。
该方法的执行主体,可以但不限于为手机、平板电脑或个人电脑(PersonalComputer,PC)、服务器、服务器集群等等计算设备,或者,该方法的执行主体,也可以是计算设备上安装的应用软件,比如安装在电脑上的应用(Application,APP)等。
图2是根据本申请实施例二提供的一种软件的升级包构建方法的主要步骤的示意图,图3是根据本申请实施例二提供的一种软件的升级包构建方法的示意图,以该方法的执行主体为软件开发平台的一个服务器为例,该流程可以包括下述步骤:
该方法的执行主体,可以但不限于为手机、平板电脑或个人电脑(PersonalComputer,PC)、服务器、服务器集群等等计算设备,或者,该方法的执行主体,也可以是计算设备上安装的应用软件,比如安装在服务器上的应用(Application,APP)等。本实施例以执行主体为服务器为例进行说明。
S21:所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
所述软件的软件包镜像,即软件的升级版本的软件包镜像。在服务器(server)完成软件的升级版本的软件包镜像开发后,将所述升级版本的软件包镜像由服务器(server)推送至Docker的镜像注册服务器(dockerregister)进行注册。所述预先在Docker的镜像注册服务器进行注册是将升级版本的软件包镜像推送至所述镜像注册服务器。
所述镜像注册服务器是用于存储/分发Docker镜像的服务端程序。镜像注册服务器上包含镜像仓库服务(Image Registry)。镜像仓库服务包含多个镜像仓库(ImageRepository)。同样,一个镜像仓库中可以包含多个镜像。
所述软件包镜像由描述文件Manifest(也可称为Meta信息)和各镜像层的镜像文件(Blob层)组成。其中,镜像的Manifest中,可以包含多类信息,例如,各镜像层的标签Tag,各镜像层的摘要信息Digest等。通过各镜像层的摘要信息能够了解到软件包镜像中包含的镜像层的数量、各镜像层的位置、顺序等信息。可选的,摘要信息digest可以是对应镜像层的64位哈希码(hash码)或者256位哈希码(hash码)。
图4是本申请实施例提供的软件包镜像的示意图。如图4所示,定义两种镜像类型,一种是基础镜像,一种是应用镜像,基础镜像包含应用镜像中所依赖的软件,这些软件程序属于冷数据,很少更新的内容。例如需要的软件环境(例如java解释器、python程序)以及该软件所依赖的操作系统(例如Ubuntu以及CentOS的rootFS)。而应用镜像包括经常更新的依赖软件以及软件更新包,这些数据属于热数据。应用镜像基于基础镜像进行构建。本方案中的所述应用镜像层包括所述软件包镜像的所有镜像层,所述应用镜像层包括基础镜像层。所述软件的升级版本的软件包镜像是在所述基础镜像层上增加镜像层构建的。
例如基础镜像base-image-1:1.0提供来自于ubuntu16的openjdk环境,Dockerfile内容如下:
FROM ubuntu:16.04
RUN apt-get install openjdk8
而应用镜像app-image-1:1.0依赖于base-image-1:1.0构建,Dockerfile内容如下:
FROM base-image-1:1.0
WORKDIR/data/app
COPY app/data/app
EXPOSE 8080
CMD[“/data/app/runProd.sh”]
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息的方法包括:从所述镜像注册服务器中获取所述软件包镜像的描述文件,通过对软件包镜像的描述文件进行分析抽取出软件包镜像中各镜像层的摘要信息。
在一个实施例中,推送至所述镜像注册服务器的所述升级版本的软件包镜像除包括所有镜像层的描述文件外,还包括所述升级版本的软件包镜像的基础镜像层的描述文件,用于判断软件包镜像的升级信息。
从所述镜像注册服务器处,获取所述软件包镜像的描述文件的方法包括:通过docker rest api接口组件docker remote api获取。
例如:GET/{镜像名}/tags/{tag值}/manifest
GET localhost:8029/app-image/tags/1.0/manifest
S22:通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
所述各镜像层的内容摘要信息包括各镜像层的位置、顺序、哈希码等信息。
在本公开的一个实施例中,通过比较所述软件包镜像的所有镜像层的哈希信息以及所述软件包镜像的基础镜像层的哈希信息,确定所述基础镜像层和所述应用镜像层的差异内容的哈希信息。
例如,所述软件包镜像的所有镜像层的哈希信息如下所示:
"Layers":
["sha256:ea69392465ad72ace1216ca2f49a372c7d6f10ec031ab53a94a17699c9ab4185",
"sha256:cb81b9d8a6c949536491003953d798fe2f2149eedad9c4108377d33d52b4f7709",
"sha256:90109bbe5b7686d39d031b5b0e51d4dac69c5cb112f96ed785f56cc0119290ef",
"sha256:9acfe225486b3167970823d286270ce8645c4a565c3a7a19e66bd5c585b6c599",
"sha256:a12b9bd9fe48a1860abdba86e22fbbbddd9de01b3e21b7aa014ae5ad87ba89c6",
"sha256:c82c287f392b5c18574db1d6805d8be828729d278cf90c3c0bdaaaa90cab1abc",
"sha256:7d4d6b51f0ad95fcb1257714f1752a5e01fc023aaa20d417d525d4db616efc81",
"sha256:763b0bf1dc83bea3a2cfa81b22bcaf921edb3e482548e78ef6f56e4f3867e4ec″,
"sha256:abfca642c0c7c76a6c77ebdeb24da28897883af7f0d2a265294993969bdca2ce",
"sha256:49e41978f7f5d46770a65fa51a345054bde28c7355788661be6d996d0509307b"]
所述软件包镜像所依赖的基础镜像层的哈希信息如下所示:
"Layers":
["sha256:9acfe225486b3167970823d286270ce8645c4a565c3a7a19e66bd5c585b6c599",
"sha256:a12b9bd9fe48a1860abdba86e22fbbbddd9de01b3e21b7aa014ae5ad87ba89c6",
"sha256:c82c287f392b5c18574db1d6805d8be828729d278cf90c3c0bdaaaa90cab1abc",
"sha256:7d4d6b51f0ad95fcb1257714f1752a5e01fc023aaa20d417d525d4db616efc81","sha256:763b0bf1dc83bea3a2cfa81b22bcaf921edb3e482548e78ef6f56e4f3867e4ec",
"sha256:abfca642c0c7c76a6c77ebdeb24da28897883af7f0d2a265294993969bdca2ce",
"sha256:49e41978f7f5d46770a65fa51a345054bde28c7355788661be6d996d0509307b"]
通过对比确定所述基础镜像层和所述应用镜像层的差异内容的哈希信息如下:
"Layers":
["sha256:ea69392465ad72ace1216ca2f49a372c7d6f10ec031ab53a94a17699c9ab4185",
"sha256:cb81b9d8a6c949536491003953d798fe2f2149eedad9c4108377d33d52b4f7709",
"sha256:90109bbe5b7686d39d031b5b0e51d4dac69c5cb112f96ed785f56cc0119290ef"]
S23:根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
描述文件(manifest)主要存在于镜像仓库中作为镜像的元数据文件,在pull、push、save和load过程中作为镜像结构和基础信息的描述文件。在镜像被pull或者load到宿主机时,manifest被转化为本地的镜像配置文件。在拉取镜像时对镜像的manifest内容计算sha256sum得到摘要。
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件,包括:根据所述差异内容的内容摘要信息确定所述差异内容对应的镜像名及差异内容对应的镜像文件,从所述镜像注册服务器拉取所述差异内容对应的镜像文件。具体的,根据所述镜像名,通过调用镜像注册服务器的镜像文件访问接口,获取对应于所述镜像名的镜像文件,作为所述差异内容对应的镜像文件。所述访问接口示例如下表所示。
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件,包括:根据所述差异内容的内容摘要信息确定所述差异内容对应的镜像名及差异内容对应的描述文件,从所述镜像注册服务器拉取所述差异内容对应的描述文件。具体的,根据所述镜像名,通过调用镜像注册服务器的镜像文件访问接口,获取对应于所述镜像名的描述文件,作为所述差异内容对应的描述文件。所述访问接口示例如下表所示。
例如通过docker rest api接口组件docker remote api获取镜像文件及描述文件。如下表所示:
Figure BDA0002841148160000121
S24:基于所述镜像文件和所述描述文件,构建所述软件的升级包。
所述软件的升级包除包括所述差异内容的镜像文件和描述文件外,还包括所述软件的升级版本的升级信息,所述软件的升级版本的升级信息可以包括所述软件的升级版本的所有镜像层的描述文件,或者包括所述软件的升级版本的基础镜像层的描述文件。根据所述升级信息及所述差异内容的镜像文件和描述文件,可以确定基础镜像层的内容摘要信息。
在软件包镜像中基础镜像占据很大比例,例如app-image:2.0软件包镜像为1.4G,基础镜像大小为1.2G,基础镜像占据整个软件包80%以上的空间,差异镜像层即app-image:2.0的新增分层为200MB。通过下载差异镜像层的镜像文件,大大提高了网络传播效率。
本方案在进行软件包镜像的下载之前,通过获取差异内容的内容摘要信息确定软件的升级包所包含的差异内容镜像层,下载差异内容对应的镜像文件,不需要下载全部镜像文件,能够在不影响软件包镜像的部署的前提下,减少实际下载的镜像层的数量,缩短软件包镜像的网络传播时间,提高网络传播效率。
实施例三
为解决现有技术存在的软件升级包的传输及升级效率低下的问题,本申请实施例三提供一种基于以上所述的软件的升级包构建方法的Docker镜像执行方法。
该方法的执行主体,可以但不限于为手机、平板电脑或个人电脑(PersonalComputer,PC)、服务器、服务器集群等等计算设备,或者,该方法的执行主体,也可以是计算设备上安装的应用软件,比如安装在电脑上的应用(Application,APP)等。
图5是根据本发明实施例三提供的一种基于软件的升级包构建方法的Docker镜像执行方法的主要步骤的示意图,图6是根据本发明实施例三提供的一种基于软件的升级包构建方法的Docker镜像执行方法的示意图,以该方法的执行主体为软件包镜像执行方的一个服务器为例,该流程可以包括下述步骤:
S51:获取所述升级包;
所述升级包包括以上实施例二构建的软件的升级包。
S52:获取所述基础镜像层的镜像文件和描述文件;
所述升级包包括差异内容对应的镜像文件和所述描述文件以及升级信息,升级信息包括所述软件的升级版本的所有镜像层的描述文件,根据差异内容的描述文件以及软件的所有镜像层的描述文件获取基础镜像层的内容摘要信息,根据基础镜像层的内容摘要信息从所述镜像注册服务器拉取所述基础镜像层的镜像文件和描述文件。
S53:将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
S54:在所述镜像注册服务器注册所述Docker镜像;
S55:注册成功后,在Docker容器中运行所述Docker镜像。
实施例四
为解决现有技术存在的软件升级包的传输及升级效率低下的问题,本发明实施例四提供一种基于软件的升级包的镜像执行系统。
图7是根据本申请实施例的基于软件的升级包的镜像执行系统的示意图。如图7所示,本申请实施例中的基于软件的升级包的镜像执行系统,包括:
软件的升级包构建单元,所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述软件的升级包构建单元执行以下操作:
用于从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
用于通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
用于根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
用于基于所述镜像文件和所述描述文件,以及所述软件的升级版本的升级信息,构建所述软件的升级包;
基于所述软件的升级包的Docker镜像执行单元,
用于获取所述升级包;
用于获取所述基础镜像层的镜像文件和描述文件;
用于将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
用于在所述镜像注册服务器注册所述Docker镜像;
用于注册成功后,在Docker容器中运行所述Docker镜像。
实施例五
为解决现有技术存在的软件升级包的传输及升级效率低下的问题,本发明实施例五提供一种软件的升级包构建装置。
图8是根据本申请实施例的软件的升级包构建装置的示意图。如图8所示,本申请实施例中的软件的升级包构建装置,包括:所有镜像层的内容摘要信息获取模块、差异内容的内容摘要信息获取模块、差异内容拉取模块、软件的升级包构建模块,其中,
所有镜像层的内容摘要信息获取模块,用于所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
差异内容的内容摘要信息获取模块,用于通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
差异内容拉取模块,用于根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
软件的升级包构建模块,用于基于所述镜像文件和所述描述文件,构建所述软件的升级包。
实施例六
为解决现有技术存在的软件升级包的传输及升级效率低下的问题,本发明实施例六提供一种基于软件的升级包的Docker镜像执行装置。
图9是根据本申请实施例的基于软件的升级包的Docker镜像执行装置的示意图。如图9所示,本申请实施例中的基于软件的升级包的Docker镜像执行装置,包括:升级包获取模块、基础镜像层文件获取模块、升级包合并模块、镜像注册模块、镜像运行模块,其中,
升级包获取模块,用于获取所述升级包;
基础镜像层文件获取模块,用于获取所述基础镜像层的镜像文件和描述文件;
升级包合并模块,用于将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
镜像注册模块,用于在所述镜像注册服务器注册所述Docker镜像;
镜像运行模块,用于注册成功后,在Docker容器中运行所述Docker镜像。
实施例七
本发明实施例还提供了一种电子设备,该设备用于执行上述的方法,图10为实现本发明各个实施例的一种电子设备的结构示意图,如图10所示,电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1001和存储器1002,存储器1002中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1002可以是短暂存储或持久存储。存储在存储器1002的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对电子设备中的一系列计算机可执行指令。更进一步地,处理器1001可以设置为与存储器1002通信,在电子设备上执行存储器1002中的一系列计算机可执行指令。电子设备还可以包括一个或一个以上电源1003,一个或一个以上有线或无线网络接口1004,一个或一个以上输入输出接口1005,一个或一个以上键盘1006。
具体在本实施例中,电子设备包括有处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现以下方法步骤:
所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述方法包括:
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
基于所述镜像文件和所述描述文件,构建所述软件的升级包。
或所述处理器,用于执行所述存储器上所存放的程序,实现以下方法步骤:
获取所述升级包;
获取所述基础镜像层的镜像文件和描述文件;
将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
在所述镜像注册服务器注册所述Docker镜像;
注册成功后,在Docker容器中运行所述Docker镜像。
本申请实施例还提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现以下方法步骤:
所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述方法包括:
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
基于所述镜像文件和所述描述文件,构建所述软件的升级包。
或所述计算机程序被处理器执行时实现以下方法步骤:
获取所述升级包;
获取所述基础镜像层的镜像文件和描述文件;
将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
在所述镜像注册服务器注册所述Docker镜像;
注册成功后,在Docker容器中运行所述Docker镜像。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,电子设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
可以理解的是,本发明实施例描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本发明所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本发明实施例所述功能的模块(例如过程、函数等)来实现本发明实施例所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (10)

1.一种基于软件的升级包的镜像执行方法,其特征在于,包括:
构建软件的升级包,所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述构建软件的升级包包括:
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
基于所述镜像文件和所述描述文件,构建所述软件的升级包;
基于所述软件的升级包执行Docker镜像,包括:
获取所述升级包;
获取所述基础镜像层的镜像文件和描述文件;
将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
在所述镜像注册服务器注册所述Docker镜像;
注册成功后,在Docker容器中运行所述Docker镜像。
2.一种软件的升级包构建方法,其特征在于,所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述方法包括:
从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
基于所述镜像文件和所述描述文件,构建所述软件的升级包。
3.根据权利要求2所述的软件升级包的构建方法,其特征在于,根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件,包括:
根据所述差异内容的内容摘要信息,确定所述差异内容对应的镜像名;
根据所述镜像名,通过调用镜像注册服务器的描述文件访问接口,获取对应于所述镜像名的描述文件,作为所述差异内容对应的描述文件;
根据所述镜像名,通过调用镜像注册服务器的镜像文件访问接口,获取具备所述镜像名的镜像文件,作为所述差异内容对应的镜像文件。
4.一种基于权利要求2所述的软件的升级包构建方法的Docker镜像执行方法,其特征在于,包括:
获取所述升级包;
获取所述基础镜像层的镜像文件和描述文件;
将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
在所述镜像注册服务器注册所述Docker镜像;
注册成功后,在Docker容器中运行所述Docker镜像。
5.一种基于软件的升级包的镜像执行系统,其特征在于,包括:
软件的升级包构建单元,所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;所述软件的升级包构建单元执行以下功能:
用于从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
用于通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
用于根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
用于基于所述镜像文件和所述描述文件,构建所述软件的升级包;
基于所述软件的升级包的Docker镜像执行单元,
用于获取所述升级包;
用于获取所述基础镜像层的镜像文件和描述文件;
用于将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
用于在所述镜像注册服务器注册所述Docker镜像;
用于注册成功后,在Docker容器中运行所述Docker镜像。
6.一种软件的升级包构建装置,其特征在于,包括:所有镜像层的内容摘要信息获取模块、差异内容的内容摘要信息获取模块、差异内容拉取模块、软件的升级包构建模块,其中,
所有镜像层的内容摘要信息获取模块,用于所述软件的软件包镜像,预先在Docker的镜像注册服务器进行了注册;从所述镜像注册服务器处,获取所述软件包镜像的所有镜像层的内容摘要信息;所述所有镜像层包括基础镜像层;
差异内容的内容摘要信息获取模块,用于通过比较所述所有镜像层的内容摘要信息以及所述基础镜像层的内容摘要信息,确定所述基础镜像层和所述应用镜像层的差异内容的内容摘要信息;
差异内容拉取模块,用于根据所述差异内容的内容摘要信息,从所述镜像注册服务器拉取所述差异内容对应的镜像文件和所述描述文件;所述描述文件用于至少描述镜像的结构和基础信息;
软件的升级包构建模块,用于基于所述镜像文件和所述描述文件,构建所述软件的升级包。
7.根据权利要求6所述的软件的升级包构建装置,其特征在于,所述差异内容拉取模块还用于:
根据所述差异内容的内容摘要信息,确定所述差异内容对应的镜像名;
根据所述镜像名,通过调用镜像注册服务器的描述文件访问接口,获取对应于所述镜像名的描述文件,作为所述差异内容对应的描述文件;
根据所述镜像名,通过调用镜像注册服务器的镜像文件访问接口,获取具备所述镜像名的镜像文件,作为所述差异内容对应的镜像文件。
8.一种基于软件的升级包的Docker镜像执行装置,其特征在于,包括:升级包获取模块、基础镜像层文件获取模块、升级包合并模块、镜像注册模块、镜像运行模块,其中,
升级包获取模块,用于获取所述升级包;
基础镜像层文件获取模块,用于获取所述基础镜像层的镜像文件和描述文件;
升级包合并模块,用于将所述升级包与所述基础镜像层的镜像文件和描述文件进行合并,以生成可执行的Docker镜像;
镜像注册模块,用于在所述镜像注册服务器注册所述Docker镜像;
镜像运行模块,用于注册成功后,在Docker容器中运行所述Docker镜像。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的软件的升级包的构建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的软件的升级包的构建方法的步骤。
CN202011492632.6A 2020-12-16 2020-12-16 软件的升级包构建方法、装置和电子设备 Active CN112612489B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011492632.6A CN112612489B (zh) 2020-12-16 2020-12-16 软件的升级包构建方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011492632.6A CN112612489B (zh) 2020-12-16 2020-12-16 软件的升级包构建方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN112612489A true CN112612489A (zh) 2021-04-06
CN112612489B CN112612489B (zh) 2024-03-12

Family

ID=75240534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011492632.6A Active CN112612489B (zh) 2020-12-16 2020-12-16 软件的升级包构建方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN112612489B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867778A (zh) * 2021-09-18 2021-12-31 苏州浪潮智能科技有限公司 一种镜像文件的生成方法、装置、电子设备及存储介质
CN114721699A (zh) * 2022-05-19 2022-07-08 龙芯中科技术股份有限公司 一种镜像升级方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227579A (zh) * 2016-07-12 2016-12-14 深圳市中润四方信息技术有限公司 一种Docker容器构建方法及Docker管理控制台
WO2018001091A1 (zh) * 2016-06-29 2018-01-04 中兴通讯股份有限公司 虚拟网络功能vnf更新方法、装置和vnf包
WO2018041061A1 (zh) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 车载设备的升级方法、设备、系统和计算机存储介质
CN109756533A (zh) * 2017-11-02 2019-05-14 阿里巴巴集团控股有限公司 一种镜像加速方法、装置及服务器
CN110413379A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 信息处理方法及其装置、系统、电子设备和介质
CN110908671A (zh) * 2018-09-18 2020-03-24 北京京东尚科信息技术有限公司 构建docker镜像的方法、装置及计算机可读存储介质
CN111158737A (zh) * 2019-12-30 2020-05-15 深圳云天励飞技术有限公司 一种增量升级方法和相关设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018001091A1 (zh) * 2016-06-29 2018-01-04 中兴通讯股份有限公司 虚拟网络功能vnf更新方法、装置和vnf包
CN107547237A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 虚拟网络功能vnf更新方法、装置和vnf包
CN106227579A (zh) * 2016-07-12 2016-12-14 深圳市中润四方信息技术有限公司 一种Docker容器构建方法及Docker管理控制台
WO2018041061A1 (zh) * 2016-08-29 2018-03-08 深圳市中兴微电子技术有限公司 车载设备的升级方法、设备、系统和计算机存储介质
CN109756533A (zh) * 2017-11-02 2019-05-14 阿里巴巴集团控股有限公司 一种镜像加速方法、装置及服务器
CN110908671A (zh) * 2018-09-18 2020-03-24 北京京东尚科信息技术有限公司 构建docker镜像的方法、装置及计算机可读存储介质
CN110413379A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 信息处理方法及其装置、系统、电子设备和介质
CN111158737A (zh) * 2019-12-30 2020-05-15 深圳云天励飞技术有限公司 一种增量升级方法和相关设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LY2020_: "Docker镜像的分层结构介绍以及镜像的创建(docker commit与dockerfile)", pages 1 - 7, Retrieved from the Internet <URL:https://blog.csdn.net/ly2020_/article/details/98492786> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867778A (zh) * 2021-09-18 2021-12-31 苏州浪潮智能科技有限公司 一种镜像文件的生成方法、装置、电子设备及存储介质
CN114721699A (zh) * 2022-05-19 2022-07-08 龙芯中科技术股份有限公司 一种镜像升级方法、装置、电子设备及存储介质
CN114721699B (zh) * 2022-05-19 2022-08-26 龙芯中科技术股份有限公司 一种镜像升级方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112612489B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
CN108958796B (zh) 业务请求处理方法及装置、业务请求处理系统
US10140461B2 (en) Reducing resource consumption associated with storage and operation of containers
US8972967B2 (en) Application packages using block maps
US9258357B2 (en) Method for accessing plural cloud storages, electronic apparatus and non-transitory computer readable medium
US9582513B2 (en) Accessing data in a compressed container through dynamic redirection
US20110246617A1 (en) Virtual Application Extension Points
US10613847B2 (en) Information handling system to treat demoted firmware with replacement firmware
CN112612489B (zh) 软件的升级包构建方法、装置和电子设备
CN111569431B (zh) 游戏引擎资源处理方法、电子设备及计算机可读存储介质
CN112965761B (zh) 一种数据处理方法、系统、电子设备及存储介质
US20230259358A1 (en) Documentation enforcement during compilation
WO2019041891A1 (zh) 升级包的生成方法及装置
US20120159515A1 (en) Sharing object representations
CN115994122A (zh) 快速缓存信息的方法、系统、设备及储存介质
CN111562929A (zh) 补丁文件的生成方法、装置、设备及存储介质
CN117707543A (zh) 一种应用安装包制作和安装方法、计算设备及存储介质
US11416614B2 (en) Statistical detection of firmware-level compromises
CN115080114B (zh) 应用程序的移植处理方法、装置和介质
CN110955415A (zh) 一种投影多平台服务适配的方法
US9626371B2 (en) Attribute selectable file operation
US20180341475A1 (en) Just In Time Deployment with Package Managers
CN113867776A (zh) 中台应用的发布方法、装置、电子设备和存储介质
CN115421785B (zh) 应用程序的移植处理方法、装置和介质
US11500896B2 (en) Method and system for selectively separating organization data according to business division
CN115454827B (zh) 兼容性检测方法、系统、设备和介质

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