系统固件恢复方法及装置与流程

文档序号:16629900发布日期:2019-01-16 06:28阅读:176来源:国知局
系统固件恢复方法及装置与流程

本申请涉及通信设备技术领域,具体而言,涉及一种系统固件恢复方法及装置。



背景技术:

无线接入点(wirelessaccesspoint,简称ap)是一种将有线信号转换为无线信号提供给终端设备的通信设备。无线接入点的存储器(如flash)中配置有系统固件(firmware),在无线接入点上电后加载系统固件以实现无线接入点的功能。在一些情况下,例如,设备老化或突然断电,可能导致无线接入点的系统固件损坏,而无法正常启动工作,影响用户使用。现有技术中,常通过在无线接入点中额外存储备份的系统固件,在主用系统固件异常时通过备份系统固件启动。但这种方式中,备份系统固件会占用大量存储空间,并且无法保证在备份系统固件也出现异常时无线接入点可以继续启动工作。



技术实现要素:

第一方面,本申请提供一种系统固件恢复方法,应用于第一无线接入点,所述第一无线接入点预先配置有系统固件以及启动引导程序,所述方法包括:

所述第一无线接入点在上电启动时,对该第一无线接入点的系统固件进行完整性校验;

若校验不通过,则通过所述启动引导程序在所述无线通信网络中广播固件查询请求;

接收所述无线通信网络中的第二无线接入点针对所述固件查询请求回复的响应消息,向发送所述响应消息的第二无线接入点发送固件传输请求,以从发送所述响应消息的第二无线接入点获取系统固件。

第二方面,本申请提供一种系统固件恢复方法,应用于第二无线接入点,所述方法包括:

接收所述无线通信网络中的第一无线接入点广播的固件查询请求,所述固件查询请求中携带有所述第一无线接入点所需系统固件的特征信息;

将该第二无线接入点自身的系统固件的特征信息与所述固件查询请求中携的系统固件的特征信息进行比对;

若该第二无线接入点自身的系统固件的特征信息与所述固件查询请求中携的系统固件的特征信息相同,则向所述第一无线接入点发送响应消息;

在接收所述第一无线接入点根据所述响应消息发送的固件传输请求时,将该第二无线接入点的系统固件发送给所述第一无线接入点。

第三方面,本申请提供一种系统固件恢复装置,应用于无线通信网络中的第一无线接入点,所述无线通信网络中还包括与所述第一无线接入点通信的第二无线接入点,所述第一无线接入点预先配置有系统固件以及启动引导程序,所述装置包括:

校验模块,用于在所述第一无线接入点上电启动时,对该第一无线接入点的系统固件进行完整性校验;

查询模块,用于若校验不通过,则通过所述启动引导程序在所述无线通信网络中广播固件查询请求;

固件获取模块,用于接收所述无线通信网络中的第二无线接入点针对所述固件查询请求回复的响应消息,向发送所述响应消息的第二无线接入点发送固件传输请求,以从发送所述响应消息的第二无线接入点获取系统固件。

第四方面,本申请提供一种系统固件恢复装置,其特征在于,应用于无线通信网络中的第二无线接入点,所述装置包括:

接收模块,用于接收所述无线通信网络中的第一无线接入点广播的固件查询请求,所述固件查询请求中携带有所述第一无线接入点所需系统固件的特征信息;

比对模块,用于将该第二无线接入点自身的系统固件的特征信息与所述固件查询请求中携的系统固件的特征信息进行比对;

响应模块,用于若该第二无线接入点自身的系统固件的特征信息与所述固件查询请求中携的系统固件的特征信息相同,则向所述第一无线接入点发送响应消息;

固件传输模块,用于在接收所述第一无线接入点根据所述响应消息发送的固件传输请求时,将该第二无线接入点的系统固件发送给所述第一无线接入点。

相对于现有技术而言,本申请具有以下有益效果:

本申请实施例提供的系统固件恢复方法及装置,通过无线接入点配置的启动引导程序在上电时校验系统固件的完整性,并在校验不通过时从其他无线接入点处获取新的系统固件。如此,不需要无线接入点占用较大的空间存储备份的系统固件,也能实现在无线接入点系统固件损坏时,可以自动及时地恢复系统固件。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的无线接入点的应用场景示意图;

图2为本申请提供的系统固件恢复方法的应用场景示意图;

图3为本申请实施例提供的系统固件恢复方法的流程示意图之一;

图4为本申请实施例提供的系统固件恢复方法的流程示意图之二;

图5为本申请实施例提供的无线接入点的硬件结构示意图;

图6为本申请实施例提供的系统固件恢复装置的功能模块示意图之一;

图7为本申请实施例提供的系统固件恢复装置的功能模块示意图之二。

图标:100-无线接入点;100a-第一无线接入点;100b-第二无线接入点;110-系统固件恢复装置;111-校验模块;112-查询模块;113-固件获取模块;114-接收模块;115-比对模块;116-响应模块;117-固件传输模块;120-机器可读存储介质;130-处理器;200-网关;300-接入点控制器;400-公共网络;500-终端设备。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

请参照图1,图1为本实施例提供的无线通信网络的架构示意图,其中,多个无线接入点100与网关200通信连接,终端设备500接入无线接入点100后可以经无线接入点100及网关200访问公共网络400,并且多个无线接入点100之间可以通过网关200相互通信。无线通信网络还可以包括用于管理各无线接入点100的接入点控制器300(wirelessaccesspointcontroller,简称ac),各无线接入点100还可以与单独的接入点控制器300(wirelessaccesspointcontroller,简称ac)通信连接,或者,接入点控制器300也可以集成于网关200中。

在本实施例提供的方案中,任意无线接入点100在上电时,将其作为第一无线接入点对其系统固件进行检测,当检测到其系统固件出现异常时,该第一无线接入点向其他无线接入点100请求获得新的系统固件。其他已正常运作的无线接入点100则作为所述第二无线接入点在满足一定条件的情况下将自身的系统固件发送给第一无线接入点。下面对本实施例提供的方案进行详细阐述。例如,以图2为例,假设所述无线通信网络中当前上电启动进行系统固件校验的无线接入点100为第一无线接入点100a,其它当前正常运行的无线接入点100为第二无线接入点100b,下面结合图3和图4对本实施例的系统固件恢复方法进行详细说明。

请参照图3,图3为本实施例提供的一种应用于图2所示第一无线接入点100a的系统固件恢复方法,下面对该方法的各个步骤进行详细阐述。

步骤s110,第一无线接入点100a在上电启动时,对该第一无线接入点100a的系统固件的完整性进行校验。

在本实施例中,第一无线接入点100a的存储器中预先配置有系统固件以及启动引导程序(bootloader)。可选地,第一无线接入点100a的存储器可以被划分为至少两个分区,例如,可以包括系统分区及引导分区。其中,系统固件存储于系统分区,启动引导程序存储在引导分区。这样,在系统分区出现故障时,不会影响启动引导程序所在的分区。

第一无线接入点100a上电后先运行启动引导程序,通过启动引导程序读取系统分区的数据,并进行校验,也就是通过启动引导程序对系统固件的完整性进行校验。

若完整性校验不通过,说明系统固件可能出现损坏无法正常启动,该第一无线接入点100a需要获取新的系统固件才能正常工作,则进入步骤s120。

若完整性校验通过,则第一无线接入点100a加载系统固件执行正常的启动流程。

步骤s120,通过所述启动引导程序在所述无线通信网络中广播固件查询请求。

在本实施例中,第一无线接入点100a可以执行启动引导程序ip地址获取请求,例如,发送bootp或dhcp请求。ip地址获取请求被接入点控制器300接收到后,接入点控制器300响应该ip地址获取请求,向第一无线接入点100a回复为其分配的ip地址。

