CN115987976B - 对节点进行升级的方法及设备 - Google Patents
对节点进行升级的方法及设备 Download PDFInfo
- Publication number
- CN115987976B CN115987976B CN202310265626.4A CN202310265626A CN115987976B CN 115987976 B CN115987976 B CN 115987976B CN 202310265626 A CN202310265626 A CN 202310265626A CN 115987976 B CN115987976 B CN 115987976B
- Authority
- CN
- China
- Prior art keywords
- file
- target
- node
- upgrade file
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供了一种对节点进行升级的方法及设备,能够降低对节点的维护成本。该方法应用于网关设备,该方法包括:从服务器接收升级指令,升级指令用于对目标节点进行升级;响应于升级指令,从服务器下载初始升级文件,初始升级文件是通过文件处理工具在目标升级文件中添加附加信息得到的,附加信息包括与目标升级文件对应的节点的身份信息;删除初始升级文件中的附加信息,得到目标升级文件;利用节点的身份信息,对判断节点的身份信息目标升级文件与和目标节点是否进行匹配性判断;在节点的身份信息目标升级文件与目标节点匹配的情况下,利用目标升级文件对目标节点进行升级。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种对节点进行升级的方法及设备。
背景技术
对电子设备中目标节点的升级可以通过网关设备来实现。网关设备可以从服务器下载升级文件,并对目标节点进行升级。但是,对目标节点进行升级时,会存在目标节点与升级文件不匹配的问题。如果目标节点与目标升级文件不匹配,会导致目标节点直接不可用,需要维护人员手动进行维修,造成维护成本升高的问题。
发明内容
本申请提供一种对节点进行升级的方法及设备,能够降低对节点的维护成本。
第一方面,提供了一种对节点进行升级的方法,所述方法应用于网关设备,所述方法包括:从服务器接收升级指令,所述升级指令用于对目标节点进行升级;响应于所述升级指令,从所述服务器下载初始升级文件,所述初始升级文件是通过文件处理工具在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;删除所述初始升级文件中的所述附加信息,得到所述目标升级文件;利用所述节点的身份信息,对所述目标升级文件和所述目标节点进行匹配性判断;在所述目标升级文件与所述目标节点匹配的情况下,利用所述目标升级文件对所述目标节点进行升级。
第二方面,提供一种对节点进行升级的方法,所述方法应用于服务器,所述方法包括:接收初始升级文件,所述初始升级文件是通过在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;向网关设备发送升级指令,所述升级指令用于对目标节点进行升级;向所述网关设备发送所述初始升级文件,所述初始升级文件中的所述节点的身份信息用于对所述目标升级文件和所述目标节点进行匹配性判断;其中,在所述目标升级文件和所述目标节点匹配的情况下,所述目标升级文件用于对所述目标节点进行升级。
第三方面,提供一种网关设备,包括:处理器,存储器以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述网关设备执行以下操作:从服务器接收升级指令,所述升级指令用于对目标节点进行升级;响应于所述升级指令,从所述服务器下载初始升级文件,所述初始升级文件是通过文件处理工具在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;删除所述初始升级文件中的所述附加信息,得到所述目标升级文件;利用所述节点的身份信息,对所述目标升级文件和所述目标节点进行匹配性判断;在所述目标升级文件与所述目标节点匹配的情况下,利用所述目标升级文件对所述目标节点进行升级。
第四方面,提供一种服务器,包括:处理器,存储器以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述服务器执行以下操作:接收初始升级文件,所述初始升级文件是通过在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;向网关设备发送升级指令,所述升级指令用于对目标节点进行升级;向所述网关设备发送所述初始升级文件,所述初始升级文件中的所述节点的身份信息用于对所述目标升级文件和所述目标节点进行匹配性判断;其中,在所述目标升级文件和所述目标节点匹配的情况下,所述目标升级文件用于对所述目标节点进行升级。
第五方面,提供一种计算机可读存储介质,包括:计算机程序/指令,当所述计算机程序/指令被处理器执行时实现如第一方面所述的方法。
第六方面,提供一种计算机可读存储介质,包括:计算机程序/指令,当所述计算机程序/指令被处理器执行时实现如第二方面所述的方法。
第七方面,提供一种计算机程序产品,包括:计算机程序/指令,当所述计算机程序/指令被处理器执行时实现如第一方面所述的方法。
第八方面,提供一种计算机程序产品,包括:计算机程序/指令,当所述计算机程序/指令被处理器执行时实现如第二方面所述的方法。
本申请通过在目标升级文件中添加与目标升级文件对应的节点的身份信息,利用该节点的身份信息对目标升级文件与升级指令中指定的目标节点进行匹配性判断,在目标升级文件与目标节点匹配的情况下,才对目标节点进行升级,从而可以避免使用不匹配的升级文件对目标节点进行升级,导致目标节点不可用造成维护成本升高的问题。
附图说明
图1是本申请实施例提供的一种对节点进行升级的方法的示意性流程图。
图2是本申请实施例提供的一种升级文件的生成过程的示意图。
图3是本申请实施例提供的一种从初始升级文件获取到网关设备下载初始升级文件的整个流程的示意图。
图4是本申请实施例提供的对目标节点进行升级的示意性流程图。
图5是本申请实施例提供的网关设备的示意图。
图6是本申请实施例提供的服务器的示意图。
图7是本申请实施例提供的一种计算机程序产品的示意性结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
随着技术的发展,人们使用电子设备的应用场景越来越多。为了提高用户的使用体验,需要每隔一段时间,对电子设备进行升级。
电子设备可以包括多个节点,对电子设备进行升级可以指对电子设备中的节点进行升级。如对节点中的固件进行升级。例如,可以对节点中的系统进行升级,或对节点中的软件进行升级,或对节点中的系统进行升级。本申请实施例中的节点也可以称为模块。
电子设备的类型可以有多种,本申请实施例对此不做具体限定。例如,该电子设备可以为物联网设备。物联网设备可以包括以下中的一种或多种:智能家居设备、工业智能网关、生命安全设备、车联网设备等。
物联网技术可以应用在生活的各个方面。以汽车领域为例,随着智能汽车的快速发展,汽车领域也越来越多地使用物联网技术。例如,可以在充电桩项目中使用物联网技术。也就是说,本申请实施例中的电子设备可以为充电桩。通过在充电桩中使用物联网技术,使得供应商可以对充电桩进行远程监测和远程控制,以保证充电桩可以为用户提供更高效的服务。
物联网设备可以通过网关设备与服务器进行通信。网关设备可以对物联网设备进行管理和控制。如网关设备可以对物联网设备的升级过程进行管理和控制。
在对目标节点进行升级时,可以通过网关设备对目标节点进行升级。例如,网关设备可以从服务器下载升级文件,并利用该升级文件对目标节点进行升级。目标节点可以为能够与网关设备进行通信的节点,也可以为网关设备本身。
网关设备对目标节点进行升级时,所采用的升级方式可以为空中下载软件升级(firmware over-the-air,FOTA)升级方式。
本申请实施例中的升级文件可以为完整的升级文件,也可以为增量升级文件,本申请实施例对此不做具体限定。
本申请实施例中的升级文件可以为二进制文件(如bin文件)。现有技术中,bin文件为纯粹的可执行文件,不附带任何的附加信息。在烧录时可以按初始偏移地址直接顺序烧写至微控制单元(microcontroller unit,MCU)中,MCU即可执行该bin文件。网关设备在下载得到该bin文件后,可直接利用该bin文件对目标节点进行升级。
通常,电子设备中的节点会有很多,在对节点进行升级时,需要使用与节点对应的升级文件对节点进行升级。
下面以充电桩为例,对通过网关设备对节点进行升级的过程进行介绍。
充电桩项目中,充电桩的类型有多种。如360 kw超充、7 kw直流充、7 kw交流充等。不同类型的充电桩由不同的供应商供应。同一类型的充电桩也可以由不同的供应商进行供应。不同供应商的电子设计(如硬件电路及其嵌入式软件)各不相同。但是,通常,充电桩内部都会采用相同的通信板进行统一管理。
本申请实施例中的网关设备可以为充电桩中的通信板。通信板可以与服务器进行通信,以控制充电桩完成各种业务。例如,通信板可以从服务器下载升级文件,以对充电桩中的各节点进行升级。通信板可以通过MQTT协议与服务器进行过通信,通信板对充电桩的控制可以通过CAN协议来实现。
充电桩中的节点可以包括以下中的一种或多种:中央控制单元、充电控制单元(如ACDC)、充电控制器、计费控制单元和桩功率模块等。
在需要对目标节点进行升级时,研发人员可以编写升级文件,在编写完成后,测试人员对升级文件进行测试。测试完成后,升级人员在后台操作页面选取测试人员释放的升级文件以及对应的目标升级节点,并将该升级文件上传至服务器。为了提高文件的安全性,文件上传至服务器可以加密的形式进行上传。
升级人员可以点击升级按钮,服务器向通信板发送升级指令。该升级指令可以为MQTT应用协议。该升级指令中可以包括升级人员选择的目标节点和文件下载路径(或文件地址)等信息。通信板接收到升级指令后,从该升级指令中获取目标节点以及文件下载路径。通信板可以根据该文件下载路径下载升级文件。具体地,通信板可以通过HTTPS协议从服务器下载升级文件。通信板下载得到密文后,可以对密文进行解密,得到升级文件。在得到升级文件后,通信板可以利用升级文件对目标节点进行升级。
在上述升级操作过程中,由于可供选择的充电桩有很多,每个充电桩对应的供应商不一定相同。每个充电桩中的可升级节点也有多个,如360kw充电桩中的可升级节点有6个。升级人员在上传升级文件时,有可能会错选目标节点,如错选供应商品牌或者充电桩内的节点等。由于通信板在下载得到升级文件之后,是直接利用升级文件对升级指令中指定的目标节点进行升级,因此,会存在升级文件与目标节点不匹配的问题。如果升级文件与目标节点不匹配,会导致被升级的目标节点直接变砖,维护人员需要手动拆桩刷写。如果存在批量性升级出错,会使维护人员的工作量变得繁重,且维护效率极低。
在上文介绍的升级过程中,升级文件和目标节点都是升级人员手动操作的,如果升级人员操作失误,致使升级文件与目标节点不匹配,就会导致目标节点变砖,无法再继续升级。当出现批量性升级错误时,人工现场维护的成本就会巨增。
基于此,本申请实施例提供一种对节点进行升级的方法及装置,通过在升级文件中添加与升级文件对应的节点的身份信息,利用该节点的身份信息对升级文件与升级指令中指定的目标节点进行匹配性判断,在升级文件与目标节点匹配的情况下,才对目标节点进行升级,从而可以避免使用不匹配的升级文件对目标节点进行升级,导致目标节点变砖造成维护成本升高的问题,有利于提高对节点进行升级的效率,提高用户体验。
下面结合图1,对本申请实施例提供的对节点进行升级的方法进行介绍。图1所示的方法可应用于网关设备。以上文介绍的充电桩为例,该网关设备可以为充电桩中的通信板。
参见图1,在步骤S110,服务器向网关设备发送升级指令。该升级指令用于对目标节点进行升级。
该目标节点可以为电子设备中的节点。以电子设备为物联网设备为例,该目标节点可以为物联网设备中的节点。该目标节点可以为网关设备,或由网关设备进行管理和控制的节点。以充电桩为例,该目标节点可以为充电桩中的节点。例如,该目标节点可以为以下中的一种或多种:通信板、中央控制单元、充电控制单元(如ACDC)、充电控制器、计费控制单元和桩功率模块。
在步骤S120,响应于该升级指令,网关设备从服务器下载初始升级文件。也就是说,服务器可以向网关设备发送初始升级文件。
在一些实施例中,该升级指令中可以包括文件下载路径。网关设备可以根据该文件下载路径,从服务器下载初始升级文件。
为了保证文件下载的可靠性,网关设备可以采用分包下载的方式下载初始升级文件。如网关设备可以分批次,对初始升级文件进行下载。网关设备下载初始升级文件时,通常是从初始升级文件的头部开始进行下载。以每次下载512字节为例,网关设备第一次可以先下载头部的512字节内容,然后将偏移量增加512字节,继续下载之后的512字节,以此类推,直到下载完初始升级文件的全部内容。
为了保证文件的安全性,网关设备从服务器下载的文件为加密文件,网关设备可以对该加密文件进行解密处理,得到解密后的初始升级文件。网关设备采用的解密方式例如可以为AES解密。
初始升级文件可以是通过在目标升级文件中添加附加信息得到的。目标升级文件可以为纯粹的可执行文件,如二进制文件。例如,该目标升级文件可以为bin文件。
在目标升级文件中添加附加信息可以是通过文件处理工具实现的。文件处理工具可以通过python或mfc制作实现。下文将会对文件处理工具添加附加信息的过程进行详细介绍。
在一些实施例中,该附加信息可以包括与目标升级文件对应的节点的身份信息。换句话说,该附加信息中涉及的节点是与目标升级文件匹配的。通过文件处理工具来添加附加信息,可以保证添加的附加信息的准确性,避免人为操作失误生成错误的附加信息。因此,通过文件处理工具添加附加信息可以进一步提高初始升级文件的附加信息与目标节点匹配的准确性。
在一些实施例中,在步骤S110之前,图1所示的方法还可以包括步骤S102,服务器接收初始升级文件。该初始升级文件是通过在目标升级文件中添加附加信息得到的。服务器可以从开发环境中接收初始升级文件。初始升级文件可以是操作人员从开发环境中上传至服务器的。
在步骤S130,网关设备删除初始升级文件中的附加信息,得到目标升级文件。
在下载得到初始升级文件之后,由于附加信息不会被用于目标节点升级,则网关设备可以将初始升级文件中的附加信息进行删除,得到目标升级文件。该目标升级文件可以为上文描述的bin文件。也就是说,初始升级文件不是可执行文件,而目标升级文件是可执行文件。
在步骤S140,网关设备利用该节点的身份信息,对目标升级文件与目标节点进行匹配性判断。
节点的身份信息可以包括以下中的一种或多种:节点的标识、节点的名称、节点对应的供应商信息、节点对应的设备信息。节点对应的供应商信息可以包括节点对应的供应商标识和/或节点对应的供应商名称。节点对应的设备信息可以包括节点对应的设备名称和/或节点对应的设备标识。
在步骤S150,网关设备在目标升级文件与目标节点匹配的情况下,利用目标升级文件对目标节点进行升级。
由前文可知,节点的身份信息中涉及的节点是与目标升级文件匹配的,如果节点的身份信息与目标节点匹配,则表示该目标节点也是与目标升级文件匹配的,该目标升级文件可用于对目标节点进行升级。在该情况下,网关设备可利用目标升级文件对目标节点进行升级。如果节点的身份信息与目标节点不匹配,则表示目标节点与目标升级文件不匹配,该目标升级文件不能用于对目标节点进行升级。在该情况下,网关设备可以不对目标节点进行升级。
通过对目标节点与目标升级文件进行匹配性判断,可以避免在目标升级文件与目标节点不匹配的情况下,利用目标升级文件对目标节点进行升级,导致目标节点直接变砖的问题,有利于提高目标节点的升级效率以及降低维护成本。
在一些实施例中,网关设备在对目标节点进行升级之前,还可以获取目标节点的当前状态,以判断目标节点是否符合升级条件。是否符合升级条件可以根据目标节点是否处于空闲状态进行判断。例如,如果目标节点处于空闲状态,则表示目标节点符合升级条件,可以对目标节点进行升级。如果目标节点处于非空闲状态,如正在执行其他任务,则表示目标节点不符合升级条件,可以先不用对目标节点进行升级,可以在之后目标节点空闲时,再对目标节点进行升级。
当然,在一些实施例中,网关设备也可以在下载初始升级文件之前,就对目标节点的状态进行判断。在目标节点符合升级条件的情况下,才下载初始升级文件,而在目标节点不符合升级条件的情况下,不下载初始升级文件,从而可以避免网关设备中存储的升级文件过多,对网关设备的性能产生影响。
本申请实施例对附加信息在初始升级文件中的位置不做具体限定。该附加信息可以位于初始升级文件中的任意位置。例如,该附件信息可以位于初始升级文件的头部,也可以位于初始升级文件的尾部,也可以位于初始升级文件的中间任意位置。
下面对通过文件处理工具在目标升级文件中添加附加信息的过程进行介绍。
文件处理工具的主要功能是在得到开发环境(如IAR、KEIL、CAMKE等)的后处理接口调用后读取编译生成的目标升级文件。文件处理工具可以基于目标升级文件,生成附加信息,并将该附加信息添加在目标升级文件中,得到初始升级文件。
在一些实施例中,文件处理工具可以新创建一个空文件,并在该新文件中添加附加信息,并将目标升级文件拷贝至该新文件中,得到初始升级文件。如果附加信息位于初始升级文件的头部,则文件处理工具可以先将附加信息添加至新文件中,并将目标升级文件拷贝追加至新文件的尾部保存;如果附加信息位于初始升级文件的尾部,则文件处理工具可以先将目标升级文件拷贝至新文件中,然后将附加信息添加在新文件的尾部。
举例说明,文件处理工具在得到开发环境的后处理接口的调用后,读取编译生成的bin文件,并根据该bin文件生成附加信息。文件处理工具可以创建新的空文件,命名为bin文件名+_header.bin。
例如,如果原始bin文件的文件名为demo.bin,则文件处理工具创建的文件名可以为demo_header.bin。
这种通过文件处理工具自动生成文件的方式,在各节点软件工程建立之初设定完成之后就不再进行修改。与手动操作生成demo_header.bin的方式不同,这种方式可以避免人为操作生成出错的附加信息,能够进一步提高bin文件附加信息与目标节点匹配的准确性。
网关设备在从服务器下载升级文件时,可以先下载升级文件的头部信息。如果附加信息位于升级文件的头部,则网关设备可以直接从头部信息中获取附加信息(如与升级文件对应的节点的身份信息)。在目标升级文件与目标节点匹配的情况下,再继续下载升级文件的剩余部分。这样可以避免网关设备在下载完升级文件的全部内容后,才能获知目标升级文件与目标节点的匹配结果的问题,本申请实施例的方案可以在目标升级文件与目标节点不匹配的情况下,可以不用继续下载初始升级文件的剩余部分,从而可以避免资源的浪费,降低开销。
在一些实施例中,在目标升级文件与目标节点不匹配的情况下,网关设备可以停止对目标节点进行升级。
在一些实施例中,在目标升级文件与目标节点不匹配的情况下,网关设备还可以向服务器发送反馈信息,该反馈信息可用于反馈目标升级文件与目标节点不匹配。通过向服务器反馈目标升级文件与目标节点的匹配性结果,使得服务器可以及时了解目标升级文件是否合适,以便于及时解决升级过程中存在的问题,为下一次升级做好准备。
例如,如果服务器接收到目标升级文件与目标节点不匹配的反馈,则服务器可以向升级人员反馈目标升级文件与目标节点不匹配的问题,升级人员可以对目标升级文件和/或目标节点进行修改,使得修改之后的目标升级文件和目标节点相匹配。
在一些实施例中,如果目标升级文件与目标节点匹配,网关设备也可以向服务器发送反馈信息,以反馈目标升级文件与目标节点匹配。
在一些实施例中,附加信息还可以包括目标升级文件的循环冗余校验(cyclicredundancy check,CRC)校验信息。该CRC校验信息可用于对目标升级文件的完整性进行校验。
网关设备在对加密的升级文件解密完成之后,可以计算解密后的升级文件的CRC校验信息。进一步地,网关设备还可以将附加信息中的CRC校验信息与计算得到的CRC校验信息进行对比,以判断附加信息中的CRC校验信息与计算得到的CRC校验信息是否一致。在附加信息中的CRC校验信息与计算得到的CRC校验信息一致的情况下,利用目标升级文件对目标节点进行升级。通过对CRC校验信息进行比对,还可有效判断加密文件是否解密成功。如果加密文件没有解密成功,则附加信息中的CRC校验信息与计算得到的CRC校验信息不一致。
在一些实施例中,CRC校验信息一致可以理解为附加信息中的CRC校验值与计算得到的CRC校验值相等;CRC校验信息不一致可以理解为附加信息中的CRC校验值与计算得到的CRC校验值不相等。
在一些实施例中,网关设备可以在目标升级文件与目标节点匹配,且附加信息中的CRC校验信息与计算得到的CRC校验信息一致的情况下,再利用目标升级文件对目标节点进行升级,从而可以避免使用不匹配的升级文件对目标节点进行升级,导致目标节点变砖的问题。
附加信息中的CRC校验信息也可以通过文件处理工具生成。文件处理工具在获取目标升级文件后,可以计算文件的CRC值。
在一些实施例中,附加信息可以包括以下中的一种或多种:供应商代号、文件长度信息、CRC校验信息、文件版本号、节点名称。附加信息中的节点名称和CRC校验信息在上文已经进行了详细介绍,此处不再赘述。下面对剩余的其他信息进行介绍。
供应商代号也可用于对升级文件和目标节点进行匹配性判断。供应商代号可以在出厂前就固化在了网关设备内部的非易失性存储器中。如前文所述,同一型号的设备可以由不同的供应商进行供应,也就是说,会存在一种情况,设备类型相同,且设备中的节点也相同,但是由于供应商不同,导致升级文件不能对目标节点进行升级。为了避免这种情况,本申请实施例可以在升级文件中添加供应商代号信息,以对目标节点的供应商进行匹配性判断。也就是说,本申请实施例不仅可以对目标节点与目标升级文件进行匹配性判断,还可以对目标升级文件对应的供应商与目标节点对应的供应商进行匹配性判断,从而可以避免同一供应商、同类设备中的不同设备之间,或不同类设备之间或同一设备中的不同节点之间的升级文件的发生混淆的问题。
文件长度信息也可用于对升级文件的完整性进行校验,如果下载得到的升级文件的长度与附加信息中携带的文件长度不一致,则表示升级文件遭到破坏,不能用于目标节点的升级。
文件版本号可用于对目标升级文件的版本进行核验。如果文件版本号与目标节点期望的版本号不一致,则目标升级文件不能用于目标节点的升级。
在一些实施例中,附加信息中还可以包括保留(reserved)信息,该保留信息可用于添加文件的其他相关信息。
本申请实施例对附加信息中各个信息所占用的字节数不做具体限定。该字节数可以根据实际需要灵活选择。举例说明,以附加信息所占用的总字节为32字节(bytes)为例,供应商代号可以占用4个字节,文件长度信息可以占用4个字节,CRC校验信息可以占用4个字节,文件版本号可以占用4个字节,保留信息可以占用4个字节。
网关设备在得到目标节点的升级指令后,可以记录升级指令中的目标节点、文件版本号、文件长度、供应商代号、文件下载路径等。在目标节点符合升级条件的情况下,下载升级文件的头部,例如头部的128字节的内容,并进行解密。解密密钥一机一密,解密密钥在出厂时就固化在了MCU易失式性存储器中。解密完成后提取文件的前32字节内容,与上文所说的目标节点、文件版本号、文件长度、供应商代号等信息进行比对,比对成功后再继续下载剩余的文件内容。比对失败,则可以向服务器反馈失败类型,如头部信息中的节点名称与升级指令中的目标节点不一致,或头部信息中的文件版本号与升级指令中的文件版本号不一致,或头部信息中的供应商代号与升级指令中的供应商代号不一致,或头部信息中的文件长度与升级指令中的文件长度不一致等。
图2示出的是初始升级文件的生成流程。
参见图2,在步骤S210,升级目标软件工程可以通过编译函数和链接函数生成可执行bin文件。
在步骤S220,利用编译工具后处理接口调用文件处理工具,在bin文件中添加附加信息,得到升级bin文件。该升级bin文件即为前文描述的初始升级文件。
在步骤S230,在接收到升级bin文件和/或目标节点升级的需求后,升级人员可以对目标节点进行升级。
图3示出了从初始升级文件获取到网关设备下载初始升级文件的整个流程。
参见图3,在步骤S310,升级人员确认目标节点以及初始升级文件,并将初始升级文件上传至服务器。
在步骤S320,服务器向升级人员发送反馈信息。该反馈信息可以是针对文件上传情况的反馈。该反馈信息例如可以包括文件传输成功的信息和/或文件加密完成的信息。
在步骤S330,升级人员新建升级任务,选取加密完成后的升级包,即加密文件,并启动对目标节点的升级任务。
在步骤S340,服务器接收到升级人员发起的升级任务后,可以向网关设备发送升级指令。该升级指令中可以包括以下信息中的一种或多种:文件下载路径、目标节点、当前版本、目标版本号等。
在步骤S350,网关设备判断目标节点的当前状态是否符合升级条件。
如果目标节点的当前状态符合升级条件,则可以开始下载升级文件。
在步骤S360,网关设备可以从服务器下载加密文件。网关设备在下载加密文件时,可以采用分包下载的方式。
在步骤S370,网关设备可以先下载加密文件的头部信息,并对该头部信息进行解密,得到头部信息中的供应商代号、目标节点、CRC值等信息,并与升级指令中的信息进行比对。
在步骤S380,网关设备可以根据比对结果,向服务器发送反馈信息,以反馈升级文件的合法性信息。
另外,网关设备还可以根据比对结果,确定是否继续下载剩余的升级文件。如果比对结果为升级文件合法,则网关设备可以继续下载剩余的升级文件;如果比对结果为升级文件不合法,则网关设备可以不下载剩余的升级文件。
在步骤S390,服务器根据服务器发送的反馈信息,向升级人员反馈文件的有效性。
图4示出的是从文件获取、校验目标节点到文件有效性校验完成的大致流程。图5所示的方法可以由网关设备来执行。图4是以网关设备以512字节为粒度进行分包下载为例进行描述。当然,网关设备也可以其他字节为粒度来进行分包下载,本申请实施例对此不做具体限定。
在步骤S402,判断目标节点是否符合升级条件。如果目标节点符合升级条件,则继续执行步骤S404。
在步骤S404,获取512字节的文件内容。该文件内容可以为升级文件的头部信息。该文件内容可以包括上文描述的附加信息。
在步骤S406,对文件内容进行解密,得到解密后的附加信息。该解密方式可以为AES解密。
在步骤S408,利用附加信息对目标节点进行校验,确定目标节点是否校验成功。如判断目标节点与升级文件是否匹配。
如果目标节点校验成功,则继续执行步骤S410;如果目标节点校验失败,则结束升级流程。
在步骤S410,偏移量自增512字节,再获取之后的512字节的文件内容。在获取文件内容之后,可以对文件内容进行解密。
在步骤S412,判断是否为最后一包密文。如果不是最后一包密文,则重复步骤S410;如果是最后一包密文,则继续执行步骤S414。
在步骤S414,明文存储下载得到的文件。该文件为删除附加信息之后得到的文件。
在步骤S416,删除下载得到的文件的附加信息,并计算剩余的文件信息的CRC值。如果附加信息为32字节,则可以从文件的头部32字节之后开始,计算文件信息的CRC值。
在步骤S418,判断计算得到的CRC值与头部信息中的CRC值是否一致。
如果计算得到的CRC值与头部信息中的CRC值一致,则继续执行步骤S420;如果计算得到的CRC值与头部信息中的CRC值不一致,则结束升级流程。
在步骤S420,对目标节点进行升级,如可以对目标节点进行诊断刷写或内部flash刷写。
需要说明的是,本申请实施例中的步骤编号的带下并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。例如,以图1为例,步骤S130和步骤S140的执行顺序并不限定。在一些实现方式中,可以先执行步骤S130,再执行步骤S140。在另一些实现方式中,可以先执行步骤S140,再执行步骤S130。
上文结合图1至图4,详细描述了本申请的方法实施例,下面结合图5至图6,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5是本申请实施例提供的一种网关设备的结构示意图。该网关设备500可以包括处理器510、存储器520以及计算机程序530。
其中,计算机程序530存储在存储器520上,当计算机程序530被处理器510执行时,使得网关设备500执行以下操作:从服务器接收升级指令,所述升级指令用于对目标节点进行升级;响应于所述升级指令,从所述服务器下载初始升级文件,所述初始升级文件是通过文件处理工具在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;删除所述初始升级文件中的所述附加信息,得到所述目标升级文件;利用所述节点的身份信息,对所述目标升级文件和所述目标节点进行匹配性判断;在所述目标升级文件与所述目标节点匹配的情况下,利用所述目标升级文件对所述目标节点进行升级。
在一些实施例中,所述附加信息位于所述初始升级文件的头部,所述从所述服务器下载初始升级文件,包括:从所述服务器下载所述初始升级文件的头部信息;从所述头部信息中获取所述节点的身份信息;在所述目标升级文件与所述目标节点匹配的情况下,继续下载所述初始升级文件的剩余部分。
在一些实施例中,所述网关设备还执行以下操作:在所述目标升级文件与所述目标节点不匹配的情况下,向所述服务器发送反馈信息,所述反馈信息用于反馈所述目标升级文件与所述目标节点不匹配。
在一些实施例中,所述升级指令中包括文件下载路径,所述从所述服务器下载初始升级文件,包括:根据所述文件下载路径,从所述服务器下载加密的升级文件;对所述加密的升级文件进行解密,得到所述初始升级文件。
在一些实施例中,所述附加信息还包括所述目标升级文件的CRC校验信息,所述网关设备还执行以下操作:在对所述加密的升级文件解密完成后,计算解密后的升级文件的CRC校验信息;将所述附加信息中的CRC校验信息与计算得到的CRC校验信息进行对比,以判断所述附加信息中的CRC校验信息与计算得到的CRC校验信息是否一致;所述利用所述目标升级文件对所述目标节点进行升级,包括:在所述附加信息中的CRC校验信息与计算得到的CRC校验信息一致的情况下,利用所述目标升级文件对所述目标节点进行升级。
在一些实施例中,所述附加信息包括以下中的一种或多种:供应商代号、文件长度信息、CRC校验信息、文件版本号、节点名称。
图6是本申请实施例提供的一种服务器的结构示意图。该服务器600可以包括处理器610、存储器620以及计算机程序630。
其中,计算机程序630存储在存储器620上,当计算机程序630被处理器610执行时,使得服务器600执行以下操作:接收初始升级文件,所述初始升级文件是通过在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;向网关设备发送升级指令,所述升级指令用于对目标节点进行升级;向所述网关设备发送所述初始升级文件,所述初始升级文件中的所述节点的身份信息用于对所述目标升级文件和所述目标节点进行匹配性判断;其中,在所述目标升级文件和所述目标节点匹配的情况下,所述目标升级文件用于对所述目标节点进行升级。
在一些实施例中,所述附加信息位于所述初始升级文件的头部,所述向所述网关设备发送所述初始升级文件,包括:向所述网关设备发送所述初始升级文件的头部信息,所述头部信息用于获取所述节点的身份信息;在所述目标升级文件与所述目标节点匹配的情况下,向所述网关设备发送所述初始升级文件的剩余部分。
图7是本申请实施例提供的一种计算机程序产品的示意图。该计算机程序产品700可以包括计算机程序/指令710,当所述计算机程序/指令710被处理器执行时能够实现本申请实施例所述的任意一种方法。
本申请实施例还提供一种计算机可读存储介质。该计算机可读存储介质可以包括计算机程序/指令,当所述计算机程序/指令被处理器执行时能够实现本申请实施例所述的任意一种方法。
本申请中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、操作维护管理(operation administrationand maintenance,OAM)或者其它可编程装置。
所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。
上文所描述的各个方案可以单独实施,也可以相互结合实施,本申请实施例对此不做具体限定。
在本申请实施例中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
本申请实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
在本申请的描述中,需要理解的是,术语“上”、“下”、“左”、“右”等指示方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以及特定的方位构造和操作,因此,不能理解为对本申请的限制。此外,“第一”、“第二”仅由于描述目的,且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种对节点进行升级的方法,其特征在于,所述方法应用于网关设备,所述方法包括:
从服务器接收升级指令,所述升级指令用于对目标节点进行升级,所述目标节点为所述升级指令中指定的节点;
响应于所述升级指令,从所述服务器下载初始升级文件,所述初始升级文件是通过在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;
删除所述初始升级文件中的所述附加信息,得到所述目标升级文件;
利用所述节点的身份信息,对所述目标升级文件和所述目标节点进行匹配性判断;
在所述目标升级文件与所述目标节点匹配的情况下,利用所述目标升级文件对所述目标节点进行升级;
其中,所述附加信息位于所述初始升级文件的头部,所述从所述服务器下载初始升级文件,包括:
从所述服务器下载所述初始升级文件的头部信息;
从所述头部信息中获取所述节点的身份信息;
在所述目标升级文件与所述目标节点匹配的情况下,继续下载所述初始升级文件的剩余部分;
所述方法还包括:
在所述目标升级文件与所述目标节点不匹配的情况下,停止下载所述初始升级文件的剩余部分。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标升级文件与所述目标节点不匹配的情况下,向所述服务器发送反馈信息,所述反馈信息用于反馈所述目标升级文件与所述目标节点不匹配。
3.根据权利要求1或2所述的方法,其特征在于,所述升级指令中包括文件下载路径,所述从所述服务器下载初始升级文件,包括:
根据所述文件下载路径,从所述服务器下载加密的升级文件;
对所述加密的升级文件进行解密,得到所述初始升级文件。
4.根据权利要求3所述的方法,其特征在于,所述附加信息还包括所述目标升级文件的循环冗余校验CRC校验信息,所述方法还包括:
在对所述加密的升级文件解密完成后,计算解密后的升级文件的CRC校验信息;
将所述附加信息中的CRC校验信息与计算得到的CRC校验信息进行对比,以判断所述附加信息中的CRC校验信息与计算得到的CRC校验信息是否一致;
所述利用所述目标升级文件对所述目标节点进行升级,包括:
在所述附加信息中的CRC校验信息与计算得到的CRC校验信息一致的情况下,利用所述目标升级文件对所述目标节点进行升级。
5.根据权利要求1或2所述的方法,其特征在于,所述附加信息包括以下中的一种或多种:供应商代号、文件长度信息、CRC校验信息、文件版本号、节点名称。
6.一种对节点进行升级的方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收初始升级文件,所述初始升级文件是通过在目标升级文件中添加附加信息得到的,所述附加信息包括与所述目标升级文件对应的节点的身份信息;
向网关设备发送升级指令,所述升级指令用于对目标节点进行升级,所述目标节点为所述升级指令中指定的节点;
向所述网关设备发送所述初始升级文件,所述初始升级文件中的所述节点的身份信息用于对所述目标升级文件和所述目标节点进行匹配性判断;
其中,在所述目标升级文件和所述目标节点匹配的情况下,所述目标升级文件用于对所述目标节点进行升级;
其中,所述附加信息位于所述初始升级文件的头部,所述向所述网关设备发送所述初始升级文件,包括:
向所述网关设备发送所述初始升级文件的头部信息,所述头部信息用于获取所述节点的身份信息;
在所述目标升级文件与所述目标节点匹配的情况下,向所述网关设备发送所述初始升级文件的剩余部分;
所述方法还包括:
在所述目标升级文件与所述目标节点不匹配的情况下,停止向所述网关设备发送所述初始升级文件的剩余部分。
7.一种网关设备,其特征在于,包括:处理器,存储器以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述网关设备执行如权利要求1-5中任一项所述的方法。
8.一种服务器,其特征在于,包括:处理器,存储器以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所述处理器执行时,使得所述服务器执行如权利要求6所述的方法。
9.一种计算机可读存储介质,其特征在于,包括:计算机程序/指令,当所述计算机程序/指令被处理器执行时实现如权利要求1-5或6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310265626.4A CN115987976B (zh) | 2023-03-20 | 2023-03-20 | 对节点进行升级的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310265626.4A CN115987976B (zh) | 2023-03-20 | 2023-03-20 | 对节点进行升级的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115987976A CN115987976A (zh) | 2023-04-18 |
CN115987976B true CN115987976B (zh) | 2023-06-13 |
Family
ID=85968566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310265626.4A Active CN115987976B (zh) | 2023-03-20 | 2023-03-20 | 对节点进行升级的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987976B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259231A (zh) * | 2017-12-27 | 2018-07-06 | 生迪智慧科技有限公司 | 智能设备的软件升级方法、网关、服务器及系统 |
CN114296751A (zh) * | 2021-11-17 | 2022-04-08 | 三维通信股份有限公司 | 程序升级方法、装置和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI3769493T3 (fi) * | 2018-03-23 | 2023-02-22 | Signify Holding Bv | Menetelmä ja laitteet langattoman siirtotien, ota, päivityksen suorittamiseksi viestinnällisesti yhdistettyjen laitteiden verkossa |
CN111176685A (zh) * | 2019-12-27 | 2020-05-19 | 深圳市优必选科技股份有限公司 | 一种升级方法及装置 |
CN113342371B (zh) * | 2021-05-31 | 2022-07-26 | 招商蛇口数字城市科技有限公司 | 物联网设备升级系统 |
CN113721966B (zh) * | 2021-08-27 | 2024-03-29 | 杭州华橙软件技术有限公司 | 节点升级方法、装置、存储介质及电子装置 |
CN114978904A (zh) * | 2022-05-24 | 2022-08-30 | 西安特来电领充新能源科技有限公司 | 远程固件升级方法、系统、装置、嵌入式设备及存储介质 |
-
2023
- 2023-03-20 CN CN202310265626.4A patent/CN115987976B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259231A (zh) * | 2017-12-27 | 2018-07-06 | 生迪智慧科技有限公司 | 智能设备的软件升级方法、网关、服务器及系统 |
CN114296751A (zh) * | 2021-11-17 | 2022-04-08 | 三维通信股份有限公司 | 程序升级方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115987976A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6678548B2 (ja) | 中継装置、中継方法およびプログラム | |
US10437680B2 (en) | Relay apparatus, relay method, and computer program product | |
CN101877723B (zh) | 无线传感器网络节点远程升级系统、方法及设备 | |
KR20210151926A (ko) | 블록체인을 사용한 버전 이력 관리 | |
CN111327454A (zh) | 文件升级方法、装置、计算机设备和存储介质 | |
WO2017049550A1 (zh) | 适配器和适配器升级的方法 | |
CN112970020A (zh) | 使用分布式账本监视设备部件 | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
US20170293481A1 (en) | Updating Software Packets in Water Installation Controlling Apparatus | |
WO2022142153A1 (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN110855746A (zh) | 中间件管理方法、电子装置及存储介质 | |
US11876676B2 (en) | Network node firmware update | |
CN109743349B (zh) | 基于轨道交通的文件管理方法、系统及其设备 | |
CN109002312A (zh) | 软件升级方法、装置及升级服务器和设备 | |
WO2016026329A1 (zh) | 终端的升级方法及装置 | |
WO2017124736A1 (zh) | 一种升级异常信息的传输方法、设备和系统 | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
CN107844305A (zh) | 嵌入式设备的软件升级方法及嵌入式设备 | |
JP2003242054A (ja) | サーバ装置、通信機器、通信機器設定情報管理方法、プログラム及び記録媒体 | |
CN108920171A (zh) | 固件更新方法及装置、电子设备 | |
US20210373873A1 (en) | Manifest and payload delivery | |
CN115987976B (zh) | 对节点进行升级的方法及设备 | |
CN109189403B (zh) | 操作系统os批量安装方法、装置和网络设备 | |
CN114489711A (zh) | 终端升级方法、装置及存储介质 | |
CN109936609B (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 |