CN103458021B - 一种事件驱动的随态自适应的传感器组织方法 - Google Patents

一种事件驱动的随态自适应的传感器组织方法 Download PDF

Info

Publication number
CN103458021B
CN103458021B CN201310384782.9A CN201310384782A CN103458021B CN 103458021 B CN103458021 B CN 103458021B CN 201310384782 A CN201310384782 A CN 201310384782A CN 103458021 B CN103458021 B CN 103458021B
Authority
CN
China
Prior art keywords
node
event
message
data
sensor
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.)
Active
Application number
CN201310384782.9A
Other languages
English (en)
Other versions
CN103458021A (zh
Inventor
郭晧明
丁治明
张天为
徐怀野
刘奎恩
许佳捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201310384782.9A priority Critical patent/CN103458021B/zh
Publication of CN103458021A publication Critical patent/CN103458021A/zh
Application granted granted Critical
Publication of CN103458021B publication Critical patent/CN103458021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种事件驱动的随态自适应的传感器组织方法。本方法为:1)建立一事件多模响应模型,将事件划分为多个级别;2)当一节点采集数据位于某级别事件对应的采样值区间时,构造一事件消息并将其广播到物联网中;3)其他节点接收到该事件消息后,判断本地是否已缓存在该事件消息;如果是,则忽略该消息,否则将其缓存在本地并确定自己的响应级别及上报频率,同时将本节点标识与地址添加到消息路径列表后继续广播;4)根据节点的级别构建层化多叉树结构,对该事件构建一完整链路;5)完整链路中的节点根据其响应级别对应的数据上报频率将该事件的数据向上一级节点发送,直到sink节点。本发明实现节点的多模响应和网络的快速组织。

Description

一种事件驱动的随态自适应的传感器组织方法
技术领域
本发明属于传感器网、物联网技术领域,涉及一种随态自适应的传感器网自组处理方法,尤其涉及一种事件驱动的随态自适应的传感器组织方法,在环境监测、消防、安全监控等领域有积极的应用价值。
背景技术
“感知世界”是当前物联网核心应用价值之一。结合海量先进传感器、新一代高速网络等手段,物联网在安全管理与应急处置方面发挥了越来越重要的作用。因此,如何在物联网背景下组织海量异构传感器实现有效的态势感知成为当前跨传感器与物联网研究领域的热点问题。“事件”是安全管理与应急处置工作的核心对象,由于物联网环境自身特点,事件呈现出高度的动态性、信息海量性、响应多模多态性与并发性。这一特点催生了物联网环境下随态自适应的传感器网智能组织与协同需求。
传感器组织与协同技术在当前物联网背景下的安全管理与应急处置工作发挥着越来越重要的作用。然而,物联网环境在硬件规模、控制机制与检测事件对象等方面与传统的传感器网络相比呈现出巨大的差异性。首先,物联网通过海量异构传感器的共同协作实现多样、并发事件的感知与监控。其次,在物联网环境下的事件感知活动中,事件通常具有更复杂的行为与表征。在多数情况下事件具有高度的空间位置变化性、表征时间动态性以及并发性。同时,在相对应的应急处置工作中,对事件检测活动中的虚假警识别、事件空间位置定位/跟踪、事态影响/扩散区域判别以及多事件耦合等方面对数据交换与融合提出更高要求。因此,与传统的传感器网络相比物联网下传感器网络呈现以下的新技术发展需求:
·在物联网环境下,传感器具有鲜明的异构性,不同类型的传感器自身硬件与控制机制的差异性导致控制网络整体在异构数据交换、非一致性时序统一组织、异粒度泛化融合等方面提出新的要求;
·在物联网环境下,数据具有高度的海量性,为满足安全管理与应急处置工作的及时性与针对性要求,数据处理活动需要紧紧围绕事件开展数据采集、汇聚、信息提取以及相关的分析。因此在网络组织的过程中,需要“以事件为中心”而非传统的“以数据为中心”实现控制网络中节点拓扑关系的确立,同时,确定节点与事件的多态关系,以此为基础实现“非均匀量化”的数据交换机制以保证网络整体Qos性能;
·在物联网环境下,事件具有高度的表征扩散非均匀性、时空动态性、多样性与并发性,因此,一方面需要控制网络节点间的拓扑关系能够快速适应这一非均匀扩展事件的时空动态变,随态实现节点的宏观归约组织与微观优化。同时,控制网络中的拓扑关系之间需要建立层叠关系,满足多样事件有效监控的同时,消除层叠关系引起的数据交换混乱;
·在物联网环境下,事件处置工作具有较高的多模智能化要求。在物联网环境下,相关系统围绕事件的等级开展处置工作。事件等级的不同触发的响应机制。同时,针对不同等级的事件,底层传感器触发约束、数据交换、汇聚、融合的模式也存在动态性。在工作开展过程中,需要根据事件等级以及周边环境等因素调整拓扑关系的组织;
物联网因其自身特点对传感器网络在网络组织等方面提出了较高的要求。然而,由于传统传感器网络研究中,以数据交换的能耗管理为基础,在链路层中实现拓扑关系的组织。针对物联网背景下新的发展需求存在以下不足:
·传统传感器网络中,网络以同构节点构成,数据采集、汇聚、融合与交换等活动中,各个节点具有相同的组织与控制机制,无法适应物联网环境下多元控制网络统一组织的要求;
·传统的传感器网络中,簇的形成依赖于传感器之间的网络跳转或空间位置关系,网络拓扑关系缺乏对事件的适应性与灵活性,簇与事件之间不能建立有效的映射关系,节点与事件之间的多态关系被忽略。拓扑关系一旦确定,参与节点形成单态网络,缺乏整体的QoS的有效支持。同时,簇自身不能根据事件的响应级别动态调整结构与规模;
·传统的传感器网络中,事件是孤立的,节点被认为与单一事件之间构成源—激励关系,在自组网边界确立过程中,通过简单的碰撞检测实现节点的“归一”处理。从分组拓扑的角度出发,控制网络整体形成扁平化的组织架构。在数据汇聚过程中,源—激励关系被简化为单调唯一的映射,这就导致传感器网络整体对多样、并发事件适应性较差;
·传统传感器网络中,事件被当做单一模式的对象,基于这一原则,节点根据阈值对比的归一处理实现节点过滤。参与数据交换的节点具有对等关系,网络整体在适应过程中具有一致性的趋向,不能针对事件变迁做局部优化;同时,也不能根据事件响应模式的不同自适应地调整优化约束条件,更无法满足大规模的设备协同。
在以数据位中心的环境中,从能量高效的角度出发,链路层中的拓扑关系是网络自组的基本研究对象。在拓扑关系内部的节点具同构、单态、均一的性质,网络结构以“扁平”模型为基础。而在以事件为中心的应用环境中。事件具有高并发、高动态以及多模响应的特点。节点根据其与事件的响应关系确定拓扑关系与数据交换的约束限制。同时,多事件导致网络中存在层叠的拓扑关系。这就导致传统的网络组织技术适应性较差的问题。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种事件驱动的随态自适应的传感器组织方法。本发明从逻辑链路的角度出发,在加权层化网络模型的基础上,对节点拓扑关系的建立、优化等问题提供解决方法,这一网络模型基本组织结构如图1所示:
本发明突破传统传感器网中以数据为中心的原则的组织与协同,结合物联网环境特点,以事件为中心,实现传感器网的对事件随态自适应的快速组织。通过这一技术满足物联网中安全管理与应急处置的基本需求。
本发明的技术方案为:
一种事件驱动的随态自适应的传感器组织方法,其步骤为:
1)建立一事件多模响应模型,该事件多模响应模型中将事件划分为多个级别,每一级别对应一采样取值区间和一数据上报频率;
2)物联网各传感器节点按照该事件多模响应模型进行数据采集,当一传感器节点采集数据位于某级别事件对应的采样值区间时,该传感器节点构造一事件消息并将其广播到物联网中;该传感器节点称为该事件的初始节点,其响应级别为该事件的级别;
3)物联网中其他传感器节点接收到该事件消息后,判断本地是否已缓存在该事件消息;如果是,则忽略该事件消息,否则将该事件消息缓存在本地并根据当前采集数据确定自己的响应级别及对应的数据上报频率,同时将本节点标识与地址添加到消息路径列表后将该消息继续广播到其他传感器节点;
4)物联网根据传感器节点的级别构建层化多叉树结构,同一级别的传感器节点位于同一层;同时对该事件构建一由初始节点至sink节点的完整链路;
5)完整链路中的传感器节点根据其响应级别对应的数据上报频率将该事件的数据向上一级传感器节点发送,直到sink节点。
进一步的,所述完整链路的建立方法为:层化多叉树结构中的下游节点根据与上游节点的欧拉距离,选择上一层传感器节点中与自己距离最小的传感器节点作为自己的上游节点建立连接关系,对该事件构建一由初始节点至sink节点、包括多个不同级别的传感器节点的完整链路。
进一步的,所述事件多模响应模型为Event;Event={ET,Tig,MsgSch,{Ri|i=1,2,......n}},其中:
ET表示事件的基本类型;
Tig为事件触发,定义当前传感器节点采样数据触发阈值,当采样数据超过阈值后,触发事件响应操作;
MsgSch为事件数据融合定义schema,schema由一个三元组构成:schema={dataType,dataName,dataTime};其中,dataType为采样数据的取值类型,dataName为采样数据的名称,dataTime为采样数据时间;
Ri为传感器节点响应级别对应的操作,根据不同的事件级定义传感器数据阈值区间;Ri={responseLevel,rangeMin,rangeMax,datafrequency},其中,responseLevel为当前响应级别;rangeMin为当前响应级别采样数据所对应的区间下限;rangeMax为当前响应级别采样数据所对应的区间上限;datafrequency为当前响应级别下,传感器节点的数据上报频率。
进一步的,每一所述传感器节点由一个九元组构成:sensorNode={ID,addr,MC,MF,EC,MB,MR,RC,DC};其中:
ID为当前传感器标识;
addr为传感器地址,包括传感器节点的网络地址和空间地址;
EC为传感器节点的事件捕捉器,根据Tig的事件触发定义,识别当前采集的数据,然后转换或识别为对应的事件;
MF为传感器节点消息过滤器,处理传感器节点广播的路由信息;
MC为消息缓存,用于缓存传感器节点之间交换的消息;
MB为消息广播器,将传感器节点识别确认的事件消息广播发送给其他传感器节点;
MR为消息接收器,用于侦听、接收其他传感器节点发送的事件消息,同时利用事件消息在不同的节点之间建立层化的链路关系;
RC为响应级别协调器,sink节点通过响应级别协调器,交换响应级别的Qos保障信息,协调不同级别的传感器节点数据交换的频率;
DC为传感器节点的数据缓存,用于缓存下游节点和本节点采集的数据。
进一步的,当传感器节点在采样过程中自身响应等级变化后,如果该传感器节点为非初始节点,则该传感器节点向所在完整链路的上游节点发送更新请求;上游节点收到该更新请求后在自己的子节点列表中删除该传感器节点位置;而后,该传感器节点向初始发送更新请求;初始节点根据该传感器节点的当前响应等级,确定该传感器节点所在层次后,从该层次的上一层次中提取欧拉距离最近的传感器节点作为其上游节点;然后该传感器节点向该上游节点发送链路路由请求信息,然后该传感器节点逐层通知自己的下游节点,使其根据自己的响应等级重新建立自身的链路关系。
进一步的,所述更新请求为routeRefeshMsg={ID,nodeID,evtID,newResponsLevel,oldResponsLevel,timestamp,sampleValue},其中:ID为当前消息标识;nodeID为当前节点标识;evtID为当前消息对应的事件标识;newResponsLevel为当前节点的需要更新响应等级;oldResponsLevel为当前节点的响应等级;Timestamp为请求时间戳;sampleValue为当前请求对应的采样取值。
进一步的,所述事件消息为msg={ID,LinkPathInfo,sponsorNode,createTime,evtValue};其中:ID为消息标识;LinkPathInfo为由层化多叉树构成的消息路由;sponsorNode为创建事件消息的初始节点信息;createTime为事件消息创建的时间;evtValue为事件消息创建时,传感器节点的采样取值。
进一步的,所述传感器节点对接收的事件消息进行消息碰撞检测,其方法为:计算当前事件消息发送节点与传感器节点所缓存全部消息链路路由树中的sink节点欧拉距离,如果欧拉距离之和大于设定阈值,则确定当前消息与缓存的消息存在碰撞关系,放弃该事件消息;否则将其作为一个新的事件消息放入缓存中。
进一步的,所述传感器节点根据接收的事件消息进行节点碰撞检测,其方法为:提取当前消息中的初始节点信息;计算传感器节点与初始节点的欧拉距离;然后判断该欧拉距离是否小于设定阈值,如果是,则缓存该事件消息并将其进一步广播,否则拒绝缓存该事件消息且停止继续广播。
进一步的,该事件的数据的数据格式为:dataMessage={ID,nodeID,evtID,responseLevel,frequency,value,timeStamp};其中:ID为当前数据交换消息标识;nodeID为当前交换节点标识;evtID为当前事件标识;responseLevel为当前节点事件响应等级;frequency为当前节点数据交换频率信息;value为采样值;timeStamp为当前采样值的时间。
与现有技术相比,本发明的积极效果为:
1.多元异构传感器网络是当前物联网应用于发展的基础;事件驱动的随态自适应传感器网自组是物联网相关应用系统的重要环节。通过这一环节,一方面能够充分发挥物联网“感知世界”的核心价值体现,促进信息技术对生产生活发挥更大的作用;另一方面,能够促进相关数据处理、智能处置等领域研究与应用工作的发展;
2.本发明提出一种随态自适应的传感器网络组织技术,这一技术利用事件模型实现传感器节点的多模响应,在这一基础上利用消息交换实现网络的快速组织。在这一过程中,首先利用电子信号扩散速度远远大于自然环境信号扩散的特点,利用广播手段实现事件覆盖地区相关节点的快速通知;同时,利用碰撞检测方法消除重复性的网络传播负载。在监控过程利用层化多叉链路路由树实现全局层化网络的统一组织与链路关系的维护。最后,通过Qos保证的方法实现数据质量分组,满足实时高精度观测的要求;
3.基于某厂矿一氧化碳浓度检测的实验表明,系统在传感器网络组织的过程中效率提高5.2%;数据交换量减少了22%;数据整体质量提高了30.5%。
附图说明
图1.加权层化网络结构示意图;
图2总体技术框架图示意图;
图3节点事件响应流程示意图;
图4层化链路路由树结构示意图;
图5碰撞检测示意图;
(a)事件碰撞检测示意图,(b)节点碰撞检测示意图;
图6事件接收与检测流程示意图;
图7路由构造与网络组织示意图;
图8网络自适应调整示意图。
具体实施方式
针对当前物联网环境下海量传感器有效组织的技术需求,本发明从逻辑链路层的角度出发,以加权层次网络模型构成“事件为中心”的传感器网络随态自适应组织与协同的基础。通过这一网络模型实现节点事件驱动的协同观测。在这一基础上。以事件多模响应模型构成事件驱动的传感器网随态自适应机制基础。通过事件多模响应模型,确定事件对自组激励行为,实现节点对事件激励的多模响应、碰撞检测、异构数据融合等。在这一模型的基础上,结合节点的空间位置关系自适应的实现网络快速自组。同时,根据图论有关方法实现网络的优化与节点加权。在利用自组网络实现数据交换与传输的过程中,根据加权控制节点数据交换Qos。同时,利用反馈神经网络(NN)识别事件时空变化,协调自组网的规模与范围。实现事件驱动的随态变迁。图2中展示了本发明的总体技术框架。
本发明的具体技术方案如下:
事件多模响应模型
事件多模响应模型是随态自适应网络组织的基础,利用事件模型实现网络整体响应行为的定义与刻画。与传统的传感器网络环境不同,物联网环境下的事件具有多态多模的特点。因此事件模型在事件识别/响应行为刻画、异构数据融合操作呈现出鲜明的高阶性、协同性、实时性、时序性等特点。针对这一特点,在本发明中定义首先对物联网环境下多态多模事件进行整体建模,利用这一模型实现事件驱动的异构传感器网络随态自组。事件模型定义如下:
Event={ET,Tig,MsgSch,{Ri|i=1,2,......n}},其中:
ET表示事件的基本类型;
Tig为事件触发定义,Tig中定义当前传感器节点采样数据触发阈值,当采样数据超过这一阈值后,触发后续的事件响应操作,完成事件的捕捉、识别与观测等操作;
MsgSch为事件数据融合schema定义,利用这一定义实现异构传感器数据的格式统一与融合;这一schema由一个三元组构成:schema={dataType,dataName,dataTime};其中:
dataType为采样数据的取值类型定义;
dataName为采样数据的名称;
dataTime为采样数据时间
Ri为节点响应级别对应的操作定义。在这一定义中根据不同的事件级定义传感器数据阈值区间。利用不同的阈值区间确定不同等级事件网络组织行为、节点加权与动态Qos保证。Ri={responseLevel,rangeMin,rangeMax,datafrequency},其中:
responseLevel为当前响应级别的定义;
rangeMin为当前响应级别采样数据所对应的区间下限;
rangeMax为当前响应级别采样数据所对应的区间上限;
datafrequency为当前响应级别下,本传感器节点数据上报的频率定义;
在传感器捕捉到事件后,根据当前采样数据的取值与响应级别的区间定义对比,确定本节点对事件的响应级别;根据这一响应级别,本节点根据指定的数据上报频率上报采集的数据;
这一事件多模响应模型中,定义了事件捕捉的阈值信息,根据这一阈值信息,传感器节点实现事件的捕捉与识别。在完成事件识别后,传感器根据响应级别定义确定当前节点的响应级别并实现后续的数据采集、交换等操作;
事件驱动的自激励传感器节点
传感器节点由一个九元组构成:
sensorNode={ID,addr,MC,MF,EC,MB,MR,RC,DC},其中:
ID为当前传感器标识,这一标识在全局是唯一的,通过这一标识识别传感器身份;
addr为传感器地址,通过这一地址实现传感器的寻址、访问与操作;其定义为:addr={IP,location};其中:
IP为传感器节点的网络地址;
Location为传感器的空间地址;
EC为传感器节点的事件捕捉器。这一捕捉器根据多模响应模型中的Tig的触发定义,识别当前采集的数据,然后转换或识别为对应的事件;
MF为传感器节点消息过滤器,通过这一过滤器处理传感器广播的路由信息;
MC为消息缓存,传感器之间交换的消息被缓存在这一消息缓存中,通过消息缓存中的消息,实现传感器之间的事件碰撞检测;
MB为消息广播器,传感器在捕捉到事件后,经过识别确认,将这一消息通过消息广播器发送给网络中的其他节点;
MR为消息接收器,在网络中传感器侦听、接收其他节点发送的事件消息,这一经过与消息缓存MC中的消息进行对比后,进行转发或者拦截;同时,利用这一消息在不同的节点之间建立层化的链路关系;
RC为响应级别协调器,在系统中sink节点会通过响应级别协调器,交换响应级别的Qos保障信息,通过这一信息协调不同级别的传感器节点数据交换的频率;
DC为传感器节点的数据缓存,在层化网络中,多个传感器节点根据响应级别构成一个链路,根据响应等级,响应级别较低的节点会将数据发送给响应级别较高的节点。
事件的发现与事件信息的创建
在整个网络中,传感器节点采集所辖范围内对象指标的数据。根据发现事件的先后顺序,第一个发现事件的节点称为初始节点(sponsorNode);在采集过程中会将采样数据与本地EC中事件模型的响应触发设置取值进行对比。一旦当前采样取值超过阈值设置满足触发条件后,节点为当前事件构造事件消息,并通过消息广播器MB通过广播的形式发送给网络中的其他节点;
当传感器节点接收到这一事件消息后,将其与本地缓存MC中的事件队列进行对比,如果当前事件消息已经被缓存在本地消息缓存MC中,则忽略当前事件消息;如果当前事件消息未被缓存在本地消息缓存中,则将这一消息缓存在本地消息缓存MC中,同时,将本节点标识与地址添加到消息路径列表中后将这一消息通过消息广播器MB继续广播到其他节点中;
在对事件的持续观测过程中,节点通常根据所处空间位置与事件的关系陆续采集到事件的信号。这时,节点会首先将这一信号与本地消息缓存中的事件消息进行对比,而后根据事件响应级别确定当前网络中,本节点的层次;根据当前消息中的路径信息将本地采集数据发送给处于路径上一级别对应的节点;多个不同级别的节点之间构成一个完整链路;
在事件的发展过程中,事件的空间位置会发生改变。节点的响应级别会因为采样数值的波动而变化,当一个节点的响应级别发生变化时,其会首先通知自己所在链路的上下游节点,同时,根据自己的响应级别在当前链路中重新接入到合理的位置;这一基本过程如图3所示:
在这一过程中,事件消息是传感器节点之间信息交换、事件碰撞检测、链路组织的依据。这一消息由一个八元组构成:
msg={ID,LinkPathInfo,sponsorNode,createTime,evtValue}
ID为消息标识,这一标识在全局范围内是唯一的,由最先捕捉发现事件的节点创建。在传感器节点中通过这一标识,在本地消息缓存中缓存消息对象;
LinkPathInfo为消息路由。这一消息路由由一个层化多叉树构成:LinkInfoPath={linkNode}
linkNode={sensorNode,responseLevel,evetCatchVal,childNodes};其中:
sensorNode:为当前层化链路路由树对应的传感器节点信息,
sensorNode={ID,addr};
ID为当前传感器节点标识;
addr为当前传感器节点的地址信息;这一定义与前述传感器节点定义一致,这里不再赘述;
responseLevel:为当前传感器节点的响应级别信息,这一响应级别根据当前传感器节点采样取值与区间对比获得;
eventCatchVal:为当前传感器节点识别事件时的采样取值;
childNodes:为当前节点的子节点集合:
childeNodes={linkNodei|i=1,2,.....n}
sponsorNode:为创建本事件信息的初始节点信息;
createTime:为事件信息创建的时间;
evtValue:为本事件信息创建时,节点采样取值;
当一个传感器节点首先发现一个事件后,其会构造事件消息,并将这一消息广播到传感器网络中。这一消息中通过linkPathInfo来记录消息传播的路径。在对事件的观测过程中,这一消息路由被用来当作链路路由,消息路由由一个层次化的多叉树构成,这一多叉树的每一个层次对应一个响应级别。当前响应级别的节点路由信息被放置在对应的同一个层次中。不同层次间的节点之间构成链路的上下游关系。下游节点根据与上游节点的欧拉距离,选择距离最小的节点作为自己的上游节点建立连接关系。这一层化链路路由树如图4所示
事件的发现与消息构造、广播过程如下所示:
事件消息的接收与检测
在对事件的观测过程中,通常节点根据所处空间位置陆续发现事件的信息。因此,在初始节点(sponsorNode)发现事件、构造消息并广播后,其他节点(fellowNode)会首先接收到这一消息,并将这一消息缓存在本地。在这一过程中,为消除消息在整个网络中“洪泛”现象,并保证消息的合理覆盖,会开展两个方面的碰撞检测:消息碰撞与节点碰撞:
消息碰撞:用来检测接收到的事件消息是否已经被缓存在本地,本节点是否已经参加到当前消息对应的事件数据交换链路中。这一碰撞检测计算当前事件消息发送节点与本地MC中全部消息链路路由树中的sink节点欧拉距离,确定当前消息是否与缓存的消息存在碰撞关系;通过消息碰撞检测,消除消息广播中事件重复的问题;其过程如下:
(i)假定本地MC缓存中包含有消息集合Msg={msg1,msg2,....,msgn},每一个消息msgi中链路路由节点集合为:msgNodesi={msgNodei0,msgNodei1,msgNodei2,....,msgNodeim};msgNodei0=sponsorNode;msgNodeim为第i个消息事件的路由的第m层中的传感器节点;n为该传感器节点的子节点总数。
(ii)计算当前节点与msgNodeij的欧拉距离distij
(iii)当前消息msgi所对应的全部链路路由节点
matchMsgNode ( msg ij ) = 1 , dist ij - dis tan ceThreshhold ≤ 0 0 , dist ij - dis tan ceThreshhold > 0 ,
matchMsg ( msg i ) = Σ j = 0 m matchMsgNode ( msg ij )
(iv)matchMsg(msgi)>0,则说明当前消息与本地MC中的第i个消息是存在碰撞关系的;如果matchMsg(msgi)≤0则说明当前消息与本地MC中的第i个消息是不存在碰撞关系的;
(v)如果当前节点MC中全部消息都未与当前事件消息存在碰撞关系,则说明当前消息是新的事件消息,为当前节点进行后续操作;否则说明当前事件消息已经被本节点处理,放弃后续操作;
节点碰撞:节点碰撞的目的是检查当前事件是否会在空间覆盖本节点所处的位置,根据这一检查结果判断是否本节点是否会参与当前事件观测数据交换活动的组织,是否对当前消息进一步广播。通过节点碰撞控制消息广播的范围,减少不必要的网络广播负载;其过程如下:
(i)提取当前消息msg中的初始节点sponsorNode信息;
(ii)计算当前节点与sponsorNode的欧拉距离:
dist=getDistance(msg.sponsorNode.location-sensorNode.location);
(iii)判断当前欧拉距离dist-distanceThreshhold;
·如果dist-distanceThreshhold<0则说明当前节点所处空间会为事件所覆盖,当前节点需要缓存事件消息,并将这一消息进一步广播;
·如果dist-distanceThreshhold≥0则说明当前节点所处空间不会为事件所覆盖,当前节点不需要缓存事件消息,也不需要将这一消息继续广播;
图5中展示了两种碰撞检测的基本组织。
下面展示的节点消息侦听、接收活动的基本算法:
图6中展示了整个流程。
链路构造与网络组织
初始节点(sponsorNode)发现事件后构造消息并广播,fellowNode收到这一消息后,经过消息碰撞与节点碰撞将这一消息缓存在本地。在随后的进程中,这些fellowNode会陆续采集到事件的异常数据。这些fellowNode会根据响应级别定义确定自身在链路中的层次与上下游关系,通过链路路由请求消息交换实现数据交换链路的构造;
链路路由请求信息由一个多元组构成:
routeReqMsg={ID,evtID,sensorNode,responsLevel,timestamp,sampleValue,upperNode},其中:
ID:为当前消息标识;
evtID:为当前事件标识;
sensorNode为当前链路路由请求发起节点信息;
responseLevel为当前链路请求发起节点响应级别;
Timestamp:为当前链路请求发起节点时间戳;
sampleValue:为当前链路请求发起节点采样取值;
upperNode:为当前链路请求上游节点;
fellowNode采集到超过阈值设置的数值后,会根据自身事件模型的响应级别定义确定当前节点的响应等级。根据这一响应等级确定自身在层化链路路由树中的层次关系;明确自身层次关系后,会从上一个层次中提取欧拉距离最近的节点作为自身的上游节点;明确上游节点后,当前节点构造链路路由请求消息并定向发送给上游节点,上游节点根据这一链路路由请求重构自身链路路由消息,并将这一消息逐级更新给链路中的下级节点;其过程如下:
(i)当前fellowNode采集数值超过阈值设置sampleVal>Event.Tig;
(ii)获取当前节点响应等级respLevel;
iff(rangeMin,rangeMax)i∈Ri∧sampleVal∈(rangeMin,rangeMax)i
(respLevel=responseLeveli,responseleveli∈Ri)
(iii)获取消息集合Msg={msg1,msg2,....,msgn}中消息msgi中链路路由层次节点集合为:
levelNodesi={levelNodesi0,levelNodesi1,levelNodesi2,....,levelNodesim};
levelNodesi0={sponsorNode};
levelNodesij={sensorNodek|k=1,2,...m}j>0;
获取当前节点响应等级对应的上游层次routeUpper;
iff(respLevel=i)→(routeUpper=i-1,i>1)
iff(respLevel=1)→routeUpper=0
(iv)在选择的上游层次routeUpper中根据欧拉距离选择一个距离最近的节点作为上游节点upperNode:
u=routeUpper
&ForAll; dis t uj = d ( localNode . location , sensorNod e uj . location )
iff(distuk≤distuj)→upperNode=sensorNodeuk,(j=1,2,.......m)
如果当前节点的上游层次中未发现upperNode,则将链路路由更新请求直接发送给sponsorNode节点;
(v)向当前上游节点upperNode发送链路路由请求信息,上游节点接收这一信息,将这一请求的节点放置在本地链路路由下层节点中。完成链路节点的添加;并将这一信息交换给当前节点;
(vi)上游节点将以本节点构造链路路由子树,并将这一信息发送给sponsorNode节点;
(vii)sponsorNode节点接收路由更新信息,同时,查看当前节点下层中是否有没有建立上游链接的节点对象,如果有则进行局部链路优化,完成局部更新本地路由链路后将路由信息发送给其下游节点更新;
图7中展示了这一链路请求的添加情况
下面展示了链路构造与网络组织的基本算法:
算法addNode
上游节点路由节点添加请求响应操作算法:
算法addChildNode
整体网络路由更新算法
算法addFellowNode
网络自适应调整
在事件的监控过程中,事件在空间与表征上会发生变化。参与监测的传感器需要根据自身对事件采样值变化引起的响应等级变化调整自身在网络中的位置。在这一发展过程中,网络中的节点不断调整,从而达到整体自适应的目的。
网络中的节点在自身调整时需要与链路中的上下游节点以及sponsorNode进行消息交换。这一交换消息如下定义;
链路路由更新请求信息由一个多元组构成:
routeRefeshMsg={ID,nodeID,evtID,newResponsLevel,oldResponsLevel,timestamp,sampleValue},其中:
ID:为当前消息标识;
nodeID为当前节点标识;
evtID为当前消息对应的事件标识;
newResponsLevel为当前节点的需要更新响应等级;
oldResponsLevel为当前节点的响应等级;
Timestamp为请求时间戳;
sampleValue为当前请求对应的采样取值;
当节点在采样过程中发现响应等级变更后,如果当前节点为非sponsorNode节点,其会向所在链路的上游节点发送更新请求;上游节点收到这一请求后会在自己的子节点列表中删除该节点位置;而后,该节点向sponsorNode发送更新请求。根据该节点的newResponsLevel信息,sponsorNode节点确定当前节点在网络中的层次关系后,会从其层次关系的上一个层次中提取欧拉距离最近的节点作为其的上游节点;根据这一信息,当前节点向上游节点发送链路路由请求信息:而后,当前节点逐层通知自己的下游节点,使其根据自己的响应等级重新建立自身的链路关系;这一过程如下:
(i)当前fellowNode采集的数值对应新的响应等级:
iff(rangeMin,rangeMax)i∈Ri∧sampleVal∈(rangeMin,rangeMax)i
(newresponseLevel=responseLeveli,responseleveli∈Ri)
(ii)根据newresponseLevel构造路由更新请求:routeRefeshMsg;
(iii)向自身的upperNode发送路由更新请求routeRefeshMsg;upperNode接受这一请求,从当前子队列中删除本节点:在这一过程中upperNode首先根据消息集合提取与routeRefeshMsg.evtID对应的消息:
&ForAll; routeRefeshMsg . evtID = msg i . ID &RightArrow; LinkPathInfo = msgi . LinkPathInfo ,
msgi∈upperNode.MC.Msg
routeRefeshMsg.oldResponseLevel=LinkPathInfo.linkNodei.responseLevel→linkNode=linkNodei
deleteNode(linkNode.childNodes,routeRefeshMsg.nodeID)
(iv)当前节点向sponsorNode发送routeRefeshMsg,请求更新链路关系。
sponsorNode节点首先从当前链路路由树中查找与routeRefeshMsg.newResponseLevel对应的层次newLevel:
msgi∈sponsorNode.MC.Msg,msgi.ID=routeRefeshMsg.evtID,
linkNodei∈msgi.linkPathInfo
获取当前节点响应等级对应的上游层次routeUpper;
iff(newLevel=i)→(routeUpper=i-1,i>1)
iff(newLevel≤1)→routeUpper=0
在选择的上游层次routeUpper中根据欧拉距离选择一个距离最近的节点作为上游节点upperNode:
从当前msgi中提取节点信息集合:
levelNodesi={levelNodesi0,levelNodesi1,levelNodesi2,....,levelNodesim};
levelNodesi0={sponsorNode};
levelNodesij={sensorNodek|k=1,2,...m}j>0;
i表示第i个消息,j表示第j层,k表示当前层中第k个对象
u=routeUpper
&ForAll; dist uj = d ( localNode . location , sensorNod e uj . location )
iff(distuk≤distuj)→upperNode=sensorNodeuk,(j=1,2,.......m)
(v)向当前上游节点upperNode发送链路路由请求信息,上游节点接收这一信息,将这一请求的节点放置在本地链路路由下层节点中。完成链路节点的添加;并将这一信息交换给当前节点;
(vi)当前节点通知自己原来连接的下游节点。这些下游节点,同样执行链路更新操作。根据自己的响应等级重新选择链路路由树中的上游节点
下面展示了自适应的基本算法:
算法refreshRoute
sponsorNode节点网络更新算法
这一变化过程如图8所示:
node22节点的响应等级从II级变化为I级;在自适应调整过程中,首先其上游节点node11将本地的链路路由信息的子节点队列中将当前节点信息删除;而后node22构造更新请求并发送给sponsorNode节点。SponsorNode节点为该节点选择上游节点后,node22根据这一信息重新请求链路构造,变更为node13节点。同时,通知其下的子节点node31与node32这两个子节点分别重新选择上游节点,重构链路关系。最终网络调整为右图所示。
响应等级与采样数据Qos保证
节点响应事件后,根据自身的响应等级以对应的频率向上游节点发送采样信息。上游节点接受下级节点发送的数据后,经过汇总继续向上游发送,同时根据自身的响应等级以对应的频率向上游发送自己的采集数据。全部数据在soponsorNode节点汇总,形成全局数据视图,向应用提供数据服务。通过这一方式,节点根据自身与事件的关系确定响应等级。根据与响应等级对应的频率上报数据,形成等级高的数据(即“质量好”的数据)采用较高频率上报,“质量差”的数据采用较低频率上报。应用系统根据质量好的数据对事件性质进行精确分析;根据质量差的数据明确当前事件影响范围的目的。
数据交换消息定义如下:
dataMessage={ID,nodeID,evtID,responseLevel,frequency,value,timeStamp};
其中:ID为当前数据交换消息标识;
nodeID为当前交换节点标识;
evtID为当前事件标识;
responseLevel为当前节点事件响应等级;
frequency:为当前节点数据交换频率信息,这一信息与事件模型中的响应等级是对应的;
value:为采样值;
timeStamp:为当前采样值的时间;
这一过程如下:
(i)节点在完成自身链路组织后,根据自己的响应等级responseLevel提取对应的采样数据交换频率:freq
responseLevel=Event.Ri.responseLevel→freq=Event.Ri.datafrequency
(ii)根据这一频率向上游节点upperNode发送采样数据
childNodesi=localNode→upperNode=linkNode.sensorNode,
linkNode∈linkPathInfo,linkPathInfo∈EventMessage,
EventMessage.ID=Event.ID
&Sigma; i = 0 getResponselevel ( t i ) = getResponselevel ( t i - 1 ) sendData ( upperNode , dataMesg ) i sleep ( freq )
(iii)当前节点响应等级改变后,终止当前数据发送活动,根据响应等级重新构造链路路由关系后再执行上述动作。
这一过程算法如下:

Claims (9)

1.一种事件驱动的随态自适应的传感器组织方法,其步骤为:
1)建立一事件多模响应模型,该事件多模响应模型中将事件划分为多个级别,每一级别对应一采样取值区间和一数据上报频率;
2)物联网各传感器节点按照该事件多模响应模型进行数据采集,当一传感器节点采集数据位于某级别事件对应的采样值区间时,该传感器节点构造一事件消息并将其广播到物联网中;该传感器节点称为该事件的初始节点,其响应级别为该事件的级别;
3)物联网中其他传感器节点接收到该事件消息后,首先对接收的事件消息进行消息碰撞检测,其方法为:计算当前事件消息发送节点与传感器节点所缓存全部消息链路路由树中的sink节点欧拉距离,如果欧拉距离之和大于设定阈值,则确定当前消息与缓存的消息存在碰撞关系,放弃该事件消息;否则将其作为一个新的事件消息放入缓存中;然后判断本地是否已缓存该事件消息;如果是,则忽略该事件消息,否则将该事件消息缓存在本地并根据当前采集数据确定自己的响应级别及对应的数据上报频率,同时将本节点标识与地址添加到消息路径列表后将该消息继续广播到其他传感器节点;
4)物联网根据传感器节点的级别构建层化多叉树结构,同一级别的传感器节点位于同一层;同时对该事件构建一由初始节点至sink节点的完整链路;
5)完整链路中的传感器节点根据其响应级别对应的数据上报频率将该事件的数据向上一级传感器节点发送,直到sink节点。
2.如权利要求1所述的方法,其特征在于所述完整链路的建立方法为:层化多叉树结构中的下游节点根据与上游节点的欧拉距离,选择上一层传感器节点中与自己距离最小的传感器节点作为自己的上游节点建立连接关系,对该事件构建一由初始节点至sink节点、包括多个不同级别的传感器节点的完整链路。
3.如权利要求1或2所述的方法,其特征在于所述事件多模响应模型为Event;Event={ET,Tig,MsgSch,{Ri|i=1,2,......n}},其中:
ET表示事件的基本类型;
Tig为事件触发,定义当前传感器节点采样数据触发阈值,当采样数据超过阈值后,触发事件响应操作;
MsgSch为事件数据融合定义schema,schema由一个三元组构成:schema={dataType,dataName,dataTime};其中,dataType为采样数据的取值类型,dataName为采样数据的名称,dataTime为采样数据时间;
Ri为传感器节点响应级别对应的操作,根据不同的事件级定义传感器数据阈值区间;Ri={responseLevel,rangeMin,rangeMax,datafrequency},其中,responseLevel为当前响应级别;rangeMin为当前响应级别采样数据所对应的区间下限;rangeMax为当前响应级别采样数据所对应的区间上限;datafrequency为当前响应级别下,传感器节点的数据上报频率。
4.如权利要求3所述的方法,其特征在于每一所述传感器节点由一个九元组构成:sensorNode={ID,addr,MC,MF,EC,MB,MR,RC,DC};其中:
ID为当前传感器标识;
addr为传感器地址,包括传感器节点的网络地址和空间地址;
EC为传感器节点的事件捕捉器,根据Tig的事件触发定义,识别当前采集的数据,然后转换或识别为对应的事件;
MF为传感器节点消息过滤器,处理传感器节点广播的路由信息;
MC为消息缓存,用于缓存传感器节点之间交换的消息;
MB为消息广播器,将传感器节点识别确认的事件消息广播发送给其他传感器节点;
MR为消息接收器,用于侦听、接收其他传感器节点发送的事件消息,同时利用事件消息在不同的节点之间建立层化的链路关系;
RC为响应级别协调器,sink节点通过响应级别协调器,交换响应级别的Qos保障信息,协调不同级别的传感器节点数据交换的频率;
DC为传感器节点的数据缓存,用于缓存下游节点和本节点采集的数据。
5.如权利要求1或2所述的方法,其特征在于当传感器节点在采样过程中自身响应等级变化后,如果该传感器节点为非初始节点,则该传感器节点向所在完整链路的上游节点发送更新请求;上游节点收到该更新请求后在自己的子节点列表中删除该传感器节点位置;而后,该传感器节点向初始节点发送更新请求;初始节点根据该传感器节点的当前响应等级,确定该传感器节点所在层次后,从该层次的上一层次中提取欧拉距离最近的传感器节点作为其上游节点;然后该传感器节点向该上游节点发送链路路由请求信息,然后该传感器节点逐层通知自己的下游节点,使其根据自己的响应等级重新建立自身的链路关系。
6.如权利要求5所述的方法,其特征在于所述更新请求为routeRefeshMsg={ID,nodeID,evtID,newResponsLevel,oldResponsLevel,timestamp,sampleValue},其中:ID为当前消息标识;nodeID为当前节点标识;evtID为当前消息对应的事件标识;newResponsLevel为当前节点的需要更新响应等级;oldResponsLevel为当前节点的响应等级;Timestamp为请求时间戳;sampleValue为当前请求对应的采样取值。
7.如权利要求1所述的方法,其特征在于所述事件消息为msg={ID,LinkPathInfo,sponsorNode,createTime,evtValue};其中:ID为消息标识;LinkPathInfo为由层化多叉树构成的消息路由;sponsorNode为创建事件消息的初始节点信息;createTime为事件消息创建的时间;evtValue为事件消息创建时,传感器节点的采样取值。
8.如权利要求7所述的方法,其特征在于所述传感器节点根据接收的事件消息进行节点碰撞检测,其方法为:提取当前消息中的初始节点信息;计算传感器节点与初始节点的欧拉距离;然后判断该欧拉距离是否小于设定阈值,如果是,则缓存该事件消息并将其进一步广播,否则拒绝缓存该事件消息且停止继续广播。
9.如权利要求1所述的方法,其特征在于该事件的数据的数据格式为:dataMessage={ID,nodeID,evtID,responseLevel,frequency,value,timeStamp};其中:ID为当前数据交换消息标识;nodeID为当前交换节点标识;evtID为当前事件标识;responseLevel为当前节点事件响应等级;frequency为当前节点数据交换频率信息;value为采样值;timeStamp为当前采样值的时间。
CN201310384782.9A 2013-08-29 2013-08-29 一种事件驱动的随态自适应的传感器组织方法 Active CN103458021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310384782.9A CN103458021B (zh) 2013-08-29 2013-08-29 一种事件驱动的随态自适应的传感器组织方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310384782.9A CN103458021B (zh) 2013-08-29 2013-08-29 一种事件驱动的随态自适应的传感器组织方法

Publications (2)

Publication Number Publication Date
CN103458021A CN103458021A (zh) 2013-12-18
CN103458021B true CN103458021B (zh) 2016-07-06

Family

ID=49739963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310384782.9A Active CN103458021B (zh) 2013-08-29 2013-08-29 一种事件驱动的随态自适应的传感器组织方法

Country Status (1)

Country Link
CN (1) CN103458021B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375418B (zh) * 2014-11-11 2017-09-29 奔马物联科技(横琴)有限公司 一种基于物联网的自动控制方法
CN110069596A (zh) * 2019-04-28 2019-07-30 中国疾病预防控制中心 一种应急作业数据处理方法
CN110888941B (zh) * 2019-10-23 2023-08-11 贝壳技术有限公司 用于业务场景内的连带关系事件的处理方法及处理系统
CN111027808B (zh) * 2019-11-12 2021-03-19 重庆特斯联智慧科技股份有限公司 一种边缘化分析与自组织的建筑消防应急方法及微系统
CN111860432B (zh) * 2020-07-30 2023-11-24 中国海洋大学 用于视频时空表征学习的三元关系协作模块及建模方法
CN113747473A (zh) * 2021-09-01 2021-12-03 苏州佩林软件技术有限公司 一种自组网的方法和自组网系统
CN113691638B (zh) * 2021-10-26 2022-01-07 湖南前行科创有限公司 物联网终端数据管控方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447897A (zh) * 2007-11-27 2009-06-03 中国科学院计算技术研究所 一种无线传感器网络模拟器及其建立方法
CN102821398A (zh) * 2011-06-09 2012-12-12 中国科学院声学研究所 一种面向用户多需求的传感器网络数据存取方法及系统
CN103260265A (zh) * 2013-05-16 2013-08-21 北京交通大学 一种事件触发型无线传感器网络的组网方法和运行机制

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110071971A1 (en) * 2009-09-22 2011-03-24 Microsoft Corporation Multi-level event computing model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447897A (zh) * 2007-11-27 2009-06-03 中国科学院计算技术研究所 一种无线传感器网络模拟器及其建立方法
CN102821398A (zh) * 2011-06-09 2012-12-12 中国科学院声学研究所 一种面向用户多需求的传感器网络数据存取方法及系统
CN103260265A (zh) * 2013-05-16 2013-08-21 北京交通大学 一种事件触发型无线传感器网络的组网方法和运行机制

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无线传感器网络基于事件驱动的数据融合的研究;刘国彬;《中国优秀硕士学位论文全文库信息科技辑》;20070615;正文第1-71页,图3-7、3-8 *

Also Published As

Publication number Publication date
CN103458021A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
CN103458021B (zh) 一种事件驱动的随态自适应的传感器组织方法
Sasirekha et al. Cluster-chain mobile agent routing algorithm for efficient data aggregation in wireless sensor network
Khedo et al. A wireless sensor network air pollution monitoring system
CN101567814B (zh) 基于SNMP和随机Petri网的自动化网络管理方法
CN100493088C (zh) 一种应用于ad hoc网络的合作增强机制的方法
CN109617947A (zh) 依管理类别设置的城市异源物联网边缘计算系统及方法
CN110996259B (zh) 一种基于边缘计算的智慧垃圾监控清运方法及装置
CN106373356A (zh) 一种基于大数据技术的污水管网监测系统
CN103019172A (zh) 自组织无线电监测系统及方法
CN103228066A (zh) 基于无线传感网络的智能安防系统
CN104202175A (zh) 一种智能协作式配置方法和设备
Karaca et al. Application oriented multi criteria optimization in WSNs using on AHP
Dinc et al. Smart home security with the use of wsns on future intelligent cities
CN114638047A (zh) 一种智慧农业设施布局方法、系统及介质
CN110430261A (zh) 探测设备故障处理方法及装置
CN109218138A (zh) 网络节点监测方法及系统
CN105338661A (zh) 以云端运算为架构使用数据融合演算设计的环境监控方法及装置
CN103763741A (zh) 一种智能停车场无线通信方法及系统
CN111711681B (zh) 一种面向智慧实体的边缘处理方法
CN107450343A (zh) 一种智能家居无线控制系统
CN107623615A (zh) 一种基于微信平台的智能家居设备控制系统
CN107659474B (zh) 一种智能家居控制系统
Ye et al. A security architecture based on immune agents for MANET
CN108093497A (zh) 基于无线传感器网络的茶园气候监控方法及系统
Siyi et al. Quality of service assessment routing protocols for performance in a smart building: A case study

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