首页> 中国专利> 软件项目应用基础环境部署与三遥的可视化处理方法

软件项目应用基础环境部署与三遥的可视化处理方法

摘要

本申请涉及一种软件项目应用基础环境部署与三遥的可视化处理方法,其中方法包括接收前端界面程序发送的安装请求,对安装请求的参数进行解析,得到请求参数;根据请求参数中的服务类型,请求并执行对应于服务类型的Ansible play脚本文件,得到执行结果数据;对执行结果数据进行数据解析,将解析后的执行结果数据更新到前端界面程序的可视化界面进行可视化展示。本发明与现有技术的区别之处在于:能实现软件项目实施运维的标准化、自动化、远程化,降低实施运维人员的技术要求,减低实施运维成本,提升实施运维工作效率,提升运维管理水平,满足用户对运维工作时效性要求。

著录项

  • 公开/公告号CN112181762A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 城云科技(中国)有限公司;

    申请/专利号CN202011002085.9

  • 申请日2020-09-22

  • 分类号G06F11/30(20060101);G06F11/32(20060101);G06F8/60(20180101);

  • 代理机构32260 无锡市汇诚永信专利代理事务所(普通合伙);

  • 代理人李珍珍

  • 地址 310052 浙江省杭州市滨江区长河街道江南大道588号恒鑫大厦主楼17层、18层

  • 入库时间 2023-06-19 09:26:02

说明书

技术领域

本申请涉及软件应用自动化部署与监控应用领域,特别是涉及一种软件项目应用基础环境部署与三遥的可视化处理方法。

背景技术

软件部署一般包括软件卸载和软件安装。随着信息网络的发展,用户对软件的应用越来越广泛,对软件部署的要求也越来越高。软件自动部署,即由服务端的软件自动化部署工具来完成软件部署,部署过程的每一个步骤都自动化,与手工的方式进行软件卸载和安装相比,可以带来包括效能在内的显著的好处。

相关技术中软件自动部署通常需要远程登录到服务器上进行安装部署或在某台服务器上执行自动化脚本进行安装部署,如要查看服务器中某应用中间件的状态,还需要远程到对应服务器上去查看。这种模式缺乏统一的可视化操作界面,存在的问题主要有:第一、需要远程登录到对应的服务器上进行操作,并要准备安装包等,工作效率低下;第二、需要通过编写并执行Linux命令来完成相关任务,加大实施运维技术难度;第三、自动化脚本需要根据部署的环境等不同进行个性化修改,缺乏标准化;第四、运维管理人员没有可视化界面能及时掌握各项目应用基础环境的实施部署情况,导致运维管理掌控力不足。

目前针对相关技术中软件自动部署存在的上述问题,尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种软件项目应用基础环境部署与三遥的可视化处理方法,以至少解决相关技术中软件自动部署存通过远程登录到服务器上安装部署存在的工作效率低、运维难度大、缺乏标准化、难以远程监控的问题。

第一方面,本申请实施例提供了一种软件项目应用基础环境部署与三遥的可视化处理方法,所述方法包括:接收前端界面程序发送的服务请求,对服务请求的参数进行解析,得到请求参数;根据请求参数中的服务类型,请求并执行对应于服务类型的Ansibleplay脚本文件,得到执行结果数据;对执行结果数据进行数据解析,将解析后的执行结果数据更新到前端界面程序的可视化界面进行可视化展示。

在其中一些实施例中,接收前端界面程序发送的服务请求,对服务请求的参数进行解析,得到请求参数包括:选择应用基础环境所需的应用中间件及所部署的服务器,向后端服务程序提供服务请求;其中,服务请求至少包括配置参数、服务器信息;对服务请求中的配置参数、服务器信息进行解析,得到请求参数。

在其中一些实施例中,在接收前端界面程序发送的服务请求,对服务请求的参数进行解析,得到请求参数之前,所述方法包括:部署应用基础环境安装可视化的前端界面程序、后端服务程序以及Python服务程序,上传应用基础环境所需的Ansible Playbook脚本文件。

