用于增强网络数据投递可靠性的分布式时隙分配方法

文档序号:10539840阅读:907来源:国知局
用于增强网络数据投递可靠性的分布式时隙分配方法
【专利摘要】用于增强网络数据投递可靠性的分布式时隙分配方法,采用了时间轮的方式组织节点竞争分配时隙的过程,在竞争过程中为避免时隙分配相关的控制包因节点间的无线传输冲突而丢失问题,解决了节点间时隙分配信息不一致的问题,保证了时隙分配的可靠性;其次,采用了concurrent?REPLY策略,解决了节点时隙分配过程中每一轮的持续时间不确定的问题;最后,采用了信号包扩散机制,解决了每一轮参与时隙分配的节点数过多导致无线传输冲突严重,引起时隙分配算法性能下降的问题,从而实现了能够在不明显增加传输延迟和网络总活动时间的条件下正确可靠的实现时隙分配,保证较高的数据投递率的优点。
【专利说明】
用于増强网络数据投递可靠性的分布式时隙分配方法
技术领域
[0001] 本发明涉及到无线传感器网络通讯领域,具体的说是一种用于增强网络数据投递 可靠性的分布式时隙分配方法。
【背景技术】
[0002] 目前,无线传感器网络节点时隙分配算法主要分为集中式与分布式调度方法。集 中式调度方法最早以图论相关算法为基础,首先将传感器网络形式化表达为图G,并根据图 着色等理论方法完成对图G的着色,通过给每种色彩分配互不干扰的活动时隙,实现与节点 或链路相关的数据传输活动调度并避免相互冲突。然而,由于典型无线传感器网络大都采 用树型拓扑结构进行组织,数据传输往往具有逐层往上汇聚特性,导致部分传感节点需要 频繁切换状态以完成数据汇聚传输,无法最优化网络能量效率。集中式方法在自适应网络 拓扑动态变化时往往需要重新生成节点调度,导致高昂的能量与通信开销。分布式调度方 法虽然克服了集中式方法的缺点,具有良好的可扩展性。然而,由于分布式算法需要节点竞 争无线信道访问和时隙分配,节点间传输冲突概率较高,容易发生节点间交换时隙分配信 息时丢失控制包而引起节点调度信息不一致的问题。
[0003] 针对分布式调度算法存在的问题,我们提出了新的用于增强数据包投递可靠性的 分布式时隙分配方法。

【发明内容】

