CN111078264A - 应用升级方法及装置 - Google Patents
应用升级方法及装置 Download PDFInfo
- Publication number
- CN111078264A CN111078264A CN201811232259.3A CN201811232259A CN111078264A CN 111078264 A CN111078264 A CN 111078264A CN 201811232259 A CN201811232259 A CN 201811232259A CN 111078264 A CN111078264 A CN 111078264A
- Authority
- CN
- China
- Prior art keywords
- patch
- file
- target
- directory
- dependent
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
Abstract
本发明是关于一种应用升级方法及装置,属于计算机技术领域。该应用升级方法包括:在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,补丁目录下的目标补丁文件基于生成时间进行排序;控制目标应用基于加载的目标补丁文件进行升级。本发明在进行升级时,针对预先排序的目标补丁文件加载目标补丁文件即可完成应用升级,对目标应用的原文件没有进行改动,解决了相关技术中在进行应用升级时需要对应用的原文件执行备份操作,操作较繁琐的问题,实现了无需对应用的原文件执行备份操作,简化升级操作的效果,用于应用升级。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用升级方法及装置。
背景技术
随着终端技术的快速发展,终端的性能越来越高,用户可以在终端中安装多种应用。通常,用户在终端上安装的应用可能会存在漏洞或者功能单一等问题,所以用户会定期对这些应用进行升级,以修复漏洞或者丰富应用的功能。
相关技术中,在对基于java语言的操作系统的终端进行应用升级时,需要对应用的原文件(即原有的程序文件)进行修改。为了避免应用升级失败而导致应用的原文件丢失,用户会先对应用的原文件执行备份操作,然后采用应用的更新文件对原文件进行替换,完成应用升级。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
在进行应用升级时,需要对应用的原文件执行备份操作,操作较繁琐。
发明内容
本发明实施例提供了一种应用升级方法及装置,可以解决相关技术中在进行应用升级时,需要对应用的原文件执行备份操作,操作较繁琐的问题。所述技术方案如下:
根据本发明实施例的第一方面,提供一种应用升级方法,所述方法包括:
在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,所述补丁目录下的目标补丁文件基于生成时间进行排序;
控制所述目标应用基于加载的目标补丁文件进行升级。
可选地,所述在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件之前,所述方法还包括:
检测所述补丁目录下的目标补丁文件是否存在与所述目标补丁文件有运行依赖关系的依赖补丁文件;
当所述补丁目录下的目标补丁文件不存在所述依赖补丁文件时,获取所述依赖补丁文件至所述补丁目录下。
可选地,补丁目录下存放目标补丁文件和与目标补丁文件有运行依赖关系的依赖补丁文件。当补丁目录下存放依赖补丁文件时,加载目标补丁文件时一并加载依赖补丁文件。
可选地,补丁目录下仅存放目标补丁文件,不存放与目标补丁文件有运行依赖关系的依赖补丁文件。当补丁目录下不存放依赖补丁文件时,可以获取依赖补丁文件至补丁目录下,然后在加载目标补丁文件时一并加载依赖补丁文件。
可选地,所述不同目标补丁文件的版本不同,每个所述目标补丁文件具有版本号,存在有运行依赖关系的目标补丁文件还包括依赖描述文件,所述依赖描述文件中记录有所述依赖补丁文件的版本号,
所述检测所述补丁目录下的目标补丁文件是否存在与所述目标补丁文件有运行依赖关系的依赖补丁文件,包括:
从所述目标补丁文件中的依赖描述文件获取所述依赖补丁文件的版本号;
检测所述补丁目录下的补丁文件的版本号是否包括所述依赖补丁文件的版本号;
当所述补丁目录下的补丁文件的版本号不包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件不存在所述依赖补丁文件;
当所述补丁目录下的补丁文件的版本号包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件存在所述依赖补丁文件。
可选地,所述补丁目录下的目标补丁文件基于生成时间由近及远进行排序,在加载所述补丁目录下预先排序的目标补丁文件时从生成时间最近的目标补丁文件开始加载。
可选地,存在有运行依赖关系的目标补丁文件与所述依赖补丁文件基于运行依赖链路进行排序。
根据本发明实施例的第二方面,提供一种应用升级装置,所述装置包括:
加载模块,用于在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,所述补丁目录下的目标补丁文件基于生成时间进行排序;
升级模块,用于控制所述目标应用基于加载的目标补丁文件进行升级。
可选地,所述装置还包括:
检测模块,用于检测所述补丁目录下的目标补丁文件是否存在与所述目标补丁文件有运行依赖关系的依赖补丁文件;
获取模块,用于在所述补丁目录下的目标补丁文件不存在所述依赖补丁文件时,获取所述依赖补丁文件至所述补丁目录下。
可选地,补丁目录下存放目标补丁文件和与目标补丁文件有运行依赖关系的依赖补丁文件。当补丁目录下存放依赖补丁文件时,加载目标补丁文件时一并加载依赖补丁文件。
可选地,补丁目录下仅存放目标补丁文件,不存放与目标补丁文件有运行依赖关系的依赖补丁文件。当补丁目录下不存放依赖补丁文件时,获取模块可以获取依赖补丁文件至补丁目录下,然后在加载目标补丁文件时一并加载依赖补丁文件。
可选地,所述不同目标补丁文件的版本不同,每个所述目标补丁文件具有版本号,存在有运行依赖关系的目标补丁文件还包括依赖描述文件,所述依赖描述文件中记录有所述依赖补丁文件的版本号,所述检测模块,用于:
从所述目标补丁文件中的依赖描述文件获取所述依赖补丁文件的版本号;
检测所述补丁目录下的补丁文件的版本号是否包括所述依赖补丁文件的版本号;
当所述补丁目录下的补丁文件的版本号不包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件不存在所述依赖补丁文件;
当所述补丁目录下的补丁文件的版本号包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件存在所述依赖补丁文件。
可选地,所述补丁目录下的目标补丁文件基于生成时间由近及远进行排序,在加载所述补丁目录下预先排序的目标补丁文件时从生成时间最近的目标补丁文件开始加载。
可选地,存在有运行依赖关系的目标补丁文件与所述依赖补丁文件基于运行依赖链路进行排序。
根据本发明实施例的第三方面,提供一种计算机设备,包括处理器、通信接口、存储器和通信总线,
其中,所述处理器,所述通信接口和所述存储器通过总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,实现第一方面所述的应用升级方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的应用升级方法。
本发明实施例提供的技术方案可以包括以下有益效果:
本发明实施例提供的应用升级方法及装置,在接收到针对目标应用的升级指令后,能够加载补丁目录下的一个或多个目标补丁文件,并控制目标应用基于加载的目标补丁文件进行升级,由于补丁目录下存放的目标补丁文件基于生成时间进行排序,所以在进行升级时,针对预先排序的目标补丁文件加载目标补丁文件即可完成应用升级,无需对目标应用的原文件进行替换,对目标应用的原文件没有进行改动,所以无需执行备份操作,简化了升级操作。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种应用升级方法的流程图;
图2是根据一示例性实施例示出的另一种应用升级方法的流程图;
图3是图2所示实施例中一种检测依赖补丁文件的流程图;
图4是根据一示例性实施例示出的一种应用升级装置的结构示意图;
图5是根据一示例性实施例示出的另一种应用升级装置的结构示意图;
图6是根据一示例性实施例示出的一种计算机设备的结构示意图。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1是根据一示例性实施例示出的一种应用升级方法的流程图。该应用升级方法可以用于终端。示例的,该终端可以为智能手机,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等,该终端的操作系统可以是基于Java语言的操作系统。如图1所示,该应用升级方法包括:
步骤101、在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,补丁目录下的目标补丁文件基于生成时间进行排序。
在本实施例中,补丁目录下的目标补丁文件基于生成时间进行排序,比如补丁目录下的目标补丁文件可以基于生成时间由近及远进行排序,也即是,生成时间最近的目标补丁文件(即最新的目标补丁文件)排在首位,生成时间最远的目标补丁文件排在末位。
其中,目标补丁文件是根据目标应用原文件中发生变化的子文件生成的。生成的目标补丁文件的格式为jar格式,即目标补丁文件是一个jar包(也称作压缩包),其内部包括多个JAVA类文件。
步骤102、控制目标应用基于加载的目标补丁文件进行升级。
启动目标应用,以使目标应用基于加载的目标补丁文件完成升级。
本发明实施例提供的应用升级方法,在接收到针对目标应用的升级指令后,能够加载补丁目录下的一个目标补丁文件或多个目标补丁文件,并控制目标应用基于加载的目标补丁文件进行升级,由于补丁目录下存放的目标补丁文件基于生成时间进行排序,所以在进行升级时,针对预先排序的目标补丁文件加载目标补丁文件即可完成应用升级,无需对目标应用的原文件(即原有的程序文件)进行替换,对目标应用的原文件没有进行改动,所以无需执行备份操作,简化了升级操作。
可选的,当补丁目录下的目标补丁文件被加载时需要依赖其余补丁文件时,可以先检测补丁目录下的目标补丁文件是否存在与该目标补丁文件有运行依赖关系的依赖补丁文件。如果补丁目录下的目标补丁文件不存在依赖补丁文件时,则获取依赖补丁文件至补丁目录下。示例的,如图2所示,该应用升级方法可以包括:
步骤201、检测补丁目录下的目标补丁文件是否存在与该目标补丁文件有运行依赖关系的依赖补丁文件。
依赖补丁文件与目标补丁文件有运行依赖关系,也即是,目标补丁文件被加载时需要依赖该依赖补丁文件。与目标补丁文件有运行依赖关系的依赖补丁文件可以有一个,也可以有多个。补丁目录下存在依赖补丁文件的目标补丁文件可以有一个,也可以有多个,本实施例对此不做限定。
在本实施例中,不同目标补丁文件的版本不同,每个目标补丁文件具有一个版本号。存在有运行依赖关系的目标补丁文件还可以包括依赖描述文件,该依赖描述文件中记录有依赖补丁文件的版本号。为了检测补丁目录下的目标补丁文件是否存在与其有运行依赖关系的依赖补丁文件,示例的,如图3所示,步骤201可以包括:
步骤2011、从目标补丁文件中的依赖描述文件获取依赖补丁文件的版本号。
步骤2012、检测补丁目录下的补丁文件的版本号是否包括依赖补丁文件的版本号。
在步骤2012中,检测补丁目录下的补丁文件的版本号是否包括依赖补丁文件的版本号。当补丁目录下的补丁文件的版本号不包括依赖补丁文件的版本号时,执行步骤2013;当补丁目录下的补丁文件的版本号包括依赖补丁文件的版本号时,执行步骤2014。
步骤2013、确定补丁目录下的目标补丁文件不存在依赖补丁文件。
步骤2014、确定补丁目录下的目标补丁文件存在依赖补丁文件。
假设存在有运行依赖关系的目标补丁文件为文件A,与文件A有运行依赖关系的依赖补丁文件为文件B和文件C。文件A可以包括依赖描述文件,该依赖描述文件中记录有文件B和文件C的版本号。终端从文件A的依赖描述文件中获取文件B和文件C的版本号,并检测补丁目录下的补丁文件的版本号是否包括文件B和文件C的版本号。当补丁目录下的补丁文件的版本号不包括文件B和文件C的版本号时,可以确定补丁目录下的文件A不存在文件B和文件C;当补丁目录下的补丁文件的版本号包括文件B和文件C的版本号时,可以确定补丁目录下的文件A存在文件B和文件C。
示例的,文件A的依赖描述文件可以如下所示,该依赖描述文件中记录有文件A的版本号:103,文件B的版本号:102,以及文件C的版本号:101。
其中,<name>与</name>这两个标记符表示目标补丁文件的文件名称,<version>与</version>这两个标记符表示补丁文件的版本号,<dependencies>和</dependencies>这两个标记符表示需要依赖补丁文件的信息,该信息包括依赖补丁文件的版本号。
步骤202、当补丁目录下的目标补丁文件不存在依赖补丁文件时,获取依赖补丁文件至补丁目录下。
在本实施例中,一方面,补丁目录下可以存放目标补丁文件和与目标补丁文件有运行依赖关系的依赖补丁文件。当补丁目录下存放依赖补丁文件时,加载目标补丁文件时一并加载依赖补丁文件;另一方面,补丁目录下也可以仅存放目标补丁文件,不存放与目标补丁文件有运行依赖关系的依赖补丁文件。当补丁目录下不存放依赖补丁文件时,可选地,可以从本地的补丁管理应用下载依赖补丁文件至补丁目录下,然后在加载目标补丁文件时一并加载依赖补丁文件,以达到成功加载目标补丁文件的目的。其中,补丁管理应用用于存储和管理对目标应用进行升级的补丁文件。
步骤203、在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,补丁目录下的目标补丁文件基于生成时间进行排序。
在接收到针对目标应用的升级指令后,可以加载补丁目录下的一个目标补丁文件,也可以加载多个目标补丁文件。比如在应用维护过程中需要进行多次升级,在这种情况下,可以加载多个目标补丁文件,且多个目标补丁文件基于生成时间进行排序。
示例的,升级指令可以包括待加载的目标补丁文件的文件标识。终端可以根据升级指令中的文件标识从补丁目录下排序的目标补丁文件查找对应的目标补丁文件,然后加载查找到的目标补丁文件。
在本实施例中,补丁目录下的目标补丁文件基于生成时间进行排序。示例的,补丁目录下的目标补丁文件可以基于生成时间由近及远进行排序,即生成时间最近的目标补丁文件排在首位,生成时间最远的目标补丁文件排在末位。在加载补丁目录下预先排序的目标补丁文件时,可以从生成时间最近的目标补丁文件开始加载。
由于不同目标补丁文件的版本不同,每个目标补丁文件具有版本号,版本号越大,目标补丁文件的生成时间越近,因此,可以按照目标补丁文件的版本号从大到小对多个目标补丁文件进行排序,排在首位的目标补丁文件的生成时间最近。
示例的,补丁目录下一共存放有4个目标补丁文件,这4个目标补丁文件的版本号分别为:101、102、103和104。其中,版本号为104的目标补丁文件的生成时间最近,版本号为101的目标补丁文件的生成时间最远,那么按照版本号从大到小对这4个目标补丁文件进行排序,排序后,版本号为104的目标补丁文件排在首位,版本号为101的目标补丁文件排在末位。
可选的,存在运行依赖关系的目标补丁文件与依赖补丁文件基于运行依赖链路进行排序。在加载目标补丁文件时,可以按照该顺序进行加载,以完成目标补丁文件的加载过程。其中,依赖运行链路用于指示目标补丁文件与依赖补丁文件的运行依赖关系,该依赖运行链路可以从目标补丁文件的依赖描述文件中得到。
比如,目标补丁文件为文件A,与文件A有运行依赖关系的依赖补丁文件为文件B和文件C,且文件A的版本号为103,文件B的版本号为102,文件C的版本号为101。文件A包括的依赖描述文件如前文中的<patch>与</patch>之间的内容所示,那么文件A,文件B和文件C基于运动依赖链路进行排序后的结果为:B,C,A。加载文件A时,依次加载文件B、文件C和文件A。
在本实施例中,可以将补丁目录的存储路径,以及基于生成时间由近及远排序的目标补丁文件的文件标识记录至Classpath中,之后通过Classloader根据Classpath中记录的存储路径以及文件标识加载目标补丁文件。Classloader为JAVA类文件加载器。Classpath为Java类文件存储路径,用于使Java执行环境在补丁目录下找到所要执行的Java程序所需要的目标补丁文件。
步骤204、控制目标应用基于加载的目标补丁文件进行升级。
启动目标应用,以使目标应用基于加载的目标补丁文件完成升级。
示例的,可以将目标应用的原文件的存储路径记录至Classpath中,且原文件的存储路径在Classpath中的位置位于补丁目录的存储路径在Classpath中的位置之后,终端通过Classloader加载目标补丁文件时,先根据Classpath中记录的补丁目录的存储路径优先加载补丁目录下的目标补丁文件,使目标补丁文件生效,再根据Classpath中记录的原文件的存储路径启动目标应用,以使目标应用基于加载的目标补丁文件完成升级。
综上所述,本发明实施例提供了一种非侵入性的应用升级方法,在接收到针对目标应用的升级指令后,能够加载补丁目录下的一个或多个目标补丁文件,并控制目标应用基于加载的目标补丁文件进行升级,由于补丁目录下存放的目标补丁文件基于生成时间进行排序,所以在进行升级时,针对预先排序的目标补丁文件记载目标补丁文件即可完成应用升级,无需对目标应用的原文件进行替换,对目标应用的原文件没有进行改动,所以无需执行备份操作,简化了升级操作。
需要说明的是,本公开实施例提供的应用升级方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本公开的保护范围之内,因此不再赘述。
图4是根据一示例性实施例示出的一种应用升级装置400的结构示意图,该装置400包括:
加载模块410,用于在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,补丁目录下的目标补丁文件基于生成时间进行排序。
升级模块420,用于控制目标应用基于加载的目标补丁文件进行升级。
图5是本发明在图4的基础上提供的另一种应用升级装置400的结构示意图。如图5所示,该装置400还可以包括:
检测模块430,用于检测补丁目录下的目标补丁文件是否存在与目标补丁文件有运行依赖关系的依赖补丁文件。
获取模块440,用于在补丁目录下的目标补丁文件不存在依赖补丁文件时,获取依赖补丁文件至补丁目录下。
一方面,补丁目录下可以存放目标补丁文件和与目标补丁文件有运行依赖关系的依赖补丁文件。当补丁目录下存放依赖补丁文件时,加载目标补丁文件时一并加载依赖补丁文件;另一方面,补丁目录下也可以仅存放目标补丁文件,不存放与目标补丁文件有运行依赖关系的依赖补丁文件,当补丁目录下不存放依赖补丁文件时,可以获取依赖补丁文件至补丁目录下,然后在加载目标补丁文件时一并加载依赖补丁文件。
可选地,不同目标补丁文件的版本不同,每个目标补丁文件具有版本号,存在有运行依赖关系的目标补丁文件还包括依赖描述文件,该依赖描述文件中记录有依赖补丁文件的版本号,检测模块430用于:
从目标补丁文件中的依赖描述文件获取依赖补丁文件的版本号;
检测补丁目录下的补丁文件的版本号是否包括依赖补丁文件的版本号;
当补丁目录下的补丁文件的版本号不包括依赖补丁文件的版本号时,确定补丁目录下的目标补丁文件不存在依赖补丁文件;
当补丁目录下的补丁文件的版本号包括依赖补丁文件的版本号时,确定补丁目录下的目标补丁文件存在依赖补丁文件。
可选地,补丁目录下的目标补丁文件基于生成时间由近及远进行排序,在加载补丁目录下预先排序的目标补丁文件时从生成时间最近的目标补丁文件开始加载。
可选地,存在有运行依赖关系的目标补丁文件与依赖补丁文件基于运行依赖链路进行排序。
综上所述,本发明实施例提供的应用升级装置,加载模块在接收到针对目标应用的升级指令后,能够加载补丁目录下的一个或多个目标补丁文件,升级模块控制目标应用基于加载的目标补丁文件进行升级,由于补丁目录下存放的目标补丁文件基于生成时间进行排序,所以在进行升级时,针对预先排序的目标补丁文件记载目标补丁文件即可完成应用升级,无需对目标应用的原文件进行替换,对目标应用的原文件没有进行改动,所以无需执行备份操作,简化了升级操作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如图6所示,本发明实施例还提供了一种计算机设备800,包括处理器801、通信接口802、存储器803和通信总线804,
其中,处理器801,通信接口802和存储器803通过总线完成相互间的通信;
存储器803,用于存放计算机程序8031;
处理器801,用于执行存储器803上所存放的计算机程序,实现图1或图2所示的应用升级方法。
本发明实施例还提供了一种计算机可读存储介质,该存储介质为非易失性可读存储介质,该存储介质内存储有计算机程序,计算机程序被处理器执行时实现图1或图2所示的应用升级方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图1或图2所示的应用升级方法。
本发明实施例还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如图1或图2所示的应用升级方法。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种应用升级方法,其特征在于,所述方法包括:
在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,所述补丁目录下的目标补丁文件基于生成时间进行排序;
控制所述目标应用基于加载的目标补丁文件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件之前,所述方法还包括:
检测所述补丁目录下的目标补丁文件是否存在与所述目标补丁文件有运行依赖关系的依赖补丁文件;
当所述补丁目录下的目标补丁文件不存在所述依赖补丁文件时,获取所述依赖补丁文件至所述补丁目录下。
3.根据权利要求2所述的方法,其特征在于,所述不同目标补丁文件的版本不同,每个所述目标补丁文件具有版本号,存在有运行依赖关系的目标补丁文件还包括依赖描述文件,所述依赖描述文件中记录有所述依赖补丁文件的版本号,
所述检测所述补丁目录下的目标补丁文件是否存在与所述目标补丁文件有运行依赖关系的依赖补丁文件,包括:
从所述目标补丁文件中的依赖描述文件获取所述依赖补丁文件的版本号;
检测所述补丁目录下的补丁文件的版本号是否包括所述依赖补丁文件的版本号;
当所述补丁目录下的补丁文件的版本号不包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件不存在所述依赖补丁文件;
当所述补丁目录下的补丁文件的版本号包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件存在所述依赖补丁文件。
4.根据权利要求2所述的方法,其特征在于,所述补丁目录下的目标补丁文件基于生成时间由近及远进行排序,在加载所述补丁目录下预先排序的目标补丁文件时从生成时间最近的目标补丁文件开始加载。
5.根据权利要求4所述的方法,其特征在于,存在有运行依赖关系的目标补丁文件与所述依赖补丁文件基于运行依赖链路进行排序。
6.一种应用升级装置,其特征在于,所述装置包括:
加载模块,用于在接收到针对目标应用的升级指令后,加载补丁目录下的一个或多个目标补丁文件,所述补丁目录下的目标补丁文件基于生成时间进行排序;
升级模块,用于控制所述目标应用基于加载的目标补丁文件进行升级。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测所述补丁目录下的目标补丁文件是否存在与所述目标补丁文件有运行依赖关系的依赖补丁文件;
获取模块,用于在所述补丁目录下的目标补丁文件不存在所述依赖补丁文件时,获取所述依赖补丁文件至所述补丁目录下。
8.根据权利要求7所述的装置,其特征在于,所述不同目标补丁文件的版本不同,每个所述目标补丁文件具有版本号,存在有运行依赖关系的目标补丁文件还包括依赖描述文件,所述依赖描述文件中记录有所述依赖补丁文件的版本号,所述检测模块,用于:
从所述目标补丁文件中的依赖描述文件获取所述依赖补丁文件的版本号;
检测所述补丁目录下的补丁文件的版本号是否包括所述依赖补丁文件的版本号;
当所述补丁目录下的补丁文件的版本号不包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件不存在所述依赖补丁文件;
当所述补丁目录下的补丁文件的版本号包括所述依赖补丁文件的版本号时,确定所述补丁目录下的目标补丁文件存在所述依赖补丁文件。
9.根据权利要求7所述的装置,其特征在于,所述补丁目录下的目标补丁文件基于生成时间由近及远进行排序,在加载所述补丁目录下预先排序的目标补丁文件时从生成时间最近的目标补丁文件开始加载。
10.根据权利要求9所述的装置,其特征在于,存在有运行依赖关系的目标补丁文件与所述依赖补丁文件基于运行依赖链路进行排序。
11.一种计算机设备,其特征在于,包括处理器、通信接口、存储器和通信总线,
其中,所述处理器,所述通信接口和所述存储器通过总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,实现权利要求1至5任一所述的应用升级方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述的应用升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811232259.3A CN111078264A (zh) | 2018-10-22 | 2018-10-22 | 应用升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811232259.3A CN111078264A (zh) | 2018-10-22 | 2018-10-22 | 应用升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078264A true CN111078264A (zh) | 2020-04-28 |
Family
ID=70309945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811232259.3A Pending CN111078264A (zh) | 2018-10-22 | 2018-10-22 | 应用升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078264A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101137177A (zh) * | 2007-10-10 | 2008-03-05 | 中兴通讯股份有限公司 | 一种无线通信系统中管理软件补丁的方法 |
US20100257517A1 (en) * | 2009-04-01 | 2010-10-07 | Oracle International Corporation | Reducing downtime when patching multiple inter-dependent software components |
CN103246528A (zh) * | 2012-02-10 | 2013-08-14 | 中兴通讯股份有限公司 | 软件升级方法和装置 |
CN103823693A (zh) * | 2011-02-21 | 2014-05-28 | 北京奇虎科技有限公司 | 补丁包安装方法 |
CN103870310A (zh) * | 2014-02-18 | 2014-06-18 | 小米科技有限责任公司 | 程序编译方法及相关装置 |
CN105320554A (zh) * | 2015-12-11 | 2016-02-10 | 网易(杭州)网络有限公司 | 程序更新的方法、用于程序更新的客户端及系统 |
CN106020873A (zh) * | 2016-05-13 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 补丁包加载方法及装置 |
CN106201614A (zh) * | 2016-07-11 | 2016-12-07 | 天津中兴智联科技有限公司 | 一种可对多种同类软件进行链式升级的通用方法及系统 |
-
2018
- 2018-10-22 CN CN201811232259.3A patent/CN111078264A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101137177A (zh) * | 2007-10-10 | 2008-03-05 | 中兴通讯股份有限公司 | 一种无线通信系统中管理软件补丁的方法 |
US20100257517A1 (en) * | 2009-04-01 | 2010-10-07 | Oracle International Corporation | Reducing downtime when patching multiple inter-dependent software components |
CN103823693A (zh) * | 2011-02-21 | 2014-05-28 | 北京奇虎科技有限公司 | 补丁包安装方法 |
CN103246528A (zh) * | 2012-02-10 | 2013-08-14 | 中兴通讯股份有限公司 | 软件升级方法和装置 |
CN103870310A (zh) * | 2014-02-18 | 2014-06-18 | 小米科技有限责任公司 | 程序编译方法及相关装置 |
CN105320554A (zh) * | 2015-12-11 | 2016-02-10 | 网易(杭州)网络有限公司 | 程序更新的方法、用于程序更新的客户端及系统 |
CN106020873A (zh) * | 2016-05-13 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 补丁包加载方法及装置 |
CN106201614A (zh) * | 2016-07-11 | 2016-12-07 | 天津中兴智联科技有限公司 | 一种可对多种同类软件进行链式升级的通用方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3333704B1 (en) | Method and apparatus for repairing kernel vulnerability | |
US10120672B2 (en) | Method for offline updating virtual machine images | |
CN107769949B (zh) | 一种应用组件部署方法及部署节点 | |
US9928059B1 (en) | Automated deployment of a multi-version application in a network-based computing environment | |
CN109814948B (zh) | 基于xposed框架对native层函数进行hook的方法、装置及电子装置 | |
CN105159718B (zh) | 固件升级方法及装置 | |
CN108540509B (zh) | 一种终端浏览器的处理方法、装置及服务器、智能终端 | |
US10191751B2 (en) | Information processing device for generating application programming interface information | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
US20190087208A1 (en) | Method and apparatus for loading elf file of linux system in windows system | |
CN107632901A (zh) | 一种应用程序运行异常的自修复方法及装置 | |
CN111316235A (zh) | 启动系统的方法、电子设备、机器可读存储介质 | |
CN110908837A (zh) | 应用程序异常处理方法、装置、电子设备及存储介质 | |
CN113867847A (zh) | 一种异常插件处理方法、装置及计算设备 | |
US8539048B2 (en) | Electronic device and method for loading configuration files using the same | |
CN108446110A (zh) | Lua脚本生成方法、装置、终端及计算机可读介质 | |
CN108536456A (zh) | 一种智能设备升级方法及系统 | |
CN112631621A (zh) | 一种依赖包管理方法、装置、服务器及存储介质 | |
CN105700900A (zh) | 一种优化无线局域网功能的方法及装置 | |
CN102184115B (zh) | 升级系统软件的方法及终端设备 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN111078264A (zh) | 应用升级方法及装置 | |
CN113791809B (zh) | 应用异常处理方法、装置以及计算机可读存储介质 | |
CN114327574A (zh) | 一种差分升级方法、电子设备及存储介质 | |
CN115964061A (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 |