CN110858142A - 一种应用的启动方法及装置 - Google Patents

一种应用的启动方法及装置 Download PDF

Info

Publication number
CN110858142A
CN110858142A CN201810888614.6A CN201810888614A CN110858142A CN 110858142 A CN110858142 A CN 110858142A CN 201810888614 A CN201810888614 A CN 201810888614A CN 110858142 A CN110858142 A CN 110858142A
Authority
CN
China
Prior art keywords
target application
environment
running environment
application
target
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
CN201810888614.6A
Other languages
English (en)
Other versions
CN110858142B (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.)
Alibaba China Co Ltd
Original Assignee
Beijing Youku Technology 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 Beijing Youku Technology Co Ltd filed Critical Beijing Youku Technology Co Ltd
Priority to CN201810888614.6A priority Critical patent/CN110858142B/zh
Publication of CN110858142A publication Critical patent/CN110858142A/zh
Application granted granted Critical
Publication of CN110858142B publication Critical patent/CN110858142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

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

Abstract

本申请实施方式公开了一种应用的启动方法及装置,其中,所述方法包括:接收目标应用发来的执行请求;响应于所述执行请求,查询与所述目标应用相适配的运行环境;若当前未安装与所述目标应用相适配的运行环境,从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。本申请提供的技术方案,能够提高应用的启动成功率。

Description