[0004] 本发明的目的是提供一种用于增强网络数据投递可靠性的分布式时隙分配方法, 该时隙分配方法具有在维持可接受的传输延迟和调度帧长度的条件下正确可靠的实现时 隙分配,保证数据传输可靠性,从而获得较高数据投递率的优点。
[0005] 本发明为实现上述技术目的所采用的技术方案为:用于增强网络数据投递可靠性 的分布式时隙分配方法,首先,节点随机访问无线信道并采用分布式方法建立各自的时隙 分配方案,然后节点根据其时隙分配方案访问无线信道进行数据传输以完成数据汇聚,所 述的建立节点时隙分配方案的步骤如下: 步骤一:扩散信号包 设定:Νι(ν)表示节点v的一跳邻居节点集合,N2(v)表示节点v的两跳邻居节点集合,SC 表示一组连续时隙的集合,表示节点v用于发送数据的连续时隙集合,表示节点v用 于接收数据的连续时隙集合,S(v)表示节点v的时隙调度方案,由与联合组成; 节点v根据其ID号设置发送信号包的回退定时器I对于节点v而言,< 匕,其中 ts表示信号包传输时间,Vid表示节点瓜当见⑷中的节点接收到节点v的信号包时,见⑷中 所有节点将放弃自己的信号包; 信号包的扩散由计数器C进行控制,当C = 1时,仏(v)中节点将C加1,此时,C = 2,然后 将节点v的信号包发送至其一跳邻居,即N2(v),由于C = 2,N2(v)中的节点将停止发送信号 包,至此节点v完成了信号包扩散; 步骤二:确定预分配时隙^; 对于sq,节点V需要确定其第一个时隙序号sioti以及本次需要分配的时隙数sa, s 101 i = s 101 i+Nf,Nf表示节点V执行时隙分配的失败次数; _ JV. D 当节点V成功完成时隙分配时,Nf = 0,li 其中,Pl表示一个时隙能够传输的 数据包大小,W。表示节点v接收到的所有来自于以其为根节点的子树上的节点的数据,Dv表 示由节点v在一个数据汇聚周期内生成的感知数据量; 当节点v申请的不是其调度方案中的第一个用于发送的时隙集合时,Dv=0,对于节 点¥,5>£^表示为[8101^,8101^+5(1]; 步骤三:申请分配时隙 节点v通过请求包将-SV:扩散至其邻居节点,节点v随后进入监听模式以接收回复包, 由于在两跳范围内仅有节点V广播了请求包,Νι(ν)中的所有节点均能够可靠地接收到该请 求包; 对于Ni(v)中的节点,如果其已分配的时隙与请求包携带的预分配时隙6C:中的时隙至 少有一个相同,那么其所请求的5T)'无法实现无冲突分配,这些邻居节点将通过回复包通知 节点V; 步骤四:更新时隙分配信息 节点V发送确认包来通知一跳邻居节点m(v),用于表明中的时隙已经被节点V占 用,Ni(V)中的节点将SCJ中的时隙添加至已占用时隙列表中,从而保证了节点间的时隙分 配信息是同步更新的,为后续其它节点能够分配到无冲突的时隙提供帮助,对于节点v的父 节点,中的时隙将被添加到其接收时隙列表中。
[0006] 在所述步骤三申请分配时隙时,为了降低每个时隙指派的持续时间,采用 concurrent-REPLY策略,通过采用该策略,节点v将通过是否能够正确接收回复包来判断所 请求的是否是无冲突的, c〇ncurrent-REPLY策略工作过程如下: 1) 如果节点v可以正确接收到父节点的回复包,此时认为中的时隙是无冲突的,可 以添加至节点v的调度方案中; 2) 如果节点v由于多个他~)中的一跳邻居节点同时发送回复包而导致无法正确接收 到回复包,节点v认为双中至少有一个时隙被多个邻居节点占用,此时,SC!冲包含的时隙 无法被无冲突地指派给节点v。
[0007] 有益效果:本发明提出的分布式时隙分配算法采用了时间轮的方式组织节点竞争 分配时隙的过程,在竞争过程中为避免时隙分配相关的控制包因节点间的无线传输冲突而 丢失问题,解决了节点间时隙分配信息不一致的问题,保证了时隙分配的可靠性;其次,采 用了 concurrent-REPLY策略,解决了节点时隙分配过程中每一轮的持续时间不确定的问 题;最后,采用了信号包扩散机制,解决了每一轮参与时隙分配的节点数过多导致无线传输 冲突严重,引起时隙分配算法性能下降的问题。综述以上几点,本发明能够在不明显增加传 输延迟和网络总活动时间的条件下正确可靠的实现时隙分配,保证较高的数据投递率的优 点。
【附图说明】
[0008] 图1为本发明中算法的时间组织结构图; 图2为每一轮的时间组织结构图; 图3为时隙指派的执行过程图; 图4为时隙指派的时序图; 图5为请求分配时隙节点的执行流程图; 图6为邻居节点的执行流程图; 图7为仿真实验参数配置表; 图8为仿真实验时几种算法数据包投递率的比较图; 图9为仿真实验时几种算法调度帧长度的比较图; 图10为仿真实验时几种算法平均端到端传输延迟的比较图; 图11为仿真实验时几种算法完成节点调度需要的总轮数比较图。
【具体实施方式】
[0009] 用于增强网络数据投递可靠性的分布式时隙分配方法,首先,节点随机访问无线 信道并采用分布式方法建立各自的时隙分配方案,然后节点根据其时隙分配方案访问无线 信道进行数据传输以完成数据汇聚,所述的建立各自的时隙分配方案的步骤如下: 步骤一:扩散信号包 设定:Νι(ν)表示节点v的一跳邻居节点集合,N2(v)表示节点v的两跳邻居节点集合,SC 表示一组连续时隙的集合,表示节点v用于发送数据的连续时隙集合,5Γ,1:表示节点v用 于接收数据的连续时隙集合,S(v)表示节点v的时隙分配方案,由SC:与联合组成; 节点v根据其ID号设置发送信号包的回退定时器4',对于节点v而言,< =,其中 七表示信号包传输时间,Vid表示节点瓜当见⑷中的节点接收到节点ν的信号包时,Ni(v)中 所有节点将放弃自己的信号包; 信号包的扩散由计数器C进行控制,当C = 1时,Λ (v)中节点将C加1,此时,C = 2,然后将 节点v的信号包发送至其一跳邻居,即N2(v),由于C = 2,N2(v)中的节点将停止发送信号包, 至此节点v完成了信号包扩散; 步骤二:确定预分配时隙 对于SC.节点v需要确定其第一个时隙序号slob以及本次需要分配的时隙数sa, s 1 〇 t i = s 1 〇 t i+Nf,Nf表示节点v执行时隙分配的失败次数; W --D 当节点V成功完成时隙分配时,Nf = 0,、s'C …巧V '其中,Ρι表示一个时隙能够传输的 数据包大小,W。表示节点v接收到的所有来自于以其为根节点的子树上的节点的数据,Dv表 示由节点v在一个数据汇聚周期内生成的感知数据量; 当节点v申请的不是其调度方案中的第一个用于发送的时隙集合时,Dv=0,对于节 点¥,5?(3表示为[8101^,8101^+5(1]; 步骤三:申请分配时隙 节点V通过请求包将议:丨扩散至其邻居节点,节点V随后进入监听模式以接收回复包, 由于在两跳范围内仅有节点V广播了请求包,Νι(ν)中的所有节点均能够可靠地接收到该请 求包; 对于Ni(v)中的节点,如果其已分配的时隙与请求包携带的预分配时隙SC中的时隙至 少有一个相同,那么其所请求的5T:无法成功分配,这些邻居节点将通过回复包通知节点v; 步骤四:更新时隙分配信息 节点v发送确认包来通知一跳邻居节点m(v),用于表明中的时隙已经被节点v占 用,NKv)中的节点将SC:中的时隙添加至已占用时隙列表中,从而保证了节点间的时隙分 配信息是同步更新的,为后续其它节点能够分配到无冲突的时隙提供帮助,对于节点v的父 节点,中的时隙将被添加到其接收时隙列表中。
[0010]在所述步骤三申请分配时隙时,为了降低每个时隙指派的持续时间,采用 concurrent-REPLY策略,通过采用该策略,节点v将通过是否能够正确接收回复包来判断所 请求的是否是无冲突的,concurrent-REPLY策略工作过程如下: 1) 如果节点v可以正确接收到父节点的回复包,此时认为中的时隙是无冲突的,可 以添加至节点v的调度方案中; 2) 如果节点v由于多个他~)中的一跳邻居节点同时发送回复包而导致无法正确接收 到回复包,节点v认为·中至少有一个时隙被多个邻居节点占用,此时,中包含的时隙 无法被成功指派给节点V。
[0011]下面结合具体实施例和附图对本发明的技术方案作进一步的阐述。
[0012] 图2和图3展示了时隙指派(SA)的执行过程。节点s5的父节点为s6,并且NKs5) = {s3,s4,s6},N2(s5) = {si,s2,s7}。在图中,s5发送其请求包向s6申请同时s3和s4也可 接收到该请求包。如果就:f中时隙与^(85)中节点的已使用时隙发生冲突,在s6发送回复 包的同时,检测到时隙冲突的节点s3或s4也将同时发送回复包以通知s5,此时s5因为无线 干扰而无法接收回复包,s5将认为S(:': s中的时隙存在冲突而无法继续分配,如图3所示。如 果s3与s4没有检测到冲突,s5将能够正确接收到来自于s6的回复包,此时表明中的时 隙能够被无冲突地完成分配,如图2所示。
[0013] 本发明中,设定算法的输入参数为数据汇聚树T,其输出参数为可用于树T的节点 调度方案S,并且S为每个节点的调度方案的联合,即S = S(V1)US(V2)…US(Vn)。由于S是在 网络初始化阶段由算法生成,因此算法采用条件"网络中是否存在未到达数据汇聚节点的 数据包"作为结束算法运行的条件。在每一轮开始执行的时候,网络中所有节点均需要设定 定时器T r,用于保证每一轮能够顺利结束。
[0014]对于需要分配时隙的节点,如节点v而言,节点在轮中的执行流程如图5所示。在图 中,节点v需要计算第一个可用时隙序号slot,在两种情况下可得该值: (1) 当节点V作为邻居节点参与时隙分配时,sloti可在其邻居节点成功分配时隙的过 程中进行更新; (2) 当节点v的时隙指派(SA)失败时,在尝试进行下一次SA时,节点v需要更新sloti形 成新的<^7_ =[>^略,_'^叫+15^].,从而提高34执行成功的概率。此时,81〇1^按照81〇1^ = 81〇1^+ Nf进行更新,Nf表示节点v执行SA的失败次数。当节点v成功执行SA时,Nf = 0。
[0015] 对于Nl(v)中的任意邻居节点,如节点w,其执行的流程如图6所示。
[0016] 当算法成功结束之后,节点将生成最终的调度方案S(v),并以该方案为调度基础 进行数据汇聚传输。
[0017] 为了验证本发明的优越性,本发明采用基于NS-2的仿真实验评估算法性能并与两 种典型的调度算法FlexiTP和DSA-CCH进行了对比。为方便比较,本发明提出的算法命名为 DSA-EH^FlexiTP算法通过在节点之间交换token来控制节点时隙分配过程,并采用至下而 上的方式实现时隙分配以保证数据不间断地多跳转发至数据汇聚节点,从而降低传输延 迟,而每个节点成功分配的时隙信息通过广播扩散至其两跳邻居范围内。DSA-CCH算法则采 用了着色约束的启发式方法来实现时隙分配,节点着色过程即为时隙分配过程。首先从网 络中随机选择一个节点进行着色,随后其邻居节点进行着色,当且仅当完成着色的邻居节 点数量大于某个阈值时,节点才能够进行着色。
[0018] 仿真实验参数以Mica2Mote为参考,从网络拓扑结构、节点数量、传输距离、传播模 型等方面进行了配置,如附图7所示。
[0019] 模拟实验执行时间为5000秒。为了公平起见,本发明还实现了最短路径算法用于 将数据投递至数据汇聚节点。 N
[0020] 本发明采用Ρ 来计算数据包的投递率,其中Nr表示成功投递至数据汇 聚节点的数据包数量,NS表示从源节点发出的数据包数量。由于假设在每一个数据汇聚周 期中节点的感知数据可用一个数据包表示,因此,对于由N个节点构成的传感器网络,Ns = N。图8表明DSA-EH)算法下的数据包投递率明显高于两种对比算法FlexiTP和DSA-COLDSA-EH)算法的投递率在60 %~90 %之间,而相同网络条件下,FlexiTP和DSA-CCH算法的数据投 递率要低约20%。换句话说,DSA-EPD能够降低每个数据汇聚周期内约20%的数据包重传, 对于需要长时间周期性采集与传输数据的传感器监测网络来说,DSA-EPD能够节约可观的 能量与通信开销,从而延长网络寿命。DSA-EH)算法能够改善数据投递率的原因是:FlexiTP 与DSA-CCH算法以发送端为调度基础,而DSA-EPD在调度时同时考虑了发送端与接收端,从 而可以同时避免发生在发送端与接收端的无线干扰; 网络调度帧大小表示完成一次数据汇聚所需要的时隙数量,算法的调度帧长度如图9 所示。首先,因为源节点数的增加,网络中需要传输的数据包变多,网络规模的增大明显导 致调度帧变长。其次,因为DSA-EPD在分配时隙时考虑了链路两端节点而不仅仅是发送端, 相比FlexiTP与DSA-CCH算法,其避免了更多的无线干扰,因此,DSA-EPD算法以增加调度帧 长度为代价改善了数据包投递率; 端到端传输延迟与数据包的时效性密切相关,图10展示了算法的平均端到端传输延迟 情况。结果表明,DSA-EH)与DSA-CCH算法下的传输延迟明显高于FlexiTP算法,其原因在于: 在FlexiTP中,数据包自源节点发出后,中间节点将以接力方式进行不间断传递,直至该数 据包到达数据汇聚节点,极大地优化了传输延迟。此外,FlexiTP假设每个节点仅能缓存一 个数据包,相比之下,DSA-EPD与DSA-CCH算法更适用于大部分对延迟要求不高的以长时间 周期性收集感知数据为目标的数据汇聚应用场景; 最后,图11描述了每一轮中包含的时隙指派(SA)数量与DSA-EPD完成节点调度需要的 轮数的关系。SA的数量为2~6。当网络规模变大时,轮数有了较明显的增加。然而,在相同的 网络规模下,当SA的数量大于2,SA数量的变化并没有明显改变算法完成节点调度需要的轮 数,这表明,算法在SA的数量大于2之后,在每个SA中并行尝试分配时隙的节点数已经趋向 稳定。而当SA的数量为2时,将有更多的节点在每一个SA中尝试分配时隙,导致节点发生分 配时隙失败的概率更高,从而导致需要更多的轮数才能建立起节点调度方案。
【主权项】
1. 用于增强网络数据投递可靠性的分布式时隙分配方法,首先,节点随机访问无线信 道并采用分布式方法建立各自的时隙分配方案,然后节点根据其时隙分配方案访问无线信 道进行数据传输以完成数据汇聚,其特征在于,所述的建立各自的时隙分配方案的步骤如 下: 步骤一:扩散信号包 设定:Ni (V)表示节点V的一跳邻居节点集合,N2 (V)表示节点V的两跳邻居节点集合,SC 表示一组连续时隙的集合,SC:表示节点V用于发送数据的连续时隙集合,SC'表示节点V用 于接收数据的连续时隙集合,S(V)表示节点V的时隙分配方案,由SC; 1与联合组成; 节点V根据其ID号设置发送信号包的回退定时器<,对于节点V而言,,其中ts 表示信号包传输时间,Vid表示节点10,当他(¥)中的节点接收到节点V的信号包时,N1(V)中 所有节点将放弃自己的信号包; 信号包的扩散由计数器C进行控制,当C = 1时,N1 (V)中节点将C加1,此时,C = 2,然后将 节点V的信号包发送至其一跳邻居,即Ν2(ν),由于C = 2,N2(v)中的节点将停止发送信号包, 至此节点V完成了信号包扩散; 步骤二:确定预分配时隙 对于SC,节点V需要确定其第一个时隙序号slotl以及本次需要分配的时隙数SCl, s 1 〇 t i = s 1 〇 t i+Nf,Nf表示节点V执行时隙分配的失败次数; 当节点V成功完成时隙分配时,Nf = O JCi -^其中,P1表示一个时隙能够传输的数 据包大小,W。表示节点V接收到的所有来自于以其为根节点的子树上的节点的数据,Dv表示 由节点V在一个数据汇聚周期内生成的感知数据量; 当节点V申请的%不是其调度方案中的第一个用于发送的时隙集合时,Dv = 0,对于节 点v,SC:表示为[sloti,sloti+SCL]; 步骤三:申请分配时隙 节点V通过请求包将SC丨扩散至其邻居节点,节点V随后进入监听模式以接收回复包, 由于在两跳范围内仅有节点V广播了请求包,Ni (V)中的所有节点均能够可靠地接收到该请 求包; 对于N1(V)中的节点,如果其已分配的时隙与请求包携带的预分配时隙中的时隙至 少有一个相同,那么其所请求的5Γ:无法成功分配,这些邻居节点将通过回复包通知节点V; 步骤四:更新时隙分配信息 节点V发送确认包来通知一跳邻居节点N1(V),用于表明-SO中的时隙已经被节点V占用, N1(V)中的节点将中的时隙添加至已占用时隙列表中,从而保证了节点间的时隙分配信 息是同步更新的,为后续其它节点能够分配到无冲突的时隙提供帮助,对于节点V的父节 点,SC中的时隙将被添加到其接收时隙列表中。2. 根据权利要求1所述的用于增强网络数据投递可靠性的分布式时隙分配方法,其特 征在于:在所述步骤三申请分配时隙时,为了降低每个时隙指派的持续时间,采用 concurrent-REPLY策略,通过采用该策略,节点V将通过是否能够正确接收回复包来判断所 请求的是否是无冲突的,concurrent-REPLY策略工作过程如下: 1) 如果节点V可以正确接收到父节点的回复包,此时认为-S'C中的时隙是无冲突的,可 以添加至节点V的调度方案中; 2) 如果节点V由于多AN1(V)中的一跳邻居节点同时发送回复包而导致无法正确接收到 回复包,节点V认为中至少有一个时隙被多个邻居节点占用,此时,沉了中包含的时隙无 法被成功指派给节点V。
【文档编号】H04W74/02GK105898880SQ201610215655
【公开日】2016年8月24日
【申请日】2016年4月8日
【发明人】曾波, 王辉, 孙士保, 张各各, 李哲青, 张治学, 李沛谕, 李姗姗, 王利巧
【申请人】河南科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1