一种基于自组网的软件更新方法与流程

文档序号:12304984阅读:355来源:国知局

本发明涉及无线网元设备管理和维护领域,特别涉及基于自组网的软件更新方法。



背景技术:

随着移动互联网的发展,无线wifi的需求量也呈现爆炸式的增长。在医院、企业、政府、商场,wifi无处不在。与此同时,wifi除了提供接入服务之外,新的需求点也在不断增长。例如,商业wifi中的portal认证、微信认证,企业wifi中的接入管理、无缝漫游功能,政府wifi中的非法ap检测、防入侵功能等。新的需求点,必然带来无线设备软件的更新和维护。然而大量的设备铺设,这种更新和维护成本大大增加,特别是多场所统一运营的情况。目前常用的软件更新和维护方式有以下两种:

(1)本地化更新

这种方法,需要维护人员到铺设的网络环境中,通过本地局域网完成对该环境下所有设备的软件更新。首先维护人员到达现场,通过在本地搭建升级环境,如ftp服务器,然后通过ac设置升级相关配置,再在ac上查找相关无线设备,逐步进行升级操作,最终完成更新。该方式的弊端很明显,第一,维护成本增加,需要专人到现场;第二,在本地环境中搭建环境,存在对原有网络破坏的风险。由于网络环境的复杂,若不慎将其他网元设备配置修改,严重者可导致网络短暂瘫痪。

(2)云端更新

这种方法,是通过云服务器对场所下面的所有设备进行软件更新。具体步骤:第一,在云端搭建升级服务器,一般搭建一次即可;第二,通过ac设置相关的升级配置,并对无线设备进行升级操作。每台设备通过云端服务器下载软件版本,最终完成软件更新。该方式相对第一种方式而言,虽说节约了用人成本,但也有不利之处。第一,该方案对升级服务器性能要求较高,需满足大量设备并发,否则带来的是时间成本的代价;第二,对升级服务器和升级设备所在场所的网络带宽有要求,网速的快慢也直接影响到升级的快慢;第三,对网络运营商是否统一也有要求,若场所和服务器为不同的网络运营商,升级速度也会大打折扣。



技术实现要素:

本发明的目的是克服现有产品中的不足,提供一种基于自组网的软件更新方法。

为了达到上述目的,本发明是通过以下技术方案实现的:

一种基于自组网的软件更新方法,包括以下步骤:

步骤a:通过lldp邻近发现协议在本地网络形成网状网络结构,处在网状结构中的每个单元设备与其他单元设备通信;

步骤b:每个单元设备周期性地广播发送自己的网络信息给其他单元设备;

步骤c:单元设备接收到其他单元设备的网络信息后,更新和维持其他单元设备的信息列表,所述信息列表包括信息标记、状态标记、超时老化时间,且判断是否到达超时老化时间,若到达超时老化时间则删除该单元设备信息,否则不断更新和维持其他单元设备的信息列表;

步骤d:选择其中一个单元设备ap1从云端服务器下载软件更新版本,将软件更新版本同步给其他单元设备,实现网络中所有单元设备的软件更新。

所述网络信息包括mac信息、ip信息。

所述将软件更新版本同步给其他单元设备的步骤如下:

步骤d1:单元设备ap1将自己的状态标记为已获取完版本,并发送tcp单播版本请求报文给其他单元设备,使得其他单元设备来获取软件更新版本,所述tcp单播版本请求报文包括本次更新版本的版本号和是否升级标志;

步骤d2:其他单元设备接收到tcp单播版本请求报文后,先判断当前设备的软件版本是否一致,然后判断是否已确认接收版本文件,最后判断是否已接收完版本文件,然后发送tcp单播回应是否升级标志报文给单元设备ap1,所述是否升级标志用来通知当前单元设备是否达到升级条件;

步骤d3:单元设备ap1设置最大升级个数,将最大升级个数表示为x,单元设备ap1接收到是否升级标志报文后,若单元设备ap1接收接收到为否升级标志报文,则将对应信息标记为不可升级状态,同时遍历其他单元设备的信息列表,统计可升级和未确认的单元设备数目,若可升级和未确认的单元设备数目小于x,则更新x,同时判断当前发送版本的次数是否达到x,若达到x,则单元设备ap1升级否则单元设备ap1不升级;若单元设备ap1接收到为是升级标志报文,同时判断发送版本的次数是否达到x,若未达到x,同时其它单元设备中有为可升级状态的单元设备y,则发送软件升级报文给单元设备y,来通知单元设备y可通过单元设备ap1进行升级,若达到x则暂不处理;

步骤d4:单元设备y接收到软件升级报文后,判断当前是否已经向其他单元设备确认接收版本文件,同时发送是否升级标志报文给单元设备ap1,若已经向其他单元设备确认接收版本文件,则回应发送否升级标志报文给单元设备ap1,否则回应发送是升级标志报文给单元设备ap1,同时单元设备y接收单元设备ap1的软件更新版本进行更新,同时单元设备y将自己的状态标记为已确认接收版本,单元设备y将软件更新版本同步给其他单元设备;

步骤d5:单元设备ap1接收到单元设备y的是否升级标志报文后,若单元设备ap1接收到单元设备y的否升级标志报文,则将单元设备y的信息标记为不可升级状态,同时遍历其他单元设备的信息列表,查找到另一个处于可升级状态的单元设备,将软件更新版本同步给另一个处于可升级状态的单元设备,若查找不到处于可升级状态的单元设备,则将单元设备ap1自行软件更新;若单元设备ap1接收到单元设备y的是升级标志报文,则单元设备ap1发送软件更新版本给单元设备y,且计数发送版本的次数,若发送版本的次数达到x,无论单元设备ap1发送软件更新版本是成功或失败,单元设备ap1自己进行软件更新。

