掌桥专利:专业的专利平台
掌桥专利
首页

一种OTA升级方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:44:10


一种OTA升级方法、装置、电子设备及存储介质

技术领域

本发明涉及无线通信技术领域,特别是涉及一种OTA升级方法、装置、电子设备及存储介质。

背景技术

OTA(Over the Air Technology,空间下载技术)是通过移动通信的空中接口对终端设备的数据及应用进行远程管理的技术。OTA升级是终端设备通过无线网络下载远程服务器上的升级包,进而使用升级包对终端设备的系统进行升级。由于进行OTA升级后的系统可以修复升级前系统的漏洞、优化系统,因此,终端设备多选择进行OTA升级。

目前,OTA升级的应用场景很复杂,例如,在夜间提供服务的终端设备不能在夜间进行OTA升级,而应用于商场的终端设备有可能在夜间进行OTA升级。针对复杂的应用场景,现有的OTA升级方案主要是针对不同场景,设计对应的OTA升级方案,一种OTA升级方案通常只适用于一种应用场景。

因而,现有的OTA升级方案无法满足终端设备的各硬件模块多样化的升级场景,导致用户使用不够便利,用户升级体验较差。

发明内容

本发明实施例的目的在于提供一种OTA升级方法,以实现可以针对终端设备的各硬件模块自动进行适配的OTA升级,提高用户升级体验。

为达到上述目的,本发明实施例提供了一种OTA升级方法,应用于终端设备,所述终端设备包括多个硬件模块,且所述终端设备中安装有各硬件模块的程序,所述方法包括:

接收服务器发送的OTA升级包,所述OTA升级包中包含表示需要升级的硬件模块的程序的配置信息,以及需要升级的硬件模块的程序的升级包;

基于所述配置信息,从所述多个硬件模块的程序中,确定待升级程序;

使用所述OTA升级包中待升级程序对应的升级包,对所述待升级程序进行升级。

可选的,针对每个所述硬件模块的程序设置有第一升级配置信息,所述第一升级配置信息表示是否允许所述硬件模块的程序升级;

基于所述配置信息,从所述多个硬件模块的程序中,确定需要升级的各硬件模块的程序,作为待升级程序,包括:

基于所述配置信息,从所述多个硬件模块的程序中,确定需要升级的各硬件模块的程序;以及

基于所述第一升级配置信息,从需要升级的各硬件模块的程序中选择允许升级的硬件模块的程序确定为所述待升级程序。

可选的,采用如下步骤,确定所述第一升级配置信息:

针对每个所述硬件模块的程序,若该硬件模块的程序对应的所述允许升级选项被选中,确定该硬件模块的程序的第一升级配置信息表示允许该硬件模块的程序升级;或者若该硬件模块的程序对应的不允许升级选项被选中,确定该硬件模块的程序的第一升级配置信息表示不允许该硬件模块的程序升级。

可选的,针对所述终端设备预先设置有第二升级配置信息,所述第二升级配置信息表示允许所述终端设备使用的OTA升级方案;

所述使用所述OTA升级包中待升级程序的升级包,对所述待升级程序进行升级,包括:

当允许所述终端设备使用的该OTA升级方案的升级条件被触发时,按照该OTA升级方案,使用所述OTA升级包中所述待升级程序的升级包,对所述待升级程序进行升级。

可选的,其特征在于,针对每个所述硬件模块的程序预先设置有第三升级配置信息,所述第三升级配置信息表示针对所述硬件模块的程序允许使用的OTA升级方案;

所述使用所述OTA升级包中待升级程序的升级包,对所述待升级程序进行升级,包括:

针对每个所述待升级程序,当针对该待升级程序允许使用的OTA升级方案的升级条件被触发时,按照该OTA升级方案,使用所述OTA升级包中该待升级程序的升级包,对该待升级程序进行升级。

可选的,允许使用的OTA升级方案至少包括如下升级方案之一:

开机自动升级方案,其中,所述终端设备从未开机变为开机后触发所述开机自动升级方案;

恢复出厂设置后升级方案,其中,所述终端设备被恢复出厂设置后触发所述恢复出厂设置后升级方案;

设定时间段升级方案,其中,监测到当前时间在预设时间段内时触发所述设定时间段升级方案。

可选的,采用如下步骤,确定所述第二升级配置信息:

针对能够使用的每种OTA升级方案,若该OTA升级方案对应的允许升级选项被选中,确定第二升级配置信息表示允许所述终端设备使用该OTA升级方案;或者若该OTA升级方案对应的不允许升级选项被选中,确定第二升级配置信息表示不允许所述终端设备使用该OTA升级方案。

可选的,采用如下步骤,针对每个所述硬件模块的程序,确定该程序的所述第三升级配置信息:

