CN110659052B - 网络设备中系统软件的更新方法、系统及可读存储介质 - Google Patents
网络设备中系统软件的更新方法、系统及可读存储介质 Download PDFInfo
- Publication number
- CN110659052B CN110659052B CN201910943875.8A CN201910943875A CN110659052B CN 110659052 B CN110659052 B CN 110659052B CN 201910943875 A CN201910943875 A CN 201910943875A CN 110659052 B CN110659052 B CN 110659052B
- Authority
- CN
- China
- Prior art keywords
- module
- system software
- updating
- bootloader
- software
- 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.)
- Active
Links
Images
Classifications
-
- 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
Abstract
本发明公开网络设备中系统软件的更新方法、系统及可读存储介质;其中,网络设备中系统软件的更新方法包括当网络设备启动时,使用启动装载程序bootloader模块读取网络设备中数据库内的系统更新标志信息;当bootloader模块读取系统更新标志信息成功时,使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备;使用downloader模块从云端服务器下载最新版本的系统软件,将网络设备当前的系统软件更新至最新版本的系统软件。本发明的技术方案能解决现有技术中为了实现对系统软件的更新,需要对bootloader自身进行更新,一旦bootloader自身更新失败,容易导致网络失败的系统无法运行或功能破坏,无法继续更新系统软件的问题。
Description
技术领域
本发明涉及软件更新技术领域,尤其涉及一种网络设备中系统软件的更新方法、系统及可读存储介质。
背景技术
随着网络技术的不断发展,网络设备已无处不在,并在人们生活中扮演着重要角色。另外,越来越多的网络设备不断向智能化方向发展,其内置的系统软件也越来越复杂,如何实现系统软件的更新也成了网络设备必须考虑的问题。
现有的支持系统软件更新的网络设备,其系统软件更新方式主要包括两种:一是在网络设备自身存储器中集成bootloader(启动装载,一种系统启动前引导程序),用以支持系统软件的更新;二是直接在系统软件中自集成升级更新功能模块,当发现系统软件需要更新时启动该升级更新功能模块完成软件更新。
其中,系统软件中自集成升级更新功能模块的升级方式是最不安全的一种升级方式,如果在系统软件升级过程中出错或者断电将直接导致网络设备的系统破坏,无法继续运行正常的升级功能,必须返厂维修。由于自集成升级更新功能模块的上述缺陷,因此现今更多的网络设备采用内置bootloader的方案更新系统软件。由于bootloader和系统软件相互分离,因此在系统软件更新的过程中,因升级程序出错或断电导致网络设备的系统破坏后,网络设备还可以再次进入bootloader模式继续完成上次未完成的系统软件更新。然而,随着越来越多的网络设备不断向着智能化方向发展,网络设备内置的系统软件也越来越复杂;这样导致bootloader本身也需要复杂和强大的升级功能来支撑系统软件的安全更新。升级功能的复杂化必然导致越来越多的bug或者安全漏洞的产生;严重的bug可能会破坏系统软件,并且严重的漏洞也将方便攻击者利用来攻击系统软件,造成严重的安全问题。
要解决上述bootloader升级功能复杂化导致的安全问题,需要考虑升级bootloader本身。然而,bootloader一般用于系统软件安装前的引导与更新;在bootloader自身更新的过程中,如果发生错误或者异常断电的情况,其导致的后果同样严重:bootloader更新失败将直接导致网络设备的系统无法运行或者升级功能破坏,进而无法继续更新系统软件。
发明内容
本发明提供一种系统软件的更新方法、系统及可读存储介质,旨在解决现有技术中需要更新bootloader,然而bootloader自身更新失败,容易导致网络设备的系统无法运行或者升级功能破坏,无法继续更新系统软件的问题。
为实现上述目的,根据本发明的第一方面,本发明提出了一种网络设备中系统软件的更新方法,该网络设备中系统软件的更新方法包括:
当网络设备启动时,使用启动装载程序bootloader模块读取网络设备中数据库内的系统更新标志信息;
当bootloader模块读取系统更新标志信息成功时,使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备;
使用downloader模块从云端服务器下载最新版本的系统软件,将网络设备当前的系统软件更新至最新版本的系统软件。
优选地,将网络设备当前的系统软件更新至最新版本的系统软件的步骤之后,网络设备中系统软件的更新方法还包括:清除数据库内的系统更新标志信息并重新启动网络设备。
优选地,在使用bootloader模块读取网络设备中数据库内的系统更新标志信息的步骤之后,网络设备中系统软件的更新方法还包括:
当bootloader模块未读取到系统更新标志消息时,使用bootloader模块校验网络设备当前的系统软件;
当bootloader模块对网络设备当前的系统软件校验成功时,使用bootloader模块启动系统软件;
当bootloader模块对网络设备当前的系统软件校验失败时,则重新执行使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备的步骤。
优选地,bootloader模块启动系统软件的步骤之后,网络设备中系统软件的更新方法还包括:
使用系统软件检测云端服务器是否存在最新版本的系统软件;
若云端服务器存在最新版本的系统软件,则在数据库中写入系统更新标志信息。
优选地,在使用bootloader模块从云端服务器下载downloader模块到网络设备的步骤之后,网络设备中系统软件的更新方法还包括:
使用bootloader模块校验下载的downloader模块;
当downloader模块校验成功时,使用bootloader模块将downloader模块写入内存,执行使用downloader模块从云端服务器下载最新版本的系统软件的步骤;
当downloader模块校验失败时,清除数据库内的系统更新标志信息并重新启动网络设备。
根据本发明的第二方面,本发明还提供了一种网络设备中系统软件的更新系统,包括:
信息读取模块,用于当网络设备启动时,使用启动装载程序bootloader模块读取网络设备中数据库内的系统更新标志信息;
程序下载模块,用于当bootloader模块读取系统更新标志信息成功时,使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备;
软件下载模块,用于使用downloader模块从云端服务器下载最新版本的系统软件;
软件更新模块,用于使用downloader模块将网络设备当前的系统软件更新至最新版本的系统软件。
优选地,网络设备中系统软件的更新系统,还包括:
清除模块,用于清除数据库内的系统更新标志信息;
重启模块,用于重新启动网络设备。
优选地,网络设备中系统软件的更新的系统,还包括:
软件校验模块,用于当bootloader模块未读取到系统更新标志消息时,使用bootloader模块校验网络设备当前的系统软件;
软件启动模块,用于当bootloader模块对网络设备当前的系统软件校验成功时,使用bootloader模块启动系统软件;
程序下载模块,还用于当bootloader模块对网络设备当前的系统软件校验失败时,则重新执行使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备的步骤。
优选地,网络设备中系统软件的更新系统,还包括:
软件检测模块,用于使用系统软件检测云端服务器是否存在最新版本的系统软件;
更新写入模块,用于若云端服务器存在最新版本的系统软件,则在数据库中写入系统更新标志信息。
根据本发明的第三方面,还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有上述网络设备中系统软件的更新程序,系统软件的更新程序被处理器执行时实现如上述任一项技术方案所述的系统软件的更新方法的步骤。
本申请提出的技术方案,仅在传统的启动装载程序bootloader模块内集成下载功能,而实现系统软件更新的功能则作为专门的软件更新程序保存于云端服务器中,这样就实现了bootloader模块自启动功能与系统软件下载更新功能的分离。当网络设备启动时,启动装载程序bootloader模块在数据库中读取到系统更新标志信息时,说明需要更新网络设备中系统软件,此时bootloader模块仅需要从云端服务器下载软件更新程序downloader模块到网络设备中即可,然后downloader模块将从云端服务器下载最新版本的系统软件,将当前的系统软件更新至最新版本的系统软件,从而不需要在bootloader中集成更新系统软件的功能,不需要由bootloader自己下载和更新系统软件,进而解决了现有技术中的bootloader需要经常更新bootloader自身,一旦自身更新失败,容易导致网络设备系统破坏,无法继续更新系统软件的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施例提供的一种硬件运行环境的装置结构示意图;
图2是本发明实施例提供的第一种网络设备中系统软件的更新方法的流程示意图;
图3是本发明实施例提供的第二种网络设备中系统软件的更新方法的流程示意图;
图4是本发明实施例提供的第三种网络设备中系统软件的更新方法的流程示意图;
图5是本发明实施例提供的第四种网络设备中系统软件的更新方法的流程示意图;
图6是本发明实施例提供的第五种网络设备中系统软件的更新方法的流程示意图;
图7是本发明实施例提供的第六种网络设备中系统软件的更新方法的流程示意图;
图8是本发明实施例提供的第一种网络设备中系统软件的更新系统的结构示意图;
图9是本发明实施例提供的第二种网络设备中系统软件的更新系统的结构示意图;
图10是本发明实施例提供的第三种网络设备中系统软件的更新系统的结构示意图;
图11是本发明实施例提供的第四种网络设备中系统软件的更新系统的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
因为系统软件越来越复杂多样,网络设备中对系统软件进行更新的bootloader模块本身也需要复杂和强大的升级功能支撑系统软件的安全更新;导致bootloader模块产生越来越多的bug或者安全漏洞。现有技术中是依靠对bootloader模块的不断升级而解决上述问题的。然而bootloader程序在自身更新的过程中,若发生错误或断电等情况,将导致严重后果。
本发明针对上述问题,提出以下主要解决方案是:
当网络设备启动时,使用启动装载程序bootloader模块读取网络设备中数据库内的系统更新标志信息;该系统更新标志信息用于通知网络设备下载与更新系统软件。
然后,当bootloader模块读取系统更新标志信息成功时,使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备。
最后,再由downloader模块从云端服务器下载最新版本的系统软件,将网络设备的当前的系统软件更新至最新版本的系统软件。
本发明提供的解决方案,由于bootloader模块不再直接对系统软件进行下载和更新,而是只有下载功能;bootloader下载用于对系统软件进行更新的downloader模块,然后由downloader模块从云端服务器下载和更新系统软件。此时,由于bootloader模块不直接下载和更新系统软件,因此bootloader自身不需要复杂和强大的升级功能支撑系统软件的安全更新,这样就不需要经常更新bootloader,而是仅仅简单从云端服务器下载用于升级系统软件的最新版本的downloader模块即可实现对系统软件的更新。
为解决实现上述功能,本发明实施例提供一种解决方案。如图1所示,图1是本发明实施例提供的硬件运行环境的装置结构示意图。
本发明实施例装置可以为网络设备,具体为手机、电脑、pad等,也可为与网络设备连接的控制装置。如图1所示,该装置可以包括:处理器101,例如CPU,通信总线102、通信模块103以及存储器104。其中,通信总线102用于实现这些组件之间的连接通信。网络接口103可选的为无线接口(如WI-FI接口)、蓝牙接口以及ZIGBEE等无线网络接口。存储器104可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器104可选的还可以是独立于前述处理器101的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器104中可以包括操作系统以及网络设备中系统软件的更新程序。在图1所示的终端中,处理器101可以用于调用存储器104中存储的网络设备中系统软件的更新程序,并执行以下系统软件的更新方法的各个实施例中的操作。
相应地,本发明实施例提供的网络设备中系统软件的更新方法请参见图2;图2为本发明实施例提供的一种网络设备中系统软件的更新方法的流程示意图。如图2所示,该网络设备中系统软件的更新方法包括以下步骤:
S110:当网络设备启动时,使用启动装载程序bootloader模块读取网络设备中数据库内的系统更新标志信息。
系统更新标志信息用于提示bootloader云端服务器存在需要更新的系统软件,引导bootloader至云端服务器下载最新版本的downloader模块。其中该系统更新标志信息包括数据库中专门的系统更新标志位和其他更新系统软件的必要参数信息。其中,系统更新标志位可以为0或1,当系统更新标志位为1时,说明云端服务器存在需要更新的系统软件和用于下载和更新该系统软件的downloader模块;必要参数信息包括云端服务器存储该系统软件和downloader模块的网络地址等。
S120:判断bootloader模块是否成功读取系统更新标志信息。其中,可以在bootloader模块读取到系统更新标志信息中的系统更新标志位为1,且数据库中存在相应的必要参数信息时,则判定bootloader模块读取系统更新标志信息成功;若bootloader模块读取到系统更新标志信息中系统更新标志位为0,且数据库中相应位置并未存在必要参数信息时,判定bootloader模块读取到系统更新标志信息失败。
S130:当bootloader模块读取系统更新标志信息成功时,使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备。其中downloader模块均下载到网络设备的内存中。
在本申请的技术方案中,bootloader不需要实现下载和更新系统软件的功能,bootloader仅仅需要下载专门用于更新系统软件的downloader模块即可。由于bootloader模块不需要下载和更新系统软件,因此bootloader不需要复杂的升级功能支撑系统软件的安全更新,这样就不需要经常更新bootloader自身,减少bootloader自身出现的安全漏洞或bug。
S140:使用downloader模块从云端服务器下载最新版本的系统软件,将网络设备当前的系统软件更新至最新版本的系统软件。downloader模块自身具有校验该系统软件的公钥,可对该系统软件进行校验。系统软件将下载到网络设备的内存中。
downloader用于下载和更新最新版本的系统软件,将网络设备当前的系统软件更新至最新版本的系统软件,因此针对经常需要更新系统软件的情况,仅仅从云端服务器下载downloader模块即可;具体由云端服务器端匹配用于下载和更新上述最新版本的系统软件的downloader模块,本地的bootloader模块只需要下载该downloader模块即可将网络设备更新到该最新版本的系统软件。
本发明实施例提供的技术方案,仅在传统的启动装载程序bootloader模块内集成下载功能,而实现系统软件更新的功能则作为专门的软件更新程序保存于云端服务器中,这样就实现了bootloader模块自启动功能与系统软件下载更新功能的分离。当网络设备启动时,启动装载程序bootloader模块在数据库中读取到系统更新标志信息时,说明需要更新网络设备中系统软件,此时bootloader模块仅需要从云端服务器下载软件更新程序downloader模块到网络设备中即可,然后downloader模块将从云端服务器下载最新版本的系统软件,将当前的系统软件更新至最新版本的系统软件,从而不需要在bootloader中集成更新系统软件的功能,不需要由bootloader自己下载和更新系统软件,进而解决了现有技术中的bootloader需要经常更新bootloader自身,一旦bootloader自身更新失败,容易导致网络设备系统破坏,无法继续更新系统软件的问题。
另外,如图3所示,在图2所示实施例中步骤S140:将网络设备当前的系统软件更新至最新版本的系统软件的步骤之后,图3所示实施例提供的网络设备中系统软件的更新方法,除了图2所示的各步骤外还包括以下步骤:
S150:清除数据库内的系统更新标志信息并重新启动网络设备。
因为启动装载程序bootloader模块是在网络设备启动时读取网络设备的数据库内的系统更新标志信息的,因此在更新到最新版本的系统软件后,若不及时清除数据库内的系统更新标志信息,则在重新启动网络设备时,bootloader仍然会重复上述读取系统更新标志信息,下载和安装downloader模块的功能。本实施例的技术方案中,在清除数据库内的系统更新标志信息后,在重新启动网络设备时,启动装载程序bootloader不会读取到数据库内的系统更新标志信息,从而不会重复安装downloader模块,更不会更新系统软件。并且重新启动网络设备,新安装的最新版本的系统软件将开启并实现自身功能。
另外,在清除数据库内的系统更新标志信息并重启网络设备时,新安装的最新版本的系统软件需要开启运行,此时需要对该系统软件进行数字签名方式校验,以使得该系统软件稳定运行。
具体过程如图4实施例所示,在图2或图3所示步骤S110:使用bootloader模块读取网络设备中数据库内的系统更新标志信息之后,图4所示的网络设备中系统软件的更新方法还包括以下步骤:
S210:当bootloader模块未读取到系统更新标志消息时,使用bootloader模块校验网络设备当前的系统软件。校验方式为数字签名校验,bootloader模块集成有公钥,可以使用该公钥校验下载的downloader模块。
S220:判断bootloader模块对当前的系统软件是否校验成功。校验方式为数字签名校验。
S230:当bootloader模块对网络设备当前的系统软件校验成功时,使用bootloader模块启动系统软件。
系统软件安装成功,或者需要重新安装系统软件时均需要启动网络设备;此时需要bootloader模块读取系统更新标志消息消息,若bootloader模块未读取到系统更新标志消息时,要么说明当前系统软件为最新版本的系统软件,或者更新消息出现错误,此时可能当前的系统软件出现篡改。此时,使用bootloader模块校验网络设备当前的系统软件,能够确保当前系统软件的安全。
并且,当bootloader模块对网络设备当前的系统软件校验失败时,则重新执行使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备的步骤。
若bootloader模块对网络设备当前的系统软件校验失败,则说明网络设备当前的系统软件不可用(可能当前版本的系统软件出现非法篡改,或者当前版本的系统软件不适用于网络设备),此时使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备中,再使用downloader模块下载最新版本的系统软件取代网络设备当前的系统软件,从而使得网络设备能够正常运转。
另外,当前所更新的系统软件可能并不是最新版本的系统软件。为了将当前系统软件更新到最新版本的系统软件,作为一种优选的实施例,具体如图5所示,在图4实施例所示步骤S230:bootloader模块启动系统软件之后,图5所示实施例提供的网络设备中系统软件的更新方法除了图4所示的各个步骤外,还包括:
S240:使用系统软件检测云端服务器是否存在最新版本的系统软件。
S250:若云端服务器存在最新版本的系统软件,则在数据库中写入系统更新标志信息。
本申请实施例提供的技术方案中,系统软件自身能够检测云端服务器是否存在最新版本的系统软件,从而在云端服务器出现最新版本的系统软件时,在数据库中写入软件更新标志信息,以在网络设备重新启动时,bootloader检测到该系统更新标志信息,从而下载downloader模块,进行系统软件的更新。当然在系统软件检测到云端服务器存在最新版本的系统软件时,系统软件可以通知用户是否更新该系统软件,若用户同意更新时,则系统软件执行步骤S230中在数据库中写入系统更新标志信息。
另外,本申请上述实施例中是使用downloader模块进行系统软件的下载的,因此云端服务器端的downloader模块需要经常更新,这样downloader模块可能会出现漏洞或bug,甚至会出现非法篡改。
为了避免上述情况,如图6所示,作为一种优选的实施例,在图2所示实施例中步骤S130:使用bootloader模块从云端服务器下载downloader模块到网络设备的步骤之后,本实施例提供的网络设备中系统软件的更新方法还包括以下步骤:
S310:使用bootloader模块校验下载的downloader模块;其中校验方式能够为数字签名校验;bootloader模块可以使用集成于自身的公钥对下载的downloader模块进行校验。
S320:判断bootloader模块是否对downloader模块校验成功;若是,则使用bootloader模块将downloader模块写入内存,并执行上述步骤S140;若否,则执行步骤S330。
S330:当downloader模块校验失败时,清除数据库内的系统更新标志信息并重新启动网络设备。
本申请实施例提供的技术方案中,bootloader模块校验下载的downloader模块,这样当downloader模块校验成功,则说明downloader模块没有漏洞或bug,或者没有经过非法篡改,因此可以使用downloader模块下载和更新系统软件。如果downloader模块校验失败,则说明downloader模块存在漏洞或bug,或者经过非法篡改,这样就不能够使用该downloader模块下载云端服务器中的最新版本的系统软件,此时需要清除数据库内的系统更新标志并重启网络设备,使用当前版本的系统软件。
作为一种优选的实施例,参见图7,图7为本申请实施例提供的第七种网络设备中系统软件的更新方法的流程示意图。图7实施例的系统软件的更新方法中,所涉及的基本结构包括:启动装载bootloader模块,用于引导系统软件的启动,在本申请的方案中,还集成有网络下载和校验功能;云端服务器,此服务器用于存放最新版本的网络设备中系统软件和downloader模块;downloader模块,用于完成系统软件的校验和更新,由bootloader模块从云端服务器下载得到;系统软件,服务于用户,并自带后台检测系统软件更新的功能。
在图7所示实施例提供的系统软件的更新方法中,在本方案在传统bootloader技术基础上,不再集成复杂的升级模块,而是在bootloader模块中仅集成一个简单的网络下载程序。bootloader不负责更新系统软件,唯一职责就是使用该网络下载程序从云端服务器下载用于升级系统软件的升级模块downloader模块到内存中,并使用数字签名方式校验该升级程序downloader模块。在downloader通过校验后,将该downloader模块写入内存执行该downloader模块,由下载到内存的downloader模块完成更加复杂的系统软件更新功能。在任何时候downloader模块有新功能或者需求增加时,或者发现该升级程序downloader模块有bug或者安全漏洞时,直接更新替换云端服务器的downloader模块即可,网络设备下次收到系统软件更新时,就能从云端服务器上获得最新的升级程序downloader模块和系统软件。
其中,如图7所示,本实施例中的系统软件的更新方法包括以下步骤:
S401:启动网络设备。
S402:开启bootloader模块。
S403:判断bootloader模块是否成功读取系统更新标志信息;若是,则执行步骤S404;若否,则执行步骤S411。
S404:云端服务器下载最新版本的downloader模块。
S405:校验该downloader模块。
S406:判断downloader模块是否校验通过;若是则执行步骤S407;若否,则拒绝本次系统软件升级,清除数据库中系统更新标志信息。
S407:运行该downloader模块。
S408:下载系统软件并对该系统软件进行校验。
S409:判断系统软件是否校验通过;若是,则执行步骤S410;若否,则拒绝本次系统软件更新,清除数据库中系统更新标志信息。
S410:在内存中写入该系统软件,清除数据库中的系统更新标志信息,自动重启该网络设备。
S411:校验网络设备现有的系统软件。
S412:判断网络设备现有系统软件是否校验成功;若是,则执行步骤S413;若否,则执行步骤S404。
S413:将系统软件写入内存,启动该系统软件。
S414:系统软件启动后,其后台检测云端服务器有无需要更新的最新版本的系统软件;若有,则执行步骤S415;若无,则执行步骤S418。
S415:提示用户有软件更新,等待用户确认。
S416:确认是否升级本网络设备中系统软件;若是,则执行步骤S417;若否,则执行步骤S418。
S417:在数据库中写入系统更新标志信息。
S418:执行系统软件的其他服务。
基于上述方法实施例的同一构思,本发明实施例还提出了网络设备中系统软件的更新系统,用于实现本发明的上述方法,由于该系统实施例解决问题的原理与方法相似,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
参见图8,图8为本发明还提供了一种网络设备中系统软件的更新系统的结构示意图,如图8所示,该网络设备中系统软件的更新系统,包括:
信息读取模块801,用于当网络设备启动时,使用启动装载程序bootloader模块读取网络设备中数据库内的系统更新标志信息;
程序下载模块802,用于当bootloader模块读取系统更新标志信息成功时,使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备;
软件下载模块803,用于使用downloader模块从云端服务器下载最新版本的系统软件;
软件更新模块804,用于使用downloader模块将网络设备当前的系统软件更新至最新版本的系统软件。
本发明实施例提供的技术方案,仅在传统的启动装载程序bootloader模块内集成下载功能,而实现系统软件更新的功能则作为专门的软件更新程序保存于云端服务器中,这样就实现了bootloader模块自启动功能与系统软件下载更新功能的分离。当网络设备启动时,启动装载程序bootloader模块在数据库中读取到系统更新标志信息时,说明需要更新网络设备中系统软件,此时bootloader模块仅需要从云端服务器下载软件更新程序downloader模块到网络设备中即可,然后downloader模块将从云端服务器下载最新版本的系统软件,将当前的系统软件更新至最新版本的系统软件,从而不需要在bootloader中集成更新系统软件的功能,不需要由bootloader自己下载和更新系统软件,进而解决了现有技术中的bootloader需要经常更新bootloader自身,一旦自身更新失败,容易导致网络设备系统破坏,无法继续更新系统软件的问题。
另外,如图9所示,本实施例提供的网络设备中系统软件的更新系统,除了图8所示的各个结构模块外,还包括:
清除模块901,用于清除数据库内的系统更新标志信息;
重启模块902,用于重新启动网络设备。
另外,如图10所示,图10所示实施例提供的网络设备中系统软件的更新的系统,除了图8和图9所示实施例提供的各个模块外,还包括:
软件校验模块1001,用于当bootloader模块未读取到系统更新标志消息时,使用bootloader模块校验网络设备当前的系统软件;
软件启动模块1002,用于当bootloader模块对网络设备当前的系统软件校验成功时,使用bootloader模块启动系统软件;
程序下载模块802,还用于当bootloader模块对网络设备当前的系统软件校验失败时,则控制软件下载模块803重新执行使用bootloader模块从云端服务器下载软件更新程序downloader模块到网络设备的步骤。
另外,如图11所示,网络设备中系统软件的更新系统,还包括:
软件检测模块1101,用于使用系统软件检测云端服务器是否存在最新版本的系统软件;
更新写入模块1102,用于若云端服务器存在最新版本的系统软件,则在数据库中写入系统更新标志信息。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种网络设备中系统软件的更新方法,其特征在于,包括:
当所述网络设备启动时,使用启动装载程序bootloader模块读取所述网络设备中数据库内的系统更新标志信息;
当所述bootloader模块读取系统更新标志信息成功时,使用所述bootloader模块从云端服务器下载软件更新程序downloader模块到所述网络设备;
使用所述downloader模块从所述云端服务器下载最新版本的系统软件,将所述网络设备当前的系统软件更新至所述最新版本的系统软件。
2.如权利要求1所述的网络设备中系统软件的更新方法,其特征在于,所述将所述网络设备当前的系统软件更新至最新版本的系统软件的步骤之后,所述方法还包括:
清除所述数据库内的系统更新标志信息并重新启动所述网络设备。
3.如权利要求1或2所述的网络设备中系统软件的更新方法,其特征在于,在所述使用启动装载程序bootloader模块读取所述网络设备中数据库内的系统更新标志信息的步骤之后,所述方法还包括:
当所述bootloader模块未读取到所述系统更新标志消息时,使用所述bootloader模块校验所述网络设备当前的系统软件;
当所述bootloader模块对所述网络设备当前的系统软件校验成功时,使用所述bootloader模块启动所述系统软件;
当所述bootloader模块对所述网络设备当前的系统软件校验失败时,则重新执行所述使用所述bootloader模块从云端服务器下载软件更新程序downloader模块到所述网络设备的步骤。
4.如权利要求3所述的网络设备中系统软件的更新方法,其特征在于,所述bootloader模块启动所述系统软件的步骤之后,所述方法还包括:
使用所述系统软件检测云端服务器是否存在最新版本的系统软件;
若所述云端服务器存在最新版本的系统软件,则在所述数据库中写入所述系统更新标志信息,重新启动所述网络设备。
5.如权利要求1所述的网络设备中系统软件的更新方法,其特征在于,在所述使用所述bootloader模块从云端服务器下载软件更新程序downloader模块到所述网络设备的步骤之后,所述方法还包括:
使用所述bootloader模块校验下载的所述downloader模块;
当所述downloader模块校验成功时,执行所述使用所述downloader模块从所述云端服务器下载最新版本的系统软件的步骤;
当所述downloader模块校验失败时,清除所述数据库内的系统更新标志信息并重新启动所述网络设备。
6.一种网络设备中系统软件的更新系统,其特征在于,包括:
信息读取模块,用于当所述网络设备启动时,使用启动装载程序bootloader模块读取所述网络设备中数据库内的系统更新标志信息;
程序下载模块,用于当所述bootloader模块读取系统更新标志信息成功时,使用所述bootloader模块从云端服务器下载软件更新程序downloader模块到所述网络设备;
软件下载模块,用于使用所述downloader模块从所述云端服务器下载最新版本的系统软件;
软件更新模块,用于使用所述downloader模块将所述网络设备当前的系统软件更新至所述最新版本的系统软件。
7.如权利要求6所述的网络设备中系统软件的更新系统,其特征在于,还包括:
清除模块,用于清除所述数据库内的系统更新标志信息;
重启模块,用于重新启动所述网络设备。
8.如权利要求7所述的网络设备中系统软件的更新系统,其特征在于,还包括:
软件校验模块,用于当所述bootloader模块未读取到所述系统更新标志消息时,使用所述bootloader模块校验所述网络设备当前的系统软件;
软件启动模块,用于当所述bootloader模块对所述网络设备当前的系统软件校验成功时,使用所述bootloader模块启动所述系统软件;
所述程序下载模块,还用于当所述bootloader模块对所述网络设备当前的系统软件校验失败时,则重新执行所述使用所述bootloader模块从云端服务器下载软件更新程序downloader模块到所述网络设备的步骤。
9.如权利要求8所述的网络设备中系统软件的更新系统,其特征在于,还包括:
软件检测模块,用于使用所述系统软件检测云端服务器是否存在最新版本的系统软件;
更新写入模块,用于若所述云端服务器存在最新版本的系统软件,则在数据库中写入所述系统更新标志信息。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有网络设备中系统软件的更新程序,所述系统软件的更新程序被处理器执行时实现如权利要求1-5中任一项所述的网络设备中系统软件的更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943875.8A CN110659052B (zh) | 2019-09-30 | 2019-09-30 | 网络设备中系统软件的更新方法、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943875.8A CN110659052B (zh) | 2019-09-30 | 2019-09-30 | 网络设备中系统软件的更新方法、系统及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659052A CN110659052A (zh) | 2020-01-07 |
CN110659052B true CN110659052B (zh) | 2023-03-10 |
Family
ID=69038438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910943875.8A Active CN110659052B (zh) | 2019-09-30 | 2019-09-30 | 网络设备中系统软件的更新方法、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659052B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338701A (zh) * | 2020-02-25 | 2020-06-26 | 邦彦技术股份有限公司 | 一种网络设备启动方法和网络设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065118A (zh) * | 2010-09-16 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种网络设备升级方法及装置 |
CN103023871A (zh) * | 2012-11-16 | 2013-04-03 | 华中科技大学 | 一种基于云平台的Android权限提升攻击检测系统和方法 |
CN103488503A (zh) * | 2013-09-11 | 2014-01-01 | 天脉聚源(北京)传媒科技有限公司 | 软件更新方法及装置 |
CN109960521A (zh) * | 2019-03-20 | 2019-07-02 | 北京顺丰同城科技有限公司 | 应用程序升级方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003266A1 (en) * | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
CN1928818A (zh) * | 2005-09-09 | 2007-03-14 | 鸿富锦精密工业(深圳)有限公司 | 网络装置及其软件更新方法 |
US9557981B2 (en) * | 2011-07-26 | 2017-01-31 | Ford Global Technologies, Llc | Method and apparatus for automatic module upgrade |
CN102955702B (zh) * | 2011-08-23 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 一种软件安装及升级方法和装置 |
-
2019
- 2019-09-30 CN CN201910943875.8A patent/CN110659052B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065118A (zh) * | 2010-09-16 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种网络设备升级方法及装置 |
CN103023871A (zh) * | 2012-11-16 | 2013-04-03 | 华中科技大学 | 一种基于云平台的Android权限提升攻击检测系统和方法 |
CN103488503A (zh) * | 2013-09-11 | 2014-01-01 | 天脉聚源(北京)传媒科技有限公司 | 软件更新方法及装置 |
CN109960521A (zh) * | 2019-03-20 | 2019-07-02 | 北京顺丰同城科技有限公司 | 应用程序升级方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
嵌入式系统中双板Bootloader实现方法研究;单瑾;《成都电子机械高等专科学校学报》;20080615(第02期);全文 * |
模块化嵌入式人工智能软件的开发;赵鹏;《电子技术与软件工程》;20180425(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659052A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693139B (zh) | 一种无线升级手机软件的方法及系统 | |
CN109062598B (zh) | 一种安全的ota升级方法及系统 | |
CN102830984B (zh) | 固件更新的方法、芯片以及通信终端 | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
CN101697133A (zh) | 软件升级方法、软件升级系统以及客户端 | |
TWI533216B (zh) | 作業系統更新方法 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN104918114A (zh) | 一种操作系统升级方法及装置 | |
WO2018024198A1 (zh) | 机顶盒的应用程序升级方法、系统及机顶盒 | |
CN106775674B (zh) | 一种基于通用引导加载程序的设备及其启动方法 | |
WO2020029967A1 (zh) | 一种操作系统故障的修复方法和装置 | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
CN106210877A (zh) | 智能电视的系统升级方法及装置 | |
CN108920171A (zh) | 固件更新方法及装置、电子设备 | |
CN110659052B (zh) | 网络设备中系统软件的更新方法、系统及可读存储介质 | |
CN109375953B (zh) | 一种操作系统启动方法及装置 | |
EP3260981B1 (en) | Information processing apparatus, information processing system, and information processing method for updating firmware | |
CN103455750A (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN108121560A (zh) | 差分包升级方法、装置、终端及计算机可读存储介质 | |
CN111949290B (zh) | 一种热补丁管理方法、装置、电子设备及存储介质 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN112667444A (zh) | 一种系统升级方法、存储介质及终端设备 | |
CN105282614B (zh) | 一种模块电视的升级方法、模块电视及升级系统 | |
CN105594184A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Han Gaodian Inventor after: Zhang Peng Inventor before: Zhang Peng |