在其中一些实施例中,根据请求参数中的服务类型,请求并执行对应于服务类型的Ansible play脚本文件,得到执行结果数据包括:根据请求参数调用Python服务程序;其中,请求参数包括:请求用户、服务器IP、应用中间件名称、应用中间件主键值、服务类型;根据请求参数中的服务类型请求并执行其对应的Ansible Playbook脚本文件,将执行结果数据返回给后端服务程序。

在其中一些实施例中,前端界面程序的可视化界面包括过程信息栏,将解析后的执行结果数据更新到过程信息栏进行可视化展示;可视化展示的信息至少包括任务执行状态、任务执行结果及任务执行时间。

在其中一些实施例中,将解析后的执行结果数据更新到过程信息栏进行可视化展示之后,所述方法包括:在可视化界面中对已安装的应用中间件进行包括但不限于遥测、遥控、遥调操作;其中,在可视化界面中执行遥测操作,展示已安装的应用中间件的任务执行状态、任务执行结果及任务执行时间,在可视化界面中执行遥控操作,控制已安装的应用中间件的服务的启停;在可视化界面中执行遥调操作,修改并更新已安装的应用中间件的配置参数。

在其中一些实施例中,在根据请求参数调用Python服务程序之前,所述方法包括:建立与前端界面程序的长连接,将请求参数中的至少一个数据值参与组合成关键字对长连接进行标识,其中,关键字由客户端IP以及请求参数中的请求用户、服务器IP、应用中间件名称、应用中间件主键值、服务类型组成。

在其中一些实施例中,将解析后的执行结果数据通过调用长连接返回给前端界面程序;关闭长连接。

在其中一些实施例中,对执行结果数据进行数据解析,将解析后的执行结果数据更新到前端界面程序的可视化界面进行可视化展示还包括:根据解析后的执行结果更新数据库中通过服务请求得到的操作日志状态信息。

第二方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的软件项目应用基础环境部署与三遥的可视化处理方法。

第三方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的软件项目应用基础环境部署与三遥的可视化处理方法。

相比于相关技术,本申请实施例提供的软件项目应用基础环境部署与三遥的可视化处理方法,解决了相关技术中的应用基础环境部署及应用中间件三遥需要登录到对应的服务器上才能进行操作,不能够实现标准化和可视化的问题。通过在可视化界面中进行应用基础环境安装、应用中间件安装和三遥,根据用户的服务请求,调用Python脚本执行请求参数对应的脚本任务,任务执行完成后返回结果数据并在可视化界面中展示,即,让主机以用户的身份执行安装任务,与现有技术中的每次查看和运维服务器中某应用中间件的状态,都需要远程到对应服务器上进行操作相比,实现了软件项目实施运维的标准化、自动化、远程化。通过本发明,可以大大提升软件项目的实施运维效率,降低运维技术难度,使实施运维工作标准化。通过可视化界面能使管理工作更加精细化,提高运维管理效率。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的软件项目应用基础环境部署与三遥的可视化处理方法的流程图;

图2是根据本申请实施例的方法使用的流程图;

图3是根据本申请实施例的电子装置的硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

本实施例提供了软件项目应用基础环境部署与三遥的可视化处理方法,图1是根据本申请实施例的软件项目应用基础环境部署与三遥的可视化处理方法的流程图,如图1所示,该流程包括前端与后端交互,后端与Python服务程序交互,后端与前端交互,具体而言,该方法包括:

步骤101,接收前端界面程序发送的服务请求,对服务请求的参数进行解析,得到请求参数。

在本实施例中,后端服务程序从前端界面程序获取服务请求,即项目实施人员在前端界面程序的可视化界面中提交服务请求给后端服务接口。与现有技术中远程登录到对应的服务器进行操作相比,在前端界面程序进行操作具有可视化的特点。

在其中一些实施例中,接收前端界面程序发送的服务请求,对服务请求的参数进行解析,得到请求参数包括:选择应用基础环境所需的应用中间件及所部署的服务器,向后端服务程序提供服务请求;其中,服务请求至少包括配置参数、服务器信息;对服务请求中的配置参数、服务器信息进行解析,得到请求参数。

