基于移动汇聚节点的无线传感器网络的数据收集方法

文档序号:7745309阅读:157来源:国知局
专利名称:基于移动汇聚节点的无线传感器网络的数据收集方法
技术领域
本发明的涉及是一种网络技术领域的方法,具体是一种基于移动汇聚节点的无线传感器网络的数据收集方法。
背景技术
微机电技术、计算机技术和无线通信等技术的进步,推动了低功耗、多功能传感器 的快速发展,使其在微小体积内能够集成信息采集、数据处理和无线通信等多种功能。无线 传感器网络就是由一组集成了传感器、数据处理单元和通信模块的节点组成,通过无线通 信的方式形成一个自组织网络系统。其目的是协作感知、采集和处理网络覆盖区域内的感 知对象信息,并将感知结果发送到汇聚节点(Sink)。在军事、抗灾等紧急环境中,无线传感器网络的布置可以通过飞机或火箭抛洒大 量的无线传感器节点完成,汇聚节点可以是士兵、救灾人员或无人机等。在这些环境中,汇 聚节点通常具有移动性。虽然移动性增强了汇聚节点的抗摧毁能力和对于紧急事件的反应 能力,但同时也增加了数据收集的难度和无线传感器网络的能量开销。由于传感器节点自 身携带的能量非常有限,而传感器网络的布置方式和应用环境又决定了频繁更换节点电池 不可行,因此,在保证数据收集成功率的前提下,降低无线传感器网络的能耗,从而延长无 线传感器网络的寿命十分重要。无线传感器节点的能量消耗模块包括传感器模块、处理器模块和无线收发模块。 在实际的应用中,无线收发模块的能耗占据了总体能耗的绝大部分。无线收发模块有四种 状态发送状态、接收状态、侦听状态和睡眠状态。除睡眠状态外,其他三种状态都属于工作 状态。在工作状态中,发送状态的能耗最大,接收状态和侦听状态的能耗相对发送状态小, 但仍远大于睡眠状态的能耗。在睡眠状态下,无线收发模块关闭,不能收发数据。通过降低无线收发模块的能耗可以有效的延长无线传感器节点的使用周期,进而 达到延长无线传感器网络使用寿命的目的。在发送功率相同的情况下,无线传感器节点收 发模块的发送状态和接收状态的能耗取决于需要发送和接收的数据量,侦听状态的能耗取 决于侦听时间。因此,对于收集无线传感器网络数据的这一过程而言,降低无线传感器网络 在数据收集过程中产生的数据量,并尽可能的使更多节点的无线收发模块处于睡眠状态是 降低无线传感器网络能量开销的有效途径。在使用静态(固定)汇聚节点的传感器网络中,数据的收集大多是基于汇聚节点 的洪泛查询进行。静态汇聚节点只需在网络的初始化阶段向全网范围内洪泛一次查询消息 即可完成后续整个监控过程的数据收集。对于使用移动汇聚节点的无线传感器网络而言, 使用这种数据收集方法的汇聚节点需要在位置更换后再次向全网进行洪泛查询,汇聚节点 的连续移动将会为全网带来极大的通信和能量开销。因此,这一类数据收集方法并不适用 于使用移动汇聚节点的无线传感器网络。经对现有文献的检索发现,现有的基于移动汇聚节点的无线传感器网络的数据收 集方法主要有以下几类
第一类是基于以源节点(Source)为中心建立树形拓扑方法。例如,Hyimg Seok Kim 等人提出的 SEAD (Scalable Energy-efficient Asynchronous Dissemination protocol)协议。此类协议的基本原理是源节点在侦测到事件后以自己为中心在全网构建 树形拓扑结构,汇聚节点在此基础上对本地的邻居节点进行查询。该类方法对于多汇聚节 点的支持较好,但每个源节点在全网建立树形拓扑结构会产生很大的能量和通信开销,对 于网络事件发生频繁的应用场景不适合。第二类是基于固定数据交汇区的方法。例如,Brad Karp等人提出的 GHT(Geographic HashTable for Data-Centric Storage protocol)协议禾口 Guillaume Chelius 等人提出的 LBDD (Line-Based Data Dissemination protocol)协议。此类协议需 要在无线传感器网络中选出固定区域用于数据的存储,并且需要在网络投入运行前使源节 点和汇聚节点就这一区域的具体位置达成共识。该类方法能够针对某些特定应用的无线传 感器网络的进行数据收集过程的优化,但可扩展性不强,且容易造成节点的负载失衡,引发 特殊位置节点过早死亡的问题。第三类是结合源节点的事件通知规则和汇聚节点的事件查询规则建立数据传输路径的方法。例如,Fan Ye 等人提出的 TTDD (Two-tier Data Dissemination protocol)协 议。此类协议的基本思想是将源节点选取复制节点和汇聚节点选取查询节点相结合,保证 两类节点有一定的重合。该类方法相比第二类方法的灵活性好,相比第一类方法对事件发 生频率的适应性更强,但目前该类方法在能量利用效率方面仍显不足。又经检索发现,中国申请专利号为=200710019928. 4,名称为基于多代理协商的 无线传感器网络数据收集方法,该技术提供了一种基于静态汇聚节点的无线传感器网络的 数据收集方法,但是该技术没有证明对于移动汇聚节点的适用性。

发明内容
本发明的目的在于克服现有技术的上述不足,提供一种基于移动汇聚节点的无 线传感器网络的数据收集方法。本发明通过组合使用单播(imicast)事件通知和组播 (multicast)事件查询,实现无线传感器网络的数据收集,可以减少数据收集过程中无线传 感器网络的能量开销,达到延长无线传感器网络寿命的目的。本发明是通过以下技术方案实现的,包括以下步骤第一步,无线传感器网络中探测到相同事件的节点进行局部的数据融合,产生源 节点。所述的局部的数据融合,具体是1)探测到事件的节点广播一个交换数据包,该交换数据包中包含事件的类型、发 生的时间、探测节点的位置和探测信号的强度;2)在侦测到相同事件的节点中,第一个广播交换数据包的节点成为其本地一跳通 信范围内的源节点,其邻居节点将交换数据包以单播的形式发送到该源节点;3)源节点收到其他节点回复的交换数据包,形成事件数据,在本地存储融合后的 事件数据。第二步,源节点成为第一级数据分发节点,产生关于事件的状态数据包,将经过源 节点且与预定的状态数据包的转发方向平行的方向作为状态数据的分发方向,源节点在状态数据的分发方向上以单播方式分发状态数据包,产生若干数据分发节点。所述的状态数据包,包括事件的类型、发生时间、源节点的位置、源节点的有效 期、产生状态数据包的节点的位置和下一级数据分发虚拟节点的位置。所述的以单播方式分发状态数据包,具体是
1)在状态数据包的发送方向上,源节点在其两侧各得到一个与其距离为L的虚拟 节点作为第二级数据分发虚拟节点,L是预定的数据分发节点间距值,源节点将得到的第二 级数据分发虚拟节点的位置分别写入两个状态数据包,在每个状态数据包中写入产生状态 数据包的本地位置,并基于单播以多跳的形式分别向两个第二级数据分发虚拟节点发送;2)收到状态数据包的节点进行数据分发节点本地判断,并在源节点的有效期内保 持无线收发模块处于工作状态;所述的数据分发节点本地判断,具体是(2. 1)收到状态数据包的节点在本地的邻居节点列表中寻找比其位置更加靠近状 态数据包中记录的第二级数据分发虚拟节点的邻居节点当找到时,则该节点不能成为第 二级数据分发节点,基于单播将状态数据包直接转发给最靠近第二级数据分发虚拟节点的 邻居节点,并在本地的数据分发节点列表中记录产生状态数据包的节点的位置、对应的事 件类型和源节点的有效期,然后跳出数据分发节点本地判断;否则,继续执行(2.2);所述的邻居节点列表存在于每一个节点中,列表中包含节点的一跳通信范围内邻 居节点的位置信息。所述的数据分发节点列表存在于接收到状态数据包的节点中,未接收到状态数据 包的节点的数据分发列表为空。(2. 2)当收到状态数据包的节点处于无线传感器网络的边界时,则该节点不能成 为第二级数据分发节点,在本地的数据分发节点列表中记录产生状态数据包的节点的位 置、对应的事件类型和源节点的有效期,然后跳出数据分发节点本地判断,源节点在该侧方 向上以单播方式分发状态数据包的过程结束;否则,继续执行(2.3);(2. 3)收到状态数据包的节点成为第二级数据分发节点,在本地的数据分发节点 列表中记录本地位置和事件类型,在本地的事件列表中记录事件的类型、发生时间、源节点 的位置、源节点的有效期和上一级数据分发节点的位置,在经过源节点且与自己同侧的状 态数据包的转发方向上计算一个与源节点距离为2L的虚拟节点作为第三级数据分发虚拟 节点,然后将自己作为产生状态数据包的节点,根据本地位置和得到的第三级数据分发虚 拟节点的位置制作新的状态数据包,然后基于单播以多跳的形式将新的状态数据包继续向 第三级数据分发虚拟节点发送;所述的事件列表只存在于数据分发节点中,非数据分发节点的事件列表为空。3)按照2)的方法,在状态数据包从第(n-1)级数据分发节点向第η级数据分发 虚拟节点发送的过程中,对于未成为数据分发节点的转发节点,其数据分发节点列表将包 含第(n-1)级数据分发节点的位置、对应的事件类型和源节点的有效期;第η级数据分发 节点的数据分发节点列表将包含本地位置、对应的事件类型和源节点的有效期;第η级数 据分发节点的事件列表将包含事件的类型、发生时间、源节点的位置、源节点的有效期和第 (n-1)级数据分发节点的位置;第η级数据分发节点将产生新的状态数据包,得到与源节点 距离为(n-l)L的第η级数据分发虚拟节点的位置,并继续向第(η+1)级数据分发虚拟节点发送,其中n≥2;4)当位于源节点两侧的两个方向上的状态数据包都被转发到网络的边界时,源节点以单播方式分发状态数据的过程结束。第三步,当需要查询数据时,汇聚节点选取当前时刻与自己距离最近的无线传感 器节点作为代理节点,将经过代理节点且与预定的状态数据包的转发方向垂直的方向作为 数据查询方向,然后以组播方式转发查询数据包。所述的以组播方式转发查询数据包,具体是1)汇聚节点生成查询数据包,将需要查询的事件类型、事件有效期、代理节点的寿 命和汇聚节点的自身编号写入查询数据包,并将查询数据包发送到代理节点;2)代理节点收到查询数据包后,将汇聚节点加入本地的汇聚节点列表,并对查询 数据包进行编号,将编号和本地位置写入查询数据包,此时的查询数据包,包括需要查询 的事件类型、事件有效期、汇聚节点的编号、代理节点的位置、代理节点的寿命和查询数据 包的编号;所述的汇聚节点列表存在于代理节点中,非代理节点的汇聚节点列表为空。3)在数据查询方向上,代理节点查询本地的邻居节点列表,在其两侧各选择一个 距离自己最远的邻居节点作为第一级查询数据转发节点,分别对两个第一级查询数据转发 节点进行组播查询请求;所述的组播查询请求,具体是(3. 1)代理节点准备一个包含发送节点MAC地址和查询数据转发节点MAC地址的 发送请求帧,并将该发送请求帧与普通的发送请求帧相区别,以表明后续发送的数据包为 组播查询数据包;(3. 2)代理节点以广播的方式发送请求帧,表示后续发送的数据包为查询数据包, 并等待查询数据转发节点的回复。4)在接收到组播查询的发送请求帧后,第一级查询数据转发节点回复发送节点一 个应答帧,接收后续的查询数据包,接收完毕后,进行查询数据包转发本地判断,然后进行 查询数据包回复本地判断;在接收到组播查询的发送请求帧后,非查询数据转发节点不回 复发送节点应答帧,节点检查本地的数据分发节点列表,当本地的数据分发节点列表为空 时,则不再接收后续的查询数据包,;否则,接收后续的查询数据包,接收完毕后,进行查询 数据包回复本地判断;所述的查询数据包回复本地判断,具体是当节点检查本地的数据分发节点列表 中有被查询的事件时,则将对应的产生状态数据包的节点的位置回复给发送节点;否则,不 回复。所述的查询数据包转发本地判断,具体是(4. 1)节点将经过本地位置且与查询数据包的转发方向平行的方向作为查询数据 包的本地转发方向,查询本地的邻居节点列表,当有邻居节点沿此方向继续转发时,则节点 不继续转发查询数据包,跳出查询数据包转发本地判断;否则,继续执行(4.2);(4. 2)在经过本地位置的转发方向上,节点在本地的邻居节点列表中选择一个最 远离自己的邻居节点作为第二级查询数据转发节点;(4. 3)节点对第二级查询数据转发节点进行组播查询请求,并在收到第二级查询数据转发节点对组播查询请求的回复后,将查询数据包发送到第二级查询数据转发节点。5)按照4)的方法,第η级查询数据转发节点回复第(η_1)级查询数据转发节点 的组播查询请求,接收后续的查询数据包,接收完毕后进行查询数据包转发本地判断,选出 第(η+1)级查询数据转发节点,并进行查询数据包回复本地判断,在这一过程中,非查询数 据转发节点在收到组播查询的发送请求帧后,选择性接收后续的查询数据包,并将符合查 询要求的节点位置信息回复给发送节点,其中m > 2 ;6)在收到回复的产生状态数据包的节点的位置后,查询数 据包的转发节点将查询 数据包发送到产生状态数据包的节点,即查询数据包的转发节点将查询数据包发送到数据 分发节点;7)当位于代理节点两侧的两个方向上的查询数据包都被转发到网络的边界时,汇 聚节点以组播方式转发查询数据包的过程结束。第四步,收到查询数据包的数据分发节点将查询数据包的编号、代理节点的位置、 代理节点的寿命和查询的事件类型加入本地的代理节点列表,并进行事件数据回复本地判 断。所述的代理节点列表存在于收到过查询数据包的数据分发节点中,其他类型节点 的代理节点列表为空。所述的事件数据回复本地判断,具体是1)节点查询本地的代理节点列表,当收到过相同的查询数据包,则跳出事件数据 回复本地判断;否则,继续执行2);2)节点查询本地的事件列表,当有符合查询要求的事件类型时,则跳出事件数据 回复本地判断;否则,继续执行3);3)当节点查询本地已存有符合查询要求的事件数据时,则跳到5);否则,则向上 一级数据分发节点发送事件数据请求;4)按照3)的方法,当收到事件数据请求的第η级数据分发节点查询本地已存符合 要求的事件数据时,则将事件数据发送到第(η+1)级数据分发节点;否则,继续向第(η-1) 级数据分发节点请求数据,在收到事件数据后,将事件数据发送到第(η+1)级数据分发节 点,其中η彡2 ;5)节点查询本地的代理节点列表,将被查询的事件数据发送到代理节点。第五步,收到事件数据后的代理节点查询本地的汇聚节点列表,将事件数据发送 到需要事件数据的汇聚节点。与现有技术相比,本发明的有益效果是提供了一种简单、高效的使用源节点的事 件通知和汇聚节点的事件查询相结合的无线传感器网络的数据收集的方法,该方法一方面 避免了源节点在全局建立树形拓扑结构的过度能量消耗,提高了无线传感器节点的能量利 用效率,另一方面又避免了使用固定的数据交汇区带来的扩展受限和负载失衡问题,在实 际使用中具备很强的灵活性和可扩展性;结合使用了单播和组播的数据传输方法,降低了 数据收集过程中需要参与的无线传感器节点的数量,使更多的无线传感器节点可以更加自 由的对无线收发模块进行睡眠和唤醒的调度,非常有利于降低无线传感器网络的能耗。


图1是实施例的流程示意图;图2是源节点在预定的方向上发送状态数据包,选出数据分发节点的示意图;图3是节点在收到状态数据包后执行后续操作的流程示意图;图4是汇聚节点以组播的形式在预定方向的垂直方向上转发查询数据包的示意图;图5是节点在接收到组播查询的发送请求帧后执行后续操作的流程示意图。
具体实施例方式以下结合附图对本发明的方法进一步描述本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述 的实施例。实施例如图1所示,以无线传感器网络的运动目标检测应用为例,MAC协议使用IEEE 802. lib DCF,具体的数据收集方法包括以下步骤100、局部数据融合,产生源节点。在无线传感器网络中,一个事件,例如某一移动目标在无线传感器网络中出现, 可能会被多个无线传感器节点侦测到。这些节点向汇聚节点汇报侦测结果前,需要进行局 部的数据融合。一方面,数据融合可以提高侦测结果的精确度,另一方面,经过数据融合,需 要向汇聚节点汇报的数据量可以降低,从而减少无线传感器网络的能量开销。步骤100具 体包括以下步骤110、节点在侦测到事件后,将事件的类型、发生的时间、本地位置、探测信号的强 度写入交换数据包,并广播该数据包;120、在侦测到相同事件的节点中,第一个广播交换数据包的节点成为其本地通信 范围内的源节点,其邻居节点将交换数据包以单播的形式发送到源节点;130、源节点对收到的交换数据包进行融合,形成事件数据,并在本地存储事件数 据。200、源节点在预定的方向上以单播方式分发状态数据包,选出数据分发节点。源节点准备关于事件的状态数据,并在预定的方向上分发,选出关于这一事件的 一系列数据分发节点。步骤200具体包括以下步骤210、源节点将融合后得到的事件数据在本地保存;220、源节点准备关于这一事件的状态数据包,将事件的类型、发生时间、源节点的 位置、源节点的有效期写入状态数据包;230、源节点以自己为第一级数据分发节点,在预定的方向上转发事件的状态数据 包;如图2所示,步骤230具体为231、本实施例预定方向为图2中的水平方向,源节点计算位于自己左侧和右侧的 两个第二级数据分发虚拟节点的位置,公式为{Xi = &士(i-Ι) α,yi = ys}(1)其中,i代表数据分发节点的级别号,第二级数据分发节点对应i = 2 ;xs为源节点的横坐标,ys为源节点的纵坐标;Xi为第二级数据分发虚拟节点的横坐标,为第二级数据分发虚拟节点的纵坐标;α为相邻的数据分发节点的间距值,α的值大于无线传感器节 点的通信半径;232、源节点分别将两个计算得到的数据分发虚拟节点的位置写入两个状态数据 包,并在每个状态数据包中写入产生状态数据包的本地位置,然后基于单播以多跳的形式 分别向两个数据分发虚拟节点发送,具体是源节点将发送到左侧第二级数据分发虚拟节 点的状态数据包转发给最靠近这一位置的邻居节点Α’,将发送到右侧第二级数据分发虚拟 节点的状态数据包转发给最靠近这一位置的邻居节点Α。240、转发节点A和转发节点Α’在收到状态数据包后,将在源节点的有效期内保持 无线收发模块处于工作状态,然后进行数据分发节点本地判断。如图3所示,步骤240具体包括以下步骤241、节点A查询本地的邻居节点列表,判断是否有邻居节点更加靠近状态数据包 中记录的第二级数据分虚拟节点,具体是节点A在本地邻居中找到符合条件的邻居节点, 将产生状态数据包的节点的位置、对应的事件类型和源节点的有效期写入本地的数据分发 节点列表,然后把状态数据包转发给最靠近第二级数据分发虚拟节点的邻居节点B ;242、节点Α’查询本地的邻居节点列表,判断是否有邻居节点更加靠近状态数据包 中记录的第二级数据分虚拟节点,具体是节点Α’在本地节点中未找到符合条件的邻居节 点,并判断自己处于无线传感器网络的边界,将产生状态数据包的节点的位置、对应的事件 类型和源节点的有效期写入本地的数据分发节点列表,不再进行状态数据包的转发。250、参照步骤240,转发节点B将状态数据包转发给本地的邻居节点C ;260、经过数据分发节点本地判断,节点C成为第二级数据分发节点,将本地位置、 对应的事件类型和源节点的有效期写入本地的数据分发节点列表,并将事件的类型、发生 时间、源节点的位置、源节点的有效期和上一级数据分发节点的位置写入本地的事件列表, 然后使用公式(1)计算第三级数据分发虚拟节点的位置,根据源节点的状态数据包的发送 方向,排除一个相反方向上的数据分发虚拟节点,将产生状态数据包的本地位置、得到的第 三级数据分发虚拟节点的位置、事件的类型、发生时间、源节点的位置和源节点的有效期写 入新的状态数据包,并将新的状态数据包向第三级数据分发虚拟节点发送;270、参照步骤240、250和260,状态数据包被不断转发,第三级数据分发节点和第 四级数据分发节点依次产生;280、当状态数据包被转发到无线传感器网络的边界时,源节点在预定方向上以单 播方式分发状态数据的过程结束。采用以上的状态数据包的转发方法,无线传感器网络在部署前仅需要对状态数据 包的预定分发方向和数据分发节点的间距值进行定义,无需建立覆盖全网的树形结构,同 时避免了对无线传感器网络进行固定数据交汇区的选取带来的网络可扩展性受限和负载 不均衡问题。300、汇聚节点选出代理节点,在预定方向的垂直方向上以组播方式转发查询数据 包。当需要进行查询时,汇聚节点在无线传感器网络中选取代理节点,代理节点以状 态数据包预定发送方向的垂直方向为数据查询方向,即图4中的垂直方向,并在此方向上以组播的方式对事件的状态数据进行查询。本步骤主要通过以下步骤实现310、汇聚节点在无线传感器网络中选择当前时刻最靠近自己的节点作为代理节点,如图4所示;320、汇聚节点准备查询数据包,将需要查询的事件类型,事件有效期,代理节点的 寿命要求和汇聚节点的自身编号写入查询数据包,并将查询数据包发送到代理节点;330、代理节点在收到查询数据包后,将该汇聚节点加入本地的汇聚节点列表,对 查询数据包进行编号,并将查询数据包的编号和本地位置写入查询数据包;340、在数据查询方向上,代理节点以组播的方式转发查询数据包。如图4所示,步骤340具体包括以下步骤341、在数据查询方向上,代理节点查询本地的邻居节点列表,在向上和向下的方 向上各选择一个最远离自己的邻居节点作为第一级查询数据转发节点,即节点1和节点 1,;342、代理节点以组播的形式将查询数据包转发到节点1,具体是代理节点在广 播包含节点1的MAC地址和代理节点的MAC地址的RTS请求帧之前,通过设置该RTS请求 帧的帧控制结构(Frame Control)对组播查询数据包的发送进行标示,以表明后续发送的 数据包为查询数据包,在收到节点1的应答帧后,发送查询数据包;343、参考步骤342,代理节点以相同的方式将查询数据包转发到节点1,。350、在收到组播查询的RTS请求帧后,查询数据转发节点回复一个应答帧,接收 后续的查询数据包,并以组播的形式对查询数据包进行转发,非查询数据转发节点根据本 地数据分发节点列表的情况对后续的查询数据包进行选择性接收。如图5所示,步骤350具体包括以下步骤351、节点1在收到包含自己MAC地址的组播查询的RTS请求帧后,回复给发送节 点一个应答帧,接收后续的查询数据包,接收完毕后,进行查询数据包转发本地判断,具体 是节点1查询本地的邻居节点列表,经判断有邻居节点可以继续向上转发查询数据包,且 在经过本地位置向上的方向上,节点2距离自己最远,节点1选择节点2作为此方向上的第 二级查询数据转发节点,将查询数据包以组播的形式转发到节点2 ;352、节点1随后进行查询数据包回复本地判断,具体是节点1检查本地的数据分 发节点列表,发现列表为空,不存在产生状态数据包的节点的位置;353、参考步骤351,节点1,在收到包含自己MAC地址的组播查询的RTS请求帧后, 回复给代理节点一个应答帧,接收后续的查询数据包,进行查询数据包转发本地判断,具体 是节点1’选择节点2’作为向下方向上的第二级查询数据转发节点,将查询数据包以组播 的形式转发到节点2’ ;354、参考步骤352,节点1,随后进行查询数据包回复本地判断,具体是节点1,检 查本地的数据分发节点列表,发现列表为空,不存在产生状态数据包的节点的位置;355、非查询数据转发节点在收到组播查询的RTS请求帧后,不应答RTS请求帧,当 本地的数据分发节点列表为空时,则不再接收后续的查询数据包;否则,继续接收后续的查 询数据包,接收完毕后进行查询数据包回复本地判断,查询数据包回复本地判断具体是当 本地的数据分发节点列表中存在被查询的事件,则将对应的产生状态数据包的节点的位置 发送到组播查询的请求节点,否则,不回复。
360、参考步骤340、350,查询数据包被不断转发,第三级、第四级和第五级查询数 据转发节点被依次选出;370、在查询数据包转发的过程中,节点Rl和R2的本地数据分发节点列表非空,在 接收到节点2的查询数据包后,节点Rl和R2将被查询事件对应的产生状态数据包的节点 的位置回复给节点2 ;380、节点2根据回复的产生状态数据包的节点的位置,即图4所示的第三级数据 分发节点的位置,将查询数据包发送到第三级数据分发节点;390、当查询数据包被转发到无线传感器网络的边界时,代理节点在预定方向的垂 直方向上以组播方式转发查询数据包的过程结束。上述以组播方式转发查询数据包的方法,一方面,在不增加查询数据包发送次数 和节点能量开销的前提下,使得更多的无线传感器节点可以对查询数据包进行选择性接 收,提高了事件查询的成功率;另一方面,因为查询数据包是沿着一定的方向进行转发,在 一个方向上每一跳的转发节点只有一个,与节点的密度无关,避免了洪泛查询带来的能耗 过大和信道冲突等问题。400、收到查询数据包的数据分发节点进行事件数据回复本地判断。如图4所示,第三级数据分发节点在收到节点2发送的查询数据包后,进行事件数 据回复本地判断,并将符合查询条件的事件数据回复给代理节点。本步骤主要通过以下步 骤实现410、数据分发节点查询本地的代理节点列表,判断是否收到过相同的查询数据 包,当收到过时,则忽略该查询数据包,不再执行后续操作;420、数据分发节点查询本地的事件列表,判断是否有符合查询条件的事件类型, 当没有时,则不再执行后续操作;430、数据分发节点将查询数据包的编号、代理节点的位置、代理节点的寿命和查 询的事件类型加入本地的代理节点列表;440、数据分发节点查询本地是否已存有被查询的事件数据,当没有时,则向其上 一级数据分节点发送事件数据请求;当有时,则跳过步骤450,直接执行步骤460,具体是 第三级数据分发节点在首次收到查询数据包时,本地没有存储被查询的事件数据,第三级 数据分发节点向第二级数据分发节点发送事件数据请求;450、参照步骤440,第二级数据分发节点在收到第三级数据分发节点的事件数据 请求后,判断本地是否已存有对应的事件数据,当没有时,则向第一级数据分节点(源节 点)发送事件数据请求,在获得事件数据后,第二级数据分发节点将事件数据发送到第三 级数据分发节点;460、数据分发节点查询本地的代理节点列表,将事件数据发送到代理节点。上述数据分发节点向其上一级数据分发节点请求事件数据的方法,一方面,避免 了事件数据的无效发送,保证了无线传感器网络能量利用的高效性;另一方面,多级数据分 发节点的选取均衡了单个源节点向多个汇聚节点提供数据的负担。500、代理节点将事件数据发送到汇聚节点;在获得事件数据后,代理节点查询本地的汇聚节点列表,将事件数据发送到需要 的汇聚节点。
本实施例避免了在全网构建树形拓扑结构或固定数据交汇区带来的扩展受限和 负载不均衡等问题,又避免了使用洪泛查询方式带来的能量利用效率低下的问题,且减少 了无线传感器网络数据收集的过程中需要参与的节点的数量,降低了非事件信息的数据量 和无线传感器网络的能量消耗,能够获得较好的能量节省和性能提升,显示了较好的节能 性、扩展性和鲁棒性。
权利要求
一种基于移动汇聚节点的无线传感器网络的数据收集方法,其特征在于,包括以下步骤第一步,无线传感器网络中探测到相同事件的节点进行局部的数据融合,产生源节点;第二步,源节点成为第一级数据分发节点,产生关于事件的状态数据包,将经过源节点且与预定的状态数据包的转发方向平行的方向作为状态数据的分发方向,源节点在状态数据的分发方向上以单播方式分发状态数据包,得到若干数据分发节点;第三步,当需要查询数据时,汇聚节点选取当前时刻与自己距离最近的无线传感器节点作为代理节点,将经过代理节点且与预定的状态数据包的转发方向垂直的方向作为数据查询方向,然后以组播方式转发查询数据包;第四步,收到查询数据包的数据分发节点将查询数据包的编号、代理节点的位置、代理节点的寿命和查询的事件类型加入本地的代理节点列表,并进行事件数据回复本地判断;第五步,收到事件数据后的代理节点查询本地的汇聚节点列表,将事件数据发送到需要事件数据的汇聚节点。
2.根据权利要求1所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,第一步中所述的局部的数据融合,是指1)探测到事件的节点广播一个交换数据包,该交换数据包中包含事件的类型、发生的 时间、探测节点的位置和探测信号的强度;2)在侦测到相同事件的节点中,第一个广播交换数据包的节点成为其本地一跳通信范 围内的源节点,其邻居节点将交换数据包以单播的形式发送到该源节点;3)源节点收到其他节点回复的交换数据包,形成事件数据,在本地存储融合后的事件 数据。
3.根据权利要求1所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,第二步中所述的以单播方式分发状态数据包,是指1)在状态数据包的发送方向上,源节点在其两侧各得到一个与其距离为L的虚拟节点 作为第二级数据分发虚拟节点,L是预定的数据分发节点间距值,源节点将得到的第二级数 据分发虚拟节点的位置分别写入两个状态数据包,在每个状态数据包中写入产生状态数据 包的本地位置,并基于单播以多跳的形式分别向两个第二级数据分发虚拟节点发送;2)收到状态数据包的节点进行数据分发节点本地判断,并在源节点的有效期内保持无 线收发模块处于工作状态;3)按照2)的方法,在状态数据包从第(n-1)级数据分发节点向第η级数据分发虚拟 节点发送的过程中,对于未成为数据分发节点的转发节点,其数据分发节点列表将包含第 (n-1)级数据分发节点的位置、对应的事件类型和源节点的有效期;第η级数据分发节点的 数据分发节点列表将包含本地位置、对应的事件类型和源节点的有效期;第η级数据分发 节点的事件列表将包含事件的类型、发生时间、源节点的位置、源节点的有效期和第(n-1) 级数据分发节点的位置;第η级数据分发节点将产生新的状态数据包,得到与源节点距离 为(n-1) L的第η级数据分发虚拟节点的位置,并继续向第(η+1)级数据分发虚拟节点发 送,其中η彡2 ;4)当位于源节点两侧的两个方向上的状态数据包都被转发到网络的边界时,源节点以 单播方式分发状态数据的过程结束。
4.根据权利要求3所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,所述的数据分发节点本地判断,包括以下步骤(2. 1)收到状态数据包的节点在本地的邻居节点列表中寻找比其位置更加靠近状态数 据包中记录的第二级数据分发虚拟节点的邻居节点当找到时,则该节点不能成为第二级 数据分发节点,基于单播将状态数据包直接转发给最靠近第二级数据分发虚拟节点的邻居 节点,并在本地的数据分发节点列表中记录产生状态数据包的节点的位置、对应的事件类 型和源节点的有效期,然后跳出数据分发节点本地判断;否则,继续执行(2.2);(2. 2)当收到状态数据包的节点处于无线传感器网络的边界时,则该节点不能成为第 二级数据分发节点,在本地的数据分发节点列表中记录产生状态数据包的节点的位置、对 应的事件类型和源节点的有效期,然后跳出数据分发节点本地判断,源节点在该侧方向上 以单播方式分发状态数据包的过程结束;否则,继续执行(2.3);(2. 3)收到状态数据包的节点成为第二级数据分发节点,在本地的数据分发节点列表 中记录本地位置和事件类型,在本地的事件列表中记录事件的类型、发生时间、源节点的位 置、源节点的有效期和上一级数据分发节点的位置,在经过源节点且与自己同侧的状态数 据包的转发方向上计算一个与源节点距离为2L的虚拟节点作为第三级数据分发虚拟节 点,然后将自己作为产生状态数据包的节点,根据本地位置和得到的第三级数据分发虚拟 节点的位置制作新的状态数据包,然后基于单播以多跳的形式将新的状态数据包继续向第 三级数据分发虚拟节点发送。
5.根据权利要求1所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,第三步中所述的以组播方式转发查询数据包,包括以下步骤1)汇聚节点生成查询数据包,将需要查询的事件类型、事件有效期、代理节点的寿命和 汇聚节点的自身编号写入查询数据包,并将查询数据包发送到代理节点;2)代理节点收到查询数据包后,将汇聚节点加入本地的汇聚节点列表,并对查询数据 包进行编号,将编号和本地位置写入查询数据包,此时的查询数据包,包括需要查询的事 件类型、事件有效期、汇聚节点的编号、代理节点的位置、代理节点的寿命和查询数据包的 编号;3)在数据查询方向上,代理节点查询本地的邻居节点列表,在其两侧各选择一个距离 自己最远的邻居节点作为第一级查询数据转发节点,分别对两个第一级查询数据转发节点 进行组播查询请求;4)在接收到组播查询的发送请求帧后,第一级查询数据转发节点回复发送节点一个应 答帧,接收后续的查询数据包,接收完毕后,进行查询数据包转发本地判断,然后进行查询 数据包回复本地判断;在接收到组播查询的发送请求帧后,非查询数据转发节点不回复发 送节点应答帧,节点检查本地的数据分发节点列表,当本地的数据分发节点列表为空时,则 不再接收后续的查询数据包,;否则,接收后续的查询数据包,接收完毕后,进行查询数据包 回复本地判断;5)按照4)的方法,第η级查询数据转发节点回复第(η-1)级查询数据转发节点的组 播查询请求,接收后续的查询数据包,接收完毕后进行查询数据包转发本地判断,选出第 (η+1)级查询数据转发节点,并进行查询数据包回复本地判断,在这一过程中,非查询数据转发节点在收到组播查询的发送请求帧后,选择性接收后续的查询数据包,并将符合查询 要求的节点位置信息回复给发送节点,其中n > 2 ;6)在收到回复的产生状态数据包的节点的位置后,查询数据包的转发节点将查询数据 包发送到产生状态数据包的节点,即查询数据包的转发节点将查询数据包发送到数据分发 节占.I— /、、、 7)当位于代理节点两侧的两个方向上的查询数据包都被转发到网络的边界时,汇聚节 点以组播方式转发查询数据包的过程结束。
6.根据权利要求5所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,所述的组播查询请求,是指(3. 1)代理节点准备一个包含发送节点MAC地址和查询数据转发节点MAC地址的发送 请求帧,并将该发送请求帧与普通的发送请求帧相区别,以表明后续发送的数据包为组播 查询数据包;(3. 2)代理节点以广播的方式发送请求帧,表示后续发送的数据包为查询数据包,并等 待查询数据转发节点的回复。
7.根据权利要求5所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,所述的查询数据包回复本地判断,是指当节点检查本地的数据分发节点列表中有被 查询的事件时,则将对应的产生状态数据包的节点的位置回复给发送节点;否则,不回复。
8.根据权利要求5所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,所述的查询数据包转发本地判断,包括以下步骤(4. 1)节点将经过本地位置且与查询数据包的转发方向平行的方向作为查询数据包的 本地转发方向,查询本地的邻居节点列表,当有邻居节点沿此方向继续转发时,则节点不继 续转发查询数据包,跳出查询数据包转发本地判断;否则,继续执行(4.2);(4. 2)在经过本地位置的转发方向上,节点在本地的邻居节点列表中选择一个最远离 自己的邻居节点作为第二级查询数据转发节点;(4. 3)节点对第二级查询数据转发节点进行组播查询请求,并在收到第二级查询数据 转发节点对组播查询请求的回复后,将查询数据包发送到第二级查询数据转发节点。
9.根据权利要求1所述的基于移动汇聚节点的无线传感器网络的数据收集方法,其特 征是,第四步中所述的事件数据回复本地判断,包括以下步骤1)节点查询本地的代理节点列表,当收到过相同的查询数据包时,则跳出事件数据回 复本地判断;否则,继续执行2);2)节点查询本地的事件列表,当有符合查询要求的事件类型时,则跳出事件数据回复 本地判断;否则,继续执行3);3)当节点查询本地已存有符合查询要求的事件数据时,则跳到5);否则,则向上一级 数据分发节点发送事件数据请求;4)按照3)的方法,当收到事件数据请求的第η级数据分发节点查询本地已存符合要求 的事件数据时,则将事件数据发送到第(η+1)级数据分发节点;否则,继续向第(η-1)级数 据分发节点请求数据,在收到事件数据后,将事件数据发送到第(η+1)级数据分发节点,其 中η彡2 ;5)节点查询本地的代理节点列表,将被查询的事件数据发送到代理节点。
全文摘要
一种无线传感器网络技术领域的基于移动汇聚节点的无线传感器网络的数据收集方法,包括以下步骤侦测到相同事件的无线传感器节点进行局部数据融合,产生源节点;源节点在预定方向上以单播方式分发状态数据包,选出数据分发节点;汇聚节点选出代理节点,在预定方向的垂直方向上以组播方式转发查询数据包;收到查询数据包的数据分发节点准备事件数据,将事件数据发送到代理节点;代理节点将事件数据发送到汇聚节点。本发明能够有效的减少移动汇聚节点在收集无线传感器网络数据的过程中产生的非有效数据,降低无线传感器网络的能耗,从而延长无线传感器网络的寿命。
文档编号H04W4/06GK101808289SQ20101013982
公开日2010年8月18日 申请日期2010年4月7日 优先权日2010年4月7日
发明者关新平, 孙立, 陈彩莲, 龙承念 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1