针对能够使用的每种OTA升级方案,若该OTA升级方案对应的允许升级选项被选中,确定该硬件模块的程序的第三升级配置信息表示针对该硬件模块的程序允许使用该OTA升级方案;或者若该OTA升级方案对应的不允许升级选项被选中,确定该硬件模块的程序的第三升级配置信息表示针对该硬件模块的程序不允许使用该OTA升级方案。

可选的,针对所述终端设备预先设置有第二升级配置信息,所述第二升级配置信息表示允许所述终端设备使用的OTA升级方案;

在所述接收服务器发送的OTA升级包之前,还包括:

接收服务器发送的新版本信息,所述新版本信息表示存在能够升级的硬件模块的程序;

当所述新版本信息中携带升级类型信息,且所述升级类型信息表示的OTA升级方案为允许所述终端设备使用的OTA升级方案时,向所述服务器请求下载OTA升级包;

所述使用所述OTA升级包中待升级程序的升级包,对所述待升级程序进行升级,包括:

按照所述升级类型信息表示的OTA升级方案,使用所述OTA升级包中待升级程序的升级包,对所述待升级程序进行升级。

可选的,所述升级类型信息表示的OTA升级方案为:强制升级方案和静默升级方案之一。

为了达到上述目的,相应的,本发明实施例还提供了一种OTA升级方法,应用于服务器,所述服务器中针对每个硬件模块维护所述硬件模块的升级程序,所述包括:

针对终端设备中需要升级的各硬件模块的程序,生成表示需要对各所述程序进行升级的配置信息;

创建包含所述配置信息,以及各所述程序的升级包的OTA升级包;

向所述终端设备发送所述OTA升级包。

为了达到上述目的,本发明实施例还提供了一种OTA升级装置,应用于终端设备,所述终端设备包括多个硬件模块,且所述终端设备中安装有各硬件模块的程序,所述装置包括:

第一接收模块,用于接收服务器发送的OTA升级包,所述OTA升级包中包含表示需要升级的硬件模块的程序的配置信息,以及需要升级的硬件模块的程序的升级包;

第一确定模块,用于基于所述配置信息,从所述多个硬件模块的程序中,确定待升级程序;

升级模块,用于使用所述OTA升级包中待升级程序对应的升级包,对所述待升级程序进行升级。

为了达到上述目的,相应的,本发明实施例还提供了一种OTA升级装置,应用于服务器,所述服务器中针对每个硬件模块维护所述硬件模块的升级程序,所述装置包括:

信息生成模块,用于针对终端设备中需要升级的各硬件模块的程序,生成表示需要对各所述程序进行升级的配置信息;

创建模块,用于创建包含所述配置信息,以及各所述程序的升级包的OTA升级包;

发送模块,用于向所述终端设备发送所述OTA升级包。

为了达到上述目的,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述应用于终端设备的任一所述OTA升级方法步骤。

为了达到上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于终端设备的任一所述的OTA升级方法步骤。

为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于终端设备的任一所述的OTA升级方法步骤。

为了达到上述目的,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述应用于服务器的任一所述OTA升级方法步骤。

为了达到上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于服务器的任一所述的OTA升级方法步骤。

为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于服务器的任一所述的OTA升级方法步骤。

本发明实施例提供的一种基于OTA的系统升级方法,接收服务器发送的OTA升级包,OTA升级包中包含表示需要升级的硬件模块的程序的配置信息,以及需要升级的硬件模块的程序的升级包;基于配置信息,从多个硬件模块的程序中,确定待升级程序;使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。采用本发明实施例提供的方法,通过配置信息,从终端设备的多个硬件模块的程序中确定出待升级程序,并对待升级程序进行升级,实现了针对终端设备中多样化的硬件模块的升级需求,使用相应的OTA升级包进行升级,提升了用户的升级体验。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种OTA升级方法的流程图;

图2为本发明实施例提供的另一种OTA升级方法的流程图;

图3为本发明实施例提供的另一种OTA升级方法的流程图;

图4为本发明实施例提供的另一种OTA升级方法的流程图;

图5a为本发明实施例提供的OTA升级方法中强制升级方案的流程图;

图5b为本发明实施例提供的OTA升级方法中静默升级方案的流程图;

图5c为本发明实施例提供的OTA升级方法中开机自动升级方案的流程图;

图5d为本发明实施例提供的OTA升级方法中恢复出厂设置后升级方案的流程图;

图5e为本发明实施例提供的OTA升级方法中设定时间段升级方案的流程图;

图6为本发明实施例提供的另一种OTA升级方法的流程图;

图7为本发明实施例提供的一种OTA升级装置的结构示意图;

图8为本发明实施例提供的另一种OTA升级装置的结构示意图;

