CN113497720A - 一种固件服务器、电力物联代理网关及固件远程升级方法 - Google Patents

一种固件服务器、电力物联代理网关及固件远程升级方法 Download PDF

Info

Publication number
CN113497720A
CN113497720A CN202010199198.6A CN202010199198A CN113497720A CN 113497720 A CN113497720 A CN 113497720A CN 202010199198 A CN202010199198 A CN 202010199198A CN 113497720 A CN113497720 A CN 113497720A
Authority
CN
China
Prior art keywords
firmware
updating
program
power internet
command
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
Application number
CN202010199198.6A
Other languages
English (en)
Inventor
任辉
吴艳平
于同伟
姚志强
赵国庆
李籽良
卢岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Electric Power Research Institute of State Grid Liaoning Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Electric Power Research Institute of State Grid Liaoning Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI, Electric Power Research Institute of State Grid Liaoning Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202010199198.6A priority Critical patent/CN113497720A/zh
Publication of CN113497720A publication Critical patent/CN113497720A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Abstract

本发明公开了一种固件服务器、电力物联代理网关及固件远程升级方法,所述固件服务器部署于泛在电力物联网主站端,包括:固件程序、固件通信模块和固件更新服务模块;所述固件通信模块,用于基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道;所述固件更新服务模块,用于基于所述固件通信模块下发固件的升级启停命令以及更新启停命令;所述固件程序,为泛在电力物联网主站当前开发的程序。本发明通过远程下发的升级启停命令以及更新启停命令使电力物联代理网关的调试和维护效率将得到大幅提升,实现对电力物联代理网关等设备的远程维护。

Description

一种固件服务器、电力物联代理网关及固件远程升级方法
技术领域
本发明涉及电力自动化系统技术领域,具体涉及一种固件服务器、电力物联代理网关及固件远程升级方法。
背景技术
电力物联代理网关是指将智能电网终端设备采集到的信息转发至上级系统的代理设备。电网采集的信息包括电流、电压等电气量,也包括油温、油中气体含量等非电气量,近些年,伴随着物联网技术的不断发展,巡检机器人、红外成像手持终端等设备在电气设备运行检修中得到了快速发展。
目前已经有公司将“三型两网、世界一流”作为战略目标,其中“两网”是智能电网和泛在电力物联网。泛在电力物联网就是围绕电力系统各环节,充分应用移动互联、人工智能等现代信息技术、先进通信技术,实现电力系统各个环节万物互联、人机交互,具备状态全面感知、信息高效处理、应用便捷灵活特征的智慧服务系统。通俗地讲,就是运用新一代信息通信技术,将电力用户及其设备、电网企业及其设备、发电企业及其设备、电工装备企业及其设备连接起来,通过信息广泛交互和充分共享,以数字化管理大幅提高能源生产、能源消费和相关领域安全、质量和效益效率水平。基于目标,更多的感知节点将应用于电网自动化网络中,电力物联代理网关作为重要的信息处理和转发平台将得到大量应用。电力系统采集的信息类型多、数量大,站点分布广,如果采用传统的现场维护的方式,将耗费大量的人力、物力和财力资源,影响泛在电力物联网的建设,因此有必要将非关键业务的电力物联代理网关设备进行远程维护。
在智能手机、车联网等领域,固件和应用的远程升级技术得到了广泛应用。互联网汽车采用无线网络升级更新软件,有效降低了售后服务成本,且能够快速修复系统缺陷,为用户提供了优质的服务。空中固件升级(Firmware Over-the-Air,OTA)是指以无线下载的方式对移动终端进行创建和安装软件更新,特斯拉汽车经常应用此技术为已售出的车辆更新新功能。OTA实际上是应用编程(In Application Programming,IAP),IAP是程序在运行的过程中对User Flash的部分区域进行烧写,可以方便地通过预留的通信口对产品的固件程序进行更新升级,固件程序为.bin文件。
设备OTA升级可以带来以下效果:
(1)远程修复产品缺陷。设备在站点部署后,若存在缺陷,若采用现场维护方式将带来大量问题,远程升级修复缺陷简易便捷。
(2)丰富产品功能,不断迭代。车联网功能实现了汽车软件功能的不断迭代、常开常新,给消费者带来了很好的使用体验。
出于安全考虑,电力自动化设备等工控装置很少采用远程升级的方式更新或维护设备,增加了大量生产成本。在变配用等站点,位于生产管理大区Ⅲ/Ⅳ区的电力物联代理网关、终端等不影响生产安全的设备可采用远程升级方式完成更新。相较而言,互联网汽车直接关系到人身安全,对远程升级的安全性和稳定性有非常高的要求,因此其升级更新固件和应用的方法值得借鉴。
由于远动装置、电力物联代理网关及其他工控系统中的网关设备应用非常广泛,部署场景多、地点分散,若采用现场升级的方式更新设备固件,将耗费大量的人力、物力和财力,因此亟需提供一种对电力物联代理网关进行远程维护的方法。
发明内容
为了解决现有技术中所存在的上述不足,本发明提供一种固件服务器、电力物联代理网关及固件远程升级方法。本发明将电力物联代理网关的Flash划分为多个区,其中一片Flash存储BootLoader,一片Flash预留存储新固件程序,一片存储固件参数信息。当程序有更新时,远程服务器发起升级流程,双方通过签名认证,将新程序下装至预留Flash片区。下装完成后,BIOS(Basic Input Output System,基本输入输出系统)检查固件参数,分配好资源,并检测是否有新固件程序,将控制权交给BootLoader,BootLoader将引导程序读入系统内存中,BootLoader调用操作系统内核时从新固件程序运行,从而实现远程升级。
本发明提供的一种固件服务器,所述固件服务器部署于泛在电力物联网主站端,包括:
固件程序、固件通信模块和固件更新服务模块;
所述固件通信模块,用于基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道;
所述固件更新服务模块,用于基于所述固件通信模块下发固件的升级启停命令以及更新启停命令;
所述固件程序,为泛在电力物联网主站当前开发的程序。
优选的,所述固件通信模块支持MQTT协议。
优选的,所述固件更新服务模块,包括:
获取单元,用于发送获取电力物联代理网关当前固件程序的版本信息请求,并接收电力物联代理网关上报的当前固件程序的版本信息;
启动升级命令单元,用于基于固件程序和电力物联代理网关的当前固件程序的版本信息,下发固件升级命令、固件URL和固件.bin文件;还用于接收固件升级进度和升级是否成功的信息;
停止升级命令单元,用于在下载过程中下发停止升级命令或继续下载命令;
更新启停单元,用于基于固件升级进度和升级是否成功的信息决定是否更新,若决定更新,则下发软重启命令;若决定不更新,则下发删除已下载的固件程序命令。
基于同一发明构思,本发明还提供了一种电力物联代理网关,所述电力物联代理网关部署在厂站或配电站,包括:
改造Flash、网关通信模块和固件更新模块;
所述网关通信模块,用于基于TLS协议与固件服务器建立下载固件程序的通信通道;
所述固件更新模块,用于基于固件升级启停命令下载固件程序并存放在所述改造Flash中,还用于执行固件更新启停命令;
所述改造Flash,用于将所述固件程序存储在预先划分的存储片区,还用于在所述固件更新模块执行启动更新命令时,加载所述固件程序;
其中,所述厂(场)站包括发电厂(场)和变电站。
优选的,所述改造Flash,包括:
Flash ROM片区,用于烧录BIOS程序;
BootLoader片区,用于存储BootLoader引导加载程序;
原有固件程序存储片区,用于存储原有固件程序;
操作系统内核存储片区,用于存储操作系统内核程序;
固件参数片区,用于存储固件参数配置信息;
预留新固件程序存储片区,用于存储固件服务器下装的固件程序。
优选的,所述网关通信模块支持MQTT协议。
优选的,所述固件更新模块,包括:
上报当前版本信息单元,用于基于获取电力物联代理网关当前固件程序的版本信息请求,上报电力物联代理网关的当前固件程序的版本信息;
升级单元,用于基于固件升级命令通过固件URL下载固件.bin文件;还用于上报固件升级进度和升级是否成功的信息;
启动更新单元,用于接收并执行软重启命令对电力物联代理网关执行重启操作;
停止升级/更新单元,用于在下载固件程序的过程中当收到停止升级命令且在设定时间内未收到继续下载命令时,则删除已下载的固件.bin文件,还用于接收并执行删除已下载的固件程序命令;
所述上报当前版本信息单元,还用于在软重启操作后上报当前固件程序的版本信息。
优选的,所述改造Flash,还包括:
加载单元,用于在启动更新单元执行软重启命令对电力物联代理网关重启时,调用电力物联代理网关的BIOS检查预留新固件程序存储片区中是否有待更新的固件程序,若存在待更新的固件程序,调用电力物联代理网关的BootLoader检查固件的参数信息,并将待更新的固件程序加载到原有固件程序存储片区,同时将操作系统的内核映像从Flash读到内存,并将控制权再移交给操作系统内核,启动电力物联代理网关的操作系统。
基于同一发明构思本发明还提供了一种电力物联代理网关固件远程升级方法,包括:
固件通信模块基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道;
固件更新服务模块基于所述固件通信模块下发固件的升级启停命令以及更新启停命令;
所述固件程序为泛在电力物联网主站当前开发的程序。
优选的,所述固件通信模块基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道,包括:
固件通信模块和电力物联代理网关协商确定TLS版本,加密认证套件并校验数字签名证书;
基于所述数字签名证书确定生成对话密钥的随机数,并基于所述随机数建立对称加密通信通道。
优选的,所述固件更新服务模块基于所述固件通信模块下发固件的升级启停指令以及更新启停命令,包括:
固件更新服务模块发送获取电力物联代理网关当前固件程序的版本信息请求,并接收电力物联代理网关上报的当前固件程序的版本信息;
固件更新服务模块基于固件程序和电力物联代理网关的当前固件程序的版本信息,下发固件升级命令、固件URL和固件.bin文件,以及在下载过程中下发停止升级命令或继续下载命令;
固件更新服务模块接收固件升级进度和升级是否成功的信息;
固件更新服务模块基于所述固件升级进度和升级是否成功的信息决定是否更新,若决定更新,则下发软重启命令;若决定不更新,则下发删除已下载的固件程序命令。
基于同一发明构思,本发明还提供了一种电力物联网代理网关固件远程升级方法,包括:
网关通信模块基于TLS协议与固件服务器建立通信通道;
改造Flash将所述固件程序存储在预先划分的存储片区;
固件更新模块用于基于固件升级启停命令下载固件程序并存放在所述改造Flash中,并执行固件更新启停命令;
所述改造Flash在所述固件更新模块执行启动更新命令时加载所述固件程序。
优选的,所述网关通信模块基于TLS协议与固件服务器建立通信通道,包括:
电力物联代理网关与固件服务器协商确定TLS版本,加密认证套件并校验数字签名证书;
基于所述数字签名证书确定生成对话密钥的随机数;
基于所述随机数建立对称加密通信通道。
优选的,所述固件更新模块用于基于固件升级启停命令下载固件程序并存放在所述改造Flash中,并执行固件更新启停命令,包括:
固件更新模块基于获取电力物联代理网关当前固件程序的版本信息请求,上报电力物联代理网关的当前固件程序的版本信息;
固件更新模块基于固件升级命令通过固件URL下载固件.bin文件,并上报固件升级进度和升级是否成功的信息;
固件更新模块接收并执行软重启命令对电力物联代理网关执行重启操作;
固件更新模块在下载固件程序的过程中当收到停止升级命令且在设定时间内未收到继续下载命令时,则删除已下载的固件.bin文件,还用于接收并执行删除已下载的固件程序命令。
优选的,所述改造Flash在所述固件更新模块执行启动更新命令时加载所述固件程序,包括:
当所述固件更新模块执行软重启命令对电力物联代理网关重启时:
改造Flash调用电力物联代理网关的BIOS检查预留新固件程序存储片区中是否有待更新的固件程序;
若存在待更新的固件程序,调用电力物联代理网关的BootLoader检查固件的参数信息,并将待更新的固件程序加载到原有固件程序存储片区;同时将操作系统的内核映像从Flash读到内存;
将控制权移交给操作系统内核,启动电力物联代理网关的操作系统。
优选的,所述固件更新模块接收并执行软重启操作之后,还包括:
电力物联代理网关的操作系统启动后固件更新模块与固件服务器建立连接,通过MQTT协议上送当前固件程序的版本信息。
与最接近的现有技术相比,本发明提供的技术方案具有以下有益效果:
本发明提供的一种固件服务器的技术方案,在泛在电力物联网主站端部署固件服务器,固件服务器将泛在电力物联网主站当前开发的固件程序通过网关通信模块,下发给电力物联代理网关;固件服务器中的固件更新服务模块基于所述固件通信模块下发固件的升级启停命令以及更新启停命令,通过远程下发的升级启停命令以及更新启停命令使电力物联代理网关的调试和维护效率将得到大幅提升,实现对电力物联代理网关等设备的远程维护。
本发明提供的一种电力物联代理网关的技术方案,将Flash划分为多个片区,开辟存储固件参数和新固件程序存储的片区,采用TLS协议构建固件服务器与电力物联代理网关之间的通信通道,基于通信通道接收固件服务器下发升级启停命令以及更新启停命令,通过MQTT协议接收固件程序,从而保证电力物联代理网关固件安全有序地升级,提升电力物联代理网关维护效率,有效地促进泛在电力物联网建设和应用。
附图说明
图1为本发明提供的电力物联代理网关固件远程升级架构图;
图2为本发明提供的OTA远程升级服务流程图。
具体实施方式
为了更好地理解本发明,下面结合说明书附图和实例对本发明的内容做进一步的说明。
电力物联代理网关(以下简称网关)的操作系统一般是Linux系统,其引导加载程序由位于只读存储器(Read-Only Memory,ROM)中的基本输入输出系统(Basic InputOutput System,BIOS)和位于硬盘中的主引导记录(Master Boot Record,MBR)中的启动装载BootLoader构成。随着计算机硬件的不断发展,操作系统安装于固态存储器与闪存Flash,硬盘外挂,操作系统加载从BIOS和Flash开始。为实现网关设备的远程维护,远方主站端需部署一台固件服务器,沿用原有的主子站通信通道,为保证安全性,固件服务器和网关设备之间应具有签名认证功能;设备端也要进行相应的改造,使其能够支持远方固件更新的机制。
具体的设计如下:
1、远方维护体系架构
远方维护体系架构由固件服务器和网关两部分构成,如图1所示,其中固件服务器部署在泛在电力物联网主站端。
(1)固件服务器包括:固件程序、固件通信模块和固件更新服务模块;
所述固件通信模块,用于基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道;
所述固件更新服务模块,用于基于所述固件通信模块下发固件的升级启停命令以及更新启停命令;
所述固件程序,为泛在电力物联网主站当前开发的程序。
固件更新服务模块,包括:
获取单元,用于发送获取电力物联代理网关当前固件程序的版本信息请求,并接收电力物联代理网关上报的当前固件程序的版本信息;
启动升级命令单元,用于基于固件程序和电力物联代理网关的当前固件程序的版本信息,下发固件升级命令、固件URL和固件.bin文件;还用于接收固件升级进度和升级是否成功的信息;
停止升级命令单元,用于在下载过程中下发停止升级命令或继续下载命令;
更新启停单元,用于基于固件升级进度和升级是否成功的信息决定是否更新,若决定更新,则下发软重启命令;若决定不更新,则下发删除已下载的固件程序命令。
实施例中固件服务器具有启停远方网关固件升级的功能,主要有固件通信模块和固件更新服务模块。固件升级启停操作由固件服务器中的固件更新服务模块控制,当有新固件程序时,由固件更新服务模块决定是否需要升级固件程序。若需要升级固件程序,由固件更新服务模块发起更新任务,固件通信模块与网关通信模块建立加密认证通道和socket连接,用于新固件程序的下装。固件更新服务模块执行新固件程序的下装任务,首先通过MQTT socket连接获取网关当前的固件信息。若需要更新固件,在发出开始下装的命令后,若得到网关的响应,则执行新固件程序的下装任务;若中途停止,则向网关下发停止升级命令,同时停止下装任务;若完成下装,则再向网关下发软重启命令;若确定不更新,也可向网关下发删除新固件程序的命令。
(2)电力物联代理网关
网关固件升级功能由改造Flash、网关通信模块和固件更新模块完成。
所述固件更新模块,包括:
上报当前版本信息单元,用于基于获取电力物联代理网关当前固件程序的版本信息请求,上报电力物联代理网关的当前固件程序的版本信息;
升级单元,用于基于固件升级命令通过固件URL下载固件.bin文件;还用于上报固件升级进度和升级是否成功的信息;
启动更新单元,用于接收并执行软重启命令对电力物联代理网关执行重启操作;
停止升级/更新单元,用于在下载固件程序的过程中当收到停止升级命令且在设定时间内未收到继续下载命令时,则删除已下载的固件.bin文件,还用于接收并执行删除已下载的固件程序命令;
所述上报当前版本信息单元,还用于在软重启操作后上报当前固件程序的版本信息。
实施例中改造Flash除完成原有的BIOS、BootLoader引导等启动加载功能外,还将为新固件程序预留存储空间,在网关系统上电开机启动时,BIOS检查是否有新的固件程序,若存在新固件程序,BootLoader检查主要固件的参数信息,并将新固件程序加载到原有固件程序存储空间,BootLoader将操作系统的内核映像从Flash读到内存,然后将控制权再移交给操作系统内核,启动操作系统。
实施例中网关通信模块用于与固件通信模块建立安全的通信通道和签名认证功能。
实施例中固件更新模块用于基于固件更新服务模块下发的升级启停指令完成固件升级功能,接收和响应固件更新服务模块下发的固件更新启停命令,执行软重启和删除新固件程序命令。若网关下载升级固件程序中途收到终止升级命令,在设定的时间内未收到继续下载命令,则删除已下载的部分.bin文件,其中设定的时间可以为30分钟。
2、Flash改造划分方法
Flash原存储BIOS、BootLoader、操作系统内核和原有固件程序,其中BIOS存储于Flash ROM。为实现固件程序可以远程升级的目标,本发明将Flash存储空间进行改造,Flash存储空间划分为多个片区,分别存储为Flash ROM片区、BootLoader片区、原有固件程序存储片区、操作系统内核存储片区、固件参数片区和预留新固件程序存储片区。FlashROM片区仍烧录BIOS程序,BootLoader片区仍存储BootLoader引导加载程序,操作系统内核存储片区仍存储操作系统内核程序,拓展一个片区作为预留新固件程序存储片区,用于存储更新的固件程序,原有固件程序存储片区仍保留,固件参数片区记录固件参数信息。
当开机加载固件程序时仍从原有固件程序存储片区读取,当预留新固件程序存储片区存在更新的固件程序时,则首先将更新的固件程序覆盖原有的固件程序。
3、下装通道设计
固件服务器和网关沿用原有的物理通信通道,可以为专用的网络,也可以为公共的网络。为保证固件升级过程的安全性,引入安全传输层协议(Transport LayerSecurity,TLS)构建安全防护通信通道。TLS是一种应用于两个应用程序之间的安全传输协议,协议基于TCP/IP,位于应用层和传输层之间。协议为信息传输提供加密、身份验证和数据完整性三个方面的基本保证。在固件服务器与网关建立TCP连接过程中,双方协商采用相同TLS协议版本、标准加密套件,并互相认证对方的数字签名证书,建立起加密认证传输通道。
固件通信模块与网关通信模块均支持消息队列遥测传输协议(Message QueuingTelemetry Transport,MQTT),两者通过MQTT协议交换当前固件版本信息、固件URL(Uniform Resource Locator)、固件.bin文件、固件升级进度、固件升级启停命令、固件升级是否成功信息等。
4、远程升级流程
如图2所示,网关OTA升级流程如下:
(1)双方协商确定TLS版本为TLS1.2,加密认证套件采用标准加密套件,并校验数字签名证书,确定生成对话密钥的随机数,建立对称加密传输通道;
(2)固件服务器通过MQTT协议向网关请求当前固件版本信息;
(3)网关返回当前固件版本信息;
(4)固件服务器收到当前固件版本信息后与最新固件进行版本比对,决定是否启动固件升级,若决定启动固件升级功能,固件服务器向网关下发最新固件版本的URL;
(5)网关收到最新固件版本的URL后,通过MQTT协议根据URL下载新版本固件;
(6)网关在下载的过程中向固件服务器上报固件下载的进度,包括固件下载是否成功、最新版本、失败原因等;
(7)固件.bin文件下载完成后,固件服务器收到下载成功信息后,决定是否更新固件程序,若更新,则下发软重启命令;若不更新,则下发删除最新固件程序命令;
(8)若更新,网关收到固件服务器下发的软重启命令后执行,并在重启初始化过程中,BIOS检查固件参数并分配好资源,检测是否有新固件程序,将控制权交给BootLoader,BootLoader将新固件程序加载到原有固件程序存储空间,然后再将控制权移交给至操作系统内核,跳转至操作系统入口点启动操作系统。
(9)网关中的操作系统重启后主动建立连接,通过MQTT协议上送最新固件版本信息至固件服务器。至此完成网关的固件更新。
本发明实施例以配电站网关设备的串口驱动软件远程升级为例介绍更新过程。配电网关串口原固件为v1.0版本.bin文件,新固件版本为v2.0版本.bin文件,要求网关设备和固件服务器均支持TLS1.2协议,同时网关配置了数字签名证书。
升级过程如下:
(1)将网关设备Flash片区划分为Flash ROM片区、BootLoader片区、原有固件程序存储片区、操作系统内核存储片区、固件参数片区和预留新固件程序存储片区;
(2)网关设备和固件服务器在建立通信连接过程中,协商双方要用的TLS协议版本为TLS1.2,采用标准加密套件TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,同时验证数字签名证书,协商用于作为两者通信对称加密密钥的随机数;
(3)固件服务器通过MQTT协议请求网关设备串口固件版本,网关回复v1.0;
(4)固件服务器启动升级串口固件版本流程,向网关发送新固件版本v2.0.bin文件的URL;
(5)网关根据URL下载v2.0.bin文件至预留新固件程序存储片区,下载完成后回复固件服务器;
(6)固件服务器确定更新串口固件程序,下发软重启命令,网关重启,BIOS检查固件参数和是否有新固件程序,发现存在新固件程序,将控制权交给BootLoader,BootLoader将预留新固件程序复制到原有固件程序存储片区,操作系统的内核映像从Flash读到内存,然后再将控制权移交给操作系统内核,启动操作系统;
(7)网关系统重启后,向固件服务器发送固件的最新版本。
本发明中URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

