应用静默升级方法、系统、终端设备及存储介质与流程

文档序号:25585595发布日期:2021-06-22 17:00阅读:195来源:国知局
应用静默升级方法、系统、终端设备及存储介质与流程

本申请属于应用升级领域,尤其涉及一种应用静默升级方法、系统、终端设备及存储介质。



背景技术:

随着计算机应用技术的飞速发展,操作系统中能够安装的应用越来越丰富,用户可以通过使用相应的应用来完成某一项或者某几项任务功能,例如,用户通过使用浏览器应用来阅读网页中所展示的新闻等等。现有的应用升级过程中,为了防止应用升级过程对用户操作的影响,应用静默升级越来越受人们所喜爱。应用静默升级是指:可在不打扰用户的情况下(不显示升级程序界面),升级程序根据定时升级的设定值自动完成应用的升级。

现有技术中,springboot应用为了方便启动,都是基于单独一个启动文件进行启动,进而不方便升级其中某一个或多个所依赖的启动文件,为了实现方便启动文件升级的目的,当前主流方案是,在构建时将springboot应用依赖的所有启动文件外置到应用程序的外面,进而可以在需要局部更新的时候,替换外置部分启动文件,然后通过脚本将所有外部的启动文件添加到启动目录下,并重新启动应用达到应用静默升级的效果。

但现有的springboot应用在实现局部静默升级时,需要将依赖的启动文件外置,同时需要通过专门的脚本进行启动,进而使得应用维护成本高、开发效率低,需要针对不同的应用编写不同的启动脚本,且当需要升级不同springboot应用之间的公共组件时,需要找到所有应用的启动文件对应进行替换并重启,进而降低了应用静默升级效率。



技术实现要素:

本申请实施例提供了一种应用静默升级方法、系统、终端设备及存储介质,旨在解决现有的springboot应用静默升级过程中,针对不同的springboot应用需要通过不同的脚本进行启动,所导致的应用维护成本高、开发效率低的问题。

第一方面,本申请实施例提供了一种应用静默升级方法,所述方法包括:

若检测到任一目标应用满足预设静默升级条件,则获取升级包路径,并根据所述升级包路径对所述目标应用进行加载权限检测,所述升级包路径为针对所述目标应用设置的升级包的包路径;

若所述目标应用的加载权限检测合格,则根据所述升级包路径获取升级包目录,并查询所述目标应用对应的启动目录,所述启动目录包括启动所述目标应用所需要加载的启动文件;

将所述升级包目录中的升级文件与所述启动目录中的所述启动文件进行匹配,并对匹配成功的所述升级文件进行加载,以对所述升级文件相匹配的所述启动文件进行升级;

对未匹配成功的所述启动文件进行加载,并在所述启动文件加载完成后,对所述目标应用进行初始化操作,以完成所述目标应用的静默升级操作。

本申请实施例与现有技术相比存在的有益效果是:目标应用在实现局部静默升级时,均是采用相同的方式进行升级包路径的查询、目标应用的加载权限检测、启动目录的查询、升级文件的加载和启动文件的加载操作,进而无需设置不同的脚本进行应用的启动,降低了应用维护成本和开发效率,通过根据升级包路径对目标应用进行加载权限检测的设计,以判定目标应用是否需要对升级包路径对应的升级文件进行加载,进而防止了无效升级文件的加载,提高了应用静默升级效率,通过将升级包目录中的升级文件与启动目录中的启动文件进行匹配的设计,以查询需要升级的启动文件,通过对匹配成功的升级文件进行加载,以达到对对应启动文件升级的效果,并基于对启动文件的升级,达到对目标应用静默升级的效果。

进一步地,所述获取升级包路径,包括:

获取用于启动所述目标应用的启动程序所对应的启动参数,若所述启动参数中配置有升级路径,则将所述启动参数中的升级路径设置为所述升级包路径;

若所述启动参数中未配置升级路径,则获取所述目标应用的当前操作系统的环境变量;

若所述环境变量中配置有升级路径,则将所述环境变量中的升级路径设置为所述升级包路径;

若所述环境变量中未配置升级路径,则查询所述启动程序中预设的默认路径,并将所述默认路径设置为所述升级包路径。

进一步地,所述根据所述升级包路径对所述目标应用进行加载权限检测,包括:

获取所述升级包路径的根目录,并获取所述根目录中的权限配置文件,所述权限配置文件包括有权更新配置,所述有权更新配置用于检测所述目标应用针对所述升级包路径是否具有加载权限;

若所述有权更新配置中存储有配置信息,则将所述目标应用的名称与所述有权更新配置中配置信息的名称进行匹配;

若所述目标应用的名称与所述有权更新配置中配置信息的名称相匹配,则判定所述目标应用的加载权限检测合格,所述目标应用针对所述升级包路径具有加载权限;

若所述目标应用的名称与所述有权更新配置中配置信息的名称不匹配,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限。

进一步地,所述权限配置文件还包括无权更新配置,所述无权更新配置用于检测所述目标应用针对所述升级包路径是否不具有加载权限,所述根据所述升级包路径对所述目标应用进行加载权限检测,还包括:

若所述有权更新配置中未存储有配置信息,则读取所述无权更新配置的配置信息;

若所述无权更新配置中存储有配置信息,则将所述目标应用的名称与所述无权更新配置中配置信息的名称进行匹配;

若所述目标应用的名称与所述无权更新配置中配置信息的名称相匹配,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限;

若所述目标应用的名称与所述无权更新配置中配置信息的名称不匹配,则判定所述目标应用的加载权限检测合格,所述目标应用针对所述升级包路径具有加载权限;

若所述无权更新配置中未存储有配置信息,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限。

进一步地,所述将所述升级包目录中的升级文件与所述启动目录中的启动文件进行匹配,并对匹配成功的所述升级文件进行加载,包括:

分别获取所述升级文件和所述启动文件的文件名称;

若任一所述升级文件和所述启动文件的名称相同,则判定所述升级文件与所述启动文件相匹配,并对匹配成功的所述升级文件进行加载。

进一步地,所述根据所述升级包路径获取升级包目录,包括:

获取所述权限配置文件中的目标版本号,并根据所述升级包路径进行目录查询;

若查询到的目录的版本号与所述目标版本号相同,则将查询到的目录设置为所述升级包目录。

进一步地,所述根据所述升级包路径进行目录查询之后,所述方法还包括:

若查询到的目录的版本号与所述目标版本号不相同,则判定所述升级包路径为无效路径;

若所述升级包路径为所述无效路径,则停止对所述目标应用的静默升级操作。

第二方面,本申请实施例提供了一种应用静默升级系统,包括:

加载权限检测模块,用于若检测到任一目标应用满足预设静默升级条件,则获取升级包路径,并根据所述升级包路径对所述目标应用进行加载权限检测,所述升级包路径为针对所述目标应用设置的升级包的包路径;

目录查询模块,用于若所述目标应用的加载权限检测合格,则根据所述升级包路径获取升级包目录,并查询所述目标应用对应的启动目录,所述启动目录包括启动所述目标应用所需要加载的启动文件;

升级文件加载模块,用于将所述升级包目录中的升级文件与所述启动目录中的所述启动文件进行匹配,并对匹配成功的所述升级文件进行加载,以对所述升级文件相匹配的所述启动文件进行升级;

启动文件加载模块,用于对未匹配成功的所述启动文件进行加载,并在所述启动文件加载完成后,对所述目标应用进行初始化操作,以完成所述目标应用的静默升级操作。

第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的方法。

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

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的应用静默升级方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本申请第一实施例提供的应用静默升级方法的流程图;

图2是本申请第二实施例提供的应用静默升级方法的流程图;

图3是本申请第三实施例提供的应用静默升级方法的流程图;

图4是本申请第四实施例提供的应用静默升级系统的结构示意图;

图5是本申请第五实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

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

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

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

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

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

实施例一

请参阅图1,是本申请第一实施例提供的应用静默升级方法的流程图,包括步骤:

步骤s10,若检测到任一目标应用满足预设静默升级条件,则获取升级包路径,并根据所述升级包路径对所述目标应用进行加载权限检测;

其中,该目标应用为springboot应用,该预设静默升级条件用于判断该目标应用当前是否需要进行静默升级,该预设静默升级条件可以根据用户需求进行条件设置,例如,该预设静默升级条件可以为:判断是否接收到目标应用的启动指令,当接收到目标应用的启动条件时,判定该目标应用满足预设静默升级条件,并运行该目标应用。

