掌桥专利:专业的专利平台
掌桥专利
首页

产品的交付方法及装置、计算机存储介质

文献发布时间:2023-06-19 11:45:49


产品的交付方法及装置、计算机存储介质

技术领域

本申请涉及软件产品交付技术领域,特别涉及一种产品的交付方法及装置、计算机存储介质。

背景技术

软件产品的交付落地主要就是将开发好的软件产品,结合应用场景和项目配置的需求,发布在服务器等设备上,以通过软件产品提供相应的功能。

在现有技术中,主要由交付人员根据实际的需求,选择性的对相应的服务器的资源进行配置操作以及选择性的在相应的服务器中部署需要的中间件,然后将待交付产品发布到服务器上,或者由交付人员根据实际的需求,直接将待交付产品发布到服务器上。

但是,由于通常需要交付的软件产品为多个,并且每个软件产品的技术实现、交付方式等可能各不相同。因此容易出现操作错误,所以对交付人员有较高的专业素养要求。并且,对于相同的多个软件产品可能需要在多个不同的应用场景下选择性地进行交付。例如,政务中台产品包括有统一认证平台、电子印章平台、统一物流平台以及用户中心等,不同的机构中根据业务需求,选择上述的多个政务中台产品进行交付。但是,不同的应用场景下的交付需求和交付人员可能不相同。所以交付人员每次都需要人为的对每个软件产品进行交付操作,并且交付人员对于软件产品的交付经验,例如交付过程中的问题、更优的方式等经验,也无法及时地在不同场景下得到很好的利用,从而使得软件产品的交付效率相对较低。

发明内容

基于上述现有技术的不足,本申请实施例提供了一种产品的交付方法及装置、计算机存储介质,以解决现有的产品交付方式效率过低的问题。

为了实现上述目的,本申请提供了以下技术方案:

本申请第一方面提供了一种产品的交付方法,包括:

响应用户根据至少一个待交付产品的交付需求所触发的发布选择指令,确定出所述发布选择指令指定的每个所述待交付产品对应的产品发布脚本以及每个所述待交付产品对应的服务器;其中,所述产品发布脚本为根据多种待交付产品的发布过程预先配置得到;每个所述待交付产品对应的服务器由所述用户指定;

执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作。

可选地,在上述的方法中,所述执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作之前,还包括:

响应用户根据第一目标产品的交付需求所触发的配置选择指令,确定出所述配置选择指令指定的资源配置脚本以及每个所述资源配置脚本对应的服务器;其中,所述第一目标产品包括所述待交付产品中的部分或者全部;所述资源配置脚本为根据多种服务器资源配置过程预先配置得到;每个所述资源配置脚本对应的服务器由所述用户指定;

执行每个所述资源配置脚本,以实现在每个所述资源配置脚本对应的服务器中响应所述资源配置脚本对应的资源配置操作。

可选地,在上述的交付方法中,所述执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作之前,还包括:

响应用户根据第二目标产品的交付需求所触发的中间件选择指令,确定出所述中间件选择指令指定的中间件部署脚本以及每个所述中间件部署脚本对应的服务器;其中,所述第二目标产品包括所述待交付产品中的部分或者全部;所述中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到;每个所述中间件部署脚本对应的服务器由所述用户指定;

执行每个所述中间件部署脚本,以实现在每个所述中间件部署脚本对应的服务器中响应所述中间件部署脚本对应的中间件部署操作。

可选地,在上述的交付方法中,所述执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作之前,还包括:

响应用户根据第三目标产品的交付需求所触发的选择指令,确定出所述选择指令指定的交付脚本以及确定出每个所述交付脚本对应的服务器;其中,所述第三目标产品包括所述待交付产品中的部分或者全部,所述交付脚本至少包括资源配置脚本和中间件部署脚本中的一种;所述资源配置脚本为根据多种服务器资源配置过程预先配置得到;所述中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到;所述资源配置脚本以及所述中间件部署脚本对应的服务器由所述用户指定;

将所有所述交付脚本以及所述产品发布脚本进行编排,得到所述交付脚本以及所述产品发布脚本的执行方式;其中,所述执行方式为串行执行或并行执行;

其中,所述执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作,包括:

基于所述执行方式,分别执行每个目标脚本,以实现在每个目标脚本对应的服务器中响应所述目标脚本对应的交付操作;其中,所述目标脚本包括所述交付脚本以及所述产品发布脚本。

可选地,在上述的交付方法中,所述执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作之后,还包括:

响应用户根据第四目标产品的变更需求所触发的变更选择指令,确定出所述变更选择指令指定的每个变更脚本以及每个所述变更脚本对应的服务器;其中,所述第四目标产品包括所述待交付产品中的部分或者全部,所述变更脚本为根据多个变更管理的过程预先配置得到;每个所述变更脚本对应的服务器由所述用户指定;

执行各个所述变更脚本,以实现在每个所述变更脚本对应的服务器中响应所述变更脚本对应的变更操作。

可选地,在上述的交付方法中,所述执行每个所述待交付产品对应的所述产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作之后,还包括:

