移动低占空比无线传感器网络中低时延的数据持续性提高算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第39卷第3期通信学报V ol.39No.3 2018年3月Journal on Communications March 2018 移动低占空比无线传感器网络中低时延的数据持续性提高算法
蒋婵1,2,李陶深1,2,梁俊斌2
(1. 华南理工大学电子与信息学院,广东广州 510641;
2. 广西大学计算机与电子信息学院广西多媒体通信与网络技术重点实验室,广西南宁 530004)
摘 要:移动低占空比无线传感器网络是近年来出现的新型网络。

在移动低占空比无线传感器网络中,由于节点的存储空间有限,并且节点的移动及睡眠会导致网络不连通、数据无法及时传输等问题,使数据很难被快速分发并存储,数据持续性较低。

为此,提出一种卢比变换码的分布式数据存储(LT-MDS, Luby transform codes based mobile distributed storage)算法,该算法采用一种新的传染病式数据分发方法在节点不断移动的网络中分发数据,使数据能以较低的时延被网络中绝大部分节点接收到,提高了网络的可靠性;节点在接收到数据的同时,利用卢比变换码(LTC, Luby transform code)对数据进行编码存储,使容量有限的节点可以保存更多的数据信息。

理论分析和仿真实验表明,LT-MDS算法能够以低时延完成数据分发和存储,同时获得较高的数据持续性。

关键词:移动低占空比无线传感器网络;数据持续性;低时延;传染病式数据分发;数据存储
中图分类号:TP393
文献标识码:A
doi: 10.11959/j.issn.1000-436x.2018041
Low-latency algorithm for improving data persistence
in mobile low-duty-cycle wireless sensor network
JIANG Chan1,2, LI Taoshen1,2, LIANG Junbin2
1. School of Electronic and Information Engineering, South China University of Technology, Guangzhou 510641, China
2. Guangxi Key Laboratory of Multimedia Communications and Network Technology, School of Computer and Electronics Information,
Guangxi University, Nanning 530004, China
Abstract: Mobile low-duty-cycle wireless sensor network (MLDC-WSN) are a kind of new ad hoc networks that are ap-peared in recent years. In MLDC-WSN, the nodes only have limited storage spaces. Moreover, the nodes would move or sleep from time to time. Therefore, these networks have some problems such as connectivity is hard to be maintained and data are hard to be transmitted to their destinations for storage in time. As a result, data persistence (i.e., the probability that all data can be recovered after some nodes die in the networks) is low. A distributed algorithm named LT-MDS for improving data persistence in MLDC-WSN was proposed. The algorithm used a new infectious data dissemination method to transmit the data, which enabled the data to be received by almost all the mobile nodes in a network with low latency and improved the reliability of the network. When a node receives the data, it would use LT (Luby transform) codes to encode and save them. By this way, the nodes with limited storage spaces can save more data information. The-oretical analyses and simulations show that LT-MDS can complete the process of data dissemination and preservation with low latency, and it can achieve high data persistence.
Key words: mobile low-duty-cycle wireless sensor network, data persistence, low latency, infectious data dissemination, data preservation
收稿日期:2017-09-15;修回日期:2018-01-21
基金项目:国家自然科学基金资助项目(No.61562005, No.61762010, No.61363067);广西自然科学基金资助项目(No.2015GXNSFAA139286);广西高等学校千名中青年骨干教师培育计划资助项目(桂教人(2017)No.49)
Foundation Items: The National Natural Science Foundation of China (No.61562005, No.61762010, No.61363067), The Natural Science Foundation of Guangxi Zhuang Autonomous Region (No.2015GXNSFAA139286), The Cultivation Plan For Thousands of Young and Middle-Aged Backbone Teachers in Guangxi Higher Education School (Guangxi Education People (2017) No. 49)
·54·通信学报第39卷
1引言
无线传感器网络[1](WSN, wireless sensor net-work)由大量部署在监测区域内的微型传感器节点构成,是一种能够长期执行环境监测、事件跟踪等任务的无线多跳自组织网络,在国防、军事、农业、工业等领域具有广泛的应用。

在WSN中,节点通常只有有限的通信、计算和存储能力,它们的能量水平也较低。

