CN108595191A - 一种应用安装方法及装置 - Google Patents

一种应用安装方法及装置 Download PDF

Info

Publication number
CN108595191A
CN108595191A CN201810393640.1A CN201810393640A CN108595191A CN 108595191 A CN108595191 A CN 108595191A CN 201810393640 A CN201810393640 A CN 201810393640A CN 108595191 A CN108595191 A CN 108595191A
Authority
CN
China
Prior art keywords
mount message
installation
application
virtual environment
destination virtual
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.)
Granted
Application number
CN201810393640.1A
Other languages
English (en)
Other versions
CN108595191B (zh
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.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group 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 BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN201810393640.1A priority Critical patent/CN108595191B/zh
Publication of CN108595191A publication Critical patent/CN108595191A/zh
Priority to US16/201,143 priority patent/US20190332367A1/en
Application granted granted Critical
Publication of CN108595191B publication Critical patent/CN108595191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/402Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
    • H04L65/4025Support for services or applications wherein the services involve a main real-time session and one or more additional parallel non-real time sessions, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services where none of the additional parallel sessions is real time or time sensitive, e.g. downloading a file in a parallel FTP session, initiating an email or combinational services
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种应用安装方法及装置。所述方法包括:接收应用安装请求;触发运行脚本,获得所选应用的安装信息及所选应用对应的目标虚拟环境;按照与安装信息及目标虚拟环境对应的编译规则和安装规则对所选应用的安装信息进行处理,使得所选应用安装在目标虚拟环境中。当所选应用的安装过程出现问题时,脚本可以根据编译规则和安装规则解决安装问题并继续执行剩余安装,从而保证所选应用顺利安装至目标虚拟环境中,完成对目标虚拟环境的更新。由于无需重新执行所有安装过程,因此大大缩短了应用安装时间,提高了应用安装效率。同时,脚本具有开发简单、代码尺寸小以及成本低的优点。

Description

一种应用安装方法及装置
技术领域
本发明涉及软件技术领域,特别是涉及一种应用安装方法及装置。
背景技术
随着计算机技术不断发展,大量应用软件被开发和使用,使得终端功能得到极大丰富。不同应用之间存在兼容问题,下载的应用添加至操作系统默认的系统应用库后,如果新添加的应用与系统应用库中的其他应用不兼容,则新添加的应用无法运行,同时也影响其他应用运行。
为防止应用不兼容问题的发生,通常会在终端本地创建一个或多个相对独立的虚拟环境,由于虚拟环境中安装的应用是独立运行的,因此避免了应用不兼容问题的发生。
目前,创建虚拟环境的主要技术是应用容器引擎(Docker)技术,Docker技术建立一个完全独立的虚拟环境即Docker容器,Docker容器配置有独立的操作系统,使用独立的操作系统控制应用下载并安装至Docker容器中。
独立的操作系统会下载应用的源代码和安装命令等安装信息,安装命令通常有多条,在该操作系统安装应用至Docker容器中的过程中,若某一条安装命令在执行过程中出现问题,则该操作系统需要重新执行应用的所有安装命令,从而导致应用安装耗时较长,应用安装效率较低。另外,建立独立的操作系统的过程非常复杂,增加了软件开发的难度和成本。
发明内容
本发明提供一种应用安装方法及装置,以解决现有技术方案中若某一条安装命令在执行过程中出现问题,则该操作系统需要重新执行应用的所有安装命令,从而导致应用安装耗时较长,应用安装效率较低的问题。
为了解决上述问题,本发明公开了一种应用安装方法,包括:
接收应用安装请求;
触发运行脚本,获得所选应用的安装信息及所述所选应用对应的目标虚拟环境;
按照与所述安装信息及目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中。
优选地,所述的触发运行脚本,获得所选应用的安装信息及所述所选应用对应的目标虚拟环境的步骤包括:
触发运行所述脚本,通过网络访问下载所述所选应用的安装信息。
优选地,所述的触发运行所述脚本,通过网络访问下载所述所选应用的安装信息的步骤包括:
触发运行所述脚本,输出配置界面;
接收用户在所述配置界面输入的所述所选应用的查找信息及所述所选应用对应的目标虚拟环境,所述查找信息包括标识信息和下载链接中的至少一种;
根据所述所选应用的查找信息,通过网络访问下载所述所选应用的安装信息。
优选地,所述的触发运行所述脚本,通过网络访问下载所述所选应用的安装信息的步骤包括:
根据应用与下载链接的对应关系,确定所述所选应用的下载链接;
通过访问所述下载链接下载所述所选应用的安装信息。
优选地,在所述的通过网络访问下载所述所选应用的安装信息的步骤之前,所述方法还包括:
判定存储空间中未存储有所述所选应用的安装信息;
所述方法还包括:
响应于所述存储空间中存储有所述所选应用的安装信息,从所述存储空间中获取所述所选应用的安装信息。
优选地,在所述的按照与所述安装信息及目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中的步骤之后,所述方法还包括:
记录所述所选应用的存储路径;
将所述存储路径发送至物理机操作系统存储,以使所述物理机操作系统根据所述存储路径查找到所述所选应用。
为了解决上述问题,本发明实施例还公开了一种应用安装装置,包括:
请求接收模块,用于接收应用安装请求:
信息获取模块,用于触发运行脚本,获得所选应用的安装信息及所述所选应用对应的目标虚拟环境;
应用安装模块,用于按照与所述安装信息及目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中。
优选地,所述信息获取模块,具体用于触发运行所述脚本,通过网络访问下载所述所选应用的安装信息。
优选地,所述信息获取模块包括:
界面输出子模块,用于触发运行所述脚本,输出配置界面;
信息接收子模块,用于接收用户在所述配置界面输入的所述所选应用的查找信息及所述所选应用对应的目标虚拟环境,所述查找信息包括标识信息和下载链接中的至少一种;
信息下载子模块,用于根据所述所选应用的查找信息,通过网络访问下载所述所选应用的安装信息。
优选地,所述信息获取模块包括:
链接确定子模块,用于根据应用与下载链接的对应关系,确定所述所选应用的下载链接;
信息获得子模块,用于通过访问所述下载链接下载所述所选应用的安装信息。
优选地,所述装置还包括:
信息判定模块,用于所述的通过网络访问下载所述所选应用的安装信息的步骤之前,判定存储空间中未存储有所述所选应用的安装信息;
所述装置还包括:
信息提取模块,用于响应于所述存储空间中存储有所述所选应用的安装信息,从所述存储空间中获取所述所选应用的安装信息。
优选地,所述装置还包括:
路径记录模块,用于在所述的按照与所述安装信息及目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中的步骤之后,记录所述所选应用的存储路径;
路径发送模块,用于将所述存储路径发送至物理机操作系统存储,以使所述物理机操作系统根据所述存储路径查找到所述所选应用。
为了解决上述问题,本发明实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的应用安装方法。
为了解决上述问题,本发明实施例还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的应用安装方法。
与现有技术相比,本发明包括以下优点:
本发明实施例提供了一种应用安装方法及装置,使用脚本执行应用的下载和安装,脚本内可以预置有编译规则和安装规则,当所选应用的安装过程出现问题时,脚本可以根据编译规则和安装规则解决安装问题并继续执行剩余安装,从而保证所选应用顺利安装至目标虚拟环境中,完成对目标虚拟环境的更新。由于无需重新执行所有安装过程,因此大大缩短了应用安装时间,提高了应用安装效率。同时,相比于背景技术中的独立的操作系统,脚本具有软件开发简单、代码尺寸小以及成本低等优点。
附图说明
图1示出了本发明实施例提供的一种应用安装方法的步骤流程图;
图2示出了本发明实施例提供的另一种应用安装方法的步骤流程图;
图3示出了本发明实施例提供的一种应用安装装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例提供的一种应用安装的步骤流程图,具体可以包括:
步骤101、接收应用安装请求。
本发明实施例中,终端内预先创建至少一个虚拟环境,当创建两个以上虚拟环境时,两个以上虚拟环境之间相互独立,虚拟环境的存储形式可以有多种,例如以文件夹形式存储等。同时,终端内存储有预先开发的脚本,该脚本用于下载应用以及安装应用至虚拟环境内。
用户预安装应用至虚拟环境中时,可以向终端发送应用的安装请求,具体地,用户可以通过指定操作向终端发送应用的安装请求。
步骤102、触发运行脚本,获得所选应用的安装信息及所选应用对应的目标虚拟环境。
所选应用为用户预下载并安装至虚拟环境中的应用。所选应用的安装信息为用于安装所选应用至虚拟环境中的信息,安装信息可以包括应用源代码和安装命令等信息。目标虚拟环境为用于存储所选应用的虚拟环境。
在接收应用安装请求后,触发运行脚本,通过脚本获取所选应用的安装信息及所选应用对应的目标虚拟环境。
脚本获得安装信息和目标虚拟环境的方式可以有多种,例如,触发运行脚本后输出配置界面,接收用户在脚本的配置界面上输入的目标虚拟环境以获得目标虚拟环境,通过网络访问获得安装信息等,可以根据实际设置获得安装信息和目标虚拟环境的方式。
步骤103、按照与安装信息及目标虚拟环境对应的编译规则和安装规则对所选应用的安装信息进行处理,使得所选应用安装在目标虚拟环境中。
本发明实施例中,脚本内预先存储有应用的编译规则和安装规则,应用的编译规则和安装规则与应用的安装信息及目标虚拟环境存在对应关系,不同的目标虚拟环境可以对应不同的安装规则。本发明在获得所选应用的安装信息后,确定与安装信息和目标虚拟环境对应的编译规则和安装规则,之后按照确定的编译规则和安装规则对所选应用的安装信息进行处理,将所选应用安装在目标虚拟环境中。
安装信息可以包括应用的多种信息,如安装信息可以包括所选应用的源代码和多条安装命令等。当安装信息包括所选应用的源代码和多条安装命令时,如果在所选应用的安装过程中某一条安装命令出现问题,这时脚本暂停所选应用的安装,并根据所选应用的安装规则对安装问题进行处理,待安装问题解决后继续执行剩余安装,从而保证了所选应用顺利安装至目标虚拟环境中,由于无需重新执行所有安装过程,因此大大缩短了应用安装时间,提高了应用安装效率。
实现脚本的上述功能的方式有多种,例如,脚本内存储的编译规则和安装规则可以限定所选应用的多条安装命令的安装顺序等,在应用安装过程中,当某一条安装命令出现问题时,脚本记录出现问题的安装命令在所有安装命令中的位置,待该条安装命令的问题解决后,脚本根据记录的出现问题的安装命令的位置,继续执行剩余安装命令,完成剩余安装。
实际中,可以预先在脚本内存储不同应用的编译规则和安装规则,在脚本接收到所选应用的安装信息后,确定出与安装信息及目标虚拟环境对应的编译规则和安装规则,如果脚本未存储对应的编译规则和安装规则,则脚本可以输出提示信息供用户查看,这时用户可以通过脚本输出的配置界面输入所选应用对应的编译规则和安装规则,更新脚本存储的应用与规则的对应关系。
通常应用的安装信息与多种因素有关,如应用种类、应用版本等,编译规则和安装规则与多种因素有关,如应用种类、应用版本、目标虚拟环境等,也可以理解为编译规则和安装规则与应用的安装信息、目标虚拟环境等有关。本发明可以在脚本中存储应用信息(如应用名称、应用版本、应用的安装信息)-目标虚拟环境-编译规则-安装规则的对应关系,便于所需编译规则和安装规则的查找,还可以是其他形式的对应关系,本发明实施例在此不做限制。
可以根据实际设置虚拟环境的语言环境,例如,设置Python语言环境,Python应用可以在Python语言环境中编译,Python语言环境中可以同时安装2.7.6版本和3.6.2版本,可以根据用户选择下载并安装所需版本的Python应用。
本发明实施例可以使用以下标准开发工具:Makefile文件、脚本(Bash或Windows批处理文件)以及命令行下载程序(例如wget,aria2等)。还可以是其他适用的开发工具。
脚本的尺寸非常小,可达到1MB以下,因此使用脚本下载和安装应用至虚拟环境,可以大大减少代码编写量,简化软件开发工作。可以使用本发明实施例提供的脚本下载开源应用,并将开源应用安装在虚拟环境中,因此可以允许开发公共开源应用,且在开发过程中应用可以根据需要被编译多次。由于终端内建立的多个虚拟环境是相对独立的,因此安装和测试新虚拟环境时,不会对使用的其他虚拟环境产生影响。可以通过配置将应用安装至新虚拟环境内。
本发明实施例提供了一种应用安装方法及装置,使用脚本执行应用的下载和安装,脚本内可以预置有编译规则和安装规则,当所选应用的安装过程出现问题时,脚本可以根据编译规则和安装规则解决安装问题并继续执行剩余安装,从而保证所选应用顺利安装至目标虚拟环境中,完成对目标虚拟环境的更新。由于无需重新执行所有安装过程,因此大大缩短了应用安装时间,提高了应用安装效率。同时,相比于背景技术中的独立的操作系统,脚本具有软件开发简单、代码尺寸小以及成本低等优点。
实施例二
参照图2,示出了本发明实施例提供的另一种应用安装方法的步骤流程图,具体可以包括:
步骤201、接收应用安装请求。
步骤202、触发运行脚本,获得所选应用的安装信息及所选应用对应的目标虚拟环境。
本发明实施例中,可以预先下载所选应用的安装信息至指定的存储空间,存储空间可以有多种,如缓存等,可以根据实际设置存储空间的容量,如存储空间可以是尺寸大于5GB的缓存。
本发明实施例所述的应用安装方法可以应用于终端,终端内设置有物理机操作系统,物理机操作系统为通常所述的OS(Operating System,操作系统),是管理和控制计算机硬件与软件资源的计算机程序,物理机操作系统对应物理环境,同时本发明提供的终端内还设置有虚拟机操作系统,虚拟机操作系统对应虚拟环境。可以根据实际设置上述的存储空间的位置,如存储空间可以设置在物理环境内,便于查找。
步骤203、当存储空间中存储有所选应用的安装信息时,从存储空间中获取所选应用的安装信息。
脚本运行后,可以先执行判断存储空间中是否存储有所选应用的安装信息的步骤,判定存储空间存储有所选应用的安装信息后,直接从存储空间中提取所选应用的安装信息。
对于存储空间内未存储的安装信息,可以通过网络下载的方式将未存储的安装信息下载至存储空间,对存储空间的信息内容进行更新,便于后续使用。
由于无需通过网络下载安装信息,因此简化了安装信息的获取过程,缩短了安装信息的下载时间以及应用安装时间,进一步提高了应用安装效率。当终端未连接网络时,本方法可以实现所选应用的安装信息的获取,进而实现所选应用的安装,因此本方案适用于终端未连接网络的场景。
步骤204、响应于存储空间中未存储所选应用的安装信息,通过网络访问下载所选应用的安装信息。
当判定存储空间中未存储所选应用的安装信息时,通过网络访问下载所选应用的安装信息,该操作需要在终端连接网络的场景下进行。
通过网络访问下载所选应用的安装信息的方式可以有多种,例如,第一种方式,触发运行脚本,输出配置界面,接收用户在配置界面输入的所选应用的查找信息及所选应用对应的目标虚拟环境,其中,查找信息至少包括标识信息和下载链接中的至少一种,根据所选应用的查找信息,网络下载所选应用的安装信息;第二种方式,根据预先存储的应用与下载链接的对应关系,确定所选应用的下载链接,通过访问下载链接下载所选应用的安装信息。
针对上述第一种方式,配置界面输出后,当脚本接收到用户在配置界面上输入的所选应用的下载链接时,脚本可以通过直接访问下载链接下载安装信息,输入下载链接的方式有多种,例如从配置界面上显示的多个下载链接中选择,或用户直接编写等;当脚本接收到用户在配置界面上输入的所选应用的标识信息时,脚本可以访问网络查找与标识信息对应的下载链接,并通过网络访问下载链接下载所选应用的安装信息。脚本内可以记录有不同应用的下载链接,多个下载链接可以以列表或其他形式存储。用户可以根据需要更新脚本记录的下载链接,以满足用户需求,方便应用下载。
针对上述第二种方式,脚本还可以预先存储应用与下载链接的对应关系,具体可以存储应用的标识信息与下载链接的对应关系,在接收到用户在配置界面输入的应用后,查找与该应用对应的下载链接,并通过访问该下载链接下载所选应用的安装信息。
应用的标识信息的信息内容可以有多种,如应用名称、应用版本以及应用图标等中的一种或多种,可以根据实际进行设置。
步骤205、按照与安装信息及目标虚拟环境对应的编译规则和安装规则对所选应用的安装信息进行处理,使得所选应用安装在所述目标虚拟环境中。
本发明实施例中,脚本内预置有编译规则和安装规则,在按照预置的编译规则和安装规则安装所选应用时,不会弹出应用的协议许可界面,而是对应用的协议进行默认许可,在保证用户有权限下载和安装应用的同时,免去了重新授权协议的操作,提高了用户体验。
本发明实施例中,在按照预置的编译规则和安装规则对所选应用的安装信息进行处理,使得所选应用安装在目标虚拟环境中之后,本方法还可以记录所选应用的存储路径,之后将存储路径发送至物理机操作系统存储,以使物理机操作系统能够根据存储路径快速查找到所选应用。可以根据实际设置存储路径在物理机操作系统中的存储位置,例如存储路径存储在物理机操作系统的环境变量中等。记录所选应用的存储路径并将其存储至物理机操作系统内,缩短了物理机操作系统对所选应用的查找时间,提高了所选应用的查找效率。实际中还可以根据需要将所选应用的存储路径存储发送至虚拟机操作系统存储。
物理机操作系统查找所选应用时,可以先判断是否存储有所选应用的存储路径,若存储有该指定路径,则可以根据存储路径快速查找到所选应用,若未存储该存储路径,则优先对虚拟环境进行查找,当虚拟环境为多个时,物理机操作系统可以依次对多个虚拟环境进行查找,当完成对所有虚拟环境的查找后仍未查找到所选应用时,再从物理机操作系统的系统应用库中查找。
本发明实施例提供了一种应用安装方法及装置,使用脚本执行应用的下载和安装,脚本内可以预置有编译规则和安装规则,当所选应用的安装过程出现问题时,脚本可以根据编译规则和安装规则解决安装问题并继续执行剩余安装,从而保证所选应用顺利安装至目标虚拟环境中,完成对目标虚拟环境的更新。由于无需重新执行所有安装过程,因此大大缩短了应用安装时间,提高了应用安装效率。同时,相比于背景技术中的独立的操作系统,脚本具有软件开发简单、代码尺寸小以及成本低等优点。
实施例三
参照图3,示出了本发明实施例提供的一种应用安装装置的结构示意图,具体可以包括:
请求接收模块301,用于接收应用安装请求。
信息获取模块302,用于触发运行脚本,获得所选应用的安装信息及所述所选应用对应的目标虚拟环境。
应用安装模块303,用于按照与所述安装信息及所述目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中。
优选地,所述信息获取模块302,具体用于触发运行所述脚本,通过网络访问下载所述所选应用的安装信息。
优选地,所述信息获取模块302包括:
界面输出子模块,用于触发运行所述脚本,输出配置界面;
信息接收子模块,用于接收用户在所述配置界面输入的所述所选应用的查找信息及所述所选应用对应的目标虚拟环境,所述查找信息包括标识信息和下载链接中的至少一种;
信息下载子模块,用于根据所述所选应用的查找信息,通过网络访问下载所述所选应用的安装信息。
优选地,所述信息获取模块302包括:
链接确定子模块,用于根据应用与下载链接的对应关系,确定所述所选应用的下载链接;
信息获得子模块,用于通过访问所述下载链接下载所述所选应用的安装信息。
优选地,所述装置还包括:
信息判定模块,用于所述的通过网络访问下载所述所选应用的安装信息的步骤之前,判定存储空间中未存储有所述所选应用的安装信息;
所述装置还包括:
信息提取模块,用于响应于所述存储空间中存储有所述所选应用的安装信息,从所述存储空间中获取所述所选应用的安装信息。
优选地,所述装置还包括:
路径记录模块,用于在所述的按照与所述安装信息及目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中的步骤之后,记录所述所选应用的存储路径;
路径发送模块,用于将所述存储路径发送至物理机操作系统存储,以使所述物理机操作系统根据所述存储路径查找到所述所选应用。
本发明实施例提供了一种应用安装方法及装置,使用脚本执行应用的下载和安装,脚本内可以预置有编译规则和安装规则,当所选应用的安装过程出现问题时,脚本可以根据编译规则和安装规则解决安装问题并继续执行剩余安装,从而保证所选应用顺利安装至目标虚拟环境中,完成对目标虚拟环境的更新。由于无需重新执行所有安装过程,因此大大缩短了应用安装时间,提高了应用安装效率。同时,相比于背景技术中的独立的操作系统,脚本具有软件开发简单、代码尺寸小以及成本低等优点。
优选的,本发明实施例还提供一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的应用安装方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述应用安装方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种应用安装方法和一种应用安装装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种应用安装方法,其特征在于,包括:
接收应用安装请求;
触发运行脚本,获得所选应用的安装信息及所述所选应用对应的目标虚拟环境;
按照与所述安装信息及所述目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中。
2.根据权利要求1所述的方法,其特征在于,所述的触发运行脚本,获得所选应用的安装信息及所述所选应用对应的目标虚拟环境的步骤包括:
触发运行所述脚本,通过网络访问下载所述所选应用的安装信息。
3.根据权利要求2所述的方法,其特征在于,所述的触发运行所述脚本,通过网络访问下载所述所选应用的安装信息的步骤包括:
触发运行所述脚本,输出配置界面;
接收用户在所述配置界面输入的所述所选应用的查找信息及所述所选应用对应的目标虚拟环境,所述查找信息包括标识信息和下载链接中的至少一种;
根据所述所选应用的查找信息,通过网络访问下载所述所选应用的安装信息。
4.根据权利要求2所述的方法,其特征在于,所述的触发运行所述脚本,通过网络访问下载所述所选应用的安装信息的步骤包括:
根据应用与下载链接的对应关系,确定所述所选应用的下载链接;
通过访问所述下载链接下载所述所选应用的安装信息。
5.根据权利要求2所述的方法,其特征在于,在所述的通过网络访问下载所述所选应用的安装信息的步骤之前,所述方法还包括:
判定存储空间中未存储有所述所选应用的安装信息;
所述方法还包括:
响应于所述存储空间中存储有所述所选应用的安装信息,从所述存储空间中获取所述所选应用的安装信息。
6.根据权利要求1所述的方法,其特征在于,在所述的按照与所述安装信息及目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中的步骤之后,所述方法还包括:
记录所述所选应用的存储路径;
将所述存储路径发送至物理机操作系统存储,以使所述物理机操作系统根据所述存储路径查找到所述所选应用。
7.一种应用安装装置,其特征在于,包括:
请求接收模块,用于接收应用安装请求;
信息获取模块,用于触发运行脚本,获得所选应用的安装信息及所述所选应用对应的目标虚拟环境;
应用安装模块,用于按照与所述安装信息及所述目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中。
8.根据权利要求7所述的装置,其特征在于:
所述信息获取模块,具体用于触发运行所述脚本,通过网络访问下载所述所选应用的安装信息。
9.根据权利要求8所述的装置,其特征在于,所述信息获取模块包括:
界面输出子模块,用于触发运行所述脚本,输出配置界面;
信息接收子模块,用于接收用户在所述配置界面输入的所述所选应用的查找信息及所述所选应用对应的目标虚拟环境,所述查找信息包括标识信息和下载链接中的至少一种;
信息下载子模块,用于根据所述所选应用的查找信息,通过网络访问下载所述所选应用的安装信息。
10.根据权利要求8所述的装置,其特征在于,所述信息获取模块包括:
链接确定子模块,用于根据应用与下载链接的对应关系,确定所述所选应用的下载链接;
信息获得子模块,用于通过访问所述下载链接下载所述所选应用的安装信息。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
信息判定模块,用于所述的通过网络访问下载所述所选应用的安装信息的步骤之前,判定存储空间中未存储有所述所选应用的安装信息;
所述装置还包括:
信息提取模块,用于响应于所述存储空间中存储有所述所选应用的安装信息,从所述存储空间中获取所述所选应用的安装信息。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
路径记录模块,用于在所述的按照与所述安装信息及目标虚拟环境对应的编译规则和安装规则对所述所选应用的安装信息进行处理,使得所述所选应用安装在所述目标虚拟环境中的步骤之后,记录所述所选应用的存储路径;
路径发送模块,用于将所述存储路径发送至物理机操作系统存储,以使所述物理机操作系统根据所述存储路径查找到所述所选应用。
13.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的应用安装方法。
14.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-6任一所述的应用安装方法。
CN201810393640.1A 2018-04-27 2018-04-27 一种应用安装方法及装置 Active CN108595191B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810393640.1A CN108595191B (zh) 2018-04-27 2018-04-27 一种应用安装方法及装置
US16/201,143 US20190332367A1 (en) 2018-04-27 2018-11-27 Method and apparatus for installing application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810393640.1A CN108595191B (zh) 2018-04-27 2018-04-27 一种应用安装方法及装置

Publications (2)

Publication Number Publication Date
CN108595191A true CN108595191A (zh) 2018-09-28
CN108595191B CN108595191B (zh) 2021-09-14

Family

ID=63610185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810393640.1A Active CN108595191B (zh) 2018-04-27 2018-04-27 一种应用安装方法及装置

Country Status (2)

Country Link
US (1) US20190332367A1 (zh)
CN (1) CN108595191B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800000A (zh) * 2018-12-28 2019-05-24 深圳竹云科技有限公司 一种基于python的自动化测试环境部署的方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106554B2 (en) 2019-04-30 2021-08-31 JFrog, Ltd. Active-active environment control
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US11695829B2 (en) * 2020-01-09 2023-07-04 JFrog Ltd. Peer-to-peer (P2P) downloading
US11860680B2 (en) 2020-11-24 2024-01-02 JFrog Ltd. Software pipeline and release validation
CN114968278A (zh) * 2021-02-24 2022-08-30 Oppo广东移动通信有限公司 应用程序的安装方法和装置、电子设备、可读存储介质
CN115061727B (zh) * 2022-08-19 2022-11-08 北京结慧科技有限公司 一种shell命令调用python脚本命令的方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716403A (zh) * 2013-12-31 2014-04-09 曙光云计算技术有限公司 云计算环境下paas平台的saas应用部署方法和系统
CN104915263A (zh) * 2015-06-30 2015-09-16 北京奇虎科技有限公司 基于容器技术的进程故障处理方法及装置
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统
CN106612206A (zh) * 2015-10-27 2017-05-03 三星Sds株式会社 对基础设施的安装和配置进行自动化的装置及其方法
US20180113786A1 (en) * 2015-06-11 2018-04-26 International Business Machines Corporation Automatically complete a specific software task using hidden tags

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735767B1 (en) * 1998-04-10 2004-05-11 International Business Machines Corporation Installation planning window
US8682636B2 (en) * 2002-08-30 2014-03-25 Sap Ag Non-client-specific testing of applications
JPWO2004099972A1 (ja) * 2003-05-08 2006-07-13 富士通株式会社 ソフトウェア構成復元方法及び装置並びにコンピュータ読取可能な記憶媒体
JP2005327221A (ja) * 2003-08-29 2005-11-24 Seiko Epson Corp 検索システム及び検索プログラム並びにパーソナルコンピュータ
US20050160420A1 (en) * 2004-01-20 2005-07-21 Kruta Andrew W. Method and apparatus for distribution and installation of computer programs across an enterprise
US7849460B1 (en) * 2005-06-22 2010-12-07 Emc Corporation System and methods for generic installation prerequisite verification
US8150948B2 (en) * 2007-06-22 2012-04-03 Microsoft Corporation Complex software deployment
US8539477B2 (en) * 2009-02-24 2013-09-17 Microsoft Corporation Managed environment update selection
US8756617B1 (en) * 2010-05-18 2014-06-17 Google Inc. Schema validation for secure development of browser extensions
US8949822B2 (en) * 2010-12-02 2015-02-03 International Business Machines Corporation System, method and program product to manage installation of programs
US9170798B2 (en) * 2012-03-02 2015-10-27 Vmware, Inc. System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
CN103677766A (zh) * 2012-08-31 2014-03-26 英业达科技有限公司 预录配置脚本以自动配置服务器的系统及其方法
US9519513B2 (en) * 2013-12-03 2016-12-13 Vmware, Inc. Methods and apparatus to automatically configure monitoring of a virtual machine
KR20150082932A (ko) * 2014-01-08 2015-07-16 한국전자통신연구원 가상 머신의 구성 관리 지원 장치 및 방법과, 그 구성 관리 지원 장치를 이용한 클라우드 서비스 중개 장치 및 방법
US9678731B2 (en) * 2014-02-26 2017-06-13 Vmware, Inc. Methods and apparatus to generate a customized application blueprint
US9652211B2 (en) * 2014-06-26 2017-05-16 Vmware, Inc. Policy management of deployment plans
US9223558B2 (en) * 2014-06-02 2015-12-29 International Business Machines Corporation Software installation and configuration
JP2018018415A (ja) * 2016-07-29 2018-02-01 富士通株式会社 情報処理装置、情報処理システム、プログラム及び情報処理方法
US10114659B2 (en) * 2016-09-30 2018-10-30 Vmware, Inc. Remote provisioning of hosts in public clouds

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716403A (zh) * 2013-12-31 2014-04-09 曙光云计算技术有限公司 云计算环境下paas平台的saas应用部署方法和系统
US20180113786A1 (en) * 2015-06-11 2018-04-26 International Business Machines Corporation Automatically complete a specific software task using hidden tags
CN104915263A (zh) * 2015-06-30 2015-09-16 北京奇虎科技有限公司 基于容器技术的进程故障处理方法及装置
CN106612206A (zh) * 2015-10-27 2017-05-03 三星Sds株式会社 对基础设施的安装和配置进行自动化的装置及其方法
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800000A (zh) * 2018-12-28 2019-05-24 深圳竹云科技有限公司 一种基于python的自动化测试环境部署的方法

Also Published As

Publication number Publication date
US20190332367A1 (en) 2019-10-31
CN108595191B (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
CN108595191A (zh) 一种应用安装方法及装置
US10802949B1 (en) Systems and methods for infrastructure validation
US20190236000A1 (en) Distributed system test device
US20200301727A1 (en) Methods and apparatus to publish internal commands as an application programming interface in a cloud infrastructure
US5950008A (en) System and method for resolving symbolic references to externally located program files
US6438590B1 (en) Computer system with preferential naming service
US6571389B1 (en) System and method for improving the manageability and usability of a Java environment
US7171585B2 (en) Diagnosing faults and errors from a data repository using directed graphs
US6871345B1 (en) Self managing software agents with introspection
US8424026B1 (en) Execution of applications distributed across a plurality of computing devices
US20030093420A1 (en) Method and system for retrieving sharable information using a hierarchically dependent directory structure
US20020120725A1 (en) Internet-aware agent for updating applications
US8510712B1 (en) Testing in-container software objects
CN111552508B (zh) 应用程序版本构建方法、装置、电子设备
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
JP6940751B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US20040143835A1 (en) Automatically upgradeable extension of software
CN109766099A (zh) 前端源码编译方法、装置、存储介质及计算机设备
EP3834402A1 (en) Method and system for cloud application and service integration using pattern-based discovery
US20060288085A1 (en) Modular server architecture for multi-environment HTTP request processing
CN112702195A (zh) 网关配置方法、电子设备及计算机可读存储介质
US8683458B2 (en) Automatic full install upgrade of a network appliance
CN112491940B (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
US7039673B1 (en) Method and apparatus for dynamic command extensibility in an intelligent agent
US8615751B2 (en) Seeding product information

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
GR01 Patent grant
GR01 Patent grant