CN109002312A - 软件升级方法、装置及升级服务器和设备 - Google Patents

软件升级方法、装置及升级服务器和设备 Download PDF

Info

Publication number
CN109002312A
CN109002312A CN201811049386.XA CN201811049386A CN109002312A CN 109002312 A CN109002312 A CN 109002312A CN 201811049386 A CN201811049386 A CN 201811049386A CN 109002312 A CN109002312 A CN 109002312A
Authority
CN
China
Prior art keywords
piecemeal
image file
equipment
upgrade
mirror image
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
CN201811049386.XA
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.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Technology Guangzhou Ltd
Comba Telecom Systems China Ltd
Comba Telecom Systems Guangzhou Co Ltd
Tianjin Comba Telecom Systems 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 Comba Telecom Technology Guangzhou Ltd, Comba Telecom Systems China Ltd, Comba Telecom Systems Guangzhou Co Ltd, Tianjin Comba Telecom Systems Co Ltd filed Critical Comba Telecom Technology Guangzhou Ltd
Priority to CN201811049386.XA priority Critical patent/CN109002312A/zh
Publication of CN109002312A publication Critical patent/CN109002312A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种软件升级方法、装置及升级服务器和设备。其中一种从服务器角度实施的软件升级方法,包括:将任一分块镜像文件传输给设备;分块镜像文件用于指示设备将分块镜像文件烧写至相应的待升级区域;分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的。根据升级镜像文件分块得到的分块镜像文件体积小,且设备可将分块镜像文件烧写至待升级区域,进而完成软件升级。分块镜像文件相对于升级镜像文件来说,减少了升级过程中对设备存储资源的占用,确保设备稳定运行。基于本申请,无需改变现有软件状况,无需中断业务,可提高系统稳定性及用户体验。

Description