图9为本发明实施例提供的另一种OTA升级装置的结构示意图;

图10为本发明实施例提供的一种电子设备的结构示意图;

图11为本发明实施例提供的另一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种OTA升级方法,该方法应用于终端设备,其中,终端设备包括多个硬件模块,且终端设备中安装有各硬件模块的程序,如图1所示,该方法可以包括如下步骤:

步骤101,接收服务器发送的OTA升级包,OTA升级包中包含表示需要升级的硬件模块的程序的配置信息,以及需要升级的硬件模块的程序的升级包。

步骤102,基于配置信息,从多个硬件模块的程序中,确定需要升级的各硬件模块的程序,作为待升级程序。

步骤103,使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。

采用本发明实施例提供的方法,通过配置信息,从终端设备的多个硬件模块的程序中确定出待升级程序,并对待升级程序进行升级,实现了针对终端设备中多样化的硬件模块的升级需求,使用相应的升级包对待升级程序进行升级,提升了用户的升级体验。

本发明实施例中,硬件模块的程序可以是终端设备的硬件模块上装载的系统程序或应用程序。终端设备中的硬件模块可以有一个也可以有多个。如针对机器人的多个硬件模块如导航模块、视觉模块和电源模块,硬件模块的程序可以是机器人的导航模块、视觉模块和电源模块上各自装载的系统程序。

本发明实施例中,对待升级程序进行升级时,可以监控终端设备的电量,当终端设备的电量小于预设电量阈值时,对终端设备进行充电,直至当终端设备的电量不小于预设电量阈值时,可以根据对应的OTA升级方案,使用待升级程序的OTA升级包对待升级程序进行升级。其中,预设电量阈值可以根据实际升级情况进行设定,如预设电量阈值可以设定为额定最高电量的30%。

下面结合附图,用具体实施例对本发明提供的方法及装置进行详细描述。

在本发明的一个实施例中,本发明实施例提供的OTA升级方法,其中,针对每个硬件模块的程序设置有第一升级配置信息,第一升级配置信息表示是否允许硬件模块的程序升级,针对终端设备预先设置有第二升级配置信息,第二升级配置信息表示允许终端设备使用的OTA升级方案,如图2所示,可以包括以下步骤:

步骤201,接收服务器发送的OTA升级包,OTA升级包中包含表示需要升级的硬件模块的程序的配置信息,以及需要升级的硬件模块的程序的升级包。

本发明实施例中,可以通过终端设备向服务器发送获取OTA升级包的请求,服务器在接收到终端设备发送的请求之后,可以向终端设备发送OTA升级包,进而终端设备接收服务器发送的OTA升级包。其中,终端设备向服务器发送的请求中可以包含:终端设备中需要升级的各个硬件模块的标识信息,标识信息具体可以是各个硬件模块的名称。服务器在接收到终端设备发送的请求中包含的标识信息之后,可以向终端设备发送OTA升级包,该OTA升级包中包含表示终端设备中需要升级的硬件模块的程序的配置信息,以及终端设备中需要升级的硬件模块的程序的升级包。

本发明实施例中,也可以通过服务器直接向终端设备发送OTA升级包,终端设备接收服务器发送的OTA升级包。其中,服务器直接向终端设备发送OTA升级包中可以包含,表示服务器中存在的能够升级的硬件模块的程序的配置信息,以及服务器中存在的可以升级的硬件模块的程序的升级包。

步骤202,基于配置信息,从多个硬件模块的程序中,确定需要升级的各硬件模块的程序。

本发明实施例中,配置信息可以是OTA升级包中包含的名称为Config.xml的文件,Config.xml文件中记录有终端设备中需要升级的硬件模块的程序的目标升级版本号、需要升级的硬件模块的程序的升级包的文件名和需要升级的硬件模块的程序的升级包的MD5(信息摘要算法)值。本发明实施例中,可以根据Config.xml文件中记录的目标升级版本号、需要升级的硬件模块的程序的升级包的文件名以及需要升级的硬件模块的程序的升级包的MD5值,从终端设备的各个硬件模块的程序中,确定处需要升级的各硬件模块的程序,进而使用需要升级的硬件模块的程序对应的升级包中的目标升级版本对硬件模块的程序进行升级。

本步骤中,针对终端设备的多个硬件模块的程序,当配置信息中存在该硬件模块的程序的目标升级版本号、该硬件模块的程序的OTA升级包的文件名或者该硬件模块的程序的OTA升级包的MD5值时,可以确定该硬件模块的程序为需要升级的硬件模块的程序。

步骤203,基于第一升级配置信息,从需要升级的各硬件模块的程序中选择允许升级的硬件模块的程序确定为待升级程序。