根据预设的采集规则采集每个所述待交付产品在运行状态下的多项数据;

分别将采集到的每项数据,利用相应的展示模板展示在展示界面上;

利用预设的报警规则,判断采集到的数据中是否存在满足对应的报警条件的数据;

若判断出采集到的数据中存在满足对应的报警条件的数据,则发送报警信息。

可选地,在上述的交付方法中,所述发送报警信息之后,还包括:

确定采集到的数据中满足对应的报警条件的数据所对应的报警类型,并匹配出所述报警类型对应的应急处理脚本;其中,所述应急处理脚本为根据多个报警类型的应急处理过程预先配置得到;

执行所述应急处理脚本,以实现对发生报警的待交付产品进行所述应急处理脚本对应的处理操作。

可选地,在上述的交付方法中,所述根据预设的采集规则采集所述待交付产品运行过程中的多项数据之后,还包括:

每间隔预设的生成周期,分别利用采集到的数据中的指定类型的数据生成每个所述待交付产品的资源使用报告以及容量预测报告;

将所述资源使用报告以及所述容量预测报告展示在所述展示界面上。

本申请第二方面提供了一种产品的交付装置,包括:

第一响应单元,用于响应用户根据至少一个待交付产品的交付需求所触发的发布选择指令,确定出所述发布选择指令指定的每个所述待交付产品对应的产品发布脚本以及每个所述待交付产品对应的服务器;其中,所述产品发布脚本为根据多种待交付产品的发布过程预先配置得到;每个所述待交付产品对应的服务器由所述用户指定;

第一执行单元,用于执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作。

可选地,在上述的交付装置中,还包括:

第二响应单元,响应用户根据第一目标产品的交付需求所触发的配置选择指令,确定出所述配置选择指令指定的资源配置脚本以及每个所述资源配置脚本对应的服务器;其中,所述第一目标产品包括所述待交付产品中的部分或者全部;所述资源配置脚本为根据多种服务器资源配置过程预先配置得到;每个所述资源配置脚本对应的服务器由所述用户指定;

第二执行单元,用于执行每个所述资源配置脚本,以实现在每个所述资源配置脚本对应的服务器中响应所述资源配置脚本对应的资源配置操作。

可选地,在上述的交付装置中,还包括:

第三响应单元,用于响应用户根据第二目标产品的交付需求所触发的中间件选择指令,确定出所述中间件选择指令指定的中间件部署脚本以及每个所述中间件部署脚本对应的服务器;其中,所述第二目标产品包括所述待交付产品中的部分或者全部;所述中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到;每个所述中间件部署脚本对应的服务器由所述用户指定;

第三执行单元,用于执行每个所述中间件部署脚本,以实现在每个所述中间件部署脚本对应的服务器中响应所述中间件部署脚本对应的中间件部署操作。

可选地,在上述的交付装置中,还包括:

第四响应单元,用于响应用户根据第三目标产品的交付需求所触发的选择指令,确定出所述选择指令指定的交付脚本以及确定出每个所述交付脚本对应的服务器;其中,所述第三目标产品包括所述待交付产品中的部分或者全部,所述交付脚本至少包括资源配置脚本和中间件部署脚本中的一种;所述资源配置脚本为根据多种服务器资源配置过程预先配置得到;所述中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到;所述资源配置脚本以及所述中间件部署脚本对应的服务器由所述用户指定;

编排单元,用于将所有所述交付脚本以及所述产品发布脚本进行编排,得到所述交付脚本以及所述产品发布脚本的执行方式;其中,所述执行方式为串行执行或并行执行;

其中,所述执行每个所述待交付产品对应的产品发布脚本,以实现在每个所述待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作,包括:

第四执行单元,用于基于所述执行方式,分别执行每个目标脚本,以实现在每个目标脚本对应的服务器中响应所述目标脚本对应的交付操作;其中,所述目标脚本包括所述交付脚本以及所述产品发布脚本。

可选地,在上述的交付装置中,还包括:

第五响应单元,用于响应用户根据第四目标产品的变更需求所触发的变更选择指令,确定出所述变更选择指令指定的每个变更脚本以及每个所述变更脚本对应的服务器;其中,所述第四目标产品包括所述待交付产品中的部分或者全部,所述变更脚本为根据多个变更管理的过程预先配置得到;每个所述变更脚本对应的服务器由所述用户指定;

第五执行单元,用于执行各个所述变更脚本,以实现在每个所述变更脚本对应的服务器中响应所述变更脚本对应的变更操作。

可选地,在上述的交付装置中,还包括:

采集单元,用于根据预设的采集规则采集每个所述待交付产品在运行状态下的多项数据;

第一展示单元,用于分别将采集到的每项数据,利用相应的展示模板展示在展示界面上;

判断单元,用于利用预设的报警规则,判断采集到的数据中是否存在满足对应的报警条件的数据;

发送单元,用于在判断单元判断出采集到的数据中存在满足对应的报警条件的数据时,发送报警信息。

可选地,在上述的交付装置中,还包括:

确定单元,用于确定采集到的数据中满足对应的报警条件的数据所对应的报警类型,并匹配出所述报警类型对应的应急处理脚本;其中,所述应急处理脚本为根据多个报警类型的应急处理过程预先配置得到;

第六执行单元,执行所述应急处理脚本,以实现对发生报警的待交付产品进行所述应急处理脚本对应的处理操作。

可选地,在上述的交付装置中,还包括:

生成单元,用于每间隔预设的生成周期,分别利用采集到的数据中的指定类型的数据生成每个所述待交付产品的资源使用报告以及容量预测报告;

第二展示单元,用于将所述资源使用报告以及所述容量预测报告展示在所述展示界面上。

本申请第三方面提供了一种计算机存储介质,用于存储程序,所述程序被执行时,用于实现如上述任意一项所述的产品的交付方法。

本申请实施例提供的产品的交付方法,根据多种待交付产品的发布过程预先配置得到多个产品发布脚本。在交付时,响应用户根据至少一个待交付产品的交付需求所触发的发布选择指令,确定出发布选择指令指定的每个待交付产品的产品发布脚本以及每个待交付产品对应的服务器,然后执行每个待交付产品对应的产品发布脚本,以实现在每个待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作。所以交付人员在交付时,在不同的应用场景下,都只需根据需求选择相应的待交付产品和对应服务器就可以完成交付,并且产品发布脚本可以由专业人员进行配置,从而不仅提高了交付效率,也降低操作失误的概率。并且在交付过程出现问题时,可以及时通过更新产品发布脚本,从而使得交付经验得到及时的复用,也能避免交付过程出现问题,延误产品的交付,从而提高交付效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种交付平台的结构示意图;

图2为本申请另一实施例提供的另一种交付平台的结构示意图;

图3为本申请另一实施例提供的一种产品的交付方法的流程示意图;

图4为本申请另一实施例提供的交付平台实现产品发布的示意图;

图5为本申请另一实施例提供的另一种产品的交付方法的流程示意图;

图6为本申请另一实施例提供的另一种产品的交付方法的流程示意图;

图7为本申请另一实施例提供的另一种产品的交付方法的流程示意图;

图8为本申请另一实施例提供的另一种产品的交付方法的流程示意图;

图9为本申请另一实施例提供的另一种产品的交付方法的流程示意图;

图10为本申请另一实施例提供的交付平台实现监控报警的示意图;

图11为本申请另一实施例提供的交付平台实现应急处理的示意图;

图12为本申请另一实施例提供的另一种产品的交付方法的流程示意图;

图13为本申请另一实施例提供的另一种产品的交付装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本申请实施例提供了一种产品的交付方法,以解决现有的产品交付方式效率过低的问题。

首先需要说明的是,为了实现本申请提供的产品的交付方法,本申请实施例第一方面提供了一个交付平台,以通过该平台实现本申请提供的产品的交付方法。如图1所示,交付平台主要包括:可视化操作模块101、版本管理模块102、以及服务器信息维护模块103。

需要说明的是,本实施例提供的交付平台主要以开源自动化运维产品Ansible作为实现产品交付的底层实现的基础。开源自动化运维产品Ansible通过剧本(Playbook),来描述在远程系统上执行的操作,即通过剧本(Playbook)可实现在远程系统上进行操作。需要说明的是,剧本(Playbook)也是一种脚本,所以也被称为脚本,因此本申请实施例中,提及的脚本在未给额外说明时,所指代的就是开源自动化运维产品Ansible的剧本(Playbook)。

所以,在交付软件产品前,可以在交付平台中预先配置软件产品的发布脚本,以在交付过程中使用。当存在多个待交付产品,且需要在多个不同的应用场景中进行选择交付时,则可由专业的人员提前配置好每个待交付产品对应的发布脚本,以让不同的交付人员或同一交付人员在不同的应用场景中,可直接根据所要交付产品,选择相应的发布脚本进行产品的发布,从而有效地提供的产品交付的效率,也降低了对交付人员的要求。可选的,在交付平台中还可以预先配置有多个常用软件产品的发布脚本,以便有需求的用户可直接使用,不需要进行发布脚本的配置。

由于在软件产品的交付过程中,大部分时候需要先对相应的服务器进行资源的配置以及中间件的部署,才将软件产品发布到服务器上。例如,不少软件产品在交付时,都有安装键值数据库Redis的需求,以在后续软件产品运行时进行数据的存储。但为了部署这个中间件,并且更好的使用该中间件,通常还需要对服务器参数进行调优,所以在交付这些软件产品时,通常需要先对服务器相应的参数进行配置,以及部署键值数据库Redis,然后将软件产品发布到服务器上。所以,本实施例提供的交付平台中,还可以预先根据在产品交付过程中经常需要进行的服务资源配置的配置过程,配置有多个资源配置脚本,以及预先根据在产品交付过程中经常需要部署的中间件的部署过程,配置有多个中间件部署脚本,以供用户直接选择使用。同样,用户也可根据自身的需求,在交付平台上配置相应的脚本。

具体的,本申请实施例提供的交付平台中,可视化操作模块101包括可视化模块和执行模块。

