CN111913733A - 制作自动升级包方法、装置、计算机设备和存储介质 - Google Patents
制作自动升级包方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111913733A CN111913733A CN202010518484.4A CN202010518484A CN111913733A CN 111913733 A CN111913733 A CN 111913733A CN 202010518484 A CN202010518484 A CN 202010518484A CN 111913733 A CN111913733 A CN 111913733A
- Authority
- CN
- China
- Prior art keywords
- set information
- change set
- upgrade package
- target application
- compiling
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000003860 storage Methods 0.000 title claims abstract description 32
- 230000008859 change Effects 0.000 claims abstract description 141
- 238000004519 manufacturing process Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000011022 operating instruction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种制作自动升级包方法方法、装置、计算机设备和存储介质,通过获取目标应用程序的起始变更集信息和终止变更集信息,其中,终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间,然后对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果,并根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包,该方法降低了人为参与造成的升级失败概率,使得自动升级包更加精确,从而更加方便、精准地进行软件升级。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种制作自动升级包方法、装置、计算机设备和存储介质。
背景技术
软件在应用过程中都面临着迭代更新和升级问题。
以单机应用软件为例,通常单机应用软件在进行迭代升级中主要过程包括:首先是对修改的工程代码进行编译,手动提取出需要更新的文件(例如,*.dll、*.xml等),接着是把提取出的更新文件在生产环境中进行替换。整个过程显得比较繁琐,由于涉及到较多人为操作,容易导致提取的文件不全,最终造成升级失败。
因此,如何更加方便、精准地进行软件升级成为亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够更加方便、精准地进行软件升级的制作自动升级包方法、装置、计算机设备和存储介质。
第一方面,本申请提供一种制作自动升级包的方法,该方法包括:
获取目标应用程序的起始变更集信息和终止变更集信息;终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间;
对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果;
根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包。
在其中一个实施例中,上述根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包,包括:
对比第一编译结果和第二编译结果,得到第一编译文件和第二编译文件之间的差异文件;
根据差异文件确定目标应用程序的自动升级包。
在其中一个实施例中,在上述制作目标应用程序的自动升级包之后,该方法还包括:
根据预设的运行机制,运行自动升级包,以对目标应用程序进行升级。
在其中一个实施例中,上述运行自动升级包以对目标应用程序进行升级,包括:
根据注册表信息,获取需要替换的程序文件的对应路径位置;
将自动升级包替换并覆盖对应路径位置中的原程序文件;
根据自动升级包重新启动目标应用程序,完成对目标应用程序的升级。
在其中一个实施例中,将上述自动升级包替换并覆盖对应路径位置中的原程序文件之后,该方法还包括:
检测备份数据库是否存在自动升级包;备份数据库用于备份应用程序的更新程序文件;
若不存在,将自动升级包存储至备份数据库中进行备份。
在其中一个实施例中,在上述将自动升级包替换目标路径位置中的原文件之前,该方法还包括:
检测目标应用程序是否处于运行状态;
若目标应用程序处于运行状态,停止运行应用程序。
在其中一个实施例中,上述预设的运行机制包括:在制作完成自动升级包之后检测到用户触发的运行指令;或者,在制作自动升级包后达到了预设时长。
第二方面,本申请提供一种制作自动升级包的装置,该装置包括:
信息获取模块,用于获取目标应用程序的起始变更集信息和终止变更集信息;终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间;
编译模块,用于对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果;
升级包制作模块,用于根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包。
第三方面,本申请提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面实施例提供的任一方法的步骤。
第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面实施例提供的任一方法的步骤。
本申请实施例提供的一种制作自动升级包方法方法、装置、计算机设备和存储介质,通过获取目标应用程序的起始变更集信息和终止变更集信息,其中,终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间,然后对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果,并根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包,该方法中计算机设备基于代码库中的变更集信息,自动获取起始变更集信息和终止变更集信息,然后自动进行编译后制作自动升级包,降低了人为参与造成的升级失败概率,使得自动升级包更加精确,从而更加方便、精准地进行软件升级。
附图说明
图1为一个实施例中提供的制作自动升级包方法的应用环境图;
图2为一个实施例中提供的制作自动升级包方法的流程示意图;
图3为一个实施例中提供的制作自动升级包方法的流程示意图;
图4为一个实施例中提供的制作自动升级包方法的流程示意图;
图5为一个实施例中提供的制作自动升级包方法的流程示意图;
图6为一个实施例中提供的制作自动升级包方法的流程示意图;
图7为一个实施例中提供的制作自动升级包方法的示意图;
图8为一个实施例中制作自动升级包装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的制作自动升级包方法,可以应用于如图1所示的应用环境中。其中,该制作自动升级包方法应用在图1所示的计算机设备中,该计算机设备可以是服务器,其内部结构图请参见图1。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储制作自动升级包的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种制作自动升级包的方法。
现有技术中在对应用程序进行升级包制作中,采用的均是手动提取更新文件后,在生产环境中进行手动覆盖操作。具体地,现有技术制作升级包及升级流程包括:对代码修改后,采用集成开发环境(IntegratedDevelopment Environment,IDE)工具进行编译,并根据修改的代码,手动提取需要更新的文件,提取出的更新文件制作压缩包,手动解压升级包,手动停止服务并进行数据库备份等操作,更新文件替换和覆盖,然后重新启动服务后升级结束。整个制作软件升级包方法存在以下不足:(1)手动提取更新文件耗时、容易出错;(2)手动替换更新文件过程繁琐,容易造成升级失败。鉴于此,本申请实施例提供的一种制作自动升级包的方法、装置、计算机设备和存储介质,能够更加方便、精准地进行软件升级。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请提供的一种制作自动升级包的方法,图2-图7的执行主体为计算机设备,其中,图2-图7的执行主体还可以是制作自动升级包装置,其中该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在一个实施例中,如图2所示,提供了一种制作自动升级包方法,以该方法应用于图1中的计算机设备为例进行说明,该实施例包括以下步骤:
S101,获取目标应用程序的起始变更集信息和终止变更集信息;终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间。
其中,目标应用程序表示当前次需要升级的应用程序。其中,变更集指的是收集了应用程序各版本之间的区别文件、目录和组件等信息的集合,即变更集中的信息主要反映的是增量内容。该变更集存储在代码库中,不同版本的变更集可根据版本更新的时间进行区分,多个版本的变更集信息可组成该应用程序的变更集信息列表。
其中,终止变更集信息是变更集信息列表中最新存储的变更集信息,即,最晚时间存储到变更集信息列表中的变更集信息。而起始变更集信息指的是目标应用程序当前版本对应的变更集信息,其存储时间早于终止变更集信息的存储时间的变更集,由于对一个应用程序进行升级可以是从最近一次版本升级到最新版本,也可以是从较旧的版本间隔升级到最新版本,所以这里对起始变更集信息是早于终止变更集信息多长时间不做限定,例如,起始变更集信息可以是终止变更集信息目标应用程序上次版本对应变更集信息,还可以是目标应用程序之前任何一次版本对应的变更集信息。
实际应用中,计算机设备设备确定起始变更集信息可以依据目标应用程序当前的版本确定对应的变更集信息,然后从目标应用程序的变更集信息列表中,获取目标应用程序的对应起始变更集信息和终止变更集信息。
S102,对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果。
在获取了起始变更集信息和终止变更集信息后,分别对两个信息进行编译,对应得到起始变更集信息的第一编译结果和终止变更集信息的第二编译结果。其中,计算机设备对起始变更集信息和终止变更集信息编译的方式可以是采用预置的编译器进行编译,也可以是计算机设备将起始变更集信息和终止变更集信息发送给其他设备,请求其他设备进行编译,然后接收其他设备返回的编译结果。
S103,根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包。
基于上述得到的第一编译结果和第二编译结果,计算机设备制作目标应用程序的自动升级包。例如,根据第一编译结果和第二编译结果的差异文件作为目标应用程序的自动升级包,也可以是其他方式,本申请对此不加以限制。
本实施例提供的制作自动升级包方法,通过获取目标应用程序的起始变更集信息和终止变更集信息,其中,终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间,然后对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果,并根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包,该方法中计算机设备基于代码库中的变更集信息,自动获取起始变更集信息和终止变更集信息,然后自动进行编译后制作自动升级包,降低了人为参与造成的升级失败概率,使得自动升级包更加精确,从而更加方便、精准地进行软件升级。
对于上述制作自动升级包的过程,提供一个实施例进行说明,如图3所示,在一个实施例中,上述S103步骤包括:
S201,对比第一编译结果和第二编译结果,得到第一编译文件和第二编译文件之间的差异文件。
S202,根据差异文件确定目标应用程序的自动升级包。
由于起始变更集信息表示的是目标应用程序当前版本的变更集信息,也就是目标应用程序未升级更新时,而终止变更集信息则是待更新后版本的变更集,所以对起始变更集信息和终止变更信息分别进行编译得到的是目标应用程序升级前和升级后的编译结果,那么获取这两次编译的差异文件,就可得到需要升级的程序文件。具体地,计算机设备对比第一编译结果和第二编译结果后,提取第一编译文件和第二编译文件之间的差异文件,并将该差异文件确定为目标应用程序的自动升级包。
本实施例提供的制作自动升级包方法,通过将两次编译结果之间的差异文件作为目标应用程序的自动升级包,自动提取需要更新的程序文件,使得文件的提取更加精确,从而提高自动升级包的准确度。
在上述得到目标应用程序的自动升级包之后,可以基于该自动升级包对目标应用程序进行升级,下面通过具体地实施例对计算机设备根据自动升级包对目标应用程序进行升级的过程进行详细说明。
在一个实施例中,该方法还包括:根据预设的运行机制,运行自动升级包,以对目标应用程序进行升级。可选地,预设的运行机制包括:在制作完成自动升级包之后检测到用户触发的运行指令;或者,在制作自动升级包后达到了预设时长。
其中,预设的运行机制指的是预先制定的用于触发自动升级包运行的机制,例如,计算机设备在检测到自动升级包已制作完成后的预设时长后开始自动运行该自动升级包;或者,计算机设备接收到用户触发的运行自动升级包的运行指令;又或者,是计算机设备中预先设定了触发升级包运行的触发程序,该触发程序会在预设时间下自动执行运行自动升级包的操作等;对于运行机制的具体方式和内容,本申请实施例不作以限制。
基于预设的运行机制,计算机设备运行自动升级包后实现对目标应用程序进行升级。由于升级包是用于对目标应用程序进行升级的程序包,所以需要将该程序包替换目标应用程序源代码中需要替换的程序包,对此过程,提供一个实施例进行说明,如图4所示,在一个实施例中,上述运行自动升级包以对目标应用程序进行升级的过程包括以下步骤:
S301,根据注册表信息,获取需要替换的程序文件的对应路径位置。
注册表信息即计算机设备中的用于存储系统和应用程序的设置信息的数据库,在该注册表信息中,获取该自动升级包需要替换的目标应用程序中的程序包,即程序文件,并获取该需要替换的程序文件的对应路径位置。也即是,在本步骤中定位此次自动升级需要替换的程序文件的位置。例如,该路径可以是C:\WINDOWS\SoftwareDistribution\Download,本申请实施例对此不加以限制。
S302,将自动升级包替换并覆盖对应路径位置中的原程序文件。
在确定了需要替换的程序文件的对应路径位置后,计算机设备需要将该路径位置中的程序文件删除后,用自动升级包进行替换到该路径位置,与目标应用程序中的其他程序文件形成新的程序文件。
S303,根据自动升级包重新启动目标应用程序,完成对目标应用程序的升级。
基于替换了自动升级包后的新的程序文件,运行该新的程序文件重新启动目标应用程序后,即完成了对目标应用程序的升级。需要说明的是,在执行本步骤前,目标应用程序需要处于停止服务状态,即关闭状态,所以执行本步骤需要重新启动目标应用程序。
本实施例提供的制作自动升级包方法,通过定位出需要替换的程序文件的对应路径位置,然后将该路径位置处的程序文件删除后,使用自动升级包替换,形成目标应用程序的新的完整程序文件,整个过程无需手动操作,计算机设备自动用升级包替换对应路径位置的程序文件,自动完成文件替换和服务重启,降低人为参与造成的升级失败概率,从而实现了自动升级目标应用程序。
上述实施例中在对目标应用程序进行升级的过程中,需要目标应用程序处于停止运行状态,因此在上述将自动升级包替换目标路径位置中的原文件之前,需要对目标应用程序执行停止操作,如图5所示,在一个实施例中,该方法还包括:
S401,检测目标应用程序是否处于运行状态。
S402,若目标应用程序处于运行状态,停止运行应用程序。
检测目标应用程序的状态是否为运行状态,若其状态为停止状态,无需进行任何操作,但若是运行状态需要停止运行该应用程序。当然,在计算机设备自动停止运行该应用程序时,可以通过弹出提示框,或者发出提示语音的形式提醒用户,以避免停止时机不合适对用户造成影响。例如,假设该应用程序为邮箱,用户若正在编辑重要邮件,此时若没有进行提醒而直接停止运行邮箱,就会对用户的造成较大的影响。实际应用中,还可以提供设定升级时间功能,在计算机设备制作完自动升级包后,发出升级的提示信息,指示用户指定一个具体地升级时间,之后计算机设备可以根据该升级时间对目标应用程序进行自动升级,这样,使应用程序的升级时间更加灵活。
本实施例通过检测目标应用程序的运行状态,在目标应用程序处于运行状态时,停止运行该应用程序,有效地保证了后续成功对该目标应用程序进行自动升级。
通常,每个应用程序从发版本开始都会面临软件的升级更新,且每次升级时的升级文件都不同,为了方便后续对每次升级文件进行综合利用,需要每次升级时的升级程序文件需要进行备份。如图6所示,在一个实施例中,该方法还包括:
S501,检测备份数据库是否存在自动升级包;备份数据库用于备份应用程序的更新程序文件。
其中,备份数据库中不仅可以存储应用程序每次升级时生成的升级文件(更新程序文件),还可以存储应用程序其他情况下的产生的重要数据。为了在备份数据库中对备份的各数据进行有效管理,可以通过文件区域划分、文件命名等方式将不同的数据进行区分,例如,升级过程中的文件可以存储在命名为升级文件的文件夹中,并以每次升级的时间划分子文件夹。当然,各应用程序的备份数据也可以以各应用程序的名称进行区分。具体地,本步骤中计算机设备在备份数据库中检测是否存在此次制作的自动升级包,例如,通过时间检测是否存在当前时间对应的升级包。
S502,若不存在,将自动升级包存储至备份数据库中进行备份。
若检测结果是备份数据库中已经存在此次的自动升级包,则无需再备份,但若不存在当前时间对应的升级包,计算机设备将该自动升级包存储至备份数据库中进行备份。
本实施例提供的制作自动升级包方法,通过在备份数据库中对自动升级包的备份,自动完成数据库备份,实现了对应用程序升级文件的有效管理。
请参考图7所示的,本申请还提供了一种制作自动升级包方法,该实施例包括:
S1,获取目标应用程序的起始变更集信息和终止变更集信息;
S2,对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果;
S3,获取第一编译文件和第二编译文件之间的差异文件,根据差异文件确定目标应用程序的自动升级包;
S4,运行自动升级包,以对目标应用程序进行升级;
S5,获取需要替换的程序文件的对应路径位置;
S6,备份数据库是否存在自动升级包;若是,执行S9,若否,执行S8;
S7,将自动升级包存储至备份数据库中进行备份;
S8,将自动升级包替换并覆盖对应路径位置中的原程序文件;
S9,停止运行应用程序;
S10,重新启动目标应用程序,完成对目标应用程序的升级。
上述实施例提供的制作自动升级包方法中各步骤,其实现原理和技术效果与前面各制作自动升级包方法实施例中类似,在此不再赘述。图7实施例中各步骤的实现方式只是一种举例,对各实现方式不作限定,各步骤的顺序在实际应用中可进行调整,只要可以实现各步骤的目的即可。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种制作自动升级包装置,包括:信息获取模块10、编译模块11和升级包制作模块12,其中:
信息获取模块10,用于获取目标应用程序的起始变更集信息和终止变更集信息;终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间;
编译模块11,用于对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果;
升级包制作模块12,用于根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包。
在一个实施例中,上述升级包制作模块包括:
差异单元,用于对比第一编译结果和第二编译结果,得到第一编译文件和第二编译文件之间的差异文件;
升级包单元,用于根据差异文件确定目标应用程序的自动升级包。
在一个实施例中,该装置还包括:运行模块,用于根据预设的运行机制,运行自动升级包,以对目标应用程序进行升级。
在一个实施例中,上述运行模块包括:
位置单元,用于根据注册表信息,获取需要替换的程序文件的对应路径位置;
替换单元,用于将自动升级包替换并覆盖对应路径位置中的原程序文件;
升级单元,用于根据自动升级包重新启动目标应用程序,完成对目标应用程序的升级。
在一个实施例中,该装置还包括:
升级包检测单元,用于检测备份数据库是否存在自动升级包;备份数据库用于备份应用程序的更新程序文件;
存储单元,用于若不存在,将自动升级包存储至备份数据库中进行备份。
在一个实施例中,该装置还包括:
运行检测单元,用于检测目标应用程序是否处于运行状态;
停止运行单元,用于若目标应用程序处于运行状态,停止运行应用程序。
在一个实施例中,上述预设的运行机制包括:在制作完成自动升级包之后检测到用户触发的运行指令;或者,在制作自动升级包后达到了预设时长。
上述实施例提供的所有制作自动升级包装置,其实现原理和技术效果与上述制作自动升级包方法实施例类似,在此不再赘述。
关于制作自动升级包装置的具体限定可以参见上文中对于制作自动升级包方法的限定,在此不再赘述。上述制作自动升级包装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种制作自动升级包方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取目标应用程序的起始变更集信息和终止变更集信息;终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间;
对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果;
根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标应用程序的起始变更集信息和终止变更集信息;终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,起始变更集信息在变更集信息列表中的存储时间早于终止变更集信息的存储时间;
对起始变更集信息进行编译得到第一编译结果,对终止变更集信息进行编译得到第二编译结果;
根据第一编译结果和第二编译结果,制作目标应用程序的自动升级包。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(RandomAccess Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种制作自动升级包的方法,其特征在于,所述方法包括:
获取目标应用程序的起始变更集信息和终止变更集信息;所述终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,所述起始变更集信息在所述变更集信息列表中的存储时间早于所述终止变更集信息的存储时间;
对所述起始变更集信息进行编译得到第一编译结果,对所述终止变更集信息进行编译得到第二编译结果;
根据所述第一编译结果和所述第二编译结果,制作所述目标应用程序的自动升级包。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一编译结果和所述第二编译结果,制作所述目标应用程序的自动升级包,包括:
对比所述第一编译结果和所述第二编译结果,得到所述第一编译文件和第二编译文件之间的差异文件;
根据所述差异文件确定所述目标应用程序的自动升级包。
3.根据权利要求1或2所述的方法,其特征在于,在所述制作所述目标应用程序的自动升级包之后,所述方法还包括:
根据预设的运行机制,运行所述自动升级包,以对所述目标应用程序进行升级。
4.根据权利要求3所述的方法,其特征在于,所述运行所述自动升级包以对所述目标应用程序进行升级,包括:
根据注册表信息,获取需要替换的程序文件的对应路径位置;
将所述自动升级包替换并覆盖所述对应路径位置中的原程序文件;
根据所述自动升级包重新启动所述目标应用程序,完成对所述目标应用程序的升级。
5.根据权利要求4所述的方法,其特征在于,将所述自动升级包替换并覆盖所述对应路径位置中的原程序文件之后,所述方法还包括:
检测备份数据库是否存在所述自动升级包;所述备份数据库用于备份应用程序的更新程序文件;
若不存在,将所述自动升级包存储至所述备份数据库中进行备份。
6.根据权利要求4所述的方法,其特征在于,在所述将所述自动升级包替换所述目标路径位置中的原文件之前,所述方法还包括:
检测所述目标应用程序是否处于运行状态;
若所述目标应用程序处于运行状态,停止运行所述应用程序。
7.根据权利要求3所述的方法,其特征在于,所述预设的运行机制包括:在制作完成所述自动升级包之后检测到用户触发的运行指令;或者,在制作所述自动升级包后达到了预设时长。
8.一种制作自动升级包的装置,其特征在于,所述装置包括:
信息获取模块,用于获取目标应用程序的起始变更集信息和终止变更集信息;所述终止变更集信息表示代码库的变更集信息列表中最新存储的变更集信息,所述起始变更集信息在所述变更集信息列表中的存储时间早于所述终止变更集信息的存储时间;
编译模块,用于对所述起始变更集信息进行编译得到第一编译结果,对所述终止变更集信息进行编译得到第二编译结果;
升级包制作模块,用于根据所述第一编译结果和所述第二编译结果,制作所述目标应用程序的自动升级包。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010518484.4A CN111913733A (zh) | 2020-06-09 | 2020-06-09 | 制作自动升级包方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010518484.4A CN111913733A (zh) | 2020-06-09 | 2020-06-09 | 制作自动升级包方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111913733A true CN111913733A (zh) | 2020-11-10 |
Family
ID=73237669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010518484.4A Pending CN111913733A (zh) | 2020-06-09 | 2020-06-09 | 制作自动升级包方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913733A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929449A (zh) * | 2021-03-10 | 2021-06-08 | 深圳创维-Rgb电子有限公司 | Ota升级包的编译方法、系统及计算机可读存储介质 |
CN114546474A (zh) * | 2022-02-23 | 2022-05-27 | Oppo广东移动通信有限公司 | 应用程序管理方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013178048A1 (zh) * | 2012-05-28 | 2013-12-05 | 华为终端有限公司 | 生成无线固件升级包的方法和装置 |
CN106802814A (zh) * | 2016-12-14 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于软件版本升级的方法及装置 |
CN107506219A (zh) * | 2017-09-21 | 2017-12-22 | 烽火通信科技股份有限公司 | 一种基于Android系统的通用版本升级方法 |
CN110377321A (zh) * | 2019-07-22 | 2019-10-25 | 平安科技(深圳)有限公司 | 应用程序升级的方法、装置、终端及存储介质 |
CN110837393A (zh) * | 2019-11-14 | 2020-02-25 | 北京知道创宇信息技术股份有限公司 | 一种固件差分升级包的制作方法及装置、可读存储介质 |
-
2020
- 2020-06-09 CN CN202010518484.4A patent/CN111913733A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013178048A1 (zh) * | 2012-05-28 | 2013-12-05 | 华为终端有限公司 | 生成无线固件升级包的方法和装置 |
CN106802814A (zh) * | 2016-12-14 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于软件版本升级的方法及装置 |
CN107506219A (zh) * | 2017-09-21 | 2017-12-22 | 烽火通信科技股份有限公司 | 一种基于Android系统的通用版本升级方法 |
CN110377321A (zh) * | 2019-07-22 | 2019-10-25 | 平安科技(深圳)有限公司 | 应用程序升级的方法、装置、终端及存储介质 |
CN110837393A (zh) * | 2019-11-14 | 2020-02-25 | 北京知道创宇信息技术股份有限公司 | 一种固件差分升级包的制作方法及装置、可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929449A (zh) * | 2021-03-10 | 2021-06-08 | 深圳创维-Rgb电子有限公司 | Ota升级包的编译方法、系统及计算机可读存储介质 |
CN112929449B (zh) * | 2021-03-10 | 2023-04-07 | 深圳创维-Rgb电子有限公司 | Ota升级包的编译方法、系统及计算机可读存储介质 |
CN114546474A (zh) * | 2022-02-23 | 2022-05-27 | Oppo广东移动通信有限公司 | 应用程序管理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7275153B2 (en) | Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader | |
CN112416406B (zh) | 终端设备升级方法、装置、终端设备和介质 | |
CN111796856B (zh) | 差分升级方法及装置、存储介质、计算机设备 | |
WO2022262754A1 (zh) | 操作系统数据更新方法、设备、存储介质及程序产品 | |
CN113805914B (zh) | 操作系统升级方法、设备、存储介质及计算机程序产品 | |
CN107220074B (zh) | 对支撑层软件功能的访问、升级方法及装置 | |
CN111913733A (zh) | 制作自动升级包方法、装置、计算机设备和存储介质 | |
CN111651304B (zh) | 基于双芯智能电表的软件恢复方法、装置和计算机设备 | |
WO2022262748A1 (zh) | 操作系统的管理方法、设备、存储介质及计算机程序产品 | |
CN113157303A (zh) | 升级方法、嵌入式系统、终端及计算机存储介质 | |
CN114116023A (zh) | 操作系统启动方法、设备、存储介质及计算机程序产品 | |
CN114461257B (zh) | 操作系统数据配置方法、设备、存储介质及程序产品 | |
US20160321057A1 (en) | Electronic apparatus | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
CN113806139B (zh) | 操作系统恢复方法、设备、存储介质及计算机程序产品 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN116795438A (zh) | 配置操作系统制式的方法、设备及存储介质 | |
WO2017036197A1 (zh) | 一种网元模型管理方法及装置 | |
CN113821234B (zh) | 操作系统升级方法、设备、存储介质及计算机程序产品 | |
US20240231789A1 (en) | Operating System Management Method, Device, Storage Medium, and Computer Program Product | |
US20240220226A1 (en) | Operating system data update method, device, storage medium, and program product | |
CN117130987B (zh) | 一种大规模无人机集群的飞控管理方法 | |
CN109996262B (zh) | 一种ac启动方法及装置 | |
CN117270914B (zh) | 一种终端设备的系统升级方法、装置、设备和介质 | |
CN116339765A (zh) | 安卓终端本地ota系统升级方法、装置、设备及介质 |
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 |