CN111708566A - 软件增量更新方法、装置、***及计算机可读存储介质 - Google Patents
软件增量更新方法、装置、***及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111708566A CN111708566A CN202010526720.7A CN202010526720A CN111708566A CN 111708566 A CN111708566 A CN 111708566A CN 202010526720 A CN202010526720 A CN 202010526720A CN 111708566 A CN111708566 A CN 111708566A
- Authority
- CN
- China
- Prior art keywords
- module
- client
- version information
- local
- information
- 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 54
- 238000012545 processing Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 9
- 238000009434 installation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000002155 anti-virotic effect Effects 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种软件增量更新方法、装置、***及计算机可读存储介质,该方法先判断客户端是否需要更新到最新版本,若是则进行全量更新,若否,则对版本落后的模块进行增量更新。本申请实施例在兼顾全量更新的同时,在客户端不需要全量更新时,能够通过对版本落后的模块进行增量更新,增量更新的更新包和更新时间都大幅缩小。并且在客户端不需要全量更新时,用户无需重新安装客户端,仅需要对其中个别模块进行增量更新,用户对增量更新全程无感知,提高了用户的使用体验。
Description
技术领域
本申请实施例涉及软件更新技术领域,尤其涉及一种软件增量更新方法、装置、***及计算机可读存储介质。
背景技术
随着现代科技的发展,计算机、平板、手机等终端工具走进了人们的生活,提高了人们的工作效率,丰富了人们的娱乐活动。这些终端通过网络连接到服务器,并且终端上和服务器上都安装有相应的软件,以完成人们所需的功能。随着人们所需的功能不断增加,软件也需要进行更新升级。软件更新升级是指,软件开发者在编写软件的时候,由于设计人员考虑不全面或程序功能不完善,在软件发行后,通过对程序的修改或加入新的功能后,以补丁的形式发布的方式。用户根据这些补丁对软件更新升级,即可升级完成。
目前软件升级大多采用全量更新的方式,即在进行更新操作时,更新软件所有的地方,不管这个组件或者模块是否需要更新,会更新替换所有内容。这种更新方式的劣势很明显例如:更新内容太多,用户等待下载、安装时间过长。
发明内容
本申请实施例提供了一种软件增量更新方法、装置、***及计算机可读存储介质,以解决上述全量更新更新内容太多,用户等待下载、安装时间过长的技术问题。
第一方面,本申请实施例提供一种软件增量更新方法,包括:
获取本地信息与服务端信息,所述本地信息包括本地客户端版本信息和本地模块版本信息,所述服务端信息包括客户端最新版本信息和模块最新版本信息;
若所述本地客户端版本信息与所述客户端最新版本信息不一致,则执行全量更新;
若所述本地客户端版本信息与所述客户端最新版本信息一致,则对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新。
结合第一方面,在一种可能的实现方式中,所述执行增量更新包括:
获取所述本地模块版本信息与所述模块最新版本信息不一致的模块对应的模块更新包;
保存所述模块更新包在预设位置,以使得客户端从所述预设位置加载所述模块更新包。
结合第一方面,在一种可能的实现方式中,所述对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新包括:
判断一个模块对应的所述本地模块版本信息与所述模块最新版本信息是否一致;
若否,则根据所述模块执行增量更新;
若是,则判断下一个模块对应的所述本地模块版本信息与所述模块最新版本信息是否一致,直到所有模块判断完毕。
结合第一方面,在一种可能的实现方式中,所述对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新之后,所述方法还包括:
将所述本地模块版本信息更新为所述模块最新版本信息。
结合第一方面,在一种可能的实现方式中,所述执行全量更新包括:
获取客户端对应的全量更新包;
安装所述全量更新包。
结合第一方面,在一种可能的实现方式中,所述执行全量更新之后,所述方法还包括:
将所述本地客户端版本信息更新为所述客户端最新版本信息。
结合第一方面,在一种可能的实现方式中,所述获取本地信息与服务端信息之前,所述方法还包括:
服务器存储所述服务端信息,以使得客户端从所述服务器获取所述服务端信息;
服务器存储所述客户端最新版本信息对应的全量更新包,以使得所述客户端从所述服务器获取所述全量更新包;
服务器存储所述模块最新版本信息对应的模块更新包,以使得所述客户端从所述服务器获取所述模块更新包。
第二方面,本申请实施例提供一种软件增量更新装置,包括:
获取模块,用于获取本地信息与服务端信息,所述本地信息包括本地客户端版本信息和本地模块版本信息,所述服务端信息包括客户端最新版本信息和模块最新版本信息;
全量更新模块,用于若所述本地客户端版本信息与所述客户端最新版本信息不一致,则执行全量更新;
增量更新模块,用于若所述本地客户端版本信息与所述客户端最新版本信息一致,则对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新。
结合第二方面,在一种可能的实现方式中,增量更新模块还用于:
获取所述本地模块版本信息与所述模块最新版本信息不一致的模块对应的模块更新包;
保存所述模块更新包在预设位置,以使得客户端从所述预设位置加载所述模块更新包。
结合第二方面,在一种可能的实现方式中,增量更新模块还用于:
判断一个模块对应的所述本地模块版本信息与所述模块最新版本信息是否一致;
若否,则根据所述模块执行增量更新;
若是,则判断下一个模块对应的所述本地模块版本信息与所述模块最新版本信息是否一致,直到所有模块判断完毕。
结合第二方面,在一种可能的实现方式中,增量更新模块还用于:
将所述本地模块版本信息更新为所述模块最新版本信息。
结合第二方面,在一种可能的实现方式中,全量更新模块还用于:
获取客户端对应的全量更新包;
安装所述全量更新包。
结合第二方面,在一种可能的实现方式中,全量更新模块还用于:
将所述本地客户端版本信息更新为所述客户端最新版本信息。
第三方面,本申请实施例提供一种软件增量更新***,包括终端和服务器;
所述服务器上存储有服务端信息、全量更新包和模块更新包;
所述终端用于执行如第一方面的软件增量更新方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种软件增量更新方法、装置、***及计算机可读存储介质,该方法先判断客户端是否需要更新到最新版本,若是则进行全量更新,若否,则对版本落后的模块进行增量更新。本申请实施例在兼顾全量更新的同时,在客户端不需要全量更新时,能够通过对版本落后的模块进行增量更新,增量更新的更新包和更新时间都大幅缩小。并且在客户端不需要全量更新时,用户无需重新安装客户端,仅需要对其中个别模块进行增量更新,用户对增量更新全程无感知,提高了用户的使用体验。
附图说明
图1为本申请实施例提供的一种软件增量更新方法的流程图;
图2为本申请实施例提供的软件增量更新方法的整体逻辑图;
图3为本申请实施例提供的一种软件增量更新装置的示意图;
图4为本申请实施例提供的一种软件增量更新***的示意图。
具体实施方式
本申请实施例提供了一种软件增量更新方法、装置、***及计算机可读存储介质,以解决上述全量更新更新内容太多,用户等待下载、安装时间过长的技术问题。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
软件升级:是指软件开发者在编写软件的时候,由于设计人员考虑不全面或程序功能不完善,在软件发行后,通过对程序的修改或加入新的功能后,以补丁的形式发布的方式。用户把这些补丁更新,即升级完成。
全量更新:是指在进行更新操作时,更新所有的地方,不管这个组件或者模块是否需要更新,会更新替换所有内容。这种更新方式的劣势很明显例如:更新内容太多,用户等待下载、安装时间过长。
增量更新:是指在软件进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对。这种更新的概念应用范围比较广泛,凡是需要进行数据更新的地方都会用到,如软件更新、数据库更新、杀毒软件的病毒库更新、CMS更新和路由表更新等。
增量更新对比全量更新的优势:
(1)增量更新包相比于全量更新包体积小得多,减少流量和用户下载时间。
(2)全量更新有安装等待时间,增量更新则无需安装只需要下载完即可使用。
(3)全量更新有用户感知的安装过程。
图1为本申请实施例提供的一种软件增量更新方法的流程图。图2为本申请实施例提供的软件增量更新方法的整体逻辑图。请参阅图1和图2,本申请实施例提供的一种软件增量更新方法,以客户端执行,包括:
101、客户端获取本地信息与服务端信息。
在本申请实施例中,客户端为安装在终端上的软件,例如安装在个人计算机(personal computer,PC)上的软件,安装在手机上的软件或者是安装在平板上的软件。终端通过客户端实现其功能,因此可以描述为终端执行本申请实施例提供的软件增量更新方法,也可以描述为客户端执行本申请实施例提供的软件增量更新方法。为方便统一,本申请实施例以客户端为执行主体进行描述。
在本申请实施例中,本地信息是指存储在客户端的信息,或者称为存储在终端中的信息。本地信息主要包括本地客户端版本、各个本地模块版本等。客户端可以将存储在本地的信息读取出来。表1为本地信息的示例表格。如表1所示,本地信息可以包括一个本地客户端版本以及多个本地模块版本。
表1
在本申请实施例中,服务端信息是指存储在服务器上的信息,或者存储在网络云上的信息。服务端信息主要包括客户端最新版本、各个模块最新版本等信息。客户端可以通过与服务器或网络云之间的网络连接,将服务器或网络云上的服务端信息下载下来。具体地,服务器或网络云可以向客户端推送下载地址,使得客户端可以下载服务端信息。
在一些实施例中,版本(本地客户端版本、各个本地模块版本、客户端最新版本、各个模块最新版本等)可以通过版本号来表示。示例性的,本地客户端版本为1.0,一般是指第一个版本。本地模块版本可以为1.0.3,或者是1.0.4。在实际应用中,版本还可以用其他标识来表示,本申请实施例对此不做限定。
在本申请实施例中,客户端可以由多个模块组成。例如,一个杀毒软件可以由杀毒软件程序主体、病毒库、木马库、主动防御模块等组成。又例如,一个即时通讯软件可以由即时通讯软件主体、视频模块、文件传输模块、截图模块等组成。本申请实施例对具体的模块不做限定,可以将各个模块称为第一模块、第二模块、第三模块等。
在本申请实施例中,各个模块可以由其对应的模块版本。例如,第一模块的本地模块版本是1.0.3,第二模块的本地模块版本是1.0.1,第一模块的模块最新版本是1.0.3等。每个模块有其对应的版本,用来表示该模块的版本信息,较新版本的模块一般能够包含更多的功能,稳定性更高,更安全。
表2为本申请实施例中服务端信息的示例表格。如表2所示,服务端信息可以包括一个客户端最新版本、多个模块最新版本等信息。
表2
102、客户端判断客户端最新版本与本地客户端版本是否一致,若一致,则执行步骤103,若不一致,则执行步骤105。
在本申请实施例中,客户端从服务器下载了服务端信息后,从服务端信息中提取到客户端最新版本。并且,客户端可以将客户端最新版本与本地客户端版本进行比较,若一致,则执行步骤103,若不一致,则执行步骤106。示例性的,客户端最新版本为1.2,本地客户端版本为1.1,则客户端最新版本与本地客户端版本不一致,客户端将执行步骤104。又例如,客户端最新版本为1.2,本地客户端版本为1.2,则两者一致,客户端将执行步骤103。
103、客户端判断本地模块版本与对应的模块最新版本是否一致,若不一致,则执行步骤104,若一致,则继续判断下一个模块的本地模块版本与对应的模块最新版本是否一致,直到所有模块判断完毕。
在本申请实施例中,客户端从服务器下载了服务端信息后,从服务端信息中提取到各个模块的模块最新版本。然后,客户端可以将各个本地模块版本与对应的模块最新版本进行比较,若不一致,则执行步骤104,若一致,则结束。示例性的,第一模块的本地模块版本为1.0.3,而客户端下载到的服务端信息中,第一模块的模块最新版本为1.0.4,则两者不一致,客户端执行步骤104。若客户端下载到的服务端信息中,第一模块的模块最新版本为1.0.3,则两者一致,客户端继续检测下一个模块的版本信息是否一致。当客户端检测到所有模块的版本信息都一致时,客户端结束本申请的方法流程。
在一些实施例中,本申请的方法流程通过一个程序进程实现,则客户端结束本申请的方法流程时,可以关闭对应的进程。
需要说明的是,本申请实施例中,客户端可以包含多个模块,例如,第一模块、第二模块、第三模块等。每个模块有对应的本地模块版本。表1为本申请实施例中,客户端本地存储的本地模块版本信息。
表3为根据表1和表2对比得出的示例表格。如表3所示,第一模块的本地模块版本与模块最新版本不一致,则客户端检测到第一模块的本地模块版本与模块最新版本不一致后,执行步骤104,执行完步骤104后,返回执行步骤103。而第二模块的本地模块版本与模块最新版本一致,则客户端检测到第二模块的本地模块版本与模块最新版本一致后,继续检测第三模块的本地模块版本与模块最新版本是否一致。第一模块、第二模块、第三模块都检测并处理完毕后,客户端可以完成增量更新。
表3
在一些实施例中,客户端可以设置多个子进程,来同时检测各个模块的本地模块版本与对应的模块最新版本是否一致。然后客户端可以将检测出来的本地模块版本与对应的模块最新版本不一致的模块的标识发送给用于执行步骤104的进程。
在一些实施例中,客户端可以逐个模块地检测本地模块版本与对应的模块最新版本是否一致,并处理。示例性的,客户端先检测第一模块的本地模块版本与对应的模块最新版本是否一致,若不一致,则执行步骤104进行处理,处理完后再继续检测第二模块的本地模块版本与对应的模块最新版本是否一致。若一致,则继续检测第二模块的本地模块版本与对应的模块最新版本是否一致。
104、客户端从服务器获取模块对应的模块更新包,将模块更新包保存到指定位置。
在本申请实施例中,客户端确定了本地模块版本与对应的模块最新版本不一致的模块后,可以从服务器获取其对应的模块更新包。示例性的,客户端确定本地模块版本与对应的模块最新版本不一致的模块为第一模块,则客户端可以从服务器获取第一模块对应的模块更新包。
客户端获取模块更新包后,将更新包保存到指定位置。在一些情况中,指定位置可以是指预设的存储文件夹。
在本申请实施例中,模块更新包里面包含模块的对应数据。在一些实施例中,客户端可以读取这些数据并生成对应的文件,使得客户端能够实现对应的功能。在另一些实施例中,客户端可以读取这些数据并配置加载对应的模块,使得客户端能够实现对应的功能。在本申请实施例中,客户端启动的时候,可以读取加载已经更新的数据(即模块更新包),从而配置加载对应的模块。示例性的,杀毒软件启动的时候,可以读取加载已经更新的数据,从而配置和加载病毒库模块。
在第一种情况下,客户端启动的时候通过模块更新包加载配置对应的模块。在第二种情况下,当模块更新包保存到指定位置后,客户端可以马上通过模块更新包加载配置对应的模块,使得对应的模块实时更新。在第三种情况下,当模块更新包保存到指定位置后,客户端执行重启,然后在客户端启动的时候通过模块更新包加载配置对应的模块。在实际应用中,还可能存在其他情况,例如客户端过一段时间再重启,本申请实施例对此不做限定。
在一些实施例中,客户端将模块更新包保存到指定位置后,可以将客户端最新版本、模块最新版本保存至本地,作为本地客户端版本以及本地模块版本。示例性的,如表3的示例中,第一模块的模块最新版本号为1.0.4,第一模块的本地模块版本为1.0.3。在客户端从服务器获取第一模块对应的模块更新包,将模块更新包保存到指定位置之后,客户端可以将第一模块的本地模块版本1.0.3替换为1.0.4。
在一些实施例中,客户端将模块更新包保存到指定位置后,可以将指定位置的信息保存下来。示例性的,客户端将模块更新包保存到C盘下客户端对应的文件夹中,则客户端可以将该文件夹的访问路径保存下来,使得客户端启动的时候可以顺利加载到该模块更新包,以及客户端覆盖更新该模块更新包的时候可以顺利找到对应的位置。
在一些实施例中,客户端可以指定一个相同的位置,每次下载模块更新包后,将该位置中的模块更新包进行更新覆盖。在另一些实施例中,客户端在下载模块更新包后,将模块更新包保存在一个新的位置,客户端可以从新的位置读取加载该模块更新包,并且客户端可以删除原来位置的模块更新包。
105、客户端获取全量更新包并安装全量更新包。
在本申请实施例中,当客户端执行步骤102时判断得出客户端最新版本与本地客户端版本不一致时,客户端可以执行步骤105,即获取全量更新包并安装全量更新包。在本申请实施例中,客户端判断得出客户端最新版本与本地客户端版本不一致,则说明客户端需要进行大的版本更新,例如客户端从1.0版本升级到2.0版本,需要通过全量更新的方式进行更新升级。因此,客户端可以先判断是否需要大的版本更新,若需要,则进行全量更新,若不需要,则进行增量更新,即分别对版本落后的模块进行更新。
客户端进行全量更新时,可以从服务器下载全量更新包。一般地,服务器会向客户端提供全量更新包的下载地址,使得客户端能够通过该下载地址进行下载。
客户端下载完全量更新包后,可以安装该全量更新包。安装方式与一般的客户端安装方式类似,本申请实施例对此不再赘述。
在一些实施例中,客户端安装完全量更新包后,可以保存最新客户端版本。示例性的,客户端从1.0版本升级到2.0版本,则客户端安装完全量更新包后,本地客户端版本从1.0更新为2.0。
在一些实施例中,客户端进行全量更新时,客户端中包含的模块也一并进行了更新。例如,客户端从1.0版本升级到2.0版本,第一模块的版本从1.0.3更新到了2.0.1,则客户端在安装完全量更新包后,还可以保存最新的模块版本,即将第一模块的本地模块版本从1.0.3更新到2.0.1。其他模块如第二模块、第三模块等,版本更新的情况与第一模块类似,本申请实施例对此不再赘述。
上述实施例以客户端的角度对本申请实施例提供的软件增量更新方法进行描述,以下将以服务器角度对本申请实施例提供的软件增量更新方法进行描述。
服务器首先构建软件增量更新所用的***,即生成全量升级包(或称为全量更新包),模块升级包(或称为模块更新包)以及客户端版本、模块版本等配置文件。
在本申请实施例中,全量升级包被客户端下载后,客户端可以通过全量升级包安装升级。示例性的,客户端下载全量升级包后,可以通过全量升级包安装升级,从1.0版本升级到2.0版本。
在本申请实施例中,模块升级包被客户端下载后,客户端可以通过模块升级包对相应的模块进行升级。示例性的,客户端下载第一模块的模块升级包后,可以将该模块升级包保存到指定位置,当客户端启动后通过该模块升级包加载第一模块。第一模块升级前的版本为1.0.3,而当客户端启动后通过该模块升级包加载到的第一模块的版本可以是1.0.4,即完成了1.0.3到1.0.4的模块版本升级。
在本申请实施例中,服务器***中的客户端版本、模块版本等配置文件与全量升级包、模块升级包对应匹配,用来表示这些升级包的版本。
服务器***可以将上述的全量升级包、模块升级包以及客户端版本、模块版本等配置文件更新至服务后台,则服务后台中包含了最新的版本(客户端版本、模块版本等),以配置文件的形式表示。
此时,客户端可以从服务后台中下载服务端信息,该服务端信息可以为服务后台中的客户端版本、模块版本等配置文件,其中包含了最新的版本(客户端版本、模块版本等)。示例性的,配置文件中包含客户端最新版本为1.0,第一模块的模块最新版本为1.0.4,第二模块的模块最新版本为1.0.5,第三模块的模块最新版本为1.0.3。
在一些实施例中,服务后台可以向客户端推送最新的客户端版本号、模块版本号、以及对应的升级包的下载地址。客户端根据最新的客户端版本号、模块版本号与客户端本地的版本号进行比对,判断需要下载哪些升级包。最后,客户端可以通过对应的下载地址下载对应的升级包进行升级更新。
图3为本申请实施例提供的一种软件增量更新装置的示意图,该软件增量更新装置300包括:
获取模块301,用于获取本地信息与服务端信息,本地信息包括本地客户端版本信息和本地模块版本信息,服务端信息包括客户端最新版本信息和模块最新版本信息;
全量更新模块302,用于若本地客户端版本信息与客户端最新版本信息不一致,则执行全量更新;
增量更新模块303,用于若本地客户端版本信息与客户端最新版本信息一致,则对本地模块版本信息与模块最新版本信息不一致的模块执行增量更新。
增量更新模块303还用于:
获取本地模块版本信息与模块最新版本信息不一致的模块对应的模块更新包;
保存模块更新包在预设位置,以使得客户端从预设位置加载模块更新包。
增量更新模块303还用于:
判断一个模块对应的本地模块版本信息与模块最新版本信息是否一致;
若否,则根据模块执行增量更新;
若是,则判断下一个模块对应的本地模块版本信息与模块最新版本信息是否一致,直到所有模块判断完毕。
增量更新模块303还用于:
将本地模块版本信息更新为模块最新版本信息。
全量更新模块302还用于:
获取客户端对应的全量更新包;
安装全量更新包。
全量更新模块302还用于:
将本地客户端版本信息更新为客户端最新版本信息。
图4为本申请实施例提供的一种软件增量更新***的示意图。该***400包括:终端401和服务器402。
服务器402上存储有服务端信息、全量更新包和模块更新包;具体地,服务器可以将服务端信息、全量更新包和模块更新包存储至服务后台,以供终端(客户端)下载。
终端401用于执行上述任意实施例提供的软件增量更新方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种软件增量更新方法,其特征在于,包括:
获取本地信息与服务端信息,所述本地信息包括本地客户端版本信息和本地模块版本信息,所述服务端信息包括客户端最新版本信息和模块最新版本信息;
若所述本地客户端版本信息与所述客户端最新版本信息不一致,则执行全量更新;
若所述本地客户端版本信息与所述客户端最新版本信息一致,则对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新。
2.根据权利要求1所述的方法,其特征在于,所述执行增量更新包括:
获取所述本地模块版本信息与所述模块最新版本信息不一致的模块对应的模块更新包;
保存所述模块更新包在预设位置,以使得客户端从所述预设位置加载所述模块更新包。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新包括:
判断一个模块对应的所述本地模块版本信息与所述模块最新版本信息是否一致;
若否,则根据所述模块执行增量更新;
若是,则判断下一个模块对应的所述本地模块版本信息与所述模块最新版本信息是否一致,直到所有模块判断完毕。
4.根据权利要求1所述的方法,其特征在于,所述对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新之后,所述方法还包括:
将所述本地模块版本信息更新为所述模块最新版本信息。
5.根据权利要求1所述的方法,其特征在于,所述执行全量更新包括:
获取客户端对应的全量更新包;
安装所述全量更新包。
6.根据权利要求1或5所述的方法,其特征在于,所述执行全量更新之后,所述方法还包括:
将所述本地客户端版本信息更新为所述客户端最新版本信息。
7.根据权利要求1所述的方法,其特征在于,所述获取本地信息与服务端信息之前,所述方法还包括:
服务器存储所述服务端信息,以使得客户端从所述服务器获取所述服务端信息;
服务器存储所述客户端最新版本信息对应的全量更新包,以使得所述客户端从所述服务器获取所述全量更新包;
服务器存储所述模块最新版本信息对应的模块更新包,以使得所述客户端从所述服务器获取所述模块更新包。
8.一种软件增量更新装置,其特征在于,包括:
获取模块,用于获取本地信息与服务端信息,所述本地信息包括本地客户端版本信息和本地模块版本信息,所述服务端信息包括客户端最新版本信息和模块最新版本信息;
全量更新模块,用于若所述本地客户端版本信息与所述客户端最新版本信息不一致,则执行全量更新;
增量更新模块,用于若所述本地客户端版本信息与所述客户端最新版本信息一致,则对所述本地模块版本信息与所述模块最新版本信息不一致的模块执行增量更新。
9.一种软件增量更新***,其特征在于,包括终端和服务器;
所述服务器上存储有服务端信息、全量更新包和模块更新包;
所述终端用于执行权利要求1至7任意一项所述的软件增量更新方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526720.7A CN111708566A (zh) | 2020-06-10 | 2020-06-10 | 软件增量更新方法、装置、***及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526720.7A CN111708566A (zh) | 2020-06-10 | 2020-06-10 | 软件增量更新方法、装置、***及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111708566A true CN111708566A (zh) | 2020-09-25 |
Family
ID=72539429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010526720.7A Pending CN111708566A (zh) | 2020-06-10 | 2020-06-10 | 软件增量更新方法、装置、***及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708566A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN113157302A (zh) * | 2021-05-24 | 2021-07-23 | 平安普惠企业管理有限公司 | 一种软件更新方法、装置、介质及设备 |
CN113377412A (zh) * | 2021-08-13 | 2021-09-10 | 武汉众智数字技术有限公司 | 一种客户端软件增量更新的方法和*** |
CN113821246A (zh) * | 2021-09-22 | 2021-12-21 | 四川虹美智能科技有限公司 | 软件无感增量式更新方法、装置、***及存储介质 |
CN113821232A (zh) * | 2020-11-25 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 模型更新方法和装置 |
CN113885930A (zh) * | 2021-10-22 | 2022-01-04 | 浙江中控技术股份有限公司 | 一种工业控制***软件升级方法及装置 |
CN113961224A (zh) * | 2021-12-23 | 2022-01-21 | 中邮消费金融有限公司 | 基于Android端的应用程序更新方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815282A (zh) * | 2009-02-20 | 2010-08-25 | 中兴通讯股份有限公司 | 终端内多媒体广播固件升级的方法及装置 |
CN106873960A (zh) * | 2016-07-13 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种应用软件的更新方法和设备 |
CN107945560A (zh) * | 2017-12-21 | 2018-04-20 | 大连海事大学 | 一种公交智能电子站牌信息显示控制方法及*** |
CN108845824A (zh) * | 2018-07-10 | 2018-11-20 | 平安科技(深圳)有限公司 | 应用更新方法和装置及计算机可读存储介质 |
US20190235859A1 (en) * | 2018-01-26 | 2019-08-01 | Wistron Neweb Corp. | Method and device for incremental upgrade |
CN111090444A (zh) * | 2019-12-03 | 2020-05-01 | 航天信息股份有限公司 | 版本升级方法、装置、存储介质及电子设备 |
-
2020
- 2020-06-10 CN CN202010526720.7A patent/CN111708566A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815282A (zh) * | 2009-02-20 | 2010-08-25 | 中兴通讯股份有限公司 | 终端内多媒体广播固件升级的方法及装置 |
CN106873960A (zh) * | 2016-07-13 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 一种应用软件的更新方法和设备 |
CN107945560A (zh) * | 2017-12-21 | 2018-04-20 | 大连海事大学 | 一种公交智能电子站牌信息显示控制方法及*** |
US20190235859A1 (en) * | 2018-01-26 | 2019-08-01 | Wistron Neweb Corp. | Method and device for incremental upgrade |
CN108845824A (zh) * | 2018-07-10 | 2018-11-20 | 平安科技(深圳)有限公司 | 应用更新方法和装置及计算机可读存储介质 |
CN111090444A (zh) * | 2019-12-03 | 2020-05-01 | 航天信息股份有限公司 | 版本升级方法、装置、存储介质及电子设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821232A (zh) * | 2020-11-25 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 模型更新方法和装置 |
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN112882733B (zh) * | 2021-02-04 | 2023-09-08 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN113157302A (zh) * | 2021-05-24 | 2021-07-23 | 平安普惠企业管理有限公司 | 一种软件更新方法、装置、介质及设备 |
CN113377412A (zh) * | 2021-08-13 | 2021-09-10 | 武汉众智数字技术有限公司 | 一种客户端软件增量更新的方法和*** |
CN113377412B (zh) * | 2021-08-13 | 2022-01-11 | 武汉众智数字技术有限公司 | 一种客户端软件增量更新的方法和*** |
CN113821246A (zh) * | 2021-09-22 | 2021-12-21 | 四川虹美智能科技有限公司 | 软件无感增量式更新方法、装置、***及存储介质 |
CN113885930A (zh) * | 2021-10-22 | 2022-01-04 | 浙江中控技术股份有限公司 | 一种工业控制***软件升级方法及装置 |
CN113961224A (zh) * | 2021-12-23 | 2022-01-21 | 中邮消费金融有限公司 | 基于Android端的应用程序更新方法及*** |
CN113961224B (zh) * | 2021-12-23 | 2022-03-08 | 中邮消费金融有限公司 | 基于Android端的应用程序更新方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708566A (zh) | 软件增量更新方法、装置、***及计算机可读存储介质 | |
US7827549B2 (en) | Method and system for creating and executing generic software packages | |
US20170322796A1 (en) | Device and method for updating firmware and firmware update system | |
US20110041124A1 (en) | Version Management System | |
US20140380295A1 (en) | Method and system for updating application, and computer storage medium thereof | |
CN103559065B (zh) | 一种ota升级的方法和*** | |
CN106951284B (zh) | 基于安卓***应用的用户界面升级方法、装置及智能终端 | |
US20170351507A1 (en) | Silent upgrade of software with dependencies | |
CN107291481B (zh) | 一种组件更新方法、装置和*** | |
CN109814948B (zh) | 基于xposed框架对native层函数进行hook的方法、装置及电子装置 | |
CN111897570A (zh) | 一种基于Maven插件的多依赖项文件提取方法及装置 | |
CN108540509B (zh) | 一种终端浏览器的处理方法、装置及服务器、智能终端 | |
CN104598286A (zh) | 移动终端的软件更新方法及装置 | |
CN109885332A (zh) | 画质芯片软件升级方法、装置、显示设备及存储介质 | |
CN102073514A (zh) | 基本输入输出***的更新方法 | |
CN103677937A (zh) | 升级软件和运行软件的方法及装置 | |
CN114385251A (zh) | 基于存储器的操作***引导方法、***、终端及存储介质 | |
CN114546588A (zh) | 任务的部署方法、装置、存储介质及电子装置 | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN105119944A (zh) | 一种应用的启动方法和相关装置 | |
CN113094085A (zh) | 组件集成方法、装置、计算机可读存储介质及电子设备 | |
CN113821220A (zh) | 一种linux操作***的安装方法和装置 | |
CN116303099A (zh) | 自动化测试环境跨平台快速部署方法、装置、介质及设备 | |
US20070079279A1 (en) | Embedded device with software registry | |
CN105354066A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200925 |