可选的,该预设静默升级条件还可以为:判断该目标应用中的定时升级设定值是否大于设定阈值,该定时升级设定值可以为应用运行时间值、应用启动次数值或应用关闭次数值,该步骤中,当判断到该目标应用中的定时升级设定值大于设定阈值,则判定该目标应用满足预设静默升级条件。

进一步地,该步骤中,该升级包路径为针对目标应用设置的升级包的包路径,根据该升级包路径能查询到最新的升级包,不同目标应用对应的升级包路径可以相同,进而有效的方便了对不同目标应用之间公共组件的更新,使得无需找到所有应用对应的启动文件进行替换,提高了应用静默升级效率。

此外,该步骤中,通过根据升级包路径对目标应用进行加载权限检测的设计,以判定目标应用是否需要对升级包路径对应的升级文件进行加载,若该目标应用的加载权限检测不合格,判定该目标应用针对该升级包路径对应的升级文件无需进行加载,则停止对该目标应用的静默升级操作,即该目标应用无需进行静默升级,进而防止了目标应用对无效升级文件的加载,提高了应用静默升级的准确性。

步骤s20,若所述目标应用的加载权限检测合格,则根据所述升级包路径获取升级包目录,并查询所述目标应用对应的启动目录;

其中,该升级包目录中存储有至少一个升级文件,若目标应用的加载权限检测合格,则判定该目标应用需要进行静默升级,通过根据升级包路径获取升级包目录,以查询该升级包路径所对应的升级文件,

进一步地,该启动目录包括启动该目标应用所需要加载的启动文件,该启动文件在启动目录中可以采用文件名称或文件图像的方式进行存储。

步骤s30,将所述升级包目录中的升级文件与所述启动目录中的所述启动文件进行匹配,并对匹配成功的所述升级文件进行加载,以对所述升级文件相匹配的所述启动文件进行升级;

其中,通过将升级包目录中的升级文件与启动目录中的启动文件进行匹配的设计,以判断该启动目录中的启动文件是否需要进行升级,例如,升级包目录中包括升级文件a1、升级文件a2和升级文件a3,启动目录中包括启动文件b1、启动文件b2、启动文件b3和启动文件b4,则将该升级文件a1、升级文件a2和升级文件a3分别与启动文件b1、启动文件b2、启动文件b3和启动文件b4进行匹配,以判断该启动目录中包括的启动文件b1、启动文件b2、启动文件b3和启动文件b4是否需要进行升级。

进一步地,该步骤中,通过对匹配成功的升级文件进行加载,以达到对该升级文件相匹配的启动文件升级的效果,并基于该启动文件的升级使得对该目标应用进行了静默升级,例如,当该升级文件a1与启动文件b3相匹配,则判定该升级文件a1为启动文件b3升级后的文件,并通过加载该升级文件a1达到了对目标应用静默升级的效果。

此外,该步骤中,当完成针对任一升级文件的加载时,对已加载的升级文件的文件名称进行存储,得到已加载名称集合。

步骤s40,对未匹配成功的所述启动文件进行加载,并在所述启动文件加载完成后,对所述目标应用进行初始化操作,以完成所述目标应用的静默升级操作;

其中,基于该已加载名称集合对该启动目录中的启动文件进行筛选,以得到该未匹配成功的启动文件,并通过对该启动目录中未匹配成功的启动文件进行加载的设计,有效的保障了该目标应用的启动,且通过在启动文件加载完成后,对目标应用进行初始化操作的设计,能有效的完成该目标应用中数据的更新。

进一步地,该步骤中,通过对该启动目录中未匹配成功的启动文件进行加载的设计,以判断对匹配成功的升级文件和未匹配成功的启动文件进行加载后,该目标应用是否能正常启动,若检测到启动文件加载完成后,该目标应用不能启动时,则发出升级错误提示,进而有效的提高了目标应用静默升级的准确性。

此外,该步骤中,可以基于自定义加载器的方式自动对该未匹配成功的启动文件进行加载,提高了启动文件的加载效率。

