CN115167977A - 基于Docker虚拟隔离的目标检测方法及***、设备、存储介质 - Google Patents
基于Docker虚拟隔离的目标检测方法及***、设备、存储介质 Download PDFInfo
- Publication number
- CN115167977A CN115167977A CN202210713271.6A CN202210713271A CN115167977A CN 115167977 A CN115167977 A CN 115167977A CN 202210713271 A CN202210713271 A CN 202210713271A CN 115167977 A CN115167977 A CN 115167977A
- Authority
- CN
- China
- Prior art keywords
- container
- file
- docker
- access
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Docker虚拟隔离的目标检测方法及***、设备、存储介质,该方法通过训练得到多个目标检测模型,再将多个模型整合为一个集成模型并构造为Docker镜像,并使各个子模型分别位于不同容器内,然后对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系,兼顾了安全性、隔离性和执行速度,最后基于计算机的当前运行状态和检测准确率要求输入多层感知神经网络,输出期望启停的容器编号和镜像文件编号,可以快速地适用于不同的任务应用场景,无需人工根据具体任务频繁调整控制策略,大大节省了人力开发成本,能在短时间内高效启动具体场景的Docker项目。
Description
技术领域
本发明涉及目标检测技术领域,特别地,涉及一种基于Docker虚拟隔离的目标检测方法及***、电子设备、计算机可读取的存储介质。
背景技术
随着人工智能技术的不断突破,目标检测、语义分割、目标跟踪等深度学习模型已经具有良好的抗干扰能力,正在逐步被应用于各种工业生产现场,如自动售货机、自动流水线精密装配等等生产环境,这些场景的成功应用展现出了深度学习强大的可落地性。而在变电站、机房等场所存在大量的空气开关状态检测场景,传统的人工检测成本较高,同时存在安全隐患,在这些场景下落地深度学习模型极具潜力。但是,由于工业生产现场通常无法部署大型的计算设备,一般都是采用嵌入式的边缘计算设备来运行各种深度学习模型,这就要求边缘计算设备具有优秀的***虚拟与隔离特性。近几年,Docker作为一种操作***级的虚拟化技术开始崭露头角,逐渐替代传统的虚拟化方案,被广泛应用于各种边缘计算场景,Docker虚拟化技术的实现主要依赖于Linux内核提供的命名空间和控制组,Linux内核的安全直接决定Docker的安全性,Docker以其自身优势得到广泛应用的同时,自身也暴漏出越来越多的缺陷,如隔离性差、安全加固复杂、易发生数据泄露等问题。近年来,安全加固方案SELinux被提出用于增强Docker的安全隔离性,这种隔离方法虽然可以最大限度减少***中服务进程可以访问的资源,但是其对所有资源都会进行用户权限的判断,浪费了大量的计算资源和时间,并且操作复杂以及兼容性差,不能够很好地适应Docker容器间对共享数据文件的安全隔离与共享需求。此外,AppArmor方案被提出用于加强进程的强制访问,与SELinux不尽相同,它只对***的部分资源进行访问控制,虽然灵活,但是其暴露出的不进行访问控制部分的文件可能存在泄露现象,其安全性和隔离性不如SELinux。
另外,在执行Docker镜像的资源分配时(比如,内存、CPU、视频采集卡等),传统的控制策略是通过人工设计复杂的if…else…控制逻辑来操控Docker镜像的资源分配,以实现容器与容器、容器与镜像之间的有序交互。在实际场景中,这种人工设计的控制策略需要针对具体任务而经常调整,调整过程复杂、重复并且难以统一。
发明内容
本发明提供了一种基于Docker虚拟隔离的目标检测方法及***、电子设备、计算机可读取的存储介质,以解决现有Docker容器安全性和隔离性差,在执行Docker镜像的资源分配时需要针对具体任务经常调整人工控制策略,调整过程复杂、重复并且难以统一的技术问题。
根据本发明的一个方面,提供一种基于Docker虚拟隔离的目标检测方法,包括以下内容:
训练多个用于目标检测的深度学习模型;
将训练得到的多个深度学习模型整合为一个集成模型;
将集成模型构造为Docker镜像,使各个深度学习模型分别位于不同容器内,对每个容器和镜像文件进行唯一编号;
对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系;
以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络,输出期望启动的容器编号和镜像文件编号;
根据多层感知神经网络的输出结果执行目标检测任务。
进一步地,所述将训练得到的多个深度学习模型整合为一个集成模型的过程包括以下内容:
将训练得到的多个深度学习模型的输入合并在一起,使得每个深度学习模型都能共享图像采集卡传输来的数据,并基于图像数据进行独立运算后给出输出结果。
进一步地,所述对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系的过程包括以下内容:
对容器与容器之间的相互访问进行限制;
对容器与镜像之间的相互访问进行限制;
对共享数据卷进行访问限制。
进一步地,所述对容器与容器之间的相互访问进行限制的过程包括以下内容:
在配置文件中设定容器与容器之间的相互访问控制信息;
解析配置文件,初始化各种工作环境,进入容器等待工作;
根据解析得到的相互访问控制信息判断当前容器是否有权访问目标容器,若是则进入下一步骤,若否则拒绝访问;
对目标容器的文件进行识别,判断文件是否为宿主机限制文件,若是则拒绝访问,若否则进入下一步骤;
判断目标容器的文件是否可以读写,若是则允许当前容器访问目标容器,若否则拒绝访问。
进一步地,所述对容器与镜像之间的相互访问进行限制的过程包括以下内容:
在配置文件中设定容器与镜像之间的相互访问控制信息;
解析配置文件,初始化各种工作环境,进入容器等待工作;
根据解析得到的相互访问控制信息判断当前容器是否有权访问目标镜像,若是则进入下一步骤,若否则拒绝访问;
根据相互访问控制信息判断当前容器是否有权对目标镜像文件进行修改,若是则允许当前容器对目标镜像文件进行读写操作,若否则仅允许当前容器对目标镜像文件进行读取操作。
进一步地,所述对共享数据卷进行访问限制的过程包括以下内容:
在配置文件中设定容器与文件***之间的相互访问控制信息;
解析配置文件,初始化各种工作环境,进入容器等待工作;
根据解析得到的相互访问控制信息判断当前容器是否有权访问文件***,若是则进入下一步骤,若否则拒绝访问;
对目标文件进行识别,判断目标文件是否存在于共享数据卷之下,若否则拒绝访问,若是则进入下一步骤;
判断目标文件是否可以读写,若是则允许当前容器访问目标文件,若否则拒绝访问。
进一步地,所述以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络的过程包括以下内容:
基于计算机内存总量和当前剩余内存将剩余内存量化为(0,1)范围内的数值,将CPU利用率、剩余内存量化值、任务准确率要求输入至训练好的多层感知神经网络。
另外,本发明还提供一种基于Docker虚拟隔离的目标检测***,包括
模型训练模块,用于训练多个用于目标检测的深度学习模型;
模型整合模块,用于将训练得到的多个深度学习模型整合为一个集成模型;
构造模块,用于将集成模型构造为Docker镜像,使各个深度学习模型分别位于不同容器内,对每个容器和镜像文件进行唯一编号;
隔离增强模块,用于对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系;
分类模块,用于以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络,输出期望启动的容器编号和镜像文件编号;
执行模块,用于根据多层感知神经网络的输出结果执行目标检测任务。
另外,本发明还提供一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述的方法的步骤。
另外,本发明还提供一种计算机可读取的存储介质,用于存储基于Docker虚拟隔离进行目标检测的计算机程序,所述计算机程序在计算机上运行时执行如上所述的方法的步骤。
本发明具有以下效果:
本发明的基于Docker虚拟隔离的目标检测方法,通过训练得到多个目标检测模型,每个目标检测模型具有自身的特性,例如有的目标检测模型的准确率较高但计算量较大,有的目标检测模型的准确率较低但计算量很小,有的目标检测模型则在计算量和准确率之间比较均衡。然后将多个模型整合为一个集成模型,每个目标检测模型作为集成模型的一个子模型,多个子模型共输入单输出。再将集成模型构造为Docker镜像,并使各个子模型分别位于不同容器内,保证子模型之间的隔离性,并对每个容器和镜像文件进行唯一编号以进行区分和单独控制。然后,对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系,以防止出现容器逃逸、容器间访问泄露和共享数据安全问题,大大提升了容器工作、镜像文件、共享数据卷的安全性,同时保证了每个目标检测模型运行时可以快速调用对应的容器和镜像文件以执行目标检测任务,兼顾了安全性、隔离性和执行速度。最后,基于计算机的当前运行状态和检测准确率要求输入至训练好的多层感知神经网络中,输出最适配的目标检测模型所对应的容器编号和镜像文件编号以执行目标检测任务,可以根据当前计算机的计算资源信息、检测准确率要求自适应输出最合适的容器调用方案,若当前计算资源不足、检测准确率要求不高,则激活轻量化模型的镜像,若当前计算资源充足、检测准确率要求较高,则激活复杂模型的镜像,相比于传统的人工设计控制策略,可以快速地适用于不同的任务应用场景,无需人工根据具体任务频繁调整控制策略,大大节省了人力开发成本,能在短时间内高效启动具体场景的Docker项目。
另外,本发明的基于Docker虚拟隔离的目标检测***同样具有上述优点。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明优选实施例的基于Docker虚拟隔离的目标检测方法的流程示意图。
图2是本发明优选实施例的Docker容器隔离增强的示意图。
图3是图1中的步骤S4的子流程示意图。
图4是本发明优选实施例的容器隔离增强***架构示意图。
图5是本发明优选实施例的容器和镜像之间的访问控制示意图。
图6是本发明优选实施例的容器和容器之间的访问控制示意图。
图7是本发明优选实施例的容器和共享数据卷之间的访问控制示意图。
图8是图3中步骤S41的子流程示意图。
图9是图3中步骤S42的子流程示意图。
图10是图3中步骤S43的子流程示意图。
图11是本发明另一实施例的基于Docker虚拟隔离的目标检测***的模块结构示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由下述所限定和覆盖的多种不同方式实施。
如图1所示,本发明的优选实施例提供一种基于Docker虚拟隔离的目标检测方法,包括以下内容:
步骤S1:训练多个用于目标检测的深度学习模型;
步骤S2:将训练得到的多个深度学习模型整合为一个集成模型;
步骤S3:将集成模型构造为Docker镜像,使各个深度学习模型分别位于不同容器内,对每个容器和镜像文件进行唯一编号;
步骤S4:对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系;
步骤S5:以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络,输出期望启动的容器编号和镜像文件编号;
步骤S6:根据多层感知神经网络的输出结果执行目标检测任务。
可以理解,本实施例的基于Docker虚拟隔离的目标检测方法,通过训练得到多个目标检测模型,每个目标检测模型具有自身的特性,例如有的目标检测模型的准确率较高但计算量较大,有的目标检测模型的准确率较低但计算量很小,有的目标检测模型则在计算量和准确率之间比较均衡。然后将多个模型整合为一个集成模型,每个目标检测模型作为集成模型的一个子模型,多个子模型共输入单输出。再将集成模型构造为Docker镜像,并使各个子模型分别位于不同容器内,保证子模型之间的隔离性,并对每个容器和镜像文件进行唯一编号以进行区分和单独控制。然后,对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系,以防止出现容器逃逸、容器间访问泄露和共享数据安全问题,大大提升了容器工作、镜像文件、共享数据卷的安全性,同时保证了每个目标检测模型运行时可以快速调用对应的容器和镜像文件以执行目标检测任务,兼顾了安全性、隔离性和执行速度。最后,基于计算机的当前运行状态和检测准确率要求输入至训练好的多层感知神经网络中,输出最适配的目标检测模型所对应的容器编号和镜像文件编号以执行目标检测任务,可以根据当前计算机的计算资源信息、检测准确率要求自适应输出最合适的容器调用方案,若当前计算资源不足、检测准确率要求不高,则激活轻量化模型的镜像,若当前计算资源充足、检测准确率要求较高,则激活复杂模型的镜像,相比于传统的人工设计控制策略,可以快速地适用于不同的任务应用场景,无需人工根据具体任务频繁调整控制策略,大大节省了人力开发成本,能在短时间内高效启动具体场景的Docker项目。
可以理解,在所述步骤S1中,通过训练得到多个目标检测模型,每个目标检测模型具有自身的特性,例如有的目标检测模型的准确率较高但计算量较大,有的目标检测模型的准确率较低但计算量很小,有的目标检测模型则在计算量和准确率之间比较均衡。其中,目标检测模型的具体训练过程属于现有技术,在此不再赘述。
可以理解,所述步骤S2具体包括以下内容:
将训练得到的多个深度学习模型的输入合并在一起,使得每个深度学习模型都能共享图像采集卡传输来的数据,并基于图像数据进行独立运算后给出输出结果。
具体地,将每个深度学习模型作为集成模型的一个子模型,各个子模型都可以共享图像采集卡传输来的图像数据,并可以基于图像数据进行独立运算后给出输出结果,通过后续多层感知神经网络的自适应计算结果来自动选择适配的子模型执行目标检测任务。
可以理解,如图2所示,在所述步骤S3中,将集成模型构造为Docker镜像,其中,镜像文件中包含了所有容器所需要的环境文件和重要功能文件,使各个深度学习模型分别位于不同容器内,保证了各个模型之间的隔离性和安全性,并对每个容器和镜像文件进行唯一编号,便于后续根据多层感知神经网络的自适应计算结果自动调用对应编号的容器和镜像文件执行目标检测任务。其中,每个深度学习模型对应的训练部分、模型权重部分、生产环境部署部分也可以分别位于不同的容器内。
可以理解,如图3所示,所述步骤S4具体包括以下内容:
步骤S41:对容器与容器之间的相互访问进行限制;
步骤S42:对容器与镜像之间的相互访问进行限制;
步骤S43:对共享数据卷进行访问限制。
具体地,考虑到本发明适用的是在深度学习目标检测任务下进行的嵌入式虚拟化部署,因此对这个应用场景来说,最关键的是Docker的容器安全问题和共享文件安全性问题,其中,容器安全问题分为容器逃逸和容器间访问泄露,容器逃逸指的是不法分子利用***的漏洞和软件设计的缺陷在执行用户程序时越过容器范围,进入宿主机中进行某些非法操作,共享文件安全性问题指的是容器间的共享数据问题,在当前云环境下,容器共享数据是一个很常用的技术,因此针对以上两个问题需要设计一个可以为容器间数据共享和容器和宿主机之间提供有效保护和隔离的方案。如图4至图7所示,本发明的容器隔离增强***架构主要包括两个模块,分别是容器隔离模块和数据卷隔离模块,配置文件则用于提供***相关配置信息,可以快速修改访问控制策略,主要包括容器间相互访问控制、容器与镜像文件之间的相互访问控制和容器与共享数据卷之间的相互访问控制。通过限制容器间相互访问控制可以很好地保障容器工作环境的安全性,在容器工作时可以做到各司其责,通过限制容器和镜像文件的访问可以提高镜像文件的安全性,防止镜像文件在多个容器中同时被访问,导致***崩溃,通过限制共享数据卷的访问控制,可以保证共享数据卷的安全性,从而可以防止出现由于Docker自身的缺点和Linux***漏洞导致的容器安全问题,可以保护宿主机文件***以及容器文件***不被非法读取或者删改。
具体地,如图8所示,所述步骤S41具体包括以下内容:
步骤S411:在配置文件中设定容器与容器之间的相互访问控制信息;
步骤S412:解析配置文件,初始化各种工作环境,进入容器等待工作;
步骤S413:根据解析得到的相互访问控制信息判断当前容器是否有权访问目标容器,若是则进入下一步骤,若否则拒绝访问;
步骤S414:对目标容器的文件进行识别,判断文件是否为宿主机限制文件,若是则拒绝访问,若否则进入下一步骤;
步骤S415:判断目标容器的文件是否可以读写,若是则允许当前容器访问目标容器,若否则拒绝访问。
可以理解,在进行容器间的访问时,先判断当前容器是否具有目标容器的访问权限,可以保障目标容器工作环境的安全性,防止目标容器的文件***被非法读取或删改,再判断目标容器的文件是否为宿主机限制文件,若是则拒绝访问,防止当前容器访问目标容器时非法越过目标容器进入宿主机中进行非法操作,保障了容器与宿主机之间的隔离性。本发明通过两级安全性、隔离性保障措施,可以防止出现由于Docker自身的缺点和Linux***漏洞导致的容器安全问题,可以保护宿主机文件***以及容器文件***不被非法读取或者删改,并且可以最大限度地保证容器能够充分利用当前容器可访问的资料以实现高效、安全地运行。
具体地,如图9所示,所述步骤S42具体包括以下内容:
步骤S421:在配置文件中设定容器与镜像之间的相互访问控制信息;
步骤S422:解析配置文件,初始化各种工作环境,进入容器等待工作;
步骤S423:根据解析得到的相互访问控制信息判断当前容器是否有权访问目标镜像,若是则进入下一步骤,若否则拒绝访问;
步骤S424:根据相互访问控制信息判断当前容器是否有权对目标镜像文件进行修改,若是则允许当前容器对目标镜像文件进行读写操作,若否则仅允许当前容器对目标镜像文件进行读取操作。
可以理解,在进行容器与镜像之间的访问时,先判断当前容器是否具有镜像的访问权限,提高了镜像文件的安全性,还可以防止镜像文件在多个容器中同时被访问从而导致***崩溃的问题,再判断当前容器是否有权对目标镜像文件进行修改,若是则允许当前容器对目标镜像文件进行读写操作,若否则仅允许当前容器对目标镜像文件进行读取操作,防止对镜像文件进行非法操作,进一步提升了镜像文件的安全性。
具体地,如图10所示,所述步骤S43具体包括以下内容:
步骤S431:在配置文件中设定容器与文件***之间的相互访问控制信息;
步骤S432:解析配置文件,初始化各种工作环境,进入容器等待工作;
步骤S433:根据解析得到的相互访问控制信息判断当前容器是否有权访问文件***,若是则进入下一步骤,若否则拒绝访问;
步骤S434:对目标文件进行识别,判断目标文件是否存在于共享数据卷之下,若否则拒绝访问,若是则进入下一步骤;
步骤S435:判断目标文件是否可以读写,若是则允许当前容器访问目标文件,若否则拒绝访问。
可以理解,在限制容器对共享数据卷的访问控制时,先判断当前容器是否有权访问文件***,保证了文件***的安全性,再判断目标文件目录是否位于共享数据卷路径之下,若是才允许访问,可以有效防止当前容器对不处于共享数据卷路径之下的其它文件进行非法操作,限制了容器可访问的文件路径范围,不同分组、不同访问优先级的容器能够访问的共享文件的路径和数量是不同的,在保证共享数据安全性的基础上,进一步保证了文件***的安全性。
还可以理解,本发明通过采用上述三种限制隔离手段,使得训练得到的多个深度学习模型可以通过嵌入方式很好地部署在实际工作场景中,当其中一个深度学习模型被选中时,容器与容器之间、容器与镜像之间、容器与共享数据卷之间可以基于上述限制规则进行快速、安全的数据传输,不仅保证了容器的安全性和隔离性,而且还满足了数据的快速传输需求。
可以理解,所述步骤S5中的以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络的过程包括以下内容:
基于计算机内存总量和当前剩余内存将剩余内存量化为(0,1)范围内的数值,将CPU利用率、剩余内存量化值、任务准确率要求输入至训练好的多层感知神经网络。
具体地,假设计算机的内存总量为8G,而当前剩余内存为4G,则剩余内存可量化为4/8=0.5,剩余内存的量化数值在(0,1)之间,数值越小,剩余内存越少,数值越大,剩余内存越多。CPU利用率可以在计算机的任务管理器中查找到数值,该数值范围也是(0,1),数值越大,则说明计算机负担越重,数值越小则说明计算机负担越小。剩余内存和CPU利用率作为Docker镜像的主要资源分配对象,通过将两者量化为(0,1)范围内的数值输入至训练好的多层感知神经网络中,多层感知神经网络可以根据当前计算机性能自适应地选择最合适的深度学习模型,例如,若计算机的剩余内存很少、CPU占用率很大,则多层感知神经网络则会选择启用轻量化模型对应的容器和镜像,若剩余内存很多、CPU占用率很小,则多层感知神经网络模型则会选择启用复杂模型对应的容器和镜像。并且,将检测准确率要求也作为输入,可以综合考虑当前计算机性能和检测准确度要求自适应选择最佳的深度学习模型。可选地,在本发明的另一实施例中,还可以将任务的重要程度也量化为(0,1)之间的数值也作为输入,数值越大,表示任务越重要。
可选地,可以基于以下公式获得神经网络的输入数值:
其中,k表示权重系数,取值区间为[0,1],x表示各个量化数值,可以是剩余内存、CPU占用率、检测准确率要求、任务重要程度的量化数值,n表示量化数值的种类数量。通过采用权重计算的方式,可以综合考虑多个输入因素,从多方面来筛选出最适合的深度学习模型。
可以理解,输入数值经过训练好的多层感知神经网络后会输出各个容器使用的概率,即每个深度学习模型对应的概率,概率最大的容器再基于预先制定的三种限制隔离手段与其它容器、镜像、共享数据卷之间进行数据传输以执行目标检测任务。
另外,如图11所示,本发明的另一实施例还提供一种基于Docker虚拟隔离的目标检测***,优选采用上述的目标检测方法,该***包括
模型训练模块,用于训练多个用于目标检测的深度学习模型;
模型整合模块,用于将训练得到的多个深度学习模型整合为一个集成模型;
构造模块,用于将集成模型构造为Docker镜像,使各个深度学习模型分别位于不同容器内,对每个容器和镜像文件进行唯一编号;
隔离增强模块,用于对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系;
分类模块,用于以计算机的当前运行状态和检测准确率输入训练好的多层感知神经网络,输出期望启动的容器编号和镜像文件编号;
执行模块,用于根据多层感知神经网络的输出结果执行目标检测任务。
可以理解,本实施例的基于Docker虚拟隔离的目标检测***,通过训练得到多个目标检测模型,每个目标检测模型具有自身的特性,例如有的目标检测模型的准确率较高但计算量较大,有的目标检测模型的准确率较低但计算量很小,有的目标检测模型则在计算量和准确率之间比较均衡。然后将多个模型整合为一个集成模型,每个目标检测模型作为集成模型的一个子模型,多个子模型共输入单输出。再将集成模型构造为Docker镜像,并使各个子模型分别位于不同容器内,保证子模型之间的隔离性,并对每个容器和镜像文件进行唯一编号以进行区分和单独控制。然后,对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系,以防止出现容器逃逸、容器间访问泄露和共享数据安全问题,大大提升了容器工作、镜像文件、共享数据卷的安全性,同时保证了每个目标检测模型运行时可以快速调用对应的容器和镜像文件以执行目标检测任务,兼顾了安全性、隔离性和执行速度。最后,基于计算机的当前运行状态和检测准确率要求输入至训练好的多层感知神经网络中,输出最适配的目标检测模型所对应的容器编号和镜像文件编号以执行目标检测任务,可以根据当前计算机的计算资源信息、检测准确率要求自适应输出最合适的容器调用方案,若当前计算资源不足、检测准确率要求不高,则激活轻量化模型的镜像,若当前计算资源充足、检测准确率要求较高,则激活复杂模型的镜像,相比于传统的人工设计控制策略,可以快速地适用于不同的任务应用场景,无需人工根据具体任务频繁调整控制策略,大大节省了人力开发成本,能在短时间内高效启动具体场景的Docker项目。
可以理解,本实施例的***中的各个模块与上述方法实施例的各个方法相对应,故各个模块的具体工作过程和工作原理在此不再赘述,参考上述方法实施例即可。
另外,本发明的另一实施例还提供一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述的方法的步骤。
另外,本发明的另一实施例还提供一种计算机可读取的存储介质,用于存储基于Docker虚拟隔离进行目标检测的计算机程序,所述计算机程序在计算机上运行时执行如上所述的方法的步骤。
一般计算机可读取存储介质的形式包括:软盘(floppy disk)、可挠性盘片(flexible disk)、硬盘、磁带、任何其与的磁性介质、CD-ROM、任何其余的光学介质、打孔卡片(punch cards)、纸带(paper tape)、任何其余的带有洞的图案的物理介质、随机存取存储器(RAM)、可编程只读存储器(PROM)、可抹除可编程只读存储器(EPROM)、快闪可抹除可编程只读存储器(FLASH-EPROM)、其余任何存储器芯片或卡匣、或任何其余可让计算机读取的介质。指令可进一步被一传输介质所传送或接收。传输介质这一术语可包含任何有形或无形的介质,其可用来存储、编码或承载用来给机器执行的指令,并且包含数字或模拟通信信号或其与促进上述指令的通信的无形介质。传输介质包含同轴电缆、铜线以及光纤,其包含了用来传输一计算机数据信号的总线的导线。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Docker虚拟隔离的目标检测方法,其特征在于,包括以下内容:
训练多个用于目标检测的深度学习模型;
将训练得到的多个深度学习模型整合为一个集成模型;
将集成模型构造为Docker镜像,使各个深度学习模型分别位于不同容器内,对每个容器和镜像文件进行唯一编号;
对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系;
以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络,输出期望启动的容器编号和镜像文件编号;
根据多层感知神经网络的输出结果执行目标检测任务。
2.如权利要求1所述的基于Docker虚拟隔离的目标检测方法,其特征在于,所述将训练得到的多个深度学习模型整合为一个集成模型的过程包括以下内容:
将训练得到的多个深度学习模型的输入合并在一起,使得每个深度学习模型都能共享图像采集卡传输来的数据,并基于图像数据进行独立运算后给出输出结果。
3.如权利要求1所述的基于Docker虚拟隔离的目标检测方法,其特征在于,所述对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系的过程包括以下内容:
对容器与容器之间的相互访问进行限制;
对容器与镜像之间的相互访问进行限制;
对共享数据卷进行访问限制。
4.如权利要求3所述的基于Docker虚拟隔离的目标检测方法,其特征在于,所述对容器与容器之间的相互访问进行限制的过程包括以下内容:
在配置文件中设定容器与容器之间的相互访问控制信息;
解析配置文件,初始化各种工作环境,进入容器等待工作;
根据解析得到的相互访问控制信息判断当前容器是否有权访问目标容器,若是则进入下一步骤,若否则拒绝访问;
对目标容器的文件进行识别,判断文件是否为宿主机限制文件,若是则拒绝访问,若否则进入下一步骤;
判断目标容器的文件是否可以读写,若是则允许当前容器访问目标容器,若否则拒绝访问。
5.如权利要求3所述的基于Docker虚拟隔离的目标检测方法,其特征在于,所述对容器与镜像之间的相互访问进行限制的过程包括以下内容:
在配置文件中设定容器与镜像之间的相互访问控制信息;
解析配置文件,初始化各种工作环境,进入容器等待工作;
根据解析得到的相互访问控制信息判断当前容器是否有权访问目标镜像,若是则进入下一步骤,若否则拒绝访问;
根据相互访问控制信息判断当前容器是否有权对目标镜像文件进行修改,若是则允许当前容器对目标镜像文件进行读写操作,若否则仅允许当前容器对目标镜像文件进行读取操作。
6.如权利要求3所述的基于Docker虚拟隔离的目标检测方法,其特征在于,所述对共享数据卷进行访问限制的过程包括以下内容:
在配置文件中设定容器与文件***之间的相互访问控制信息;
解析配置文件,初始化各种工作环境,进入容器等待工作;
根据解析得到的相互访问控制信息判断当前容器是否有权访问文件***,若是则进入下一步骤,若否则拒绝访问;
对目标文件进行识别,判断目标文件是否存在于共享数据卷之下,若否则拒绝访问,若是则进入下一步骤;
判断目标文件是否可以读写,若是则允许当前容器访问目标文件,若否则拒绝访问。
7.如权利要求1~6任一项所述的基于Docker虚拟隔离的目标检测方法,其特征在于,所述以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络的过程包括以下内容:
基于计算机内存总量和当前剩余内存将剩余内存量化为(0,1)范围内的数值,将CPU利用率、剩余内存量化值、任务准确率要求输入至训练好的多层感知神经网络。
8.一种基于Docker虚拟隔离的目标检测***,其特征在于,包括
模型训练模块,用于训练多个用于目标检测的深度学习模型;
模型整合模块,用于将训练得到的多个深度学习模型整合为一个集成模型;
构造模块,用于将集成模型构造为Docker镜像,使各个深度学习模型分别位于不同容器内,对每个容器和镜像文件进行唯一编号;
隔离增强模块,用于对Docker容器进行隔离增强,并明确每个深度学习模型启动时容器与容器之间、容器与镜像之间的交互关系;
分类模块,用于以计算机的当前运行状态和检测准确率要求输入训练好的多层感知神经网络,输出期望启动的容器编号和镜像文件编号;
执行模块,用于根据多层感知神经网络的输出结果执行目标检测任务。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如权利要求1~7任一项所述的方法的步骤。
10.一种计算机可读取的存储介质,用于存储基于Docker虚拟隔离进行目标检测的计算机程序,其特征在于,所述计算机程序在计算机上运行时执行如权利要求1~7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210713271.6A CN115167977A (zh) | 2022-06-22 | 2022-06-22 | 基于Docker虚拟隔离的目标检测方法及***、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210713271.6A CN115167977A (zh) | 2022-06-22 | 2022-06-22 | 基于Docker虚拟隔离的目标检测方法及***、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115167977A true CN115167977A (zh) | 2022-10-11 |
Family
ID=83487206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210713271.6A Pending CN115167977A (zh) | 2022-06-22 | 2022-06-22 | 基于Docker虚拟隔离的目标检测方法及***、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115167977A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117811846A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 基于分布式***的网络安全检测方法、***、设备及介质 |
-
2022
- 2022-06-22 CN CN202210713271.6A patent/CN115167977A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117811846A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 基于分布式***的网络安全检测方法、***、设备及介质 |
CN117811846B (zh) * | 2024-02-29 | 2024-05-28 | 浪潮电子信息产业股份有限公司 | 基于分布式***的网络安全检测方法、***、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851529A (zh) | 算力调度方法及相关设备 | |
CN101351774B (zh) | 将存储页面与程序相关联的页面着色的方法、装置和*** | |
CN105389197B (zh) | 用于基于容器的虚拟化***的操作捕获方法和装置 | |
CN103778009A (zh) | 中断处理方法及装置 | |
US11663337B2 (en) | Methods and systems for system call reduction | |
CN109614238A (zh) | 一种目标对象识别方法、装置、***及可读存储介质 | |
US20220366036A1 (en) | An apparatus and method for handling exceptions | |
CN115167977A (zh) | 基于Docker虚拟隔离的目标检测方法及***、设备、存储介质 | |
CN112597762B (zh) | 一种具有智能合约数据监管功能的区块链***及监管方法 | |
CN105550029A (zh) | 一种进程调度方法及装置 | |
CN105787392B (zh) | 一种数据读写控制方法及控制装置 | |
CN116881009A (zh) | Gpu资源调度方法、装置、电子设备和可读存储介质 | |
CN112966094A (zh) | 一种交易数据的处理方法、装置以及*** | |
CN116578341A (zh) | 处理器、中断隔离方法、指令模拟方法、片上***及设备 | |
CN111949596A (zh) | 基于mpk技术的微内核模块间通讯方法、***及介质 | |
CN103699444B (zh) | 中央处理器热插拔的实现方法及装置 | |
EP3915028A1 (en) | Apparatus and method for enforcing hardware-assisted memory safety | |
CN101369258B (zh) | 输入输出控制*** | |
De Vos et al. | Combining event-and state-based norms | |
CN112463266A (zh) | 执行策略生成方法、装置、电子设备以及存储介质 | |
US20180165226A1 (en) | Memory privilege | |
CN116737377A (zh) | 计算集群资源调度方法、电子设备及可读存储介质 | |
CN112149139A (zh) | 权限管理方法及装置 | |
Conmy et al. | Safety assurance contracts for integrated modular avionics | |
CN108491249B (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 |