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

应用程序安装方法、装置及电子设备

文献发布时间:2023-06-19 11:22:42


应用程序安装方法、装置及电子设备

技术领域

本申请涉及应用程序技术,尤其涉及一种应用程序安装方法、装置及电子设备,属于应用程序安装技术领域。

背景技术

随着时代的发展,现代企业在大面积实行信息化发展,企业的财务管理、人员管理、供应链管理、仓储管理以及项目管理等业务,都在各类企业系统和软件中进行。

为了实现更加复杂、高效的企业系统,开发人员在开发企业系统时,会用到不同的专业应用程序来支持企业系统的部分功能。例如,某企业成本系统中包括数据经营分析的功能,这个功能需要在运行环境中安装数据台服务(一种应用程序)进行数据清洗和统计监控。为了真实模拟用户在使用企业系统时的环境,开发人员也需要在持续集成环境中安装和管理相关应用程序。

现有技术中,开发人员只能自行手动安装相关应用程序,以建立符合用户使用场景的持续集成环境,但是,在手动安装的过程中,开发人员需要自己寻找对应的应用程序的安装包并手动安装,费时费力,并且多个开发人员可能安装的应用程序版本不同,在持续集成时会造成不相容的问题。

发明内容

有鉴于此,本申请提供了一种应用程序安装方法、装置及电子设备,用于解决开发人员在建立用户使用环境而自行安装应用程序时,费时费力,容易出错的问题。

为了实现上述目的,第一方面,本申请实施例提供一种应用程序安装方法,包括:

根据用户的第一输入操作确定待安装的第一应用程序;

根据预先维护的第一应用程序的安装包安装第一应用程序;

将第一应用程序的安装地址写入持续集成环境站点的配置文件中;

将持续集成环境站点的站点地址和数据库地址写入第一应用程序的配置文件中。

可选的,根据预先维护的第一应用程序的安装包安装第一应用程序,包括:

获取第一应用程序的安装包;

将第一应用程序的安装包进行解压,得到解压文件;

为第一应用程序分配对应的运行服务器;

在运行服务器中,根据解压文件安装第一应用程序。

可选的,获取第一应用程序的安装包,包括:

根据第一输入操作中的第一应用程序的名称和版本号,确定预先维护的第一应用程序的安装包的存储地址;

根据存储地址获取安装包。

可选的,为第一应用程序分配对应的运行服务器,包括:

根据第一应用程序适用的运行环境,从服务器资源中为第一应用程序分配对应的运行服务器。

可选的,根据解压文件安装第一应用程序,包括:

拉取第一应用程序适用的基础服务镜像到运行服务器;

根据基础服务镜像,为第一应用程序创建对应的容器;

在容器中,根据解压文件安装第一应用程序。

可选的,根据预先维护的第一应用程序的安装包安装第一应用程序,包括:

根据预先维护的第一应用程序的安装包和预设的安装动作安装第一应用程序,安装动作是针对第一应用程序预先设定的。

可选的,该方法还包括:

根据用户的第二输入操作确定已安装的第二应用程序的安装地址;

将第二应用程序的安装地址写入持续集成环境站点的配置文件中。

第二方面,本申请实施例提供一种应用程序安装装置,其特征在于,包括:

确定模块,用于根据用户的第一输入操作确定待安装的第一应用程序;

安装模块,用于根据预先维护的所述第一应用程序的安装包安装第一应用程序;

同步模块,用于将所述第一应用程序的安装地址写入持续集成环境站点的配置文件中,以及将所述持续集成环境站点的站点地址和数据库地址写入所述第一应用程序的配置文件中。

可选的,安装模块具体用于:

获取第一应用程序的安装包;

将第一应用程序的安装包进行解压,得到解压文件;

为第一应用程序分配对应的运行服务器;

在运行服务器中,根据解压文件安装第一应用程序。

可选的,安装模块具体用于:

根据第一输入操作中的第一应用程序的名称和版本号,确定预先维护的第一应用程序的安装包的存储地址;

根据存储地址获取安装包。

可选的,安装模块具体用于:

根据第一应用程序适用的运行环境,从服务器资源中为第一应用程序分配对应的运行服务器。

可选的,安装模块具体用于:

拉取第一应用程序适用的基础服务镜像到运行服务器;

根据基础服务镜像,为第一应用程序创建对应的容器;

在容器中,根据解压文件安装第一应用程序。

可选的,安装模块具体用于:

根据预先维护的第一应用程序的安装包和预设的安装动作安装第一应用程序,安装动作是针对第一应用程序预先设定的。

可选的,确定模块,还用于根据用户的第二输入操作确定已安装的第二应用程序的安装地址;

同步模块,还用于将第二应用程序的安装地址写入持续集成环境站点的配置文件中。