移动低占空比无线传感器网络[2](MLDC-WSN, mobile low-duty-cycle wireless sensor network)是近年来出现的新型WSN,它可以把节点部署在移动的物体上,利用物体的移动性来采集范围更广且动态的环境信息。

例如,在牧场环境监测应用中,节点挂在每只羊的耳朵上,整个羊群组成一个移动的WSN。

为了减少能量耗费,它使节点长时间处于睡眠状态,只在周期性唤醒时工作和通信,可以极大地延长节点的工作寿命。

这种工作模式就称为低占空比模式。

MLDC-WSN一般部署在条件恶劣的环境,节点容易遭到外力破坏而丢失数据。

例如,当羊群遇到雷暴雨时,羊身上的节点容易损坏。

因此,在MLDC-WSN中,网络一般没有固定的Sink来实时收集节点的数据。

为了避免节点损坏而丢失数据,一个可行的方法是采用冗余存储,即一个节点在感知到数据后,立即将该数据发送给网络中其他节点进行保存。

这样即使这个节点损坏,仍然可以从其他节点获取它的数据。

但是,网络中往往有多个节点感知到数据(即存在多个(源)数据),而节点的存储容量有限,因此,很难存放多个数据。

此外,由于节点的移动性,网络不一定能时刻保持连通,数据分发过程可能被中断。

因此,如何有效地规划节点分发数据和存储数据的方式,提高数据持续性,是目前研究的一个挑战。

其中,数据持续性是指网络在节点随着工作时间增长而不断损坏的情况下,全部源数据能够被恢复出来的能力。

本文提出一种面向MLDC-WSN的基于卢比变换码[3](LTC, Luby transform code)的分布数据存储算法(LT-MDS, Luby transform code based mobile distributed storage),可以快速完成数据分发和存储,并且增加节点有限存储空间里的数据量,有效提高数据持续性。

其中,LTC是一种网络编码,具有较低的编码和解码复杂性,利于在计算能力有限的节点上实现。

最后,通过理论分析和仿真实验证明了LT-MDS的有效性。

2相关工作
目前,已经有一些工作研究如何利用网络编码存储数据以提高数据持续性。

文献[4]分析了网络编码技术的有效性,通过对比传统的编码方式(如RS 码(RSC, reed-solomon code)、随机线性码(RLC, random linear code)等)得到以下结论。

各种网络编码均能实现数据的持续性,但是不同编码方式要求的存储空间不同,例如,RSC需要的存储空间要比RLC的高。

增长码[5](GC, growth code)是一种具有较低存储空间要求的网络编码,它通过节点与邻居之间的信息交互,不断增加存储的编码数据的信息量。

但是,随着时间的增长,节点中存储的编码数据信息量越来越大,解码也越来越困难,不利于数据持续性的提高。

文献[6]提出了优先随机线性码(PRLC, priority random linear code),通过具有优先级的随机线性码来提高重要数据的持续性。

它对重要性越高的数据采用越低的编码率,即减少多个数据合并成一个编码数据的概率,使重要的数据可以更容易地被恢复出来。

文献[7]提出了地理随机线性码(GRLC, geometric random linear code),利用节点的地理信息,使距离事件发生地点越近的区域内,节点存储的信息越多,这样便于数据采集者在事件区域附近进行数据恢复和收集。

文献[8]提出了结构化随机线性码(SRLC, structured random linear code),利用编码数据中信息分布的稀疏性,重新设计码字的结构,可以有效降低解码复杂性。

文献[9]提出了一种基于RLC且能提供一定容错率的分布式存储方案。

文献[10]设计了一种基于压缩感知(CS, compressive sensing)的编码方法,进一步减少编码数据的容量,以此增加网络中保存的信息量。

以上编码方式的优点是便于分布式实现,节点只需要和邻居节点交换信息即可完成数据的编码存储。

但是,GC、RSC和各种RLC的解码复杂度仍然较高,达到O(k3),影响了数据持续性的提高,其中,k是源数据的数量。

为了进一步提高数据持续性,需要考虑解码复杂度更低的编码方式。

喷泉码(FC, fountain code)是一种具有较低的编码和解码复杂性O(k ln k)的编码方式,目前受到越来越多的关注。

