一种软件升级方法、装置、设备及介质与流程

文档序号:17357205发布日期:2019-04-09 21:47阅读:206来源:国知局
一种软件升级方法、装置、设备及介质与流程

本发明实施例涉及onu(opticalnetworkunit,光网络单元)终端技术领域,尤其涉及一种软件升级方法、装置、设备及介质。



背景技术:

宽带业务的高速发展,为各运营商宽带提速创造了需求。家庭中的电话线已经逐渐被光纤取代,而epon(ethernetpassiveopticalnetwork,以太无源光网络)是一种实现光纤到户的重要技术。epon是基于以太网的pon技术,采用点到多点结构、无源光纤传输,在以太网上提供多种业务。epon系统由局端设备olt(opticallineterminal,光线路终端)、onu以及odn(opticaldistributionnetwork,光分配网)组成。

epon系统在实际运行维护中,经常需要对onu的软件进行升级。然而由于不同运营商的onu的软件分区通常不同,例如,甲运营商的onu的软件被存储在c分区,c分区的空间大小为50m;而乙运营商的onu的软件被存储在d分区,且d分区的空间大小为100m,现需要将甲运营商onu的软件以及乙运营商onu的软件均升级为大小为100m的软件,且100m的升级软件被存储在onu的d分区,则由于甲运营商onu的原有软件所在分区(c分区)与乙运营商onu的原有软件分区(d分区)不同,导致无法对甲运营商onu的软件以及乙运营商onu的软件同时进行升级。因此,存在不同运营商的onu的软件无法被批量升级的问题。除非在uboot环境下将各onu的flash全部擦除,再进行新软件文件的写入操作;但是在这种方式下各onu的固有关键参数也同时被擦除,因此,还需要对各onu的固有关键参数进行重新写入,由于不同onu的固有关键参数不同,因此每次只能对一个onu进行固有关键参数的重新写入操作,故上述软件升级方式效率很低。



技术实现要素:

本发明实施例提供一种软件升级方法、装置、设备及介质,通过该方法提高了不同软件分区的onu的软件升级效率。

第一方面,本发明实施例提供了一种软件升级方法,所述方法包括:

判断是否接收到对当前各onu进行软件升级的指示,若是,则将当前各onu的固有关键参数备份至各自的内存;

将当前各onu的flash全部擦除;

基于升级文件对当前各onu的软件进行升级,同时将备份至各onu内存的固有关键参数写回至对应onu的flash;

其中,所述升级文件基于组播方式获取,当前各onu的数量为至少两个。

第二方面,本发明实施例提供了一种软件升级装置,所述装置包括:

判断模块,用于判断是否接收到对当前各onu进行软件升级的指示;

备份模块,用于当确定接收到对当前各onu进行软件升级的指示时,将当前各onu的固有关键参数备份至各自的内存;

擦除模块,用于将当前各onu的flash全部擦除;

升级模块,用于基于升级文件对当前各onu的软件进行升级,同时将备份至各onu内存的固有关键参数写回至对应onu的flash;

其中,所述升级文件基于组播方式获取,当前各onu的数量为至少两个。

第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的一种软件升级方法。

第四方面,本发明实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现如上述第一方面所述的一种软件升级方法。

本发明实施例提供的一种软件升级方法,通过判断是否接收到对当前各onu进行软件升级的指示,若是,则将当前各onu的固有关键参数备份至各自的内存;将当前各onu的flash全部擦除;基于升级文件对当前各onu的软件进行升级,同时将备份至各onu内存的固有关键参数写回至对应onu的flash;其中,所述升级文件基于组播方式获取,当前各onu的数量为至少两个的技术手段,实现了在软件升级前自动备份各onu的固有关键参数,从而在软件升级后无需对各onu的固有关键参数进行重新写入,提高了对各onu的软件进行升级的效率,且该软件升级方法适用于对不同分区的onu软件进行批量升级。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。

图1为本发明实施例一提供的一种软件升级方法流程示意图;

图2为本发明实施例二提供的一种软件升级方法流程示意图;

图3为本发明实施例二提供的另一种软件升级方法流程示意图;

图4为本发明实施例三提供的一种软件升级装置结构示意图;

图5为本发明实施例四提供的一种电子设备的结构示意图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例一提供的一种软件升级方法流程示意图。本实施例提供的一种软件升级方法适用于对不同分区的onu软件进行升级的情况,可以由软件升级装置来执行。其中该装置可由软件和/或硬件实现,一般集成在终端中,更具体的,例如集成在服务器中。具体参见图1所示,所述软件升级方法包括如下步骤:

步骤110、判断是否接收到对当前各onu进行软件升级的指示,若是,则执行步骤120。

具体的,所述判断是否接收到对当前各onu进行软件升级的指示,包括:

将所述升级文件的属性信息与当前各onu已有文件的属性信息进行匹配,若匹配失败,则确定接收到对当前各onu进行软件升级的指示,否则,确定未接收到对当前各onu进行软件升级的指示;所述属性信息包括:文件的大小信息以及文件所在的分区信息。

若升级文件的大小以及所在分区与当前各onu已有文件的大小以及所在分区均相同,则确定匹配成功,否则确定匹配失败,此时确定为接收到对当前各onu进行软件升级的指示。本实施例的技术方案旨在解决不同分区的各onu的软件升级问题,故当升级文件的大小以及所在分区与当前各onu已有文件的大小以及所在分区均不同时,则确定接收到对当前各onu进行软件升级的指示。

步骤120、将当前各onu的固有关键参数备份至各自的内存。

其中,各onu的固有关键参数具体包括:各onu的mac地址,设备id以及设备型号。将当前各onu的固有关键参数备份至各自的内存的过程实质是:从flash中存储有固有关键参数的分区中读取固有关键参数到内存的过程。

步骤130、将当前各onu的flash全部擦除。

步骤140、基于升级文件对当前各onu的软件进行升级,同时将备份至各onu内存的固有关键参数写回至对应onu的flash。

其中,所述升级文件基于组播方式获取,当前各onu的数量为至少两个。所述组播方式具体为组播服务器同时向多个onu发送升级文件的方式。基于升级文件对当前各onu的软件进行升级,具体为将升级文件写入各onu的flash,由于各onu的flash已经被全部擦除,因此,不论各onu的原有软件文件被存储在哪个分区均不会对当前的升级造成影响,可将升级文件写入flash的任意位置,同时为了保留各onu的固有关键参数,当升级文件写入完成后,将备份至各onu内存的固有关键参数写回至对应onu的flash。通常在与升级文件匹配的uboot中携带有升级文件的分区信息,故可根据uboot中携带的升级文件的分区信息将升级文件写入与所述分区信息对应的flash存储空间。

本实施例提供的一种软件升级方法,在对各onu的flash进行全部擦除之前,将各onu的固有关键参数备份至各自的内存,当升级文件写入完成后,再将备份至各自内存的固有关键参数写回至对应onu的flash,实现了对不同分区的onu软件进行升级时,自动保留onu固有关键参数的目的,且可实现对各onu进行批量升级,无需一一地升级,提高了不同分区软件的升级效率。

实施例二

图2为本发明实施例二提供的一种软件升级方法流程示意图。在上述实施例的基础上,本实施例对软件升级过程进行了具体化。具体参见图2所示,所述方法包括如下步骤:

步骤210、判断是否接收到对当前各onu进行软件升级的指示,若是,则执行步骤220。

步骤220、将当前各onu的固有关键参数备份至各自的内存。

具体的,可通过当前各onu的uboot将当前各onu的固有关键参数分区备份至各自的内存,来实现对各onu的固有关键参数的备份。所述固有关键参数分区具体指存储固有关键参数的文件。各onu的固有关键参数可以以很多种形式存在,例如各种格式的文件或者特殊的编码等,且这些固有关键参数通常会被加密,而uboot只是一个底层的系统初始化程序,其不具备解密或者解析各种文件的能力,因此,可直接通过将固有关键参数分区进行备份,以实现对固有关键参数的备份。

步骤230、将当前各onu的flash全部擦除。

步骤240、把新的uboot文件烧写至当前各onuflash的第一预设位置。

