CN102625403B - 移动自组网中虚拟骨干网的生成和维护方法 - Google Patents
移动自组网中虚拟骨干网的生成和维护方法 Download PDFInfo
- Publication number
- CN102625403B CN102625403B CN201210138037.1A CN201210138037A CN102625403B CN 102625403 B CN102625403 B CN 102625403B CN 201210138037 A CN201210138037 A CN 201210138037A CN 102625403 B CN102625403 B CN 102625403B
- Authority
- CN
- China
- Prior art keywords
- node
- role
- region
- message
- info
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及计算机网络技术领域,公开了一种移动自组网中虚拟骨干网的生成和维护方法,包括以下步骤:S1,在计时器的控制下,节点u进行环境感知,节点u的邻居节点v间交换状态消息,选举初始簇头,声明各自的区域;S2,各节点选择其优先级最高的邻居节点作为接入节点,陆续加入不同区域,分布式地构建以所述初始簇头为中心的区域虚拟骨干网;S3,通过选举出边界网关节点连通相邻的区域虚拟骨干网,构建出全局虚拟骨干网。本发明能有效解决洪泛式路由模式效率低下、动态拓扑下数据路由不稳定的问题。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种移动自组网中虚拟骨干网的生成和维护方法。
背景技术
微电子及芯片与信息通信技术的飞速发展,逐步将人类带入泛在网络时代。泛在网络时代为网络边缘带来较大的变化,越来越多的设备,包括各种网络终端、智能家电、传感器设备、车载设备、可穿戴设备等,能够通过多种有线或无线方式互联,融入用户的日常生活之中。
移动自组网作为一种由几十、上百、甚至上千个终端节点构成,采用无线通信方式,无需固定基站便可动态组网、随时通信的数据网络,在灾后应急通讯、智能家居、环境监测等领域都具有广阔的应用前景。
因此,移动自组网已成为泛在边缘网络的重要组成结构之一,相较于无线传感器网络节点大多静止、计算能力及电能高度有限的特性,移动自组网中的节点计算及续航能力较强、具有自由移动性,这就导致网络拓扑结构总是处于频繁变化之中,严重影响了网络通信的QoS(Quality of Service,服务质量)。
移动自组网常常使用洪泛(flooding)路由模式,虽然非常简单但会导致网络数据包的高冗余,甚至发生广播风暴,造成移动自组网路由的效能低下、资源浪费。因此,设计一种高效的路由模式势在必行,即:分布式地选取网络中的一些终端节点,既作为主机,又作为路由设备,专门负责中继转发网络中的数据包、路由计算和维护,构成逻辑上的骨干子网,简称为虚拟骨干网。这样一来,便可将整个网络的路由过程简化到虚拟骨干网中,避免了洪泛式广播数据包时存在的大量冗余以及可能的广播风暴,大幅提高路由的效能比,延长节点生存期。同时,节点的随机移动、故障、电能耗尽使网络拓扑产生变化,虚拟骨干网可能逐步分崩离析,直接导致网络通信QoS的急剧下降,因此,虚拟骨干网必须支持分布式地自适应调整,重新选取一些节点加入以完成重构,维持路由连通性,增强拓扑结构的鲁棒性和自愈性。
关于现有的移动自组网中虚拟骨干网的生成和维护方法,具有以下方案:
技术方案1:申请号为ZL200410064978.0《移动自组网络的分布式动态蜂窝路由的构建方法》中国专利申请,涉及一种移动自组网的动态蜂窝路由的构建方法,主要通过三步骤完成:第一,采用发送与接收“hello”消息的方法,动态发现与更新邻居节点信息;第二,根据一致性原则和优先级排序策略选择一些移动节点充当动态移动基站;第三,移动基站行使路由器的职责,交换路由信息,生成路由表项;移动节点通过将数据发送给自己所在蜂窝的动态移动基站,而数据转发工作则交给动态移动基站和边界移动节点来完成。
技术方案2:申请号为200810045160.2《一种蓝牙无线传感器网络组网与路由方法》的中国专利申请,涉及一种应用于无线传感器网络的组网和路由方法,它将传感器网络技术与蓝牙技术相结合,在传感器网络组网时较为充分地利用蓝牙网络成熟的物理层和MAC技术,设计了一种蓝牙散射网组网方法,使用树形拓扑结构,组网分为根节点选取,根微微网形成,网络扩张三个阶段,依据节点间的能量信息进行根阶段选取及组网的依据,这种方法以延长网络的生存时间作为目标,能够有效地提高网络的生存期,并能够预留有备份节点,是组成网络具有较好地可靠性、灵活性、可愈合性,可以满足部分节点的加入、移动、离开网络等情况,并在组网完成的同时完成路由表的建立。
技术方案3:申请号为201110284101.2《一种自组织可重构无线传感器网络的组建方法》的中国专利申请,涉及一种应用于无线传感器网络的网络拓扑构建方法,它包括四个部分:组网流程、媒体访问协议、网络协议数据包帧格式和节点设置。已有一个主机节点,布放在有效区域内的新从节点自动向主机节点发送入网请求信息,主机节点给新从节点分配地址和信息传递路由,并定义了不同的帧格式传输不同的任务信息,描述了主从节点的硬件构成。该发明所组建的系统具有自组织入网、网络重构和分布式数据采集传输的功能,尤其适合应用于组件小型数据采集传感器网络。
技术方案4:申请号为201110054645.X《基于梯度的无线传感器网络拓扑维护方法和分组转发方法》的中国专利申请,采用反向路径代价的计算方法得到路径代价,由此建立梯度;基于该梯度,每个节点周期性地维护自己的父节点和备用父节点的链路。由于考虑了无线传感器网络的数据汇聚特性,采用梯度降低的方式进行链路维护,可以很好地适应链路动态性,控制协议开销、保持高的路由性能。
上述技术方案1,2,3,4分别使用不同的方法、流程解决移动自组网、无线传感器网中的网络组建问题。
方案1中引入了蜂窝网的思想,根据一致性原则和优先级排序策略选取一些移动节点充当动态移动基站,为所属蜂窝范围内的节点提供数据转发服务,但每个移动节点固定受唯一的动态移动基站管理,动态移动基站的移动性将导致节点覆盖失效,影响数据通信的稳定性,不利于网络的健壮性。
方案2中引入了蓝牙散射微微网的思想,根据初始节点能量信息选取微微网根节点,构成树形路由拓扑结构负责网络中所有节点的数据包的转发,但由于其只支持部分节点的移动,并且所用的蓝牙通信技术在距离、频段上的局限,难以满足大型传感器网络或移动自组网的组网需要。
方案3中引入了服务器-客户端思想,通过预置传感器网中的主机节点,负责处理新从节点的入网请求信息,给新从节点分配地址和信息传递路由,但由于组网的核心功能置于主机,若主机出现任何故障,则将导致网络传输中断,自愈性较弱,并且无法满足大规模网络的组网需求。
方案4中引入了梯度概念,考虑了传感器网络的数据汇聚特性,使每个节点都能较好地维护数据汇聚路径上的父节点和备用父节点。但由于移动自组网络中的节点通信更为对等,不存在汇聚节点,缺少数据汇聚特性,无法应用于移动自组网。
上述四种技术方案的主要缺陷总结如下:方案1具有节点覆盖失效问题,方案2应用范围局限,方案3具有中心式组网问题,方案4依赖数据汇聚特性。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种大型移动自组网下虚拟骨干网的生成和维护方法,以有效解决洪泛式路由模式效率低下、动态拓扑下数据路由不稳定的问题。
(二)技术方案
为解决上述技术问题,本发明提供了一种移动自组网中虚拟骨干网的生成和维护方法,包括以下步骤:
S1,在计时器的控制下,节点u进行环境感知,节点u的邻居节点v间交换状态消息,选举初始簇头,声明各自的区域;
S2,各节点选择其优先级最高的邻居节点作为接入节点,陆续加入不同区域,分布式地构建以所述初始簇头为中心的区域虚拟骨干网;
S3,通过选举出边界网关节点来连通相邻的区域虚拟骨干网,构建出全局虚拟骨干网。
优选地,在步骤S4之后还包括步骤S4:利用计时器的超时机制使节点感知拓扑环境变化,从而进行所述全局虚拟骨干网的拓扑重构。
优选地,步骤S1具体包括:
101,初始化所有节点;
102,所有节点进行环境感知:对于任一节点u,开启计时器SendTimer(Status),开始周期性广播节点u的状态消息Status(Info(u)),同时接收节点u邻居节点的状态消息,从邻居的状态消息中提取基本信息Info进行存储,并更新节点u自身的基本信息Info,对于首次发现的节点v,启动计时器RecvTimer(Status(Info(v))),监控节点v的生存状态;
103,若每个节点都有邻居节点,则开始选举初始簇头,规定选举的优先级序列为P(v)=(role(v),δ(v),nid(v)),并规定节点v的P(v)大于节点u的P(u),当且仅当满足下列任意条件时成立:
1)role(v)>role(u)
2)role(v)=role(u),δ(v)>δ(u)
3)role(v)=role(u),δ(v)=δ(u),nid(v)<nid(u)
并对于节点u,计算MaxP(u)=Max({P(v)|v∈N(u)}),找出节点u的邻居里优先级最高的节点;
104,若节点u计算出自己的优先级P(u)大于MaxP(u),则代表节点u的优先级大于它的所有邻居,那么它将自选举为初始簇头:置role(u)为支配节点dominator,并执行步骤105;否则执行步骤106;
105,节点u自选举为初始簇头后,开始构建编号为aid(u)的区域,并开启计时器SenderTimer(BeaconArea),周期性地广播本区域的生存消息;
106,邻居节点u自选举失败后,继续进行环境感知,接收邻居节点的状态消息,更新邻居和自身的基本信息Info;
其中,节点v的角色记为role(v),节点v的唯一标识ID记为nid(v),节点v的邻居节点数记为δ(v),邻居节点v的簇号记为aid(v)。
优选地,步骤S2具体包括:
107,节点u经过计算,若自己的选举优先级P(u)小于MaxP(u)=P(v),且发现此节点v已加入某个区域,则执行步骤108;
108,节点u置aid(u)为aid(v),置role(u)为被支配节点,并向邻居节点v发送JoinArea(Info(u),Info(v)),表明已加入邻居v所属区域aid(v),启动计时器RecvTimer(BeaconArea)消息,监测本区域是否存活;若邻居v是支配节点,则收到此JoinArea(Info(u),Info(v))消息后,更新节点u的基本信息Info(u)={nid(v),aid(v),role(v),δ(v)};若节点v是被支配节点,则收到此JoinArea(Info(u),Info(v))消息后,更新节点u的基本信息Info(u),置role(v)为支配节点,表示成为区域内的骨干网,并更新节点u的基本信息Info(u);支配节点将根据邻居节点的基本信息,互相交换各自的路由信息,更新路由表;
109,所有节点周期性地广播自身的状态消息或接收邻居的状态消息,初始簇头节点广播区域的生存消息,区域内的虚拟骨干网节点负责中继转发,区域内的所有节点都监听邻居及区域的生存情况,实现环境感知;
其中,JoinArea(Info(u),Info(v)),用于节点u声明以邻居节点v为接入点加入节点v所在区域。
优选地,步骤S2具体包括:
110,对于一个已加入区域的节点u,如果有属于其他区域的邻居节点,则广播节点u的状态消息,从而节点u获得两跳内的其他区域的节点信息SN(u),用于计算是否连通周边区域;
111,设节点v和节点w的组合(v,w)代表连通区域A与B的边界网关组合;
MaxR(A,B)=Max({R(v,w}|aid(v)=A∧aid(w)=B∧v∈N(w))代表优先级最高的组合,节点(v,w)组合的优先级序列为R(v,w)=(role(v),role(w),nid(v),nid(w)),其中v∈S(w)且aid(v)<aid(w),规定节点(v,w)组合的优先级R(v,w)大于节点(x,y)组合的优先级R(x,y),当且仅当满足下列任意条件时成立:
1)role(v)>role(x)
2)role(v)=role(x),role(w)>role(y)
3)role(v)=role(x),role(w)=role(y),nid(v)<nid(x)
4)role(v)=role(x),role(w)=role(y),nid(v)=nid(x),nid(w)<nid(y)
若节点u计算得MaxR(aid(u),aid(v))=R(u,v),即节点u与节点v的组合连通各自区域的优先级最高,则节点u向节点v发送消息AllyArea(Info(u),Info(v)),申请连通节点v所在区域的虚拟骨干网;节点v收到此消息后回复消息AllyArea(Info(v),Info(u)),表示同意连通,双方收到对方发送的AllyArea消息后,都置节点v的角色为支配节点;
112,当所有节点的角色不再改变时,所有区域内的支配节点组成区域虚拟骨干网,并由区域边界的支配节点互相连通,构成全局虚拟骨干网;
其中,消息AllyArea(Info(u),Info(v))用于节点u申请与异簇邻居节点v连通彼此区域的区域虚拟骨干网。
优选地,步骤101中按以下方式初始化所有节点:对于任一节点u,设置节点u的角色role(u)为newcomer,表示没有加入任何区域,将节点u的区域号aid(u)置为节点u的唯一标识nid(u),并将节点u邻居节点数δ(u)置为0。
优选地,利用四个计时器SendTimer(Status)、RecvTimer(Status(Info(v)))、SenderTimer(BeaconArea)和RecvTimer(BeaconArea)的超时机制使节点感知拓扑环境变化。
优选地,计时器RecvTimer(Status)的超时处理机制包括以下步骤:
201,节点监听来自所有邻居节点的消息,准备接收邻居节点的状态消息;
202,判断某个邻居生存计时器RecvTimer(Status)是否超时;若节点在规定时间内没有收到对应邻居节点的状态消息,则导致超时;若在规定时间内收到该对应邻居节点的状态消息,则不超时;
203,若节点认为该对应邻居节点仍存活,则重置该邻居生存计时器RecvTimer(Status);若节点认为该对应邻居节点已不在其通信范围内,则将本地存储的该邻居信息清空,删除该对应邻居的生存计时器RecvTimer(Status);
204,节点判断是否还有其它邻居节点,若有则继续监听邻居节点的消息,否则转到步骤101重新初始化。
优选地,计时器RecvTimer(BeaconArea)的超时处理机制包括以下步骤:
301,节点监听来自其所属区域的生存消息;
302,判断某个邻居生存计时器RecvTimer(BeaconArea)是否超时;若节点在规定时间内没有收到该区域的BeaconArea生存消息,则导致超时;若在规定时间内收到该区域的BeaconArea生存消息,则不超时;
303,若节点认为所属区域存活,则重置区域生存计时器RecvTimer(Beacon Area);若节点认为所属区域已不存在或者自身已移动出该区域,将本地存储的所有邻居信息清空;节点删除所有的邻居生存计时器RecvTimer(Status)以及区域生存计时器RecvTimer(BeaconArea)后转到步骤101重新初始化。
(三)有益效果
本发明利用计时器思想使得终端节点能够进行快速环境感知,获取邻居节点的最新信息,驱动节点进行分布式地局部选举,即通过特定的优先级比较,选出一些优先级较高的节点组成大型网络下区域化、层次化的虚拟骨干网路由结构,专门负责网络的多跳路由传输,同时利用距离矢量或链路状态协议维护路由表,并能在拓扑结构发生变化引发相关计时器超时,迅速感知并进行自适应调整,完成虚拟骨干网结构的重构、恢复等维护工作,尽可能地保障路由稳定性和通信质量。本发明能有效解决洪泛式路由模式效率低下、动态拓扑下数据路由不稳定的问题,大幅提高路由效能比,节省终端节点能耗,增强路由拓扑结构的鲁棒性和自愈性。
附图说明
图1是本发明中虚拟骨干网的生成方法流程图;
图2是计时器RecvTimer(Status)的超时处理方法流程图;
图3是计时器RecvTimer(BeaconArea)的超时处理方法流程图;
图4是显示选举初始簇头的示意图;
图5是显示节点加入区域A1,A2的示意图;
图6是显示区域A1,A2的边界调整的示意图;
图7是显示节点3,4故障,节点11移动到了A1的示意图;
图8是显示节点11加入A1,区域A1,A2边界重新调整的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明的移动自组网中虚拟骨干网的生成和维护方法,其关键点在于:
1、建立一种分区分层的虚拟骨干网路由拓扑结构:网络将被分为若干个区域,每个区域中都有区域虚拟骨干网,并通过区域边界节点进行连通。节点的所有数据将发送给邻居虚拟骨干网节点统一进行路由,形成普通节点、区域虚拟骨干网的二层路由结构,能够满足大型网络的组网需求。
2、建立一种基于计时器思想的环境感知方法,节点利用计时器的超时机制,周期性地发布自身Status消息,接收邻居的状态信息、区域生存消息,感知邻居节点、所属区域虚拟骨干网的存活,其感知结果将驱动区域虚拟骨干网的构建与重构。
3、针对移动自组网节点自由移动、拓扑动态变化时对于影响路由稳定性的情况,不仅在路由拓扑结构的生成阶段,根据节点的环境感知信息通过局部选举初始簇头、加入区域、局部选举边界网关等方法分布式地构建虚拟骨干网,同时通过路由信息交换、同步更新路由表项,而且由环境感知信息判断拓扑是否发生变化,驱动节点通过重新进行局部选举初始簇头、加入区域、局部选举边界网关等方法分布式地重构虚拟骨干网,有效地增强了网络的抗毁性、鲁棒性、自愈性,提高了节点的路由转发效率,节约了节点的电能,延长网络生存期。
虚拟骨干网的定义:如果移动自组网中的一个子网本身是连通的,而且子网外的所有节点都拥有至少一个该子网的节点作为邻居,那么这个子网就是一个虚拟骨干网。
在移动自组网中,任意节点间都能通过虚拟骨干网的多跳转发进行通信,虚拟骨干网中的所有节点都扮演了路由器的角色,通过虚拟骨干网统一为网络中的所有节点提供数据转发服务,避免了盲目低效的洪泛路由方式造成的数据冗余和能量损耗。
移动自组网中终端节点v的属性定义:
①节点v的唯一标识ID记为nid(v);
③节点v的角色记为role(v),可选角色为newcomer(新节点),dominatee(被支配节点),dominator(支配节点),且假设newcomer<dominatee<dominator。
a)节点v没有加入区域
c)节点v已加入区域且属于虚拟骨干网
d)节点v是初始簇头(区域发起者)
④节点v的邻居节点集记为N(v),若两个节点都处于对方的信号覆盖半径r内,则互为邻居节点;
⑤节点v的邻居节点数记为δ(v)。
终端节点的基本信息Info定义:
①节点v的基本信息Info记为Info(v)={nid(v),aid(v),role(v),δ(v)}。
②节点v的异簇邻居节点集记为S(v),指v周围属于其他区域的邻居节点集;
③节点v的异簇邻居节点信息集记为SN(v),指属于S(v)的节点的基本信息Info集;
终端节点的消息定义:
①状态消息:Status(Info(v),SN(v)(可选)),用于节点v周期性广播自身状态;
②JoinArea(Info(u),Info(v)),用于节点u声明以节点v为接入点加入v所在区域;
③AllyArea(Info(u),Info(v)),用于节点u申请与异簇邻居节点v连通彼此区域的区域虚拟骨干网;
④BeaconArea(Info(v),t),用于初始簇头v周期性地广播本区域生存消息,其中t为节点v发送消息的时间戳,由本区域内的支配节点负责广播转发。
终端节点的计时器定义:
①计时器SendTimer:用于控制消息发送,可引发超时事件。
a)节点u启动计时器SendTimer(Status),周期性广播Status(Info(u));
b)节点u启动计时器SendTimer(BeaconArea),周期性广播BeaconArea(Info(u),t);
②计时器RecvTimer:用于控制消息接收,可引发超时事件。
a)节点u启动计时器Recv Timer(Status(Info(v))),监控邻居v的生存;
b)节点u启动计时器RecvTimer(BeaconArea(Info(v),t)),监控区域内初始簇头v的生存,判断区域是否存活。
以下结合图1详细阐述本发明中虚拟骨干网的生成方法:
本发明中的虚拟骨干网生成方法大致分为三阶段:
阶段①:在计时器的控制下,节点进行环境感知,邻居节点间交换Status消息(即状态消息),利用启发式方法选举初始簇头,声明各自区域;
阶段②:节点选择优先级最高的邻居作为接入节点(父节点),陆续加入不同区域,分布式地构建以初始簇头为中心的区域虚拟骨干网;
阶段③:通过选举出边界网关节点连通相邻的区域虚拟骨干网,构建出全局虚拟骨干网。计时器的超时机制将使节点能够感知拓扑环境变化,促使虚拟骨干网的拓扑重构。
上述生成方法包括以下步骤:
阶段①:
步骤101:初始化所有节点,例如,对于节点u,将role(u)置为newcomer,aid(u)置为nid(u),δ(u)置为0,完成初始化;
步骤102:所有节点进行环境感知,例如,对于节点u,开启计时器SendTimer(Status)后,开始周期性广播其状态消息:Status(Info(u)),同时接收邻居节点的状态消息,从邻居的状态消息中提取基本信息Info进行存储,并更新自身的基本信息Info。对于首次发现的邻居v,启动计时器RecvTimer(Status(Info(v))),监控邻居的生存,以后每次收到该邻居的Status消息,便对此计时器予以重置。两轮Status消息广播后,每个节点都能获取邻居最新的基本信息Info。
步骤103:若每个节点都有邻居,则开始选举初始簇头。规定选举的优先级序列为P(v)=(role(v),δ(v),nid(v)),并规定节点v的P(v)大于节点u的P(u),当且仅当满足下列任意条件时成立:
1)role(v)>role(u)
2)role(v)=role(u),δ(v)>δ(u)
3)role(v)=role(u),δ(v)=δ(u),nid(v)<nid(u)
例如对于节点u,计算MaxP(u)=Max({P(v)|v∈N(u)}),即找出节点u的邻居里选举优先级最高的节点。
步骤104:若节点u计算得出自己的优先级P(u)大于MaxP(u),则代表节点u的优先级大于它的所有邻居,那么它将自选举为初始簇头:置role(u)为dominator,并执行步骤105;否则执行步骤106。
步骤105:节点u自选举为初始簇头后,开始构建编号为aid(u)的区域,并开启计时器SenderTimer(BeaconArea),周期性地广播本区域的生存消息;
步骤106,邻居节点u自选举失败后,继续进行环境感知,接收邻居节点的状态消息,更新邻居和自身的基本信息Info。
阶段②:
步骤107:节点u经过计算,若自己的选举优先级P(u)小于MaxP(u)=P(v),且发现此邻居v已加入某个区域(其role(v)=dominator或dominatee),则执行步骤108。
步骤108:节点u置aid(u)为aid(v),置role(u)为dominatee,并向邻居v发送JoinArea(Info(u),Info(v))消息,表明已加入邻居v所属区域aid(v),启动RecvTimer(BeaconArea),监测本区域是否存活;若邻居v是dominator节点,则收到此JoinArea(Info(u),Info(v))消息后,更新Info(u);若邻居v是dominatee节点,则收到此JoinArea(Info(u),Info(v))消息后,更新节点u的基本信息Info(u),置role(v)为dominator,表示成为区域内的骨干网,并更新节点u的Info(u);dominator节点将以邻居信息为基础,互相交换各自的路由信息,更新路由表。
步骤109:所有节点依旧周期性地广播自身或接收邻居的Status消息,初始簇头节点广播区域的生存消息BeaconArea,区域内的虚拟骨干网节点(dominator节点)负责中继转发,区域内的所有节点都监听邻居及区域的生存情况,实现环境感知。
阶段③:
步骤110:对于一个已加入区域的节点u,如果有属于其他区域的邻居节点,则广播Status(Info(u),SN(u)),因此,u将获得两跳内的其他区域的节点信息SN(u),用于计算是否连通周边区域。
步骤111:设节点v和节点w的组合(v,w)代表连通区域A与B的边界网关组合;
MaxR(A,B)=Max({R(v,w}|aid(v)=A∧aid(w)=B∧v∈N(w))代表优先级最高的组合,优先级序列R(v,w)=(role(v),role(w),nid(v),nid(w)),其中v∈S(w)且aid(v)<aid(w)。规定节点(v,w)组合的优先级R(v,w)大于节点(x,y)组合的优先级R(x,y),当且仅当满足下列任意条件时成立:
1)role(v)>role(x)
2)role(v)=role(x),role(w)>role(y)
3)role(v)=role(x),role(w)=role(y),nid(v)<nid(x)
4)role(v)=role(x),role(w)=role(y),nid(v)=nid(x),nid(w)<ni(y)
若节点u计算得MaxR(aid(u),aid(v))=R(u,v),即节点u与节点v的组合连通各自区域的优先级最高。节点u向节点v发送AllyArea(Info(u),Info(v)),申请连通节点v所在区域的虚拟骨干网;节点v收到此消息后回复AllyArea(Info(v),Info(u)),表明同意连通。双方收到对方发送的AllyArea消息后,都置role为dominator(原来就是dominator的话就保持不变)。可见,根据R的定义,aid较小的节点总是首先发送AllyArea,且两个dominator节点的组合将优先成为边界网关节点。
步骤112:当所有节点的role不再改变,网络趋于稳定,所有区域内的dominator节点组成区域虚拟骨干网,并由区域边界的dominator节点互相连通,构成全局虚拟骨干网,骨干网节点间可同步交换路由信息,形成路由表用于数据包的路由。
以下结合图2、图3详细阐述本发明中虚拟骨干网的维护方法:
移动自组网下的终端节点时刻运行着各类计时器,这些计时器控制着节点进行环境信息更新,监控区域、邻居的存活。当节点的移动、加入、退出、电能耗尽使得网络拓扑结构发生变化时,相关节点能够及时获知并作出相应拓扑调整,完成虚拟骨干网的维护工作,保持其连通性。以下说明各类计时器的超时处理方法:
①SendTimer(Status):超时则广播自身Status消息,并重置;
②SendTimer(BeaconArea):超时则广播区域生存消息BeaconArea,并重置;
③RecvTimer(Status):超时则清空该邻居信息,删除该邻居计时器,以下结合图2详细说明;
步骤201:节点始终监听来自所有邻居的消息,准备接收其Status消息;
步骤202:判断某个邻居生存计时器RecvTimer(Status)是否超时;若节点在规定时间内没有收到该邻居的Status消息,则导致超时;若在规定时间内收到该邻居的Status消息,则不超时;
步骤203:若节点认为该邻居仍存活,重置该邻居生存计时器RecvTimer(Status);若节点认为该邻居已不在其通信范围内,则将本地存储的该邻居信息Info清空,删除该邻居的生存计时器RecvTimer(Status);
步骤204:节点判断是否还有邻居,若还有邻居则继续监听邻居的消息,否则转到步骤101重新初始化;
④RecvTimer(BeaconArea):超时则清空所有本地存储的邻居信息,如Info,SN,删除所有计时器,重新初始化,以下结合图3详细说明;
步骤301:节点始终监听来自其所属区域的生存消息BeaconArea消息;
步骤302:判断某个邻居生存计时器RecvTimer(BeaconArea)是否超时;若节点在规定时间内没有收到该区域的BeaconArea生存消息,则导致超时;若在规定时间内收到该区域的BeaconArea生存消息,则不超时;
步骤303:若节点认为所属区域存活,重置区域生存计时器RecvTimer(Beacon Area);若节点认为所属区域已不存在或者自身已移动出该区域,将本地存储的所有邻居信息清空;节点删除所有的邻居生存计时器RecvTimer(Status)以及区域生存计时器RecvTimer(BeaconArea)后转到步骤101重新初始化;
下面结合图4~图8举例说明本发明如何在拓扑频繁变化的移动自组网中,通过节点进行环境感知,实现虚拟骨干网的生成和维护:
首先执行步骤101:所有节点初始化,aid置为nid,role置为newcomer,δ置为0,开启计时器SendTimer(Status),周期性广播Status消息。
图4显示了初始簇头的选举(图1的步骤102-105)。通过两次Status消息广播,并计算优先级P后,节点1,2发现自身的优先级P比邻居节点高,则自选举为初始簇头,置role为dominator,开启计时器SendTimer(BeaconArea)开始广播区域生存消息Beacon Area,各自开始构建区域A1,A2。
图5显示了以初始簇头节点1和2同步构建区域骨干网。节点4,5,8,9,10执行步骤106-108,继续接收邻居的Status消息、更新邻居的基本信息Info,发现节点1变成了dominator节点,且计算得自身优先级P小于节点1,因此给节点1发出JoinArea消息后,它们都加入了区域A1,并置role为dominatee,置aid为1,开启计时器RecvTimer(BeaconArea),准备接收区域A1中的生存消息BeaconArea;同理,节点3,6,7,11加入区域A2。
图6显示了区域A1,A2的边界将如何调整,即步骤109-112。节点4,10与节点3,7互相发现对方属于不同区域,则将彼此信息添加入异簇邻居信息集SN中,填入Status消息广播,因此节点4,10,3,7都能获知彼此存在,并计算MaxR(A1,A2)得边界网关仅有的两种组合的优先级为R(v4,v3),R(v10,v7),根据比较规则,R(v4,v3)>R(v10,v7)。因此节点4,3互相发送AllyArea后,置role为dominator。此时,区域虚拟骨干网互相连通,所有dominator节点组成虚拟骨干网,相互交换路由信息后,便可承担起网络中所有节点的数据转发任务。
如图7所示,节点3,4故障,节点11发生移动。当节点11由区域A2移动至去区域A1后将依次执行步骤301-101(按图3所示顺序执行):由于无法接收A2内的生存区域消息BeaconArea,导致RecvTimer(BeaconArea)超时,它重新初始化为newcomer节点。随后节点11执行步骤102-104,106-108:经过邻居发现,节点11选择节点5作为接入节点加入A1,置role为dominatee,而节点5接收到节点11发送的JoinArea消息后将role置为dominator。与此同时,节点2,6的邻居存活计时器RecvTimer(Status(Info(v11)))超时,将删除节点11的信息;节点7,10执行步骤110-112,重新计算MaxR(A2,A3)得知当前R(v10,v7)的优先级最高,互相发送AllyArea消息,置role为dominator后,重新连通了区域A2和A3,如图8所示,虚拟骨干网维护完成。
由以上实施例可以看出,本发明提供的移动自组网基于计时器的虚拟骨干网生成和维护方法,其优点在于:
本发明通过建立一种基于计时器思想的环境感知方法,使节点能够利用计时器的超时机制,周期性地广播自身的状态信息,接收邻居的状态信息、区域生存消息,感知自身、邻居节点、相关节点因故障、移动所导致的区域虚拟骨干网结构的变化。通过此环境感知方法,节点能够获取必要地邻居信息,分布式地为大型移动自组网络构建分区分层的虚拟骨干网,专门用于数据路由转发,避免了洪泛路由模式的高耗能低效率,提高路由效率的同时节约路由能耗。当节点发生移动、故障使得虚拟骨干网路由结构发生破坏、影响数据路由时,由于计时器的超时机制,相关节点能够迅速感知环境变化并作出自适应调整,通过重新进行局部选举初始簇头、加入区域、局部选举边界网关等方法使虚拟骨干网得到快速重构,增强了路由的稳定性以及虚拟骨干网的抗毁能力、鲁棒性、自愈性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (5)
1.一种移动自组网中虚拟骨干网的生成和维护方法,其特征在于,包括以下步骤:
S1,在计时器的控制下,节点u进行环境感知,节点u与邻居节点v间交换状态消息,选举初始簇头,声明各自的区域;
S2,各节点选择其优先级最高的邻居节点作为接入节点,陆续加入不同区域,分布式地构建以所述初始簇头为中心的区域虚拟骨干网;
S3,通过选举出边界网关节点来连通相邻的区域虚拟骨干网,构建出全局虚拟骨干网;
S4,利用计时器的超时机制使节点感知拓扑环境变化,从而进行所述全局虚拟骨干网的拓扑重构;
其中,步骤S1具体包括:
101,初始化所有节点;
102,所有节点进行环境感知:对于任一节点u,开启计时器SendTimer(Status),开始周期性广播节点u的状态消息Status(Info(u)),同时接收节点u邻居节点的状态消息,从邻居的状态消息中提取基本信息Info进行存储,并更新节点u自身的基本信息Info,对于首次发现的节点v,启动计时器RecvTimer(Status),监控节点v的生存状态;
103,若每个节点都有邻居节点,则开始选举初始簇头,规定选举的优先级序列为P(v)=(role(v),δ(v),nid(v)),并规定节点v的P(v)大于节点u的P(u),当且仅当满足下列任意条件时成立:
1)role(v)>role(u)
2)role(v)=role(u),δ(v)>δ(u)
3)role(v)=role(u),δ(v)=δ(u),nid(v)<nid(u)
并对于节点u,计算MaxP(u)=Max({P(v)|v∈N(u)}),找出节点u的邻居里优先级最高的节点;
104,若节点u计算出自己的优先级P(u)大于MaxP(u),则代表节点u的优先级大于它的所有邻居,那么它将自选举为初始簇头:置role(u)为支配节点dominator,并执行步骤105;否则执行步骤106;
105,节点u自选举为初始簇头后,开始构建编号为aid(u)的区域,并开启计时器SenderTimer(BeaconArea),周期性地广播本区域的生存消息;
106,邻居节点u自选举失败后,继续进行环境感知,接收邻居节点的状态消息,更新邻居和自身的基本信息Info;
其中,节点v的角色记为role(v),节点v的唯一标识ID记为nid(v),节点v的邻居节点数记为δ(v),邻居节点v的簇号记为aid(v);
步骤S2具体包括:
107,节点u经过计算,若自己的选举优先级P(u)小于MaxP(u)=P(v),且发现此节点v已加入某个区域,则执行步骤108;
108,节点u置aid(u)为aid(v),置role(u)为被支配节点,并向邻居节点v发送JoinArea(Info(u),Info(v))消息,表明已加入邻居v所属区域aid(v),启动计时器RecvTimer(BeaconArea),监测本区域是否存活;若邻居v是支配节点,则收到此JoinArea(Info(u),Info(v))消息后,更新节点u的基本信息Info(u)={nid(v),aid(v),role(v),δ(v)};若节点v是被支配节点,则收到此JoinArea(Info(u),Info(v))消息后,更新节点u的基本信息Info(u),置role(v)为支配节点,表示成为区域内的骨干网,并更新节点u的基本信息Info(u);支配节点将根据邻居节点的基本信息,互相交换各自的路由信息,更新路由表;
109,所有节点周期性地广播自身的状态消息或接收邻居的状态消息,初始簇头节点广播区域的生存消息,区域内的虚拟骨干网节点负责中继转发,区域内的所有节点都监听邻居及区域的生存情况,实现环境感知;
其中,JoinArea(Info(u),Info(v)),用于节点u声明以邻居节点v为接入点加入节点v所在区域;
110,对于一个已加入区域的节点u,如果有属于其他区域的邻居节点,则广播节点u的状态消息,从而节点u获得两跳内的其他区域的节点信息SN(u),用于计算是否连通周边区域;
111,设节点v和节点w的组合(v,w)代表连通区域A与B的边界网关组合;
MaxR(A,B)=Max({R(v,w}|aid(v)=A∧aid(w)=B∧v∈N(w))代表优先级最高的组合,节点(v,w)组合的优先级序列为R(v,w)=(role(v),role(w),nid(v),nid(w)),其中v∈S(w)且aid(v)<aid(w),规定节点(v,w)组合的优先级R(v,w)大于节点(x,y)组合的优先级R(x,y),当且仅当满足下列任意条件时成立:
1)role(v)>role(x)
2)role(v)=role(x),role(w)>role(y)
3)role(v)=role(x),role(w)=role(y),nid(v)<nid(x)
4)role(v)=role(x),role(w)=role(y),nid(v)=nid(x),nid(w)<nid(y)
若节点u计算得MaxR(aid(u),aid(v))=R(u,v),即节点u与节点v的组合连通各自区域的优先级最高,则节点u向节点v发送消息AllyArea(Info(u),Info(v)),申请连通节点v所在区域的虚拟骨干网;节点v收到此消息后回复消息AllyArea(Info(v),Info(u)),表示同意连通,双方收到对方发送的AllyArea消息后,都置节点v的角色为支配节点;
112,当所有节点的角色不再改变时,所有区域内的支配节点组成区域虚拟骨干网,并由区域边界的支配节点互相连通,构成全局虚拟骨干网;
其中,消息AllyArea(Info(u),Info(v))用于节点u申请与异簇邻居节点v连通彼此区域的区域虚拟骨干网。
2.如权利要求1所述的方法,其特征在于,步骤101中按以下方式初始化所有节点:对于任一节点u,设置节点u的角色role(u)为newcomer,表示没有加入任何区域,将节点u的区域号aid(u)置为节点u的唯一标识nid(u),并将节点u邻居节点数δ(u)置为0。
3.如权利要求1~2中任一项所述的方法,其特征在于,利用四个计时器SendTimer(Status)、RecvTimer(Status)、SenderTimer(BeaconArea)和RecvTimer(BeaconArea)的超时处理机制使节点感知拓扑环境变化。
4.如权利要求3所述的方法,其特征在于,计时器RecvTimer(Status)的超时处理机制包括以下步骤:
201,节点监听来自所有邻居节点的消息,准备接收邻居节点的状态消息;
202,判断某个邻居生存计时器RecvTimer(Status)是否超时;若节点在规定时间内没有收到对应邻居节点的状态消息,则导致超时;若在规定时间内收到该对应邻居节点的状态消息,则不超时;
203,若节点认为该对应邻居节点仍存活,则重置该邻居生存计时器RecvTimer(Status);若节点认为该对应邻居节点已不在其通信范围内,则将本地存储的该邻居信息清空,删除该对应邻居的生存计时器RecvTimer(Status);
204,节点判断是否还有其它邻居节点,若有则继续监听邻居节点的消息,否则转到步骤101重新初始化。
5.如权利要求3所述的方法,其特征在于,计时器RecvTimer(BeaconArea)的超时处理机制包括以下步骤:
301,节点监听来自其所属区域的生存消息;
302,判断某个邻居生存计时器RecvTimer(BeaconArea)是否超时;若节点在规定时间内没有收到该区域的BeaconArea生存消息,则导致超时;若在规定时间内收到该区域的BeaconArea生存消息,则不超时;
303,若节点认为所属区域存活,则重置区域生存计时器RecvTimer(BeaconArea);若节点认为所属区域已不存在或者自身已移动出该区域,将本地存储的所有邻居信息清空;节点删除所有的邻居生存计时器RecvTimer(Status)以及区域生存计时器RecvTimer(BeaconArea)后转到步骤101重新初始化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210138037.1A CN102625403B (zh) | 2012-05-04 | 2012-05-04 | 移动自组网中虚拟骨干网的生成和维护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210138037.1A CN102625403B (zh) | 2012-05-04 | 2012-05-04 | 移动自组网中虚拟骨干网的生成和维护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102625403A CN102625403A (zh) | 2012-08-01 |
CN102625403B true CN102625403B (zh) | 2014-06-18 |
Family
ID=46565039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210138037.1A Expired - Fee Related CN102625403B (zh) | 2012-05-04 | 2012-05-04 | 移动自组网中虚拟骨干网的生成和维护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102625403B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857990B (zh) * | 2012-09-29 | 2015-08-12 | 苏州贝尔塔数据技术有限公司 | 面向高速节点自组网的三级树形结构令牌双簇首分簇方法 |
CN103037024B (zh) * | 2012-12-05 | 2016-06-29 | 华为技术有限公司 | 划分节点子域归属的方法和装置 |
CN103188171B (zh) * | 2013-04-08 | 2016-08-31 | 杭州华三通信技术有限公司 | 一种报文调度方法和设备 |
EP3132647B1 (en) * | 2014-04-16 | 2018-06-13 | Philips Lighting Holding B.V. | Method and apparatus for reducing the length of a packet storm in a wireless mesh network |
CN103945487A (zh) * | 2014-05-08 | 2014-07-23 | 国家电网公司 | 一种电力通信网中面向可靠性的节点分簇方法 |
DE102014209579A1 (de) * | 2014-05-20 | 2015-11-26 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Vorrichtung zum Versenden von Informationen zwischen zwei mobilen Kommunikationsnetzwerken |
CN104735745B (zh) * | 2015-04-02 | 2016-08-17 | 吉林大学 | 一种异构自组织网络中虚拟骨干网的建立方法及装置 |
CN104837166B (zh) * | 2015-04-02 | 2018-08-07 | 吉林大学 | 一种异构自组织网络中虚拟骨干网的建立方法 |
CN106793178A (zh) * | 2016-12-26 | 2017-05-31 | 南京理工大学 | 一种Android区域便携移动自组网的软硬件系统构建方法 |
CN108366093B (zh) * | 2018-01-16 | 2020-08-21 | 北京邮电大学 | 一种基于“虚拟中心”和“移动代理”的分布式无线自组网 |
CN110213801B (zh) * | 2018-02-28 | 2023-08-15 | 成都鼎桥通信技术有限公司 | 异构网络通信方法及设备 |
CN109286625A (zh) * | 2018-09-28 | 2019-01-29 | 北斗天地股份有限公司 | 一种基于无中心应用软件的通信方法及装置 |
CN111031548B (zh) * | 2018-10-10 | 2021-07-13 | 清华大学 | 水声自组织网络中虚拟骨干网的构建方法、装置和设备 |
CN109361710B (zh) * | 2018-12-14 | 2021-03-09 | 中国人民解放军战略支援部队信息工程大学 | 一种安全协议重构方法及装置 |
CN111371572B (zh) * | 2018-12-25 | 2021-09-10 | 大唐移动通信设备有限公司 | 一种网络节点的选举方法及节点设备 |
CN111491324B (zh) * | 2019-01-29 | 2022-04-01 | 大唐移动通信设备有限公司 | 一种维护虚拟骨干网的方法、装置及存储介质 |
CN110022185B (zh) * | 2019-02-18 | 2020-07-28 | 厦门大学 | 一种适合于移动自组网的虚拟骨干网算法 |
CN110167096A (zh) * | 2019-04-01 | 2019-08-23 | 黑龙江省科学院自动化研究所 | 一种无线节点自组网的晋升方法 |
CN110366149A (zh) * | 2019-07-30 | 2019-10-22 | 海南天然橡胶产业集团股份有限公司 | 信息反馈方法及系统 |
CN110839213B (zh) * | 2019-10-25 | 2022-06-21 | 南京英锐祺科技有限公司 | 一种广播方法和系统 |
CN111093246B (zh) * | 2019-12-30 | 2022-05-31 | 国网北京市电力公司 | 一种基于人因工程的无线传感网智能分簇方法 |
CN116055394A (zh) * | 2022-12-30 | 2023-05-02 | 天翼云科技有限公司 | 一种基于矢量化骨干网的边缘路由编排系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917460A (zh) * | 2006-09-07 | 2007-02-21 | 上海交通大学 | 无线传感器网络中虚拟骨干网的分布式构造方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6870846B2 (en) * | 2002-04-29 | 2005-03-22 | Harris Corporation | Hierarchical mobile ad-hoc network and methods for performing reactive routing therein using dynamic source routing (DSR) |
-
2012
- 2012-05-04 CN CN201210138037.1A patent/CN102625403B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917460A (zh) * | 2006-09-07 | 2007-02-21 | 上海交通大学 | 无线传感器网络中虚拟骨干网的分布式构造方法 |
Non-Patent Citations (2)
Title |
---|
Bo Han.Zone-based virtual backbone formation in wireless ad hoc networks.《Ad Hoc Networks》.2009, |
Zone-based virtual backbone formation in wireless ad hoc networks;Bo Han;《Ad Hoc Networks》;20090731;正文第187页第4.2.1节-第192页第6.3节,附图1、2(a-d) * |
Also Published As
Publication number | Publication date |
---|---|
CN102625403A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102625403B (zh) | 移动自组网中虚拟骨干网的生成和维护方法 | |
Yue et al. | A comprehensive survey on the reliability of mobile wireless sensor networks: Taxonomy, challenges, and future directions | |
Anupama et al. | Survey of cluster based routing protocols in mobile adhoc networks | |
CN102448138B (zh) | 一种无线传感器网络层次路由协议的组簇方法 | |
CN102595412B (zh) | 一种基于移动节点的无线传感器网络分簇拓扑控制方法 | |
Mehta et al. | A survey on various cluster head election algorithms for MANET | |
CN103796271B (zh) | 一种适用于树型无线传感网的IPv6路由器冗余方法 | |
Qureshi et al. | Poly: A reliable and energy efficient topology control protocol for wireless sensor networks | |
Quoc et al. | A hybrid fault-tolerant routing based on Gaussian network for wireless sensor network | |
Shrestha et al. | A performance comparison of different topologies for wireless sensor networks | |
Zhu et al. | A high-available and location predictive data gathering scheme with mobile sinks for wireless sensor networks | |
Daflapurkar et al. | Tree based distributed clustering routing scheme for energy efficiency in wireless sensor networks | |
Cao Minh et al. | DISON: a self-organizing network management framework for wireless sensor networks | |
Rehena et al. | Handling area fault in multiple-sink Wireless Sensor Networks | |
Chinara et al. | TACA: Topology Adaptive Clustering Algorithm for Mobile Ad Hoc Network. | |
Nasser et al. | Mobility and routing in wireless sensor networks | |
Akbari et al. | Cluster-based and cellular approach to fault detection and recovery in wireless sensor networks | |
Abbas et al. | Lchrep: Layer and cluster based hierarchical routing and energy optimization protocol in wireless sensor networks | |
Burgos et al. | Evaluation of a fault-tolerant wsn routing algorithm based on link quality | |
Ahn et al. | Efficient clustering-based routing protocol in mobile ad-hoc networks | |
Wan et al. | A review of cluster formation mechanism for clustering routing protocols | |
Li et al. | A New Distributed CDS Algorithm of Ad Hoc Network Based on Weight | |
Baranidharan et al. | An Energy Efficient Clustering Protocol Using Minimum Spanning Tree for Wireless Sensor Networks | |
Bari et al. | Fault Tolerant Industrial Wireless Sensor Networks | |
Sathya et al. | Minimization of energy consumption in Wireless Sensor Networks using Virtual Backbone Scheduling with hierarchical clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140618 Termination date: 20180504 |