CN113721966A - 节点升级方法、装置、存储介质及电子装置 - Google Patents
节点升级方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113721966A CN113721966A CN202110998710.8A CN202110998710A CN113721966A CN 113721966 A CN113721966 A CN 113721966A CN 202110998710 A CN202110998710 A CN 202110998710A CN 113721966 A CN113721966 A CN 113721966A
- Authority
- CN
- China
- Prior art keywords
- differential
- node
- upgrading
- target
- upgrade
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000007906 compression Methods 0.000 claims abstract description 116
- 230000006835 compression Effects 0.000 claims abstract description 98
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000006837 decompression Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 4
- 238000004904 shortening Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010295 mobile communication Methods 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
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种节点升级方法、装置、存储介质及电子装置,其中,该方法包括:在目标服务器中存在用于升级目标节点的升级固件的情况下,确定升级固件与当前固件的目标差异;基于目标差异确定升级固件的差分升级压缩包;在确定目标节点中包括处于升级模式的待升级节点的情况下,广播差分升级压缩包,以指示接收到差分升级压缩包的待升级节点基于差分升级压缩包执行升级操作。通过本发明,解决了相关技术中存在的节点升级时间长、成功率低、升级操作繁琐的问题,达到缩短节点升级时间、提高升级成功率、简化升级操作的效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种节点升级方法、装置、存储介质及电子装置。
背景技术
在相关技术中,无线技术使用范围广泛,ble或者zigbee都是用了mesh方案进行组网通讯,当客户需要对设备进行远程升级更新固件的情况下,经常会遇到升级时间长,成功率低,升级操作繁琐等问题。
由此可知,相关技术中存在节点升级时间长、成功率低、升级操作繁琐的问题。
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种节点升级方法、装置、存储介质及电子装置,以至少解决相关技术中存在的节点升级时间长、成功率低、升级操作繁琐的问题。
根据本发明的一个实施例,提供了一种节点升级方法,包括:在目标服务器中存在用于升级目标节点的升级固件的情况下,确定所述升级固件与当前固件的目标差异;基于所述目标差异确定所述升级固件的差分升级压缩包;在确定所述目标节点中包括处于升级模式的待升级节点的情况下,广播所述差分升级压缩包,以指示接收到所述差分升级压缩包的所述待升级节点基于所述差分升级压缩包执行升级操作。
根据本发明的一个实施例,还提供了一种节点升级方法,包括:接收目标网关广播发送的差分升级压缩包,其中,所述差分升级压缩包为所述目标网关基于目标服务器中存在的升级固件与当前固件的目标差异确定的压缩包;基于所述差分升级压缩包执行升级操作。
根据本发明的另一个实施例,提供了一种节点升级装置,包括:第一确定模块,用于在目标服务器中存在用于升级目标节点的升级固件的情况下,确定所述升级固件与当前固件的目标差异;第二确定模块,用于基于所述目标差异确定所述升级固件的差分升级压缩包;第一升级模块,用于在确定所述目标节点中包括处于升级模式的待升级节点的情况下,广播所述差分升级压缩包,以指示接收到所述差分升级压缩包的所述待升级节点基于所述差分升级压缩包执行升级操作。
根据本发明的另一个实施例,还提供了一种节点升级装置,包括:接收模块,用于接收目标网关广播发送的差分升级压缩包,其中,所述差分升级压缩包为所述目标网关基于目标服务器中存在的升级固件与当前固件的目标差异确定的压缩包;第二升级模块,用于基于所述差分升级压缩包执行升级操作。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在目标服务器中存在用于升级目标节点的升级固件的情况下,确定升级固件与当前固件的目标差异,基于目标差异确定升级固件的差分升级压缩包,在确定目标节点中包括处于升级模式的待升级节点的情况下,广播差分升级压缩包。由于可以根据目标差异确定差分升级压缩包,并通过广播的方式发送差分升级压缩包给待升级节点,可以大大减小传输数据量,并且通过广播的方式也可以提高传输效率,因此,可以解决相关技术中存在的节点升级时间长、成功率低、升级操作繁琐的问题,达到缩短节点升级时间、提高升级成功率、简化升级操作的效果。
附图说明
图1是本发明实施例的一种节点升级方法的移动终端的硬件结构框图;
图2是根据本发明实施例的节点升级方法的流程图一;
图3是根据本发明示例性实施例的目标服务器、目标网关、目标节点的连接示意图;
图4是根据本发明示例性实施例的基于目标差异确定升级固件的差分升级压缩包示意图;
图5是根据本发明实施例的节点升级方法的流程图二;
图6是根据本发明示例性实施例的基于差分升级压缩包执行升级操作示意图;
图7是根据本发明具体实施例的节点升级方法流程图;
图8是根据本发明实施例的节点升级装置的结构框图一;
图9是根据本发明实施例的节点升级装置的结构框图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种节点升级方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的节点升级方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种节点升级方法,图2是根据本发明实施例的节点升级方法的流程图一,如图2所示,该流程包括如下步骤:
步骤S202,在目标服务器中存在用于升级目标节点的升级固件的情况下,确定所述升级固件与当前固件的目标差异;
步骤S204,基于所述目标差异确定所述升级固件的差分升级压缩包;
步骤S206,在确定所述目标节点中包括处于升级模式的待升级节点的情况下,广播所述差分升级压缩包,以指示接收到所述差分升级压缩包的所述待升级节点基于所述差分升级压缩包执行升级操作。
可选地,上述步骤的执行主体可以是目标网关。
在上述实施例中,目标服务器与目标网关连接,目标网关与目标节点连接,目标节点可以包括多个,且目标网关与目标节点可以通过蓝牙mesh网络连接。其中,目标服务器、目标网关、目标节点的连接示意图可参见附图3,如图3所示,目标网关设备与服务器通过有线或者其他方式相连接,通过mesh网络与节点设备组网通信。使用mesh网络通讯,只要部署一次升级包就能完成网络下的所有节点的固件升级,减少了旧的升级方案的繁琐操作。
在上述实施例中,需要进行节点设备升级时,用户可将升级固件通过服务器上传,目标网关设备在本地存有前一版本的节点固件,当其检测到有新的固件时会比较其与前一版本的差异,生成差分升级压缩包,升级时会将其作为下发的数据以减少通讯时的数据量。目标节点在接收到差分压缩包后,可以根据差分压缩包进行升级。使用差分压缩技术,空中传输的是压缩的差分包,可大大减小传输数据量,提高传输速率。
通过本发明,在目标服务器中存在用于升级目标节点的升级固件的情况下,确定升级固件与当前固件的目标差异,基于目标差异确定升级固件的差分升级压缩包,在确定目标节点中包括处于升级模式的待升级节点的情况下,广播差分升级压缩包。由于可以根据目标差异确定差分升级压缩包,并通过广播的方式发送差分升级压缩包给待升级节点,可以大大减小传输数据量,并且通过广播的方式也可以提高传输效率,因此,可以解决相关技术中存在的节点升级时间长、成功率低、升级操作繁琐的问题,达到缩短节点升级时间、提高升级成功率、简化升级操作的效果。
在一个示例性实施例中,广播所述差分升级压缩包包括:确定允许传输的最大压缩包大小;基于所述最大压缩包大小将所述差分升级压缩包拆分为目标数量的差分子压缩包,其中,所述差分子压缩包的大小小于所述最大压缩包大小;依次广播每个所述差分子压缩包。在本实施例中,目标网关在确定差分压缩包后,可以对升级数据(即差分压缩包)进行分包,再向所有节点广播发送,分包大小通常与网络通讯协议有关,一般ble mesh网络的每包数据<200字节。以总包数是n为例,每包的序号为1,2,…n。
在一个示例性实施例中,依次广播每个所述差分子压缩包包括:针对所述目标节点中包括的每个所述待升级节点,重复执行以下操作,直至将所述目标数量的所述差分子压缩包均发送至所述待升级节点为止:确定当前向所述待升级节点发送的第一差分子压缩包的第一序号;向所述待升级节点发送第一查询指令,其中,所述第一查询指令用于查询所述待升级节点当前接收到的差分子压缩包的序号;接收所述待升级节点基于所述第一查询指令反馈的第二序号;在确定所述第一序号与所述第二序号相同的情况下,广播所述第一序号的下一序号所对应的第二差分子压缩包;其中,所述目标数量的所述差分子压缩包中包括所述第一差分子压缩包和所述第二差分子压缩包。在本实施例中,目标网关对差分压缩包进行分包得到目标数量的差分子压缩包时,可以为每个差分子压缩包按顺序分配序号,如1,2,3……n。目标网关可以按照差分子压缩包的序号进行广播,目标网关在发完升级数据包1后,延时一段时间,根据网络ID(即目标节点的标识信息),向每个节点依次单独发送查询命令,来确定该升级数据已被节点设备正确的接收到。当每个节点的状态都查询完成后,目标网关进行下一升级数据包的发送,直到数据包n发送完成。其中,确定该升级数据已被节点设备正确的接收到的方式可以是查询待升级节点接收到的差分子压缩包的序号是否与当前发送的差分子压缩包的序号是否相同,在相同的情况下,则认为待升级节点已正确接收到差分子压缩包。
在上述实施例中,目标网关会将差分的升级包分包发送给节点,节点收到后会将包序号更新,目标网关之后会对每个节点进行当前接收的包序号轮询,若序号异常则会对此节点重发升级数据,全部发送完成后完成升级流程,更新本地最新固件版本。节点设备在接收数据完成后进行差分逆运算,得出升级文件原始数据,进行升级包本地更新。
在一个示例性实施例中在接收所述待升级节点基于所述第一查询指令反馈的第二序号之后,所述方法还包括:在确定所述第一序号与所述第二序号不同的情况下,向所述待升级节点重新发送所述第一差分子压缩包,在本实施例中,若节点设备的本次升级数据异常,如待升级节点反馈的第二序号与发送的第一序号不同,则目标网关会重发此升级数据包。
在上述实施例中,升级数据(差分压缩包)可以从目标网关通过mesh网络下发至节点。其中,mesh包括点播和广播等通讯方式,节点设备可以通过网络ID(标识信息)去区分。网关可以首先向所有设备发送广播数据(即差分压缩包),在由节点接收异常时,则可以通过网络ID向特定的设备发送数据。利用mesh技术中的广播加点播通讯方式,对升级数据进行验证,在保证效率的同时提高了数据通讯的可靠性。
在一个示例性实施例中,确定所述升级固件与当前固件的目标差异包括:在接收到所述目标服务器发送的用于通知所述目标服务器中存在所述升级固件的通知消息的情况下,验证所述升级固件,以得到验证结果;在所述验证结果指示所述升级固件满足预定条件的情况下,将所述升级固件的版本信息与所述当前固件的版本信息进行比较,以得到第一比较结果;在所述第一比较结果指示所述升级固件与所述当前固件的版本不同的情况下,确定所述升级固件与当前固件的目标差异。在本实施例中,目标网关设备通过其他有线或者无线的方式接入互联网,与服务器通讯。如果用户想要更新节点的固件,首先需要将要升级的固件上传至服务器。服务器会发送通知消息给目标网关,目标网关接收到通知消息可以对升级固件进行验证,如对升级固件进行完整性校验。在校验成功的情况下,即当验证结果指示升级固件满足预定条件的情况下,目标网关可以对升级固件与当前固件的版本信息进行比较,得到第一比较结果,若第一比较结果指示二者的版本号不同,则通过差分算法生成差分升级压缩包。需要说明的是,本发明并不限制使用何种差分算法,目的是通过差分压缩的方式,减少在空中传输数据时的通讯数据量。在得到差分压缩包后,可以保存升级标志位,准备进行升级数据的后续传输。网关保存升级标志时发送开始升级广播,通知节点做好接收升级数据准备。其中,基于目标差异确定升级固件的差分升级压缩包示意图可参见附图4。
在一个示例性实施例中,在广播所述差分升级压缩包之前,所述方法还包括:向所述目标节点发送升级指令,以指示所述目标节点执行切换模式操作;向所述目标节点中包括的每个节点发送第二查询指令,以指示每个所述节点基于所述第二查询指令反馈所述节点的目标模式。在本实施例中,目标网关设备会先广播发送开始升级的同步命令(即升级指令),节点收到指令后进入升级模式,之后目标网关会通过发送第二查询指令的方式去轮询每个设备的状态,以确保每个节点都收到升级指令。即节点在接收到第二查询指令后,可以根据第二查询指令反馈自己的目标模式。其中,目标模式可以包括升级模式、非升级模式等。
在本实施例中还提供了一种节点升级方法,图5是根据本发明实施例的节点升级方法的流程图二,如图5所示,该流程包括如下步骤:
步骤S502,接收目标网关广播发送的差分升级压缩包,其中,所述差分升级压缩包为所述目标网关基于目标服务器中存在的升级固件与当前固件的目标差异确定的压缩包;
步骤S504,基于所述差分升级压缩包执行升级操作。
可选地,上述步骤的执行主体可以为目标节点。
在上述实施例中,目标服务器与目标网关连接,目标网关与目标节点连接,目标节点可以包括多个,且目标网关与目标节点可以通过蓝牙mesh网络连接。其中,目标服务器、目标网关、目标节点的连接示意图可参见附图3,如图3所示,目标网关设备与服务器通过有线或者其他方式相连接,通过mesh网络与节点设备组网通信。使用mesh网络通讯,只要部署一次升级包就能完成网络下的所有节点的固件升级。
在上述实施例中,需要进行节点设备升级时,用户可将升级固件通过服务器上传,目标网关设备在本地存有前一版本的节点固件,当其检测到有新的固件时会比较其与前一版本的差异,生成差分升级压缩包,升级时会将其作为下发的数据以减少通讯时的数据量。目标节点在接收到差分压缩包后,可以根据差分压缩包进行升级。使用差分压缩技术,空中传输的是压缩的差分包,可大大减小传输数据量,提高传输速率。
通过本发明,在目标服务器中存在用于升级目标节点的升级固件的情况下,确定升级固件与当前固件的目标差异,基于目标差异确定升级固件的差分升级压缩包,在确定目标节点中包括处于升级模式的待升级节点的情况下,广播差分升级压缩包。由于可以根据目标差异确定差分升级压缩包,并通过广播的方式发送差分升级压缩包给待升级节点,可以大大减小传输数据量,并且通过广播的方式也可以提高传输效率,因此,可以解决相关技术中存在的节点升级时间长、成功率低、升级操作繁琐的问题,达到缩短节点升级时间、提高升级成功率、简化升级操作的效果。
在一个示例性实施例中,接收目标网关广播发送的差分升级压缩包包括:接收所述目标网关依次广播发送的差分子压缩包,其中,所述差分子压缩包为所述目标网关基于允许传输的最大压缩包大小将所述差分升级压缩包拆分为目标数量的差分子压缩包中包括的压缩包,所述差分子压缩包的大小小于所述最大压缩包大小。在本实施例中,目标网关在确定差分压缩包后,可以对升级数据(即差分压缩包)进行分包,再向所有节点广播发送,分包大小通常与网络通讯协议有关,一般ble mesh网络的每包数据<200字节。以总包数是n为例,每包的序号为1,2,…n。
在一个示例性实施例中,在接收所述目标网关依次广播发送的差分子压缩包之后,所述方法还包括:比较所述差分子压缩包中包括的版本信息与所述当前固件的版本信息,以得到第二比较结果;在所述第二比较结果指示所述版本信息与所述当前固件版本信息一致的情况下,确定所述差分子压缩包的第二序号;接收所述目标网关发送的第一查询指令;基于所述第一查询指令反馈所述第二序号。在本实施例中,差分压缩包中含有新旧固件的大小和版本信息字段,接收完成差分压缩包后,需要先比较旧固件信息字段是否和当前的固件信息一致。在一致的情况下,确定接收到的差分子压缩包的第二序号,并在接收到目标网关发送第一查询指令时,反馈第二序号。
在上述实施例中,目标网关对差分压缩包进行分包得到目标数量的差分子压缩包时,可以为每个差分子压缩包按顺序分配序号,如1,2,3……n。目标网关可以按照差分子压缩包的序号进行广播,目标网关在发完升级数据包1后,延时一段时间,根据网络ID(即目标节点的标识信息),向每个节点依次单独发送查询命令,来确定该升级数据已被节点设备正确的接收到。当每个节点的状态都查询完成后,目标网关进行下一升级数据包的发送,直到数据包n发送完成。其中,确定该升级数据已被节点设备正确的接收到的方式可以是查询待升级节点接收到的差分子压缩包的序号是否与当前发送的差分子压缩包的序号是否相同,在相同的情况下,则认为待升级节点已正确接收到差分子压缩包。
在上述实施例中,目标网关会将差分的升级包分包发送给节点,节点收到后会将包序号更新,目标网关之后会对每个节点进行当前接收的包序号轮询,若序号异常则会对此节点重发升级数据,全部发送完成后完成升级流程,更新本地最新固件版本。节点设备在接收数据完成后进行差分逆运算,得出升级文件原始数据,进行升级包本地更新。
在一个示例性实施例中,基于所述差分升级压缩包执行升级操作包括:对所述差分升级压缩包进行解压操作,以得到差分数据;对所述差分数据以及所述当前固件中包括的数据进行差分计算,以得到升级数据;基于所述升级数据执行升级操作。在本实施例中,在升级数据都接收完成后,节点设备会在本地进行差分数据升级工作。在目标节点确定差分压缩包中的数据解压后大会小不超过存储限制,则节点设备解压缩从网关收到的升级数据至本地的存储区域,将解压后的差分数据和目前运行的固件进行差分运算,得到新固件数据,将新固件数据写入跳转地址的flash中,全部数据写入完成后计算校验值,之后复位进入boot。如果校验正确,则擦除旧固件,跳转至新固件地址区运行,如果校验失败,则擦除新固件,在就固件区域运行。其中,基于差分升级压缩包执行升级操作示意图可参见附图6。
在一个示例性实施例中,在接收目标网关广播发送的差分升级压缩包之前,所述方法还包括:接收所述目标网关发送的升级指令;基于所述升级指令执行切换模式操作,以得到节点的目标模式;接收所述目标网关发送的第二查询指令;响应所述第二查询指令,向所述目标网关发送所述目标模式。在本实施例中,目标网关设备会先广播发送开始升级的同步命令(即升级指令),节点收到指令后进入升级模式,之后目标网关会通过发送第二查询指令的方式去轮询每个设备的状态,以确保每个节点都收到升级指令。即节点在接收到第二查询指令后,可以根据第二查询指令反馈自己的目标模式。其中,目标模式可以包括升级模式、非升级模式等。
下面结合具体实施方式对节点升级方法进行说明:
图7是根据本发明具体实施例的节点升级方法流程图,如图7所示,该方法包括:
步骤S702,判断是否有可升级标志,在判断结果为是的情况下,执行步骤S704,在判断结果为否的情况下,执行步骤S702。
步骤S704,开始升级命令。
步骤S706,发送升级数据包n。
步骤S708,延时。
步骤S710,节点n升级状态查询。
步骤S712,判断节点n回复状态正常?在判断结果为是的情况下,执行步骤S714,在判断结果为否的情况下,执行步骤S716。
步骤S714,节点号++,即查询下一个节点的升级状态。
步骤S716,升级数据包n重发。
步骤S718,判断所有节点升级数据发送完成,在判断结果为是的情况下,执行步骤S722,在判断结果为否的情况下,执行步骤S720。
步骤S720,升级数据包序号n++,即发送当前序号下一个升级数据包。
步骤S722,结束。
需要说明的是,上述步骤的执行主体为目标网关。
步骤S724,在接收到开始升级命令后,切换为升级模式。
步骤S726,接收升级数据包n。
步骤S728,接收状态查询包(对应于上述第一查询指令)。
步骤S730,发送状态查询回复。
步骤S732,判断所有升级数据包是否接收完成,在判断结果为是的情况下,执行步骤S734,在判断结果为否的情况下,执行步骤S726。
步骤S734,在升级完成后,退出升级。
步骤S736,结束。
需要说明的是,上述步骤的执行主体为目标节点。
在前述实施例中,可以在网关设备进行差分包判断和生成,通mesh网络使用广播加轮询的方式进行升级数据传输和可靠性判断,实现一对多的设备自动化升级。通过差分压缩包可减少空中的升级数据;通过广播加点播校验重发的方式轮询发送,实现解决升级数据传输的问题。节点本地对升级数据解压和解差分,完成升级数据写入。有效解决了设备OTA升级时的速度慢,可靠性低,一对多升级无法自动化的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种节点升级装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本发明实施例的节点升级装置的结构框图一,如图8所示,该装置包括:
第一确定模块82,用于在目标服务器中存在用于升级目标节点的升级固件的情况下,确定所述升级固件与当前固件的目标差异;
第二确定模块84,用于基于所述目标差异确定所述升级固件的差分升级压缩包;
第一升级模块86,用于在确定所述目标节点中包括处于升级模式的待升级节点的情况下,广播所述差分升级压缩包,以指示接收到所述差分升级压缩包的所述待升级节点基于所述差分升级压缩包执行升级操作。
在一个示例性实施例中,第一升级模块86可以通过如下方式实现广播所述差分升级压缩包:确定允许传输的最大压缩包大小;基于所述最大压缩包大小将所述差分升级压缩包拆分为目标数量的差分子压缩包,其中,所述差分子压缩包的大小小于所述最大压缩包大小;依次广播每个所述差分子压缩包。
在一个示例性实施例中,第一升级模块86可以通过如下方式实现依次广播每个所述差分子压缩包:针对所述目标节点中包括的每个所述待升级节点,重复执行以下操作,直至将所述目标数量的所述差分子压缩包均发送至所述待升级节点为止:确定当前向所述待升级节点发送的第一差分子压缩包的第一序号;向所述待升级节点发送第一查询指令,其中,所述第一查询指令用于查询所述待升级节点当前接收到的差分子压缩包的序号;接收所述待升级节点基于所述第一查询指令反馈的第二序号;在确定所述第一序号与所述第二序号相同的情况下,广播所述第一序号的下一序号所对应的第二差分子压缩包;其中,所述目标数量的所述差分子压缩包中包括所述第一差分子压缩包和所述第二差分子压缩包。
在一个示例性实施例中,所述装置可以用于在接收所述待升级节点基于所述第一查询指令反馈的第二序号之后,在确定所述第一序号与所述第二序号不同的情况下,向所述待升级节点重新发送所述第一差分子压缩包。
在一个示例性实施例中,第一确定模块82可以通过如下方式实现确定所述升级固件与当前固件的目标差异:在接收到所述目标服务器发送的用于通知所述目标服务器中存在所述升级固件的通知消息的情况下,验证所述升级固件,以得到验证结果;在所述验证结果指示所述升级固件满足预定条件的情况下,将所述升级固件的版本信息与所述当前固件的版本信息进行比较,以得到第一比较结果;在所述第一比较结果指示所述升级固件与所述当前固件的版本不同的情况下,确定所述升级固件与当前固件的目标差异。
在一个示例性实施例中,所述装置可以用于在广播所述差分升级压缩包之前,向所述目标节点发送升级指令,以指示所述目标节点执行切换模式操作;向所述目标节点中包括的每个节点发送第二查询指令,以指示每个所述节点基于所述第二查询指令反馈所述节点的目标模式。
图9是根据本发明实施例的节点升级装置的结构框图二,如图9所示,该装置包括:
接收模块92,用于接收目标网关广播发送的差分升级压缩包,其中,所述差分升级压缩包为所述目标网关基于目标服务器中存在的升级固件与当前固件的目标差异确定的压缩包;
第二升级模块94,用于基于所述差分升级压缩包执行升级操作。
在一个示例性实施例中,接收模块92可以通过如下方式实现接收目标网关广播发送的差分升级压缩包:接收所述目标网关依次广播发送的差分子压缩包,其中,所述差分子压缩包为所述目标网关基于允许传输的最大压缩包大小将所述差分升级压缩包拆分为目标数量的差分子压缩包中包括的压缩包,所述差分子压缩包的大小小于所述最大压缩包大小。
在一个示例性实施例中,所述装置可以用于在接收所述目标网关依次广播发送的差分子压缩包之后,比较所述差分子压缩包中包括的版本信息与所述当前固件的版本信息,以得到第二比较结果;在所述第二比较结果指示所述版本信息与所述当前固件版本信息一致的情况下,确定所述差分子压缩包的第一序号;接收所述目标网关发送的第一查询指令;基于所述第一查询指令反馈所述第一序号。
在一个示例性实施例中,第二升级模块94可以通过如下方式实现基于所述差分升级压缩包执行升级操作:对所述差分升级压缩包进行解压操作,以得到差分数据;对所述差分数据以及所述当前固件中包括的数据进行差分计算,以得到升级数据;基于所述升级数据执行升级操作。
在一个示例性实施例中,所述装置可以通过如下方式实现在接收目标网关广播发送的差分升级压缩包之前,接收所述目标网关发送的升级指令;基于所述升级指令执行切换模式操作,以得到节点的目标模式;接收所述目标网关发送的第二查询指令;响应所述第二查询指令,向所述目标网关发送所述目标模式。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种节点升级方法,其特征在于,包括:
在目标服务器中存在用于升级目标节点的升级固件的情况下,确定所述升级固件与当前固件的目标差异;
基于所述目标差异确定所述升级固件的差分升级压缩包;
在确定所述目标节点中包括处于升级模式的待升级节点的情况下,广播所述差分升级压缩包,以指示接收到所述差分升级压缩包的所述待升级节点基于所述差分升级压缩包执行升级操作。
2.根据权利要求1所述的方法,其特征在于,广播所述差分升级压缩包包括:
确定允许传输的最大压缩包大小;
基于所述最大压缩包大小将所述差分升级压缩包拆分为目标数量的差分子压缩包,其中,所述差分子压缩包的大小小于所述最大压缩包大小;
依次广播每个所述差分子压缩包。
3.根据权利要求2所述的方法,其特征在于,依次广播每个所述差分子压缩包包括:
针对所述目标节点中包括的每个所述待升级节点,重复执行以下操作,直至将所述目标数量的所述差分子压缩包均发送至所述待升级节点为止:
确定当前向所述待升级节点发送的第一差分子压缩包的第一序号;
向所述待升级节点发送第一查询指令,其中,所述第一查询指令用于查询所述待升级节点当前接收到的差分子压缩包的序号;
接收所述待升级节点基于所述第一查询指令反馈的第二序号;
在确定所述第一序号与所述第二序号相同的情况下,广播所述第一序号的下一序号所对应的第二差分子压缩包;
其中,所述目标数量的所述差分子压缩包中包括所述第一差分子压缩包和所述第二差分子压缩包。
4.根据权利要求3所述的方法,其特征在于,在接收所述待升级节点基于所述第一查询指令反馈的第二序号之后,所述方法还包括:
在确定所述第一序号与所述第二序号不同的情况下,向所述待升级节点重新发送所述第一差分子压缩包。
5.根据权利要求1所述的方法,其特征在于,确定所述升级固件与当前固件的目标差异包括:
在接收到所述目标服务器发送的用于通知所述目标服务器中存在所述升级固件的通知消息的情况下,验证所述升级固件,以得到验证结果;
在所述验证结果指示所述升级固件满足预定条件的情况下,将所述升级固件的版本信息与所述当前固件的版本信息进行比较,以得到第一比较结果;
在所述第一比较结果指示所述升级固件与所述当前固件的版本不同的情况下,确定所述升级固件与当前固件的目标差异。
6.根据权利要求1所述的方法,其特征在于,在广播所述差分升级压缩包之前,所述方法还包括:
向所述目标节点发送升级指令,以指示所述目标节点执行切换模式操作;
向所述目标节点中包括的每个节点发送第二查询指令,以指示每个所述节点基于所述第二查询指令反馈所述节点的目标模式。
7.一种节点升级方法,其特征在于,包括:
接收目标网关广播发送的差分升级压缩包,其中,所述差分升级压缩包为所述目标网关基于目标服务器中存在的升级固件与当前固件的目标差异确定的压缩包;
基于所述差分升级压缩包执行升级操作。
8.根据权利要求7所述的方法,其特征在于,接收目标网关广播发送的差分升级压缩包包括:
接收所述目标网关依次广播发送的差分子压缩包,其中,所述差分子压缩包为所述目标网关基于允许传输的最大压缩包大小将所述差分升级压缩包拆分为目标数量的差分子压缩包中包括的压缩包,所述差分子压缩包的大小小于所述最大压缩包大小。
9.根据权利要求8所述的方法,其特征在于,在接收所述目标网关依次广播发送的差分子压缩包之后,所述方法还包括:
比较所述差分子压缩包中包括的版本信息与所述当前固件的版本信息,以得到第二比较结果;
在所述第二比较结果指示所述版本信息与所述当前固件版本信息一致的情况下,确定所述差分子压缩包的第一序号;
接收所述目标网关发送的第一查询指令;
基于所述第一查询指令反馈所述第一序号。
10.根据权利要求7所述的方法,其特征在于,基于所述差分升级压缩包执行升级操作包括:
对所述差分升级压缩包进行解压操作,以得到差分数据;
对所述差分数据以及所述当前固件中包括的数据进行差分计算,以得到升级数据;
基于所述升级数据执行升级操作。
11.根据权利要求7所述的方法,其特征在于,在接收目标网关广播发送的差分升级压缩包之前,所述方法还包括:
接收所述目标网关发送的升级指令;
基于所述升级指令执行切换模式操作,以得到节点的目标模式;
接收所述目标网关发送的第二查询指令;
响应所述第二查询指令,向所述目标网关发送所述目标模式。
12.一种节点升级装置,其特征在于,包括:
第一确定模块,用于在目标服务器中存在用于升级目标节点的升级固件的情况下,确定所述升级固件与当前固件的目标差异;
第二确定模块,用于基于所述目标差异确定所述升级固件的差分升级压缩包;
第一升级模块,用于在确定所述目标节点中包括处于升级模式的待升级节点的情况下,广播所述差分升级压缩包,以指示接收到所述差分升级压缩包的所述待升级节点基于所述差分升级压缩包执行升级操作。
13.一种节点升级装置,其特征在于,包括:
接收模块,用于接收目标网关广播发送的差分升级压缩包,其中,所述差分升级压缩包为所述目标网关基于目标服务器中存在的升级固件与当前固件的目标差异确定的压缩包;
第二升级模块,用于基于所述差分升级压缩包执行升级操作。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至6任一项中所述的方法的步骤,或者实现权利要求7至11任一项中所述的方法的步骤。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法,或者执行权利要求7至11任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998710.8A CN113721966B (zh) | 2021-08-27 | 2021-08-27 | 节点升级方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998710.8A CN113721966B (zh) | 2021-08-27 | 2021-08-27 | 节点升级方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113721966A true CN113721966A (zh) | 2021-11-30 |
CN113721966B CN113721966B (zh) | 2024-03-29 |
Family
ID=78678693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110998710.8A Active CN113721966B (zh) | 2021-08-27 | 2021-08-27 | 节点升级方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113721966B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265614A (zh) * | 2021-12-21 | 2022-04-01 | 红石阳光(北京)科技股份有限公司 | 一种代理差分升级的方法及系统 |
CN114978904A (zh) * | 2022-05-24 | 2022-08-30 | 西安特来电领充新能源科技有限公司 | 远程固件升级方法、系统、装置、嵌入式设备及存储介质 |
CN115987976A (zh) * | 2023-03-20 | 2023-04-18 | 北京集度科技有限公司 | 对节点进行升级的方法及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010116835A1 (ja) * | 2009-03-30 | 2010-10-14 | 日立ソフトウエアエンジニアリング株式会社 | ファームウェア更新システム、ファームウェア配信サーバ、及びファームウェア組み込み機器、並びにプログラム |
CN110147244A (zh) * | 2019-04-30 | 2019-08-20 | 惠州市德赛西威智能交通技术研究院有限公司 | 一种车载软件升级的方法 |
CN110837393A (zh) * | 2019-11-14 | 2020-02-25 | 北京知道创宇信息技术股份有限公司 | 一种固件差分升级包的制作方法及装置、可读存储介质 |
WO2020082984A1 (zh) * | 2018-10-25 | 2020-04-30 | 华为技术有限公司 | 一种固件升级方法、装置及终端 |
CN111212121A (zh) * | 2019-12-24 | 2020-05-29 | 浙江大学 | 一种用于物联网设备的空中固件升级方法及系统 |
CN111831297A (zh) * | 2019-04-17 | 2020-10-27 | 中兴通讯股份有限公司 | 零差分升级方法及装置 |
CN111865646A (zh) * | 2019-12-30 | 2020-10-30 | 北京骑胜科技有限公司 | 终端升级方法及相关装置 |
CN111930412A (zh) * | 2019-05-13 | 2020-11-13 | 阿里巴巴集团控股有限公司 | 差分文件生成及固件在线升级的方法和装置 |
CN112130881A (zh) * | 2020-09-29 | 2020-12-25 | 广东芬尼克兹节能设备有限公司 | 一种固件远程升级方法及装置 |
CN112579140A (zh) * | 2020-12-22 | 2021-03-30 | 四川虹微技术有限公司 | 一种软件升级方法及装置 |
CN112732318A (zh) * | 2021-01-12 | 2021-04-30 | 武汉光庭信息技术股份有限公司 | 一种单片机固件升级方法 |
-
2021
- 2021-08-27 CN CN202110998710.8A patent/CN113721966B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010116835A1 (ja) * | 2009-03-30 | 2010-10-14 | 日立ソフトウエアエンジニアリング株式会社 | ファームウェア更新システム、ファームウェア配信サーバ、及びファームウェア組み込み機器、並びにプログラム |
WO2020082984A1 (zh) * | 2018-10-25 | 2020-04-30 | 华为技术有限公司 | 一种固件升级方法、装置及终端 |
CN111831297A (zh) * | 2019-04-17 | 2020-10-27 | 中兴通讯股份有限公司 | 零差分升级方法及装置 |
CN110147244A (zh) * | 2019-04-30 | 2019-08-20 | 惠州市德赛西威智能交通技术研究院有限公司 | 一种车载软件升级的方法 |
CN111930412A (zh) * | 2019-05-13 | 2020-11-13 | 阿里巴巴集团控股有限公司 | 差分文件生成及固件在线升级的方法和装置 |
CN110837393A (zh) * | 2019-11-14 | 2020-02-25 | 北京知道创宇信息技术股份有限公司 | 一种固件差分升级包的制作方法及装置、可读存储介质 |
CN111212121A (zh) * | 2019-12-24 | 2020-05-29 | 浙江大学 | 一种用于物联网设备的空中固件升级方法及系统 |
CN111865646A (zh) * | 2019-12-30 | 2020-10-30 | 北京骑胜科技有限公司 | 终端升级方法及相关装置 |
CN112130881A (zh) * | 2020-09-29 | 2020-12-25 | 广东芬尼克兹节能设备有限公司 | 一种固件远程升级方法及装置 |
CN112579140A (zh) * | 2020-12-22 | 2021-03-30 | 四川虹微技术有限公司 | 一种软件升级方法及装置 |
CN112732318A (zh) * | 2021-01-12 | 2021-04-30 | 武汉光庭信息技术股份有限公司 | 一种单片机固件升级方法 |
Non-Patent Citations (2)
Title |
---|
EFFROSYNI GIAMA等: "Construction typologies for energy upgrade in terms of thermophysical analysis and operational measurements in non residential buildings", 《 2021 6TH INTERNATIONAL CONFERENCE ON SMART AND SUSTAINABLE TECHNOLOGIES (SPLITECH)》, 21 October 2021 (2021-10-21), pages 1 - 5 * |
刘波: "物联网设备空中固件升级技术研究与系统实现", 《CNKI优秀硕士学位论文全文库 信息科技辑》, no. 02, 15 February 2021 (2021-02-15), pages 136 - 418 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265614A (zh) * | 2021-12-21 | 2022-04-01 | 红石阳光(北京)科技股份有限公司 | 一种代理差分升级的方法及系统 |
CN114978904A (zh) * | 2022-05-24 | 2022-08-30 | 西安特来电领充新能源科技有限公司 | 远程固件升级方法、系统、装置、嵌入式设备及存储介质 |
CN115987976A (zh) * | 2023-03-20 | 2023-04-18 | 北京集度科技有限公司 | 对节点进行升级的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113721966B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113721966B (zh) | 节点升级方法、装置、存储介质及电子装置 | |
CN102546784B (zh) | 一种基于can总线进行批量升级设备固件的方法 | |
EP3395013B1 (en) | Node upgrading method and system in mesh network | |
CN105591824A (zh) | 一种固件升级的方法、系统 | |
US20120324065A1 (en) | Method and system for upgrading network device | |
CN110471692B (zh) | 终端程序的空中升级方法、装置、设备及存储介质 | |
CN108289007B (zh) | 数据包传输方法及装置 | |
US10469620B2 (en) | Method for transferring a new software version to at least one electricity meter via a communication network | |
CN103685487A (zh) | 无线通信网络中的子节点升级方法 | |
CN103973421A (zh) | 文件传送方法及装置 | |
CN111240713A (zh) | 一种用电检测远程断点续传的方法 | |
CN112737847B (zh) | 节点升级方法及装置、存储介质及电子装置 | |
CN113746892B (zh) | 一种远程升级方法及无线终端设备 | |
CN101369879B (zh) | 一种请求数据重传的方法及装置 | |
CN111510419A (zh) | 一种数据压缩的方法及基站 | |
CN114884935A (zh) | 数据升级方法、装置、电子设备和存储介质 | |
CN112104487A (zh) | 物联网终端的远程升级方法、物联网主站及存储介质 | |
KR101428778B1 (ko) | 원격검침 단말의 원격 펌웨어 업그레이드 장치 및 방법 | |
CN106060962B (zh) | 一种通信方法及装置 | |
CN104077152A (zh) | 一种嵌入式系统批量升级的方法及装置 | |
CN112887416A (zh) | 发送保活包的频率调整方法及装置 | |
CN116414411A (zh) | 程序升级方法、系统、电子设备及存储介质 | |
CN114125052B (zh) | 目标操作的执行方法和装置、存储介质及电子装置 | |
CN111064674B (zh) | 数据的传输方法及装置、系统 | |
CN110149389B (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 |