其中,可视化模块主要为用户提供操作界面,主要让用户通过操作界面进行交付前的准备工作,例如服务器信息的录入,脚本的配置等,以及通过操作界面向用户展示可选择的脚本、服务器的信息等,以供用户选择相应的脚本以及服务器进行交付工作或者后期的变更管理工作。

执行模块,用于响应用户的选择操作以及执行用户所选择的脚本,以在相应的服务器上实现脚本对应的操作。其中,执行模型以开源自动化运维产品Ansible为基础来实现。

版本管理模块102则主要用于各个脚本进行管理。可选地,可采用开源分布式版本控制系统Git作为交付平台的版本管理模块102。服务器信息维护模块103,则用于存储的交付落地的服务器的信息,对服务器信息的维护。其中,服务器信息包括服务器地址、服务器分组、网络、硬件配置等。通过服务器信息维护模块103可对新增、删除、更改服务器信息。可选地,可采用配置管理数据库(Configuration Management Database,CMDB)作为交付平台的服务器信息维护模块103。

可选地,本申请另一实施例中,同样参见图1,交付平台还可以包括:

数据采集模块104、告警通知模块105、应急处理模块106以及容量预测模块107。

其中,数据采集模块104用于采集交付后的软件产品在运行状态下的多项数据。可选地,交付平台还可以包括数据展示模块,用于提供展示界面,以展示数据采集模块104采集到的数据。当然这只是其中一种可选地的方式,也可以不存在数据展示模块,由可视化操作模块101提供操作界面和数据展示界面。其中,所采集的数据的类型可通过可操作界面由用户指定,即用户可设置监控对象。

可选地,可以开源监控系统Prometheus为基础实现数据采集模块104,对于数据展示模块则可以基于可视化监控指标展示工具Grafana来实现。具体利用可视化监控指标展示工具Grafana提供的数据源插件,实现可视化监控指标展示工具Grafana与开源监控系统Prometheus的对接。

告警通知模块105,则基于数据采集模块104采集到的数据,确定是否存在异常,并在采集到的数据中存在符合相应的报警条件的数据时进行报警,并且向外发送报警消息,例如发送报警邮件、或者向社交软件发送报警信息等。可选地,告警通知模块105则可基于开源监控系统Prometheus中的报警模块Alertmanager来实现。所以可以预先定义规则,使得开源监控系统Prometheus可以基于预先定义规则实现与报警模块Alertmanager的对接,以让开源监控系统Prometheus基于预先定义规则将数据发送给报警模块Alertmanager,由报警模块Alertmanager对报警信息进行去重、压制、静默等处理,并且向外发送报警信息。

应急处理模块106,则用于在发生报警时,确定出报警类型并确定出报警类型对应的应急处理脚本,提高给执行模型执行,对报警事件进行应急处理。同样,应急处理脚本也需要预先根据处理多个报警类型的处理过程配置。

容量预测模块107则用于周期性地基于数据采集模型采集到的数据,生成已交付的产品的资源使用报告以及容量预测报告,并由数据展示模块进行展示。

所以可见,本申请实施例中的交付平台,涵盖了产品交付功能和后期产品的监控运维功能,如图2所示,主要包括了产品交付、变更管理、监控报警、应急处理、容量预测五大功能,为用户提供了更加全面的功能。

可选地,本申请实施例提供的交付平台可以基于容器启动的,即可以将开发好的交付平台基于容器技术进行封装,以便在使用时直接基于容器启动,从而快速完成交付平台的自动化部署,从而能提高产品交付的效率,也能降低交付平台的部署难度。

基于上述的交付平台,本申请另一实施例提供了一种产品的交付方法,如图3所示,包括:

S301、响应用户根据至少一个待交付产品的交付需求所触发的发布选择指令,确定出发布选择指令指定的每个待交付产品对应的产品发布脚本以及每个待交付产品对应的服务器。

其中,产品发布脚本为根据多种待交付产品的发布过程预先配置得到。每个待交付产品对应的服务器由用户指定,即待交付产品对应的服务器是用户在选择待交付产品时所相应选择的服务器,两者的对应关系并不是预设的固定关系。但待交付产品与产品发布脚本的对应关系是预设的固定关系。

需要说明的是,产品交付指的将软件产品结合应用场景和项目配置等交付需求,采用合理的方式部署到相应的服务器、网络等设备上,以满足业务系统的功能、性能。安全性等需求。也可以简单的理解为将待交付产品发布到指定的服务器上。

本申请实施例预先根据每个待交付产品的发布过程中所需要执行的操作,配置得到对应的产品发布脚本。所以具体的,如图4所示,版本管理模块将各个发布脚本对应的各个待交付产品的产品名称和版本提供给可视化操作模块展示在操作界面上。CMDB则将服务器标识等服务器信息提供给可视化操作模块进行展示。用户在操作界面上选择需要交付的待交付产品的产品名称和版本,以及选择待交付产品所要发布的服务器。然后,可视化操作模块响应用户触发的发布选择指令,从版本管理模块中确定出用户选择的产品名称及版本对应的待交付产品所对应的发布脚本,也就是说对于不同版本的同一产品,版本管理模块器都存储有相应的发布脚本,因为所要求交付的产品并不一定是最新版的。并且将从CMDB中获取出用户选择的服务器的信息。

