基于Mesh的软件升级方法技术

技术编号:31981379 阅读:21 留言:0更新日期:2022-01-20 01:38
本发明专利技术公开了一种基于Mesh的软件升级方法,包括:构建Mesh网络,Mesh网络中的Mesh节点将具有与外部网络通信功能的节点视为主控节点;构建完Mesh网络后,设备启动软件版本查询服务,非主控节点根据自身的最优路径,确定最优路径上的上级节点为其查询目标;在同一个Mesh网络中,由主控节点向服务器查询软件更新信息;非主控节点在启动的时候和启动之后的随机时间向上级节点发起软件版本查询请求,如果上级节点有新版本软件,则从上级节点下载新版本软件进行升级;本发明专利技术对于Mesh节点的升级维护和版本管理,以及减少服务器带宽负载具有极高的先进性和应用推广价值。高的先进性和应用推广价值。高的先进性和应用推广价值。

【技术实现步骤摘要】
基于Mesh的软件升级方法


[0001]本专利技术涉及软件升级
,特别是一种基于Mesh的软件升级方法。

技术介绍

[0002]随着Mesh技术的普及,大型商场,个人住宅逐步用上了Mesh组网技术,各种物联网通信节点也大量采用了Mesh组网技术,随之带来的是支持Mesh技术节点的软件升级问题。
[0003]现有技术普遍采用每个Mesh节点独立向服务器查询是否有更新的方式,从单个服务器集中下载更新,耗费服务器带宽和资源,当网络中的Mesh节点同时进行升级事件,由于网络碰撞和服务器资源问题,可能出现上级节点升级完毕重启,下级节点还没下载完升级包导致升级失败的情况,长此以往,便会出现同一个Mesh网络中的节点软件版本不同步,甚至出现无法管理和互联问题。
[0004]另外,如果遇到Mesh网络无法从服务器获取升级的情况,例如特定网络中要求使用定制版本,或者Mesh网络无法连接至服务器。运维人员需要对设备进行逐台升级,费时费力。

技术实现思路

[0005]为解决现有技术中存在的问题,本专利技术的目的是提供一种基于Mesh的软件升级方法,本专利技术对于Mesh节点的升级维护和版本管理,以及减少服务器带宽负载具有极高的先进性和应用推广价值。
[0006]为实现上述目的,本专利技术采用的技术方案是:一种基于Mesh的软件升级方法,包括:
[0007]步骤1、构建Mesh网络,所述Mesh网络中的Mesh节点将具有与外部网络通信功能的节点视为主控节点;
[0008]步骤2、构建完Mesh网络后,设备启动软件版本查询服务,非主控节点根据自身的最优路径,确定最优路径上的上级节点为其查询目标;
[0009]步骤3、在同一个Mesh网络中,由主控节点向服务器查询软件更新信息;
[0010]步骤4、非主控节点在启动的时候和启动之后的随机时间向上级节点发起软件版本查询请求,如果上级节点有新版本软件,则从上级节点下载新版本软件进行升级;如果该非主控节点检测到自己是新版本软件,则会暂时阻止其子节点从自身升级,同时向上级节点发送自己的版本号,并逐级向上传递,如果在传递途中遇到上级节点版本号和传递的版本号相同或者版本更高,则停止传递,否则传递将一直进行到主控节点,主控节点会从最新软件版本节点下载最新软件并进行升级,之后进行正常的升级传递流程。
[0011]作为本专利技术的进一步改进,在步骤1中,构建Mesh网络具体包括:各个Mesh节点的设备通过IEEE1905协议,使用其拓扑发现功能,构建Mesh网络拓扑图,并使用链路度量功能对通信质量和通信距离进行测量,选择其中通信质量最佳,距离主控节点最短的通信链路为最优路径,构建一个Mesh网络。
[0012]作为本专利技术的进一步改进,在步骤1中,如果所有Mesh节点都不具备与外网通信的能力,则通过便携设备设置,手动指定一个或者多个Mesh节点作为主控节点。
[0013]作为本专利技术的进一步改进,当Mesh网络中存在多个主控节点,Mesh网络中的非主控节点分别对每个主控节点进行测量,选择其中距离最短且通信质量最好的主控节点作为其主控节点,如果非主控节点具有多条最优路径,则从中随机选取一条路径作为自身最优路径。
[0014]作为本专利技术的进一步改进,在步骤2中,允许各个Mesh节点通过HTTP协议进行通信,同时提供一套Web界面用于所述便携设备对节点进行手动升级,每个节点既可查询其他节点的软件版本信息,也可以被其他节点查询自身软件版本信息。
[0015]作为本专利技术的进一步改进,在步骤3中,当主控节点无法访问服务器进行软件更新时,通过便携设备使用任意浏览器访问软件版本查询服务提供的Web界面,对Mesh网络中任意节点进行软件升级。
[0016]作为本专利技术的进一步改进,还包括以下步骤:
[0017]步骤5、如果Mesh网络中存在多个主控节点,当一个主控节点进行升级时,会通知其他主控节点暂缓升级,等待自生升级完成后,将自身版本告知其他主控节点,优先通知其他主控节点从该主控节点下载新版本软件,待其他主控节点升级完毕后,再进行子节点的升级,能够最大程度的保证Mesh网络的通信能力。
[0018]本专利技术的有益效果是:
[0019]本专利技术实现了升级软件的分布式下发,每一个节点都只负责自身的下级节点的升级,避免了占用上游链路带宽和服务器带宽资源的问题,同时根据Mesh网络的不同,自动优化升级顺序,避免因为上级节点重启而导致下级节点升级被中断的情况,并且可以做到同一Mesh网络中的节点的版本控制,使同一个Mesh网络中的节点软件版本保持一致,避免出现节点软件版本不同步。同时还可以在Mesh网络无法从服务器获取升级的时候通过便携设备对任意一个节点进行升级,可以将升级包扩散到整个Mesh网络,省时省力。对于有多个主控节点设备的Mesh网络,可以实现升级过程中保障部分节点通信正常,不至于整个网络在升级过程中全部离线。
附图说明
[0020]图1为本专利技术实施例1中基于Mesh的软件升级方法的总体框图;
[0021]图2为本专利技术实施例2中单主控节点Mesh网络常规升级示意图;
[0022]图3为本专利技术实施例3中单主控节点Mesh网络非主控节点拥有新软件升级示意图;
[0023]图4为本专利技术实施例3中传递过程中遇到更高版本软件升级示意图;
[0024]图5为本专利技术实施例4中多主控节点Mesh网络常规流程软件升级示意图;
[0025]图6为本专利技术实施例5中多主控Mesh网络中非主控节点拥有新软件的软件升级示意图;
[0026]图7为本专利技术实施例5中多主控节点的非主控节点存在多个版本的场景示意图。
具体实施方式
[0027]下面结合附图对本专利技术的实施例进行详细说明。
[0028]实施例1
[0029]如图1所示,一种基于Mesh的软件升级方法,主要由服务器或者便携设备,Mesh网络组成。
[0030]便携设备是任何可以存储升级软件包并可以通过浏览器访问Web页面上传升级包对Mesh网络中的节点设备进行升级的设备。
[0031]服务器或便携设备的作用是提供最初的升级软件包。
[0032]Mesh网络是多个设备节点通过任意通信方式组成的通信网络,具有多跳特点与传统网络完全不同的新型网络技术。在本实施例所构建的Mesh网络中,不同的节点具有以下几种分工:
[0033]Mesh节点:Mesh网络中所有的节点设备称之为Mesh节点。
[0034]主控节点:Mesh网络中连接外界网络的节点,可以与服务器通信。
[0035]非主控节点:Mesh网络中除了主控节点的所有节点。
[0036]子节点:一个节点设备下挂的其他节点称之为该节点的子节点。
[0037]上级节点:在一个节点的通向主控节点的路径上,相较于该节点更靠近主控节点的节点或者主控节点本身称为上级节点。
[0038]下级节点:在一个节点的通向主控节点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Mesh的软件升级方法,其特征在于,包括:步骤1、构建Mesh网络,所述Mesh网络中的Mesh节点将具有与外部网络通信功能的节点视为主控节点;步骤2、构建完Mesh网络后,设备启动软件版本查询服务,非主控节点根据自身的最优路径,确定最优路径上的上级节点为其查询目标;步骤3、在同一个Mesh网络中,由主控节点向服务器查询软件更新信息;步骤4、非主控节点在启动的时候和启动之后的随机时间向上级节点发起软件版本查询请求,如果上级节点有新版本软件,则从上级节点下载新版本软件进行升级;如果该非主控节点检测到自己是新版本软件,则会暂时阻止其子节点从自身升级,同时向上级节点发送自己的版本号,并逐级向上传递,如果在传递途中遇到上级节点版本号和传递的版本号相同或者版本更高,则停止传递,否则传递将一直进行到主控节点,主控节点会从最新软件版本节点下载最新软件并进行升级,之后进行正常的升级传递流程。2.根据权利要求1所述的基于Mesh的软件升级方法,其特征在于,在步骤1中,构建Mesh网络具体包括:各个Mesh节点的设备通过IEEE1905协议,使用其拓扑发现功能,构建Mesh网络拓扑图,并使用链路度量功能对通信质量和通信距离进行测量,选择其中通信质量最佳,距离主控节点最短的通信链路为最优路径,构建一个Mesh网络。3.根据权利要求1或2所述的基于Mesh的软件升级方法,其特征在于,在步骤1中,如果所有Mesh节点都...

【专利技术属性】
技术研发人员:杨云翔罗才华张文龙
申请(专利权)人:四川九州电子科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1