一种实现批量AP升级的方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种无线局域网(WLAN)中实现批量AP升级软件版本的方法及装置。
背景技术
随着无线技术的发展,在WLAN大规模布署中,一般采用AC(AccessController,无线控制器)+Fit AP(Fit Access Point,瘦无线终端)的组网方式。在这种组网方式下,AP只负责从无线到有线的数据转换和报文加密,其他诸如用户认证、QoS、网管、漫游、安全等高级特性则由性能更强的AC来实现,通过此种组网方式,实现了WLAN的集中管理和整体网络运营、管理成本的降低。
典型的AC+Fit AP组网结构如图1所示,在该图中,所述AP和AC之间通过L2或L3网络连接,并按照CAPWAP、LWAPP协议进行管理和控制报文的交互。其中,CAPWAP、LWAPP协议是IETF目前关于AC和Fit AP之间实现控制和管理标准化的协议标准。
以LWAPP为例,按照该协议,所述AC和Fit AP之间建立起2条隧道:控制隧道和数据隧道,具体如图2所示,其中:
1、控制隧道完成:
AP启动后发现AC,从AC上更新软件版本,并从AC上获取对应的配置参数。
AC控制AP的工作状态并配置AP的相关参数。
AC下发与在线无线用户相关的信息,例如密钥。
AC获取AP的统计信息和调试信息。
AC下发与rogue检测相关的命令,并从AP获取检测报告。
维护AC和AP之间的LWAPP连通。
2、数据隧道完成:
AP将所有无线用户发送的数据报文封装后发送给AC进行交换。
有线用户访问无线用户的报文在AC进行封装后发送给AP。
如前所述,AP的软件版本升级是通过控制隧道报文完成的。目前,WLAN厂商批量升级AP的流程大致如下:
AC上存储了AP的软件版本,AP每次上线时会将自己flash中存储的软件版本与AC上存储的版本相比较,如果不同,则从AC上下载版本到本地,覆盖原有软件版本,并以新软件版本进行重启。
然而,在现有的批量升级过程中,受限于AC的并发处理能力,从整体上来看,AP都是以串行的方式进行升级,举例来说,AP1先升级完成,AP2再开始升级…直到所有的AP升级完毕。而在整个过程中,排到最后的AP必须等前面所有的AP升级完毕才能恢复业务,即挂在这个AP上的用户在此期间都无法继续上网,现有批量升级下各AP的状态如图3所示。
进一步地,前述升级过程中的业务中断时间将随着网络规模的增加而增长,对于大规模的WLAN网络(如运营商WLAN网),AC下带的AP很多,一次AC版本升级会造成很长时间内的用户业务中断。平均总的业务中断时间(即所有用户无法正常使用业务的时间总和)为:
即:T=n*T1+(T2+T3)(1+n)n/2
其中:
n:总AP数目
T1:AC重启引起的AP上下线时间
T2:AP从AC上下载版本所需时间
T3:AP重启并上线所需时间
以一台AC带1000个AP(n=1000)为例,假设AC重启AP上下线10分钟(T1=600s),每个AP下载软件版本需10秒(T2=10s),重启并上线需70秒(T3=70s),总的业务中断时间为:T=11289小时。对于如此长的业务中断时间,显然不能为用户所接受。
发明内容
有鉴于此,本发明提供一种实现批量AP升级的方法和装置,将使得批量AP在升级过程中总的业务中断时间大幅减少。
为实现本发明目的,本发明实现方案具体如下:
一种批量AP升级的方法,应用于分布式无线局域网WLAN中的无线控制器AC,其中,所述方法包括:
步骤1、AC将AC升级版本软件以及AP升级版本软件保存在本地,并向AP下发AP升级命令;
步骤2、AC判断是否所有的AP均已通过AC与AP间的管理通道将升级的软件版本下载到AP本地,如果是,则进入步骤3,否则继续等待AP下载AC本地的AP升级版本软件;
步骤3、AC进行重启并将AC升级版本软件加载到内存中运行,然后向AP下发AP重启命令。
进一步地,所述AC下发AP升级命令中携带有AC升级版本软件的版本号信息。
进一步地,所述AC判断是否所有AP均已通过AC与AP间的管理通道将AP升级版本软件下载到AP本地,具体包括:
根据AP发送的下载报告确定是否所有AP均已将AP升级版本软件下载到AP本地;或者
AC通过定期轮询的方式来判断是否所有AP均已将AP升级版本软件下载到AP本地。
本发明同时提供一种批量AP升级的装置,应用于分布式无线局域网WLAN中的无线控制器AC上,其中该装置包括:版本处理单元、进度监管单元以及升级处理单元,其中
版本处理单元,用于将AC升级版本软件以及AP升级版本软件保存在本地,并向AP下发AP升级命令;
进度监管单元,用于判断是否所有的AP均已通过AC与AP间的管理通道将升级的软件版本下载到AP本地,如果是,转升级处理单元处理,否则继续等待AP下载AC本地的AP升级版本软件;
升级处理单元,控制AC进行重启并将AC升级版本软件加载到内存中运行,然后向AP下发AP重启命令。
进一步地,所述AP升级命令中携带有AC升级版本软件的版本号信息。
进一步地,进度监管单元进一步用于根据AP发送的下载报告确定是否所有AP均已将AP升级版本软件下载到AP本地;或者通过定期轮询的方式来判断是否所有AP均已将AP升级版本软件下载到AP本地。
本发明还提供一种AP升级的方法,应用于分布式无线局域网WLAN中的无线接入点AP,其中,所述方法包括:
步骤1、当接收到AC下发AP升级命令时,从AC获取AP升级版本软件并保存在本地;
步骤2、当接收到AC下发的重启命令时,执行重启并将AP升级版本软件加载到内存中运行。
进一步地,所述步骤1还包括:
将AP升级命令中携带的AC升级版本软件的版本信息保存在本地,当AP重新上线时,比较该AC升级版本软件的版本信息与本地保存的AP升级版本软件是否一致,如果是则继续。
进一步地,所述方法还包括:
响应AC的轮询,并向AC反馈是否已经完成AP升级版本软件的下载;或者在完成AP升级版本软件的下载后主动向AC报告下载完成。
与现有的技术方案相比,本发明通过改进现有批量AP的升级流程,使AP更新软件版本可以在后台进行,所有AP版本下载完成后再重启设备,减少了AP排队等待更新版本的时间,使总的业务中断时间大幅缩短。
附图说明
图1是WLAN中典型的AC+Fit AP组网示意图。
图2是AC与AP间的LWAPP隧道示意图。
图3是现有方案批量AP升级过程中AP状态示意图。
图4是本发明提供的批量AP升级的方法流程示意图。
图5是本发明批量AP升级过程中AP的状态示意图。
图6是本发明批量AP升级的装置结构示意图。
具体实施方式
为了实现本发明目的,本发明采用的核心思想为:所述AC将要升级的软件拷贝到本地后并不立即重启,而是先下发升级命令让AP到AC上获取要升级的软件,AP接到升级命令后,将自己flash里的软件版本与AC上存储的软件版本进行比较,如果不同,那么AP通过管理隧道将要升级的软件下载到本地,并覆盖原来保存在flash内老的软件版本。待所有的AP将升级的软件版本下载完成后再重启设备更新系统中的软件版本,减少了AP排队等待更新版本的时间,使总的业务中断时间大幅缩短。
为使本发明技术方案更加清楚和明白,以下结合本发明具体实施例加以详细说明。如图4所示,为本发明提供的批量AP升级的方法流程图。其中所述方法应用于WLAN网络实现批量AP升级软件版本的情形,所述方法包括:
步骤1、AC将要AC升级版本软件以及AP升级版本软件保存在本地,并向AP下发AP升级命令。
当需要对WLAN网络中的全网设备进行软件版本升级时,所述AC根据网络管理员下发的命令,将要升级的AC升级版本软件和AP升级版本软件保存在本地的flash中。为了实现本发明目的,所述AC将升级的AC升级版本软件和AP升级版本软件保存在本地的flash后并不立即重启,而是通过管理通道(例如:LWAPP)直接向受其管理的AP下发升级命令让AP到AC上获取要升级的软件。其中所述AC下发的升级命令中携带有升级后软件的版本号信息。
AP接收到AC下发的升级命令后,先对AC下发的升级命令中携带的软件版本号信息进行解析,以获取该升级的软件版本号信息,并进一步将自己flash里记录的软件版本号与该升级的软件版本号与进行比较,如果不同,表明AP的flash内存储的是老的软件版本,需要对之进行升级;反之,如果相同,表明AP的flash内存储的软件版本已经是最新的软件版本,无需再对之进行升级,则直接进入步骤3。
具体地,当AP判断需要对自己flash内保存的软件版本进行升级时,所述AP通过管理隧道报文向AC发送获取升级的软件版本的请求,所述AC收到AP请求后,通过管理隧道将要升级的软件传送给AP,并覆盖原来保存在该AP的flash内的老版本软件,以便所述AP的flash内存储的是最新的要升级的软件版本。
需要说明的是,与现有技术方案相比,由于此时AP内存里运行的仍然是老版本软件,且AC内存里运行的也是对应的老版本软件,升级的软件均存储在AC和AP各自的flash内。因此,在AP升级的过程中,其数据隧道内的报文不受影响,数据业务仍然可以继续使用。
步骤2、所述AC判断是否所有AP均已通过AC与AP间的管理通道将新的软件版本下载到AP本地,如果是,则进入步骤3,否则继续等待AP下载AC本地的AP升级版本软件。
受限于AC的并发处理能力,与现有技术一样,本发明实施方案中的AP也都是以串行的方式进行依次下载升级软件的,但为了保证AP在批量升级的过程中,其数据业务不受影响,在本发明实施方案中,各AP在将升级的软件版本下载到本地后并不立即重启,而是需要等所有的AP均完成了待升级的软件下载后再进行重启,因此,在本发明中,所述AC需要判断是否所有AP均已通过AC与AP间的管理通道将新的软件版本下载到AP本地,如果不是所有的AP均将升级的软件版本下载到本地,则所述AC需要继续等待AP下载AC本地保存的AP升级版本软件,直到所有的AP下载完毕为止。
进一步地,所述AC判断是否所有AP均将升级的软件版本下载到本地,具体可以通过每个AP下载完升级的软件到本地后,主动向AC汇报下载完毕的消息来实现,也可以通过AC定期轮询的方式来判断是否所有的AP完成升级的软件下载到本地来实现。
步骤3、所述AC进行重启并将AC升级版本软件加载到内存中运行,然后向AP下发AP重启命令。
当所有AP将升级的软件版本下载到本地后,AC将重启以更新自己内存中的软件版本。AC重启虽然会导致所有的AP会掉线并重新上线,AP重新上线时依然会进行版本对比,但由于AP本地flash里的软件版本和AC flash里的软件版本一致,因此,AP不会再次进行软件升级动作。
AC重启完毕后,进一步下发重启命令让所有的AP进行重启,这样AP会以新版本软件启动,内存里运行的将是更新后的软件版本。
步骤4、所述AP接收到AC下发的重启命令时,执行重启并将AP升级版本软件加载到内存中运行。
通过本发明实现方案,用户总的业务中断时间为:
T=n*T1+n*T3
由于AP下载版本是后台进行的,业务不中断,因此T2=0。
如图5所示,仍以一台AC带1000个AP(n=1000)为例,AC重启AP上下线10分钟(T1=600s),一个AP重启并上线需70秒(T3=70s),总的业务中断时间为:T=186小时,仅为现有方案的2%。
请参考图6,本发明同时提供一种批量AP升级的装置,应用于分布式无线局域网WLAN中的无线控制器AC上,所述装置包括:版本处理单元、进度监管单元以及升级处理单元,其中
版本处理单元,用于将AC升级版本软件以及AP升级版本软件保存在本地,并向AP下发AP升级命令;
进度监管单元,用于判断是否所有的AP均已通过AC与AP间的管理通道将升级的软件版本下载到AP本地,如果是,转升级处理单元处理,否则继续等待AP下载AC本地的AP升级版本软件;
升级处理单元,控制AC进行重启并将AC升级版本软件加载到内存中运行,然后向AP下发AP重启命令。
进一步地,所述AP升级命令中携带有AC升级版本软件的版本号信息。
进一步地,所述进度监管单元还用于根据AP发送的下载报告确定是否所有AP均已将AP升级版本软件下载到AP本地;或者通过定期轮询的方式来判断是否所有AP均已将AP升级版本软件下载到AP本地。
与现有的技术方案相比,本发明通过改进现有批量AP的升级流程,使AP更新软件版本可以在后台进行,所有AP版本下载完成后再重启设备,减少了AP排队等待更新版本的时间,使总的业务中断时间大幅缩短。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。