CN102262544A - 软件升级的方法和装置 - Google Patents
软件升级的方法和装置 Download PDFInfo
- Publication number
- CN102262544A CN102262544A CN2010101834303A CN201010183430A CN102262544A CN 102262544 A CN102262544 A CN 102262544A CN 2010101834303 A CN2010101834303 A CN 2010101834303A CN 201010183430 A CN201010183430 A CN 201010183430A CN 102262544 A CN102262544 A CN 102262544A
- Authority
- CN
- China
- Prior art keywords
- module
- file
- described module
- upgrading
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件升级的方法和装置,属于计算机软件领域。所述方法包括:向服务器发送查询报文,所述查询报文携带软件中模块的标识和所述模块的当前版本号;接收所述服务器返回的响应报文,所述响应报文携带所述模块标识、所述模块的最新版本号和所述模块的升级信息;根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块。所述装置包括:发送模块、接收模块和升级模块。本发明通过上述方法和装置,实现了一种基于模块的软件升级,还可以对模块中的文件进行升级,提高了软件升级的效率和灵活性。
Description
技术领域
本发明涉及计算机软件领域,特别涉及一种软件升级的方法和装置。
背景技术
在计算机领域,对于已经安装好的软件,为了优化软件、提高软件的性能,通常需要对软件进行升级。
现有技术中,软件升级过程主要包括以下步骤:
客户端与服务器建立通信连接后,客户端中的升级引擎从服务器下载软件升级包,该软件升级包中包括一个安装引擎,该升级引擎调用安装引擎,使该安装引擎在被调用启动后,将升级软件包中的升级资源文件更新到客户端,从而完成一个软件升级的过程。
综合上述,现有技术至少存在以下问题:
目前的软件升级方法,需要下载整个软件的升级包,因此下载时间比较长,影响升级效率,并且只能对整个软件进行升级,缺乏灵活性。
发明内容
为了提高软件升级的效率和灵活性,本发明实施例提供了一种软件升级的方法和装置。所述技术方案如下:
一种软件升级的方法所述方法包括:
向服务器发送查询报文,所述查询报文携带软件中模块的标识和所述模块的当前版本号;
接收所述服务器返回的响应报文,所述响应报文携带所述模块标识、所述模块的最新版本号和所述模块的升级信息;
根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块。
其中,所述模块的升级信息包括:所述模块的安装包地址信息或所述模块的文件列表信息;
所述根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块包括:
如果所述模块的当前版本号与所述模块的最新版本号不一致,安装所述模块的安装包地址信息对应的安装包;或者,
如果所述模块的当前版本号与所述模块的最新版本号不一致,将所述模块中的文件更新为所述模块的文件列表信息对应的文件。
其中,所述文件列表信息包括:增量更新属性;
所述将所述模块中的文件更新为所述文件列表信息对应的文件包括:
如果所述文件列表信息对应的文件的内容为空,删除所述模块中文件标识与所述内容为空的文件标识相同的文件;
如果所述文件列表信息对应的文件在所述模块中存在与其相同标识的文件,替换所述模块中与其相同标识的文件;
如果所述文件列表信息对应的文件在所述模块中不存在与其相同标识的文件,在所述模块中增加所述文件列表信息对应的文件。
其中,所述查询报文还包括:所述模块中文件的标识和所述文件的当前版本号;
所述模块的升级信息包括:所述文件的标识、所述文件的最新版本号和所述文件的地址信息;
所述根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块包括:
如果所述模块的当前版本号与所述模块的最新版本号不一致,且所述文件的当前版本号与所述文件的最新版本号不一致,将所述文件的标识对应的文件更新为所述文件的地址信息对应的文件。
其中,所述模块的升级信息还包括:所述模块的依赖模块、所述模块与其依赖模块之间的依赖关系和所述依赖模块的升级信息,所述方法还包括:
根据所述依赖关系,确定优先级顺序;
根据所述依赖模块的升级信息,按照所述优先级顺序,依次升级相应的依赖模块。
一种软件升级的装置,所述装置包括:
发送模块,用于向服务器发送查询报文,所述查询报文携带软件中模块的标识和所述模块的当前版本号;
接收模块,用于接收所述服务器返回的响应报文,所述响应报文携带所述模块标识、所述模块的最新版本号和所述模块的升级信息;
升级模块,用于根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块。
其中,所述模块的升级信息包括:所述模块的安装包地址信息或所述模块的文件列表信息;
所述升级模块包括:安装单元或更新单元;
所述安装单元,用于如果所述模块的当前版本号与所述模块的最新版本号不一致,安装所述模块的安装包地址信息对应的安装包;
所述更新单元,用于如果所述模块的当前版本号与所述模块的最新版本号不一致,将所述模块中的文件更新为所述模块的文件列表信息对应的文件。
其中,所述文件列表信息包括:增量更新属性;
所述更新单元包括:删除子单元、替换子单元和增加子单元;
删除子单元,用于如果所述文件列表信息对应的文件的内容为空,删除所述模块中文件标识与所述内容为空的文件标识相同的文件;
替换子单元,用于如果所述文件列表信息对应的文件在所述模块中存在与其相同标识的文件,替换所述模块中与其相同标识的文件;
增加子单元,用于如果所述文件列表信息对应的文件在所述模块中不存在与其相同标识的文件,在所述模块中增加所述文件列表信息对应的文件。
其中,所述查询报文还包括:所述模块中文件的标识和所述文件的当前版本号;
所述模块的升级信息包括:所述文件的标识、所述文件的最新版本号和所述文件的地址信息;
所述升级模块包括:文件升级单元,用于如果所述模块的当前版本号与所述模块的最新版本号不一致,且所述文件的当前版本号与所述文件的最新版本号不一致,将所述文件的标识对应的文件更新为所述文件的地址信息对应的文件。
其中,所述模块的升级信息还包括:所述模块的依赖模块、所述模块与其依赖模块之间的依赖关系和所述依赖模块的升级信息,所述装置还包括:
第二升级模块,用于根据所述依赖关系,确定优先级顺序;根据所述依赖模块的升级信息,按照所述优先级顺序,依次升级相应的依赖模块。
本发明实施例提供的技术方案带来的有益效果是:
通过向服务器发送软件中模块的标识和当前版本号,并接收服务器返回的该模块的升级信息,根据模块的当前版本号、最新版本号和升级信息升级该模块,实现了一种基于模块的软件升级,提高了软件升级的效率和灵活性。另外,通过向服务器发送模块中文件的标识和文件的当前版本号,并接收服务器返回的该文件的地址信息,还可以对模块中的文件进行升级,进一步提高了软件升级的效率和灵活性。
附图说明
图1是本发明实施例1中提供的软件升级的方法流程图;
图2是本发明实施例1中提供的软件升级的方法流程图;
图3是本发明实施例1中提供的安装包升级的流程图;
图4是本发明实施例1中提供的替换文件的流程图;
图5是本发明实施例1中提供的重启机器后替换的流程图;
图6是本发明实施例1中提供的关闭程序进行替换的流程图;
图7是本发明实施例1中提供的程序退出时进行替换的流程图;
图8是本发明实施例1中提供的程序下次启动时进行替换的流程图;
图9是本发明实施例1中提供的文件增量更新示意图;
图10是本发明实施例2中提供的软件升级的装置结构示意图;
图11是本发明实施例2中提供的软件升级的装置另一结构示意图;
图12是本发明实施例2中提供的软件自升级的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本实施例提供了一种软件升级的方法,包括:
101:向服务器发送查询报文,查询报文携带软件中模块的标识和模块的当前版本号;
进一步的,查询报文还包括:模块中文件的标识和文件的当前版本号。
102:接收服务器返回的响应报文,响应报文携带模块标识、模块的最新版本号和模块的升级信息;
其中,对于模块级别的软件升级,模块的升级信息至少包括:安装包地址信息或文件列表信息;对于文件级别的软件升级,模块的升级信息至少包括:文件的标识、文件的最新版本号和文件的地址信息。
进一步的,模块的升级信息还可以包括:模块的依赖模块、模块与其依赖模块之间的依赖关系和依赖模块的升级信息。其中,模块的依赖模块是指在软件升级过程中,如果对该模块进行升级,必须先对其依赖模块进行升级,也即模块与其依赖模块在其升级过程中存在一定的依附性。
相应的,软件升级的方法还包括:根据依赖关系,确定优先级顺序;根据依赖模块的升级信息,按照优先级顺序,依次升级相应的依赖模块。其中,依赖关系是指在软件升级过程中,如果欲对某一模块进行升级,需要先对另一模块进行升级的这种依附关系,称为依赖关系,该另一模块即为该模块的依赖模块。
103:根据模块的当前版本号、模块的最新版本号和模块的升级信息,升级模块标识对应的模块。
对于模块级别的软件升级,本步骤具体包括:
如果模块的当前版本号与模块的最新版本号不一致,安装安装包地址信息对应的安装包;或者,如果模块的当前版本号与模块的最新版本号不一致,将模块中的文件更新为文件列表信息对应的文件。
对于文件级别的软件升级,本步骤具体包括:
如果模块的当前版本号与模块的最新版本号不一致,且文件的当前版本号与文件的最新版本号不一致,升级文件的标识对应的文件为文件的地址信息对应的文件。
本实施例提供的方法,通过向服务器发送软件中模块的标识和当前版本号,并接收服务器返回的该模块的升级信息,根据模块的当前版本号、最新版本号和升级信息升级该模块,实现了一种基于模块的软件升级,提高了软件升级的效率和灵活性。另外,通过向服务器发送模块中文件的标识和文件的当前版本号,并接收服务器返回的该文件的地址信息,还可以对模块中的文件进行升级,进一步提高了软件升级的效率和灵活性。
参见图2,下面结合具体实例介绍上述软件升级的方法。
201:客户端在收集了本地模块的版本信息之后,向服务器发送不同级别的查询报文;
其中,模块级别的查询报文至少携带软件中模块的标识和模块的当前版本号,文件级别的查询报文除了携带软件中模块的标识和模块的当前版本号,还需要携带模块中文件的标识和文件的当前版本号。
通常情况下,客户端仅发送已安装模块的模块级别的信息。对于需要频繁更新的文件,可以发送文件级别的信息。客户端可以配置一个常见的频繁更新的文件列表,如果发送的模块中包含该列表中的文件,则会附带一起发送给服务器。另外,文件级别的查询可由服务器控制,服务器在提供文件信息时,可以指定该文件是否是频繁更新文件,客户端根据服务器的指定更新相应的文件列表。具体的,服务器可以根据各个文件更新次数的统计信息,判断该文件是否是频繁更新文件,也可以采用其他判断方法,本实施例并不限定。
202:服务器在接收到客户端的查询报文之后,对不同级别的查询分别给客户端不同的响应报文;
其中,响应报文至少携带模块标识、模块的最新版本号、以及模块的升级信息。具体的,
a)对于模块级别的查询,模块的升级信息至少包括:模块的安装包地址信息或模块的文件列表信息,还可以包括是否完全升级、是否强制升级等信息。其中,模块的文件列表信息是指该模块中所有文件的标识、最新版本以及地址信息等。如果是完全升级,则更新整个模块,也即这个模块中的所有文件都被升级。如果是强制升级,则该模块必须升级,不允许用户选择。
其中,对于安装包方式或文件列表方式的选择,如果升级涉及到的文件是关键文件,即会改变插件状态的文件,如dll(Dynamic Link Library,动态链接库)或xml(Extensible Markup Language,可扩展标记语言)文件,服务器应以安装包地址形式返回,否则,可以文件列表形式返回。
b)对于文件级别的查询,模块的升级信息至少包括:查询报文中文件对应的文件标识、该文件的最新版本号、以及该文件的地址信息等该文件的文件列表信息。
其中,a)和b)所涉及的文件的地址信息具体有两种存在方式,如果所有文件地址信息的XML文件的内容在报文长度允许范围之内,以UDP报文为例,报文最大长度为1024,则使用XML文件直接返回,否则使用URL(UniversalResource Locator,统一资源定位符)方式返回,再由客户端自行拉取。
进一步的,模块的升级信息还包括:模块的依赖模块、模块与其依赖模块之间的依赖关系、以及依赖模块的升级信息。其中,依赖模块的升级信息与模块的升级信息包括的内容相似,至少包括依赖模块的安装包地址信息或文件列表信息,还可以包括是否完全升级、是否强制升级等信息。
其中,模块的依赖模块是指在软件升级过程中,如果对该模块进行升级,必须先对其依赖模块进行升级,也即模块与其依赖模块在其升级过程中存在一定的依附性。依赖关系是指在软件升级过程中,如果欲对某一模块进行升级,需要先对另一模块进行升级的这种依附关系,称为依赖关系,该另一模块即为该模块的依赖模块。例如,待升级的模块为一插件,该插件的依赖模块为一主模块,该主模块的依赖模块为一主程序,依赖关系为插件依赖主模块,主模块依赖主程序。
203:客户端根据模块的当前版本号、模块的最新版本号和模块的升级信息,升级模块标识对应的模块。
具体的,如果模块的当前版本号与模块的最新版本号不一致,安装模块的安装包地址信息对应的安装包;或者,如果模块的当前版本号与模块的最新版本号不一致,将模块中的文件更新为模块的文件列表信息对应的文件。
其中,参见图3,安装包升级的具体过程为:客户端直接启动安装包,监控其安装状态,判断安装是否成功,如果失败,则升级失败,如果安装成功,判断是否需要后续处理,如果不需要后续处理,则升级成功,如果需要后续处理,则标记为需要后续处理。其中,后续处理是指安装时需要重启应用程序或重启系统等,本实施例并不限定。
其中,文件列表升级过程中的文件更新包括:替换文件、删除文件和增量更新文件等,更新类型属性具体可以在文件列表信息中标识。下面简单介绍替换文件和增量更新文件。
参见图4,替换文件的具体过程为:对文件列表中的文件逐一进行备份、替换,具体可以备份到临时文件夹中,然后判断文件是否替换成功,如果替换失败,则回滚至该文件替换前的状态,并提示升级失败,如果替换成功,判断文件列表中是否还有其他文件,如果还有其他文件,重复备份、替换的过程,如果没有其他文件,判断文件列表中的文件是否需要延迟替换,如果没有需要延迟替换的文件,则报告升级成功,如果有需要延迟替换的文件,例如文件被占用时,则报告升级完成但有需要延迟替换的文件。
上述延迟替换包括重启机器后替换、重启程序后替换、重启插件后替换三种情况。
重启机器后替换,是指被占用文件属于内核态的模块,如网络浏览监控等。参见图5,客户端将这些文件标记为重启后替换,由操作系统在重启后自动替换。
重启程序后替换,是指被占用文件属于主框架、主模块,或者属于不可由插件管理器重启的插件。客户端选择关闭程序进行替换,或在程序退出时,或程序下次启动时进行文件替换。
其中,参见图6,关闭程序进行替换的过程为:通知程序关闭,替换文件,再次启动程序。参见图7,程序退出时进行替换的过程为:通知、并标记程序退出时替换文件,退出前启动更新程序,替换文件后退出。参见图8,程序下次启动时进行替换的过程为:通知并标记程序重启时替换文件,启动前启动更新程序,替换文件后启动。
重启插件后替换,是指被占用文件属于可以被插件管理器重启的插件。客户端通知插件管理器关闭对应的插件,进行文件替换后,再通知插件管理器重启对应插件。
增量更新文件的具体过程为:如果文件对应的文件子单元的内容为空,删除文件中对应子单元标识的内容;如果文件中存在与其相同标识的文件子单元,替换文件中与其相同标识的文件子单元;如果文件不存在与其相同标识的文件子单元,在文件中增加对应的文件子单元。例如,参见图9,文件1为替换,文件2为删除,文件100为增加。
进一步的,如果待升级的模块与其他模块之间有一定的依赖关系,还应按照一定的优先级顺序升级,具体包括:
根据依赖关系确定优先级顺序,根据依赖模块的升级信息,按照优先级顺序,依次升级相应的依赖模块。本实施例的优先级顺序以依赖关系的逆序确定,本实施例并不限定。
例如,待升级的模块为一插件,该插件依赖的模块为一主模块,该主模块依赖的模块为一主程序,依赖关系为插件依赖主模块,主模块依赖主程序,则升级的优先级顺序为主程序、主模块、以及插件。其中,主程序可以是含界面的可执行程序,主模块可以是在主程序中提供特定功能的模块,如系统清理模块、插件管理模块等,插件可以是以Plug in(插入)形式存在的独立功能模块。
本实施例提供的方法,通过向服务器发送软件中模块的标识和当前版本号,并接收服务器返回的该模块的升级信息,根据模块的当前版本号、最新版本号和升级信息升级该模块,实现了一种基于模块的软件升级,提高了软件升级的效率和灵活性。另外,通过向服务器发送模块中文件的标识和文件的当前版本号,并接收服务器返回的该文件的地址信息,还可以对模块中的文件进行升级,进一步提高了软件升级的效率和灵活性。
实施例2
参见图10,本实施例提供了一种软件升级的装置,包括:
发送模块301,用于向服务器发送查询报文,查询报文携带软件中模块的标识和模块的当前版本号;
接收模块302,用于接收服务器返回的响应报文,响应报文携带模块标识、模块的最新版本号和模块的升级信息;
升级模块303,用于根据模块的当前版本号、模块的最新版本号和模块的升级信息,升级模块标识对应的模块。
其中,模块的升级信息包括:模块的安装包地址信息或者模块的文件列表信息;
相应的,参见图11,升级模块303包括:安装单元303a或更新单元303b;
安装单元303a,用于如果模块的当前版本号与模块的最新版本号不一致,安装模块的安装包地址信息对应的安装包;
更新单元303b,用于如果模块的当前版本号与模块的最新版本号不一致,将模块中的文件更新为模块的文件列表信息对应的文件。
其中,文件列表信息包括:增量更新属性;
更新单元303b包括:删除子单元303b1、替换子单元303b2和增加子单元303b3;
删除子单元303b1,用于如果文件列表信息对应的文件的内容为空,删除模块中文件标识与内容为空的文件标识相同的文件;
替换子单元303b2,用于如果文件列表信息对应的文件在模块中存在与其相同标识的文件,替换模块中与其相同标识的文件;
增加子单元303b3,用于如果文件列表信息对应的文件在模块中不存在与其相同标识的文件,在模块中增加文件列表信息对应的文件。
其中,查询报文还包括:模块中文件的标识和文件的当前版本号;模块的升级信息包括:文件的标识、文件的最新版本号和文件的地址信息;
相应的,升级模块303包括:文件升级单元303c,用于如果模块的当前版本号与模块的最新版本号不一致,且文件的当前版本号与文件的最新版本号不一致,将文件的标识对应的文件更新为文件的地址信息对应的文件。
其中,模块的升级信息还包括:模块依赖的模块、模块与其依赖模块之间的依赖关系和依赖模块的升级信息,该装置还包括:
第二升级模块304,用于根据依赖关系,确定优先级顺序;根据依赖模块的升级信息,按照优先级顺序,依次升级相应的依赖模块。
本实施例提供的装置,还可以进行自升级,参见图12,具体过程为:在退出前启动新的升级程序的进程,新升级程序的进程会等待老进程退出,如果超时未退出,则强制杀掉老进程,然后替换文件,并标记机器重启后,删除临时文件后退出。
本实施例提供的装置,与方法实施例中的客户端属于同一构思,其具体实现过程,详见方法实施例,这里不再赘述。
本实施例提供的装置,通过向服务器发送软件中模块的标识和当前版本号,并接收服务器返回的该模块的升级信息,根据模块的当前版本号、最新版本号和升级信息升级该模块,实现了一种基于模块的软件升级,提高了软件升级的效率和灵活性。另外,通过向服务器发送模块中文件的标识和文件的当前版本号,并接收服务器返回的该文件的地址信息,还可以对模块中的文件进行升级,进一步提高了软件升级的效率和灵活性。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如;计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件升级的方法,其特征在于,所述方法包括:
向服务器发送查询报文,所述查询报文携带软件中模块的标识和所述模块的当前版本号;
接收所述服务器返回的响应报文,所述响应报文携带所述模块标识、所述模块的最新版本号和所述模块的升级信息;
根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块。
2.如权利要求1所述的方法,其特征在于,所述模块的升级信息包括:所述模块的安装包地址信息或所述模块中所有文件的文件列表信息,所述文件列表信息至少包括文件的标识和更新方式;
所述根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块包括:
如果所述模块的当前版本号与所述模块的最新版本号不一致,安装所述模块的安装包地址信息对应的安装包;或者,
如果所述模块的当前版本号与所述模块的最新版本号不一致,对所述模块中的所有文件,按照其文件标识对应的更新方式进行更新。
3.如权利要求1所述的方法,其特征在于,所述查询报文还包括:所述模块中文件的标识和所述文件的当前版本号;
所述模块的升级信息包括:所述查询报文中文件的文件列表信息,所述文件列表信息至少包括文件的标识和更新方式;
所述根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块包括:
如果所述模块的当前版本号与所述模块的最新版本号不一致,对所述模块中与所述查询报文中文件标识相同的文件,按照其文件标识对应的更新方式进行更新。
4.如权利要求2或3所述的方法,其特征在于,所述更新方式包括:增量更新方式,所述按照其文件标识对应的更新方式进行更新包括:
如果文件信息列表中文件记录的内容为空,在所述模块中与所述文件信息列表相同文件标识的文件中,删除与所述内容为空的记录标识相同的记录;
如果文件信息列表中文件的记录在所述模块中与所述文件信息列表相同文件标识的文件中存在与其记录标识相同的记录,替换所述与其记录标识相同的记录;
如果文件信息列表中文件的记录在所述模块中与所述文件信息列表相同文件标识的文件中不存在与其记录标识相同的记录,增加所述文件信息列表中文件的记录。
5.如权利要求2-4任一权利要求所述的方法,其特征在于,所述模块的升级信息还包括:所述模块的依赖模块、所述模块与其依赖模块之间的依赖关系和所述依赖模块的升级信息,所述方法还包括:
根据所述依赖关系,确定优先级顺序;
根据所述依赖模块的升级信息,按照所述优先级顺序,依次升级相应的依赖模块。
6.一种软件升级的装置,其特征在于,所述装置包括:
发送模块,用于向服务器发送查询报文,所述查询报文携带软件中模块的标识和所述模块的当前版本号;
接收模块,用于接收所述服务器返回的响应报文,所述响应报文携带所述模块标识、所述模块的最新版本号和所述模块的升级信息;
升级模块,用于根据所述模块的当前版本号、所述模块的最新版本号和所述模块的升级信息,升级所述模块标识对应的模块。
7.如权利要求6所述的装置,其特征在于,所述模块的升级信息包括:所述模块的安装包地址信息或所述模块中所有文件的文件列表信息,所述文件列表信息至少包括文件的标识和更新方式;
所述升级模块包括:安装单元或更新单元;
所述安装单元,用于如果所述模块的当前版本号与所述模块的最新版本号不一致,安装所述模块的安装包地址信息对应的安装包;
所述更新单元,用于如果所述模块的当前版本号与所述模块的最新版本号不一致,对所述模块中的所有文件,按照其文件标识对应的更新方式进行更新。
8.如权利要求6所述的装置,其特征在于,所述查询报文还包括:所述模块中文件的标识和所述文件的当前版本号;
所述模块的升级信息包括:所述查询报文中文件的文件列表信息,所述文件列表信息至少包括文件的标识和更新方式;
所述升级模块包括:文件升级单元,用于如果所述模块的当前版本号与所述模块的最新版本号不一致,对所述模块中与所述查询报文中文件标识相同的文件,按照其文件标识对应的更新方式进行更新。
9.如权利要求7或8所述的装置,其特征在于,所述更新方式包括:增量更新方式,所述更新单元或所述文件升级单元包括:删除子单元、替换子单元和增加子单元;
所述删除子单元,用于如果文件信息列表中文件记录的内容为空,在所述模块中与所述文件信息列表相同文件标识的文件中,删除与所述内容为空的记录标识相同的记录;
所述替换子单元,用于如果文件信息列表中文件的记录在所述模块中与所述文件信息列表相同文件标识的文件中存在与其记录标识相同的记录,替换所述与其记录标识相同的记录;
所述增加子单元,用于如果文件信息列表中文件的记录在所述模块中与所述文件信息列表相同文件标识的文件中不存在与其记录标识相同的记录,增加所述文件信息列表中文件的记录。
10.如权利要求7-9任一权利要求所述的装置,其特征在于,所述模块的升级信息还包括:所述模块的依赖模块、所述模块与其依赖模块之间的依赖关系和所述依赖模块的升级信息,所述装置还包括:
第二升级模块,用于根据所述依赖关系,确定优先级顺序;根据所述依赖模块的升级信息,按照所述优先级顺序,依次升级相应的依赖模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010183430.3A CN102262544B (zh) | 2010-05-24 | 2010-05-24 | 软件升级的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010183430.3A CN102262544B (zh) | 2010-05-24 | 2010-05-24 | 软件升级的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102262544A true CN102262544A (zh) | 2011-11-30 |
CN102262544B CN102262544B (zh) | 2016-06-08 |
Family
ID=45009182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010183430.3A Active CN102262544B (zh) | 2010-05-24 | 2010-05-24 | 软件升级的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102262544B (zh) |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789389A (zh) * | 2012-08-01 | 2012-11-21 | 深圳市茁壮网络股份有限公司 | 一种插件版本检测及升级的方法、插件检测器 |
CN103136013A (zh) * | 2011-12-01 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 软件升级方法和系统 |
CN103186391A (zh) * | 2011-12-29 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 浏览器升级方法和系统以及一种升级服务器 |
CN103559058A (zh) * | 2013-11-07 | 2014-02-05 | 中达电通股份有限公司 | 软件在线升级方法 |
CN103970554A (zh) * | 2013-01-30 | 2014-08-06 | 广东美的制冷设备有限公司 | 一种家电产品功能升级的控制方法 |
CN104142834A (zh) * | 2013-05-08 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 强制更新方法及装置 |
CN104267987A (zh) * | 2014-09-26 | 2015-01-07 | 广州金山网络科技有限公司 | 一种应用程序app更新的检测方法、检测装置以及终端 |
CN104572207A (zh) * | 2015-01-20 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种基于智能配件的app扩展使用方法及智能配件 |
CN104657164A (zh) * | 2013-11-21 | 2015-05-27 | 北大方正集团有限公司 | 软件升级处理方法和装置 |
CN104683409A (zh) * | 2013-11-29 | 2015-06-03 | 华为终端有限公司 | 终端间应用共享的方法和终端 |
CN105278993A (zh) * | 2015-10-27 | 2016-01-27 | 深圳市创维软件有限公司 | 一种基于Linux系统的驱动模块升级方法及装置 |
CN105389172A (zh) * | 2015-12-07 | 2016-03-09 | 深圳市金锐显数码科技有限公司 | 应用程序升级方法和装置 |
CN105487894A (zh) * | 2015-11-27 | 2016-04-13 | 浪潮软件集团有限公司 | 一种分布式软件系统的远程更新方法 |
CN105653262A (zh) * | 2015-12-21 | 2016-06-08 | Tcl集团股份有限公司 | 应用程序升级方法、装置及系统 |
CN105654695A (zh) * | 2016-03-15 | 2016-06-08 | 艾仕达医疗科技(深圳)有限公司 | 远程控制义齿机的方法、装置和系统 |
CN105786542A (zh) * | 2014-12-26 | 2016-07-20 | 乐视致新电子科技(天津)有限公司 | 智能设备及其系统升级方法 |
CN105808785A (zh) * | 2016-04-01 | 2016-07-27 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及终端设备 |
CN106341534A (zh) * | 2016-08-31 | 2017-01-18 | 广州品唯软件有限公司 | 一种客户端关键算法添加方法、系统、客户端和服务端 |
CN106375567A (zh) * | 2016-08-31 | 2017-02-01 | 广州品唯软件有限公司 | 一种插件发布方法、系统、客户端和服务端 |
CN106657274A (zh) * | 2016-11-16 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 对应用文件进行处理的方法及装置 |
CN106648765A (zh) * | 2016-12-07 | 2017-05-10 | 京信通信系统(中国)有限公司 | 嵌入式设备固件补丁包生成及固件差分升级方法和装置 |
CN106775672A (zh) * | 2016-11-30 | 2017-05-31 | 努比亚技术有限公司 | 系统版本升级的方法及终端 |
CN106970814A (zh) * | 2017-03-31 | 2017-07-21 | 广东欧珀移动通信有限公司 | 软件升级的处理方法、装置及系统 |
CN107256167A (zh) * | 2017-05-27 | 2017-10-17 | 中国科学院深圳先进技术研究院 | 应用于应用系统迁移的升级控制方法及升级控制设备 |
CN107463390A (zh) * | 2016-06-02 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种软件升级方法及升级服务器 |
CN107483241A (zh) * | 2017-08-08 | 2017-12-15 | 聚好看科技股份有限公司 | 一种在网元升级过程中下载升级镜像版本的方法和装置 |
CN107528713A (zh) * | 2016-06-22 | 2017-12-29 | 腾讯科技(深圳)有限公司 | 一种数据转移sdk的升级方法及装置 |
CN107800561A (zh) * | 2016-09-12 | 2018-03-13 | 平安科技(深圳)有限公司 | 资源更新方法和装置 |
CN107870771A (zh) * | 2016-09-26 | 2018-04-03 | 平安科技(深圳)有限公司 | 应用程序构建与升级方法及系统 |
CN107957882A (zh) * | 2016-10-13 | 2018-04-24 | 北京京东尚科信息技术有限公司 | 用于发送应用信息的方法和装置 |
CN107993707A (zh) * | 2016-10-27 | 2018-05-04 | 北京东软医疗设备有限公司 | 一种错误码信息的维护方法和装置 |
CN108153547A (zh) * | 2017-12-26 | 2018-06-12 | 泰康保险集团股份有限公司 | 微服务的版本管理方法、装置、介质及电子设备 |
CN108768726A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种服务器集群的升级方法及装置 |
CN108768804A (zh) * | 2018-05-29 | 2018-11-06 | 杨杰 | 一种基于物联网的智能家居设备同步管理系统 |
CN110324385A (zh) * | 2018-03-30 | 2019-10-11 | 杭州海康威视数字技术股份有限公司 | 数据同步方法及装置、分布式系统 |
CN110502271A (zh) * | 2019-07-22 | 2019-11-26 | 平安科技(深圳)有限公司 | 基于区块链的应用程序发版方法和系统 |
CN110908683A (zh) * | 2019-10-22 | 2020-03-24 | 深圳市广和通无线通信软件有限公司 | 硬件模块的软件系统升级方法、装置、存储介质和终端 |
US10708390B2 (en) | 2012-06-13 | 2020-07-07 | Huawei Device Co., Ltd. | Method, user equipment, server, and apparatus for implementing information sharing |
CN111427596A (zh) * | 2020-03-12 | 2020-07-17 | 浙江大华技术股份有限公司 | 一种软件升级的方法、装置及终端设备 |
CN111898118A (zh) * | 2020-07-13 | 2020-11-06 | 北京中软华泰信息技术有限责任公司 | 一种基于自动推演的linux软件安全升级系统及方法 |
CN112698858A (zh) * | 2021-01-13 | 2021-04-23 | 郑州阿帕斯数云信息科技有限公司 | 一种插件更新方法、装置和系统 |
CN113094064A (zh) * | 2021-03-03 | 2021-07-09 | 深圳市晨北科技有限公司 | 网关软件模块升级方法、装置、设备及存储介质 |
CN115348172A (zh) * | 2022-07-28 | 2022-11-15 | 鹿马智能科技(上海)有限公司 | 边缘网络设备不同部位版本升级的方法、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020066093A1 (en) * | 2000-09-14 | 2002-05-30 | Yen Hsiang Tsun | System and method for updating an executing executable file |
CN101179424A (zh) * | 2006-11-29 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种网络客户端更新的方法和系统 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN101593118A (zh) * | 2009-02-24 | 2009-12-02 | 浪潮集团山东通用软件有限公司 | 一种灵活的软件升级的方法 |
-
2010
- 2010-05-24 CN CN201010183430.3A patent/CN102262544B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020066093A1 (en) * | 2000-09-14 | 2002-05-30 | Yen Hsiang Tsun | System and method for updating an executing executable file |
CN101179424A (zh) * | 2006-11-29 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种网络客户端更新的方法和系统 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN101593118A (zh) * | 2009-02-24 | 2009-12-02 | 浪潮集团山东通用软件有限公司 | 一种灵活的软件升级的方法 |
Non-Patent Citations (1)
Title |
---|
张素智: "《Windows Server 2003配置与管理》", 29 February 2008 * |
Cited By (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136013A (zh) * | 2011-12-01 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 软件升级方法和系统 |
CN103186391A (zh) * | 2011-12-29 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 浏览器升级方法和系统以及一种升级服务器 |
CN103186391B (zh) * | 2011-12-29 | 2016-05-11 | 腾讯科技(深圳)有限公司 | 浏览器升级方法和系统以及一种升级服务器 |
US11991249B2 (en) | 2012-06-13 | 2024-05-21 | Huawei Device Co., Ltd. | Method, user equipment, server, and apparatus for implementing information sharing |
US10992781B2 (en) | 2012-06-13 | 2021-04-27 | Huawei Device Co., Ltd. | Method, user equipment, server, and apparatus for implementing information sharing |
US10708390B2 (en) | 2012-06-13 | 2020-07-07 | Huawei Device Co., Ltd. | Method, user equipment, server, and apparatus for implementing information sharing |
CN102789389B (zh) * | 2012-08-01 | 2015-10-14 | 深圳市茁壮网络股份有限公司 | 一种插件版本检测及升级的方法、插件检测器 |
CN102789389A (zh) * | 2012-08-01 | 2012-11-21 | 深圳市茁壮网络股份有限公司 | 一种插件版本检测及升级的方法、插件检测器 |
CN103970554B (zh) * | 2013-01-30 | 2017-07-18 | 广东美的制冷设备有限公司 | 一种家电产品功能升级的控制方法 |
CN103970554A (zh) * | 2013-01-30 | 2014-08-06 | 广东美的制冷设备有限公司 | 一种家电产品功能升级的控制方法 |
CN104142834A (zh) * | 2013-05-08 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 强制更新方法及装置 |
CN103559058A (zh) * | 2013-11-07 | 2014-02-05 | 中达电通股份有限公司 | 软件在线升级方法 |
CN104657164A (zh) * | 2013-11-21 | 2015-05-27 | 北大方正集团有限公司 | 软件升级处理方法和装置 |
CN104657164B (zh) * | 2013-11-21 | 2017-11-14 | 北大方正集团有限公司 | 软件升级处理方法和装置 |
WO2015078407A1 (zh) * | 2013-11-29 | 2015-06-04 | 华为终端有限公司 | 终端间应用共享的方法和终端 |
CN104683409A (zh) * | 2013-11-29 | 2015-06-03 | 华为终端有限公司 | 终端间应用共享的方法和终端 |
US10715980B2 (en) | 2013-11-29 | 2020-07-14 | Huawei Device Co., Ltd. | Method for sharing application between terminals, and terminal |
US11606677B2 (en) | 2013-11-29 | 2023-03-14 | Huawei Device Co., Ltd. | Method for sharing application between terminals, and terminal |
US11974204B2 (en) | 2013-11-29 | 2024-04-30 | Huawei Device Co., Ltd. | Method for sharing application between terminals, and terminal |
CN104267987B (zh) * | 2014-09-26 | 2018-09-25 | 广州猎豹网络科技有限公司 | 一种应用程序app更新的检测方法、检测装置以及终端 |
CN104267987A (zh) * | 2014-09-26 | 2015-01-07 | 广州金山网络科技有限公司 | 一种应用程序app更新的检测方法、检测装置以及终端 |
CN105786542A (zh) * | 2014-12-26 | 2016-07-20 | 乐视致新电子科技(天津)有限公司 | 智能设备及其系统升级方法 |
CN104572207A (zh) * | 2015-01-20 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种基于智能配件的app扩展使用方法及智能配件 |
CN105278993A (zh) * | 2015-10-27 | 2016-01-27 | 深圳市创维软件有限公司 | 一种基于Linux系统的驱动模块升级方法及装置 |
CN105487894A (zh) * | 2015-11-27 | 2016-04-13 | 浪潮软件集团有限公司 | 一种分布式软件系统的远程更新方法 |
CN105389172B (zh) * | 2015-12-07 | 2018-09-14 | 深圳市金锐显数码科技有限公司 | 应用程序升级方法和装置 |
CN105389172A (zh) * | 2015-12-07 | 2016-03-09 | 深圳市金锐显数码科技有限公司 | 应用程序升级方法和装置 |
CN105653262A (zh) * | 2015-12-21 | 2016-06-08 | Tcl集团股份有限公司 | 应用程序升级方法、装置及系统 |
CN105654695A (zh) * | 2016-03-15 | 2016-06-08 | 艾仕达医疗科技(深圳)有限公司 | 远程控制义齿机的方法、装置和系统 |
CN105808785B (zh) * | 2016-04-01 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及终端设备 |
CN105808785A (zh) * | 2016-04-01 | 2016-07-27 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及终端设备 |
CN107463390A (zh) * | 2016-06-02 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种软件升级方法及升级服务器 |
CN107463390B (zh) * | 2016-06-02 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 一种软件升级方法及升级服务器 |
CN107528713A (zh) * | 2016-06-22 | 2017-12-29 | 腾讯科技(深圳)有限公司 | 一种数据转移sdk的升级方法及装置 |
CN106375567A (zh) * | 2016-08-31 | 2017-02-01 | 广州品唯软件有限公司 | 一种插件发布方法、系统、客户端和服务端 |
CN106341534A (zh) * | 2016-08-31 | 2017-01-18 | 广州品唯软件有限公司 | 一种客户端关键算法添加方法、系统、客户端和服务端 |
CN107800561A (zh) * | 2016-09-12 | 2018-03-13 | 平安科技(深圳)有限公司 | 资源更新方法和装置 |
CN107870771A (zh) * | 2016-09-26 | 2018-04-03 | 平安科技(深圳)有限公司 | 应用程序构建与升级方法及系统 |
CN107957882A (zh) * | 2016-10-13 | 2018-04-24 | 北京京东尚科信息技术有限公司 | 用于发送应用信息的方法和装置 |
CN107993707A (zh) * | 2016-10-27 | 2018-05-04 | 北京东软医疗设备有限公司 | 一种错误码信息的维护方法和装置 |
CN106657274A (zh) * | 2016-11-16 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 对应用文件进行处理的方法及装置 |
CN106775672A (zh) * | 2016-11-30 | 2017-05-31 | 努比亚技术有限公司 | 系统版本升级的方法及终端 |
CN106648765A (zh) * | 2016-12-07 | 2017-05-10 | 京信通信系统(中国)有限公司 | 嵌入式设备固件补丁包生成及固件差分升级方法和装置 |
CN106970814A (zh) * | 2017-03-31 | 2017-07-21 | 广东欧珀移动通信有限公司 | 软件升级的处理方法、装置及系统 |
CN106970814B (zh) * | 2017-03-31 | 2020-06-02 | Oppo广东移动通信有限公司 | 软件升级的处理方法、装置及系统 |
CN107256167A (zh) * | 2017-05-27 | 2017-10-17 | 中国科学院深圳先进技术研究院 | 应用于应用系统迁移的升级控制方法及升级控制设备 |
CN107256167B (zh) * | 2017-05-27 | 2020-07-03 | 中国科学院深圳先进技术研究院 | 应用于应用系统迁移的升级控制方法及升级控制设备 |
CN107483241B (zh) * | 2017-08-08 | 2020-12-01 | 聚好看科技股份有限公司 | 一种在网元升级过程中下载升级镜像版本的方法和装置 |
CN107483241A (zh) * | 2017-08-08 | 2017-12-15 | 聚好看科技股份有限公司 | 一种在网元升级过程中下载升级镜像版本的方法和装置 |
CN108153547A (zh) * | 2017-12-26 | 2018-06-12 | 泰康保险集团股份有限公司 | 微服务的版本管理方法、装置、介质及电子设备 |
CN110324385A (zh) * | 2018-03-30 | 2019-10-11 | 杭州海康威视数字技术股份有限公司 | 数据同步方法及装置、分布式系统 |
CN108768804B (zh) * | 2018-05-29 | 2020-09-22 | 深圳市卡卓无线信息技术有限公司 | 一种基于物联网的智能家居设备同步管理系统 |
CN108768804A (zh) * | 2018-05-29 | 2018-11-06 | 杨杰 | 一种基于物联网的智能家居设备同步管理系统 |
CN108768726A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种服务器集群的升级方法及装置 |
CN110502271A (zh) * | 2019-07-22 | 2019-11-26 | 平安科技(深圳)有限公司 | 基于区块链的应用程序发版方法和系统 |
CN110908683B (zh) * | 2019-10-22 | 2023-11-03 | 深圳市广和通无线通信软件有限公司 | 硬件模块的软件系统升级方法、装置、存储介质和终端 |
CN110908683A (zh) * | 2019-10-22 | 2020-03-24 | 深圳市广和通无线通信软件有限公司 | 硬件模块的软件系统升级方法、装置、存储介质和终端 |
CN111427596A (zh) * | 2020-03-12 | 2020-07-17 | 浙江大华技术股份有限公司 | 一种软件升级的方法、装置及终端设备 |
CN111898118B (zh) * | 2020-07-13 | 2024-04-26 | 北京中软华泰信息技术有限责任公司 | 一种基于自动推演的linux软件安全升级系统及方法 |
CN111898118A (zh) * | 2020-07-13 | 2020-11-06 | 北京中软华泰信息技术有限责任公司 | 一种基于自动推演的linux软件安全升级系统及方法 |
CN112698858B (zh) * | 2021-01-13 | 2023-02-07 | 郑州阿帕斯数云信息科技有限公司 | 一种插件更新方法、装置和系统 |
CN112698858A (zh) * | 2021-01-13 | 2021-04-23 | 郑州阿帕斯数云信息科技有限公司 | 一种插件更新方法、装置和系统 |
CN113094064A (zh) * | 2021-03-03 | 2021-07-09 | 深圳市晨北科技有限公司 | 网关软件模块升级方法、装置、设备及存储介质 |
CN115348172A (zh) * | 2022-07-28 | 2022-11-15 | 鹿马智能科技(上海)有限公司 | 边缘网络设备不同部位版本升级的方法、设备及介质 |
CN115348172B (zh) * | 2022-07-28 | 2024-05-14 | 鹿马智能科技(上海)有限公司 | 边缘网络设备不同部位版本升级的方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102262544B (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262544A (zh) | 软件升级的方法和装置 | |
CN101719073B (zh) | 一种基于智能客户端的按需下载实现方法 | |
CN101794222A (zh) | 软件版本搜集方法、管理系统及软件升级检测方法和系统 | |
CN101789888B (zh) | 一种软件安装的检测方法和装置 | |
EP2021937B1 (en) | Techniques to perform gradual upgrades | |
CN102779151B (zh) | 应用程序的搜索方法、装置及系统 | |
CN100426298B9 (zh) | 一种垃圾文件清理方法及系统 | |
CN102291416B (zh) | 一种客户端与服务器端双向同步的方法及系统 | |
CN101552692B (zh) | 网元设备的操作及维护系统及其参数配置方法 | |
CN102609281B (zh) | 分布式软件补丁更新方法及系统 | |
CN103942063A (zh) | 一种针对Java Web应用的集中配置和远程部署方法 | |
CN103530150A (zh) | 一种Linux操作系统远程更新的方法 | |
CN109298871B (zh) | 一种电网智能调度系统软件版本监测部署方法 | |
CN106371874A (zh) | 一种插件数据加载方法及设备 | |
CN104508628A (zh) | 针对受管理的服务的监控 | |
CN104102502A (zh) | 一种实现热部署的处理方法、装置及服务器 | |
CN102841824B (zh) | 一种回滚方法和回滚装置 | |
CN103164247A (zh) | 系统应用自动修复的方法及装置 | |
CN102238017B (zh) | 实现本地软件更新提醒的方法及系统 | |
CN103092866A (zh) | 数据监控方法及监控装置 | |
US20130086572A1 (en) | Generation apparatus, generation method and computer readable information recording medium | |
CN101510156B (zh) | 一种信息系统资源回收方法及装置 | |
CN104461612A (zh) | 一种数据处理方法及装置 | |
CN109976754B (zh) | 一种信息显示的方法及其终端 | |
CN115048238A (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 |