CN110688133A - 分布式固件升级的方法、系统、装置及电子设备 - Google Patents
分布式固件升级的方法、系统、装置及电子设备 Download PDFInfo
- Publication number
- CN110688133A CN110688133A CN201910802259.0A CN201910802259A CN110688133A CN 110688133 A CN110688133 A CN 110688133A CN 201910802259 A CN201910802259 A CN 201910802259A CN 110688133 A CN110688133 A CN 110688133A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgraded
- equipment
- upgrade
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000005540 biological transmission Effects 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001902 propagating effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 229910052744 lithium Inorganic materials 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003345 natural gas Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000979 retarding effect Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种分布式固件升级的方法、系统、装置、电子设备及存储介质。该方法通过目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备;检测是否接收到升级固件获取请求;若是,返回升级固件给发送升级固件获取请求的待升级设备。通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量。
Description
技术领域
本申请涉及物联网技术领域,更具体地,涉及一种分布式固件升级的方法、系统、装置、电子设备及存储介质。
背景技术
随着物联网行业的发展,无线通信技术的应用越来越成熟。其中,无线通信协议广泛应用于智能家居、智能照明、工业物联网以及智慧城市等领域。并且随着行业和技术的发展,基于无线通信协议的产品的形态及数量越来越多,而产品是需要不定期进行升级的,一方面通过升级可以获得新功能,另一方面,通过升级可以解决一些问题从而提升这些产品的稳定性。作为一种方式,可以通过OTA(Over-the-Air Technology,空中下载)技术实现无线通信协议的固件升级,然而,当设备数量很多的时候,通过OTA技术实现设备的固件升级的速度还有待提升。
发明内容
鉴于上述问题,本申请提供了一种分布式固件升级的方法、系统、装置、电子设备及存储介质,以实现改善上述问题。
第一方面,本申请实施例提供了一种分布式固件升级的方法,该方法包括:目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备;检测是否接收到升级固件获取请求;若是,返回升级固件给发送升级固件获取请求的待升级设备。
第二方面,本申请实施例提供了一种分布式固件升级的系统,该系统包括协调器、目标设备以及待升级设备,目标设备以及待升级设备为协调器的从属设备:协调器用于分发升级固件给初始状态的目标设备,以便于目标设备完成固件升级;目标设备用于在完成固件升级后,广播升级固件通知,以便于待升级设备请求获取升级固件;目标设备还用于检测是否接收到升级固件获取请求;目标设备还用于若是,返回升级固件给发送升级固件获取请求的待升级设备。
第三方面,本申请实施例提供了一种分布式固件升级的装置,该装置包括:数据广播模块,用于目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备;检测模块,用于检测是否接收到升级固件获取请求;请求处理模块,用于若是,返回升级固件给发送升级固件获取请求的待升级设备。
第四方面,本申请实施例提供了一种电子设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述第一方面所述的方法。
第五方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质上存储有程序代码,其中,在计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请实施例提供了一种分布式固件升级的方法、系统、装置、电子设备及存储介质。本方法通过目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备;检测是否接收到升级固件获取请求;若是,返回升级固件给发送升级固件获取请求的待升级设备。通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量。
附图说明
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了现有技术中OTA升级过程中协调器与设备的交互示意图。
图2示出了图1中的协调器向设备传输升级固件的传输流程示意图。
图3示出了本申请实施例提供的一种网络系统示意图。
图4示出了本申请实施例提供的一种分布式固件升级的系统的结构框图。
图5示出了本申请一实施例提供的一种分布式固件升级的方法的方法流程图。
图6示出了本申请实施例提供的目标设备广播升级固件通知的数据传输示意图。
图7示出了本申请另一实施例提供的一种分布式固件升级的方法的方法流程图。
图8示出了图7中的步骤S210的方法流程图。
图9示出了图7中的步骤S210的方法流程图。
图10示出了本申请又一实施例提供的一种分布式固件升级的方法的方法流程图。
图11示出了图10中的步骤S360的方法流程图。
图12示出了图10中的步骤S360的方法流程图。
图13示出了本申请再一实施例提供的一种分布式固件升级的方法的方法流程图。
图14示出了本申请实施例提供的目标设备以页传输模式返回升级固件给待升级设备的数据传输流程示意图。
图15示出了本申请实施例提供的一种分布式固件升级的装置的结构框图。
图16示出了本申请实施例提供的一种电子设备的结构框图。
图17是本申请实施例提供的一种计算机可读存储介质的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着物联网的迅猛发展,OTA(Over-the-Air Technology)空中下载技术已经运用到智能家居场景,例如,可以运用OTA对ZigBee协议下的设备固件进行升级。OTA固件升级是指终端设备(例如遵循ZigBee协议的设备)通过无线下载的方式获取固件版本并对终端固件进行升级。ZigBee空中升级(OTA)技术可以无线更新ZigBee节点固件。空中升级(Over-the-air)能够帮助制造商为其产品添加新功能,修复缺陷,并在识别到新威胁时使用安全补丁。
ZigBee无线网络中包含三种角色的设备:协调器(Coordinator),路由设备(Router),终端设备(End Device)。其中协调器是ZigBee网络的中心。传统的ZigBee OTA是以协调器为中心,对网络中的其他设备进行升级(如图1所示,协调器对若干个设备进行固件升级),即“集中式OTA”。
作为一种方式,由于ZigBee无线通信每次传输的数据量是有限制的,而完整的升级固件一般比较大,因此,上述集中式OTA的固件升级过程可以采用“帧传输”的方式。所谓帧传输,也就是把一个升级固件拆分成很多帧,然后传输给设备,直到整个升级固件传输完成,此外,为了避免空中传输数据时造成丢包,每一帧数据的传输采用request-response机制(如图2所示)。
然而,升级固件一般为产品的完整固件,通常较大,需要拆分成很多帧来传输,而网络中又只有一个核心的固件分发器(即协调器),那么对于每一帧的来回交互(不断的request-response),会耗费较多的时间且造成额外的开销。而ZigBee设备OTA的时间长短会直接影响到用户的体验,尤其当ZigBee设备数量很多的时候,因此提升OTA的速度成为产品非常重要的技术环节;另一方面,针对传感器设备,OTA时间越长耗费的电量越多,极大的缩短了产品的寿命。
根据OTA技术的数据传输特点,发明人发现,若将固件升级成功的ZigBee设备作为目标设备,通过目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备,再检测是否接收到升级固件获取请求,若是,那么返回升级固件给发送升级固件获取请求的待升级设备,可以加快升级固件数据的传输速度,进而节省设备电量。因此,发明人对如何提升设备的固件升级的速度进行了仔细研究。
发明人发现,通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,可以实现加快升级固件数据的传输速度,进而节省设备电量。
因此,发明人提出了本申请实施例提供的分布式固件升级的方法、系统、装置、电子设备及存储介质。本申请实施例提供的分布式固件升级的方法使得目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备;检测是否接收到升级固件获取请求;若是,返回升级固件给发送升级固件获取请求的待升级设备。通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量。
下面先对本申请实施例提供的分布式固件升级的方法以及装置所涉及的应用环境进行介绍。
请参阅图3,为本申请实施例提供的一种网络系统10,该网络系统10包括:移动终端11、服务器12、网关13、子设备14以及路由器15。其中,移动终端11可以是任何具备通信和存储功能的设备,例如:智能手机、台式电脑、笔记本电脑、平板电脑或其他具有网络连接功能的智能通信设备,在该移动终端11中存储有用于管理子设备14的客户端(可以是应用程序客户端(如手机APP),也可以是网页客户端)和可以在该客户端登录的用户帐号。服务器12可以是网络接入服务器、数据库服务器、云服务器等。可选的,网关13为基于ZigBee协议搭建,子设备14可以是预先加入网关13中的设备,例如,ZigBee设备可以是网关出厂时网关所归属套件中的设备;也可以是后续通过用户操作连接至网关13中的设备。子设备14可以是实体智能设备,如电表、门磁传感器、人体传感器、门窗传感器、温湿度传感器、水浸传感器、天然气报警器、烟雾报警器、墙壁开关、墙壁插座、智能插座、无线开关、无线墙贴开关、魔方控制器、窗帘电机、多功能网关、空调伴侣、摄像头等智能设备,也可以是虚拟传感器设备,如虚拟人体传感器设备,在此不作限定。
需要说明的是,本申请实施例中,子设备14为通过无线通信技术与网关连接,需要进行固件升级的设备。
可选的,一个或多个子设备14可以基于ZigBee协议与网关13建立网络连接,从而加入到ZigBee网络中。网关13以及移动终端11均可以与路由器15连接,并通过路由器15接入到以太网中,路由器15与服务器12通信连接。例如,网关13以及移动终端11可以将获取的信息存储到服务器12中。可选的,移动终端11可以与服务器12建立网络连接,从而可以获取服务器12下发的数据。
可选的,如图1所示的局域网路径表示移动终端11与路由器15和网关13在同一局域网络中,广域网路径表示移动终端11与路由器15和网关13不在同一局域网络中。其中,当移动终端11与路由器15和网关13在同一局域网络中时,移动终端11可通过如图1所示的局域网路径与网关13以及连接至网关13的子设备14进行交互;也可以通过如图1所示的广域网路径与网关13以及连接至网关13的子设备14进行交互。当移动终端11与路由器15和网关13不在同一局域网络中时,移动终端11可以通过如图1所示的广域网路径与网关13以及连接至网关13的子设备14进行交互。
基于上面介绍的应用环境,下面将结合附图简要介绍本申请实施例中所涉及的分布式固件升级的系统。
请参阅图4,本申请实施例提供了一种分布式固件升级的系统200,包括协调器201、目标设备202以及待升级设备203。协调器201与目标设备202以及待升级设备203通信连接,以实现数据交互。
需要说明的是,本申请实施例中的目标设备202与待升级设备203可以是相同(同一个或者同类)的设备,在这种情况下,在当待升级设备203固件升级完成后,可以成为目标设备202,而目标设备202在广播升级固件通知以前,也可以是待升级设备203。可选的,待升级设备203也可以是目标设备202以外的其他设备,在这种情况下,由目标设备202对待升级设备203进行固件升级。
作为一种方式,协调器201对目标设备202的固件升级完成后,可以由目标设备202向待升级设备203广播固件升级通知,进而帮助待升级设备203完成固件升级,从而可以分解协调器的数据传输压力,加快数据传输速度,即加快固件升级的速度。
需要说明的是,图4的分布式固件升级的系统图仅作为示例,并不构成对本方案的限定,例如,目标设备202可以有很多个(图中仅示出一个),类似的,待升级设备203也可以有很多个(图中仅示出一个),且目标设备202以及待升级设备203与协调器的连接方式不受限制。
基于上面介绍的应用环境以及系统,下面将结合附图具体描述本申请的各实施例。
请参阅图5,为本申请一实施例提供的一种分布式固件升级的方法的方法流程图,本实施例提供一种分布式固件升级的方法,该方法包括:
步骤S110:目标设备广播升级固件通知,以便于待升级设备请求获取所述升级固件。
本申请实施例中,目标设备为协调器的从属设备,或者可以理解为目标设备与协调器为不同的设备。目标设备遵循无线通信协议,例如ZigBee协议,为了便于理解方案,本申请实施例后续以ZigBee设备为例进行说明,其中,ZigBee设备即为ZigBee无线通信协议下的设备。
可以理解的是,在对ZigBee设备的固件进行升级的过程中,可以由协调器对ZigBee设备的固件进行升级。在ZigBee设备的固件升级成功之前,可以将ZigBee设备视为待升级设备,在该待升级设备升级成功(即接收完协调器传输的整个固件并完成CRC校验)之后,可以将该待升级设备作为目标设备。可以理解的是,任意一个固件升级成功的待升级设备可以成为目标设备。
目标设备的固件包括应用层固件和非应用层固件,具体的,如下表1所示,ZigBee设备的OTA固件结构包括应用层固件(即表1中的应用层)以及非应用层固件(表1中的应用支持子层APS、网络层、802.15.4 MAC层以及物理层PHY)。本申请实施例中的升级固件为应用层固件,通过将应用层与其他层(即非应用层)分离,可以实现每次OTA时,只针对应用层进行OTA,以便于缩小OTA固件的大小,从而可以加快设备固件升级的速度。
表1
应用层 |
应用支持子层APS |
网络层 |
802.15.4 MAC层 |
物理层PHY |
可以理解的是,传统的ZigBee设备的OTA固件升级方式中,整个ZigBee网络仅有一个数据分发器(即协调器),所有设备都向这个分发器排队请求数据,这会导致数据分发器一直处于繁忙状态,进而可能会导致部分设备短时间内无法请求到数据帧。此外,对于接收到升级固件数据的ZigBee设备来说,也是得到固件后就进行CRC校验,然后拷贝固件,并重新启动以完成升级,使得ZigBee设备整体固件的时间较长。
那么,作为一种改善上述问题的方式,为了加快设备固件升级的速度以及减少设备在固件升级过程中的耗电量,本申请实施例中,在协调器对待升级设备完成固件升级以后,可以将该固件升级成功(即已完成CRC校验)的设备(可以是一个或多个)作为目标设备,同时可以通过该目标设备广播升级固件通知,以便于未进行固件升级的待升级设备请求获取升级固件。通过固件升级成功的目标设备广播升级固件通知给其他未进行固件升级的设备,可以减小协调器的数据运行压力,同时加快ZigBee设备的整体固件升级速度,进而减少ZigBee设备在升级固件过程中的耗电量。
作为一种方式,目标设备在完成固件升级以后,可以向整个网络广播升级固件通知,可选的,可以向网络中的其他待升级设备发送报文信号,告知其他待升级设备这里(即目标设备处)有升级固件数据,以便于其他待升级设备不只是从协调器处去请求数据,也可以从目标设备处请求升级固件数据,进而加快设备固件升级的速度。
具体的,如图6所示,目标设备从协调器处获得完整的固件升级数据后,会接收到来自协调器的结束升级响应,此时,目标设备将对接收到的升级固件进行CRC校验。在CRC校验通过以后,目标设备将会向整个网络的设备广播升级固件通知,在这种情况下,未进行固件升级的待升级设备可以向目标设备发出升级固件请求,从而可以从目标设备处获得固件升级的数据,减小协调器的数据传输压力,加快固件升级的速度。
步骤S120:检测是否接收到升级固件获取请求。
作为一种方式,目标设备可以检测是否接收到来自其他ZigBee设备(即待升级设备)发送的升级固件获取请求。其中,目标设备可以从待升级设备发送的升级固件请求信号中解析出待升级设备所请求的升级固件的信息,例如,升级固件的节点地址、制造商、版本等信息,并将这些升级固件信息与目标设备的升级固件信息进行数据进行比对。可选的,若这些升级固件信息与目标设备的升级固件一致,那么将识别为接收到升级固件获取请求。
可以理解的是,目标设备可以是一个或者多个。作为一种方式,当目标设备为一个时,目标设备可以直接将升级固件所请求的升级固件信息与目标设备的升级固件信息进行比对,如果信息一致或匹配,那么目标设备可以判定为接收到升级固件获取请求;而可以理解的是,若待升级设备所请求获取的升级固件的信息与目标设备的升级固件的信息不一致,那么目标设备将不会接收该待升级设备的升级固件获取请求,例如,若目标设备为智能冰箱,待升级设备为智能电视,那么目标设备的升级固件信息与待升级设备所请求获取的升级固件信息不一致,因此目标设备无法接收待升级设备发送的升级固件获取请求,进而可以提升固件升级的准确性。
作为另一种方式,当目标设备为多个时,目标设备将多个待升级设备发送的升级固件获取请求中所请求的数据与目标设备的升级固件数据一一比对,将待升级设备所请求获取的升级固件与目标设备的升级固件一致的待升级设备的请求作为接收到的升级固件获取请求。可以避免信息的错误传输。
步骤S130:若是,返回所述升级固件给发送所述升级固件获取请求的所述待升级设备。
作为一种方式,若检测到目标设备接收到待升级设备发送的升级固件获取请求,那么目标设备将返回升级固件给发送升级固件获取请求的待升级设备。
可以理解的是,目标设备以及待升级设备的数量是不受限制的。例如,目标设备可以是一个或者多个,待升级设备亦可以是一个或者多个。在一种实现方式中,若目标设备为一个,在待升级设备为一个的情况下,目标设备将返回升级固件给该待升级设备;在待升级设备为多个的情况下,目标设备将返回升级固件给发送升级固件获取请求的多个待升级设备。
在另一种实现方式中,若目标设备为多个,在待升级设备为一个的情况下,升级固件信息与待升级设备所请求的升级固件信息一致的那个目标设备,将返回升级固件给发送升级固件获取请求的待待升级设备;在待升级设备为多个的情况下,目标设备将对应返回升级固件给发送升级固件获取请求的待升级设备(此种情况下,目标设备的升级固件信息与对应返回升级固件的待升级设备所请求的升级固件信息一致)。通过上述返回升级固件的方式,可以提升升级固件返回数据的准确性,避免所返回的升级固件与待升级设备所请求获取的升级固件不一致而浪费待升级设备的固件升级时间,从而加快待升级设备的固件升级速度。
可以理解的是,随着ZigBee网络中目标设备越来越多,ZigBee设备的整体升级速度将会越来越快,进而加快ZigBee设备的固件升级速度,减少ZigBee设备在固件升级过程中的耗电量。
步骤S140:若否,所述目标设备重启以完成升级。
可以理解的是,分布式OTA是一种较为贪婪的算法,在ZigBee网络中的绝大多数设备完成固件升级的情况下,如果不及时停下,将会使得已经升级到最新版本的固件依然处于固件升级状态,即目标设备依然会广播升级固件通知,而待升级设备依然会向目标设备发送升级固件获取请求,这样不可避免的会导致ZigBee设备的电量耗损,尤其对于一些电量敏感的设备(指的是设备的电量是有限的,例如,需要上电池的设备或者电量存储容量小的设备),如果不及时处理,将会极大的降低这些设备的使用寿命。
因此,为了平衡整个网络中目标设备与待升级设备的供需关系,本申请实施例中,对于未接收到升级固件获取请求的目标设备,将进行重启以完成固件升级,从而可以避免该类目标设备的电量耗损。
本实施例提供的一种分布式固件升级的方法,通过目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备,继而检测是否接收到升级固件获取请求,若是,那么则返回升级固件给发送升级固件获取请求的待升级设备。从而通过上述方式实现了通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量。
请参阅图7,为本申请另一实施例提供的一种分布式固件升级的方法的方法流程图,本实施例提供一种分布式固件升级的方法,该方法包括:
步骤S210:判断目标设备的设备状态是否满足目标条件。
其中,设备状态可以包括电池状态。可以理解的是,对于固件升级成功的目标设备来说,并不是所有目标设备均能广播升级固件通知。可选的,对于一些目标设备,其设备状态本身可能不是很稳定,那么在由这些设备成为目标设备广播升级固件通知后,待升级设备在向这些设备请求获取升级固件的过程中,由于这些设备的状态不稳定,可能会导致升级固件传输中断(例如,传输到一半的时候目标设备断电导致的传输中断)、传输失败或者说这些设备在传输升级固件的过程中因传输中断造成这些设备自身的数据丢失,那么将会严重的影响升级固件传输的效率。
因此,作为一种方式,为了提升设备升级固件的传输效率,进而节省传输时长,本申请实施例可以对固件升级成功的目标设备的设备状态是否满足目标条件进行判断,具体描述如下:
作为一种方式,如图8所示,步骤S210可以包括:
步骤S211:获取目标设备的电池状态。
其中,目标设备的电池状态包括电量敏感状态以及电量不敏感状态。可选的,电量敏感状态可以理解为目标设备的电池电量处于缺省状态,例如,目标设备的电池处于未充电状态或者目标设备的电池电量低于预设阈值的状态。相应的,电量不敏感状态可以理解为目标设备的电池电量处于充足状态,例如,目标设备的电池处于充电状态或者目标设备的电池电量不低于预设阈值的状态。通过获取目标设备的电池状态,可以避免目标设备因电池状态不佳带来的升级固件数据传输错误问题。
具体的,对一些电量敏感设备,例如,智能窗帘电机是安装锂电池的,当锂电池不处于充电状态时,可以视为电量敏感状态;而如果是处于充电状态,且电量余量为100%,那么可以视为电量不敏感状态。可选的,让处于电量不敏感状态的电量敏感设备也广播升级固件通知,可以加快固件升级的整体速度。
作为一种方式,可以在设备被作为目标设备之后,通过BatteryService(),再监听UEvent,读取sysfs里中的状态实现及时获取目标设备的电池状态(例如可以是充电状态、放电状态、电量满格状态)。
步骤S212:判断所述电池状态是否满足指定条件。
可选的,本申请实施例中的指定条件可以包括以下至少一项:电池处于充电状态或电池的电量余量高于预设阈值。
作为一种方式,可以通过BatteryService()获取目标设备的电池状态,进而判断目标设备的当前电池状态是否满足指定条件。进一步的,可以通过监听UEvent,读取sysfs里中的状态实现获取电池的电量余量,进而将获取到的电池电量余量与指定条件所设定的电池电量余量进行比较,进而判断目标设备的电池电量是否满足指定条件。
需要说明的是,对于指定条件中所设定的电池的电量余量的预设阈值可以根据实际情况进行调整,具体数值不做限定,例如1000mAh,2000mAh,10000mAh等,也可以是别的表示方式,例如百分比等,用百分比表示电池电量。
步骤S213:若满足,判定所述目标设备的设备状态满足目标条件。
作为一种方式,若目标设备的电池状态满足指定条件,那么可以判定目标设备的设备状态满足目标条件。在这种情况下,该目标设备可以用于广播升级固件通知。
步骤S214:若不满足,判定所述目标设备的设备状态不满足目标条件。
作为另一种方式,若目标设备的电池状态不满足指定条件,那么可以判定目标设备的设备状态不满足目标条件。在这种情况下,该目标设备将不再用于广播升级固件通知,可选的,该目标设备可以直接重启以完成固件升级。
作为另一种方式,如图9所示,步骤S210可以包括:
步骤S215:判断目标设备是否在预先设定的名单内,所述名单内的设备具备再次传播升级固件的能力。
作为一种方式,可以预先为ZigBee网络中的所有ZigBee设备是否可以进行后续广播升级固件通知进行判断,将可以进行后续广播升级固件通知的ZigBee设备加入白名单内,在白名单内的ZigBee设备完成固件升级以后,就可以被作为目标设备,进而由这些目标设备广播升级固件通知,以便于其他未进行固件升级的待升级设备向这些目标设备请求获取升级固件。
那么,可以理解的是,对于任一目标设备来说,该目标设备可能是来自白名单内的ZigBee设备,也可能是固件升级成功之后的待升级设备,那么若是待升级设备升级固件之后而成的目标设备,在广播升级固件通知给其他待进行固件升级的待升级设备之后,在传输升级固件的过程中,可能会存在误差。因此,为了避免这种误差带来的设备功耗损失,对于任一目标设备,可以先判断该目标设备是否存在预先设定的名单内。其中,名单内的设备具备再次传播升级固件的能力。
在一种实现方式中,在为具备再次传播升级固件的能力的设备创建名单时,可以创建名单标识,使得存在名单内的设备都携带该标识。那么在某一设备成为目标设备,可以检测该设备是否存在上述标识,继而根据目标设备是否存在上述标识判断目标设备是否在预先设定的名单内。
进一步的,为了提升数据传输的安全性,避免设备的升级固件被恶意窃取,例如,一些非法分子通过伪装该标识的设备获取设备的升级固件,导致数据泄露。作为一种方式,在为具备再次传播升级固件的能力的设备创建名单时,可以根据这些设备在当前时间段内的设备状态对这些设备传播升级固件的能力进行排序。可选的,该设备状态可以为设备的电池状态,那么可以根据设备的电池状态对名单内的设备传播升级固件的能力进行排序,例如,根据电池电量的余量由大到小进行排序,电池电量余量越多优先级越高,而电池电量余量越少优先级越低。可选的,当某设备电池电量余量低于某一阈值时,该设备将失去优先级,且该设备将自动丢弃上述标签。那么在这种情况下,对于仅存在上述标签的目标设备,还需满足在该目标设备的电池电量余量满足预先设定阈值时,才可以广播升级固件通知,从而提升设备升级固件传输的安全性。
步骤S216:若是,判定所述目标设备的设备状态满足目标条件。
作为一种方式,若目标设备在预先设定的名单内,那么可以判定目标设备的设备状态满足目标条件。在这种情况下,该目标设备可以用于广播升级固件通知。
步骤S217:若否,判定所述目标设备的设备状态不满足目标条件。
作为另一种方式,若目标设备不在预先设定的名单内,那么可以判定目标设备的设备状态不满足目标条件。在这种情况下,该目标设备将不再用于广播升级固件通知,可选的,该目标设备可以直接重启以完成固件升级。
步骤S220:若满足,所述目标设备在预设时间段内广播升级固件通知。
其中,预设时间可以按照实际情况进行设定,例如,可以是10秒,20秒,30秒等,具体数值不作限定。可选的,在预设时间段内,目标设备可以广播数次升级固件通知。
例如,在一个具体的应用场景中,目标设备在升级成功并进行CRC校验之后,可以尝试向整个网络内的待升级设备广播3次固件升级包信息。可选的,如果在3次广播完后,都没有收到任何升级固件获取请求,那么可以判定网络中不存在需要进行固件升级的设备了。具体的,目标设备在广播完第一次固件升级包的信息后,可以等待3秒,以便于接收3秒间隙内待升级设备发来的请求报文;继而目标设备依次广播第二次固件升级包的信息以及第三次固件升级包的信息。通过3次广播,可以保证网络中所有待升级设备都能接收到升级固件通知,而广播完3次之后若目标设备仍然未接收到任何待升级设备发送的升级固件获取请求,那么目标设备将不再继续广播固件升级包,从而可以避免目标设备长时间处于等待状态带来的功耗问题。
步骤S230:检测是否接收到升级固件获取请求。
步骤S240:若是,所述目标设备转换为分发器模式。
其中,本申请实施例中的分发器模式是一种虚拟的模式状态,分发器模式表征的是目标设备具备了传播升级固件的能力之后,由升级完固件的设备转变为子协调器(即具备和协调器一样,可以向待升级设备广播升级固件以完成待升级设备的固件升级的设备)模式变换过程。可选的,子协调器可以理解为子固件分发器。
作为一种方式,当目标设备广播了升级固件通知,接收到来自待升级设备发送的升级固件获取请求后,将转换为分发器模式。
步骤S250:处于所述分发器模式的所述目标设备返回所述升级固件给所述发送所述升级固件获取请求的所述待升级设备。
目标设备转换为分发器模式后,将以分发器模式返回升级固件给发送升级固件获取请求的待升级设备,以便于待升级设备顺利完成固件升级。
步骤S260:所述目标设备重启以完成升级。
本实施例提供的一种分布式固件升级的方法,实现了通过设备状态满足目标条件的目标设备在预设时间段内广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量。
请参阅图10,为本申请又一实施例提供的一种分布式固件升级的方法的方法流程图,本实施例提供一种分布式固件升级的方法,该方法包括:
步骤S310:判断目标设备的设备状态是否满足目标条件。
步骤S320:若满足,所述目标设备在预设时间段内广播升级固件通知。
步骤S330:检测是否接收到升级固件获取请求。
步骤S340:若是,所述目标设备转换为分发器模式。
步骤S350:处于所述分发器模式的所述目标设备返回所述升级固件给所述发送所述升级固件获取请求的所述待升级设备。
步骤S360:所述目标设备退出所述分发器模式。
可选的,当目标设备返回了升级固件给待升级设备以后,如果目标设备一直处于广播升级固件通知状态或者是一直处于返回升级固件状态,那么网络中的目标设备将会越来越多,且这些目标设备都将不能及时的重启以完成真正的固件升级(可以理解的是,固件程序升级之后通常需要重启设备以使新的固件生效),从而拖累整体的设备固件升级速度。
那么为了改善这一问题,本申请实施例中,目标设备在返回升级固件给待升级设备完成之后,目标设备将会退出分发器模式,以平衡目标设备与待升级设备之间的供需关系,进而更加快速的完成设备的固件升级。
作为一种方式,如图11所示,步骤S360可以包括:
步骤S361:获取所述处于所述分发器模式的所述目标设备返回所述升级固件给发送所述升级固件获取请求的所述待升级设备的时长。
需要说明的是,处于分发器模式的目标设备在返回升级固件给待升级设备的过程中,待升级设备的状态将影响处于分发器模式的目标设备的服务时长。作为一种方式,目标设备在返回升级固件给待升级设备的过程中,若待升级设备的状态未出现任何异常,那么可以将目标设备返回升级固件给发送升级固件获取请求的待升级设备的时长作为目标设备的服务时长,例如,该服务时长可以是1分钟,2分钟,5分钟等,具体数值不作限定。
作为另一种方式,目标设备在返回升级固件给待升级设备的过程中,若待升级设备出现断电,或者是网络中断等设备异常情况时,可能会导致升级固件传输中断。在这种情况下,处于分发器模式的目标设备可以有一个超时等待时长,在超时等待时长结束后待升级设备还未恢复正常的情况下,目标设备将会退出分发器模式。
在这种情况下,目标设备返回升级固件给待定位设备的时长等于目标设备返回升级固件给待升级设备至待升级设备接收升级固件中断的时长与超时等待时长之和。例如,假设目标设备返回升级固件给待升级设备需要5分钟,而在升级固件传输到第3分钟的时候,待升级设备突然断电,那么目标设备可以再等待5分钟,如果5分钟后待升级设备还未恢复正常状态(即升级固件可传输状态),那么目标设备将退出分发器模式,且目标设备的返回时长为8分钟。
步骤S362:判断所述时长是否满足指定时长。
可选的,根据上述描述可以得出,不同的情况下指定时长可以不同。本申请实施例中,对于待升级设备未出现设备状态异常的情况下,可以将指定时长设定为固定服务时长,该固定服务时长可以理解为目标设备返回升级固件给发送升级固件获取请求的待升级设备的实际返回时长。可选的,对于待升级设备在升级固件传输的过程中存在设备状态异常的,可以将指定时长设定为目标设备返回升级固件给待升级设备至待升级设备接收升级固件中断的时长与超时等待时长之和。其中,超时等待时长的具体数值不作限定,可以根据实际情况进行设定。
步骤S363:当所述时长满足指定时长时,所述目标设备退出所述分发器模式。
可选的,若处于分发器模式的目标设备返回升级固件给发送升级固件获取请求的待升级设备的时长满足指定时长时,目标设备将退出分发器模式,此种情况下,待升级设备完成了固件升级。
步骤S364:当所述时长未满足指定时长时,所述目标设备不退出所述分发器模式。
可选的,若处于分发器模式的目标设备返回升级固件给发送升级固件获取请求的待升级设备的时长未满足指定时长时,目标设备将不退出分发器模式,此种情况下,目标设备将继续传输升级固件给待升级设备。
作为另一种方式,如图12所示,步骤S360可以包括:
步骤S365:获取与所述目标设备连接的参考设备的固件升级状态。
其中,参考设备可以理解为待升级设备所请求建立连接,并向其获取升级固件的设备。可选的,为了提升设备固件升级的整体速度,目标设备可以与几个特定的设备建立长连接,在固件升级的过程中,仅服务这几个设备升级固件至结束。例如,对于目标设备A,可以与设备类型与目标设备A相同的几个待升级设备A1、A2以及A3保持长连接,那么目标设备A将仅服务待升级设备A1、A2以及A3完成固件升级至结束。
可选的,参考设备的数量可以是3个、5个、10个等,具体不作限定。在参考设备的固件升级完成以后,为了使与参考设备建立特定连接的目标设备以及参考设备都能及时重启以完成固件的升级,本实施例可以获取与目标设备连接的参考设备的固件升级状态,继而根据参考设备的固件升级状态判断目标设备是否可以退出分发器模式。
步骤S366:判断所述参考设备的固件升级是否完成。
可选的,参考设备在接收到完整的升级固件后,可以向与其连接的目标设备返回升级固件接收完成信号,以便于目标设备可以根据该信号确定参考设备的固件升级状态。可选的,可以用“finnsh”表示该信号,在目标设备接收到参考设备返回的“finnsh”信号时,可以判定参考设备完成固件升级。
步骤S367:当所述参考设备的固件升级完成时,所述目标设备退出所述分发器模式。
步骤S368:当所述参考设备的固件升级未完成时,所述目标设备不退出所述分发器模式。
步骤S370:所述目标设备重启以完成升级。
本实施例提供的一种分布式固件升级的方法,实现了通过设备状态满足目标条件的目标设备在预设时间段内广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量,在目标设备返回升级固件的时长达到指定时长时,目标设备退出分发器模式,从而可以避免长时间的等待带来的功耗问题。
请参阅图13,为本申请再一实施例提供的一种分布式固件升级的方法的方法流程图,本实施例提供一种分布式固件升级的方法,该方法包括:
步骤S410:目标设备广播升级固件通知,以便于待升级设备请求获取所述升级固件。
需要说明的是,目标设备广播升级固件通知以前,目标设备也是待升级设备,由协调器向处于待升级固件状态的目标设备传输升级固件,使得待升级设备完成固件升级。
传统的OTA采用request-response机制,将升级固件进行分帧传输,待升级设备会向协调器请求升级固件帧,然后等待协调器的响应,这种交互方式不仅花费时间很长,而且对于电量敏感类设备(例如传感器类设备)的耗电几乎是破坏性的。
作为一种方式,为了降低传输升级固件的时长,从而可以减少耗电,本申请实施例采用页传输模式对升级固件进行传输。其中,待升级设备升级成功之前,协调器以页传输模式传输升级固件给待升级设备,使得待升级设备可以快速的完成固件升级,在待升级设备完成固件升级后,待升级设备被作为目标设备,向网络中的其他待升级设备广播升级固件通知,以这种分布式的升级固件传输模式加快升级固件的整体传输速度,从而减少耗电。
步骤S420:检测是否接收到升级固件获取请求。
步骤S430:若是,以页传输模式返回所述升级固件给发送所述升级固件获取请求的所述待升级设备。
作为一种方式,随着网络中目标设备的数量增多,目标设备也以页传输模式返回升级固件给发送升级固件获取请求的待升级设备。具体的,目标设备在在返回升级固件给待升级设备的时候,可以回复一系列的升级固件帧数据(如图14所示为目标设备以页传输模式向待升级设备传输升级固件的传输流程)。可选的,为了避免丢包,还可以指定页请求的一个页由多少数据帧构成,即每页的数据帧大小,包括页的起始地址以及偏移量。
例如,假设升级固件的大小为10000个字节,那么对于第一个页请求的起始地址可以为0,假设每一页的数据帧大小为32帧,而每一帧包括64字节,那么偏移量就可以为32*64=2048字节。那么不难理解的是,第二个页请求的起始地址为2049字节,后续页请求以此类推,不再一一说明。
通过页传输模式返回升级固件给待升级设备,可以加快传输速度,节省电量。例如,在一个具体的应用场景中,假设一个OTA固件是256KB,也就是262144个字节,如果按照固件帧传输的方式,每帧传输64个字节,则需要传输4096帧数据,也就是需要耗费4096次response,而采用页传输时,假设一个页包含64帧,则整个过程只需要64个页传输即可,只需要耗费64次response,即可以节约传输时间,节省电量。
步骤S440:所述目标设备重启以完成升级。
本实施例提供的一种分布式固件升级的方法,实现了通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,以页传输模式返回升级固件给发送升级固件获取请求的待升级设备,可以更加快速的完成升级固件的传输,进而节省设备电量。
请参阅图15,本申请实施例提供了一种分布式固件升级的装置500,该装置500包括:数据广播模块510、检测模块520以及请求处理模块530。
数据广播模块510,用于目标设备广播升级固件通知,以便于待升级设备请求获取所述升级固件,其中,所述目标设备为协调器的从属设备。
需要说明的是,目标设备的固件可以包括应用层固件和非应用层固件,本申请实施例中的升级固件为应用层固件。
作为一种方式,数据广播模块510可以包括判断单元以及广播单元。该判断单元可以用于判断目标设备的设备状态是否满足目标条件;该广播单元可以用于若满足,目标设备在预设时间段内广播升级固件通知。
在一种实现方式中,设备状态可以包括电池状态,上述判断单元具体可以用于获取目标设备的电池状态,继而判断电池状态是否满足指定条件,其中,指定条件可以包括以下至少一项:电池处于充电状态或电池的电量余量高于预设阈值。可选的,若满足,那么可以判定目标设备的设备状态满足目标条件。
在另一种实现方式中,上述判断单元具体可以用于判断目标设备是否存在预先设定的名单内,需要说明的是,该名单内的设备具备再次传播升级固件的能力;可选的,若是,那么可以判定目标设备的设备状态满足目标条件。
需要说明的是,本申请实施例中的目标设备广播升级固件通知之前,目标设备为待升级固件的待升级设备,而当待升级设备(此处即后续的目标设备)升级成功后,可以将待升级设备作为目标设备。
可选的,待升级设备升级成功之前,协调器以页传输模式传输升级固件给待升级设备。
检测模块520,用于检测是否接收到升级固件获取请求。
请求处理模块530,用于若是,返回所述升级固件给发送所述升级固件获取请求的所述待升级设备。
可选的,请求处理模块530可以包括模式转换单元以及请求处理单元。该模式转换单元用于若是,目标设备转换为分发器模式;该请求处理单元用于使处于分发器模式的目标设备返回升级固件给发送升级固件获取请求的待升级设备。
可选的,请求处理模块530还可以包括模式退出单元,该模式退出单元用于处于分发器模式的目标设备返回升级固件给发送升级固件获取请求的待升级设备之后,退出分发器模式。
其中,作为一种实施方式,可以获取处于分发器模式的目标设备返回升级固件给发送升级固件获取请求的待升级设备的时长,可选的,当该时长满足指定时长时,那么目标设备将退出分发器模式。
作为另一种实施方式,可以获取与目标设备连接的参考设备的固件升级状态,其中,参考设备表征与目标设备建立特定连接(例如长连接)的设备。可选的,当参考设备的固件升级完成时,那么目标设备将退出分发器模式。
作为一种方式,请求处理模块530具体可以用于以页传输模式返回升级固件给发送升级固件获取请求的待升级设备。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例提供的电子设备,能够实现图5到图13的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
综上所述,本申请实施例提供的一种分布式固件升级的方法及装置,通过目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备;检测是否接收到升级固件获取请求;若是,返回升级固件给发送升级固件获取请求的待升级设备。通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量。
下面将结合图16对本申请提供的一种电子设备进行说明。
图16示出了一种可应用于本申请实施例中的电子设备100的结构示意图,该电子设备100包括存储器104、一个或多个处理器(Central Processing Unit,CPU)102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、以及存储在所述存储器104上并可在所述处理器102上运行的计算机程序,存储器104以及处理器102之间通信线路连接。
存储器104可用于存储软件程序以及模块,如本申请实施例中的分布式固件升级的方法、以及装置对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本申请实施例提供的分布式固件升级的方法。
存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。可以理解的是,图16所示的结构仅为示意,电子设备100还可包括比图16中所示更多或者更少的组件,或者具有与图16所示不同的配置。图16所示的各组件可以采用硬件、软件或其组合实现。在一些实施方式中,该设备可以是ZigBee设备(即通过ZigBee协议进行通信的设备)。
综上,本申请实施例可以实现通过目标设备广播升级固件通知,以便于待升级设备请求获取升级固件,其中,目标设备为协调器的从属设备;检测是否接收到升级固件获取请求;若是,返回升级固件给发送升级固件获取请求的待升级设备。通过目标设备广播升级固件通知,在接收到待升级设备发送的数据获取请求的情况下,返回升级固件给发送升级固件获取请求的待升级设备,从而实现加快升级固件数据的传输速度,进而节省设备电量。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述分布式固件升级的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
图17是本申请实施例提供的一种计算机可读存储介质600的结构框图。该计算机可读介质600中存储有程序代码,程序代码可被处理器调用执行上述方法实施例所提供的如图5到图13任一分布式固件升级的方法。计算机可读存储介质600可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或ROM之类的电子存储器。可选地,计算机可读存储介质600包括非瞬时性计算机可读介质(non-transitory computer-readablestorage medium)。计算机可读存储介质600具有执行上述方法中的任何方法步骤的程序代码610的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码610可以例如以适当形式进行压缩。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (17)
1.一种分布式固件升级的方法,其特征在于,所述方法包括:
目标设备广播升级固件通知,以便于待升级设备请求获取所述升级固件,其中,所述目标设备为协调器的从属设备;
检测是否接收到升级固件获取请求;
若是,返回所述升级固件给发送所述升级固件获取请求的所述待升级设备。
2.根据权利要求1所述的方法,其特征在于,所述目标设备广播升级固件通知的步骤包括:
判断目标设备的设备状态是否满足目标条件;
若满足,所述目标设备在预设时间段内广播升级固件通知。
3.根据权利要求2所述的方法,其特征在于,所述设备状态包括电池状态,所述判断目标设备的设备状态是否满足目标条件的步骤包括:
获取目标设备的电池状态;
判断所述电池状态是否满足指定条件;
若满足,判定所述目标设备的设备状态满足目标条件。
4.根据权利要求3所述的方法,其特征在于,所述指定条件包括以下至少一项:所述电池处于充电状态或所述电池的电量余量高于预设阈值。
5.根据权利要求2所述的方法,其特征在于,所述判断目标设备的设备状态是否满足目标条件的步骤包括:
判断目标设备是否存在预先设定的名单内,所述名单内的设备具备再次传播升级固件的能力;
若是,判定所述目标设备的设备状态满足目标条件。
6.根据权利要求1所述的方法,其特征在于,所述若是,返回所述升级固件给发送所述升级固件获取请求的所述待升级设备的步骤包括:
若是,所述目标设备转换为分发器模式;
处于所述分发器模式的所述目标设备返回所述升级固件给所述发送所述升级固件获取请求的所述待升级设备。
7.根据权利要求6所述的方法,其特征在于,所述处于所述分发器模式的所述目标设备返回所述升级固件给所述发送所述升级固件获取请求的所述待升级设备的步骤之后还包括:
所述目标设备退出所述分发器模式。
8.根据权利要求7述的方法,其特征在于,所述目标设备退出所述分发器模式的步骤包括:
获取所述处于所述分发器模式的所述目标设备返回所述升级固件给所述发送所述升级固件获取请求的所述待升级设备的时长;
当所述时长满足指定时长时,所述目标设备退出所述分发器模式。
9.根据权利要求7所述的方法,其特征在于,所述目标设备退出所述分发器模式的步骤包括:
获取与所述目标设备连接的参考设备的固件升级状态,所述参考设备表征与所述目标设备建立特定连接的设备;
当所述参考设备的固件升级完成时,所述目标设备退出所述分发器模式。
10.根据权利要求1所述的方法,其特征在于,所述返回所述升级固件给发送所述升级固件获取请求的所述待升级设备的步骤包括:
以页传输模式返回所述升级固件给发送所述升级固件获取请求的所述待升级设备。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述目标设备广播升级固件通知的步骤之前,所述目标设备为待升级固件的待升级设备,所述待升级设备升级成功后,将所述待升级设备作为目标设备。
12.根据权利要求1-10任一项所述的方法,其特征在于,所述待升级设备升级成功之前,所述协调器以页传输模式传输升级固件给所述待升级设备。
13.根据权利要求1-10任一项所述的方法,其特征在于,所述目标设备的固件包括应用层固件和非应用层固件,所述升级固件为所述应用层固件。
14.一种分布式固件升级的系统,其特征在于,所述系统包括协调器、目标设备以及待升级设备,所述目标设备以及待升级设备为所述协调器的从属设备:
所述协调器用于分发升级固件给初始状态的所述目标设备,以便于所述目标设备完成固件升级;
所述目标设备用于在完成固件升级后,广播升级固件通知,以便于所述待升级设备请求获取所述升级固件;
所述目标设备还用于检测是否接收到升级固件获取请求;
所述目标设备还用于若是,返回所述升级固件给发送所述升级固件获取请求的所述待升级设备。
15.一种分布式固件升级的装置,其特征在于,所述装置包括:
数据广播模块,用于目标设备广播升级固件通知,以便于待升级设备请求获取所述升级固件,其中,所述目标设备为协调器的从属设备;
检测模块,用于检测是否接收到升级固件获取请求;
请求处理模块,用于若是,返回所述升级固件给发送所述升级固件获取请求的所述待升级设备。
16.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至13中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802259.0A CN110688133A (zh) | 2019-08-28 | 2019-08-28 | 分布式固件升级的方法、系统、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802259.0A CN110688133A (zh) | 2019-08-28 | 2019-08-28 | 分布式固件升级的方法、系统、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110688133A true CN110688133A (zh) | 2020-01-14 |
Family
ID=69108429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910802259.0A Pending CN110688133A (zh) | 2019-08-28 | 2019-08-28 | 分布式固件升级的方法、系统、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688133A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111598589A (zh) * | 2020-05-20 | 2020-08-28 | 闻泰通讯股份有限公司 | 电子设备检测方法、装置、存储介质和电子设备 |
CN111831303A (zh) * | 2020-06-17 | 2020-10-27 | 惠州拓邦电气技术有限公司 | 一种智能锁升级的方法及装置、计算机设备及存储介质 |
CN112230961A (zh) * | 2020-10-20 | 2021-01-15 | 杭州海兴电力科技股份有限公司 | 一种智能表计升级方法、装置、设备及介质 |
CN112527347A (zh) * | 2020-11-28 | 2021-03-19 | 武汉蓝星科技股份有限公司 | 电子设备升级方法及系统 |
CN113791804A (zh) * | 2021-09-14 | 2021-12-14 | 中元汇吉生物技术股份有限公司 | 多路仪器并行升级的方法、装置、计算机设备及存储介质 |
CN113992739A (zh) * | 2021-10-26 | 2022-01-28 | 北京奕斯伟计算技术有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN114115939A (zh) * | 2021-11-10 | 2022-03-01 | 广州易而达科技股份有限公司 | 一种固件升级方法、装置、电子设备和存储介质 |
CN114356380A (zh) * | 2022-02-15 | 2022-04-15 | 上海美控智慧建筑有限公司 | 空调机组的固件更新方法、装置和电子设备 |
CN114422485A (zh) * | 2022-01-27 | 2022-04-29 | 上海顺舟智能科技股份有限公司 | 一种Zigbee无线智能设备的固件更新方法及装置 |
WO2022179513A1 (zh) * | 2021-02-23 | 2022-09-01 | 苏州欧普照明有限公司 | 一种智能设备自动升级方法以及云服务器 |
CN115134828A (zh) * | 2022-05-24 | 2022-09-30 | 深圳绿米联创科技有限公司 | 目标设备的数据更新方法、装置、设备、系统和存储介质 |
CN116319730A (zh) * | 2021-12-21 | 2023-06-23 | 美的集团股份有限公司 | 文件传输方法、装置、电子设备及存储介质 |
US12045600B2 (en) | 2020-09-30 | 2024-07-23 | Boe Technology Group Co., Ltd. | Method for upgrading IoT terminal device and electronic device thereof |
CN118741488A (zh) * | 2024-09-03 | 2024-10-01 | 云储新能源科技有限公司 | 一种电池数据采集装置广播升级方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104836A (zh) * | 2017-05-04 | 2017-08-29 | 深圳市欧瑞博电子有限公司 | Zigbee设备的固件升级方法和装置 |
CN107453925A (zh) * | 2017-09-21 | 2017-12-08 | 山东康威通信技术股份有限公司 | 基于多级通信平台的远程固件升级方法和云平台 |
CN108449198A (zh) * | 2018-01-25 | 2018-08-24 | 捷开通讯(深圳)有限公司 | 一种ota升级的方法、系统及存储设备 |
-
2019
- 2019-08-28 CN CN201910802259.0A patent/CN110688133A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104836A (zh) * | 2017-05-04 | 2017-08-29 | 深圳市欧瑞博电子有限公司 | Zigbee设备的固件升级方法和装置 |
CN107453925A (zh) * | 2017-09-21 | 2017-12-08 | 山东康威通信技术股份有限公司 | 基于多级通信平台的远程固件升级方法和云平台 |
CN108449198A (zh) * | 2018-01-25 | 2018-08-24 | 捷开通讯(深圳)有限公司 | 一种ota升级的方法、系统及存储设备 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111598589A (zh) * | 2020-05-20 | 2020-08-28 | 闻泰通讯股份有限公司 | 电子设备检测方法、装置、存储介质和电子设备 |
CN111831303A (zh) * | 2020-06-17 | 2020-10-27 | 惠州拓邦电气技术有限公司 | 一种智能锁升级的方法及装置、计算机设备及存储介质 |
US12045600B2 (en) | 2020-09-30 | 2024-07-23 | Boe Technology Group Co., Ltd. | Method for upgrading IoT terminal device and electronic device thereof |
CN112230961A (zh) * | 2020-10-20 | 2021-01-15 | 杭州海兴电力科技股份有限公司 | 一种智能表计升级方法、装置、设备及介质 |
CN112527347A (zh) * | 2020-11-28 | 2021-03-19 | 武汉蓝星科技股份有限公司 | 电子设备升级方法及系统 |
CN112527347B (zh) * | 2020-11-28 | 2024-03-29 | 武汉蓝星科技股份有限公司 | 电子设备升级方法及系统 |
WO2022179513A1 (zh) * | 2021-02-23 | 2022-09-01 | 苏州欧普照明有限公司 | 一种智能设备自动升级方法以及云服务器 |
CN113791804B (zh) * | 2021-09-14 | 2024-04-26 | 中元汇吉生物技术股份有限公司 | 多路仪器并行升级的方法、装置、计算机设备及存储介质 |
CN113791804A (zh) * | 2021-09-14 | 2021-12-14 | 中元汇吉生物技术股份有限公司 | 多路仪器并行升级的方法、装置、计算机设备及存储介质 |
CN113992739A (zh) * | 2021-10-26 | 2022-01-28 | 北京奕斯伟计算技术有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN113992739B (zh) * | 2021-10-26 | 2024-03-22 | 北京奕斯伟计算技术股份有限公司 | 一种局域网ota固件升级装置、方法及系统 |
CN114115939A (zh) * | 2021-11-10 | 2022-03-01 | 广州易而达科技股份有限公司 | 一种固件升级方法、装置、电子设备和存储介质 |
CN116319730A (zh) * | 2021-12-21 | 2023-06-23 | 美的集团股份有限公司 | 文件传输方法、装置、电子设备及存储介质 |
CN114422485A (zh) * | 2022-01-27 | 2022-04-29 | 上海顺舟智能科技股份有限公司 | 一种Zigbee无线智能设备的固件更新方法及装置 |
CN114422485B (zh) * | 2022-01-27 | 2023-11-24 | 上海顺舟智能科技股份有限公司 | 一种Zigbee无线智能设备的固件更新方法及装置 |
CN114356380A (zh) * | 2022-02-15 | 2022-04-15 | 上海美控智慧建筑有限公司 | 空调机组的固件更新方法、装置和电子设备 |
CN115134828A (zh) * | 2022-05-24 | 2022-09-30 | 深圳绿米联创科技有限公司 | 目标设备的数据更新方法、装置、设备、系统和存储介质 |
CN118741488A (zh) * | 2024-09-03 | 2024-10-01 | 云储新能源科技有限公司 | 一种电池数据采集装置广播升级方法及设备 |
CN118741488B (zh) * | 2024-09-03 | 2024-11-05 | 云储新能源科技有限公司 | 一种电池数据采集装置广播升级方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688133A (zh) | 分布式固件升级的方法、系统、装置及电子设备 | |
US10952143B2 (en) | Sleeping and wake-up methods and apparatuses of master-slave network, and power saving system of master-slave network | |
KR102137598B1 (ko) | 과거 이력 데이터에 기초하는 네트워크 노드 가용성 예측 | |
CN105843645B (zh) | zigbee设备的固件升级方法和装置 | |
CN110602771B (zh) | 一种功耗控制方法、装置和车联网终端 | |
CN108551668B (zh) | 信息传输方法、装置、设备及存储介质 | |
EP3358786B1 (en) | Information processing method in m2m and apparatus | |
US11115169B2 (en) | Parent node device, terminal device for wireless network and data transmission method thereof | |
US10469620B2 (en) | Method for transferring a new software version to at least one electricity meter via a communication network | |
WO2017219519A1 (zh) | 设备的控制方法、装置及系统 | |
CN108449198A (zh) | 一种ota升级的方法、系统及存储设备 | |
CN110427220B (zh) | 设备命令的配置方法、装置、电子设备及存储介质 | |
CN109816830B (zh) | 一种解锁方法及装置 | |
CN116088901A (zh) | 一种固件升级的方法、装置、电子设备及计算机存储介质 | |
WO2022183632A1 (zh) | 远端机入网方法、系统、电子装置及存储介质 | |
CN105045224B (zh) | 数据传输的方法和装置 | |
CN116319712B (zh) | 电力设备体域网从节点无线升级方法及装置 | |
CN109743703A (zh) | 一种通信方法、数据采集终端及监控系统 | |
US11246065B2 (en) | Method, apparatus, terminal and storage medium for measurement report | |
GB2496384A (en) | Placing some of the circuitry for sending and receiving data, in a wireless device, in a low power state and buffering data for a time period | |
CN116347425A (zh) | 一种无线终端固件升级方法及系统 | |
CN111343700A (zh) | 无线传感网络通信方法 | |
CN107548019B (zh) | 无线传感网络中网络信标的处理方法及设备 | |
CN116938712A (zh) | 设备升级方法、设备升级装置以及计算机可读存储介质 | |
US10841158B1 (en) | Systems and methods for node maintenance in a network |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200114 |