CN115357253A - 一种软件产品部署方法、装置、设备及存储介质 - Google Patents

一种软件产品部署方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115357253A
CN115357253A CN202211033969.XA CN202211033969A CN115357253A CN 115357253 A CN115357253 A CN 115357253A CN 202211033969 A CN202211033969 A CN 202211033969A CN 115357253 A CN115357253 A CN 115357253A
Authority
CN
China
Prior art keywords
component
target component
configuration parameters
software product
target
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
CN202211033969.XA
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.)
Nanjing Zhongfu Information Technology Co Ltd
Original Assignee
Nanjing Zhongfu Information Technology Co Ltd
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 Nanjing Zhongfu Information Technology Co Ltd filed Critical Nanjing Zhongfu Information Technology Co Ltd
Priority to CN202211033969.XA priority Critical patent/CN115357253A/zh
Publication of CN115357253A publication Critical patent/CN115357253A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

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

一种软件产品部署方法、装置、设备及存储介质
技术领域
本发明涉及计算机软件技术领域,具体而言,涉及一种软件产品部署方法、装置、设备及存储介质。
背景技术
企业软件产品最终交付一般包括部署、运行、维护、监控等环节,在实际环境下,产品交付普遍面临复杂的软硬件基础设施和产品版本快速迭代的问题,为了提高产品交付效率、缩短交付周期,当前一般采用以下技术方案:1)专项脚本:针对每一项任务编写专项脚本(比如:参数配置、安装初始化、启停、升级、卸载等),由现场实施人员手工或半自动化执行,过程中参数输入与状态确认多采用命令行人机交互方式;2)配置管理工具:采用Chef、Puppet、Saltstack、Ansible等工具,按管理工具要求进行脚本开发和任务编排,来实现产品的大规模、分布式、统一管理。
但现有技术方案在实现时仍以手工实现为主,自动化程度不高,没有形成统一化、标准化的产品部署方法。
发明内容
本发明的目的在于,针对上述现有技术中的不足,本申请提供了一种软件产品部署方法、装置、设备及存储介质,以解决现有技术中软件产品自动化程度不高等问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种软件产品部署方法,所述方法包括:
获取待部署软件产品所包含的目标组件的配置参数;
根据所述目标组件的配置参数,创建所述目标组件的运维任务;
调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品。
可选地,所述获取待部署软件产品所包含的目标组件的配置参数,包括:
从组件信息模板中定义的多个组件中,确定所述目标组件;
从所述目标组件的组件参数模板中定义的多组配置参数,确定所述目标组件的配置参数。
可选地,所述从组件信息模板中定义的多个组件中,确定所述目标组件,包括:
采用可视化界面显示所述组件信息模板中定义的所述多个组件的基础信息;
响应输入的所述多个组件的第一选择操作,将所述第一选择操作所选中的组件确定为所述目标组件。
可选地,所述从所述目标组件的组件参数模板中定义的多组配置参数,确定所述目标组件的配置参数,包括:
采用可视化界面显示所述组件参数模板中的所述目标组件的多组配置参数;
响应输入的所述多组配置参数的第二选择操作,将所述第二选择操作所选中的一组配置参数确定为所述目标组件的配置参数。
可选地,所述根据所述目标组件的配置参数,创建所述目标组件的运维任务,包括:
根据所述目标组件的配置参数,采用所述目标组件的组件动作模板,确定所述目标组件对应的运维动作;
根据所述运维动作,创建所述运维任务。
可选地,所述根据所述运维动作,创建所述目标组件的运维任务,包括:
采用所述目标组件的动作步骤模板,确定所述运维动作所包含的原子动作,以及原子动作之间的执行顺序;
根据所述原子动作,以及所述原子动作之间的执行顺序,创建所述运维任务;
所述调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品,包括:
根据所述原子动作之间的执行顺序,依次调用所述原子动作的动作执行插件,执行所述原子动作。
可选地,所述调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品之前,所述方法还包括:
若所述目标组件包括多个,则采用预设的组件依赖模板,确定多个目标组件的依赖关系;
所述调用所述运维任务对应的动作执行插件,执行所述运维任务,包括:
根据所述多个目标组件的依赖关系,依次调用所述多个目标组件的运维任务对应的动作执行插件,以部署所述待部署软件产品。
第二方面,本申请实施例提供一种软件产品部署装置,所述装置包括:
获取模块,用于获取待部署软件产品所包含的目标组件的配置参数;
创建模块,用于根据所述目标组件的配置参数,创建所述目标组件的运维任务;
执行模块,用于调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储介质,所述处理器与所述存储介质之间通过总线通信连接,所述存储介质存储有所述处理器可执行的程序指令,所述处理器调用存储介质中存储的程序,以执行如第一方面任一所述的软件产品部署方法的步骤。
第四方面,本申请实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面1至7任一所述的软件产品部署方法的步骤。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供一种软件产品部署方法、装置、设备及存储介质,该方法通过获取待部署软件产品所包含的目标组件的配置参数;根据目标组件的配置参数,创建目标组件的运维任务;调用运维任务对应的动作执行插件,执行运维任务,以部署待部署软件产品。从而,通过采用配置参数创建运维任务,使得任务创建更加精准,并引入插件,实现了插件代码重用及功能扩展,自动化程度高,提升了软件产品部署过程的标准化、统一化。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种软件产品概念图;
图2为本申请实施例提供的一种软件产品部署方法的流程示意图;
图3为本申请实施例提供的一种获取目标组件的配置参数的方法的流程示意图;
图4为本申请实施例提供的一种组件信息模板的示意图;
图5为本申请实施例提供的一种组件参数模板的示意图;
图6为本申请实施例提供的一种确定目标组件的方法的流程示意图;
图7为本申请实施例提供的一种采用组件参数模板确定目标组件的配置参数的方法的流程示意图;
图8为本申请实施例提供的一种创建目标组件的运维任务的方法的流程示意图;
图9为本申请实施例提供的一种组件动作模板的示意图;
图10为本申请实施例提供的一种基于原子动作部署软件产品的方法的流程示意图;
图11为本申请实施例提供的一种动作步骤模板的示意图;
图12为本申请实施例提供的一种基于依赖关系部署软件产品的方法的流程示意图;
图13为本申请实施例提供的一种组件依赖模板的示意图;
图14为本申请实施例提供的软件产品部署总体流程图;
图15为本申请实施例提供的软件产品部署装置;
图16为本申请实施例提供的一种电子设备的示意图。
图标:1501-获取模块、1502-创建模块、1503-执行模块、1601-处理器、1602-存储介质。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
为提升产品部署的统一化、标准化,本申请提供了一种软件产品部署方法、装置、设备及存储介质。
在对本申请提供的一种软件产品部署方法、装置、设备及存储介质解释之前,先对软件产品进行解释。图1为本申请实施例提供的一种软件产品概念图。如图1所示,软件产品是由多个组件组成的组合体,共同实现产品完整的业务功能。组件为可以独立发布和部署的软件,一个组件可以包含多个模块,包括基础技术组件(存储、计算等技术组件,如:关系数据库、分布式存储、分布式计算引擎等)和业务组件(如:用户行为分析引擎、运维监控告警引擎、产品业务组件本身等)。模块:对组件按功能进行划分,分别进行独立开发与打包得到的具体功能模块;功能模块一般以系统服务方式单独运行,但不能单独进行安装;一个模块可以包含多个服务,如:网络前端模块、后端服务模块。服务:指在操作系统上实际运行的系统后台服务进程。配置参数为组件安装、运行的参数,在本申请中,获取到配置参数,也会获取到配置参数的信息。
如下先通过具体示例对本申请提供的一种软件产品部署方法进行解释说明。图2为本申请实施例提供的一种软件产品部署方法的流程示意图,该方法的执行主体为电子设备,该电子设备可以是具有计算处理功能的台式电脑、笔记本电脑等,在此不作限制。如图2所示,该方法包括:
S101、获取待部署软件产品所包含的目标组件的配置参数。
在实际的软件产品交付现场,根据待部署软件产品可以确定待部署软件产品所包含的目标组件。确定目标组件之后,可根据目标组件获取待部署软件产品所包含的目标组件的配置参数。
S102、根据目标组件的配置参数,创建目标组件的运维任务。
调用作业调度管理系统的服务接口,根据目标组件的配置参数中的参数内容生成对应的作业内容,生成实际的作业,即为目标组件的运维任务。例如,组件安装、启停、升级、卸载等运维任务。其中,服务接口为对外HTTP(Hyper Text Transfer Protocol,超文本传输协议)API(Application Programming Interface,应用程序编程接口)接口,可提供任务创建、作业运行控制(如:触发、重做等)、日志查询等功能。
S103、调用运维任务对应的动作执行插件,执行运维任务,以部署待部署软件产品。
运维任务确定之后,根据运维任务中的动作,可确定运维任务对应的动作执行插件。具体地,调用运维任务对应的动作执行插件,可采用调用作业调度管理系统的服务接口,运行运维任务对应的动作执行插件,执行运维任务(例如,组件安装、启停、升级、卸载等操作),以部署待部署软件产品。
在本申请中,预设有公共插件库,可从公共插件库中调用运维任务对应的动作执行插件。公共插件库包括多个预开发好的插件,每个插件包括对应的插件代码、插件信息和插件参数信息。可实现插件代码重用及功能扩展,避免了额外开发脚本等情况。示例地,插件信息和插件参数信息采用Excel方式进行设置。
综上,在本实施例中,获取待部署软件产品所包含的目标组件的配置参数;根据目标组件的配置参数,创建目标组件的运维任务;调用运维任务对应的动作执行插件,执行运维任务,以部署待部署软件产品。从而,通过采用配置参数创建运维任务,使得任务创建更加精准,并引入插件,实现了插件代码重用及功能扩展,自动化程度高,提升了软件产品部署过程的标准化、统一化。
在上述图2对应的实施例的基础上,本申请实施例还提供了一种获取目标组件的配置参数的方法。图3为本申请实施例提供的一种获取目标组件的配置参数的方法的流程示意图,如图3所示,S101中的获取待部署软件产品所包含的目标组件的配置参数,包括:
S201、从组件信息模板中定义的多个组件中,确定目标组件。
在组件信息模板预定义有多个组件,其中,包括每个组件的基本信息,示例地,可采用Excel表格定义组件的基本信息。组件的基本信息包括:组件代码、组件名称、组件版本等。组件名称、组件版本可唯一确定一个组件。具体地,可根据待部署软件产品确定所需的组件名称、组件版本,再根据所需的组件名称、组件版本从组件信息模板中定义的多个组件中,确定目标组件。
示例地,图4为本申请实施例提供的一种组件信息模板的示意图。如图4所示,A组件1的组件信息包括:A组件名称、A组件版本1、A组件1代码;A组件2的组件信息包括:A组件名称、A组件版本2、A组件2代码;B组件的组件信息包括:B组件名称、B组件版本、B组件代码;C组件的组件信息包括:C组件名称、C组件版本、C组件代码。由于A组件1和A组件2的组件信息可知,同一组件的版本不同,对应的组件代码也不同,A组件1和A组件2会成为两个不同的组件。
S202、从目标组件的组件参数模板中定义的多组配置参数,确定目标组件的配置参数。
组件参数模板中预定义有多组配置参数,示例地,可采用Excel表格定义配置参数。例如,图5为本申请实施例提供的一种组件参数模板的示意图,如图5所示,多组配置参数包括:安装模式(如:单机模式、集群模式等)、参数英文名、参数中文名、参数类别(如:基本参数、高级参数等)、取值类型(如:文本输入框、单选列表、多选列表、密码输入框等)、字典码、是否必填项、默认值、校验表达式(如:取值数量限制、取值范围等)、备注等。丰富的配置参数项有助于提高生成运维任务的精准度,提高系统易用性及软件产品的部署效率。
具体地,根据目标组件以及待部署软件产品的实际需求,从目标组件的组件参数模板中定义的多组配置参数,确定目标组件的配置参数。例如,参照组件参数模板中定义的多组配置参数,确定目标组件的安装模式、目标组件的参数英文名、目标组件的参数中文名、目标组件的参数类别、目标组件的取值类型、目标组件的字典码、是否必填项、目标组件的默认值、目标组件的校验表达式、备注等。
综上,在本实施例中,从组件信息模板中定义的多个组件中,确定目标组件;从目标组件的组件参数模板中定义的多组配置参数,确定目标组件的配置参数。从而,通过设置组件参数模板确定目标组件的配置参数,配置参数更加全面,有助于提高生成运维任务的精准度,提高系统易用性及软件产品的部署效率。
在上述图3对应的实施例的基础上,本申请实施例还提供了一种确定目标组件的方法。图6为本申请实施例提供的一种确定目标组件的方法的流程示意图。如图6所示,S201中的从组件信息模板中定义的多个组件中,确定目标组件,包括:
S301、采用可视化界面显示组件信息模板中定义的多个组件的基础信息。
组件信息模板中定义有多个组件。在根据从组件信息模板中定义的多个组件中确定目标组件时,可采用可视化界面显示组件信息模板中定义的多个组件,以供现场人员进行选择。
具体地,在可视化界面中显示组件信息模板中定义的多个组件的基础信息。使得现场人员在可视化界面上直观地查看到每个组件的基础信息中的组件代码、组件名称、组件版本等。
S302、响应输入的多个组件的第一选择操作,将第一选择操作所选中的组件确定为目标组件。
现场人员在可视化界面上可以查看到每个组件的基础信息中的组件代码、组件名称、组件版本等。可根据待部署软件产品的实际需求确定所需的组件名称、组件版本,接着在可视化界面上根据所需的组件名称、组件版本从多个组件中进行选择。
具体地,现场人员在可视化界面上输入多个组件的第一选择操作,第一选择操作对应着所需的组件名称、组件版本。响应输入的多个组件的第一选择操作,确定第一选择操作对应的组件名称、组件版本,根据第一选择操作对应的组件名称、组件版本确定对应的组件,将第一选择操作所选中的组件确定为目标组件。
示例地,第一选择操作可以是触屏操作、鼠标点击操作等,此处并不限定。
综上,在本实施例中,采用可视化界面显示组件信息模板中定义的多个组件的基础信息;响应输入的多个组件的第一选择操作,将第一选择操作所选中的组件确定为目标组件。从而,通过可视化界面显示,使得在实际部署过程中,确定目标组件的过程更加直观清晰。
在上述图3对应的实施例的基础上,本申请实施例还提供了一种采用组件参数模板确定目标组件的配置参数的方法。图7为本申请实施例提供的一种采用组件参数模板确定目标组件的配置参数的方法的流程示意图。如图7所示,S202中的从目标组件的组件参数模板中定义的多组配置参数,确定目标组件的配置参数,包括:
S401、采用可视化界面显示组件参数模板中的目标组件的多组配置参数。
组件参数模板中定义有多组配置参数。在从目标组件的组件参数模板中定义的多组配置参数确定目标组件的配置参数时,可采用可视化界面显示组件参数模板中的目标组件的多组配置参数,使得现场人员在可视化界面上直观地查看到目标组件的多组配置参数,以供现场人员进行选择配置。
S402、响应输入的多组配置参数的第二选择操作,将第二选择操作所选中的一组配置参数确定为目标组件的配置参数。
现场人员在可视化界面上可以查看到组件参数模板中的目标组件的多组配置参数。可根据待部署软件产品的实际需求确定所需的配置参数,接着在可视化界面上根据所需的配置参数在多组配置参数中进行选择配置。
具体地,现场人员在可视化界面上输入多组配置参数的第二选择操作,第二选择操作对应着所需的配置参数。响应输入的多组配置参数的第二选择操作,确定第二选择操作对应的配置参数,将第二选择操作对应的配置参数,将第二选择操作所选中的一组配置参数确定为目标组件的配置参数。
例如,现场人员在可视化界面上选择目标组件的安装模式、填写目标组件的参数英文名、填写目标组件的参数中文名、选择目标组件的参数类别、选择目标组件的取值类型、填写目标组件的字典码、选择是否必填项、填写目标组件的默认值、填写目标组件的校验表达式、填写备注等。
示例地,第二选择操作可以是触屏操作、鼠标点击操作、输入操作等,此处并不限定。
综上,在本实施例中,采用可视化界面显示组件参数模板中的目标组件的多组配置参数;响应输入的多组配置参数的第二选择操作,将第二选择操作所选中的一组配置参数确定为目标组件的配置参数。从而,通过可视化界面显示,使得在实际部署过程中,确定目标组件的配置参数的过程更加直观清晰。
在上述图2对应的实施例的基础上,本申请实施例还提供了一种创建目标组件的运维任务的方法。图8为本申请实施例提供的一种创建目标组件的运维任务的方法的流程示意图。如图8所示,S102中的根据目标组件的配置参数,创建目标组件的运维任务,包括:
S501、根据目标组件的配置参数,采用目标组件的组件动作模板,确定目标组件对应的运维动作。
组件动作模板中与预设有多个运维动作,且预设有每个运维动作与配置参数的映射关系,示例地,可采用Excel表格定义运维动作与配置参数的映射关系。即,在组件动作模板中,根据一组配置参数可以确定该组配置参数对应的运维动作。因此,根据目标组件的配置参数,采用目标组件的组件动作模板,可以确定目标组件对应的运维动作。
具体地,图9为本申请实施例提供的一种组件动作模板的示意图。如图9所示,A组件的第一组配置参数可以确定运维动作1;A组件的第二组配置参数可以确定运维动作2;B组件的第一组配置参数可以确定运维动作3;C组件的第一组配置参数可以确定运维动作4。根据运维动作1和运维动作2可知,一个组件中的多组配置参数可以确定多个不同的运维动作。
示例地,运维动作可以为:安装、启动服务、停止服务、升级、卸载等,每个运维动作都对应作业调度管理系统的一个作业。
S502、根据运维动作,创建运维任务。
目标组件对应的运维动作之后,运维动作对应的作业也就确定了。采用作业调度管理系统的服务接口,根据运维动作确定对应的作业,即,创建了运维任务。
综上,在本实施例中,根据目标组件的配置参数,采用目标组件的组件动作模板,确定目标组件对应的运维动作;根据运维动作,创建运维任务。从而,通过配置参数精准地确定了运维动作,进而精准地创建了运维任务。
在上述图8对应的实施例的基础上,本申请实施例还提供了一种基于原子动作部署软件产品的方法。图10为本申请实施例提供的一种基于原子动作部署软件产品的方法的流程示意图。如图10所示,S502中的根据运维动作,创建目标组件的运维任务,包括:
S601、采用目标组件的动作步骤模板,确定运维动作所包含的原子动作,以及原子动作之间的执行顺序。
动作步骤模板中预定义有每个运维动作所包含的多个原子动作,以及每个运维动作中的多个原子动作之间的执行顺序,示例地,可采用Excel表格定义原子动作以及原子动作之间的执行顺序。在运维动作之后,采用目标组件的动作步骤模板,就可以确定运维动作所包含的原子动作,以及原子动作之间的执行顺序。
具体地,图11为本申请实施例提供的一种动作步骤模板的示意图。如图11所示,运维动作1的原子动作以及原子动作之间的执行顺序为:原子动作a→原子动作b→原子动作c;运维动作2的原子动作以及原子动作之间的执行顺序为:原子动作d→原子动作e→原子动作f;运维动作3的原子动作以及原子动作之间的执行顺序为:原子动作a→原子动作g。由运维动作1和运维动作3可知,不同的运维动作可能包含某个相同的原子动作。
S602、根据原子动作,以及原子动作之间的执行顺序,创建运维任务。
确定了目标组件的运维动作包含的多个原子动作,以及多个原子动作之间的执行顺序,即确定了整个运维任务的运行顺序。即,可以根据原子动作,以及原子动作之间的执行顺序,对原子动作进行流程编排,创建运维任务。
进一步地,S103中的调用运维任务对应的动作执行插件,执行运维任务,以部署待部署软件产品,包括:
S603、根据原子动作之间的执行顺序,依次调用原子动作的动作执行插件,执行原子动作。
每个原子动作对应有一个动作执行插件。可在公共插件库中,根据原子动作之间的执行顺序,依次调用原子动作的动作执行插件。基于原子动作之间的执行顺序,依次执行原子动作的动作执行插件,执行原子动作,以部署待部署软件产品。
综上,在本实施例中,采用目标组件的动作步骤模板,确定运维动作所包含的原子动作,以及原子动作之间的执行顺序;根据原子动作,以及原子动作之间的执行顺序,创建运维任务;根据原子动作之间的执行顺序,依次调用原子动作的动作执行插件,执行原子动作。由于原子动作对应的插件可实现代码复用,可扩展性高,使得部署软件产品效率更高。
在上述图2对应的实施例的基础上,本申请实施例还提供了一种基于依赖关系部署软件产品的方法。图12为本申请实施例提供的一种基于依赖关系部署软件产品的方法的流程示意图。如图12所示,在S103中的调用运维任务对应的动作执行插件,执行运维任务,以部署待部署软件产品之前,方法还包括:
S701、若目标组件包括多个,则采用预设的组件依赖模板,确定多个目标组件的依赖关系。
在组件依赖模板中,预设有多个组件之间的依赖关系,示例地,可采用Excel表格定义组件之间的依赖关系。具体地,在组件安装时,根据组件依赖关系可以确定当前组件的一个或多个前置组件的安装信息(如:IP地址、数据库名、服务端口、用户名及口令等配置参数)。并可在安装当前组件时,直接引用当前组件的依赖组件的配置参数,实现了组件之间配置参数自动引用,减少产品安装配置工作量,提高了产品部署效率。
示例地,图13为本申请实施例提供的一种组件依赖模板的示意图。如图13所示,组件A是组件B、组件C的上一个前置组件,组件B、组件C可以直接引用组件A的配置参数。组件B是组件D、组件E的上一个前置组件,组件D、组件E可以直接引用组件B的配置参数。组件C是组件F、组件G、组件H的上一个前置组件,组件F、组件G、组件H可以直接引用组件C的配置参数。
因此,在预设的组件依赖模板,确定多个目标组件的依赖关系。根据多个目标组件以及对应的依赖关系,可更高效地得到多个目标组件的配置参数,以用于创建待部署软件产品对应的运维任务。
进一步地,S103中的调用运维任务对应的动作执行插件,执行运维任务,包括:
S702、根据多个目标组件的依赖关系,依次调用多个目标组件的运维任务对应的动作执行插件,以部署待部署软件产品。
确定了多个目标组件的依赖关系,就可确定运维任务,并确定了待部署软件产品中的组件运行步骤。因此,在运行待部署软件产品对应的运维任务时,可根据多个目标组件的依赖关系,依次调用多个目标组件的运维任务对应的动作执行插件,运行多个目标组件的运维任务对应的动作执行插件,以部署待部署软件产品。以此,通过组件的依赖关系,简化了部署软件产品的设计,并提高了部署效率。
综上,在本实施例中,若目标组件包括多个,则采用预设的组件依赖模板,确定多个目标组件的依赖关系;根据多个目标组件的依赖关系,依次调用多个目标组件的运维任务对应的动作执行插件,以部署待部署软件产品。从而,通过组件的依赖关系,简化了部署软件产品的设计,并提高了部署效率。
在上述图1-图13对应的实施例的基础上,本实施例系统地描述产品部署总体流程。图14为本申请实施例提供的软件产品部署总体流程图,如图14所示,本申请通过引入组件信息模板、组件参数模板、组件动作模板、动作步骤模板、组件依赖模板等多个产品部署模板,使得软件产品部署的过程更加高效。其中,组件信息模板中定义有多个组件及组件的基本信息,组件参数模板定义有多组配置参数,组件动作模板定义有运维动作以及运维动作与配置参数的映射关系,动作步骤模板中定义有原子动作以及原子动作之间的执行顺序,组件依赖模板中定义有组件依赖关系。在产品部署的过程中,可采用可视化界面进行可视化参数配置,采用作业调度管理系统调用产品部署模板创建运维任务,通过在公共插件库中调用运维动作对应的动作执行插件,使得整个系统具有极高的可扩展性。其中,公共插件库包括多个预开发好的插件,每个插件包括对应的插件代码、插件信息和插件参数信息,每个原子动作对应一个插件。示例地,本申请实施例中的产品部署模板、公共插件库中的信息以及配置参数都可采用Excel表格进行定义,易于理解和使用。
下述对用以执行的本申请所提供的软件产品部署装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图15为本申请实施例提供的软件产品部署装置。如图15所示,该装置包括:
获取模块1501,用于获取待部署软件产品所包含的目标组件的配置参数。
创建模块1502,用于根据目标组件的配置参数,创建目标组件的运维任务。
执行模块1503,用于调用运维任务对应的动作执行插件,执行运维任务,以部署待部署软件产品。
进一步地,获取模块1501,具体用于从组件信息模板中定义的多个组件中,确定目标组件;从目标组件的组件参数模板中定义的多组配置参数,确定目标组件的配置参数。
进一步地,获取模块1501,具体还用于采用可视化界面显示组件信息模板中定义的多个组件的基础信息;响应输入的多个组件的第一选择操作,将第一选择操作所选中的组件确定为目标组件。
进一步地,获取模块1501,具体还用于采用可视化界面显示组件参数模板中的目标组件的多组配置参数;响应输入的多组配置参数的第二选择操作,将第二选择操作所选中的一组配置参数确定为目标组件的配置参数。
进一步地,创建模块1502,具体用于根据目标组件的配置参数,采用目标组件的组件动作模板,确定目标组件对应的运维动作;根据运维动作,创建运维任务。
进一步地,创建模块1502,具体还用于采用目标组件的动作步骤模板,确定运维动作所包含的原子动作,以及原子动作之间的执行顺序;根据原子动作,以及原子动作之间的执行顺序,创建运维任务。
进一步地,执行模块1503,具体还用于根据原子动作之间的执行顺序,依次调用原子动作的动作执行插件,执行原子动作。
进一步地,创建模块1502,具体还用于若目标组件包括多个,则采用预设的组件依赖模板,确定多个目标组件的依赖关系。
进一步地,执行模块1503,具体还用于根据多个目标组件的依赖关系,依次调用多个目标组件的运维任务对应的动作执行插件,以部署待部署软件产品。
图16为本申请实施例提供的一种电子设备的示意图,该电子设备可以是具备计算处理功能的设备。
该电子设备包括:处理器1601、存储介质1602。处理器1601和存储介质1602通过总线连接。
存储介质1602用于存储程序,处理器1601调用存储介质1602存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种软件产品部署方法,其特征在于,所述方法包括:
获取待部署软件产品所包含的目标组件的配置参数;
根据所述目标组件的配置参数,创建所述目标组件的运维任务;
调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品。
2.根据权利要求1所述的方法,其特征在于,所述获取待部署软件产品所包含的目标组件的配置参数,包括:
从组件信息模板中定义的多个组件中,确定所述目标组件;
从所述目标组件的组件参数模板中定义的多组配置参数,确定所述目标组件的配置参数。
3.根据权利要求2所述的方法,其特征在于,所述从组件信息模板中定义的多个组件中,确定所述目标组件,包括:
采用可视化界面显示所述组件信息模板中定义的所述多个组件的基础信息;
响应输入的所述多个组件的第一选择操作,将所述第一选择操作所选中的组件确定为所述目标组件。
4.根据权利要求2所述的方法,其特征在于,所述从所述目标组件的组件参数模板中定义的多组配置参数,确定所述目标组件的配置参数,包括:
采用可视化界面显示所述组件参数模板中的所述目标组件的多组配置参数;
响应输入的所述多组配置参数的第二选择操作,将所述第二选择操作所选中的一组配置参数确定为所述目标组件的配置参数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标组件的配置参数,创建所述目标组件的运维任务,包括:
根据所述目标组件的配置参数,采用所述目标组件的组件动作模板,确定所述目标组件对应的运维动作;
根据所述运维动作,创建所述运维任务。
6.根据权利要求5所述的方法,其特征在于,所述根据所述运维动作,创建所述目标组件的运维任务,包括:
采用所述目标组件的动作步骤模板,确定所述运维动作所包含的原子动作,以及原子动作之间的执行顺序;
根据所述原子动作,以及所述原子动作之间的执行顺序,创建所述运维任务;
所述调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品,包括:
根据所述原子动作之间的执行顺序,依次调用所述原子动作的动作执行插件,执行所述原子动作。
7.根据权利要求1所述的方法,其特征在于,所述调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品之前,所述方法还包括:
若所述目标组件包括多个,则采用预设的组件依赖模板,确定多个目标组件的依赖关系;
所述调用所述运维任务对应的动作执行插件,执行所述运维任务,包括:
根据所述多个目标组件的依赖关系,依次调用所述多个目标组件的运维任务对应的动作执行插件,以部署所述待部署软件产品。
8.一种软件产品部署装置,其特征在于,所述装置包括:
获取模块,用于获取待部署软件产品所包含的目标组件的配置参数;
创建模块,用于根据所述目标组件的配置参数,创建所述目标组件的运维任务;
执行模块,用于调用所述运维任务对应的动作执行插件,执行所述运维任务,以部署所述待部署软件产品。
9.一种电子设备,其特征在于,包括:处理器、存储介质,所述处理器与所述存储介质之间通过总线通信连接,所述存储介质存储有所述处理器可执行的程序指令,所述处理器调用存储介质中存储的程序,以执行如权利要求1至7任一所述的软件产品部署方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的软件产品部署方法的步骤。
CN202211033969.XA 2022-08-26 2022-08-26 一种软件产品部署方法、装置、设备及存储介质 Pending CN115357253A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211033969.XA CN115357253A (zh) 2022-08-26 2022-08-26 一种软件产品部署方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211033969.XA CN115357253A (zh) 2022-08-26 2022-08-26 一种软件产品部署方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115357253A true CN115357253A (zh) 2022-11-18

Family

ID=84004442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211033969.XA Pending CN115357253A (zh) 2022-08-26 2022-08-26 一种软件产品部署方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115357253A (zh)

Similar Documents

Publication Publication Date Title
US11269660B2 (en) Methods and systems for integrated development environment editor support with a single code base
US8490050B2 (en) Automatic generation of user interfaces
KR102237877B1 (ko) 실시간 협업지원 지능형 소프트웨어 자동 개발 시스템 및 그 방법
US7926024B2 (en) Method and apparatus for managing complex processes
CN112463144A (zh) 分布式存储的命令行服务方法、系统、终端及存储介质
CN101699403A (zh) 一种图形化安装分布式系统的方法
EP2769302B1 (en) Use of dynamic profiles for creating and using a distributed computing environment
CN113760266B (zh) 一种功能模块文件的创建方法、创建装置和电子设备
CN113297064A (zh) 代码覆盖率测试方法、系统、设备及存储介质
CN114217789A (zh) 功能组件拓展方法、装置、设备、存储介质及程序产品
US20220067272A1 (en) Robotic Process Automation Systems and Methods Using A Helper Spreadsheet
US20130307854A1 (en) Method and System for Visualising a System Model
CN112052039A (zh) 一种多项目同步构建的方法、装置及电子设备
CN116774989A (zh) 一种软件构建发布装置的设计和实现方法、系统及终端
CN115469849B (zh) 一种业务处理系统、方法、电子设备和存储介质
CN111488286A (zh) 一种Android模块独立开发的方法及装置
CN115357253A (zh) 一种软件产品部署方法、装置、设备及存储介质
CN112699279B (zh) 组件自动化处理方法、装置、设备和存储介质
CN113220586A (zh) 一种自动化的接口压力测试执行方法、装置和系统
CN113031964A (zh) 一种大数据应用的管理方法、装置、设备及存储介质
JP2010204840A (ja) ユーザインターフェース操作統合システムのカスタマイズ方法及び端末装置並びにコンピュータプログラム及び情報記録媒体
JP7391269B1 (ja) Fa制御プログラム生成支援プログラム、fa制御プログラム生成支援装置、fa制御プログラム生成支援方法
KR20200022254A (ko) 자기 정의 명세서 기반 os 설정 장치 및 방법
US9459605B2 (en) Analyzing hardware of a turbine controller
JP7328922B2 (ja) 設定装置、設定方法、及びプログラム

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