第一无线接入点100a在接收到分配的ip地址后就可以与无线通信网络中的其他无线接入点进行通信了,在本实施例中,第一无线接入点100a可以向无线通信网络中已经正常启动运行的第二无线接入点100b请求系统固件。

可选地,由于不同的无线接入点可能需要的系统固件不同,为使第一无线接入点100a可以获取到与自身匹配的系统固件,在本实施例中,第一无线接入点100a在生成固件查询请求时,在固件查询请求中加入该第一无线接入点100a所需的系统固件的特征信息,其中,系统固件的特征信息可以为所需系统固件的版本编号、该第一无线接入点100a的设备型号、生产批次、设备序列号或其他可以鉴别该第一无线接入点100a需要的系统固件的标识信息。

第一无线接入点100a广播的固件查询请求会被无线通信网络中的第二无线接入点100b接收到。第二无线接入点100b在接收到固件查询请求后,会将固件查询请求中的系统固件的特征信息与自身的系统固件的特征信息进行比对,若相符,说明该第二无线接入点100b的系统固件对于第一无线接入点100a也适用,第二无线接入点100b则会针对固件查询请求回复响应消息。

步骤s130,接收所述无线通信网络中的第二无线接入点100b针对所述固件查询请求回复的响应消息,向发送所述响应消息的第二无线接入点100b发送固件传输请求。

第一无线接入点100a接收到响应消息后,再向发送响应消息的第二无线接入点100b发送固件传输请求。例如,第一无线接入点100a接收到响应消息后,根据响应消息的源ip地址向相应的第二无线接入点100b发送固件传输请求。

在一种实现方式中,不同的第二无线接入点100b当前的负载情况可能不同,选择当前负载较轻的第二无线接入点100b向第一无线接入点100a传输系统固件可能对该第二无线接入点100b正在执行的其他任务影响会较小。故在一个例子中,第二无线接入点100b回复的响应消息中还可以携带该第二无线接入点100b的系统负载参数,所述系统负载参数可以表征该第二无线接入点100b当前的负载情况。如此,第一无线接入点100a针对在第一预设时长内接收到的响应消息,可以根据所述响应消息中携带的系统负载参数,向其中当前负载最轻的第二无线接入点100b发送固件传输请求。例如,第一无线接入点100a在5秒内收到3个第二无线接入点100b发送的响应消息,第一无线接入点100a根据响应消息中携带的系统负载参数,选取向当前负载最轻的第二无线接入点100b发送固件传输请求。

在另一种实现方式中,如果某个第二无线接入点100b当前的负载较轻,该第二无线接入点100b可以相对较快地回应第一无线接入点100a的固件查询请求,故在另一个例子中,第一无线接入点100a在接收到首个响应消息时,向发送该响应消息的第二无线接入点100b发送固件传输请求。

在又一种实现方式中,回复了响应信息的多个第二无线接入点100b也可能具有不同版本的系统固件,为使第一无线接入点100a可以获得最新的系统固件,在又一个例子中,第二无线接入点100b回复的响应消息中还可以携带该第二无线接入点100b的固件版本号,通过固件版本号可以区分系统固件相对较新的版本和相对较旧的版本。如此,第一无线接入点100a针对在第一预设时长内接收到的响应消息,可以根据所述响应消息中携带的固件版本号,向其中当前系统固件版本最新的第二无线接入点100b发送固件传输请求。

在一些情况下,有可能第一无线接入点100a所在的广播域内的第二无线接入点100b均没有该第一无线接入点100a需要的系统固件,该第一无线接入点100a无法从该广播域内获取到新的系统固件。故可选地,在本实施例中,若第一无线接入点100a在第二预设时长内未接收到第二无线接入点100b回复的响应消息,则向接入点控制器300发送固件获取请求,以使所述接入点控制器300从其他广播域的无线接入点或从文件服务为该无线接入点获取相应系统固件。其中,所述第二预设时长不小于所述第一预设时长。