在本实施例中,项目实施人员通过在前端界面程序中配置安装信息来部署应用基础环境,将软件项目安装到服务器上,所以服务请求至少包括应用基础环境所需的应用中间件的配置参数以及服务器信息。

在其中一些实施例中,配置参数包括:应用中间件的类型、版本、安装介质、配置文件、配置路径、配置项。

在其中一些实施例中,服务器信息包括:操作系统、网络IP地址、磁盘容量。

在本实施例中,当服务类型为基础环境安装时,至少通过应用中间件的类型、版本、安装介质、配置文件、配置路径、配置项的组合唯一对应将指定应用中间件下载到指定路径的操作。

在其中一些实施例中,在接收前端界面程序发送的服务请求,对服务请求的参数进行解析,得到请求参数之前,所述方法包括:部署应用基础环境安装可视化的前端界面程序、后端服务程序以及Python服务程序,上传应用基础环境所需的Ansible Playbook脚本文件。

在其中一些实施例中,在根据请求参数调用Python服务程序之前,所述方法包括:建立与前端界面程序的长连接,将请求参数中的至少一个数据值参与组合成关键字对长连接进行标识。

在步骤101当中,本方案提供的前端——后端的交互流程具体为:

S1、开始

部署应用基础环境安装可视化的程序包,包括前端界面程序包、后端服务程序包及Python服务程序包,上传应用基础环境所需的Playbook脚本,并启动服务,完成应用环境部署与三遥的可视化程序部署,项目实施人员可以通过浏览器访问应用可视化应用。

S2、维护项目基础信息

项目实施人员访问成应用环境部署与三遥的可视化系统,维护应用基础环境所需的应用中间件,包括应用中间件类型、版本、安装介质、配置文件及路径、配置项等;维护项目基本信息及项目安装部署所依赖的服务器信息,包括服务器的操作系统、网络IP地址、磁盘容量等信息。

S3、基础环境安装选择

项目实施人员在可视化界面中,指定用来安装应用基础环境的服务器及所需安装的应用中间件的版本,填写应用中间件的配置项信息,提交服务请求给后端服务接口,并采用Socket长连接的方式保持前后端通讯。

S4、前端请求处理

后端服务程序接收到前端界面程序的服务请求时,对服务请求的参数进行解析,将数据作为操作日志信息保存到数据库中,并保持与前端界面程序的长连接,将请求用户、服务器IP、应用中间件名称、应用中间件主键值、服务类型组合成关键字对长连接进行标识。

值得一提的是,为了节约服务器的资源,避免前后端始终保持长连接通信带来的算法性能损耗,可以增设前后端的长连接最大保持时间。示例性的,前后端的长连接最大保持5分钟,如果在5分钟内,Python服务程序还没有返回执行结果,则后端服务程序自动将长连接进行关闭。

至此前端——后端的交互流程结束。

步骤102,根据请求参数中的服务类型,请求并执行对应于服务类型的Ansibleplay脚本文件,得到执行结果数据。

在其中一些实施例中,根据请求参数中的服务类型,请求并执行对应于服务类型的Ansible play脚本文件,得到执行结果数据包括:根据请求参数调用Python服务程序;其中,请求参数包括:请求用户、服务器IP、应用中间件名称、应用中间件主键值、服务类型;根据请求参数中的服务类型请求并执行其对应的Ansible Playbook脚本文件,将执行结果数据返回给后端服务程序。具体的,服务类型包括基础环境安装、遥测、遥调、遥控操作等,Python服务程序根据不同的服务类型,执行Playbook任务。

在本实施例中,后端服务程序异步调用使用Python脚本编写的安装服务,执行对应的应用中间件Playbook任务脚本,Playbook任务执行完成得到执行结构数据并返回给后端服务程序。现有技术中通过部署Ansible脚本结合Jenkins实现自动识别系统环境差异化进行模块的部署。本方案通过Ansible Playbook可以让某一主机或某些主机以用户的身份执行相应的操作。具体而言,项目实施人员在前端界面程序中执行S2-S3操作,向后端提供服务请求,后端服务程序根据项目实施人员的服务请求,调用Python脚本执行请求参数对应的脚本任务,得到执行结果并返回给后端服务程序。即软件项目的部署是在接收用户的指令后进行的,本质是以用户的身份执行相应的操作,而不是对预设的模块进行部署。

在步骤102中,后端——Python服务程序——后端的交互流程为:

S5、调用Python服务

后端服务程序根据请求参数调用不同的Python接口服务,并将对应的请求请求参数传入到Python服务程序,完成Python任务的异步调用。

S6、解析服务请求

Python服务程序对后端服务程序的请求参数进行数据解析,确认服务类型是基础环境安装、遥测、遥调或遥控灯任务,并根据不同的服务类型执行其对应的AnsiblePlaybook脚本任务。

S7、执行Playbook任务

Python服务程序读取本次的服务类型所关联的Ansible Playbook脚本文件,并执行。

S8、调用后端服务接口返回结果

Python服务程序执行完Playbook任务后,按接口通讯规约,将执行结果数据返回给后端服务程序。

S9、接收请求并解析返回结果

后端服务程序接收到Python服务程序的调用请求,按照接口通讯规约,对返回结果进行数据解析,同时根据解析结果更新数据库中原始服务请求的操作日志状态信息,即更新步骤S4中的所述数据库中的操作日志信息。

至此后端——Python服务程序——后端的交互流程结束。

步骤103,对执行结果数据进行数据解析,将解析后的执行结果数据更新到前端界面程序的可视化界面进行可视化展示。

在其中一些实施例中,将解析后的执行结果数据通过调用长连接返回给前端界面程序;关闭长连接。即,为了节约服务器的资源,避免前后端始终保持长连接通信带来的算法性能损耗,在每一次任务结束后,后端服务程序关闭对应的长连接。

在其中一些实施例中,前端界面程序的可视化界面包括过程信息栏,将解析后的执行结果数据更新到过程信息栏进行可视化展示;可视化展示的信息至少包括任务执行状态、任务执行结果及任务执行时间。

在本实施例中,操作的过程关键信息在前端界面中的过程信息栏进行可视化展示,项目实施人员能够掌握操作执行的情况。

在其中一些实施例中,在将解析后的执行结果数据更新到过程信息栏进行可视化展示之后,所述方法包括:在可视化界面中对已安装的应用中间件进行包括但不限于遥测、遥控、遥调操作;其中,在可视化界面中执行遥测操作,展示已安装的应用中间件的任务执行状态、任务执行结果及任务执行时间,在可视化界面中执行遥控操作,控制已安装的应用中间件的服务的启停;在可视化界面中执行遥调操作,修改并更新已安装的应用中间件的配置参数。

在步骤103当中,本方案提供的后端——前端交互流程具体为:

S10、结果返回前端界面

后端服务程序根据长连接的标识,调用对应的前后端长连接,将服务请求的结果信息返回给前端界面程序,关闭对应的长连接。

S11、服务请求结果展示

前端界面程序接收到后端服务程序返回的结果,对结果数据进行解析,并将结果信息更新到界面中过程信息栏进行可视化展示,包括任务执行状态、执行结果、执行时间等信息。

至此后端——前端交互流程结束。

此外,还包括S12-S13,具体为:

S12、三遥操作

项目实施运维人员可以在可视化界面中,对项目所有服务器中已安装的应用中间件进行三遥操作,即:遥测、遥控、遥调。具体的业务流程同S4到S11。即,在可视化界面中执行遥测操作,展示已安装的应用中间件的任务执行状态、任务执行结果及任务执行时间,在可视化界面中执行遥控操作,控制已安装的应用中间件的服务的启停;在可视化界面中执行遥调操作,修改并更新已安装的应用中间件的配置参数。

S13、结束

实施运维人员通过可视化界面中进行各种选择操作,就可以完成应用基础环境的安装、遥测、遥控、遥调等操作,操作方便快捷,且实现项目实施运维的自动化。

通过上述步骤101至步骤103,开发应用环境部署和三遥的可视化界面,后端基于Ansible自动化运维工具,通过Python脚本,调用Playbook任务来实现部署和三遥的可视化操作。软件实施人员进入本发明的应用基础环境安装部署可视化界面,选择需要安装的应用中间件及所部署的服务器进行基础环境安装,或选择需要三遥的应用中间件,提交服务请求到后端服务程序,并保持请求长连接。后端服务程序异步调用使用Python脚本编写的安装服务,执行对应的应用中间件Playbook任务脚本。当Playbook任务执行完成后,安装服务程序将执行结果返回给后端服务程序,后端服务程序通过已建立的长连接,将结果信息返回前端界面程序,长连接关闭,前端界面程序刷新界面,完成应用基础环境的自动化部署及三遥。操作的过程关键信息都可在界面中进行可视化展示,实时掌握操作执行的情况。与现有技术相比,本发明实现了软件项目实施运维的标准化、自动化、远程化。具体而言,实施运维人员通过在浏览器界面中进行相应的操作,选择项目、目标服务器、应用中间件,即可完成项目基础环境的安装及应用中间件运行状态的遥测、遥控、遥调等操作任务,即实现了可视化。通过编写各应用中间件的Playbook部署脚本,读取各应用环境的配置与参数,并在可视化界面中操作即可完成应用环境的标准化安装,实现了标准化。通过编写的Python脚本调用Playbook脚本,并在可视化界面中进行接口调用,即可完成基础环境的自动化安装部署,实现了自动化。实施运维人员通过在浏览器界面中进行相应的可视化操作,即可远程完成项目应用基础环境的实施运维工作,实现了远程化。采用本发明的技术方案,通过提供应用环境可视化部署与三遥界面,就能实现软件项目实施运维的标准化、自动化、远程化,降低实施运维人员的技术要求,减低实施运维成本,提升实施运维工作效率,提升运维管理水平,满足用户对运维工作时效性要求。

本实施例还提供了一种电子装置,包括存储器304和处理器302,该存储器304中存储有计算机程序,该处理器302被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

具体地,上述处理器302可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

其中,存储器304可以包括用于数据或指令的大容量存储器304。举例来说而非限制,存储器304可包括硬盘驱动器(HardDiskDrive,简称为HDD)、软盘驱动器、固态驱动器(SolidStateDrive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器304可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器304可在数据处理装置的内部或外部。在特定实施例中,存储器304是非易失性(Non-Volatile)存储器。在特定实施例中,存储器304包括只读存储器(Read-OnlyMemory,简称为ROM)和随机存取存储器(RandomAccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-OnlyMemory,简称为PROM)、可擦除PROM(ErasableProgrammableRead-OnlyMemory,简称为EPROM)、电可擦除PROM(ElectricallyErasableProgrammableRead-OnlyMemory,简称为EEPROM)、电可改写ROM(ElectricallyAlterableRead-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-AccessMemory,简称为SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器304(FastPageModeDynamicRandomAccessMemory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDateOutDynamicRandomAccessMemory,简称为EDODRAM)、同步动态随机存取内存(SynchronousDynamicRandom-AccessMemory,简称SDRAM)等。

存储器304可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器302所执行的可能的计算机程序指令。

处理器302通过读取并执行存储器304中存储的计算机程序指令,以实现上述实施例中的任意一种软件项目应用基础环境部署与三遥的可视化处理方法。

可选地,上述电子装置还可以包括传输设备306以及输入输出设备308,其中,该传输设备306和上述处理器302连接,该输入输出设备308和上述处理器302连接。

可选地,在本实施例中,上述处理器302可以被设置为通过计算机程序执行以下步骤:

S101、接收前端界面程序发送的安装请求,对安装请求的参数进行解析,得到请求参数。

S102、根据请求参数中的服务类型,请求并执行对应于服务类型的Ansible play脚本文件,得到执行结果数据。

S103、对执行结果数据进行数据解析,将解析后的执行结果数据更新到前端界面程序的可视化界面进行可视化展示。

需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

另外,结合上述实施例中的软件项目应用基础环境部署与三遥的可视化处理方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种软件项目应用基础环境部署与三遥的可视化处理方法。

本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号