发明内容
本发明提供一种设备的升级方法、装置、存储介质及智能设备,用以解决现有技术的如下问题:对局域网络内的设备进行软件升级时,一旦网络不稳定或断开,升级就会失败。
为解决上述技术问题,一方面,本发明提供一种设备的升级方法,包括:在预定局域网络内广播第一设备的设备信息,其中,所述设备信息包括:软件版本号和设备身份标识号;接收所述预定局域网络内各个设备根据所述第一设备的设备身份标识号单播回复的设备信息;在所述各个设备中最高的软件版本号高于所述第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据所述第二设备的设备身份标识号向所述第二设备发送软件升级请求。
可选的,根据所述第二设备的设备身份标识号向所述第二设备发送软件升级请求之后,还包括:按照断点续传方式从所述第二设备上获取软件版本号最高的软件安装包。
可选的,接收所述预定局域网络内各个设备根据第一设备的设备身份标识号单播回复的设备信息之后,还包括:在所述各个设备中最高的软件版本号低于所述第一设备的软件版本号的情况下,接收来自各个设备的软件升级请求;获取所述软件升级请求的发送设备对应的设备身份标识号,并根据所述发送设备对应的设备身份标识号向所述发送设备发送所述第一设备的软件版本号对应的软件安装包。
可选的,在预定局域网络内广播第一设备的设备信息,包括:按照预定周期在预定局域网络内广播所述第一设备的设备信息。
可选的,在所述各个设备中最高的软件版本号高于所述第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据所述第二设备的设备身份标识号向所述第二设备发送软件升级请求,包括:根据各个设备的软件版本号确定软件版本号最高的第二设备;检测所述最高的软件版本号是否高于所述第一设备的软件版本号;在所述最高的软件版本号高于所述第一设备的软件版本号的情况下,获取所述第二设备对应的设备身份标识号,并根据所述第二设备的设备身份标识号向所述第二设备发送软件升级请求。
可选的,所述软件升级请求为空中下载技术升级请求。
另一方面,本发明还提供一种设备的升级装置,包括:广播模块,用于在预定局域网络内广播第一设备的设备信息,其中,所述设备信息包括:软件版本号和设备身份标识号;第一接收模块,用于接收所述预定局域网络内各个设备根据所述第一设备的设备身份标识号单播回复的设备信息;执行模块,用于在所述各个设备中最高的软件版本号高于所述第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据所述第二设备的设备身份标识号向所述第二设备发送软件升级请求。
可选的,所述执行模块,还用于按照断点续传方式从所述第二设备上获取软件版本号最高的软件安装包。
可选的,还包括:第二接收模块,用于在所述各个设备中最高的软件版本号低于所述第一设备的软件版本号的情况下,接收来自各个设备的软件升级请求;所述执行模块,还用于获取所述软件升级请求的发送设备对应的设备身份标识号,并根据所述发送设备对应的设备身份标识号向所述发送设备发送所述第一设备的软件版本号对应的软件安装包。
可选的,所述广播模块,具体用于:按照预定周期在预定局域网络内广播所述第一设备的设备信息。
可选的,所述执行模块,具体用于:根据各个设备的软件版本号确定软件版本号最高的第二设备;检测所述最高的软件版本号是否高于所述第一设备的软件版本号;在所述最高的软件版本号高于所述第一设备的软件版本号的情况下,获取所述第二设备对应的设备身份标识号,并根据所述第二设备的设备身份标识号向所述第二设备发送软件升级请求。
另一方面,本发明还提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述设备的升级方法的步骤。
另一方面,本发明还提供一种智能设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述设备的升级方法的步骤。
本发明让处于同一局域网络内的智能设备进行软件版本号比较,并根据比较结果向软件版本最高的智能设备发送软件升级请求,以进行智能设备的软件升级,该过程中的智能设备都处于相同局域网络下,网络较为稳定,且智能设备不会发生移动,软件升级不会失败,解决了现有技术的如下问题:对局域网络内的设备进行软件升级时,一旦网络不稳定或断开,升级就会失败。
具体实施方式
为了解决现有技术的如下问题:对局域网络内的设备进行软件升级时,一旦网络不稳定或断开,升级就会失败;本发明提供了一种设备的升级方法、装置、存储介质及智能设备,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明第一实施例提供了一种设备的升级方法,该方法的流程如图1所示,包括步骤S102至S106:
S102,在预定局域网络内广播第一设备的设备信息,其中,设备信息包括:软件版本号和设备身份标识号(即ID)。
实现时,该第一设备通常可以是连接到预定局域网络对应路由器下的任意智能设备,例如,洗衣机、冰箱等。
S104,接收预定局域网络内各个设备根据第一设备的设备身份标识号单播回复的设备信息。
该过程中的各个设备由于与第一设备处于相同的局域网络内,因此,能够接收到第一设备广播的设备信息,并根据该设备信息进行单播回复,将设备信息回复给第一设备。
S106,在各个设备中最高的软件版本号高于第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据第二设备的设备身份标识号向第二设备发送软件升级请求。
该过程中,当第一设备发现自身软件版本号并非最高的(即不是最新版的软件),即向软件版本号最高的第二设备发送软件升级请求,以从第二设备上获取升级的软件安装包。在本发明实施例中,各种智能设备使用的都是相同的软件,因此,在升级时,智能设备间可以进行软件升级。
本发明实施例通过广播方式在预定局域网络内发送第一设备的设备信息,使得该预定局域网络内的其它设备都可以接收到其设备信息,并根据该设备信息进行单播回复,第一设备根据接收到的各个设备的设备信息进行软件版本号的比较,并在第一设备自身软件版本号不是最高的情况下,向软件版本号最高的第二设备发送软件升级请求,以获取最新的软件安装包。
本实施例让处于同一局域网络内的智能设备进行软件版本号比较,并根据比较结果向软件版本最高的智能设备发送软件升级请求,以进行智能设备的软件升级,该过程中的智能设备都处于相同局域网络下,网络较为稳定,且智能设备不会发生移动,软件升级不会失败,解决了现有技术的如下问题:对局域网络内的设备进行软件升级时,一旦网络不稳定或断开,升级就会失败。
在各个设备中最高的软件版本号高于第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据第二设备的设备身份标识号向第二设备发送软件升级请求,具体可以包括如下过程:根据各个设备的软件版本号确定软件版本号最高的第二设备;检测最高的软件版本号是否高于第一设备的软件版本号;在最高的软件版本号高于第一设备的软件版本号的情况下,获取第二设备对应的设备身份标识号,并根据设备身份标识号向第二设备发送软件升级请求。其中,所述软件升级请求可以是OTA升级请求。
对于该实施例中的第一设备,其可以是第一次上电的智能设备,当然,其也可以是已经接入预定局域网络很久的一个智能设备。在设置时,可以设置为接入预定局域网络中第一次上电的智能设备才广播其设备信息,当然,也也可以设置为已经接入预定局域网络中很久的一个智能设备按照预定周期广播第一设备的设备信息。该过程相对于只在第一次上电的智能设备才广播其设备信息的方案而言,具有更广泛的适用性,使得任何智能设备都可以进行在线升级,用户体验更好。
在根据设备身份标识号向第二设备发送软件升级请求之后,可以按照断点续传方式从第二设备上下载(即获取)软件版本号最高的软件安装包。断点续传方式升级是当软件升级时,局域设备与远程服务器或连接的TCP连接异常断开后,如当再次连接时,能够继续自动完成升级。本实施例采用断点续传方式,可以保证一旦局域网发生信号强度变化(例如突然间没有了网络),也可以保证在再次连接到第二设备时,能够继续完成升级操作,进一步保证了升级的可靠性。
在接收预定局域网络内各个设备根据第一设备的设备身份标识号单播回复的设备信息之后,还可能存在各个设备中最高的软件版本号低于第一设备自身软件版本号的情况,在这种情况下,第一设备作为软件版本号最高的设备,其它设备会向第一设备发送软件升级请求,在第一设备接收到来自各个设备的软件升级请求后,获取每个软件升级请求的发送设备对应的设备身份标识号,并根据每个设备各自的身份标识号向每个设备发送第一设备的软件版本号对应的软件安装包。该过程中,第一设备是预定局域网络中软件版本号最高的设备,因此,当预定局域网络中的各个设备知晓其是软件版本最高的设备后,就会向其请求升级。该过程充分利用预定局域网络中的各个设备,保证了设备间的升级需求。
本发明第二实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤S1至S3:
S1,在预定局域网络内广播第一设备的设备信息,其中,设备信息包括:软件版本号和设备身份标识号。实现时,该第一设备通常可以是连接到预定局域网络对应路由器下的任意智能设备,例如,洗衣机、冰箱等。
S2,接收预定局域网络内各个设备根据第一设备的设备身份标识号单播回复的设备信息。该过程中的各个设备由于与第一设备处于相同的局域网络内,因此,能够接收到第一设备广播的设备信息,并根据该设备信息进行单播回复,将设备信息回复给第一设备。
S3,在各个设备中最高的软件版本号高于第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据第二设备的设备身份标识号向第二设备发送软件升级请求。
该过程中,当第一设备发现自身软件版本号并非最高的(即不是最新版的软件),即向软件版本号最高的第二设备发送软件升级请求,以从第二设备上获取升级的软件安装包。在本发明实施例中,各种智能设备使用的都是相同的软件,因此,在升级时,智能设备间可以进行软件升级。
本发明实施例通过广播方式在预定局域网络内发送第一设备的设备信息,使得该预定局域网络内的其它设备都可以接收到其设备信息,并根据该设备信息进行单播回复,第一设备根据接收到的各个设备的设备信息进行软件版本号的比较,并在第一设备自身软件版本号不是最高的情况下,向软件版本号最高的第二设备发送软件升级请求,以获取最新的软件安装包。
本实施例让处于同一局域网络内的智能设备进行软件版本号比较,并根据比较结果向软件版本最高的智能设备发送软件升级请求,以进行智能设备的软件升级,该过程中的智能设备都处于相同局域网络下,网络较为稳定,且智能设备不会发生移动,软件升级不会失败,解决了现有技术的如下问题:对局域设备进行软件升级时,一旦网络不稳定或断开,软件升级就会失败。
计算机程序在被处理器执行在各个设备中最高的软件版本号高于第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据设备身份标识号向第二设备发送软件升级请求的步骤时,具体被处理器执行以下步骤:根据各个设备的软件版本号确定软件版本号最高的第二设备;检测最高的软件版本号是否高于第一设备的软件版本号;在最高的软件版本号高于第一设备的软件版本号的情况下,获取第二设备对应的设备身份标识号,并根据设备身份标识号向第二设备发送软件升级请求。其中,软件升级请求可以是OTA升级请求。
对于该实施例中的第一设备,其可以是第一次上电的智能设备,当然,其也可以是已经接入预定局域网络很久的一个智能设备。在设置时,可以设置为接入预定局域网络中第一次上电的智能设备才广播其设备信息,当然,也也可以设置为已经接入预定局域网络中很久的一个智能设备广播第一设备的设备信息。因此,计算机程序在被处理器执行在预定局域网络内广播第一设备的设备信息的步骤时,具体实现如下步骤:按照预定周期在预定局域网络内广播第一设备的设备信息。该过程相对于只在第一次上电的智能设备才广播其设备信息的方案而言,具有更广泛的适用性,使得任何智能设备都可以进行在线升级,用户体验更好。
计算机程序在被处理器执行根据设备身份标识号向第二设备发送软件升级请求的步骤之后,还被处理器执行以下步骤:按照断点续传方式从第二设备上获取软件版本号最高的软件安装包。断点续传方式升级是当软件升级时,局域设备与远程服务器或连接的TCP连接异常断开后,如当再次连接时,能够继续自动完成升级。本实施例采用断点续传方式,可以保证一旦局域网发生信号强度变化(例如突然间没有了网络),也可以保证在再次连接到第二设备时,能够继续完成升级操作,进一步保证了升级的可靠性。
在接收预定局域网络内各个设备根据第一设备的设备身份标识号单播回复的设备信息之后,还可能存在各个设备中最高的软件版本号低于第一设备自身软件版本号的情况,因此,计算机程序在被处理器执行接收预定局域网络内各个设备根据第一设备的设备身份标识号单播回复的设备信息的步骤之后,还被处理器执行以下步骤:在各个设备中最高的软件版本号低于第一设备自身软件版本号的情况下,接收来自各个设备的软件升级请求;获取软件升级请求的发送设备对应的设备身份标识号,并根据发送设备对应的设备身份标识号向该发送设备发送第一设备的软件版本号对应的软件安装包。该过程中,第一设备是预定局域网络中软件版本号最高的设备,因此,当预定局域网络中的各个设备知晓其是软件版本最高的设备后,就会向其请求升级。该过程充分利用预定局域网络中的各个设备,保证了设备间的升级需求。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本发明第三实施例提供了一种智能设备,至少包括存储器、处理器,存储器(相当于上述第二实施例中的存储介质)上存储有计算机程序,其特征在于,处理器在执行存储器上的计算机程序时实现第一实施例中涉及到方法的步骤,此处不再赘述。本实施例主要结合附图2对该实施例提供的智能设备进行说明。
如图2所示,为设备A软件版本号低于设备B软件版本号的流程示意。图2中仅以预定WIFI网络(即预定局域网络的一种形式)只有两个设备为例进行说明,该两个设备都可以是本实施例中的智能设备,但此处以新上电的智能设备才广播设备信息的情况进行说明,但并不构成对本发明的限定;该方法包括如下过程:
S20,设备A在预定WIFI网络内广播其自身的设备信息(软件版本号和设备ID),由于该预定WIFI网络内只有设备B,因此,设备B接收到设备A广播的设备信息。
S21,设备B向设备A单播回复自身的设备信息。
S22,设备B比较设备A的软件版本号与自身软件版本号哪一个更高。
该过程是为了让设备B的软件版本号比设备A的软件版本号低时,可以向设备A发送OTA升级请求的,当然,如果设备B的软件版本号比设备A的软件版本号高时,则设备B不主动执行后续OTA升级流程,而是等待设备A发起请求。
S23,设备A比较设备B的软件版本号与自身软件版本号哪一个更高。
S24,在设备A确定设备B的软件版本号更高的情况下,设备A向设备B发起OTA升级请求。
S25,设备B开启OTA升级服务。
S26,设备B通过断点续传方式向设备A发送软件安装包。
S27,设备A在接收到软件安装包后,完成软件升级。
本发明实施例通过WIFI设备对WIFI设备进行OTA升级,避免了对远程服务器的依赖,同时升级不受外网网速的影响,更加稳定和可靠,提高OTA升级的成功率;避免了对手机的依赖,因一般手机移动性较强,WIFI设备位置比较固定,所以即使当手机不在局域网下时,设备也能够进行OTA升级,提高OTA升级的成功率;该实施例即WIFI设备能够识别出局域网下其它WIFI设备的软件版本,如发现有比自身软件版本高的WIFI设备,则自动向其发起OTA升级请求并完成OTA升级,在此过程中不需设备通过外网连接到远程服务器,也不需要手机和人的参与,全部自动完成,更加智能和便捷;在升级过程中使用断点续传方式,即使被中断,当网络恢复正常时仍然能够继续完成升级。
本发明第四实施例提供了一种智能设备,至少包括存储器、处理器,存储器(相当于上述第二实施例中的存储介质)上存储有计算机程序,其特征在于,处理器在执行存储器上的计算机程序时实现第一实施例中涉及到方法的步骤,此处不再赘述。本实施例主要结合附图3对该实施例提供的智能设备进行说明。
如图3所示,为设备A软件版本号高于设备B软件版本号的流程示意。图3中仅以预定WIFI网络只有两个设备为例进行说明,该两个设备都可以是本实施例中的智能设备,但此处以新上电的智能设备才广播设备信息的情况进行说明,但并不构成对本发明的限定;该方法包括如下过程:
S30,设备A在预定WIFI网络内广播其自身的设备信息(软件版本号和设备ID),由于该预定WIFI网络内只有设备B,因此,设备B接收到设备A广播的设备信息。
S31,设备B向设备A单播回复自身的设备信息。
S32,设备B比较设备A的软件版本号与自身软件版本号哪一个更高。
该过程是为了让设备B的软件版本号比设备A的软件版本号低时,可以向设备A发送OTA升级请求的,当然,如果设备B的软件版本号比设备A的软件版本号高时,则设备B不主动执行后续OTA升级流程,而是等待设备A发起请求。
S33,设备A比较设备B的软件版本号与自身软件版本号哪一个更高。
S34,在设备B确定设备A的软件版本号更高的情况下,设备B向设备A发起OTA升级请求。
S35,设备A开启OTA升级服务。
S36,设备A通过断点续传方式向设备B发送软件安装包。
S37,设备B在接收到软件安装包后,完成软件升级。
本发明实施例新入网WIFI设备通过UDP广播和收到单播回复的方式获得局域网下WIFI设备的软件版本号,通过此方式新入网的设备能够找到局域网下软件版本最高的设备并发起OTA升级请求;同时,局域网下原有的设备也能够知道新入网设备的软件版本号,如其软件版本高则向其发起OTA升级请求。通过此方式局域网中所有的设备都能够升级到软件版本号最高的设备程序;本发明实施例中WIFI设备间进行OTA升级时,不影响正常的业务通信和处理。
本发明第五实施例提供了一种设备的升级装置,该装置的结构示意如图4所示,包括:广播模块10,用于在预定局域网络内广播第一设备的设备信息,其中,设备信息包括:软件版本号和设备身份标识号;第一接收模块11,与广播模块10耦合,用于接收预定局域网络内各个设备根据第一设备的设备身份标识号单播回复的设备信息;执行模块12,与第一接收模块11耦合,用于在各个设备中最高的软件版本号高于第一设备的软件版本号的情况下,获取软件版本号最高的第二设备对应的设备身份标识号,并根据第二设备的设备身份标识号向第二设备发送软件升级请求。
实现时,上述的预定局域网络可以是WIFI网络,则第一设备通常可以是连接到预定WIFI网络对应路由器下的任意智能设备,例如,洗衣机、冰箱等。由于上述各个设备与第一设备处于相同的局域网络内,因此,能够接收到第一设备广播的设备信息,并根据该设备信息进行单播回复,将设备信息回复给第一设备。
上述过程中,当第一设备发现自身软件版本号并非最高的(即不是最新版的软件),即向软件版本号最高的第二设备发送软件升级请求,以从第二设备上获取升级的软件安装包。在本发明实施例中,各种智能设备使用的都是相同的软件,因此,在升级时,智能设备间可以进行软件升级。
上述执行模块,还可以用于按照断点续传方式从第二设备上获取软件版本号最高的软件安装包。
上述装置还可以包括:第二接收模块,用于在各个设备中最高的软件版本号低于第一设备的软件版本号的情况下,接收来自各个设备的软件升级请求;则上述执行模块,还用于获取软件升级请求的发送设备对应的设备身份标识号,并根据发送设备对应的设备身份标识号向发送设备发送第一设备的软件版本号对应的软件安装包。
具体实现时,上述广播模块,具体用于按照预定周期在预定局域网络内广播第一设备的设备信息。上述执行模块,具体用于:根据各个设备的软件版本号确定软件版本号最高的第二设备;检测最高的软件版本号是否高于第一设备的软件版本号;在最高的软件版本号高于第一设备的软件版本号的情况下,获取第二设备对应的设备身份标识号,并根据第二设备的设备身份标识号向第二设备发送软件升级请求。其中,软件升级请求可以是OTA升级请求。
本发明实施例通过广播方式在预定局域网络内发送第一设备的设备信息,使得该预定局域网络内的其它设备都可以接收到其设备信息,并根据该设备信息进行单播回复,第一设备根据接收到的各个设备的设备信息进行软件版本号的比较,并在第一设备自身软件版本号不是最高的情况下,向软件版本号最高的第二设备发送软件升级请求,以获取最新的软件安装包。
本实施例让处于同一局域网络内的智能设备进行软件版本号比较,并根据比较结果向软件版本最高的智能设备发送软件升级请求,以进行智能设备的软件升级,该过程中的智能设备都处于相同局域网络下,网络较为稳定,且智能设备不会发生移动,软件升级不会失败,解决了现有技术的如下问题:对局域网络内的设备进行软件升级时,一旦网络不稳定或断开,升级就会失败。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。