本实施例中,目标应用在实现局部静默升级时,均是采用相同的方式进行升级包路径的查询、目标应用的加载权限检测、启动目录的查询、升级文件的加载和启动文件的加载操作,进而无需设置不同的脚本进行应用的启动,降低了应用维护成本和开发效率,通过根据升级包路径对目标应用进行加载权限检测的设计,以判定目标应用是否需要对升级包路径对应的升级文件进行加载,进而防止了无效升级文件的加载,提高了应用静默升级效率,通过将升级包目录中的升级文件与启动目录中的启动文件进行匹配的设计,以查询需要升级的启动文件,通过对匹配成功的升级文件进行加载,以达到对对应启动文件升级的效果,并基于对启动文件的升级,达到对目标应用静默升级的效果。

实施例二

请参阅图2,是本申请第二实施例提供的应用静默升级方法的流程图,该第二实施例用于对第一实施例中步骤s10进行细化,以细化描述如何获取升级包路径的步骤,该应用静默升级方法包括步骤:

步骤s11,若检测到任一目标应用满足预设静默升级条件,则获取用于启动目标应用的启动程序所对应的启动参数;

其中,通过获取该启动程序所对应的启动文件,并查询该启动文件中预设参数标识所对应的参数,以得到该启动参数。

进一步地,该预设参数标识可以采用文字标识、数字标识或字母标识的方式进行设置,且针对不同启动程序可以采用相同的预设参数标识。

该步骤中,当获取到启动程序所对应的启动参数,则判断该启动参数中是否配置有升级路径。

步骤s21,若所述启动参数中配置有升级路径,则将所述启动参数中的升级路径设置为所述升级包路径;

其中,若该启动参数中配置有升级路径,则判定该启动参数中配置的升级路径为针对目标应用设置的升级包路径。

步骤s31,若所述启动参数中未配置升级路径,则获取所述目标应用的当前操作系统的环境变量;

其中,该当前操作系统的环境变量可以根据用户的需求进行变量参数值的设置,该环境变量(environmentvariables)是指在操作系统中用来指定操作系统运行环境的一些参数,例如,临时文件夹位置、系统文件夹位置或应用升级路径。

该步骤中,当获取到目标应用的当前操作系统的环境变量,则判断该操作变量中是否配置有升级路径。

步骤s41,若所述环境变量中配置有升级路径,则将所述环境变量中的升级路径设置为所述升级包路径;

其中,若该环境变量中配置有升级路径,则判定该环境变量中的升级路径为针对目标应用设置的升级包路径。

步骤s51,若所述环境变量中未配置升级路径,则查询所述启动程序中预设的默认路径,并将所述默认路径设置为所述升级包路径;

步骤s61,根据所述升级包路径对所述目标应用进行加载权限检测;

具体的,该步骤中,所述根据所述升级包路径对所述目标应用进行加载权限检测,包括:

步骤s610,获取所述升级包路径的根目录,并获取所述根目录中的权限配置文件;

其中,该权限配置文件包括有权更新配置,该有权更新配置用于检测目标应用针对该升级包路径是否具有加载权限,本实施例中的有权更新配置可以为allow-projects配置、enable-projects配置或permit-projects配置等。

步骤s611,若所述有权更新配置中存储有配置信息,则将所述目标应用的名称与所述有权更新配置中配置信息的名称进行匹配;

其中,若有权更新配置中存储有配置信息,则该有权更新配置中存储的配置信息为:有权对该升级包路径对应的升级文件进行加载的应用的应用名称;

因此,该步骤中,通过将目标应用的名称与有权更新配置中配置信息的名称进行匹配,以判断该目标应用对该升级包路径对应的升级文件是否具有加载权限。

例如,当该权更新配置中存储有配置信息c1、配置信息c2和配置信息c3,将该目标应用的名称分别与配置信息c1、配置信息c2和配置信息c3的名称进行匹配。

步骤s612,若所述目标应用的名称与所述有权更新配置中配置信息的名称相匹配,则判定所述目标应用的加载权限检测合格,所述目标应用针对所述升级包路径具有加载权限;

其中,若目标应用的名称与任一配置信息c1、配置信息c2和配置信息c3中的名称相匹配,则判定目标应用的加载权限检测合格,该目标应用针对升级包路径对应的升级文件具有加载权限。

步骤s613,若所述目标应用的名称与所述有权更新配置中配置信息的名称不匹配,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限。

