CN112947951A - 一种软件安装方法及相关设备 - Google Patents

一种软件安装方法及相关设备 Download PDF

Info

Publication number
CN112947951A
CN112947951A CN202110325651.8A CN202110325651A CN112947951A CN 112947951 A CN112947951 A CN 112947951A CN 202110325651 A CN202110325651 A CN 202110325651A CN 112947951 A CN112947951 A CN 112947951A
Authority
CN
China
Prior art keywords
engineering
software
metadata
user side
installation
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
CN202110325651.8A
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.)
Shenzhen Yunzhijia Network Co ltd
Original Assignee
Shenzhen Yunzhijia Network 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 Shenzhen Yunzhijia Network Co ltd filed Critical Shenzhen Yunzhijia Network Co ltd
Priority to CN202110325651.8A priority Critical patent/CN112947951A/zh
Publication of CN112947951A publication Critical patent/CN112947951A/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
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种软件安装方法,应用于用户端;包括:向管理中心发送安装请求,安装请求包括用户端的环境数据,以使得管理中心基于环境数据确定向用户端发送的工程元数据;接收管理中心发送的工程元数据,工程元数据用于描述软件的程序数据的安装过程;获取与工程元数据对应的工程包,工程包包括软件的程序数据;基于工程元数据和工程包安装所述软件。本方案通过获取用户端的环境数据,并基于该环境数据向用户端发送用于描述软件安装过程的工程元数据,用户端基于该工程元数据获取相应的工程包并使用该工程包与工程元数据相互配合,完成软件的安装过程,使得软件安装过程更加简洁方便。

Description

