CN112558930A - 一种面向容器服务的软件生成系统及方法 - Google Patents

一种面向容器服务的软件生成系统及方法 Download PDF

Info

Publication number
CN112558930A
CN112558930A CN202011430229.0A CN202011430229A CN112558930A CN 112558930 A CN112558930 A CN 112558930A CN 202011430229 A CN202011430229 A CN 202011430229A CN 112558930 A CN112558930 A CN 112558930A
Authority
CN
China
Prior art keywords
software
service
mirror image
template
data
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.)
Granted
Application number
CN202011430229.0A
Other languages
English (en)
Other versions
CN112558930B (zh
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.)
Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
Original Assignee
Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
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 Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences filed Critical Suzhou Research Institute Institute Of Electronics Chinese Academy Of Sciences
Priority to CN202011430229.0A priority Critical patent/CN112558930B/zh
Publication of CN112558930A publication Critical patent/CN112558930A/zh
Application granted granted Critical
Publication of CN112558930B publication Critical patent/CN112558930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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/45575Starting, stopping, suspending or resuming 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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种面向容器服务的软件生成系统及其方法,模板管理模块基于统一格式的模板文件,对容器服务所依赖的服务资源、数据资源以及软件镜像资源进行规范化描述,并依据服务之间、服务与数据之间的依赖关系建立模板间的关联关系;软件构建模块选择镜像模板及软件运行环境、配置资源构建软件镜像,并对服务模板、数据模板、软件镜像进行封装和压缩,生成统一格式的软件包;模拟验证模块在软件上线前对软件依赖资源绑定、软件部署、软件运行这些过程进行模拟验证,将生成的软件包导出。本发明能够保证软件在真实环境下的快速集成、高效部署、稳定运行。

Description

一种面向容器服务的软件生成系统及方法
技术领域
本发明涉及计算机信息技术领域,具体涉及一种面向容器服务的软件生成方法及系统。
背景技术
在微服务时代,一个应用通常被拆分成多个功能单一、能够独立部署与访问的逻辑单元,导致服务的数量急剧增多,对服务配置及所需依赖资源的管理也变得越来越复杂。容器化技术提供了良好的资源隔离能力,具有环境标准化、版本控制、跨平台性等优点,让资源能够被更高效地利用。容器服务是微服务在容器化技术中应用的体现,容器化技术的出现在一定程度上为微服务提供了持续部署、独立运行以及集中管理的能力。然而传统的容器服务虽然能够基于镜像进行独立的部署和运行,但是传统容器服务只包含程序本身及其环境依赖,缺少对服务间、服务与数据等依赖关系的描述,无法有效地降低容器服务在部署过程中的复杂度。现如今,容器服务的数量急剧增长,服务间的差异性不断扩大,对容器服务在便捷部署和快速集成方面提出了更高的要求。针对众多的容器服务,提供完整的依赖资源、配置和运行环境的封装,并在服务上线前进行模拟运行验证,是解决容器服务部署效率低下、集成过程复杂的问题的有效途径。
发明内容
本发明的目的在于提出一种面向容器服务的软件生成方法及系统,对容器服务的依赖资源、软件配置、运行环境等进行统一封装,生成规范化的容器服务软件包,并为该软件包提供模拟验证的能力。
实现本发明目的的技术解决方案为:一种面向容器服务的软件生成系统,包括:
模板管理模块,用于基于统一格式的模板文件,包括服务模板、数据模板和镜像模板,对容器服务所依赖的服务资源、数据资源以及软件镜像资源进行规范化描述,并依据服务之间、服务与数据之间的依赖关系建立模板间的关联,这种关联关系可用于软件的编排,以支撑后续软件的运行验证及软件包的生成。
软件构建模块,用于根据业务需求,选择相应的镜像模板及软件运行环境、配置资源构建软件镜像,然后依据模板间的关联关系将软件镜像与服务资源、数据资源绑定,并对服务模板、数据模板、软件镜像进行封装和压缩,生成统一格式的软件包。
模拟验证模块,用于提供离线的软件模拟运行环境,在软件上线前对软件依赖资源绑定、软件部署、软件运行等过程进行模拟验证,确保软件可以正常启动运行,软件模拟验证完成后,将生成的软件包导出用于真实环境下的部署运行。
所述模板管理模块包括服务模板管理子模块、数据模板管理子模块、镜像模板管理子模块三部分,其中:
服务模板管理子模块用于根据统一的服务模板规范,对服务名称、开发单位、服务描述、服务依赖等信息进行描述,生成JSON格式的模板文件,并进行服务模板管理。
数据模板管理子模块用于根据统一的数据模板规范,对多种类型的数据资源(如DFS,MySQL等)的连接配置、存储路径等信息进行描述,生成JSON格式的模板文件,并对数据资源模板进行统一管理。
镜像模板管理子模块用于为容器化软件服务构建标准的Dockerfile镜像模板文件,通过自定义编辑指令的方式指明软件实体,并设置软件运行环境和配置参数,生成用于构建镜像的镜像模板。镜像模板生成过程中,需要对模板内容进行测试验证,保证镜像模板的可用性,以支撑后续软件镜像的构建。
所述软件构建模块包括镜像构建子模块、资源绑定子模块、软件封装子模块三部分,其中:
镜像构建子模块用于对软件镜像的构建,包括远程模式、本地模式、自定义模式三种方式。所述远程模式即将已制作完成的符合规范的镜像远程上传至服务器。所述本地模式,即加载服务器本地镜像,主要为了解决由于网络带宽限制导致镜像上传较慢的问题,实现体积较大的镜像的快速加载。所述自定义模式用于使用自定义Dockerfile镜像模板来构建镜像,即将软件实体、依赖资源、服务配置、运行环境通过镜像模板构建为一个软件镜像,具有较强的灵活性。
资源绑定子模块用于在软件镜像构建完成后,根据模板之间的关联关系,进行软件镜像与服务资源、数据资源的绑定,建立软件依赖模型。
软件封装子模块用于将上述的软件镜像及绑定的服务模板、数据模板进行封装和压缩,形成统一格式的软件并集中管理,提供软件详细信息的可视化展示,以及软件导出功能。
所述模拟验证模块包括软件依赖验证子模块、软件部署验证子模块、软件连通性验证子模块三部分,其中:
软件依赖验证子模块用于依赖服务资源模拟验证、依赖数据资源模拟验证和软件配置模拟验证。所述依赖服务资源模拟验证,通过将依赖服务资源注册到模拟验证环境中,并模拟运行环境条件下软件对依赖服务资源的使用方式,如以环境变量方式注入服务资源地址,用于服务对服务依赖信息的获取,从而达到对依赖服务资源的正确性验证。所述依赖数据资源模拟验证,是通过将软件依赖的数据注册到模拟验证环境中,模拟软件对数据资源的使用方式,如通过使用本地文件系统挂载方式模拟运行环境条件下DFS挂载,从而达到对依赖数据资源的正确性验证。所述软件配置模拟验证,通过将软件配置注册到模拟验证环境中,验证软件配置是否可正确加载。
软件部署验证子模块,用于提供资源关联功能。通过将软件和本地模拟的各类服务资源、数据资源、计算资源、配置资源进行编排组装,根据业务需求调整部署参数配置,并根据服务之间的依赖关系将软件与其依赖的软件实例进行自动绑定,模拟软件在真实环境中部署方案生成过程。软件的服务资源包括服务与服务之间的依赖关系及调用关系;数据资源是服务对数据库的操作以及存储数据的读取;计算资源包括主机节点资源信息以及服务分配的CPU、内存等资源信息;配置资源包括服务的配置参数、测试脚本等。
软件连通性验证子模块用于软件的连通性测试与软件运行管控。所述软件的连通性测试用于确保软件可正常启动运行。所述软件运行管控用于软件实例运行时的管理与控制,包括软件的运行状态、软件实例的启停、软件详细信息的可视化展示。
一种面向容器服务的软件生成方法,基于上述系统生成面向容器服务的软件,具体包括如下步骤:
(1)模板管理
基于统一格式的模板文件,包括服务模板、数据模板和镜像模板,对容器服务所依赖的服务资源、数据资源以及软件镜像资源进行规范化描述,并依据服务之间、服务与数据之间的依赖关系建立模板间的关联,这种关联关系可用于软件的编排,以支撑后续软件的运行验证及软件包的生成。
(2)软件构建
根据业务需求,选择相应的镜像模板及软件运行环境、配置资源构建软件镜像,然后依据模板间的关联关系将软件镜像与服务资源、数据资源绑定,并对服务模板、数据模板、软件镜像进行封装和压缩,生成统一格式的软件包。
(3)模拟验证
在软件上线前对软件依赖资源绑定、软件部署、软件运行等过程进行模拟验证,确保软件可以正常启动运行,软件模拟验证完成后,将生成的软件包导出用于真实环境下的部署运行。
所述模板管理包括服务模板管理、数据模板管理、镜像模板管理三部分,其中:
服务模板管理根据统一的服务模板规范,对服务名称、开发单位、服务描述、服务依赖等信息进行描述,生成JSON格式的模板文件,并进行服务模板管理。
数据模板管理根据统一的数据模板规范,对多种类型的数据资源(如DFS,MySQL等)的连接配置、存储路径等信息进行描述,生成JSON格式的模板文件,并对数据资源模板进行统一管理。
镜像模板管理为容器化软件服务构建标准的Dockerfile镜像模板文件,通过自定义编辑指令的方式指明软件实体,并设置软件运行环境和配置参数,生成用于构建镜像的镜像模板。镜像模板生成过程中,需要对模板内容进行测试验证,保证镜像模板的可用性,以支撑后续软件镜像的构建。
所述软件构建包括镜像构建、资源绑定、软件封装三部分,其中:
镜像构建对软件镜像的构建,包括远程模式、本地模式、自定义模式三种方式。所述远程模式即将已制作完成的符合规范的镜像远程上传至服务器。所述本地模式,即加载服务器本地镜像,主要为了解决由于网络带宽限制导致镜像上传较慢的问题,实现体积较大的镜像的快速加载。所述自定义模式用于使用自定义Dockerfile镜像模板来构建镜像,即将软件实体、依赖资源、服务配置、运行环境通过镜像模板构建为一个软件镜像,具有较强的灵活性。
资源绑定在软件镜像构建完成后,根据模板之间的关联关系,进行软件镜像与服务资源、数据资源的绑定,建立软件依赖模型。
软件封装将上述的软件镜像及绑定的服务模板、数据模板进行封装和压缩,形成统一格式的软件并集中管理,提供软件详细信息的可视化展示,以及软件导出功能。
所述模拟验证包括软件依赖验证、软件部署验证、软件连通性验证三部分,其中:
软件依赖验证用于依赖服务资源模拟验证、依赖数据资源模拟验证和软件配置模拟验证。所述依赖服务资源模拟验证,通过将依赖服务资源注册到模拟验证环境中,并模拟运行环境条件下软件对依赖服务资源的使用方式,如以环境变量方式注入服务资源地址,用于服务对服务依赖信息的获取,从而达到对依赖服务资源的正确性验证。所述依赖数据资源模拟验证,是通过将软件依赖的数据注册到模拟验证环境中,模拟软件对数据资源的使用方式,如通过使用本地文件系统挂载方式模拟运行环境条件下DFS挂载,从而达到对依赖数据资源的正确性验证。所述软件配置模拟验证,通过将软件配置注册到模拟验证环境中,验证软件配置是否可正确加载。
软件部署验证用于资源关联。通过将软件和本地模拟的各类服务资源、数据资源、计算资源、配置资源进行编排组装,根据业务需求调整部署参数配置,并根据服务之间的依赖关系将软件与其依赖的软件实例进行自动绑定,模拟软件在真实环境中部署方案生成过程。软件的服务资源包括服务与服务之间的依赖关系及调用关系;数据资源是服务对数据库的操作以及存储数据的读取;计算资源包括主机节点资源信息以及服务分配的CPU、内存等资源信息;配置资源包括服务的配置参数、测试脚本等。
软件连通性验证用于软件的连通性测试与软件运行管控。所述软件的连通性测试用于确保软件可正常启动运行。所述软件运行管控用于软件实例运行时的管理与控制,包括软件的运行状态、软件实例的启停、软件详细信息的可视化展示。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法生成面向容器服务的软件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法生成面向容器服务的软件。
本发明与现有技术相比,其显著优点为:1)通过构建规范化的服务资源、数据资源和镜像资源的模板,对容器服务的依赖资源、软件配置、运行环境重新组织封装,形成统一的软件交付格式;2)提供服务运行验证能力,通过简化的部署流程模拟服务的运行环境,并测试服务在该环境下的可用性,从而保证软件在真实环境下的快速集成、高效部署、稳定运行。
附图说明
图1是本发明面向容器服务的软件生成系统的整体结构图。
图2是本发明面向容器服务的软件生成方法的整体流程图。
图3是本发明软件模板构建流程图。
图4是本发明资源依赖关系的示意图。
图5是本发明软件构建的流程图。
图6是本发明模拟验证的流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明面向容器服务的软件生成系统,通过对服务资源、数据资源、镜像资源、计算资源、配置资源进行组织封装,实现面向容器服务的软件生成,系统包括模板管理模块、软件构建模块和模拟验证模块,整体结构如图1所示,整体流程如图2所示。
(一)模板管理模块
所述模板管理模块,基于统一格式的模板文件,包括服务模板、数据模板、镜像模板,对容器服务所依赖的服务资源和数据资源,以及软件镜像资源进行规范化描述,包括服务模板管理、数据模板管理、镜像模板管理三部分功能。软件模板构建实施流程如图3所示,资源依赖示意图如图4所示,具体实施步骤如下:
(1)模板创建
服务模板管理用于根据标准化的服务模板规范来构建服务模板,进行服务模板管理。使用统一的服务规范,对服务名称、开发单位、服务描述、服务依赖等信息进行描述,并生成JSON格式的模板文件。
数据模板模块用于根据标准化的数据模板规范对多种类型的数据资源构建数据模板。根据数据资源类型通过可视化编辑生成JSON格式的模板文件,如DFS类型的数据模板内容包括数据存储路径、数据存储大小限制等;MYSQL类型的数据模板内容包括数据库的地址、数据库名称、端口等连接配置。
镜像模板模块用于构建标准的Dockerfile镜像模板文件,首先将软件实体上传至服务器,然后通过自定义编辑指令的方式生成镜像模板,并对模板内容进行测试验证,保证镜像模板的可用性,以支撑后续基于镜像模板来构建软件镜像。
(2)模板依赖关联
软件模板创建完成后,依据服务之间、服务与数据之间的依赖关系建立模板间的关联。这种关联关系可用于软件的编排,以支撑后续软件的运行验证及软件包的生成。
(二)软件构建模块
所述软件构建模块是对软件进行镜像构建,即将软件实体及其依赖的数据资源、服务资源和配置资源等封装为可在各类环境下部署运行的镜像软件,包括镜像构建、资源绑定、软件封装三部分。软件构建模块实施流程图如图5所示,具体实施步骤如下:
(1)镜像构建
镜像构建包括远程模式、本地模式、自定义模式三种方式。远程模式是选择已制作完成的符合规范的软件镜像远程上传至服务器;本地模式即加载服务器本地软件镜像,此模式可有效解决由于网络带宽限制导致镜像上传较慢的问题,对于体积较大的镜像,可提前上传至服务器,使用本地模式实现快速加载;自定义模式即通过自定义Dockerfile镜像模板来构建软件镜像。在制作软件镜像时,可根据软件状态选择相符合的模式进行软件镜像的构建,并对软件镜像信息可视化,根据业务需求可实时更新软件镜像信息并保存。
(2)资源绑定
镜像构建完成后,根据模板之间的关联关系中服务与数据之间的依赖关系,进行软件镜像与服务资源、数据资源的绑定,并实现模板内容的可视化,根据业务需求对软件信息进行实时更新。
(3)软件封装
软件依赖资源绑定完成后,将软件镜像、服务资源、数据资源进行封装和压缩,形成统一格式的软件并集中管理,提供软件详细信息的可视化展示,以及软件导出功能。
(三)模拟验证模块
所述模拟验证模块提供离线的软件模拟运行环境,在软件上线前,对软件部署、软件运行等过程进行模拟验证,确保软件可以正常启动运行,包括软件依赖模拟验证、软件部署模拟验证和软件连通性模拟验证。模拟验证模块实施流程图如图6所示,具体实施步骤如下:
(1)软件依赖验证
软件依赖验证是对软件的依赖服务资源、依赖数据资源、软件配置进行模拟验证。依据三种模板信息及模板依赖关系,验证软件依赖的服务资源是否存在,验证软件依赖的数据资源是否存在以及数据连接配置信息是否正确,验证软件配置是否可正确加载。
(2)软件部署验证
软件部署验证模块,提供简化的资源关联功能。通过将软件和本地模拟的各类服务资源、数据资源、计算资源、配置资源编排组装,根据业务需求调整部署参数配置,如CPU、内存资源等,并对软件与其依赖软件实例进行自动绑定,模拟软件在真实环境中部署方案生成过程。
(3)软件连通性验证
软件连通性验证是通过对软件的连通性进行测试,确保软件可正常启动运行,并对软件实例运行时进行管理与控制,包括容器的基本信息、运行状态、服务日志、容器环境变量、容器的启停等。软件模拟验证完成后,可导出生成的软件用于真实环境下的部署运行。
本发明还提出一种面向容器服务的软件生成方法,基于上述系统生成面向容器服务的软件。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法生成面向容器服务的软件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法生成面向容器服务的软件。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种面向容器服务的软件生成系统,其特征在于,包括:
模板管理模块,用于基于统一格式的模板文件,包括服务模板、数据模板和镜像模板,对容器服务所依赖的服务资源、数据资源以及软件镜像资源进行规范化描述,并依据服务之间、服务与数据之间的依赖关系建立模板间的关联关系;
软件构建模块,用于根据业务需求,选择相应的镜像模板及软件运行环境、配置资源构建软件镜像,依据服务与数据之间的依赖关系将软件镜像与服务资源、数据资源绑定,并对服务模板、数据模板、软件镜像进行封装和压缩,生成统一格式的软件包;
模拟验证模块,用于提供离线的软件模拟运行环境,在软件上线前对软件依赖资源绑定、软件部署、软件运行这些过程进行模拟验证,软件模拟验证完成后,将生成的软件包导出用于真实环境下的部署运行。
2.根据权利要求1所述的面向容器服务的软件生成系统,其特征在于,所述模板管理模块包括服务模板管理子模块、数据模板管理子模块、镜像模板管理子模块三部分,其中:
服务模板管理子模块用于根据统一的服务模板规范,对服务名称、开发单位、服务描述、服务依赖这些信息进行描述,生成JSON格式的模板文件,并进行服务模板管理;
数据模板管理子模块用于根据统一的数据模板规范,对数据资源的连接配置、存储路径这些信息进行描述,生成JSON格式的模板文件,并对数据资源模板进行统一管理;
镜像模板管理子模块用于为容器化软件服务构建Dockerfile镜像模板文件,通过自定义编辑指令的方式指明软件实体,设置软件运行环境和配置参数,生成用于构建镜像的镜像模板,并在镜像模板生成过程中,对模板内容进行测试验证,保证镜像模板的可用性,以支撑后续软件镜像的构建。
3.根据权利要求1所述的面向容器服务的软件生成系统,其特征在于,所述软件构建模块包括镜像构建子模块、资源绑定子模块、软件封装子模块三部分,其中:
镜像构建子模块用于软件镜像的构建,包括远程模式、本地模式和自定义模式三种方式,所述远程模式即将已制作完成的符合规范的镜像远程上传至服务器,所述本地模式即加载服务器本地镜像,所述自定义模式即使用自定义镜像模板来构建镜像,将软件实体、软件运行环境、配置资源通过镜像模板构建为一个软件镜像;
资源绑定子模块用于依据服务与数据之间的依赖关系,进行软件镜像与服务资源、数据资源的绑定,建立软件依赖模型;
软件封装子模块用于对软件镜像及绑定的服务模板、数据模板进行封装和压缩,形成统一格式的软件,并提供软件详细信息的可视化展示,以及软件导出功能。
4.根据权利要求1所述的面向容器服务的软件生成系统,其特征在于,所述模拟验证模块包括软件依赖验证子模块、软件部署验证子模块、软件连通性验证子模块三部分,其中:
软件依赖验证子模块用于依赖服务资源模拟验证、依赖数据资源模拟验证和软件配置模拟验证,所述依赖服务资源模拟验证,通过将依赖服务资源注册到模拟验证环境中,模拟软件对依赖服务资源的使用方式,验证依赖服务资源的正确性;所述依赖数据资源模拟验证,通过将软件依赖的数据注册到模拟验证环境中,模拟软件对数据资源的使用方式,验证依赖数据资源的正确性;所述软件配置模拟验证,通过将软件配置注册到模拟验证环境中,验证软件配置是否可正确加载;
软件部署验证子模块用于提供资源关联功能,将软件和本地模拟的各类服务资源、数据资源、计算资源、配置资源编排组装,根据业务需求调整部署参数配置,并根据服务之间的依赖关系将软件与其依赖的软件实例进行自动绑定,模拟软件在真实环境中部署方案生成过程,其中服务资源包括服务与服务之间的依赖关系及调用关系;数据资源是数据库及存储数据;计算资源包括主机节点资源信息以及服务分配的CPU、内存这些资源信息;配置资源包括服务的配置参数、测试脚本;
软件连通性验证子模块用于软件的连通性测试与软件运行管控,所述软件的连通性测试用于确保软件能够正常启动运行,所述软件运行管控用于软件实例运行时的管理与控制,包括软件的运行状态、软件实例的启停、软件详细信息的可视化展示。
5.一种面向容器服务的软件生成方法,其特征在于,基于权利要求1-4任一项所述的系统生成面向容器服务的软件,具体包括如下步骤:
步骤1,模板管理
基于统一格式的模板文件,包括服务模板、数据模板和镜像模板,对容器服务所依赖的服务资源、数据资源以及软件镜像资源进行规范化描述,并依据服务之间、服务与数据之间的依赖关系建立模板间的关联关系;
步骤2,软件构建
根据业务需求,选择相应的镜像模板及软件运行环境、配置资源构建软件镜像,依据服务与数据之间的依赖关系将软件镜像与服务资源、数据资源绑定,并对服务模板、数据模板、软件镜像进行封装和压缩,生成统一格式的软件包;
步骤3,模拟验证
在软件上线前对软件依赖资源绑定、软件部署、软件运行这些过程进行模拟验证,软件模拟验证完成后,将生成的软件包导出用于真实环境下的部署运行。
6.根据权利要求5所述的面向容器服务的软件生成方法,其特征在于,所述模板管理包括服务模板管理、数据模板管理、镜像模板管理三部分,其中:
服务模板管理根据统一的服务模板规范,对服务名称、开发单位、服务描述、服务依赖这些信息进行描述,生成JSON格式的模板文件,并进行服务模板管理;
数据模板管理根据统一的数据模板规范,对数据资源的连接配置、存储路径这些信息进行描述,生成JSON格式的模板文件,并对数据资源模板进行统一管理;
镜像模板管理为容器化软件服务构建Dockerfile镜像模板文件,通过自定义编辑指令的方式指明软件实体,设置软件运行环境和配置参数,生成用于构建镜像的镜像模板,并在镜像模板生成过程中,对模板内容进行测试验证,保证镜像模板的可用性,以支撑后续软件镜像的构建。
7.根据权利要求5所述的面向容器服务的软件生成方法,其特征在于,所述软件构建包括镜像构建、资源绑定、软件封装三部分,其中:
镜像构建用于软件镜像的构建,包括远程模式、本地模式和自定义模式三种方式,所述远程模式即将已制作完成的符合规范的镜像远程上传至服务器,所述本地模式即加载服务器本地镜像,所述自定义模式即使用自定义镜像模板来构建镜像,将软件实体、软件运行环境、配置资源通过镜像模板构建为一个软件镜像;
资源绑定子依据服务与数据之间的依赖关系,进行软件镜像与服务资源、数据资源的绑定,建立软件依赖模型;
软件封装子对软件镜像及绑定的服务模板、数据模板进行封装和压缩,形成统一格式的软件,并提供软件详细信息的可视化展示,以及软件导出功能。
8.根据权利要求5所述的面向容器服务的软件生成方法,其特征在于,所述模拟验证包括软件依赖验证、软件部署验证、软件连通性验证三部分,其中:
软件依赖验证用于依赖服务资源模拟验证、依赖数据资源模拟验证和软件配置模拟验证,所述依赖服务资源模拟验证,通过将依赖服务资源注册到模拟验证环境中,模拟软件对依赖服务资源的使用方式,验证依赖服务资源的正确性;所述依赖数据资源模拟验证,通过将软件依赖的数据注册到模拟验证环境中,模拟软件对数据资源的使用方式,验证依赖数据资源的正确性;所述软件配置模拟验证,通过将软件配置注册到模拟验证环境中,验证软件配置是否可正确加载;
软件部署验证用于资源关联,将软件和本地模拟的各类服务资源、数据资源、计算资源、配置资源编排组装,根据业务需求调整部署参数配置,并根据服务之间的依赖关系将软件与其依赖的软件实例进行自动绑定,模拟软件在真实环境中部署方案生成过程,其中服务资源包括服务与服务之间的依赖关系及调用关系;数据资源是数据库及存储数据;计算资源包括主机节点资源信息以及服务分配的CPU、内存这些资源信息;配置资源包括服务的配置参数、测试脚本;
软件连通性验证用于软件的连通性测试与软件运行管控,所述软件的连通性测试用于确保软件能够正常启动运行,所述软件运行管控用于软件实例运行时的管理与控制,包括软件的运行状态、软件实例的启停、软件详细信息的可视化展示。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求5-8任一项所述的方法生成面向容器服务的软件。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5-8任一项所述的方法生成面向容器服务的软件。
CN202011430229.0A 2020-12-09 2020-12-09 一种面向容器服务的软件生成系统及方法 Active CN112558930B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011430229.0A CN112558930B (zh) 2020-12-09 2020-12-09 一种面向容器服务的软件生成系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011430229.0A CN112558930B (zh) 2020-12-09 2020-12-09 一种面向容器服务的软件生成系统及方法

Publications (2)

Publication Number Publication Date
CN112558930A true CN112558930A (zh) 2021-03-26
CN112558930B CN112558930B (zh) 2022-02-08

Family

ID=75059961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011430229.0A Active CN112558930B (zh) 2020-12-09 2020-12-09 一种面向容器服务的软件生成系统及方法

Country Status (1)

Country Link
CN (1) CN112558930B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835705A (zh) * 2021-09-29 2021-12-24 北京金山云网络技术有限公司 大数据服务产品开发方法、装置及系统
CN114356344A (zh) * 2021-12-23 2022-04-15 马上消费金融股份有限公司 应用部署方法、装置、电子设备及存储介质
CN113835705B (zh) * 2021-09-29 2024-05-31 北京金山云网络技术有限公司 大数据服务产品开发方法、装置及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603592A (zh) * 2015-10-15 2017-04-26 中国电信股份有限公司 一种用于基于服务模型的应用集群迁移的方法和迁移装置
CN107248986A (zh) * 2017-06-08 2017-10-13 医惠科技有限公司 一种服务托管方法
CN107734065A (zh) * 2017-11-16 2018-02-23 山东浪潮云服务信息科技有限公司 一种基于容器的物联网IaaS服务实现方法
CN108038051A (zh) * 2017-11-03 2018-05-15 深圳市牛鼎丰科技有限公司 微服务的发布方法、装置、计算机设备和存储介质
CN110058863A (zh) * 2019-03-16 2019-07-26 平安城市建设科技(深圳)有限公司 Docker容器的构建方法、装置、设备及存储介质
CN110727440A (zh) * 2019-10-08 2020-01-24 中国电子科技集团公司第二十八研究所 一种软件封装方法
US10579342B1 (en) * 2016-12-30 2020-03-03 EMC IP Holding Company LLC Encapsulated application templates for containerized application software development
CN111552542A (zh) * 2020-05-06 2020-08-18 山东汇贸电子口岸有限公司 一种自动化构建虚机镜像的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603592A (zh) * 2015-10-15 2017-04-26 中国电信股份有限公司 一种用于基于服务模型的应用集群迁移的方法和迁移装置
US10579342B1 (en) * 2016-12-30 2020-03-03 EMC IP Holding Company LLC Encapsulated application templates for containerized application software development
CN107248986A (zh) * 2017-06-08 2017-10-13 医惠科技有限公司 一种服务托管方法
CN108038051A (zh) * 2017-11-03 2018-05-15 深圳市牛鼎丰科技有限公司 微服务的发布方法、装置、计算机设备和存储介质
CN107734065A (zh) * 2017-11-16 2018-02-23 山东浪潮云服务信息科技有限公司 一种基于容器的物联网IaaS服务实现方法
CN110058863A (zh) * 2019-03-16 2019-07-26 平安城市建设科技(深圳)有限公司 Docker容器的构建方法、装置、设备及存储介质
CN110727440A (zh) * 2019-10-08 2020-01-24 中国电子科技集团公司第二十八研究所 一种软件封装方法
CN111552542A (zh) * 2020-05-06 2020-08-18 山东汇贸电子口岸有限公司 一种自动化构建虚机镜像的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王帅 等: "基于容器的复杂系统仿真应用自动封装技术", 《系统仿真学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835705A (zh) * 2021-09-29 2021-12-24 北京金山云网络技术有限公司 大数据服务产品开发方法、装置及系统
CN113835705B (zh) * 2021-09-29 2024-05-31 北京金山云网络技术有限公司 大数据服务产品开发方法、装置及系统
CN114356344A (zh) * 2021-12-23 2022-04-15 马上消费金融股份有限公司 应用部署方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112558930B (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN109933522B (zh) 一种自动化用例的测试方法、测试系统及存储介质
CN108964968B (zh) 一种容器云环境下的服务接入管理方法和系统
CN108631854B (zh) 用于测试卫星有效载荷转发器的设计的装置及方法
CN109302522A (zh) 测试方法、装置以及计算机系统和介质
Imadali et al. Cloud native 5g virtual network functions: Design principles and use cases
CN111309734B (zh) 自动生成表数据的方法及系统
CN111556158A (zh) 物联网平台的接入方法、接入装置、接入设备及存储介质
CN114880249B (zh) 航天测控综合测试软件框架系统及运行方法
CN113127361B (zh) 应用程序的开发方法、装置、电子设备和存储介质
CN111651219A (zh) 一种多模块项目配置文件管理的方法及设备
CN114527996A (zh) 一种多服务的部署方法、装置、电子设备及存储介质
CN112558930B (zh) 一种面向容器服务的软件生成系统及方法
CN116860266A (zh) 应用容器化部署方法、装置、电子设备及存储介质
CN114912897A (zh) 工作流执行方法、工作流编排方法及电子设备
CN113448678A (zh) 应用信息生成方法、部署方法及装置、系统、存储介质
CN117041111A (zh) 车云功能测试方法、装置、电子设备及存储介质
CN115037587A (zh) 网络设备配置自动发放方法、装置、设备及存储介质
CN111274750B (zh) 一种基于可视化建模的fpga仿真验证系统和方法
CN114066398A (zh) 业务模型的管理方法、装置、存储介质和终端设备
CN114116481A (zh) 基于Kubernetes系统的人工智能算法模型的测试方法和系统
CN115373696B (zh) 软件资源生成的低代码配置方法、系统、设备及存储介质
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质
CN112564979A (zh) 构建任务的执行方法、装置、计算机设备和存储介质
CN112463289A (zh) 一种基于虚拟机实现应用服务的方法、系统、设备及介质
CN111752554A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215000 No.158 Dushuhu Avenue, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant after: Suzhou Aerospace Information Research Institute

Address before: 215000 No.158 Dushuhu Avenue, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Applicant before: SUZHOU Research Institute INSTITUTE OF ELECTRONICS CHINESE ACADEMY OF SCIENCES

GR01 Patent grant
GR01 Patent grant