CN103136013A - 软件升级方法和*** - Google Patents
软件升级方法和*** Download PDFInfo
- Publication number
- CN103136013A CN103136013A CN2011103924614A CN201110392461A CN103136013A CN 103136013 A CN103136013 A CN 103136013A CN 2011103924614 A CN2011103924614 A CN 2011103924614A CN 201110392461 A CN201110392461 A CN 201110392461A CN 103136013 A CN103136013 A CN 103136013A
- Authority
- CN
- China
- Prior art keywords
- file
- software
- upgrading
- information
- module
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种软件升级方法和***,包括:客户端向服务器上报软件升级请求,该升级请求中携带本地待升级软件的文件信息;服务器根据升级请求中的待升级软件的文件信息确定与最新版本软件的差异,根据软件差异生成升级指令信息并下发给客户端;客户端根据收到的升级指令信息中的指令下载更新相应文件并执行相应的本地升级操作。利用本发明,可以节约带宽资源和降低软件升级的工作量。
Description
技术领域
本发明涉及数据处理设备的软件处理技术领域,尤其涉及一种软件升级方法和***。
背景技术
现有的数据处理设备(如计算机、智能手机等)的软件升级方法通常有两种,一种是基于安装包的升级方式,另一种是基于cab升级包的升级方式。
所述基于安装包的升级方式很简单,就是从服务器上下载一个全新的安装包,待下载完成后启动之,安装包会完成对旧版本的卸载和新版本的安装工作。
这种基于安装包的升级方式的缺点是:带宽浪费严重,即使是一个小的功能改动,也需要用户下载几兆(M)甚至上百兆字节的安装包,绝大多数没有变化的文件也会被一同下载和替换没从而造成带宽浪费。
所述基于cab升级包的方式更加有针对性,所述cab升级包是一种微软WINDOWS操作***的压缩包,其中包括升级文件。在这种方式中,只是将软件的版本x到版本y之间的差异文件按照操作***的标准格式(cab格式)进行打包得到cab升级包,待升级程序将该cab升级包在下载到用户本地设备后启动该cab升级包,cab升级包会按照其内部的升级逻辑和文件完成指定文件的更新和操作,从而实现软件版本的升级。
但是这种基于cab升级包的升级方式的缺点是:软件的版本数量的增多会导致制作cab升级包的工作量激增。例如,如果一个产品当前的版本号是m,而运营环境中支持的最小版本号是n,那就意味着当前的运营环境下会有m-n个不同的版本同时在被用户所使用,那么采用这种升级方式就意味着需要为这m-n个不同的版本分别量身定制一个不同的cab升级包,而且每次升级皆是如此,因此制作多版本cab升级包的工作量是非常巨大的,导致维护软件升级的成本大大增加。
发明内容
有鉴于此,本发明的主要目的在于提供一种软件升级方法和***,以节约带宽资源和降低软件升级的工作量。
本发明的技术方案是这样实现的:
一种软件升级方法,包括:
客户端向服务器上报软件升级请求,该升级请求中携带本地待升级软件的文件信息;
服务器根据升级请求中的待升级软件的文件信息确定与最新版本软件的差异,根据软件差异生成升级指令信息并下发给客户端;
客户端根据收到的升级指令信息中的指令下载更新相应文件并执行相应的本地升级操作。
一种软件升级***,包括:
设置在客户端中的升级模块,用于向服务器上报携带本地待升级软件文件信息的软件升级请求,并根据服务器返回的升级指令信息中的指令下载更新相应文件并执行相应的本地升级操作;
设置在服务器的升级服务模块,用于接收客户端中的所述升级模块发送的升级请求,并根据该升级请求中的待升级软件的文件信息确定与最新版本软件的差异,根据软件差异生成升级指令信息并下发给客户端的升级模块。
与现有技术相比,本发明的本质是将cab包中的处理逻辑迁移到数据处理设备客户端的升级模块中,并由服务器根据待升级软件的文件信息确定与最新版本软件的差异,根据软件差异动态生成升级指令信息并下发给客户端的升级模块;升级模块根据服务器下发的升级指令完成文件的下载、更新、以及删除、注册COM组件等在现有技术中需要cab包执行的操作。这样服务器和客户端之间交互的信息少了,节约了带宽资源,同时还可以规避掉原来手工制作cab包的工作,转为由升级服务器根据用户的版本情况动态组织升级指令,从而降低了了软件升级的工作量,进而降低了维护软件升级***的运营成本。
附图说明
图1为本发明所述软件升级方法的一种流程图;
图2为本发明所述将查找到的操作指令集进行合并的一种示意图;
图3为本发明所述方法中客户端升级模块的一种执行流程图;
图4为本发明所述软件升级***的一种构成示意图;
图5为服务器端的所述升级服务模块的一种组成示意图;
图6为客户端的所述升级模块的一种组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明所述软件升级方法的一种流程图。参见图1,该流程包括:
步骤101、客户端向服务器上报软件升级请求,该升级请求中携带本地待升级软件的文件信息。
步骤102、服务器根据升级请求中的待升级软件的文件信息确定与最新版本软件的差异,根据软件差异生成升级指令信息并下发给客户端。
步骤103、客户端根据收到的升级指令信息中的指令下载更新相应文件并执行相应的本地升级操作。
所述的客户端可以是指有中央处理器(CPU)、内存和操作***提供软件运行环境的计算***上运行的软件,所述计算***典型的例子为台式计算机、笔记本电脑,平板电脑以及具有计算能力的智能手机等手持设备及有计算能力的机器人设备等。本发明所述方法中所述客户端侧的操作由本地待升级软件对应的升级模块执行,该升级模块也是一个软件程序,当其启动后可以运行在一个与待升级软件独立的进程中。
所述客户端中的所述升级模块发送的升级请求中的文件信息主要包括待升级软件中所包含各个文件的文件名和版本信息,还可以进一步包括各个文件的HASH值和相对路径等信息。所述服务器在收到所述升级请求后,根据该升级请求中的待升级软件名称查找该软件的最新版本号,根据所述各文件的文件名和版本信息与最新版本软件进行对比,确定文件差异和版本差异;如果没有差异则说明不需要升级软件,此时向客户端返回不需要升级的指令,所述升级模块收到该指令后停止升级操作;如果有差异,则再根据软件版本差异动态生成升级指令信息。
所述服务器根据软件版本差异动态生成升级指令信息的具体方法包括如下步骤11)至13):
11)根据所述文件差异查找最新版本软件中的新增文件和更改文件,将所述新增文件和更改文件的清单信息组成待更新文件清单信息。
所述待更新文件清单信息包含了从升级请求中的当前版本升级到最新版本时需要新增、修改和替换的文件列表,每个文件都包含文件的描述信息,比如文件名、相对路径、文件大小、以及MD5校验值等等。
此处,可以由服务器针对待升级软件维护一个所有文件最新版本的映射表,如下表1所示为该映射表的一种范例。
文件名 | 相对路径 | 大小 | 最后修改版本 |
AAA.dll | %INSTALL_DIR%/BIN | 2513 | 20532 |
BBB.dll | %INSTALL_DIR%/BIN | 4732 | 20476 |
CCC.png | %INSTALL_DIR%/RES | 1004 | 20587 |
DDD.bmp | %INSTALL_DIR%/RES | 1313 | 20476 |
表1
如表1所示,所述映射表中包括待升级软件的所有文件的最新版本的清单信息,每一条文件清单信息至少包括文件名、下载路径信息、相对路径信息。上述表1中,由于服务器将同一软件的所有文件存储在该软件对应的一个统一总目录下,且在该目录下的相对路径与该软件在客户端中的安装目录下的相对路径完全一致,因此表1中所述相对路径可以代表其下载路径,只要在相对路径前面统一加上该软件在服务器上的总目录即可,因此在表1中只维护了相对路径,只要附带上总目录的地址就可以相加得到下载路径信息。当然,表1中也可以包括绝对的下载路径信息,客户端不必加目录地址,可以从该绝对的下载路径信息下载相应文件。另外,所述映射表中的文件清单信息中还要包括文件大小、MD5校验值(在表的宽度所限,在表1中并没有体现)等、以及最后修改版本信息。
当服务器收到升级请求后,服务器则用升级请求中携带的待升级软件的当前文件清单过滤上述映射表,将最新版本软件中的新增文件和更改文件保留下来组织成一个待更新文件的清单。所述新增文件就是客户端待升级软件没有的文件;所述更改文件就是客户端待更新软件中有相同文件名的文件,但是文件的版本信息与最新版本不同,说明其内容发生了改变,需要将客户端的待升级软件中的同名文件进行更改。
12)根据所述版本差异查找所有版本号高于所述升级请求中所述版本信息的所述待升级软件的操作指令集,并合并所查找到的操作指令集。
本发明中,每个软件版本的更新都可能会伴随有一个操作指令集,一次版本升级中可能有若干这样的操作指令,所以最终会以集合的形式组织起来。所述操作指令集中的每一条操作指令包括:本地客户端可识别的操作指令名称、以及该指令对应操作的目标文件的相对路径和文件名信息,还可以进一步包括对目标文件进行处理的辅助程序名称。如下表2所示为操作指令集的实例,为了方便说明,表2中进一步包括了对每一操作指令的用途说明。
表2
服务器中针对每个软件版本的更新都可能会伴随有一个操作指令集,每一操作指令集都有一版本号。服务器在收到升级请求后,查找待升级软件的所有版本号高于所述升级请求中所述版本号的操作指令集,最终返回给升级模块的指令集要将查找到的指令集进行合并。图2为本发明所述将查找到的操作指令集进行合并的一种示意图。如图2所示,假设高于升级请求中所述版本号的操作指令集为版本号(version)为20476的操作指令集201和版本号为20532的操作指令集202,则合并这两个操作指令集,得到最终的指令集203。
13)将所述更新文件清单信息和合并后的所述操作指令集作为所述升级指令信息。
所述升级指令信息最终被服务器以XML格式进行组织得到一张数据表下发给客户端的升级模块。该XML数据表主要包含“更新文件清单”、“操作指令集合”以及一些其他的附加信息。例如所述服务器还进一步查找所述待升级软件的最新版本的功能描述信息,将该功能描述信息填加到所述升级指令信息中。所述功能描述信息用于对此次升级带给用户的新功能进行说明,包含一些描述信息和预览图片,以便用户在升级之前就能对此次升级的效果有一个了解。
一个典型的XML格式的升级指令表的内容如下XML代码所示:
本发明所述的升级***中,设置在客户端中的升级模块执行的操作主要包括:向服务器上报携带本地待升级软件版本信息的软件升级请求、根据服务器返回的升级指令信息中的指令下载文件并更新本地的相应文件、以及根据所述升级指令执行相应的本地升级操作。
图3为本发明所述方法中客户端升级模块的一种执行流程图。参见图3,该流程包括:
步骤301、客户端的升级模块与服务器交互判断是否要自升级,即判断服务器是否有比本地更新版本的升级模块,如果是则下载新版本的升级模块的文件并替换本地原有的升级模块文件,并重新启动新版本的升级模块执行下一步骤302;否则直接执行下一步骤302。
由于升级模块本身非常精简,其包括的文件数量也都是控制在1至2个以内,所以整个升级模块的自身升级过程非常简单和快速。当然本步骤301为可选步骤,也可以跳过本步骤,直接执行步骤302。
步骤302、升级模块与服务器交互判断是否需要升级软件,即向服务器上报软件升级请求,该升级请求中携带本地待升级软件的文件信息,其中包括该待升级软件中所包含各个文件的文件名和版本信息,还可以进一步包括各个文件的HASH值和相对路径等信息,服务器根据所述各文件的文件名和版本信息与最新版本软件进行对比,确定文件差异和版本差异,如果有差异则服务器按照前述描述的方法,根据软件版本差异动态生成所述升级指令信息并下发给客户端的升级模块,并执行下一步骤303;如果没有软件差异则通知客户端的升级模块升级失败并退出本流程。
步骤303、所述升级指令信息中包括待更新文件清单,且每一条文件清单信息包括文件名、下载路径信息、相对路径信息,因此升级模块可以根据所述待更新文件清单中的文件下载路径信息下载相应的文件。
另外,如果所述升级指令信息中包括新版本软件的功能描述信息,则所述客户端在收到所述升级指令信息后、本步骤303之前,进一步包括:显示所述升级指令信息中包含的功能描述信息,以便用户在升级之前就能对此次升级的效果有一个了解。
步骤304、按照待更新文件清单中的相对路径信息将下载的文件更新到本地待升级软件安装目录的所述相对路径下。本步骤304也可以称为旧版本和新版本差异文件的合并,即将下载到的新文件替换到待升级软件安装目录下的旧版本文件。
在很多情况下,待替换的目标文件可能暂时无法修改或替换(如正在被杀毒软件扫描,或正在被某个进程使用),那就需要对这些情况进行全方位的安全机制进行保障,因为待升级软件的各个程序文件通常都是相互依赖的,如果有一个文件没有替换成功,极有可能导致程序无法再次运行。所以,本发明针对这个问题做了如下的两项安全保障机制:
a)执行文件的合并(即更新文件)操作前,判断待升级软件是否正在运行,如果有在运行,则提示用户关闭该软件,关闭后再更新相应文件,否则直接更新相应文件。本发明所述升级模块和待升级软件是运行在两个进程的,关闭待升级软件不会对当前的升级模块造成影响。
b)文件合并前,备份本地的待更新的原文件,即将待替换的旧版本文件备份到一个临时目录下,之后进行文件更新。如果更新过程中发现有某一个文件更新失败,则判断这个文件是否必须要更新成功,如果是则说明这个文件对程序的正常运行是不可或缺的,必须用所述备份文件还原所有已经更新的文件。这样做的目的是保证“虽然升级失败,但旧版本依然可以运行”。而如果这个文件不是必须要替换成功的,则可以将该文件的最新下载文件注册到操作***(如WINDOWS***)的重启替换服务中,待***重启时启动替换服务来更新该文件。具体如何判断所述文件是否必须要替换成功,则可以依据更新文件清单中的“关键文件(key file)”字段来判断,这种情况下需要服务器在生成更新文件清单时,每个文件的描述信息中还需要包括一个“关键文件”字段,用来标识该文件是否为关键文件即是否必须替换成功,例如:绝大多数底层组件是程序运行必须的,就会被作为key file,而如果是扩展资源包和插件等,则对整个***的正常运行不会造成很大的影响,则不用作为key file。客户端在某个文件更新失败时判断该文件的“关键文件”字段,如果是关键文件则判定必须要替换成功,否则不是必须替换成功的文件。
步骤305、完成文件合并后,还要根据所述升级指令信息中的操作指令集执行相应的本地升级操作。
所述操作指令集中的每一条操作指令包括:本地客户端可识别的操作指令名称、以及该指令对应操作的目标文件的相对路径和文件名信息。所述升级模块针对每一条操作指令,从待升级软件安装目录的所述相对路径中查找到与该操作指令所指文件名相同的目标文件,并对该目标文件执行所述操作指令名称对应的操作。比如对文件列表中的某个COM组件进行注册、删除某个目标文件、采用操作指令中指定的程序处理某个目标文件等等。
在实际应用过程中,由于直接下发完整的文件会非常占用带宽,因为一个几M大小的文件可能因为一点小小的修改就要让客户端下载整个文件,这样既浪费时间又浪费网络带宽,所以本发明还可以实现一种节省带宽和文件下载时间的实施例。
在该实施例中,所述客户端向服务器端发送的升级请求中的文件信息中进一步包括各文件的HASH值;并且,所述服务器在查找出最新版本软件中的更改文件后,根据该更改文件的文件名在所述升级请求中查到对应的文件HASH值,再根据该HASH值查询服务器端存储的与该HASH值相同的原始文件,将该原始文件与最新版本的同名文件进行二进制对比,生成二进制差异文件,用该二进制差异文件的下载路径信息代替所述待更新文件清单中的同名文件的下载路径信息,即该更新文件的信息包括:文件名、二进制差异文件的下载路径信息、相对路径信息等。
所述二进制差异文件通常称为diff文件,该diff文件的体积很小,其中描述了需要对旧版本文件进行哪些二进制级别的增删改操作来生成一个新版本的文件。比如在x处删除2个byte的数据,在y除修改3个byte的数据等等。至于如何将该原始文件与最新版本的同名文件进行二进制对比,生成二进制差异文件可以采用现有的技术手段,例如在LINUX操作***中,可以采用diff操作命令来生成两个文件的二进制差异文件。另外,由于服务器端生成一个diff文件的时间成本比较高,所以生成的diff文件及原始文件的HASH值都可以存储下来,下一次收到升级请求时,可以根据文件的HASH值直接查找到对应的diff文件,并直接将diff文件的下载路径替换到待更新文件的清单中,不必重新生成biff文件。
所述客户端根据所述待更新文件清单信息中的下载路径信息下载到相应的二进制差异文件后,按照对应的相对路径信息,进一步将本地待升级软件安装目录的所述相对路径下的同名文件与所述二进制差异文件进行合并,从而产生完整的新文件。至于如何合并二进制差异文件同样可以采用现有的技术手段,本文不再赘述。
上述实施例中,对于仅仅修改了内容的文件,客户端可以只下载其对应的二进制差异文件,而该二进制差异文件又非常小,从而节省了带宽资源和文件的下载时间。
与上述方法对应,本发明还公开了一种软件升级***,用于执行本发明的所述方法。图4为本发明所述软件升级***的一种构成示意图。参见图4,该软件升级***包括:
设置在客户端中的升级模块401,用于向服务器上报携带本地待升级软件文件信息的软件升级请求,并根据服务器返回的升级指令信息中的指令下载更新相应文件并执行相应的本地升级操作;
设置在服务器的升级服务模块402,用于接收客户端中的所述升级模块401发送的升级请求,并根据该升级请求中的待升级软件的文件信息确定与最新版本软件的差异,根据软件差异生成升级指令信息并下发给客户端的升级模块401。
图5为服务器端的所述升级服务模块的一种组成示意图。参见图5所示,在一种具体实施例中,服务器端的所述升级服务模块402具体包括:
版本差异确定模块421,用于根据所述各文件的版本信息与最新版本软件进行对比,确定文件差异和版本差异;
待更新文件确定模块422,用于根据所述文件差异查找最新版本软件中的新增文件和更改文件,将所述新增文件和更改文件的清单信息组成待更新文件清单信息;所述待更新文件清单信息至少包括:每一待更新文件的下载路径信息、相对路径等信息;
操作指令确定模块423,用于根据所述版本差异查找所有版本号高于所述升级请求中所述版本信息的待升级软件的操作指令集,并合并所查找到的操作指令集;所述操作指令集中的每一条操作指令至少包括:本地客户端可识别的操作指令名称、以及该指令对应操作的目标文件的相对路径和文件名信息;
升级指令合成发送模块424,用于将所述待更新文件清单信息和合并后的所述操作指令集作为所述升级指令信息下发给发起升级请求的升级模块。
进一步的,所述升级服务模块402还可以进一步包括:
描述信息确定模块425,用于查找所述待升级软件的最新版本的功能描述信息,将该功能描述信息发送给升级指令合成发送模块424;所述升级指令合成发送模块424进一步将该功能描述信息填加到所述升级指令信息中发送给发起升级请求的客户端升级模块。
图6为客户端的所述升级模块的一种组成示意图。参见图6所示,在一种具体实施例中,客户端的所述升级模块401具体包括:
自升级模块411,用于在上报软件升级请求之前,首先与服务器交互判断是否要自升级,如果是则下载新版本的升级模块文件,并用该新版本的升级模块文件替换原升级模块文件;否则再上报软件升级请求。
查询升级模块412,用于向服务器上报携带本地待升级软件版本信息的软件升级请求,接收服务器返回的升级指令信息。
文件下载模块413,用于根据所述升级指令信息中待更新文件清单信息中的文件下载路径下载相应的文件。
差异文件合并模块414,用于根据所述待更新文件清单信息,将下载的文件更新到本地待升级软件安装目录的所述相对路径下。
执行操作模块415,用于针对所述升级指令信息中的每一条操作指令,从待升级软件安装目录的所述相对路径中查找到与该操作指令中文件名相同的目标文件,并对该目标文件执行所述操作指令。
在一种实施例中,所述差异文件合并模块414需要进一步实施安全保障,即该差异文件合并模块中可以进一步包括:
关闭提示模块,用于在更新相应文件之前,判断待升级软件是否正在运行,如果是则提示用户关闭该软件,关闭后再更新相应文件,否则直接更新相应文件。
备份操作模块,用于在更新相应文件之前,备份本地的待更新的原文件,在某一文件更新失败时,判断该文件是否必须要更新成功,如果是则用所述备份文件还原所有已经更新的文件;否则将该文件的最新下载文件注册到操作***的重启替换服务中,待***重启时启动替换服务来更新该文件。
为了进一步节约带宽资源和文件下载时间,在另一实施例中,所述待更新文件确定模块中还可以包括二进制差异文件生成模块,用于在待更新文件确定模块查找出最新版本软件中的更改文件后,根据该更改文件的文件名在所述升级请求中查到对应的文件HASH值,再根据该HASH值查询服务器端存储的与该HASH值相同的原始文件,将该原始文件与最新版本的同名文件进行二进制对比,生成二进制差异文件,用该二进制差异文件的下载路径信息代替所述待更新文件清单中的同名文件的下载路径信息;
对应的,所述客户端的差异文件合并模块中还可以进一步包括二进制差异合并模块,用于在下载到的二进制差异文件后,将本地待升级软件安装目录的所述相对路径下的同名文件与所述二进制差异文件进行合并。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (15)
1.一种软件升级方法,其特征在于,包括:
客户端向服务器上报软件升级请求,该升级请求中携带本地待升级软件的文件信息;
服务器根据升级请求中的待升级软件的文件信息确定与最新版本软件的差异,根据软件差异生成升级指令信息并下发给客户端;
客户端根据收到的升级指令信息中的指令下载更新相应文件并执行相应的本地升级操作。
2.根据权利要求1所述的方法,其特征在于,所述升级请求中携带的本地待升级软件的文件信息包括:各文件的文件名和版本信息;
所述服务器根据升级请求中的待升级软件的文件信息确定与最新版本软件的差异具体为:根据所述各文件的文件名和版本信息与最新版本软件进行对比,确定文件差异和版本差异;
所述服务器根据软件差异生成升级指令信息具体包括:
根据所述文件差异查找最新版本软件中的新增文件和更改文件,将所述新增文件和更改文件的清单信息组成待更新文件清单信息;
根据所述版本差异查找所有版本号高于所述升级请求中所述版本信息的待升级软件的操作指令集,并合并所查找到的操作指令集;
将所述待更新文件清单信息和合并后的所述操作指令集作为所述升级指令信息。
3.根据权利要求2所述的方法,其特征在于,
所述服务器根据软件差异生成升级指令信息还进一步包括:查找所述待升级软件的最新版本的功能描述信息,将该功能描述信息填加到所述升级指令信息中;
所述客户端在收到所述升级指令信息后、下载更新相应文件并执行相应的本地升级操作之前,进一步包括:显示所述升级指令信息中包含的功能描述信息。
4.根据权利要求2所述的方法,其特征在于,所述待更新文件清单信息至少包括:每一待更新文件的下载路径信息、相对路径;
所述客户端根据收到的升级指令信息中的指令下载更新相应文件具体包括:根据所述待更新文件清单信息中的文件下载路径信息下载相应的文件,并将下载的文件更新到本地待升级软件安装目录的所述相对路径下。
5.根据权利要求4所述的方法,其特征在于,所述升级请求中的文件信息中进一步包括各文件的HASH值;
所述服务器在查找出最新版本软件中的更改文件后,根据该更改文件的文件名在所述升级请求中查到对应的文件HASH值,再根据该HASH值查询服务器端存储的与该HASH值相同的原始文件,将该原始文件与最新版本的同名文件进行二进制对比,生成二进制差异文件,用该二进制差异文件的下载路径信息代替所述待更新文件清单中的同名文件的下载路径信息;
所述客户端根据所述待更新文件清单信息中的下载路径信息下载到相应的二进制差异文件后,进一步将本地待升级软件安装目录的所述相对路径下的同名文件与所述二进制差异文件进行合并。
6.根据权利要求2所述的方法,其特征在于,
所述操作指令集中的每一条操作指令包括:本地客户端可识别的操作指令名称、以及该指令对应操作的目标文件的相对路径和文件名信息;
所述客户端根据收到的升级指令信息中的指令执行相应的本地升级操作具体包括:针对每一条操作指令,从待升级软件安装目录的所述相对路径中查找到与该操作指令中文件名相同的目标文件,并对该目标文件执行所述操作指令。
7.根据权利要求1所述的方法,其特征在于,该方法中所述客户端侧的操作由本地待升级软件对应的升级模块执行,并且该方法进一步包括:所述升级模块在启动之后、上报软件升级请求之前,首先与服务器交互判断是否要自升级,当需要自升级时则下载新版本的升级模块文件,并用该新版本的升级模块文件替换自身的原文件。
8.根据权利要求1所述的方法,其特征在于,
所述客户端根据收到的升级指令信息中的指令下载相应文件之后、更新相应文件之前,进一步包括:备份本地的待更新的原文件;之后进行文件更新;
当某一文件更新失败时,判断该文件是否必须要更新成功,如果是则用所述备份文件还原所有已经更新的文件;否则将该文件的最新下载文件注册到操作***的重启替换服务中,待***重启时启动替换服务来更新该文件。
9.一种软件升级***,其特征在于,包括:
设置在客户端中的升级模块,用于向服务器上报携带本地待升级软件文件信息的软件升级请求,并根据服务器返回的升级指令信息中的指令下载更新相应文件并执行相应的本地升级操作;
设置在服务器的升级服务模块,用于接收客户端中的所述升级模块发送的升级请求,并根据该升级请求中的待升级软件的文件信息确定与最新版本软件的差异,根据软件差异生成升级指令信息并下发给客户端的升级模块。
10.根据权利要求9所述的***,其特征在于,所述升级服务模块具体包括:
版本差异确定模块,用于根据所述各文件的版本信息与最新版本软件进行对比,确定文件差异和版本差异;
待更新文件确定模块,用于根据所述文件差异查找最新版本软件中的新增文件和更改文件,将所述新增文件和更改文件的清单信息组成待更新文件清单信息;
操作指令确定模块,用于根据所述版本差异查找所有版本号高于所述升级请求中所述版本信息的待升级软件的操作指令集,并合并所查找到的操作指令集;
升级指令合成发送模块,用于将所述待更新文件清单信息和合并后的所述操作指令集作为所述升级指令信息下发给发起升级请求的升级模块。
11.根据权利要求10所述的***,其特征在于,所述升级服务模块进一步包括:
描述信息确定模块,用于查找所述待升级软件的最新版本的功能描述信息,将该功能描述信息发送给升级指令合成发送模块;
所述升级指令合成发送模块进一步将该功能描述信息填加到所述升级指令信息中发送给发起升级请求的升级模块。
12.根据权利要求10所述的***,其特征在于,
所述待更新文件清单信息至少包括:每一待更新文件的下载路径信息、相对路径;
所述操作指令集中的每一条操作指令包括:本地客户端可识别的操作指令名称、以及该指令对应操作的目标文件的相对路径和文件名信息;
客户端中的所述升级模块中具体包括:
文件下载模块,用于根据所述待更新文件清单信息中的文件下载路径信息下载相应的文件;
差异文件合并模块,用于根据所述待更新文件清单信息,将下载的文件更新到本地待升级软件安装目录的所述相对路径下;
执行操作模块,用于针对收到的每一条操作指令,从待升级软件安装目录的所述相对路径中查找到与该操作指令中文件名相同的目标文件,并对该目标文件执行所述操作指令。
13.根据权利要求12所述的***,其特征在于,所述待更新文件确定模块中包括二进制差异文件生成模块,用于在待更新文件确定模块查找出最新版本软件中的更改文件后,根据该更改文件的文件名在所述升级请求中查到对应的文件HASH值,再根据该HASH值查询服务器端存储的与该HASH值相同的原始文件,将该原始文件与最新版本的同名文件进行二进制对比,生成二进制差异文件,用该二进制差异文件的下载路径信息代替所述待更新文件清单中的同名文件的下载路径信息;
所述客户端的差异文件合并模块中进一步包括二进制差异合并模块,用于在下载到的二进制差异文件后,将本地待升级软件安装目录的所述相对路径下的同名文件与所述二进制差异文件进行合并。
14.根据权利要求12或13所述的***,其特征在于,所述差异文件合并模块包括备份操作模块,用于在更新相应文件之前,备份本地的待更新的原文件,在某一文件更新失败时,判断该文件是否必须要更新成功,如果是则用所述备份文件还原所有已经更新的文件;否则将该文件的最新下载文件注册到操作***的重启替换服务中,待***重启时启动替换服务来更新该文件。
15.根据权利要求9所述的***,其特征在于,客户端中的所述升级模块中包括自升级模块,用于在上报软件升级请求之前,首先与服务器交互判断是否要自升级,如果是则下载新版本的升级模块文件,并用该新版本的升级模块文件替换原升级模块文件;否则再上报软件升级请求。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110392461.4A CN103136013B (zh) | 2011-12-01 | 软件升级方法和*** | |
RU2014126337/08A RU2580065C2 (ru) | 2011-12-01 | 2012-11-16 | Способ и система обновления программного обеспечения |
SG11201401480QA SG11201401480QA (en) | 2011-12-01 | 2012-11-16 | Method and system for upgrading software |
IN4930CHN2014 IN2014CN04930A (zh) | 2011-12-01 | 2012-11-16 | |
BR112014012772A BR112014012772A8 (pt) | 2011-12-01 | 2012-11-16 | método e sistema para aprimorar software |
PCT/CN2012/084721 WO2013078951A1 (zh) | 2011-12-01 | 2012-11-16 | 软件升级方法和*** |
US14/354,405 US9043778B2 (en) | 2011-12-01 | 2012-11-16 | Method and system for upgrading software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110392461.4A CN103136013B (zh) | 2011-12-01 | 软件升级方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103136013A true CN103136013A (zh) | 2013-06-05 |
CN103136013B CN103136013B (zh) | 2016-12-14 |
Family
ID=
Cited By (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646087A (zh) * | 2013-12-13 | 2014-03-19 | 北京奇虎科技有限公司 | 一种垃圾文件数据清理的方法和装置 |
CN103685495A (zh) * | 2013-12-05 | 2014-03-26 | 金蝶软件(中国)有限公司 | 软件的升级方法和*** |
CN103888523A (zh) * | 2014-03-11 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种用于确定软件版本升级文件下载地址的方法、装置及*** |
CN104156244A (zh) * | 2014-08-06 | 2014-11-19 | 北京奇虎科技有限公司 | 一种软件升级的方法和装置 |
WO2015003516A1 (zh) * | 2013-07-08 | 2015-01-15 | 惠州Tcl移动通信有限公司 | 生成升级包的方法、服务器、软件升级方法、移动终端 |
WO2015021604A1 (zh) * | 2013-08-13 | 2015-02-19 | 华为技术有限公司 | 一种应用升级方法、装置 |
CN104539695A (zh) * | 2014-12-26 | 2015-04-22 | 北京格林伟迪科技有限公司 | 一种登录多个服务器的方法 |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105183522A (zh) * | 2015-09-26 | 2015-12-23 | 北京暴风科技股份有限公司 | 发版多版本升级方法及*** |
CN105487889A (zh) * | 2015-11-26 | 2016-04-13 | 小米科技有限责任公司 | 应用界面更新方法及装置 |
WO2016078263A1 (zh) * | 2014-11-18 | 2016-05-26 | 中兴通讯股份有限公司 | 升级控制设备、终端、终端升级方法及***、存储介质 |
CN105653305A (zh) * | 2014-11-21 | 2016-06-08 | 中国南方航空工业(集团)有限公司 | 应用软件自动更新方法、服务器、客户端及其*** |
CN105765908A (zh) * | 2014-06-30 | 2016-07-13 | 北京新媒传信科技有限公司 | 一种多站点自动更新方法、客户端和*** |
CN105808284A (zh) * | 2014-12-31 | 2016-07-27 | 广州市动景计算机科技有限公司 | 一种增量升级方法及应用其的服务器 |
WO2016177061A1 (zh) * | 2015-10-30 | 2016-11-10 | 中兴通讯股份有限公司 | 一种空中下载技术升级方法和装置 |
CN106293793A (zh) * | 2015-06-02 | 2017-01-04 | 西安中兴新软件有限责任公司 | 一种终端的软件升级方法、装置和*** |
CN106330936A (zh) * | 2016-08-31 | 2017-01-11 | 广州品唯软件有限公司 | 一种插件数据传输方法、客户端和服务端 |
CN106354497A (zh) * | 2016-08-25 | 2017-01-25 | 成都索贝数码科技股份有限公司 | 一种基于文件签名的版本管理方法和*** |
CN106371867A (zh) * | 2016-08-29 | 2017-02-01 | 深圳市证通电子股份有限公司 | 金融设备软件更新方法及*** |
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及*** |
CN106528086A (zh) * | 2016-10-10 | 2017-03-22 | 广州视源电子科技股份有限公司 | 一种安卓软件升级的方法及*** |
CN106547585A (zh) * | 2015-09-23 | 2017-03-29 | Tcl集团股份有限公司 | 一种引导用户升级应用程序的方法和装置 |
CN106598659A (zh) * | 2016-12-08 | 2017-04-26 | 浪潮(苏州)金融技术服务有限公司 | 数据文件的构建方法、更新应用程序的方法及装置 |
CN106648723A (zh) * | 2016-05-26 | 2017-05-10 | 广州优视网络科技有限公司 | iOS***应用程序的更新方法、装置及*** |
CN106776125A (zh) * | 2016-11-25 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种实现pc客户端软件实时修复的方法及装置 |
WO2017101720A1 (zh) * | 2015-12-14 | 2017-06-22 | ***股份有限公司 | 一种交易终端升级的方法及装置 |
CN107547239A (zh) * | 2016-10-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 配置对象的更新方法及装置 |
CN107807817A (zh) * | 2016-09-09 | 2018-03-16 | 中兴通讯股份有限公司 | 一种升级包多语言版本信息下发、获取方法、装置及*** |
CN108664255A (zh) * | 2017-03-27 | 2018-10-16 | 中兴通讯股份有限公司 | 一种软件升级方法及装置 |
CN105302595B (zh) * | 2015-09-19 | 2018-11-06 | 暴风集团股份有限公司 | 一种多版本并行升级控制方法及*** |
CN108804130A (zh) * | 2017-05-03 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 程序安装包生成方法及装置 |
CN109117163A (zh) * | 2018-08-30 | 2019-01-01 | 北京奇艺世纪科技有限公司 | 一种客户端升级方法及装置 |
CN109343875A (zh) * | 2018-08-30 | 2019-02-15 | 百度在线网络技术(北京)有限公司 | 应用程序更新处理方法、装置、无人驾驶车辆及服务器 |
CN109343880A (zh) * | 2018-09-29 | 2019-02-15 | 武汉斗鱼网络科技有限公司 | 一种rn包更新方法、装置及可读存储介质 |
CN109491679A (zh) * | 2017-09-08 | 2019-03-19 | 迈普通信技术股份有限公司 | 一种cpld在线升级方法及装置 |
CN109901853A (zh) * | 2017-12-07 | 2019-06-18 | 飞狐信息技术(天津)有限公司 | 一种升级方法及设备、*** |
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及*** |
CN110096302A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 软件数据储存、升级方法、装置、设备和存储介质 |
CN110309106A (zh) * | 2019-05-27 | 2019-10-08 | 深圳市好成绩网络科技有限公司 | 文件更新的方法、装置、电子设备及计算机存储介质 |
CN110347413A (zh) * | 2019-06-27 | 2019-10-18 | 北京口袋时尚科技有限公司 | 软件配置信息更新方法及装置 |
CN110362329A (zh) * | 2019-07-18 | 2019-10-22 | 上海擎感智能科技有限公司 | 一种版本更新检查方法及*** |
CN110377305A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 一种应用软件升级方法、终端、*** |
CN110377321A (zh) * | 2019-07-22 | 2019-10-25 | 平安科技(深圳)有限公司 | 应用程序升级的方法、装置、终端及存储介质 |
CN110427201A (zh) * | 2019-07-25 | 2019-11-08 | 金卡智能集团股份有限公司 | 一种nb模组升级方法、装置、设备及存储介质 |
CN110825406A (zh) * | 2019-10-25 | 2020-02-21 | 深圳市元征科技股份有限公司 | 一种软件升级的方法及相关设备 |
CN111147272A (zh) * | 2018-11-06 | 2020-05-12 | 厦门雅迅网络股份有限公司 | 一种单服务器及多服务器运营平台升级方法 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
CN111427596A (zh) * | 2020-03-12 | 2020-07-17 | 浙江大华技术股份有限公司 | 一种软件升级的方法、装置及终端设备 |
CN111752633A (zh) * | 2020-06-18 | 2020-10-09 | 支付宝(杭州)信息技术有限公司 | 代码加载方法、装置及设备 |
CN111984279A (zh) * | 2020-09-03 | 2020-11-24 | 深圳创维-Rgb电子有限公司 | 一种应用软件升级方法、***及存储介质 |
CN112230974A (zh) * | 2019-07-15 | 2021-01-15 | 深圳Tcl数字技术有限公司 | 一种电视机差分升级包生成方法和*** |
CN112306552A (zh) * | 2020-11-01 | 2021-02-02 | 国铁吉讯科技有限公司 | 一种***软件版本管理方法、装置及存储介质 |
CN112328295A (zh) * | 2020-11-25 | 2021-02-05 | 昆山丘钛光电科技有限公司 | 软件更新方法及装置 |
CN112558994A (zh) * | 2020-12-23 | 2021-03-26 | 上海眼控科技股份有限公司 | 一种应用软件的升级方法、装置、设备和存储介质 |
CN112564956A (zh) * | 2020-11-30 | 2021-03-26 | 山东亚华电子股份有限公司 | 一种客户端的远程升级方法及设备、装置、存储介质 |
CN112650515A (zh) * | 2020-12-28 | 2021-04-13 | 无锡信捷电气股份有限公司 | 一种基于标签列表的软件升降级方法 |
CN112698850A (zh) * | 2019-10-22 | 2021-04-23 | 北京华为数字技术有限公司 | 一种优化的升级方法和相关设备 |
CN112732315A (zh) * | 2020-12-30 | 2021-04-30 | 潍柴动力股份有限公司 | 一种软件差分升级方法及装置 |
CN112764773A (zh) * | 2020-12-31 | 2021-05-07 | 北京谊安医疗***股份有限公司 | 一种嵌入式软件升级方法 |
CN112947951A (zh) * | 2021-03-26 | 2021-06-11 | 深圳云之家网络有限公司 | 一种软件安装方法及相关设备 |
CN113326059A (zh) * | 2020-02-28 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种资源更新方法、装置及存储介质 |
CN113326053A (zh) * | 2021-06-18 | 2021-08-31 | 上海钛米机器人股份有限公司 | 一种机器人管理***和方法 |
CN113489610A (zh) * | 2021-06-30 | 2021-10-08 | 中国民航信息网络股份有限公司 | 一种离港前端升级方法、装置、电子设备及存储介质 |
CN113672349A (zh) * | 2021-08-20 | 2021-11-19 | 绿盟科技集团股份有限公司 | 一种镜像的更新方法、装置、设备及介质 |
CN113691820A (zh) * | 2021-07-28 | 2021-11-23 | 广州心娱网络科技有限公司 | 直播间礼物更新方法、装置、终端设备及可读存储介质 |
CN113721968A (zh) * | 2021-08-31 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 固件升级方法、装置 |
CN113886406A (zh) * | 2021-09-15 | 2022-01-04 | 北京达佳互联信息技术有限公司 | 一种文件库的更新方法、装置、电子设备和存储介质 |
CN113900681A (zh) * | 2021-08-13 | 2022-01-07 | 西安万像电子科技有限公司 | 零终端软件更新方法、电子设备和存储介质 |
CN114296777A (zh) * | 2021-12-25 | 2022-04-08 | 深圳市元征科技股份有限公司 | 软件升级方法、装置、服务器及计算机可读存储介质 |
WO2023082365A1 (zh) * | 2021-11-10 | 2023-05-19 | 同程网络科技股份有限公司 | 一种微信小程序打包平台、方法、设备及存储介质 |
CN111142906B (zh) * | 2019-12-25 | 2023-11-10 | 浙江大华技术股份有限公司 | 一种设备固件升级方案迭代的方法、装置与设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641582A (zh) * | 2003-12-16 | 2005-07-20 | 微软公司 | 以故障保险方式向非易失存储应用自定义软件映象更新 |
CN101009589A (zh) * | 2006-01-26 | 2007-08-01 | 腾讯科技(深圳)有限公司 | 一种软件升级方法及*** |
CN101047561A (zh) * | 2006-06-28 | 2007-10-03 | 华为技术有限公司 | 一种设备自动化升级的方法 |
CN101335641A (zh) * | 2007-06-29 | 2008-12-31 | 华为技术有限公司 | 一种升级设备的方法、装置及*** |
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级***以及客户端 |
US20100169876A1 (en) * | 2008-12-31 | 2010-07-01 | Square D Company | Automatic firmware updates for intelligent electronic devices |
CN102262544A (zh) * | 2010-05-24 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 软件升级的方法和装置 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641582A (zh) * | 2003-12-16 | 2005-07-20 | 微软公司 | 以故障保险方式向非易失存储应用自定义软件映象更新 |
CN101009589A (zh) * | 2006-01-26 | 2007-08-01 | 腾讯科技(深圳)有限公司 | 一种软件升级方法及*** |
CN101047561A (zh) * | 2006-06-28 | 2007-10-03 | 华为技术有限公司 | 一种设备自动化升级的方法 |
CN101335641A (zh) * | 2007-06-29 | 2008-12-31 | 华为技术有限公司 | 一种升级设备的方法、装置及*** |
US20100169876A1 (en) * | 2008-12-31 | 2010-07-01 | Square D Company | Automatic firmware updates for intelligent electronic devices |
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级***以及客户端 |
CN102262544A (zh) * | 2010-05-24 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 软件升级的方法和装置 |
Non-Patent Citations (2)
Title |
---|
陈刚等: "用VC++实现软件的自动升级", 《计算机应用与软件》 * |
陈刚等: "用VC++实现软件的自动升级", 《计算机应用与软件》, vol. 27, no. 10, 15 October 2010 (2010-10-15), pages 298 - 301 * |
Cited By (100)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015003516A1 (zh) * | 2013-07-08 | 2015-01-15 | 惠州Tcl移动通信有限公司 | 生成升级包的方法、服务器、软件升级方法、移动终端 |
CN103336703B (zh) * | 2013-07-08 | 2018-09-18 | 惠州Tcl移动通信有限公司 | 生成升级包的方法、服务器、软件升级方法、移动终端 |
US9367303B2 (en) | 2013-07-08 | 2016-06-14 | Huizhou Tcl Mobile Communication Co., Ltd | Upgrade packet generation method, server, software upgrade method, and mobile terminal |
CN104583945A (zh) * | 2013-08-13 | 2015-04-29 | 华为技术有限公司 | 一种应用升级方法、装置 |
US10649761B2 (en) | 2013-08-13 | 2020-05-12 | Huawei Technologies Co., Ltd. | Application upgrade method and apparatus |
WO2015021604A1 (zh) * | 2013-08-13 | 2015-02-19 | 华为技术有限公司 | 一种应用升级方法、装置 |
CN104583945B (zh) * | 2013-08-13 | 2018-01-12 | 华为技术有限公司 | 一种应用升级方法、装置 |
US9696984B2 (en) | 2013-08-13 | 2017-07-04 | Huawei Technologies Co., Ltd. | Application upgrade method and apparatus |
US10191730B2 (en) | 2013-08-13 | 2019-01-29 | Huawei Technologies Co., Ltd. | Application upgrade method and apparatus |
CN108319463A (zh) * | 2013-08-13 | 2018-07-24 | 华为技术有限公司 | 一种应用升级方法、装置 |
CN108052340A (zh) * | 2013-08-13 | 2018-05-18 | 华为技术有限公司 | 一种应用升级方法、装置 |
EP2945055A4 (en) * | 2013-08-13 | 2016-05-25 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR UPGRADING THE APPLICATION |
CN108052340B (zh) * | 2013-08-13 | 2021-03-30 | 华为技术有限公司 | 一种应用升级方法、装置 |
CN103685495A (zh) * | 2013-12-05 | 2014-03-26 | 金蝶软件(中国)有限公司 | 软件的升级方法和*** |
CN103685495B (zh) * | 2013-12-05 | 2019-08-16 | 金蝶软件(中国)有限公司 | 软件的升级方法和*** |
CN103646087A (zh) * | 2013-12-13 | 2014-03-19 | 北京奇虎科技有限公司 | 一种垃圾文件数据清理的方法和装置 |
CN103888523A (zh) * | 2014-03-11 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种用于确定软件版本升级文件下载地址的方法、装置及*** |
CN105765908A (zh) * | 2014-06-30 | 2016-07-13 | 北京新媒传信科技有限公司 | 一种多站点自动更新方法、客户端和*** |
CN105765908B (zh) * | 2014-06-30 | 2019-07-19 | 北京新媒传信科技有限公司 | 一种多站点自动更新方法、客户端和*** |
CN104156244B (zh) * | 2014-08-06 | 2018-09-04 | 北京奇虎科技有限公司 | 一种软件升级的方法和装置 |
CN104156244A (zh) * | 2014-08-06 | 2014-11-19 | 北京奇虎科技有限公司 | 一种软件升级的方法和装置 |
WO2016078263A1 (zh) * | 2014-11-18 | 2016-05-26 | 中兴通讯股份有限公司 | 升级控制设备、终端、终端升级方法及***、存储介质 |
CN105653305A (zh) * | 2014-11-21 | 2016-06-08 | 中国南方航空工业(集团)有限公司 | 应用软件自动更新方法、服务器、客户端及其*** |
CN104539695B (zh) * | 2014-12-26 | 2018-07-06 | 北京格林伟迪科技股份有限公司 | 一种登录多个服务器的方法 |
CN104539695A (zh) * | 2014-12-26 | 2015-04-22 | 北京格林伟迪科技有限公司 | 一种登录多个服务器的方法 |
CN105808284B (zh) * | 2014-12-31 | 2019-10-22 | 广州市动景计算机科技有限公司 | 一种增量升级方法及应用其的服务器 |
CN105808284A (zh) * | 2014-12-31 | 2016-07-27 | 广州市动景计算机科技有限公司 | 一种增量升级方法及应用其的服务器 |
CN106293793A (zh) * | 2015-06-02 | 2017-01-04 | 西安中兴新软件有限责任公司 | 一种终端的软件升级方法、装置和*** |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105302595B (zh) * | 2015-09-19 | 2018-11-06 | 暴风集团股份有限公司 | 一种多版本并行升级控制方法及*** |
CN106547585A (zh) * | 2015-09-23 | 2017-03-29 | Tcl集团股份有限公司 | 一种引导用户升级应用程序的方法和装置 |
CN105183522B (zh) * | 2015-09-26 | 2018-11-06 | 暴风集团股份有限公司 | 发版多版本升级方法及*** |
CN105183522A (zh) * | 2015-09-26 | 2015-12-23 | 北京暴风科技股份有限公司 | 发版多版本升级方法及*** |
WO2016177061A1 (zh) * | 2015-10-30 | 2016-11-10 | 中兴通讯股份有限公司 | 一种空中下载技术升级方法和装置 |
CN105487889A (zh) * | 2015-11-26 | 2016-04-13 | 小米科技有限责任公司 | 应用界面更新方法及装置 |
WO2017101720A1 (zh) * | 2015-12-14 | 2017-06-22 | ***股份有限公司 | 一种交易终端升级的方法及装置 |
CN106648723A (zh) * | 2016-05-26 | 2017-05-10 | 广州优视网络科技有限公司 | iOS***应用程序的更新方法、装置及*** |
CN106354497A (zh) * | 2016-08-25 | 2017-01-25 | 成都索贝数码科技股份有限公司 | 一种基于文件签名的版本管理方法和*** |
CN106371867A (zh) * | 2016-08-29 | 2017-02-01 | 深圳市证通电子股份有限公司 | 金融设备软件更新方法及*** |
CN106371867B (zh) * | 2016-08-29 | 2020-01-21 | 深圳市证通电子股份有限公司 | 金融设备软件更新方法及*** |
CN106330936A (zh) * | 2016-08-31 | 2017-01-11 | 广州品唯软件有限公司 | 一种插件数据传输方法、客户端和服务端 |
CN107807817A (zh) * | 2016-09-09 | 2018-03-16 | 中兴通讯股份有限公司 | 一种升级包多语言版本信息下发、获取方法、装置及*** |
CN107807817B (zh) * | 2016-09-09 | 2023-04-11 | 中兴通讯股份有限公司 | 一种升级包多语言版本信息下发、获取方法、装置及*** |
CN106528086A (zh) * | 2016-10-10 | 2017-03-22 | 广州视源电子科技股份有限公司 | 一种安卓软件升级的方法及*** |
CN107547239A (zh) * | 2016-10-27 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 配置对象的更新方法及装置 |
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及*** |
CN106776125A (zh) * | 2016-11-25 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种实现pc客户端软件实时修复的方法及装置 |
CN106776125B (zh) * | 2016-11-25 | 2020-04-10 | 武汉斗鱼网络科技有限公司 | 一种实现pc客户端软件实时修复的方法及装置 |
CN106598659A (zh) * | 2016-12-08 | 2017-04-26 | 浪潮(苏州)金融技术服务有限公司 | 数据文件的构建方法、更新应用程序的方法及装置 |
CN108664255B (zh) * | 2017-03-27 | 2023-04-11 | 深圳市中兴通讯技术服务有限责任公司 | 一种软件升级方法及装置 |
CN108664255A (zh) * | 2017-03-27 | 2018-10-16 | 中兴通讯股份有限公司 | 一种软件升级方法及装置 |
CN108804130A (zh) * | 2017-05-03 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 程序安装包生成方法及装置 |
CN108804130B (zh) * | 2017-05-03 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 程序安装包生成方法及装置 |
CN109491679A (zh) * | 2017-09-08 | 2019-03-19 | 迈普通信技术股份有限公司 | 一种cpld在线升级方法及装置 |
CN109901853A (zh) * | 2017-12-07 | 2019-06-18 | 飞狐信息技术(天津)有限公司 | 一种升级方法及设备、*** |
CN110096302A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 软件数据储存、升级方法、装置、设备和存储介质 |
CN110096302B (zh) * | 2018-01-31 | 2024-03-01 | 斑马智行网络(香港)有限公司 | 软件数据储存、升级方法、装置、设备和存储介质 |
CN109343875A (zh) * | 2018-08-30 | 2019-02-15 | 百度在线网络技术(北京)有限公司 | 应用程序更新处理方法、装置、无人驾驶车辆及服务器 |
CN109117163A (zh) * | 2018-08-30 | 2019-01-01 | 北京奇艺世纪科技有限公司 | 一种客户端升级方法及装置 |
CN109343880A (zh) * | 2018-09-29 | 2019-02-15 | 武汉斗鱼网络科技有限公司 | 一种rn包更新方法、装置及可读存储介质 |
CN111147272A (zh) * | 2018-11-06 | 2020-05-12 | 厦门雅迅网络股份有限公司 | 一种单服务器及多服务器运营平台升级方法 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
CN111381858B (zh) * | 2018-12-29 | 2024-02-06 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及*** |
CN110309106A (zh) * | 2019-05-27 | 2019-10-08 | 深圳市好成绩网络科技有限公司 | 文件更新的方法、装置、电子设备及计算机存储介质 |
CN110347413A (zh) * | 2019-06-27 | 2019-10-18 | 北京口袋时尚科技有限公司 | 软件配置信息更新方法及装置 |
CN112230974A (zh) * | 2019-07-15 | 2021-01-15 | 深圳Tcl数字技术有限公司 | 一种电视机差分升级包生成方法和*** |
CN110377305A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 一种应用软件升级方法、终端、*** |
CN110362329A (zh) * | 2019-07-18 | 2019-10-22 | 上海擎感智能科技有限公司 | 一种版本更新检查方法及*** |
CN110377305B (zh) * | 2019-07-18 | 2024-03-01 | 上海擎感智能科技有限公司 | 一种应用软件升级方法、终端、*** |
CN110362329B (zh) * | 2019-07-18 | 2024-03-22 | 上海擎感智能科技有限公司 | 一种版本更新检查方法及*** |
CN110377321A (zh) * | 2019-07-22 | 2019-10-25 | 平安科技(深圳)有限公司 | 应用程序升级的方法、装置、终端及存储介质 |
CN110427201A (zh) * | 2019-07-25 | 2019-11-08 | 金卡智能集团股份有限公司 | 一种nb模组升级方法、装置、设备及存储介质 |
CN112698850A (zh) * | 2019-10-22 | 2021-04-23 | 北京华为数字技术有限公司 | 一种优化的升级方法和相关设备 |
CN112698850B (zh) * | 2019-10-22 | 2023-06-20 | 北京华为数字技术有限公司 | 一种优化的升级方法和相关设备 |
CN110825406A (zh) * | 2019-10-25 | 2020-02-21 | 深圳市元征科技股份有限公司 | 一种软件升级的方法及相关设备 |
CN111142906B (zh) * | 2019-12-25 | 2023-11-10 | 浙江大华技术股份有限公司 | 一种设备固件升级方案迭代的方法、装置与设备 |
CN113326059B (zh) * | 2020-02-28 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种资源更新方法、装置及存储介质 |
CN113326059A (zh) * | 2020-02-28 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种资源更新方法、装置及存储介质 |
CN111427596A (zh) * | 2020-03-12 | 2020-07-17 | 浙江大华技术股份有限公司 | 一种软件升级的方法、装置及终端设备 |
CN111752633A (zh) * | 2020-06-18 | 2020-10-09 | 支付宝(杭州)信息技术有限公司 | 代码加载方法、装置及设备 |
CN111984279A (zh) * | 2020-09-03 | 2020-11-24 | 深圳创维-Rgb电子有限公司 | 一种应用软件升级方法、***及存储介质 |
CN112306552A (zh) * | 2020-11-01 | 2021-02-02 | 国铁吉讯科技有限公司 | 一种***软件版本管理方法、装置及存储介质 |
CN112328295A (zh) * | 2020-11-25 | 2021-02-05 | 昆山丘钛光电科技有限公司 | 软件更新方法及装置 |
CN112564956A (zh) * | 2020-11-30 | 2021-03-26 | 山东亚华电子股份有限公司 | 一种客户端的远程升级方法及设备、装置、存储介质 |
CN112558994A (zh) * | 2020-12-23 | 2021-03-26 | 上海眼控科技股份有限公司 | 一种应用软件的升级方法、装置、设备和存储介质 |
CN112650515A (zh) * | 2020-12-28 | 2021-04-13 | 无锡信捷电气股份有限公司 | 一种基于标签列表的软件升降级方法 |
CN112732315A (zh) * | 2020-12-30 | 2021-04-30 | 潍柴动力股份有限公司 | 一种软件差分升级方法及装置 |
CN112764773A (zh) * | 2020-12-31 | 2021-05-07 | 北京谊安医疗***股份有限公司 | 一种嵌入式软件升级方法 |
CN112947951A (zh) * | 2021-03-26 | 2021-06-11 | 深圳云之家网络有限公司 | 一种软件安装方法及相关设备 |
CN113326053A (zh) * | 2021-06-18 | 2021-08-31 | 上海钛米机器人股份有限公司 | 一种机器人管理***和方法 |
CN113489610A (zh) * | 2021-06-30 | 2021-10-08 | 中国民航信息网络股份有限公司 | 一种离港前端升级方法、装置、电子设备及存储介质 |
CN113691820A (zh) * | 2021-07-28 | 2021-11-23 | 广州心娱网络科技有限公司 | 直播间礼物更新方法、装置、终端设备及可读存储介质 |
CN113900681A (zh) * | 2021-08-13 | 2022-01-07 | 西安万像电子科技有限公司 | 零终端软件更新方法、电子设备和存储介质 |
CN113672349A (zh) * | 2021-08-20 | 2021-11-19 | 绿盟科技集团股份有限公司 | 一种镜像的更新方法、装置、设备及介质 |
CN113721968A (zh) * | 2021-08-31 | 2021-11-30 | 杭州海康威视数字技术股份有限公司 | 固件升级方法、装置 |
CN113721968B (zh) * | 2021-08-31 | 2024-04-02 | 杭州海康威视数字技术股份有限公司 | 固件升级方法、装置 |
CN113886406A (zh) * | 2021-09-15 | 2022-01-04 | 北京达佳互联信息技术有限公司 | 一种文件库的更新方法、装置、电子设备和存储介质 |
WO2023082365A1 (zh) * | 2021-11-10 | 2023-05-19 | 同程网络科技股份有限公司 | 一种微信小程序打包平台、方法、设备及存储介质 |
CN114296777A (zh) * | 2021-12-25 | 2022-04-08 | 深圳市元征科技股份有限公司 | 软件升级方法、装置、服务器及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
RU2580065C2 (ru) | 2016-04-10 |
US20140304697A1 (en) | 2014-10-09 |
WO2013078951A1 (zh) | 2013-06-06 |
US9043778B2 (en) | 2015-05-26 |
SG11201401480QA (en) | 2014-07-30 |
IN2014CN04930A (zh) | 2015-09-18 |
BR112014012772A8 (pt) | 2017-06-20 |
BR112014012772A2 (pt) | 2017-06-13 |
RU2014126337A (ru) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013078951A1 (zh) | 软件升级方法和*** | |
US8233893B2 (en) | Mobile handset update package generator that employs nodes technique | |
CN101110788B (zh) | 升级客户端软件的方法及*** | |
CN108074177B (zh) | 数据对账方法、***和计算机可读存储介质 | |
RU2419839C2 (ru) | Система и способ обновления программы для мобильного терминала с поддержкой ота | |
CN102402438B (zh) | 一种补丁文件的自动合并方法、装置及通信终端 | |
JP5705869B2 (ja) | クラスタベースのjavaアプリケーションシステムのコードをロードおよび更新する装置および方法 | |
US6269442B1 (en) | Apparatus and method for on-line replacement of a running program code and data using checkpoints | |
CN101719073B (zh) | 一种基于智能客户端的按需下载实现方法 | |
KR20050086687A (ko) | 전자 파일 업데이트 동안 디바이스 메모리 관리 | |
CN104267978A (zh) | 一种生成差分包的方法及装置 | |
CN102707690B (zh) | 一种组态数据的下载方法和下载*** | |
CN1758220A (zh) | 一种升级软件版本的方法 | |
US20230022646A1 (en) | Method for updating applications in cloud environments | |
CN112748949A (zh) | 一种操作***的软件包管理方法、装置、设备及存储介质 | |
CN111736883A (zh) | 基于数据延迟升级的计算机管理***热升级方法及装置 | |
CN112328284A (zh) | 应用程序升级方法、***、设备和存储介质 | |
TWI517045B (zh) | JAVA cluster application system code loading and upgrading devices and methods | |
CN112947956B (zh) | 一种应用软件升级方法 | |
EP3405871A1 (en) | Versioned records management using restart era | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN103136013B (zh) | 软件升级方法和*** | |
CN115827036A (zh) | 一种后端应用升级方法、装置、设备及存储介质 | |
CN116599946A (zh) | 一种基于React Native的热更新方法、装置、智能设备及存储介质 | |
CN116647447A (zh) | 一种应用程序的热更新方法、装置、智能设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |