CN107589956A - 一种分布式优先级镜像页ota固件升级方法及系统 - Google Patents
一种分布式优先级镜像页ota固件升级方法及系统 Download PDFInfo
- Publication number
- CN107589956A CN107589956A CN201711001168.4A CN201711001168A CN107589956A CN 107589956 A CN107589956 A CN 107589956A CN 201711001168 A CN201711001168 A CN 201711001168A CN 107589956 A CN107589956 A CN 107589956A
- Authority
- CN
- China
- Prior art keywords
- ota
- mirror image
- image page
- routing node
- servers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种分布式优先级镜像页OTA固件升级方法及系统,该方法包括:OTA服务器向ZigBee全网中的ZigBee数据节点广播固件OTA更新通知;当任一路由节点接收到OTA请求时,判断当前路由节点是否已经完成OTA更新,若是,判断接收到OTA请求类型,否则,向上一级路由节点转发下一级路由节点的OTA请求;当前路由节点判断接收到OTA请求类型,若OTA请求类型为下一级路由节点发送的镜像页请求命令,将该镜像页请求命令转发给上一级路由节点;若OTA请求类型为上一级路由节点或OTA服务器发送的镜像页响应命令,将该镜像页响应命令转发给下一级路由节点。通过本发明的技术方案,能够解决现有技术中多个ZigBee数据节点向OTA服务器发送OTA请求时,ZigBee网络更新拥塞且丢包率高的问题。
Description
技术领域
本发明涉及智能物联网技术领域,具体涉及一种分布式优先级镜像页OTA固件升级方法及系统。
背景技术
OTA(Over-the-Air Technology)空中下载技术,是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术。空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。
OTA(Over-The-Air)一项基于短消息机制,通过手机终端或服务器(网上)方式实现SIM卡内业务菜单的动态下载、删除与更新,使用户获取个性化信息服务的数据增值业务(简称OTA业务)。
OTA固件升级是指终端通过无线下载的方式获取固件版本并对终端固件进行升级。ZigBee空中升级(OTA)技术可以无线更新ZigBee节点固件。
现有技术中,大概存在两种OTA固件升级方案,分别如下:
第一种:
德州仪器Z-Stack解决方案的OTA升级方案是OTA客户端通过P2P方式与OTA服务器进行通信升级。每个ZigBee端点或者路由器都要将OTA请求直接发送到OTA服务器,使得ZigBee网络更新严重拥塞并且丢包率高。
为了解决这个问题,本发明提出了分布式优先页面请求(DPP)OTA算法来更新固件。该算法设计了一种更新优先级顺序以减少海量的数据冗余,并使用页面请求模式来减少请求固件指令周期。根据性能评估,DPP OTA算法具有数据冗余少,更新持续时间更短的优点。NS2仿真实验表明多节点并发请求更新时DPP OTA算法的网络抖动率和传输时延均小于优化前的OTA。
第二种:
现有技术中提出了一种多节点并发的优化OTA升级方案。这种更新方案是针对基于树型ZigBee网络的广播升级效率问题。它定义了一个新节点的逻辑类型称为ZigBee OTA的从服务器节点。当ZigBee网络多节点并发更新固件时,所有节点都将向OTA服务器之外的父亲节点发送请求,作为从服务器的节点对接收到的请求判断是否对子节点进行更新。该方法可以减少固件数据冗余问题,减少OTA服务器的工作量。它使ZigBee OTA更新P2P方案的有序性,而不是任意地请求访问OTA服务器骨干网。然而,ZigBee网络通常是网状网络,自愈网络功能允许ZigBee网络动态转换结构,使树中的父从服务器可能不是适配节点。此外,这种强制性的秩序可能不会导致最佳的更新效率。如果从属服务器在多节点并发更新时未完成固件更新,树网络底部的节点将发送轮询命令,从服务器的节点网络一样会很拥塞。这只是考虑了中心服务器局部问题而没有考虑全网的拥塞问题。
所有这些在大数据量的节点情况下都会导致OTA更新的严重拥堵甚至失败的问题,ZigBee网状网络需要减少数据冗余并提高更新效率和可靠性。同时,OTA更新允许使用ZigBee网络的正常AODV路由功能和其他特点如低功耗,自修复和网状网络架构。据此,本发明提出了分布式优先级页面请求OTA升级算法。它实现基于Z-Stack镜像页请求方式修改ZigBee路由器的OTA应用程序,使ZigBee网状网络能够动态有效地多节点并发更新。该算法就像一种基于ZigBee OTA的AODV路由贪婪算法。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种分布式优先级镜像页OTA固件升级方法及系统,解决现有技术中,多个ZigBee数据节点向OTA服务器发送OTA请求时,ZigBee网络更新拥塞且丢包率高的问题。
为实现以上目的,本发明采用如下技术方案:
一种分布式优先级镜像页OTA固件升级方法,包括:
步骤S1、OTA服务器向ZigBee全网中的ZigBee数据节点广播固件OTA更新通知;
步骤S2、若ZigBee数据节点为路由节点,转入步骤S3;若ZigBee数据节点为终端节点,转入步骤S6;
步骤S3、当任一路由节点接收到OTA请求时,判断当前路由节点是否已经完成OTA更新,若是,转入步骤S4,否则,向上一级路由节点转发下一级路由节点的OTA请求,若当前路由节点无上一级路由节点,向OTA服务器转发下一级路由节点的OTA请求;
步骤S4、当前路由节点判断接收到OTA请求类型,若OTA请求类型为下一级路由节点发送的镜像页请求命令,将该镜像页请求命令转发给上一级路由节点,返回步骤S3,若无上一级路由节点,将该镜像页请求命令转发给OTA服务器进行镜像页响应;其中,所述镜像页请求命令包括n个镜像块请求命令,n为正整数;
步骤S5、若OTA请求类型为上一级路由节点或OTA服务器发送的镜像页响应命令,将该镜像页响应命令转发给下一级路由节点,以使下一级路由节点完成OTA更新;
步骤S6、终端节点向OTA服务器发送镜像页请求命令;
步骤S7、OTA服务器判断该镜像页请求命令是否为最后一页请求,若是,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,持续接收终端节点发送的镜像页请求命令。
优选地,所述镜像页请求命令包含当前ZigBee数据节点的固件版本号。
优选地,所述步骤S7具体包括:
步骤S71、OTA服务器判断该镜像页请求命令是否为最后一页请求,若是,转入步骤S72,否则,持续接收终端节点发送的镜像页请求命令;
步骤S72、OTA服务器根据镜像页请求命令中的固件版本号,查询是否有更新文件,若有,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,结束本次操作。
优选地,所述步骤S4和步骤S7中,OTA服务器根据以下方法进行镜像页响应:
OTA服务器的处理器解码出镜像页请求命令包含的n个镜像块请求命令,并依次存储在内存中;
OTA服务器的缓存从所述内存中依次读取所述n个镜像块请求命令;
OTA服务器的处理器依次对n个镜像块请求命令进行镜像页响应,得到n个镜像页响应命令;
OTA服务器的无线端将n个镜像页响应命令依次发送给相应的ZigBee数据节点。
优选地,所述镜像页响应命令包含待更新的文件信息数据。
优选地,所述待更新的文件信息数据包括:待更新的文件版本号、文件大小、文件CRC校验码。
优选地,各ZigBee数据节点在OTA更新成功后,会向OTA服务器发送OTA更新成功的反馈信息。
优选地,所述n由人工预先设定在各ZigBee数据节点中。
优选地,所述分布式优先级镜像页OTA固件升级方法,适用于树状、网状和/或星状的ZigBee网络。
一种分布式优先级镜像页OTA固件升级系统,包括:
OTA服务器,用于向ZigBee全网中的ZigBee数据节点广播固件OTA更新通知;
ZigBee数据节点,包括路由节点和终端节点,其中,
所述路由节点包括:
第一判断模块,用于当接收到OTA请求时,判断当前路由节点是否已经完成OTA更新,若是,与第二判断模块的输入端连接,否则,向上一级路由节点转发下一级路由节点的OTA请求,若当前路由节点无上一级路由节点,向OTA服务器转发下一级路由节点的OTA请求;
第二判断模块,与第一判断模块连接,用于判断接收到OTA请求类型,若OTA请求类型为下一级路由节点发送的镜像页请求命令,将该镜像页请求命令转发给上一级路由节点,返回第一判断模块的输入端,若无上一级路由节点,将该镜像页请求命令转发给OTA服务器进行镜像页响应;其中,所述镜像页请求命令包括n个镜像块请求命令,n为正整数;
若OTA请求类型为上一级路由节点或OTA服务器发送的镜像页响应命令,将该镜像页响应命令转发给下一级路由节点,以使下一级路由节点完成OTA更新;
所述终端节点,用于向OTA服务器发送镜像页请求命令;
所述OTA服务器,还用于判断所述终端节点发送的镜像页请求命令是否为最后一页请求,若是,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,持续接收所述终端节点发送的镜像页请求命令。
本发明采用以上技术方案,至少具备以下有益效果:
由上述技术方案可知,本发明提供的这种分布式优先级镜像页OTA固件升级方法,针对路由节点和终端节点给出不同的OTA更新方案,其中,对于路由节点的更新:OTA服务器向ZigBee全网中的路由节点发送OTA更新通知,最高级别的路由节点最先完成OTA更新,最高级别的路由节点OTA更新完毕后,第二级别路由节点的OTA请求发送给最高级别的路由节点,最高级别的路由节点转发给OTA服务器,OTA服务器对该OTA请求作出响应后,该响应命令通过最高级别的路由节点转发给第二级别路由节点,从而使第二级别路由节点完成OTA更新;当第二级别路由节点完成OTA更新后,第三级别路由节点的OTA请求发送给第二级别路由节点,第二级别路由节点将该OTA请求转发给最高级别的路由节点,最高级别路由节点转发给OTA服务器;当OTA服务器对该请求作出响应后,最高级别路由节点将该响应命令转发给第二级别路由节点,第二级别路由节点转发给第三路由节点,从而实现第三路由节点的OTA更新......以此类推,从而实现全网路由节点的OTA更新。
相比现有技术,由于本发明提供的这种分布式优先级镜像页OTA固件升级方法,对路由节点采用这种优先级排序的方式进行OTA更新(越是上层路由器越具有较高的OTA更新优先级,可以优先更新固件;当上层路由器完成OTA更新时,它将成为一个OTA路由器来开启下层路由节点的OTA更新服务),不仅避免了ZigBee网络的拥塞,还避免了多个OTA请求同时发送到OTA服务器后,由于OTA服务器无法及时响应造成的丢包率严重的问题。
另外,现有技术中,ZigBee数据节点发送1次块请求命令到OTA服务器,OTA服务器缓存需要向内存里请求出一块,OTA服务器无线端再把这块响应回去。如果n次,重复n次。该方法的缺陷在于:OTA在服务器无线端发送响应时,缓存是空闲的;当缓存请求内存时,无线端是空闲的。
本发明提供的这种分布式优先级镜像页OTA固件升级方法,ZigBee数据节点发送的镜像页请求命令包括n个镜像块请求命令,ZigBee数据节点发送1次页请求命令到OTA服务器,OTA服务器缓存一块一块从内存里面读取出来,OTA服务器无线端一一响应回去。但是,缓存和无线端二者是同时工作的,更新效率大大提高。同时在ZigBee网络上的请求命令会大大减少,特别像ZigBee低数据速率,更新场景又是大数据量,请求次数会很庞大,通过页请求的方式,成倍地缩减了请求次数,提高了更新效率,减少了网络的拥堵和冗余。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种分布式优先级镜像页OTA固件升级方法的流程示意图;
图2为本发明一实施例提供的一种分布式优先级镜像页OTA固件升级系统的示意图;
图3为本发明提供的一个ZigBee数据节点时,德州仪器的OTA更新和本发明提供的OTA更新的抖动率比较的仿真示意图;
图4为本发明提供的四个ZigBee数据节点时,德州仪器的OTA更新和本发明提供的OTA更新的抖动率比较的仿真示意图;
图5为本发明提供的100s内本发明提供的这种OTA更新的抖动率仿真示意图;
图6为本发明提供的100s内现有技术提供的优化的OTA更新的抖动率仿真示意图;
图7为本发明提供的100s内本发明提供的这种OTA更新的传输时延仿真示意图;
图8为本发明提供的100s内现有技术提供的优化的OTA更新的传输时延仿真示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
参见图1,本发明一实施例提供的一种分布式优先级镜像页OTA固件升级方法,包括:
步骤S1、OTA服务器向ZigBee全网中的ZigBee数据节点广播固件OTA更新通知;
步骤S2、若ZigBee数据节点为路由节点,转入步骤S3;若ZigBee数据节点为终端节点,转入步骤S6;
步骤S3、当任一路由节点接收到OTA请求时,判断当前路由节点是否已经完成OTA更新,若是,转入步骤S4,否则,向上一级路由节点转发下一级路由节点的OTA请求,若当前路由节点无上一级路由节点,向OTA服务器转发下一级路由节点的OTA请求;
步骤S4、当前路由节点判断接收到OTA请求类型,若OTA请求类型为下一级路由节点发送的镜像页请求命令,将该镜像页请求命令转发给上一级路由节点,返回步骤S3,若无上一级路由节点,将该镜像页请求命令转发给OTA服务器进行镜像页响应;其中,所述镜像页请求命令包括n个镜像块请求命令,n为正整数;
步骤S5、若OTA请求类型为上一级路由节点或OTA服务器发送的镜像页响应命令,将该镜像页响应命令转发给下一级路由节点,以使下一级路由节点完成OTA更新;
步骤S6、终端节点向OTA服务器发送镜像页请求命令;
步骤S7、OTA服务器判断该镜像页请求命令是否为最后一页请求,若是,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,持续接收终端节点发送的镜像页请求命令。
由上述技术方案可知,本发明提供的这种分布式优先级镜像页OTA固件升级方法,针对路由节点和终端节点给出不同的OTA更新方案,其中,对于路由节点的更新:OTA服务器向ZigBee全网中的路由节点发送OTA更新通知,最高级别的路由节点最先完成OTA更新,最高级别的路由节点OTA更新完毕后,第二级别路由节点的OTA请求发送给最高级别的路由节点,最高级别的路由节点转发给OTA服务器,OTA服务器对该OTA请求作出响应后,该响应命令通过最高级别的路由节点转发给第二级别路由节点,从而使第二级别路由节点完成OTA更新;当第二级别路由节点完成OTA更新后,第三级别路由节点的OTA请求发送给第二级别路由节点,第二级别路由节点将该OTA请求转发给最高级别的路由节点,最高级别路由节点转发给OTA服务器;当OTA服务器对该请求作出响应后,最高级别路由节点将该响应命令转发给第二级别路由节点,第二级别路由节点转发给第三路由节点,从而实现第三路由节点的OTA更新......以此类推,从而实现全网路由节点的OTA更新。
相比现有技术,由于本发明提供的这种分布式优先级镜像页OTA固件升级方法,对路由节点采用这种优先级排序的方式进行OTA更新(越是上层路由器越具有较高的OTA更新优先级,可以优先更新固件;当上层路由器完成OTA更新时,它将成为一个OTA路由器来开启下层路由节点的OTA更新服务),不仅避免了ZigBee网络的拥塞,还避免了多个OTA请求同时发送到OTA服务器后,由于OTA服务器无法及时响应造成的丢包率严重的问题。
另外,现有技术中,ZigBee数据节点发送1次块请求命令到OTA服务器,OTA服务器缓存需要向内存里请求出一块,OTA服务器无线端再把这块响应回去。如果n次,重复n次。该方法的缺陷在于:OTA在服务器无线端发送响应时,缓存是空闲的;当缓存请求内存时,无线端是空闲的。
本发明提供的这种分布式优先级镜像页OTA固件升级方法,ZigBee数据节点发送的镜像页请求命令包括n个镜像块请求命令,ZigBee数据节点发送1次页请求命令到OTA服务器,OTA服务器缓存一块一块从内存里面读取出来,OTA服务器无线端一一响应回去。但是,缓存和无线端二者是同时工作的,更新效率大大提高。同时在ZigBee网络上的请求命令会大大减少,特别像ZigBee低数据速率,更新场景又是大数据量,请求次数会很庞大,通过页请求的方式,成倍地缩减了请求次数,提高了更新效率,减少了网络的拥堵和冗余。
优选地,所述镜像页请求命令包含当前ZigBee数据节点的固件版本号。
优选地,所述步骤S7具体包括:
步骤S71、OTA服务器判断该镜像页请求命令是否为最后一页请求,若是,转入步骤S72,否则,持续接收终端节点发送的镜像页请求命令;
步骤S72、OTA服务器根据镜像页请求命令中的固件版本号,查询是否有更新文件,若有,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,结束本次操作。
优选地,所述步骤S4和步骤S7中,OTA服务器根据以下方法进行镜像页响应:
OTA服务器的处理器解码出镜像页请求命令包含的n个镜像块请求命令,并依次存储在内存中;
OTA服务器的缓存从所述内存中依次读取所述n个镜像块请求命令;
OTA服务器的处理器依次对n个镜像块请求命令进行镜像页响应,得到n个镜像页响应命令;
OTA服务器的无线端将n个镜像页响应命令依次发送给相应的ZigBee数据节点。
优选地,所述镜像页响应命令包含待更新的文件信息数据。
优选地,所述待更新的文件信息数据包括:待更新的文件版本号、文件大小、文件CRC校验码。
优选地,各ZigBee数据节点在OTA更新成功后,会向OTA服务器发送OTA更新成功的反馈信息。
优选地,所述n由人工预先设定在各ZigBee数据节点中。
优选地,所述分布式优先级镜像页OTA固件升级方法,适用于树状、网状和/或星状的ZigBee网络。
参见图2,本发明还提出了一种分布式优先级镜像页OTA固件升级系统,包括:
OTA服务器1,用于向ZigBee全网中的ZigBee数据节点广播固件OTA更新通知;
ZigBee数据节点,包括路由节点2和终端节点3,其中,
所述路由节点2包括:
第一判断模块,用于当接收到OTA请求时,判断当前路由节点是否已经完成OTA更新,若是,与第二判断模块的输入端连接,否则,向上一级路由节点转发下一级路由节点的OTA请求,若当前路由节点无上一级路由节点,向OTA服务器转发下一级路由节点的OTA请求;
第二判断模块,与第一判断模块连接,用于判断接收到OTA请求类型,若OTA请求类型为下一级路由节点发送的镜像页请求命令,将该镜像页请求命令转发给上一级路由节点,返回第一判断模块的输入端,若无上一级路由节点,将该镜像页请求命令转发给OTA服务器进行镜像页响应;其中,所述镜像页请求命令包括n个镜像块请求命令,n为正整数;
若OTA请求类型为上一级路由节点或OTA服务器发送的镜像页响应命令,将该镜像页响应命令转发给下一级路由节点,以使下一级路由节点完成OTA更新;
所述终端节点3,用于向OTA服务器1发送镜像页请求命令;
所述OTA服务器1,还用于判断所述终端节点发送的镜像页请求命令是否为最后一页请求,若是,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,持续接收所述终端节点发送的镜像页请求命令。
另外,申请人还通过NS2网络仿真软件模拟实现了德州仪器的OTA更新(参见背景技术部分的方案一),现有技术中优化的OTA更新(参见背景技术部分的方案二)及本发明提供的这种分布式优先级镜像页OTA固件升级方法,三者仿真结果对比如下:
图3显示的是一个ZigBee数据节点时,德州仪器的OTA更新和本发明提供的OTA更新的抖动率比较的仿真示意图。
参见图3,从时间10.3s到100s仿真的是本发明提供的这种OTA固件升级方法的更新过程。100秒之后,更新方式更改为德州仪器的OTA。从图3中可以看出,从10.3s到100s的时间,本发明提供的算法的抖动很小并且很稳定,但德州仪器的OTA具有显着的抖动。
图4显示的是四个ZigBee数据节点时,德州仪器的OTA更新和本发明提供的OTA更新的抖动率比较的仿真示意图。
参见图4,四个ZigBee数据节点时,虽然本发明提供的OTA更新抖动范围比一个ZigBee数据节点时宽。但德州仪器的OTA更新的抖动冲击密度明显大于本发明提供的这种OTA更新的抖动密度。因此,无论多少个ZigBee数据节点更新,本发明提供的这种OTA更新的网络稳定性能始终优于德州仪器的OTA更新。
本发明的模拟仿真表明,一定程度上数据冗余与抖动速率成正比例关系,即数据冗余度越高,网络越不稳定越抖动。由于数据冗余反映了网络拥塞程度,拥塞程度越高抖动越多。
图5显示的是100s内本发明提供的这种OTA更新的抖动率仿真示意图,图6显示的是100s内现有技术提供的优化的OTA更新的抖动率仿真示意图。
参见图5和图6,本发明提供的这种OTA更新抖动的大部分分布为正0.005和负0.005之间,密度分布小于图6中的现有技术提供的这种优化的OTA更新(抖动集中在正负0.01之间)。因此,该仿真可以表明本发明提供的这种OTA更新在ZigBee网络的稳定性优于现有技术提供的这种优化的OTA更新。
图7显示的是100s内本发明提供的这种OTA更新的传输时延仿真示意图,图8显示的是100s内现有技术提供的优化的OTA更新的传输时延仿真示意图。
参见图7和图8,传输延迟测试是来自一个ZigBee数据节点到OTA服务器。从图7可以看出,本发明提供的这种OTA更新的传输延迟分布大多在0.004s和0.01s之间。而图8显示的现有技术提供的这种优化的OTA更新的传输延迟分布在0.01s和0.03s之间。可见,本发明提供的这种OTA更新使用镜像页请求减少了大部分请求命令并减少了传输延迟。
下表一为德州仪器的OTA更新(参见背景技术部分的方案一),现有技术中优化的OTA更新(参见背景技术部分的方案二)及本发明提供的这种分布式优先级镜像页OTA固件升级方法,三者丢包率的结果比较。
DPPOTA | sent=13082 | drop=1000 | pktlossrate=0.076441% |
OOTA | sent=9308 | drop=1760 | pktlossrate=0.189085% |
TI’s OTA | sent=8400 | drop=3300 | pktlossrate=0.392857% |
表一
参见表一,本发明提供的这种分布式优先级镜像页OTA固件升级方法,丢包率低于现有技术中的优化的OTA更新和德州仪器的OTA更新。
本发明的算法创新之处在于它将德州仪器的镜像页优化和更新路由请求优化相结合,针对多点高并发请求OTA更新场景,实现了分布式优先级镜像页OTA更新,大大减少了ZigBee网络的抖动率和节点传输时延。但是,这种设计的代价是增加了终端节点更新等待时间。而在智能家居ZigBee固件升级场景中,路由器和OTA服务器对于更新需求的重要性要求很大而一般终端节点更新相对需求较弱。本发明的算法正好迎合了这样的应用环境需求:先更新比较重要的路由器后更新终端节点,这样路由器本身的更新速度就很快同时又不会受到终端节点干扰。有效地减少了海量冗余数据和请求命令,选择性地升级了重要设备,增加了ZigBee网络升级整体的稳定性和可靠性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
Claims (10)
1.一种分布式优先级镜像页OTA固件升级方法,其特征在于,包括:
步骤S1、OTA服务器向ZigBee全网中的ZigBee数据节点广播固件OTA更新通知;
步骤S2、若ZigBee数据节点为路由节点,转入步骤S3;若ZigBee数据节点为终端节点,转入步骤S6;
步骤S3、当任一路由节点接收到OTA请求时,判断当前路由节点是否已经完成OTA更新,若是,转入步骤S4,否则,向上一级路由节点转发下一级路由节点的OTA请求,若当前路由节点无上一级路由节点,向OTA服务器转发下一级路由节点的OTA请求;
步骤S4、当前路由节点判断接收到OTA请求类型,若OTA请求类型为下一级路由节点发送的镜像页请求命令,将该镜像页请求命令转发给上一级路由节点,返回步骤S3,若无上一级路由节点,将该镜像页请求命令转发给OTA服务器进行镜像页响应;其中,所述镜像页请求命令包括n个镜像块请求命令,n为正整数;
步骤S5、若OTA请求类型为上一级路由节点或OTA服务器发送的镜像页响应命令,将该镜像页响应命令转发给下一级路由节点,以使下一级路由节点完成OTA更新;
步骤S6、终端节点向OTA服务器发送镜像页请求命令;
步骤S7、OTA服务器判断该镜像页请求命令是否为最后一页请求,若是,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,持续接收终端节点发送的镜像页请求命令。
2.根据权利要求1所述的分布式优先级镜像页OTA固件升级方法,其特征在于,所述镜像页请求命令包含当前ZigBee数据节点的固件版本号。
3.根据权利要求2所述的分布式优先级镜像页OTA固件升级方法,其特征在于,所述步骤S7具体包括:
步骤S71、OTA服务器判断该镜像页请求命令是否为最后一页请求,若是,转入步骤S72,否则,持续接收终端节点发送的镜像页请求命令;
步骤S72、OTA服务器根据镜像页请求命令中的固件版本号,查询是否有更新文件,若有,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,结束本次操作。
4.根据权利要求1所述的分布式优先级镜像页OTA固件升级方法,其特征在于,所述步骤S4和步骤S7中,OTA服务器根据以下方法进行镜像页响应:
OTA服务器的处理器解码出镜像页请求命令包含的n个镜像块请求命令,并依次存储在内存中;
OTA服务器的缓存从所述内存中依次读取所述n个镜像块请求命令;
OTA服务器的处理器依次对n个镜像块请求命令进行镜像页响应,得到n个镜像页响应命令;
OTA服务器的无线端将n个镜像页响应命令依次发送给相应的ZigBee数据节点。
5.根据权利要求1所述的分布式优先级镜像页OTA固件升级方法,其特征在于,所述镜像页响应命令包含待更新的文件信息数据。
6.根据权利要求2所述的分布式优先级镜像页OTA固件升级方法,其特征在于,所述待更新的文件信息数据包括:待更新的文件版本号、文件大小、文件CRC校验码。
7.根据权利要求1所述的分布式优先级镜像页OTA固件升级方法,其特征在于,各ZigBee数据节点在OTA更新成功后,会向OTA服务器发送OTA更新成功的反馈信息。
8.根据权利要求1所述的分布式优先级镜像页OTA固件升级方法,其特征在于,所述n由人工预先设定在各ZigBee数据节点中。
9.根据权利要求1~6任一项所述的分布式优先级镜像页OTA固件升级方法,其特征在于,适用于树状、网状和/或星状的ZigBee网络。
10.一种分布式优先级镜像页OTA固件升级系统,其特征在于,包括:
OTA服务器,用于向ZigBee全网中的ZigBee数据节点广播固件OTA更新通知;
ZigBee数据节点,包括路由节点和终端节点,其中,
所述路由节点包括:
第一判断模块,用于当接收到OTA请求时,判断当前路由节点是否已经完成OTA更新,若是,与第二判断模块的输入端连接,否则,向上一级路由节点转发下一级路由节点的OTA请求,若当前路由节点无上一级路由节点,向OTA服务器转发下一级路由节点的OTA请求;
第二判断模块,与第一判断模块连接,用于判断接收到OTA请求类型,若OTA请求类型为下一级路由节点发送的镜像页请求命令,将该镜像页请求命令转发给上一级路由节点,返回第一判断模块的输入端,若无上一级路由节点,将该镜像页请求命令转发给OTA服务器进行镜像页响应;其中,所述镜像页请求命令包括n个镜像块请求命令,n为正整数;
若OTA请求类型为上一级路由节点或OTA服务器发送的镜像页响应命令,将该镜像页响应命令转发给下一级路由节点,以使下一级路由节点完成OTA更新;
所述终端节点,用于向OTA服务器发送镜像页请求命令;
所述OTA服务器,还用于判断所述终端节点发送的镜像页请求命令是否为最后一页请求,若是,则向所述终端节点发送镜像页响应命令,以使该终端节点完成OTA更新;否则,持续接收所述终端节点发送的镜像页请求命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711001168.4A CN107589956B (zh) | 2017-10-24 | 2017-10-24 | 一种分布式优先级镜像页ota固件升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711001168.4A CN107589956B (zh) | 2017-10-24 | 2017-10-24 | 一种分布式优先级镜像页ota固件升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107589956A true CN107589956A (zh) | 2018-01-16 |
CN107589956B CN107589956B (zh) | 2023-08-22 |
Family
ID=61043488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711001168.4A Active CN107589956B (zh) | 2017-10-24 | 2017-10-24 | 一种分布式优先级镜像页ota固件升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107589956B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306768A (zh) * | 2018-01-30 | 2018-07-20 | 惠州Tcl家电集团有限公司 | 网关及其协调器的协同升级方法、装置及存储介质 |
CN109189460A (zh) * | 2018-11-20 | 2019-01-11 | 北京千丁互联科技有限公司 | 离线固件升级系统及方法 |
EP3614789A1 (en) * | 2018-08-20 | 2020-02-26 | NXP USA, Inc. | Rf transceiver and wireless mesh network |
CN111628884A (zh) * | 2020-03-31 | 2020-09-04 | 新华三技术有限公司 | 一种终端升级的方法、一种网关、智能终端设备 |
CN111769962A (zh) * | 2019-04-01 | 2020-10-13 | 成都启英泰伦科技有限公司 | 一种mcu固件ota升级方法 |
CN111886845A (zh) * | 2018-03-23 | 2020-11-03 | 昕诺飞控股有限公司 | 在通信互连装置网络中执行空中下载(ota)升级的方法和装置 |
CN113347225A (zh) * | 2021-04-19 | 2021-09-03 | 中科创达软件股份有限公司 | 物联网终端设备的空中下载技术ota升级方法及服务器 |
CN114172899A (zh) * | 2022-02-10 | 2022-03-11 | 杭州锐思客技术有限公司 | 基于ZigBee网络的OTA升级方法和系统 |
CN114666783A (zh) * | 2020-12-23 | 2022-06-24 | 深圳Tcl新技术有限公司 | 一种无线网络模组的升级方法、装置、终端以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744548A (zh) * | 2004-08-27 | 2006-03-08 | 索尼株式会社 | 信息分发系统及其方法、终端、服务器、及终端连接方法 |
CN102136934A (zh) * | 2010-10-21 | 2011-07-27 | 华为技术有限公司 | 实现Zigbee设备远程升级的方法、装置及网络系统 |
EP2506612A1 (de) * | 2011-03-31 | 2012-10-03 | Vodafone Holding GmbH | Konfiguration eines in einem Mobilfunknetz mit einem Mobilfunkteilnehmeridentifikationsmodul betreibbaren mobilen Endgerätes |
CN104471894A (zh) * | 2012-11-20 | 2015-03-25 | 杭州华为数字技术有限公司 | 一种升级方法和节点设备 |
-
2017
- 2017-10-24 CN CN201711001168.4A patent/CN107589956B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744548A (zh) * | 2004-08-27 | 2006-03-08 | 索尼株式会社 | 信息分发系统及其方法、终端、服务器、及终端连接方法 |
CN102136934A (zh) * | 2010-10-21 | 2011-07-27 | 华为技术有限公司 | 实现Zigbee设备远程升级的方法、装置及网络系统 |
EP2506612A1 (de) * | 2011-03-31 | 2012-10-03 | Vodafone Holding GmbH | Konfiguration eines in einem Mobilfunknetz mit einem Mobilfunkteilnehmeridentifikationsmodul betreibbaren mobilen Endgerätes |
CN104471894A (zh) * | 2012-11-20 | 2015-03-25 | 杭州华为数字技术有限公司 | 一种升级方法和节点设备 |
Non-Patent Citations (1)
Title |
---|
楼亮亮: "基于ZigBee协议OTA技术的改进方法研究" * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306768A (zh) * | 2018-01-30 | 2018-07-20 | 惠州Tcl家电集团有限公司 | 网关及其协调器的协同升级方法、装置及存储介质 |
CN111886845A (zh) * | 2018-03-23 | 2020-11-03 | 昕诺飞控股有限公司 | 在通信互连装置网络中执行空中下载(ota)升级的方法和装置 |
CN110855311A (zh) * | 2018-08-20 | 2020-02-28 | 恩智浦美国有限公司 | Rf收发器和无线网状网络 |
EP3614789A1 (en) * | 2018-08-20 | 2020-02-26 | NXP USA, Inc. | Rf transceiver and wireless mesh network |
US10924589B2 (en) | 2018-08-20 | 2021-02-16 | Nxp Usa, Inc. | RF transceiver and wireless mesh network |
CN109189460A (zh) * | 2018-11-20 | 2019-01-11 | 北京千丁互联科技有限公司 | 离线固件升级系统及方法 |
CN111769962A (zh) * | 2019-04-01 | 2020-10-13 | 成都启英泰伦科技有限公司 | 一种mcu固件ota升级方法 |
CN111628884A (zh) * | 2020-03-31 | 2020-09-04 | 新华三技术有限公司 | 一种终端升级的方法、一种网关、智能终端设备 |
CN114666783A (zh) * | 2020-12-23 | 2022-06-24 | 深圳Tcl新技术有限公司 | 一种无线网络模组的升级方法、装置、终端以及存储介质 |
CN113347225A (zh) * | 2021-04-19 | 2021-09-03 | 中科创达软件股份有限公司 | 物联网终端设备的空中下载技术ota升级方法及服务器 |
CN113347225B (zh) * | 2021-04-19 | 2022-05-24 | 中科创达软件股份有限公司 | 物联网终端设备的空中下载技术ota升级方法及服务器 |
CN114172899A (zh) * | 2022-02-10 | 2022-03-11 | 杭州锐思客技术有限公司 | 基于ZigBee网络的OTA升级方法和系统 |
CN114172899B (zh) * | 2022-02-10 | 2022-05-27 | 杭州锐思客技术有限公司 | 基于ZigBee网络的OTA升级方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107589956B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107589956A (zh) | 一种分布式优先级镜像页ota固件升级方法及系统 | |
CN110149370A (zh) | 一种升级文件下载方法及装置 | |
US11991036B2 (en) | Communication method and apparatus, entity, and computer-readable storage medium | |
US11582350B2 (en) | Policy charging control and session management interaction method, apparatus, and system | |
JP2016535895A (ja) | ソフトウェア更新方法、システム及びデバイス | |
CN104243586A (zh) | 内容共享方法、内容共享装置,以及内容共享设备 | |
CN101127714B (zh) | 一种无线网状网络中路由管理方法及设备 | |
CN102868935A (zh) | 在内容分发网络中响应多源的调度方法 | |
WO2021115396A1 (zh) | 一种数据处理方法、装置及系统 | |
Marrón et al. | Management and configuration issues for sensor networks | |
KR20170075000A (ko) | 머신-투-머신 시스템에서의 애플리케이션 관계 관리 | |
Jia et al. | A BUS‐aided RSU access scheme based on SDN and evolutionary game in the Internet of Vehicle | |
CN113301079B (zh) | 一种数据的获取方法、系统、计算设备及存储介质 | |
EP4324125A1 (en) | Apparatus, method and computer program for managing a request for cognitive network functions and/or machine learning models | |
CN107483330B (zh) | 一种中继器桥接方法和网关 | |
CN103327133B (zh) | 一种地理位置信息更新方法及装置 | |
CN112671572B (zh) | 智能设备配网的方法、装置、存储介质及电子装置 | |
US10595185B1 (en) | Channel diversity awareness in neighbor selection | |
CN113261249A (zh) | 一种数据传输方法、相关设备及计算机存储介质 | |
CN104468483A (zh) | 数据传输方法及系统、控制装置与节点装置 | |
CN112714146B (zh) | 一种资源调度方法、装置、设备及计算机可读存储介质 | |
KR20210051259A (ko) | 단말 제어 장치 및 방법 | |
CN107710793A (zh) | 一种定位方法及对应装置 | |
CN104601527B (zh) | 数据过滤的方法及装置 | |
CN114390053B (zh) | 业务内容调度方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |