CN115174389A - 一种升级方法、装置、设备及可读存储介质 - Google Patents
一种升级方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115174389A CN115174389A CN202210794216.4A CN202210794216A CN115174389A CN 115174389 A CN115174389 A CN 115174389A CN 202210794216 A CN202210794216 A CN 202210794216A CN 115174389 A CN115174389 A CN 115174389A
- Authority
- CN
- China
- Prior art keywords
- firmware
- proxy server
- upgrading
- server node
- package
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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
-
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种升级方法、装置、设备及可读存储介质,其中,该方法包括:与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定;接收代理服务器节点推送的由发布者发布、与固件升级主题对应的固件升级包信息,对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;当根据固件升级包版本信息确定进行固件升级时,根据URL下载固件升级包,并进行重启,以完成固件升级。本申请公开的上述技术方案,实现批量智能物联设备中固件的自动升级,无需用户参与,以提高批量智能物联设备固件升级的效率,并降低批量智能物联设备固件升级所耗费的人力成本。
Description
技术领域
本申请涉及设备升级技术领域,更具体地说,涉及一种升级方法、装置、设备及可读存储介质。
背景技术
作为供应链企业的碳排放数据采集的智能物联终端设备,可直接测量多种指标,如用水量、用电量、气体排放量等。该种设备在大批量使用过程中,新的功能需求源源不断的迭代,那么对于大批量智能物联设备的固件升级将是一个挑战。
目前,行业内对于大批量智能物联设备的固件升级有如下两种技术方案:一种是智能物联设备的用户通过智能物联设备厂商提供的最新的固定升级文件,将其下载到本地,再通过智能终端本身的USB(Universal Serial Bus,通用串行总线)或串口等外设接口写入内置可信存储空间进行固件升级。另一种是智能物联设备的生产厂商派遣相关技术人员进行线下升级方法,将最新的固件文件,通过外置接口烧写入flash(闪存)中,重启设备,完成升级。但是,现有升级方式针对大批量智能物联设备无法实现高效的固件升级。
综上所述,如何对大批量智能物联设备进行高效的固件升级,是目前本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的是提供一种升级方法、装置、设备及可读存储介质,用于对大批量智能物联设备进行高效的固件升级。
为了实现上述目的,本申请提供如下技术方案:
一种升级方法,应用于智能物联设备,包括:
与代理服务器节点进行连接,向所述代理服务器节点推送订阅固件升级主题的消息,以与所述代理服务器进行绑定;
接收所述代理服务器节点推送的由发布者发布、与所述固件升级主题对应的固件升级包信息,对所述固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;
当根据所述固件升级包版本信息确定进行固件升级时,根据所述URL下载所述固件升级包,并进行重启,以完成固件升级。
优选的,还包括:
在所述智能物联设备出厂时,接收写入到flash中预先配置的第一分区的共有功能程序及写入到所述flash中预先配置的第二分区的私有信息;
在所述智能物联设备上线后,从所述第二分区的私有信息中获取身份标识信息,计算所述身份标识信息的哈希值,并将所述哈希值发送到区块链。
优选的,根据所述URL下载所述固件升级包,包括:
根据所述URL将所述固件升级包下载到flash中与所述固件升级包对应的分区中,并记录所述固件升级包存放的地址。
优选的,根据所述URL下载所述固件升级包,包括:
根据所述URL,以固定大小的数据包分批次下载所述固件升级包。
优选的,在以固定大小的数据包分批次下载所述固件升级包之后,还包括:
对所述固件升级包进行完整性验证;
若所述固件升级包不完整,则重新执行所述根据所述URL,以固定大小的数据包分批次下载所述固件升级包的步骤。
优选的,向所述代理服务器节点推送订阅固件升级主题的消息,以与所述代理服务器进行绑定,包括:
向所述代理服务器节点推送订阅固件升级主题的消息,由所述代理服务器节点对所述消息进行验证,并在验证未通过后返回绑定未成功的消息;
接收所述代理服务器节点返回的绑定未成功的消息,进行重启,并进行初始化配置在初始化配置成功后与所述代理服务器节点进行连接,向所述代理服务器节点推送订阅固件升级主题的消息,直至与所述代理服务器节点绑定成功。
优选的,还包括:
接收所述代理服务器节点返回的绑定成功的消息,并输出与所述代理服务器节点绑定成功的消息。
一种升级装置,应用于智能物联设备,包括:
连接绑定模块,用于与代理服务器节点进行连接,向所述代理服务器节点推送订阅固件升级主题的消息,以与所述代理服务器进行绑定;
第一接收模块,用于接收所述代理服务器节点推送的由发布者发布、与所述固件升级主题对应的固件升级包信息,对所述固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;
下载模块,用于当根据所述固件升级包版本信息确定进行固件升级时,根据所述URL下载所述固件升级包,并进行重启,以完成固件升级。
一种升级设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的升级方法的步骤。
一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的升级方法的步骤。
本申请提供了一种升级方法、装置、设备及可读存储介质,其中,该方法包括:与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定;接收代理服务器节点推送的由发布者发布、与固件升级主题对应的固件升级包信息,对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;当根据固件升级包版本信息确定进行固件升级时,根据URL下载固件升级包,并进行重启,以完成固件升级。
本申请公开的上述技术方案,智能物联设备与代理服务器节点进行连接,然后,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器节点进行绑定,从而监听代理服务器节点固件升级的主题消息。当代理服务器节点接收到发布者发布且与固件升级主题对应的固件升级包信息时,则将该固件升级包信息推送给与其绑定的智能物联设备,然后,智能物联设备对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL,并在根据固件升级包版本信息确定进行固件升级时,则根据固件升级包存储的URL下载固件升级包,然后,进行重启,以完成智能物联设备的固件升级。通过上述方式实现智能物联设备中固件的自动升级,无需用户参与,以提高升级效率,且可通过上述方式使得批量的智能物联设备与同一代理服务器节点进行绑定,以同时监听同一代理服务器节点固件升级的主题消息,从而完成批量智能物联设备中固件的自动升级,以实现批量智能物联设备固件升级的高效性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种升级方法的流程图;
图2为本申请实施例提供的另一种升级方法的流程图;
图3为本申请实施例提供的又一种升级方法的流程图;
图4为本申请实施例提供的智能物联设备出厂时在内部可信存储空间中写入设备信息的流程图;
图5为本申请实施例提供的一种升级装置的结构示意图;
图6为本申请实施例提供的一种升级装置的结构示意图。
具体实施方式
本申请的核心是提供一种升级方法、装置、设备及可读存储介质,用于对大批量智能物联设备进行高效的固件升级。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1至图3,其中,图1示出了本申请实施例提供的一种升级方法的流程图,图2示出了本申请实施例提供的另一种升级方法的流程图,图3示出了本申请实施例提供的又一种升级方法的流程图。本申请实施例提供的一种升级方法,应用于智能物联设备,可以包括:
S11:与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定。
首先,需要说明的是,本申请所提供的智能物联设备具体可以为物联网碳足迹设备采集器,当然,也可以为其他的智能物联设备。且本申请具体可以应用于批量的智能物联设备(即智能物联设备的数量可以为多个)中的各智能物联设备,本申请对所应用于的智能物联设备的具体数量不做限定。
在智能物联设备进行升级时,智能物联设备可以先进行上电,并进行初始化配置,自动连接运营商基站的网络(即联网上线),自动同步时间。若初始化配置不成功,则进行自动重启,尝试新一轮的初始化配置操作;若初始化配置成功,则可以与代理服务器节点进行连接,以便于智能物联设备能够在上电后尽早且及时地订阅固件升级主题等。
需要说明的是,本申请所提及的代理服务器节点具体可以为MQTT(MessageQueuing Telemetry Transport,消息队列遥测传输)代理服务器节点,且智能物联设备具体可以使用MQTT协议连接MQTT代理服务器节点,以便于简单、便捷地实现订阅固件升级主题的功能。其中,MQTT是一个基于TCP(Transmission Control Protocol,传输控制协议)的发布/订阅协议,非常适合物联网通信,该协议可以提供一对多的消息发布。
其中,智能物联设备与代理服务器节点进行连接的具体过程可以为:智能物联设备尝试连接代理服务器节点,需要自动配置并获取代理服务器节点公网IP(InternetProtocol,互联网协议)、Base64(一种基于64个可打印字符来表示二进制数据的方法)签名信息、user_name(用户名)、password(密码)信息,并加上时间戳信息,代理服务器节点验证通过后(具体基于智能物联设备所携带的前述信息进行是否合法登录的验证)登录连接,从而使得智能物联设备与代理服务器节点进行连接。需要说明的是,“公网IP”这个数据信息是写在程序代码中的,时间戳信息是由代码中获取的,“user_name、password信息”均封装为JSON(JavaScript Object Notation,一种轻量级的数据交换格式)数据格式,该数据中的值封装为:{数据}-{时间戳},其中,数据经过加密算法处理,其加密原理即代理服务器节点和智能物联设备交换密钥,设备端(即智能物联设备)对需发送的数据经过公钥加密,得到上述数据值,之后使用私钥生成64位数字签名信息(Base64签名信息)。智能物联设备在连接代理服务器节点时需要公网IP、Base64签名信息、user_name、password、时间戳信息这些信息才能登录并建立连接。
在上述提及的进行连接的具体过程中,智能物联设备尝试连接代理服务器节点(以代理服务器节点具体为MQTT代理服务器节点为例),是通过发送AT指令(是应用于终端设备与PC应用之间的连接与通信的指令),分为两步:1)创建TCP连接:AT+CMQNEW=“公网IP地址”,“端口号”,12000,1024;2)发送MQTT连接请求:AT+CMQCON=0,3,“client_id”,600,1,0,“user_name”,“password”。通过程序将写在代码中的MQTT代理服务器节点公网IP、user_name、password信息提取并写入到以上AT指令中相应位置。对于加上时间戳信息而言,程序中含有读取时间的函数,自动获取时间信息,例如:智能物联设备尝试连接登录MQTT代理服务器节点了,程序会获取一下当前的时间信息。另外,在智能物联设备尝试连接登录MQTT代理服务器节点的时候,是通过发送消息形式,为了在消息发送出去之后的安全传输,会将上述user_name、password进行加密处理,user_name通过加密算法获得字符串之后,会在后面加上时间戳信息,生成一个JSON格式的数据;password是由user_name字符串使用另一种加密算法,然后生成64位的签名信息(Base64签名信息),再加上“Base64:”字样(即password=“Base64:”+Base64签名信息);最后,将上述user_name、password信息填写入AT指令中的位置,发送出去。MQTT代理服务器节点接收到这个消息(AT指令)之后,会进行消息处理,把这个消息中的数据(user_name、password信息)提取出来,通过解密算法,最终获得想要的内容,然后验证是否合法登录MQTT代理服务器节点,验证通过后即智能物联设备和MQTT代理服务器节点建立了连接。
在智能物联设备与代理服务器节点进行连接之后,智能物联设备则推送订阅固件升级主题的消息至代理服务器节点,以与代理服务器节点的绑定,从而实现向代理服务器节点订阅固件升级主题,且使得智能物联设备可以一直监听固件升级主题的消息。
通过上述方式可以使得批量的智能物联设备自动与代理服务器节点进行连接,并自动向代理服务器节点推送订阅固件升级主题的消息,以同时监听固件升级主题的消息,从而便于批量的智能物联设备同时触发升级程序。
S12:接收代理服务器节点推送的由发布者发布、与固件升级主题对应的固件升级包信息,对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL。
在本申请中,智能物联设备的固件升级触发来自于发布者,其中,发布者具体可以为云存储服务平台,且图3中均以发布者具体为云存储服务平台为例进行示意。当在发布者上上传更新的固件升级包时,则发布者将会推送给代理服务器节点消息,该消息主要包含更新的固件升级包信息,且该固件升级包信息主要包括固件升级包版本信息以及固件升级包存储的URL(Universal Resource Locator,统一资源定位符,又叫做网页地址,是互联网上标准的资源的地址)。代理服务器节点接收到此类消息,将这个消息丢到固件升级主题中,然后,将这个固件升级主题推送出去(即将接收到的消息推送出去),以使得处于联网上线且与代理服务器节点相绑定的智能物联设备监听到固件升级主题发送过来的消息,也即智能物联设备可以接收代理服务器节点推送的由发布者发布且与订阅的固件升级主题对应的固件升级信息。通过该过程可以使得批量的智能物联设备同时接收到代理服务器节点推送的固件升级包信息,并可同时响应升级操作。
智能物联设备在接收到代理服务器节点推送的由发布者发布且与订阅的固件升级主题对应的固件升级包信息之后,自动对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL。
S13:当根据固件升级包版本信息确定进行固件升级时,根据URL下载固件升级包,并进行重启,以完成固件升级。
智能物联设备在解析得到固件升级包信息之后,可以自动对比分析解析得到的固件升级包版本信息是否与当前运行的固件包版本信息一致。如果解析得到的固件升级包版本信息与当前运行的固件包版本信息一致,则确定不进行固件升级,此时,将不发送固件升级包下载请求;如果解析得到的固件升级包版本信息与当前运行的固件包版本信息不一致,则触发OTA(Over-the-Air Technology,空间下载技术)升级的程序。在此种情况下,智能物联设备则根据升级需求,向解析得到的固件升级包存储的URL发送固件升级包下载请求,并通过OTA技术进行固件升级包的下载,也即可以根据固件升级包所存储的URL通过OTA技术下载固件升级包,并在下载完固件升级包之后自动进行重启,以完成OTA固件升级。
需要说明的是,本申请所提供的升级方法可用于与区块链互联,以利用区块链对整个升级过程进行记录,也即可以将整个升级过程进行上链。其中,图2描述了某供应链企业批量智能物联设备的OTA固件升级流程,其中,在图2中,①表示“设备信息烧录到内存”,②表示“设备联网上线”,③表示“新固件存入平台”,④表示“推送消息”,⑤表示“请求获取更新固件”,⑥表示“下载升级包”,⑦表示“新固件烧录”,⑧表示“设备重启”。这一套流程方法基于MQTT代理的方法,这种方法可用于与区块链的互联,还提供一种批量智能物联设备同时订阅接收OTA升级的主题消息,一旦IOT(Internet of Things,物联网)推送OTA升级的消息,这批设备将同时监听到该消息,并同时响应OTA升级操作,大大提高了批量智能物联设备固件升级效率,且升级过程由设备端自动完成。
本申请通过上述过程实现批量智能物联设备的自动化固件升级,无需用户参与,因此,则可减少用户操作黏性,满足用户需求,降低智能物联设备固件升级的成本,并提高批量智能物联设备固件升级的效率,实现了批量智能物联设备高效地更新维护操作。另外,以智能物联设备具体为物联网碳足迹设备采集器为例,则基于批量智能物联设备固件升级方法的开发,考虑了供应链企业对碳排放测量数据的多样性和数据采集的可信度,这些物联网碳足迹设备采集器的功能种类适应数据采集的多样性,批量的物联网碳足迹设备采集器在供应链中广泛使用,为实现碳排放数据电子化智能计量提供可靠的支持,同时对设备的后期维护提供了一种高效、便捷的方案。
本申请公开的上述技术方案,智能物联设备与代理服务器节点进行连接,然后,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器节点进行绑定,从而监听代理服务器节点固件升级的主题消息。当代理服务器节点接收到发布者发布且与固件升级主题对应的固件升级包信息时,则将该固件升级包信息推送给与其绑定的智能物联设备,然后,智能物联设备对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL,并在根据固件升级包版本信息确定进行固件升级时,则根据固件升级包存储的URL下载固件升级包,然后,进行重启,以完成智能物联设备的固件升级。通过上述方式实现智能物联设备中固件的自动升级,无需用户参与,以提高升级效率,且可通过上述方式使得批量的智能物联设备与同一代理服务器节点进行绑定,以同时监听同一代理服务器节点固件升级的主题消息,从而完成批量智能物联设备中固件的自动升级,以实现批量智能物联设备固件升级的高效性。
参见图4,其示出了本申请实施例提供的智能物联设备出厂时在内部可信存储空间中写入设备信息的流程图。本申请实施例提供的一种升级方法,还可以包括:
在智能物联设备出厂时,接收写入到flash中预先配置的第一分区的共有功能程序及写入到flash中预先配置的第二分区的私有信息;
在智能物联设备上线后,从第二分区的私有信息中获取身份标识信息,计算身份标识信息的哈希值,并将哈希值发送到区块链。
在批量智能物联设备出厂时,可以在内部可信存储空间(具体可以为flash)中预先配置的第一分区中写入共有功能程序(具体即批量智能物联设备所共有的功能程序),其中,共有功能程序具体即应用程序、bootloader程序(是在操作系统内核运行之前运行的一段小程序),另外,还可以在内部可信存储空间中预先配置的第二分区中写入能代表自己的身份标识信息的私有信息,例如设备ID、固件版本、私钥信息和合约地址等。具体地,首先,在硬件设备主控芯片的flash中,添加自定义分区(即第二分区),用来保存能代表设备身份标识信息的私有信息。分区表中每个分区即代表以一个内存的地址开始存放一段偏移量的内存区域。创建了一个user_config的自定义分区(相当于一个分区表),配置好type、subtype、offset、size(这些相当于分区的表头),其中offset和size不能和之前的分区存在重合;然后,将代表设备的身份标识信息写在一个文本文档中,用一定的标点符号隔开,将其烧写入设备flash的user_config分区。再者,根据自定义分区的信息寻找当前分区,经过解析文本文档中的数据,解析获得代表不同信息的数据。
通过将共有功能程序和私有信息写入到不同分区中可以将共有功能程序和私有信息分开,以便后续的维护,且能够将一些私有信息模块化,以便于上链存证标识信息。
在上述基础上,在智能物联设备上电并联网上线后,且在与代理服务器节点进行连接之前,可以从第二分区中的私有信息中获取身份标识信息,并利用哈希算法计算该身份标识信息的哈希值,然后,将哈希值发送到区块链,以作为智能物联设备的存证;并且可使用Secp256k1算法对私钥信息进行解析(此过程涉及上链时的加密操作)。
通过计算智能物联设备身份标识信息的哈希值,并进行哈希值上链可以实现利用区块链对初始的固件版本信息进行记录,并便于通过哈希值上链而实现与代理服务器节点约定好哪些智能物联设备是能够与代理服务器节点进行连接和订阅固件升级主题的。
另外,在本申请中,在完成固件升级之后,可以获取升级后的身份标识信息(此时,身份标识信息中的固件版本信息为升级后的固件升级包的版本信息),并计算升级后的身份标识信息的哈希值,然后,将升级后的身份标识信息的哈希值发送至区块链,以利用区块链记录完成升级的智能物联设备的信息。
本申请实施例提供的一种升级方法,根据URL下载固件升级包,可以包括:
根据URL将固件升级包下载到flash中与固件升级包对应的分区中,并记录固件升级包存放的地址。
在本申请中,在根据URL下载固件升级包时,具体可以根据URL将固件升级包下载到智能物联设备的flash中与固件升级包对应的分区中(与固件升级包对应的分区具体可以预先配置得到),且可以对固件升级包所存放的地址,以便于后续在下载完成固件升级包并进行设备重启时可以在所记录的存放固件升级包的地址运行启动,以完成智能物联设备的固件升级。
另外,在记录固件升级包存放的地址的同时,还可以记录上一版本的固件信息存放的地址,以便于后续进行查看和获取,且便于在新下载的固件升级包出现升级失败等异常情况时还可以升级到上一版本的固件信息等。
本申请实施例提供的一种升级方法,根据URL下载固件升级包,可以包括:
根据URL,以固定大小的数据包分批次下载固件升级包。
在本申请中,在根据URL下载固件升级包时,具体可以根据URL,以固定大小的数据包分批次下载固件升级包,以提高固件升级包下载效率,并降低固件升级包下载对网络等的要求。
需要说明的是,当分批次下载完数据包之后,智能物联设备可以接收到下载文件完毕的信息,以便于智能物联设备可以获知具体什么时候结束下载。
本申请实施例提供的一种升级方法,在以固定大小的数据包分批次下载固件升级包之后,还可以包括:
对固件升级包进行完整性验证;
若固件升级包不完整,则重新执行根据URL,以固定大小的数据包分批次下载固件升级包的步骤。
智能物联设备在以固定大小的数据包分批次下载固件升级包之后(具体可以在接收到下载文件完毕的信息之后),可以对所下载的固件升级包进行完整性验证,若验证固件升级包是完整的,则可以进行重启,以完成固件升级;若验证固件升级包是不完整的,则智能物联设备重新执行根据URL,以固定大小的数据包分批次下载固件升级包的步骤,也即智能物联设备可以重新发送固件升级包下载请求,完成固件升级包下载,直至下载到完整的固件升级包为止。
通过上述过程可以保证固件升级包下载的完整性,以保证固件升级的可靠性。
本申请实施例提供的一种升级方法,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定,可以包括:
向代理服务器节点推送订阅固件升级主题的消息,由代理服务器节点对消息进行验证,并在验证未通过后返回绑定未成功的消息;
接收代理服务器节点返回的绑定未成功的消息,进行重启,并进行初始化配置在初始化配置成功后与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,直至与代理服务器节点绑定成功。
在本申请中,智能物联设备向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定时,具体可以向代理服务器节点推送订阅固件升级主题的消息。然后,代理服务器节点可以对智能物联设备所推送的消息进行验证,具体是验证消息中是否包含固件升级主题以及如果包含固件升级主题,则验证固件升级主题是否与代理服务器节点中存储的固件升级主题相一致。如果智能物联设备推送的消息中未包含固件升级主题或包含固件升级主题但与代理服务器节点中存储的固件升级主题不一致时,则确定消息未通过验证,此时,则给智能物联设备返回绑定未成功的消息。
智能物联设备在接收到代理服务器节点返回的绑定未成功的消息后则进行重启,并执行进行初始化配置,在初始化配置成功后(即智能物联设备重新完成联网上线)与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息的流程,然后,再由代理服务器节点对代理服务器节点推送的消息进行验证,直至消息验证通过,也即直至智能物联设备推送的消息中包含固件升级主题且与代理服务器节点中存储的固件升级主题一致为止。
通过上述方式可以保证智能物联设备能够成功订阅到固件升级主题,从而能够成功监听固件升级主题,以便于能够及时、成功接收固件升级包信息,从而保证固件升级可靠地进行。
本申请实施例提供的一种升级方法,还可以包括:
接收代理服务器节点返回的绑定成功的消息,并输出与代理服务器节点绑定成功的消息。
在本申请中,当智能物联设备推送的订阅固件升级主题的消息验证通过时,代理服务器节点可以向智能物联设备返回绑定成功的消息,此时,智能物联设备则可以接收代理服务器节点返回的绑定成功的消息,以使得智能物联设备可以从此时开始一直监听所订阅的固件升级主题,以后后续接收OTA升级消息做好准备。另外,智能物联设备还可以输出与代理服务器节点绑定成功的消息,以便于相关人员获取该消息。
本申请实施例还提供了一种升级装置,应用于智能物联设备,参见图5,其示出了本申请实施例提供的一种升级装置的结构示意图,可以包括:
连接绑定模块51,用于与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定;
第一接收模块52,用于接收代理服务器节点推送的由发布者发布、与固件升级主题对应的固件升级包信息,对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;
下载模块53,用于当根据固件升级包版本信息确定进行固件升级时,根据URL下载固件升级包,并进行重启,以完成固件升级。
本申请实施例提供的一种升级装置,还可以包括:
第二接收模块,用于在智能物联设备出厂时,接收写入到flash中预先配置的第一分区的共有功能程序及写入到flash中预先配置的第二分区的私有信息;
获取模块,用于在智能物联设备上线后,从第二分区的私有信息中获取身份标识信息,计算身份标识信息的哈希值,并将哈希值发送到区块链。
本申请实施例提供的一种升级装置,下载模块53可以包括:
第一下载单元,用于根据URL将固件升级包下载到flash中与固件升级包对应的分区中,并记录固件升级包存放的地址。
本申请实施例提供的一种升级装置,下载模块53可以包括:
第二下载单元,用于根据URL,以固定大小的数据包分批次下载固件升级包。
本申请实施例提供的一种升级装置,下载模块53还可以包括:
完整性验证单元,用于在以固定大小的数据包分批次下载固件升级包之后,对固件升级包进行完整性验证;
重新执行单元,用于若固件升级包不完整,则重新执行根据URL,以固定大小的数据包分批次下载固件升级包的步骤。
本申请实施例提供的一种升级装置,连接绑定模块51可以包括:
推送单元,用于向代理服务器节点推送订阅固件升级主题的消息,由代理服务器节点对消息进行验证,并在验证未通过后返回绑定未成功的消息;
接收单元,用于接收代理服务器节点返回的绑定未成功的消息,进行重启,并进行初始化配置在初始化配置成功后与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,直至与代理服务器节点绑定成功。
本申请实施例还提供了一种升级设备,参见图6,其示出了本申请实施例提供的一种升级装置的结构示意图,可以包括:
存储器61,用于存储计算机程序;
处理器62,用于执行存储器61存储的计算机程序时可实现如下步骤:
与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定;接收代理服务器节点推送的由发布者发布、与固件升级主题对应的固件升级包信息,对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;当根据固件升级包版本信息确定进行固件升级时,根据URL下载固件升级包,并进行重启,以完成固件升级。
本申请实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
与代理服务器节点进行连接,向代理服务器节点推送订阅固件升级主题的消息,以与代理服务器进行绑定;接收代理服务器节点推送的由发布者发布、与固件升级主题对应的固件升级包信息,对固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;当根据固件升级包版本信息确定进行固件升级时,根据URL下载固件升级包,并进行重启,以完成固件升级。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的一种升级装置、设备及可读存储介质中相关部分的说明可以参见本申请实施例提供的一种升级方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种升级方法,其特征在于,应用于智能物联设备,包括:
与代理服务器节点进行连接,向所述代理服务器节点推送订阅固件升级主题的消息,以与所述代理服务器进行绑定;
接收所述代理服务器节点推送的由发布者发布、与所述固件升级主题对应的固件升级包信息,对所述固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;
当根据所述固件升级包版本信息确定进行固件升级时,根据所述URL下载所述固件升级包,并进行重启,以完成固件升级。
2.根据权利要求1所述的升级方法,其特征在于,还包括:
在所述智能物联设备出厂时,接收写入到flash中预先配置的第一分区的共有功能程序及写入到所述flash中预先配置的第二分区的私有信息;
在所述智能物联设备上线后,从所述第二分区的私有信息中获取身份标识信息,计算所述身份标识信息的哈希值,并将所述哈希值发送到区块链。
3.根据权利要求1所述的升级方法,其特征在于,根据所述URL下载所述固件升级包,包括:
根据所述URL将所述固件升级包下载到flash中与所述固件升级包对应的分区中,并记录所述固件升级包存放的地址。
4.根据权利要求1所述的升级方法,其特征在于,根据所述URL下载所述固件升级包,包括:
根据所述URL,以固定大小的数据包分批次下载所述固件升级包。
5.根据权利要求4所述的升级方法,其特征在于,在以固定大小的数据包分批次下载所述固件升级包之后,还包括:
对所述固件升级包进行完整性验证;
若所述固件升级包不完整,则重新执行所述根据所述URL,以固定大小的数据包分批次下载所述固件升级包的步骤。
6.根据权利要求1所述的升级方法,其特征在于,向所述代理服务器节点推送订阅固件升级主题的消息,以与所述代理服务器进行绑定,包括:
向所述代理服务器节点推送订阅固件升级主题的消息,由所述代理服务器节点对所述消息进行验证,并在验证未通过后返回绑定未成功的消息;
接收所述代理服务器节点返回的绑定未成功的消息,进行重启,并进行初始化配置在初始化配置成功后与所述代理服务器节点进行连接,向所述代理服务器节点推送订阅固件升级主题的消息,直至与所述代理服务器节点绑定成功。
7.根据权利要求6所述的升级方法,其特征在于,还包括:
接收所述代理服务器节点返回的绑定成功的消息,并输出与所述代理服务器节点绑定成功的消息。
8.一种升级装置,其特征在于,应用于智能物联设备,包括:
连接绑定模块,用于与代理服务器节点进行连接,向所述代理服务器节点推送订阅固件升级主题的消息,以与所述代理服务器进行绑定;
第一接收模块,用于接收所述代理服务器节点推送的由发布者发布、与所述固件升级主题对应的固件升级包信息,对所述固件升级包信息进行解析,得到固件升级包版本信息和固件升级包存储的URL;
下载模块,用于当根据所述固件升级包版本信息确定进行固件升级时,根据所述URL下载所述固件升级包,并进行重启,以完成固件升级。
9.一种升级设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的升级方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210794216.4A CN115174389A (zh) | 2022-07-07 | 2022-07-07 | 一种升级方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210794216.4A CN115174389A (zh) | 2022-07-07 | 2022-07-07 | 一种升级方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115174389A true CN115174389A (zh) | 2022-10-11 |
Family
ID=83490318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210794216.4A Pending CN115174389A (zh) | 2022-07-07 | 2022-07-07 | 一种升级方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174389A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651183A (zh) * | 2020-08-05 | 2020-09-11 | 深圳杰睿联科技有限公司 | 基于软卡的通信模组升级方法及设备、系统和存储介质 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
EP3848795A1 (en) * | 2020-01-10 | 2021-07-14 | Beijing Xiaomi Mobile Software Co., Ltd. | Firmware upgrade method and device, and storage medium |
CN113918197A (zh) * | 2021-12-13 | 2022-01-11 | 苏州浪潮智能科技有限公司 | 一种固件升级方法、系统、存储介质及设备 |
WO2022095199A1 (zh) * | 2020-11-05 | 2022-05-12 | 歌尔股份有限公司 | 一种嵌入式设备的差分升级方法及相关组件 |
-
2022
- 2022-07-07 CN CN202210794216.4A patent/CN115174389A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3848795A1 (en) * | 2020-01-10 | 2021-07-14 | Beijing Xiaomi Mobile Software Co., Ltd. | Firmware upgrade method and device, and storage medium |
CN111651183A (zh) * | 2020-08-05 | 2020-09-11 | 深圳杰睿联科技有限公司 | 基于软卡的通信模组升级方法及设备、系统和存储介质 |
CN112351070A (zh) * | 2020-09-30 | 2021-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 文件传输方法、装置、存储介质及电子设备 |
WO2022095199A1 (zh) * | 2020-11-05 | 2022-05-12 | 歌尔股份有限公司 | 一种嵌入式设备的差分升级方法及相关组件 |
CN113918197A (zh) * | 2021-12-13 | 2022-01-11 | 苏州浪潮智能科技有限公司 | 一种固件升级方法、系统、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9766914B2 (en) | System and methods for remote maintenance in an electronic network with multiple clients | |
CN106844137B (zh) | 服务器的监控方法和装置 | |
CN104468843A (zh) | 一种文件上传方法及装置 | |
US11907700B2 (en) | Upgrading method and system, server, and terminal device | |
CN110995513A (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
CN101072163A (zh) | 一种网络文件自动转存方法及系统 | |
CN110166547B (zh) | 终端远程访问控制方法 | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
CN112423322A (zh) | 型号信息发送方法、装置、存储介质及电子装置 | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN112838930B (zh) | 区块链交易的执行方法及装置、电子设备、存储介质 | |
CN106982130A (zh) | 一种设备版本同步方法及装置 | |
CN115174389A (zh) | 一种升级方法、装置、设备及可读存储介质 | |
CN104468493A (zh) | 网络通讯中登录web页面的方法及系统 | |
CN109936609B (zh) | 终端链式升级方法、装置及升级管理服务器 | |
CN115150162A (zh) | 一种根证书更新方法、装置 | |
CN113518121B (zh) | 一种批量操作方法以及装置 | |
CN117156474B (zh) | 远程智能运维系统及其运维方法 | |
CN112217659A (zh) | Sd-wan系统添加客户终端设备的方法及系统 | |
CN114978902B (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
CN110808943A (zh) | 客户端连接应急管理方法、客户端及计算机可读存储介质 | |
CN115208951B (zh) | 请求处理方法、装置、电子设备及计算机可读存储介质 | |
CN114978902A (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
CN116319837A (zh) | 一种支持多协议的文件同步方法、装置、设备及存储介质 | |
CN117075871A (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 |