CN109857423B - 程序版本更新方法、装置、服务器及可读存储介质 - Google Patents
程序版本更新方法、装置、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN109857423B CN109857423B CN201811561780.1A CN201811561780A CN109857423B CN 109857423 B CN109857423 B CN 109857423B CN 201811561780 A CN201811561780 A CN 201811561780A CN 109857423 B CN109857423 B CN 109857423B
- Authority
- CN
- China
- Prior art keywords
- version
- file
- target
- updating
- program
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种程序版本更新方法,该方法先获取目标程序的目标版本的增量文件,再根据增量文件中的脚本文件及更新文件对当前版本的复制版本文件进行更新得到目标版本的版本文件,最后将当前版本的版本文件更新为目标版本的版本文件。由于下载的目标程序的目标版本的增量文件包括更新文件以及脚本文件,利用该更新文件及脚本文件即可实现程序版本更新,而不需要下载上述目标程序的整个目标版本程序,能够有效减少下载所占用的带宽及使用的时间,耗费的资源少,因此本发明提供的方法可以解决程序版本更新耗费资源多的问题。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种程序版本更新方法、装置、服务器及可读存储介质。
背景技术
现有技术在对装置上的程序进行更新时,需要装置下载发布的新版本程序,之后对新版本程序进行解压、拷贝、运行等操作实现装置程序版本的更新。
随着业务的发展,对装置上程序的功能要求越来越多,发布的新版本程序的安装包也变得越来越大,此时装置若要更新程序版本则需要耗费更多的资源,例如需要更多的带宽、更多的时间下载新版本程序,才能实现装置上程序版本的更新。
发明内容
本申请实施例提供一种程序版本更新方法,可以解决现有技术中程序版本更新耗费资源多的问题。
本申请实施例提供了一种程序版本更新方法,包括:
获取目标程序的目标版本的增量文件,增量文件至少包括:目标程序由当前版本更新至目标版本所使用的脚本文件,及目标版本与当前版本的差异构成的更新文件;
根据脚本文件及更新文件对当前版本的复制版本文件进行更新,得到目标版本的版本文件,当前版本的复制版本文件为对当前版本的版本文件进行复制得到的;
将当前版本的版本文件更新为目标版本的版本文件。
进一步的,本申请实施例还提供了一种程序版本更新装置,包括:
获取模块,用于获取目标程序的目标版本的增量文件,增量文件至少包括:目标程序由当前版本更新至目标版本所使用的脚本文件,及目标版本与当前版本的差异构成的更新文件;
文件更新模块,用于根据脚本文件及更新文件对当前版本的复制版本文件进行更新得到目标版本的版本文件,当前版本的复制版本文件为对当前版本的版本文件进行复制得到的;
版本更新模块,用于将当前版本的版本文件更新为目标版本的版本文件。
进一步的,本申请实施例还提供了一种服务器,包括处理器和存储器,所述存储器中存储有程序版本更新程序,所述处理器用于执行存储器中存储的程序版本更新程序,以实现如上程序版本更新方法中的各个步骤。
进一步的,本申请实施例还提供了一种可读存储介质,该可读存储介质为计算机可读存储介质,其特征在于,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如上的程序版本更新方法中的各个步骤。
本申请实施例提供了一种程序版本更新方法,先获取目标程序的目标版本的增量文件,增量文件中至少包括有目标程序由当前版本更新至目标版本所使用的脚本文件,及目标版本与当前版本的差异构成的更新文件,再根据脚本文件及更新文件对当前版本的复制版本文件进行更新得到目标版本的版本文件,当前版本的复制版本文件为对当前版本的版本文件进行复制得到的,最后将当前版本的版本文件更新为目标版本的版本文件。由于下载的目标程序的目标版本的增量文件包括更新文件以及脚本文件,利用该更新文件及脚本文件即可实现程序版本更新,而不需要下载上述目标程序的整个目标版本程序,能够有效减少下载所占用的带宽及使用的时间,耗费的资源少,因此本发明提供的方法可以解决程序版本更新耗费资源多的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种服务器的结构框图;
图2为本申请实施例提供程序版本更新方法的基本流程示意图;
图3为本申请实施例提供程序版本更新方法的一种可实现方式的流程示意图;
图4为本申请实施例提供的一种程序版本更新装置的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了一种可以用于实现程序版本更新方法的服务器的结构示意图,参见图1,服务器至少包括:输入输出(IO)总线111、处理器112、存储器113、内存114和通信装置115。其中:
输入输出(IO)总线111分别与自身所属的服务器的其它部件(处理器112、存储器113、内存114和通信装置115)连接,并且为其它部件提供传送线路。
处理器112通常控制自身所属的服务器的总体操作。例如,处理器112执行计算和确认等操作。其中,处理器112可以是中央处理器(CPU)。
通信装置115,通常包括一个或多个组件,其允许自身所属的服务器与无线通信系统或网络之间的无线电通信。
存储器113存储处理器可读、处理器可执行的软件代码,其包含用于控制处理器112执行本文描述的功能的指令(即软件执行功能)。
其中,本申请提供的程序版本更新装置中,实现获取模块、文件更新模块、版本更新模块的功能的软件代码可存储在存储器113中,并由处理器112执行或编译后执行。
基于上述提供的服务器描述本申请实施例中的程序版本更新方法。
服务器上可以运行多个程序,随着服务器上的业务发展,业务方需要在发布平台上发布服务器上程序的新版本,由服务器上的更新装置下载新版本,利用新版本将程序从当前的旧版本更新至新版本才能使服务器功能越来越好用,然而服务器的每一次更新需要耗费大量的带宽和大量的时间。
需要理解的是,程序的新版本是对旧版本的漏洞进行完善,或/和在旧版本中添加功能后得到的、相比旧版本更加完善好用的程序版本。
本实施例所介绍的程序版本更新方法可以解决服务器进行更新需要耗费大量的带宽及时间的问题。需要知道的是在本实施例中,程序更新方法是由程序更新装置(以下简称为:更新装置)实现的,该程序更新装置为程序模块,存储于服务器的存储器内,服务器内的处理器调用该更新装置,即可实现程序更新方法。
在本实施例中,将服务器上进行更新的程序称为目标程序,将目标程序更新前所使用的旧版本称为当前版本,将目标程序更新至的新版本称为目标版本。具体的,本实施例介绍的方法包括图2所示的步骤:
步骤201、获取目标程序的目标版本的增量文件。
需要理解的是,业务方想要其具有的服务器上的目标程序由当前版本更新为目标版本时,业务方可以在发布平台上传目标程序的目标版本的增量文件。
与发布平台通信连接的服务器查询到发布平台发布了目标程序的目标版本时,或者当服务器上的更新装置收到管理员对目标程序的更新指令时,更新装置可以从发布平台获取发布的增量文件。
在一些示例下,更新装置需要从发布平台下载得到增量文件。在另外一些示例下,增量文件是打包在文件包中的,因此更新装置需要下载、解压并验证文件包后,才能得到增量文件。
步骤201中的增量文件包括脚本文件和更新文件。其中脚本文件是目标程序由当前版本更新至目标版本所使用的文件。脚本文件是由发布平台生成的、由不同的程序命令组合起来的,可以被运行且被运行后可以按照确定的顺序自动连续地执行的文件。脚本文件被运行后可以基于更新文件对当前版本的版本文件进行更新。
更新文件是目标版本的版本文件与当前版本的版本文件是存在差异的文件,此处存在差异的文件包括目标版本的版本文件会比当前版本的版本文件多一些的文件、少一些的文件,以及在两种版本的版本文件中存在一些具有不同内容的文件。
步骤202、根据脚本文件及更新文件对当前版本的复制版本文件进行更新得到目标版本的版本文件。
需要了解的是,当前版本的版本文件是处于运行状态的,在运行状态下其不能被更新,因此需要对当前版本的版本文件进行复制得到当前版本的复制版本文件。
服务器上的更新文件根据脚本文件及更新文件可以对当前版本的复制版本文件进行更新得到目标版本的版本文件。在一些示例下,运行后的脚本文件可以基于更新文件更新复制版本文件得到目标版本的版本文件,包括在复制版本文件中添加待增加文件、删除待删除文件以及修改待修改文件。
步骤203、将当前版本的版本文件更新为目标版本的版本文件。
需要了解的是,在步骤202得到目标版本的版本文件之后,服务器上目标程序运行的版本仍然是当前版本,在将当前版本的版本文件更新为目标版本的版本文件后,是目标版本的版本文件处于运行状态,此时服务器上目标程序使用的是目标版本。
在本申请实施例提供的程序版本更新方法中,由于服务器上更新装置下载的目标程序的目标版本的增量文件包括更新文件以及脚本文件,利用该更新文件及脚本文件即可实现程序版本更新,而不需要下载上述目标程序的整个目标版本程序,能够有效减少下载所占用的带宽及使用的时间,耗费的资源少,因此本发明提供的方法可以解决程序版本更新耗费资源多的问题。另一方面,由于脚本文件是由发布平台生成的、用于将目标程序由当前版本更新至目标版本所使用的文件,其中具有目标程序版本更新逻辑。更新装置运行脚本文件后,可以按照该版本更新逻辑,自动按顺且连续地对复制版本文件进行更新,即服务器可以“受控于”发布平台,控制服务器上的程序版本更新的流程,相比没有程序更新版本的流程,本方法能够在服务器上更新装置获取增量文件后快速的实现程序版本的更新。
此处基于上一实施例继续介绍本申请程序版本更新方法的其他可实施方式。
请参阅图3,图3为本申请程序版本更新方法的一种可实施方式,包括以下步骤:
步骤301、获取目标程序的目标版本的增量文件。
增量文件包括脚本文件、更新文件以及校验码。
更新文件可以包括待删除文件的标识、待增加文件及待增加文件在当前版本的版本文件中的地址,以及待修改文件的标识以及待修改文件的修改内容。
脚本文件被运行后可以基于更新文件对当前版本的复制版本文件进行更新得到目标版本的版本文件。
校验码是增量文件中的一组散列值。
步骤302、对增量文件进行消息摘要算法运算得到验证校验码。
服务器上的更新装置对增量文件进行运算可以得到验证校验码。在本实施例中,此处的运算可以为MD5(Message-Digest Algorithm,消息摘要算法)运算,即验证校验码是通过对增量文件进行MD5运算得出的一组散列值。
步骤303、将校验码与验证校验码的进行一致性比对,当校验码与验证校验码一致时,确定增量文件传输无误;当校验码与验证校验码不一致时,则需要返回执行步骤301。
基于增量文件中的校验码可以对增量文件进行验证,判断增量文件是否发生传输失误,或者是否被篡改,若发生传输失误或被篡改的情况,可以丢弃该增量文件而重新获取增量文件,防止服务器上的目标程序在版本更新过程中发生错误,进而可以保证服务器的安全。
步骤304、运行脚本文件,利用运行后的脚本文件复制目标程序的当前版本的版本文件得到当前版本的复制版本文件。
需要了解的是,当前版本的版本文件是正在运行的,在运行过程中其不能被更新,因此需要对当前版本的版本文件进行复制得到当前版本的复制版本文件,具体是在验证增量文件之后运行脚本文件,运行后的脚本文件将复制目标程序的当前版本的版本文件得到复制版本文件。
步骤305、通过脚本文件利用更新文件对当前版本的复制版本文件进行更新得到目标版本的版本文件。
除了复制目标程序的当前版本的版本文件得到复制版本文件,运行后的脚本文件还会利用更新文件对复制版本文件进行更新得到目标版本的版本文件,具体由复制版本文件得到目标版本的版本文件的方式可以为:
若更新文件中包含由当前版本更新至目标版本时待删除文件的标识,则通过脚本文件删除当前版本的复制版本文件中该标识对应的文件。
若更新文件包含由当前版本更新至目标版本时待增加文件及待增加文件在当前版本的版本文件中的地址,则通过脚本文件按照地址将待增加文件添加至当前版本的复制版本文件中。
若更新文件包含由当前版本更新至目标版本时待修改文件的标识以及待修改文件的修改内容,则通过脚本文件基于标识确定当前版本的复制版本文件中的待修改文件,并按照修改内容对待修改文件进行修改。
需要理解的是,在实际应用过程中,更新文件可以包括待删除文件的标识、待增加文件及待增加文件在当前版本的版本文件中的地址,以及待修改文件的标识以及待修改文件的修改内容中的至少一种,对应的利用更新文件得到目标版本的版本文件的方式可以为上述三种情况中的一种或多种。
步骤306、初始化目标版本的版本文件。
在得到目标版本的版本文件之后,更新装置需要对其进行初始化,根据初始化反馈的数据判断该目标版本是否可以被正常运行。
若初始化成功,表示该目标版本可以被正常运行,则执行步骤307;若初始化不成功,表示得到该目标版本的版本文件的过程出现了错误,该目标版本不可以被正常运行,则终止当前目标程序的版本更新过程。
需要理解的是,初始化是首次运行版本文件前,进行参数设置并录入基础档案与初始数据的过程,可以防止在得到版本文件的过程中由于一些错误而导致得到的版本文件中的内容有误而不能被运行,或运行后将会使服务器上的目标程序运行出错,导致服务器上业务中断的情况发生。
步骤307、将当前版本的版本文件更新为目标版本的版本文件。
当前版本的版本文件是正在运行的,此时将更新装置运行指向的当前版本的版本文件修改为指向初始化之后的目标版本的版本文件,实现服务器上的目标程序由当前版本更新至目标版本。
步骤308、将当前版本的版本文件存储至历史版本库中。
每一次更新装置上的目标程序由当前版本更新至目标版本之后,更新装置会将当前版本的版本文件存储至历史版本库中。
历史版本库中存储的是服务器上各个程序使用过版本的版本文件,这些版本文件上还具有版本标识。为减少存储资源的占用,历史版本文库中只存储有一定数量的目标程序使用过版本的版本文件。在本实施例另外的一些示例下,历史版本文库中只存储最近使用过的1个版本的版本文件,即只存储有当前版本的版本文件。
步骤309、获取对目标程序的版本回滚指令。
当服务器检测到在运行目标版本的目标程序时出现错误时可以通过管理设备对管理员进行提示,管理员操作管理设备可以生成对目标程序的版本回滚指令。服务器上的更新装置可以获取版本回滚指令,版本回滚指令中包括目标程序的回滚版本的版本标识,更新装置可以基于版本标识可以得到回滚版本的版本文件。
回滚版本表示目标程序多个版本中,在目标版本之前发布的版本。
回滚版本可以是存储在历史版本文库中的使用过版本,也可以是为减少存储资源的占用而从历史版本文库中删除的使用过版本,还可以是目标程序未在更新装置上运行过的版本。
在本实施例中,更新装置基于版本回滚指令中(回滚版本)的版本标识得到回滚版本的版本文件,还需要:
步骤310、基于版本标识查询历史版本库中回滚版本的版本文件。
若更新装置在历史版本库中查询到存在具有版本标识的版本文件,则将历史版本库中具有版本标识的版本文件作为回滚版本的版本文件。
若更新装置在历史版本库中查询不到存在具有版本标识的版本文件,则需要更新装置:
步骤311、获取目标程序的回滚版本的增量文件,根据增量文件中的目标程序由目标版本更新至回滚版本所使用的脚本文件,及目标版本与回滚版本的差异构成的更新文件,对目标版本的复制版本文件进行更新得到回滚版本的版本文件。
步骤312、将目标版本的版本文件更新述回滚版本的版本文件。
具体步骤311、步骤312的过程,可以参见步骤301至步骤308的过程,在此不再赘述。需要明白的是,前一过程与后一过程的区别在于后一过程是更新装置将目标程序由当前版本更新为目标版本的过程,而前一过程是更新装置将目标程序由目标版本更新为回滚版本的过程。
在本申请实施例提供的程序版本更新方法中,更新装置可以下载目标程序的目标版本的增量文件,利用增量文件中的更新文件及脚本文件即可实现程序版本更新,而不需要下载上述目标程序的整个目标版本程序,能够有效减少更新装置下载所占用的带宽及使用的时间,耗费的资源少,因此本发明提供的方法可以解决更新装置的程序版本更新耗费资源多的问题。
本申请实施例还提供了一种程序版本更新装置,参见图4,该装置包括:
获取模块401,用于获取目标程序的目标版本的增量文件,增量文件至少包括:目标程序由当前版本更新至目标版本所使用的脚本文件,及目标版本与当前版本的差异构成的更新文件。
文件更新模块402,用于根据脚本文件及更新文件对当前版本的复制版本文件进行更新得到目标版本的版本文件,当前版本的复制版本文件为对当前版本的版本文件进行复制得到的。
版本更新模块403,用于将当前版本的版本文件更新为目标版本的版本文件。
本申请实施例还提供了一种服务器,包括处理器和存储器,所述存储器中存储有程序版本更新程序,所述处理器用于执行存储器中存储的程序版本更新程序,以实现如上的程序版本更新方法中的各个步骤。
本申请实施例还提供了一种可读存储介质,该可读存储介质为计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现如上各个实施例的程序版本更新方法的各个步骤。
本申请实施例还提供了程序版本更新装置、服务器以及可读存储介质,在程序版本更新装置、服务器以及可读存储介质运行过程中,可以下载目标程序的目标版本的增量文件,利用增量文件中的更新文件及脚本文件即可实现程序版本更新,而不需要下载上述目标程序的整个目标版本程序,能够有效减少下载所占用的带宽及使用的时间,耗费的资源少,因此可以解决程序版本更新耗费资源多的问题。
需要了解的是,在本文中,“此处的”是指其后跟的词汇为该“此处的”所在自然段中提到的对应词汇。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种信息处理方法、装置、电子设备及可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种程序版本更新方法,其特征在于,包括:
获取目标程序的目标版本的增量文件,所述增量文件至少包括:所述目标程序由当前版本更新至所述目标版本所使用的脚本文件,及所述目标版本与所述当前版本的差异构成的更新文件;
根据所述脚本文件及所述更新文件对所述当前版本的复制版本文件进行更新,得到所述目标版本的版本文件,所述当前版本的复制版本文件为对所述当前版本的版本文件进行复制得到的;
将所述当前版本的版本文件更新为所述目标版本的版本文件;
若获取到对所述目标程序的版本回滚指令,并且在历史版本库中不存在具有所述版本回滚指令所包括的回滚版本的版本标识的版本文件,则获取所述目标程序的回滚版本的增量文件,所述回滚版本的增量文件至少包括:所述目标程序由所述目标版本更新至回滚版本所使用的脚本文件,及所述目标版本与所述回滚版本的差异构成的更新文件;
根据所述回滚版本的脚本文件及所述回滚版本的更新文件对所述目标版本的复制版本文件进行更新,得到回滚版本的版本文件;
将所述目标版本的版本文件更新为所述回滚版本的版本文件。
2.如权利要求1所述的方法,其特征在于,所述根据所述脚本文件及所述更新文件对所述当前版本的复制版本文件进行更新,得到所述目标版本的版本文件,包括:
运行所述脚本文件,利用运行后的脚本文件复制所述目标程序的当前版本的版本文件得到所述当前版本的复制版本文件;
通过所述脚本文件利用所述更新文件对所述当前版本的复制版本文件进行更新得到所述目标版本的版本文件。
3.如权利要求2所述的方法,其特征在于,所述通过所述脚本文件利用所述更新文件对所述当前版本的复制版本文件进行更新得到所述目标版本的版本文件,包括:
若所述更新文件包含由所述当前版本更新至所述目标版本时待删除文件的标识,则通过所述脚本文件删除所述当前版本的复制版本文件中所述标识对应的文件;
若所述更新文件包含由所述当前版本更新至所述目标版本时待增加文件及所述待增加文件在所述当前版本的版本文件中的地址,则通过所述脚本文件按照所述地址将所述待增加文件添加至所述当前版本的复制版本文件中;
若所述更新文件包含由所述当前版本更新至所述目标版本时待修改文件的标识以及所述待修改文件的修改内容,则通过所述脚本文件基于所述标识确定所述当前版本的复制版本文件中的待修改文件,并按照所述修改内容对所述待修改文件进行修改。
4.如权利要求1所述的方法,其特征在于,所述将所述当前版本的版本文件更新为所述目标版本的版本文件,之后还包括:
将所述当前版本的版本文件存储至历史版本库中;
所述方法还包括:
若获取到对所述目标程序的版本回滚指令,且在历史版本库中存在具有所述版本标识的版本文件,则将所述历史版本库中具有所述版本标识的版本文件作为回滚版本的版本文件;
将所述目标版本的版本文件更新为所述回滚版本的版本文件。
5.如权利要求1-4任一项所述的方法,其特征在于,所述将所述当前版本的版本文件更新为所述目标版本的版本文件,之前还包括:
初始化所述目标版本的版本文件,若初始化成功,则执行所述将所述当前版本的版本文件更新为所述目标版本的版本文件的步骤;若初始化不成功,则终止所述目标程序的版本更新。
6.如权利要求1-4任一项所述的方法,其特征在于,所述增量文件还包括校验码,则在所述获取目标程序的目标版本的增量文件,之后还包括:
对所述增量文件进行消息摘要算法运算得到验证校验码;
当所述校验码与所述验证校验码一致时,确定所述增量文件传输无误;
当所述校验码与所述验证校验码不一致时,返回执行所述获取目标程序的目标版本的增量文件的步骤。
7.一种程序版本更新装置,其特征在于,所述装置包括:
获取模块,用于获取目标程序的目标版本的增量文件,所述增量文件至少包括:所述目标程序由当前版本更新至所述目标版本所使用的脚本文件,及所述目标版本与所述当前版本的差异构成的更新文件;
文件更新模块,用于根据所述脚本文件及所述更新文件对所述当前版本的复制版本文件进行更新得到所述目标版本的版本文件,所述当前版本的复制版本文件为对所述当前版本的版本文件进行复制得到的;
版本更新模块,用于将所述当前版本的版本文件更新为所述目标版本的版本文件;
所述装置还用于:
若获取到对所述目标程序的版本回滚指令,并且在历史版本库中不存在具有所述版本回滚指令所包括的回滚版本的版本标识的版本文件,则获取所述目标程序的回滚版本的增量文件,所述回滚版本的增量文件至少包括:所述目标程序由所述目标版本更新至回滚版本所使用的脚本文件,及所述目标版本与所述回滚版本的差异构成的更新文件;
根据所述回滚版本的脚本文件及所述回滚版本的更新文件对所述目标版本的复制版本文件进行更新,得到回滚版本的版本文件;
将所述目标版本的版本文件更新为所述回滚版本的版本文件。
8.如权利要求7所述的装置,其特征在于,文件更新模块,还用于运行所述脚本文件,利用运行后的脚本文件复制所述目标程序的当前版本的版本文件得到所述当前版本的复制版本文件;通过所述脚本文件利用所述更新文件对所述当前版本的复制版本文件进行更新得到所述目标版本的版本文件。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器中存储有程序版本更新程序,所述处理器用于执行存储器中存储的程序版本更新程序,以实现如权利要求1-6任一项所述的程序版本更新方法中的各个步骤。
10.一种可读存储介质,所述可读存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-6任一项所述的程序版本更新方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811561780.1A CN109857423B (zh) | 2018-12-20 | 2018-12-20 | 程序版本更新方法、装置、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811561780.1A CN109857423B (zh) | 2018-12-20 | 2018-12-20 | 程序版本更新方法、装置、服务器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857423A CN109857423A (zh) | 2019-06-07 |
CN109857423B true CN109857423B (zh) | 2022-06-10 |
Family
ID=66891800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811561780.1A Active CN109857423B (zh) | 2018-12-20 | 2018-12-20 | 程序版本更新方法、装置、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857423B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209418B (zh) * | 2019-06-12 | 2024-01-05 | 南方电网科学研究院有限责任公司 | 一种程序更新方法、装置、设备及计算机可读存储介质 |
CN111368279B (zh) * | 2020-02-25 | 2023-04-18 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、计算机可读存储介质和计算机设备 |
CN111552499A (zh) * | 2020-06-03 | 2020-08-18 | 上海通联金融服务有限公司 | 基于Shell语言的AIC版本更换工具 |
CN112947983B (zh) * | 2021-04-15 | 2024-03-15 | 网易(杭州)网络有限公司 | 应用程序更新方法及装置、电子设备、存储介质 |
CN113254045A (zh) * | 2021-06-07 | 2021-08-13 | 中电金信软件有限公司 | 软件初始化方法、系统及计算机可读存储介质 |
CN113448617B (zh) * | 2021-08-31 | 2022-01-25 | 太平金融科技服务(上海)有限公司深圳分公司 | 数据对象管理方法、装置、计算机设备和存储介质 |
CN117434883A (zh) * | 2023-11-13 | 2024-01-23 | 中国电力工程顾问集团有限公司 | 一种plc程序版本的可视化管理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2026223A2 (en) * | 2007-08-16 | 2009-02-18 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
CN103428188A (zh) * | 2012-05-25 | 2013-12-04 | 北京小米科技有限责任公司 | 一种文件更新方法、装置及相关设备 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN106648712A (zh) * | 2017-02-27 | 2017-05-10 | 百度在线网络技术(北京)有限公司 | 增量更新包的生成方法、装置和服务器 |
CN108322825A (zh) * | 2018-02-28 | 2018-07-24 | 北京四达时代软件技术股份有限公司 | 一种差分升级方法及系统 |
-
2018
- 2018-12-20 CN CN201811561780.1A patent/CN109857423B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2026223A2 (en) * | 2007-08-16 | 2009-02-18 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
CN103428188A (zh) * | 2012-05-25 | 2013-12-04 | 北京小米科技有限责任公司 | 一种文件更新方法、装置及相关设备 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN106648712A (zh) * | 2017-02-27 | 2017-05-10 | 百度在线网络技术(北京)有限公司 | 增量更新包的生成方法、装置和服务器 |
CN108322825A (zh) * | 2018-02-28 | 2018-07-24 | 北京四达时代软件技术股份有限公司 | 一种差分升级方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109857423A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857423B (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
US10656936B2 (en) | Systems and methods for software integrity validation using blockchain | |
US9075693B2 (en) | Methods for updating applications | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
US20040010786A1 (en) | System and method for automatically upgrading a software application | |
US10437580B2 (en) | Software updating methods and systems | |
CN111897520A (zh) | 前端项目框架的构建方法、装置、计算机设备及存储介质 | |
CN107844306B (zh) | 应用程序的修复方法、装置、存储介质及终端 | |
CN111158715A (zh) | 灰度发布控制方法及系统 | |
CN113342387A (zh) | 一种软件自动升级方法、更新客户端及更新服务器 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
US11550918B2 (en) | Package-based remote firmware update | |
CN108920171A (zh) | 固件更新方法及装置、电子设备 | |
CN108132832B (zh) | 应用程序启动方法和装置 | |
US11023220B2 (en) | Firmware update with integrated smart sequence and action engine | |
CN112732292A (zh) | 一种软件升级的方法、系统、设备及可读存储介质 | |
EP2680135B1 (en) | Methods for updating applications | |
CN114253906A (zh) | 配置文件的管理方法、装置、配置分发系统及存储介质 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
JP2007011645A (ja) | モジュール更新プログラム | |
CN116107603B (zh) | 一种固件升级方法、装置、存储介质和电子设备 | |
WO2005039161A1 (en) | Upgrading electronic files of a mobile device upgrade client | |
CN114610356A (zh) | 对桌面端应用的升级管理方法、系统、设备及存储介质 | |
CN113190246A (zh) | 软件程序升级方法及装置、可读存储介质、电子设备 | |
CN116048597A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |