多核网络设备固件升级方法及其装置制造方法及图纸

技术编号:22597447 阅读:15 留言:0更新日期:2019-11-20 12:24
本发明专利技术公开了一种多核网络设备固件升级方法及其装置,涉及计算机领域。方法包括:接收向主设备发送的固件;主设备将所述升级包分割为多个分片并进行封装;将封装后的多个所述分片发送至待升级设备;将所述待升级设备接收到的封装后的分片进行拼接成所述固件后,对待所述待升级设备进行固件升级。能够实现所有设备的同步升级,提高升级的时效性和降低复杂度。

Firmware upgrade method and device of multi-core network equipment

The invention discloses a multi-core network device firmware upgrading method and a device thereof, which relates to the computer field. The method includes: receiving the firmware sent to the main device; the main device divides the upgrade package into multiple pieces and encapsulates them; sending the encapsulated pieces to the device to be upgraded; splicing the encapsulated pieces received by the device to be upgraded into the fastener, and upgrading the firmware of the device to be upgraded. It can realize the synchronous upgrade of all devices, improve the timeliness and reduce the complexity of the upgrade.

【技术实现步骤摘要】
多核网络设备固件升级方法及其装置
本专利技术涉及通信领域,特别涉及一种多核网络设备固件升级方法及其装置。
技术介绍
目前同类产品的实现方法主要由相关专利(公开号:CN107391170A)示出,其过程是:主设备获取升级包后,启动web服务,各个从设备分别向主设备发起HTTP请求以获取升级包完成升级。目前做法的缺陷是:a、实时性较差:各从设备需要等主设备获取完升级包后,才能依次从主设备获取升级包;b、复杂度高:主设备需要向从设备提供http服务,复杂度较高。有鉴于此,提出本专利技术。
技术实现思路
本专利技术对上述现有技术的不足,提供了一种多核网络设备固件升级方法及其装置,实现所有设备的同步升级,提高升级的时效性和降低复杂度。为解决现有技术中存在的问题,采用的具体技术方案是:提供一种多核网络设备固件升级方法,其包括:接收向主设备发送的固件;主设备将所述升级包分割为多个分片并进行封装;将封装后的多个所述分片发送至待升级设备;将所述待升级设备接收到的封装后的分片进行拼接成所述固件后,对待所述待升级设备进行固件升级。优选地,上述多个所述分片包含序列信息,待升级设备将接收的多个所述分片按照序列拼接成所述固件。优选地,上述每个所述分片为512bytes的MSG_HDR数据包。优选地,上述每个封装后的所述分片包括与其封装前的序列信息对应的封装序列信息。优选地,还包括:检查拼接成的所述固件是否完整,若完整,则写入到所述待升级设备中。<br>提供一种多核网络设备固件升级装置,其包括:接收模块,用于接收向主设备发送的固件;分割模块,用于分割主设备将所述升级包分割为多个分片并进行封装;发送模块,用于将封装后的多个所述分片发送至待升级设备;拼接模块,用于将所述待升级设备接收到的封装后的分片进行拼接成所述固件后,对待所述待升级设备进行固件升级。优选地,还包括:检查模块,用于检查拼接成的所述固件是否完整,若完整,则写入到所述待升级设备中。通过采用上述方案,其技术效果在于:本专利技术实施例的提供了一种适用于多核网络设备固件升级的方法,通过将主设备将固件升级包分拆,然后通过switch的广播机制同时传送给所有从设备,实现所有设备的同步升级,提高升级的时效性和降低复杂度。附图说明图1为本专利技术方法流程图;图2为本专利技术的硬件架构图;图3为本专利技术的Ethernet帧格式图;图4为本专利技术的固件封装图;图5为本专利技术的MSG_HDR格式图;图6为本专利技术的RTOS系统模块框图图;图7为本专利技术的装置示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实例并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。请参照图1,本专利技术实施例提供一种多核网络设备固件升级方法。请参照图2,包括一个主设备(master)和多个从设备(slave),主设备负责管理其他从设备,在固件升级过程中,主设备首先获得固件,然后各从设备再从主设备获取固件。主设备和从设备都运行RTOS系统(图6示出),此外,多个从设备均可接在主设备的内部交换机(switch),主设备和从设备的软件可直接驱动交换机芯片。可以理解,请参照图3,主设备和从设备双方的通信均可基于IEEE802.3协议,接口ethernet的类型为0x889A。本专利技术实施例中,多核网络设备固件升级方法,其包括以下步骤:S101,接收向主设备发送的固件。具体地,用户通过前台Web升级或者后台下发固件(Firmware)给主设备,使得主设备接收完整的固件。S102,主设备将所述升级包分割为多个分片并进行封装。具体地,主设备接收到完整的固件后,将固件分割成多个512bytes大小的数据包,称为分片,并且每个分片以MSG_HDR格式为宜。其中,封装过程见S103具体描述。S103,将封装后的多个所述分片发送至待升级设备(即:从设备)。结合图2和图3可知,将分片进行封装,根据交换机的工作原理,交换机会将此广播数据转发到交换机的各个ethernet口,因此,所有的从设备都可以接收到此数据包。因此,通过底层SwitchAPI将封装后的分片通过switch发送出去后,不管设置有多少个从设备,主设备只需要发送一次分片即可保证每个从设备均可接收到所有分片。请参照图4和图5,优选地,上述每个封装后的所述分片包括与其封装前的序列信息对应的封装序列信息。其中Ethhdr为图3所示的Ethernet帧头,目的MAC地址为广播地址,即FF:FF:FF:FF:FF:FF,源MAC地址为主设备的MAC地址,类型为0x889A。MSG_HDR的格式如图5所示:其中,flag标识是否为最后带一个数据包,0为非最后一个数据包,1为最后一个数据包,length:firmware分片的大小,对于非最后一个分片,大小固定为512bytes,index标识当前分片的序列号(即:序列号信息)。封装后的分片Data#n对应封装前每个分片的index。S104,将所述待升级设备接收到的封装后的分片进行拼接成所述固件后,对待所述待升级设备进行固件升级。优选地,上述多个所述分片包含序列信息,待升级设备将接收的多个所述分片按照序列拼接成所述固件。亦即,从设备收集完所有的分片后,即图5中flag标识为1,按照序列号将数据包拼成完整的固件,检查拼接的固件是否完整,若完整,则写入到flash中所述待升级设备中。综上,请参照图6,RTOS系统包括:应用层(Application)、协议栈(NetworkStack)、内核(RTOSKernel)和驱动(Drivers)。应用层主要负责固件的获取、固件分片及重组、Flash写操作。协议栈负责IEEE802.3协议的处理。驱动包含Switch驱动、Ethernet驱动和其他驱动。应用层可以直接调用驱动中的API来直接操纵Switch。其执行上述过程在此不作赘述。请参照图7,基于同样的专利技术构思,本专利技术实施例还提供一种多核网络设备固件升级装置,其包括:接收模块201、分割模块202、发送模块203、拼接模块204和检查模块205。其中,接收模块201用于接收向主设备发送的固件;分割模块202用于分割主设备将所述升级包分割为多个分片并进行封装;发送模块203用于将封装后的多个所述分片发送至待升级设备;拼接模块204用于将所述待升级设备接收到的封装后的分片进行拼接成所述固件后,对待所述待升级设备进行固件升级。检查模块205用于检查拼接成的所述固件是否完整,若完整,则写入到所述待升级设备中。综上,本专利技术实施例的提供了一种适用于多核网络设备固件升级的方法,通过将主设备将固件升级包分拆,然后通过switch的广播机制同时传送给本文档来自技高网...

【技术保护点】
1.一种多核网络设备固件升级方法,其特征在于,包括:/n接收向主设备发送的固件;/n主设备将所述升级包分割为多个分片并进行封装;/n将封装后的多个所述分片发送至待升级设备;/n将所述待升级设备接收到的封装后的分片进行拼接成所述固件后,对待所述待升级设备进行固件升级。/n

【技术特征摘要】
1.一种多核网络设备固件升级方法,其特征在于,包括:
接收向主设备发送的固件;
主设备将所述升级包分割为多个分片并进行封装;
将封装后的多个所述分片发送至待升级设备;
将所述待升级设备接收到的封装后的分片进行拼接成所述固件后,对待所述待升级设备进行固件升级。


2.根据权利要求1所述的多核网络设备固件升级方法,其特征在于,多个所述分片包含序列信息,待升级设备将接收的多个所述分片按照序列拼接成所述固件。


3.根据权利要求2所述的多核网络设备固件升级方法,其特征在于,每个所述分片为512bytes的MSG_HDR数据包。


4.根据权利要求3所述的多核网络设备固件升级方法,其特征在于,每个封装后的所述分片包括与其封装前的序列信息对...

【专利技术属性】
技术研发人员:田建春
申请(专利权)人:上海智峥科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1