CN101909345A - 一种广域传感器网络的多跳动态自组网方法 - Google Patents
一种广域传感器网络的多跳动态自组网方法 Download PDFInfo
- Publication number
- CN101909345A CN101909345A CN2010102444244A CN201010244424A CN101909345A CN 101909345 A CN101909345 A CN 101909345A CN 2010102444244 A CN2010102444244 A CN 2010102444244A CN 201010244424 A CN201010244424 A CN 201010244424A CN 101909345 A CN101909345 A CN 101909345A
- Authority
- CN
- China
- Prior art keywords
- node
- packet
- data
- gateway
- hop
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出一种广域传感器网络的多跳动态组网方法,包括:普通节点接收并转发来自网关的广播组网类型数据,根据MAC时间戳对全网普通节点与网关进行时间同步;普通节点对接收到的广播组网类型数据进行处理,估算邻域节点的链路质量并计算自身层数,并计算相应的父节点生成多跳路由树;普通节点利用台阶式调度算法周期性被唤醒并检测本地数据,接收并处理来自普通节点的上层、同层和下层的数据,持续维护邻域节点信息,更新父节点及多跳路由树,并将来自下层和自身产生的数据向上层转发。本发明运行LayerMesh的广域传感器网络可以进行随机部署,部署之后由LayerMesh完成零配置,零监管的自治组网、自治节能运行和自治维护。
Description
技术领域
本发明涉及为无线传感器网络领域,特别涉及一种广域传感器网络的多跳动态自组网方法。
背景技术
广域无线传感器网络是指一类超大规模的无线传感器网络,包含成千上万个微型传感器节点,被部署在农田、战场、河谷等广域空间环境,通过有限距离的无线通讯自组织形成多跳分布式网络,完成信息采集等应用任务。在现有的广域传感器网络系统的研究中,自组织的多跳路由通讯协议是研究中的重点和难点。由于节点数量巨大,难于手动配置,且部署环境地形复杂,常常难于靠近,广域传感器网络在部署之后,必须通过自组织的方法完成邻域信息学习、路由树建立、数据采集与处理、多跳数据汇聚、节能调度、网络故障修复等功能。研究广域传感器网络的自组织协议和多跳路由协议,主要解决如下问题:大规模网络随机部署之后基于节点邻域信息学习的自组网方法;数据汇聚路由树的建立、负载均衡控制,与路由树的自治维护;运行阶段大规模网络节点的协作节能调度,自治时间同步与自治故障修复。
解决上述问题是解决广域传感器网络的自组织、节能运行、多跳路由通讯的关键和必要途径。自组织多跳路由协议的研究要达到如下目标:
1)可扩展性
组网和路由协议的设计要支持超大规模的网络。随着网络规模的增大,网络的数据汇聚量会增大,节点通讯跳数增加,信道竞争更为激烈,通讯冲突概率增大。组网和路由协议设计需要解决大规模网络中的上述问题。
2)自治性
超大规模网络的组网和路由协议一定是自治运行的,因为节点众多难于个别调整和管理,在初始化阶段节点需要自治学习周围邻域信息,自治组网和建立路由树;在运行阶段,如果部分节点出现故障,或者环境发生变化导致部分链路出现故障时,网络需要有自修复的能力。
3)节能性
由于节点能量有限,节能是传感器网络最为重要的要求之一,组网协议和路由协议设计必须保证节点能够长时间处于休眠状态,并在短暂的活跃时隙协同工作完成数据采集、汇聚、多跳通信等功能。
4)分布式
算法和协议必须是分布式的,因为由一个或几个集中式服务器管理和控制整个广域网络的传感器节点,需要付出高额的通讯开销,而且在网络动态运行过程中,每个节点的周边信息是不断变化的,由集中式算法持续采集网络信息是不切实际的,必须设计分布式的组网和路由算法。
5)易用性
广域传感器网络的协议设计必须满足易用性要求,包括易于实施、易于操作等。
现有研究工业界和学术界的研究工作中,这方面的解决方案主要包括:Zigbee标准通讯协议、Xbow公司的Xmesh协议、MintRoute协议和聚类自组织协议。
但在现有的上述协议中,有两方面的关键问题并未得到解决,使得现有协议只支持小规模的传感器网络,不支持在超大规模传感器网络中的运行能力。
1)系统的自治运行和自治维护问题
在大规模网络部署之后,系统需要自治运行和自治维护,在出现部分节点故障,链路故障等问题时网络能够自动修复路由。一方面,在有新节点加入网络或有节点移出网络时,其它节点必须能够自动的调整自己的状态,并尽快同新加入节点进入协作状态,或者修补移出节点造成的路由和覆盖问题。另一方面,在网络初始化和运行阶段,节点必须对周围的环境自适应。但在上述现有协议中,Xmesh,MintRoute,Zigbee以及聚类自组织协议中,处理节点动态加入离开等事件的能力,和处理环境变化对网络链路质量影响的能力都较为不足。
2)系统节能性与系统可扩展性之间的矛盾
限制传感器网络规模的最主要问题之一是节点有限的能量。随着网络规模的增大,网络的数据汇聚量增大,节点通讯跳数增加,信道竞争更为激烈,需要更为有效的调度节点的节能工作状态。令节点长时间处于休眠状态时传感网节能的主要手段,但是当节点进入节能的休眠状态之后,它就无法接收和转发数据包。具体表现为,当一些节点进入休眠状态后,多跳通讯链路就会中断,无法完成大规模数据采集。必须设计有效的多跳协作的节能调度算法,既保证节点节能,又保证整个多跳网络的正常运作。在上述现有工作中,Zigbee协议只支持叶节点的休眠,进行中继转发的节点不能进入休眠状态,这严重限制了zigbee协议的可扩展规模和能量有效性。聚类自组织协议通过聚类头结点调度聚类内成员节点的休眠/工作状态,是一种集中式算法,可扩展性受限制。MintRoute并未考虑节点休眠机制。Xmesh是基于全网时间同步进行休眠调度,但时间同步精度较低,导致休眠时隙设计不精细,影响节能性能。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别针对解决广域传感器网络的分层自组网和自治的节能运行问题,提出了一种广域传感器网络的多跳动态组网方法。
为实现上述目的,本发明实施例提供了一种广域传感器网络的多跳动态组网方法,包括如下步骤:
普通节点接收并转发来自网关的广播组网类型数据包,根据所述广播组网类型数据包中的MAC时间戳对全网普通节点与所述网关进行时间同步;
所述普通节点对接收到的所述广播组网类型数据进行处理,根据数据处理的结果估算邻域节点的链路质量并计算自身层数,进一步计算相应的父节点,生成多跳路由树;和
根据所述多跳路由树,所述普通节点利用台阶式调度算法周期性被唤醒并检测本地数据,并接收并处理来自该普通节点的上层、同层和下层的数据,根据上述数据持续维护邻域节点信息,更新父节点及所述多跳路由树。
本发明的多跳动态组网方法运行LayerMesh的广域传感器网络可以进行随机部署,部署之后由LayerMesh完成零配置,零监管的自治组网、自治节能运行和自治维护。
由于LayerMesh协议是完全分布式的,运行在多对一,即多传感器节点将数据向一个sink汇聚时通讯的传感器网络结构中,无需节点位置信息,完全利用局部邻域通讯。上述传感器网络结构可以为分簇网络的一簇,也可以为一个传感器网络。
本发明的广域传感器网络的多跳动态组网方法具有如下特点:
分布式:协议是完全分布式算法,运行在分布式节点上,通过邻域信息交互完成组网、节能多跳通讯功能。
自治性:协议中的邻域信息学习,在线反向时间同步,在线路由维护等保证网络的长期自治运行。
节能型:所提台阶式节能调度算法,保证节点的低功耗节能工作。
可扩展性:分层自组织和台阶式节能调度,以及反向时间同步的设计,允许网络规模扩展。
易用性:网络在部署后,自动组网,组网完成之后自治运行,协议零监管,零配置,方便易用。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的多跳动态组网方法的结构框图;
图2为本发明实施例的LayerMesh初始化阶段的功能框图;
图3为本发明实施例的基于通讯和MAC时间戳的时间同步方法的功能示意图;
图4为本发明实施例的LayerMesh在线运行阶段的功能框图;
图5为本发明实施例的台阶状时隙分配多层联合调度机制示意图;以及
图6为本发明实施例的两层网络中分步解析的波浪式时间同步方法示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明主要在于,实现当传感器网络存在部分节点故障和联络故障等问题时,网络能够自动修复路由,并且系统节能性与系统可扩展性之间的矛盾。
为实现上述目的,本发明实施例提供一种广域传感器网络的多跳动态组网方法,包括初始化自治设置和在线自治运行两个阶段。
具体的说,初始化设置阶段是指在网络部署之后,由Sink节点即网关广播LayerGen类型数据包即组网类型数据包,并由普通节点转发。通过领域数据包的转发交互过程,完成领域节点信息学习,全网时间同步,层次划分,路由树自治建立等功能,其中邻域学习过程可以自适应网络部署的环境。
在初始化之后的运行阶段,提出Stair Scheduling节能调度算法即台阶式调度算法,每个传感器节点周期性醒来,检测本地数据信息,将数据向sink发送,并转发来自子节点的信息。Stair Scheduling算法保证节点在有限的活跃时隙内,协同完成多跳通讯任务。在运行阶段,节点的邻域信息、事件同步信息、路由树在持续动态变化,以自治适应环境变化,以及节点加入离开等事件。
图1示出了上述多跳动态组网方法的流程框图。如图1所示,该方法包括如下步骤:
S101:普通节点接收并转发LayerGen数据包,将全网普通节点与网关进行时间同步。
首先在广域传感器网络上部署节点,之后进入初始化设置阶段。初始化阶段的主要目的是令节点了解邻域节点情况、链路质量等信息;计算自身层次;完成同sink节点的时间同步;计算路由。
具体的说,由sink节点广播LayerGen类型数据包,即组网类型数据包,并由普通节点(common node)转发。其中,sink节点相当于网络中的网关(Gateway)。结合图2所示,sink节点首先进行全局时钟更新,确定全局时钟。全局时钟更新可以保证协议长期运行,全局时钟由4个16位整数表示。其中,全局时钟由4个16位整数表示,其较低的两个16位整数计数器由硬件时钟定期更新,其较高两位16位计数器,在发生进位时更新,保证协议运行几十年时间时钟不越界。最小单位为节点晶振1个tick的精度。tick为最小的时间单位点,一个tick(点)相当于1/4800秒。
LayerGen类型数据包的结构如表1所示,包括发送数据包的源节点Source,源节点的父节点Parent,源节点发送数据包的流水号Seq,源节点到sink的跳数(源节点的层数)Hop,数据包发送的MAC时间戳Time和源节点的当前负载Load。
表1
Source | Parent | Seq | Hop | Time | Load |
在数据转发过程中,利用MAC层的时间同步方法,在广播通讯过程中,实现全网节点与Sink的时间同步。
具体的说,在sink节点进行LayerGen数据包发送时,在发送到SYNC时间同步字节时,由MAC层记录发送数据包的时刻,即发送方MAC时间戳。然后由sink节点广播LayerGen数据包。
Sink节点接收到来自普通节点(common node)的LayerGen数据包并发送给普通节点,再由普通节点转发给其子节点。在普通节点接收到sink节点或者上层LayerGen数据包时,接收到SYNC时间同步字节时,由MAC层记录数据包的接收时刻,即接收方MAC时间戳。
在上述数据转发过程中,利用MAC层的时间同步方法,在广播通讯过程中,实现全网节点与sink节点的时间同步。
其中,时间同步的计算进一步包括由接收节点计算同sink节点的时钟偏差,以进行时间同步。图3示出了基于通讯和MAC时间戳的时间同步方法的示意图。如图3所示,发送方在发送数据包时,由应用层调用发送命令后,首先产生CPU中断,但节点响应CPU中断的延时是随机的,然后在MAC层,节点会进行信道接入竞争,也会引入随机延时。在节点完成信道接入竞争之后,在MAC层记录时间戳,作为globaltime,并写入数据包中。在接收方,接收节点在完成数据包编码之后,记录时间戳作为localtime,由于编码时间和解码时间都是较为固定的,所以MAC时间戳方法可以消除由于CPU中断和MAC信道接入所导致的随机误差。
在时间同步算法上,利用线性回归方法估算本地时钟同全局时钟的值偏差和速度偏差:
其中,bias为值偏差,slope为速度偏差,xi为本地时钟,yi为全局时钟。
S102:估算邻域节点的链路质量并计算自身层数及相应的父节点,生成多跳路由树。
在实现上述时间同步计算时,普通节点处理LayerGen数据包,解析其中的数据,测量接收信号强度。在数据转发过程中,普通节点监听所有邻域节点的数据包,以学习邻域节点信息,建立一个邻域节点信息列表(Neighborhood List),统计同邻域节点链路质量。
表2示出了上述邻域节点信息列表(Neighborhood List)的结构和示例。
表2
Addr | 1 | 6 | 2 |
RSS | 80 | 85 | 80 |
Seq | 1 | 1 | 1 |
Goodness | 80 | 85 | 80 |
Load | 0 | 0 | 0 |
TimeOut | 0 | 0 | 0 |
Hop | 1 | 2 | 2 |
其中,Addr为邻节点地址;RSS为接收到邻节点信号时的信号强度;Seq为接收到邻节点数据包的流水号;Goodness为估算的到邻节点的链路质量;Load为邻节点的负载;Timeout为接收到邻域节点数据包的超时次数;Hop为邻节点距sink的跳数。
根据上述接收到的邻域节点的LayerGen数据包的信息,估算到邻域节点的链路质量。具体的说,链路质量估算算法采用数据包接收率Packet Reception Rate(PRR)与接收信号强度Received Signal Strength(RSS)相结合的方法。
PRR采用滚动加权方法进行计算,以逐渐减弱历史PRR的影响。
Prr=(Prr*a+Prr_new)/(a+1),
其中,a为加权系数。Prr_new为在最近一个周期内对PRR的估算结果Prr_new=Creceived/Cexpected。其中,Cexpected为本周期期望接收到的此邻节点的数据包数,Creceived为本周期实际接收到的来自此邻节点的数据包数,由此计算这一周期的数据包接受率。
邻域节点的链路质量Goodness通过下式计算:
goodness=Prr·α+RSS·β,
其中,RSS为信号接收强度,接收到数据包之后,在接收节点由信号强度检测电压计算得到。其中,α为链路质量计算时Prr的系数,β为链路质量计算时RSS的系数。
每个节点根据Neighborhood List的信息,计算自身层数,并以层数、链路质量和负载平衡为指标寻找最佳备选邻域父节点作为路由树的父节点。在每个节点确定父节点之后,自组织形成由全网节点到sink节点的多跳路由树。
具体的说,普通节点根据邻域节点信息列表中邻域节点距离sink节点的跳数,计算该节点距离sink节点的跳数,确定为该普通节点的层数。
首先寻找邻域中距离sink节点跳数最小的节点,进而在得到的距离sink节点跳数最小的节点中寻找链路质量最好的节点,作为父节点。
其中,父节点为在普通节点已完成邻域节点信息统计,已了解邻域节点的链路质量和负载情况,由所提父节点确定算法产生。这一算法同时计算节点自身层次,并优化选择普通节点的父节点。
在每个普通节点确定父节点之后,更新父节点及该普通节点的自身层数,自组织形成由全网节点到sink节点的多跳路由树。
S103:利用StairScheduling算法周期性唤醒普通节点更新父节点及多跳路由树,自治运行维护。
根据上述多跳路由树,利用台阶式调度算法进行相邻层次节点的协作调度,自行进行故障和路由修复,既保证节点节能性能,又保证网络可靠的多跳数据采集。
台阶式调度算法(Stair Scheduling)使得相邻层次的节点中,外层节点的发送时隙同其内一层节点的接受时隙相同。保证在节点有效的活跃时隙,数据包由外层向内层的逐层有效传递。
即在步骤101中的初始化之后进入在线运行阶段。该阶段的主要目的是令节点了解邻域节点情况、链路质量信息;计算自身层次,完成同sink节点的时间同步;在出现链路质量或节点加入推出时的路由自动更新。
结合图4和图5所示,对台阶时间调度算法进行详细说明。
台阶调度机制为传感器网络运行阶段的节点工作状态协作调度方法。广域传感器网络在经过初始化自组织阶段后,形成n层的多跳路由树。台阶调度机制基于节点的层次信息进行休眠/工作时隙调度。其核心思想:由于数据是由远离sink的节点向sink节点汇聚,所以在多跳路由树中,某节点A的子节点必处于节点A的外层,节点A的父节点必处于节点A的内层。台阶调度使得A的子节点的发送时隙对齐A的接受时隙,并使A的发送时隙对齐其父节点的接受时隙。
如图5所示,设网络组成n层路由树结构,设每层内的节点都周期性的利用集成的多种类型传感器检测周边信息,设一个采样周期长度为Tperiod。采样周期Tperiod被划分为等长的M个时隙,各层的节点在绝大多数时间都处于节能的休眠状态。对于第i层的节点,它会从每个采样周期的第一个时隙开始休眠,直到第(n-i-1)个时隙,然后在第(n-i)个时隙醒来进入工作状态。节点的活动时间会持续3个时隙,然后节点继续回到节能休眠状态,直到整个采样周期Tperiod结束。
在上述3个活动时隙中,节点完成如下工作:
第一个时隙R-Slot,用于接收来自位于第(i+1)层的子节点的数据包和检测本地信息。
第二个时隙T-Slot,用于处理接收到的数据和本地检测信息,并将结果发送到其位于(i-1)层的父节点。
第三个时隙Syn-Slot,用于监听来自位于(i-1)层的父节点的广播信息,同父节点进行时间同步。
对于最外层节点存在特殊情况,它们在第1个时隙醒来,直接进入本地采集与发送的T-Slot,将数据发送给第n-1层的父节点。并在第2个时隙进入Syn-Slot,监听父节点的广播包,进行时间同步。
为避免每层节点之间的通讯冲突,每一个时隙又被细分为m个时间片。其中,时间片的最小长度为一次数据包传输的时间。任意一个节点在其T-Slot内,随机选择一个时间片,进行数据包广播,这样可以有效避免由于完全时间同步导致的数据包冲突问题。
图5展示了多层之间协同调度与通讯的机制。首先第n层的节点在T-Slot中选择一个时间片将检测信息发送到第n-1层的父节点,由于第n-1层的父节点正处于R-Slot的接听状态,所以数据可成功发送,此n-1层节点处理信息和完成本地监测。本地数据监测模块是利用普通节点所连接的多种传感器设备,检测本地数据。
然后时间推进到下一时隙,此时第n层节点进入Syn-Slot,第n-1层节点在T-Slot,而第n-2层开始R-Slot。所以此时第n-1的节点发送检测信息,将被其第n-2层的父节点接收到,这个广播同时会被第n层的子节点监听到,子节点借此完成同n-1层父节点之间的时间同步。这个台阶状的工作时隙调度机制由外层节点向内层持续进行,外层节点总是比起临近的内层节点早醒1个时隙。数据包由外层向内层转发,直到数据发送到网关节点。所以,台阶状的多层联合调度可以即保证可靠的多跳通讯,又保证节点绝大多数时间处于休眠状态。
在基于活跃时隙的节能调度过程中,节点间的时间同步起着至关重要的作用,只有在节点间精确时间同步的基础上,才能保证节点按照预想的时隙设置工作,否则会造成节点的工作时隙的混乱,造成通讯冲突等问题。
普通节点进一步接收来自其上层、同层和下层的数据,根据接收到的数据普通节点根据接收到的来自上层节点、同层节点和下层节点的数据包,计算并更新统数据包发送节点之间的链路质量估值。
具体的说,对于来自普通节点上层的数据,在普通节点接收到来自上层的(距离sink节点较近的一层)的数据包之后,计算并更新同数据包发送节点之间链路质量估值,并记录数据包接收的时刻。上述上层数据包处理用于进行反向时间同步。其中,反向时间同步是指在系统运行的数据采集阶段,每当上层节点发送数据时,下层节点被动监听上层节点的数据包,并利用此被动监听数据包进行在线时间同步。由于数据传输是由下层到上层的,而时间同步是由上层至下层的,所以称为反向时间同步。
具体的说,结合图5所示,在台阶状时隙分配多层联合调度机制中,第三个时隙Syn-Slot时隙是用来进行时间同步的时隙,在这个时隙中,当位于第i层的节点处于Syn-Slot时,其位于i-1层的父节点将处于T-Slot的信息广播状态,如图5所示,第i层节点的Syn-Slot总是同第i-1层节点的T-Slot对齐。这样,第i层节点向第i-1层节点发送数据的广播将同时完成两项任务:
1.将数据发送到比其更接近网关一层的父节点。
2.通过广播与比其远离网关一层的子节点进行时间同步。
在线运行阶段期间,反向时间同步是通过多次同步,由sink节点逐层向外进行时间同步的方法。图6为两层网络中分步解析的波浪式时间同步方法的示意图。图6中示出了处于网关、第1层节点和第2层节点的3个层次的三个节点,每一幅子图表示这个3层3节点网络在台阶时间调度算法中的一个状态变化,节点旁边的数字表示节点时钟同全局时钟的偏差。
如图6中所示,在第一个状态中,第1层节点的节点时钟同全局时钟的偏差为-8,第2层节点的节点时钟同全局时钟的偏差为+5。第2层节点向第1层节点发送数据。在第二个状态第一层节点向sink发送数据,在此第1层节点广播数据时,其广播信号将被其父节点和其第二层的子节点接收到,由于第二层的子节点处于Syn-slot,第二层节点利用这个广播信息同第一层节点完成时间同步。第2层节点同全局时钟的偏差变为+5。第三个状态中,sink节点发送数据汇聚的无线反馈,这一数据包在被第一层节点接收之后,用于同步sink和第一层节点之间的时钟。第1层节点和网关时间同步后,第2层节点向第1层节点发送数据,第1层向网关发送数据。第2层节点利用广播信息同第1层节点完成时间同步,即与网关完成时间同步。如此再经过两次数据汇报,3层节点即完成了同sink的时间同步。通过这种方法,子节点总是将自己的时钟同步到其父节点的时钟。这样,在每一次通讯时,外层节点总是与其相邻的内层节点同步时间,直到第一层节点同网关完成时间同步。整个过程中,数据通讯是由外层到内层,而网关的准确时钟却是由内层向外层,逐层的,类似波浪状的传播出去。
这种时间同步机制,随着数据采集、在相邻层的节点间分布式、自动的完成。不需要全局的协同与控制,在实际应用中具有重要的实用价值。
普通节点进一步接收来自其同层和下层的数据,在接收到来自同层节点的数据后,计算并更新同数据包发送节点之间链路质量估值。普通节点在接收到来自下层节点的数据包之后,计算并更新同数据包发送节点之间链路质量估值,并在自己的下一个发送时隙向父节点发送来自下层节点的数据包。
其中,链路质量计算同步骤102中的采用数据包接收率Packet Reception Rate(PRR)与接收信号强度Received Signal Strength(RSS)相结合的计算方法相同。
普通节点根据接收到的来自其上层、同层和下层的数据,持续维护邻域节点信息列表,包括邻节点的链路质量、邻节点的负载、邻节点的层数等信息,更新父节点及多跳路由树。
普通节点向其更新后的父节点发送数据包,直至距网关最近一层的父节点向sink节点发送数据包。sink节点的对由普通节点汇聚到sink节点的数据包进行处理,将数据包解析并进行本地存储。sink节点进一步将接收到的处理后的数据打包进行远程汇报。具体的说,sink节点可以利用GPRS或者3G网关将数据直接通过internet汇报到远程数据中心。Sink节点在进行数据远程汇报时,同时发送无线信号。该无线信号用于对网络节点进行在线的反向时间同步。
在sink节点进行数据汇报的无线反馈后,sink节点向普通节点进行LayerGen数据包发送时,在发送到SYNC时间同步字节时,由MAC层记录发送数据包的时刻,即发送方MAC时间戳。普通节点接收来自上层,即距离sink节点最近的一层的数据包之后,记录数据包的接收的时刻,即接收MAC时间戳。然后进行如上所述的上层、同层及下层数据包处理。
自治运行维护通过节点在接收到上层、同层和下层的数据包时的持续邻域信息采集、链路质量更新来完成的。在系统运行阶段,当节点接收到上层、同层或下层数据包时,利用这些数据包中的信息持续维护邻域信息表,包括邻节点的链路质量、邻节点的负载、邻节点的层数等信息。
当通往父节点的链路出现故障时,邻域节点信息列表会监测到同父节点链路质量的下降,当链路质量下降到一定阈值时,将通过父节点计算方法,寻找新的父节点,避免链路失效。
当有新节点加入网络时,新节点初始化处于被动监听状态,类似于初始化组网阶段,新节点接收邻域节点的数据包,建立邻域节点信息列表,完成同sink节点的时间同步,优化选择出父节点。在选出父节点之后,新加入节点进入在线工作状态,即完成自治的节点加入。
当有节点能量耗尽或移除网络时,其相邻节点的邻域节点信息列表会呈现该节点的不工作的状态,邻节点到该节点的链路质量迅速下降。以该节点为父节点的节点会重新计算父节点。这样自治的完成节点故障、或能量耗尽、节点移出等时间的自治处理与网络自治维护。
本发明的广域传感器网络的多跳动态组网方法解决广域传感器网络的分层自组网和自治的节能运行问题。运行LayerMesh的广域传感器网络可以进行随机部署,部署之后由LayerMesh完成零配置,零监管的自治组网、自治节能运行和自治维护。
由于LayerMesh协议是完全分布式的,运行在多对一,即多传感器节点将数据向一个sink汇聚通讯的传感器网络结构中无需节点位置信息,完全利用局部邻域通讯。
发明的广域传感器网络多跳动态组网方法具有如下特点:
分布式:协议是完全分布式算法,运行在分布式节点上,通过邻域信息交互完成组网、节能多跳通讯功能。
自治性:协议中的邻域信息学习,在线反向时间同步,在线路由维护等保证网络的长期自治运行。
节能型:所提台阶式节能调度算法,保证节点的低功耗节能工作。
可扩展性:分层自组织和台阶式节能调度,以及反向时间同步的设计,允许网络规模扩展。
易用性:网络在部署后,自动组网,组网完成之后自治运行,协议零监管,零配置,方便易用。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (18)
1.一种广域传感器网络的多跳动态组网方法,其特征在于,包括如下步骤:
普通节点接收并转发来自网关的广播组网类型数据包,根据所述广播组网类型数据包中的MAC时间戳对全网普通节点与所述网关进行时间同步;
所述普通节点对接收到的所述广播组网类型数据包进行处理,根据处理结果估算邻域节点的链路质量并计算自身层数,进一步计算相应的父节点,生成多跳路由树;和
根据所述多跳路由树,所述普通节点利用台阶式调度算法周期性被唤醒并检测本地数据,以及接收并处理来自所述普通节点的上层、同层和下层的数据,根据上述数据持续维护邻域节点信息,更新父节点及所述多跳路由树,并将来自下层和自身产生的数据向上层转发。
2.如权利要求1所述的多跳动态组网方法,其特征在于,所述根据广播组网类型数据包中的MAC时间戳对全网普通节点与所述网关进行时间同步进一步包括:
在所述网关广播组网类型数据包,并发送到时间同步字节时,MAC层记录发送数据报的时刻,并将其作为发送方MAC时间戳;和
当所述普通节点接收到来自网关或者上层广播组网类型数据包及时间同步字节时,MAC层记录数据包的接收时刻,并将其作为接收方MAC时间戳。
3.如权利要求2所述的多跳动态组网方法,其特征在于,所述时间同步进一步包括:利用线性回归方法估算本地时钟和全局时钟的值偏差和速度偏差,
其中,bias为值偏差,slope为速度偏差,xi为本地时钟,yi为全局时钟。
4.如权利要求2所述的多跳动态组网方法,其特征在于,在所述利用MAC层的时间同步将全网节点与网关时间同步之前,还包括:
进行全局时钟更新,其中,所述全局时钟由4个16位整数表示,最小单位为节点晶振1个tick的精度。
5.如权利要求1所述的多跳动态组网方法,其特征在于,所述普通节点对接收到的所述广播组网类型数据进行处理,计算相应父节点进一步包括:
所述普通节点监听其邻域节点的数据包,以建立邻域节点信息列表;
根据所述邻域节点信息列表,所述普通节点估算其邻域节点的链路质量并计算其距所述当网关的跳数,确定为自身层数;和
所述普通节点根据自身层数,寻找最佳备选邻域父节点作为父节点,自组织形成由全网节点到网关的多跳路由树。
6.如权利要求5所述的多跳动态组网方法,其特征在于,所述寻找最佳备选邻域父节点作为父节点进一步包括:
所述普通节点根据所述邻域节点信息列表,寻找邻域中距离网关跳数最小的节点;
在所述寻找得到的距离网关跳数最小的节点中,所述普通节点进一步寻找链路质量最好的节点作为最佳备选邻域父节点;和
所述普通节点将所述最佳备选邻域父节点作为父节点,更新父节点及所述普通节点的自身层数。
7.如权利要求6所述的多跳动态组网方法,其特征在于,所述邻域节点信息列表的结构包括:
Addr:邻节点地址;
RSS:接收到邻节点信号时的信号强度;
Seq:接收到邻节点数据包的流水号;
Goodness:估算的到邻节点的链路质量;
Load:邻节点的负载;
Timeout:围接收到邻域节点数据包的超时次数;和
Hop:邻节点距网关的跳数。
8.如权利要求7所述的多跳动态组网方法,其特征在于,所述父节点的数据结构与邻域节点的数据结构相同。
9.如权利要求5所述的多跳动态组网方法,其特征在于,所述普通节点对接收到的所述广播组网类型数据进行处理进一步包括:
解析所述广播组网类型数据,测量接收信号强度。
10.如权利要求5所述的多跳动态组网方法,其特征在于,通过以下公式估算其邻域节点的链接质量信息:
goodness=PRR·α+RSS·β,
其中,PRR为数据包接收率,RSS为接收信号强度,α为链路质量计算时PRR的系数,β为RSS的系数。
11.如权利要求10所述的多跳动态组网方法,其特征在于,其中,所述数据包接收率PRR采用滚动加权方法得到:
Prr=(Prr*a+Prr_new)/(a+1),
其中a为加权系数,Prr_new为在最近一个周期内对PRR的估算结果,其中,Prr_new=Creceived/Cexpected,Cexpected为本周期期望接收到的此邻节点的数据包数,Creceived为本周期实际接收到的来自此邻节点的数据包数,
在接收到数据包后,通过检测信号强度电压得到所述接收信号强度RSS。
12.如权利要求1所述的多跳动态组网方法,其特征在于,所述普通节点接收并处理来自该普通节点的上层、同层和下层的数据进一步包括:
在普通节点接收到来自上层的数据包之后,计算并更新同数据包发送节点之间的链路质量估值,并记录数据包的接收时刻,进行反向时间同步;
在普通节点接收到来自同层节点的数据包之后,计算并更新同数据包发送节点之间的链路质量估值;和
在普通节点接收到来自下层的节点的数据包之后,计算并更新同数据包发送节点之间链路质量估值,并在该节点的下一个发送时隙向父节点发送来自下层节点的数据包。
13.如权利要求12所述的多跳动态组网方法,其特征在于,所述反向时间同步进一步包括:
A1:所述普通节点向其父节点发送数据,所述父节点进一步向所述网关发送数据以将所述普通节点与其父节点时间同步;
A2:所述网关发送数据汇聚的无线反馈数据包,所述父节点接收该数据包以将所述网关和所述父节点时间同步;和
A3:重复步骤A1和A2,以将所述普通节点与其父节点及网关时间同步。
14.如权利要求1所述的多跳动态组网方法,其特征在于,所述普通节点向其更新后的父节点发送数据包,直至距所述网关最近的一层父节点向所述网关发送所述数据包,所述网关对所述数据包进行解析并本地存储。
15.如权利要求14所述的多跳动态组网方法,其特征在于,所述网关将接收到的数据包远程汇报至远程数据中心,并发送无线信号,以对网络中的普通节点进行在线的反向时间同步。
16.一种台阶式调度方法,其特征在于,包括:
将数据由远离网关向网关汇聚,使得普通节点的子节点的发送时隙对齐该普通节点的接收时隙,并且该普通节点的发送时隙对齐其父节点的接收时隙,所述普通节点利用所述台阶式调度方法周期性被唤醒并检测本地数据。
17.如权利要求16所述的台阶式调度方法,其特征在于,所述普通节点以周期Tperiod周期性检测传感器周边信息,
所述周期长度Tperiod被等分为M个时隙,对于第i层的节点,从每个采样周期的第一个时隙开始休眠,直到第(n-i-1)个时隙,然后在第(n-i)个时隙进入工作状态,
其中,n为所述多跳路由树的层数,i为所述普通节点所在的层数。
18.如权利要求17所述的台阶式调度方法,其特征在于,
第一个时隙用于接收来自其i+1层的子节点的数据包和检测本地信息;
第二个时隙用于处理接收到的数据和本地检测信息,并将检测结果发送到其位于i-1层的父节点;和
第三个时隙用于监听来自i-1层的父节点的广播信息,同父节点进行的时间同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102444244A CN101909345B (zh) | 2010-08-03 | 2010-08-03 | 一种广域传感器网络的多跳动态自组网方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102444244A CN101909345B (zh) | 2010-08-03 | 2010-08-03 | 一种广域传感器网络的多跳动态自组网方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101909345A true CN101909345A (zh) | 2010-12-08 |
CN101909345B CN101909345B (zh) | 2013-03-27 |
Family
ID=43264629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102444244A Expired - Fee Related CN101909345B (zh) | 2010-08-03 | 2010-08-03 | 一种广域传感器网络的多跳动态自组网方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101909345B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098731A (zh) * | 2011-01-25 | 2011-06-15 | 无锡泛联物联网科技股份有限公司 | 无线传感网中的基于跳数的流量自适应休眠调度方法 |
CN102883370A (zh) * | 2012-09-07 | 2013-01-16 | 浙江工业大学 | 基于无线传感器网络的电力线监测系统的分布式数据传输方法 |
CN103108388A (zh) * | 2011-11-14 | 2013-05-15 | 无锡物联网产业研究院 | 无线传感器网络时钟同步方法、装置及系统 |
CN103501525A (zh) * | 2013-09-23 | 2014-01-08 | 北京矿冶研究总院 | 矿区用应急通信网的组网方法及通信系统 |
CN103841522A (zh) * | 2012-11-21 | 2014-06-04 | 财团法人资讯工业策进会 | 电表网络系统及其电表节点与广播方法 |
CN104883285A (zh) * | 2015-04-27 | 2015-09-02 | 厦门纵行信息科技有限公司 | 一种网络的组网方法 |
CN105808788A (zh) * | 2016-04-06 | 2016-07-27 | 南京工程学院 | 大数据系统的数据搜索方法 |
CN105848169A (zh) * | 2016-05-05 | 2016-08-10 | 厦门四信通信科技有限公司 | 根据地理分布自动分割的无线自组网系统与方法 |
CN106102133A (zh) * | 2016-06-15 | 2016-11-09 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的动态无线网络的实现方法及系统 |
CN106304158A (zh) * | 2015-05-29 | 2017-01-04 | 梁克标 | 一种基于故障指示器的无线微网自组网方法 |
CN103747516B (zh) * | 2013-12-06 | 2017-02-22 | 电子科技大学 | 无线传感器网络中事件时间标签的后时间同步方法 |
CN109905838A (zh) * | 2013-06-09 | 2019-06-18 | 索尼公司 | 无线通信系统中的装置和方法 |
CN110493845A (zh) * | 2019-09-27 | 2019-11-22 | 中国电子科技集团公司第五十四研究所 | 一种无线自组网路由算法 |
CN111107568A (zh) * | 2018-10-25 | 2020-05-05 | 成都鼎桥通信技术有限公司 | 多跳中继的分布式组网方法、系统、设备和存储介质 |
CN111341074A (zh) * | 2020-03-03 | 2020-06-26 | 山东省地质环境监测总站(山东省地质灾害防治技术指导中心) | 一种基于5g定位技术的地质灾害警示的方法 |
CN111399451A (zh) * | 2020-03-17 | 2020-07-10 | 广东博智林机器人有限公司 | 一种基于调度系统的冲突解决方法、装置和存储介质 |
CN113055828A (zh) * | 2021-03-16 | 2021-06-29 | 重庆邮电大学 | 一种基于信标网络的多跳时间同步方法 |
CN113099526A (zh) * | 2020-03-30 | 2021-07-09 | 深圳友讯达科技股份有限公司 | 一种权重柔性递减调整的时间同步方法 |
US11095502B2 (en) | 2017-11-03 | 2021-08-17 | Otis Elevator Company | Adhoc protocol for commissioning connected devices in the field |
CN113329469A (zh) * | 2021-04-30 | 2021-08-31 | 北京连山科技股份有限公司 | 一种在勤务系统中利用自组网实现的汇聚路由方法 |
CN114268171A (zh) * | 2021-12-28 | 2022-04-01 | 全球能源互联网欧洲研究院 | 基于低功耗广域无线网络的分布式量测系统及控制方法 |
CN114553358A (zh) * | 2022-02-25 | 2022-05-27 | 重庆邮电大学 | 一种物联网分布式精确时间同步方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702697A (zh) * | 2005-06-06 | 2005-11-30 | 重庆大学 | 无线生理信息传感器网络的时间同步方法与装置 |
CN1832479A (zh) * | 2006-04-20 | 2006-09-13 | 复旦大学 | 一种用于传感器网络的高效全网时钟同步协议 |
-
2010
- 2010-08-03 CN CN2010102444244A patent/CN101909345B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702697A (zh) * | 2005-06-06 | 2005-11-30 | 重庆大学 | 无线生理信息传感器网络的时间同步方法与装置 |
CN1832479A (zh) * | 2006-04-20 | 2006-09-13 | 复旦大学 | 一种用于传感器网络的高效全网时钟同步协议 |
Non-Patent Citations (2)
Title |
---|
《Annual International Conference on Mobile and Ubiquitous System》 20060721 Andreea Berfield等 Efficient Scheduling for Sensor Networks 第2页 Section II 1-16 , * |
《机电工程》 20100531 孙新伟等 无线传感器网络节点周期性休眠时间同步研究 第75-77页 1-18 第27卷, 第5期 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098731B (zh) * | 2011-01-25 | 2014-06-25 | 无锡泛联物联网科技股份有限公司 | 无线传感网中的基于跳数的流量自适应休眠调度方法 |
CN102098731A (zh) * | 2011-01-25 | 2011-06-15 | 无锡泛联物联网科技股份有限公司 | 无线传感网中的基于跳数的流量自适应休眠调度方法 |
CN103108388A (zh) * | 2011-11-14 | 2013-05-15 | 无锡物联网产业研究院 | 无线传感器网络时钟同步方法、装置及系统 |
CN103108388B (zh) * | 2011-11-14 | 2016-04-06 | 无锡物联网产业研究院 | 无线传感器网络时钟同步方法、装置及系统 |
CN102883370A (zh) * | 2012-09-07 | 2013-01-16 | 浙江工业大学 | 基于无线传感器网络的电力线监测系统的分布式数据传输方法 |
CN102883370B (zh) * | 2012-09-07 | 2015-03-04 | 浙江工业大学 | 基于无线传感器网络的电力线监测系统的分布式数据传输方法 |
CN103841522A (zh) * | 2012-11-21 | 2014-06-04 | 财团法人资讯工业策进会 | 电表网络系统及其电表节点与广播方法 |
CN109905838A (zh) * | 2013-06-09 | 2019-06-18 | 索尼公司 | 无线通信系统中的装置和方法 |
CN103501525A (zh) * | 2013-09-23 | 2014-01-08 | 北京矿冶研究总院 | 矿区用应急通信网的组网方法及通信系统 |
CN103501525B (zh) * | 2013-09-23 | 2017-03-15 | 北京矿冶研究总院 | 矿区用应急通信网的组网方法及通信系统 |
CN103747516B (zh) * | 2013-12-06 | 2017-02-22 | 电子科技大学 | 无线传感器网络中事件时间标签的后时间同步方法 |
CN104883285A (zh) * | 2015-04-27 | 2015-09-02 | 厦门纵行信息科技有限公司 | 一种网络的组网方法 |
CN106304158B (zh) * | 2015-05-29 | 2020-01-21 | 梁克标 | 一种基于故障指示器的无线微网自组网方法 |
CN106304158A (zh) * | 2015-05-29 | 2017-01-04 | 梁克标 | 一种基于故障指示器的无线微网自组网方法 |
CN105808788B (zh) * | 2016-04-06 | 2018-12-14 | 南京工程学院 | 大数据系统的数据搜索方法 |
CN105808788A (zh) * | 2016-04-06 | 2016-07-27 | 南京工程学院 | 大数据系统的数据搜索方法 |
CN105848169A (zh) * | 2016-05-05 | 2016-08-10 | 厦门四信通信科技有限公司 | 根据地理分布自动分割的无线自组网系统与方法 |
CN106102133A (zh) * | 2016-06-15 | 2016-11-09 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的动态无线网络的实现方法及系统 |
US11095502B2 (en) | 2017-11-03 | 2021-08-17 | Otis Elevator Company | Adhoc protocol for commissioning connected devices in the field |
CN111107568A (zh) * | 2018-10-25 | 2020-05-05 | 成都鼎桥通信技术有限公司 | 多跳中继的分布式组网方法、系统、设备和存储介质 |
CN111107568B (zh) * | 2018-10-25 | 2022-09-27 | 成都鼎桥通信技术有限公司 | 多跳中继的分布式组网方法、系统、设备和存储介质 |
CN110493845A (zh) * | 2019-09-27 | 2019-11-22 | 中国电子科技集团公司第五十四研究所 | 一种无线自组网路由算法 |
CN111341074A (zh) * | 2020-03-03 | 2020-06-26 | 山东省地质环境监测总站(山东省地质灾害防治技术指导中心) | 一种基于5g定位技术的地质灾害警示的方法 |
CN111399451A (zh) * | 2020-03-17 | 2020-07-10 | 广东博智林机器人有限公司 | 一种基于调度系统的冲突解决方法、装置和存储介质 |
CN113099526A (zh) * | 2020-03-30 | 2021-07-09 | 深圳友讯达科技股份有限公司 | 一种权重柔性递减调整的时间同步方法 |
CN113055828A (zh) * | 2021-03-16 | 2021-06-29 | 重庆邮电大学 | 一种基于信标网络的多跳时间同步方法 |
CN113329469A (zh) * | 2021-04-30 | 2021-08-31 | 北京连山科技股份有限公司 | 一种在勤务系统中利用自组网实现的汇聚路由方法 |
CN113329469B (zh) * | 2021-04-30 | 2022-03-15 | 北京连山科技股份有限公司 | 一种在勤务系统中利用自组网实现的汇聚路由方法 |
CN114268171A (zh) * | 2021-12-28 | 2022-04-01 | 全球能源互联网欧洲研究院 | 基于低功耗广域无线网络的分布式量测系统及控制方法 |
CN114553358A (zh) * | 2022-02-25 | 2022-05-27 | 重庆邮电大学 | 一种物联网分布式精确时间同步方法 |
CN114553358B (zh) * | 2022-02-25 | 2023-09-01 | 深圳市兴海物联科技有限公司 | 一种物联网分布式精确时间同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101909345B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101909345B (zh) | 一种广域传感器网络的多跳动态自组网方法 | |
Liu et al. | A distributed energy-efficient clustering algorithm with improved coverage in wireless sensor networks | |
Swain et al. | A model for the classification and survey of clock synchronization protocols in WSNs | |
Burri et al. | Dozer: ultra-low power data gathering in sensor networks | |
Anastasi et al. | How to prolong the lifetime of wireless sensor networks | |
Dutta et al. | Procrastination Might Lead to a Longer and More Useful Life. | |
CN102281558A (zh) | 一种应用于物联网数据传输的无线传感器网络组网方法 | |
CN102209033B (zh) | 无线传感器网络分簇路由方法 | |
CN105684524A (zh) | 通信系统、接入网络节点和优化通信网络中能耗的方法 | |
CN101217381A (zh) | 基于跨层的无线传感器网络节能方法 | |
CN105684523A (zh) | 确定最优占空比以使总能量消耗最小化的通信系统和方法 | |
CN102377801A (zh) | 一种用于环境监测的传感器网络及数据传输方法 | |
Kiyani et al. | DCSE: A dynamic clustering for saving energy in wireless sensor network | |
Liu et al. | An improved energy efficient unequal clustering algorithm of wireless sensor network | |
Azevedo et al. | Sleeping ZigBee networks at the application layer | |
CN102984780A (zh) | 无线传感器网络数据传输方法 | |
Bhattacharya et al. | Dynamic wake-up and topology maintenance protocols with spatiotemporal guarantees | |
Ardakani et al. | Hrts: A hierarchical reactive time synchronization protocol for wireless sensor networks | |
Wenguo et al. | Notice of Retraction: The Non-uniform Property of Energy Consumption and its Solution to the Wireless Sensor Network | |
Liu et al. | An improved TPSN algorithm for time synchronization in wireless sensor network | |
CN103763765A (zh) | 一种无线传感器网络的自同步方法 | |
Esnaashari et al. | Dynamic Point Coverage Problem in Wireless Sensor Networks: A Cellular Learning Automata Approach. | |
CN103916952A (zh) | 一种煤矿井下物联网时间同步及能量控制方法 | |
Chipara et al. | Efficient power management based on application timing semantics for wireless sensor networks | |
Nieminen et al. | Network-wide time synchronization in multi-channel wireless sensor networks |
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: 20130327 Termination date: 20180803 |