第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。

本申请实施例提供的一种应用程序安装方法、装置及电子设备,服务器可以根据用户的第一输入操作确定待安装的第一应用程序,然后根据预先维护的第一应用程序的安装包安装第一应用程序,再将第一应用程序的安装地址写入持续集成环境站点的配置文件中,将持续集成环境站点的站点地址和数据库地址写入第一应用程序的配置文件中。本申请中用户只需选择自己需要安装的第一应用程序即可,后续的安装工作全部可以由服务器根据预先维护的安装包完成,省去了用户自行寻找安装包,并手动安装的工作,因而可以节省用户的工作时间,并且每个用户使用的安装包都由服务器统一维护,因而可以避免在持续集成时会造成不相容的问题。

附图说明

图1为本申请实施例提供的应用程序安装方法的流程示意图;

图2为本申请实施例提供的安装包安装方法的流程示意图;

图3为本申请实施例提供的另一种应用程序安装方法的流程示意图;

图4为本申请实施例提供的应用程序安装装置的结构示意图;

图5为本申请实施例提供的电子设备的结构示意图。

具体实施方式

在进行大型系统软件开发时,例如开发某种企业资源计划(Enterprise ResourcePlanning,ERP)系统时,开发工作会分配给多个开发人员,每个开发人员负责开发ERP系统的某一部分。为了提高工作效率,目前的开发人员都会采用持续集成的方式进行开发,其中,持续集成是指开发团队内的多个开发人员频繁的将自己的工作成果集成到主干程序中进行自动化构建,因此,针对每个开发人员(以下简称“用户”),都会在本地终端中使用持续集成相关的软件或网页应用进行开发工作,并通过这些软件或网页应用将自己开发的部分代码发送至服务器进行自动化构建,从而尽早的发现错误,其中,本地终端可以是计算机或笔记本电脑等。大型系统软件具有复杂丰富的功能,而这些功能通常需要多种基础的配套服务进行支持,配套服务也即是某种应用软件,所以用户需要在具有这些应用软件的持续集成环境中进行开发。

但是,现有技术中,用户只能自行手动安装相关应用程序,以建立符合用户使用场景的持续集成环境,在手动安装的过程中,用户需要自己寻找应用程序对应的安装包进行安装,费时费力,并且多个用户可能安装的应用程序版本不同,在持续集成时会造成不相容的问题。

为了解决用户在建立使用环境而自行安装应用程序时,费时费力,容易出错的问题,本申请提供了一种应用程序安装方法,可以通过统一的安装和管理,规范用户需要使用的应用程序安装包,减少用户自行安装的工作量,并统一应用软件的版本,减少持续集成时的问题。

本申请实施例提供的应用程序安装方法可以应用于服务器、服务器组或计算中心等电子设备,本申请实施例对电子设备的具体类型不作任何限制。

下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

本申请提供的应用程序安装方法可以包括系统安装模式和自定义安装模式,其中,系统安装模式包括标准系统安装模式和非标准系统安装模式。标准系统安装模式是指按照系统设定的标准安装动作进行安装,该模式可适用大部分的应用程序;非标准系统安装模式是指按照系统设定的标准安装动作和针对不同应用程序预先定义的安装动作进行安装,该模式仅针对部分特殊的应用程序;自定义安装模式是指将用户自行安装的应用程序进行同步,该模式下,用户可以自行安装应用程序。

需要说明的是,本申请实施例中所使用的持续集成工具为詹金斯Jenkins,在具体实现时,也可以使用其他持续集成工具,例如,巡航控制CruiseControl和哈得孙Hudson等,本申请对此不作限定。

图1为本申请实施例提供的应用程序安装方法的流程示意图,如图1所示,该方法包括如下步骤:

S110、根据用户的第一输入操作确定待安装的第一应用程序。

在系统安装模式下,用户可以在本地终端的持续集成软件或网页应用中进行第一输入操作,第一输入操作可以包括输入第一应用程序的名称、版本号和服务类型等,其中,服务类型可以包括工作流服务、文档服务、报表服务、集成平台服务和缓存服务等。本地终端可以将第一输入操作中的信息发送至服务器,服务器可以根据用户的第一输入操作确定待安装的第一应用程序。

S120、根据预先维护的第一应用程序的安装包安装第一应用程序。

当用户自行寻找应用程序的安装包时,不仅费事费力,还可能找到安装文件不全、隐藏病毒文件的盗版安装包。为了提高用户安装应用程序的效率和可靠性,服务器的维护人员可以预先对用户可能在开发过程中用到的所有应用程序的安装包进行维护。维护的方式可以包括将应用程序官方发布的安装包预先保存在服务器中,或者将应用程序服务商提供的安装包下载地址预先保存在服务器中。服务器在确定好待安装的第一应用程序后,可以直接根据预先保存在服务器中的安装包进行安装,或者根据预先保存在服务器中的下载地址下载安装包,再根据下载好的安装包进行安装。

通过服务器的维护人员统一维护安装包,无需用户自行寻找安装包,可以提高用户安装应用程序的效率和可靠性,同时,安装过程也由服务器负责可以进一步减少用户的工作。

图2为本申请实施例提供的安装包安装方法的流程示意图,如图2所示,具体的安装方法可以分为以下几个步骤:

S121、获取第一应用程序的安装包。

由于第一应用程序的安装包是预先维护过的,因此,服务器可以准确快速的获取第一应用程序的安装包。

具体的,服务器可以根据第一输入操作中的第一应用程序的名称和版本号,确定预先维护的第一应用程序的安装包的存储地址,若预先维护的方式是将第一应用程序的安装包预先存储在服务器中,则存储地址为服务器地址;若预先维护的方式是将第一应用程序安装包的下载地址预先保存在服务器中,则存储地址为该下载地址。然后,服务器可以根据确定的存储地址获取安装包,当存储地址为服务器地址时,可以根据该服务器地址复制安装包;当存储地址为下载地址时,可以通过下载地址下载对应的安装包。

S122、将第一应用程序的安装包进行解压,得到解压文件。

在获取到第一应用程序的安装包后,服务器可以将第一应用程序的安装包进行解压,得到解压文件。若第一应用程序的安装包无需解压,也可以跳过该步骤,直接进行步骤S123。

S123、为第一应用程序分配对应的运行服务器。

不同的应用程序适用不同的运行环境,例如,提供工作流服务的应用程序主要适用Windows环境,提供缓存服务的应用程序主要适用Linux环境。服务器可以根据第一应用程序适用的运行环境,从服务器资源中为第一应用程序分配对应的运行服务器。通过分配运行服务器,服务器可以得到运行服务器的服务器地址和端口号。

S124、在运行服务器中,根据解压文件安装第一应用程序。

服务器可以直接在运行服务器中,根据解压文件安装第一应用程序,也可以采用容器技术安装第一应用程序。

具体的,在开发工作中,用户经常会遇到开发好的代码或程序在最后部署到实际系统后无法运行的问题,该问题主要由开发时的环境和部署时的环境不同导致。为了解决该问题,本申请的方案采用容器技术安装第一应用程序。首先,服务器可以拉取第一应用程序适用的基础服务镜像到运行服务器,若服务器存储有该基础服务镜像,则服务器可以直接从存储地址复制该基础服务镜像;若服务器存储有该基础服务镜像的下载地址,则服务器可以根据该下载地址下载该基础服务镜像。在获取基础服务器镜像后,服务器可以执行“容器运行(docker Run)”指令,根据基础服务镜像为第一应用程序创建对应的容器,然后在容器中,根据解压文件安装第一应用程序。

S130、将第一应用程序的安装地址写入持续集成环境站点的配置文件中。

持续集成环境站点的配置文件中描述了持续集成环境站点运行所需要的相关信息。在成功安装第一应用程序后,服务器可以将第一应用程序的安装地址、名称、版本号和服务类型等信息写入持续集成环境站点的配置文件中。这样持续集成环境站点在后续运行时可以根据配置文件中的信息找到该第一应用程序,并进行数据交互。

S140、将持续集成环境站点的站点地址和数据库地址写入第一应用程序的配置文件中。

第一应用程序的配置文件中描述了第一应用程序运行所需要的相关信息。服务器还可以将持续集成环境站点的站点地址和数据库地址写入第一应用程序的配置文件中。这样第一应用程序在后续运行时可以根据配置文件中的信息与持续集成环境站点进行数据交互。

另外,部分应用软件在安装文件中还包括结构化查询语言(Structured QueryLanguage,SQL)文件。当安装文件中还包括SQL文件时,服务器还可以在持续集成环境的数据库中执行该SQL文件。

对于某些特殊的第一应用程序,需要在安装过程中执行一些特定的动作,才能完成全部的安装内容。对于这种特殊的第一应用程序,服务器的维护人员可以预先针对该第一应用程序设定对应的安装动作,然后,在用户需要安装该第一应用程序的时候,根据预先维护的第一应用程序的安装包和预设的安装动作安装第一应用程序。

通过提供统一的安装方法可以减少用户的工作量和盗版安装包的问题,但是,部分用户依然存在自行安装的需求,因此,本申请提供的应用程序安装方法还包括自定义安装模式。图3为本申请实施例提供的另一种应用程序安装方法的流程示意图,如图3所示,该方法包括如下步骤:

S210、根据用户的第二输入操作确定已安装的第二应用程序的安装地址。

在用户选择自定义安装模式的情况下,用户可以在本地终端的持续集成软件或网页应用中进行第二输入操作,第二输入操作可以包括输入第二应用程序的名称、版本号、服务类型、和安装地址等。本地终端可以将第二输入操作中的信息发送至服务器,服务器可以根据用户的第二输入操作确定已安装的第二应用程序的安装地址。

S220、将第二应用程序的安装地址写入持续集成环境站点的配置文件中。

由于第二应用程序的主要安装步骤都已经由用户自行完成了,所以,服务器可以直接将第二应用程序的安装地址写入持续集成环境站点的配置文件中。

进一步的,本申请提供的应用程序安装方法,还可以包括卸载、重启和配置同步等功能,用户可以对已安装的应用程序执行不同的功能。在步骤S110之前,用户可以根据实际需求选择需要的功能,在进入相应的功能页面后再进行第一输入操作。例如,用户可以在持续集成软件或网页应用中先选择应用软件管理的选项,软件管理的选项对应的页面中可以提供“安装”、“卸载”、“重启”和“配置同步”的选项。然后用户可以在页面中选择“安装”,选择“安装”的同时还可以选择“系统安装模式”,最后,用户可以在安装页面中进行第一输入操作。

具体的,若用户不需要再使用目标应用程序时可以选择“卸载”的选项,服务器可以根据用户选择的目标应用程序,停止该目标应用程序的容器,再根据该目标应用程序的安装地址进行卸载。若用户需要重新运行目标应用程序时可以选择“重启”的选项,服务器可以根据用户选择的目标应用程序,重启该目标应用程序的容器。若持续集成环境站点进行了重新部署,可能会导致持续集成环境站点的部分信息发生改变,此时用户可以选择“配置同步”的选项,服务器可以再次执行步骤S140将新的信息写入目标应用程序的配置文件中。

在本申请实施例中,服务器可以根据用户的第一输入操作确定待安装的第一应用程序,然后根据预先维护的第一应用程序的安装包安装第一应用程序,再将第一应用程序的安装地址写入持续集成环境站点的配置文件中,将持续集成环境站点的站点地址和数据库地址写入第一应用程序的配置文件中。本申请中用户只需选择自己需要安装的第一应用程序即可,后续的安装工作全部可以由服务器根据预先维护的安装包完成,省去了用户自行寻找安装包,并手动安装的工作,因而可以节省用户的工作时间,并且每个用户使用的安装包都由服务器统一维护,因而可以避免在持续集成时会造成不相容的问题。

基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种应用程序安装装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

图4为本申请实施例提供的应用程序安装装置的结构示意图,如图4所示,本实施例提供的装置包括:

确定模块110,用于根据用户的第一输入操作确定待安装的第一应用程序;

安装模块120,用于根据预先维护的所述第一应用程序的安装包安装第一应用程序;

同步模块130,用于将所述第一应用程序的安装地址写入持续集成环境站点的配置文件中,以及将所述持续集成环境站点的站点地址和数据库地址写入所述第一应用程序的配置文件中。

可选的,安装模块120具体用于:

获取第一应用程序的安装包;

将第一应用程序的安装包进行解压,得到解压文件;

为第一应用程序分配对应的运行服务器;

在运行服务器中,根据解压文件安装第一应用程序。

可选的,安装模块120具体用于:

根据第一输入操作中的第一应用程序的名称和版本号,确定预先维护的第一应用程序的安装包的存储地址;

根据存储地址获取安装包。

可选的,安装模块120具体用于:

根据第一应用程序适用的运行环境,从服务器资源中为第一应用程序分配对应的运行服务器。

可选的,安装模块120具体用于:

拉取第一应用程序适用的基础服务镜像到运行服务器;

根据基础服务镜像,为第一应用程序创建对应的容器;

在容器中,根据解压文件安装第一应用程序。

可选的,安装模块120具体用于:

根据预先维护的第一应用程序的安装包和预设的安装动作安装第一应用程序,安装动作是针对第一应用程序预先设定的。

可选的,确定模块110,还用于根据用户的第二输入操作确定已安装的第二应用程序的安装地址;

同步模块130,还用于将第二应用程序的安装地址写入持续集成环境站点的配置文件中。

本实施例提供的应用程序安装可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

基于同一发明构思,本申请实施例还提供了一种电子设备。图5为本申请实施例提供的电子设备的结构示意图,如图5所示,本实施例提供的电子设备包括:存储器21和处理器20,存储器21用于存储计算机程序;处理器20用于在调用计算机程序22时执行上述方法实施例所述的方法。

本实施例提供的电子设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 一种应用程序安装方法、装置、电子设备及存储介质
  • 应用程序的安装方法、装置、电子设备和存储介质
技术分类

06120112901665