一种云计算中遥感图像处理的Docker镜像自动化动态构建方法技术

技术编号:19592828 阅读:37 留言:0更新日期:2018-11-28 04:42
本发明专利技术涉及一种面向云计算中遥感图像处理的Docker镜像自动化制作系统,属于遥感图像处理领域。本发明专利技术中,构建一个存储遥感图像处理专用镜像的nexus docker仓库,搭建一个存储遥感图像处理软件的http文件服务器,以及构建web网站,通过web网站提供一个制作遥感图像处理专用镜像的可视化向导。用户按步骤处理完页面信息后,后台将根据用户在遥感专用镜像制作向导中产生的相关信息,自动生成构建遥感专用镜像的docker file文件。然后使用docker build命令制作出镜像,使用docker push命令将制作出的镜像存放在镜像仓库中,分享给其它用户使用,实现用户可以在不同物理机上,以秒级的速度,快速启动所需遥感图像处理系统并处理他的遥感业务。

【技术实现步骤摘要】
一种云计算中遥感图像处理的Docker镜像自动化动态构建方法
本专利技术涉及一种面向遥感图像处理的Docker镜像自动化制作系统,属于遥感图像处理领域。
技术介绍
由于计算机CPU多核化的发展,为了充分利用计算机中的多核进行并行处理,在使用计算机处理遥感图像处理算法时,遥感图像处理人员通常希望将多个遥感图像处理算法同时运行在同一台计算机上。然而当前遥感专业处理软件普遍没有采用并行处理方法,因此基于这些遥感软件开发出来的遥感图像算法,运行在同一台计算机上时,会由于内存泄漏而造成相互干扰。硬件资源的隔离与虚拟机技术给上述问题提供了解决方案。当前,不对遥感算法改变,就可以将不同的遥感算法同时运行在一台计算机上的解决方法主要有虚拟机技术和Docker技术。Docker技术能实现应用系统层级的隔离,与虚拟机相比,它具有更轻量化、启动速度快以及资源利用率高等特点,因而自2013年以来得到了更迅猛的发展。遥感图像处理Docker镜像的制作,不仅要求镜像制作人员具有linux基础知识、熟悉dockerfile脚本制作的基本语法以及Docker的基础命令与配置知识,而且要求提供制作遥感图像处理Docker镜像的基础镜像。这对遥感图像专业处理开发人员来说,不仅学习门槛较高,而且经常面临到处寻找基础镜像,制作出的镜像没有一个用于其分享分布的遥感图像处理镜像仓库管理系统等问题,因而急需一个面向遥感图像处理的Docker镜像自动化制作系统。
技术实现思路
本专利技术为克服上述现有技术所述的至少一种缺陷,提供一种云计算中遥感图像处理的Docker镜像自动化动态构建方法,实现用户可以在不同物理机上,以秒级的速度,快速启动所需遥感图像处理系统并处理他的遥感业务。为解决上述技术问题,本专利技术采用的技术方案是:一种云计算中遥感图像处理的Docker镜像自动化动态构建方法,其特征在于,包括有以下步骤:S1:构建存储基础镜像和专用镜像的nexusdocker仓库及制作Docker镜像的Docker制作系统,同时构建http文件服务器;S2:构建一个前端web页面,让用户上传遥感图像处理所需要的遥感算法、遥感专用软件、遥感专用软件运行所依赖软件,并将这些文件使用远程存储方式存储到http文件服务器,并对这些文件进行分类存储,同时使用MySQL数据库表记录前端web页面用户输入的文件相关信息跟它们存放在http文件服务器的目录信息;S3:通过镜像制作向导页面从nexusdocker仓库中搜索出供用户选择的操作系统,并从Mysql数据库中读出S2中存储的前端web页面用户输入的文件相关信息跟它们存放在http文件服务器的目录信息,供用户选择遥感图像处理所需的遥感专用软件、遥感算法、遥感专用软件运行所依赖软件,并指定当前镜像的镜像名和标签;S4:构建一个端口分配模块,该模块从MySQL数据库dockerfile文件描述表中查询已分配的端口号,使用hash方法给每个需要制作的镜像分配一个端口号;构建Dockerfile文件自动生成器,Dockerfile文件自动生成器根据用户前端提供的操作系统、遥感专用软件、遥感专用软件运行所依赖软件、遥感算法执行程序与端口号等信息制作docker镜像的dockerfile文件;S5:使用远程文件存储方法,将dockerfile文件传送到http文件服务器的dockerfile存储目录下,在Mysql数据库中的dockerfile文件描述表中添加对应的新记录,用于存储dockerfile文件对应的信息;S6:用户在web前端触发镜像制作命令并传递给web后端,docker制作与推送处理使用java调用开源jsch框架提供的开源免费的jsch类的接口开源框架提供的开源免费的开源jsch框架提供的开源免费的jsch类的接口类接口,登陆到Docker制作系统,从MySQL数据库的dockerfile文件描述表中找到待制作镜像的http文件服务器存放dockerfile的路径,将dockerfile下载并执行dockerbuild命令,在当前docker制作机器上进行镜像的制作,并将镜像制作过程产生的信息返回给web前端;S7:web前端收到镜像制作信息并在浏览器中显示,用户根据制作结果信息判断镜像制作是否成功,若镜像制作成功则通知后端上传镜像,web后端接收到镜像上传命令后,docker制作与推送处理使用java调用开源jsch框架提供的开源免费的jsch类的接口开源框架提供的开源免费的开源jsch框架提供的开源免费的jsch类的接口类接口,登陆到Docker制作系统,执行dockerpush命令将本次制作出的镜像上传到镜像仓库。本专利技术中,构建一个存储遥感图像处理专用镜像的nexusdocker仓库,搭建一个存储遥感图像处理软件的http文件服务器,以及构建一个web网站,该web网站提供一个制作遥感图像处理专用镜像的可视化向导。当用户使用遥感专用镜像制作向导,按步骤一步步处理完页面信息后,后台将根据用户在遥感专用镜像制作向导中产生的相关信息,自动生成构建遥感专用镜像的dockerfile文件。然后使用dockerbuild命令制作出镜像,然后使用dockerpush命令将制作出的镜像存放在镜像仓库中,分享给其它用户使用。在一个实施方式中,在步骤S1中,部署ubuntu操作系统服务器;下载开源软件nexus系统并配置nexus-3.X远程镜像地址及访问端口;启动nexus以此构建出一个nexusdocker仓库。通过该方法步骤构建出nexusdocker仓库,用于存储基础镜像和制作出的遥感图像处理专用镜像。在一个实施方式中,在步骤S1中,制作Docker制作系统时,部署一台ubuntu操作系统的服务器;添加docker的APT仓库;增加dockerAPT仓库的新GPG密钥;更新APT软件包索引;安装Docker,在/etc/docker/daemon.json中配置搭建私有nexusdocker仓库地址,使其能够访问本地私有nexusdocker仓库。通过该方法步骤搭建用于制作遥感图像处理Docker镜像的Docker制作系统。另外,在步骤S2中,远程文件系统存储器对遥感算法、遥感专用软件、遥感专用软件运行所依赖软件通过文件id号进行重命名及存储。本步骤中,以文件id号+遥感软件名做为新的文件名,将遥感软件传送到http文件服务器的遥感软件存储目录下,以文件id号+遥感算法名做为新的文件名,将遥感算法传送到http文件服务器的遥感算法存储目录下,以文件id号+遥感专用软件运行所依赖软件名做为新的文件名,将遥感专用软件运行所依赖软件传送到http文件服务器的遥感专用软件运行所依赖软件存储目录下。在一个实施方式中,在步骤S3中,通过web服务端开发脚本读取nexusdocker中所有的镜像名与标签并进行对比,过滤出操作系统镜像。通过spring开源框架的控制层代码接收用户的操作系统搜索请求并把过滤出的操作系统镜像返回给用户;spring控制层代码从Mysql数据库表中读出文件信息,供用户选择遥感图像处理所需的遥感专用软件、遥感算法、遥感专用软件运行所依赖软件。实现从nexusdocker仓库中搜索出可供用户选择的操作系统。在一本文档来自技高网...

