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

一种软件升级方法和装置

文献发布时间:2023-06-19 11:52:33


一种软件升级方法和装置

技术领域

本申请涉及无线通信领域,尤其涉及一种软件升级方法和装置。

背景技术

随着汽车产业的不断发展和汽车的“四化”(电动化、智能化、网联化、共享化)的不断深入,汽车本身的软硬件功能日趋复杂。和硬件相比,软件的更新速度更快,更易形成差异化的功能。根据业界的分析,当前一台高端汽车内部所包含的代码行数,已经达到了惊人的千万级~亿级,远超波音飞机包含的一千万级的代码行数,因此,由于软件而导致的错误与日俱增,对于车辆的安全驾驶带来了极大的风险。为了减少软件错误给汽车带来的安全风险,汽车厂商们通常会采用线下召回的模式进行软件升级,这不仅造成了汽车厂商的成本增加,还因正常用车时间被占用给用户造成了较差的体验。因此,如何合理的实现汽车软件升级已经成为众多车企的关切所在。

为了解决线下召回带来的成本增加和用户体验较差的问题,现有技术中提出了基于空中下载(over the air,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升级指示信息通过完整性验证。

结合第一方面,在一种可行的实现方式中,上述软件升级包中包括上述第一终端设备的N1个功能模块中的N2个功能模块对应的升级子包。这里,N2小于或者等于N1。将多个功能模块对应的升级子包一并发送给第一终端设备,可使得第一终端设备能够同时完成多个功能模块的软件升级,可提升第一终端设备的软件升级的效率。

结合第一方面,在一种可行的实现方式中,上述第一终端设备可向上述第二终端设备发送升级完成指示信息,上述升级完成指示信息用于指示上述N2个功能模块已经完成软件升级。这里,上述升级完成指示信息中包括升级后的N2个功能模块对应的软件版本信息。

第二方面,本申请实施例提供了一种软件升级方法。该方法包括:第二终端设备接收第一网络设备发送的软件升级包。这里,上述软件升级包对应有上述第一网络设备确定的第一数字签名。上述第二终端设备接收上述第一网络设备发送的OTA升级指示信息。这里,上述OTA升级指示信息用于指示上述第二终端设备针对第一终端设备是否具备OTA升级权限,上述OTA升级指示信息对应有上述第一网络设备确定的第二数字签名。上述第二终端设备向上述第一终端设备发送OTA软件升级信息。这里,上述OTA软件升级信息包括上述OTA升级指示信息和上述软件升级包。

结合第二方面,在一种可行的实现方式中,在上述第二终端设备接收上述第一网络设备发送的OTA升级指示信息之前,上述第二终端设备向上述第一网络设备发送OTA升级权限验证请求,其中,上述OTA升级权限验证请求用于请求上述第一网络设备确定上述第二终端设备是否具有对上述第一终端设备执行OTA升级的权限,其中,上述OTA升级权限验证请求包括上述第一终端设备的第三标识信息。

结合第二方面,在一种可行的实现方式中,用于指示上述第二终端设备具有对上述第一终端设备执行OTA升级的权限的上述OTA升级指示信息包括以下至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识。

结合第二方面,在一种可行的实现方式中,上述软件升级包中包括上述第一终端设备的N1个功能模块中的N2个功能模块对应的升级子包。这里,N2小于或者等于N1。

结合第二方面,在一种可行的实现方式中,上述第二终端设备接收第一终端设备发送的升级完成指示信息,上述升级完成指示信息用于指示上述N2个功能模块已经完成软件升级,这里,上述升级完成指示信息中包括升级后的N2个功能模块对应的软件版本信息。上述第二终端设备向上述第一网络设备发送上述升级完成指示信息。

第三方面,本申请实施例提供了一种软件升级方法。第一网络设备确定第一终端设备对应的软件升级包。上述第一网络设备确定OTA升级指示信息。这里,上述OTA升级指示信息用于指示第二终端设备是否具有对上述第一终端设备执行OTA升级的权限。上述第一网络设备向上述第二终端设备发送上述软件升级包和上述OTA升级指示信息。

结合第三方面,在一种可行的实现方式中,在确定第一终端设备对应的软件升级包之前,第一网络设备接收第二终端设备发送的升级包下载请求。这里,上述升级包下载请求用于请求上述第一网络设备为上述第二终端设备提供第一终端设备对应的软件升级包。

结合第三方面,在一种可行的实现方式中,新信息至少包括上述第一终端设备的N1个功能模块对应的第一软件版本信息和上述N1个功能模块对应的升级子包。若上述第一网络设备确定上述第一终端设备的N1个功能模块中的N2个功能模块的第二软件版本信息低于上述OTA软件更新信息中包括的上述N2个功能模块的第一软件版本信息,则根据上述N2个功能模块对应的升级子包确定出上述第一终端设备的软件升级包。这里,N2小于或者等于N1,上述软件升级包对应有上述第一网络设备确定的第一数字签名。

结合第三方面,在一种可行的实现方式中,上述第一网络设备接收上述第二终端设备发送的OTA升级权限验证请求,上述OTA升级权限验证请求至少包括上述第一终端设备的第三标识信息。上述第一网络设备根据上述第二终端设备与上述第一终端设备之间是否为绑定关系生成用于指示第二终端设备是否具有对上述第一终端设备执行OTA升级的权限的OTA升级指示信息。这里,上述OTA升级指示信息对应有上述第一网络设备确定的第二数字签名。

结合第三方面,在一种可行的实现方式中,用于指示第二终端设备具有对上述第一终端设备执行OTA升级的权限的OTA升级指示信息包括以下中的至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识。

结合第三方面,在一种可行的实现方式中,上述第一网络设备接收上述第一终端设备发送的上述OTA升级指示信息。若上述第一网络设备确定上述OTA升级指示信息包括以下至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识,则向上述第一终端设备发送权限验证通过标识。

第四方面,本申请实施例提供了一种装置。该装置可为第一终端设备本身,也可为第一终端设备内部的如芯片等元件或者模块。该装置包括用于执行上述第一方面的任意一种可能的实现方式所提供的软件升级方法的单元,因此也能是实现第一方面提供的软件升级方法所具备的有益效果(或者优点)。

第五方面,本申请实施例提供了一种装置。该装置可为第二终端设备本身,也可为第二终端设备内部的如芯片等元件或者模块。该装置包括用于执行上述第二方面的任意一种可能的实现方式所提供的软件升级方法的单元,因此也能是实现第二方面提供的软件升级方法所具备的有益效果(或者优点)。

第六方面,本申请实施例提供了一种装置。该装置可为第一网络设备本身,也可为第一网络设备内部的如芯片等元件或者模块。该装置包括用于执行上述第三方面的任意一种可能的实现方式所提供的软件升级方法的单元,因此也能是实现第三方面提供的软件升级方法所具备的有益效果(或者优点)。

第七方面,本申请实施例提供了一种装置,该装置可为第一终端设备本身,也可为第一终端设备内部的如芯片等元件或者模块。该装置包括存储器、处理器、和收发器。其中,该处理器用于调用存储器存储的代码执行上述第一方面中任意一种可行的实现方式所提供的软件升级方法。

第八方面,本申请实施例提供了一种装置,该装置可为第二终端设备本身,也可为第二终端设备内部的如芯片等元件或者模块。该装置包括存储器、处理器、和收发器。其中,该处理器用于调用存储器存储的代码执行上述第二方面中任意一种可行的实现方式所提供的软件升级方法。

第九方面,本申请实施例提供了一种装置,该装置可为第一网络设备本身,也可为第一网络设备内部的如芯片等元件或者模块。该装置包括存储器、处理器、和收发器。其中,该处理器用于调用存储器存储的代码执行上述第三方面中任意一种可行的实现方式所提供的软件升级方法。

第十方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,实现上述第一方面中任意一种可行的实现方式所提供的软件升级方法,也能实现上述第一方面提供的软件升级方法所具备的有益效果(或者优点)。

第十一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,实现上述第二方面中任意一种可行的实现方式所提供的软件升级方法,也能实现上述第二方面提供的软件升级方法所具备的有益效果(或者优点)。

第十二方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,实现上述第三方面中任意一种可行的实现方式所提供的软件升级方法,也能实现上述第三方面提供的软件升级方法所具备的有益效果(或者优点)。

第十三方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面提供的软件升级方法,也能实现第一方面提供的软件升级方法所具备的有益效果。

第十四方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面提供的软件升级方法,也能实现第二方面提供的软件升级方法所具备的有益效果。

第十五方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第三方面提供的软件升级方法,也能实现第二方面提供的软件升级方法所具备的有益效果。

第十六方面,本申请实施例提供了一种装置,该装置为第一终端设备。该通信装置包括:处理器和接口电路。该接口电路用于接收代码指令并传输至该处理器。该处理器用于运行上述代码指令以实现上述第一方面中任意一种可行的实现方式所提供的软件升级方法,也能实现上述第一方面提供的软件升级方法所具备的有益效果(或者优点)。

第十七方面,本申请实施例提供了一种装置,该装置为第二终端设备。该装置包括:处理器和接口电路。该接口电路用于接收代码指令并传输至该处理器。该处理器用于运行上述代码指令以实现上述第二方面中任意一种可行的实现方式所提供的软件升级方法,也能实现上述第二方面提供的软件升级方法所具备的有益效果(或者优点)。

第十八方面,本申请实施例提供了一种装置,该装置为第一网络设备。该装置包括:处理器和接口电路。该接口电路用于接收代码指令并传输至该处理器。该处理器用于运行上述代码指令以实现上述第三方面中任意一种可行的实现方式所提供的软件升级方法,也能实现上述第三方面提供的软件升级方法所具备的有益效果(或者优点)。

第十九方面,本申请实施例提供了一种通信系统,该通信系统包括上述第三方面、第四方面和第五方面所描述的装置,或者,上述第七方面、第八方面或者第九方面所描述的装置,或者,上述第十六方面、第十七方面和第十八方面所描述的装置。

采用本申请实施例提供的方法,可解决第一终端设备基于OTA技术进行软件升级中存在的用户数据流量开销大以及因网络信号较差等原因导致的软件升级不及时等问题,提升了第一终端设备的软件升级的效率和安全性,提升了第一终端设备的用户体验。

附图说明

图1是本申请实施例提供的一种通信系统结构示意图;

图2是本申请实施例提供的一种软件升级方法一流程示意图;

图3是本申请实施例提供的一种软件升级方法又一流程示意图;

图4是本申请实施例提供的一种装置一结构示意图;

图5是本申请实施例提供的一种装置又一结构示意图;

图6是本申请实施例提供的一种装置又一结构示意图;

图7是本申请实施例提供的一种装置又一结构示意图;

图8是本申请实施例提供的一种装置又一结构示意图;

图9是本申请实施例提供的一种装置又一结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请实施例提供了一种软件升级方法和装置。请参见图1,图1是本申请实施例提供的一种通信系统结构示意图,该软件升级方法适用于该通信系统。如图1所示,该通信系统主要包括第一终端设备、第二终端设备、第一网络设备和第二网络设备。其中,上述第一终端设备为需要进行软件升级的终端设备,该第一终端设备具体可以为蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、个人数字助理(personaldigital assistant,PDA)、具有无线通信功能的手持设备、可穿戴设备等,还可以具体为汽车的车载设备、路边单元等,本申请不作具体限制。上述第二终端设备为用于从所述第一网络设备处获取软件升级相关的信息,并将这些信息转发给第一终端设备的单元。具体实现中,上述第二终端设备为通常会处于通信质量较好的环境中的设备,上述第二终端设备具体可以是蜂窝电话、无绳电话、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备等,本申请不作具体限制。上述第一网络设备为用于对第一终端设备进行软件升级的调度、配置或者升级信息推送的设备。具体实现中,上述第一网络设备可以为第一终端设备的生产机构或者经销机构提供的用于软件升级的物理服务器或者云服务器等。上述第二网络设备用于对软件代码版本进行更新迭代,并向第一网络设备提供具体的软件升级包、软件版本信息等内容的设备。具体实现中,上述第二网络设备可以为软件的厂商或者经销机构提供的物理服务器或者云服务器等。需要说明的是,在诸如某些软件的生成方就是第一终端设备的运营结构等情况下,上述第一网络设备和上述第二网络设备可以为同一个物理服务器或者云服务器。

通常情况下,第一终端设备的制造商或者经销机构会基于OTA技术对第一终端设备进行软件升级。具体的来说,就是第一终端设备会通过无线通信网络从第一网络设备处上下载最新的软件升级包并进行软件的升级。但是,随着软件功能的多样化,需要第一终端设备通过无线通信网络下载的软件升级包会越来越大,次数也越来越多,这就使得第一终端设备的用户面临的数据流量开销也越来越大。并且,在网络信号较差的环境中,第一终端设备自身的通信信号不好、不稳定,也无法顺利在短时间内下载多个软件包,从而无线及时的实现软件的升级。所以,如何安全且便利的实现汽车软件的升级已经成为亟待解决的技术问题之一。

本申请实施例提供的软件升级方法所要解决的技术问题是:如何安全且便利的实现第一终端设备的软件升级,以降低软件升级成本,提升软件升级的效率。

实施例一

请参见图2,图2是本申请实施例提供的软件升级方法一流程示意图。为方便理解和描述,本实施例中将以车辆中的功能模块的软件升级这一场景为例,对本申请提供的软件升级方法进行详细的描述。这里,第一终端设备即为某一车辆,第二终端设备即为移动终端,第一网络设备即为该车辆的厂商或者经销结构推出的车企平台,第二网络设备即为汽车软件厂商或者经销机构推出的软件服务平台(如OTA服务器)。其中,上述第二终端设备中应安装有能够与第一网络设备进行信息交互的应用程序。如图2所示,上述软件升级方法包括以下步骤:

S201,第二终端设备向第一终端设备发送OTA软件升级信息。

在一些可行的实施方式中,在第一终端设备与第二终端设备之间建立好通信连接并配置好至少一条具备安全通道的通信链路后,第一终端设备可基于该至少一条通信链路从第二终端设备处获取OTA软件升级信息。这里,第一终端设备与第二终端设备可以以有线或者无线的方式建立通信连接,本申请实施例不作具体限制。所谓的安全通道指的是第一终端设备与第二终端设备根据双方共知、共享的安全信息,再结合相应的安全处理方法计算出的可以用于双方通信时对通信内容进行加密的手段。上述安全通道可包括安全传输层协议(transport layer security,TLS)、安全套接层(secure sockets layer,SSL)等,本申请不作具体限制。另外,需要说明的是,上述OTA软件升级信息主要用于第二终端设备请求为第一终端设备中的一个或者多个功能模块进行软件升级。上述OTA软件升级信息中可包括软件升级包和OTA升级指示信息。上述软件升级包可用于第一终端设备进行软件升级。上述OTA升级指示信息可用于指示第二终端设备是否具有对第一终端设备执行OTA升级的权限。

可选的,在第一终端设备接收来自于第二终端设备的OTA软件升级信息之前,第一终端设备、第二终端设备和第一网络设备之间可进行一些基本信息的配置与共享,以保证后续OTA软件升级的顺利进行。例如,针对于第一终端设备来说,其预定义有或者预配置有(例如,可以是第一网络设备为其配置的)第三标识信息、终端设备类型信息以及其包含的多个功能模块中各功能模块对应的模块标识、各功能模块当前的软件版本信息等基本信息。例如,上述各功能模块对应的模块标识以及各功能模块当前的软件版本信息具体可为一个数组[modID1,3.3.5,modID2,3.1.1,modID3,2.1.2,……]。该数组表达的意思是第一终端设备中的第一功能模块(模块标识为modID1)当前的软件版本为3.3.5,第二功能模块(模块标识为modID2)当前的软件版本为3.1.1,第三功能模块(模块标识为modID3)当前的软件版本为2.1.2。第一终端设备会将这些基本信息共享给第二终端设备和第一网络设备,以使得第一网络设备和第二终端设备能够基于这些基本信息对第一终端设备进行软件升级。针对第二终端设备,其在安装好第一网络设备发布的用于对第一终端设备进行管理的应用程序之后,可通过该应用程序与第一网络设备建立安全通道。在实际应用中,第二终端设备的用户在该应用程序上注册了某一账号后,第一网络设备会通过该应用程序为其分配的一个应用程序标识。该应用程序标识与第二终端设备的用户所注册的账号相互绑定,从而可使得该用户使用除上述第二终端设备以外的其他终端设备所安装的应用程序登录该账号之后,也可基于该应用程序标识让第一网络设备认定该其他终端设备是合法的,从而使得第一网络设备与该其他终端设备之间也能建立新的安全通道。第二终端设备在获取到上述应用程序标识后,还可将该应用程序标识共享给第一终端设备。可选的,上述应用程序标识可以是第一网络设备为上述应用程序分配的一个通用唯一识别码(universallyunique identifier,UUID)。进一步的,若上述第一终端设备和第二终端设备建立了绑定关系,则第一终端设备或者第二终端设备可将这种绑定关系上报给上述第一网络设备,以使得后续第一网络设备可判定上述第二终端设备是否具有对第一终端设备执行OTA升级的权限。当然,可以理解到的是,针对于第一终端设备、第二终端设备和第一网络设备三者而言,为了保证相互之间信息传递的安全信息,三者可互相共享各自预定义的一套或者多个公钥,以实现相互之间信息传输过程中的加密或者解密。

进一步的,在一种可能的具体实现中,在第一终端设备、第二终端设备和第一网络设备之间进行一些基本信息的共享之前,第二终端设备可先向第一网络设备发送绑定请求,该绑定请求中至少包括第一终端设备的第三标识信息和第二终端设备的第二标识信息。可选的,该第二标识信息具体可以是前文提及的应用程序标识。第一网络设备在接收到上述绑定请求后,可以根据该第一终端设备与第二终端设备是否属于同一用户来确定第一终端设备和第二终端设备能否绑定。具体的,第一网络设备可从其预置的用户信息数据库中提取出上述第一终端设备的用户信息(为方便区别,下文将以第一用户信息代替描述)和上述第二终端设备的第二用户信息(为方便区别,下文将以第二用户信息代替描述)。可选的,上述第一用户信息可以是某一用户在第一终端设备中安装第一网络设备发布的应用程序时上传给车企平台的个人身份证号、家庭住址等信息。上述第二用户信息可以是某一用户在购买或者租赁上述第二终端设备时通过第二终端设备的经销机构上传给第一网络设备的个人身份证号、家庭住址等信息。其后,第一网络设备可确定上述第一用户信息和上述第二用户信息是否匹配。若第一网络设备确定上述第一用户信息和上述第二用户信息相匹配,则可确定上述第一终端设备和上述第二终端设备可以绑定。若第一网络设备确定上述第一用户信息和上述第二用户信息不匹配,则可确定上述第一终端设备和上述第二终端设备不可以绑定。若第一网络设备确定第一终端设备和第二终端设备可以绑定,则可将上述第二标识信息和第三标识信息进行关联以生成第一终端设备和第二终端设备对应的绑定关系信息,并将上述绑定关系信息保存在上述绑定关系集合中。其中,该绑定关系集合中包括了一组或者多组绑定关系信息,每一组绑定关系信息都指示了某一个第一终端设备与某一个第二终端设备之间属于绑定关系。然后,第一网络设备可以向第一终端设备和第二终端设备分别发送绑定响应信息,以通知第一终端设备和第二终端设备二者完成了绑定。第一终端设备在接收到上述绑定响应信息后,可与第二终端设备建立安全的近场通信。可选的,第一终端设备在接收到上述绑定响应信息后,还可将其一个或者多个功能模块当前的软件版本信息上报给第一网络设备,以供第一网络设备后续能够实现第一终端设备的软件升级包的生成。

在另一种可能的具体实现中,在第一终端设备、第二终端设备和第一网络设备之间进行一些基本信息的共享之前,第二终端设备也可先向第一网络设备发送绑定请求,该绑定请求中至少包括第一终端设备的第三标识信息和第二终端设备的第二标识信息。第一网络设备在接收到上述绑定请求后,可以根据上述第一终端设备和上述第二终端设备是否属于同一用户来确定第一终端设备和第二终端设备能否绑定。第一网络设备根据第一终端设备和第二终端设备是否属于同一用户来确定第一终端设备和第二终端设备能否绑定的具体过程可参见前文所述,此处便不再赘述。若第一网络设备确定第一终端设备和第二终端设备不能绑定,则可向第一终端设备发送绑定拒绝信息,以告知第二终端设备其无法与第一终端设备绑定。或者,第一网络设备也可不向第二终端设备反馈任何信息。若第一网络设备确定第一终端设备和第二终端设备能够绑定,则可向第二终端设备反馈一个第一绑定响应信息。其中,该第一绑定响应信息中至少包括一个绑定指示信息,该绑定指示信息中包括第二终端设备的第二标识信息、第一终端设备的第三标识信息、第一网络设备的第一标识信息、绑定标识中的一种或者多种。同时,该绑定指示信息还对应有第四数字签名,该第四数字签名由第一网络设备基于其预置的第四私钥为该绑定指示信息生成的。第二终端设备在接受到上述第一绑定响应信息后,可向第一终端设备发送第二绑定响应信息,该第二绑定响应信息中至少包括第二终端设备的第二标识信息、上述绑定指示信息以及该绑定指示信息对应的第四数字签名。第一终端设备在接收到上述第二绑定响应信息后,若根据第一网络设备的第四私钥对应的第四公钥确定上述第三数字签名通过验签,则可确定该第三数字签名通过完整性验证。当然,可以理解到的是,第一网络设备还可采用其他方式进行完整性验证,本申请实施例不作具体限定。其后,若第一终端设备确定上述绑定指示信息中包括第二终端设备的第二标识信息、第一终端设备的第三标识信息、第一网络设备的第一标识信息、绑定标识中的一种或者多种,则可确定其与第二终端设备能够进行绑定。第一终端设备确定其与第二终端设备能够绑定后,可与第二终端设备建立安全的近场通信。可选的,第一终端设备还可将其一个或者多个功能模块当前的软件版本信息上报给第一网络设备,以供第一网络设备后续能够实现第一终端设备的软件升级包的生成。

可选的,请一并参见图3,图3是本申请实施例提供的一种软件升级方法又一流程示意图,由图3可知,在步骤S201之前,该方法还可包括S2001到S2006这几个步骤。

S2001,第二网络设备向第一网络设备发送OTA软件更新信息。

在一些可行的实现方式中,当软件厂商发现第一终端设备的某些功能模块的软件存在缺陷或者有新的功能需要添加时,会研发出相应的升级并对这个功能模块的软件进行相应的升级操作,并生成新的软件版本。其后,软件厂商还可通过上述第二网络设备向第一网络设备发布相应的OTA软件更新信息,以向第一网络设备提示第一终端设备的某些功能模块的软件需要更新。

在一种可行的实现方式中,上述OTA软件更新信息中可包括一种或者多种类型第一终端设备类型以及每种第一终端类型对应的N1个功能模块的最新软件版本。这里需要说明的是,前文所述的第一终端设备属于某一种第一终端设备类型,例如,车辆A所属的车辆类型可以为第一车辆类型。具体实现中,请参见表1-1,表1-1是本申请实施例提供的一种OTA软件更新信息列表,这里,假设第一终端设备为汽车。如表1-1所示,OTA软件更新信息中具体包括4种第一终端设备类型(即汽车车型),分别为第一车辆类型、第二车辆类型、第三车辆类型和第四车辆类型,针对于第一车辆类型来说,其功能模块1、功能模块2和功能模块3均存在软件更新,功能模块1当前的最新软件版本为3.1.2,功能模块2当前的最新软件版本为2.3.5,功能模块3当前的最新软件版本为2.4.1。同理,表1-1还可指示第二车辆类型、第三车辆类型和第四车辆类型这三种车型的各个功能模块也有软件更新,具体便不再赘述。

表1-1

在另一种可行的实现方式中,第二网络设备向第一网络设备发送的OTA软件更新信息中不仅包括了一种或者多种类型第一终端设备类型以及每种第一终端类型对应的N1个功能模块的最新软件版本,还可包括N1个功能模块进行软件更新所需的N1个升级子包。例如,一并参见表1-1的内容,上述OTA软件更新信息中还可包括第一车辆类型的汽车的功能模块1、功能模块2和功能模块3所对应的三个升级子包。在发送软件版本信息的同时发送升级子包,可避免后续第一网络设备再次请求升级子包的过程,可提升信息交互的效率。

S2002,第一网络设备根据该OTA软件更新信息确定出第一终端设备对应的软件升级包。

S2003,第一网络设备向第二终端设备发送第一终端设备的软件升级包。

在一些可行的实现方式中,第一网络设备在接收第二网络设备发送的OTA软件更新信息后,可根据上述OTA软件更新信息以及上述第一终端设备的各功能模块当前的软件版本信息确定出第一终端设备中需要进行软件升级的功能模块(为方便理解和区别,下文将以待升级功能模块代替描述),再根据这些待升级功能模块的升级子包确定出第一终端设备对应的软件升级包。

下面,假设第一终端设备为车辆A(车辆A对应的第三标识信息为A),其对应的第一终端设备类型为第一车辆类型。第一网络设备在接收到上述OTA软件更新信息后,可根据车辆A的车辆类型从上述OTA软件更新信息中提取出车辆A的车辆类型所对应的各功能模块以及各功能模块的最新软件版本信息,即车辆类型为第一车辆类型,对应的功能模块1当前的最新软件版本为3.1.2,功能模块2当前的最新软件版本为2.3.5,功能模块3当前的最新软件版本为2.4.1。然后,第一网络设备可将汽车A共享的其内部各个功能模块的当前软件版本与第一车辆类型对应的功能模块1、功能模块2和功能模块3的最新软件版本进行对比。这里,假设车辆A的功能模块1当前的软件版本为3.1.2,功能模块2当前的软件版本为2.3.1,功能模块3当前的软件版本为2.4.0。第一网络设备确定车辆A的功能模块2和功能模块3当前的软件版本信息均低于OTA软件更新信息中包括的第一车辆类型对应的功能模块2和功能模块3的最新软件版本,则第一网络设备可确定车辆A的功能模块2和功能模块3需要更新,即功能模块2和功能模块3为待更新功能模块。

在一种实现方式中,在OTA软件更新信息中包括一种或者多种类型第一终端设备类型以及每种第一终端类型对应的N1个功能模块的最新软件版本和N1个功能模块的升级子包的情况下,第一网络设备在确定出第一终端设备有多个待更新功能模块(这里假设为N2个)后,可先向第二终端设备发送一个OTA通知信息,该OTA通知信息用于向第二终端设备指示所述第一终端设备存在待更新功能模块,该OTA通知信息中至少包括所述第一终端设备的第三标识信息。第二终端设备在接收到上述OTA通知信息后,在确定其处于较好的网络环境(如有wifi覆盖或者热点供应等)并且具备为第一终端设备推送软件升级包的能力的情况下,可以向第一网络设备发送一个升级包下载请求,该升级包下载请求中至少包括上述第一终端设备的第三标识信息,该升级包下载请求用于指示所述第一网络设备确定并向所述第二终端设备发送所述第一终端设备对应的软件升级包。第一网络设备在接收到上述升级包下载请求后,可根据上述OTA软件更新信息中包括的第一终端设备的N2个待更新功能模块对应的N2个升级子包组成该第一终端设备的软件升级包。同时,第一网络设备还可基于其预置的私钥(为方便区别,下文将以第一私钥代替描述)生成该软件升级包的数字签名(为方便区别,下文将以第一数字签名代替描述)。这里需要说明的是,通常情况下,某一文件的数字签名和该文件是一体的,换句话说,就是某一文件的数字签名是包含在该文件中的。比如,上述软件升级包的第一数字签名就包含在上述软件升级包中。下文同理,便不再赘述。然后,第一网络设备可将上述软件升级包和第一数字签名一同发送给第二终端设备。在该方式中,第一网络设备在确定第二终端设备处于较好的网络环境并具备OTA升级能的情况下,向第二终端设备推送第一终端设备的软件升级包,可保证后续第二终端设备能够准确无误的接收到该软件升级包,避免因网络环境不好等因素带来的无法准确且及时的传输该软件升级包等问题,可保证第二终端设备能够准确无误的接收到该软件升级包。

在另一种实现方式中,在OTA软件更新信息中包括一种或者多种类型第一终端设备类型以及每种第一终端类型对应的N1个功能模块的最新软件版本和N1个功能模块的升级子包的情况下,第一网络设备在确定出第一终端设备有多个待更新功能模块(这里假设为N2个)后,可直接根据OTA软件更新信息中包括的第一终端设备的N2个待更新功能模块对应的N2个升级子包组成该第一终端设备的软件升级包,并基于其预置的第一私钥生成该软件升级包的第一数字签名。然后,第一网络设备可先向第二终端设备发送一个包含有上述软件升级包和第一数字签名的OTA通知信息,以向第二终端设备指示所述第一终端设备存在待更新功能模块并一并提供所需的软件升级包。在该方式中,第一网络设备在确定第一终端设备存在待更新功能模块的情况下直接向第二终端设备推送用于第一终端设备进行软件升级的软件升级包,可避免其与第二终端设备的过多交互动作带来的升级时延,可有效提升第二终端设备获取软件升级包的效率。

在又一种实现方式中,在OTA软件更新信息中仅包括一种或者多种类型第一终端设备类型以及每种第一终端类型对应的N1个功能模块的最新软件版本情况下,第一网络设备在确定出第一终端设备有N2个待更新功能模块时,可向第二终端设备发送一个OTA通知信息,以向第二终端设备指示上述第一终端设备需要进行软件升级。第一终端设备在接收到上述OTA通知信息后,若确定其处于较好的网络环境下并且具备为第一终端设备推送软件升级包的能力,则可向第一网络设备反馈一个升级包下载请求,该升级包下载请求中至少包括上述第一终端设备的第三标识信息。第一网络设备在接收到上述升级包下载请求后,可确定出第一终端设备所属的第一终端设备类型(为方便区别,下文将以目标类型代替描述)以及该第一终端设备对应的N2个待升级功能模块,并向第二网络设备发送升级包获取请求。其中,该升级包获取请求中至少包括所述目标类型和所述N2个待升级功能模块的模块标识。第二网络设备在接收到上述升级包获取请求后,可根据所述目标类型和所述N2个待升级功能模块的模块标识确定出一个软件升级包,并将该软件升级包发送给第一网络设备。其中,该软件升级包中包括所述第一终端设备的N2个待升级功能模块对应的N2个升级子包,该软件升级包还包含有第二网络设备基于其对应的第三私钥生成的第三数字签名。然后,第一网络设备可基于该第三私钥对应的第三公钥对上述软件升级包进行完整性验证。具体实现中,第一网络设备可基于第三私钥对应的第三公钥对上述第三数字签名进行验签,若第一网络设备确定上述第三数字签名通过验证,则可确定该软件升级包通过完整性验证。当然,可以理解到的是,第一网络设备还可采用其他方式对由第二网络设备发动的软件升级包进行完整性验证,本申请实施例不作具体限定。第一网络设备在确定该软件升级包通过完整性验证后,可基于其预置的第一私钥生成该软件升级包对应的第一数字签名,并将该软件升级包和第一数字签名一同发送给第二终端设备。

可选的,具体实现中,在第一网络设备确定出第二终端设备的软件升级包和该软件升级包内包含的第一数字签名后,其可向第二终端设备发送一个统一资源定位符(uniform resource locator,URL),该URL指示了所述软件升级包和第一数字签名在所述第一网络设备或者与该第一网络设备相连接的第三网络设备中的资源位置和资源访问方式。第二终端设备在接收到上述URL后,可通过该URL从上述第一网络设备或者第三网络设备下载上述软件升级包。这里需要说明的是,上述第三网络设备具体可以是一个用于存储升级包的服务器或者云服务器,第一网络设备在生成一些软件升级包之后,会将这些软件升级包发送给上述第三网络设备,并获取到用于指示这些软件升级包的资源位置和资源访问方式的URL。

S2004,第二终端设备向第一网络设备发送OTA升级权限验证请求。

在一些可行的实现方式中,第二终端设备在接收到第一网络设备发送的软件升级包和第一数字签名后,在确定软件升级包和第一数据签名通过完整性验证的情况下,可以向第一网络设备发送OTA升级权限验证请求。该OTA升级权限验证请求中可第一终端设备的第三标识信息和第二终端设备的第二标识信息。这里,第二终端设备的第二标识信息。该OTA升级权限验证请求用于指示第一网络设备验证该第二终端设备是否具有针对该第一终端设备执行OTA升级的权限。

S2005,第一网络设备根据第二终端设备与第一终端设备之间是否为绑定关系来生成用于指示第二终端设备是否具有对第一终端设备执行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升级授权标识的比特值为0。上述用于指示第二终端设备具有对第一终端设备执行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升级指示信息,可使得后续第一终端设备能够准确的识别出第二终端设备是否通过了升级权限验证,从而保证了后续第一终端设备的能够基于安全的第二终端设备进行软件升级,提升软件升级的安全性。

S2006,第一网络设备向第二终端设备发送上述OTA升级指示信息。

在一些可行的实现方式中,第一网络设备在生成上述第一OTA升级指示信息或者第二OTA升级指示信息以及第二数字签名后,可将该第一OTA升级指示信息或者第二OTA升级指示信息以及第二数字签名发送给第二终端设备。

这里,需要说明的是,上述步骤S2003与后续步骤S2004、步骤S2005和步骤S2006之间执行的时序并不固定。也就是说,第一网络设备可先执行步骤S2004、步骤S2005和步骤S2006,再执行步骤S2003,也可先执行步骤S2003,再执行步骤S2004、步骤S2005和步骤S2006,本申请不作具体限制。

S202,第一终端设备确定上述OTA软件升级信息中包括的软件升级包和OTA升级指示信息由第一网络设备生成并提供给第二终端设备。

在一些可行的实现方式中,第一终端设备在接收到第二终端设备发送的OTA软件升级信息后,可从上述OTA软件升级信息中提取出软件升级包和OTA升级指示信息。然后,第一终端设备可先基于上述第二私钥对应的第二公钥对OTA升级指示信息对应的第二数字签名进行验签。具体的,第一终端设备可先通过上述第二公钥对上述第二数字签名进行解密以生成一个摘要(为方别区别,下文将以第一摘要代替描述)。然后,第一终端设备可采用第一网络设备生成上述第二数字签名时所使用的哈希算法对上述OTA升级指示信息进行处理以得到该OTA升级指示信息对应的一个摘要(为方别区别,下文将以第二摘要代替描述)。若第一终端设备确定上述第一摘要和第二摘要相同,则可确定第二数字签名通过验签,从而确定OTA升级指示信息通过完整性验证。并且,第一终端设备也可确定上述OTA升级指示信息由第一网络设备生成并提供给第二终端设备。同理,第一终端设备还可采用与上述第一私钥对应的第一公钥对软件升级包对应的第一数字签名进行验签。若第一终端设备确定上述第一数字签名通过验证,则可确定上述软件升级包通过完整性验证,从而可确定上述软件升级包由第一网络设备生成并提供给第二终端设备。具体验签过程可参见第一终端设备对第二数字签名的验签过程,此处便不再赘述。

可选的,在第一终端设备和第一网络设备之间通信质量良好的情况下,第一终端设备在接收到上述软件升级包和OTA升级指示信息后,还可将软件升级包和OTA升级指示信息转发给上述第一网络设备,以通过上述第一网络设备在验证软件升级包和OTA升级指示信息是否由第一网络设备确定并提供给第二终端设备,具体验证过程可参见前文叙述的第一终端设备验证软件升级包和OTA升级指示信息是否由第一网络设备生成并提供给第二终端设备的过程,此处便不再赘述。通过第一网络设备辅助验证软件升级包和OTA升级指示信息是否由第一网络设备生成并提供给第二终端设备,可节省第一终端设备的运算资源,提升第一终端设备的数据处理能力。

S203,若第一终端设备根据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升级的权限的情况下,第一终端设备可基于上述软件升级包中包括的N2个升级子包对其N2个功能模块进行软件升级。可选的,在第一终端设备确定上述N2个功能模块都升级完成后,第一终端设备可向第一终端设备发送一个升级完成指示信息,以告知第二终端设备其已经完成N2个功能模块的升级。这里,上述升级完成指示信息中可包括升级后的N2个功能模块对应的软件版本信息以及上述N1个功能模块中除上述N2个功能模块的N1-N2个不需要进行升级的功能模块当前的软件版本信息。可选的,第一终端设备在接收到上述升级完成指示信息后,还可将上述升级完成指示信息转发给第一网络设备,以告知第一网络设备第一终端设备已经完成N2个功能模块的升级。这样也可使得第一网络设备也可根据上述升级后的N2个功能模块对应的软件版本信息对其存储的第一终端设备的各功能模块的软件版本信息进行更新,以使得其存在的第一终端设备的各功能模块的软件版本信息都为最新的软件版本信息。

在本申请实施例中,第一终端设备在确定第一网络设备授权第二终端设备为其执行OTA软件升级的情况下基于第二终端设备提供的软件升级包进行软件升级,在保证软件升级的安全性的同时也避免了基于OTA技术进行软件升级时因网络信号较差等原因导致的软件升级不及时以及用户数据流量开销巨大的问题,提升了软件升级过程的效率和安全性,提升了第一终端设备的用户体验。

请参见图4,图4是本申请实施例提供的一种装置一结构示意图。该装置可为前文实施例中叙述的第一终端设备,该装置可用于执行上述实施例中描述的第一终端设备的功能。为了便于说明,图4中仅示出了该装置的主要部件。由图4可知,该装置包括处理器、存储器、射频电路、天线以及输入/输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对装置进行控制,执行软件程序,处理软件程序的数据等。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收使用该装置的用户输入的数据以及对该用户输出数据。需要说明的是,在某些场景下,该通信设备可以不包括输入输出装置。

当需要发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端设备时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。为便于说明,图4中仅示出了一个存储器和处理器。在实际的装置产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。

作为一种可选的实现方式,处理器可以包括基带处理器和/或中央处理器,基带处理器主要用于对通信协议以及通信数据进行处理,中央处理器主要用于对整个终端设备进行控制,执行软件程序,处理软件程序的数据。图4中的处理器可以集成基带处理器和中央处理器的功能,本领域技术人员可以理解,基带处理器和中央处理器也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,终端设备可以包括多个基带处理器以适应不同的网络制式,终端设备可以包括多个中央处理器以增强其处理能力,终端设备的各个部件可以通过各种总线连接。上述基带处理器也可以表述为基带处理电路或者基带处理芯片。上述中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储单元中,由处理器执行软件程序以实现基带处理功能。

在本申请实施例中,可以将具有收发功能的天线和射频电路视为装置的收发单元,将具有处理功能的处理器视为装置的处理单元。如图4所示,该装置包括收发单元410和处理单元420。这里,收发单元也可以称为收发器、收发机、收发装置等。处理单元也可以称为处理器,处理单板,处理模块、处理装置等。可选的,可以将收发单元410中用于实现接收功能的器件视为接收单元,将收发单元410中用于实现发送功能的器件视为发送单元,即收发单元410包括接收单元和发送单元。这里,接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。

具体实现中,上述收发单元410用于接收来自第二终端设备的OTA软件升级信息。这里,上述OTA软件升级信息包括软件升级包和OTA升级指示信息,具体过程可参见实施例一中步骤S201描述的第一终端设备接收OTA软件升级信息的过程,此处便不再赘述。上述处理单元420用于确定上述软件升级包和上述OTA升级指示信息由第一网络设备生成并提供给上述第二终端设备。具体过程可参见实施例一中步骤S202中所描述的过程,此处便不再赘述。上述处理单元420还用于根据上述OTA升级指示信息确定上述第二终端设备具有对上述第一终端设备执行OTA升级的权限后,基于上述软件升级包进行软件升级。具体过程可参见实施例一中步骤S203中所描述的过程,此处便不再赘述。

在一种可选的实现方式中,上述处理单元420用于:通过上述第一网络设备的第一公钥对上述升级软件包的第一数字签名进行验证,和/或,通过上述第一网络设备的第二公钥对上述OTA升级指示信息的第二数字签名进行验证。若确定上述软件升级包的第一数字签名和/或上述OTA升级指示信息第二数字签名通过验证,则确定上述软件升级包和/或上述OTA升级指示信息由第一网络设备生成并提供给上述第二终端设备。

在一种可选的实现中,上述处理单元420用于:若确定上述OTA升级指示信息中包括以下至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识,则确定上述第二终端设备具有对上述第一终端设备执行OTA升级的权限。

在一种可选的实现中,上述处理单元420用于:触发上述收发单元410将上述OTA升级指示信息发送给上述第一网络设备。若确定上述收发单元410接收到上述第一网络设备发送的针对上述OTA升级指示信息的权限验证通过标识,则确定上述第二终端设备具有对上述第一终端设备执行OTA升级的权限。这里,用于指示上述第二终端设备具有对上述第一终端设备执行OTA升级的权限的上述OTA升级指示信息包括以下至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识。

在一种可选的实现中,上述处理单元420用于:确定上述软件升级包和上述OTA升级指示信息通过完整性验证。

在一种可选的实现中,上述软件升级包中包括上述第一终端设备的N1个功能模块中的N2个功能模块对应的升级子包。

在一种可选的实现中,上述收发单元410用于向上述第二终端设备发送升级完成指示信息,上述升级完成指示信息用于指示上述N2个功能模块已经完成软件升级。

请参见图5,图5是本申请实施例提供的一种装置又一结构示意图。该装置可为前文实施例一中叙述的第二终端设备,该装置可用于执行上述实施例中描述的第二终端设备的功能。为了便于说明,图5中仅示出了装置的主要部件。由图5可知,该装置包括处理器、存储器、射频电路、天线以及输入输出装置。图5所示的装置和图4所示的装置在结构上类似,具体内容可参见前文对图4的装置的描述,此处便不再赘述。

在本申请实施例中,可以将具有收发功能的天线和射频电路视为装置的收发单元,将具有处理功能的处理器视为装置的处理单元。如图5所示,该装置包括收发单元510和处理单元520。这里,收发单元也可以称为收发器、收发机、收发装置等。处理单元也可以称为处理器,处理单板,处理模块、处理装置等。可选的,可以将收发单元510中用于实现接收功能的器件视为接收单元,将收发单元510中用于实现发送功能的器件视为发送单元,即收发单元510包括接收单元和发送单元。这里,接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。

具体实现中,上述收发单元510用于接收第一网络设备发送的软件升级包。这里,上述软件升级包对应有上述第一网络设备确定的第一数字签名。具体过程可参加实施例一中步骤S2003中描述的接收第一网络设备发送的软件升级包的过程,此处便不再赘述。上述收发单元510还用于接收第一网络设备发送的OTA升级指示信息。其中,上述OTA升级指示信息用于指示上述第二终端设备针对第一终端设备是否具备OTA升级权限,上述OTA升级指示信息对应有上述第一网络设备确定的第二数字签名。具体过程请参见实施例一中步骤S2006所描述的过程,此次便不再赘述。上述处理单元520用于生成包含上述软件升级包和OTA升级指示信息的OTA软件升级信息。上述收发单元510还用于向上述第一终端设备发送该OTA软件升级信息。

在一种可选的实现中,在上述收发单元510接收上述第一网络设备发送的OTA升级指示信息之前,上述收发单元510还用于:向上述第一网络设备发送OTA升级权限验证请求,其中,上述OTA升级权限验证请求用于请求上述第一网络设备确定上述第二终端设备是否具有对上述第一终端设备执行OTA升级的权限。其中,上述OTA升级权限验证请求包括上述第一终端设备的第三标识信息。

在一种可选的实现中,用于指示上述第二终端设备具有对上述第一终端设备执行OTA升级的权限的上述OTA升级指示信息包括以下至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识。

在一种可选的实现中,用于指示上述第二终端设备具有对上述第一终端设备执行OTA升级的权限的上述OTA升级指示信息包括以下至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识。

在一种可选的实现中,上述软件升级包中包括上述第一终端设备的N1个功能模块中的N2个功能模块对应的升级子包。

在一种可选的实现中,上述收发单元510用于接收上述第一终端设备发送的升级完成指示信息。上述升级完成指示信息用于指示上述N2个功能模块已经完成软件升级。

请参见图6,图6是本申请实施例提供的一种装置又一结构示意图。如图6所示,该装置可应用于如图1所示的通信系统中,执行上述实施例一中网络设备的功能。该装置可包括一个或多个收发单元610和一个或多个处理单元620。上述收发单元610可以称为收发机、收发电路、或者收发器等等,其可以包括至少一个天线和射频单元。上述收发单元610部分主要用于射频信号的收发以及射频信号与基带信号的转换,例如用于向终端设备发送上述实施例中的指示信息。上述处理单元620部分主要用于进行基带处理,对装置进行控制等。上述收发单元610与处理单元620可以是物理上设置在一起,也可以物理上分离设置的,即分布式装置。例如上述处理单元620可以用于控制装置执行上述实施例中关于指示信息的确定过程。在具体实现中,上述处理单元620可以由一个或多个单板构成,多个单板可以共同支持单一接入指示的无线接入网(如NR网),也可以分别支持不同接入制式的无线接入网。上述处理单元620还包括存储器和处理器,上述存储器用于存储必要的指令和数据。上述处理器用于控制装置进行必要的动作,例如用于控制装置执行上述方法实施例中关于装置的操作流程。上述存储器和处理器可以服务于一个或多个单板。也就是说,可以每个单板上单独设置存储器和处理器。也可以是多个单板共用相同的存储器和处理器。此外每个单板上还可以设置有必要的电路。

作为一种可选的实现方式,处理器可以包括基带处理器和/或中央处理器,基带处理器主要用于对通信协议以及通信数据进行处理,中央处理器主要用于对整个装置进行控制,执行软件程序,处理软件程序的数据。图6中的处理器可以集成基带处理器和中央处理器的功能,本领域技术人员可以理解,基带处理器和中央处理器也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,装置可以包括多个基带处理器以适应不同的网络制式,装置可以包括多个中央处理器以增强其处理能力,装置的各个部件可以通过各种总线连接。上述基带处理器也可以表述为基带处理电路或者基带处理芯片。上述中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储单元中,由处理器执行软件程序以实现基带处理功能。

具体实现中,上述处理单元620用于确定第一终端设备对应的软件升级包和OTA升级指示信息。这里,上述OTA升级指示信息用于指示第二终端设备是否具有对上述第一终端设备执行OTA升级的权限。具体过程可参见实施例一中步骤S2002和S2005中所描述的确定第一终端设备对应的软件升级包和OTA升级指示信息的过程,此处便不再赘述。收发单元620用于向上述第二终端设备发送上述软件升级包和上述OTA升级指示信息。具体过程可参见实施例一中步骤S2003和S2006中所描述向第二终端设备发送软件升级包和OTA升级指示信息的过程,此处便不再赘述。

在一种可选的实现中,上述收发单元610用于:接收第二终端设备发送的升级包下载请求,其中,上述升级包下载请求用于请求上述第一网络设备为上述第二终端设备提供第一终端设备对应的软件升级包。

在一种可选的实现中,上述收发单元610用于:接收第二网络设备发送的OTA软件更新信息。其中,上述OTA软件更新信息至少包括上述第一终端设备的N1个功能模块对应的第一软件版本信息和上述N1个功能模块对应的升级子包。上述处理单元620用于:若确定上述第一终端设备的N1个功能模块中的N2个功能模块的第二软件版本信息低于上述OTA软件更新信息中包括的上述N2个功能模块的第一软件版本信息,则根据上述N2个功能模块对应的升级子包确定出上述第一终端设备的软件升级包。这里,N2小于或者等于N1,上述软件升级包对应有上述第一网络设备确定的第一数字签名。

在一种可选的实现中,上述收发单元610用于:接收上述第二终端设备发送的OTA升级权限验证请求,上述OTA升级权限验证请求至少包括上述第一终端设备的第三标识信息。上述处理单元620用于:根据上述第二终端设备与上述第一终端设备之间是否为绑定关系生成用于指示第二终端设备是否具有对上述第一终端设备执行OTA升级的权限的OTA升级指示信息。这里,上述OTA升级指示信息对应有上述第一网络设备确定的第二数字签名。

在一种可选的实现中,用于指示第二终端设备具有对上述第一终端设备执行OTA升级的权限的OTA升级指示信息包括以下中的至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识。

在一种可选的实现中,上述收发单元610还用于:接收上述第一终端设备发送的上述OTA升级指示信息。上述处理单元还用于:若确定上述OTA升级指示信息包括以下至少一项:上述第一网络设备的第一标识信息、上述第二终端设备的第二标识信息、上述第一终端设备的第三标识信息、OTA升级授权标识,则触发上述收发单元向上述第一终端设备发送权限验证通过标识。

请参见图7,图7是本申请实施例提供的一种装置又一结构示意图。该装置可以为上述实施例一中的第一终端设备,该装置可用于实现第一终端设备所实现的软件升级方法。该装置包括:处理器71、存储器72、收发器73。

存储器71包括但不限于是RAM、ROM、EPROM或CD-ROM,该存储器71用于存储相关指令及数据。存储器71存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:

操作指令:包括各种操作指令,用于实现各种操作。

操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

图7中仅示出了一个存储器,当然,存储器也可以根据需要,设置为多个。

收发器72可以是通信模块、收发电路。应用在本申请实施例中,收发器73用于执行上述实施例中所涉及的接收软件升级包和OTA升级指示信息等操作。

处理器71可以是控制器,CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器71也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。

具体的应用中,装置的各个组件可通过总线系统耦合在一起,该线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。

本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述实施例中第一终端设备执行的方法或者步骤。

本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述实施例中第一终端设备执行的方法或者步骤。

本申请实施例还提供了一种装置,该装置可以是上述实施例中的第一终端设备。该装置包括处理器和接口。该处理器用于执行上述实施例中终端设备执行的方法或者步骤。应理解,上述终端设备可以是一个芯片,上述处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,改存储器可以集成在处理器中,可以位于上述处理器之外,独立存在。

请参见图8,图8是本申请实施例提供的一种装置又一结构示意图。该装置可以为上述实施例中的第二终端设备,该装置可用于实现上述实施例中的第二终端设备所实现的方法。该装置包括:处理器81、存储器82、收发器83。

存储器81包括但不限于是RAM、ROM、EPROM或CD-ROM,该存储器81用于存储相关指令及数据。存储器81存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:

操作指令:包括各种操作指令,用于实现各种操作。

操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

图8中仅示出了一个存储器,当然,存储器也可以根据需要,设置为多个。

收发器83可以是通信模块、收发电路。应用在本申请实施例中,收发器83用于执行从第一网络设备出接收软件升级包和OTA升级指示信息等操作。

处理器81可以是控制器,CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器81也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。

具体的应用中,装置的各个组件可通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。

本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述实施例中第二终端设备执行的方法或者步骤。

本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述实施例中第二终端设备执行的方法或者步骤。

本申请实施例还提供了一种装置,该装置可以是实施例中的第二终端设备。该装置包括处理器和接口。该处理器用于执行上述实施例中终端设备执行的方法或者步骤。应理解,上述终端设备可以是一个芯片,上述处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,改存储器可以集成在处理器中,可以位于上述处理器之外,独立存在。

请参见图9,图9是本申请实施例提供的一种装置又一结构示意图。该装置可以是实施例一中的网络设备,可用于实现上述实施例一中网络设备所实现的方法或步骤。该装置包括:处理器91、存储器92、收发器93。

存储器92包括但不限于是RAM、ROM、EPROM或CD-ROM,该存储器92用于存储相关指令及数据。存储器92存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:

操作指令:包括各种操作指令,用于实现各种操作。

操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

图9中仅示出了一个存储器,当然,存储器也可以根据需要,设置为多个。

收发器93可以是通信模块、收发电路。应用在本申请实施例中,收发器93用于执行实施例中所涉及的软件升级包和OTA升级指示信息的发送等过程。

处理器91可以是控制器,CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器91也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。

具体的应用中,装置的各个组件可通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。

应注意,实际应用中,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal Processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。

需要说明的是,本申请还提供一种通信系统,其包括前述的一个或多个第一终端设、一个或多个第二终端设备,和,一个或者多个网络设备。

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

应注意,实际应用中,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal Processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

应理解,本申请实施例中的术语“系统”和“网络”常可被互换使用。本实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

相关技术
  • 一种软件升级的方法及软件升级装置
  • 一种软件升级强制触发方法、装置及软件升级系统
技术分类

06120113084481