LTC是喷泉码中最典型的实现方式,节点可
第3期蒋婵等:移动低占空比无线传感器网络中低时延的数据持续性提高算法·55·
以根据特定的概率分布选择需要编码存储的数据的数量,然后根据从源数据随机挑选出相应数量的数据进行异或(XOR)操作即可。

EDFC[11]是第一种基于LTC的数据持续性提高算法,它使源节点通过随机行走(RW, random walk)向网络中以多条路径分发数据并进行存储。

但是,由于随机行走覆盖整个网络需要相当长的时间和大量的数据通信,完成数据分发的时延很大,而且节点的能耗相当大。

因此,EDFC并不利于快速实现数据持续性,且能量有效性较低。

RCDS[12]针对EDFC进行改进,通过限定随机行走的长度,减少数据分发时延和节点通信的能耗。

此外,在数据分发前,利用低密度奇偶校验码[13](LDPC, low-density parity check code)对数据进行预编码,降低数据恢复的解码复杂度。

文献[14]提出了一种多数据副本的分发方案,使源节点可以将多个数据副本随机分发到附近的邻居,减少了编码过程中网络节点的能量消耗。

文献[15]设计了一种基于速龙码(RC, raptor code)的数据保存方案。

RC也是一种喷泉码,具有比LTC更低的解码复杂度,但是它要求对数据进行预处理,需要节点间进行更多的数据交互。

为了进一步降低数据分发时延和节点的能耗,一些研究人员采用广播(broadcast)来分发数据。

文献[16]提出了一种分布存储算法(DSA, distrib-uted storage algorithm)。

假设网络中有2种节点:数据(源)节点和存储节点。

源节点将通过广播,发送自己的数据给通信范围内的存储节点进行保存。

DSA要求存储节点具有较大的存储空间,因此,不利于在存储容量有限的节点上实现。

文献[17]提出了一种带随机能量控制的纠删码(ECPC, erasure coding with randomized power control),考虑了网络断裂的情况,节点进行数据中继时,可以预测网络拓扑的连通性,并根据预测的结果调整广播的传输距离,使数据最终能以高概率被所有节点接收到并进行编码存储。

文献[18]提出了一种自适应的基于概率广播的协议(APBDP, adaptive probabilistic broadcast based protocol),节点可以通过统计邻居的数量,以概率决定是否转发数据,不需要网络中的全局信息,实现完全分布式的数据分发。

由于网络中仅有一小部分节点转发数据,不仅降低了数据分发时延,还减少了网络的总能耗。

文献[19]提出了根据节点能量水平来决定数据转发概率的概率广播方案,并以此为基础设计了基于LTC的数据保存机制。

以上的工作均是在传统WSN上进行研究的,没有考虑节点的移动性和低占空比特性,很难在MLDC-WSN中应用。

因此,需要考虑新的数据分发方式,并结合网络编码的特点,设计新的数据持续性提高算法。

另一方面,针对移动分布式网络中的数据分发,目前已有大量的工作,如各类广播、随机行走、地理路由等,具体可参考文献[20]。

但是,目前的数据分发方法主要针对传统WSN,很难应用于MLDC-WSN。

例如,对于广播操作,传统WSN中一个节点收到数据后立即转发,它的邻居均可接收到数据;而在MLDC-WSN,如果节点接收到一个数据并立即转发它,可能邻居节点均在休眠状态而无法接收到数据。

在MLDC-WSN中,目前常用的数据分发机制为基于分组的传送(GT, group-based transmission)[21,22]和概率传送(PT, probabilistic transmission)[23,24]。

其中,GT是使网络中的节点根据地理距离形成若干分组,然后在每个分组中选择一个组长,负责将数据逐一分发给其他时刻唤醒的组内节点,而数据将通过组内的边缘节点扩散到其他分组。

但是,这种方法在移动的网络中维持分组信息并不容易。

PT 是由数据发送节点根据一定的概率选择若干个邻居进行传送,这些邻居在收到数据后,将根据自己邻居的唤醒时刻、是否接收过数据等情况,再以概率选择若干个邻居进行转发,直至在规定时刻内没有找到合适的接收者为止。

概率传送容易分布式实现,但是它的数据接收率不高,即数据分发结束后,仍然有很多节点未收到数据。

3系统模型和问题描述
3.1网络模型
假设网络中存在n个节点,它们随机分布在一个大小为M×M的正方形区域。