【技术保护点】
1.一种云计算中遥感图像处理的Docker镜像自动化动态构建方法,其特征在于,包括有以下步骤:S1:构建存储基础镜像和专用镜像的nexus docker仓库及制作Docker镜像的Docker制作系统,同时构建http文件服务器;S2:构建一个前端web页面,让用户上传遥感图像处理所需要的遥感算法、遥感专用软件、遥感专用软件运行所依赖软件,并将这些文件使用远程存储方式存储到http文件服务器,并对这些文件进行分类存储,同时使用MySQL数据库表记录前端web页面用户输入的文件相关信息跟它们存放在http文件服务器的目录信息;S3:通过镜像制作向导页面从nexus docker仓库中搜索出供用户选择的操作系统,并从Mysql数据库中读出S2中存储的前端web页面用户输入的文件相关信息跟它们存放在http文件服务器的目录信息,供用户选择遥感图像处理所需的遥感专用软件、遥感算法、遥感专用软件运行所依赖软件,并指定当前镜像的镜像名和标签;S4:构建一个端口分配模块,该模块从MySQL数据库docker file文件描述表中查询已分配的端口号,使用hash方法给每个需要制作的镜像分配一个端口号;构建Docker file文件自动生成器,Docker file文件自动生成器根据用户前端提供的操作系统、遥感专用软件、遥感专用软件运行所依赖软件、遥感算法执行程序与端口号等信息制作docker镜像的docker file文件;S5:使用远程文件存储方法,将dockerfile文件传送到http文件服务器的docker file存储目录下,在Mysql数据库中的docker file文件描述表中添加对应的新记录,用于存储docker file 文件对应的信息;S6:用户在web前端触发镜像制作命令并传递给web后端,docker制作与推送处理使用java调用jsch开源框架提供的开源免费的jsch类接口,登陆到Docker制作系统,从MySQL数据库的dockerfile文件描述表中找到待制作镜像的http文件服务器存放docker file的路径,将docker file下载并执行docker build命令,在当前docker制作机器上进行镜像的制作,并将镜像制作过程产生的信息返回给web前端;S7:web前端收到镜像制作信息并在浏览器中显示,用户根据制作结果信息判断镜像制作是否成功,若镜像制作成功则通知后端上传镜像,web后端接收到镜像上传命令后,docker制作与推送处理使用java调用jsch开源框架提供的开源免费的jsch类接口,登陆到Docker制作系统,执行docker push命令将本次制作出的镜像上传到镜像仓库。...