Claims (16)

1.一种固件服务器,其特征在于,所述固件服务器部署于泛在电力物联网主站端,包括:
固件程序、固件通信模块和固件更新服务模块;
所述固件通信模块,用于基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道;
所述固件更新服务模块,用于基于所述固件通信模块下发固件的升级启停命令以及更新启停命令;
所述固件程序,为泛在电力物联网主站当前开发的程序。
2.如权利要求1所述的固件服务器,其特征在于,所述固件通信模块支持MQTT协议。
3.如权利要求1所述的固件服务器,其特征在于,所述固件更新服务模块,包括:
获取单元,用于发送获取电力物联代理网关当前固件程序的版本信息请求,并接收电力物联代理网关上报的当前固件程序的版本信息;
启动升级命令单元,用于基于固件程序和电力物联代理网关的当前固件程序的版本信息,下发固件升级命令、固件URL和固件.bin文件;还用于接收固件升级进度和升级是否成功的信息;
停止升级命令单元,用于在下载过程中下发停止升级命令或继续下载命令;
更新启停单元,用于基于固件升级进度和升级是否成功的信息决定是否更新,若决定更新,则下发软重启命令;若决定不更新,则下发删除已下载的固件程序命令。
4.一种电力物联代理网关,其特征在于,所述电力物联代理网关部署在厂站或配电站,包括:
改造Flash、网关通信模块和固件更新模块;
所述网关通信模块,用于基于TLS协议与固件服务器建立下载固件程序的通信通道;
所述固件更新模块,用于基于固件升级启停命令下载固件程序并存放在所述改造Flash中,还用于执行固件更新启停命令;
所述改造Flash,用于将所述固件程序存储在预先划分的存储片区,还用于在所述固件更新模块执行启动更新命令时,加载所述固件程序;
其中,所述厂站包括发电厂和变电站。
5.如权利要求4所述的电力物联代理网关,其特征在于,所述改造Flash,包括:
Flash ROM片区,用于烧录BIOS程序;
BootLoader片区,用于存储BootLoader引导加载程序;
原有固件程序存储片区,用于存储原有固件程序;
操作系统内核存储片区,用于存储操作系统内核程序;
固件参数片区,用于存储固件参数配置信息;
预留新固件程序存储片区,用于存储固件服务器下装的固件程序。
6.如权利要求4所述的电力物联代理网关,其特征在于,所述网关通信模块支持MQTT协议。
7.如权利要求5所述的电力物联代理网关,其特征在于,所述固件更新模块,包括:
上报当前版本信息单元,用于基于获取电力物联代理网关当前固件程序的版本信息请求,上报电力物联代理网关的当前固件程序的版本信息;
升级单元,用于基于固件升级命令通过固件URL下载固件.bin文件;还用于上报固件升级进度和升级是否成功的信息;
启动更新单元,用于接收并执行软重启命令对电力物联代理网关执行重启操作;
停止升级/更新单元,用于在下载固件程序的过程中当收到停止升级命令且在设定时间内未收到继续下载命令时,则删除已下载的固件.bin文件,还用于接收并执行删除已下载的固件程序命令;
所述上报当前版本信息单元,还用于在软重启操作后上报当前固件程序的版本信息。
8.如权利要求7所述的电力物联代理网关,其特征在于,所述改造Flash,还包括:
加载单元,用于在启动更新单元执行软重启命令对电力物联代理网关重启时,调用电力物联代理网关的BIOS检查预留新固件程序存储片区中是否有待更新的固件程序,若存在待更新的固件程序,调用电力物联代理网关的BootLoader检查固件的参数信息,并将待更新的固件程序加载到原有固件程序存储片区,同时将操作系统的内核映像从Flash读到内存,并将控制权再移交给操作系统内核,启动电力物联代理网关的操作系统。
9.一种电力物联代理网关固件远程升级方法,其特征在于,包括:
固件通信模块基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道;
固件更新服务模块基于所述固件通信模块下发固件的升级启停命令以及更新启停命令;
所述固件程序为泛在电力物联网主站当前开发的程序。
10.如权利要求9所述的方法,其特征在于,所述固件通信模块基于TLS协议与电力物联代理网关建立供固件程序下装的通信通道,包括:
固件通信模块和电力物联代理网关协商确定TLS版本,加密认证套件并校验数字签名证书;
基于所述数字签名证书确定生成对话密钥的随机数,并基于所述随机数建立对称加密通信通道。
11.如权利要求9所述的方法,其特征在于,所述固件更新服务模块基于所述固件通信模块下发固件的升级启停指令以及更新启停命令,包括:
固件更新服务模块发送获取电力物联代理网关当前固件程序的版本信息请求,并接收电力物联代理网关上报的当前固件程序的版本信息;
固件更新服务模块基于固件程序和电力物联代理网关的当前固件程序的版本信息,下发固件升级命令、固件URL和固件.bin文件,以及在下载过程中下发停止升级命令或继续下载命令;
固件更新服务模块接收固件升级进度和升级是否成功的信息;
固件更新服务模块基于所述固件升级进度和升级是否成功的信息决定是否更新,若决定更新,则下发软重启命令;若决定不更新,则下发删除已下载的固件程序命令。
12.一种电力物联网代理网关固件远程升级方法,其特征在于,包括:
网关通信模块基于TLS协议与固件服务器建立通信通道;
改造Flash将所述固件程序存储在预先划分的存储片区;
固件更新模块用于基于固件升级启停命令下载固件程序并存放在所述改造Flash中,并执行固件更新启停命令;
所述改造Flash在所述固件更新模块执行启动更新命令时加载所述固件程序。
13.如权利要求12所述的方法,其特征在于,所述网关通信模块基于TLS协议与固件服务器建立通信通道,包括:
电力物联代理网关与固件服务器协商确定TLS版本,加密认证套件并校验数字签名证书;
基于所述数字签名证书确定生成对话密钥的随机数;
基于所述随机数建立对称加密通信通道。
14.如权利要求12所述的方法,其特征在于,所述固件更新模块用于基于固件升级启停命令下载固件程序并存放在所述改造Flash中,并执行固件更新启停命令,包括:
固件更新模块基于获取电力物联代理网关当前固件程序的版本信息请求,上报电力物联代理网关的当前固件程序的版本信息;
固件更新模块基于固件升级命令通过固件URL下载固件.bin文件,并上报固件升级进度和升级是否成功的信息;
固件更新模块接收并执行软重启命令对电力物联代理网关执行重启操作;
固件更新模块在下载固件程序的过程中当收到停止升级命令且在设定时间内未收到继续下载命令时,则删除已下载的固件.bin文件,还用于接收并执行删除已下载的固件程序命令。
15.如权利要求14所述的方法,其特征在于,所述改造Flash在所述固件更新模块执行启动更新命令时加载所述固件程序,包括:
当所述固件更新模块执行软重启命令对电力物联代理网关重启时:
改造Flash调用电力物联代理网关的BIOS检查预留新固件程序存储片区中是否有待更新的固件程序;
若存在待更新的固件程序,调用电力物联代理网关的BootLoader检查固件的参数信息,并将待更新的固件程序加载到原有固件程序存储片区;同时将操作系统的内核映像从Flash读到内存;
将控制权移交给操作系统内核,启动电力物联代理网关的操作系统。
16.如权利要求15所述的方法,其特征在于,所述固件更新模块接收并执行软重启操作之后,还包括:
电力物联代理网关的操作系统启动后固件更新模块与固件服务器建立连接,通过MQTT协议上送当前固件程序的版本信息。
CN202010199198.6A 2020-03-20 2020-03-20 一种固件服务器、电力物联代理网关及固件远程升级方法 Pending CN113497720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010199198.6A CN113497720A (zh) 2020-03-20 2020-03-20 一种固件服务器、电力物联代理网关及固件远程升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010199198.6A CN113497720A (zh) 2020-03-20 2020-03-20 一种固件服务器、电力物联代理网关及固件远程升级方法

Publications (1)

Publication Number Publication Date
CN113497720A true CN113497720A (zh) 2021-10-12

Family

ID=77993611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010199198.6A Pending CN113497720A (zh) 2020-03-20 2020-03-20 一种固件服务器、电力物联代理网关及固件远程升级方法

Country Status (1)

Country Link
CN (1) CN113497720A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466038A (zh) * 2021-12-23 2022-05-10 广东电网有限责任公司 一种电力物联网的通信防护系统
CN114995848A (zh) * 2021-12-08 2022-09-02 荣耀终端有限公司 IoT设备升级方法、IoT设备和计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995848A (zh) * 2021-12-08 2022-09-02 荣耀终端有限公司 IoT设备升级方法、IoT设备和计算机可读存储介质
CN114466038A (zh) * 2021-12-23 2022-05-10 广东电网有限责任公司 一种电力物联网的通信防护系统

Similar Documents

Publication Publication Date Title
CN111817874A (zh) 一种电力物联终端设备的远程维护系统及方法
CN103309694B (zh) 应用程序更新方法和装置
CN106899540B (zh) 用户签约数据的更新方法、管理系统、eUICC以及终端
CN109561118A (zh) 软件升级方法、装置、系统、存储介质、电子设备及车辆
US20140075438A1 (en) Method, server, and system for starting an application
CN111786893B (zh) mesh组网中无线路由器软件版本的同步方法和装置
CN105682075A (zh) 供给用于安全模块的订户资料的方法
JP2009500759A (ja) シンプルネットワーク管理プロトコルに基づいたデータ管理のための方法及びシステム
CN104639648A (zh) 一种智能储物柜的远程升级方法
CN113497720A (zh) 一种固件服务器、电力物联代理网关及固件远程升级方法
WO2018033094A1 (zh) 富通信套件发布平台、版本更新方法及系统、移动终端
CN104679528A (zh) 应用程序远程更新的方法和装置
CN107181618A (zh) 固件升级方法及系统
CN103475512A (zh) 物联网远程管理平台迁移方法、装置及物联网终端
CN111935267B (zh) 一种工业5g快速组网方法及系统
CN108874437A (zh) 一种android应用程序的在线云更新方法
WO2018209986A1 (zh) eUICC签约数据的下载方法及装置
CN108471361B (zh) 一种版本升级方法及装置
CN110045969A (zh) 应用程序安装方法、服务器、系统、设备及存储介质
CN103987064A (zh) 接入点ap升级方法及装置
CN112069154B (zh) etcd分布式数据库自动运维方法及相关装置
CN104104701A (zh) 在线服务的配置更新的方法和系统
US11930558B2 (en) Method for providing subscription profiles, subscriber identity module and subscription server
CN111262819B (zh) 一种voip sdk接入控制方法及装置
CN105208072B (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