首页> 中国专利> 基于容器的交付系统构建方法、应用交付方法和交付系统

基于容器的交付系统构建方法、应用交付方法和交付系统

摘要

本发明公开了基于容器的交付系统构建方法、应用交付方法和交付系统。其中,所述交付系统构建方法包括:构建浏览器/服务器模式;在服务器上构建Docker环境,安装Docker容器组件,配置用户目录服务进行用户管理,配置网络文件系统实现共享存储;编写应用的dockerfile文件,生成应用镜像文件,在所述应用镜像文件中配置VNC组件;对VNC代理服务器容器化封装,生成VNC代理镜像文件,构建轻量级的交付环境;将所述应用镜像文件和所述VNC代理镜像文件导入所述服务器的操作系统中。

著录项

  • 公开/公告号CN112394907A

    专利类型发明专利

  • 公开/公告日2021-02-23

    原文格式PDF

  • 申请/专利权人 北京仿真中心;

    申请/专利号CN202011100793.6

  • 申请日2020-10-15

  • 分类号G06F8/20(20180101);G06F8/61(20180101);G06F8/71(20180101);G06F9/455(20060101);

  • 代理机构11257 北京正理专利代理有限公司;

  • 代理人付生辉

  • 地址 100854 北京市海淀区永定路142信箱30分箱

  • 入库时间 2023-06-19 09:58:59

说明书

技术领域

本发明涉及远程应用交付领域,更具体的,涉及一种基于容器的交付系统构建方法、应用交付方法和交付系统。

背景技术

传统的本地开启应用进行设计的模式缺点诸多,工具软件部署费时,PC操作系统稳定性不高,一旦系统崩溃,很大概率造成软件无法使用。云计算技术通过服务器端部署软件,远程交付用户一定程度上解决了这一问题,但是仍存在弊端:服务器由于磁盘冗余、电源冗余稳定性高于PC机,服务器系统一旦崩溃,众多软件面临重新部署,因此已构建的软件能被高效恢复是目前所需解决的一项问题;VNC的C/S架构导致PC获取远程服务需要安装客户端软件,增加了用户操作的复杂度。

发明内容

本发明的一个目的在于提供解上述问题至少之一的一种基于容器的交付系统的构建方法、应用交付方法、交付系统、计算设备和存储介质。

为达上述目的,本发明采用下述技术方案:

一方面,本发明公开了一种基于容器的交付系统构建方法,所述方法具体包括:

具体步骤为:

构建浏览器/服务器模式;

在服务器上构建Docker环境,安装Docker容器组件,配置用户目录服务进行用户管理,配置网络文件系统实现共享存储;

编写应用的dockerfile文件,生成应用镜像文件,在所述应用镜像文件中配置虚拟网络控制台组件;对VNC代理服务器容器化封装,生成VNC代理镜像文件,构建轻量级的交付环境;将所述应用镜像文件和所述VNC代理镜像文件导入所述服务器的操作系统中。

所述服务器接收分发服务器发出的绑定请求,利用所述应用镜像文件启动容器,获取所述容器的VNC服务,启动所述VNC代理镜像文件,代理与所述容器的VNC服务,发送url地址至所述浏览器,关联并点亮所述浏览器中的图形连接按钮;绑定所述容器和用户的数据空间。

所述浏览器用于发送应用请求;

所述分发服务器接收所述应用请求,根据所述应用请求,选定所述服务器。

所述服务器根据部署的软件类型进行标签化处理。

所述服务器部署相同的操作系统。

第二方面,本发明提出了一种基于容器的应用交付系统,包括:

选择模块,用于获取用户输入的应用请求;

分析模块,用于接收所述应用请求,根据所述应用请求绑定对应的服务器,发送绑定请求;

服务器集成模块,用于接收所述绑定请求,利用应用镜像文件启动容器,获取所述容器的VNC服务,启动VNC代理镜像文件,代理所述容器的VNC服务;绑定所述容器和用户服务器的数据空间。

第三方面,本发明提出了一种应用交付方法,包括:

服务器接收分发服务器发出的绑定请求,利用应用镜像文件启动容器,获取所述容器的VNC服务,启动VNC代理镜像文件,代理与所述容器的VNC服务,发送url地址至所述浏览器,关联并点亮所述浏览器中的图形连接按钮;绑定所述容器和用户的数据空间。

第四方面,本发明提出了一种计算设备,

包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面提出的方法。

第五方面,本发明提出了一种存储介质,所述计存储介质中存储有指令,当所述存储介质在计算机上运行时,使得所述计算机执行本发明第一方面提出的方法。

本发明的有益效果如下:

本发明所述技术方案能快速共享、构建应用,并且不依赖于客户端应用程序能交付用户,通过NFS构建共享存储并动态绑定容器与用户数据的设计实现用户数据与应用相分离;通过VNC代理的设计实现高效图形转发,上述设计方法是构建轻量级设计云平台的关键设计,可便捷实现复杂应用的构建、共享,使设计人员可聚焦于设计,将复杂应用部署转换为Docker容器管理;提高资源的利用率。

附图说明

图1示出本发明的一个实施例的基于容器的交付系统构建方法的流程图;

图2示出本发明的一个实施例提出的基于容器的应用交付方法对用户请求进行处理的流程图;

图3示出本发明的一个实施例提出的基于容器的交付系统的架构图;

图4示出本发明的一个实施例提出的一种计算设备的结构框图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

图1示出本发明所述的一种基于容器的交付系统构建方法的流程图。

在一个实施例中,示出一种基于容器的应用交付系统构建方法,的具体步骤如下:

构建服务器/浏览器架构,即B/S架构,所述服务器部署统一的操作系统,所述操作系统包括但不限于Linux操作系统、Windows操作系统,需要注意的是所述windows操作系统限制在2012年以后的版本。在所述服务器上安装Docker容器组件,过用户目录服务NIS配置进行用户管理,通过网络文件系统NFS配置实现共享存储,关闭SELINUX服务;

编写应用的dockerfile文件,生成tar格式镜像文件,在所述tar格式镜像文件中安装、配置VNC组件;将VNC代理程序容器化封装,生成VNC代理镜像。将所述tar格式镜像文件以及VNC代理镜像导入所述服务器的操作系统。

根据所述服务器上存储的应用类型对所述服务器进行标签化处理,便于后续选择服务器启动容器。

在浏览器页面构建选择标签,用户选定标签后,所述浏览器发出应用请求。

本发明的第二个实施例提供了一种基于容器的应用交付方法,其中,在接受到用户请求后的处理流程如图2所示。

用户在网页中,点击图形连接按钮,所述浏览器发出应用请求,分发服务器根据所述应用请求和服务器标签,选定服务器,发出绑定请求;

所述服务器接收所述绑定请求,利用所述tar格式镜像文件启动容器,利用函数接口获取所述容器内VNC服务的IP和端口,根据所述IP和端口启动VNC代理镜像,代理所述容器的VNC服务并记录VNC代理容器代理所述容器的VNC服务后的IP和端口,拼接生成url地址推送至所述浏览器,关联并点亮所述浏览器页面中图形连接按钮。同时,利用docker exec命令结合-v参数进行容器与用户数据空间动态绑定。

用户在网页中,点击图形连接按钮,网页前端建立与VNC代理容器的连接,最终在浏览器中获得应用,输入所述容器中的VNC配置密码即可进行访问。

如图3所示,本发明的第三个实施例提供了一种应用交付系统,包括:

选择模块,用于获取用户发送的应用请求;

分析模块,用于接收所述应用请求,根据所述应用请求绑定对应的服务器,发送绑定请求;

服务器集成模块,用于接收所述绑定请求,利用tar格式应用镜像文件启动应用容器,利用函数接口获取所述容器内VNC服务的IP和端口,获取所述应用容器的VNC服务,启动VNC代理镜像文件,生成VNC代理容器,代理所述应用容器的VNC服务,并将VNC代理容器的IP和端口地址拼接成url地址推送至浏览器;绑定所述应用容器和用户服务器的数据空间。

所述服务器为1-N个,图中仅示出2台服务器;

其中N为大于1的正整数。

本发明的第四个实施例提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法。

如图4所示,该计算设备,包括中央处理单元CPU,其可以根据存储在只读存储器ROM中的程序或者从存储部分加载到随机访问存储器RAM中的程序而执行各种适当的动作和处理。在RAM中,还存储有计算机系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线被此相连。输入/输入接口也连接至总线。以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如液晶显示器LCD等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。

作为另一方面,本申请的另一个实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述系统构建方法和应用交付方法。在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。

计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号