一种软件安装方法及相关设备
技术领域
本申请实施例涉及通信领域,尤其涉及一种软件安装方法及相关设备
背景技术
软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。
随着时代的进步,软件程序向着全能化复杂化的方向逐渐发展,对于一些专业软件而言,其对运行环境、安装步骤以及授权核实都提出了较高的要求,一般而言在这些复杂软件的安装过程中需要运维人员通过使用专业的运维命令行进行软件的设置调整,并参照此类软件的部署文档才能完成,同时对于较为复杂的软件而言,其更新迭代较快,往往不同版本的软件进行的更新过程需要运维人员消耗很大的精力确定当前版本与最新版本之间的区别,以便确定安装策略,造成了一定的不便。
发明内容
本申请提供了一种软件安装方法,用于软件的安装过程,本方案通过用户端的环境数据确定用户所需使用的工程包与工程元数据,并向用户发送相应数据,进而完成软件的安装过程,使得软件安装过程更加简洁方便。
本申请实施例第一方面提供了一种软件安装方法,应用于用户端;包括:
向管理中心发送安装请求,所述安装请求包括用户端的环境数据,以使得所述管理中心基于所述环境数据确定向所述用户端发送的工程元数据;
接收所述管理中心发送的工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
获取与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据;
基于所述工程元数据和所述工程包安装所述软件。
基于本申请实施例第一方面提供的软件安装方法,可选的,所述环境数据包括所述用户端是否安装有所述软件及所述用户端当前安装的所述软件的版本信息。
本申请实施例第二方面提供了一种软件安装方法,应用于管理中心,包括:
接收用户端发送的安装请求,所述安装请求包括用户端的环境数据;
基于所述环境数据确定需要向所述用户端发送的工程元数据并向所述用户端发送所述工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
向所述用户端发送与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据,以使得所述用户端依据所述工程元数据安装所述工程包。
基于本申请实施例第二方面提供的软件安装方法,可选的,所述基于所述环境数据确定向所述用户端发送的工程元数据,包括:
确定所述用户端是否安装有所述软件;若未安装则确定基础版本元数据为向所述用户端发送的工程元数据;
若安装有所述软件,则确定所述环境数据所具有的软件版本与最新软件版本之间的差距所对应的元数据为向所述用户端发送的工程元数据。
基于本申请实施例第二方面提供的软件安装方法,可选的,所述方法还包括:
接收工程包生成请求;
基于所述工程包生成请求确定需要进行打包的程序数据;
使用持续集成持续交付组件对所述程序数据进行打包,获得工程包;
存储所述工程包及与所述工程包对应的元数据。
本申请实施例第三方面提供了一种软件安装设备,应用于用户端,包括:
发送单元,用于向管理中心发送安装请求,所述安装请求包括用户端的环境数据,以使得所述管理中心基于所述环境数据确定向所述用户端发送的工程元数据;
接收单元,用于接收所述管理中心发送的工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
获取单元,用于获取与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据;
安装单元,用于基于所述工程元数据安装所述工程包。
本申请实施例第四方面提供了一种软件安装设备,应用于管理中心,包括:
接收单元,用于接收用户端发送的安装请求,所述安装请求包括用户端的环境数据;
确定单元,用于基于所述环境数据确定向所述用户端发送的工程元数据并向所述用户端发送所述工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
发送单元,用于向所述用户端发送与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据,以使得所述用户端依据所述工程元数据安装所述工程包。
本申请实施例第五方面提供了一种软件安装设备,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述人员计数设备上执行所述存储器中的指令操作以执行本申请实施例第一方面或第二方面中任意一项所述的方法。
本申请实施例第六方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如本申请实施例第一方面或第二方面中任意一项所述的方法。
本申请实施例第七方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请实施例第一方面或第二方面中任意一项所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种软件安装方法,用于软件的安装过程,本方案通过获取用户端的环境数据,并基于该环境数据向用户端发送用于描述软件安装过程的工程元数据,用户端基于该工程元数据获取相应的工程包并使用该工程包与工程元数据相互配合,完成软件的安装过程,通过上述过程使得用户端在软件的安装过程中只需发送相应的环境数据至数据中心即可完成软件的安装过程,使得软件安装过程更加简洁方便。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请软件安装方法实施例的一个流程示意图;
图2为本申请软件安装方法实施例的另一个流程示意图;
图3为本申请软件安装方法实施例的另一个流程示意图;
图4为本申请软件安装设备实施例的另一个结构示意图;
图5为本申请软件安装设备实施例的另一个结构示意图;
图6为本申请软件安装设备实施例的另一个结构示意图;
图7为本申请软件安装设备实施例的另一个结构示意图。
具体实施方式
本申请提供了一种软件安装方法,用于软件的安装过程,本方案通过用户端的环境数据确定用户所需使用的工程包与工程元数据,并向用户发送相应数据,进而完成软件的安装过程,使得软件安装过程更加简洁方便。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
随着时代的进步,软件程序向着全能化复杂化的方向逐渐发展,对于一些专业软件而言,其对运行环境、安装步骤以及授权核实都提出了较高的要求,一般而言在这些复杂软件的安装过程中需要运维人员通过使用专业的运维命令行进行软件的设置调整,并参照此类软件的部署文档才能完成,同时对于较为复杂的软件而言,其更新迭代较快,往往不同版本的软件进行的更新过程需要运维人员消耗很大的精力确定当前版本与最新版本之间的区别,以便确定安装策略,造成了一定的不便。
为解决上述问题,本方案提出一种新的软件安装方法,请参阅图1,本申请软件安装方法的一个实施例包括:步骤101-步骤105。
101、向管理中心发送安装请求。
向管理中心发送安装请求,所述安装请求包括用户端的环境数据,以使得所述管理中心基于所述环境数据确定向所述用户端发送的工程元数据。本申请所提供的安装方法包括适用于用户端及管理中心的两个部分,本实施例以客户端的具体实施过程进行描述。用户端即为用户所使用的设备,可以为个人电脑、移动终端等设备,具体可依据实际情况而定,此处不做限定。在软件的安装过程中首先需要向管理该软件的安装过程的管理中心发送安装请求。
管理中心即为开发人员为管理各个软件的开发过程所设置的数据交互中心,具体的管理中心可管理软件的不同方面的信息,如软件版本、软件安装所需的环境及脚本、以及软件开发过程所所产生的编码、源文件等数据。可以理解的是,管理中心可同时管理多个不同种类的软件,因此管理中心还可存储有软件的归属产品及归属领域等信息,具体可依据实际情况而定,此处不做限定。
用户端向管理中心发送包括环境数据的安装请求。其中环境数据用于描述用户端当前是否安装有该软件,若当前客户端安装有该软件,则还应包括该软件当前的版本信息,可以理解的是,环境信息还应包括与该软件相关联的其他信息,如用户端的操作系统、用户端的插件安装情况等信息,以及请求参数,请求参数用于表示当前用户端所登录的用户账号的授权情况,如用户所购买的某些产品版本以及安装权限等信息。具体可依据实际情况而定,此处不做限定。在发送安装请求时用户端也可预先安装用于管理软件安装过程的管理控制台,管理控制台安装于用户端侧,用于管理软件的安装过程。用户可使用管理控制台选择所需安装的软件,并通过管理控制台向管理中心发送所述安装请求,在管理控制台上用户可以注册授权账号,并用于购买软件产品,完成账号的授权过程以便进行后续的软件安装过程。可以理解的是,管理控制台不仅可为用户提供所需安装的软件选择,还可进一步为用户提供所需安装的软件版本及所需安装的软件某一分支功能或补丁等选择,具体可依据实际情况而定,此处不做限定。
向管理中心发送安装请求后,管理中心基于安装请求中所包括的环境数据确定当前用户端所需使用的工程元数据,并向用户端返回所述工程元数据。
102、接收所述管理中心发送的工程元数据。
用户端接收所述管理中心发送的工程元数据。所述工程元数据用于描述所述软件的程序数据的安装过程。工程元数据即为用户端在软件的安装过程中所需要使用的元数据。在软件的安装过程,可以使用ansible脚本参与执行软件的安装过程,工程元数据即为ansible脚本执行安装过程所需要使用的模型数据(或者可以称为工程属性),工程元数据具体可包括的信息为工程类型、最大、最小内存、安装路径等信息,具体可依据实际情况而定,此处不做限定。管理中心基于环境数据进行分析后,可将与用户端所准确匹配的工程元数据发送至用户端,以便后续安装过程的顺利进行。
103、获取与工程元数据对应的工程包。
用户端获取与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据。具体的,用户端可基于所获取的工程元数据从与管理中心相关联的数据库进行请求,以使得该数据库向用户端返回预先存储的工程包,也可由管理中心在下发工程元数据后再下发相应的工程包,具体可依据实际情况而定,此处不做限定。
可以理解的是,工程包为软件在开发过程中相应生成,每一个工程包都有预期对应的元数据,如某软件由1.5版本升级至1.6版本所对应的工程包、1.6版本升级至1.7版本所对应的工程包。用户端所获取的工程包可不止一个,基于安装请求所包含的信息而定,具体此处不做限定。
104、基于工程元数据和工程包安装软件。
用户端基于所获得的工程元数据和工程包安装软件。具体的,工程包包括用户端所需安装的软件的程序数据,工程元数据用于描述所述软件的程序数据的安装过程,基于工程元数据对程序数据进行安装即可完成对软件的安装过程,可以理解的是,安装过程也可基于用户端所安装的管理控制台进行,通过管理控制台使用工程元数据对程序数据的安装进行反推还原,具体的,可使用ansible脚本根据工程元数据进行工程的部署,部署至用户端服务节点,进而完成整个软件的安装与部署。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种软件安装方法,用于软件的安装过程,本方案通过获取用户端的环境数据,并基于该环境数据向用户端发送用于描述软件安装过程的工程元数据,用户端基于该工程元数据获取相应的工程包并使用该工程包与工程元数据相互配合,完成软件的安装过程,通过上述过程使得用户端在软件的安装过程中只需发送相应的环境数据至数据中心即可完成软件的安装过程,使得软件安装过程更加简洁方便。同时将工程元数据与程序数据分离,在安装过程中更容易工作人员进行把控,具有全局视角,便于后续的扩展以及升级维护过程。
上面对本申请软件安装方法的客户端侧安装过程进行了描述,为便于理解本方案,下面提供本方案在管理中心侧的安装过程,请参照图2,本申请软件安装方法的一个实施例包括:步骤201至步骤203。
201、接收用户端发送的安装请求。
管理中心接收用户端发送的安装请求,所述安装请求包括用户端的环境数据。管理中心即为开发人员为管理各个软件的开发过程所设置的数据交互中心,具体的管理中心可管理软件的不同方面的信息,如软件版本、软件安装所需的环境及脚本、以及软件开发过程所所产生的编码、源文件等数据。可以理解的是,管理中心可同时管理多个不同种类的软件,因此管理中心还可存储有软件的归属产品及归属领域等信息,具体可依据实际情况而定,此处不做限定。
在实际实施过程中,用户端可通过管理控制台向管理中心发起该安装请求。安装请求中除包括用户端的环境数据外还可包括用户端的权限信息,如用户端的身份信息、账号信息等内容,安装请求还可包括请求参数,请求参数用于表示当前用户端所登录的用户账号的授权情况,如用户所购买的某些产品版本以及安装权限等信息。具体可依据实际情况而定,此处不做限定。管理中心可对该安装请求进行鉴权,判断用户端是否具有相应权限,若具有,则执行下一步骤。
202、基于所述环境数据确定需要向所述用户端发送的工程元数据。
基于所述环境数据确定需要向所述用户端发送的工程元数据。管理中心基于所获得的环境数据进行分析,确定需要向所述用户端发送的工程元数据。具体的,环境数据可包括用户端当前是否安装有所述软件的信息,若用户端当前安装有所述软件,则环境数据还可包括用户端当前所具有的软件版本等信息,同时安装请求中还可包括用户所希望安装到的软件版本信息,管理中心可综合进行分析,进而得出用户端所希望安装到的软件版本与当前版本的差距,并基于该差距确定对应的工程元数据,进而向用户端发送所确定出的工程元数据。
工程元数据即为用户端在软件的安装过程中所需要使用的元数据。管理中心基于环境数据进行分析后,可将与用户端当前环境及需求所匹配的工程元数据发送至用户端,以便后续安装过程的顺利进行。
203、向所述用户端发送与所述工程元数据对应的工程包
管理中心向所述用户端发送与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据,以使得所述用户端依据所述工程元数据安装所述工程包。工程包为在软件的开发过程中与工程元数据对应生成,管理中心可在软件的开发过程相应存储用以安装不同软件或用于软件不同版本的更新过程的工程包,以便后续为客户端上的软件安装过程提供支持。管理中心向用户端发送相应的工程包后则用户端可依据工程包中的程序数据以及工程元数据完成软件的安装。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种软件安装方法,用于软件的安装过程,本方案通过获取用户端的环境数据,并基于该环境数据向用户端发送用于描述软件安装过程的工程元数据,用户端基于该工程元数据获取相应的工程包并使用该工程包与工程元数据相互配合,完成软件的安装过程,通过上述过程使得用户端在软件的安装过程中只需发送相应的环境数据至数据中心即可完成软件的安装过程,对于管理中心而言可以基于环境数据确定用户端的实际需求,从而更加准确的为用户端提供软件的安装和生成过程所需使用的数据,使得软件安装过程更加简洁方便。。同时将工程元数据与程序数据分离,在安装过程中更容易工作人员进行把控,具有全局视角,便于后续的扩展以及升级维护过程。提高了软件安装过程的稳定性和可实施性。
基于图1及图2所描述的实施例,下面提供一种本方案在实施过程中可选择执行的详细实施例,请参阅图3,本申请的一个实施例包括:步骤301-步骤308。
301、接收工程包生成请求。
管理中心接收开发人员发送的工程包生成请求。管理中心作为管理软件的服务器侧主体可以具有多种与软件相关的功能,具体而言可包括:产品管理、软件管理、补丁管理、设施管理、脚本管理和配置管理等功能,分别用于在不同维度对软件进行管理,可以理解的是,挂历中心还可具有除上述举例外的其他功能,具体可依据实际情而定,此处不做限定。
管理中心可用于在软件的开发过程进行集成化管理,具体而言,各个开发者可将所开发的程序代码传输至管理中心,由管理中心进行编译、部署及打包等相关工作。管理中心的管理者判断当前所具有的程序数据是否达到了进行工程包生成的要求,即是否完成了某一阶段的工作,若达到则发送工程包生成请求至管理中心,以便管理中心基于该工程包生成请求指令生成相应的工程包文件。
302、基于工程包生成请求确定需要进行打包的程序数据。
管理中心基于工程包生成请求确定需要进行打包的程序数据。管理中心接收到工程包生成请求后首先需要确定需要打包的程序数据包括怎样的范围,具体的工程包生成请求中可包括相应的需要进行打包的程序数据的信息,如需要进行打包的程序数据的工程编码、上传日期等信息,也可将当前所有未进行打包的数据确定为需要进行打包的程序数据,具体可依据实际情况而定,此处不做限定。
303、使用持续集成持续交付组件对所述程序数据进行打包,获得工程包。
管理中心使用持续集成持续交付(CI/CD,Continuous Integration/ContinuousDelivery)组件对程序数据进行打包,获得工程包。持续集成持续交付是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。其中持续集成的重点重点在于将各个开发人员的工作集合到一个代码仓库中主要目的是尽早发现集成错误,使开发团队更加紧密结合,更好地协作。持续交付的目的是最小化部署或释放过程中固有的摩擦。它的实现通常能够将构建部署的每个步骤自动化,以便任何时刻能够安全地完成代码发布。基于持续集成持续部署技术可以尽可能快速且准确的获得所需的工程包。可以理解的是,工程包的生成过程所使用的技术不局限持续集成持续交付技术,可依据实际情况进行调整,具体此处不做限定。
304、存储工程包及与工程包对应的工程元数据。
对所获得的工程包及与工程包对应的元数据进行存储,为便于数据的管理可将数据量较大的工程包存储至其他数据库,而需要经常使用的工程元数据则存储至管理中心所具有的数据库中,具体可依据实际情况而定,此处不做限定。
305、向管理中心发送安装请求。
客户端向管理中心发送安装请求。其中安装请求包括环境数据,所述环境数据包括所述用户端是否安装有所述软件及所述用户端当前安装的所述软件的版本信息。本步骤中安装请求的发送过程与上述图1对应实施例中步骤101的实施过程一致,都可由安装于客户端上的管理控制台执行,具体可参照上述步骤101,此处不做赘述。
306、基于所述环境数据确定需要向所述用户端发送的工程元数据。
管理中心基于所述环境数据确定需要向所述用户端发送的工程元数据。具体的本步骤可包括确定所述用户端是否安装有所述软件;若未安装则确定基础版本元数据为向所述用户端发送的工程元数据;若安装有所述软件,则确定所述环境数据所具有的软件版本与最新软件版本之间的差距所对应的元数据为向所述用户端发送的工程元数据。即基于用户端是否安装有所需安装的软件发送不同的工程元数据。
若当前用户端未安装该软件,则需要判断当前环境是否支持该软件的进行即需要对部署环境进行管理,所发送的工程元数据可能需要包括对用户端环境调整所需使用的脚本或补丁等文件的元数据。而对于当前用户端安装了该软件的情况则说明用户端可以支持软件的运行,因此只需发送最新版本与用户端当前版本之间的差距所对应的元数据即可满足用户的需求。可以理解的是,用户端所发送的安装请求可能包括所希望更新到的版本信息,如更新到某一中间版本,或仅对软件的某一部分功能进行更新,此时需依据用户端的需求进行工程元数据的确定,具体可依据实际情况而定,此处不做限定。
307、向用户端发送工程元数据。
管理中心基于环境数据进行分析后,可将与用户端所匹配的工程元数据发送至用户端,用户端接收所述管理中心发送的工程元数据。所述工程元数据用于描述所述软件的程序数据的安装过程。工程元数据即为用户端在软件的安装过程中所需要使用的元数据。以便后续安装过程的顺利进行。
308、向用户端发送与工程元数据对应的工程包。
管理中心向用户端发送与工程元数据对应的工程包。所述工程包包括所述软件的程序数据。具体的,可由管理中心向用户端发送工程元数据后出发相应数据库向用户端发送工程包,也可由用户端基于所获取的工程元数据向相应数据库发送请求指令,进而获得工程包,具体可依据实际情况而定,此处不做限定。
309、基于所述工程元数据和所述工程包安装所述软件。
用户端基于所获得的工程元数据和工程包安装软件。具体的,工程包包括用户端所需安装的软件的程序数据,工程元数据用于描述所述软件的程序数据的安装过程,基于工程元数据对程序数据进行安装即可完成对软件的安装过程,可以理解的是,安装过程也可基于用户端所安装的管理控制台进行,通过管理控制台使用工程元数据对程序数据的安装进行反推还原,进而完成整个软件的安装与部署。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种软件安装方法,用于软件的安装过程,本方案通过获取用户端的环境数据,并基于该环境数据向用户端发送用于描述软件安装过程的工程元数据,用户端基于该工程元数据获取相应的工程包并使用该工程包与工程元数据相互配合,完成软件的安装过程,通过上述过程使得用户端在软件的安装过程中只需发送相应的环境数据至数据中心即可完成软件的安装过程,对于管理中心而言可以基于环境数据确定用户端的实际需求,从而更加准确的为用户端提供软件的安装和生成过程所需使用的数据,同时将工程元数据与程序数据分离,在安装过程中更容易工作人员进行把控,具有全局视角,便于后续的扩展以及升级维护过程。使得软件安装过程更加简洁方便。提高了软件安装过程的稳定性和可实施性。
上面对申请实施例中的软件安装方法进行了描述,下面对本发明实施例中的软件安装设备进行描述。请参阅图4,本申请软件安装设备的一个实施例包括:
发送单元401,用于向管理中心发送安装请求,所述安装请求包括用户端的环境数据,以使得所述管理中心基于所述环境数据确定向所述用户端发送的工程元数据;
接收单元402,用于接收所述管理中心发送的工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
获取单元403,用于获取与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据;
安装单元404,用于基于所述工程元数据安装所述工程包。
本实施例中,软件安装设备中各单元所执行的流程与前述图1所对应的实施例中描述的方法流程类似,此处不再赘述。
请参阅图5,本申请软件安装设备的另一个实施例包括:
接收单元501,用于接收用户端发送的安装请求,所述安装请求包括用户端的环境数据;
确定单元502,用于基于所述环境数据确定向所述用户端发送的工程元数据并向所述用户端发送所述工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
发送单元503,用于向所述用户端发送与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据,以使得所述用户端依据所述工程元数据安装所述工程包。
本实施例中,软件安装设备中各单元所执行的流程与前述图2所对应的实施例中描述的方法流程类似,此处不再赘述。
图6是本申请实施例提供的一种软件安装设备的结构示意图,该服务器600可以包括一个或一个以上中央处理器(central processing units,CPU)601和存储器605,该存储器605中存储有一个或一个以上的应用程序或数据。
本实施例中,中央处理器601中的具体功能模块划分可以与前述图4中所描述的各单元的功能模块划分方式类似,此处不再赘述。
其中,存储器605可以是易失性存储或持久存储。存储在存储器605的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器605通信,在服务器600上执行存储器605中的一系列指令操作。
服务器600还可以包括一个或一个以上电源602,一个或一个以上有线或无线网络接口603,一个或一个以上输入输出接口604,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器601可以执行前述图1所示实施例中软件安装方法所执行的操作,具体此处不再赘述。
图7是本申请实施例提供的一种软件安装设备的结构示意图,该服务器700可以包括一个或一个以上中央处理器(central processing units,CPU)701和存储器705,该存储器705中存储有一个或一个以上的应用程序或数据。
本实施例中,中央处理器701中的具体功能模块划分可以与前述图5中所描述的各单元的功能模块划分方式类似,此处不再赘述。
其中,存储器705可以是易失性存储或持久存储。存储在存储器705的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器701可以设置为与存储器705通信,在服务器700上执行存储器705中的一系列指令操作。
服务器700还可以包括一个或一个以上电源702,一个或一个以上有线或无线网络接口703,一个或一个以上输入输出接口704,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器701可以执行前述图2所示实施例中软件安装方法所执行的操作,具体此处不再赘述。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现软件安装方法的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如图1、图2或图3所述的软件安装方法。
可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中或集成为计算机程序产品以便执行上述方法。基于这样的理解,本发明实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种软件安装方法,其特征在于,应用于用户端;包括:
向管理中心发送安装请求,所述安装请求包括用户端的环境数据,以使得所述管理中心基于所述环境数据确定向所述用户端发送的工程元数据;
接收所述管理中心发送的工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
获取与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据;
基于所述工程元数据和所述工程包安装所述软件。
2.根据权利要求1所述的软件安装方法,其特征在于,所述环境数据包括所述用户端是否安装有所述软件及所述用户端当前安装的所述软件的版本信息。
3.一种软件安装方法,其特征在于,应用于管理中心,包括:
接收用户端发送的安装请求,所述安装请求包括用户端的环境数据;
基于所述环境数据确定需要向所述用户端发送的工程元数据并向所述用户端发送所述工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
向所述用户端发送与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据,以使得所述用户端依据所述工程元数据安装所述工程包。
4.根据权利要求3所述的软件安装方法,其特征在于,所述基于所述环境数据确定向所述用户端发送的工程元数据,包括:
确定所述用户端是否安装有所述软件;若未安装则确定基础版本元数据为向所述用户端发送的工程元数据;
若安装有所述软件,则确定所述环境数据所具有的软件版本与最新软件版本之间的差距所对应的元数据为向所述用户端发送的工程元数据。
5.根据权利要求3所述的软件安装方法,其特征在于,所述方法还包括:
接收工程包生成请求;
基于所述工程包生成请求确定需要进行打包的程序数据;
使用持续集成持续交付组件对所述程序数据进行打包,获得工程包;
存储所述工程包及与所述工程包对应的元数据。
6.一种软件安装设备,其特征在于,应用于用户端,包括:
发送单元,用于向管理中心发送安装请求,所述安装请求包括用户端的环境数据,以使得所述管理中心基于所述环境数据确定向所述用户端发送的工程元数据;
接收单元,用于接收所述管理中心发送的工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
获取单元,用于获取与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据;
安装单元,用于基于所述工程元数据安装所述工程包。
7.一种软件安装设备,其特征在于,应用于管理中心,包括:
接收单元,用于接收用户端发送的安装请求,所述安装请求包括用户端的环境数据;
确定单元,用于基于所述环境数据确定向所述用户端发送的工程元数据并向所述用户端发送所述工程元数据,所述工程元数据用于描述所述软件的程序数据的安装过程;
发送单元,用于向所述用户端发送与所述工程元数据对应的工程包,所述工程包包括所述软件的程序数据,以使得所述用户端依据所述工程元数据安装所述工程包。
8.一种计算机设备,其特征在于,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述计算机设备上执行所述存储器中的指令操作以执行权利要求1-6中任意一项所述的方法。
9.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-6中任意一项所述的方法。
10.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-6中任意一项所述的方法。
CN202110325651.8A 2021-03-26 2021-03-26 一种软件安装方法及相关设备 Pending CN112947951A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110325651.8A CN112947951A (zh) 2021-03-26 2021-03-26 一种软件安装方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110325651.8A CN112947951A (zh) 2021-03-26 2021-03-26 一种软件安装方法及相关设备