软件升级方法、装置及升级服务器和设备
技术领域
本申请涉及电子通信设备技术领域,特别是涉及一种软件升级方法、装置及升级服务器和设备。
背景技术
当今,嵌入式系统已经在各个领域有着广泛的应用,嵌入式系统的维护与升级也变得日益重要。由于新技术的不断涌现和对系统功能、性能等要求的不断提高,开发者必须能够针对系统进行升级和维护,以延长系统的使用周期,改善系统性能,增强系统适应性。
传统升级方式在系统编程技术(ISP:In-System Programming,在线编程)通常由维护人员到达设备现场进行重新烧写系统或者更换存储部件,当设备数量庞大并且分布范围广泛时,这种升级维护方式的工作量将非常大,成本也极高。另外该方法还需要中断设备的业务,待升级完成后才能重新启动,中断时间长、非常影响用户体验。随着技术的不断进步,在应用编程技术(IAP:In Application Programming)应运而生,其本质是利用写好的应用程序,由芯片本身(或通过外围的芯片)可以通过一系列操作将升级镜像写入,在业务尚在进行的过程中就实现了系统软件升级。
在实现过程中,发明人发现传统技术中至少存在如下问题:目前的在应用编程技术,存在占用设备内存资源过多的弊病。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少对设备存储资源的占用的软件升级方法、装置及升级服务器和设备。
为了实现上述目的,一方面,本发明实施例提供了一种软件升级方法,包括:
将任一分块镜像文件传输给设备;分块镜像文件用于指示设备将分块镜像文件烧写至相应的待升级区域;
分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的。
在其中一个实施例中,预设分块数目为根据设备的内存剩余资源和升级镜像文件的体积得到的;
在将任一分块镜像文件传输给设备之前还包括步骤:
根据升级镜像文件,制作预设分块数目的分块镜像文件。
在其中一个实施例中,分块镜像文件附带镜像控制信息;镜像控制信息用于指示设备将分块镜像文件烧写至只读存储器中相应的地址段。
在其中一个实施例中,镜像控制信息为镜像包头;
在将任一分块镜像文件传输给设备之前还包括步骤:
根据预设分块数目和只读存储器的分区状况,得到各分块镜像文件对应的镜像包头。
在其中一个实施例中,镜像包头包括镜像分块序号、烧写起始地址以及烧写结束地址。
在其中一个实施例中,镜像包头还包括镜像校验码和包头校验码。
另一方面,本发明实施例还提供了一种软件升级方法,包括:
接收升级服务器传输的分块镜像文件;
将分块镜像文件烧写至相应的待升级区域。
在其中一个实施例中,待升级区域为只读存储器中相应的地址段;
将分块镜像文件烧写至相应的待升级区域的步骤包括:
基于分块镜像文件附带的镜像包头,将分块镜像文件烧写至只读存储器中相应的地址段。
在其中一个实施例中,将分块镜像文件烧写至相应的待升级区域的步骤之前还包括步骤:
校验分块镜像文件和/或镜像包头;
在校验失败时,重新接收升级服务器传输的分块镜像文件。
在其中一个实施例中,校验分块镜像文件的步骤包括:
基于镜像包头中的镜像校验码,对分块镜像文件进行校验;
校验镜像包头的步骤包括:
基于镜像包头中的包头校验码,对镜像包头进行校验。
在其中一个实施例中,将分块镜像文件烧写至只读存储器中相应的地址段之前还包括步骤:
独占只读存储器的写权限。
在其中一个实施例中,独占只读存储器的写权限的步骤包括:
通知各应用及业务程序,获取并锁定只读存储器的写权限。
在其中一个实施例中,接收升级服务器传输的分块镜像文件之前还包括步骤:
在接收到升级启动信号时,与升级服务器建立通信链路。
一种软件升级装置,包括:
服务器文件传输模块,用于将任一分块镜像文件传输给设备;
分块镜像文件用于指示设备将分块镜像文件烧写至相应的待升级区域;分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的。
一种软件升级装置,包括:
设备文件接收模块,用于接收升级服务器传输的分块镜像文件;
设备烧写模块,用于将分块镜像文件烧写至相应的待升级区域。
一种升级服务器,升级服务器用于执行上述从升级服务器角度实施的软件升级方法的步骤。
在其中一个实施例中,升级服务器为网管服务器或安装有server程序的PC。
一种设备,设备用于执行上述实施例中从设备角度实施的软件升级方法的步骤。
在其中一个实施例中,设备为嵌入式设备。
一种软件升级系统,包括升级服务器以及连接升级服务器的设备;升级服务器用于上述从升级服务器角度实施的软件升级方法的步骤;设备用于执行上述从设备角度实施的软件升级方法的步骤。
在其中一个实施例中,升级服务器为网管服务器或安装有server程序的PC。
在其中一个实施例中,设备为嵌入式设备。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述软件升级方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
将整体体积较为庞大的软件升级镜像,合理地划为若干小块(即分块镜像文件),利用网络逐个地传输到设备上;设备把分块镜像文件逐个的写入到相应的待升级区域。可多次重复,直到全部分块镜像文件被接收完毕,全部的待升级区域被更新,最终实现对系统镜像的完整升级。具体的,根据升级镜像文件分块得到的分块镜像文件体积小,且设备可将分块镜像文件烧写至待升级区域,进而完成软件升级。分块镜像文件相对于升级镜像文件来说,减少了升级过程中对设备存储资源的占用,确保设备稳定运行。基于本申请,无需改变现有软件状况,无需中断业务,可提高系统稳定性及用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为一个实施例中软件升级方法的应用环境图;
图2为一个实施例中从升级服务器角度实施的软件升级方法的第一示意性流程示意图;
图3为一个实施例中从升级服务器角度实施的软件升级方法的第二示意性流程示意图;
图4为一个实施例中从设备角度实施的软件升级方法的第一示意性流程示意图;
图5为一个实施例中从设备角度实施的软件升级方法的第二示意性流程示意图;
图6为一个实施例中软件升级方法的第一流程示意图;
图7为一个实施例中软件升级方法的第二流程示意图;
图8为一种实施例中软件升级方法的数据传输过程示意图;
图9为一个实施例中一种从升级服务器角度实施的软件升级装置的结构框图;
图10为一个实施例中一种从设备角度实施的软件升级装置的结构框图;
图11为一个实施例中一种软件升级系统的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在应用编程技术(IAP:In Application Programming)的优点是只要设备可以联网或受网络管控,就可以实现升级,操作简单,业务中断时间短且可靠性高;同时IAP技术的显著特点是首先将整个需要更新的固件下载到本地之后再进行写入。这样做的优点包括:
首先,如果互联网临时终端或者嵌入式系统突然失去了互联网连接,写入的过程就不会意外中止,该系统也就不会停留在未知的状态上。其次,下载完整的镜像升级文件后可以让设备在写入之前对整个镜像升级文件进行验证。如果镜像升级文件中有错误或可疑的代码,那么就不执行更新。
但是,相对于动辄数GB内存,数TB硬盘资源的PC(personal computer,个人计算机)及服务器,通常嵌入式设备的硬件系统的存储资源非常有限,数Mbit(兆比特)的内存运行业务程序已然不易,还要挑起执行IAP的重担;嵌入式设备中体积有限的FLASH(FlashEEPROM Memory,闪存)系统占用率已经很高还要临时存放下载的镜像升级文件。倘若遇到内存或FLASH存储资源不足的情况,IAP技术就被资源所限制,不能发挥其作用。如果按常规解决方式,嵌入式设备必须要停止一部分应用及业务程序,把占用的内存、FLASH等资源释放出来,以供嵌入式设备的升级agent程序进行网络下载、存储升级镜像文件。如此将导致正常业务的中断,影响设备稳定运行的同时也会造成用户体验差。
而本申请通过将升级镜像文件分块为分块镜像文件,减小升级过程中对设备存储资源的占用,进而解决升级镜像文件对设备存储资源占用过大的问题。
本申请提供的软件升级方法,可以应用于如图1所示的应用环境中。具体的,升级服务器104连接设备102;设备102从升级服务器104上获取升级固件。其中,升级服务器104可以但不限于是各种服务器,例如网管服务器、安装有server程序的PC;设备102可以但不限于是各种嵌入式设备。升级服务器104的传输协议可以是TFTP(Trivial File TransferProtocol,简单文件传输协议),也可以是FTP(File Transfer Protocol,文件传输协议)或HTTP(HyperText Transfer Protocol,超文本传输协议),但不同的协议需要设备102支持相应的下载客户端。
需要说明的是,本申请中相应的特征,可通过软件升级方法中的数据传输过程及升级服务器104和设备102中相应的功能特征来得以体现。
在一个实施例中,如图2所示,提供了一种软件升级方法,以该方法应用于图1中的升级服务器104为例进行说明,包括以下步骤:
步骤202,将任一分块镜像文件传输给设备;分块镜像文件用于指示设备将分块镜像文件烧写至相应的待升级区域。
其中,分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的;
待升级区域可以是设备102用于存储固件的只读存储器中相应的地址段,只读存储器可以是ROM(Read-Only Memory,只读存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)和FLASH;更优地,只读存储器为FLASH。
升级镜像文件可以是Squashfs格式的升级镜像文件,JFFS2格式的升级镜像文件、ramdisk格式的升级镜像文件、yaffs2格式的升级镜像文件、cramfs格式的升级镜像文件或其它格式的升级镜像文件。
分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的,分块得到的各分块镜像文件之间的体积可以不同也可以相同。优选的,通过BIN(BINary,二进制)文件分割工具对升级镜像文件进行分块。
进一步的,分块镜像文件可以附带镜像控制信息;镜像控制信息用于指示设备将分块镜像文件烧写至只读存储器中相应的地址段。
需要说明的是,分块镜像文件附带的控制信息可以包含镜像块序号,镜像块在FLASH的起始地址、结束地址、校验和等,用于指示设备对分块镜像文件的烧写;
在一个具体的示例中,镜像控制信息可以为镜像包头。
进一步的,在将任一分块镜像文件传输给设备之前还包括步骤:
根据预设分块数目和只读存储器的分区状况,得到各分块镜像文件对应的镜像包头。
在一个具体的示例中,镜像包头可以包括镜像分块序号、烧写起始地址以及烧写结束地址。优选的,镜像包头还可以包括镜像校验码和包头校验码。
上述以升级服务器角度实施的软件升级方法,由于将体积较大的升级镜像文件分块为体积较小的分块镜像文件,进而,将体积较小的分块镜像文件传输到设备102,能够减少升级过程中对设备102中的存储资源的占用,存储资源指的是内存剩余资源以及只读存储器的剩余资源。
在一个实施例中,如图3所示,提供了一种软件升级方法,以该方法应用于图1中的升级服务器104为例进行说明,包括以下步骤:
S302,根据升级镜像文件,制作预设分块数目的分块镜像文件。
其中,预设分块数目为根据设备102的内存剩余资源和升级镜像文件的体积得到的。
具体的,制作得到的各分块镜像文件之间的体积可以不同也可以相同。优选的,通过BIN(BINary,二进制)文件分割工具对升级镜像文件进行分块。
具体的,设预设分块数目N;获取设备102的内存剩余资源S及升级镜像文件的体积T,并基于如下公式得到N值可取的范围:
N>T/S
从上述N值可取的范围中确定预设分块数目N。
S304,根据预设分块数目和只读存储器的分区状况,得到各分块镜像文件对应的镜像包头。
其中,镜像包头包括镜像分块序号、烧写起始地址、烧写结束地址、镜像校验码和包头校验码;镜像分块序号表示各分块镜像文件对应在升级镜像文件分块过程中的次序。只读存储器在上述实施例中已经说明,这里不再赘述。
具体的,根据预设分块数目得到镜像分块序号;根据序号和只读存储器的分区状况得到烧写起始地址和烧写结束地址;根据分块镜像文件计算得到镜像校验码;根据镜像包头计算得到包头校验码。
需要说明的是,镜像校验码可以是CRC(Cyclic Redundancy Check)校验码或校验和;包头校验码可以是校验和。
S306,将任一分块镜像文件传输给设备。
其中,分块镜像文件附带镜像控制信息;镜像控制信息用于指示设备将分块镜像文件烧写至只读存储器中相应的地址段。
需要说明的是,一方面,步骤S302及步骤S306可以由升级服务器完成;另一方面,步骤S302及步骤S304也可以由其它服务器执行,并将得到的分块镜像文件传输到升级服务器中,进而由升级服务器执行步骤S306。
上述从升级服务器104角度实施的软件升级方法,N值可取的范围实际上表示了由预设分块数目N分块得到的分块镜像文件的体积(T/N)小于设备102的内存剩余资源S,使得制作得到的分块镜像文件的体积能够完整放入设备102的内存剩余资源中,无需通过停止一部分应用及业务程序释放内存剩余资源,确保升级过程中设备102稳定运行。
进一步的,镜像包头中的烧写起始地址和烧写结束地址可以让设备102将分块镜像文件直接烧写到正确的地址段中,提高升级效率和稳定性;镜像校验码和包头校验码可以让设备102通过校验获知分块镜像文件和镜像包头中是否存在错误或可疑的代码,避免在升级完成后才发现问题,进一步提高了设备102在升级过程中的效率和稳定性。
在一个实施例中,如图4所示,提供了一种软件升级方法,以该方法应用于图1中的设备102为例进行说明,包括以下步骤:
步骤S402,接收升级服务器传输的分块镜像文件。
具体的,将分块镜像文件接收到内存中。
步骤S404,将分块镜像文件烧写至相应的待升级区域。
其中,待升级区域为只读存储器中相应的地址段。只读存储器在上述实施例中已经说明,这里不再赘述。
另外,分块镜像文件在上述实施例中已经有所提及,这里不再赘述。
具体的,基于分块镜像文件附带的镜像包头,将分块镜像文件烧写至只读存储器中相应的地址段。
需要说明的是,上述步骤实际上是由设备102中的升级agent程序执行。
分块镜像文件有多个,循环执行上述步骤,直至各分块镜像文件都烧写至只读存储器中后,设备102应当重启加载系统和应用。
上述从设备102角度实施的软件升级方法中,由于设备102接收到的是体积较小的分块镜像文件,而不是体积较大的升级镜像文件,进而能够减少升级过程中对设备102中的存储资源的占用,存储资源指的是内存剩余资源以及只读存储器的剩余资源。
在一个实施例中,如图5所示,提供了一种软件升级方法,以该方法应用于图1中的设备102为例进行说明,包括以下步骤:
S502,接收升级启动信号;在接收到升级启动信号时,与升级服务器建立通信链路。
其中,通信链路的传输协议可以是TFTP,也可以是FTP或HTTP。但不同的协议需要设备102支持相应的下载客户端。
具体的,通过网管或其他手段向设备102发送升级启动信号。
S504,接收升级服务器传输的分块镜像文件。
其中,分块镜像文件在上述实施例中已经说明,这里不再赘述。
具体的,将分块镜像文件接收到内存中。
S506,校验分块镜像文件和/或镜像包头;在校验失败时,重新接收升级服务器传输的分块镜像文件。
其中,镜像包头在上述实施例中已经说明,这里不再赘述。
具体的,基于镜像包头中的镜像校验码,对分块镜像文件进行校验;基于镜像包头中的包头校验码,对镜像包头进行校验。其中的镜像校验码和包头校验码在上述实施例中已经说明,这里不再赘述。
S508,独占只读存储器的写权限。
其中,只读存储器在上述实施例中已经说明,这里不再赘述。
其中,独占的方式通过利用操作系统互斥锁或控制ROM写保护信号来实现。
具体的,通知各应用及业务程序,获取并锁定只读存储器的写权限。
S510,将分块镜像文件烧写至相应的待升级区域。
其中,待升级区域为只读存储器中相应的地址段。
具体的,基于分块镜像文件附带的镜像包头,将分块镜像文件烧写至只读存储器中相应的地址段。进一步的,基于分块镜像文件附带的镜像包头中的烧写起始地址和烧写结束地址,将分块镜像文件烧写至只读存储器中相应的地址段。
需要说明的是,上述步骤可以由设备102中的升级agent程序执行。
分块镜像文件有多个,循环执行上述步骤,直至各分块镜像文件都烧写至只读存储器中后,设备102应当重启加载系统和应用。
上述从设备102角度实施的软件升级方法中,由于设备102接收到的是体积较小的分块镜像文件,而不是体积较大的升级镜像文件,且设备102先接收分块镜像文件到内存中,进而能够减少升级过程中对设备102中内存剩余资源的占用,而且后续直接烧写分块镜像文件到只读存储器的相应地址段中,同样减少了对只读存储器的剩余资源的占用。
进一步的,基于镜像校验码和基于包头校验码的校验,保证分块镜像文件的完整性和有效性才进行烧写;独占只读存储器的写权限,避免设备102中的各应用及业务程序在运行时向只读存储器写入数据,导致升级失败;镜像包头中的烧写起始地址和烧写结束地址确保了分块镜像文件能够被准确写入只读存储器中相应的地址段;综上,提高了升级的有效性和安全性,避免升级失败。
下面结合一个具体的实例对本申请进行阐述,结合升级服务器和设备两个角度说明,其中设备是嵌入式设备。
如图6及图7所示,软件升级方法具体可以包括以下的步骤:
步骤1:根据完整的升级镜像文件制作N个分块镜像文件,N值确定需要根据要升级设备正常运行状况下的内存剩余资源S和升级镜像文件的体积T而确定;
具体的,N值的可取范围为N>T/S。
步骤2:根据确定的N值及设备ROM分区状况,为每个分块镜像文件的生成相应分块镜像文件的镜像包头,便于网络传输校验及镜像烧写;
步骤3:把这些分块镜像文件放置于升级服务器上;
其中,上述三个步骤如图6所示。
步骤4:当决定需要升级时,通过网管或其他手段在设备上启动升级agent程序,与升级服务器的镜像升级server建立通信链路;
需要说明的是,在与升级服务器的镜像升级server建立通信链路时包括图7所示的步骤:
获取升级服务器的配置信息,包括下载协议、IP及其它参数;
升级agent程序监听控制信号,当监听到控制信号为升级启动信号时,确认需要升级,否则继续监听。
步骤5:升级agent程序按照约定顺序下载分块镜像文件到内存,并根据镜像包头中的校验码校验分块镜像文件及对应的镜像包头的合法性,校验不过的需要丢弃并重新下载分块镜像文件。
具体的,升级agent程序按照约定顺序下载分块镜像文件到内存之前,还包括如图7所示的开启下载工具的步骤;同时在根据镜像包头中的校验码做有效性校验之前,还包括如图7所示的解析分块镜像文件及对应的镜像包头的步骤。
步骤6:校验通过后,升级agent程序通知各应用及业务程序,获取ROM的写权限,然后开始锁定ROM的写权限。把内存中下载的分块镜像文件写入到ROM中。
需要说明的是,步骤6中的获取并锁定ROM的写权限也即如图7所示的获取ROM控制权,说明步骤6中的获取并锁定ROM的写权限的步骤可以在步骤5之前执行。另外,如图7所示,在分块镜像文件写入到ROM中的待升级区域后,标记该写入分块镜像文件的区域为升级完成。
步骤7:判断待升级区域是否升级完毕,若否则重新下载新的分块镜像文件,直到所有的分块镜像文件被下载、写入到ROM中。
步骤8:在确认待升级区域升级完毕后,重启加载系统,重启应用,至此升级完毕。
在一个具体的示例中,步骤1中,升级镜像文件包括Squashfs,JFFS2、ramdisk、yaffs2、cramfs这几种嵌入式系统较常用的文件系统格式的升级镜像文件。
在一个具体的示例中,步骤2中,镜像包头内容包括如下元素:
1、镜像分块序号:表明是第几块分块镜像文件;
2、起始地址:镜像在FLASH(也可以为上述步骤中的ROM)中的烧写起始地址;
3、结束地址:镜像在FLASH(也可以为上述步骤中的ROM)中的烧写结束地址;
4、镜像校验码:分块镜像文件的CRC格式校验码或校验和;
5、包头校验码:分块镜像文件的校验和。
在一个具体的示例中,上述步骤3中,升级服务器可以是设备的网管服务器也可以是安装有server程序的PC。升级服务器的传输协议可以是TFTP,也可以是FTP或HTTP。但不同的协议需要设备支持相应的下载客户端。
在一个具体的示例中,升级agent程序是一个运行在设备中的管理程序,其主要作用是:
1、按照不同的协议启动不同的分块镜像文件下载客户端。
2、与设备的管理应用程序及业务程序通信,传递状态消息。
3、按照镜像包头操作ROM,执行升级操作。
在一个具体的示例中,步骤5中,分块镜像文件的下载顺序不做限定,可按顺序下载分块镜像文件升级,也可随机下载分块镜像文件升级。
在一个具体的示例中,步骤6中,的锁定是指独占ROM的写权限,由于镜像的文件系统类型有的是只读文件系统,有的是读写文件系统。为防止升级过程中有运行程序改写ROM中的固件,所以需要独占ROM的写权限。独占的方式通过利用操作系统互斥锁或控制ROM写保护信号来实现。
下面结合图8所示,说明软件升级方法中分块镜像文件具体的传输过程。
图8中的软件升级Server即为升级服务器,软件升级Server包含有升级镜像文件,对升级镜像文件进行分块后,制作得到分块镜像文件(图8中的新镜像part 1、新镜像part2至新镜像part N)。
升级agent开启下载工具后,通过网络下载软件升级Server中的分块镜像文件,如图8所示,将新镜像part 3下载到内存的空闲空间(即内存剩余资源)中。
如图8所示,校验合格后的新镜像part 1和新镜像part 2依次烧写到ROM中的系统软件镜像空间中,其中新镜像part 1已经写入到ROM中,新镜像part 2正在写入到ROM中。
对于体积有限的FLASH来说,设备系统对FLASH的占用率已经很高,如果还要临时存放下载的固件,IAP技术就被FLASH的存储资源所限制,不能发挥其作用。如果按常规解决方式,必须要停止一部分应用及业务程序,把占用的内存等资源释放出来,以供升级agent程序进行网络下载、存储升级镜像。如此将导致正常业务的中断,影响系统稳定性的同时也会照成用户体验差。
而上述软件升级方法,基于化整为零的思想,实现了在系统资源有限的条件下,完成对嵌入式设备较大体积镜像的升级,而且业务及管控程序无需中断,保证用户体验不受影响、结合升级agent程序可靠的管理算法,可有效地支撑嵌入式设备运维领域的软件升级的应用。
应该理解的是,虽然图2至7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种从升级服务器角度实施的软件升级装置,包括:
服务器文件传输模块910,用于将任一分块镜像文件传输给设备;分块镜像文件用于指示设备将分块镜像文件烧写至相应的待升级区域;分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的。
在一个具体的示例中,还包括:
分块镜像文件制作模块,用于在将任一分块镜像文件传输给设备之前,根据升级镜像文件,制作预设分块数目的分块镜像文件。
其中,预设分块数目为根据设备的内存剩余资源和升级镜像文件的体积得到的。
在一个具体的示例中,分块镜像文件附带镜像控制信息;镜像控制信息用于指示设备将分块镜像文件烧写至只读存储器中相应的地址段。
在一个具体的示例中,镜像控制信息为镜像包头;还包括:
镜像包头模块,用于在将任一分块镜像文件传输给设备之前,根据预设分块数目和只读存储器的分区状况,得到各分块镜像文件对应的镜像包头。
在一个具体的示例中,镜像包头包括镜像分块序号、烧写起始地址以及烧写结束地址。
在一个具体的示例中,镜像包头还包括镜像校验码和包头校验码。
在一个实施例中,如图10所示,提供了一种从设备角度实施的软件升级装置,包括:
设备文件接收模块1010,用于接收升级服务器传输的分块镜像文件;
设备烧写模块1030,用于将分块镜像文件烧写至相应的待升级区域。
在一个具体的示例中,待升级区域为只读存储器中相应的地址段;设备烧写模块1030基于分块镜像文件附带的镜像包头,将分块镜像文件烧写至只读存储器中相应的地址段。
在一个具体的示例中,还包括:
校验模块,用于在将分块镜像文件烧写至相应的待升级区域的步骤之前,校验分块镜像文件和/或镜像包头;在校验失败时,重新接收升级服务器传输的分块镜像文件。
在一个具体的示例中,校验模块包括:
分块镜像文件校验模块,用于基于镜像包头中的镜像校验码,对分块镜像文件进行校验;
镜像包头校验模块,用于基于镜像包头中的包头校验码,对镜像包头进行校验。
在一个具体的示例中,还包括:
写权限独占模块,用于在将分块镜像文件烧写至只读存储器中相应的地址段之前,独占只读存储器的写权限。
进一步的,写权限独占模块,用于在将分块镜像文件烧写至只读存储器中相应的地址段之前,通知各应用及业务程序,获取并锁定只读存储器的写权限。
在一个具体的示例中,还包括:
升级启动信号接收模块,用于在接收到升级启动信号时,与升级服务器建立通信链路。
关于软件升级装置(从服务器角度实施的软件升级装置或从设备角度实施的软件升级装置)的具体限定可以参见上文中对于软件升级方法(从服务器角度实施的软件升级方法或从设备角度实施的软件升级方法)的限定,在此不再赘述。上述软件升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种升级服务器,升级服务器用于执行上述从升级服务器角度实施的软件升级方法的步骤。
在一个具体的示例中,升级服务器为网管服务器或安装有server程序的PC。
在一个实施例中,提供了一种设备,设备用于执行上述实施例中从设备角度实施的软件升级方法的步骤。
在一个具体的示例中,设备为嵌入式设备。
在一个实施例中,如图11所示,提供了一种软件升级系统,包括升级服务器以及连接升级服务器的设备;升级服务器用于上述从升级服务器角度实施的软件升级方法的步骤;设备用于执行上述从设备角度实施的软件升级方法的步骤。
在一个具体的示例中,升级服务器为网管服务器或安装有server程序的PC。
在一种具体的示例中,设备为嵌入式设备。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的软件升级系统的限定,具体的软件升级系统可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行上述任一项的软件升级方法(从服务器角度实施的软件升级方法、从设备角度实施的软件升级方法)。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (23)

1.一种软件升级方法,其特征在于,包括:
将任一分块镜像文件传输给设备;所述分块镜像文件用于指示所述设备将所述分块镜像文件烧写至相应的待升级区域;
所述分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的。
2.根据权利要求1所述的软件升级方法,其特征在于,所述预设分块数目为根据所述设备的内存剩余资源和所述升级镜像文件的体积得到的;
在将任一分块镜像文件传输给设备之前还包括步骤:
根据所述升级镜像文件,制作所述预设分块数目的所述分块镜像文件。
3.根据权利要求1或2所述的软件升级方法,其特征在于,所述分块镜像文件附带镜像控制信息;所述镜像控制信息用于指示所述设备将所述分块镜像文件烧写至只读存储器中相应的地址段。
4.根据权利要求3所述的软件升级方法,其特征在于,所述镜像控制信息为镜像包头;
在将任一分块镜像文件传输给设备之前还包括步骤:
根据所述预设分块数目和所述只读存储器的分区状况,得到各所述分块镜像文件对应的所述镜像包头。
5.根据权利要求3所述的软件升级方法,其特征在于,所述镜像包头包括镜像分块序号、烧写起始地址以及烧写结束地址。
6.根据权利要求4所述的软件升级方法,其特征在于,所述镜像包头还包括镜像校验码和包头校验码。
7.一种软件升级方法,其特征在于,包括:
接收升级服务器传输的分块镜像文件;
将所述分块镜像文件烧写至相应的待升级区域。
8.根据权利要求7所述的软件升级方法,其特征在于,所述待升级区域为只读存储器中相应的地址段;
将所述分块镜像文件烧写至相应的待升级区域的步骤包括:
基于所述分块镜像文件附带的镜像包头,将所述分块镜像文件烧写至所述只读存储器中相应的地址段。
9.根据权利要求8所述的软件升级方法,其特征在于,将所述分块镜像文件烧写至相应的待升级区域的步骤之前还包括步骤:
校验所述分块镜像文件和/或所述镜像包头;
在所述校验失败时,重新接收所述升级服务器传输的分块镜像文件。
10.根据权利要求7所述的软件升级方法,其特征在于,
校验所述分块镜像文件的步骤包括:
基于镜像包头中的镜像校验码,对所述分块镜像文件进行校验;
校验所述镜像包头的步骤包括:
基于所述镜像包头中的包头校验码,对所述镜像包头进行校验。
11.根据权利要求8至10任意一项所述的软件升级方法,其特征在于,将所述分块镜像文件烧写至所述只读存储器中相应的地址段之前还包括步骤:
独占所述只读存储器的写权限。
12.根据权利要求11所述的软件升级方法,其特征在于,独占所述只读存储器的写权限的步骤包括:
通知各应用及业务程序,获取并锁定所述只读存储器的写权限。
13.根据权利要求7至10任意一项所述的软件升级方法,其特征在于,接收升级服务器传输的分块镜像文件之前还包括步骤:
在接收到升级启动信号时,与所述升级服务器建立通信链路。
14.一种软件升级装置,其特征在于,包括:
服务器文件传输模块,用于将任一分块镜像文件传输给设备;
所述分块镜像文件用于指示所述设备将所述分块镜像文件烧写至相应的待升级区域;所述分块镜像文件为根据预设分块数目对升级镜像文件进行分块得到的。
15.一种软件升级装置,其特征在于,包括:
设备文件接收模块,用于接收升级服务器传输的分块镜像文件;
设备烧写模块,用于将所述分块镜像文件烧写至相应的待升级区域。
16.一种升级服务器,其特征在于,所述升级服务器用于执行权利要求1至6中任意一项所述软件升级方法的步骤。
17.根据权利要求16所述的升级服务器,其特征在于,所述的升级服务器为网管服务器或安装有server程序的PC。
18.一种设备,其特征在于,所述设备用于执行权利要求7至13中任意一项所述软件升级方法的步骤。
19.根据权利要求18所述的设备,其特征在于,所述的设备为嵌入式设备。
20.一种软件升级系统,其特征在于,包括升级服务器以及连接所述升级服务器的设备;
所述升级服务器用于执行权利要求1至6中任意一项所述软件升级方法的步骤;
所述设备用于执行权利要求7至13中任意一项所述软件升级方法的步骤。
21.根据权利要求20所述的软件升级系统,其特征在于,所述的升级服务器为网管服务器或安装有server程序的PC。
22.根据权利要求20所述的软件升级系统,其特征在于,所述设备为嵌入式设备。
23.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任意一项所述的方法的步骤。
CN201811049386.XA 2018-09-10 2018-09-10 软件升级方法、装置及升级服务器和设备 Pending CN109002312A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811049386.XA CN109002312A (zh) 2018-09-10 2018-09-10 软件升级方法、装置及升级服务器和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811049386.XA CN109002312A (zh) 2018-09-10 2018-09-10 软件升级方法、装置及升级服务器和设备

Publications (1)

Publication Number Publication Date
CN109002312A true CN109002312A (zh) 2018-12-14

Family

ID=64592205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811049386.XA Pending CN109002312A (zh) 2018-09-10 2018-09-10 软件升级方法、装置及升级服务器和设备

Country Status (1)

Country Link
CN (1) CN109002312A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032377A (zh) * 2019-03-19 2019-07-19 芯讯通无线科技(上海)有限公司 通信模块软件升级方法、系统及通信模块
CN110990043A (zh) * 2019-12-23 2020-04-10 四川虹美智能科技有限公司 智能家电中嵌入式设备及其在线升级方法、升级服务器
CN111240722A (zh) * 2020-01-07 2020-06-05 翱捷科技(上海)有限公司 空中升级固件的方法及其所应用的终端、服务器及系统
CN112000355A (zh) * 2020-08-21 2020-11-27 青岛海尔科技有限公司 用于固件升级的方法及装置、家电设备
CN112286566A (zh) * 2020-12-30 2021-01-29 延锋伟世通电子科技(南京)有限公司 一种基于usb传输的汽车仪表差分升级方法
CN113590168A (zh) * 2021-07-29 2021-11-02 百度在线网络技术(北京)有限公司 嵌入式设备升级方法、装置、设备、介质及程序产品
CN114301779A (zh) * 2021-12-15 2022-04-08 迈普通信技术股份有限公司 一种镜像文件配置方法、装置,ap设备及网络系统
CN110032377B (zh) * 2019-03-19 2024-06-07 芯讯通无线科技(上海)有限公司 通信模块软件升级方法、系统及通信模块

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515967A (zh) * 2009-03-18 2009-08-26 中兴通讯股份有限公司 一种终端固件空中下载装置及方法
CN101930375A (zh) * 2010-08-26 2010-12-29 深圳市共进电子有限公司 单用户光网络单元中内存空间自适应的程序数据升级方法
CN103488501A (zh) * 2013-09-09 2014-01-01 青岛海信宽带多媒体技术有限公司 光网络终端设备及其系统软件升级方法
CN105373404A (zh) * 2015-11-25 2016-03-02 青岛海信宽带多媒体技术有限公司 软件镜像烧录方法及设备
CN106909425A (zh) * 2017-03-03 2017-06-30 中国电子科技集团公司第五十四研究所 一种dsp和fpga系统在线升级方法
CN108345466A (zh) * 2018-05-09 2018-07-31 烽火通信科技股份有限公司 一种onu升级方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515967A (zh) * 2009-03-18 2009-08-26 中兴通讯股份有限公司 一种终端固件空中下载装置及方法
CN101930375A (zh) * 2010-08-26 2010-12-29 深圳市共进电子有限公司 单用户光网络单元中内存空间自适应的程序数据升级方法
CN103488501A (zh) * 2013-09-09 2014-01-01 青岛海信宽带多媒体技术有限公司 光网络终端设备及其系统软件升级方法
CN105373404A (zh) * 2015-11-25 2016-03-02 青岛海信宽带多媒体技术有限公司 软件镜像烧录方法及设备
CN106909425A (zh) * 2017-03-03 2017-06-30 中国电子科技集团公司第五十四研究所 一种dsp和fpga系统在线升级方法
CN108345466A (zh) * 2018-05-09 2018-07-31 烽火通信科技股份有限公司 一种onu升级方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032377A (zh) * 2019-03-19 2019-07-19 芯讯通无线科技(上海)有限公司 通信模块软件升级方法、系统及通信模块
CN110032377B (zh) * 2019-03-19 2024-06-07 芯讯通无线科技(上海)有限公司 通信模块软件升级方法、系统及通信模块
CN110990043A (zh) * 2019-12-23 2020-04-10 四川虹美智能科技有限公司 智能家电中嵌入式设备及其在线升级方法、升级服务器
CN111240722A (zh) * 2020-01-07 2020-06-05 翱捷科技(上海)有限公司 空中升级固件的方法及其所应用的终端、服务器及系统
CN112000355A (zh) * 2020-08-21 2020-11-27 青岛海尔科技有限公司 用于固件升级的方法及装置、家电设备
CN112000355B (zh) * 2020-08-21 2023-10-24 青岛海尔科技有限公司 用于固件升级的方法及装置、家电设备
CN112286566A (zh) * 2020-12-30 2021-01-29 延锋伟世通电子科技(南京)有限公司 一种基于usb传输的汽车仪表差分升级方法
CN113590168A (zh) * 2021-07-29 2021-11-02 百度在线网络技术(北京)有限公司 嵌入式设备升级方法、装置、设备、介质及程序产品
CN113590168B (zh) * 2021-07-29 2024-03-01 百度在线网络技术(北京)有限公司 嵌入式设备升级方法、装置、设备、介质及程序产品
CN114301779A (zh) * 2021-12-15 2022-04-08 迈普通信技术股份有限公司 一种镜像文件配置方法、装置,ap设备及网络系统
CN114301779B (zh) * 2021-12-15 2024-03-19 迈普通信技术股份有限公司 一种镜像文件配置方法、装置,ap设备及网络系统

Similar Documents

Publication Publication Date Title
CN109002312A (zh) 软件升级方法、装置及升级服务器和设备
CN110008757B (zh) 一种物联网终端固件更新中数据保护方法及系统
US20170250818A1 (en) Method and System for Securely Updating Field Upgradeable Units
US8555049B2 (en) Secure boot terminal, secure boot method, secure boot program, recording medium, and integrated circuit
US9690835B2 (en) System and method for providing a transactional command line interface (CLI) in a network environment
US11182403B2 (en) Systems and methods of launching new nodes in a blockchain network
CN110347414A (zh) 固件更新方法、装置、设备及计算机可读存储介质
CN110784495B (zh) 基于区块链的大数据集群系统的发现与配置信息管理方法
CN112688782B (zh) 一种组合式设备的远程证明方法及设备
WO2022142153A1 (zh) 电表升级方法、系统、智能电表及存储介质
CN109240721A (zh) 一种mcu在线升级的方法
CN105981332A (zh) 使用喷泉码广播管理信息
WO2022095734A1 (zh) 一种信息处理方法、装置、设备、系统、介质及程序
CN110995481A (zh) 配置方法、服务器及计算机可读存储介质
JP2023505844A (ja) パッケージベースリモートファームウェアアップデート
CN105045640A (zh) 一种软件升级方法、装置及智能设备
CN111353177A (zh) 一种基于区块链的隐私大文件存储系统
CN109375953B (zh) 一种操作系统启动方法及装置
KR20120111852A (ko) 사물통신에서 원격 소프트웨어를 분리 업그레이드하는 방법 및 장치
CN111522571B (zh) 设备升级方法、装置、终端设备及存储介质
WO2011023049A1 (zh) 下载方法和装置
CN113641391B (zh) 升级区块链系统的方法、装置及终端设备
CN115220796A (zh) 安全引导设备
CN112559349A (zh) 一种程序的运行方法及运行装置
CN111131198A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200108

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Address before: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Applicant before: COMBA TELECOM SYSTEMS (GUANGZHOU) Ltd.

Applicant before: COMBA TELECOM TECHNOLOGY (GUANGZHOU) Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181214