一种基于深度学习的大数据一体机容器集群风险预测方法技术

技术编号:28372914 阅读:19 留言:0更新日期:2021-05-07 23:59
本发明专利技术公开了一种基于深度学习的大数据一体机容器集群风险预测方法,包括三个步骤:数据预处理、构建标准库和文件检测。(1)将Dockerfile文件解析并生成量化的符号向量,通过卷积神经网络模型输出Dockerfile文件的语义和结构特征;(2)将测试文件集输入K‑Means聚类算法模型分成存在存在风险和不存在风险两类,得到文件标准库;(3)待检测的Dockerfile文件的语义和结构特征输入KNN算法中进行风险预测并返回风险概率,如果存在风险则由用户决定是否对镜像进行放置。通过本发明专利技术的风险预测方法可以检测Dockerfile文件的风险和漏洞,从源头控制Docker容器的风险,提高大数据一体机容器集群的安全性。

【技术实现步骤摘要】
一种基于深度学习的大数据一体机容器集群风险预测方法
本专利技术涉及风险预测方法,尤其是一种大数据一体机容器集群的风险预测方法。
技术介绍
近几年,云计算作为一种新型的计算形式快速的发展起来虚拟机是云计算环境中的常用资源,但因为多个应用对运行环境的要求不同,导致应用部署产生了很多麻烦,因此Docker技术应运而生。Docker作为一种轻量级、可移植、自包含的软件打包技术,使应用程序可以几乎在任何地方以相同的方式运行。随着Docker应用的规模越来越大,大数据一体机也由传统虚拟机集群为基础的云计算集群逐渐转变为以Docker物理节点为集群的方式,因而容器安全方面的问题也越来越受到关注。国内已经有很多关于容器安全方面的工作,但主要还是分布在如何从底层提升Docker安全性而忽略了Docker镜像这一环节。Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Clair是目前最流行的镜像扫描工具,但是Clair只能对Docker镜像进行检测,无法检测Dockerfile文件,从源头控制风险,也无法提前检测可能存在的安全风险。
技术实现思路
专利技术目的:本专利技术的目的是提供一种可检测Dockerfile文件,预测Dockerfile文件风险的大数据一体机容器集群风险预测方法。技术方案:本专利技术所述的一种基于深度学习的大数据一体机容器集群风险预测方法,包括数据预处理、构建标准库和文件检测;所述数据预处理包括如下步骤:(11)解析Dockerfile文件;(12)生成符号向量;(13)符号向量标准化;(14)建立卷积神经网络模型;所述文件检测包括如下步骤:(21)预测风险概率;(22)根据风险概率决定如何放置Dockerfile文件。所述数据预处理包括如下步骤:(31)将Dockerfile文件解析生成抽象语法树;(32)将Dockerfile文件中的部分指令和控制流节点作为符号向量,所述部分指令集和控制流节点如下表所示;指令FROM、RUN、CMD、MAINTAINER、apt-get、echo……控制流节点if、for…...(33)将符号向量编码为整数向量;(34)建立卷积神经网络模型,将测试文件的整数向量输入模型中得到测试文件的语义特征;所述卷积神经网络模型包括嵌入层、卷积层、最大池化层、全连接层和输出层。所述卷积神经网络模型包括嵌入层、卷积层、最大池化层、全连接层和输出层;所述嵌入层、卷积层、最大池化层和全连接层的输出添加第一激活函数f1(x)=max(0,x);所述输出层的输出添加第二激活函数所述将符号向量编码为整数向量的方法为:所述指令和控制流节点对应不同的整数标识符,所述整数标识符从1开始至符号向量类型的总数结束;在向量的结尾添加“0”使所有向量长度一致。所述构建标准库的步骤为:将所述测试文件的语义特征输入K-Means聚类算法模型进行分类,所述测试文件分为存在风险和不存在风险两类,分类后的测试文件是判断风险的标准库。所述文件检测包括如下步骤:(41)将待检测的Dockerfile文件的语义和结构特征输入到KNN算法中进行风险预测并返回风险概率;(42)如果待检测的Dockertfile文件被标记为不存在风险,集群通过自身的负载均衡算法将容器放入;如果Dockerfile文件被标记为存在风险,则进行风险提示,并由用户决定是否对镜像进行放置。如果所述用户决定对镜像进行放置,则镜像文件放置的方法为:通过基于风险控制的放置算法将镜像文件放入到集群中:S:s.t.W′:P:其中,S表示安全性、W′表示工作负载、P表示能耗,N*和K*是预先确定的阈值。H={h1,h2,…hK}表示有K个主机的云计算系统,U={u1,u2,…uM}表示M个用户,D={d1,d2,…dN}表示N个容器,XD×H×U={xd,h,u|xd,h,u=1,如果用户u的容器d分配给主机h}表示将每个用户的容器分配到特定的主机上。有益效果:本专利技术的风险预测方法利用卷积神经网络提取Dockerfile文件的语义和结构特征并判断其是否存在风险及风险概率,得到风险概率后根据用户需求进行下一步工作,从源头控制风险,提前检测Docker镜像可能存在的漏洞,提高Docker容器的安全,从而进一步提高大数据一体机容器集群的安全。附图说明图1为本专利技术的风险预测框架;图2为本专利技术的数据预处理过程;图3为本专利技术的CNN模型结构图。具体实施方式下面结合附图对本专利技术的技术方案作进一步说明。如图1所示,本专利技术所述的基于深度学习的大数据一体机容器集群方向预测方法,包括数据预处理、构建标准库和文件检测。如图2所示,数据预处理的步骤如下:(1)解析Dockerfile文件将Dockerfile文件解析生成抽象语法树,抽象语法树上的节点具有构建Dockerfile文件表示的合适粒度,既保留了语法信息又保留了结构信息。(2)生成符号向量选择Dockerfile文件中重要指令集和控制流节点作为符号向量,选取的指令集和控制流节点如下表所示。请将表一补充完整指令FROM、RUN、CMD、MAINTAINER、apt-get、echo……控制流节点if、for…...(3)符号向量标准化在符号向量和整数之间进行映射,将符号向量编码为整数向量。不同的指令或控制流节点对应不同的整数标识符,整数标识符从1开始至符号向量类型的总数结束。由于不同的Dockerfile文件内容不同,所以提取到的符号向量长度不同,进一步向量标准化后得到的整数向量长度不同,因此,在每个整数向量后添加0作为补充,使它们的长度与最长向量一致。通过此算法得到的整数向量可以输入卷积神经网络(CNN)模型并且保持了原有符号向量顺序的不变,保留了原本的结构信息。(4)建立CNN模型如图3所示,本实施例中深度学习算法的CNN模型基于Keras实现,包括嵌入层、卷积层、最大池化层、全连接层和输出层。(4-1)嵌入层解析Dockerfile文件,将Dockerfile文件向量化及标准化,并将标准化向量输入到卷积层。(4-2)卷积层设CNN模型的输入为矩阵A,经过F1个卷积核的卷积生成F1个特征图其中conv2(A,B,′valid′)被称作窄卷积,是该层的激活函数,f1(x)=max(0,x)。(4-3)最大池化层将卷积层输出的传入最大池化层进行池化操作:其中是经过最大池化层的结果,是该层的激活函数,f1(x)=max(0,x)。(4-4)全连接层重复上述操作n本文档来自技高网...

【技术保护点】
1.一种基于深度学习的大数据一体机容器集群风险预测方法,其特征在于,包括数据预处理、构建标准库和文件检测;所述数据预处理包括如下步骤:(11)解析Dockerfile文件;(12)生成符号向量;(13)符号向量标准化;(14)建立卷积神经网络模型;所述文件检测包括如下步骤:(21)预测风险概率;(22)根据风险概率决定如何放置Dockerfile文件。/n

【技术特征摘要】
1.一种基于深度学习的大数据一体机容器集群风险预测方法,其特征在于,包括数据预处理、构建标准库和文件检测;所述数据预处理包括如下步骤:(11)解析Dockerfile文件;(12)生成符号向量;(13)符号向量标准化;(14)建立卷积神经网络模型;所述文件检测包括如下步骤:(21)预测风险概率;(22)根据风险概率决定如何放置Dockerfile文件。


2.根据权利要求1所述的基于深度学习的大数据一体机容器集群风险预测方法,其特征在于,所述数据预处理包括如下步骤:
(31)将Dockerfile文件解析生成抽象语法树;
(32)将Dockerfile文件中的部分指令和控制流节点作为符号向量,所述部分指令集和控制流节点如下表所示;








指令
FROM、RUN、CMD、MAINTAINER、apt-get、echo......


控制流节点
if、for......






(33)将符号向量编码为整数向量;
(34)建立卷积神经网络模型,将测试文件的整数向量输入模型中得到测试文件的语义特征;所述卷积神经网络模型包括嵌入层、卷积层、最大池化层、全连接层和输出层。


3.根据权利要求2所述的基于深度学习的大数据一体机容器集群风险预测方法,其特征在于,所述卷积神经网络模型包括嵌入层、卷积层、最大池化层、全连接层和输出层;所述嵌入层、卷积层、最大池化层和全连接层的输出添加第一激活函数f1(x)=max(0,x);所述输出层的输出添加第二激活函数


4.根据权利要求2所述的基于深度学习的大数据一体机容器集群风险预测方...

【专利技术属性】
技术研发人员:王海荣
申请(专利权)人:中科曙光南京计算技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1