CN112394907A - 基于容器的交付***构建方法、应用交付方法和交付*** - Google Patents

基于容器的交付***构建方法、应用交付方法和交付*** Download PDF

Info

Publication number
CN112394907A
CN112394907A CN202011100793.6A CN202011100793A CN112394907A CN 112394907 A CN112394907 A CN 112394907A CN 202011100793 A CN202011100793 A CN 202011100793A CN 112394907 A CN112394907 A CN 112394907A
Authority
CN
China
Prior art keywords
container
application
server
vnc
image file
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
Application number
CN202011100793.6A
Other languages
English (en)
Inventor
魏志强
施国强
林廷宇
阮超
潘宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Simulation Center
Original Assignee
Beijing Simulation Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Simulation Center filed Critical Beijing Simulation Center
Priority to CN202011100793.6A priority Critical patent/CN112394907A/zh
Publication of CN112394907A publication Critical patent/CN112394907A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

基于容器的交付***构建方法、应用交付方法和交付***
技术领域
本发明涉及远程应用交付领域,更具体的,涉及一种基于容器的交付***构建方法、应用交付方法和交付***。
背景技术
传统的本地开启应用进行设计的模式缺点诸多,工具软件部署费时,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)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

Claims (8)

1.一种基于容器的交付***构建方法,其特征在于,包括:
构建浏览器/服务器模式;
在服务器上构建Docker环境,安装Docker容器组件,配置用户目录服务进行用户管理,配置网络文件***实现共享存储;
编写应用的dockerfile文件,生成应用镜像文件,在所述应用镜像文件中配置VNC组件;
对VNC代理服务器容器化封装,生成VNC代理镜像文件,构建轻量级的交付环境;将所述应用镜像文件和所述VNC代理镜像文件导入所述服务器的操作***。
2.根据权利要求1所述的方法,其特征在于,
还包括:
所述浏览器用于发送应用请求;
所述分发服务器接收所述应用请求,根据所述应用请求,选定所述服务器。
3.根据权利要求1所述的方法,其特征在于,
所述服务器根据部署的软件类型进行标签化处理。
4.根据权利要求1所述的方法,其特征在于,
所述服务器部署相同的操作***。
5.一种利用权利要求1-4中任一项所述的方法构建的交付***,其特征在于,包括
选择模块,用于获取用户输入的应用请求;
分析模块,用于接收所述应用请求,根据所述应用请求绑定对应的服务器,发送绑定请求;
服务器集成模块,用于接收所述绑定请求,利用应用镜像文件启动容器,获取所述容器的VNC服务,启动VNC代理镜像文件,代理所述容器的VNC服务;绑定所述容器和用户服务器的数据空间。
6.一种利用权利要求5所述***实现的应用交付方法,其特征在于,
服务器接收分发服务器发出的绑定请求,利用应用镜像文件启动容器,获取所述容器的VNC服务,启动VNC代理镜像文件,代理所述容器的VNC服务,发送url地址至所述浏览器,关联并点亮所述浏览器中的图形连接按钮;绑定所述容器和用户的数据空间。
7.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质中存储有指令,当所述存储介质在计算机上运行时,使得所述计算机执行权利要求1-4中任一项所述的方法。
CN202011100793.6A 2020-10-15 2020-10-15 基于容器的交付***构建方法、应用交付方法和交付*** Pending CN112394907A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011100793.6A CN112394907A (zh) 2020-10-15 2020-10-15 基于容器的交付***构建方法、应用交付方法和交付***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011100793.6A CN112394907A (zh) 2020-10-15 2020-10-15 基于容器的交付***构建方法、应用交付方法和交付***

Publications (1)

Publication Number Publication Date
CN112394907A true CN112394907A (zh) 2021-02-23

Family

ID=74596325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011100793.6A Pending CN112394907A (zh) 2020-10-15 2020-10-15 基于容器的交付***构建方法、应用交付方法和交付***

Country Status (1)

Country Link
CN (1) CN112394907A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185626A1 (en) * 2022-03-29 2023-10-05 International Business Machines Corporation Image management for container runtimes
CN117635083A (zh) * 2024-01-26 2024-03-01 之江实验室 一种群智场景的智能硬件芯片模型集成开发***及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105005716A (zh) * 2015-06-16 2015-10-28 中国科学院计算技术研究所 一种应用程序远程交付***及远程交付方法
CN106873975A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 基于Docker的devops持续交付与自动化***及方法
CN109309693A (zh) * 2017-07-26 2019-02-05 财付通支付科技有限公司 基于docker的多服务***、部署方法及装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105005716A (zh) * 2015-06-16 2015-10-28 中国科学院计算技术研究所 一种应用程序远程交付***及远程交付方法
CN106873975A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 基于Docker的devops持续交付与自动化***及方法
CN109309693A (zh) * 2017-07-26 2019-02-05 财付通支付科技有限公司 基于docker的多服务***、部署方法及装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AMATEUR-RD: ""noVNC+VNCserver实现远程访问Docker容器桌面"", pages 1 - 4, Retrieved from the Internet <URL:《https://zhuanlan.zhihu.com/p/36204274》> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185626A1 (en) * 2022-03-29 2023-10-05 International Business Machines Corporation Image management for container runtimes
CN117635083A (zh) * 2024-01-26 2024-03-01 之江实验室 一种群智场景的智能硬件芯片模型集成开发***及方法

Similar Documents

Publication Publication Date Title
JP7421511B2 (ja) アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム
US9363195B2 (en) Configuring cloud resources
US11023558B1 (en) Executing functions on-demand on a server utilizing web browsers
US20200412788A1 (en) Asynchronous workflow and task api for cloud based processing
CN113821352A (zh) 一种远程服务的调用方法和装置
CN110795649A (zh) 目标页面展示方法、装置、***及电子设备
CN112199567A (zh) 一种分布式数据采集方法、***、服务器和存储介质
CN112394907A (zh) 基于容器的交付***构建方法、应用交付方法和交付***
CN113010405A (zh) 一种应用程序的测试方法和装置
CN112347169A (zh) 基于php框架的用户请求处理方法、装置及电子设备
US10324647B2 (en) Dynamic compression for runtime services
CN113761412A (zh) 应用页面的显示方法、装置、电子设备、介质及应用***
CN110928571A (zh) 业务程序开发方法和装置
CN110888639A (zh) 一种业务代码编译打包方法和装置
CN114816795A (zh) 一种接口扩展方法、装置、远程调用服务端和***
CN111488169A (zh) 应用程序热更新的方法及装置、存储介质及电子设备
US11972252B2 (en) Docker installed software/hardware discovery
CN114489622A (zh) 静态资源管理方法、Node.js应用、电子设备和存储介质
CN114416169A (zh) 基于微前端的数据处理方法、介质、装置和计算设备
CN112491940B (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
WO2024001240A1 (zh) 多种技术栈的任务集成方法及装置
US20230164210A1 (en) Asynchronous workflow and task api for cloud based processing
CN114449523B (zh) 用于卫星测控***的流量过滤方法、装置、设备及介质
CN114860401B (zh) 异构云桌面调度***、方法、服务***、装置及介质
WO2022199324A1 (en) Run-time communications protocol parameter adjustment in containerized applications

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