进一步地,本实施例中,所述权限配置文件还包括无权更新配置,所述无权更新配置用于检测所述目标应用针对所述升级包路径是否不具有加载权限,所述根据所述升级包路径对所述目标应用进行加载权限检测,还包括:

步骤s614,若所述有权更新配置中未存储有配置信息,则读取所述无权更新配置的配置信息;

步骤s615,若所述无权更新配置中存储有配置信息,则将所述目标应用的名称与所述无权更新配置中配置信息的名称进行匹配;

其中,若该无权更新配置中存储有配置信息,则该无权更新配置中存储的配置信息为:无权对该升级包路径对应升级文件进行加载的应用的应用名称;

因此,该步骤中,通过将目标应用的名称与无权更新配置中配置信息的名称进行匹配,以判断该目标应用对该升级包路径对应的升级文件是否不具有加载权限。

步骤s616,若所述目标应用的名称与所述无权更新配置中配置信息的名称相匹配,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限;

步骤s617,若所述目标应用的名称与所述无权更新配置中配置信息的名称不匹配,则判定所述目标应用的加载权限检测合格,所述目标应用针对所述升级包路径具有加载权限;

步骤s618,若所述无权更新配置中未存储有配置信息,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限;

其中,若有权更新配置和无权更新配置中均未存储有配置信息,则判定当前无任何应用对该升级包路径对应的升级文件具有加载权限。

此外,本实施例中,若该有权更新配置和无权更新配置中均设置有配置信息,则将有权更新配置中的配置信息设置为有效信息,无权更新配置中的配置信息设置为无效信息,即将该目标应用的名称与有权更新配置中配置信息的名称进行匹配,以判断该目标应用对该升级包路径是否具有加载权限。

需要说明的是,该步骤中,通过设置该有权更新配置和无权更新配置的设计,有效的防止了应用升级范围过大所导致的安全问题,提高了应用静默升级的安全性,例如,当该升级包路径对应的升级文件需要对当前操作系统中的大量的应用进行升级时,可以通过仅对无权更新配置中的配置信息进行信息设置,以提高对目标应用的加载权限检测的检测效率,当升级包路径对应的升级文件需要对当前操作系统中的少量的应用进行升级时,可以通过仅对有权更新配置中的配置信息进行信息设置,以提高对目标应用的加载权限检测的检测效率。

步骤s71,若所述目标应用的加载权限检测合格,则根据所述升级包路径获取升级包目录,并查询所述目标应用对应的启动目录;

其中,请参见第一实施例中步骤s20的解释说明,该步骤中针对解释说明不再进行赘述。

步骤s81,将所述升级包目录中的升级文件与所述启动目录中的所述启动文件进行匹配,并对匹配成功的所述升级文件进行加载,以对所述升级文件相匹配的所述启动文件进行升级;

其中,请参见第一实施例中步骤s30的解释说明,该步骤中针对解释说明不再进行赘述。

步骤s91,对未匹配成功的所述启动文件进行加载,并在所述启动文件加载完成后,对所述目标应用进行初始化操作,以完成所述目标应用的静默升级操作;

其中,请参见第一实施例中步骤s40的解释说明,该步骤中针对解释说明不再进行赘述。

本实施例中,通过获取启动程序所对应的启动参数、当前操作系统的环境变量和启动程序中的默认路径的设计,能有效的进行升级包路径的查询,提高了对目标应用加载权限检测的准确性,通过对权限配置文件中有权更新配置和无权更新配置的配置信息的检测,能有效的判断该目标应用对升级包路径对应的升级文件是否具有加载权限,以判定该目标应用的加载权限检测是否合格,进一步提高了目标应用加载权限检测的准确性,通过根据升级包路径对目标应用进行加载权限检测的设计,以判定目标应用是否需要对升级包路径对应的升级文件进行加载,进而防止了无效升级文件的加载,提高了应用静默升级效率,通过将升级包目录中的升级文件与启动目录中的启动文件进行匹配的设计,以查询需要升级的启动文件,通过对匹配成功的升级文件进行加载,以达到对对应启动文件升级的效果,并基于对启动文件的升级,达到对目标应用静默升级的效果。

实施例三

请参阅图3,是本申请第三实施例提供的应用静默升级方法的流程图,该第二实施例用于对第一实施例中步骤s20进行细化,以细化描述如何根据所述升级包路径获取升级包目录的步骤,该应用静默升级方法包括步骤:

