发明内容
本发明实施例提供了一种多产品软件升级方法及终端,可以通过一个升级版本实现多种产品的升级,通用性高,适用于公司所有产品,节省资源,并且降低了开发成本和周期。
第一方面,本发明实施例提供了一种多产品软件升级方法,包括:
终端在开机时获取所述终端对应的产品信息,所述产品信息包括所述终端对应的产品名称;
从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件;
根据所述AP配置文件和所述BP配置文件判断所述BP是否需要升级;
若是,根据所述AP配置文件修改所述BP配置文件;
触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。
结合第一方面,在第一方面的第一种可能的实现方式中,所述AP配置文件包括所述AP硬件配置文件和所述AP软件配置文件,所述BP配置文件包括所述BP硬件配置文件和所述BP软件配置文件;所述根据所述AP配置文件和所述BP配置文件判断所述BP是否需要升级,包括:
判断所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号是否不一致;和/或,
判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致;
所述根据所述AP配置文件修改所述BP配置文件,包括:
将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号;和/或,
将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号;
所述根据修改后的所述BP配置文件对所述BP进行升级,包括:
根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级;和/或,
根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号之后,根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级之前,还包括:
根据所述BP硬件配置文件中的激活信息判断是否需要激活所述BP硬件配置文件;
若是,执行所述根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级的步骤。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述产品信息还包括所述终端对应的运营商类型,所述多产品配置文件集合包括多产品AP软件配置文件集合和多产品BP软件配置文件集合;所述从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件之后,判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致之前,还包括:
获取所述多产品BP软件配置文件集合中各个产品对应的BP软件配置文件;
依次将所述各个产品对应的BP软件配置文件与所述多产品BP软件配置文件集合中的其他产品对应的BP软件配置文件进行逐个对比,并对所述多产品BP软件配置文件集合进行去重;
将去重后的所述多产品BP软件配置文件集合中符合所述运营商类型的多个BP软件配置文件保存在第一存储区域;
获取所述多产品AP软件配置文件集合中各个产品对应的AP软件配置文件,并将所述各个产品对应的AP软件配置文件保存在第二存储区域;
依次将所述第二存储区域中各个产品对应的AP软件配置文件与所述第一存储区域中的多个BP软件配置文件进行逐个对比,并判断所述第一存储区域中是否存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件;
所述判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致,包括:
若所述第一存储区域中存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件,判断所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号是否不一致。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述对所述多产品BP软件配置文件集合进行去重,包括:
判断所述多产品BP软件配置文件集合中是否存在类型相同的多个BP软件配置文件;
若是,保留所述多个BP软件配置文件中软件版本号最大的一个BP软件配置文件,并将所述一个BP软件配置文件以外的其他BP软件配置文件从所述多产品BP软件配置文件集合中删除。
结合第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号之后,根据修改后的所述BP软件配置文件对所述BP的软件进行升级之前,还包括:
根据所述BP软件配置文件中的激活信息判断是否需要激活所述BP软件配置文件;
若是,执行所述根据修改后的所述BP软件配置文件对所述BP的软件进行升级的步骤。
第二方面,本发明实施例提供了一种终端,包括:
第一获取单元,用于在所述终端开机时获取所述终端对应的产品信息,所述产品信息包括所述终端对应的产品名称;
第二获取单元,用于从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件;
升级判断单元,用于根据所述AP配置文件和所述BP配置文件判断所述BP是否需要升级;
修改单元,用于若所述升级判断单元判断出所述BP需要升级,则根据所述AP配置文件修改所述BP配置文件;
升级单元,用于触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。
结合第二方面,在第二方面的第一种可能的实现方式中,所述AP配置文件包括所述AP硬件配置文件和所述AP软件配置文件,所述BP配置文件包括所述BP硬件配置文件和所述BP软件配置文件;所述升级判断单元包括:
硬件配置文件判断单元,用于判断所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号是否不一致;和/或,
软件配置文件判断单元,用于判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致;
所述修改单元包括:
硬件配置文件修改单元,用于若所述硬件配置文件判断单元判断出所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号不一致,则将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号;和/或,
软件配置文件修改单元,用于若所述软件配置文件判断单元判断出所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号不一致,则将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号;
所述升级单元包括:
硬件配置文件升级单元,用于根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级;和/或,
软件配置文件升级单元,用于根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述终端还包括:
硬件配置文件激活判断单元,用于在所述硬件配置文件修改单元将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号之后,根据所述BP硬件配置文件中的激活信息判断是否需要激活所述BP硬件配置文件;
所述硬件配置文件升级单元具体用于若所述硬件配置文件激活判断单元判断出需要激活所述BP配置文件,则根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述产品信息还包括所述终端对应的运营商类型,所述多产品配置文件集合包括多产品AP软件配置文件集合和多产品BP软件配置文件集合;
所述终端还包括:
第三获取单元,用于获取所述多产品BP软件配置文件集合中各个产品对应的BP软件配置文件;
去重单元,用于依次将所述各个产品对应的BP软件配置文件与所述多产品BP软件配置文件集合中的其他产品对应的BP软件配置文件进行逐个对比,并对所述多产品BP软件配置文件集合进行去重;
第一存储单元,用于将去重后的所述多产品BP软件配置文件集合中符合所述运营商类型的多个BP软件配置文件保存在第一存储区域;
第二存储单元,用于获取所述多产品AP软件配置文件集合中各个产品对应的AP软件配置文件,并将所述各个产品对应的AP软件配置文件保存在第二存储区域;
对比单元,用于依次将所述第二存储区域中各个产品对应的AP软件配置文件与所述第一存储区域中的多个BP软件配置文件进行逐个对比,并判断所述第一存储区域中是否存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件;
所述软件配置文件判断单元具体用于:
若所述对比单元对比出所述第一存储区域中存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件,则判断所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号是否不一致。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述去重单元包括:
名称判断单元,用于判断所述多产品BP软件配置文件集合中是否存在类型相同的多个BP软件配置文件;
删除单元,用于若所述名称判断单元判断出所述多产品BP软件配置文件集合中存在类型相同的多个BP软件配置文件,则保留所述多个BP软件配置文件中软件版本号最大的一个BP软件配置文件,并将所述一个BP软件配置文件以外的其他BP软件配置文件从所述多产品BP软件配置文件集合中删除。
结合第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述终端还包括:
软件配置文件激活判断单元,用于在所述软件配置文件修改单元将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号之后,根据所述BP软件配置文件中的激活信息判断是否需要激活所述BP软件配置文件;
所述软件配置文件升级单元具体用于若所述软件配置文件激活判断单元判断出需要激活所述BP软件配置文件,则根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
通过本发明实施例,终端在开机时根据获取到的当前终端的产品信息,从预设的多个产品配置文件集合中获取与当前终端的产品对应的AP配置文件和BP配置文件,并根据获取到的AP配置文件和BP配置文件判断BP是否需要升级,若是,则根据所述AP配置文件修改所述BP配置文件,终端触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。针对不同产品均采用此种升级方式,因此可以通过一个升级版本实现多种产品的升级,通用性高,适用于公司所有产品,节省资源,并且降低了开发成本和周期。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种多产品软件升级方法及终端,可以通过一个升级版本实现多种产品的升级,通用性高,适用于公司所有产品,节省资源,并且降低了开发成本和周期。以下分别进行详细说明。
以下各实施例中的终端可以包括但不限于:手机、PAD(平板电脑)、笔记本电脑、掌上电脑、移动互联网设备(MobileInternetDevice,MID)、智能穿戴式设备(智能手环、智能手表、智能眼镜等)或其他各类终端设备。终端的操作系统,可以包括但不限于:Android系统、塞班系统、Windows系统、IOS(苹果公司开发的移动操作系统)系统等等。Android终端指Android系统的终端,等等。
请参见图1,图1是本发明实施例提供的一种多产品软件升级方法的流程示意图。如图1所示,该多产品软件升级方法包括但不限于以下步骤。
S101、终端在开机时获取所述终端对应的产品信息,所述产品信息包括所述终端对应的产品名称。
本发明实施例中,所述产品信息包括但不限于产品名称和运营商类型,所述产品名称为终端产品名称,例如:手机制造商A生产制造了同一系列的三款手机,分别为产品A1、产品A2和产品A3,则A1、A2、A3为产品名称。所述运营商类型可例如:移动定制版、联通定制版、电信定制版、全网类型等,所述终端对应的操作系统可例如:Android系统、IOS系统等。
具体的,所述终端在本次开机之前(即上一次终端运行时),终端用户已通过网络或本地下载了最新版本的安装包,以通过终端开机完成系统更新。因此,所述终端在本次开机时,通过所述终端的系统属性信息获取所述终端对应的产品信息,所述终端获取到所述产品信息后,可以将所述产品信息保存在本地。
S103、从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件。
本发明实施例中,所述预设的多产品配置文件集合可存储在BP中,所述多产品为同一终端制造商基于相同的开发平台设计的不同终端产品,所述多产品在硬件配置方面差异较小,其差异主要体现在软件设计上,通常是在一些配置参数(例如NV(NovalidateValue,保存在Flash中的一种数据格式)、EFS(EmbeddedFileSystem,保存在Flash中的一种嵌入式文件)等)上有所区别。例如,手机制造商A生产的两款手机均为基于相同高通平台开发的不同Android终端产品,分别为移动定制版和电信定制版,该两款手机只在软件配置参数方面有所差异。所述多产品配置文件集合中存储有各个产品常用的配置参数,并且不同产品的配置参数保存在不同的配置文件中,所述配置文件包括但不限于MBN(ModemBinaryConfiguration,调制解调器二进制配置,保存NV/EFS配置项信息的一种文件格式)文件。对于某个产品来说,其配置文件又可进一步分为AP(ApplicationProcessor,应用芯片)配置文件和BP(BasebandProcessor,基带芯片)配置文件,其中,终端制造商会将开发的终端软件包分为AP和BP两部分,运行在AP上的软件包称为AP包,包括操作系统、用户界面和应用程序等;与BP相关的软件包称为BP包,包括基带调制解调器(basebandmodem)的通信控制软件等。相应地,本发明实施例所描述的升级是指将AP和BP这两个软件包更新到终端上,且AP包在更新时解析AP配置文件,BP包在更新时解析BP配置文件。
具体的,所述终端获取到AP配置文件和BP配置文件后,可构建AP的配置文件的文件路径信息,以及BP的配置文件的文件路径信息,以对AP配置文件和BP配置文件分别进行保存。所述AP配置文件又可进一步分为硬件配置文件(HardwareMBN,HWMBN)和软件配置文件(SoftwareMBN,SWMBN),所述BP配置文件也可进一步分为HWMBN和SWMBN。
S105、根据所述AP配置文件和所述BP配置文件判断所述BP是否需要升级,若是,执行步骤S107;若否,结束本流程。
本发明实施例中,所述终端根据AP配置文件和所述BP配置文件判断所述BP是否需要升级,若判断出所述BP需要进行升级,执行步骤S107。
作为一种可选的实施方式,所述根据AP配置文件和所述BP配置文件判断所述BP是否需要升级具体为:
判断所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号是否不一致;和/或,
判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致。
具体的,当上述两个判断结果至少一个为是时,执行步骤S107。所述AP的HWMBN中包括所述AP的硬件版本号,所述BP的HWMBN中包括所述BP的硬件版本号,所述AP的SWMBN中包括所述AP的软件版本号,所述BP的SWMBN中包括所述BP的软件版本号。若所述BP的HWMBN中的硬件版本号和所述AP的HWMBN中的硬件版本号一致,则表明所述BP当前的硬件版本为最新版本,不需要对所述BP的硬件版本进行升级,若所述BP的HWMBN中的硬件版本号和所述AP的HWMBN中的硬件版本号不一致,则表明所述BP当前的硬件版本不是最新版本,则需要对所述BP的硬件版本进行升级。若所述BP的SWMBN中的软件版本号和所述AP的SWMBN中的软件版本号一致,则表明所述BP当前的软件版本为最新版本,不需要对所述BP的软件版本进行升级,若所述BP的SWMBN中的软件版本号和所述AP的SWMBN中的软件版本号不一致,则表明所述BP当前的软件不是最新版本,则需要对所述BP的软件版本进行升级,其中AP的版本为所述终端在上一次运行时用户下载的最新版本。
S107、根据所述AP配置文件修改所述BP配置文件。
本发明实施例中,若判断出所述BP需要进行升级,则所述终端根据所述AP配置文件修改所述BP配置文件。
作为一种可选的实施方式,所述根据所述AP配置文件修改所述BP配置文件具体为:
将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号;和/或,
将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号。
具体的,若所述终端判断出所述BP的HWMBN中的硬件版本号和所述AP的HWMBN中的硬件版本号不一致,则所述终端将所述BP的HWMBN中的硬件版本号修改为所述AP的HWMBN中的硬件版本号;若所述终端判断出所述BP的SWMBN中的软件版本号和所述AP的SWMBN中的软件版本号不一致,则所述终端将所述BP的SWMBN中的软件版本号修改为所述AP的SWMBN中的软件版本号,以使所述BP的硬件版本和/或软件版本与所述AP的硬件版本和/或软件版本一致。
S109、触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。
本发明实施例中,所述终端根据所述AP的配置文件修改了所述BP的配置文件后,所述终端触发调制解调器重启,加载更新后的所述BP的配置文件,以对所述BP进行升级。
作为一种可选的实施方式,所述根据修改后的所述BP配置文件对所述BP进行升级具体为:
根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级;和/或,
根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
具体的,若所述终端将所述BP的HWMBN中的硬件版本号修改为所述AP的HWMBN中的硬件版本号,则所述终端根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级;若所述终端将所述BP的SWMBN中的软件版本号修改为所述AP的SWMBN中的软件版本号,则所述终端根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
可见,在图1所示的实施例中,终端在开机时根据获取到的当前终端的产品信息,从预设的多个产品配置文件集合中获取与当前终端的产品对应的AP配置文件和BP配置文件,并根据获取到的AP配置文件和BP配置文件判断BP是否需要升级,若是,则根据所述AP配置文件修改所述BP配置文件,终端触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。针对不同产品均采用此种升级方式,因此可以通过一个升级版本实现多种产品的升级,通用性高,适用于公司所有产品,节省资源,并且降低了开发成本和周期。
请参见图2,图2是本发明实施例提供的另一种多产品软件升级方法的流程示意图。如图2所示,该多产品软件升级方法包括但不限于以下步骤。
S201、终端在开机时获取所述终端对应的产品信息,所述产品信息包括所述终端对应的产品名称。
S203、从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件。
S205、判断所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号是否不一致,若是,执行步骤S207;若否,结束本流程。
S207、将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号。
本发明实施例中的S201-S207可参见图1所示实施例的S101-S107,此处不再赘述。
S209、根据所述BP硬件配置文件中的激活信息判断是否需要激活所述BP硬件配置文件,若是,执行步骤S211;若否,结束本流程。
本发明实施例中,当所述终端将所述BP的HWMBN中的硬件版本号修改为所述AP的HWMBN中的硬件版本号之后,所述终端根据所述BP修改前的HWMBN中的激活信息判断是否需要激活所述BP的HWMBN,若是,则执行步骤S211。
S211、触发调制解调器重启,根据修改后的所述BP硬件配置文件对所述BP进行升级。
本发明实施例中,若所述终端判断出需要激活所述BP的HWMBN,则所述终端根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级。
可见,在图2所示的实施例中,终端在开机时根据获取到的当前终端的产品信息,从预设的多个产品配置文件集合中获取与当前终端的产品对应的AP配置文件和BP配置文件,并根据获取到的BP硬件配置文件中的硬件版本号和AP硬件配置文件中的硬件版本号判断BP的硬件版本是否需要升级,若是,则将BP的硬件版本修改为与AP的硬件版本号一致的版本号,终端触发调制解调器重启,根据修改后的所述BP的硬件配置文件对所述BP的硬件进行升级。针对不同产品均采用此种升级方式,因此可以通过一个升级版本实现多种产品的升级,通用性高,适用于公司所有产品,节省资源,并且降低了开发成本和周期。
请参见图3,图3是本发明实施例提供的另一种多产品软件升级方法的流程示意图。如图3所示,该多产品软件升级方法包括但不限于以下步骤。
S301、终端在开机时获取所述终端对应的产品信息,所述产品信息包括所述终端对应的产品名称。
S303、从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件。
本发明实施例中的S301和S303可参见图1所示实施例的S101和S103,此处不再赘述。
S305、获取所述多产品BP软件配置文件集合中各个产品对应的BP软件配置文件。
本发明实施例中,所述多产品配置文件集合包括多产品AP软件配置文件集合和多产品BP软件配置文件集合,所述终端可从预设的多产品配置文件集合中获取到每个产品对应的APSWMBN和BPSWMBN。因此,所述终端可以获取到所述多产品BPSWMBN中每个产品各自对应的BPSWMBN。所述终端获取到每一个产品各自对应的BPSWMBN后,可将每一个产品各自对应的BPSWMBN保存在一个存储区域中,例如,将每一个产品各自对应的BPSWMBN保存在链表A中。
S307、依次将所述各个产品对应的BP软件配置文件与所述多产品BP软件配置文件集合中的其他产品对应的BP软件配置文件进行逐个对比,并对所述多产品BP软件配置文件集合进行去重。
本发明实施例中,所述终端获取到每一个产品各自对应的BPSWMBN后,依次将每一个产品对应的BPSWMBN与所述BP软件配置文件集合中的其他BP对应的SWMBN进行逐个对比,从而对所述多产品BP软件配置文件集合进行去重,以保证所述多产品BP软件配置文件集合中的同一个类型对应的SWMBN只存在一个。
作为一种可选的实施方式,所述对所述多产品BP软件配置文件集合进行去重,包括:
31)判断所述多产品BP软件配置文件集合中是否存在类型相同的多个BP软件配置文件,若是,执行步骤32,若否,结束本流程;
32)保留所述多个BP软件配置文件中软件版本号最大的一个BP软件配置文件,并将所述一个BP软件配置文件以外的其他BP软件配置文件从所述多产品BP软件配置文件集合中删除。
具体的,所述终端判断所述多产品BP软件配置文件集合中是否存在类型相同的多个BP软件配置文件,所述类型包括但不限于:产品名称和运营商类型。例如,若所述多产品BP软件配置文件集合中存在两个产品名称均为A1的SWMBN,则所述终端将两个产品名称均为A1的SWMBN中软件版本号较小的一个删除,保留软件版本号较大的一个,以对所述多产品BP软件配置文件集合进行初始过滤,以保证所述多产品BP软件配置文件集合中每个类型对应的SWMBN只存在一个。
S309、将去重后的所述多产品BP软件配置文件集合中符合所述运营商类型的多个BP软件配置文件保存在第一存储区域。
本发明实施例中,所述终端对所述多产品BP软件配置文件集合进行去重之后,判断终端当前是否为运营商模式,若是,则将所述多产品BP软件配置文件集合中符合当前运营商类型的SWMBN进行保存,将其保存在所述第一存储区域,例如,将其保存在链表B中。其中,所述运营商模式可例如:移动定制模式、联通定制模式、电信定制模式等。因此,所述第一存储区域中保存的SWMBN对应的运营商类型均与所述终端当前的运营商类型相一致。
S311、获取所述多产品AP软件配置文件集合中各个产品对应的AP软件配置文件,并将所述各个产品对应的AP软件配置文件保存在第二存储区域。
本发明实施例中,所述终端可从所述预设的多产品配置文件集合中获取到每个产品对应的APSWMBN和BPSWMBN,因此,所述终端可以获取到所述多产品APSWMBN中每个产品各自对应的APSWMBN。所述终端获取到每一个产品各自对应的APSWMBN后,可将每一个产品各自对应的APSWMBN保存在所属第二存储区域中,例如,将每一个产品各自对应的APSWMBN保存在链表C中。
S313、依次将所述第二存储区域中各个产品对应的AP软件配置文件与所述第一存储区域中的多个BP软件配置文件进行逐个对比,并判断所述第一存储区域中是否存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件,若是,执行步骤S315;若否,结束本流程。
本发明实施例中,所述终端依次将所述第二存储区域中各个产品对应的APSWMBN与所述第一存储区域中的多个BPSWMBN进行逐个对比,并判断所述第一存储区域中是否存在与所述第二存储区域中待比较的APSWMBN的类型一致的BPSWMBN,若是,执行步骤S315。例如,链表B中存储有运营商类型为移动定制版本对应的SWMBN,链表C中也存储有移动定制版本对应的SWMBN,则执行步骤S315。
S315、判断所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号是否不一致,若是,执行步骤S317;若否,结束本流程。
本发明实施例中,若所述第一存储区域中存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件,则判断所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号是否不一致,若不一致,则表明所述BP需要进行软件版本的升级,执行步骤S317;若一致,则表明所述BP当前的软件版本为最新版本,不需要进行软件版本的升级。例如,若链表B中运营商类型为移动定制版本对应的SWMBN的版本号为版本1,链表C中移动定制版本对应的SWMBN的版本号为版本2,则执行步骤S317。
需要说明的是,若用户对终端的运营商模式进行了修改,例如:将移动定制版修改为全网版,则将所述APSWMBN中存在但所述BPSWMBN中不存在的运营商类型对应的SWMBN添加到所述第一存储区域中。则所述终端在对所述BP的软件版本进行升级时,需要加载所述第一存储区域中存储的全部运营商类型对应的SWMBN。
S317、将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号。
本发明实施例中,若所述终端判断出所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号不一致,则所述终端将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号,以使所述BP的软件版本更新为所述AP对应的最新软件版本。
S319、触发调制解调器重启,根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
本发明实施例中,若所述终端将所述BP的SWMBN中的软件版本号修改为所述AP的SWMBN中的软件版本号,则所述终端根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
可见,在图3所示的实施例中,终端在开机时根据获取到的当前终端的产品信息,从预设的多个产品配置文件集合中获取与当前终端的产品对应的AP配置文件和BP配置文件,并根据获取到的BP软件配置文件中的软件版本号和AP软件配置文件中的软件版本号判断BP的软件版本是否需要升级,若是,则将BP的软件版本修改为与AP的软件版本号一致的版本号,终端触发调制解调器重启,根据修改后的所述BP的软件配置文件对所述BP的软件进行升级。针对不同产品均采用此种升级方式,因此可以通过一个升级版本实现多种产品的升级,通用性高,适用于公司所有产品,节省资源,并且降低了开发成本和周期。
请参见图4,图4是本发明实施例提供的另一种多产品软件升级方法的流程示意图。如图4所示,该多产品软件升级方法包括但不限于以下步骤。
S401、终端在开机时获取所述终端对应的产品信息,所述产品信息包括所述终端对应的产品名称。
S403、从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件。
S405、获取所述多产品BP软件配置文件集合中各个产品对应的BP软件配置文件。
S407、依次将所述各个产品对应的BP软件配置文件与所述多产品BP软件配置文件集合中的其他产品对应的BP软件配置文件进行逐个对比,并对所述多产品BP软件配置文件集合进行去重。
S409、将去重后的所述多产品BP软件配置文件集合中符合所述运营商类型的多个BP软件配置文件保存在第一存储区域。
S411、获取所述多产品AP软件配置文件集合中各个产品对应的AP软件配置文件,并将所述各个产品对应的AP软件配置文件保存在第二存储区域。
S413、依次将所述第二存储区域中各个产品对应的AP软件配置文件与所述第一存储区域中的多个BP软件配置文件进行逐个对比,并判断所述第一存储区域中是否存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件,若是,执行步骤S415;若否,结束本流程。
S415、判断所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号是否不一致,若是,执行步骤S417;若否,结束本流程。
S417、将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号。
本发明实施例中的S401-S417可参见图3所示实施例的S301-S317,此处不再赘述。
S419、根据所述BP软件配置文件中的激活信息判断是否需要激活所述BP软件配置文件,若是,执行步骤S421;若否,结束本流程。
本发明实施例中,当所述终端将所述BP的SWMBN中的软件版本号修改为所述AP的SWMBN中的软件版本号之后,所述终端根据所述BP修改前的SWMBN中的激活信息判断是否需要激活所述BP的SWMBN,若是,则执行步骤S421。
S421、触发调制解调器重启,根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
本发明实施例中,若所述终端判断出需要激活所述BP的SWMBN,则所述终端根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关终端。
请参见图5,图5是本发明实施例提供的一种终端的结构示意图。如图5所示,该终端50可以包括:第一获取单元501、第二获取单元503、升级判断单元505、修改单元507和升级单元509,其中,
第一获取单元501,用于在所述终端50开机时获取所述终端50对应的产品信息,所述产品信息包括所述终端50对应的产品名称;
第二获取单元503,用于从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件;
升级判断单元505,用于根据所述AP配置文件和所述BP配置文件判断所述BP是否需要升级;
修改单元507,用于若所述升级判断单元505判断出所述BP需要升级,则根据所述AP配置文件修改所述BP配置文件;
升级单元509,用于触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。
可理解的是,本实施例的终端50的各功能单元的功能可根据上述图1方法实施例的方法具体实现,此处不再赘述。
请一并参见图6,图6是本发明实施例提供的另一种终端的结构示意图。其中,图6所示的终端50是由图5所示的终端50进行优化得到的。与图5相比,图6所示的终端50中的升级判断单元505包括:
硬件配置文件判断单元5051,用于判断所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号是否不一致;和/或,
软件配置文件判断单元5053,用于判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致;
所述修改单元507包括:
硬件配置文件修改单元5071,用于若所述硬件配置文件判断单元5051判断出所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号不一致,则将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号;和/或,
软件配置文件修改单元5073,用于若所述软件配置文件判断单元5053判断出所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号不一致,则将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号;
所述升级单元509包括:
硬件配置文件升级单元5091,用于根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级;和/或,
软件配置文件升级单元5093,用于根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
需要说明的是,图6是以升级判断单元505包括硬件配置文件判断单元5051和软件配置文件判断单元5053,修改单元507包括硬件配置文件修改单元5071和软件配置文件修改单元5073,升级单元509包括硬件配置文件升级单元5091和软件配置文件升级单元5093为例进行的说明。
可理解的是,本实施例的终端50的各功能单元的功能可根据上述图1方法实施例的方法具体实现,此处不再赘述。
请一并参见图7,图7是本发明实施例提供的另一种终端的结构示意图。其中,图7所示的终端50是由图6所示的终端50进行优化得到的。与图6相比,图7所示的终端50包括第一获取单元501、第二获取单元503、硬件配置文件判断单元5051、硬件配置文件修改单元5071和硬件配置文件升级单元5091外,还包括:
硬件配置文件激活判断单元511,用于在所述硬件配置文件修改单元5071将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号之后,根据所述BP硬件配置文件中的激活信息判断是否需要激活所述BP硬件配置文件;
所述硬件配置文件升级单元5091具体用于若所述硬件配置文件激活判断单元511判断出需要激活所述BP配置文件,则根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级。
可理解的是,本实施例的终端50的各功能单元的功能可根据上述图2方法实施例的方法具体实现,此处不再赘述。
请一并参见图8,图8是本发明实施例提供的另一种终端的结构示意图。其中,图8所示的终端50是由图6所示的终端50进行优化得到的。与图6相比,图8所示的终端50包括第一获取单元501、第二获取单元503、软件配置文件判断单元5053、软件配置文件修改单元5073和软件配置文件升级单元5093外,还包括:第三获取单元513、去重单元515、第一存储单元517、第二存储单元519和对比单元511,其中,
第三获取单元513,用于获取所述多产品BP软件配置文件集合中各个产品对应的BP软件配置文件;
去重单元515,用于依次将所述各个产品对应的BP软件配置文件与所述多产品BP软件配置文件集合中的其他产品对应的BP软件配置文件进行逐个对比,并对所述多产品BP软件配置文件集合进行去重;
第一存储单元517,用于将去重后的所述多产品BP软件配置文件集合中符合所述运营商类型的多个BP软件配置文件保存在第一存储区域;
第二存储单元519,用于获取所述多产品AP软件配置文件集合中各个产品对应的AP软件配置文件,并将所述各个产品对应的AP软件配置文件保存在第二存储区域;
对比单元521,用于依次将所述第二存储区域中各个产品对应的AP软件配置文件与所述第一存储区域中的多个BP软件配置文件进行逐个对比,并判断所述第一存储区域中是否存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件;
所述软件配置文件判断单元5053具体用于:
若所述对比单元521对比出所述第一存储区域中存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件,则判断所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号是否不一致。
作为一种可选的实施方式,去重单元515包括:
名称判断单元,用于判断所述多产品BP软件配置文件集合中是否存在类型相同的多个BP软件配置文件;
删除单元,用于若所述名称判断单元判断出所述多产品BP软件配置文件集合中存在类型相同的多个BP软件配置文件,则保留所述多个BP软件配置文件中软件版本号最大的一个BP软件配置文件,并将所述一个BP软件配置文件以外的其他BP软件配置文件从所述多产品BP软件配置文件集合中删除。
可理解的是,本实施例的终端50的各功能单元的功能可根据上述图3方法实施例的方法具体实现,此处不再赘述。
请一并参见图9,图9是本发明实施例提供的另一种终端的结构示意图。其中,图9所示的终端50是由图8所示的终端50进行优化得到的。与图8相比,图9所示的终端50包括第一获取单元501、第二获取单元503、软件配置文件判断单元5053、软件配置文件修改单元5073、软件配置文件升级单元5093、第三获取单元513、去重单元515、第一存储单元517、第二存储单元519和对比单元511外,还包括:
软件配置文件激活判断单元523,用于在所述软件配置文件修改单元5053将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号之后,根据所述BP软件配置文件中的激活信息判断是否需要激活所述BP软件配置文件;
所述软件配置文件升级单元5093具体用于若所述软件配置文件激活判断单元523判断出需要激活所述BP软件配置文件,则根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
可理解的是,本实施例的终端50的各功能单元的功能可根据上述图4方法实施例的方法具体实现,此处不再赘述。
请参见图10,是本发明提供的另一种终端的结构示意图。其中,如图10所示,终端100可以包括:至少一个处理器1001,例如CPU,至少一个总线1002,至少一个输入装置1003和至少一个输出装置1004,存储器1005。其中,总线1002用于实现这些组件之间的通信连接;输入装置1003具体可为终端的触控面板,包括触摸屏和触控屏,用于检测终端触控面板上的操作指令;输出装置1004可以包括终端的显示屏(Display),用于输出、显示图像或者数据;存储器1005可以是高速RAM显示器,也可以是非不稳定的显示器(non-volatilememory),例如至少一个磁盘显示器,存储器1005可选的还可以是至少一个位于远离前述处理器1001的显示装置。如图10所示,作为一种计算机显示介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多产品软件升级程序。
在图10所示的终端100中,处理器1001可以用于运行存储器1005中存储的多产品软件升级程序,并执行以下操作:
终端100在开机时获取所述终端100对应的产品信息,所述产品信息包括所述终端100对应的产品名称;
从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件;
根据所述AP配置文件和所述BP配置文件判断所述BP是否需要升级;
若是,根据所述AP配置文件修改所述BP配置文件;
触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。
进一步的,所述AP配置文件包括所述AP硬件配置文件和所述AP软件配置文件,所述BP配置文件包括所述BP硬件配置文件和所述BP软件配置文件;处理器1001根据所述AP配置文件和所述BP配置文件判断所述BP是否需要升级具体为:
判断所述BP硬件配置文件中的硬件版本号和所述AP硬件配置文件中的硬件版本号是否不一致;和/或,
判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致;
处理器1001根据所述AP配置文件修改所述BP配置文件具体为:
将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号;和/或,
将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号;
处理器1001根据修改后的所述BP配置文件对所述BP进行升级具体为:
根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级;和/或,
根据修改后的所述BP软件配置文件对所述BP的软件进行升级。
更进一步的,处理器1001将所述BP硬件配置文件中的硬件版本号修改为所述AP硬件配置文件中的硬件版本号之后,根据修改后的所述BP硬件配置文件对所述BP进行升级之前,还执行:
根据所述BP硬件配置文件中的激活信息判断是否需要激活所述BP硬件配置文件;
若是,执行所述根据修改后的所述BP硬件配置文件对所述BP的硬件进行升级的步骤。
更进一步的,所述产品信息还包括所述终端的运营商类型,所述多产品配置文件集合包括多产品AP软件配置文件集合和多产品BP软件配置文件集合;处理器1001从预设的多产品配置文件集合中获取所述产品名称对应的应用芯片AP配置文件和基带芯片BP配置文件之后,判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致之前,还执行:
获取所述多产品BP软件配置文件集合中各个产品对应的BP软件配置文件;
依次将所述各个产品对应的BP软件配置文件与所述多产品BP软件配置文件集合中的其他产品对应的BP软件配置文件进行逐个对比,并对所述多产品BP软件配置文件集合进行去重;
将去重后的所述多产品BP软件配置文件集合中符合所述运营商类型的多个BP软件配置文件保存在第一存储区域;
获取所述多产品AP软件配置文件集合中各个产品对应的AP软件配置文件,并将所述各个产品对应的AP软件配置文件保存在第二存储区域;
依次将所述第二存储区域中各个产品对应的AP软件配置文件与所述第一存储区域中的多个BP软件配置文件进行逐个对比,并判断所述第一存储区域中是否存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件;
处理器1001判断所述BP软件配置文件中的软件版本号和所述AP软件配置文件中的软件版本号是否不一致具体为:
若所述第一存储区域中存在与所述第二存储区域中待比较的AP软件配置文件的类型一致的BP软件配置文件,判断所述待比较的AP软件配置文件的软件版本号与所述BP软件配置文件的软件版本号是否不一致。
更进一步的,处理器1001对所述多产品BP软件配置文件集合进行去重具体为:
判断所述多产品BP软件配置文件集合中是否存在类型相同的多个BP软件配置文件;
若是,保留所述多个BP软件配置文件中软件版本号最大的一个BP软件配置文件,并将所述一个BP软件配置文件以外的其他BP软件配置文件从所述多产品BP软件配置文件集合中删除。
更进一步的,处理器1001将所述BP软件配置文件中的软件版本号修改为所述AP软件配置文件中的软件版本号之后,根据修改后的所述BP软件配置文件对所述BP进行升级之前,还执行:
根据所述BP软件配置文件中的激活信息判断是否需要激活所述BP软件配置文件;
若是,执行所述根据修改后的所述BP软件配置文件对所述BP的软件进行升级的步骤。
可理解的是,处理器1001的执行步骤具体可参见图1或图2或图3或图4实施例所述的内容,这里不再赘述。
综上所述,通过实施本发明实施例,终端在开机时根据获取到的当前终端的产品信息,从预设的多个产品配置文件集合中获取与当前终端的产品对应的AP配置文件和BP配置文件,并根据获取到的AP配置文件和BP配置文件判断BP是否需要升级,若是,则根据所述AP配置文件修改所述BP配置文件,终端触发调制解调器重启,根据修改后的所述BP配置文件对所述BP进行升级。针对不同产品均采用此种软件升级方式,因此可以通过一个升级版本实现多种产品的升级,通用性高,适用于公司所有产品,节省资源,并且降低了开发成本和周期。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。