节点的通信半径为r。

如果2个节点之间的地理距离不大于r,则它们可以相互通信。

但是,网络不一定保持随时连通,即2个节点间不一定总是存在一条通信路径。

节点保持随机的运动模式。

目前有多种随机运动模型,如随机位点模型(RWM, random waypoint model)、随机行走模型(RW, random walk)、随机方向模型(RDM, random direction model)等。

由于RDM与现实世界当中的动物种群运动具有较高相
·56·通信学报第39卷
似度[25],适合本文研究的背景,因此本文主要采用该模型。

在随机方向模型中,节点会周期性地在以其为中心的点上,从(0, 2π)范围内随机选择一个方向,然后再以固定的速度v行走指定的时间长度。

值得注意的是,无论采用哪种模型,均不会影响本文算法的实现和性能。

本文算法可以在任何随机运动模型上实现。

与文献[26]和文献[27]一样,网络中的数据收集按轮(round)运行。

每轮有固定的时间长度,并且被分为以下3个阶段。

1) 数据获取阶段。

在该阶段,节点处于唤醒状态,不断感知外部环境。

如果监测到目标事件,则将监测的数据保存在自己的存储空间。

然后,广播一个短消息通知网络中其他节点。

该阶段结束时,网络中存在k个感知到数据的节点(即源节点),而网络中每个节点均知道k的大小。

2) 数据分发及存储阶段。

节点进入低占空比状态,尽可能保存自己的能量。

每个源节点需要将数据以能量有效且低时延的方式分发给网络中的其他节点,而其他节点在接收到数据时将对其进行编码存储。

该阶段是本文重点关注的阶段。

3) 数据收集阶段。

节点进入睡眠状态,只有当移动数据收集器经过它附近并唤醒它时,它才重新启动并发送自己的数据给数据收集器。

数据发送完毕,节点又重新睡眠。

该阶段的时间长度远远大于第一和第二阶段,具体由应用场景决定。

在本阶段,部分节点会被损坏而丢失数据。

而移动数据收集器可以在任意时刻,从任意地点进入网络并访问仍然完好的节点。

节点进入低占空比状态时,将自己的时间划分为多个固定长度的周期T,每个周期T中包含m个固定长度的时间单元(time unit)。

节点随机选择一个时间单元唤醒,而在其他时间单元保持睡眠。

由于不同的节点进入低占空比状态的时间不一样,它们之间的通信是异步的。

由于网络中的节点是可移动的,因此,网络拓扑不断在变化。

此外,由于在任意时刻网络中均有大量节点处于睡眠状态,因此节点很难通过信息交互而获知邻居的情况(如数量、唤醒时间等)。

每个节点在每轮感知到的数据大小为a bit,而节点的存储空间只能保存一个数据。

不同节点感知到的数据之间没有相关性,不同的数据不能进行汇聚和融合操作。

此外,节点也没有足够的计算能力将数据进行压缩。

如果需要保存多个数据,节点可以通过异或(XOR)操作将它们合并为一个编码数据。

网络中存在可靠的MAC协议如E2-MAC[28]能有效处理多个节点同时给同一个目标节点发送数据时的通信冲突。

3.2问题描述
本文研究的主要问题是给定一个具有n个节点的MLDC-WSN,假设在数据获取阶段有k个节点感知到了数据,则在数据分发及存储阶段,这k个源节点如何以能量有效且低时延的方式,分发数据给网络中的其他节点进行编码存储。

本文目标是在数据收集阶段,移动数据收集器只要访问尽量少的节点,就能恢复出全部的源数据。

4算法设计
4.1算法的基本思想
提高数据持续性主要包括2个主要操作:数据分发和编码存储。

因此,本文提出的分布数据存储算法LT-MDS的基本思想如下。

1) 针对MLDC-WSN,由于节点不断移动可能会导致网络断裂或部分节点无法接收到数据,提出一种新的传染病式数据分发(IDD, infectious data dissemination)方法。

IDD的基本思想是采用被动式广播操作,即每个节点唤醒时通知其附近的转发节点(有数据需要发送的节点),转发节点进而判断该节点是否接收过它的数据,如果没有则将数据发送给该节点。

被动式广播不需要转发节点记录邻居节点的情况(如唤醒的时刻),也不需要通信的同步,适合在异步的移动网络中分发数据。

2) 在数据分发过程中,本文将有数据需要发送的节点看作感染对象(IO, infectious object),而没有数据需要发送的节点看作易受感染的对象(SO, susceptible object)。

一个SO根据自己的占空比被唤醒时,将发送一个消息通知自己的邻居。

如果邻居中存在一个IO,则该IO判断是否以前将数据发送给过这个SO,如果没有则进行数据发送,否则,不做任何操作。

SO接收到数据后,则被传染,它转变为IO并保持唤醒状态一段时间t。

t时间过后,IO恢复为SO,称为康复(recover)。

SO可重新进入占空比状态。

当网络中没有IO时,则数据分发过程结束。

3) 节点在第一次接收到一个数据时,将根据
第3期 蒋婵等:移动低占空比无线传感器网络中低时延的数据持续性提高算法 ·57·
LTC 进行存储。

但是,LTC 要求编码数据由k 个源
数据产生,而节点的存储容量有限,不可能在接收到全部源数据后再编码存储。

因此,本文根据概率选择需要保存的源数据。

该概率由LTC 及源数据的数量k 共同决定。

下面,将详细介绍算法的设计与实现,并分析它的性能。

4.2 LTC 简介
本文算法主要根据LTC 存储数据,为此在介绍
算法的设计之前,首先简单介绍LTC 的原理。

LTC [3]
属于喷泉码的一种,它是一种无率的纠删码(rateless
erasure code )。

给定k 个源数据{x 1,x 2,…, x k },LTC 可
以组合它们产生无限个编码数据{y 1,y 2,…}。

组合的过
程是利用一个概率分布Ω(j )来为每个编码数据y m 产
生一个编码度d m ,1≤j ≤k ,1≤d m ≤k ,而每个编码
数据y m 由d m 个随机选择的源数据通过异或操作合并
产生。

每个编码数据都是独立和有意义的,解码时只
需要获得k +ε个编码数据,就能够以1−δ的概率恢复
出全部的源数据,不用关心编码数据获取的次序,其
中,2k O εδ⎞
⎛⎞=⎟⎜⎟⎝⎠⎠,0<δ<1。

在LTC 中,
Ω(j )主要采用顽健孤子分布(RSD, robust soliton distribution ),它的形式化定义如下。

首先,定义一个理想孤子分布(ISD, ideal soliton
distribution )为
1
,1()1,2,3,,(1)
is j k
j j k
j j Ω⎧=⎪⎪=⎨⎪=⎪−⎩" (1)
然后,再定义一个变量ln k R c δ⎛=⎜⎝,0c >是一个常量,有
,1,,1ln (),0,1,,R k j jk R R k j R j k R k j k R
δ
τ⎧=−⎪⎪
⎪⎛⎞⎪⎜⎟⎨⎝⎠==
⎪⎪⎪
=+⎪⎩"" (2) RSD 表示为 ()()
(),1,2,,is j j j j k τΩΩβ+==" (3) 其中,1
(()())k
is j j j βΩτ==+∑。

4.3 LT-MDS 算法的详细描述
LT-MDS 是一种完全分布式的算法,
在每个节点v i 上独立运行。

网络中的节点将通过消息通信来完成相互之间的协作。

算法的具体实现如算法1所示。

算法1 LT-MDS 算法
当数据分发及存储阶段开始时:
1) 设置v i 的状态为“Susceptible ”; 2) 初始化v i 的编码数据y i =“”; 3) 根据RSD 计算d i 的值; 4) if v i 在数据获取阶段感知到了一个源数据x i 5) y i = x i ; 6) d i = d i −1; 7) 设置v i 的状态为“Infected ”; 8) v i 保持唤醒; 9) 设置计时器timer =t ; 10) end if 当计时器timer 倒数完成时: 1) 设置v i 的状态为“Susceptible ”; 2) v i 进入占空比工作状态。

当v i 在它的工作周期中唤醒时: 发送一个短消息wakeup(v i )给自己的邻居。

当接收到一个邻居v j 发送来的短消息wakeup(v j ): 1) if v i 的状态为“Infected ” 并且v i 没有发送
接收到的数据x k 给v j ; 2) 发送一个消息Sensed_data(x k )给v j ;
3) 记录x k 已经被发送给v j ; 4) end if 。

当接收到一个消息Sensed_data(x k )时:
1) if (x k 是第一次被接收到)
2) temp =rand(1);
3) if (temp <w d k ) //根据RSD 将x k 以概率保存到编码数据y i 4) y i = y i XOR x k ; 5) end if 6) 设置v i 的状态为“Infected ”; 7) v i 保持唤醒;
8) 设置计时器timer =t ;
9) end if
在算法1中,当节点v i 进入数据分发及存储阶
·58· 通 信 学 报 第39卷
段时,它的状态设为“Susceptible ”,即易被感染状态。

此状态说明节点可以接收其他节点发送来的数据。

同时,节点根据RSD 计算自己的代码度d i 。

如果v i 是源节点,则当前的编码数据y i 就只有源数据x i ,同时将代码度减1,表示已经存储一个数据。

由于源节点持有数据,v i 的状态变为“Infected ”并保持唤醒状态t S ,等待邻居节点醒来接收数据。

当v i 保持“Infected ”的状态达到t S ,可以康复并转变为“Susceptible ”,同时进入低占空比状态以保存能量。

当v i 从低占空比状态中唤醒,它将广播一个携带其ID 的短消息给自己的邻居,通知它可以接收数据。

如果v i 接收到从另一个邻居v j 发送来的短消息,它检查自己的状态和数据发送记录。

如果发现自己的状态为“Infected ”并且自己需要转发的数据x k 没有发送给v j ,则将x k 发送给v j ,并记录这次发送。

当v i 接收到一个数据x k ,它将判断x k 是否第一次接
收到。

如果是,则以概率w d k 存储该数据。

w d
k
表明
v i 需要从k 个源数据中随机挑选d w 个数据进行存储,
目的是使自己的代码度符合LTC 所遵循的RSD 的要求。

无论v i 是否对x k 进行存储,它都需要继续转发x k 。

因此,v i 的状态转变为“Infected ”并保持唤醒状态t S 。

t S 过后,v i 康复并转变为“Susceptible ”,进入低占空比状态以保存能量。

当网络中没有状态为“Infected ”的节点,算法结束。

4.4 性能分析
定义1 传染度F 指一个状态为“Infected ”的节点v i 在t 时间内传染的节点的数量,即t 时间内接到v i 发送的数据2π2B r tvr =+的节点数量。

在随机方向模型中,一个状态为“Infected ”的节点在t 时间内通信的区域如图1所示,其中,r 为节点的通信半径 ,v 为节点的速度。

图1 “Infected ”节点在t 时间的通信范围
从图1可以推算,一个“Infected ”节点在t 时间的通信面积为2π2B r tvr =+,则期望的传染度E (F )可近似为
222
π()(π2)r E F B r tvr TM λη≈=+ (4) 其中,2
2πr M λ=为网络的平均密度,1T
η=为网络中
节点的占空比,M 为正方形网络区域的边长。

定理1 在一个具有n 个节点的MLDC-WSN 中,对于任意一个源节点发出的数据,算法LT-MDS 结束时,接收到该数据的节点占网络中总节点的比
率1
1()C E F −
≤。

证明 首先,推算当IDD 分发数据完成时,网络中没有接收到数据的节点的比率为
()n
i i i q q f i ==∑ (5)
其中,()i f i 为节点在网络中的分布。

在随机方向模型中,节点的分布通常服从泊松点过程[29]。

因此,式(5)可以表示为
()
(())e !i E F n
i
i E F q q i −==∑
()
(())e
!i
n
E F i qE F i −==∑ ()()e e E F qE F −≤
ln (1)()q q E F ⇒−≤
1
()
q E F ⇒≥
(6) 因此,算法结束时,有1
11()
C q E F =−−
≤。

得证。

定理2 在一个具有n 个节点的MLDC-WSN 中,对于任意一个源节点发出的数据,算法LT-MDS 结束时,全部节点接收到这个数据的最小时延delay
为ln 1()ln 1n E F t T ⎢⎥+⎢⎥⎛
⎞⎢⎥
+⎜⎟⎢⎥⎝⎠⎣⎦。