本发明实施例中,若未配置第一升级配置信息,则可以默认所有硬件模块的程序均为需要升级,该情况下,将终端设备接收到的OTA升级包中的各硬件模块的程序均确定为待升级程序。

本发明实施例中,可以针对各硬件模块的程序设置第一升级配置信息。

本步骤中,可以通过如下方式,确定第一升级配置信息:

针对每个硬件模块的程序,若该硬件模块的程序对应的允许升级选项被选中,确定该硬件模块的程序的第一升级配置信息表示允许该硬件模块的程序升级;或者若该硬件模块的程序对应的不允许升级选项被选中,确定该硬件模块的程序的第一升级配置信息表示不允许该硬件模块的程序升级。

示例性的,可以通过配置界面展示各硬件模块的程序对应的允许升级选项和不允许升级选项。针对各个硬件模块的程序,用户可以在该展示界面上通过点击展示界面上该硬件模块的程序对应的允许升级选项,确定该硬件模块的程序的第一升级配置信息表示允许该硬件模块的程序升级;或者,用户也可以在该展示界面上通过点击展示界面上该硬件模块的程序对应的不允许升级选项,确定该硬件模块的程序的第一升级配置信息表示不允许该硬件模块的程序升级。

用户也可以通过点击展示界面上的全部允许选项,确定终端设备中的所有硬件模块的程序的第一升级配置信息都表示允许升级;或者,用户也可以通过点击展示界面上的全部不允许选项,确定终端设备中的所有硬件模块的程序的第一升级配置信息都表示不允许升级。

本步骤中,也可以将终端设备中默认的需要升级的硬件模块的程序确定为待升级程序。

步骤204,当基于第二升级配置信息确定出的允许终端设备使用的OTA升级方案的升级条件被触发时,按照该OTA升级方案,使用OTA升级包中待升级程序的升级包,对待升级程序进行升级。

本发明实施例中,可以通过如下方式确定第二升级配置信息:

针对能够使用的每种OTA升级方案,若该OTA升级方案对应的允许升级选项被选中,确定第二升级配置信息表示允许终端设备使用该OTA升级方案;或者若该OTA升级方案对应的不允许升级选项被选中,确定第二升级配置信息表示不允许终端设备使用该OTA升级方案。

示例性的,可以通过配置界面展示每种OTA升级方案对应的允许升级选项和不允许升级选项。

针对每种OTA升级方案,用户可以在该展示界面上通过点击展示界面上该OTA升级方案对应的允许升级选项,确定该OTA升级方案的第二升级配置信息表示允许终端设备使用该OTA升级方案;或者,用户也可以在该展示界面上通过点击展示界面上该OTA升级方案对应的不允许升级选项,确定该OTA升级方案的第二升级配置信息表示不允许终端设备使用该OTA升级方案。

用户也可以通过点击展示界面上的全部允许选项,确定第二升级配置信息都表示允许终端设备使用所有OTA升级方案;或者,用户也可以通过点击展示界面上的全部不允许选项,确定第二升级配置信息表示不允许终端设备使用任一OTA升级方案。

本步骤中,也可以将终端设备中默认的允许使用的OTA升级方案确定为第二升级配置信息表示的允许终端设备使用的OTA升级方案。

本步骤中,基于第二升级配置信息确定的允许使用的OTA升级方案至少可以包括如下升级方案之一:

开机自动升级方案,其中,终端设备从未开机变为开机后触发开机自动升级方案;

恢复出厂设置后升级方案,其中,终端设备被恢复出厂设置后触发恢复出厂设置后升级方案;

设定时间段升级方案,其中,监测到当前时间在预设时间段内时触发设定时间段升级方案,预设时间段可以根据实际需求具体进行设定,例如预设时间段可以为夜间的1点至6点。

采用本发明实施例提供的方法,通过配置信息和第一配置信息,从终端设备的多个硬件模块的程序中确定出待升级程序,通过第二配置信息确定出允许终端设备使用的OTA升级方案,并按照该OTA升级方案对待升级程序进行升级,实现了针对终端设备中多样化的硬件模块的升级需求以及多样化的实际应用场景采用相应的OTA升级方案进行升级,提升了用户的升级体验。

在本发明的一个实施例中,本发明实施例提供的OTA升级方法,其中,针对每个硬件模块的程序设置有第一升级配置信息,第一升级配置信息表示是否允许硬件模块的程序升级,针对终端设备预先设置有第二升级配置信息,第二升级配置信息表示允许终端设备使用的OTA升级方案,如图3所示,可以包括以下步骤:

步骤301,接收服务器发送的新版本信息,新版本信息表示存在需要升级的硬件模块的程序。

本步骤中,可以通过终端设备向服务器发送获取新版本信息的请求,服务器在接收到终端设备发送的请求之后,可以向终端设备发送新版本信息,进而终端设备可以接收服务器发送的新版本信息;也可以通过服务器直接向终端设备发送新版本信息,终端设备可以接收服务器发送的新版本信息。其中,新版本信息中可以包含OTA升级包的升级版本号,新版本信息中也可以携带升级类型信息,升级类型信息可以为一种OTA升级方案的标识。

步骤302,判断新版本信息中是否携带升级类型信息,且升级类型信息表示的OTA升级方案是否为允许终端设备使用的OTA升级方案,若判断结果为是,执行步骤303,若判断结果为否,执行步骤308。

本步骤中,当新版本信息中升级类型信息时,可以通过监测第二升级配置信息判断升级类型信息表示的OTA升级方案是否为允许终端设备使用的OTA升级方案。具体的判断方法可以是:

当监测到第二升级配置信息中升级类型信息表示的OTA升级方案对应的允许升级选项被选中,确定第二升级配置信息表示允许终端设备使用该OTA升级方案;或者监测到第二升级配置信息中升级类型信息表示的OTA升级方案对应的不允许升级选项被选中,确定第二升级配置信息表示不允许终端设备使用该OTA升级方案。其中,第二升级配置信息的确定方法在步骤204中已详细描述,此处不再赘述。

步骤303,当新版本信息中携带升级类型信息,且升级类型信息表示的OTA升级方案为允许终端设备使用的OTA升级方案时,向服务器请求下载OTA升级包。

本步骤中,升级类型信息表示的OTA升级方案可以为:强制升级方案和静默升级方案之一。

其中,针对强制升级方案,可以监测终端设备是否接收到服务器发送的新版本信息;在接收到服务器发送的新版本信息后,确定新版本信息中是否携带表示强制升级方案的升级类型信息;当新版本信息中携带表示强制升级方案的升级类型信息时,且强制升级方案为允许终端设备使用的OTA升级方案,可以向服务器请求下载OTA升级包。

针对静默升级方案,监测终端设备是否接收到服务器发送的新版本信息;在接收到服务端发送的新版本信息后,确定新版本信息中是否携带表示静默升级方案的升级类型信息;当新版本信息中携带表示静默升级方案的升级类型信息时,且静默升级方案为允许终端设备使用的OTA升级方案,可以向服务器请求下载OTA升级包。

例如,当获取的新版本信息中携带强制升级方案的标识,并且终端设备允许使用强制升级方案时,可以向服务器请求下载OTA升级包。

步骤304-步骤306与步骤201-步骤203分别对应相同,此处不再赘述。

步骤307,按照升级类型信息表示的OTA升级方案,使用OTA升级包中待升级程序的升级包,对待升级程序进行升级。

本步骤中,例如,当获取的新版本信息中携带强制升级方案的标识,并且终端设备允许使用强制升级方案时,在向服务器请求下载OTA升级包后,可以按照强制升级方案,使用OTA升级包中待升级程序的升级包,对待升级程序进行升级。

步骤308,结束操作。

采用本发明实施例提供的方法,通过配置信息和第一配置信息,从终端设备的多个硬件模块的程序中确定出待升级程序,通过新版本信息以及第二配置信息确定出允许终端设备使用的OTA升级方案,并按照该OTA升级方案对待升级程序进行升级,实现了可以针对终端设备中多样化的硬件模块的升级需求以及多样化的实际应用场景采用相应的OTA升级方案进行升级,提升了用户的升级体验。

在本发明的一个实施例中,本发明实施例提供的OTA升级方法,其中,针对每个硬件模块的程序设置有第一升级配置信息,第一升级配置信息表示是否允许硬件模块的程序升级,针对每个硬件模块的程序预先设置有第三升级配置信息,第三升级配置信息表示针对硬件模块的程序允许使用的OTA升级方案,如图4所示,可以包括以下步骤:

步骤401-步骤403与步骤201-步骤203分别对应相同,此处不再赘述。

步骤404,针对每个待升级程序,判断基于第三升级配置信息确定的针对该待升级程序允许使用的OTA升级方案的升级条件是否被触发,若判断结果为是,执行步骤405,若判断结果为否,执行步骤406。

本步骤中,基于第三升级配置信息确定的允许使用的OTA升级方案至少可以包括如下升级方案之一:

开机自动升级方案,其中,当终端设备从未开机变为开机后,确定开机自动升级方案的升级条件被触发;

恢复出厂设置后升级方案,其中,当终端设备被恢复出厂设置后,确定恢复出厂设置后升级方案的升级条件被触发;

设定时间段升级方案,其中,当监测到当前时间在预设时间段内时,确定设定时间段升级方案的升级条件被触发,预设时间段可以根据实际需求具体进行设定,例如预设时间段可以为夜间的1点至6点。

