CN109828823A - 一种基于容器虚拟化技术的无人机算法仿真系统扩展方法 - Google Patents
一种基于容器虚拟化技术的无人机算法仿真系统扩展方法 Download PDFInfo
- Publication number
- CN109828823A CN109828823A CN201811632216.4A CN201811632216A CN109828823A CN 109828823 A CN109828823 A CN 109828823A CN 201811632216 A CN201811632216 A CN 201811632216A CN 109828823 A CN109828823 A CN 109828823A
- Authority
- CN
- China
- Prior art keywords
- unmanned plane
- docker
- plane algorithm
- container
- analogue system
- 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.)
- Withdrawn
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,首先将Dockerfile文件,通过仿真系统的前端网页上传至仿真系统的服务端;仿真系统的服务端根据Dockerfile文件创建Docker镜像;Docker镜像创建Docker容器,并启动Docker容器;当需要调用无人机算法时,通过仿真系统的前端网页发送无人机算法信息至仿真系统的服务端,仿真系统的服务端根据无人机算法信息调用对应的Docker容器中无人机算法程序,将无人机算法程序的计算结果返回至仿真系统的前端网页。本发明将每个算法的运行环境隔离在每个容器中,容器间互相独立,防止发生冲突。
Description
技术领域
本发明涉及软件工程技术领域,具体涉及一种基于容器虚拟化技术的无人机算法仿真系统扩展方法。
背景技术
随着无人机技术的发展,无人机仿真技术也层出不穷。从飞行动力学模拟到规划算法仿真,从单机程序到Web页面。
以往设计无人机算法仿真系统,大多直接将算法写入源代码中。这种方法存在着严重的算法扩展性问题,每当新增算法,就需要重新编译程序。
后来,采用模块化编程方法后,开发人员将每个算法写成单独的模块,在系统运行中动态调用算法模块。这解决了系统的扩展性问题,但还是存在着缺陷。算法模块的编写需要开发人员完成,用户不能直接参与编写过程。另外,使用不同编程语言实现的算法,需要搭建不同的运行环境,多个运行环境可能存在相互冲突的情况。
发明内容
本发明的目的在于克服现有技术中的不足,提出了一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,用于解决传统无人机算法仿真系统中算法扩展不灵活的问题。
为解决上述技术问题,本发明提供了一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,其特征是,包括以下步骤:
步骤S1,将Dockerfile文件,通过仿真系统的前端网页上传至仿真系统的服务端;
步骤S2,仿真系统的服务端根据Dockerfile文件创建Docker镜像;
步骤S3,Docker镜像创建Docker容器,并启动Docker容器,所述Docker容器中包含无人机算法;
步骤S4,当需要调用无人机算法时,通过仿真系统的前端网页发送无人机算法信息至仿真系统的服务端,仿真系统的服务端根据无人机算法信息调用对应的Docker容器中无人机算法程序,并将无人机算法程序的计算结果返回至仿真系统的前端网页。
进一步的,Dockerfile文件中描述了如何创建Docker镜像。
进一步的,仿真系统的服务端根据Dockerfile文件创建Docker镜像的具体过程为:仿真系统服务端将Dockerfile文件发送到Docker守护进程,Docker守护进程使用该Dockerfile文件创建Docker镜像。
进一步的,Docker镜像创建多个Docker容器。
进一步的,无人机算法信息包括无人机算法名字和无人机算法参数。
进一步的,仿真系统的服务端根据无人机算法信息调用对应的Docker容器中无人机算法程序的具体过程为:仿真系统的服务端向该Docker容器的无人计算法程序发送HTTP请求,发送的HTTP请求中带有无人机算法程序运行需要的参数。
与现有技术相比,本发明所达到的有益效果是:
1)方便快速:根据用户提供的Dockerfile文件,服务端可以自动创建镜像和容器;
2)隔离性好:本发明将每个算法的运行环境隔离在每个容器中,容器间互相独立,防止发生冲突。
附图说明
图1是本发明方法的框架图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
现有技术的无人机算法仿真系统(以下简称“仿真系统”)分为前端网页和服务端程序两部分。无人机算法原来是硬编码在程序中,或者需要管理员手动管理。而本发明的一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,通过容器虚拟化技术(Docker技术),将无人机算法抽象为一个个的Docker容器(可以由仿真系统的服务端程序自动管理)。用户把自己算法程序的运行环境构建成Docker镜像,将Dockerfile文件(描述如何构建Docker镜像)发送给仿真系统的服务端程序。仿真系统的服务端程序根据Dockerfile文件,分别创建Docker镜像和Docker容器,并启动Docker容器。这样,不仅解决了无人机算法程序运行环境差异(例如使用的编程语言不同,安装的库文件不同等)的问题,而且解耦了无人机算法与仿真系统,提高了仿真系统的可扩展性。
本发明的一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,参见图1所示,具体包括以下过程:
步骤S1,将用户编写的Dockerfile文件,通过仿真系统的前端网页上传至仿真系统服务端。该Dockerfile文件描述了如何创建Docker镜像,下面将使用该Dockerfile文件创建Docker镜像。
步骤S2,仿真系统服务端将Dockerfile文件发送到Docker守护进程,Docker守护进程使用该Dockerfile文件创建Docker镜像。
步骤S3,Docker守护进程使用新创建的Docker镜像创建Docker容器,并启动该Docker容器。Docker镜像可创建多个Docker容器。
采用Docker容器虚拟化技术提供的资源隔离、方便部署的特性,将算法部署为容器。每个Docker容器中运行的程序就是用户自己编写的无人机算法程序,用户编写的算法程序在约定的端口监听HTTP请求。仿真系统服务端程序将会向用户编写的算法程序发送HTTP请求,来调用用户编写的服务端程序中的无人机算法。
步骤S4,用户在仿真系统的前端网页点击运行某个无人机算法后,仿真系统的前端网页发送无人机算法名字和无人机算法参数给仿真系统的服务端程序。仿真系统的服务端程序根据无人机算法名字计算出Docker容器名字。仿真系统的服务端程序向该Docker容器的用户编写的无人计算法程序发送HTTP请求,发送的HTTP请求中带有无人机算法程序运行需要的参数,等待用户编写的服务端程序返回无人机算法程序的计算结果。接着,仿真系统的服务端程序将无人机算法程序的计算结果返回给仿真系统的前端网页。
本发明方法的有益效果为:
1)方便快速:根据用户提供的Dockerfile文件,服务端可以自动创建镜像和容器;
2)隔离性好:本发明将每个算法的运行环境隔离在每个容器中,容器间互相独立,防止发生冲突。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (6)
1.一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,其特征是,包括以下步骤:
步骤S1,将Dockerfile文件,通过仿真系统的前端网页上传至仿真系统的服务端;
步骤S2,仿真系统的服务端根据Dockerfile文件创建Docker镜像;
步骤S3,Docker镜像创建Docker容器,并启动Docker容器,所述Docker容器中包含无人机算法;
步骤S4,当需要调用无人机算法时,通过仿真系统的前端网页将无人机算法信息发送至仿真系统的服务端,仿真系统的服务端根据无人机算法信息调用对应的Docker容器中无人机算法程序,并将无人机算法程序的计算结果返回至仿真系统的前端网页。
2.根据权利要求1所述的一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,其特征是,Dockerfile文件中描述了如何创建Docker镜像。
3.根据权利要求1所述的一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,其特征是,仿真系统的服务端根据Dockerfile文件创建Docker镜像的具体过程为:仿真系统的服务端将Dockerfile文件发送到Docker守护进程,Docker守护进程使用该Dockerfile文件创建Docker镜像。
4.根据权利要求1所述的一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,其特征是,Docker镜像创建多个Docker容器。
5.根据权利要求1所述的一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,其特征是,无人机算法信息包括无人机算法名字和无人机算法参数。
6.根据权利要求1所述的一种基于容器虚拟化技术的无人机算法仿真系统扩展方法,其特征是,仿真系统的服务端根据无人机算法信息调用对应的Docker容器中无人机算法程序的具体过程为:仿真系统的服务端向该Docker容器的无人计算法程序发送HTTP请求,发送的HTTP请求中带有无人机算法程序运行需要的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811632216.4A CN109828823A (zh) | 2018-12-29 | 2018-12-29 | 一种基于容器虚拟化技术的无人机算法仿真系统扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811632216.4A CN109828823A (zh) | 2018-12-29 | 2018-12-29 | 一种基于容器虚拟化技术的无人机算法仿真系统扩展方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109828823A true CN109828823A (zh) | 2019-05-31 |
Family
ID=66861403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811632216.4A Withdrawn CN109828823A (zh) | 2018-12-29 | 2018-12-29 | 一种基于容器虚拟化技术的无人机算法仿真系统扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828823A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273926A (zh) * | 2020-01-14 | 2020-06-12 | 一飞智控(天津)科技有限公司 | 机场客户端远程升级管理方法、系统、存储介质、无人机 |
CN111522256A (zh) * | 2020-05-07 | 2020-08-11 | 北京神舟航天软件技术有限公司 | 一种基于Docker的分布式无人机集群仿真方法 |
CN112612575A (zh) * | 2020-12-22 | 2021-04-06 | 深圳龙岗智能视听研究院 | 一种基于Docker容器的人脸识别终端平台虚拟化的方法 |
CN116755416A (zh) * | 2023-08-23 | 2023-09-15 | 弥费科技(上海)股份有限公司 | 半导体生产制造的生产系统虚拟调试方法、装置和产品 |
-
2018
- 2018-12-29 CN CN201811632216.4A patent/CN109828823A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273926A (zh) * | 2020-01-14 | 2020-06-12 | 一飞智控(天津)科技有限公司 | 机场客户端远程升级管理方法、系统、存储介质、无人机 |
CN111522256A (zh) * | 2020-05-07 | 2020-08-11 | 北京神舟航天软件技术有限公司 | 一种基于Docker的分布式无人机集群仿真方法 |
CN112612575A (zh) * | 2020-12-22 | 2021-04-06 | 深圳龙岗智能视听研究院 | 一种基于Docker容器的人脸识别终端平台虚拟化的方法 |
CN116755416A (zh) * | 2023-08-23 | 2023-09-15 | 弥费科技(上海)股份有限公司 | 半导体生产制造的生产系统虚拟调试方法、装置和产品 |
CN116755416B (zh) * | 2023-08-23 | 2023-11-28 | 弥费科技(上海)股份有限公司 | 半导体生产制造的生产系统虚拟调试方法、装置和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828823A (zh) | 一种基于容器虚拟化技术的无人机算法仿真系统扩展方法 | |
EP3204849B1 (en) | Systems and methods to update source code files | |
CN113826070B (zh) | 工作流引擎工具 | |
US9632761B2 (en) | Distribute workload of an application to a graphics processing unit | |
US20210263719A1 (en) | Software deployment control using blockchain | |
CN110377283B (zh) | Web前后端分离开发时前端有效数据的实现及同步方法 | |
CN106484394A (zh) | 一种双引擎快速软件开发系统 | |
US10303444B2 (en) | Composable application session parameters | |
US8938712B2 (en) | Cross-platform virtual machine and method | |
US9116777B1 (en) | In-flight process instance migration between business process execution language (BPEL) suites | |
CN109196476A (zh) | 共享垃圾收集器的不同类型图之间的无缝高性能互操作性 | |
Danelutto et al. | Data stream processing via code annotations | |
JP2016224954A (ja) | 共有コンピュータリソースを使用するための専用コンピュータサービスプログラムを生成するためのプログラミングインターフェースデバイス | |
CN104598293A (zh) | 一种在线快照的方法和设备 | |
US9542165B2 (en) | Model to Petri-Net transformation | |
Corley et al. | Evaluating the cloud architecture of AToMPM | |
CN111767059A (zh) | 深度学习模型的部署方法、装置、电子设备和存储介质 | |
US9170796B2 (en) | Content space environment representation | |
CN112955865A (zh) | 应用视图层次的静态协调 | |
US9684491B2 (en) | Annotation-based item description | |
CN108351888B (zh) | 生成可推迟数据流 | |
US20220067502A1 (en) | Creating deep learning models from kubernetes api objects | |
US9116747B2 (en) | Sparse threaded deterministic lock-free cholesky and LDLT factorizations | |
US20210201113A1 (en) | Parallel execution of gated activation unit operations | |
Hooman | Industrial application of formal models generated from domain specific languages |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190531 |
|
WW01 | Invention patent application withdrawn after publication |