可以理解的是,一些接入点控制器300本身可以存储无线接入点的系统固件,在本实施例中,这类接入点控制器300在接收到步骤s130中第一无线接入点100a广播的固件查询请求时,可以根据第一无线接入点100a的设备标识查询自身是否已存储有相应的系统固件。若查找到相应的系统固件,该接入点控制器300也可以向第一无线接入点100a回复响应消息。

请参照图4,本实施例还提供的一种应用于图2所示的第二无线接入点100b的系统固件恢复方法,下面对该方法的各个步骤进行详细阐述。

步骤s210,接收第一无线接入点100a广播的固件查询请求,该固件查询请求中携带有所述第一无线接入点100a所需系统固件的特征信息。

在本实施例中,第二无线接入点100b为已经正常启动运行且系统固件完整。第二无线接入点100b可以接收并识别其广播域内的第一无线接入点100a广播的固件查询请求,并从固件查询请求中获取第一无线接入点100a所需系统固件的特征信息。

步骤s220,将该第二无线接入点100b自身的系统固件的特征信息与固件查询请求中携的系统固件的特征信息进行比对。

不同无线接入点100使用的系统固件可能存在一些差异,故在本实施例中,第二无线接入点100b在接收到固件查询请求后,先将自身系统固件的特征信息与固件查询请求中携带的系统固件的特征信息进行比对,以判断该第二无线接入点100b自身的系统固件是否符合第一无线接入点100a的需求。

若该第二无线接入点100b自身的系统固件的特征信息与固件查询请求中携的系统固件的特征信息相同,说明该第二无线接入点100b的系统固件可以被第一无线接入点100a使用,则进入步骤s230。

若该第二无线接入点100b自身的系统固件的特征信息与固件查询请求中携的系统固件的特征信息不同,则第二无线接入点100b不响应该固件查询请求。

步骤s230,向所述第一无线接入点100a发送响应消息。

进一步地,如果某个第二无线接入点100b当前的负载较重,比如正在进行大流量的数据传输,那么此时该第二无线接入点100b可能不适合再添加向为第一无线接入点100a提供系统固件的任务。故在本实施例中,接收到固件查询请求的第二无线接入点100b在检查到其系统固件的特征信息与固件查询请求中携的系统固件的特征信息相同后,还可以先检测该第二无线接入点100b当前负载是否超过预设负载阈值。

若当前的负载未超过预设负载阈值,则响应第一无线接入点100a发送的固件查询请求,向该第一无线接入点100a回复响应消息。

若当前的负载超过了预设负载阈值,则可以不响应接收到的固件查询请求。

第一无线接入点100a可能接收到多个第二无线接入点100b发送的响应消息,可只针对其中一个响应消息发送固件传输请求,以从发送该相应消息的第二无线接入点100b获取系统固件。为使第一无线接入点100a可以选择从更合适的第二无线接入点100b获取系统固件,第二无线接入点100b回复的响应消息中还可以携带该第二无线接入点100b的当前负载参数或系统固件版本号等信息供第一无线接入点100a进行判断选择。

步骤s240,在接收所述第一无线接入点100a根据所述响应消息发送的固件传输请求时,将该第二无线接入点100b的系统固件发送给所述第一无线接入点100a。

也就是说,第一无线接入点100a发送固件传输消息后,接收到固件传输请求的第二无线接入点100b会将自身的系统固件通过ftp或tftp等协议发送给该第一无线接入点100a。

值得说明的是,在本实施例中,上述第一无线接入点100a及第二无线接入点100b并不限定为某个特定的无线接入点100。也就是说,当某个无线接入点检测到其系统固件异常时,都可以作为第一无线接入点100a向其他无线接入点100请求系统固件;而当这个无线接入点正常运行时,也可以作为第二无线接入点100b响应其他无线接入点发送的固件查询请求或固件传输请求。

