CN112783542A - 软件升级方法、装置及可读存储介质 - Google Patents
软件升级方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN112783542A CN112783542A CN202110157223.9A CN202110157223A CN112783542A CN 112783542 A CN112783542 A CN 112783542A CN 202110157223 A CN202110157223 A CN 202110157223A CN 112783542 A CN112783542 A CN 112783542A
- Authority
- CN
- China
- Prior art keywords
- software
- upgrade package
- differential
- differential upgrade
- dynamic link
- 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
本发明公开了一种软件升级方法、装置及可读存储介质,该方法包括:从服务器下载待升级的软件的差分升级包以及差分升级包对应的第一配置文件,第一配置文件为差分升级包的索引信息;判断差分升级包的名称与软件的名称是否一致;若一致,则判断差分升级包中的标识信息与软件中的标识信息是否一致,标识信息用于区别不同硬件配置的软件版本;若一致,则判断差分升级包中API函数所依赖的动态链接库的版本号是否高于软件中API函数所依赖的动态链接库的版本号;若是,则在索引信息的引导下,安装差分升级包,以对软件进行升级。本发明能够解决现有技术中因下载的差分包与软件当前处于的硬件配置不匹配,导致升级失败的问题。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种软件升级方法、装置及可读存储介质。
背景技术
随着互联网行业的不断发展,终端设备,尤其是移动终端设备的软件应用程序(Application,简称APP)越来越多,版本不断更新,用户需要不断进行相应的应用软件升级才能保证软件的安全性和稳定性。现有技术中,主要采用增量升级的方式实现客户端上应用程序的升级。
在安卓(Android)系统中,增量升级的原理是通过将用户客户端已安装的应用程序的APK(Android Package Kit,安卓系统的安装包)与当前服务端该应用程序最新版本的APK做差分,得到差分包,即更新的部分。然后客户端通过网络仅请求下载该差分包,并将该差分包与当前客户端已安装的APK进行组合,即得到一个新版本的APK。
然后由于不同终端设备(例如手机)所采用的硬件配置会有不同,例如芯片版本不同,或者芯片版本不同,但DDR大小不同等,如果下载的差分包与软件当前处于的硬件配置不匹配,则会导致升级失败,影响用户使用体验。
发明内容
为此,本发明的一个实施例提出一种软件升级方法,以解决现有技术中因下载的差分包与软件当前处于的硬件配置不匹配,导致升级失败的问题。
根据本发明一实施例的软件升级方法,所述方法包括:
从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件,所述第一配置文件为所述差分升级包的索引信息;
判断所述差分升级包的名称与所述软件的名称是否一致;
若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本;
若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号;
若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
根据本发明实施例的软件升级方法,增加了标识信息的判断过程,在差分升级包的名称与软件的名称一致的前提下,判断差分升级包中的标识信息与软件中的标识信息是否一致,该标识信息用于区别不同硬件配置的软件版本,若差分升级包中的标识信息与软件中的标识信息一致,则说明下载的差分升级包与软件当前处于的硬件配置匹配,此外,通过对差分升级包中API函数所依赖的动态链接库的版本号与软件中API函数所依赖的动态链接库的版本号进行比对,能够确保通过差分升级包进行软件升级时的时效性和稳定性,从而保证软件升级顺利进行。
另外,根据本发明上述实施例的软件升级方法,还可以具有如下附加的技术特征:
进一步地,在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级的步骤具体包括:
判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容;
若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本兼容,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
进一步地,判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容的步骤之后,所述方法还包括:
若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本不兼容,则终止安装所述差分升级包,并发出第一提示信息,所述第一提示信息用于提示用户升级失败。
进一步地,所述API函数封装在所述差分升级包或所述软件的头部信息中。
进一步地,从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件的步骤具体包括:
从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件、所述差分升级包对应的第二配置文件,所述第二配置文件用于指示通过所述差分升级包对所述软件进行升级后软件的大小;
在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级的步骤具体包括:
根据所述第二配置文件判断通过所述差分升级包对所述软件进行升级后软件的大小是否小于或等于当前剩余空间的大小;
若通过所述差分升级包对所述软件进行升级后软件的大小小于或等于当前剩余空间的大小,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
进一步地,根据所述第二配置文件判断通过所述差分升级包对所述软件进行升级后软件的大小是否小于或等于当前剩余空间的大小的步骤之后,所述方法还包括:
若通过所述差分升级包对所述软件进行升级后软件的大小大于当前剩余空间的大小,则发出第二提示信息,所述第二提示信息用于指示用户进行空间清理。
本发明的另一个实施例提出一种软件升级装置,以解决现有技术中因下载的差分包与软件当前处于的硬件配置不匹配,导致升级失败的问题。
根据本发明一实施例的软件升级装置,所述装置包括:
下载模块,用于从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件,所述第一配置文件为所述差分升级包的索引信息;
第一判断模块,用于判断所述差分升级包的名称与所述软件的名称是否一致;
第二判断模块,用于若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本;
第三判断模块,用于若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号;
安装升级模块,用于若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
根据本发明实施例的软件升级装置,增加了标识信息的判断过程,在差分升级包的名称与软件的名称一致的前提下,判断差分升级包中的标识信息与软件中的标识信息是否一致,该标识信息用于区别不同硬件配置的软件版本,若差分升级包中的标识信息与软件中的标识信息一致,则说明下载的差分升级包与软件当前处于的硬件配置匹配,此外,通过对差分升级包中API函数所依赖的动态链接库的版本号与软件中API函数所依赖的动态链接库的版本号进行比对,能够确保通过差分升级包进行软件升级时的时效性和稳定性,从而保证软件升级顺利进行。
另外,根据本发明上述实施例的软件升级装置,还可以具有如下附加的技术特征:
进一步地,所述装置还包括第四判断模块,用于判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容;
所述安装升级模块具体用于若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本兼容,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
进一步地,所述装置还包括:
第一提示模块,用于若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本不兼容,则终止安装所述差分升级包,并发出第一提示信息,所述第一提示信息用于提示用户升级失败。
进一步地,所述API函数封装在所述差分升级包或所述软件的头部信息中。
进一步地,所述下载模块还用于从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件、所述差分升级包对应的第二配置文件,所述第二配置文件用于指示通过所述差分升级包对所述软件进行升级后软件的大小;
所述装置还包括:
第五判断模块,用于根据所述第二配置文件判断通过所述差分升级包对所述软件进行升级后软件的大小是否小于或等于当前剩余空间的大小;
所述安装升级模块具体用于:若通过所述差分升级包对所述软件进行升级后软件的大小小于或等于当前剩余空间的大小,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
进一步地,所述装置还包括:
第二提示模块,用于若通过所述差分升级包对所述软件进行升级后软件的大小大于当前剩余空间的大小,则发出第二提示信息,所述第二提示信息用于指示用户进行空间清理。
本发明的另一个实施例还提出一种可读可存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
本发明实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明第一实施例的软件升级方法的流程图;
图2是根据本发明第二实施例的软件升级方法的流程图;
图3是根据本发明第三实施例的软件升级装置的结构示意图;
图4是根据本发明第四实施例的软件升级装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明第一实施例提出的软件升级方法,包括步骤S101~S105:
S101,从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件,所述第一配置文件为所述差分升级包的索引信息。
其中,本实施例的执行主体为用户终端,用户终端例如是手机、平板电脑、计算机等终端设备。以具有安卓系统的手机为例,手机安装有多个软件。当软件需要更新升级时,需要向服务器请求下载软件的差分升级包。
服务器具体可以根据旧版本软件和新版本软件的MF文件中列举出软件中文件条目的SHA1哈希值的差异,从而生成差分升级包,具体可以对比新旧软件的每个文件条目,从而实现从文件角度产生差分升级包。
此外,该第一配置文件与所述差分升级包对应,具体表现为所述配置文件是所述差分升级包的索引信息,用于提示客户端进行相应的升级,具体可以为update.xml文件。该第一配置文件和该差分升级包以patch的文件形式存储在服务器中,即该patch中包含该差分升级包和该配置文件。
S102,判断所述差分升级包的名称与所述软件的名称是否一致。
其中,若差分升级包的名称与所述软件的名称一致,则进行下一步的判断,反之,若差分升级包的名称与所述软件的名称一致,则直接终止升级过程。
S103,若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本。
其中,若差分升级包的名称与软件的名称一致,则进一步判断差分升级包中的标识信息与软件中的标识信息是否一致,标识信息是在软件编译的时候固定在程序中的,不能通过手动修改。标识信息是用于区别不同硬件配置的软件版本的,其具体可以包括DDR配置信息和/或EMMC配置信息,也即,标识信息是用于区分具有不同DDR配置信息和/或EMMC配置信息的软件版本。软件的DDR配置信息和/或EMMC配置信息不同,则对应的标识信息也不同。
S104,若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号。
其中,差分升级包中的标识信息与主板软件中的标识信息一致,说明下载的差分升级包与软件当前处于的硬件配置匹配,然后进行下一步的判断,即判断差分升级包中API函数所依赖的动态链接库的版本号是否高于软件中API函数所依赖的动态链接库的版本号,通过API函数所依赖的动态链接库的版本号来确定差分升级包相对于待升级的软件是高版本还是低版本的,若差分升级包中API函数所依赖的动态链接库的版本号高于软件中API函数所依赖的动态链接库的版本号,则说明差分升级包相对于待升级的软件是高版本的,反之,若若差分升级包中API函数所依赖的动态链接库的版本号小于或等于软件中API函数所依赖的动态链接库的版本号,则说明差分升级包相对于待升级的软件是同版本或者低版本的。
其中,API函数封装在所述差分升级包或所述软件的头部信息中。具体的,差分升级包或软件中所使用的所有API函数所引用的每个动态链接库的最高版本号,与APP头文件、源文件等信息进行封装并打包到差分升级包或软件中。
S105,若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则在索引信息的引导下,安装差分升级包,以对软件进行升级。
其中,若差分升级包中API函数所依赖的动态链接库的版本号高于软件中API函数所依赖的动态链接库的版本号,则在索引信息(例如update.xml文件)的引导下,安装所述差分升级包,以对所述软件进行升级。
根据本实施例提供的软件升级方法,增加了标识信息的判断过程,在差分升级包的名称与软件的名称一致的前提下,判断差分升级包中的标识信息与软件中的标识信息是否一致,该标识信息用于区别不同硬件配置的软件版本,若差分升级包中的标识信息与软件中的标识信息一致,则说明下载的差分升级包与软件当前处于的硬件配置匹配,此外,通过对差分升级包中API函数所依赖的动态链接库的版本号与软件中API函数所依赖的动态链接库的版本号进行比对,能够确保通过差分升级包进行软件升级时的时效性和稳定性,从而保证软件升级顺利进行。
此外,作为一个具体示例,步骤S105中,在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级的步骤具体包括:
判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容;
若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本兼容,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本不兼容,则终止安装所述差分升级包,并发出第一提示信息,所述第一提示信息用于提示用户升级失败。
其中,软件当前所处的环境是指软件在用户终端中所处的运行环境(包括软件系统环境以及硬件环境),只有在差分升级包中API函数所依赖的动态链接库的版本与软件当前所处环境的动态链接库的版本兼容的情况下,才会执行软件的升级。
请参阅图2,本发明第二实施例提出的软件升级方法,包括步骤S201~S206:
S201,从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件、所述差分升级包对应的第二配置文件,所述第一配置文件为所述差分升级包的索引信息,所述第二配置文件用于指示通过所述差分升级包对所述软件进行升级后软件的大小。
其中,第二配置文件的格式可以为txt,里面填写有通过差分升级包对软件进行升级后软件的大小,也即进行软件升级后,软件的大小具体是多大。需要指出的是,本实施例中未描述之处可以参见第一实施例。
S202,判断所述差分升级包的名称与所述软件的名称是否一致。
S203,若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本。
S204,若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号。
S205,若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则根据所述第二配置文件判断通过所述差分升级包对所述软件进行升级后软件的大小是否小于或等于当前剩余空间的大小。
其中,当前剩余空间是指用户终端能够使用的存储空间。当差分升级包中API函数所依赖的动态链接库的版本号高于软件中API函数所依赖的动态链接库的版本号,不会直接执行升级过程,而且先判断通过第二配置文件判断通过差分升级包对软件进行升级后软件的大小是否小于或等于当前剩余空间的大小。
S206,若通过所述差分升级包对所述软件进行升级后软件的大小小于或等于当前剩余空间的大小,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
其中,若通过所述差分升级包对所述软件进行升级后软件的大小大于当前剩余空间的大小,则发出第二提示信息,所述第二提示信息用于指示用户进行空间清理,避免升级失败。
本实施例在第一实施例的基础上,增加了通过差分升级包对软件进行升级后软件的大小的判断,只有在差分升级包中API函数所依赖的动态链接库的版本号高于软件中API函数所依赖的动态链接库的版本号,且通过差分升级包对软件进行升级后软件的大小是否小于或等于当前剩余空间的大小的前提下,才会执行软件升级,进一步提升了软件升级的可靠性和成功率。
需要说明是,本实施例重点说明的是与上一实施例的不同之处,各个实施例之间相同相似的部分未重复描述,可以相互参见,且各实施例之间的技术特征可以根据本领域技术人员的常规技术手段进行选择性组合。
请参阅图3,基于同一发明构思,本发明第三实施例提出的软件升级装置,所述装置包括:
下载模块11,用于从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件,所述第一配置文件为所述差分升级包的索引信息;
第一判断模块12,用于判断所述差分升级包的名称与所述软件的名称是否一致;
第二判断模块13,用于若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本;
第三判断模块14,用于若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号;
安装升级模块15,用于若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
本实施例中,所述装置还包括第四判断模块16,用于判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容;
所述安装升级模块15具体用于若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本兼容,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
本实施例中,所述装置还包括:
第一提示模块17,用于若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本不兼容,则终止安装所述差分升级包,并发出第一提示信息,所述第一提示信息用于提示用户升级失败。
本实施例中,所述API函数封装在所述差分升级包或所述软件的头部信息中。
根据本实施例的软件升级装置,增加了标识信息的判断过程,在差分升级包的名称与软件的名称一致的前提下,判断差分升级包中的标识信息与软件中的标识信息是否一致,该标识信息用于区别不同硬件配置的软件版本,若差分升级包中的标识信息与软件中的标识信息一致,则说明下载的差分升级包与软件当前处于的硬件配置匹配,此外,通过对差分升级包中API函数所依赖的动态链接库的版本号与软件中API函数所依赖的动态链接库的版本号进行比对,能够确保通过差分升级包进行软件升级时的时效性和稳定性,从而保证软件升级顺利进行。
请参阅图4,基于同一发明构思,本发明第四实施例提出的软件升级装置,所述装置包括:
下载模块21,用于从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件、所述差分升级包对应的第二配置文件,所述第二配置文件用于指示通过所述差分升级包对所述软件进行升级后软件的大小。
第一判断模块22,用于判断所述差分升级包的名称与所述软件的名称是否一致;
第二判断模块23,用于若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本;
第三判断模块24,用于若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号;
安装升级模块25,用于若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
本实施例中,所述装置还包括:
第五判断模块26,用于根据所述第二配置文件判断通过所述差分升级包对所述软件进行升级后软件的大小是否小于或等于当前剩余空间的大小;
所述安装升级模块25具体用于:若通过所述差分升级包对所述软件进行升级后软件的大小小于或等于当前剩余空间的大小,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
本实施例中,所述装置还包括:
第二提示模块27,用于若通过所述差分升级包对所述软件进行升级后软件的大小大于当前剩余空间的大小,则发出第二提示信息,所述第二提示信息用于指示用户进行空间清理。
本实施例在上一实施例的基础上,增加了通过差分升级包对软件进行升级后软件的大小的判断,只有在差分升级包中API函数所依赖的动态链接库的版本号高于软件中API函数所依赖的动态链接库的版本号,且通过差分升级包对软件进行升级后软件的大小是否小于或等于当前剩余空间的大小的前提下,才会执行软件升级,进一步提升了软件升级的可靠性和成功率。
需要说明是,本实施例重点说明的是与上一实施例的不同之处,各个实施例之间相同相似的部分未重复描述,可以相互参见,且各实施例之间的技术特征可以根据本领域技术人员的常规技术手段进行选择性组合。
此外,本发明的实施例还提出一种可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述方法的步骤。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种软件升级方法,其特征在于,所述方法包括:
从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件,所述第一配置文件为所述差分升级包的索引信息;
判断所述差分升级包的名称与所述软件的名称是否一致;
若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本;
若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号;
若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
2.根据权利要求1所述的软件升级方法,其特征在于,在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级的步骤具体包括:
判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容;
若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本兼容,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
3.根据权利要求2所述的软件升级方法,其特征在于,判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容的步骤之后,所述方法还包括:
若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本不兼容,则终止安装所述差分升级包,并发出第一提示信息,所述第一提示信息用于提示用户升级失败。
4.根据权利要求2或3所述的软件升级方法,其特征在于,所述API函数封装在所述差分升级包或所述软件的头部信息中。
5.根据权利要求1所述的软件升级方法,其特征在于,从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件的步骤具体包括:
从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件、所述差分升级包对应的第二配置文件,所述第二配置文件用于指示通过所述差分升级包对所述软件进行升级后软件的大小;
在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级的步骤具体包括:
根据所述第二配置文件判断通过所述差分升级包对所述软件进行升级后软件的大小是否小于或等于当前剩余空间的大小;
若通过所述差分升级包对所述软件进行升级后软件的大小小于或等于当前剩余空间的大小,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
6.根据权利要求5所述的软件升级方法,其特征在于,根据所述第二配置文件判断通过所述差分升级包对所述软件进行升级后软件的大小是否小于或等于当前剩余空间的大小的步骤之后,所述方法还包括:
若通过所述差分升级包对所述软件进行升级后软件的大小大于当前剩余空间的大小,则发出第二提示信息,所述第二提示信息用于指示用户进行空间清理。
7.一种软件升级装置,其特征在于,所述装置包括:
下载模块,用于从服务器下载待升级的软件的差分升级包以及所述差分升级包对应的第一配置文件,所述第一配置文件为所述差分升级包的索引信息;
第一判断模块,用于判断所述差分升级包的名称与所述软件的名称是否一致;
第二判断模块,用于若所述差分升级包的名称与所述软件的名称一致,则判断所述差分升级包中的标识信息与所述软件中的标识信息是否一致,所述标识信息用于区别不同硬件配置的软件版本;
第三判断模块,用于若所述差分升级包中的标识信息与所述主板软件中的标识信息一致,则判断所述差分升级包中API函数所依赖的动态链接库的版本号是否高于所述软件中API函数所依赖的动态链接库的版本号;
安装升级模块,用于若所述差分升级包中API函数所依赖的动态链接库的版本号高于所述软件中API函数所依赖的动态链接库的版本号,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
8.根据权利要求7所述的软件升级装置,其特征在于,所述装置还包括第四判断模块,用于判断所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本是否兼容;
所述安装升级模块具体用于若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本兼容,则在所述索引信息的引导下,安装所述差分升级包,以对所述软件进行升级。
9.根据权利要求8所述的软件升级装置,其特征在于,所述装置还包括:
第一提示模块,用于若所述差分升级包中API函数所依赖的动态链接库的版本与所述软件当前所处环境的动态链接库的版本不兼容,则终止安装所述差分升级包,并发出第一提示信息,所述第一提示信息用于提示用户升级失败。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110157223.9A CN112783542A (zh) | 2021-02-04 | 2021-02-04 | 软件升级方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110157223.9A CN112783542A (zh) | 2021-02-04 | 2021-02-04 | 软件升级方法、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783542A true CN112783542A (zh) | 2021-05-11 |
Family
ID=75760859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110157223.9A Pending CN112783542A (zh) | 2021-02-04 | 2021-02-04 | 软件升级方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783542A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296799A (zh) * | 2021-06-21 | 2021-08-24 | Oppo广东移动通信有限公司 | 应用程序的安装方法、装置、电子设备和存储介质 |
CN113778490A (zh) * | 2021-09-16 | 2021-12-10 | 深圳市易平方网络科技有限公司 | 基于智能终端的软件升级处理方法、装置、智能终端 |
CN116755747A (zh) * | 2023-08-16 | 2023-09-15 | 深圳市德兰明海新能源股份有限公司 | 一种软件开发升级管理方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866341A (zh) * | 2015-05-07 | 2015-08-26 | 北京金山安全软件有限公司 | 一种组件升级方法、装置及终端 |
CN106528086A (zh) * | 2016-10-10 | 2017-03-22 | 广州视源电子科技股份有限公司 | 一种安卓软件升级的方法及系统 |
CN107357617A (zh) * | 2017-06-30 | 2017-11-17 | 广东欧珀移动通信有限公司 | 应用更新方法、装置、存储介质及电子设备 |
CN108874414A (zh) * | 2018-04-02 | 2018-11-23 | 广州视源电子科技股份有限公司 | 软件升级方法、装置、可读存储介质及电视设备 |
US10146520B1 (en) * | 2010-12-14 | 2018-12-04 | Ivanti, Inc. | Updating a running application on a computing device |
CN111026439A (zh) * | 2019-11-22 | 2020-04-17 | 广州华多网络科技有限公司 | 应用程序的兼容方法、装置、设备及计算机存储介质 |
CN112000367A (zh) * | 2020-10-29 | 2020-11-27 | 杭州圆石网络安全技术有限公司 | 一种二进制库文件版本兼容性识别方法和装置 |
-
2021
- 2021-02-04 CN CN202110157223.9A patent/CN112783542A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146520B1 (en) * | 2010-12-14 | 2018-12-04 | Ivanti, Inc. | Updating a running application on a computing device |
CN104866341A (zh) * | 2015-05-07 | 2015-08-26 | 北京金山安全软件有限公司 | 一种组件升级方法、装置及终端 |
CN106528086A (zh) * | 2016-10-10 | 2017-03-22 | 广州视源电子科技股份有限公司 | 一种安卓软件升级的方法及系统 |
CN107357617A (zh) * | 2017-06-30 | 2017-11-17 | 广东欧珀移动通信有限公司 | 应用更新方法、装置、存储介质及电子设备 |
CN108874414A (zh) * | 2018-04-02 | 2018-11-23 | 广州视源电子科技股份有限公司 | 软件升级方法、装置、可读存储介质及电视设备 |
CN111026439A (zh) * | 2019-11-22 | 2020-04-17 | 广州华多网络科技有限公司 | 应用程序的兼容方法、装置、设备及计算机存储介质 |
CN112000367A (zh) * | 2020-10-29 | 2020-11-27 | 杭州圆石网络安全技术有限公司 | 一种二进制库文件版本兼容性识别方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296799A (zh) * | 2021-06-21 | 2021-08-24 | Oppo广东移动通信有限公司 | 应用程序的安装方法、装置、电子设备和存储介质 |
CN113778490A (zh) * | 2021-09-16 | 2021-12-10 | 深圳市易平方网络科技有限公司 | 基于智能终端的软件升级处理方法、装置、智能终端 |
CN116755747A (zh) * | 2023-08-16 | 2023-09-15 | 深圳市德兰明海新能源股份有限公司 | 一种软件开发升级管理方法、装置及电子设备 |
CN116755747B (zh) * | 2023-08-16 | 2023-10-24 | 深圳市德兰明海新能源股份有限公司 | 一种软件开发升级管理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112783542A (zh) | 软件升级方法、装置及可读存储介质 | |
US7904895B1 (en) | Firmware update in electronic devices employing update agent in a flash memory card | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
US7984435B2 (en) | Update system employing reference software to reduce number of update packages | |
US8161474B2 (en) | Diagnostic information preservation during installations of over the air update of wireless handset software | |
CN107256161B (zh) | 基于electron技术的客户端升级方法 | |
CN103647816A (zh) | 一种应用软件升级的方法及装置 | |
CN105373396A (zh) | 插件平台中的插件更新方法和装置 | |
CN109857423B (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
CN103188097A (zh) | 一种实现补丁管理的方法、装置及系统 | |
EP3108361A2 (fr) | Procédé de déploiement d'un ensemble d'application(s) logicielle(s) | |
CN107797818A (zh) | 应用程序升级方法及装置 | |
CN106951284B (zh) | 基于安卓系统应用的用户界面升级方法、装置及智能终端 | |
CN104239098A (zh) | 软件的自动升级方法、装置及移动终端 | |
KR20150005164A (ko) | Fota 시스템 및 그 실행 방법 | |
CN111158714A (zh) | 车载域控制器ota升级软件的方法及装置、存储介质、终端 | |
CN106686073A (zh) | 一种信息处理方法及系统 | |
CN113342419B (zh) | 一种推送系统加载方法、装置、电子设备及存储介质 | |
CN109032617B (zh) | 一种自动删除安装包的控制方法及控制装置 | |
CN112988169A (zh) | 应用安装方法、装置、终端设备、服务器及存储介质 | |
CN113094064A (zh) | 网关软件模块升级方法、装置、设备及存储介质 | |
CN109710287B (zh) | 一种热更新方法、装置及计算机存储介质 | |
CN106033364B (zh) | 一种Web应用程序的升级方法及系统 | |
CN115357260A (zh) | 终端设备的程序升级方法、装置、终端设备和存储介质 | |
CN116069366A (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 |