• 正在加载中...
  • 定向扩散路由

    定向扩散(Directed Diffusion,DD)路由协议是一种基于查询的路由机制。汇聚(sink)节点通过兴趣消息(interest)发出查询任务,采用洪泛方式传播兴趣消息到整个区域的或部分区域内的所有传感器节点。兴趣消息用来表示查询的任务,表达网络用户对检测地区感兴趣的信息,例如检测区的温度、湿度和光照等环境信息。在兴趣消息传播的过程中,协议逐跳地在每个传感器节点上建立反向的从数据源到汇聚节点的数据传输梯度(gradient)。传感器节点将采集到的数据沿着梯度方向传送到汇聚节点。

    编辑摘要

    目录

    路由机制/定向扩散路由 编辑

    1 命名机制

    在定向扩散协议中,采用命名机制的方式来描述需要感知的任务。比如,一个车辆跟踪任务可以描述如下:

    类型=有轮机车 //检测机车位置

    间隔= 20ms // 每隔20ms发送一次事件

    持续时间= 10s //兴趣持续时间

    矩形坐标= [-100.100.200.400] //选定在此矩形区域内的节点

    显然,这样的任务描述方式通过一组属性值指定了一个兴趣,所以该任务描述就称之为“兴趣”。源节点收集到“兴趣”后,也用一组与之相匹配的属性值来命名它生成的数据。假设一个传感器网络支持一系列任务,在定向扩散协议中,首要任务是选择一个恰当的命名机制来描述这些任务。本文选择了一个简单的属性组命名机制来描述兴趣和数据。一般而言,每个属性都有相关的数值范围。例如,类型属性的数值范围就是一切可移动的物体,包括车辆,动物和人等。一个属性的数值可能是它的范围内的任何子集。本文中,兴趣中类型属性的数值就是有轮机车。

    2 兴趣的扩散

    用命名机制描述的任务就构成了一个兴趣,它首先由接收器(sink)产生,然后按照一定的数据率扩散到网络中的每个节点。扩散的数据率可以从描述兴趣的属性组推算,比如指定了一个兴趣的间隔为10ms,那么就可以推算出其数据率是每秒发送100 个任务。sink 节点记录任务发送时间,当发送时间超过兴趣属性设定的持续时间,sink节点就自动清除该任务。当兴趣从sink 节点开始扩散时,这个最初的兴趣可以被认为是“探索”,它试着确定是否有传感器节点可以检测到机车位置,一般指定一个较低数据率,假如本文指定数据率是每秒1个事件,则最初兴趣可被描述如下:

    类型=有轮机车 //检测机车位置

    间隔= 1s // 每隔1s发送一次事件

    持续时间= 10s //兴趣持续时间

    矩形坐标=[-100.100.200.400]

    选定在此矩形区域内的节点定向扩散中设定兴趣处于活动状态,可被sink节点更新。对于同一个兴趣,sink 节点只是简单地更新时间坐标,周期地重复发送此兴趣来进行更新。这样也可保证了兴趣在网络上的可靠传输。每个节点都有一个兴趣cache,cache 中的每项都对应着不同的兴趣。Cache中的每个兴趣Entry包含如下几个字段:时间字段指示最近收到匹配兴趣的时间信息,梯度字段指示相邻节点所需的数据率和数据发送方向,持续时间字段指示兴趣大致的生命周期。当一个节点接收到一个兴趣时,它首先在cache中检查是否存在相同的兴趣,如果没有相同的兴趣Entry存在,那就根据接收到的兴趣信息创建一个兴趣Entry,包含的信息有数据率和一个指向兴趣来源的梯度;如果该节点有相同的兴趣Entry存在,但是没有兴趣来源的梯度信息,节点会以指定的数据率增加一个梯度,并更新Entry的时间信息和持续字段;如果该节点都包含了兴趣Entry和梯度信息,那么只是简单进行时间信息和持续字段的更新。节点接收到一个兴趣之后,类似sink节点,再次把兴趣发送给与自己相邻的节点。

    3 梯度的建立

    网络中的节点从相邻节点接收到一个兴趣时,它无法判断此兴趣是否自己已经处理过的,或者是否和另一个方向的邻节点所发来的兴趣相同,因此,当兴趣在整个网络扩散的时候,梯度的建立情况如图2所示。相邻的两个节点彼此都建立了一个梯度。这样就导致了一个节点可能会收到多个同样的兴趣。但是,这样的梯度建立方法加快了失败路径的修复,有利经验路径的加强,从而不会产生持久的环路。在传感器网络中,梯度明确指定了数据率和发送数据的方向。定向扩散协议对于梯度的建立是灵活,在图1(c)中,使用了两个梯度来发送数据,而在图2中确使用了若干个梯度来发送数据。总之,定向扩散协议的任务是在传感器节点和sink节点之间建立梯度,以便可靠地传递数据。

    4 数据的传播

    兴趣指定的矩形区域内的某个传感器节点在接收到兴趣后,就开始采集数据信息,然后在cache中搜索相匹配的兴趣Entry。本文中,兴趣匹配指的是,传感器必须在兴趣所指定的范围内,并且传感器所检测目标的类型也是有轮机车。兴趣匹配之后,传感器节点在它所拥有的梯度信息中,计算出数据率的最大值,以这个速率把数据信息发送给相邻节点。本文,最初的数据率是每妙一个数据事件,直到采用了加强规则后才有所改变。传感器节点生成的数据信息如下:类型=有轮机车 //看到的机车型号实例=卡车 //该机车类型实例定位 = [125,220]//节点位置强度= 0.6 // 信号幅度测量置信度= 0.85 // 匹配确信度时间坐标= 01 :20 :40 //事件的产生时间节点从它的相邻节点接收到一个数据信息后,首先在cache中查找是否有相匹配的兴趣Entry,如果没有匹配的兴趣Entry,那么该数据信息就被丢掉,如果找到了匹配的兴趣Entry,就在数据cache中查找最近是否收到过相同的数据信息(防止形成环路),如果不存在相同的数据信息,就把该信息加入到cache中,否则就再次丢掉该数据信息。通过检查数据cache,节点还可以确定再次发送接收到的数据信息的数据率。 如果所有邻节点的梯度值大于刚接收到的数据信息的数据率,那么该节点仍以同样的数据率再次发送数据信息,如果有邻节点的梯度值小于此数据率,该节点就降低对此邻节点的发送速率。

    5 路径的建立和加强

    Sink节点最初以较低的速率在网络中扩散兴趣,称之为“探索”,同样的,源节点以较低速率建立起的梯度,也称为“探索”梯度。源节点采集到匹配的数据后,首先沿着“探索”梯度从多条路径发送给sink 节点。当sink 节点开始接收数据信息时,它只会加强其中一条路径,并从该路径取回自己所需要的数据,称该路径为数据梯度。⑴采用正加强建立路径。“探索”梯度建立完之后,sink节点以一个更小的时间间隔(更高的数据率)再次发送兴趣给任意邻节点。该邻节点收到兴趣后,发现自己已经接收过相同的兴趣,并且当前新数据率比以前的更高,通过查看兴趣cache,如果当前的新数据率还要比此时所拥有的“探索”梯度值大,那该邻节点以同样的方法继续加强它的邻节点,直到到达源节点。⑵失败路径的修复和重建。本文前面讨论的路径的正加强是由sink节点触发的,在定向扩散协议中,为了实现失败路径的修复和重建,规定已经加强过的路径中的节点可以触发,启动路径的加强。如图4所示,节点c能正常收到来自邻节点的事件,可是长时间没有收到来自数据源的事件,节点c就断定它和数据源之间的路径出现故障。节点c就主动触发一次路径正加强,重新建立它和数据源之间的路径。⑶采用负加强切断路径。采用正加强建立的路径会导致不只一条路径被加强了。sink已经加强了邻节点A的路径,可是由于又收到来自节点B的事件,对节点B的路径进行了错误加强,这时,从数据源到sink 节点就有两条路径被加强了,就会浪费能量。因此,在定向扩散协议中可以采取负加强规则来处理这种情况。经过短暂的运行时间,sink 节点发现节点B 的事件总是来得比节点A 的早,sink 节点就发送数据率较低的兴趣给节点A,让它降低和sink 节点之间的梯度值,而且,节点A还会把刚才收到的兴趣转发给所有给它发送过数据的邻节点,对与它相邻的节点进行负加强,直到到达源节点。

    性能评价/定向扩散路由 编辑

    Directed Diffusion 采用邻节点间通信的方式来避免维护全局拓扑,采用查询驱动数据传送模式和局部数据聚集而减少网络数据流,因此是一种高能源有效性的协议。它的缺点是,在需要连续数据传送的应用中(环境监测等)不能很好的应用;数据命名只能针对于特定的应用预先进行;初始查询的扩散开销大。

    添加视频 | 添加图册相关影像

    开放分类 我来补充

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块
    编辑摘要

    WIKI热度

    1. 编辑次数:6次 历史版本
    2. 参与编辑人数:5
    3. 最近更新时间:2019-07-25 09:43:31