所述步骤d2:其他单元设备接收到tcp单播版本请求报文后,若当前设备的软件版本是一致,则发送tcp单播回应否升级标志报文给单元设备ap1,否则判断是否已确认接收版本文件,若是已确认接收版本文件则发送tcp单播回应否升级标志报文给单元设备ap1,若否确认接收版本文件则判断是否已接收完版本文件,若已接收完版本文件则发送tcp单播回应否升级标志报文给单元设备ap1,若否接收完版本文件则发送tcp单播回应是升级标志报文给单元设备ap1,所述是否升级标志用来通知当前单元设备是否达到升级条件。

本发明的有益效果如下:本发明节省网络资源和节约成本,并可以快速高效的完成同一本地网络下的所有单元设备的软件更新,特别是针对云端管理并同时运营多个本地网络的运维者,可以一键完成单个本地网络环境下所有有单元设备的软件更新。

附图说明

图1为本发明的步骤d2的程序流程图;

具体实施方式

下面结合说明书附图对本发明的技术方案作进一步说明:

一种基于自组网的软件更新方法,包括以下步骤:

步骤a:通过lldp邻近发现协议在本地网络形成网状网络结构,处在网状结构中的每个单元设备与其他单元设备通信;

步骤b:每个单元设备周期性地广播发送自己的网络信息给其他单元设备;

步骤c:单元设备接收到其他单元设备的网络信息后,更新和维持其他单元设备的信息列表,所述信息列表包括信息标记、状态标记、超时老化时间,且判断是否到达超时老化时间,若到达超时老化时间则删除该单元设备信息,否则不断更新和维持其他单元设备的信息列表;

步骤d:选择其中一个单元设备ap1从云端服务器下载软件更新版本,将软件更新版本同步给其他单元设备,实现网络中所有单元设备的软件更新。

所述网络信息包括mac信息、ip信息。

所述将软件更新版本同步给其他单元设备的步骤如下:

步骤d1:单元设备ap1将自己的状态标记为已获取完版本,并发送tcp单播版本请求报文给其他单元设备,使得其他单元设备来获取软件更新版本,所述tcp单播版本请求报文包括本次更新版本的版本号和是否升级标志;

如图1所示,步骤d2:其他单元设备接收到tcp单播版本请求报文后,先判断当前设备的软件版本是否一致,然后判断是否已确认接收版本文件,最后判断是否已接收完版本文件,然后发送tcp单播回应是否升级标志报文给单元设备ap1,所述是否升级标志用来通知当前单元设备是否达到升级条件;所述步骤d2:其他单元设备接收到tcp单播版本请求报文后,若当前设备的软件版本是一致,则发送tcp单播回应否升级标志报文给单元设备ap1,否则判断是否已确认接收版本文件,若是已确认接收版本文件则发送tcp单播回应否升级标志报文给单元设备ap1,若否确认接收版本文件则判断是否已接收完版本文件,若已接收完版本文件则发送tcp单播回应否升级标志报文给单元设备ap1,若否接收完版本文件则发送tcp单播回应是升级标志报文给单元设备ap1,所述是否升级标志用来通知当前单元设备是否达到升级条件。

步骤d3:单元设备ap1设置最大升级个数,将最大升级个数表示为x,单元设备ap1接收到是否升级标志报文后,若单元设备ap1接收接收到为否升级标志报文,则将对应信息标记为不可升级状态,同时遍历其他单元设备的信息列表,统计可升级和未确认的单元设备数目,若可升级和未确认的单元设备数目小于x,则更新x,同时判断当前发送版本的次数是否达到x,若达到x,则单元设备ap1升级否则单元设备ap1不升级;若单元设备ap1接收到为是升级标志报文,同时判断发送版本的次数是否达到x,若未达到x,同时其它单元设备中有为可升级状态的单元设备y,则发送软件升级报文给单元设备y,来通知单元设备y可通过单元设备ap1进行升级,若达到x则暂不处理;

步骤d4:单元设备y接收到软件升级报文后,判断当前是否已经向其他单元设备确认接收版本文件,同时发送是否升级标志报文给单元设备ap1,若已经向其他单元设备确认接收版本文件,则回应发送否升级标志报文给单元设备ap1,否则回应发送是升级标志报文给单元设备ap1,同时单元设备y接收单元设备ap1的软件更新版本进行更新,同时单元设备y将自己的状态标记为已确认接收版本,单元设备y将软件更新版本同步给其他单元设备;

步骤d5:单元设备ap1接收到单元设备y的是否升级标志报文后,若单元设备ap1接收到单元设备y的否升级标志报文,则将单元设备y的信息标记为不可升级状态,同时遍历其他单元设备的信息列表,查找到另一个处于可升级状态的单元设备,将软件更新版本同步给另一个处于可升级状态的单元设备,若查找不到处于可升级状态的单元设备,则将单元设备ap1自行软件更新;若单元设备ap1接收到单元设备y的是升级标志报文,则单元设备ap1发送软件更新版本给单元设备y,且计数发送版本的次数,若发送版本的次数达到x,无论单元设备ap1发送软件更新版本是成功或失败,单元设备ap1自己进行软件更新。

本发明通过一个单元设备ap1从云端服务器下载软件更新版本,就可以将软件更新版本同步给其他单元设备,实现网络中所有单元设备的软件更新,节省网络资源和节约成本,并可以快速高效的完成同一本地网络下的所有单元设备的软件更新,特别是针对云端管理并同时运营多个本地网络的运维者,可以一键完成单个本地网络环境下所有有单元设备的软件更新。

需要注意的是,以上列举的仅是本发明的一种具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。总之,本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

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