一种基于生命期最优DAG的节能调度方法与流程

文档序号:14737531发布日期:2018-06-19 20:49阅读:227来源:国知局
一种基于生命期最优DAG的节能调度方法与流程

本发明属于无线传感器网络技术领域,尤其涉及一种基于生命期最优有向 非循环图DAG(Directed Acyclic Graph)的节能的调度方法。



背景技术:

无线传感器网络由密集部署的无线传感器节点构成,无线传感器网络通常 被安置在自然区域中,通过节点之间的互相协作,对目标环境中物理量的变化 进行监测。无线传感器网络通常由一个基站和众多的传感器节点构成。传感器 节点由电池供电,节点间通过无线通信的方式,自组织为一个网络。在每个采 样周期,传感器节点将采集到的数据需要发送到中心节点,方便用户对数据进 行进一步的处理。在网络运行的过程中,一旦网络中某个节点消耗掉所有的电 能,整个网络将不再连通。在连续数据收集中延长网络的生命期非常重要。

由于无线通信的特点,网络中同时进行的传输很可能会进行碰撞,通过载波 侦听的方法无法解决隐藏终端带来的碰撞,也无法避免暴露终端所带来的不必 要的时延。如图2(a)展示了无线网络中隐藏终端所带来的碰撞问题。节点A希 望传送数据给节点B。A首先载波侦听,由于信号传播的距离有限,在A处无 法获知节点C的传输,A无法知道此时节点C的信号已经覆盖到节点B。载波 侦听的结果是A发现信道空闲,于是A发送数据包给B。而B节点接收到的信 号来自A和C信号的混叠,B无法正确的解析出来自A的消息。图2(b)中, 节点B正在传送数据给节点A。于此同时,节点C希望传送数据给节点D。C首 先侦听信道,由于B,C距离较近,节点C接收到了来自B的信号,C认为信道 忙,于是延迟了自己对D的数据传输。实际上这样做是完全不必要的。因为同 时存在的B节点的发送信号,到达不了接收端D,或者说到达D处时已经衰减 到非常微弱,无法干扰D的传输。

时分多址技术是能量高效的调度方法,它将时间分割成一个个小的时间片, 在每个时间片中只进行哪些彼此没有冲突的无线传输,避免了由于碰撞带来的 数据重传的能量耗费和造成的时延。如图2(b)展示了一个用时分多址技术构 造的传输时间表。其中每一个方框中的每一对字母(i→j)代表了在相应的时间片, 数据从节点i传输到节点j。若同一时间片中重叠着多个字母对(多个方框), 代表这些传输可以同时进行而不会引起任何碰撞。

(1)为了节省电量,在很多应用场景中,用户能够容忍采集到的数据存在 一定程度的模糊(不精确性),去换取无线传输中数据量的下降。只有当新的 采样数值与上次报送的数据之间的偏差大到一定程度时,或者本次采样值与其 他相邻区域的采样值的相关性有显著的改变时,节点才需要向基站发送本次采 集到的数据。而在节点对环境采样之前,每个传感器节点并不能提前计算其两 次报送数据的偏差是多少。因此,在不同采样周期中报送数据给基站的节点各 不相同,且这种变化无法预测。

(2)由条件触发的监测是一种很重要的传感监测应用,其目的是辨认出网络 中出现异常的区域的位置。如火山监控、煤矿瓦斯泄露监控、建筑物安全性检 测等。在这些应用中,只有当采样到的数据满足某些条件(突破了设定的阈值) 时,才需要传送数据给基站。例如,在火山监控中,只有当震动和声波信号产 生突变时,才需要传送数据。但是,在节点采样到数据之前,它并不知道自己 未来的数据是否会满足先前设定好的条件。所以各个采样周期中,报送数据给 基站的节点各不相同。

在数据收集的过程中,在每个采样周期究竟发送哪些数据给汇聚节点,完 全是由数据本身所驱动的,并且只有当数据被传感器节点探测到之后才能被确 定下来,这是以数据为中心的无线传感器网络。本发明将数据图样定义为,网 络中报送数据给基站的传感器节点的分布。则以上两个应用场景具有相同的特 点:在每个采样周期,数据图样随着时间不断动态的变化,且这种变化具有不 可预测性。为特定数据图样构造的调度表,无法有效的应对网络中所有可能的 数据图样。如果为网络中数据量较大的情况构造调度表,那么当网络中只有较 少节点发送数据时,会造成较多的空闲侦听,带来能量和时间上的浪费。而为 数据量较少情况构造的调度表,没有分配足够的时间片来容纳当网络中较多节 点发送数据时的数据传输。若在每个采样周期开始,根据当前的数据图样单独 的构造一个时延和能量上都很紧凑调度表,将会带来非常大的能量和时间的开 销。这是因为要构造调度表,网络中的节点需要互相通信传递信息,调度的过 程本身就消耗能量和时间。本发明提出的节能调度法只构造一个传输表,能够 有效的应对所有可能的数据图样,并且延长网络的生命期。本发明之所以基于 DAG结构,是因为DAG结构在平衡节点的负载方面好于树的结构。用图3中 展示的DAG路由结构来做出说明。图2(a)给出了一个实例网络,每条链接代表 节点间的邻居关系,并且每个节点旁边的小数代表此节点的数据包传送概率(节 点在采样周期发送数据包给汇聚节点的概率)。图2(b)中展示了一个生命期最优 的DAG结构。每条有向链接上的数字代表在每个采样周期内,此链接上发送的 平均的数据包的数量。在这个DAG结构中,节点A和节点B在每个采样周期 中,都各自接收了2个数据包,并且发送了2.5个数据包,从而A和B均为负 载最重的瓶颈节点。作为对比,在图2(b)所展示的生命期最优树中,瓶颈节点 B在每个采样周期接收2.4个数据包,发送2.9个数据包。B节点的负载量大过 于DAG结构中任意A和B的负载。因此图2(b)所展示的生命期最优DAG,比 图2(b)所展示的生命期最优树,对于平衡网络负载延长生命期更为有效。



技术实现要素:

针对以数据为中心的无线传感器网络中,发送数据给基站的节点在动态的 变化,且不可预测的情况,本发明提供了一种基于生命期最优DAG的节能调度 方法。首先,该方法是一种时分多址的调度方法,可以消除冲突的传输,避免 重传所带来的能量和时间的损耗。另一方面,无论网络中数据图样怎样变化, 该调度法能够保证在数据收集的过程中,每条链接上的平均的数据量非常接近 于给定的生命期最优DAG中的数据量,从而最大限度的平衡负载,优化网络的 生命期。

本发明基于生命期最优DAG的节能调度方法假设(1)在每个采样周期中, 网络中的每个节点以固定的概率产生一个数据包发送给基站。网络中不同节点 的数据产生概率满足独立同分布。(2)网络中的路由---生命期最优DAG是已知 的,它规定了网络中每条链接的方向和数据流量,其结构参考图3。

本发明所采用的技术方案如下:

一种基于生命期最优DAG的节能调度方法,首先提出了一种数据包路由方 法。为了保证在数据收集的过程中每条边上的数据流接近给出的DAG结构,子 节点u发给父节点v的数据包的个数n(u,v),必须与从此节点到该父节点链接上 的数据流的大小fuv成比例。n(u,v)单调增长,那么节点u每次选择将数据包发送 给父节点k,使得在所有的父节点中,n(u,k)/fuk的值最小。

一种基于生命期最优DAG的节能调度方法,提出了基于DAG结构的调度 办法。假设A(u,v)是链接(u,v)总共需要的用于发送数据的时间片,而p(u)是u节 点的所有父节点的集合。在数据包路由方法的基础上,本发明推导出以下条件。

Condition:对于每个索引号1≤i≤A(u,v)和节点u的每个孩子节点c,若 那么链接(u,v)的第i个传输时间片应安排在链 接(c,u)的第个传输时间片之后。反之,若 那么链接(u,v)的第i个传输时间片应安排在链 接(c,u)所有的传输时间片之后。

通过数学分析可以证明,如果网络中每个节点都符合条件Condition,子节 点u给父节点v传送的数据包,将连续的分布在链接(u,v)所有的时间片内。以上 条件从数学上奠定了本发明的正确性。

基于DAG结构的调度办法的思想:通过迭代对时间片一个一个的进行分配, 每次进行分配的时候,试图将尽可能多的传输安排到当前时间片。当然,这些 传输必须要满足一定的要求,即节点u给节点v的某个传输(u,v)出现的次序和孩 子节点c的传输(c,u)出现的次序相关,也与节点u给其他父节点k的传输(u,k) 出现的次序相关。具体的调度步骤如下:

步骤一:为每个链接(u,v)保存一个元组(c1,c2),c1代表链接(u,v)当前总共允 许被分配的传输时间片的个数,c2是链接(u,v)当前已经被分配的传输时间片的个 数。网络中从每个叶子结点出发的链接的元组被初始化为(1,0),从每个中间节点 出发的所有元组被初始化为(0,0)。

步骤二:t代表当前时间片,调度法从第一个时间片t=1开始分配。每次找 到一个当前链接的候选集合E,其中的所有链接的元组(c1,c2)必须满足c1>c2。用 S(t)记录被安排到当前时间片进行传输的链接,S(t)初始化为空集。检查候选集E 中每条链接(u,v)。若(u,v)与S(t)中所有链接不冲突,则加入(u,v)至S(t),并作以 下处理:(u,v).c2值增加1;根据Condition,更新从节点v出发的每条链接的c1值。之后重新计算候选集E,并且当前时间片的值t+1。

步骤三:当候选集E为空,调度法结束。

图5中展示了链接元组更新示意图。如图所示,节点v有三个父节点j,k,l, 和两个孩子节点x和y。已知:A(x,v)=10,A(y,v)=2,f(v,j)=1.2,f(v,k)=0.2,f(v,l)=0.6。 那么节点v总共需要13个时间片,其中10+2=12个时间片用于传输从下游节点 接收到的数据包,需要1个时间片来传送本地产生的数据包。可以计算出链接 (v,j)需要个时间片,而A(v,k)和A(v,l)可以用同样方 法计算出来。假设现在链接(x,v).c2被更新为9。根据发明步骤二,这将促成从v 出发的所有链接的第一个计数器c1的更新。具体更新方法根据Condition而来。 先考虑链接(v,j).c1。根据条件,(y,v).c2=2已经到达了最大值A(y,v),所以(v,j).c1将 完全被(x,v).c2<A(x,v)所决定。首先寻找最大的索引号i,去满足条件 由此可以推出(v,j).c1=5。链接(v,k)和链接(v,l)的计数 器更新可以用类似方法得到。

附图说明

图1是本发明实施例提供的基于生命期最优DAG的节能调度方法流程图。

图2是无线通信传输碰撞示意图。

图中:(a)隐藏终端带来的碰撞问题;(b)暴露终端带来的时延问题。

图3是本发明实施例提供的网络的生命期最优DAG和生命期最优树的比较 示意图;

图中:(a)网络拓扑图;(b)生命期最优DAG;(c)生命期最优树。

图4:本发明实施例提供的用TPO方法处理树结构示例网络的示意图;

图中:(b)一个用于处理完整数据图样的TDMA调度法:

每个节点都产生一个数据包发送给汇聚节点;(c)以上TDMA调度表用于处 理部分数据图样:只有节点B需要发送一个数据包给汇聚节点,实际数据传输 时延为3,而基站认为数据收集时延为10;(d)用于处理部分数据图样的TPO 调度表:只有节点B需要发送一个数据包给汇聚节点,实际数据传输时延为4, 而基站认为数据收集时延为6。

图5是本发明实施例提供的根据条件Condition所规定的链接元组更新示 意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例, 对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以 解释本发明,并不用于限定本发明。

本发明构造无碰撞的时分多址的传输表,无论网络中的数据图样怎么变动, 网络中的传感器节点都能够为每个数据包,动态的决定发送给哪个父节点,使 得最终的每条链接上的数据流量,和给定的生命期最优DAG中所描述的流量相 吻合。网络中的节点直接按照这个传输表来接受和发送数据,可以延长整个网 络的生命期。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的基于生命期最优DAG的节能调度方法包 括以下步骤:

S101:根据已知的生命期最优DAG,构造出传输表;

S102:传输表特点(一)父节点的选择,始终使得每条边上的数据流,接 近给出的DAG结构;

S103:传输表特点(二)每个节点发送给父节点的数据包,从分配给链接 的第一个时间片开始,至之后所有的时间片中,连续的排列;

S104:传输表特点(三)调度过程只进行一次,在整个数据收集的过程中, 所有的节点根据唯一的传输表进行数据收发。

本发明具体实施步骤为:

第一步,布置网络,参照图3,将100个传感器节点随机的放在一个1×1的 正方形区域中,为了让整个网络保持连通,在拓扑图中将每个节点的传输半径 设置为0.15。

第二步,选取数据序列,设置阈值。本发明采用华盛顿大学开源LEM项目 所收集到的温度和太阳能辐射的传感器数据序列进行测试。每个数据序列含有 超过3,000,000个传感器数据,其中连续两个传感器数据采样时间间隔1秒。为 了将基站采收集到的数据,与真实的传感器数据之间的偏差控制在e(可看作误 差范围)之内,每个节点以上一次上报的数据为中心,设置一个阈值[u-e,u+e]。 在每个采样周期,只有当每个节点收集到的数据,超出了此节点所设定的阈值 的范围,节点才需要向基站传送数据,并且更新阈值的范围。否则,节点不需 要报送任何内容。很容易得知,当e的值变大时,阈值范围相应的变大,每个节 点上报的数据量随之降低。

第三步,设置节点能量,设置基站的能量供应为无穷,而传感器节点的能 量是有限的,并且传感器发送一个数据包消耗1个单位的能量,而监听一次信 道将花费0.75单位的能量。节点的初始能量相同,设置为50,000个能量单位。 网络的生命期被定义为从刚开始到网络中第一个节点能量耗尽的时间。

第四步,估算每个节点的数据报送概率。分别对温度和太阳辐射两种数据 序列,设置不同的e值,在一段时间内观察每个节点的数据报送情况,并将数 据报送次数对时间段进行归一化,作为与误差范围e相应的报送概率。

第五步,用开源工具包Mosek或CPLEX构造生命期最优DAG结构。

第六步,按照发明内容中所述调度步骤对计算出的最优DAG结构进行调度, 构造传输时间表。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1