证明 假设N k 为到第k 个周期时,受到感染(接
收到数据)的节点的总数;F T 为一个周期T 中,一个受到感染的节点可以继续感染新的节点的期望个数,则有111(1)k k k T k T N N N F N F −−−+=+≤。

由于
N 0=1,则(1)k k T N F +≤。

因此,有
arg max ()k k delay N n ≥≤
arg max ((1))k k T
F n +≥≤ln 1ln(1)T n F ⎢⎥=+⎢⎥+⎣⎦
第3期 蒋婵等:移动低占空比无线传感器网络中低时延的数据持续性提高算法 ·59·
由于F T =E (F )
t
T ,因此有
ln 1()ln 1n delay E F t T ⎢⎥
+⎢⎥⎛⎞⎢⎥+⎜⎟⎢⎥⎝⎠⎣⎦≥ (7)
得证。

定理3 在一个具有n 个节点的MLDC-WSN 中,利用算法LT-MDS 对k 个数据进行分发及存储。

如果节点的感染时间t 充分大,则在数据收集阶段,数据采集者可以通过获得k +ε个编码数据,以1−δ的概率恢复出全部的源数据。

证明 由算法LT-MDS 可以看到,节点是根据
w d k 的概率保存数据。

算法结束时,节点保存的编码数据的实际代码度w
d ′服从以下分布 1Pr()1()w i k i k
w w w w
d k d d d i d i k k Ω−=⎛⎞⎛⎞⎛⎞′==−⎜⎟⎜⎟⎜⎟⎝⎠⎝
⎠⎝⎠∑
1
Pr(|)()w k w w w d d i d d Ω=′==∑ (8) 从定理1可以看到,当t 充分大时,网络中接收
到数据的节点的比率近似于1,
即几乎全部节点接收过源数据。

因此,w
w
w d d k d k
′≈=,由此可得 Pr()()w w d i d Ω′=≈
(9) 即算法结束时,
节点保存的编码数据的实际代码度非常接近于RSD 。

根据4.2节LTC 的性质,解码时只需要获得k +ε个编码数据,就能够以1−δ的概率恢复出全部的源数据,可以很容易得到结论。

得证。

定理4 算法LT-MDS 的时间复杂度为O (1),消息复杂度为O (kn )。

证明 由算法1的过程可以看到,在LT-MDS 中没有出现循环语句,每一步骤的执行均为算术运算。

因此,算法可以在O (1)时间内完成。

在算法执行过程中,一个源数据的分发需要O (n )个节点进行转发。

每次转发时,接收节点需要发送一个短消息,而发送节点需要发送数据,一共需要2次广播。

因此,一个源数据分发到全网,需要O (n )次广播。

由于网络中有k 个源数据,因此,一共需要O (kn )次广播。

得证。

5 模拟实验
本文利用Matlab 7开发模拟实验平台。

假设网络为一个正方形区域,大小为100 m ×100 m ,网络中
有n 个随机分布的节点。

节点的工作周期T =100 s ,T 被划分为100个时间单元,每个时间单元为1 s 。


点只在其中一个随机选择的时间单元内醒来,而在其他时间单元则保持睡眠状态。

节点唤醒时,采用随机方向模型进行运动,每次均从(0, 2π)范围内随
机选择一个方向,然后再以固定的速度v =1 m/s 行
走一个时间单元。

节点的通信半径r =25 m 。

节点间的通信存在MAC 层机制以保证可靠性,即如果2个节点间的距离小于r ,则它们可以相互收到对方发送的数据分组。

假设网络中有k =0.1n 个节点感知到了数据,即网络中有k 个源节点。

数据分组的大小为1 000 bit ,节点发送1 bit 数据的单位能耗为E t =100 nJ/bit ,而接收1 bit 数据的单位能耗为E r =50 nJ/bit 。

选择目前最有代表性的分布式数据持续
性方案EDFC 和APBDP 来和本文算法进行对比。

5.1 参数t 的选择
根据第4节的分析,参数t 的大小会影响数据分发过程中接收到某个数据分组的节点的数量。


此,本文分别在n =100和n =500的网络中,测试数据分发结束时,不同的t 值对接收到数据的节点数量的影响,实验结果如图2所示。

图2 t 的取值对接收到数据分组的节点数量的影响。

相关文档
最新文档