请参照图5,图5是图1所示的无线接入点100的方框示意图。所述无线接入点100包括系统固件恢复装置110、机器可读存储介质120及处理器130。

所述机器可读存储介质120及处理器130相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述系统固件恢复装置110包括至少一个可以软件或固件(firmware)的形式存储于所述机器可读存储介质120中或固化在所述无线接入点100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器130用于执行所述机器可读存储介质120中存储的可执行模块,例如所述系统固件恢复装置110所包括的软件功能模块及计算机程序等。

请参照图6,当无线接入点100作为上述第一无线接入点100a时,从功能上划分,系统固件恢复装置110可以包括校验模块111、查询模块112及固件获取模块113。

校验模块111用于在第一无线接入点100a上电启动时,对该第一无线接入点100a的系统固件进行完整性校验。

本实施例中,所述校验模块111可用于执行图3所示的步骤s110,关于所述校验模块111的具体描述可参对所述步骤s110的描述。

查询模块112用于若校验不通过,则通过所述启动引导程序在所述无线通信网络中广播固件查询请求。

本实施例中,所述查询模块112可用于执行图3所示的步骤s120,关于所述查询模块112的具体描述可参对所述步骤s120的描述。

固件获取模块113用于接收所述无线通信网络中的第二无线接入点100b针对所述固件查询请求回复的响应消息,向发送所述响应消息的第二无线接入点100b发送固件传输请求,以从发送所述响应消息的第二无线接入点100b获取系统固件。

本实施例中,所述固件获取模块113可用于执行图3所示的步骤s130,关于所述固件获取模块113的具体描述可参对所述步骤s130的描述。

请参照图7,当无线接入点100作为第二无线接入点100b时,从功能上划分,固件恢复装置110可以包括接收模块114、比对模块115、响应模块116及固件传输模块117。

接收模块114用于接收所述无线通信网络中的第一无线接入点100a广播的固件查询请求,所述固件查询请求中携带有所述第一无线接入点100a所需系统固件的特征信息

本实施例中,所述接收模块114可用于执行图4所示的步骤s210,关于所述接收模块114的具体描述可参对所述步骤s210的描述。

比对模块115用于将该第二无线接入点100b自身的系统固件的特征信息与所述固件查询请求中携的系统固件的特征信息进行比对

本实施例中,所述比对模块115可用于执行图4所示的步骤s220,关于所述比对模块115的具体描述可参对所述步骤s220的描述。

响应模块116用于若该第二无线接入点100b自身的系统固件的特征信息与所述固件查询请求中携的系统固件的特征信息相同,则向所述第一无线接入点100a发送响应消息

本实施例中,所述响应模块116可用于执行图4所示的步骤s230,关于所述响应模块116的具体描述可参对所述步骤s230的描述。

固件传输模块117用于在接收所述第一无线接入点100a根据所述响应消息发送的固件传输请求时,将该第二无线接入点100b的系统固件发送给所述第一无线接入点100a。

本实施例中,所述固件传输模块117可用于执行图4所示的步骤s240,关于所述固件传输模块117的具体描述可参对所述步骤s240的描述。

应当说明的是,为了使得无线通信网络中的每个无线接入点在固件异常时可以使用其它正常的无线接入点的系统固件进行恢复,以及每个无线接入点在正常工作时,可以协助其它无线接入点进行系统固件的恢复,该无线通信网络中的每个无线接入点都可以包括图6和图7中所示的功能模块。

综上所述,本实施例提供的系统固件恢复方法及装置,通过无线接入点配置的启动引导程序在上电时校验系统固件的完整性,并在校验不通过时从其他无线接入点处获取新的系统固件。如此,不需要无线接入点占用较大的空间存储备份的系统固件,也能实现在无线接入点系统固件异常时,可以自动及时地恢复系统固件。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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