一种软件升级方法及装置与流程

文档序号:14990247发布日期:2018-07-20 22:04阅读:205来源:国知局

本发明涉及无线通信技术领域,尤其涉及一种软件升级方法及装置。



背景技术:

随着无线通信技术的发展,移动终端在各行各业中的应用越来越广泛。而各种移动终端在使用过程中,由于其应用场景的日趋复杂化,对移动终端的功能需求也越来越高,因此,对移动终端进行软件升级是移动终端在使用过程中经常遇到的问题。

现有技术中对移动终端的软件升级主要依靠计算机或智能终端来完成,具体的,首先由计算机或智能终端从服务器下载新的软件数据包,然后将新的软件数据包通过有线或无线的方式发送给移动终端,完成对移动终端软件的升级。当有大量的移动终端需要进行软件升级时,按照上述升级方法,需要由计算机或智能终端到现场对大量移动终端依次进行软件升级,是一项漫长的工作,需要耗费很长时间,容易耽误移动终端正常使用。



技术实现要素:

基于上述现有技术中的缺陷和不足,本发明提出一种软件升级方法及装置,通过移动终端来完成对移动终端的公有软件升级,并且升级数据来源为移动终端自身的数据,因此能够实现移动终端之间的裂变式软件升级,在对大量移动终端进行软件升级时,升级速度更快。

一种软件升级方法,应用于第一移动终端,该方法包括:

接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;

接收所述第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;

根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

优选地,所述接收所述第二移动终端发送的包含公有软件数据的公有软件升级包之后,根据所述公有软件升级包,对第一移动终端的公有软件进行升级之前,该方法还包括:

检验所述公有软件升级包中的公有软件数据的版本是否高于第一移动终端当前公有软件数据的版本;

如果所述公有软件升级包中的公有软件数据的版本不高于第一移动终端当前公有软件数据的版本,则退出软件升级流程;

如果所述公有软件升级包中的公有软件数据的版本高于第一移动终端当前公有软件数据的版本,则根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

优选地,所述接收所述第二移动终端发送的包含公有软件数据的公有软件升级包之后,根据所述公有软件升级包,对第一移动终端的公有软件进行升级之前,该方法还包括:

检验接收到的公有软件升级包中的公有软件数据是否完整;

如果所述公有软件升级包中的公有软件数据完整,则根据所述公有软件升级包,对第一移动终端的公有软件进行升级;

如果所述公有软件升级包中的公有软件数据不完整,则重复向所述第二移动终端发送表征公有软件数据不完整的信息,使所述第二移动终端重新发送公有软件升级包,并检验接收到的公有软件升级包中的公有软件数据是否完整;

如果在设定重复次数中的某一次重复中,检验接收到的公有软件升级包中的公有软件数据是完整的,则停止重复向所述第二移动终端发送表征公有软件数据不完整的信息,并根据最新接收到的公有软件升级包,对第一移动终端的公有软件进行升级;

如果在设定重复次数中的每一次重复中,均检验接收到的公有软件升级包中的公有软件数据不完整,则退出软件升级流程。

优选地,所述根据所述公有软件升级包,对第一移动终端的公有软件进行升级,包括:

将所述公有软件升级包中的公有软件数据存储到备用存储芯片中;

检验所述备用存储芯片中的公有软件是否能够正常运行;

如果所述备用存储芯片中的公有软件能够正常运行,则用所述备用存储芯片中的公有软件数据替换主存储芯片中的公有软件数据;

如果所述备用存储芯片中的公有软件不能正常运行,则删除所述备用存储芯片中的公有软件数据,放弃对第一移动终端的公有软件的升级。

一种软件升级方法,应用于第一移动终端,该方法包括:

搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;

根据第一移动终端的公有软件数据信息,生成公有软件升级包;

将所述公有软件升级包发送给所述第三移动终端,使所述第三移动终端根据所述公有软件升级包,完成公有软件升级。

优选地,所述搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接,包括:

重复通过无线网络或蓝牙搜索周边的移动终端设定次数;

如果在设定次数中的某一次搜索过程中,搜索到了公有软件待升级的移动终端,则停止重复搜索周边的移动终端,将所述公有软件待升级的移动终端设定为第三移动终端,并通过无线网络或蓝牙与所述第三移动终端建立连接;

如果在设定次数中的每一次搜索过程中,均没有搜索到公有软件待升级的移动终端,则退出数据升级流程。

一种软件升级装置,应用于第一移动终端,该装置包括:

连接处理单元,用于接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;以及搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;

数据接收单元,用于接收所述第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;

升级处理单元,用于根据所述数据接收单元接收的所述公有软件升级包,对第一移动终端的公有软件进行升级;

升级包生成单元,用于根据第一移动终端的公有软件数据信息,生成公有软件升级包;

数据发送单元,用于将所述升级包生成单元生成的所述公有软件升级包发送给所述第三移动终端,使所述第三移动终端根据所述公有软件升级包,完成公有软件升级。

优选地,所述升级处理单元还用于:

在根据所述数据接收单元接收的所述公有软件升级包,对第一移动终端的公有软件进行升级之后,使能所述连接处理单元搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接。

优选地,所述软件升级装置还包括:

第一判断处理单元,用于检验所述数据接收单元接收的所述公有软件升级包中的公有软件数据的版本是否高于第一移动终端当前公有软件数据的版本;如果所述公有软件升级包中的公有软件数据的版本不高于第一移动终端当前公有软件数据的版本,则退出软件升级流程;如果所述公有软件升级包中的公有软件数据的版本高于第一移动终端当前公有软件数据的版本,则使能所述升级处理单元根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

优选地,所述软件升级装置还包括:

第二判断处理单元,用于检验所述数据接收单元接收到的公有软件升级包中的公有软件数据是否完整;如果所述公有软件升级包中的公有软件数据完整,则使能所述升级处理单元根据所述公有软件升级包,对第一移动终端的公有软件进行升级;如果所述公有软件升级包中的公有软件数据不完整,则重复向所述第二移动终端发送表征公有软件数据不完整的信息,使所述第二移动终端重新发送公有软件升级包,并检验接收到的公有软件升级包中的公有软件数据是否完整;如果在设定重复次数中的某一次重复中,检验接收到的公有软件升级包中的公有软件数据是完整的,则停止重复向所述第二移动终端发送表征公有软件数据不完整的信息,并使能所述升级处理单元根据最新接收到的公有软件升级包,对第一移动终端的公有软件进行升级;如果在设定重复次数中的每一次重复中,均检验接收到的公有软件升级包中的公有软件数据不完整,则退出软件升级流程。

优选地,所述升级处理单元,包括:

存储处理单元,用于将所述公有软件升级包中的公有软件数据存储到备用存储芯片中;

检验单元,用于检验所述备用存储芯片中的公有软件是否能够正常运行;

第一处理单元,用于当所述检验单元检验备用存储芯片中的公有软件能够正常运行时,用所述备用存储芯片中的公有软件数据替换主存储芯片中的公有软件数据;

第二处理单元,用于当所述检验单元检验备用存储芯片中的公有软件不能正常运行时,删除所述备用存储芯片中的公有软件数据,放弃对第一移动终端的公有软件的升级。

优选地,所述连接处理单元搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接时,具体用于:

重复通过无线网络或蓝牙搜索周边的移动终端设定次数;如果在设定次数中的某一次搜索过程中,搜索到了公有软件待升级的移动终端,则停止重复搜索周边的移动终端,将所述公有软件待升级的移动终端设定为第三移动终端,并通过无线网络或蓝牙与所述第三移动终端建立连接;如果在设定次数中的每一次搜索过程中,均没有搜索到公有软件待升级的移动终端,则退出数据升级流程。

一种软件升级装置,应用于第一移动终端,该装置包括:

数据接收器、数据发送器、存储器及处理器;

所述数据接收器与所述处理器连接,用于接收第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;

所述数据发送器与所述处理器连接,用于将所述处理器生成的公有软件升级包发送给第三移动终端,使所述第三移动终端根据所述公有软件升级包,完成公有软件升级;

所述存储器与所述处理器连接,用于存储程序以及程序运行中产生的数据;

所述处理器,用于通过运行所述存储器中的程序,实现以下功能:

接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;根据所述数据接收器接收的公有软件升级包,对第一移动终端的公有软件进行升级;搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;根据第一移动终端的公有软件数据信息,生成公有软件升级包,并将所述公有软件升级包发送给所述数据发送器。

优选地,所述处理器还用于:

检验所述数据接收器接收到的公有软件升级包中的公有软件数据是否完整;如果所述公有软件升级包中的公有软件数据完整,则根据所述公有软件升级包,对第一移动终端的公有软件进行升级;如果所述公有软件升级包中的公有软件数据不完整,则重复向所述第二移动终端发送表征公有软件数据不完整的信息,使所述第二移动终端重新发送公有软件升级包,并检验接收到的公有软件升级包中的公有软件数据是否完整;如果在设定重复次数中的某一次重复中,检验接收到的公有软件升级包中的公有软件数据是完整的,则停止重复向所述第二移动终端发送表征公有软件数据不完整的信息,并根据最新接收到的公有软件升级包,对第一移动终端的公有软件进行升级;如果在设定重复次数中的每一次重复中,均检验接收到的公有软件升级包中的公有软件数据不完整,则退出软件升级流程。

优选地,所述处理器根据所述数据接收器接收的公有软件升级包,对第一移动终端的公有软件进行升级之后,自动开始搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;根据第一移动终端的公有软件数据信息,生成公有软件升级包,并将生成的公有软件升级包发送给所述数据发送器,使所述数据发送器将所述公有软件升级包发送给所述第三移动终端。

优选地,所述处理器根据所述数据接收器接收的公有软件升级包,对第一移动终端的公有软件进行升级时,具体用于:

将所述公有软件升级包中的公有软件数据存储到备用存储芯片中;检验所述备用存储芯片中的公有软件是否能够正常运行;如果所述备用存储芯片中的公有软件能够正常运行,则用所述备用存储芯片中的公有软件数据替换主存储芯片中的公有软件数据;如果所述备用存储芯片中的公有软件不能正常运行,则删除所述备用存储芯片中的公有软件数据,放弃对第一移动终端的公有软件的升级。

优选地,所述处理器还用于:

检验所述数据接收器接收到的公有软件升级包中的公有软件数据的版本是否高于第一移动终端当前公有软件数据的版本;如果所述公有软件升级包中的公有软件数据的版本不高于第一移动终端当前公有软件数据的版本,则退出软件升级流程;如果所述公有软件升级包中的公有软件数据的版本高于第一移动终端当前公有软件数据的版本,则根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

优选地,所述处理器搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接时,具体用于:

重复通过无线网络或蓝牙搜索周边的移动终端设定次数;如果在设定次数中的某一次搜索过程中,搜索到了公有软件待升级的移动终端,则停止重复搜索周边的移动终端,将所述公有软件待升级的移动终端设定为第三移动终端,并通过无线网络或蓝牙与所述第三移动终端建立连接;如果在设定次数中的每一次搜索过程中,均没有搜索到公有软件待升级的移动终端,则退出数据升级流程。

本发明提出的软件升级方法,应用于第一移动终端,所述第一移动终端接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;然后接收所述第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;最后根据所述公有软件升级包,对第一移动终端的公有软件进行升级。本发明提出的软件升级方法,通过移动终端来完成对移动终端的公有软件升级,并且升级数据来源为移动终端自身的数据,因此能够实现移动终端之间的裂变式软件升级,在对大量移动终端进行软件升级时,不需要使用计算机或智能终端对大量移动终端依次进行升级,升级速度更快。

附图说明

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

图1是本发明实施例提供的一种软件升级方法的流程示意图;

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

图3是本发明实施例提供的另一种软件升级方法的流程示意图;

图4是本发明实施例提供的另一种软件升级方法的流程示意图;

图5是本发明实施例提供的另一种软件升级方法的流程示意图;

图6是本发明实施例提供的一种软件升级装置的结构示意图;

图7是本发明实施例提供的软件升级装置处于不同的工作模式时的工作流程示意图;

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

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

图10是本发明实施例提供的另一种软件升级装置处于不同工作模式时的工作流程示意图。

具体实施方式

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

本发明实施例公开了一种软件升级方法,应用于第一移动终端,参见图1所示,该方法包括:

s101、接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;

具体的,第二移动终端需要向第一移动终端发送公有软件数据,使第一移动终端完成公有软件升级时,首先向第一移动终端发送连接请求,同时向第一移动终端发送写频请求或公有软件升级请求。具体的,本发明实施例所述的移动终端可通过用户或软件配置数据写频或软件升级工作模式。当第一移动终端和第二移动终端都配置为软件升级工作模式时,第二移动终端向第一移动终端发送公有软件升级请求;当第一移动终端和第二移动终端都配置为数据写频工作模式时,第二移动终端向第一移动终端发送写频请求。第一移动终端自主决定是否接受连接请求以及写频请求或公有软件升级请求,当第一移动终端在软件升级工作模式时接收到第二移动终端发送的公有软件升级请求,并且可以进行公有软件升级时,接受第二移动终端的连接请求及公有软件升级请求,第一移动终端与第二移动终端建立连接。如果第一移动终端或第二移动终端设置了密码,则第一移动终端及第二移动终端在建立连接以及进行数据写频或公有软件升级之前,需要首先输入密码。

需要说明的是,鉴于现有技术中,不同版本,不同型号,不同频段之间的移动终端之间会存在不兼容或不能直接互相通信的问题,因此,在实施本发明实施例技术方案时,将本发明实施例技术方案用于版本相同、型号相同、频段相同的第一移动终端与第二移动终端之间的公有软件升级。但是,本发明实施例并不限定本发明实施例技术方案只适用于版本相同、型号相同、频段相同的移动终端之间的公有软件升级,而是仅以版本相同、型号相同、频段相同的第一移动终端与第二移动终端为例进行说明。只要两个移动终端之间能够进行相互通信,相互兼容,就可以采用本发明实施例技术方案实现公有软件升级。

s102、接收所述第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;

具体的,在本发明实施例技术方案所适用的移动终端中,设置有flash芯片数据读写模块,该模块可以读取软件固件或配置数据,并生成一个软件升级数据源或者配置数据源,其中,软件升级数据源可以作为升级包,用来对软件进行升级;配置数据源可以用于对移动终端进行写频。第二移动终端从其它移动终端或智能终端接收公有软件升级包,完成对自身的公有软件升级后,通过flash芯片数据读写模块读取自身公有软件数据,生成公有软件升级包,并将生成的公有软件升级包发送给第一移动终端,以使第一移动终端完成公有软件升级。

s103、根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

具体的,第一移动终端接收到第二移动终端发送的公有软件升级包后,根据升级包中的公有软件数据完成自身公有软件升级,之后进入正常业务模式。

需要说明的是,本发明实施例技术方案中所述的移动终端内部包括公有软件数据和私有数据。其中,私有数据是表示移动终端特定私有信息的数据(如id标识信息、ip地址信息等),私有数据一般不需要升级,当为移动终端首次写入私有数据,或需要对移动终端私有数据进行更改时,需要利用pc端对移动终端分别进行差异化的私有数据写频处理。而移动终端内部的公有软件用于支持移动终端完成业务功能,对于工作于同一场景下的移动终端,其实现的功能是相同的,因此,同一应用场景下的移动终端内部的软件数据也是相同的。基于上述情况,本发明实施例提出通过移动终端来实现对移动终端的公有软件的升级,进一步可实现移动终端之间的裂变式软件升级,相对于传统的利用智能终端依次对移动终端进行软件升级,升级速度更快。而对于移动终端私有数据的升级,由于其具有高度的差异性,各移动终端之间都不相同,只能通过pc端来实现差异化的处理,因此,本发明实施例仅对移动终端公有软件升级处理进行研究。

本发明实施例提出的软件升级方法,应用于第一移动终端,所述第一移动终端接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;然后接收所述第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;最后根据所述公有软件升级包,对第一移动终端的公有软件进行升级。本发明提出的软件升级方法,通过移动终端来完成对移动终端的公有软件升级,并且升级数据来源为移动终端自身的数据,因此能够实现移动终端之间的裂变式软件升级,在对大量移动终端进行软件升级时,不需要使用计算机或智能终端对大量移动终端依次进行升级,升级速度更快。

可选的,在本发明的另一个实施例中,参见图2所示,所述接收所述第二移动终端发送的包含公有软件数据的公有软件升级包之后,根据所述公有软件升级包,对第一移动终端的公有软件进行升级之前,该方法还包括:

s203、检验所述公有软件升级包中的公有软件数据的版本是否高于第一移动终端当前公有软件数据的版本;

如果所述公有软件升级包中的公有软件数据的版本不高于第一移动终端当前公有软件数据的版本,则执行步骤s204退出软件升级流程;

如果所述公有软件升级包中的公有软件数据的版本高于第一移动终端当前公有软件数据的版本,则执行步骤s205、根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

具体的,为了保证移动终端通过公有软件的升级来促使移动终端功能越来越完善,本发明实施例技术方案实现的移动终端对移动终端的公有软件升级,只允许运行高版本公有软件的移动终端对运行低版本公有软件的移动终端进行公有软件升级,不允许运行相同版本公有软件的移动终端之间相互升级、或运行低版本公有软件的移动终端对运行高版本公有软件的移动终端进行软件升级。因此,当第一移动终端接收到第二移动终端发送的公有软件升级包之后,为了避免由于升级包中的公有软件数据版本较低而导致移动终端功能不完善,第一移动终端首先检验升级包中的公有软件数据的版本是否高于第一移动终端自身公有软件数据的版本,当升级包中的公有软件数据版本高于自身公有软件数据版本时,根据升级包中的公有软件数据,对自身公有软件数据进行升级处理。

本实施例中的步骤s201、s202对应图1所示的方法实施例中的步骤s101、s102,其具体内容请参见对应图1所示的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,参见图3所述,所述接收所述第二移动终端发送的包含公有软件数据的公有软件升级包之后,根据所述公有软件升级包,对第一移动终端的公有软件进行升级之前,该方法还包括:

s303、检验接收到的公有软件升级包中的公有软件数据是否完整;

如果所述公有软件升级包中的公有软件数据完整,则执行步骤s304、根据所述公有软件升级包,对第一移动终端的公有软件进行升级;

如果所述公有软件升级包中的公有软件数据不完整,则重复向所述第二移动终端发送表征公有软件数据不完整的信息,使所述第二移动终端重新发送公有软件升级包,并检验接收到的公有软件升级包中的公有软件数据是否完整;

如果在设定重复次数中的某一次重复中,检验接收到的公有软件升级包中的公有软件数据是完整的,则停止重复向所述第二移动终端发送表征公有软件数据不完整的信息,并执行步骤s304、根据最新接收到的公有软件升级包,对第一移动终端的公有软件进行升级;

如果在设定重复次数中的每一次重复中,均检验接收到的公有软件升级包中的公有软件数据不完整,则执行步骤s305、退出软件升级流程。

具体的,第一移动终端在接收到第二移动终端发送的公有软件升级包后,首先检验升级包中的公有软件数据是否完整,以避免由于公有软件升级包中的公有软件数据不完整而导致软件升级失败,进而降低软件升级效率且影响移动终端正常工作。如果第一移动终端检验确认接收到的公有软件升级包中的公有软件数据完整,则根据接收到的公有软件升级包,对自身公有软件进行升级;如果第一移动终端检验确认接收到的公有软件升级包中的公有软件数据不完整,则向第二移动终端发送表征公有软件数据不完整的信息,使第二移动终端重新发送包含公有软件数据的公有软件升级包。进一步的,如果第二移动终端重新向第一移动终端发送公有软件升级包设定次数后,第一移动终端均无法收到包含完整的公有软件数据的公有软件升级包,则第一移动终端退出公有软件升级流程。

本实施例中的步骤s301、s302对应图1所示的方法实施例中的步骤s101、s102,其具体内容请参见图1所示的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,参见图4所示,所述根据所述公有软件升级包,对第一移动终端的公有软件进行升级,包括:

s403、将所述公有软件升级包中的公有软件数据存储到备用存储芯片中;

具体的,在本发明实施例技术方案所适用的移动终端内部,有两个存储芯片:主存储芯片和备用存储芯片。主存储芯片中存储移动终端正在运行的软件数据,移动终端在工作中,从主存储芯片中读取及运行软件程序实现相应的功能。为了保证移动终端能够运行正确的软件程序,在本发明实施例中,第一移动终端接收公有软件升级包后,将升级包中的公有软件数据先存储到备用存储芯片中,此时主存储芯片中依然是第一移动终端原有的公有软件数据。

需要说明的是,本发明实施例仅以两个存储芯片为例说明在对存储芯片中的软件数据进行升级之前,先对新的软件数据进行运行验证的思想。在具体实现方式上,不严格限定必须具备两个实际的存储芯片,可以是将一个存储芯片划分成两个存储区域分别存储新旧不同的软件数据,也可以用主存储芯片搭配运行内存的方式验证新的软件数据是否正确。理论上,凡是符合本发明实施例所述的对接收的软件数据首先进行验证再对现有的软件数据进行更新的思想的实施方式,都在本发明实施例保护范围内。

s404、检验所述备用存储芯片中的公有软件是否能够正常运行;

如果所述备用存储芯片中的公有软件能够正常运行,则执行步骤s405、用所述备用存储芯片中的公有软件数据替换主存储芯片中的公有软件数据;

如果所述备用存储芯片中的公有软件不能正常运行,则执行步骤s406、删除所述备用存储芯片中的公有软件数据,放弃对第一移动终端的公有软件的升级。

具体的,第一移动终端将接收的公有软件数据存储到备用存储芯片后,进一步运行备用存储芯片中存储的公有软件,如果备用存储芯片中的公有软件能够正常运行,则说明接收公有软件数据成功,并且接收的公有软件数据没有功能性问题,第一移动终端用备用存储芯片中的公有软件数据替换主存储芯片中的公有软件数据;如果备用存储芯片中的公有软件不能正常运行,则说明接收公有软件数据失败,或者接收的公有软件数据存在功能性问题,不能用来更新第一移动终端内部的公有软件数据。当检验确认备用存储芯片中存储的公有软件数据不能用来更新第一移动终端内部的公有软件数据时,第一移动终端删除备用存储芯片中存储的公有软件数据,保持主存储芯片中的公有软件数据不变,即放弃使用接收的公有软件数据对自身的公有软件进行升级。上述处理过程,避免了在没有对接收的公有软件数据进行功能性验证的前提下,用接收的公有软件数据直接替换主存储芯片中的公有软件数据而导致的移动终端不能正常工作情况。

本实施例中的步骤s401、s402对应图1所示的方法实施例中的步骤s101、s102,其具体内容请参见图1所示的方法实施例的内容,此处不再赘述。

本发明实施例公开了另一种软件升级方法,应用于第一移动终端,参见图5所示,该方法包括:

s501、搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;

具体的,第一移动终端在完成自身公有软件升级之后,进一步协助第三移动终端完成公有软件升级。第一移动终端在完成自身公有软件升级后,搜索周边公有软件待升级的移动终端,本发明实施例称之为第三移动终端。第一移动终端搜索到第三移动终端后,向第三移动终端发送连接请求,同时向第三移动终端发送写频请求或公有软件升级请求。具体的,本发明实施例所述的移动终端可通过用户或软件配置数据写频或软件升级工作模式。当第一移动终端和第三移动终端都配置为软件升级工作模式时,第一移动终端向第三移动终端发送公有软件升级请求;当第一移动终端和第三移动终端都配置为数据写频工作模式时,第一移动终端向第三移动终端发送写频请求。第三移动终端自主决定是否接受连接请求以及写频请求或公有软件升级请求,当第三移动终端在软件升级工作模式时接收到第一移动终端发送的公有软件升级请求,并且可以进行公有软件升级时,接受第一移动终端的连接请求及公有软件升级请求,第一移动终端与第三移动终端建立连接。如果第一移动终端或第三移动终端设置了密码,则第一移动终端及第三移动终端在建立连接以及进行数据写频或公有软件升级之前,需要首先输入密码。

需要说明的是,鉴于现有技术中,不同版本,不同型号,不同频段之间的移动终端之间会存在不兼容或不能直接互相通信的问题,因此,在实施本发明实施例技术方案时,将本发明实施例技术方案用于版本相同、型号相同、频段相同的第一移动终端与第三移动终端之间的公有软件升级。但是,本发明实施例并不限定本发明实施例技术方案只适用于版本相同、型号相同、频段相同的移动终端之间的公有软件升级,而是仅以版本相同、型号相同、频段相同的第一移动终端与第三移动终端为例进行说明。只要两个移动终端之间能够进行相互通信,相互兼容,就可以采用本发明实施例技术方案实现公有软件升级。或者借助额外处理工具使不同版本,不同型号,不同频段之间的移动终端实现相互兼容和相互通信的场景下,也能够实施本发明实施例技术方案。

s502、根据第一移动终端的公有软件数据信息,生成公有软件升级包;

具体的,在第一移动终端内部,设置有flash芯片数据读写模块,该模块可以读取软件固件或配置数据,并生成一个软件升级数据源或者配置数据源,该数据源可以作为升级包,用来对软件进行升级。第一移动终端在完成自身的公有软件升级后,通过flash芯片数据读写模块生成公有软件升级包。

s503、将所述公有软件升级包发送给所述第三移动终端,使所述第三移动终端根据所述公有软件升级包,完成公有软件升级。

本发明实施例提出的软件升级方法,应用于第一移动终端,所述第一移动终端搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;然后根据第一移动终端的公有软件数据信息,生成公有软件升级包;最后将所述公有软件升级包发送给所述第三移动终端,使所述第三移动终端根据所述公有软件升级包,完成公有软件升级。本发明提出的软件升级方法,通过移动终端来完成对移动终端的公有软件升级,并且升级数据来源为移动终端自身的数据,因此能够实现移动终端之间的裂变式软件升级,在对大量移动终端进行软件升级时,不需要使用计算机或智能终端对大量移动终端依次进行升级,升级速度更快。

可选的,在本发明的另一个实施例中,所述搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接,包括:

重复通过无线网络或蓝牙搜索周边的移动终端设定次数;

如果在设定次数中的某一次搜索过程中,搜索到了公有软件待升级的移动终端,则停止重复搜索周边的移动终端,将所述公有软件待升级的移动终端设定为第三移动终端,并通过无线网络或蓝牙与所述第三移动终端建立连接;

如果在设定次数中的每一次搜索过程中,均没有搜索到公有软件待升级的移动终端,则退出数据升级流程。

具体的,第一移动终端在搜索公有软件待升级的移动终端时,采用周期性重复搜索的方式,例如每次搜索30秒,连续搜索10次。在重复搜索过程中,如果在某一次搜索中,第一移动终端搜索到了公有软件待升级的移动终端,则停止重复搜索,对搜索到的该移动终端进行公有软件升级;如果重复搜索了设定次数均没有搜索到公有软件待升级的移动终端,则退出数据升级流程。

本发明实施例还公开了一种软件升级装置,应用于第一移动终端,参见图6所示,该装置包括:

连接处理单元601,用于接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;以及搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;

数据接收单元602,用于接收所述第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;

升级处理单元603,用于根据所述数据接收单元602接收的所述公有软件升级包,对第一移动终端的公有软件进行升级;

升级包生成单元604,用于根据第一移动终端的公有软件数据信息,生成公有软件升级包;

数据发送单元605,用于将所述升级包生成单元604生成的所述公有软件升级包发送给所述第三移动终端,使所述第三移动终端根据所述公有软件升级包,完成公有软件升级。

具体的,本实施例中各个单元的具体工作内容,请分别参见对应的方法实施例的内容,此处不再赘述。

本发明实施例提出的软件升级装置,应用于第一移动终端,一方面,软件升级装置通过连接处理单元601与第二移动终端建立连接;通过数据接收单元602接收第二移动终端发送的公有软件升级包;升级处理单元603根据接收的公有软件升级包完成对公有软件的升级。另一方面,连接处理单元601搜索并连接第三移动终端;升级包生成单元604根据第一移动终端公有软件数据生成公有软件升级包,并通过数据发送单元605将生成的公有软件升级包发送给第三移动终端,使第三移动终端完成公有软件升级。本发明实施例提出的软件升级装置用于移动终端公有软件升级时,通过移动终端来完成对移动终端的公有软件升级,并且升级数据来源为移动终端自身的数据,因此能够实现移动终端之间的裂变式软件升级,在对大量移动终端进行软件升级时,不需要使用计算机或智能终端对大量移动终端依次进行升级,升级速度更快。

可选的,在本发明的另一个实施例中,所述升级处理单元603还用于:

在根据所述数据接收单元602接收的所述公有软件升级包,对第一移动终端的公有软件进行升级之后,使能所述连接处理单元601搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接。

具体的,本发明实施例提出的软件升级装置,有两种软件升级模式,一种是数据写频模式,即接收第二移动终端发送的公有软件升级包,完成第一移动终端的公有软件升级,或者根据第一移动终端公有软件数据生成公有软件升级包并发送给第三移动终端,使第三移动终端完成公有软件升级。另一种升级模式是克隆模式,即接收第二移动终端发送的公有软件升级包后,对第一移动终端的公有软件进行升级,对第一移动终端的公有软件升级完成后,随即开始搜索并连接公有软件待升级的第三移动终端,根据第一移动终端升级后的公有软件数据生成公有软件升级包,并将生成的公有软件升级包发送给第三移动终端,使第三移动终端完成公有软件升级。

在软件克隆升级模式下,移动终端的公有软件升级分为手动模式和自动模式,当移动终端选择自动模式的软件升级时,自动搜索周边可连接的移动终端并下载所有软件数据;当移动终端选择手动模式的软件升级时,搜索到周边可连接的移动终端后,可供用户选择具体连接哪些移动终端,以及用户可选择下载类型。具体的,参见图7所示,对于任意两个应用本发明实施例提出的软件升级装置的移动终端(为便于说明,分为主机和从机),主机控制从机完成公有软件升级的过程分为手动模式和自动模式,在手动模式时,用户能够根据需求,随机调整升级的内容,选择被升级的终端等。在自动模式时,作为主机角色的移动终端自动搜索周边需要进行公有软件升级的移动终端,并完成对搜索连接的移动终端的公有软件升级。显而易见的,当本发明实施例所述的移动终端处于数据写频工作模式时,也可以参照软件克隆升级工作模式,将移动终端设置为手动模式或自动模式,使移动终端自动完成数据写频,或者由用户操作参与完成数据写频。

需要说明的是,当软件升级装置处于克隆模式时,升级处理单元603在完成对第一移动终端的公有软件升级后,使能连接处理单元601搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接。本发明实施例提出的软件升级装置,设定连接处理单元601完成搜索并连接需要进行公有软件升级的移动终端后,自动使能升级包生成单元604生成公有软件升级包,以及使能数据发送单元605将升级包生成单元604生成的公有软件升级包发送给连接的移动终端。因此,在本发明实施例中,升级处理单元603使能连接处理单元601搜索周边的移动终端,也就是开始对第三移动终端公有软件的升级流程,软件升级装置各个单元依次开始工作,完成对第三移动终端公有软件的升级。

可选的,在本发明的另一个实施例中,所述软件升级装置还包括:

第一判断处理单元,用于检验所述数据接收单元602接收的所述公有软件升级包中的公有软件数据的版本是否高于第一移动终端当前公有软件数据的版本;如果所述公有软件升级包中的公有软件数据的版本不高于第一移动终端当前公有软件数据的版本,则退出软件升级流程;如果所述公有软件升级包中的公有软件数据的版本高于第一移动终端当前公有软件数据的版本,则使能所述升级处理单元603根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

具体的,本实施例中第一判断处理单元的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,所述软件升级装置还包括:

第二判断处理单元,用于检验所述数据接收单元602接收到的公有软件升级包中的公有软件数据是否完整;如果所述公有软件升级包中的公有软件数据完整,则使能所述升级处理单元603根据所述公有软件升级包,对第一移动终端的公有软件进行升级;如果所述公有软件升级包中的公有软件数据不完整,则重复向所述第二移动终端发送表征公有软件数据不完整的信息,使所述第二移动终端重新发送公有软件升级包,并检验接收到的公有软件升级包中的公有软件数据是否完整;如果在设定重复次数中的某一次重复中,检验接收到的公有软件升级包中的公有软件数据是完整的,则停止重复向所述第二移动终端发送表征公有软件数据不完整的信息,并使能所述升级处理单元603根据最新接收到的公有软件升级包,对第一移动终端的公有软件进行升级;如果在设定重复次数中的每一次重复中,均检验接收到的公有软件升级包中的公有软件数据不完整,则退出软件升级流程。

具体的,本实施例中的第二判断单元的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,参见图8所示,升级处理单元603,包括:

存储处理单元6031,用于将所述公有软件升级包中的公有软件数据存储到备用存储芯片中;

检验单元6032,用于检验所述备用存储芯片中的公有软件是否能够正常运行;

第一处理单元6033,用于当所述检验单元6032检验备用存储芯片中的公有软件能够正常运行时,用所述备用存储芯片中的公有软件数据替换主存储芯片中的公有软件数据;

第二处理单元6034,用于当所述检验单元6032检验备用存储芯片中的公有软件不能正常运行时,删除所述备用存储芯片中的公有软件数据,放弃对第一移动终端的公有软件的升级。

具体的,本实施例中各个单元的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,所述连接处理单元601搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接时,具体用于:

重复通过无线网络或蓝牙搜索周边的移动终端设定次数;如果在设定次数中的某一次搜索过程中,搜索到了公有软件待升级的移动终端,则停止重复搜索周边的移动终端,将所述公有软件待升级的移动终端设定为第三移动终端,并通过无线网络或蓝牙与所述第三移动终端建立连接;如果在设定次数中的每一次搜索过程中,均没有搜索到公有软件待升级的移动终端,则退出数据升级流程。

具体的,本实施例中连接处理单元601的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

本发明实施例公开了另一种软件升级装置,应用于第一移动终端,参见图9所示,该装置包括:

数据接收器901、数据发送器902、存储器903及处理器904;

所述数据接收器901与所述处理器904连接,用于接收第二移动终端发送的包含公有软件数据的公有软件升级包;其中,所述包含公有软件数据的公有软件升级包,为所述第二移动终端在完成自身公有软件升级之后,根据自身公有软件数据生成的公有软件升级包;

所述数据发送器902与所述处理器904连接,用于将所述处理器904生成的公有软件升级包发送给第三移动终端,使所述第三移动终端根据所述公有软件升级包,完成公有软件升级;

所述存储器903与所述处理器904连接,用于存储程序以及程序运行中产生的数据;

所述处理器904,用于通过运行所述存储器903中的程序,实现以下功能:

接收第二移动终端发送的建立连接请求,并与所述第二移动终端建立连接;根据所述数据接收器901接收的公有软件升级包,对第一移动终端的公有软件进行升级;搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;根据第一移动终端的公有软件数据信息,生成公有软件升级包,并将所述公有软件升级包发送给所述数据发送器902。

具体的,本实施例中各个部分的具体工作内容,请分别参见对应的方法实施例的内容,此处不再赘述。

本发明实施例提出的软件升级装置,应用于第一移动终端,该装置一方面从第二移动终端接收公有软件升级包完成对第一移动终端的公有软件升级;另一方面根据第一移动终端升级后的公有软件数据生成公有软件升级包并发送给第三移动终端使第三移动终端完成公有软件升级。本发明实施例提出的软件升级装置用于移动终端公有软件升级时,通过移动终端来完成对移动终端的公有软件升级,并且升级数据来源为移动终端自身的数据,因此能够实现移动终端之间的裂变式软件升级,在对大量移动终端进行软件升级时,不需要使用计算机或智能终端对大量移动终端依次进行升级,升级速度更快。

可选的,在本发明的另一个实施例中,所述处理器904还用于:

检验所述数据接收器901接收到的公有软件升级包中的公有软件数据是否完整;如果所述公有软件升级包中的公有软件数据完整,则根据所述公有软件升级包,对第一移动终端的公有软件进行升级;如果所述公有软件升级包中的公有软件数据不完整,则重复向所述第二移动终端发送表征公有软件数据不完整的信息,使所述第二移动终端重新发送公有软件升级包,并检验接收到的公有软件升级包中的公有软件数据是否完整;如果在设定重复次数中的某一次重复中,检验接收到的公有软件升级包中的公有软件数据是完整的,则停止重复向所述第二移动终端发送表征公有软件数据不完整的信息,并根据最新接收到的公有软件升级包,对第一移动终端的公有软件进行升级;如果在设定重复次数中的每一次重复中,均检验接收到的公有软件升级包中的公有软件数据不完整,则退出软件升级流程。

具体的,本实施例中处理器904的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,所述处理器904根据所述数据接收器901接收的公有软件升级包,对第一移动终端的公有软件进行升级之后,自动开始搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接;根据第一移动终端的公有软件数据信息,生成公有软件升级包,并将生成的公有软件升级包发送给所述数据发送器902,使所述数据发送器902将所述公有软件升级包发送给所述第三移动终端。

具体的,如图10所示,本发明实施例提出的软件升级装置具有两种升级模式:数据写频模式和软件克隆模式。当软件升级装置工作于软件克隆模式时,根据接收的公有软件升级包完成对第一移动终端的公有软件升级之后,软件升级装置自动开始搜索公有软件待升级的移动终端,并根据第一移动终端的公有软件数据生成公有软件升级包,发送给搜索得到的移动终端,使该移动终端完成公有软件升级。当软件升级装置工作于数据写频模式时,在完成对第一移动终端的公有软件升级,或根据第一移动终端的公有软件生成公有软件升级包并发送给需要升级的移动终端后,使第一移动终端进入业务模式。

可选的,在本发明的另一个实施例中,所述处理器904根据所述数据接收器901接收的公有软件升级包,对第一移动终端的公有软件进行升级时,具体用于:

将所述公有软件升级包中的公有软件数据存储到备用存储芯片中;检验所述备用存储芯片中的公有软件是否能够正常运行;如果所述备用存储芯片中的公有软件能够正常运行,则用所述备用存储芯片中的公有软件数据替换主存储芯片中的公有软件数据;如果所述备用存储芯片中的公有软件不能正常运行,则删除所述备用存储芯片中的公有软件数据,放弃对第一移动终端的公有软件的升级。

具体的,本实施例中处理单元904的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,所述处理器904还用于:

检验所述数据接收器901接收到的公有软件升级包中的公有软件数据的版本是否高于第一移动终端当前公有软件数据的版本;如果所述公有软件升级包中的公有软件数据的版本不高于第一移动终端当前公有软件数据的版本,则退出软件升级流程;如果所述公有软件升级包中的公有软件数据的版本高于第一移动终端当前公有软件数据的版本,则根据所述公有软件升级包,对第一移动终端的公有软件进行升级。

具体的,本实施例中处理单元904的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,所述处理器904搜索周边的移动终端,从搜索得到的移动终端中选出公有软件待升级的第三移动终端,并与所述第三移动终端建立连接时,具体用于:

重复通过无线网络或蓝牙搜索周边的移动终端设定次数;如果在设定次数中的某一次搜索过程中,搜索到了公有软件待升级的移动终端,则停止重复搜索周边的移动终端,将所述公有软件待升级的移动终端设定为第三移动终端,并通过无线网络或蓝牙与所述第三移动终端建立连接;如果在设定次数中的每一次搜索过程中,均没有搜索到公有软件待升级的移动终端,则退出数据升级流程。

具体的,本实施例中处理单元904的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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