一种应用的启动方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种应用的启动方法及装置。
背景技术
在应用(Application)开发过程中以及开发完毕之后,往往会在特定的运行环境中启动应用。随着开发时间的不同以及开发项目所使用的开发工具的不同,会导致不同的应用会依赖不同的运行环境。例如,针对基于node.js开发的js应用而言,不同的js应用往往会对应不同的node.js版本。
当前,应用在启动时,往往会调用一个特定的全局入口来执行当前的启动动作。该特定的全局入口会在当前的配置中查找该应用对应的运行环境版本,如果能查找到,则会正常启动该应用。但,如果不能查找到,则会导致该应用启动失败。由于当前的各个应用绑定的运行环境版本是不共享的,因此一旦选择了某个运行环境版本,则会导致其它运行环境版本的应用无法启动。由此可见,目前亟需一种能够提高应用启动成功率的方法。
发明内容
本申请实施方式的目的是提供一种应用的启动方法及装置,能够提高应用的启动成功率。
为实现上述目的,本申请实施方式提供一种应用的启动方法,所述方法包括:接收目标应用发来的执行请求;响应于所述执行请求,查询与所述目标应用相适配的运行环境;若当前未安装与所述目标应用相适配的运行环境,从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。
为实现上述目的,本申请实施方式还提供一种应用的启动装置,所述装置包括:执行请求接收单元,用于接收目标应用发来的执行请求;运行环境查询单元,用于响应于所述执行请求,查询与所述目标应用相适配的运行环境;应用启动单元,用于若当前未安装与所述目标应用相适配的运行环境,从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。
为实现上述目的,本申请实施方式还提供一种应用的启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。
由上可见,本申请提供的技术方案,全局入口在接收到目标应用发来的执行请求之后,可以查询与该目标应用相适配的运行环境。此时,若当前的系统中未安装与该目标应用相适配的运行环境,全局入口并不会停止启动该目标应用,而是会从预先设置的运行环境集合中读取出上述的运行环境,并在当前的系统中安装该运行环境。这样,该目标应用便可以在安装后的运行环境中正常启动。进一步地,全局入口可以根据全局配置文件查询与该目标应用相适配的运行环境。具体地,若全局配置文件中存在所述目标应用对应的运行环境记录,则可以将所述运行环境记录限定的运行环境作为与所述目标应用相适配的运行环境。若所述全局配置文件中不存在所述目标应用对应的运行环境记录,则可以解析所述目标应用发来的所述执行请求,该执行请求中可以包含目标应用添加的运行。此外,若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,全局入口则可以向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境。这样,全局入口可以将所述目标运行环境作为与所述目标应用相适配的运行环境。在另一种场景中,若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,还可以查询所述目标应用是否存在预先设置的默认运行环境。若存在所述预先设置的默认运行环境,则可以将所述默认运行环境作为所述目标应用相适配的运行环境。若不存在所述预先设置的默认运行环境,才会向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境,并将所述目标运行环境作为与所述目标应用相适配的运行环境。本申请在查询到相适配的运行环境之后,可以将所述相适配的运行环境作为所述目标应用的运行环境记录写入全局配置文件中,以使得再次接收到所述目标应用发来的执行请求时,通过读取所述全局配置文件中的所述运行环境记录,确定与所述目标应用相适配的运行环境。由此可见,本申请提供的技术方案,可以主动查询与目标应用相适配的运行环境,并且可以确保当前的系统中安装该运行环境,从而提高目标应用的启动成功率。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式中应用的启动方法步骤图;
图2为本申请实施方式中应用的启动方法流程图;
图3为本申请实施方式中应用的启动装置的功能模块示意图;
图4为本申请实施方式中应用的启动装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
应用在启动时,往往会调用一个特定的全局入口来执行当前的启动动作。本申请提供的应用的启动方法,可以改写该特定的全局入口的功能,以使得该特定的全局入口能够提高启动应用的成功率。
请参阅图1,本申请提供的应用的启动方法,可以包括以下步骤。
S1:接收目标应用发来的执行请求。
在本实施方式中,目标应用在系统中启动时,全局入口可以接收该目标应用发来的执行请求。该执行请求中通常会包含所述目标应用的应用标识,以告知全局入口当前需要启动哪个应用。在实际应用中,所述执行请求中还可能携带所述目标应用指定的运行环境标识,该运行环境标识可以表征所述目标应用适配的运行环境。在执行请求中携带所述运行环境标识的目的在于,全局入口通过分析该执行请求,便可以获知针对该目标应用应当采用何种运行环境。
在本实施方式中,接收目标应用发来的执行请求的全局入口可以是对原始的全局入口改写得到的。改写后的全局入口的名称可以与原始的全局入口的名称保持一致,从而针对应用而言,不用更改执行请求的发送规则。当目标应用启用时,可以按照原始的全局入口的名称调用全局入口,只不过当前调用的全局入口已经是经过本申请技术方案改写后的全局入口,其实现的具体功能与原始的全局入口所实现的功能已经不同。
当然,在实际应用中,可能需要保留原始的全局入口的功能,因此,本申请提供的技术方案可以通过一个新的全局入口来实现。该新的全局入口可以监听原始的全局入口针对目标应用的启动结果。如果启动结果表征启动成功,新的全局入口则可以不对目标应用的执行请求进行处理。而如果启动结果表征启动失败,新的全局入口则可以接管目标应用的启动过程,处理该目标应用发来的执行请求。
S3:响应于所述执行请求,查询与所述目标应用相适配的运行环境。
在本实施方式中,全局入口在接收到所述执行请求之后,可以根据其中携带的应用标识,识别出当前待启动的目标应用。然后,全局入口可以查询该目标应用适配的运行环境,从而为启动该目标应用做准备。
在本实施方式中,如果所述执行请求中携带了运行环境标识,那么全局入口则可以通过解析该运行环境标识确定出所述目标应用适配的运行环境。而如果该执行请求中没有携带运行环境标识,那么全局入口则可以读取当前系统中的全局配置文件。该全局配置文件中可以记录各个应用适配的运行环境。在所述全局配置文件中,应用的标识与应用适配的运行环境的标识可以通过键值对(key-value)的方式关联存储,通过应用的标识,可以查询到关联的运行环境的标识。因此,全局入口在读取了所述全局配置文件之后,可以在所述全局配置文件中查询是否存在所述目标应用对应的运行环境记录。该运行环境记录便可以是上述的关联的应用标识和运行环境标识。具体地,全局入口可以将目标应用的标识作为索引条件,在所述全局配置文件中查询是否存在与该目标应用的标识相关联的运行环境标识。如果存在,则表明全局配置文件中记载了该目标应用适配的运行环境;反之,则表明在全局配置文件中并没有记载该目标应用适配的运行环境。在本实施方式中,根据不同的查询结果,全局入口可以采用不同的策略来确定与所述目标应用相适配的运行环境。在本实施方式中,所述全局配置文件中的运行环境记录可以是在应用成功启动之后写入所述全局配置文件中的。具体地,当某个应用成功启动之后,全局入口可以获取该应用的标识已经该应用当前所处的运行环境的标识,然后可以将获取的两个标识作为该应用的运行环境记录写入全局配置文件中。
请参阅图2,在一个实施方式中,若所述全局配置文件中存在所述目标应用对应的运行环境记录,则表明全局配置文件中记载了所述目标应用适配的运行环境,那么,全局入口可以将所述运行环境记录限定的运行环境作为与所述目标应用相适配的运行环境。具体地,全局入口可以从该运行环境记录中识别出运行环境的标识,从而将该运行环境的标识表征的运行环境作为所述目标应用适配的运行环境。
如图2所示,在另一个实施方式中,若所述全局配置文件中不存在所述目标应用对应的运行环境记录,则表明在当前的系统中,该目标应用可能是第一次启动或者之前的启动均失败了,因此全局配置文件中没有对应的运行环境记录。此时,若目标应用发来的执行请求中携带了运行环境标识,全局入口可以解析所述目标应用发来的所述执行请求,并从所述执行请求中提取运行环境标识。该运行环境标识表征的运行环境便可以是该目标应用能够正常启动的运行环境。因此,全局入口可以将所述运行环境标识限定的运行环境作为与所述目标应用相适配的运行环境。
在另一个实施方式中,若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中也不包含运行环境标识,那么全局入口此时便无法确定该目标应用适配的运行环境。为了能够正常启动该目标应用,全局入口此时可以向所述目标应用反馈用于查询适配的运行环境的查询指令。该查询指令的实现方式有多种。举例来说,该查询指令可以是一个能够与用户进行交互的文本框,该文本框的备注信息例如可以是“请填写该应用适配的运行环境”。启动应用的用户在查看到个唉查询指令后,便可以在文本框中输入适配的运行环境的名称和版本号。这样,全局入口便可以接收到该目标应用针对所述查询指令提供的目标运行环境,从而将该目标运行环境作为与所述目标应用相适配的运行环境。此外,考虑到用户输入的信息可能具备不同的语言习惯,针对同一个运行环境可能有不同的称呼,因此,全局入口可以向目标应用反馈的查询指令可以是包含多个运行环境标识的选择指令。全局入口可以将当前系统支持的运行环境罗列出来,并向目标应用反馈这些运行环境的标识。用户在查看到这些运行环境的标识之后,可以选择该应用适配的运行环境。用户选择的运行环境便可以作为目标应用针对所述查询指令提供的目标运行环境,那么全局入口可以根据用户的选择,将所述目标运行环境作为与所述目标应用相适配的运行环境。
如图2所示,在另一个实施方式中,若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中也不包含运行环境标识,再考虑到用户可能也不知晓该目标应用适配的运行环境,那么在当前系统中可以预先设置默认运行环境,该默认运行环境可以正常启动大多数应用。在这种情况下,全局入口可以查询所述目标应用是否存在预先设置的默认运行环境,若存在所述预先设置的默认运行环境,则可以将所述默认运行环境作为所述目标应用相适配的运行环境。若不存在所述预先设置的默认运行环境,那么全局入口可以按照上述的方式,向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境,并将所述目标运行环境作为与所述目标应用相适配的运行环境。
在本实施方式中,按照上述的步骤,可以最终确定出目标应用适配的运行环境。此时,为了便于下一次能够快速启动该目标应用,可以将所述相适配的运行环境作为所述目标应用的运行环境记录写入全局配置文件中。具体地,若所述全局配置文件中不存在所述目标应用的运行环境记录,则可以根据当前确定的运行环境,生成该目标应用的运行环境记录,并将生成的记录写入该全局配置文件中。若所述全局配置文件中已经存在所述目标应用的运行环境记录,则可以将该生成的记录覆盖全局配置文件中的原始记录,以保持对目标应用的运行环境记录的更新。这样。当全局入口再次接收到所述目标应用发来的执行请求时,可以通过读取所述全局配置文件中的所述运行环境记录,从而确定与所述目标应用相适配的运行环境,进而保证能够快速启动该目标应用。
S5:若当前未安装与所述目标应用相适配的运行环境,从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。
在本实施方式中,全局入口在确定出所述目标应用适配的运行环境之后,可以判断在当前系统中是否存在该适配的运行环境。如果当前系统中已安装所述运行环境,则可以直接在所述运行环境中启动所述目标应用。若当前系统中未安装与所述目标应用相适配的运行环境,全局入口可以从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。本申请中上述的运行环境,可以是用于保证应用能够正常启动的基础。所述运行环境可以通过在当前系统中安装对应的软件安装包来实现。所述运行环境例如可以是node.js环境,visual C++环境,.netframework环境等。所述运行环境集合中可以包括各个运行环境对应的软件安装包,若当前系统中未安装目标应用适配的运行环境,全局入口可以从运行环境集合中读取该运行环境对应的软件安装包,并可以在当前系统中安装该读取的软件安装包,从而使得当前系统中具备该目标应用适配的运行环境。
请参阅图3,本申请还提供一种应用的启动装置,所述装置包括:
执行请求接收单元,用于接收目标应用发来的执行请求;
运行环境查询单元,用于响应于所述执行请求,查询与所述目标应用相适配的运行环境;
应用启动单元,用于若当前未安装与所述目标应用相适配的运行环境,从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。
在一个实施方式中,所述运行环境查询单元包括:
配置文件查询模块,用于读取当前的全局配置文件,并在所述全局配置文件中查询是否存在所述目标应用对应的运行环境记录,并根据查询结果,确定与所述目标应用相适配的运行环境。
在一个实施方式中,所述配置文件查询模块包括:
记录匹配模块,用于若所述全局配置文件中存在所述目标应用对应的运行环境记录,将所述运行环境记录限定的运行环境作为与所述目标应用相适配的运行环境。
在一个实施方式中,所述配置文件查询模块包括:
执行请求解析模块,用于若所述全局配置文件中不存在所述目标应用对应的运行环境记录,解析所述目标应用发来的所述执行请求,并从所述执行请求中提取运行环境标识;将所述运行环境标识限定的运行环境作为与所述目标应用相适配的运行环境。
在一个实施方式中,所述配置文件查询模块包括:
指令查询模块,用于若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境;将所述目标运行环境作为与所述目标应用相适配的运行环境。
在一个实施方式中,所述配置文件查询模块包括:
默认环境查询模块,用于若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,查询所述目标应用是否存在预先设置的默认运行环境;
环境适配模块,用于若存在所述预先设置的默认运行环境,将所述默认运行环境作为所述目标应用相适配的运行环境;
指令适配模块,用于若不存在所述预先设置的默认运行环境,向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境,并将所述目标运行环境作为与所述目标应用相适配的运行环境。
请参阅图4,本申请还提供一种应用的启动装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的方法。
在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
本说明书实施方式提供的应用的启动装置,其实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。
由上可见,本申请提供的技术方案,全局入口在接收到目标应用发来的执行请求之后,可以查询与该目标应用相适配的运行环境。此时,若当前的系统中未安装与该目标应用相适配的运行环境,全局入口并不会停止启动该目标应用,而是会从预先设置的运行环境集合中读取出上述的运行环境,并在当前的系统中安装该运行环境。这样,该目标应用便可以在安装后的运行环境中正常启动。进一步地,全局入口可以根据全局配置文件查询与该目标应用相适配的运行环境。具体地,若全局配置文件中存在所述目标应用对应的运行环境记录,则可以将所述运行环境记录限定的运行环境作为与所述目标应用相适配的运行环境。若所述全局配置文件中不存在所述目标应用对应的运行环境记录,则可以解析所述目标应用发来的所述执行请求,该执行请求中可以包含目标应用添加的运行。此外,若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,全局入口则可以向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境。这样,全局入口可以将所述目标运行环境作为与所述目标应用相适配的运行环境。在另一种场景中,若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,还可以查询所述目标应用是否存在预先设置的默认运行环境。若存在所述预先设置的默认运行环境,则可以将所述默认运行环境作为所述目标应用相适配的运行环境。若不存在所述预先设置的默认运行环境,才会向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境,并将所述目标运行环境作为与所述目标应用相适配的运行环境。本申请在查询到相适配的运行环境之后,可以将所述相适配的运行环境作为所述目标应用的运行环境记录写入全局配置文件中,以使得再次接收到所述目标应用发来的执行请求时,通过读取所述全局配置文件中的所述运行环境记录,确定与所述目标应用相适配的运行环境。由此可见,本申请提供的技术方案,可以主动查询与目标应用相适配的运行环境,并且可以确保当前的系统中安装该运行环境,从而提高目标应用的启动成功率。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现应用的启动装置以外,完全可以通过将方法步骤进行逻辑编程来使得应用的启动装置以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种应用的启动装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对装置的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (15)

