一种终端设备远程升级的方法及相关装置与流程

文档序号:23392090发布日期:2020-12-22 13:58阅读:210来源:国知局
一种终端设备远程升级的方法及相关装置与流程

本发明涉及通信领域,尤其涉及一种终端设备远程升级的方法及相关装置。



背景技术:

随着通信技术的发展,物联网技术迅猛发展,针对物联网业务,3gpp在r13制定了增强型机器类通信(enhancedmachinetypeofcommunication,emtc)标准、以及基于蜂窝的窄带物联网(narrowbandinternetofthings,nb-iot)标准,加上长期演进(longtermevolution,lte)cat1技术,完整覆盖了物联网的低速、中速业务场景。目前各类物联网产品已经开始进入了我们的生产和生活。

在物联网时代,物联网终端设备的数量巨大,未来可能存在数百亿个物联网(internetofthings,iot)连接。现阶段,终端设备通常是从服务器下载自身对应的升级数据包来进行设备升级。由于终端设备数量巨大,升级过程会占用大量网络资源,并且耗时较长。



技术实现要素:

本申请实施例提供一种终端设备远程升级的方法及相关装置,能够提升终端设备的升级效率。

第一方面,本申请实施例提供一种终端设备远程升级的方法,所述方法包括:服务器接收多个终端设备发送的版本信息,所述版本信息用于指示终端设备的版本号;所述服务器根据所述版本信息确定所述多个终端设备中的待升级终端设备,所述待升级终端设备的版本号低于升级版本号;所述服务器确定升级时间点;所述服务器向所述待升级终端设备发送第一升级指示信息,所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级;所述服务器在所述升级时间点广播所述升级版本号对应的升级数据包。通过本方法,能够提升终端设备的升级效率。

结合第一方面,在一种可能的实现方式中,在所述服务器确定升级时间点之前,所述方法包括:所述服务器确定所述待升级终端设备的第一数量;当所述待升级终端设备的第一数量大于或等于第一预设值,或者所述待升级终端设备的第一数量与终端设备的总数量的比值大于或等于第二预设值时,执行所述服务器确定升级时间点的步骤。

结合第一方面,在一种可能的实现方式中,当所述待升级终端设备的第一数量小于所述第一预设值,或者所述待升级终端设备的第一数量与终端设备的总数量的比值小于所述第二预设值时,所述服务器向所述待升级终端设备发送第二升级指示信息,所述第二指示信息中包括所述升级版本号和下载地址,所述第二升级指示信息用于指示所述待升级终端设备使用单播方式进行升级。

结合第一方面,在一种可能的实现方式中,在所述服务器在所述升级时间点广播所述升级版本号对应的升级数据包之后,所述方法还包括:所述服务器再次广播n次所述升级数据包,所述n为大于等于1的正整数,所述n小于预设次数;所述服务器确定第二数量和第三数量,所述第二数量为第n次广播之后的所述多个终端设备中的待升级终端设备的数量,所述第三数量为第n+1次广播之后的所述多个终端设备中的待升级终端设备的数量;若所述第二数量与所述第三数量的差值小于第三预设值,或者所述第二数量与所述第三数量的差值与所述终端设备的总数量的比值小于第四预设值,则确定所述第三数量为所述第一预设值,或者确定所述第三数量与所述终端设备的总数量的比值为所述第二预设值。

结合第一方面,在一种可能的实现方式中,在所述服务器在所述升级时间点广播所述升级版本号对应的升级数据包之后,所述方法还包括:所述服务器再次广播a次所述升级数据包,所述a为大于等于1的正整数,所述a小于预设次数;所述服务器确定第四数量,所述第四数量为第a+1次广播之后的所述多个终端设备中的待升级终端设备的数量;若所述第四数量小于第五预设值,或者所述第四数量与所述终端设备的总数量的比值小于第六预设值,则确定所述第五数量为所述第一预设值,或者确定所述第五数量与所述终端设备的总数量的比值为所述第二预设值。

结合第一方面,在一种可能的实现方式中,所述版本信息包含在终端设备的心跳包中,所述心跳包中还包含下一次心跳包的发送时间点或者所述心跳包的发送周期;所述服务器确定升级时间点,包括:所述服务器根据所述待升级终端设备的下一次心跳包的发送时间点或者所述心跳包的发送周期确定所述升级时间点。

结合第一方面,在一种可能的实现方式中,所述服务器确定升级时间点,包括:所述服务器根据接收到的一个终端设备发送的版本信息的时间间隔确定所述一个终端设备的下一个版本信息的发送时间点或者所述版本信息的发送周期,所述一个终端设备包含于所述待升级终端设备;所述服务器根据所述待升级终端设备的下一个版本信息的发送时间点或者所述版本信息的发送周期确定所述升级时间点。

结合第一方面,在一种可能的实现方式中,所述服务器向所述待升级终端设备发送第一升级指示信息,包括:所述服务器通过广播/多播服务中心bm-sc向所述待升级终端设备发送第一usd,所述第一usd中包括所述第一升级指示信息。

结合第一方面,在一种可能的实现方式中,所述服务器向所述待升级终端设备发送第二升级指示信息,包括:所述服务器通过bm-sc向所述待升级终端设备发送第二usd,所述第二usd中包括所述第二升级指示信息。