其中,所述新的uboot文件基于组播方式获取,且所述新的uboot文件包括固有关键参数所在的分区信息以及升级文件所在的分区信息。所述第一预设位置可由工程人员进行设定。

步骤250、将备份至各onu内存的固有关键参数写回至对应onuflash的空余位置。

其中,将备份至各onu内存的固有关键参数写回至对应onuflash的空余位置具体为,例如,将1号onu内存的固有关键参数写回至1号onuflash的空余位置,该空余位置指未被新的uboot文件占用的flash的任意位置,用于对各onu的固有关键参数进行临时存储,当将升级文件写入flash完成时,再进一步将各onu的固有关键参数写入与新的uboot文件携带的固有关键参数所在分区信息对应的flash位置。要完成升级文件的写入操作,需重启当前各onu新的uboot,因此,为了保留各onu的固有关键参数,在重启前,需将内存中的固有关键参数写回至flash的空余位置进行临时存储。

步骤260、重启当前各onu的uboot,将当前各onuflash中的固有关键参数备份至各自的内存。

重启当前各onu的uboot之后,需要将当前各onuflash中的固有关键参数再次备份至各自的内存,以腾出flash空间,使升级文件被写入指定的位置,该指定的位置由当前各onu的uboot指定。

步骤270、基于当前各onu的uboot中存储的升级文件所在的分区信息将所述升级文件保存至当前各onuflash的对应分区;基于当前各onu的uboot中存储的固有关键参数所在的分区信息将备份至各onu内存的固有关键参数回写至各onuflash的对应位置。

本实施例提供的一种软件升级方法,当检测到写入完成标志时,将当前各onuflash中的固有关键参数备份至各自的内存,并基于当前各onu的uboot中存储的升级文件所在的分区信息将所述升级文件保存至当前各onuflash的对应分区,基于当前各onu的uboot中存储的固有关键参数所在的分区信息将备份至各onu内存的固有关键参数回写至各onuflash的对应位置的技术手段,实现了对不同分区的onu软件进行升级时,自动保留onu固有关键参数的目的,且可实现对各onu进行批量升级,提高了不同分区软件的升级效率。

在上述实施例的基础上,参见图3所示的另一种软件升级方法流程示意图,该方法包括:

步骤310、各onu开机。

步骤320、判断是否接收到组播流,若是则执行步骤330a,否则执行步骤330b。

其中,所述组播流用于给各onu发送升级文件,若onu接收到组播流,则表示需要对该onu进行软件升级,否则执行onu的其他正常工作流程。

步骤330a、下载升级文件。

步骤330b、执行其他正常工作流程。

步骤340、判断是否检测到各onuflash中的完成标志,若是,则执行步骤350,否则执行步骤360。

若检测到各onuflash中的完成标志,则表示当前各onu满足对各不同分区的软件进行升级的条件;若没有检测到各onuflash中的完成标志,则表示当前各onu不满足对各不同分区的软件进行升级的条件,或者表示需要对当前各onu相同分区的软件进行升级操作。所述完成标志在对各onu的uboot进行升级时设置。

步骤350、将固有关键参数分区从flash中读取至内存,将升级文件保存至当前各onuflash的对应分区,将备份至内存的固有关键参数回写至各onuflash的对应位置,删除flash中的完成标志,继续步骤390。

步骤360、进行升级操作。

步骤370、判断升级是否成功,若是,则执行步骤390,否则执行步骤380。

若对不同分区的软件进行升级操作,则步骤370的判断结果为升级失败,因为升级文件的大小以及分区信息与各onu已有文件的大小以及分区信息不匹配,故无法升级成功。对不同分区的软件进行升级操作,可优先升级各onu的uboot,因为新的uboot的起始地址以及长度均与各onu原有uboot的起始地址以及长度相同,故可完成uboot的升级,且新的uboot携带有升级文件的分区信息。

步骤380、把各onu的固有关键参数备份至各自的内存,将各onu的flash全部擦除,将新的uboot烧写至各onu的flash,把备份至各自内存的固有关键参数写回至flash,在flash中设置完成标志,重启各onu,并返回步骤310。

步骤390、开启闪烁灯,提示升级完成。

