首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 一种根据应用包特征自动生成容器镜像的智能打包方法

一种根据应用包特征自动生成容器镜像的智能打包方法

阅读:1发布:2023-02-12

专利汇可以提供一种根据应用包特征自动生成容器镜像的智能打包方法专利检索,专利查询,专利分析的服务。并且一种根据应用包特征自动生成容器镜像的智能打包方法,包括接收用户的打包 请求 和待打包的目标应用程序,获取应用程序的基本信息和依赖项信息;根据应用程序的基本信息和依赖项信息获取Dockerfile文件,所述Dockerfile文件中的Dockerfile命令包括基于匹配规则库中的匹配规则匹配出的Dockerfile命令和用户手动添加的Dockerfile命令;运行Dockerfile文件生成镜像;向用户发送镜像供用户下载使用。通过待打包的目标应用程序的基本信息和依赖项信息,通过匹配规则库,匹配出相应的Dockerfile命令,自动生成Dockerfile文件,通过不断优化匹配规则,使通过待打包的应用包特征参数打包到镜像文件的过程更加智能,避免了打包过程中运行依赖关系确定困难和人工编写Dockerfile文件过程繁琐的问题。,下面是一种根据应用包特征自动生成容器镜像的智能打包方法专利的具体信息内容。

1.一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:包括:
(11)接收用户的打包请求和待打包的目标应用程序,获取应用程序的基本信息和依赖项信息;
(12)根据应用程序的基本信息和依赖项信息获取Dockerfile文件,所述Dockerfile文件中的Dockerfile命令包括基于匹配规则库中的匹配规则匹配出的Dockerfile命令和用户手动添加的Dockerfile命令;
(13)运行Dockerfile文件生成镜像;
(14)向用户发送镜像供用户下载使用。
2.根据权利要求1所述的一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:所述获取应用程序的基本信息和依赖项信息的方法包括:
调用操作系统分析应用程序的包文件获取,调用数据库获取,通过用户手动输入获取。
3.根据权利要求1所述的一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:所述根据应用程序的基本信息和依赖项信息获取Dockerfile文件包括:
(31)获取Dockerfile文件,基于匹配规则库中的匹配规则,根据应用程序的基本信息和依赖项信息匹配出对应的Dockerfile命令,所有Dockerfile命令组成Dockerfile文件;
(32)运行Dockerfile文件生成的镜像,判断运行结果是否正常;
(33)若运行正常,则输出Dockerfile文件;
若运行异常,判断为Dockerfile文件中缺少部分依赖项信息对应的Dockerfile命令,则检测步骤(11)中获取的依赖项中,在匹配规则库中没有匹配规则的依赖项信息,并发送给用户,用于用户针对没有匹配规则的依赖项信息,手动添加对应的Dockerfile命令,在步骤(31)获取的Dockerfile文件基础上形成新的Dockerfile文件;
(34)运行新的Dockerfile文件生成的镜像,判断运行结果是否正常;
(35)重复步骤(33)。
4.根据权利要求1所述的一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:还包括步骤(14)后,根据用户手动添加的Dockerfile命令,向用户发送指令用于完善匹配规则库。
5.根据权利要求4所述的一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:所述完善匹配规则库,包括根据用户手动添加的Dockerfile命令及其对应的依赖项和匹配规则分别添加到相应的数据库中,并将依赖项说明添加到匹配说明库。
6.根据权利要求5所述的一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:匹配规则添加到匹配规则库之前,由用户确认,确认正确,则将匹配规则添加到匹配规则库,确认错误,则不将匹配规则添加到匹配规则库。
7.根据权利要求1所述的一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:所述基于匹配规则库中的匹配规则匹配出的Dockerfile命令包括:
根据应用程序的基本信息通过匹配规则生成对应的Dockerfile命令,用于安装应用程序的基本环境;
应用程序的依赖项信息匹配出相应的Dockerfile命令,包括匹配出依赖项安装方式的命令和安装目录的命令。
8.根据权利要求7所述的一种根据应用包特征自动生成容器镜像的智能打包方法,其特征在于:所述依赖项安装方式包括在线安装和脚本式离线安装。

说明书全文

一种根据应用包特征自动生成容器镜像的智能打包方法

技术领域

[0001] 本发明涉及计算机技术领域,更具体的说,涉及一种根据应用包特征自动生成容器镜像的智能打包方法。

背景技术

[0002] 在对应用软件等构建镜像的过程中,一个必不可少的环节就是获取其依赖信息。应用软件在运行的过程中会存在调用其他操作系统软件包数据库以及配置信息等,此时称该应用软件所调用的信息为其依赖关系。如果不事先确定应用软件所需的依赖关系,则很有可能在构建镜像过程中出现错误,降低构建镜像的效率。
[0003] 目前开发人员都是通过人工分析的方法来获取应用软件的依赖关系,然后将这些依赖关系写入Dockerfile中。然而,人工编写Dockerfile打包过程繁琐,且需要较高的专业技术要求,打包的前置条件又难以面面俱到。

发明内容

[0004] 针对上述现有技术存在的问题(1)运行依赖关系确定困难(2)人工编写过程繁琐,本发明提供一种根据应用包特征自动生成容器镜像的智能打包方法,包括:
[0005] (11)接收用户的打包请求和待打包的目标应用程序,获取应用程序的基本信息和依赖项信息;
[0006] (12)根据应用程序的基本信息和依赖项信息获取Dockerfile文件,所述Dockerfile文件中的Dockerfile命令包括基于匹配规则库中的匹配规则匹配出的Dockerfile命令和用户手动添加的Dockerfile命令;
[0007] (13)运行Dockerfile文件生成镜像;
[0008] (14)向用户发送镜像供用户下载使用。
[0009] 作为上述方案的进一步优化,所述获取应用程序的基本信息和依赖项信息的方法包括:
[0010] 调用操作系统分析应用程序的包文件获取,调用数据库获取,通过用户手动输入获取。
[0011] 作为上述方案的进一步优化,所述根据应用程序的基本信息和依赖项信息获取Dockerfile文件包括:
[0012] (31)获取Dockerfile文件,基于匹配规则库中的匹配规则,根据应用程序的基本信息和依赖项信息匹配出对应的Dockerfile命令,所有Dockerfile命令组成Dockerfile文件;
[0013] (32)运行Dockerfile文件生成的镜像,判断运行结果是否正常;
[0014] (33)若运行正常,则输出Dockerfile文件;
[0015] 若运行异常,判断为Dockerfile文件中缺少部分依赖项信息对应的Dockerfile命令,则检测步骤(11)中获取的依赖项中,在匹配规则库中没有匹配规则的依赖项信息,并发送给用户,用于用户针对没有匹配规则的依赖项信息,手动添加对应的Dockerfile命令,在步骤(31)获取的Dockerfile文件基础上形成新的Dockerfile文件;
[0016] (34)运行新的Dockerfile文件生成的镜像,判断运行结果是否正常;
[0017] (35)重复步骤(33)。
[0018] 作为上述方案的进一步优化,还包括步骤(14)后,根据用户手动添加的Dockerfile命令,向用户发送指令用于完善匹配规则库。
[0019] 作为上述方案的进一步优化,所述完善匹配规则库,包括根据用户手动添加的Dockerfile命令及其对应的依赖项和匹配规则分别添加到相应的数据库中,并将依赖项说明添加到匹配说明库。
[0020] 作为上述方案的进一步优化,匹配规则添加到匹配规则库之前,由用户确认,确认正确,则将匹配规则添加到匹配规则库,确认错误,则不将匹配规则添加到匹配规则库。
[0021] 作为上述方案的进一步优化,所述基于匹配规则库中的匹配规则匹配出的Dockerfile命令包括:
[0022] 根据应用程序的基本信息通过匹配规则生成对应的Dockerfile命令,用于安装应用程序的基本环境;
[0023] 应用程序的依赖项信息匹配出相应的Dockerfile命令,包括匹配出依赖项安装方式的命令和安装目录的命令;
[0024] 作为上述方案的进一步优化,所述依赖项安装方式包括在线安装和脚本式离线安装。
[0025] 本发明的一种根据应用包特征自动生成容器镜像的智能打包方法,具备如下有益效果:
[0026] 本发明的一种根据应用包特征自动生成容器镜像的智能打包方法中采用匹配规则库对应用程序生成镜像文件所需要特征信息进行智能匹配Dockerfile命令,从而生成用于创建镜像文件的Dockerfile文件,解决了在构建镜像过程中由于应用程序的运行依赖关系确定困难以及人工编写Dockerfile文件过程繁琐,造成的构建镜像文件效率低的问题,采用规则匹配可以自动匹配Dockerfile命令,还可以不断更新匹配规则库,不断优化匹配规则,实现一次处理多次复用的目的。附图说明
[0027] 图1为本发明一种根据应用包特征自动生成容器镜像的智能打包方法中智能打包镜像的流程框图
[0028] 图2为本发明一种根据应用包特征自动生成容器镜像的智能打包方法中添加匹配规则到匹配规则库的流程框图。
[0029] 实施方式
[0030] 下面结合附图1-2和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0031] 一种根据应用包特征自动生成容器镜像的智能打包方法,包括:
[0032] (11)接收用户的打包请求和待打包的目标应用程序,获取应用程序的基本信息和依赖项信息;
[0033] 接收用户的打包请求后,根据待打包的应用程序,通过调用操作系统分析应用程序的包文件,可以获取应用的类型、包的大小、创建的时间,通过调用数据库获取参考启动指令和入参模板,通过用户手动输入获取运行所需CPU及内存大小。
[0034] (12)根据应用程序的基本信息和依赖项信息获取Dockerfile文件,所述Dockerfile文件中的Dockerfile命令包括基于匹配规则库中的匹配规则匹配出的Dockerfile命令和用户手动添加的Dockerfile命令;
[0035] (13)运行Dockerfile文件生成镜像;
[0036] (14)向用户发送镜像供用户下载使用。
[0037] 获取应用程序的基本信息和依赖项信息的方法包括:调用操作系统分析应用程序的包文件获取,调用数据库获取,通过用户手动输入获取。
[0038] 本实施例中,获取的应用程序基本信息包括应用程序类型、大小、创建时间、参考启动指令、启动入参模板、运行所需CPU及内存大小;
[0039] 应用程序依赖项信息,包括依赖项运行时需要的环境信息、依赖项调用的其他软件包、依赖项的数据库信息和配置信息,其中,调用操作系统分析应用程序的包文件,可以获取应用的类型、包的大小、创建的时间和依赖项信息;调用数据库方式和由用户手动输入方式可以获取参考启动指令、入参模板、运行所需CPU及内存大小获取。
[0040] 在步骤(12)中根据应用程序的基本信息和依赖项信息获取Dockerfile文件具体包括:
[0041] (31)获取Dockerfile文件,基于匹配规则库中的匹配规则,根据应用程序的基本信息和依赖项信息匹配出对应的Dockerfile命令,所有Dockerfile命令组成Dockerfile文件;
[0042] (32)运行Dockerfile文件生成的镜像,判断运行结果是否正常;
[0043] (33)若运行正常,则输出Dockerfile文件;
[0044] 若运行异常,判断为Dockerfile文件中缺少部分依赖项信息对应的Dockerfile命令,则检测步骤(11)中获取的依赖项中,在匹配规则库中没有匹配规则的依赖项信息,并发送给用户,用于用户针对没有匹配规则的依赖项信息,手动添加对应的Dockerfile命令,在步骤(31)获取的Dockerfile文件基础上形成新的Dockerfile文件;
[0045] (34)运行新的Dockerfile文件生成的镜像,判断运行结果是否正常;
[0046] (35)重复步骤(33)。
[0047] 所述运行正常和运行异常具体包括:
[0048] 第一种,应用正常启动,容器未退出;
[0049] 第二种,应用正常启动,完成任务,容器正常退出;
[0050] 第三种,应用启动报错,容器异常退出;
[0051] 上述三种结果中,只有第三种情况是运行异常,需要进入获取新的Dockerfile文件的步骤,前两种情况均为正常。
[0052] 本发明的一种根据应用包特征自动生成容器镜像的智能打包方法,还包括步骤(14)后,根据用户手动添加的Dockerfile命令,向用户发送指令用于完善匹配规则库。
[0053] 所述完善匹配规则库,包括根据用户手动添加的Dockerfile命令及其对应的依赖项和匹配规则分别添加到相应的数据库中,并将依赖项说明添加到匹配说明库。
[0054] 在用户获得正确的镜像打包文件后,系统向用户发出指令请求添加新的匹配规则,并将形成新的Dockerfile文件过程中新遇到的依赖项作为推荐项显示在用户界面,便于用户选择相应的推荐项并添加相应的匹配规则、匹配出的Dockerfile命令和依赖项说明。
[0055] 为了保证匹配规则库中信息的准确性,在将匹配规则添加到匹配规则库之前,由用户确认,确认正确,则将匹配规则添加到匹配规则库,确认错误,则不将匹配规则添加到匹配规则库。
[0056] 作为上述方案的进一步优化,所述基于匹配规则库中的匹配规则匹配出的Dockerfile命令包括:
[0057] 根据应用程序的基本信息通过匹配规则生成对应的Dockerfile命令,用于安装应用程序的基本环境;
[0058] 应用程序的依赖项信息匹配出相应的Dockerfile命令,包括匹配出依赖项安装方式的命令和安装目录的命令;
[0059] 所述Dockerfile命令的部分匹配方式如表1所示:
[0060] 基础环境匹配 From安装依赖匹配 Runxxx
运行指令匹配 Cmd/Entrypoint
拷贝文件匹配 Copy
切换工作目录匹配 Workdir
[0061] 表1 Dockerfile命令的匹配方式
[0062] 依赖项的安装方式包括在线安装和脚本式离线安装;
[0063] 对于在线安装方式,这种方式直接执行指令,自动完成安装,对于脚本式离线安装方式,这种方式中由安装脚本确定安装目录。两种方式匹配出的Dockerfile命令均为Run指令;
[0064] 依赖项的安装命令包括yum、apt、wget、pip、二进制和指令安装;
[0065] 对应的的依赖安装的Dockerfile命令格式为Runxxx。
[0066] 工作原理:用户通过智能打包系统界面发送打包请求,并上传所需要打包的应用程序,系统接收到打包请求后,获取应用程序的基本信息和依赖项信息,其中,获取方法包括通过调用操作系统分析应用程序的包文件获取、通过调用数据库存储的数据获取和通过用户手动输入获取,系统根据获取的待打包应用程序的相关信息,通过查询匹配规则库匹配出相应的Dockerfile命令,生成Dockerfile文件,并运行判断Dockerfile命令是否完整,如果运行结果正常,则此次打包的应用程序中没有出现新的依赖项信息,已经完成打包,如果运行结果异常,则此次打包的应用程序中出现新的依赖项信息,系统会检测出相应的新的依赖性信息,并呈现在用户界面,让用户分别添加对应匹配的Dockerfile命令,形成新的Dockerfile文件,生成所需镜像。为了使匹配规则库的应用更广泛,本发明对匹配规则库不断进行完善,每次打包完成后,对于本次新出现的依赖项信息及相应的匹配规则添加到匹配信息中。
[0067] 最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