第二方面,本申请实施例提供了又一种终端设备远程升级的方法,该方法包括:终端设备向服务器发送版本信息,所述版本信息用于指示终端设备的版本号;在所述终端设备接收所述服务器发送的第一升级指示信息的情况下,所述终端设备在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包;其中,所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级。

结合第二方面,在一种可能的实现方式中,所述方法还包括:在所述终端设备接收所述服务器发送的第二升级指示信息的情况下,所述终端设备根据下载地址从服务器中获取所述升级版本号对应的升级数据包;其中,所述第二指示信息中包括所述升级版本号和下载地址,所述第二升级指示信息用于指示所述终端设备使用单播方式进行升级。

结合第二方面,在一种可能的实现方式中,在所述终端设备在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包之前,所述方法还包括:所述终端设备确定自身版本号与所述升级版本号不同。

结合第二方面,在一种可能的实现方式中,在所述终端设备根据下载地址从服务器中获取所述升级版本号对应的升级数据包之前,所述方法还包括:所述终端设备确定自身版本号与所述升级版本号不同。

结合第二方面,在一种可能的实现方式中,在所述终端设备在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包之后,所述方法还包括:所述终端设备检验所述升级数据包;若校验成功,则所述终端设备根据所述升级数据包进行升级,在所述升级成功之后,重启所述终端设备,并向所述服务器发送版本信息;若校验失败,则向所述服务器发送版本信息。

第三方面,本申请实施例提供了一种服务器,所述服务器包括接收单元,确定单元,发送单元和广播单元,其中:所述接收单元,用于接收多个终端设备发送的版本信息,所述版本信息用于指示终端设备的版本号;所述确定单元,用于根据所述版本信息确定所述多个终端设备中的待升级终端设备,所述待升级终端设备的版本号低于升级版本号;所述确定单元,还用于确定升级时间点;所述发送单元,用于向所述待升级终端设备发送第一升级指示信息,所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级;所述广播单元,用于在所述升级时间点广播所述升级版本号对应的升级数据包。

第四方面,本申请提供了一种终端设备,所述终端设备包括发送单元和接收单元,其中:所述发送单元,用于向服务器发送版本信息,所述版本信息用于指示终端设备的版本号;所述接收单元,用于在所述终端设备接收所述服务器发送的第一升级指示信息的情况下,在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包;所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级。

第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面及其任一种可能的实现方式中的方法。

第六方面,本申请提供了又一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序使得计算机执行上述第二方面及其任一种可能的实现方式中的方法。

在本申请实施例中,服务器可以根据接收到的多个终端设备发送的版本信息确定待升级终端设备,并确定升级时间点。之后,服务器向待升级终端设备发送升级指示信息,并在该升级时间点广播升级数据包以升级该待升级终端设备。待升级终端设备无需分别从服务器下载自身对应的升级数据包来进行设备升级,通过本申请实施例提供的方法,可以提升终端设备的升级效率。

附图说明

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

图1是本申请实施例提供的一种网络架构的示意图;

图2是本申请实施例提供的一种终端设备远程升级的方法的流程图;

图3是本申请实施例提供的又一种终端设备远程升级的方法的流程图;

图4是本申请实施例提供的又一种终端设备远程升级的方法的流程图;

图5是本申请实施例提供的一种服务器的结构示意图;

图6是本申请实施例提供的一种终端设备的结构示意图;

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

图8是本申请实施例提供的又一种终端设备的结构示意图。

具体实施方式

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

本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。

需要说明的是,本申请的说明书和权利要求书中及上述附图中的属于“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述以外的顺序实施。此外,术语“包括”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例可以应用于图1所示的网络架构示意图,图1所示的网络架构为无线通信系统的网络架构。该网络架构通常包括终端设备、服务器和广播/多播服务中心(broadcastmulticastservicecentre,bm-sc),各个设备数量以及形态并不构成对本申请实施例的限定。示例性的,网络构架中包括终端设备100、服务器200和广播/多播服务中心300。终端设备100可以包括多个终端设备,例如,终端设备100-1、终端设备100-2、终端设备100-3,等等。服务器200可以为这些终端设备提供升级服务。可选的,服务器可以通过广播/多播服务中心300向终端设备100发生升级指示消息和升级数据包。

需要说明的是,本申请实施例无线通信系统包括但不限于:窄带物联网系统(narrowband-internetofthings,nb-iot)、增强型机器类通信系统(enhancedmachinetypeofcommunication,emtc)、全球移动通信系统(globalsystemformobilecommunications,gsm)、增强型数据速率gsm演进系统(enhanceddatarateforgsmevolution,edge)、宽带码分多址系统(widebandcodedivisionmultipleaccess,wcdma)、码分多址2000系统(codedivisionmultipleaccess,cdma2000)、时分同步码分多址系统(timedivision-synchronizationcodedivisionmultipleaccess,td-scdma),长期演进系统(longtermevolution,lte)、长期演进(longtermevolution,lte)cat1系统,第五代移动通信(5th-generation,5g)系统以及未来移动通信系统。

本申请实施例涉及到的终端设备还可以称为终端,可以是一种具有无线收发功能的设备,其可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。终端设备可以是用户设备(userequipment,ue),其中,ue包括具有无线通信功能的手持式设备、车载设备、可穿戴设备或计算设备。示例性地,ue可以是手机(mobilephone)、平板电脑或带无线收发功能的电脑。终端设备还可以是虚拟现实(virtualreality,vr)终端设备、增强现实(augmentedreality,ar)终端设备、工业控制中的无线终端、无人驾驶中的无线终端、远程医疗中的无线终端、智能电网中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smarthome)中的无线终端等等。本申请实施例中,用于实现终端的功能的装置可以是终端;也可以是能够支持终端实现该功能的装置,例如芯片系统,该装置可以被安装在终端中。本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。

以下对本申请实施例涉及到的一些概念进行介绍。

心跳包,是在终端设备向服务器发送的一种用于通知服务器自身状态的命令字,它一般按照预设的发送周期发送,类似于心跳。

低功耗(powersavingmode,psm)模式,是一种终端设备的工作模式。其原理是允许终端设备在进入空闲态一段时间后,关闭信号的收发和接入层的相关功能,相当于部分关机,从而减少天线、射频、信令处理等的功耗消耗。在psm模式下,终端设备不去检测下行是否有寻呼数据。对于网络侧来说,终端设备此时是不可达的。只有在跟踪区更新(trackingareaupdate,tau)周期请求定时器(t3412)超时,或者终端设备有业务要处理的情况下,终端设备才会退出psm模式、进入空闲态,进而进入连接态处理上下行业务。

扩展的非连续接收(extendeddiscontinousreception,edrx)模式,是另一种终端设备的工作模式。相对于非连续接收(discontinousreception,drx),终端设备具有更长的寻呼检测周期,使得终端能够更好的节省功率。对于网络侧来说,在寻呼检测周期内,终端是可达的;在寻呼检测周期外,终端是不可达的。

下面基于上述内容中介绍的网络架构及设备,对本申请实施例提供的一种终端设备远程升级的方法进行介绍。参见图2,图2是本申请实施例提供的一种终端设备远程升级的方法的流程图。在该实例中,以服务器为服务器200,多个终端设备为终端设备100-1、终端设备100-2为例。需要说明的是,在实际应用中,多个终端设备可以包含更多数量终端设备。该方法包括以下步骤。

s101、终端设备100-1向服务器200发送终端设备100-1的版本信息。

其中,终端设备100-1发送的版本信息用于指示终端设备100-1的版本号。示例性的,该终端设备100-1的版本号可以为2.2.3。

在一种可能的实现方式中,该版本信息可以包含在终端设备100-1发送的心跳包中。服务器200可以周期性的接收到终端设备100-1的版本信息。可选的,在终端设备100-1开机或者重启之后,终端设备100-1向服务器200发送心跳包。

在又一种可能的实现方式中,该版本信息可以包含在终端设备100-1发送的业务数据中。服务器200可以在接收到业务数据的情况下,从业务数据中解析出终端设备100-1的版本信息。可选的,终端设备100-1可以周期性地向服务器200发送业务数据。可选的,终端设备100-1处于低功耗模式,或者处于扩展的非连续接收模式下,终端设备100-1可以在需要传输业务数据时,向服务器200发送业务数据。

s102、终端设备100-2向服务器200发送终端设备100-2的版本信息。

其中,终端设备100-2发送的版本信息用于指示终端设备100-2的版本号。示例性的,该终端设备100-2的版本号可以为2.2.4。相似的,终端设备100-2发送的版本信息可以包含在终端设备100-2发送的心跳包中,也可以包含在终端设备100-2发送的业务数据中。

s103、在服务器200接收了多个终端设备发送的版本信息之后,服务器200根据所述版本信息确定所述多个终端设备中的待升级终端设备。

其中,所述待升级终端设备的版本号低于升级版本号。示例性的,升级版本号可以为2.2.4,那么终端设备100-1的版本号低于升级版本号,终端设备100-2的版本号与升级版本号相同。服务器200确定终端设备100-1为待升级终端设备。

在一些可能的实现方式中,终端设备的版本号也可能高于升级版本号,例如为测试版本号。服务器200可以不对这些终端设备进行升级。

s104、所述服务器200确定升级时间点。

在一些实施例中,所述版本信息包含在终端设备的心跳包中,所述心跳包中还包含下一次心跳包的发送时间点或者所述心跳包的发送周期。那么,服务器200确定升级时间点的方式可以为:服务器200根据所述待升级终端设备的下一次心跳包的发送时间点或者所述心跳包的发送周期确定所述升级时间点。由于终端设备发送心跳包的时候,处于连接态,可以接收到服务器200下发的升级指示信息(包括第一升级指示信息以及第二升级指示信息)。服务器200可以在待升级终端设备下一次发送心跳包时,发送升级指示信息。升级时间点应位于待升级终端设备接收到升级指示信息之后。

在本示例中,待升级终端设备为终端设备100-1,若心跳包中包含下一次心跳包的发送时间点,该下一次心跳包的发送时间点为a1,那么升级时间点可以为a1+tdelta。其中,tdelta为一个预设时间值,该预设时间值可以为1秒、1分钟,等等;用于等待待升级终端设备处理接收到的升级指示信息。

若心跳包中包含心跳包的发送周期,该心跳包的发送周期是a2,当前接收到版本信息的时间点为a3,可以理解的是,a1=a2+a3;那么,升级时间点可以为a2+a3+tdelta。

在另一个示例中,待升级终端设备可以为多个。在这种情况下,服务器200可以计算出每一个待升级终端设备下一个心跳包发送时间点,示例性的,可以为t1,t2,t3,…,tn,n为待升级终端设备的个数,一个时间点与一个待升级终端设备相对应。那么升级时间点可以为max(t1,t2,t3,…,tn)+tdelta,也即是说,升级时间点为所有待升级终端设备的下一个心跳包的发送时间点中的最大值与预设时间值的和。

在另一些实施例中,所述版本信息包含在终端设备的心跳包中,或者所述版本信息包含在终端设备的业务数据中。可选的,心跳包中未包含下一次心跳包的发送时间点或者所述心跳包的发送周期,业务数据中未包含下一次业务数据的发送时间点或者所述业务数据的发送周期。那么,服务器200确定升级时间点的方式可以为:所述服务器200根据接收到的一个终端设备发送的版本信息的时间间隔确定所述一个终端设备的下一个版本信息的发送时间点或者所述版本信息的发送周期;所述服务器根据所述待升级终端设备的下一个版本信息的发送时间点或者所述版本信息的发送周期确定所述升级时间点。其中,所述一个终端设备包含于所述待升级终端设备。

在本示例中,服务器200可以根据当前接收到的终端设备100-1发送的版本信息的时间点以及上一次接收到的终端设备100-1发送的版本信息的时间点,确定终端设备100-1发送版本信息的时间间隔。可选的,将这个时间间隔视为所述版本信息的发送周期。或者,服务器200根据这个时间间隔和当前接收到版本信息的时间点,确定下一个版本信息的发送时间点。

可选的,服务器200还可以根据之前接收到的多个版本信息中相邻两两版本信息的时间间隔,计算平均的终端设备100-1发送版本信息的时间间隔,将这个平均的时间间隔,视为终端设备100-1发送版本信息的发送周期。或者,服务器200根据这个平均的时间间隔和当前接收到版本信息的时间点,确定下一个版本信息的发送时间点。

在另一个示例中,待升级终端设备可以为多个。在这种情况下,服务器200可以计算出每一个待升级终端设备下一个版本信息的发送时间点或者版本信息的发送周期。

之后,服务器200根据所述待升级终端设备的下一个版本信息的发送时间点或者版本信息的发送周期确定所述升级时间点。需要说明的是,服务器200根据所述待升级终端设备的下一个版本信息的发送时间点或者版本信息的发送周期确定所述升级时间点的方式,可以参照上述介绍的服务器200根据所述待升级终端设备的下一次心跳包的发送时间点或者所述心跳包的发送周期确定所述升级时间点的方式,此处不再赘述。

s105、服务器200向所述待升级终端设备(即终端设备100-1)发送第一升级指示信息。

具体的,所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级。

可选的,服务器200向所述待升级终端设备(即终端设备100-1)发送第一升级指示信息的方式可以为:服务器200通过广播/多播服务中心(bm-sc)300向所述待升级终端设备发送第一用户服务描述文件(userservicedescription,usd),所述第一usd中包括所述第一升级指示信息。

在一种可能的实现方式中,服务器200通过广播/多播服务中心300向所述待升级终端设备发送第一usd的具体实施过程可参照如下步骤:

s01、服务器200向广播/多播服务中心300发送第一升级指示信息。

其中,第一升级指示信息包括升级版本号(示例为2.2.4)和步骤s104中服务器200确定出的升级时间点。

s02、广播/多播服务中心300根据所述第一升级指示信息生成第一usd。

其中,第一usd中包括所述第一升级指示信息。

s03、广播/多播服务中心300向所述待升级终端设备发送第一usd。

在一种可选的实施方式中,广播/多播服务中心300可以采用多媒体多播和广播服务(multimediabroadcastandmulticastservice,mbms)的方式向所述待升级终端设备发送所述第一usd。

在另一种可选的实施方式中,广播/多播服务中心300可以采用微软媒体服务器协议(microsoftmediaserverprotocol,mms)、短信息服务(shortmessageservice,sms)、无线应用协议(wirelessapplicationprotocol,wap),或者超文本传输协议(http)等单播的方式向所述待升级终端设备发送所述第一usd。

在一些实施例中,若当前的待升级终端设备,未处于psm模式或者edrx模式中的寻呼检测周期外;则广播/多播服务中心300可以立即向待升级终端设备发起寻呼过程,将所述第一usd发送给终端设备。若当前的待升级终端设备,处于psm模式或者edrx模式中的寻呼检测周期外;则广播/多播服务中心300可以在下一次终端接入网络的时刻(发送心跳包的时刻或者其他信令数据接入的时刻),向待升级终端设备发送所述第一usd。

s106、服务器200在所述升级时间点广播所述升级版本号对应的升级数据包。

可选的,服务器200通过广播/多播服务中心300在所述升级时间点广播所述升级版本号对应的升级数据包。

在一种可能的实现方式中,服务器200通过广播/多播服务中心300在所述升级时间点广播所述升级版本号对应的升级数据包的具体实施过程可参照如下步骤:

s11、服务器200向广播/多播服务中心300发送升级请求信息。

其中,该升级请求信息可以包括升级数据包以及升级时间点等信息。该升级请求信息用于指示广播/多播服务中心300在所述升级时间点广播所述升级版本号对应的升级数据包。

s12、广播/多播服务中心300根据所述升级请求信息在所述升级时间点广播所述升级版本号对应的升级数据包。

可选的,广播/多播服务中心300可以使用基于flute协议的mbms下载传输方法(mbmsdownloaddeliverymethodusesthefluteprotocol)来进行广播。可选的,广播/多播服务中心300还可以使用第三代移动通信技术(the3rdgenerationmobilecommunicationtechnology-generation,3g)中的多媒体多播和广播服务(mbms),或者使用第四代移动通信技术(the4thgenerationmobilecommunicationtechnology,4g)中的增强型广播多播技术(evolvedmbms,embms)、单小区点对多广播服务(single-cellpoint-to-multipointmbms,sc-ptm),等等技术进行广播。可选的,广播/多播服务中心300还可以使用第五代移动通信技术(the5thgenerationmobilecommunicationtechnology,5g)以及后续演进技术进行广播。

s107、在所述终端设备100-1接收所述服务器发送的第一升级指示信息的情况下,所述终端设备100-1在所述升级时间点接收所述服务器200发送的所述升级版本号对应的升级数据包。

可选的,若终端设备100-1处于psm模式或者edrx模式,则终端设备100-1在升级时间点进行唤醒,以接收所述服务器200发送的所述升级版本号对应的升级数据包。

在一种可能的实现方式中,第一升级指示信息中包括升级版本号。在所述终端设备100-1在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包之前,所述方法还包括:所述终端设备100-1确定自身版本号与所述升级版本号不同。由于第一升级指示信息可能是通过广播的方式发送的,终端设备100-2也可能接收到该第一升级指示信息,终端设备100-2判定自身版本号与升级版本号相同,则忽略此处升级。通过对比终端设备自身的版本号与升级版本号,可以避免不需要升级的终端设备重复升级的问题。

在一些实施例中,在所述终端设备在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包之后,所述方法还包括:所述终端设备检验所述升级数据包。具体的,若校验成功,则所述终端设备根据所述升级数据包进行升级,在所述升级成功之后,重启所述终端设备,并向所述服务器发送版本信息。若校验失败,则向所述服务器发送版本信息。

可以理解的是,升级成功之后,终端设备发送的版本信息中包含的版本号为升级版本号。升级失败之后,终端设备发送的版本信息中包含的版本号为原版本号,该终端设备将又一次作为待升级终端设备,进行下一次的升级。

在本申请实施例中,服务器可以根据接收到的多个终端设备发送的版本信息确定待升级终端设备,并确定升级时间点。之后,服务器向待升级终端设备发送升级指示信息,并在该升级时间点广播升级数据包以升级该待升级终端设备。待升级终端设备无需分别从服务器下载自身对应的升级数据包来进行设备升级,通过本申请实施例提供的方法,可以提升终端设备的升级效率。

在一些实施例中,服务器200可以根据待升级终端设备的数量,确定待升级终端设备的升级方式。在待升级终端设备数量较多的情况下,服务器200可以采用广播的方式,对待升级终端设备进行升级;在待升级终端设备数量较少的情况下,服务器200可以采用单播的方式,对待升级终端设备进行升级。通过这种方式,可以使得终端升级的方式更加灵活,适应实际的升级需求。

在一种可能的实现方式中,在服务器200执行步骤s104之前,所述方法还可以包括:步骤s110、所述服务器200确定所述待升级终端设备的第一数量;步骤s111、当所述待升级终端设备的第一数量大于或等于第一预设值,或者所述待升级终端设备的第一数量与终端设备的总数量的比值大于或等于第二预设值时,执行所述服务器确定升级时间点的步骤(即步骤s104)。也即是说,在待升级终端设备数量较多的情况下,服务器200可以采用广播的方式,对待升级终端设备进行升级。示例性的,这种升级方式可以参照图3所示的方法流程图。

其中,第一预设值可以是按照需求预先设定的数值,例如,可以为100、150、200、500,等等。可选的,第二预设值可以是按照需求预先设定的比值,例如,可以为85%,90%,95%,等等。另外,在服务器200升级终端设备的过程中,可以根据反馈的未成功升级的终端设备的数量调整第一预设值或者第二预设值,详细的调整过程将在后续内容中进行介绍。

可选的,服务器200可以通过终端设备发送的心跳包或者业务数据,确定终端设备的总数量。该心跳包或者业务数据中包含有设备标识,服务器200可以通过统计设备标识的数量来确定终端设备的总数量。另外,服务器200还可以通过其他方式确定终端设备的总数量,本申请实施例不做限制。

在另一种可能的实现方式中,所述方法还包括:步骤s112、当所述待升级终端设备的第一数量小于所述第一预设值,或者所述待升级终端设备的第一数量与终端设备的总数量的比值小于所述第二预设值时,执行步骤s113。步骤s113、所述服务器向所述待升级终端设备发送第二升级指示信息。其中,所述第二指示信息中包括所述升级版本号和下载地址,所述第二升级指示信息用于指示所述待升级终端设备使用单播方式进行升级。也即是说,在待升级终端设备数量较少的情况下,服务器200可以采用单播的方式,对待升级终端设备进行升级。示例性的,这种升级方式可以参照图4所示的方法流程图。

可选的,所述服务器200向所述待升级终端设备发送第二升级指示信息的方式可以为:所述服务器200通过bm-sc300向所述待升级终端设备发送第二usd,所述第二usd中包括所述第二升级指示信息。该所述服务器200通过bm-sc300向所述待升级终端设备发送第二usd的方式,可以参照上述内容中介绍的服务器200通过bm-sc300向所述待升级终端设备发送第一usd的具体实施过程,此处不再赘述。

在步骤s113之后,所述方法还包括:步骤s114、在所述待升级终端设备接收所述服务器200发送的第二升级指示信息的情况下,所述待升级终端设备根据下载地址从服务器200中获取所述升级版本号对应的升级数据包。

可选的,在所述终端设备根据下载地址从服务器中获取所述升级版本号对应的升级数据包之前,所述方法还包括:所述终端设备确定自身版本号与所述升级版本号不同。由于第二升级指示信息可能是通过广播的方式发送的,终端设备100-2也可能接收到该第二升级指示信息,终端设备100-2判定自身版本号与升级版本号相同,则忽略此处升级。通过对比终端设备自身的版本号与升级版本号,可以避免不需要升级的终端设备重复升级的问题。

在一些实施例中,在所述终端设备根据下载地址从服务器中获取所述升级版本号对应的升级数据包之后,所述方法还包括:所述终端设备检验所述升级数据包。具体的,若校验成功,则所述终端设备根据所述升级数据包进行升级,在所述升级成功之后,重启所述终端设备,并向所述服务器发送版本信息。若校验失败,则向所述服务器发送版本信息。

可以理解的是,升级成功之后,终端设备发送的版本信息中包含的版本号为升级版本号。升级失败之后,终端设备发送的版本信息中包含的版本号为原版本号,该终端设备将又一次作为待升级终端设备,进行下一次的升级。

以下将对服务器在升级终端设备的过程中,根据反馈的未成功升级的终端设备的数量调整第一预设值或者第二预设值的方式进行介绍。在该示例中,待升级终端设备的数量为多个。

在一种可能的实现方式中,在所述服务器200在所述升级时间点广播所述升级版本号对应的升级数据包之后,所述方法还包括:所述服务器200再次广播n次所述升级数据包,所述n为大于等于1的正整数,所述n小于预设次数。该预设次数为预先设定的升级次数的最大值(话句话说,广播升级的最大次数)。之后,所述服务器确定第二数量和第三数量,所述第二数量为第n次广播之后的所述多个终端设备中的待升级终端设备的数量,所述第三数量为第n+1次广播之后的所述多个终端设备中的待升级终端设备的数量。若所述第二数量与所述第三数量的差值小于第三预设值,或者所述第二数量与所述第三数量的差值与所述终端设备的总数量的比值小于第四预设值,则确定所述第三数量为所述第一预设值,或者确定所述第三数量与所述终端设备的总数量的比值为所述第二预设值。

其中,第三预设值可以是按照需求预先设定的数值,例如,可以为5、10、20,等等。可选的,第四预设值可以是按照需求预先设定的比值,例如,可以为2%,5%,10%,等等。需要说明的是,若第二数量与第三数量的差值小于第三预设值,或者第二数量与第三数量的差值与所述终端设备的总数量的比值小于第四预设值,则表明相邻两次升级(即第n次和第n+1次的升级)之后,待升级终端设备的数量没有明显的减少,再进行更多次的广播可能也无法成功升级之前未升级的终端设备。那么,可确定所述第三数量为所述第一预设值,或者确定所述第三数量与所述终端设备的总数量的比值为所述第二预设值。

在另一种可能的实现方式中,在所述服务器在所述升级时间点广播所述升级版本号对应的升级数据包之后,所述方法还包括:所述服务器再次广播a次所述升级数据包,所述a为大于等于1的正整数,所述a小于预设次数。该预设次数为预先设定的升级次数的最大值(话句话说,广播升级的最大次数)。之后,所述服务器确定第四数量,所述第四数量为第a+1次广播之后的所述多个终端设备中的待升级终端设备的数量。若所述第四数量小于第五预设值,或者所述第四数量与所述终端设备的总数量的比值小于第六预设值,则确定所述第五数量为所述第一预设值,或者确定所述第五数量与所述终端设备的总数量的比值为所述第二预设值。

其中,第五预设值可以是按照需求预先设定的数值,例如,可以为10,20,50,等等。可选的,第六预设值可以是按照需求预先设定的比值,例如,可以为2%,5%,10%,等等。需要说明的是,第五预设值和第六预设值可以是人为设定的升级效果较好的门限值,若所述第四数量小于第五预设值,或者所述第四数量与所述终端设备的总数量的比值小于第六预设值,则表明经过不超过升级最大次数的升级之后,待升级终端设备的数量已经大部分减少,之前设定的第一预设值和第二预设值较大。那么,可确定所述第五数量为所述第一预设值,或者确定所述第五数量与所述终端设备的总数量的比值为所述第二预设值。

另外,对于多次广播升级后剩下的待升级终端设备,服务器200可通过单播升级的方式对其进行升级。

需要说明的是,除了上述内容中介绍的调整第一预设值、第二预设值的方式,还可以存在其他的调整方式,此处不再一一赘述。

为了实现上述本申请实施例提供的方法中的各功能,服务器、终端设备可以包括硬件结构、软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能可以以硬件结构、软件模块、或者硬件结构加软件模块的方式来执行。

参见图5,是本申请实施例提供的一种服务器的结构示意图。该服务器50包括接收单元501,确定单元502,发送单元503和广播单元504,其中:

接收单元501,用于接收多个终端设备发送的版本信息,所述版本信息用于指示终端设备的版本号。

确定单元502,用于根据所述版本信息确定所述多个终端设备中的待升级终端设备,所述待升级终端设备的版本号低于升级版本号。

确定单元502,还用于确定升级时间点。

发送单元503,用于向所述待升级终端设备发送第一升级指示信息,所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级。

广播单元504,用于在所述升级时间点广播所述升级版本号对应的升级数据包。

在一些实施例中,所述确定单元502具体用于:确定所述待升级终端设备的第一数量;当所述待升级终端设备的第一数量大于或等于第一预设值,或者所述待升级终端设备的第一数量与终端设备的总数量的比值大于或等于第二预设值时,执行确定升级时间点的步骤。

在一些实施例中,所述发送单元503还用于:当所述待升级终端设备的第一数量小于所述第一预设值,或者所述待升级终端设备的第一数量与终端设备的总数量的比值小于所述第二预设值时,向所述待升级终端设备发送第二升级指示信息,所述第二指示信息中包括所述升级版本号和下载地址,所述第二升级指示信息用于指示所述待升级终端设备使用单播方式进行升级。

在一些实施例中,所述广播单元504还用于:再次广播n次所述升级数据包,所述n为大于等于1的正整数,所述n小于预设次数。所述确定单元502还用于:确定第二数量和第三数量,所述第二数量为第n次广播之后的所述多个终端设备中的待升级终端设备的数量,所述第三数量为第n+1次广播之后的所述多个终端设备中的待升级终端设备的数量;若所述第二数量与所述第三数量的差值小于第三预设值,或者第二数量与第三数量的的差值与所述终端设备的总数量比值小于第四预设值,则确定所述第三数量为所述第一预设值,或者确定所述第三数量与所述终端设备的总数量的比值为所述第二预设值。

在一些实施例中,所述广播单元504还用于:再次广播a次所述升级数据包,所述a为大于等于1的正整数,所述a小于预设次数。所述确定单元502还用于:确定第四数量,所述第四数量为第a+1次广播之后的所述多个终端设备中的待升级终端设备的数量;若所述第四数量小于第五预设值,或者所述第四数量与所述终端设备的总数量的比值小于第六预设值,则确定所述第五数量为所述第一预设值,或者确定所述第五数量与所述终端设备的总数量的比值为所述第二预设值。

在一些实施例中,所述版本信息包含在终端设备的心跳包中,所述心跳包中还包含下一次心跳包的发送时间点或者所述心跳包的发送周期。所述确定单元502具体用于:根据所述待升级终端设备的下一次心跳包的发送时间点或者所述心跳包的发送周期确定所述升级时间点。

在一些实施例中,所述确定单元502具体用于:根据接收到的一个终端设备发送的版本信息的时间间隔确定所述一个终端设备的下一个版本信息的发送时间点或者所述版本信息的发送周期,所述一个终端设备包含于所述待升级终端设备;根据所述待升级终端设备的下一个版本信息的发送时间点或者所述版本信息的发送周期确定所述升级时间点。

在一些实施例中,所述发送单元503具体用于:通过广播/多播服务中心bm-sc向所述待升级终端设备发送第一用户服务描述文件usd,所述第一usd中包括所述第一升级指示信息。

在一些实施例中,所述发送单元503具体用于:通过bm-sc向所述待升级终端设备发送第二usd,所述第二usd中包括所述第二升级指示信息。

通过图5所示的服务器,服务器可以根据接收到的多个终端设备发送的版本信息确定待升级终端设备,并确定升级时间点。之后,服务器向待升级终端设备发送升级指示信息,并在该升级时间点广播升级数据包以升级该待升级终端设备。待升级终端设备无需分别从服务器下载自身对应的升级数据包来进行设备升级,通过本申请实施例提供的服务器,可以提升终端设备的升级效率。

参见图6,是本申请实施例提供的一种终端设备的结构示意图。该终端设备60包括发送单元601和接收单元602,其中:

发送单元601,用于向服务器发送版本信息,所述版本信息用于指示终端设备的版本号。

接收单元602,用于在所述终端设备接收所述服务器发送的第一升级指示信息的情况下,在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包;所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级。

在一些实施例中,终端设备60还包括获取单元,所述获取单元用于:在所述终端设备接收所述服务器发送的第二升级指示信息的情况下,根据下载地址从服务器中获取所述升级版本号对应的升级数据包;其中,所述第二指示信息中包括所述升级版本号和下载地址,所述第二升级指示信息用于指示所述终端设备使用单播方式进行升级。

在一些实施例中,终端设备60还包括确定单元,所述确定单元用于:在接收单元602在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包之前,确定自身版本号与所述升级版本号不同。

在一些实施例中,终端设备60还包括确定单元,所述确定单元用于:在获取单元根据下载地址从服务器中获取所述升级版本号对应的升级数据包之前,确定自身版本号与所述升级版本号不同。

在一些实施例中,终端设备60还包括校验单元和升级单元,所述校验单元用于:检验所述升级数据包。所述升级单元,用于当校验成功时,根据所述升级数据包进行升级,在所述升级成功之后,重启所述终端设备。所述发送单元601还用于向所述服务器发送版本信息。所述发送单元601还用于当校验失败时,向所述服务器发送版本信息。

通过图6所示的终端设备,终端设备可以接收服务器发送的升级指示信息,并在该升级时间点接收服务器广播的升级数据包以进行升级。待升级终端设备无需从服务器下载自身对应的升级数据包来进行设备升级,通过本申请实施例提供的终端设备,可以提升终端设备的升级效率。

参见图7,是本申请实施例提供的另一种服务器的结构示意图。该服务器70可用于实现上述方法实施例中描述的方法,具体可以参见上述方法实施例中的说明。

所述服务器70可以包括一个或多个处理器701。所述处理器701可以是通用处理器或者专用处理器等。所述处理器701可以用于对终端设备进行控制,执行软件程序,处理软件程序的数据。

可选的,所述服务器70中可以包括一个或多个存储器702,其上可以存有指令704,所述指令可在所述处理器701上被运行,使得所述服务器70执行上述方法实施例中描述的方法。可选的,所述存储器702中还可以存储有数据。所述处理器701和存储器702可以单独设置,也可以集成在一起。

可选的,所述服务器70还可以包括收发器705、天线706。所述收发器705可以称为收发单元、收发机、或收发电路等,用于实现收发功能。收发器705可以包括接收器和发送器,接收器可以称为接收机或接收电路等,用于实现接收功能;发送器可以称为发送机或发送电路等,用于实现发送功能。

处理器701用于运行存储器702存储的指令704来执行如下操作:

接收多个终端设备发送的版本信息,所述版本信息用于指示终端设备的版本号。

根据所述版本信息确定所述多个终端设备中的待升级终端设备,所述待升级终端设备的版本号低于升级版本号。

确定升级时间点。

向所述待升级终端设备发送第一升级指示信息,所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级。

在所述升级时间点广播所述升级版本号对应的升级数据包。

处理器701执行的操作可以上述方法实施例的相关内容。此处不再详述。

在另一种可能的设计中,该收发器可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。

在又一种可能的设计中,可选的,处理器701可以存有指令703,指令703在处理器701上运行,可使得所述服务器70执行上述方法实施例中描述的方法。指令703可能固化在处理器701中,该种情况下,处理器701可能由硬件实现。

在又一种可能的设计中,服务器70可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。

本申请中描述的处理器和收发器可实现在集成电路(integratedcircuit,ic)、模拟ic、射频集成电路rfic、混合信号ic、专用集成电路(applicationspecificintegratedcircuit,asic)、印刷电路板(printedcircuitboard,pcb)、电子设备等上。

通过图7所示的服务器,服务器可以根据接收到的多个终端设备发送的版本信息确定待升级终端设备,并确定升级时间点。之后,服务器向待升级终端设备发送升级指示信息,并在该升级时间点广播升级数据包以升级该待升级终端设备。待升级终端设备无需分别从服务器下载自身对应的升级数据包来进行设备升级,通过本申请实施例提供的服务器,可以提升终端设备的升级效率。

参见图8,是本申请实施例提供的一种终端设备的结构示意图。该终端设备80可用于实现上述方法实施例中描述的方法,具体可以参见上述方法实施例中的说明。

所述终端设备80可以包括一个或多个处理器801。所述处理器801可以是通用处理器或者专用处理器等。所述处理器801可以用于对终端设备进行控制,执行软件程序,处理软件程序的数据。

可选的,所述终端设备80中可以包括一个或多个存储器802,其上可以存有指令804,所述指令可在所述处理器801上被运行,使得所述终端设备80执行上述方法实施例中描述的方法。可选的,所述存储器802中还可以存储有数据。所述处理器801和存储器802可以单独设置,也可以集成在一起。

可选的,所述终端设备80还可以包括收发器805、天线806。所述收发器805可以称为收发单元、收发机、或收发电路等,用于实现收发功能。收发器805可以包括接收器和发送器,接收器可以称为接收机或接收电路等,用于实现接收功能;发送器可以称为发送机或发送电路等,用于实现发送功能。

处理器801用于运行存储器802存储的指令804来执行如下操作:

向服务器发送版本信息,所述版本信息用于指示终端设备的版本号。

在所述终端设备接收所述服务器发送的第一升级指示信息的情况下,在所述升级时间点接收所述服务器发送的所述升级版本号对应的升级数据包;其中,所述第一升级指示信息中包括所述升级版本号和所述升级时间点,所述第一升级指示信息用于指示所述待升级终端设备使用广播方式进行升级。

处理器801执行的操作可以上述方法实施例的相关内容。此处不再详述。

在另一种可能的设计中,该收发器可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。

在又一种可能的设计中,可选的,处理器801可以存有指令803,指令803在处理器801上运行,可使得所述终端设备80执行上述方法实施例中描述的方法。指令803可能固化在处理器801中,该种情况下,处理器801可能由硬件实现。

在又一种可能的设计中,终端设备80可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。

本申请中描述的处理器和收发器可实现在集成电路(integratedcircuit,ic)、模拟ic、射频集成电路rfic、混合信号ic、专用集成电路(applicationspecificintegratedcircuit,asic)、印刷电路板(printedcircuitboard,pcb)、电子设备等上。

通过图8所示的终端设备,终端设备可以接收服务器发送的升级指示信息,并在该升级时间点接收服务器广播的升级数据包以进行升级。待升级终端设备无需从服务器下载自身对应的升级数据包来进行设备升级,通过本申请实施例提供的终端设备,可以提升终端设备的升级效率。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得计算机执行如前述图2-图4所示的实施例中服务器所实现的方法。

本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得计算机执行如前述图2-图4所示的实施例中终端设备所实现的方法。

本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得计算机执行如前述图2-图4所示的实施例中服务器所实现的方法。

本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得计算机执行如前述图2-图4所示的实施例中终端设备所实现的方法。

以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1