Publications (1)

Publication Number Publication Date
CN112947951A true CN112947951A (zh) 2021-06-11

Family

ID=76226879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110325651.8A Pending CN112947951A (zh) 2021-03-26 2021-03-26 一种软件安装方法及相关设备

Country Status (1)

Country Link
CN (1) CN112947951A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022267407A1 (zh) * 2021-06-22 2022-12-29 深圳前海微众银行股份有限公司 一种基于自动化运维工具的代理部署方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136013A (zh) * 2011-12-01 2013-06-05 腾讯科技(深圳)有限公司 软件升级方法和系统
US20130167136A1 (en) * 2009-03-18 2013-06-27 Adobe Systems Incorporated Component-based installation
CN103984573A (zh) * 2014-05-26 2014-08-13 中国工商银行股份有限公司 应用程序的安装方法及装置
CN106293842A (zh) * 2016-08-12 2017-01-04 杭州华三通信技术有限公司 一种软件安装方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130167136A1 (en) * 2009-03-18 2013-06-27 Adobe Systems Incorporated Component-based installation
CN103136013A (zh) * 2011-12-01 2013-06-05 腾讯科技(深圳)有限公司 软件升级方法和系统
CN103984573A (zh) * 2014-05-26 2014-08-13 中国工商银行股份有限公司 应用程序的安装方法及装置
CN106293842A (zh) * 2016-08-12 2017-01-04 杭州华三通信技术有限公司 一种软件安装方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022267407A1 (zh) * 2021-06-22 2022-12-29 深圳前海微众银行股份有限公司 一种基于自动化运维工具的代理部署方法及装置

Similar Documents

Publication Publication Date Title
US10592229B1 (en) Method and system for restoring software
CN107908421B (zh) 软件代码版本管理与发布的方法及装置
US9213534B2 (en) Method for restoring software applications on desktop computers
US9075633B2 (en) Configuration of life cycle management for configuration files for an application
US8065204B2 (en) System and method for software integration and factory deployment
WO2019042311A1 (zh) 基于Jenkins工具的软件项目构建任务配置方法及装置
CN103701856A (zh) 一种定义及终端设备获取升级包的方法
CN106250143A (zh) 一种可穿戴设备的ota升级方法以及装置
CA2894094C (en) Managing software suite component versions
EP1803313A1 (en) Method and system for controlling software version updates
WO2007105274A1 (ja) 適用パッチ選別装置及び適用パッチ選別方法
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
US8782636B2 (en) Information processing apparatus, control method thereof, and program
CN107341025B (zh) 应用更新方法和装置
CN110825399B (zh) 一种应用程序的部署方法及装置
US20100017503A1 (en) Download server and method for installing and updating application program using partitioning of shared library
EP3115917B1 (en) Information processing apparatus, method, and program
CN112947951A (zh) 一种软件安装方法及相关设备
CN109032617A (zh) 一种自动删除安装包的控制方法及控制装置
CN110096295B (zh) 基于ReactNative的多模块移动应用的热更新方法及系统
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
US8065671B1 (en) Systems and methods for product updates with provisioning of data items
KR102094447B1 (ko) Bms sw의 소스 코드를 생성하는 소스 코드 생성 장치 및 소스 코드 생성 방법
CN104166571B (zh) 一种软件的安装控制方法及装置
CN112328295A (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