实施例三

图4为本发明实施例三提供的一种软件升级装置结构示意图,参见图4所示,所述装置包括:判断模块410、备份模块420、擦除模块430和升级模块440;

其中,判断模块410,用于判断是否接收到对当前各onu进行软件升级的指示;备份模块420,用于当确定接收到对当前各onu进行软件升级的指示时,将当前各onu的固有关键参数备份至各自的内存;擦除模块430,用于将当前各onu的flash全部擦除;升级模块440,用于基于升级文件对当前各onu的软件进行升级,同时将备份至各onu内存的固有关键参数写回至对应onu的flash;其中,所述升级文件基于组播方式获取,当前各onu的数量为至少两个。

进一步的,判断模块410具体用于:

将所述升级文件的属性信息与当前各onu已有文件的属性信息进行匹配,若匹配失败,则确定接收到对当前各onu进行软件升级的指示,否则,确定未接收到对当前各onu进行软件升级的指示。所述属性信息包括:文件的大小信息以及文件所在的分区信息。

进一步的,备份模块420具体用于:

将当前各onu的固有关键参数分区备份至各自的内存。

进一步的,所述装置还包括:uboot升级模块,用于在基于升级文件对当前各onu的软件进行升级之前,把新的uboot文件烧写至当前各onuflash的第一预设位置;将备份至各onu内存的固有关键参数写回至对应onuflash的空余位置;在当前各onuflash的第二预设位置写入完成标志,以标识当前各onu满足升级条件;其中,所述新的uboot文件基于组播方式获取,且所述新的uboot文件包括固有关键参数所在的分区信息以及升级文件所在的分区信息。

进一步的,升级模块440包括:

重启单元,用于重启当前各onu的uboot;

备份单元,用于将当前各onuflash中的固有关键参数备份至各自的内存;

升级单元,用于基于当前各onu的uboot中存储的升级文件所在的分区信息将所述升级文件保存至当前各onuflash的对应分区;

回写单元,用于基于当前各onu的uboot中存储的固有关键参数所在的分区信息将备份至各onu内存的固有关键参数回写至各onuflash的对应位置。

进一步的,所述装置还包括:删除模块,用于在基于升级文件对当前各onu的软件进行升级,同时将备份至各onu内存的固有关键参数写回至对应onu的flash之后,删除当前各onuflash的第二预设位置存储的写入完成标志。

本实施例提供的一种软件升级装置,在对各onu的flash进行全部擦除之前,将各onu的固有关键参数备份至各自的内存,当升级文件写入完成后,再将备份至各自内存的固有关键参数写回至对应onu的flash,实现了对不同分区的onu软件进行升级时,自动保留onu固有关键参数的目的,且可实现对各onu进行批量升级,无需一一地升级,提高了不同分区软件的升级效率。

实施例四

图5为本发明实施例四提供的一种电子设备的结构示意图。如图5所示,该电子设备包括:处理器670、存储器671及存储在存储器671上并可在处理器670上运行的计算机程序;其中,处理器670的数量可以是一个或多个,图5中以一个处理器670为例;处理器670执行所述计算机程序时实现如上述实施例中所述的一种软件升级方法。如图5所示,所述电子设备还可以包括输入装置672和输出装置673。处理器670、存储器671、输入装置672和输出装置673可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器671作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中一种软件升级方法对应的程序指令/模块(例如,软件升级装置中的判断模块410、备份模块420、擦除模块430和升级模块440等)。处理器670通过运行存储在存储器671中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的一种软件升级方法。

存储器671可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器671可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器671可进一步包括相对于处理器670远程设置的存储器,这些远程存储器可以通过网络连接至电子设备/存储介质。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置672可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置673可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种软件升级方法,该方法包括:

判断是否接收到对当前各onu进行软件升级的指示,若是,则将当前各onu的固有关键参数备份至各自的内存;

将当前各onu的flash全部擦除;

基于升级文件对当前各onu的软件进行升级,同时将备份至各onu内存的固有关键参数写回至对应onu的flash;

其中,所述升级文件基于组播方式获取,当前各onu的数量为至少两个。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的一种软件升级方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,存储介质,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1