步骤s12,若检测到任一目标应用满足预设静默升级条件,则获取升级包路径,并根据所述升级包路径对所述目标应用进行加载权限检测;

其中,请参见第一实施例中步骤s10的解释说明,该步骤中针对解释说明不再进行赘述。

步骤s22,若所述目标应用的加载权限检测合格,则获取所述升级包路径的根目录,并获取所述根目录中的权限配置文件;

其中,请参见第二实施例中步骤s610的解释说明,该步骤中针对解释说明不再进行赘述。

步骤s32,获取所述权限配置文件中的目标版本号,并根据所述升级包路径进行目录查询;

其中,该权限配置文件中存储有版本号信息,通过获取该版本号信息中的版本号以得到该目标版本号,该目标版本号用于进行升级包目录的查询。

步骤s42,若查询到的目录的版本号与所述目标版本号相同,则将查询到的目录设置为所述升级包目录,并查询所述目标应用对应的启动目录;

其中,所述启动目录包括启动所述目标应用所需要加载的启动文件。

本实施例中,若查询到的目录的版本号与所述目标版本号不相同,则判定所述升级包路径为无效路径;

若所述升级包路径为所述无效路径,则停止对所述目标应用的静默升级操作,其中,若该升级包路径为无效路径,则判定该目标应用无需进行静默升级。

步骤s52,分别获取所述升级包目录中升级文件和所述启动目录中启动文件的文件名称;

其中,该升级文件和启动文件的文件名称获取过程中,将获取到的文件名称中的版本号进行删除,以防止后续步骤中由于版本号的差异因素,所导致的升级文件与启动文件之间的匹配错误。

步骤s62,若任一所述升级文件和所述启动文件的名称相同,则判定所述升级文件与所述启动文件相匹配;

步骤s72,对匹配成功的所述升级文件进行加载,以对所述升级文件相匹配的所述启动文件进行升级;

其中,请参见第一实施例中步骤s30的解释说明,该步骤中针对解释说明不再进行赘述。

步骤s82,对未匹配成功的所述启动文件进行加载,并在所述启动文件加载完成后,对所述目标应用进行初始化操作,以完成所述目标应用的静默升级操作;

其中,请参见第一实施例中步骤s40的解释说明,该步骤中针对解释说明不再进行赘述。

本实施例中,通过对权限配置文件中目标版本号的获取,以判断根据升级包路径查询到的目录是否为升级包目录,提高了该升级包目录查询的准确性,通过分别获取升级文件和启动文件的文件名称的设计,以判断升级文件与启动文件之间是否匹配,通过对匹配成功的升级文件进行加载,以达到对对应启动文件升级的效果,并基于对启动文件的升级,达到对目标应用静默升级的效果,通过根据升级包路径对目标应用进行加载权限检测的设计,以判定目标应用是否需要对升级包路径对应的升级文件进行加载,进而防止了无效升级文件的加载,提高了应用静默升级效率。

实施例四

对应于上文实施例所述的应用静默升级方法,图4示出了本申请第四实施例提供的应用静默升级系统100的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图4,该系统包括:加载权限检测模块10、目录查询模块11、升级文件加载模块12和启动文件加载模块13,其中:

加载权限检测模块10,用于若检测到任一目标应用满足预设静默升级条件,则获取升级包路径,并根据所述升级包路径对所述目标应用进行加载权限检测,所述升级包路径为针对所述目标应用设置的升级包的包路径。

其中,所述加载权限检测模块10还用于:获取用于启动所述目标应用的启动程序所对应的启动参数,若所述启动参数中配置有升级路径,则将所述启动参数中的升级路径设置为所述升级包路径;

若所述启动参数中未配置升级路径,则获取所述目标应用的当前操作系统的环境变量;

若所述环境变量中配置有升级路径,则将所述环境变量中的升级路径设置为所述升级包路径;

若所述环境变量中未配置升级路径,则查询所述启动程序中预设的默认路径,并将所述默认路径设置为所述升级包路径。

可选的,所述加载权限检测模块10还用于:获取所述升级包路径的根目录,并获取所述根目录中的权限配置文件,所述权限配置文件包括有权更新配置,所述有权更新配置用于检测所述目标应用针对所述升级包路径是否具有加载权限;

若所述有权更新配置中存储有配置信息,则将所述目标应用的名称与所述有权更新配置中配置信息的名称进行匹配;

若所述目标应用的名称与所述有权更新配置中配置信息的名称相匹配,则判定所述目标应用的加载权限检测合格,所述目标应用针对所述升级包路径具有加载权限;

若所述目标应用的名称与所述有权更新配置中配置信息的名称不匹配,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限。

进一步地,所述权限配置文件还包括无权更新配置,所述无权更新配置用于检测所述目标应用针对所述升级包路径是否不具有加载权限,所述加载权限检测模块10还用于:

若所述有权更新配置中未存储有配置信息,则读取所述无权更新配置的配置信息;

若所述无权更新配置中存储有配置信息,则将所述目标应用的名称与所述无权更新配置中配置信息的名称进行匹配;

若所述目标应用的名称与所述无权更新配置中配置信息的名称相匹配,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限;

若所述目标应用的名称与所述无权更新配置中配置信息的名称不匹配,则判定所述目标应用的加载权限检测合格,所述目标应用针对所述升级包路径具有加载权限;

若所述无权更新配置中未存储有配置信息,则判定所述目标应用的加载权限检测不合格,所述目标应用针对所述升级包路径不具有加载权限。

目录查询模块11,用于若所述目标应用的加载权限检测合格,则根据所述升级包路径获取升级包目录,并查询所述目标应用对应的启动目录,所述启动目录包括启动所述目标应用所需要加载的启动文件。

其中,所述目录查询模块11还用于:获取所述权限配置文件中的目标版本号,并根据所述升级包路径进行目录查询;

若查询到的目录的版本号与所述目标版本号相同,则将查询到的目录设置为所述升级包目录。

优选的,所述目录查询模块11还用于:若查询到的目录的版本号与所述目标版本号不相同,则判定所述升级包路径为无效路径;

若所述升级包路径为所述无效路径,则停止对所述目标应用的静默升级操作。

升级文件加载模块12,用于将所述升级包目录中的升级文件与所述启动目录中的所述启动文件进行匹配,并对匹配成功的所述升级文件进行加载,以对所述升级文件相匹配的所述启动文件进行升级。

其中,所述升级文件加载模块12还用于:分别获取所述升级文件和所述启动文件的文件名称;

若任一所述升级文件和所述启动文件的名称相同,则判定所述升级文件与所述启动文件相匹配,并对匹配成功的所述升级文件进行加载。

启动文件加载模块13,用于对未匹配成功的所述启动文件进行加载,并在所述启动文件加载完成后,对所述目标应用进行初始化操作,以完成所述目标应用的静默升级操作。

本实施例中,目标应用在实现局部静默升级时,均是采用相同的方式进行升级包路径的查询、目标应用的加载权限检测、启动目录的查询、升级文件的加载和启动文件的加载操作,进而无需设置不同的脚本进行应用的启动,降低了应用维护成本和开发效率,通过根据升级包路径对目标应用进行加载权限检测的设计,以判定目标应用是否需要对升级包路径对应的升级文件进行加载,进而防止了无效升级文件的加载,提高了应用静默升级效率,通过将升级包目录中的升级文件与启动目录中的启动文件进行匹配的设计,以查询需要升级的启动文件,通过对匹配成功的升级文件进行加载,以达到对对应启动文件升级的效果,并基于对启动文件的升级,达到对目标应用静默升级的效果。

需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图5为本申请第五实施例提供的终端设备2的结构示意图。如图5所示,该实施例的终端设备2包括:至少一个处理器20(图5中仅示出一个处理器)、存储器21以及存储在所述存储器21中并可在所述至少一个处理器20上运行的计算机程序22,所述处理器20执行所述计算机程序22时实现上述任意各个方法实施例中的步骤。

所述终端设备2可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器20、存储器21。本领域技术人员可以理解,图5仅仅是终端设备2的举例,并不构成对终端设备2的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器20可以是中央处理单元(centralprocessingunit,cpu),该处理器20还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器21在一些实施例中可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21在另一些实施例中也可以是所述终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器21还可以既包括所述终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储操作系统、应用进程、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。

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

本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。

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

本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。

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

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

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

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

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1