CN104866341A - 一种组件升级方法、装置及终端 - Google Patents
一种组件升级方法、装置及终端 Download PDFInfo
- Publication number
- CN104866341A CN104866341A CN201510228074.5A CN201510228074A CN104866341A CN 104866341 A CN104866341 A CN 104866341A CN 201510228074 A CN201510228074 A CN 201510228074A CN 104866341 A CN104866341 A CN 104866341A
- Authority
- CN
- China
- Prior art keywords
- assembly
- information
- network side
- target software
- version
- 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
Abstract
本发明实施例公开了一种组件升级方法,包括:根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件;从网络侧获取所述目标组件的升级包文件;使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级。本发明实施例还公开了一种组件升级装置及终端。采用本发明实施例,可以提高组件升级的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种组件升级方法、装置及终端。
背景技术
随着互联网技术的发展,浏览器已成为移动终端上必备的应用软件之一,用户可通过电脑、手机等移动终端上安装的浏览器获取互联网上的共享信息或通过浏览器分享信息等等。由于用户需求不断增加,浏览器的功能也越来越多样化。
目前,浏览器除具备向用户展示网页内容的传统功能外,还承载了一系列的扩展功能。例如:天气、截图、下载、翻译等轻量应用,浏览器中将用于实现某项功能的轻量应用称之为组件。通过在浏览器中加载组件的方式,可以使浏览器向用户提供更多的便捷功能。
在现有的浏览器中,扩展功能和传统功能绑定在一起,实现各扩展功能的组件全部加载在浏览器中。当开发人员针对浏览器中已有的至少一个组件有更新时,若用户期望对浏览器中已加载的该组件实现升级,现有的组件升级方法中不管浏览器本身支持的传统功能是否有更新,均需对整个浏览器进行升级,从而实现组件的升级。然而,由于整个浏览器的数据量远远大于所要升级的组件的数据量,因此,在组件升级过程中需花费更多的时间,升级效率低。
发明内容
本发明实施例提供一种组件升级方法、装置及终端,可以提高组件升级的效率。
第一方面,本发明实施例提供一种组件升级方法,包括:
根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件;
从网络侧获取所述目标组件的升级包文件;
使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级。
在第一方面的第一种可能的实现方式中,所述组件信息包括标识信息和版本信息;
所述根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,包括:
针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;
若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,确定该组件为能够升级的目标组件。
在第一方面的第二种可能的实现方式中,所述组件信息包括标识信息、版本信息以及接口信息;
所述根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件包括:
针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;
若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息;
若所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件,确定该组件为能够升级的目标组件。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息之后,所述方法还包括:
若所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件,生成提示信息;
输出所述提示信息,以提示该目标软件需要升级。。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述接口信息包括接口等级,所述比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息,包括:
若所述目标软件的接口信息中的接口等级低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件;
若所述目标软件的接口信息中的接口等级不低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件。
结合第一方面,在第一方面的第五种可能的实现方式中,所述使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级包括:
检测所述目标组件是否处于运行状态;
若否,卸载所述目标组件,并使用所述升级包文件,在所述目标软件中加载所述升级包文件。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述检测所述目标组件是否处于运行状态之后,所述方法还包括:
若所述目标组件处于运行状态,识别所述目标组件是否包含可执行文件;
若是,使用所述升级包文件,在所述目标软件的下一次启动过程中更新所述目标软件中的目标组件;
若否,将所述目标软件中的目标组件对应的数据包文件替换为所述升级包文件。
第二方面,本发明实施例提供一种组件升级装置,包括:
确定模块,用于根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件;
获取模块,用于从网络侧获取所述目标组件的升级包文件;
升级模块,用于使用所获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级。
在第二方面的第一种可能的实现方式中,所述组件信息包括标识信息和版本信息;
所述确定模块具体用于:针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,确定该组件为能够升级的目标组件。
在第二方面的第二种可能的实现方式中,所述组件信息包括标识信息、版本信息以及接口信息;
所述确定模块包括:
版本比对单元,用于针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;
信息比对单元,用于若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息;
升级确定单元,用于若所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件,确定该组件为能够升级的目标组件。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述升级确定单元还用于:
若所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件,生成提示信息;
输出所述提示信息,以提示该目标软件需要升级。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接口信息包括接口等级,所述信息比对单元具体用于:
若所述目标软件的接口信息中的接口等级低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件;
若所述目标软件的接口信息中的接口等级不低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件。
结合第二方面,在第二方面的第五种可能的实现方式中,所述升级模块包括:
检测单元,用于检测所述目标组件是否处于运行状态;
升级单元,用于若否,卸载所述目标组件,并使用所述升级包文件,在所述目标软件中加载所述升级包文件。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述升级模块还包括:
识别单元,用于若所述目标组件处于运行状态,识别所述目标组件是否包含可执行文件;
所述升级单元,还用于若是,使用所述升级包文件,在所述目标软件的下一次启动过程中更新所述目标软件中的目标组件;
所述升级单元,还用于若否,将所述目标软件中的目标组件对应的数据包文件替换为所述升级包文件。
第三方面,本发明实施例提供一种终端,包括如上所述的任意一种组件升级装置。
实施本发明实施例,根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件;从网络侧获取所述目标组件的升级包文件;使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级。采用本发明实施例,可以单独对已加载的组件中可以升级的目标组件进行升级,而无需升级整个目标软件,因此,可以提高组件升级的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种组件升级方法的流程示意图;
图2是本发明实施例提供的一种组件升级方法的另一流程示意图;
图2a是图2提供的其中一种确定目标组件的方法的流程示意图;
图2b是图2提供的其中一种升级标识的显示示意图;
图2c是图2提供的其中一种组件设置界面的显示示意图;
图3是本发明实施例提供的一种组件升级方法的又一流程示意图;
图3a是图3提供的其中一种文件更新方法的流程示意图;
图4是本发明实施例提供的一种组件升级装置的结构示意图;
图5是本发明实施例提供的装置中确定模块的结构示意图;
图6是本发明实施例提供的装置中升级模块的结构示意图;
图7是本发明实施例提供的一种组件升级装置的又一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种组件升级方法、装置及终端,根据目标软件中已加载的组件对应的组件信息和网络侧所保存的最新版本的组件信息,确定已加载的组件中可以升级的目标组件;从网络侧获取目标组件的升级包文件;从而,根据所获取到的升级包文件,对目标软件中可以升级的目标组件进行升级。采用本发明实施例,识别目标软件中可以升级的目标组件,并单独对该目标组件进行升级,而无需升级整个目标软件,从而,提高组件升级的效率。下面将结合附图1-附图7对本发明实施例提供的一种组件升级方法、装置及终端分别进行详细介绍。
请参见图1,图1是本发明实施例提供的一种组件升级方法的流程示意图,在本发明实施例中,该方法可以包括以下步骤。
S101:根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件。
本发明实施例描述的组件升级方法可以应用于浏览器或类似于浏览器的产品中,所述浏览器可以运行在终端上,所述终端可以是计算机、手机等设备,为方便说明,本发明实施例以计算机为例。但应当说明的是,本发明实施例并不限制于计算机,凡是可以实施本发明实施例的设备均属于本发明实施例所需保护的范围。
浏览器已成为用户上网必备的应用软件之一,除具备显示网页的传统功能外,还可以在浏览器上加载轻量应用,通过加载轻量应用的方式向用户提供更多的扩展功能,例如:天气、截图、下载、翻译等轻量应用。本发明实施例中,为方便说明,将浏览器中实现某项扩展功能的轻量应用称之为组件,该组件可以包括组件信息及相应的数据包文件等信息。在现有的浏览器中,实现这些扩展功能的组件和实现传统功能的浏览器为一个整体,当部分组件出现更新时,需对整个浏览器软件进行升级,导致升级的数据量大,升级效率低。本发明实施例中,通过模块化思想设计应用软件,使每项扩展功能对应一个功能模块,即对应一个组件,我们也可以把这些功能模块称之为“乐高”组件。因此,用户可以在应用软件中选择性的加载部分或全部组件,当应用软件中已加载的部分或全部组件需要升级时,只需对需要升级的组件或者是可以升级的组件进行升级,而无需升级整个目标软件,一方面,方便开发和维护目标软件的扩展功能,另一方面,可以提高组件升级的效率。
本发明实施例中,根据目标软件中已加载的组件对应的组件信息和网络侧所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中可以升级的目标组件。例如:目标软件所在的终端向网络侧的服务器发送获取该目标软件中可以加载的全部组件对应的最新版本的组件信息的请求,以使服务器接收到该请求后,返回服务器上保存的所述全部组件对应的最新版本的组件信息,该组件信息包括目标软件中已加载的组件对应的最新版本的组件信息;或者,当服务器上存在部分组件的更新或者是新增组件时,向终端推送最新版本的组件信息;或者,终端直接向服务器发送获取目标软件中已加载的组件对应的最新版本的组件信息的请求,以使服务器返回目标软件中已加载的组件对应的最新版本的组件信息。从而,根据目标软件中已加载的组件对应的组件信息和网络侧所述已加载的组件对应的最新版本的组件信息,确定已加载的组件中可以升级的目标组件。
S102:从网络侧获取所述目标组件的升级包文件。
由步骤S101确定目标软件中已加载的组件可以进行升级的目标组件后,从网络侧下载该目标组件的升级包文件,或者是接收网络侧推送过来的升级包文件,从而,获得目标组件的升级包文件。
S103:使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级
例如:卸载目标软件中的目标组件,根据所获取到的升级包文件,在目标软件中加载该升级包文件对应的组件,完成对目标组件的升级。
在本发明实施例描述的组件升级方法中,根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载组件对应的最新版本的组件信息,确定已加载的组件中可以升级的目标组件;从网络侧获取目标组件的升级包文件;使用所获取到的升级包文件,对目标软件中可以升级的目标组件进行升级。采用本发明实施例,可以单独对已加载的组件中可以升级的目标组件进行升级,而无需升级整个目标软件,因此,可以提高组件升级的效率。
请参见图2,图2是本发明实施例提供的一种组件升级方法的另一流程示意图,在本发明实施例中,该方法可以包括以下步骤。
S201:根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件。
本发明实施例中,组件信息包括标识信息和版本信息,其中,标识信息可以是组件名称,也可以是与组件名称唯一对应的标识符或编号等,版本信息可以是组件的版本号,或者是用于标识版本的其它信息。具体的,本发明实施例不作限制。
本发明实施例中,确定已加载的组件中可以升级的目标组件的方法可以如图2a所示,图2a是图2提供的其中一种确定目标组件的方法的流程示意图,该方法包括以下步骤。
S201a:针对目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息。
为方便说明,本发明实施例中的标识信息以组件名称、版本信息以版本号为例,但并不能以该特例来限制本发明,凡是可以实施本发明方法的标识信息和版本信息均可以采用。
作为一种示例,假设目标软件为浏览器,该浏览器支持的扩展功能包括:提供天气信息、支持截图和提供最新的影视信息这三项功能,分别对应“天气”组件、“截图”组件和“追剧”组件,假设浏览器中已加载的组件有两项,即提供天气信息和支持截图的这两项扩展功能对应的组件。假设终端上获取到的目标软件中已加载的组件对应的组件信息和从网络侧获取到的目标软件中可以加载的全部组件对应的最新版本的组件信息如表1所示,表1是本发明实施例提供的其中一种组件信息的示意。
表1
根据表1中记录的组件信息,可知,终端上的目标软件中加载了组件名称为“天气”、版本号为“1.0.0.0”的组件,及组件名称为“截图”、版本号为“1.1.1.0”的组件。该目标软件中可以加载的最新版本的组件有:组件名称为“天气”、版本号为“1.0.0.0”的组件、组件名称为“截图”、版本号为“1.1.1.1”的组件和组件名称为“追剧”、版本号为“1.0.10.567”的组件。
针对目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息。由表1可知,终端上加载了标识信息分别为“天气”和“截图”的组件,因此,针对标识信息为“天气”的本地组件,比对终端上加载的该组件的版本信息“1.0.0.0”与网络侧标识信息为“天气”的组件的版本信息“1.0.0.0”;针对标识信息为“截图”的本地组件,比对终端上加载的该组件的版本信息“1.1.1.0”与网络侧标识信息为“截图”的组件的版本信息“1.1.1.1”。
S201b:若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,确定该组件为能够升级的目标组件。
在一种实现方式中,若终端上已加载的组件的版本号低于网络侧与该组件的标识信息相同的组件的版本号,则确定终端上的该组件为可以升级的目标组件,反之,终端上的该组件已经为最新版本的组件,无需升级。例如:假设版本号“1.1.1.0”低于版本号“1.1.1.1”,则根据表1中的数据通过比对可以得出,目标软件中已加载的标识信息为“截图”的组件的版本低于网络侧标识信息为“截图”的组件的版本,从而,可以对目标软件中的“截图”组件进行升级,因此,确定该组件为可以升级的目标组件。相应的,通过比对版本信息可知,目标软件中加载的“天气”组件已为最新版本的组件,无需对该组件进行升级。
S202:提示用户可以对所述目标组件进行升级。
由步骤S201确定可以升级的目标组件后,考虑到用户的需求各异,因此,在本发明实施例中,向用户提示可以进行升级的目标组件,由用户确定是否需要升级,若接收到确认升级的指令,则对目标组件进行升级。具体实现过程中,确定可以升级的目标组件后,可以通过给目标组件添加升级标识的方式向用户提示该组件可以进行升级或者是显示提示对话框的形式进行提示,具体的,本发明实施例不作限制。其中,升级标识可以是图标,例如:指示向上的箭头图标,也可以是文字等标识。从而,通过所添加的升级标识可以使用户更直观地获知目标软件中哪些组件可以升级,进一步的,用户根据实际需要选择需要升级的目标组件进行升级,提升用户体验。
作为一种示例,仍以上述假设为例,并假设已加载的“天气”组件和“截图”组件显示在工具栏中,则给目标组件添加升级标识后的显示效果可以如图2b所示,图2b是图2提供的其中一种升级标识的显示示意图。图2b中,给目标组件添加了升级标识,图2b中该标识的具体表现形式为指示向上的箭头图标。从而,通过对可以升级的目标组件添加升级标识的方式,向用户提示哪些组件可以进行升级。
作为另一种示例,仍以上述假设为例,用户可以选择将已加载的组件是否显示至工具栏上,若是,则将已加载的组件显示在工具栏中;若否,则将已加载的组件仅显示在组件设置界面中,而不显示在工具栏。为方便理解,目标软件中可以加载的全部组件均记载在组件设置界面中,则组件设置界面可以如图2c所示,图2c是图2提供的其中一种组件设置界面的显示示意图。该组件设置界面向用户展示浏览器支持的所有扩展功能对应的组件,包括已在浏览器中加载的组件和未在浏览器中加载的组件。因此,在该组件设置界面中给根据步骤S201所确定的目标组件添加升级标识,如“截图”组件中的指示向上的箭头图标。从而用户可以根据所展示的组件选择可以升级的目标组件,进一步的,用户根据该组件设置界面可以选择需要加载的组件或者是设置已加载的组件显示至工具栏等。值得说明的是,本发明实施例对组件设置界面的具体显示形式并不作任何限制,图2c仅为示例,不能以该特定例子作为限制本发明实施例的依据。
S203:若接收到确认升级的指令,从网络侧获取所述目标组件的升级包文件。
例如:若用户点击带有升级标识的组件,则向终端发出确认升级的指令,终端接收到确认升级的指令后,从网络侧获取该指令所指定的目标组件的升级包文件。
S204:使用所获取到的升级包文件,对所述目标软件中的目标组件进行升级。
在本发明实施例描述的组件升级方法中,根据目标软件中已加载的组件对应的组件信息和网络侧的所述已加载组件对应的最新版本的组件信息,确定已加载的组件中可以升级的目标组件;从网络侧获取目标组件的升级包文件;使用所获取到的升级包文件,对目标软件中可以升级的目标组件进行升级。采用本发明实施例,可以单独对已加载的组件中可以升级的目标组件进行升级,而无需升级整个目标软件,因此,可以提高组件升级的效率。
请参见图3,图3是本发明实施例提供的一种组件升级方法的又一流程示意图,在本发明实施例中,该方法可以包括以下步骤。
S301:从网络侧获取可以加载在所述目标软件中的全部组件对应的最新版本的组件信息,其中,所述组件信息包括标识信息、版本信息和接口信息。
考虑到各组件实现其扩展功能时可能需要调用目标软件提供给这些组件的接口,而实际过程中,目标软件对外提供的接口并不是一成不变的,开发人员为丰富或优化目标软件对外提供的接口,会根据实际需求对目标软件提供的接口进行更新或新增一些新的接口等。通常,在对已有接口进行更新时,需保证向下兼容,即以前发布的接口不受影响。因此,识别目标软件中已加载的组件是不是满足升级要求,不仅跟组件的版本信息相关,而且还需根据该组件需要调用哪些接口以及目标软件的当前版本提供哪些接口的信息有关,本发明实施例中,将该信息描述为接口信息。
例如:假设“组件A”需调用“接口一”和“接口四”这2个接口,终端上当前版本的目标软件向组件提供的接口只有“接口一”、“接口二”和“接口三”这3个接口,则即便根据当前版本的目标软件中已加载的“组件A”对应的版本信息,识别出“组件A”的当前版本低于网络侧“组件A”的最新版本,由于目标软件的当前版本不提供“组件A”需要调用的“接口四”,因此,当前版本的目标软件不兼容“组件A”,“组件A”也不能被确定为可以升级的目标组件。此时,可以提示用户可以对目标软件进行升级。
本发明实施例中,可以是接收到触发事件时,从网络侧获取可以加载在所述目标软件中的全部组件对应的最新版本的组件信息。例如:在配置文件中预先设置好可以加载在目标软件中的全部组件的最新版本的组件信息,该配置文件保存在服务器中。当终端检测到目标软件启动完成后,或者是目标软件在运行过程中每隔预设周期,或者是定期地向服务器获取该配置文件,从而,获取到可以加载在所述目标软件中的全部组件对应的最新版本的组件信息,其中,所述组件信息包括标识信息、版本信息和接口信息。当然,还可以包括其它信息,如最新版本的组件下载地址等,具体的,本发明实施例不作限制。本发明实施例中,标识信息可以是组件名称,也可以是与组件名称唯一对应的标识符或编号等,版本信息可以是组件的版本号,接口信息可以是组件需要调用的接口函数对应的接口标识,也可以是用于指示需要调用的接口函数的其它信息。具体的,本发明实施例不作限制。
在一种实现方式中,可以针对目标软件设计的接口(api)设置接口等级(api_level),一般的,接口等级可以用数字描述,设置接口等级的方式满足只增不减的规律。通常,针对目标软件发布新增的接口,新增的接口可以是一个,也可以是多个,发布接口的同时,相应的设置接口等级。可以理解的,当目标软件发布新的接口时,说明目标软件本身有更新,因此,发布新的接口时,目标软件也相应的对应一个新的版本,每个版本的目标软件向外提供的接口均有相应的接口等级。当然,若目标软件不向组件提供接口,则接口等级可以设置为“0”,相应的,若组件不需要调用目标软件提供的接口,则组件需要调用的接口等级也可以设置为“0”。本发明实施例中,接口信息可以是组件需要的接口等级。
例如:假设目标软件第一次发布的接口包括“Interface1”和“Interface2”这2个接口,则“Interface1”和“Interface2”对应的接口等级为“1”;假设目标软件第二次发布的接口包括“Interface3”、“Interface4”、“Interface5”和“Interface6”这4个接口,则这4个接口对应的接口等级为“2”。由于所设置的接口等级满足向下兼容的特性,因此,可以理解的,接口等级为“2”时,目标软件提供的接口有6个,即“Interface1”~“Interface6”。具体的,本发明实施例不再一一举例说明。为方便理解,请参见表2,表2是本发明实施例提供的一种接口等级的示例。
表2
因此,从表2可以看出,若组件在实现其对应的扩展功能时需要调用目标软件提供的“Interface1”、“Inferface4”和“Interface100”这3个接口,则需要接口等级为“10”的目标软件才能正常加载、运行该组件。
作为一种示例,服务器端保存的配置文件中记录有目标软件中可以加载的全部组件对应的最新版本的组件信息。例如:假设目标软件中可以加载的全部组件共4个,组件名称分别为:“游戏中心”、“追剧”、“截图”、“下载”。示例性地,配置文件中记载的信息可以如代码1所示。
代码1
从而,本发明实施例中,可以从网络侧的服务器端获取该配置文件,从配置文件中读取各组件的组件信息。例如:标识信息可以是组件名称对应的“name”项,也可以是组件标识对应的“id”项,版本信息可以是版本号对应的“version”项,接口信息可以是组件需要调用的接口对应的“required_api_level”项。作为一种示例,本发明实施例中,组件的标识信息以组件名称为例,组件的版本信息以组件的版本号为例,组件的接口信息以需要的接口等级为例。但值得说明的是,并不能以该特例来限制本发明保护的范围。
S302:针对目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧的与该组件的标识信息相同的组件的版本信息。
根据目标软件中已加载的组件对应的组件信息和上述描述的目标软件中可以加载的全部组件对应的组件信息,对目标软件中已加载的组件中的任一组件,分别比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息。
例如:假设本地终端上的目标软件中已加载的组件配置如代码2所示。
代码2
则获取到的目标软件中已加载的组件对应的组件信息和从网络侧获取到的目标软件中可以加载的全部组件对应的最新版本的组件信息可以如表2所示,表2是本发明实施例提供的其中一种组件信息的示意。
表2
从表2可以看出,终端上的目标软件中已加载有“游戏中心”和“追剧”这2个组件,因此,还可以在该软件中加载“截图”和“下载”这2个组件。本地组件中的“游戏中心”的版本信息为“0.0.1.231”,本地组件中的“追剧”的版本信息为“1.0.10.500”,网络侧组件中的“游戏中心”的版本信息为“0.0.1.234”,网络侧组件中的“追剧”的版本信息为“1.0.10.567”。针对组件“游戏中心”和“追剧”,分别比对其在本地中加载的组件的版本信息与其在网络侧中该组件的标识信息相同的组件的版本信息。例如:针对“游戏中心”这个组件,本地的当前版本为0.0.1.231,网络侧的最新版本为0.0.1.234,可知,本地组件的当前版本低于网络侧与该组件的标识信息相同的组件对应的最新版本;针对“追剧”这个组件,本地的当前版本为1.0.10.500,网络侧的最新版本为1.0.10.567,可知,本地组件的当前版本低于网络侧与该组件的标识信息相同的组件对应的最新版本。从而,通过比对目标软件中已加载的组件的版本信息与网络侧与该组件的标识信息相同的组件的版本信息,获知已加载的组件的当前版本是否低于网络侧与该组件的标识信息相同的组件对应的最新版本。
S303:若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,比对所述目标软件的接口信息和所述网络侧与该组件的标识信息相同的组件的接口信息。
若本地组件的版本信息所指定的版本低于所述网络侧与该组件的标识信息相同的组件的版本信息所指定的版本,则进一步的,比对目标软件提供给组件调用的接口对应的接口信息和网络侧的与该组件的标识信息相同的组件的接口信息,从而,识别当前版本的目标软件提供的接口是否支持该组件,获知目标软件的当前版本是不是兼容最新版本的组件,若兼容,则可以将本地的该组件确定为可以升级的目标组件;若不兼容,说明目标软件的当前版本过低,则可以对目标软件本身进行升级,因此,提示用户可以对目标软件进行升级。其中,接口信息可以是组件需要调用的接口函数对应的接口标识,也可以是用于指示需要调用的接口函数的其它信息,如接口等级。
在一种实现方式中,接口信息包括接口等级,则通过比对目标软件的接口信息和网络侧的与本地组件的标识信息相同的组件的接口信息,可以获知:
若目标软件的接口信息中的接口等级低于网络侧与本地组件的标识信息相同的组件的接口信息中的接口等级,则说明目标软件提供的接口不支持网络侧与本地组件的标识信息相同的组件;
若目标软件的接口信息中的接口等级不低于网络侧与本地组件的标识信息相同的组件的接口信息中的接口等级,则说明目标软件提供的接口支持网络侧与本地组件的标识信息相同的组件。
例如:假设当前版本的目标软件对外提供的接口等级为“8”,根据表2中的数据可知最新版本的“游戏中心”需要的接口等级为“10”,可知,当前版本的目标软件的接口等级低于网络侧与本地组件的标识信息相同的组件的接口等级,因此,当前版本的目标软件不支持最新版本的“游戏中心”这个组件,于是,无需更新“游戏中心”,否则,即便更新了也将导致更新后的组件无法使用;相应的,根据表2中的数据可知最新版本的“追剧”需要的接口等级为“1”,可知,目标软件的接口等级不低于网络侧与本地组件的标识信息相同的组件的接口等级,因此,当前版本的目标软件支持最新版本的“追剧”这个组件。
本发明实施例中,若本地组件的版本信息所指定的版本低于网络侧与该组件的标识信息相同的组件的版本信息所指定的版本,比对目标软件提供的接口信息和网络侧与该组件的标识信息相同的组件的接口信息,若当前版本的目标软件支持网络侧与本地组件的标识信息相同的组件,执行步骤S304;若不支持,执行步骤S307。
S304:若所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件,确定该组件为能够升级的目标组件。
例如:假设根据目标软件的接口信息获知目标软件提供的接口有“接口一”、“接口二”和“接口三”,网络侧与本地组件的标识信息相同的组件需要调用目标软件的“接口一”和“接口三”,由于当前版本的目标软件向外提供需要调用的“接口一”和“接口三”这2个接口,因此,说明目标软件提供的接口支持网络侧与本地组件的标识信息相同的组件,则确定本地组件中的该组件为可以升级的目标组件。
S305:从网络侧获取所述目标组件的升级包文件。
例如:从表2中的数据获得可以对“追剧”组件进行升级,根据配置文件中记载的网址信息,终端可以从网址http://www.liebao.cn/lego/tv/1.0.10.567.crx下载“追剧”组件的升级包文件。
可选的,开发人员在打包组件的数据包文件或者是升级包文件时,可以对组件进行签名,因此,终端从网络侧获取组件的数据文件后,可以对所获取到的数据文件进行有效性验证,如果验证失败,说明所获取到的数据文件不正确,且可能存在安全隐患,提示用户删除所获取到的数据文件;若验证通过,则正常使用该数据文件。相应的,在组件升级过程中,终端与服务器之间的所有网络请求均可以携带密钥,终端接收到服务器发送的请求后,对接收到的请求中携带的密钥进行验证,若验证通过,再响应该请求,从而,提高数据通信的安全性。
S306:使用所获取到的升级包文件,对所述目标软件中的目标组件进行升级。
S307:若所述目标软件提供的接口不支持所述网络侧与该组件的标识信息相同的组件,生成提示信息,以提示该目标软件需要升级。
例如:假设根据目标软件的接口信息获知目标软件提供的接口有“接口一”、“接口二”和“接口三”,网络侧与本地组件的标识信息相同的组件需要调用目标软件的“接口一”和“接口四”,由于当前版本的目标软件不提供需要调用的“接口四”,因此,可以说明目标软件提供的接口不支持网络侧与本地组件的标识信息相同的组件,不能对该组件进行升级。
若所述目标软件提供的接口不支持所述网络侧与该组件的标识信息相同的组件,生成提示信息,例如:提示对话框,该对话框中包含有提示信息,以提示用户对目标软件进行升级。
可选的,输出所述提示信息,以提示该目标软件可以升级。
例如:输出所生成的提示对话框,从而,使用户获知目标软件可以升级。进一步的,若接收到用户针对目标软件输入的确认升级指令,对目标软件进行升级。
可选的,根据目标软件中已加载的组件对应的组件信息和网络侧保存的可以加载在目标软件中的全部组件对应的最新版本的组件信息,推荐可以加载在所述目标软件中的组件。作为一种实现方式,可以是首先根据已加载的组件对应的组件信息中的标识信息,从全部组件中筛选出未加载在目标软件中的这部分组件;然后,根据所筛选出的这部分组件对应的组件信息中的接口信息和目标软件的接口信息,确定可以加载在当前版本的目标软件中的组件,从而,向用户推荐所确定的这部分组件,提示用户可以在目标软件中加载这部分组件。例如:从表2中的数据可知,筛选出未加载在目标软件中的这部分组件为“截图”组件和“下载”组件;进一步的,根据目标软件的接口信息和未加载在目标软件中的这部分组件对应的接口信息,识别出可以加载在当前版本的目标软件中但却没有加载的组件,例如:假设当前版本的目标软件的接口信息中的接口等级为“8”,从表2中的数据可知,“截图”组件需要的接口等级为“9”,“下载”组件的接口等级为“1”,可知,当前版本的目标软件与“截图”组件不兼容,但与“下载”组件兼容,因此,向用户推荐“下载”组件,提示用户可以在当前版本的目标软件中加载“下载”组件。其中,推荐可以加载在所述目标软件中的组件的方式可以是在组件设置界面中凸显出所要推荐的组件,也可以是通过文本信息向用户推荐可以加载在所述目标软件中的组件。
本发明实施例描述的组件升级方法中,根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载组件对应的最新版本的组件信息,确定已加载的组件中可以升级的目标组件;从网络侧获取目标组件的升级包文件;使用所获取到的升级包文件,对目标软件中可以升级的目标组件进行升级。采用本发明实施例,可以单独对已加载的组件中可以升级的目标组件进行升级,而无需升级整个目标软件,因此,可以提高组件升级的效率。
值得说明的是,在上述实施例中,根据所获取到的升级包文件,对所述目标软件中的目标组件进行升级,实质上是指将目标软件中目标组件的数据包文件更新为所获取到的升级包文件。具体的,该更新方法可以如图3a所示,图3a是图3提供的其中一种文件更新方法的流程示意图,该方法包括以下步骤。
S306a:检测所述目标组件是否处于运行状态。
从网络侧获取到目标组件的升级包文件后,检测目标组件是否处于运行状态,若目标组件处于运行状态,则执行步骤S306c;若目标组件未处于运行状态,则执行步骤S306b。
例如:通过预先设置的状态标志位来标识目标组件的运行状态,如用1标识目标组件处于运行状态,用0标识目标组件未处于运行状态,默认情况下,将该状态标志位置为0,当检测到目标组件的启动指令时,将该状态标志位更新为1。本发明实施例中可以获取该状态标志位,根据该状态标志位的具体数值识别出目标组件是否处于运行状态。
S306b:卸载所述目标组件,并使用所获取到的升级包文件,在所述目标软件中加载所述升级包文件。
若目标组件未处于运行状态,卸载目标软件中已加载的目标组件,并根据所获取到的升级包文件,在目标软件中加载升级包文件,从而,加载目标软件对应的最新版本的组件,完成对目标组件的升级。
S306c:识别所述目标组件是否包含可执行文件。
通常,目标组件对应的数据包文件一般为exe可执行文件、dll动态链接文件、脚本文件等。本发明实施例中,若目标组件处于运行状态,则识别目标组件对应的数据包文件中是否包含可执行文件,其中,可执行文件是指文件后缀名为.exe或.dll的文件。若识别出目标组件包含可执行文件,则执行步骤S306d;若目标组件不包含可执行文件,则执行步骤S306e。
S306d:使用所获取到的升级包文件,在所述目标软件的下一次启动过程中更新所述目标软件中的目标组件。
若识别出目标组件包含可执行文件,则不能直接在目标组件的当前运行过程中进行更新,需等待目标软件的下一次启动过程,在目标软件的下一次启动过程中更新目标软件中的目标组件。
S306e:将所述目标软件中的目标组件对应的数据包文件替换为所述升级包文件。
若识别出目标组件不包含可执行文件,则可以直接将升级包文件替换掉目标软件中的目标组件对应的数据包文件,从而,完成对目标组件的升级。
下面为本发明装置实施例,本发明装置实施例与本发明方法实施例属于同一构思,用于执行本发明方法实施例中描述的方法。为了便于说明,本发明装置实施例仅示出与本发明装置实施例相关的部分,具体技术细节未揭示的,请参照本发明方法实施例的描述,此处不再一一赘述。
请参见图4,图4是本发明实施例提供的一种组件升级装置的结构示意图,在本发明实施例中,该装置可以包括:确定模块101、获取模块102和升级模块103。
确定模块101,用于根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中可以升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件。
可选的,所述组件信息包括标识信息和版本信息;
所述确定模块101具体用于:针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,确定该组件为能够升级的目标组件。
可选的,所述组件信息包括标识信息、版本信息以及接口信息,如图5所示,所述确定模块101还包括:
版本比对单元201,用于针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;
信息比对单元202,用于若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息;
升级确定单元203,用于若所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件,确定该组件为能够升级的目标组件。
可选的,所述升级确定单元203还用于:
若所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件,生成提示信息;
输出所述提示信息,以提示该目标软件需要升级。
可选的,所述接口信息包括接口等级,所述信息比对单元202具体用于:
若所述目标软件的接口信息中的接口等级低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件。
若所述目标软件的接口信息中的接口等级不低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件。
获取模块102,用于从网络侧获取所述目标组件的升级包文件。
升级模块103,用于使用所获取到的升级包文件,对所述目标软件中的目标组件进行升级。
可选的,如图6所示,所述升级模块103包括:
检测单元301,用于检测所述目标组件是否处于运行状态。
升级单元302,用于若否,卸载所述目标组件,并使用所述升级包文件,在所述目标软件中加载所述升级包文件。
可选的,如图6所示,所述升级模块103还包括:
识别单元303,用于若所述目标组件处于运行状态,识别所述目标组件是否包含可执行文件。
升级单元301,还用于若是,使用所述升级包文件,在所述目标软件的下一次启动过程中更新所述目标软件中的目标组件。
升级单元302,还用于若否,将所述目标软件中的目标组件对应的数据包文件替换为所述升级包文件。
在本发明实施例描述的组件升级装置中,根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载组件对应的最新版本的组件信息,确定已加载的组件中可以升级的目标组件;从网络侧获取目标组件的升级包文件;使用所获取到的升级包文件,对目标软件中可以升级的目标组件进行升级。采用本发明实施例,可以单独对已加载的组件中可以升级的目标组件进行升级,而无需升级整个目标软件,因此,可以提高组件升级的效率。
请参见图7,图7是本发明实施例提供的一种组件升级装置的又一结构示意图,用于执行本发明实施例公开的组件升级方法,该装置可以包括:至少一个处理器401,例如CPU,至少一个网络接口404或者其他用户接口403,存储器405,至少一个通信总线402。通信总线402用于实现这些组件之间的连接通信。其中,用户接口403可选的可以包括USB接口以及其他标准接口、有线接口。网络接口404可选的可以包括Wi-Fi接口以及其他无线接口。存储器405可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器405可选的可以包含至少一个位于远离前述处理器401的存储装置。如图7所示,作为一种计算机存储介质的存储器405中可以包括操作系统4051及应用程序4052。
在一些实施方式中,存储器405存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统4051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序4052,包含目标网络数据的数据分块参数的设置程序、目标数据块的划分程序、目标数据块与数据库中的数据块的比较程序以及目标数据块的删除程序等各种应用程序,用于实现各种应用业务。
具体地,处理器401用于调用存储器405中存储的程序,执行以下操作:
根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件;
从网络侧获取所述目标组件的升级包文件;
使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定是必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
本领域的技术人员可以将本说明书中描述的不同实施例以及不同实施例的特征进行结合和组合。本发明所有实施例中的模块或单元,可以通过通用集成电路,例如CPU(Central Processing Unit,中央处理器),或通过ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)来实现。
本发明所有实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减;本发明所有实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (11)
1.一种组件升级方法,其特征在于,包括:
根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件;
从网络侧获取所述目标组件的升级包文件;
使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级。
2.如权利要求1所述的方法,其特征在于,所述组件信息包括标识信息和版本信息;
所述根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,包括:
针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;
若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,确定该组件为能够升级的目标组件。
3.如权利要求1所述的方法,其特征在于,所述组件信息包括标识信息、版本信息以及接口信息;
所述根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件包括:
针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;
若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息;
若所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件,确定该组件为能够升级的目标组件。
4.如权利要求3所述的方法,其特征在于,所述比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息之后,所述方法还包括:
若所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件,生成提示信息;
输出所述提示信息,以提示该目标软件需要升级。
5.如权利要求3所述的方法,其特征在于,所述接口信息包括接口等级,所述比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息,包括:
若所述目标软件的接口信息中的接口等级低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口不支持所述网络侧的与该组件的标识信息相同的组件;
若所述目标软件的接口信息中的接口等级不低于所述网络侧的与该组件的标识信息相同的组件的接口信息中的接口等级,则确定所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件。
6.如权利要求1所述的方法,其特征在于,所述使用获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级包括:
检测所述目标组件是否处于运行状态;
若否,卸载所述目标组件,并使用所述升级包文件,在所述目标软件中加载所述升级包文件。
7.如权利要求6所述的方法,其特征在于,所述检测所述目标组件是否处于运行状态之后,所述方法还包括:
若所述目标组件处于运行状态,识别所述目标组件是否包含可执行文件;
若是,使用所述升级包文件,在所述目标软件的下一次启动过程中更新所述目标软件中的目标组件;
若否,将所述目标软件中的目标组件对应的数据包文件替换为所述升级包文件。
8.一种组件升级装置,其特征在于,包括:
确定模块,用于根据目标软件中已加载的组件对应的组件信息和来自网络侧的所述已加载的组件对应的最新版本的组件信息,确定所述已加载的组件中能够升级的目标组件,其中,所述目标组件为组件信息不是最新版本的组件;
获取模块,用于从网络侧获取所述目标组件的升级包文件;
升级模块,用于使用所获取到的所述升级包文件,对所述目标软件中的所述目标组件进行升级。
9.如权利要求8所述的装置,其特征在于,所述组件信息包括标识信息和版本信息;
所述确定模块具体用于:针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,确定该组件为能够升级的目标组件。
10.如权利要求8所述的装置,其特征在于,所述组件信息包括标识信息、版本信息以及接口信息;
所述确定模块包括:
版本比对单元,用于针对所述目标软件中已加载的组件中的任一组件,比对该组件的版本信息与所述网络侧与该组件的标识信息相同的组件的版本信息;
信息比对单元,用于若该组件的版本信息所指定的版本低于所述网络侧的与该组件的标识信息相同的组件的版本信息所指定的版本,比对所述目标软件的接口信息和所述网络侧的与该组件的标识信息相同的组件的接口信息;
升级确定单元,用于若所述目标软件提供的接口支持所述网络侧的与该组件的标识信息相同的组件,确定该组件为能够升级的目标组件。
11.一种终端,其特征在于,包括如权利要求8-10任一项所述的组件升级装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510228074.5A CN104866341B (zh) | 2015-05-07 | 2015-05-07 | 一种组件升级方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510228074.5A CN104866341B (zh) | 2015-05-07 | 2015-05-07 | 一种组件升级方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104866341A true CN104866341A (zh) | 2015-08-26 |
CN104866341B CN104866341B (zh) | 2018-10-09 |
Family
ID=53912190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510228074.5A Active CN104866341B (zh) | 2015-05-07 | 2015-05-07 | 一种组件升级方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866341B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302615A (zh) * | 2015-11-24 | 2016-02-03 | 小米科技有限责任公司 | 软件升级方法与装置 |
CN105389172A (zh) * | 2015-12-07 | 2016-03-09 | 深圳市金锐显数码科技有限公司 | 应用程序升级方法和装置 |
CN105487905A (zh) * | 2015-11-27 | 2016-04-13 | 东软集团股份有限公司 | 一种混合应用的更新方法和装置 |
CN106155742A (zh) * | 2016-06-30 | 2016-11-23 | 百度在线网络技术(北京)有限公司 | 组件更新处理方法及装置 |
CN106250548A (zh) * | 2016-08-12 | 2016-12-21 | 福建中金在线信息科技有限公司 | 一种代码更新方法 |
CN106528191A (zh) * | 2015-09-14 | 2017-03-22 | 百度在线网络技术(北京)有限公司 | 工具安卓应用程序包运行方法及装置、客户端、设备 |
CN106528204A (zh) * | 2016-10-12 | 2017-03-22 | 杭州华为数字技术有限公司 | 用于升级系统的方法和装置 |
CN106610839A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
CN107205057A (zh) * | 2017-08-02 | 2017-09-26 | 无锡江南影视传播有限公司 | 一种游戏资源更新方法、装置及客户端 |
CN107315602A (zh) * | 2017-05-12 | 2017-11-03 | 广东网金控股股份有限公司 | 一种应用程序的升级方法及终端 |
CN108062228A (zh) * | 2017-12-11 | 2018-05-22 | 深圳市买买提信息科技有限公司 | 一种文件处理方法及其装置 |
CN108111330A (zh) * | 2017-11-06 | 2018-06-01 | 北京趣拿软件科技有限公司 | 更新数据包的获取、应用程序组件的更新方法及装置 |
CN108197659A (zh) * | 2018-01-15 | 2018-06-22 | 北京陌上花科技有限公司 | 视频图像识别模型的升级方法及装置 |
CN108287726A (zh) * | 2017-03-03 | 2018-07-17 | 广州市动景计算机科技有限公司 | 扩展的更新检测方法、装置及服务终端 |
CN108733589A (zh) * | 2018-04-12 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 分布式事务热部署的实现方法和装置 |
CN109408232A (zh) * | 2018-10-17 | 2019-03-01 | 山东易通发展集团有限公司 | 一种基于交易流程的组件化总线调用执行系统 |
CN109408081A (zh) * | 2017-08-17 | 2019-03-01 | 佳能企业股份有限公司 | 数据传输方法及通讯系统 |
CN110070176A (zh) * | 2019-04-18 | 2019-07-30 | 北京中科寒武纪科技有限公司 | 离线模型的处理方法、离线模型的处理装置及相关产品 |
CN110377305A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 一种应用软件升级方法、终端、系统 |
CN112416384A (zh) * | 2020-06-11 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 软件升级方法、装置及计算机设备 |
CN112783542A (zh) * | 2021-02-04 | 2021-05-11 | 华东交通大学 | 软件升级方法、装置及可读存储介质 |
WO2022226938A1 (zh) * | 2021-04-29 | 2022-11-03 | 华为技术有限公司 | 软件升级方法和相关产品 |
US11983535B2 (en) | 2019-03-22 | 2024-05-14 | Cambricon Technologies Corporation Limited | Artificial intelligence computing device and related product |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8615751B2 (en) * | 2007-02-28 | 2013-12-24 | Oracle International Corporation | Seeding product information |
CN104008060A (zh) * | 2014-06-18 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 插件与宿主兼容性的检测方法及检测服务器 |
CN104216749A (zh) * | 2014-09-10 | 2014-12-17 | 广州金山网络科技有限公司 | 一种应用程序的更新方法及装置 |
-
2015
- 2015-05-07 CN CN201510228074.5A patent/CN104866341B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8615751B2 (en) * | 2007-02-28 | 2013-12-24 | Oracle International Corporation | Seeding product information |
CN104008060A (zh) * | 2014-06-18 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 插件与宿主兼容性的检测方法及检测服务器 |
CN104216749A (zh) * | 2014-09-10 | 2014-12-17 | 广州金山网络科技有限公司 | 一种应用程序的更新方法及装置 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528191A (zh) * | 2015-09-14 | 2017-03-22 | 百度在线网络技术(北京)有限公司 | 工具安卓应用程序包运行方法及装置、客户端、设备 |
CN106610839A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
CN105302615B (zh) * | 2015-11-24 | 2019-08-06 | 小米科技有限责任公司 | 软件升级方法与装置 |
CN105302615A (zh) * | 2015-11-24 | 2016-02-03 | 小米科技有限责任公司 | 软件升级方法与装置 |
CN105487905A (zh) * | 2015-11-27 | 2016-04-13 | 东软集团股份有限公司 | 一种混合应用的更新方法和装置 |
CN105389172B (zh) * | 2015-12-07 | 2018-09-14 | 深圳市金锐显数码科技有限公司 | 应用程序升级方法和装置 |
CN105389172A (zh) * | 2015-12-07 | 2016-03-09 | 深圳市金锐显数码科技有限公司 | 应用程序升级方法和装置 |
CN106155742B (zh) * | 2016-06-30 | 2019-08-27 | 百度在线网络技术(北京)有限公司 | 组件更新处理方法及装置 |
CN106155742A (zh) * | 2016-06-30 | 2016-11-23 | 百度在线网络技术(北京)有限公司 | 组件更新处理方法及装置 |
CN106250548A (zh) * | 2016-08-12 | 2016-12-21 | 福建中金在线信息科技有限公司 | 一种代码更新方法 |
CN106528204A (zh) * | 2016-10-12 | 2017-03-22 | 杭州华为数字技术有限公司 | 用于升级系统的方法和装置 |
CN108287726A (zh) * | 2017-03-03 | 2018-07-17 | 广州市动景计算机科技有限公司 | 扩展的更新检测方法、装置及服务终端 |
CN107315602A (zh) * | 2017-05-12 | 2017-11-03 | 广东网金控股股份有限公司 | 一种应用程序的升级方法及终端 |
CN107205057A (zh) * | 2017-08-02 | 2017-09-26 | 无锡江南影视传播有限公司 | 一种游戏资源更新方法、装置及客户端 |
CN109408081A (zh) * | 2017-08-17 | 2019-03-01 | 佳能企业股份有限公司 | 数据传输方法及通讯系统 |
CN108111330A (zh) * | 2017-11-06 | 2018-06-01 | 北京趣拿软件科技有限公司 | 更新数据包的获取、应用程序组件的更新方法及装置 |
CN108062228A (zh) * | 2017-12-11 | 2018-05-22 | 深圳市买买提信息科技有限公司 | 一种文件处理方法及其装置 |
CN108197659A (zh) * | 2018-01-15 | 2018-06-22 | 北京陌上花科技有限公司 | 视频图像识别模型的升级方法及装置 |
CN108733589B (zh) * | 2018-04-12 | 2021-11-02 | 创新先进技术有限公司 | 分布式事务热部署的实现方法和装置 |
CN108733589A (zh) * | 2018-04-12 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 分布式事务热部署的实现方法和装置 |
CN109408232A (zh) * | 2018-10-17 | 2019-03-01 | 山东易通发展集团有限公司 | 一种基于交易流程的组件化总线调用执行系统 |
US11983535B2 (en) | 2019-03-22 | 2024-05-14 | Cambricon Technologies Corporation Limited | Artificial intelligence computing device and related product |
CN110070176A (zh) * | 2019-04-18 | 2019-07-30 | 北京中科寒武纪科技有限公司 | 离线模型的处理方法、离线模型的处理装置及相关产品 |
CN110377305A (zh) * | 2019-07-18 | 2019-10-25 | 上海擎感智能科技有限公司 | 一种应用软件升级方法、终端、系统 |
CN110377305B (zh) * | 2019-07-18 | 2024-03-01 | 上海擎感智能科技有限公司 | 一种应用软件升级方法、终端、系统 |
CN112416384A (zh) * | 2020-06-11 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 软件升级方法、装置及计算机设备 |
CN112783542A (zh) * | 2021-02-04 | 2021-05-11 | 华东交通大学 | 软件升级方法、装置及可读存储介质 |
WO2022226938A1 (zh) * | 2021-04-29 | 2022-11-03 | 华为技术有限公司 | 软件升级方法和相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN104866341B (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866341A (zh) | 一种组件升级方法、装置及终端 | |
CN103309709B (zh) | 一种固件升级方法、装置及通信设备 | |
CN104881318A (zh) | 一种接口调用方法、装置及终端 | |
KR20180038539A (ko) | 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN101551753B (zh) | 控制加载插件的装置及方法 | |
US20090300597A1 (en) | Application loading | |
CN104281455A (zh) | 一种接口调用方法、装置及终端 | |
CN107729452B (zh) | 网页加载方法、装置、电子设备及计算机可读存储介质 | |
CN107968841B (zh) | 网络页面的动态路由方法、装置、存储介质及客户端 | |
CN103019767B (zh) | 一种系统升级的方法、装置及机载娱乐系统 | |
CN110598868A (zh) | 一种机器学习模型搭建方法、装置及相关设备 | |
CN104731622B (zh) | 一种应用程序的加载方法、装置和移动终端 | |
CN102135895B (zh) | web系统升级方法及web系统 | |
CN104866743A (zh) | 一种浏览器中接口调用方法以及装置 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN115328759A (zh) | 表单的校验方法及装置 | |
CN113259397B (zh) | 一种执行预案的方法、装置、设备及可读存储介质 | |
CN103379145B (zh) | 信息处理的方法、设备和系统 | |
CN114661375A (zh) | 应用集成方法及装置 | |
CN104598281A (zh) | 用于升级电子设备的系统的方法 | |
CN105739717B (zh) | 信息输入方法和装置 | |
CN117112060A (zh) | 组件库构建方法、装置、电子设备及存储介质 | |
CN103365678A (zh) | 车载系统的更新方法 | |
CN111045695A (zh) | WebLogic中间件部署装置、方法及设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181205 Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Patentee before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |
|
TR01 | Transfer of patent right |