1.一种应用的启动方法,其特征在于,所述方法包括:
接收目标应用发来的执行请求;
响应于所述执行请求,查询与所述目标应用相适配的运行环境;
若当前未安装与所述目标应用相适配的运行环境,从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。
2.根据权利要求1所述的方法,其特征在于,查询与所述目标应用相适配的运行环境包括:
读取当前的全局配置文件,并在所述全局配置文件中查询是否存在所述目标应用对应的运行环境记录,并根据查询结果,确定与所述目标应用相适配的运行环境。
3.根据权利要求2所述的方法,其特征在于,根据查询结果,确定与所述目标应用相适配的运行环境包括:
若所述全局配置文件中存在所述目标应用对应的运行环境记录,将所述运行环境记录限定的运行环境作为与所述目标应用相适配的运行环境。
4.根据权利要求2所述的方法,其特征在于,根据查询结果,确定与所述目标应用相适配的运行环境包括:
若所述全局配置文件中不存在所述目标应用对应的运行环境记录,解析所述目标应用发来的所述执行请求,并从所述执行请求中提取运行环境标识;
将所述运行环境标识限定的运行环境作为与所述目标应用相适配的运行环境。
5.根据权利要求2所述的方法,其特征在于,根据查询结果,确定与所述目标应用相适配的运行环境包括:
若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境;
将所述目标运行环境作为与所述目标应用相适配的运行环境。
6.根据权利要求2所述的方法,其特征在于,根据查询结果,确定与所述目标应用相适配的运行环境包括:
若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,查询所述目标应用是否存在预先设置的默认运行环境;
若存在所述预先设置的默认运行环境,将所述默认运行环境作为所述目标应用相适配的运行环境;
若不存在所述预先设置的默认运行环境,向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境,并将所述目标运行环境作为与所述目标应用相适配的运行环境。
7.根据权利要求1所述的方法,其特征在于,在查询与所述目标应用相适配的运行环境之后,所述方法还包括:
将所述相适配的运行环境作为所述目标应用的运行环境记录写入全局配置文件中,以使得再次接收到所述目标应用发来的执行请求时,通过读取所述全局配置文件中的所述运行环境记录,确定与所述目标应用相适配的运行环境。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前已安装所述运行环境,在所述运行环境中启动所述目标应用。
9.一种应用的启动装置,其特征在于,所述装置包括:
执行请求接收单元,用于接收目标应用发来的执行请求;
运行环境查询单元,用于响应于所述执行请求,查询与所述目标应用相适配的运行环境;
应用启动单元,用于若当前未安装与所述目标应用相适配的运行环境,从运行环境集合中读取并安装与所述目标应用相适配的运行环境,以使得在安装后的所述运行环境中启动所述目标应用。
10.根据权利要求9所述的装置,其特征在于,所述运行环境查询单元包括:
配置文件查询模块,用于读取当前的全局配置文件,并在所述全局配置文件中查询是否存在所述目标应用对应的运行环境记录,并根据查询结果,确定与所述目标应用相适配的运行环境。
11.根据权利要求10所述的装置,其特征在于,所述配置文件查询模块包括:
记录匹配模块,用于若所述全局配置文件中存在所述目标应用对应的运行环境记录,将所述运行环境记录限定的运行环境作为与所述目标应用相适配的运行环境。
12.根据权利要求10所述的装置,其特征在于,所述配置文件查询模块包括:
执行请求解析模块,用于若所述全局配置文件中不存在所述目标应用对应的运行环境记录,解析所述目标应用发来的所述执行请求,并从所述执行请求中提取运行环境标识;将所述运行环境标识限定的运行环境作为与所述目标应用相适配的运行环境。
13.根据权利要求10所述的装置,其特征在于,所述配置文件查询模块包括:
指令查询模块,用于若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境;将所述目标运行环境作为与所述目标应用相适配的运行环境。
14.根据权利要求10所述的装置,其特征在于,所述配置文件查询模块包括:
默认环境查询模块,用于若所述全局配置文件中不存在所述目标应用对应的运行环境记录,并且所述执行请求中不包含运行环境标识,查询所述目标应用是否存在预先设置的默认运行环境;
环境适配模块,用于若存在所述预先设置的默认运行环境,将所述默认运行环境作为所述目标应用相适配的运行环境;
指令适配模块,用于若不存在所述预先设置的默认运行环境,向所述目标应用反馈查询指令,并接收所述目标应用针对所述查询指令提供的目标运行环境,并将所述目标运行环境作为与所述目标应用相适配的运行环境。
15.一种应用的启动装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一所述的方法。
CN201810888614.6A 2018-08-07 2018-08-07 一种应用的启动方法及装置 Active CN110858142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810888614.6A CN110858142B (zh) 2018-08-07 2018-08-07 一种应用的启动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810888614.6A CN110858142B (zh) 2018-08-07 2018-08-07 一种应用的启动方法及装置

Publications (2)

Publication Number Publication Date
CN110858142A true CN110858142A (zh) 2020-03-03
CN110858142B CN110858142B (zh) 2024-05-24

Family

ID=69634705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810888614.6A Active CN110858142B (zh) 2018-08-07 2018-08-07 一种应用的启动方法及装置

Country Status (1)

Country Link
CN (1) CN110858142B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564348A (zh) * 2021-12-16 2022-05-31 深圳开源互联网安全技术有限公司 代码层监测node.js第三方应用的方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111844A (zh) * 2013-04-19 2014-10-22 腾讯科技(深圳)有限公司 在移动终端内安装应用程序的方法及系统
US20140317615A1 (en) * 2013-04-19 2014-10-23 Tencent Technologies (Shenzhen) Company Limited Systems and Methods for Installing Applications
CN104426868A (zh) * 2013-08-28 2015-03-18 腾讯科技(深圳)有限公司 请求的处理方法和处理装置
CN104539458A (zh) * 2014-12-30 2015-04-22 深圳市兰丁科技有限公司 运行环境自适配方法及装置
CN106843934A (zh) * 2016-12-27 2017-06-13 生迪智慧科技有限公司 升级文件的处理方法和装置
CN107168726A (zh) * 2017-03-30 2017-09-15 武汉斗鱼网络科技有限公司 一种动态配置应用程序的方法和装置
US20180088935A1 (en) * 2016-09-27 2018-03-29 Ca, Inc. Microservices application configuration based on runtime environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111844A (zh) * 2013-04-19 2014-10-22 腾讯科技(深圳)有限公司 在移动终端内安装应用程序的方法及系统
US20140317615A1 (en) * 2013-04-19 2014-10-23 Tencent Technologies (Shenzhen) Company Limited Systems and Methods for Installing Applications
CN104426868A (zh) * 2013-08-28 2015-03-18 腾讯科技(深圳)有限公司 请求的处理方法和处理装置
CN104539458A (zh) * 2014-12-30 2015-04-22 深圳市兰丁科技有限公司 运行环境自适配方法及装置
US20180088935A1 (en) * 2016-09-27 2018-03-29 Ca, Inc. Microservices application configuration based on runtime environment
CN106843934A (zh) * 2016-12-27 2017-06-13 生迪智慧科技有限公司 升级文件的处理方法和装置
CN107168726A (zh) * 2017-03-30 2017-09-15 武汉斗鱼网络科技有限公司 一种动态配置应用程序的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564348A (zh) * 2021-12-16 2022-05-31 深圳开源互联网安全技术有限公司 代码层监测node.js第三方应用的方法及系统

Also Published As

Publication number Publication date
CN110858142B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
CN106970873B (zh) 线上mock测试方法、装置及系统
US7398523B2 (en) Adaptive class loading
US8745601B1 (en) Methods and systems for using data structures for operating systems
KR101081090B1 (ko) 명령어 스트림의 효율적인 에뮬레이션을 가능하게 하기 위한 레지스터 기반의 명령어 최적화
CN111061643B (zh) Sdk集群的兼容性检测方法、装置、电子设备及存储介质
KR20160002685A (ko) 드라이버를 로딩하는 방법 및 내장형 장치
US8762967B2 (en) Program compiler, program installer, and program install method
CN107066519B (zh) 一种任务检测方法及装置
EP1485801A1 (en) Iterative software development environment with prioritized build rules
US9235389B2 (en) Method of providing embedded software development tool for supporting embedded software development environment based on native building, and apparatus thereof
CN107783766B (zh) 对应用程序的文件进行清理的方法和装置
JP2012079130A (ja) デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法
CN112099800B (zh) 代码数据的处理方法、装置和服务器
CN110895503B (zh) 一种应用的性能监控方法及客户端
EP4231138A1 (en) Method and apparatus for fixing weak memory ordering problem
US20110265072A1 (en) Dynamic Installation of Files for Running Programs
CN111273965B (zh) 一种容器应用启动方法、系统、装置及电子设备
CN111078279A (zh) 字节码文件的处理方法、装置、设备及存储介质
CN114138281A (zh) 软件工程的编译方法、装置、设备及介质
CN109144600B (zh) 一种应用程序的运行方法、设备及计算机可读介质
US20140298316A1 (en) Managing method for application program installation and electronic device
CN109726039B (zh) 用于管理虚拟机的方法和设备
CN110858142A (zh) 一种应用的启动方法及装置
CN103064767A (zh) 驱动备份、恢复的方法及装置
CN104516743A (zh) 基于ActiveX的嵌入式设备固件的升级方法及系统

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
TA01 Transfer of patent application right

Effective date of registration: 20200512

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 100102 No. 4 Building, Wangjing Dongyuan District, Chaoyang District, Beijing

Applicant before: BEIJING YOUKU TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant