【技术实现步骤摘要】
一种基于配置代码表征的容器基础镜像推荐方法及系统
本专利技术涉及容器基础镜像领域,特别是涉及一种基于配置代码表征的容器基础镜像推荐方法及系统。
技术介绍
近年来,得益于容器技术的快速部署的特性,Docker容器技术已经引起了业内的广泛关注。但是基于Docker容器的软件开发过程,需要编写Dockerfile等配置文件信息。为了完成Dockerfile的配置,开发者首先需要指定该Dockerfile所依赖的基础镜像,这往往依赖于开发者的个人经验。更重要的是,选择合适的基础镜像不仅仅有利于减小镜像的大小,更有利于提高镜像的构建成功率。然而,在类似DockerHub等镜像托管社区,容器搜索技术主要依赖于开发者的个人经验。
技术实现思路
本专利技术的目的是提供一种基于配置代码表征的容器基础镜像推荐方法及系统,提高了容器基础镜像获取的效率和准确性。为实现上述目的,本专利技术提供了如下方案:一种基于配置代码表征的容器基础镜像推荐方法,所述方法包括:获得容器镜像配置数据集;所述容器镜像配置数据集包括多个容器镜像配置文件;对所述容器镜像配置数据集中各容器镜像配置文件中数据进行解析,获得各容器镜像配置文件对应的功能性代码片段和基础镜像;将各所述功能性代码片段表征为抽象语法树结构;获得所述抽象语法树结构从根节点到各叶子节点的多条路径,各条路径包括从根节点到对应叶子节点之间的结构序列和对应的叶子节点;以各所述功能性代码片段对应的多个结构序列和对应的叶子节点为输入, ...
【技术保护点】
1.一种基于配置代码表征的容器基础镜像推荐方法,其特征在于,所述方法包括:/n获得容器镜像配置数据集;所述容器镜像配置数据集包括多个容器镜像配置文件;/n对所述容器镜像配置数据集中各容器镜像配置文件中数据进行解析,获得各容器镜像配置文件对应的功能性代码片段和基础镜像;/n将各所述功能性代码片段表征为抽象语法树结构;/n获得所述抽象语法树结构从根节点到各叶子节点的多条路径,各条路径包括从根节点到对应叶子节点之间的结构序列和对应的叶子节点;/n以各所述功能性代码片段对应的多个结构序列和对应的叶子节点为输入,以各所述功能性代码片段对应的基础镜像为输出训练神经网络模型,获得容器基础镜像推荐模型;/n获得待推荐的功能性代码片段的多个结构序列和对应的叶子节点;/n将所述待推荐的功能性代码片段的多个结构序列和对应的叶子节点输入所述容器基础镜像推荐模型,获得所述待推荐的功能性代码片段对应的基础镜像。/n
【技术特征摘要】
1.一种基于配置代码表征的容器基础镜像推荐方法,其特征在于,所述方法包括:
获得容器镜像配置数据集;所述容器镜像配置数据集包括多个容器镜像配置文件;
对所述容器镜像配置数据集中各容器镜像配置文件中数据进行解析,获得各容器镜像配置文件对应的功能性代码片段和基础镜像;
将各所述功能性代码片段表征为抽象语法树结构;
获得所述抽象语法树结构从根节点到各叶子节点的多条路径,各条路径包括从根节点到对应叶子节点之间的结构序列和对应的叶子节点;
以各所述功能性代码片段对应的多个结构序列和对应的叶子节点为输入,以各所述功能性代码片段对应的基础镜像为输出训练神经网络模型,获得容器基础镜像推荐模型;
获得待推荐的功能性代码片段的多个结构序列和对应的叶子节点;
将所述待推荐的功能性代码片段的多个结构序列和对应的叶子节点输入所述容器基础镜像推荐模型,获得所述待推荐的功能性代码片段对应的基础镜像。
2.根据权利要求1所述的基于配置代码表征的容器基础镜像推荐方法,其特征在于,所述获得容器镜像配置数据集,具体包括:
获得开源项目集;
从所述开源项目集中筛选出包括镜像配置文件的项目,获得容器镜像数据库;
剔除所述容器镜像数据库中重复的容器镜像配置文件,获得由多个不同内容的容器镜像配置文件构成的容器镜像配置数据集。
3.根据权利要求2所述的基于配置代码表征的容器基础镜像推荐方法,其特征在于,所述获得开源项目集,具体包括:
从开源社区代码托管平台中,筛选star指标大于第一设定值且Issue指标大于第二设定值的开源项目,获得开源项目集。
4.根据权利要求2所述的基于配置代码表征的容器基础镜像推荐方法,其特征在于,所述剔除所述容器镜像数据库中重复的容器镜像配置文件,获得由多个不同内容的容器镜像配置文件构成的容器镜像配置数据集,具体包括:
获得容器镜像数据库中各所述容器镜像文件的哈希值;
根据各所述容器镜像文件的哈希值剔除所述容器镜像数据库中重复的容器镜像配置文件,获得由多个不同内容的容器镜像配置文件构成的容器镜像配置数据集。
5.根据权利要求1所述的基于配置代码表征的容器基础镜像推荐方法,其特征在于,所述神经网络模型为基于注意力机制的神经网络模型。
6.一种基于配置代码表征的容器基础镜像推荐系统,其特征在于,所述系统包括:
数据集获取模块,用于获得...
【专利技术属性】
技术研发人员:毛新军,张银园,张洋,卢遥,王涛,张璋,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。