【技术特征摘要】
1.一种云计算中遥感图像处理的Docker镜像自动化动态构建方法,其特征在于,包括有以下步骤:S1:构建存储基础镜像和专用镜像的nexusdocker仓库及制作Docker镜像的Docker制作系统,同时构建http文件服务器;S2:构建一个前端web页面,让用户上传遥感图像处理所需要的遥感算法、遥感专用软件、遥感专用软件运行所依赖软件,并将这些文件使用远程存储方式存储到http文件服务器,并对这些文件进行分类存储,同时使用MySQL数据库表记录前端web页面用户输入的文件相关信息跟它们存放在http文件服务器的目录信息;S3:通过镜像制作向导页面从nexusdocker仓库中搜索出供用户选择的操作系统,并从Mysql数据库中读出S2中存储的前端web页面用户输入的文件相关信息跟它们存放在http文件服务器的目录信息,供用户选择遥感图像处理所需的遥感专用软件、遥感算法、遥感专用软件运行所依赖软件,并指定当前镜像的镜像名和标签;S4:构建一个端口分配模块,该模块从MySQL数据库dockerfile文件描述表中查询已分配的端口号,使用hash方法给每个需要制作的镜像分配一个端口号;构建Dockerfile文件自动生成器,Dockerfile文件自动生成器根据用户前端提供的操作系统、遥感专用软件、遥感专用软件运行所依赖软件、遥感算法执行程序与端口号等信息制作docker镜像的dockerfile文件;S5:使用远程文件存储方法,将dockerfile文件传送到http文件服务器的dockerfile存储目录下,在Mysql数据库中的dockerfile文件描述表中添加对应的新记录,用于存储dockerfile文件对应的信息;S6:用户在web前端触发镜像制作命令并传递给web后端,docker制作与推送处理使用java调用jsch开源框架提供的开源免费的jsch类接口,登陆到Docker制作系统,从MySQL数据库的dockerfile文件描述表中找到待制作镜像的http文件服务器存放dockerfile的路径,将dockerfile下载并执行dockerbuild命令,在当前docker制作机器上进行镜像的制作,并将镜像制作过程产生的信息返回给web前端;S7:web前端收到镜像制作信息并在浏览器中显示,用户根据制作结果信息判断镜像制作是否成功,若镜像制作成功则通知后端上传镜像,web后端接收到镜像上传命令后,docker制作与推送处理使用java调用jsch开源框架提供的开源免费的jsch类接口,登陆到Docker制作系统,执行dockerpush命令将本次制作出的镜像上传到镜像仓库。2.根据权利要求1所述的云计算中遥感图像处理的Docker镜像自动化动态构建方法,其特征在于,在步骤S1中,部署ubuntu操作系统服务器;下载开源软件nexus系统并配置nexus-3.X远程镜像地址及访问端口;启动n...

【专利技术属性】
技术研发人员:刘敏霞朱德海黄晓园
申请(专利权)人:东莞理工学院
类型:发明
国别省市:广东,44

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

1