一种无线传感器网络、建立方法及通信方法

文档序号:7687835阅读:183来源:国知局
专利名称:一种无线传感器网络、建立方法及通信方法
技术领域
本发明涉及一种无线传感器网络、建立方法及通信方法,特别是涉及一 种自适应调整网络节点通讯调度的无线传感器网络、建立方法及通信方法。
技术背景无线传感器网络(Wireless Sensor Network, WSN )是当前信息技术的 研究热点之一,其基本思想是成千上万的低功耗、低成本传感器节点部署到 应用现场,通过无线信道形成自组织网络,完成网络内信息的釆集、传输、 处理。这种新型网络结构在环境监测、物流管理、工业传感、及军事等领域 具有十分广阔的应用前景。WSN网络具有节点简单、实施环境广泛、以及应用 领域多样性等新特点,对无线传感器网络研究重点和设计方案也是多样性共 存,业界还没有形成广泛统一的技术标准。当前对WSN网络研究和设计的一个重要领域是对数据链路层(Data Link Layer, DLL)的设计。DLL设计要求实现网络拓朴结构建立和高效使用信道的 MAC通讯协议,其目的是方便维护网络结构、实现数据可靠传输、节省网络能 源。现有WSN网络多采用异构分组结构。即网络内节点属性不同,有普通传 感器节点(Sensor Node, SN)和连接通讯传感器节点(Link Node, LN), SN 围绕在LN周围,形成以簇为单位的小网络,SN向LN发送业务数据,LN管理 簇网络内SN通讯调度和在簇网络间传输信息。现在得到推广的IEEE802. 15. 4 标准就是采用这种网络结构。这种网络结构存在一些不足,首先网络部署条 件比较严格,因为受到无线通讯距离限制,必须事先规划怎样部署LN节点, 当大范围部署网络时这种规划和实施成为一个复杂的工作。然后因为网络节 点属性不同,当关键LN节点被破坏,其周边SN节点也失去了网络拓朴连接,需要重新搜索网络结构再加入网络。WSN网络的MAC协议要求提供有效的网络节点通讯调度机制和节点间可靠 的数据发送接收机制。研究结果表明,无线传感器节点RF接收和发送时是节 点能量消耗最多的情况,MAC协议必须采用包括时分复用(TDMA)的机制或其 变体时,才能确保在节点空闲期间关掉RF,从而节省网络节点的能量。现有基于TDMA比较有代表性的协议有S-MAC, T-MAC, WiseMAC, B-MAC等。 S-MAC的基本思想是时间分为帧,帧内分监听工作阶段和睡眠阶段,监听/睡 眠阶段持续时间根据应用可调。协议采用RTS/CTS/DATA/ACK机制发送数 据。其余几种协议都是在S-MAC协议基础上通过改进对通讯流量监测和控制 机制,使网络节点能加快发送緩存的数据分组,从而减少了数据分k在网络 中的传输延迟,优化网络性能。但是以上机制仍然存在可能改进的地方。基 于时间分帧的网络节点调度协议在网络拓朴结构变化时,需要调整全部相邻 节点的调度安排。还有在WSN网络的典型应用中,数据从网络向汇聚节点(S inkNode)集中,越靠近SinkNode节点数据流量越大,造成分组转发数据传输瓶 颈,数据不能均衡传输影响网络性能。还有在网络部署后, 一些特定应用希 望能按需求调整网络节点通讯调度,但现有的网络调度机制往往不能改变。 发明内容本发明的目的在于针对现有无线传感器网络中存在的不足,提供一种无 线传感器网络,以及此网络的建立方法和通讯方法。它具有方i"更网络部署、 提高网络结构抗破坏性、根据应用需要实时灵活配置网络节点的工作调度方 案、网络中高效传输数据流的特点。本发明解决其技术问题所采用的技术方案是 一种无线传感器网络,该 网络结构采取同构分组网络结构,WSN网络中能直接通讯的节点分组组建一个 簇网络。其中包括普通传感器节点(Sensor Node, SN ),部署在网络内采集传感器数据, 并根据应用要求传输通讯数据。相互能直接通讯的SN节点组建一个簇网络。 簇网络内的SN节点采用基于时分复用(TDMA)机制,在簇网络内部节点通讯 (GIC)时段实现相互通讯。节点加入一个簇网络时,与簇网络内其他节点实 现时钟同步,并且接受簇网络配置的网络通讯调度安排。簇网络交换节点(Boundary Node, BN ), 一种特殊的SN节点,是在一个 簇网络中能与相邻簇网络节点直接通讯的节点。簇网络内其他SN节点必须通 过BN节点与相邻簇网络通讯。 一个簇网络的全部BN节点也采用TDMA机制, 在蔟网络间节点通讯(GEC)时段分别与其他相邻簇网络通讯。簇头节点(Head Node, HN), —种特殊的SN节点,每个簇网络中通过能 量优化原则选择一个节点作为HN节点。HN节点负责确认簇网络的网络拓朴结 构变化,发布簇网络内节点的网络通讯调度。汇聚节点(SinkNode),当簇网络接收到应用业务数据汇聚命令时,根据 数据流路由选择簇网络中数据流目的节点作为SinkNode节点,接收簇网络内 其他节点发送的业务应用lt据。所述的无线传感器网络工作方式是簇网络循环执行工作周期。 一个工作周期分为簇节点休眠时段(Group Node Idle, GNI )、条间交换节点通讯工作时^: ( GEC )、和簇内部节点通讯工 作时段(GIC)。簇网络能根据环境和需求变化,自适应调整各工作时段的时 间宽度、和各工作时段内簇节点的通讯时间及通讯时间宽度,达到优化簇网 络工作性能目的。簇网络节点在GNI时段停止工作,进入省电模式。在GEC工作时段,簇网络边界交换节点分时复用通讯信道与相邻簇网络 通讯,同时簇网络节点侦测有无新网络节点激活。在GIC工作时段,簇网络节点分时复用通讯信道向簇头节点报告,簇头 节点接收到调整簇网络通讯调度的要求,重新计算簇网络适合的调度方案, 并发布给簇网络内节点执行。并且簇节点直接连接目标节点,执行业务应用数据通讯传输。簇网络节点通讯采用多信道通讯方式。簇网络通讯信道分为新节点激活 信道、BN节点通讯信道、簇网络通讯信道。其中新节点激活信道包括系统预定义新节点激活信道(srdSnActiveCha應l )及其备份信道(srdSnActiveBakCha腦l)。BN节点通讯信道包括系统定义簇网络间通讯信道(srdBnWorkChannel ) 及其备4分信道(srdBnWorkBakChannel )。簇网络通讯信道包括簇网络通讯基础信道(srdGnetBaseChannel )和簇 网络通讯工作(srdGnetWorkCha謹ls ),其中srdGnetWorkChannels包含多 条可用信道,簇头节点在执行GIC通讯前,侦听并选择空闲信道,作为簇网 络在GIC工作时段的簇网络工作信道gnetWorkChannel, GIC通讯工作完成后 释放簇网络此信道资源。一种无线传感器网络的建立方法,包括步骤A, 新部署的网络节点复位初始化后在系统预定义的新节点激活信 道搜索当前无线传感器网络状况,根据搜索结果决定自己是否需要被激活和 是否发布新节点激活信息。步骤B, 簇网络节点定时检测有无网络节点激活,发现有新网络节点激 活消息后,向新节点回应当前簇网络调度计划。新节点根据接收到相邻簇网络回应,确定新节点暂时休眠、或加入已有 的簇网络、或建立新的簇网络,并且根据加入新节点后网络结构变化,计算 更新相邻簇网络的调度计划,并向相邻簇网络发送。蔟网络确定并发布更新的通讯调度计划,簇网络从下一次工作周期开始 执行。其中,步骤A所述方法包括以下步骤步骤Al,新部署的网络节点复位初始化后,在系统预定义新节点激活信 道(srdSnActiveChannel )侦听信道上有没有信号。如果发现当前信道上有其他新节点激活信号存在,则此网络节点采用退 避机制,等待系统定义的休眠时间(srdSnActiveSleep)后再侦听信道。如果信道上没有其他信号,则此新网络节点进入激活状态并进入-步骤A3。如果信道存在干扰信号,则进入步骤A2。步骤A2,新网络节点判定原新节点激活信道(srdSnActiveChannel)存 在干扰信号,转入系统备份新节点激活信道(srdSnActiveBakChannel),如步 骤Al执行侦听信道操作。如果发现当前信道上有其他新节点激活信号存在,或者存在干扰信号, 则此网络节点采用退避机制,等待系统定义的休眠时间(srdSnActiveSleep) 后再执行步骤A1。如果信道上没有其他信号,则此新网络节点进入激活状态并进入步骤A3。 步骤A3,新网络节点广播新节点被激活(bcastSnActive)的消息,然后在系统定义的激活回应等待时间(srdSnActiveAckTimeout)内接收并保存与其 相连4妻簇网络的回应消息(ackSnActive)。新节点检查系统定义的新节点激活广播时间 (srdSnActiveBcastTimeout )是否完成。如果没有,则重复执行步骤A3。否则,进入步骤B。其中,步骤B所述方法包括以下步骤步骤B1,在蔟网络间节点通讯(GEC)工作期间,蔟网络节点侦听新节点 激活信道(srdSnActiveCha彦l )上有无新节点激活消息(bcastSnActive)。 如果发现信道上存在干扰则进入步骤B2。如果侦听到有新网络节点激活消息,记录侦听结果和新节点激活信道, 进入步骤B3。如果发现信道上没有信号,判定没有新节点被激活并记录侦听结果,退 出网络新增节点检查步骤。步骤B2,簇网络内节点跳频进入系统备份的新节点激活信道 (srdSnActiveBakCha画l),执行步骤Bl中操作,侦听有无bcastSnActive 消息。如果侦听到有新网络节点激活消息,记录侦听结果和新节点激活信道, 进入步骤B3。否则,判定没有新节点被激活记录侦听结果,退出网络新增节点检查步骤。步骤B3,簇网络内接收到bcastSnActive消息的节点,在其被分配的GIC 通讯时间,向其簇头节点(丽)报告发现新节点激活的消息(f indSnAcU ve)。HN节点在GIC时段接收簇节点报告,统计本簇网络发现findSnActive消 息的节点数。若发现本簇网络所有节点都发现新节点的激活信息,进入步骤B5。 否则,进入步骤B4。步骤B4, HN节点发现本簇网络有部分节点不能发现新网络节点激活,在 能发现新网络节点的簇节点中选择一个,命令其在GIC通讯完成后,转入可 工作的新节点激活信道,向新节点发送ackSnActive信息,通知新节点能与 本簇网络相连接,以及本簇网络节点通讯调度表,等待新节点返回信息。进 入步骤B6。步骤B5, HN节点检查本簇网络节点数量是否达到系统定义的蔟网络节点 容量限制(srdGnetSnMax )。若还没达到srdGnetSnMax, HN节点计算预计加入新网络节点后的网络调 度规划表,在GIC通讯完成后,转入可工作的新节点激活信道,向新节点发 送ackSnActive信息允许加入本簇网络,并发送预计的簇网络节点网络调度 表。等待新节点返回信息。若簇网^^节点凄t已达到srdGnetSnMax,在GIC通讯完成后,HN节点转入 可工作的新节点激活信道,向新节点发送ackSnAcUve信息本空间域节点饱 和,以及本蔟网络节点通讯调度表,等待新节点返回信息。进入步骤B6。步骤B6 , 新节点在系统定义的新节点i敫活广时间内 (srdSnActiveBcastTimeout )接收并解析其周围相邻网络的回应信息。如果 srdSnActiveBcastTimeout 没有结束,新节点回应到 srdSnActiveBcastTimeout结束时再发布加入蔟网络方式,并且通告 srdSnActiveBcastTimeout结束的时间。新节点解析回应信息得到当前相邻簇网络的连接状况,据此计算其加入 簇网络方式和更新相关蔟网络通讯调度表,到srdSnActiveBcastTimeout结 束后广播给相邻簇网络。步骤B7,相邻簇网络接收并解析新节点的回应消息。如果新节点不加入其蔟网络或者不与其簇网络相连接,则此簇网络通讯 调度不变。如果新节点将与其簇网络连接或者将加入其簇网络,簇网络节点接收新 节点更新的通讯调度计划并报告HN节点。HN节点确定簇网络的通讯调度计划, 并在GIC工作时段中发布此通讯调度计划,簇网络和新节点从下一次工作周 期开始执行新通讯调度计划。 .其中步骤B6所述新节点根据相邻簇网络连接关系,计算加入簇网络方式 和更新相邻簇网络调度还包括以下步骤步骤B61,新节点首先检查在srdSnActiveBcastTimeout时段内是否接收 到有相邻簇网络回应消息。 '如果无,则新节点决定自行建立一个新的簇网络,并设置自己为簇网络 簇头节点。进入步骤B7。否则进入步骤B62。步骤B62,新节点解析接收到的回应消息,判断能否连接此前不能连接的 相邻簇网络,并且记录结果。 , 如果能新增加原有簇网络连接,则进入步骤B63。否则新节点检查是否接收到相邻簇网络节点回应有簇网络空间域饱和的 信息。如果有,则判定新节点所在空间域内已经存在足够多网络节点。新节点 向全部相邻簇网络发送自身所在空间域达到srdGnetSnMax消息,新节点不能 加入当前传感器网络。然后新节点退出加入簇网络步骤,进入休眠状态。经 过srdSnActiveSleep时间后自行唤醒,重新进入步骤A。如果没有,则进入步骤B63。步骤B63,新节点统计相邻簇网络间的连接关系和调度时间安排,计算出 自己需要连接的相邻簇网络,判断能否在不改变一个簇网络现有GEC时段内其他节点调度情况下加入其簇网络。如果不能,则进入步骤B64。如果可以,则根据新节点需要连接相邻簇网络的要求,更新相关簇网络 的通讯调度计划表。新节点向选择的簇网络发送回应,请求加入此簇网络, 并向相关簇网络发送调整后的通讯调度表。并且新节点还与选择加入的簇网 络实现时钟同步,记录与其他不能时钟同步的连接簇网络的时钟映射表。进入步骤B7。
步骤B64,新节点;险查能否建立一个新簇网络与其他要求连接的相邻簇网络相连,其中新建簇网络GEC时段符合在系统定义的GEC时间窗口 (srdGecTimeWindow)宽度内的要求,并且保证相关簇网络现有GEC时段内其他节点调度不受影响。如果不能,则进入步骤B65。否则,新节点根据需要连接相邻簇网络的要求,更新相关簇网络的通讯 调度计划表,并计算建立自己新簇网络的GEC通讯调度计划表。新节点向相 关簇网络发送调整后的通讯调度表,并且选择一个与其连接的簇网络实现时 钟同步,记录与其他不能时钟同步的连接簇网络的时钟映射表。然后新节点 建立一个新簇网络,设置自己为簇网络簇头节点。进入步骤B7。步骤B65,新节点检查步骤B62记录结果能否连接此前不能连接的原有相 邻簇网络。如果是,则新节点决定建立一个独立簇网络(SSNG),新节点为此簇网络 唯一的簇节点,簇网络调度简化为只有GEC和GNI工作时段。新节点根据需 要连接相邻簇网络的要求,更新相关簇网络的通讯调度计划表,并计算SSNG 网络的GEC通讯调度计划表。新节点向相关簇网络发送调整后的通讯调度表, 并且与连接的蔟网络实现时钟同步,记录与其他不能时钟同步的连接簇网络 的时钟映射表。进入步骤B7。否则,进入步骤B66。步骤B66,新节点判断能否选择一个新节点相连簇网络,将其分裂为几个 新簇网络后,新节点能加入其中一个新分裂的簇网络,并且各个新分裂的簇 网络GEC时段符合srdGecTimeWindow时间宽度的要求,其他相关簇网络现有 GEC时段内的节点调度不受影响。如果可以,新节点计算原簇网络按要求分裂,以及自己加入其中一个新 分裂簇网络后,各新分裂簇网络的调度计划表,并且根据需要连接相邻簇网 络的要求,更新相关簇网络的通讯调度计划表。新节点向相关簇网络发送调 整后的通讯调度表。并且新节点还与选择的簇网络实现时钟同步,记录与其 他不能时钟同步的连接簇网络的时钟映射表。进入步骤B7 。如果不行,则判定新节点所在空间域内已经存在足够多网络连接。新节 点向全部相邻簇网络发送不能加入当前传感器网络。然后新节点退出加入簇 网络步骤,进入休眠状态。经过srdSnActiveSle印时间后自行唤醒,重新进入步骤A。一种无线传感器网络的通讯方法,包括步骤C, 在GEC通讯时段,蔟网络的BN节点按照GEC通讯调度安排,依 次与相邻簇网络的BN节点通讯,并且全部簇网络节点侦听有无新节点激活信,步骤D,在GIC通讯时段,簇网络节点按照GIC通讯调度安排,依次占用 信道向HN节点报告所发现网络结构变化和接收到的网络节点通讯调度配置命 令,同时向目标节点发送应用业务数据。簇网络其他节点保持侦听信道状态,接收向自己发送的数据包。步骤E, HN节点接收其他蔟节点的报告,检查本蔟网络是否网络结构变 化。并且根据网络结构变化、接收的网络节点通讯调度配置命令、和业务应 用对通讯调度调整要求,更新簇网络节点在GEC、 GIC内通讯调度计划,并在 簇网络中发布执行。其中所述步骤C,包括以下步骤步骤C1,在GEC通讯时段,蔟网络的BN节点按照调度安排,到其节点通 讯时段启动通讯模块,侦测蔟网络维护信道(srdBnWorkChannel )有没有干 扰信号存在。如果发现没有干扰信号存在,确定其为当前簇网络间通讯工作信道,进 入步骤C2。如果在srdBnWorkChannel ,道上发现干扰信号无法消除,节点跳频到簇 网络维护备份信道srdBnWorkBakChannel,同上侦测此信道上有没有干扰信号 存在。如果发现没有干扰信号存在,确定其为当前簇网络间通讯工作信道,进 入步骤C2。否则节点判定当前信道被干扰,不能实现GEC通讯,节点退出GEC工作 流程。步骤C2,相邻簇网络间BN节点按照已有调度安排,到其GEC中通讯时间 后按顺序执行发送接收操作。BN节点首先检查有无数据发送要求。 如果有,节点向对方BN节点发送数据。 进入步骤C3。步骤C3 , BN节点检查是否接收到对方节点的通讯回应。 如果没有,BN节点判断对方连接节点丟失,到其GIC通讯时间向HN节点 报告。进入步骤C4。步骤C4, BN节点检查是否接收到上层应用配置网络调度命令(ACNC)。 如果是,节点记录此消息,到其GIC通讯时间向HN节点报告,并且向对 方节点回复,本轮簇网络工作周期完成后执行ACNC。 进入步骤C5。步骤C5, BN节点检查是否接收到相邻蔟网络要求调整BN节点通讯调度 请求。如果是,节点记录此消息,到其GIC通讯时间向丽节点^R告,并且向对 方节点回复,下一次GEC通讯时再报告本簇网络是否接收调整BN通讯调度决 定。进入步骤C6。步骤C6, BN节点检查是否接收到业务应用数据传输请求。 如果是,节点记录此消息,根据业务应用数据的路由确定下一步传送的 目标节点,到其GIC通讯时间向目标节点发送数据。 进入步骤C7。步骤C7, BN节点检查是否接收到业务应用数据汇聚传输请求,或者业务 应用数据汇聚完成请求。如果是,节点记录此消息,到其GIC通讯时间向簇网络发布此消息。 进入步骤C8。步骤C8, BN节点检查是否接收到对方蔟网络对BN节点通讯调度调整的 回应。如果是,节点记录此消息,到其GIC通讯时间向HN节点^f艮告。 进入步骤C9。步骤C9, BN节点检查是否接收到新节点回应更新的簇网络调度计划。 如果是,节点记录此消息,到其GIC通讯时间向HN节点报告。 进入步骤CIO。步骤CIO,簇网络内节点在GEC时段中没有通讯任务时,按照步骤B1、 步骤B2所述方法,侦听看无新节点激活消息并记录侦听结果。进入步骤D。 其中,所述通讯方法步骤D包括以下步骤步骤Dl,进入GIC通讯时段,在系统定义的工作信道选择时间 (srdSelectChannelTimeout )内,丽节点侦听簇网络通讯工作 (srdGnetWorkChannels )信道,片企查是否存在空闲信道可以利用。如果有,HN节点选择其中一个信道作为本簇网络当前工作信道 (gnetWorkChannel )。否则,HN节点判断当前无可用工作信道。srdSelectChannelTimeout时间完成后,蔟网络全部节点跳频到蔟网络通 讯基础信道(srdGnetBaseChannel ),接收HN节点广^番选择工作信道的结果。如果无可用信道,则簇网络节点判断当前不能进行GIC通讯工作,退出 GIC工作状态。否则,全部簇网络节点跳频进入gnetWorkChannel工作信道, 进入步骤D2。步骤D2,簇网络节点按照GIC内通讯调度计划,分时依次占用 gnetWorkChannel工作信道,解析在GEC时段接收到的消息并按以下步骤执行, 期间簇网络内其他节点侦听工作信道,接收发送到自己的消息。簇节点检查是否接收新节点激活消息、或接收到ACNC命令、或接收到相 邻簇网络对BN节点间通讯调整命令及回复、或新节点回应更新簇网络调度计 划、或发现相邻簇网络连接BN节点丟失、或业务应用数据汇聚结束请求。如果是,簇节点向丽节点发送报告。进入步骤D3。步骤D3,簇节点检查是否有业务应用数据汇聚请求。如果有,簇节点根据业务应用数据汇聚要求,计算簇网络汇聚节点 (SinkNode ),并向簇网络所有节点发布数据汇聚业务请求及指定的 SinkNode。簇网络其他节点接收到此消息后,按照步骤D4执行业务应用数据 汇聚传输。否则,进入步骤D5。步骤D4,簇节点检查SinkNode节点通讯带宽能否支持当前簇网络的业务应用数据汇聚流量。如果不可以,簇节点向HN节点请求调整簇网络通讯调度,保留簇网络工 作周期中现有GEC通讯调度不变,并将原有一次GIC通讯时段的数据汇聚业 务分散到原有连续两次GIC时段中完成。簇节点等待HN节点回应,如果HN节点广播同意调整调度请求,簇节点 按照调整后调度计划执行。否则簇网络继续执行应用数据汇聚业务,但保持 一定数据丟失率。进入步骤D5。步骤D5,簇节点检查是否有业务应用数据传输要求。 如果有,簇节点根据业务数据发送的路由要求,计算数据传输的目标节 点。进入步骤D6。否则,进入步骤D7。步骤D6,簇节点计算与目标节点调度计划通讯时间内能否完成业务应用 数据传输任务。如果可行,则簇节点向目标节点发送数据。否则,需要传输的数据流量超过簇节点在GIC内通讯带宽要求,则发送 节点搜索簇网络通讯工作(srdGnetWorkChannels )信道,选择一个空闲信道 作为此通讯任务的工作信道(snWorkChannel )。发送节点向目标节点通知选 择的工作信道和通讯时间。指定通讯时间达到时,双方节点跳频到 snWorkChannel,执行应用数据通讯任务。进入步骤D7。步骤D7,簇节点向HN节点报告当前自身节点剩余能量值,供簇网络执行 选捧簇头节点参考。进入步骤E。其中,所述通讯方法步骤E包括以下步骤步骤E1,蔟网络HN节点在GIC时段先侦听信道,并接收其他节点发送到 自己的报告。到其他节点通讯完成后,HN节点解析所接收到报告。进入步骤E2。步骤E2,簇网络丽节点检查是否接收到上层应用配置网络调度命令 (ACNC )。如果有,HN节点解析ACNC命令,根据命令要求更新簇'网络的工作周期, 将簇网络工作时间周期倍增或倍减。同时HN节点命令簇网络其他BN节点将 此ACNC命令传递到相邻蔟网络。进入步骤E3。否则,进入步骤E3。步骤E3,簇网络HN节点检查是否收到相邻簇网络要求调整BN节点通讯 调度请求。如果没有,进入步骤E4。否则,HN节点计算能否满足不影响簇网络GEC时段内其他BN节点通讯调 度计划,在srdGecTimeWindow窗口时间宽度内,调整此BN节点通讯调度计 划。如果可以,HN节点根据以上计算结果,调整此节点在簇网络GEC时段的 通讯调度。否则,HN节点向相邻簇网络回复不能执行BN通讯调整要求。 进入步骤E4。步骤E4,簇网络HN节点检查是否收到发现相邻簇网络连接节点丢失报告。 如果是,去除本簇网络对应BN节点在GEC时段的通讯调度计划,进入步 骤E5。否则,进入步骤E5。步骤E5,蔟网络HN节点统计在GIC通讯时段接收到簇内节点的报告,检 查是否缺少应用的簇节点报告。如果有,HN节点判定此簇节点丢失。HN节点在GEC、 GIC时段内去除此 簇节点的通讯调度计划,选择可以补充此丢失节点在GEC中通讯工作的备^f分 节点,将填补到GEC节点通讯调度中。进入步骤E6。否则,进入步骤E6。步骤E6,簇网络HN节点检查是否接收到数据汇聚业务要求调整簇网络通 讯调度消息。如果有,调整簇网络通讯调度,保留簇网络工作周期中现有GEC通讯调 度不变,并将原有一次GIC通讯时段的数据汇聚业务分散到原有连续两次GIC 时段中完成。进入步骤E7。否则,进入步骤E7。步骤E7,簇网络HN节点检查是否接收到数据汇聚业务结束命令。 如果有,HN节点检查是否因为此数据汇聚业务调整过簇网络通讯调度计 划,如果是则恢复簇网络原有的通讯调度计划。进入步骤E8。 否则,进入步骤E8。步骤E8,簇网络HN节点检查是否接收到有新节点回应的调整簇网络通讯调度计划的消息。如果有,丽节点根据以上步骤调整簇网络通讯调度计划的汇总结果,调 整接收到新节点更新的簇网络通讯调度计划,并把此调度计划发送给新节点。 进入步骤E9。否则,进入步骤E9。步骤E9,丽节点检查是否接收到新节点激活的消息。如果是,HN节点执行簇网络发现新节点激活消息处理步骤。进入步骤El 0。否则,进入步骤EIO。步骤EIO, HN节点比较蔟节点报告剩余能量值,选择能量最优节点作为 下一次工作周期的HN节点,然后发布根据执行以上步骤更新的簇网络调度计 划。簇网络其他节点接收并保存此新的簇网络通讯调度计划。簇网络从下一 个工作周期开始执行新调度计划。本发明积极效果是,本发明由于采用同构分组结构。网络内节点属性相 同,让网络实现无中心化,实现方便网络部署和保证网络结构抗破坏性。簇 网络的调度计划信息备份在簇内全部节点上。这样的好处是减轻簇头节点负 担,当簇网络簇头节点被破坏时,簇网络结构可以保持不变,剩余的节点只 要再选择一个簇头节点,不必重新搜索和加入网络。本发明改进MAC协议,节点进行通讯时都执行已经分配的通讯调度安排, 所以节点间发送接收数据采用DATA/ACK机制,减少不必要数据通讯节省能 源。现有多信道通讯芯片技术已经成熟且成本下降得到广泛使用,因此本发 明设计网络采用多通讯信道实现网络维护通讯和应用tt据通讯,减少通讯冲 突可能。本发明中网络应用数据在节点间直接通讯,不需要通过簇网络管理节点 转发,其优点是当网络拓朴结构稳定后,将大大减少网络维护的能量消耗, 且对于不同应用数据传输流量,配置不同的通讯时间宽度,加快应用数据传 输效率,提高网络性能。本发明还采用跨层设计的思想,在MAC协议中保留接口,由上层应用可 以根据需要定制网络节点的工作调度方案,实现应用对网络通讯调度计划的 灵活配置以及实现节省能量要求。以下将结合附图和实施例,对本发明进行较为详细的说明。


图l是本发明无线传感器网络拓朴结构图。图2是本发明无线传感器网络建立方法中,簇网络对发现新节点激活消 息的处理步骤流程图。图3是本发明无线传感器网络^t立方法中,新节点确定加入簇网络方式 的处理步骤前半部分流程图。图4是本发明无线传感器网络建立方法中,新节点确定加入簇网络方式的处理步骤后半部分流程图。图5是本发明无线传感器网络通讯方法中,业务应用数据传输方法的l丸 行步骤流程图。图6是本发明无线传感器网络通讯方法中,簇节点发现并报告簇网络调 度计划调整要求的执行步骤流程图。图7是本发明无线传感器网络通讯方法中,簇头节点更新簇网络调度计 划的执行步骤流程图。
具体实施方式
实施例1, 一种无线传感器网络,如图1所示,网络中能相互直接连接的节点组成一个簇,每一簇网络采取能量优化原 则,定期选择一个节点作为簇头节点,簇头节点负责确认簇网络的网络拓朴 结构变化,更新和发布簇网络通讯调度交换。图中节点1、 6、 8、 10分别作 为簇网络A、 B、 C、 D的当前簇头节点。簇头节点选择其簇网络中能与相邻簇网络连接的节点,作为其簇网络的 边界交换节点。相邻簇网络间通讯只能通过边界交换节点执行。如图中,簇 网络A有节点要求与蔟网络C中节点通讯,只能通过节点4与节点8通讯实 现。这样一个簇网络工作周期被分为簇间交换节点通讯工作时段、和簇内部 节点通讯工作时段、和簇节点休眠时段。簇间交换节点通讯工作时段的主要工作是此簇网络中交换节点分时复用 通讯信道与相邻簇网络通讯。如簇网络B在簇间交换节点通讯工作时段,节 点5和节点7按照调度计划顺序与簇网络C节点8和簇网络D节点9执行通 讯任务,同时要保证完成节点5、 7的通讯时间不能超过系统定义的簇间通讯 时间窗口宽度。簇内部节点通讯工作时段的主要工作是簇节点按照调度计划顺序向簇头 节点报告网络结构变化和调整调度请求,以及执行业务应用数据通讯,而簇 头节点根据接收到报告更新簇网络的调度计划。如蔟网络A在簇内部节点通讯工作时段,接收到业务应用数据汇聚命令。 则根据数据汇聚路由确定节点3是此次汇聚任务的汇聚节点,节点1、 2、 4 分时占用信道,直接向汇聚节点3发送业务应用数据包。同时节点2、 3、 4还执行向簇头节点1发送报告,包括接收到新节点激 活消息、或接收到ACNC命令、或接收到相邻簇网络对BN节点间通讯调整命 令及回复、或发现相邻簇网络连接BN节点丢失、或业务应用数据汇聚要求调 整调度计划、或业务应用数据汇聚结束请求。最后簇头节点1根据接收到报告更新簇网络的调度计划,并在簇网络中 发布,到下一个工作周期开始执行。当新激活节点需要连接之前不能通讯的簇网络,但相邻簇网络的蔟间通 讯调度不能满足不超过系统定义的簇间通讯时间窗口宽度要求,则此节点建立SSNG蔟网络。即此簇网络只有一个节点,并且以后不再增加其他簇节点,这样此簇网络只执行簇间交换节点通讯工作。如图,簇网络C就是由节点8创建的SSNG簇网络。节点8只需执行与簇 网络A节点4 、和簇网络B节点7的簇间交换节点通讯工作,保证全网络连接。 实施例2, 一种无线传感器网络建立方法。如图2所示,在无线传感器网络建立方法中,簇网络对发现新节点激活 消息的处理步骤。步骤201,在GEC工作时段,簇网络节点在新节点激活信道上侦听有无新 节点激活消息,并记录侦听结果。到GIC通讯工作时间,簇节点时分复用占 用簇网络工作信道,向其簇头节点报告发现新节点激活的消息。步骤202,蔟头节点接收其他簇节点关于发现新节点激活的报告,检查是 否本簇网络所有节点都发现新节点的激活信息。如果是,执行步骤203。否则,执行步骤206。步骤203,簇头节点检查本簇网络节点数量是否达到系统定义的簇网络节 点容量限制。如果是,执行步骤204。 否则,执行步骤205。步骤204,蔟头节点转入可工作的新节点激活信道,向新节点发送本簇网 络空间域节点饱和,以及本簇网络节点通讯调度表消息。执行步骤207。步骤205,蔟头节点计算新节点加入簇网络后更新的网络调度计划表,转 入可工作的新节点激活信道,向新节点发送允许其加入本簇网络,并发送新 的簇网络网络计划表。执行步骤207。步骤206,蔟头节点从能发现新网络节点的簇节点中选择一个,命令其转 入可工作的新节点激活信道,向新节点发送新节点能与本簇网络相连接,以 及本簇网络通讯调度计划表。执行步骤207。步骤207,簇网络等待接收新节点的回应消息并解析。如果新节点不加入其蔟网络或者不与其簇网络相连4妄,则此蔟网络通讯 调度不变。如果新节点将与其簇网络连接或者将加入其簇网络,簇网络节点接收新 节点更新的通讯调度计划并报告HN节点。HN节点确定簇网络的通讯调度计划, 并在GIC工作时段中发布此通讯调度计划,簇网络和新节点从下一次工作周 期开始执行新通讯调度计划。实施例3, 一种无线传感器网络建立方法中,新节点确定加入簇网络方式 的处理步骤。如图3、 4所示,步骤301,网络节点复位初始化后执行新节点加入网络流程。步骤302 ,新节点依次侦听系统预定义新节点激活信道 (srdSnActiveChannel ) 和系统备份新节点激活信道(srdSnActiveBakChannel),才企查是否有空闲信道。 如果有,执行步骤304。 否则,执行步骤303。步骤303,新节点确定当前不能执行加入网络操作,新节点转入^f木眠状态, 经过系统定义的^木眠时间(srdSnActiveSle印)后唤醒,重新执行步骤302。步骤304,新节点标记当前可用的新节点激活信道,并在此信道发布新节 点激活消息(bcastSnActive),然后在系统定义的活回应等待时间 (srdSnActiveAckTimeout)内4妄收并4呆存与其相连4妄《美网络的回应消息 (ackSnActive)。步骤305 ,新节点检查系统定义的新节点激活广播时间 (srdSnActiveBcastTimeout )是否完成。 如果是,执行步骤306。 否则,执行步骤304。步骤306,新节点检查是否接收到有相邻簇网络回应消息。 如果有,执行步骤308。 否则,执行步骤307。步骤307,新节点建立一个新的簇网络,并设置自己为簇网络簇头节点。 执行步骤318。步骤308,新节点解析接收到的回应消息,判断能否连接此前不能连接的 相邻簇网络,并且记录此判断结果。 如果可以,执行步骤310。 否则,执行步骤309。步骤309,新节点检查是否有接收到相邻簇网络节点回应簇网络空间域饱 和的信息。如果有,则判定新节点所在空间域内已经存在足够多网络节点,新节点 不能加入当前网络。执行步骤303。 如果没有,执行步骤310。步骤310,新节点统计接收到相邻簇网络间的连接关系和调度时间安排, 检查能否在不改变一个簇网络现有GEC时段内其他节点调度情况下加入其簇 网络。如果可以,执行步骤316。 否则,执行步骤311。步骤311,新节点;险查能否建立一个新簇网络与其他要求连接的相邻簇网 络相连,其中新建簇网络GEC时段符合在系统定义的GEC时间窗口 (srdGecTimeWindow)宽度内的要求,并且保证相关簇网络现有GEC时段内 其他节点调度不受影响。如果可以,执行步骤317。否则,执行步骤312。步骤312,新节点4企查步骤308记录的判断结果。 如果能连接原有不能连接的簇网络,执行步骤313。 否则,执行步骤314。步骤313,新节点建立一个独立节点簇网络(SSNG),新节点为此簇网络 唯一的簇节点,通讯调度只执行与相邻簇网络通讯工作。新节点计算SSNG网 络的GEC通讯调度计划表,并且根据需要连接相邻簇网络的要求,更新相关 蔟网络的通讯调度计划表。执行步骤318。步骤314,新节点判断能否选择一个新节点相连簇网络,将其分裂为几个 新蔟网络后,新节点能加入其中一个新分裂的簇网络,并且各个新分裂的簇 网络GEC时段符合srdGecTimeWindow时间宽度的要求,其他相关簇网络现有 GEC时段内的节点调度不受影响。如果可以,执行步骤315。否则,新节点判定当前所在空间域内已经存在足够多网络连接,新节点 不能加入网络。执行步骤303。步骤315,新节点计算原簇网络按要求分裂,以及自己加入其中一个新分 裂簇网络后,各新分裂簇网络的调度计划表,并且根据需要连接相邻簇网络 的要求,更新相关簇网络的通讯调度计划表。执行步骤318。步骤316,新节点计算加入相邻簇网络后的网络调度计划,并且根据需要 连接相邻簇网络的要求,更新相关簇网络的通讯调度计划表。执行步骤318。步骤317,新节点建立新蔟网络,设置自己为簇网络簇头节点。计算新建 蔟网络的通讯调度计划表,并根据需要连接相邻簇网络的要求,更新相关簇 网络的通讯调度计划表。执行步骤318。步骤318,新节点向相关蔟网络发送调整后的通讯调度表,并且与连接的 簇网络实现时钟同步,和记录与其他连接簇网络的时钟映射表。执行步骤319。步骤319,新节点等待接收簇网络的回应消息,确定新节点执行加入簇网 络方式和其通讯调度计划,到其所在簇网络的下一个工作周期开始执行。实施例4, 一种无线传感器网络通讯方法中,业务应用数据传输方法执行 步骤。如图5所示,步骤401,簇网络工作流程进入GIC通讯工作时段。步骤402,在系统定义的工作信道选择时间(srdSelectChannelTimeout) 内,HN节点侦听簇网络通讯工作(srdGnetWorkChannels )信道,检查是否存 在空闲信道可以利用。srdSelectChannelTimeout结束后,簇网络全部节点跳 频到簇网络通讯基础信道(srdGnetBaseChannel )接收HN节点发布选择工作 信道的结果。如果有,执行步骤404。否则,执行步骤403。步骤403,丽节点发布当前无可用簇网络工作信道,全部节点退出GIC 工作时段。步骤404,蔟节点接收HN节点发布gnetWorkChannel工作信道。全部节 点跳频进入gnetWorkChannel , 4安照GIC内通讯调度计划,分时依次占用 gnetWorkChannel工作信道发送消息,期间簇网络内其他节点侦听工作信道, 接收发送到自己的消息。执行步骤405。
步骤405,簇节点检查是否有业务应用数据汇聚请求。
如果有,执行步骤406。
否则,执行步骤407。
步骤406,簇节点根据业务应用数据汇聚要求,计算簇网络汇聚节点 (SinkNode ),并向簇网络所有节点发布数据汇聚业务请求及指定的 SinkNode。簇网络其他节点接收到此消息后,按照业务要求向SinkNode节点 发送业务应用数据。
簇节点检查SinkNode节点通讯带宽能否支持当前簇网络的业务应用数据 汇聚流量。
如果可以,执行步骤409。
否则,执行步骤408。
步骤407,簇节点检查是否有业务应用数据传输要求。 如果有,执行步骤409。 否则,执行步骤412。
步骤408,蔟节点向HN节点请求调整簇网络通讯调度,保留簇网络工作 周期中现有GEC通讯调度不变,并将原有一次GIC通讯时段的数据汇聚业务 分散到原有连续两次GIC时段中完成。执行步骤409。
步骤409,簇节点根据业务数据发送的路由要求,计算数据传输的目标节 点。然后簇节点计算与目标节点调度计划通讯时间内能否完成业务应用数据 传输任务。
如果可行,执行步骤411。
否则,执行步骤410。
步骤410,发送节点搜索簇网络通讯工作(srdGnetWorkChannels )信道, 选择一个空闲信道作为此通讯任务的工作信道(snWorkChannel )。发送节点 向目标节点通知选择的工作信道和通讯时间。指定通讯时间达到时,双方节 点跳频到snWorkChannel,执行业务应用数据通讯任务。执行步骤412。
步骤411,发送节点在簇网络规定的GIC通讯时间内向目标节点发送业务 应用数据。执行步骤412。
步骤412,簇节点结束业务应用数据通讯任务,执行簇网络调整通讯调度 计划步骤。
实施例5, 一种无线传感器网络通讯方法中,蔟节点发现并报告簇网络调 度计划调整要求的执行步骤。如图6所示,
步骤501,簇节点开始执行簇网络工作周期流程,在GEC工作时段接收相 邻簇网络发送来的消息,在GIC工作时段解析接收到的消息,并执行相应通讯任务。
步骤502,簇节点检查有无业务应用数据需要传输。
如果是,执行步骤503。 否则,执行步骤504。
步骤503,簇节点执行如附图4所述的簇节点业务应用数据传输步骤。执 行步骤504。
步骤504,簇节点检查是否接收新节点激活消息、或接收到ACNC命令、 或接收到相邻簇网络对BN节点间通讯调整命令及回复、或新节点回应更新簇 网络调度计划、或发现相邻簇网络连接BN节点丢失、或业务应用数据汇聚要 求调整调度、及汇聚业务完成后恢复原网络调度计划请求。
如果是,执行步骤505。
否则,执行步骤506。
步骤505,簇节点向HN节点报告相关要求调整簇网络调度计划的消息。 执行步骤506。 '
步骤506,簇节点向HN节点报告当前自身节点剩余能量值,供簇网络执 行选择簇头节点参考。执行步骤507。
步骤507,簇节点等待接收HN节点更新簇头节点和簇网络调度计划的消 息。接收到更新消息后,从簇网络下一次工作周期开始执行。
实施例6, 一种无线传感器网络通讯方法中,蔟头节点更新蔟网络调度计 划的执行步骤。如图7所示,
步骤601,匪节点在GIC通讯时段,接收其他簇节点发送的要求调整蔟 网络通讯调度计划的消息。
步骤602,丽节点检查是否接收到上层应用配置网络调度命令(ACNC )。
如果有,执行步骤603。
否则,执行步骤604。
步骤603, HN节点解析ACNC命令,根据命令要求更新蔟网络的工作周期, 将簇网络工作时间周期倍增或倍减。同时HN节点命令蔟网络其他BN节点将 此ACNC命令传递到相邻蔟网络。执行步骤604。
步骤604, HN节点检查是否收到相邻蔟网络要求调整BN节点通讯调度请求。
如果有,执行步骤605。 否则,执行步骤606。
步骤605, HN节点计算能否满足不影响簇网络GEC时段内其他BN节点 通讯调度计划,在srdGecTimeWindow窗口时间宽度内,调整此BN节点通讯 调度计划。
如果可以,HN节点根据以上计算结果,调整此节点在蔟网络GEC时段的 通讯调度。
否则,HN节点通知BN节点在下一次GEC通讯时,向相邻蔟网络回复不能执行BN通讯调整要求。
执行步骤6G6。
步骤606, ■节点检查是否收到发现相邻簇网络连接节点丟失报告。 如果是,执行步骤607。 否则,执行步骤608。
步骤607,丽节点去除本蔟网络对应BN节点在GEC时l殳的通讯调度计划。 执行步骤608。
步骤608, HN节点统计在GIC通讯时段接收到蔟内节点的报告,检查是 否缺少应用的簇节点报告。 如果有,执行步骤609。 否则,执行步骤610。
步骤609, HN节点判定此簇节点丢失。HN节点在GEC、 GIC时段内去除此 簇节点的通讯调度计划,选择可以补充此丢失节点在GEC中通讯工作的备份 节点,将其填补到GEC节点通讯调度中。执行步骤610。
步骤610, HN节点检查是否接收到数据汇聚业务要求调整簇网络通讯调 度消息。
如果有,执行步骤611。 否则,执行步骤612。
步骤611, HN节点调整蔟网络通讯调度,保留簇网络工作周期中现有GEC 通讯调度不变,并将原有一次GIC通讯时段的数据汇聚业务分散到原有连续 两次GIC时段中完成。执行步骤612。
步骤612, HN节点检查是否接收到数据汇聚业务结束命令。
如果有,执行步骤613。
否则,执行步骤614。
步骤613, HN节点检查是否因为此数据汇聚业务调整过簇网络通讯调度 计划,如果是则恢复簇网络原有的通讯调度计划。执行步骤614。
步骤614, HN节点检查是否接收到有新节点回应的调整簇网络通讯调度 计划的消息。
如果有,执行步骤615。
否则,执行步骤616。
步骤615, HN节点根据以上步骤调整簇网络通讯调度计划的汇总结果, 调整接收到新节点更新的簇网络通讯调度计划,并把此调度计划发送给新节 点。执行步骤616。
步骤616, HN节点检查是否接收到新节点激活的消息。
如果是,^M于步骤617。
否则,执行步骤618。
步骤617, HN节点按照附图2所述,执行簇网络发现新节点激活消息处理步骤。执行步骤618。步骤618, HN节点比较簇节点报告剩余能量值,选择能量最优节点作为 下一次工作周期的HN节点,然后发布根据执行以上步骤更新的簇网络调度计 划。步骤619,簇网络其他节点接收并保存此新的簇网络通讯调度计划。簇网 络节点从下 一个工作周期开始执行新调度计划。
权利要求
1.一种无线传感器网络,其特征在于,是同构分组的网络结构;在链路层将网络中能直接相互连接的一群节点划分为一个簇,其中包括普通传感器节点,部署在网络内采集传感器数据,并根据应用要求传输数据;簇网络交换节点,是在一个簇网络中能与相邻簇网络节点直接通讯的节点;簇网络内其他节点必须通过簇网络交换节点与相邻簇网络通讯;簇头节点,每个簇网络定期通过能量优化原则选择一个节点作为簇头节点;簇头节点负责确认簇网络的网络拓扑结构变化,更新和发布簇网络内节点的通讯调度。
2. 根据权利要求1所述的无线传感器网络,其特征在于,所述的无线传 感器网络还有汇聚节点,所述的汇聚节点是当簇网络接收到应用业务数据汇 聚命令时,根据数据流路由选择簇网络中数据流目的节点作为此数据汇聚业 务的汇聚节点,接收簇网络内其他节点发送的业务应用数据。
3. 根据权利要求1或2所述的无线传感器网络,其特征在于,簇网络循 环执行工作周期,所述的一个工作周期分为簇节点休眠时段、簇间交换节点 通讯工作时段、和蔟内部节点通讯工作时段;簇网络节点在簇节点休眠时段停止工作,进入省电模式;在簇间交换节点通讯工作时段,簇网络边界交换节点分时复用通讯信道与相邻簇网络通讯,同时簇网络节点侦测有无新网络节点激活; ..在簇内部节点通讯工作时段,簇网络节点分时复用通讯信道向簇头节点报告簇头节点接收到调整簇网络通讯调度的要求,簇头节点重新计算簇网络适合的调度方案,并发布给簇网络内节点执行;并且簇节点直接连接目标节点,执行业务应用数据通讯传输。
4. 根据权利要求1或2所述的无线传感器网络,其特征在于,簇网络节 点通讯采用多信道通讯方式;簇网络通讯信道分为新节点激活信道、簇网络 交换节点通讯信道、簇网络通讯信道;其中,新节点激活信道包括系统预定义新节点激活信道及其备份信道;簇网络交换节点通讯信道包括系统定义簇网络间通讯信道及其备份信道;簇网络通讯信道包括簇网络通讯基础信道和簇网络通讯工作信道,其中 簇网络通讯工作信道包含多条可用信道,簇头节点在4丸行簇内部节点通讯前, 侦听并选择空闲信道,作为簇网络在簇内部节点通讯工作时段的簇网络工作 信道,簇内部节点通讯工作完成后释放此信道资源。
5. 权利要求1所述的无线传感器网络的建立方法,包括步骤A,新部署的网络节点复位初始化后在系统预定义的新节点激活信道搜索当前无线传感器网络状况,根据搜索结果决定自己是否需要被激活和是 否发布新节点激活信息;步骤B,簇网络节点定时检测有无网络节点激活,发现有新网络节点激活消息后,向新节点回应当前簇网络调度计划;新节点根据接收到相邻簇网络回应,确定新节点暂时卩木眠、或加入已有 的簇网络、或建立新的簇网络,并且根据加入新节点后网络结构变化,计算 更新相邻簇网络的调度计划,并向相邻簇网络发送;蔟网络确定并发布更新的通讯调度计划,簇网络节点从下一次工作周期 开始执行新的簇网络通讯调度计划;所述的步骤A包括以下步骤步骤Al,新部署的网络节点复位初始化后,在系统预定义新节点激活信 道侦听信道上有没有信号;如果发现当前信道上有其他新节点激活信号存在,则此网络节点采用退 避机制,等待系统定义的休眠时间后再侦听信道;如果信道上没有其他信号,则此新网络节点进入激活状态并进入步骤A3;如果信道存在干扰信号,则进入步骤A2;步骤A2,新网络节点判定原新节点激活信道存在干扰信号,转入系统备 份新节点激活信道,如步骤A1执行侦听信道操作;如果发现当前信道上有其他新节点激活信号存在,或者存在干扰信号, 则此网络节点采用退避机制,等待系统定义的休眠时间后再执行步骤Al;如果信道上没有其他信号,则此新网络节点进入激活状态并进入步骤A3;步骤A3,新网络节点广播新节点被激活的消息,然后在系统定义的激活 回应等待时间内接收并保存与其相连接簇网络的回应消息;新节点检查系统定义的新节点激活广播时间是否完成;如果没有,则重复执行步骤A3;否则,进入步骤B;所述的步骤B,包括以下步骤步骤B1,在蔟网络间节点通讯工作期间,簇网络节点侦听新节点激活信 道上有无新节点激活消息;如果发现信道上存在干扰则进入步骤B2;如果侦听到有新网络节点激活消息,记录侦听结果和新节点激活信道, 进入步骤B3;如果发现信道上没有信号,判定没有新节点被激活并记录侦听结果,退 出网络新增节点检查步骤;步骤B2,簇网络内节点跳频进入系统备份的新节点激活信道,执行步骤 Bl中操作,侦听有无新节点激活消息;如果侦听到有新网络节点激活消息,记录侦听结果和新节点激活信道, 进入步骤B3;否则,判定没有新节点被激活记录侦听结果,退出网络新增节点检查步骤;步骤B3,蔟网络内接收到新节点激活消息的节点,在其被分配在簇内部 节点通讯工作时段的通讯时间,向其簇头节点报告发现新节点激活的消息; 簇头节点接收簇节点报告,统计本簇网络中发现新节点激活消息的节点数;若发现本簇网络所有节点都发现新节点的激活信息,进入步骤B5; 否则,进入步骤B4;步骤B4,簇头节点发现本簇网络有部分节点不能发现新网络节点激活, 在能发现新网络节点的簇节点中选择一个,命令其在簇内部节点通讯工作时 段完成后,转入可工作的新节点激活信道,向新节点发送回应信息,通知新 节点能与本簇网络相连接,以及本簇网络节点通讯调度表,等待新节点返回 信息;进入步骤B6;步骤B5,蔟头节点检查本簇网络节点数量是否达到系统定义的簇网络节 点容量限制;若还没达到簇网络节点容量限制,簇头节点计算预计加入新网络节点后 的网络调度规划表,在簇内部节点通讯工作时段完成后,转入可工作的新节 点激活信道,向新节点发送回应信息,允许新节点加入本簇网络,并发送预 计的簇网络节点网络调度表。等待新节点返回信息;若簇网络节点数已达到簇网络节点容量限制,在簇内部节点通讯工作时 段完成后,簇头节点转入可工作的新节点激活信道,向新节点发送回应信息, 本空间域节点饱和,以及本簇网络节点通讯调度表,等待新节点返回信息;进入步骤B6;步骤B6,新节点在系统定义的新节点激活广播时间内接收并解析其周围 相邻网络的回应信息;如果新节点激活广播时间内没有结束,新节点回应到新节点激活广播时间结束时再发布加入簇网络方式,并且通告新节点激活广播时间结束的时间; 新节点解析回应信息得到当前相邻簇网络的连接状况,据此计算其加入簇网络方式和更新相关簇网络通讯调度表,到新节点激活广播时间结束后广 播给相邻簇网络;步骤B7,相邻蔟网络接收并解析新节点的回应消息;如果新节点不加入其蔟网络或者不与其簇网络相连接,则此簇网络通讯 调度不变;如果新节点将与其簇网络连接或者将加入其簇网络,簇网络节点接收到 新节点更新的通讯调度计划并报告簇头节点;簇头节点确定并发布此簇网络 的通讯调度计划,蔟网络和新节点从下一次工作周期开始^丸行新通讯调度计划;其中步骤B6所述新节点根据相邻蔟网络连接关系,计算加入蔟网络方式200810065566.7权 调度还包括以下步骤步骤B61,新节点首先检查在新节点激活广播时间时段内是否接收到有相 邻簇网络回应消息;如果无,则新节点决定自行建立一个新的簇网络,并设置自己为簇网络 簇头节点;进入步骤B7;否则进入步骤B62;步骤B62,新节点解析接收到的回应消息,判断能否连接此前不能连接的 相邻簇网络,并且记录结果;如果能新增加原有蔟网络连接,则进入步骤B63;否则新节点;险查是否接收到相邻簇网络节点回应有簇网络空间域饱和的 信息;如果有,则判定新节点所在空间域内已经存在足够多网络节点;新节点 向全部相邻簇网络发送自身所在空间域达到簇网络节点容量限制消息,新节 点不能加入当前传感器网络;然后新节点退出加入簇网络步骤,进入^U民状 态;经过系统定义的休眠时间后自行唤醒,重新进入步骤A;如果没有,则进入步骤B63;步骤B63,新节点统计相邻簇网络间的连接关系和调度时间安排,计算出 自己需要连接的相邻簇网络,判断能否在不改变一个簇网络现有簇间交换节 点通讯工作时段内其他节点调度情况下加入其簇网络;如果不能,则进入步骤B64;如果可以,则根据新节点需要连接相邻簇网络的要求,更新相关簇网络 的通讯调度计划表;新节点向选择的簇网络发送回应,请求加入此簇网络, 并向相关簇网络发送调整后的通讯调度表;并且新节点还与选择加入的簇网 络实现时钟同步,记录与其他不能时钟同步的连接簇网络的时钟映射表;进 入步骤B7;步骤B64,新节点检查能否建立一个新簇网络与其他要求连接的相邻簇网 络相连,其中新建簇网络的簇间交换节点通讯工作时段符合在系统定义的簇 间交换节点通讯工作时段时间窗口宽度的要求,并且保证相关簇网络现有簇 间交换节点通讯工作时段内其他节点调度不受影响;如果不能,则进入步骤B65;否则,新节点根据需要连接相邻簇网络的要求,更新相关簇网络的通讯 调度计划表,并计算建立自己新簇网络的簇间交换节点通讯工作时段的通讯 调度计划表;新节点向相关簇网络发送调整后的通讯调度表,并且选择一个 与其连接的簇网络实现时钟同步,记录与其他不能时钟同步的连接簇网络的 时钟映射表;然后新节点建立一个新簇网络,设置自己为簇网络簇头节点; 进入步骤B7;步骤B65,新节点检查步骤B62记录结果能否连接此前不能连接的原有相 邻簇网络;如果是,则新节点决定建立一个独立节点簇网络,新节点为此簇网络唯 一的簇节点,簇网络调度简化为只有簇间交换节点通讯工作时段和簇节点休眠时段;新节点根据需要连接相邻簇网络的要求,更新相关簇网络的通讯调度计划表,并计算此独立节点网络的簇间交换节点通讯工作时段的通讯调度计划表;新节点向相关簇网络发送调整后的通讯调度表,并且与连接的簇网 络实现时钟同步,记录与其他不能时钟同步的连接簇网络的时钟映射表;进 入步骤B7;否则,进入步骤B66;步骤B66,新节点判断能否选择一个新节点相连簇网络,将其分裂为几个 新蔟网络后,新节点能加入其中一个新分裂的簇网络,并且各个新分裂的簇 网络簇间交换节点通讯工作时段符合簇间交换节点通讯工作时段时间窗口宽 度的要求,并且其他相关簇网络现有簇间交换节点通讯工作时段内的节点调 度不受影响;如果可以,新节点计算原簇网络按要求分裂,以及自己加入其中一个新 分裂簇网络后,各新分裂簇网络的调度计划表,并且根据需要连接相邻簇网 络的要求,更新相关簇网络的通讯调度计划表;新节点向相关簇网络发送调 整后的通讯调度表;并且新节点还与选择的簇网络实现时钟同步,记录与其 他不能时钟同步的连接簇网络的时钟映射表;进入步骤B7;如果不行,则判定新节点所在空间域内已经存在足够多网络连接;新节 点向全部相邻簇网络发送不能加入当前传感器网络;然后新节点退出加入簇 网络步骤,进入休眠状态;经过系统定义的节点#^眠时间后自行唤醒,重新 进入步骤A。
6. —种权利要求1所述的无线传感器网络的通讯方法,包括步骤C,在簇间交换节点通讯工作时段,簇网络交换节点按照通讯调度安排,依次与相邻簇网络的交换节点通讯,并且全部簇网络节点侦听有无新节点激活信号;步骤D,在蔟内节点通讯工作时段,簇网络节点按照通讯调度安排,依次 占用信道向簇头节点报告所发现网络结构变化和接收到的网络节点通讯调度 配置命令,并且向目标节点发送应用业务数据;同时簇网络其他节点保持侦听信道状态,接收向自己发送的数据包;步骤E,簇头节点接收其他簇节点的报告,检查本簇网络是否发生网络结 构变化;并且根据网络结构变化、接收的网络节点通讯调度配置命令、和业 务应用对通讯调度调整要求,更新簇网络节点在簇间交换节点通讯工作时段、 和簇内节点通讯工作时段的通讯调度计划,并在簇网络中发布执行;所述的步骤C,包括以下步骤步骤Cl,在簇间交换节点通讯工作时段,簇网络的交换节点按照调度安 排,到其节点通讯时刻启动通讯模块,侦测簇网络维护信道有没有干扰信号存在;如果发现没有千扰信号存在,确定其为当前簇网络间通讯工作信道,进入步骤C2;如果在蔟网络维护信道上发现干扰信号无法消除,节点跳频到簇网络维护备份信道,同上侦测此信道上有没有干扰信号存在;如果发现没有干扰信号存在,确定其为当前簇网络间通讯工作信道,进 入步骤C2;否则节点判定当前信道被干扰,不能实现簇间交换节点通讯工作,节点 退出簇间交换节点通讯工作流程;步骤C2,相邻蔟网络间交换节点按照已有调度安排,到其簇间交换节点 通讯工作时间,按顺序执行发送接收操作;交换节点首先检查有无数据发送 要求;如果有,节点向对方对应的交换节点发送数据; 进入步骤C3;步骤C3,交换节点检查是否接收到对方对应节点的通讯回应; 如果没有,交换节点判断对方连接节点丟失,到其簇内节点通讯工作时 向簇头节点报告; 进入步骤C4;步骤C4,交换节点^r查是否接收到上层应用配置网络调度命令; 如果是,节点记录此消息,到其簇内节点通讯工作时向簇头节点报告, 并且向对方节点回复,本轮簇网络工作周期完成后执行上层应用配置网络调度命令;进入步骤C5;步骤C5,交换节点检查是否接收到相邻簇网络要求调整交换节点通讯调 度请求;如果是,节点记录此消息,到其簇内节点通讯工作时向簇头节点报告, 并且向对方节点回复,下一次簇间交换节点通讯时再报告本簇网络是否接收 调整交换节点通讯调度决定;进入步骤C6;步骤C6,交换节点检查是否接收到业务应用数据传输请求; 如果是,节点记录此消息,根据业务应用数据的路由确定下一步传送的 目标节点,到其簇内节点通讯时向目标节点发送数据; 进入步骤C7;步骤C7,交换节点检查是否接收到业务应用数据汇聚传输请求,或者业 务应用数据汇聚完成请求;如果是,节点记录此消息,到其簇内节点通讯工作时向簇头节点报告; 进入步骤C8;步骤C8,交换节点检查是否接收到对方簇网络对交换节点通讯调度调整 的回应;如果是,节点记录此消息,到其簇内节点通讯工作时向簇头节点报告; 进入步骤C9;步骤C9,交换节点检查是否接收到新节点回应更新的簇网络调度计划; 如果是,节点记录此消息,到其簇内节点通讯工作时向簇头节点报告; 进入步骤C10;步骤CIO,簇网络内节点在簇间交换节点通讯时段中没有通讯任务时,按 照步骤B1、步骤B2所述方法,侦听有无新节点激活消息并记录侦听结果;进 入步骤D;所述的步骤D,包括以下步骤步骤D1,进入蔟内节点通讯时段,在系统定义的工作信道选择时间内, 簇头节点侦听簇网络通讯工作信道,检查是否存在空闲信道可以利用; 如果有,簇头节点选择其中 一个信道作为本簇网络当前工作信道; 否则,簇头节点判断当前无可用工作信道;蔟网络通讯工作时间完成后,蔟网络全部节点跳频到蔟网络通讯基础信 道,接收HN节点广播选择工作信道的结果;如果无可用信道,则簇网络节点判断当前不能进行簇内节点通讯工作, 退出簇内节点通讯工作状态;否则,全部簇网络节点跳频进入簇网络当前工 作信道,进入步骤D2;步骤D2,簇网络节点按照簇内节点通讯调度计划,分时依次占用簇网络 当前工作信道,解析在簇间交换节点通讯时段接收到的消息并按以下步骤执 行,期间簇网络内其他节点侦听工作信道,接收发送到自己的消息;簇节点检查是否接收新节点激活消息、或接收到上层应用配置网络调度 命令、或接收到相邻簇网络对交换节点间通讯调整命令及回复、或新节点回 应更新簇网络调度计划、或发现相邻簇网络连接交换节点丢失、或业务应用 数据汇聚结束请求;如果是,簇节点向簇头节点发送报告;进入步骤D3;步骤D3,簇节点检查是否有业务应用数据汇聚请求;如果有,簇节点根据业务应用数据汇聚要求,计算簇网络汇聚节点,并 向簇网络所有节点发布数据汇聚业务请求及指定的汇聚节点;簇网络其他节 点接收到此消息后,按照步骤D4执行业务应用数据汇聚传输; .否则,进入步骤D5;步骤D4,簇节点检查汇聚节点通讯带宽能否支持当前簇网络的业务应用 数据汇聚流量;如果不可以,簇节点向簇头节点请求调整簇网络通讯调度,保留簇网络 工作周期中现有簇间交换节点通讯调度不变,并将原有一次簇内节点通讯时 段的数据汇聚业务分散到原有连续两次簇内节点通讯时段中完成;簇节点等待簇头节点回应,如果簇头节点广播同意调整调度请求,簇节点按照调整后调度计划执行;否则簇网络继续执行应用数据汇聚业务,但保 持一定数据丢失率; 进入步骤D5;步骤D5,簇节点检查是否有业务应用数据传输要求; 如果有,簇节点根据业务数据发送的路由要求,计算数据传输的目标节 点;进入步骤D6;否则,进入步骤D7;步骤D6,簇节点计算与目标节点调度计划通讯时间内能否完成业务应用 数据传输任务;如果可行,则簇节点向目标节点发送数据;否则,需要传输的数据流量超过簇节点在簇内节点通讯时段内通讯带宽 要求,则发送节点搜索簇网络通讯工作信道,选择一个空闲信道作为此通讯 任务的工作信道;发送节点向目标节点通知选择的工作信道和通讯时间;指 定通讯时间达到时,双方节点跳频到此指定业务应用工作信道,执行应用数 据通讯任务;进入步骤D7;步骤D7,簇节点向簇头节点报告当前自身节点剩余能量值,供簇网络执行选择簇头节点参考;进入步骤E;所述的步骤E,包括以下步骤 , 步骤E1,蔟网络簇头节点在簇内节点通讯时段先侦听信道,并接收其他节点发送到自己的报告;到其他节点通讯完成后,簇头节点解析所接收到报告;进入步骤E2;步骤E2,簇网络簇头节点检查是否接收到上层应用配置网络调度命令; 如果有,簇头节点解析接收到的上层应用配置网络调度命令,根据命令 要求更新簇网络的工作周期,将簇网络工作时间周期倍增或倍减;同时簇头 节点命令簇网络其他交换节点将此上层应用配置网络调度命令传递到相邻簇 网络;进入步骤E3;否则,进入步骤E3;步骤E3,簇网络簇头节点检查是否收到相邻簇网络要求调整交换节点通 讯调度请求;如果没有,进入步骤E4;否则,簇头节点计算能否满足不影响簇网络簇间交换节点通讯时段内其 他交换节点通讯调度计划,在系统定义的簇间交换节点通讯时间窗口宽度内, 调整此交换节点通讯调度计划;如果可以,簇头节点根据以上计算结果,调整此节点在簇网络簇间交换 节点通讯时段的通讯调度;否则,簇头节点向相邻簇网络回复不能执行交换通讯调整要求;进入步骤E4;步骤E4,簇网络簇头节点检查是否收到发现相邻簇网络连接节点丢失报告.如果是,去除本簇网络对应交换节点在簇间交换节点通讯时段的通讯调度计划,进入步骤E5; 否则,进入步骤E5;步骤E5,蔟网络簇头节点统计在簇内节点通讯时段接收到簇内节点的报 告,检查是否缺少应有的簇节点报告;如果有,簇头节点判定此簇节点丟失;簇头节点在簇间交换节点通讯时 段、和簇内节点通讯时段内去除此簇节点的通讯调度计划,选择可以补充此 丢失节点在簇间交换节点通讯时段中通讯工作的备份节点,将其填补到簇间 交换节点通讯调度中;进入步骤E6;否则,进入步骤E6;步骤E6,簇网络簇头节点检查是否接收到数据汇聚业务要求调整簇网络 通讯调度消息;如果有,调整簇网络通讯调度,保留簇网络工作周期中现有簇间交换节 点通讯调度不变,并将原有一次簇内节点通讯时段的数据汇聚业务分散到原 有连续两次簇内节点通讯时段中完成;进入步骤E7;否则,进入步骤E7;步骤E7,蔟网络簇头节点检查是否接收到数据汇聚业务结束命令; 如杲有,簇头节点检查是否因为此数据汇聚业务调整过簇网络通讯调度 计划,如果是则恢复簇网络原有的通讯调度计划;进入步骤E8; 否则,进入步骤E8;步骤E8,嚴网络蔟头节点检查是否接收到有新节点回应的调整簇网络通 讯调度计划的消息;如果有,簇头节点根据以上步骤调整簇网络通讯调度计划的汇'总结果, 调整接收到新节点更新的簇网络通讯调度计划,并把此调度计划发送给新节 点;进入步骤E9;否则,进入步骤E9;步骤E9,蔟头节点检查是否接收到新节点激活的消息;如果是,簇头节点执行簇网络发现新节点激活消息处理步骤;进入步骤E10;否则,进入步骤E10;步骤EIO,簇头节点比较簇节点报告剩余能量值,选择能量最优节点作为 下一次工作周期的簇头节点,然后发布根据执行以上步骤更新的簇网络调度计划;簇网络其他节点接收并保存此新的簇网络通讯调度计划;簇网络从下 一个工作周期开始执行新调度计划。
全文摘要
本发明公开一种根据网络结构变化、业务应用数据传输需求变化、网络管理命令变化,能自适应调整网络节点通讯调度的无线传感器网络、建立方法和通讯方法。所述的无线传感器网络,是节点分簇管理的同构分组网络结构。在链路层将可直接通信的节点组成一个簇,建立簇网络连接的拓扑结构,其中网络节点的通讯调度分为簇内节点通讯调度和簇间节点通讯调度两部分。根据此网络结构设计,设置簇网络内节点循环执行簇网络工作周期。一个簇网络工作周期分为簇网络休眠时段、簇间交换节点通讯工作时段、和簇内部节点通讯工作时段。通过网络节点自适应调整各工作时段时间、和各工作时段中簇节点的通讯时间及通讯时间宽度,达到网络最优化性能。
文档编号H04L12/28GK101247342SQ20081006556
公开日2008年8月20日 申请日期2008年3月14日 优先权日2008年3月14日
发明者毛宏伟 申请人:毛宏伟
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1