本发明实施例中,针对每个硬件模块的程序,可以通过如下方式确定第三升级配置信息:

针对能够使用的每种OTA升级方案,若该OTA升级方案对应的允许升级选项被选中,确定该硬件模块的程序的第三升级配置信息表示针对该硬件模块的程序允许使用该OTA升级方案;或者若该OTA升级方案对应的不允许升级选项被选中,确定该硬件模块的程序的第三升级配置信息表示针对该硬件模块的程序不允许使用该OTA升级方案。其中,可以在同一展示界面上,展示能够使用的每个硬件模块的程序的每种OTA升级方案对应的允许升级选项和不允许升级选项。

步骤405,针对每个待升级程序,基于第三升级配置信息确定出的针对该待升级程序允许使用的OTA升级方案的升级条件被触发时,按照该OTA升级方案,使用OTA升级包中该待升级程序的升级包,对该待升级程序进行升级。

步骤406,结束操作。

采用本发明实施例提供的方法,通过配置信息和第一配置信息,从终端设备的多个硬件模块的程序中确定出待升级程序,通过第三配置信息确定出待升级程序允许使用的OTA升级方案,并按照该OTA升级方案对待升级程序进行升级。并且从诸如开机自动升级方案、恢复出厂设置后升级方案和设定时间段升级方案等多种OTA升级方案中,通过监控相应的OTA升级方案的升级条件是否被触发,确定对应的OTA升级方案对待升级程序进行升级,实现了可以针对多样化的实际应用场景采用相应的OTA升级方案进行升级,满足了多样化的升级需求,提升了用户的升级体验。

本发明实施例中,在实际应用中,针对不同的OTA升级方案,按照该OTA升级方案,对待升级程序进行升级的流程,具体可以包括如下方式:

方式A:强制升级方案对应的待升级程序进行升级的流程,如图5a所示,具体可以包括如下步骤:

步骤501a,接收服务器发送的新版本信息。

步骤502a,当新版本信息中携带强制升级方案的升级类型信息,且终端设备允许使用强制升级方案时,从服务器下载OTA升级包到终端设备。

步骤503a,在OTA升级包下载完成后,自动使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。

方式B:静默升级方案对应的待升级程序进行升级的流程,如图5b所示,具体可以包括如下步骤:

步骤501b,接收服务器发送的新版本信息。

步骤502b,当新版本信息中携带静默升级方案的升级类型信息,且终端设备允许使用静默升级方案时,启动下载循环定时器和升级循环定时器。

其中,下载循环定时器设置有下载周期,以启动下载循环定时器的时刻为起始时刻,每经过n个下载周期后,下载循环定时器到时,n={1,2,3,…},下载周期可以根据具体应用场景进行适应设定,如下载周期可以设定为1小时;

升级循环定时器设置有升级周期,以启动升级循环定时器的时刻为起始时刻,每经过m个升级周期后,升级循环定时器到时,m={1,2,3,…},升级周期可以根据具体应用场景进行适应设定,例如,升级周期可以设定为2小时;

其中,下载周期和升级周期可以相同也可以不相同。

步骤503b,当经过n个下载周期,下载循环定时器到时后,判断当前时刻是否在预设静默下载时间段内,若判断结果为是,执行步骤504b,若判断结果为否,执行步骤507b,其中,预设静默下载时间段可以根据具体应用需求进行设定。

步骤504b,开始下载OTA升级包;

步骤505b,判断在预设静默下载时间段内OTA升级包是否下载完成,若判断结果为是,执行步骤506b,若判断结果为否,执行步骤507b;

步骤506b,当经过m个升级周期,升级循环定时器到时后,判断当前时刻是否在预设静默升级时间段内,若判断结果为是,执行步骤508b,若判断结果为否,执行步骤509b,其中,预设静默升级时间段可以根据具体应用需求进行设定;

步骤507b,将n值加1,作为新的n值,返回步骤503b。

步骤508b,使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。

步骤509b,将m值加1,作为新的m值,返回步骤506b;

步骤510b,判断在预设静默升级时间段内OTA升级是否完成,当判断结果为是,执行步骤511b,当判断结果为否,执行步骤509b;

步骤511b,在OTA升级完成后,取消下载循环定时器和升级循环定时器。

方式C:开机自动升级方案对应的待升级程序进行升级的流程,如图5c所示,具体可以包括如下步骤:

步骤501c,当终端设备从未开机变为开机后,检测终端设备中是否存在OTA升级包;

步骤502c,当检测到终端设备中存在OTA升级包时,自动使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。

方式D:恢复出厂设置后升级方案对应的待升级程序进行升级的流程,如图5d所示,具体可以包括如下步骤:

步骤501d,当终端设备恢复出厂设置后,监测服务器中是否有新的OTA升级包;

步骤502d,当监测服务器中有新的OTA升级包时,从服务器下载OTA升级包到终端设备;

步骤503d,自动使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。

方式E:设定时间段升级方案对应的待升级程序进行升级的流程,如图5e所示,具体可以包括如下步骤:

步骤501e,在预设时间段内,监测服务器中是否有新的OTA升级包;

步骤502e,当监测服务器中有新的OTA升级包时,在夜间的预设时间段内,从服务器下载OTA升级包到终端设备;

步骤503e,在夜间的预设时间段内,自动使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。

采用本发明实施例提供的方法,从多种OTA升级方案中,通过监控OTA升级方案的升级条件是否被触发,确定对应的OTA升级方案对待升级程序进行升级,实现了可以针对多样化的实际应用场景采用相应的OTA升级方案进行升级,提升了用户的升级体验。

基于同一发明构思,相应地,本发明另一实施例还提供了一种OTA升级方法,应用于服务器,其中,服务器中针对每个硬件模块维护硬件模块的升级程序,如图6所示,该方法具体包括:

步骤601,针对终端设备中需要升级的各硬件模块的程序,生成表示需要对各程序进行升级的配置信息。

本步骤中,服务器可以根据终端设备中需要升级的各硬件模块的程序,生成配置信息,其中,配置信息可以是OTA升级包中包含的名称为Config.xml的文件,Config.xml文件中记录有终端设备中需要升级的硬件模块的程序的目标升级版本号、需要升级的硬件模块的程序的OTA升级包的文件名和需要升级的硬件模块的程序的OTA升级包的MD5(信息摘要算法)值。

本步骤中,可以通过终端设备箱服务器发送的请求信息,确定终端设备需要升级的各硬件模块的程序,其中,请求信息中可以携带针对每个硬件模块的程序设置的第一升级配置信息,第一升级配置信息表示是否允许硬件模块的程序升级。本步骤中可以基于配置信息和第一升级配置信息确定出终端设备中需要升级的各硬件模块的程序。

步骤602,创建包含配置信息,以及各程序的升级包的OTA升级包。

本步骤中,可以生成包含配置信息和所确定的终端设备中需要升级的各硬件模块的程序的升级包的OTA升级包。

步骤603,向终端设备发送OTA升级包。

采用本发明实施例提供的方法,服务器可以针对终端设备中多样化的硬件模块的升级需求,通过生成表示需要对各程序进行升级的配置信息,创建包含配置信息,以及各程序的升级包的OTA升级包,并且通过创建的OTA升级包中包含的各个待升级程序对应的升级包,使得终端设备可以使用相应的升级包对待升级程序进行升级,实现了满足终端设备中多样化的硬件模块的升级需求,提升了用户的升级体验。并且,服务器针对终端设备中的各个硬件模块的生成升级包,使得含有相同硬件模块的不同终端设备可以使用服务器中的同一升级包进行升级,实现了升级包模块化的升级和维护。

基于同一发明构思,根据本发明上述实施例提供的一种OTA升级方法,相应地,本发明另一实施例还提供了一种OTA升级装置,该装置应用于终端设备,终端设备包括多个硬件模块,且终端设备中安装有各硬件模块的程序,其结构示意图如图7所示,具体包括:

第一接收模块701,用于接收服务器发送的OTA升级包,OTA升级包中包含表示需要升级的硬件模块的程序的配置信息,以及需要升级的硬件模块的程序的升级包;

第一确定模块702,用于基于配置信息,从多个硬件模块的程序中,确定需要升级的各硬件模块的程序,作为待升级程序;

升级模块703,用于使用OTA升级包中待升级程序对应的升级包,对待升级程序进行升级。

可见,采用本发明实施例提供的装置,通过配置信息,从终端设备的多个硬件模块的程序中确定出待升级程序,并对待升级程序进行升级,实现了针对终端设备中多样化的硬件模块的升级需求,采用相应的OTA升级包进行升级,满足了多样化的升级需求,提升了用户的升级体验。

可选的,针对每个硬件模块的程序设置有第一升级配置信息,第一升级配置信息表示是否允许硬件模块的程序升级;

第一确定模块702,具体用于基于配置信息,从多个硬件模块的程序中,确定需要升级的各硬件模块的程序;以及基于第一升级配置信息,从需要升级的各硬件模块的程序中选择允许升级的硬件模块的程序确定为所述待升级程序。

可选的,如图8所示,该装置还包括:第二确定模块801,用于采用如下步骤,确定第一升级配置信息:

针对每个硬件模块的程序,若该硬件模块的程序对应的允许升级选项被选中,确定该硬件模块的程序的第一升级配置信息表示允许该硬件模块的程序升级;或者若该硬件模块的程序对应的不允许升级选项被选中,确定该硬件模块的程序的第一升级配置信息表示不允许该硬件模块的程序升级。

可选的,针对终端设备预先设置有第二升级配置信息,第二升级配置信息表示允许终端设备使用的OTA升级方案;

升级模块703,具体用于当允许终端设备使用的该OTA升级方案的升级条件被触发时,按照该OTA升级方案,使用OTA升级包中待升级程序的升级包,对待升级程序进行升级。

可选的,针对每个硬件模块的程序预先设置有第三升级配置信息,第三升级配置信息表示针对硬件模块的程序允许使用的OTA升级方案;

升级模块703,具体用于针对每个待升级程序,当针对该待升级程序允许使用的OTA升级方案的升级条件被触发时,按照该OTA升级方案,使用OTA升级包中该待升级程序的升级包,对该待升级程序进行升级。

可选的,允许使用的OTA升级方案至少包括如下升级方案之一:

开机自动升级方案,其中,终端设备从未开机变为开机后触发开机自动升级方案;

恢复出厂设置后升级方案,其中,终端设备被恢复出厂设置后触发恢复出厂设置后升级方案;

设定时间段升级方案,其中,监测到当前时间在预设时间段内时触发设定时间段升级方案。

可选的,如图8所示,该装置还包括:

第三确定模块802,用于采用如下步骤,确定第二升级配置信息:

针对能够使用的每种OTA升级方案,若该OTA升级方案对应的允许升级选项被选中,确定第二升级配置信息表示允许终端设备使用该OTA升级方案;或者若该OTA升级方案对应的不允许升级选项被选中,确定第二升级配置信息表示不允许终端设备使用该OTA升级方案。

可选的,如图8所示,该装置还包括:

第四确定模块803,用于采用如下步骤,针对每个硬件模块的程序,确定该程序的第三升级配置信息:

针对能够使用的每种OTA升级方案,若该OTA升级方案对应的允许升级选项被选中,确定该硬件模块的程序的第三升级配置信息表示针对该硬件模块的程序允许使用该OTA升级方案;或者若该OTA升级方案对应的不允许升级选项被选中,确定该硬件模块的程序的第三升级配置信息表示针对该硬件模块的程序不允许使用该OTA升级方案。

可选的,针对终端设备预先设置有第二升级配置信息,第二升级配置信息表示允许终端设备使用的OTA升级方案;

如图8所示,该装置还包括:

第二接收模块804,用于接收服务器发送的新版本信息,新版本信息表示存在能够升级的硬件模块的程序;当新版本信息中携带升级类型信息,且升级类型信息表示的OTA升级方案为允许终端设备使用的OTA升级方案时,向服务器请求下载OTA升级包;

升级模块703,具体用于按照升级类型信息表示的OTA升级方案,使用OTA升级包中待升级程序的升级包,对待升级程序进行升级。

可选的,升级类型信息表示的OTA升级方案为:强制升级方案和静默升级方案之一。

相应地,基于同一发明构思,本发明另一实施例还提供了一种OTA升级装置,应用于服务器,服务器中针对每个硬件模块维护硬件模块的升级程序,如图9所示,该装置包括:

信息生成模块901,用于针对终端设备中需要升级的各硬件模块的程序,生成表示需要对各程序进行升级的配置信息;

创建模块902,用于创建包含配置信息,以各程序的升级包的OTA升级包;

发送模块903,用于向终端设备发送OTA升级包。

基于同一发明构思,根据本发明上述实施例提供的OTA升级方法,相应地,本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,

存储器1003,用于存放计算机程序;

处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:

接收服务器发送的OTA升级包,所述OTA升级包中包含表示需要升级的硬件模块的程序的配置信息,以及需要升级的硬件模块的程序的升级包;

基于所述配置信息,从所述多个硬件模块的程序中,确定需要升级的各硬件模块的程序,作为待升级程序;

使用所述OTA升级包中待升级程序对应的升级包,对所述待升级程序进行升级。

基于同一发明构思,根据本发明上述实施例提供的OTA升级方法,相应地,本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,

存储器1103,用于存放计算机程序;

处理器1101,用于执行存储器1103上所存放的程序时,实现如下步骤:

针对终端设备中需要升级的各硬件模块的程序,生成表示需要对各所述程序进行升级的配置信息;

创建包含所述配置信息,以及各所述程序的升级包的OTA升级包;

向所述终端设备发送所述OTA升级包。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于终端设备的任一OTA升级方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中应用于终端设备的任一OTA升级方法。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于服务器的任一OTA升级方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中应用于服务器的任一OTA升级方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

相关技术
  • OTA升级包下载方法、OTA服务器以及电子设备和存储介质
  • OTA升级方法、装置、电子设备、存储介质及程序产品
技术分类

06120113034628