可选地,本申请另一实施例中,在执行步骤S302之前,如图5所示,还可以包括:

S501、响应用户根据第一目标产品的交付需求所触发的配置选择指令,确定出配置选择指令指定的资源配置脚本以及每个资源配置脚本对应的服务器。

其中,第一目标产品包括待交付产品中的部分或者全部。资源配置脚本为根据多种服务器资源配置过程预先配置得到。每个资源配置脚本对应的服务器由用户指定,即资源配置脚本对应的服务器是用户在选择资源配置时所相应选择的服务器,所以资源配置脚本与服务器的关系同样不是固定不变。

需要说明的是,对于大部分交付产品来说,在交付时都需要对服务器资源进行相应的配置,以能让待交付产品能正常发布、正常使用或者使用效果更优。例如,为了满足待交付产品对应高并发的需求,就需要对服务器的相应参数进行调优。所以,根据各个待交付产品的需求,先在操作界面上选择所要进行的服务器资源配置操作,以先对服务器进行资源配置。其中,通常是在执行步骤S301前做服务器资源配置,当然也可以是在执行步骤S301后,在执行S302前做服务器资源配置。

具体的,可以在操作界面上为用户展示多个资源配置的名称,并且在名称下面增加对应的注解,以让用户能根据需求准确的选择到相应的资源配置。同样,操作界面上还展示有所有服务器的标识,用户在每选择一个服务器资源配置名称时,在该服务器资源配置名称下需要选择服务器的标识,以确定在哪个服务器执行对应资源配置。同样,在用户选择资源配置名称时,从版本管理模块中确定出资源配置名称对应的资源配置脚本,以及从CMDB中确定出服务器标识对应的服务器。

S502、执行每个资源配置脚本,以实现在每个资源配置脚本对应的服务器中响应资源配置脚本对应的资源配置操作。

具体的,在用户选择确定执行时,可视化操作模块则分别执行所确定出的资源配置脚本,以实现在每个资源配置脚本对应的服务器中响应资源配置脚本对应的资源配置操作,即执行资源配置脚本可以对服务器的资源进行相应的配置。

需要说明的是,用户可以在每选择一个资源配置名称,就选择确定执行一次,也可以是在选择多个资源配置名称后,再选择确定执行。此时,可视化操作模块可以通过多线程分别同时执行多个资源配置脚本,也可以是单线程依次执行每个资源配置脚本。

同样可选地,在本申请另一实施例中,在执行步骤S302之前,如图6所示,还可以包括:

S601、响应用户根据第二目标产品的交付需求所触发的中间件选择指令,确定出中间件选择指令指定的中间件部署脚本以及每个中间件部署脚本对应的服务器。

其中,第二目标产品包括待交付产品中的部分或者全部。中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到。每个中间件部署脚本对应的服务器由用户指定,即中间件部署脚本对应的服务器同样是用户在选择中间件时相应选择的服务器。

需要说明的是,对于大部分交付产品来说,在交付时都需要对在服务器上部署相应的中间件,以能让待交付产品能正常运行或者使用效果更优。例如,大部分待交付产品在运行过程中都会用到文档数据库MongoDB或者键值数据库Redis,所以在发布这些待交付产品时就需要部署这些中间件。所以,可以根据各个待交付产品的需求,先在操作界面上选择所要部署的中间件的名称、版本、以及部署方式,以先对在服务器中部署中间件。

还需要说明的是,通常可以是在执行步骤S301前部署中间件,当然也可以是在执行步骤S301后,在执行S302前部署中间件。由于服务器资源配置与中间部署时可以相互独立的,所以这两者的执行顺序没有特别的限制。

具体的,可以在操作界面上为用户展示多个中间件的名称、版本以及部署方式,同样,操作界面上还展示有所有服务器的标识,用户在每选择一个中间件的名称、版本和版本时,需要选择部署方以及服务器的标识,以确定在哪个服务器上采用哪种部署方式部署中间件。同样,响应用户触发的中间件选择指令,从版本管理模块中确定出与中间件的名称、版本以及部署方式对应的中间件部署脚本,以及从CMDB中确定出服务器标识对应的服务器。

S602、执行每个中间件部署脚本,以实现在每个中间件部署脚本对应的服务器中响应中间件部署脚本对应的中间件部署操作。

具体的,在用户选择确定执行时,可视化操作模块则分别执行所确定出的中间部署脚本,以实现在每个中间部署脚本对应的服务器中响应中间部署脚本对应的中间件部署操作。具体的,中间部署脚本中可包含有对应的中间件的存储地址,所以可以通过中间的存储地址获取中间件并部署到服务器中。

同样,用户可以在每选择一个中间件后,就选择一次确定执行,也可以是在选择多个资源配置名称后,再选择确定执行。此时,可视化操作模块可以通过多线程分别同时执行多个中间件部署脚本,也可以是单线程依次执行每个中间件部署脚本。

S302、执行每个待交付产品对应的产品发布脚本,以实现在每个待交付产品对应的服务器中响应产品发布脚本对应的发布操作。

具体的,在用户选择确定执行时,可视化操作模块则执行所确定出的产品发布脚本,以获取相应的待交付产品的安装包,并按照产品发布脚本对应的发布操作将待交付产品发布到对应的服务器上。

同样,用户可以在每选择一个待交付产品后,就选择一次确定执行,也可以是在选择多个待交付产品后,再选择确定执行。此时,可视化操作模块可以通过多线程分别同时执行多个产品发布脚本,也可以是单线程依次执行每个产品发布脚本。

还需要说明的是,待交付产品对应的服务器、中间件部署的服务器、进行资源配置的服务器可以相同的服务器可能是不同的服务器,特别在分布式系统中不是同一服务器的可能性更大,所以具体由交付需求决定。例如,待交付产品发布的服务器,和数据库通常就不在同一服务器中。

本申请实施例提供的产品的交付方法,根据多种待交付产品的发布过程预先配置得到多个产品发布脚本。在交付时,响应用户根据至少一个待交付产品的交付需求所触发的发布选择指令,确定出发布选择指令指定的每个待交付产品的产品发布脚本以及每个待交付产品对应的服务器,然后执行每个待交付产品对应的产品发布脚本,以实现在每个待交付产品对应的服务器中响应所述产品发布脚本对应的发布操作。所以交付人员在交付时,在不同的应用场景下,都只需根据需求选择相应的待交付产品和对应服务器就可以完成交付,并且产品发布脚本可以由专业人员进行配置,从而不仅提高了交付效率。有效地降低对交付人员的专业素养的要求,也降低操作失误的概率。并且在交付过程出现问题时,可以及时通过更新产品发布脚本,从而使得交付经验得到及时的复用,也能避免交付过程出现问题,延误产品的交付,从而提高交付效率。

本申请另一实施例提供了一种产品的交付方法,如图7所示,包括:

S701、响应用户根据至少一个待交付产品的交付需求所触发的发布选择指令,确定出发布选择指令指定的每个待交付产品对应的产品发布脚本以及每个待交付产品对应的服务器。

其中,产品发布脚本为根据多种待交付产品的发布过程预先配置得到;每个待交付产品对应的服务器由所述用户指定。

需要说明的是,步骤S701的具体实现过程可相应地参考上述方法实施例中的步骤S301,此处不再赘述。

S702、响应用户根据第三目标产品的交付需求所触发的选择指令,确定出选择指令指定的交付脚本以及确定出每个交付脚本对应的服务器,第三目标产品包括待交付产品中的部分或者全部,交付脚本至少包括资源配置脚本和中间件部署脚本中的一种。

其中,资源配置脚本为根据多种服务器资源配置过程预先配置得到。中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到。资源配置脚本以及中间件部署脚本对应的服务器由用户指定。

也就是说,在本申请实施例中,用户在选择待交付产品后,可以继续选择资源配置名称以及要部署的中间件。具体可以是根据每个待交付产品的交付需求,选择所有资源配置名称以及所有部署的每个中间件。服务器资源和部署中间件是是根据待交付产品的需求来选择的,所以用户可能只选择了资源配置和中间件部署中的一个操作,也可能是两个都存在。具体的,在相应用户的选择指令的具体过程可相应的参考上述方式实施例中的步骤S501和步骤S601。

需要说明的是,步骤S702也可以是在步骤S701之前执行,即用户也可以先根据待交付产品的需求,选择资源配置和/或选择要部署的中间件后,再在操作界面上选择待交付产品。

S703、将所有交付脚本以及产品发布脚本进行编排,得到交付脚本以及产品发布脚本的执行方式。

其中,执行方式为串行执行或并行执行。

具体的,执行方式可以响应用户通过操作进行对选择项进行编排所触发的编排指令得到。需要说明的是,并行执行可以是所有脚本都通知并排执行,即一个线程对应执行一个脚本。当然,也可以是每多个脚本相互并排,即通过多个线程执行脚本,但是一个脚本对应多个串行执行的脚本。需要说明的是编排的原则,对于一个待交付产品,其对对应的产品发布脚本需要在其对应的资源配置脚本以及中间件部署脚本之后执行,以保证待交付产品的正常发布。对于不同产品对应的脚本执行的顺序没有特别限制。

S704、基于执行方式,分别执行每个目标脚本,以实现在每个目标脚本对应的服务器中响应目标脚本对应的交付操作,目标脚本包括交付脚本以及产品发布脚本。

也就是,在本申请实施例中,交付平台运行用户在做完所有选择后,再选择确定执行,从而实现一键交付。可以不用资源配置、中间件部署、以及产品发布分别执行。

具体的执行各个脚本的具体工作过程可相应地参考上述方法实施例中的步骤S302、步骤S502、步骤S602,此处不再赘述。

可选地,本申请另一实施例中,在发布待交付产品后,还可以进行变更管理,如图8所示,包括:

S801、响应用户根据第四目标产品的变更需求所触发的变更选择指令,确定出变更选择指令指定的每个变更脚本以及每个变更脚本对应的服务器,第四目标产品包括待交付产品中的部分或者全部。

其中,变更脚本为根据多个变更管理的过程预先配置得到。每个变更脚本对应的服务器由用户指定。

需要说明的是,变更管理指的是对服务器、网络设备的资源配置更改,以及软件产品的升级发布/回滚等方面的管理。所以,变更管理就对服务器资源进行重新配置,或者发布新版本的待交付产品、或者将待交付产品回滚回旧的版本等,这些过程与交付待交付产品时的过程是一致,不同的仅在于脚本的不同。所以步骤S801和S802的具体实施过程可相应的上述方式实施例中,交付过程中的相应步骤,此处不再赘述。

S802、执行各个变更脚本,以实现在每个变更脚本对应的服务器中响应变更脚本对应的变更操作。

可选地,本申请另一实施例中,在发布待交付产品后,如图9所示,还包括:

S901、根据预设的采集规则采集每个待交付产品在运行状态下的多项数据。

具体的,采集规则可由用户通过操作界面上进行配置,具体可以配置各个监测点,从而从各个监测点采集到相应的数据。其中,采集的数据可以包括有待交付产品的数据,以及待交付产品相关联的服务器、中间件的数据。

S902、分别将采集到的每项数据,利用相应的展示模板展示在展示界面上。

S903、利用预设的报警规则,判断采集到的数据中是否存在满足对应的报警条件的数据。

其中,若判断出采集到的数据中存在满足对应的报警条件的数据,则执行步骤S904。

S904、发送报警信息。

发送报警信息可以是通过邮件的方式发送,也可以是向社交软件等软件发送报警信息。

具体的,如图10所示,数据采集模块采集到每个待交付产品在运行状态下的多项数据,然后将数据传输给数据展示模块进行展示,并且将数据传输至告警通知模块,告警通知模块在确定有报警事件发生时,通过告警通知模块中的外部通知模块发送报警信息,从而实现对应整个待交付产品的监控报警。

可选地,在本申请实施例中,在执行步骤S904之后,同样参加图9,还可以包括:

S905、确定采集到的数据中满足对应的报警条件的数据所对应的报警类型,并匹配出报警类型对应的应急处理脚本。

其中,应急处理脚本为根据多个报警类型的应急处理过程预先配置得到。

也就是除了可以通过脚本来实现产品的交付外,还可以通过脚本对一些报警事件进行应急处理。但区别在于,应急处理脚本并不是响应用户的选择确定的,而是在发生报警时自动匹配得到,以能对问题进行及时的应急处理。

S906、执行应急处理脚本,以实现对发生报警的待交付产品进行应急处理脚本对应的处理操作。

具体的如图11所示,告警通知模块在基于数据采集模块获得的数据确定报警后,将满足对应的报警条件的数据发送给应急处理模块,以进行以及处理。当然这只是一种可选地的方式,报警类型也可以由告警通知模块确定,并将报警类型发送给应急处理模块,从而实现应急处理,这都属于本申请的保护范畴。

需要说明的是,步骤S905和步骤S906也可以是在步骤S904之前执行,或者与步骤S904通知执行。

可选地,本申请另一实施例中,在在发布待交付产品后,如图12所示,还可以进一步包括:

S1201、每间隔预设的生成周期,分别利用采集到的数据中的指定类型的数据生成每个待交付产品的资源使用报告以及容量预测报告。

需要说明的是,所利用的数据为数据采集模块最新采集到的数据。待交付产品的资源使用报告主要指的是对于服务器资源的使用率以及中间件的使用情况,例如对应中央处理器CPU以及数据库的使用率。容量预测报告则指的是待交付产品对服务器等资源的在后续一段时间内的使用情况的预测。

S1202、将资源使用报告以及容量预测报告展示在展示界面上。

可选地,可以是在生成资源使用报告以及容量预测报告后自动展示在展示界面上,也可以是在用户查询时才展示给用户,让用户了解待交付产品对资源的使用情况,以确定是否需要做出相应的处理,例如是否需要对数据库进行扩容。

具体的,容量预测模块从数据采集模块获取待交付产品的各项运行数据,并从CMDB获取服务器的信息,并基于运行数据和服务器的信息生成资源使用报告以及容量预测报告。

本申请的另一实施例提供了一种产品的交付装置,如图13所示,包括:

第一响应单元1301,用于响应用户根据至少一个待交付产品的交付需求所触发的发布选择指令,确定出发布选择指令指定的每个待交付产品对应的产品发布脚本以及每个待交付产品对应的服务器。

其中,产品发布脚本为根据多种待交付产品的发布过程预先配置得到。每个待交付产品对应的服务器由用户指定。

第一执行单元1302,用于执行每个待交付产品对应的产品发布脚本,以实现在每个待交付产品对应的服务器中响应产品发布脚本对应的发布操作。

需要说明的是,第一响应单元1301和第一执行单元1302的具体工作过程可相应地参考上述方法实施例中的步骤S301和步骤S302。

可选地,在本申请另一实施例中,还包括:

第二响应单元,响应用户根据第一目标产品的交付需求所触发的配置选择指令,确定出配置选择指令指定的资源配置脚本以及每个资源配置脚本对应的服务器。

其中,第一目标产品包括待交付产品中的部分或者全部;资源配置脚本为根据多种服务器资源配置过程预先配置得到;每个资源配置脚本对应的服务器由用户指定。

第二执行单元,用于执行每个资源配置脚本,以实现在每个资源配置脚本对应的服务器中响应资源配置脚本对应的资源配置操作。

需要说明的是,第二响应单元和第二执行单元的具体工作过程可相应地参考上述方法实施例中的步骤S501和步骤S502。

可选地,在本申请另一实施例中,还包括:

第三响应单元,用于响应用户根据第二目标产品的交付需求所触发的中间件选择指令,确定出中间件选择指令指定的中间件部署脚本以及每个中间件部署脚本对应的服务器。

其中,第二目标产品包括待交付产品中的部分或者全部。中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到。每个中间件部署脚本对应的服务器由用户指定。

第三执行单元,用于执行每个中间件部署脚本,以实现在每个中间件部署脚本对应的服务器中响应中间件部署脚本对应的中间件部署操作。

需要说明的是,第三响应单元和第三执行单元的具体工作过程可相应地参考上述方法实施例中的步骤S601和步骤S602。

可选地,在本申请另一实施例中,还包括:

第四响应单元,用于响应用户根据第三目标产品的交付需求所触发的选择指令,确定出选择指令指定的交付脚本以及确定出每个交付脚本对应的服务器。

其中,第三目标产品包括待交付产品中的部分或者全部,交付脚本至少包括资源配置脚本和中间件部署脚本中的一种;资源配置脚本为根据多种服务器资源配置过程预先配置得到。中间件部署脚本为根据多种类型、多种版本以及多种部署方式的中间件的部署过程预先配置得到。资源配置脚本以及中间件部署脚本对应的服务器由用户指定。

编排单元,用于将所有交付脚本以及产品发布脚本进行编排,得到交付脚本以及产品发布脚本的执行方式。

其中,执行方式为串行执行或并行执行。

其中,执行每个待交付产品对应的产品发布脚本,以实现在每个待交付产品对应的服务器中响应产品发布脚本对应的发布操作,包括:

第四执行单元,用于基于执行方式,分别执行每个目标脚本,以实现在每个目标脚本对应的服务器中响应目标脚本对应的交付操作。

其中,目标脚本包括交付脚本以及产品发布脚本。

需要说明的是,上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S701~步骤S702。

可选地,在本申请的另一实施例中,还包括:

第五响应单元,用于响应用户根据第四目标产品的变更需求所触发的变更选择指令,确定出变更选择指令指定的每个变更脚本以及每个变更脚本对应的服务器。

其中,第四目标产品包括待交付产品中的部分或者全部,变更脚本为根据多个变更管理的过程预先配置得到。每个变更脚本对应的服务器由用户指定。

第五执行单元,用于执行各个变更脚本,以实现在每个变更脚本对应的服务器中响应变更脚本对应的变更操作。

需要说明的是,第五响应单元和第五执行单元的具体工作过程可相应地参考上述方法实施例中的步骤S801和步骤S802。

可选地,在本申请另一实施例中,还包括:

采集单元,用于根据预设的采集规则采集每个待交付产品在运行状态下的多项数据。

第一展示单元,用于分别将采集到的每项数据,利用相应的展示模板展示在展示界面上。

判断单元,用于利用预设的报警规则,判断采集到的数据中是否存在满足对应的报警条件的数据。

发送单元,用于在判断单元判断出采集到的数据中存在满足对应的报警条件的数据时,发送报警信息。

需要说明的是,上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S901~步骤S902。

可选地,在本申请另一实施例中,还包括:

确定单元,用于确定采集到的数据中满足对应的报警条件的数据所对应的报警类型,并匹配出报警类型对应的应急处理脚本。

其中,应急处理脚本为根据多个报警类型的应急处理过程预先配置得到。

第六执行单元,执行应急处理脚本,以实现对发生报警的待交付产品进行应急处理脚本对应的处理操作。

需要说明的是,确定单元和第六执行单元的具体工作过程可相应地参考上述方法实施例中的步骤S905和步骤S906。

可选地,在本申请另一实施例中,还包括:

生成单元,用于每间隔预设的生成周期,分别利用采集到的数据中的指定类型的数据生成每个待交付产品的资源使用报告以及容量预测报告。

第二展示单元,用于将资源使用报告以及容量预测报告展示在展示界面上。

需要说明的是,生成单元和第二展示单元的具体工作过程可相应地参考上述方法实施例中的步骤S1201和步骤S1202。

本申请第三方面提供了一种计算机存储介质,用于存储程序,程序被执行时,用于实现如上述任意一个实施例中的产品的交付方法。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 产品交付计划呈现系统、产品交付计划呈现装置、控制方法、程序以及计算机可读取的记录介质
  • 产品的交付方法及装置、计算机存储介质
技术分类

06120113047970