实施方案
[0016] 下面参照附图并结合实例对本发明作进一步详细描述。
[0017] 本发明的一个实例,其设定实施的环境如图1所示,其中WSN节点活动区域为圆形,区域半径dm=100m,区域内所有节点以初始速度4m/s做随机运动。
[0018] 方法具体步骤如下:
[0019] 步骤1.Sink节点到达区域中心,具体步骤如下:
[0020] Step1.Sink节点持续发射预备信号;
[0021] Step2.区域中的节点j、k1、k2、k3、k4等节点接收到预备信号后,将当前自身的速度vj=4m/s、vk1=4m/s、vk2=4m/s、vk3=4m/s、vk4=4m/s记录下来;
[0022] Step3.节点j、k1、k2、k3、k4根据接收到的信号强度将自身的速度由v改变为v′,即v′j=4m/s、v′k1=2.8m/s、v′k2=2m/s、v′k3=1.8m/s、v′k4=0.8m/s,从而整个区域形成从区域边缘到Sink节点,区域中节点速度越来越小的梯度;
[0023] 步骤2.源节点发送消息,具体步骤如下:
[0024] Step1.有消息需要发送的源节点j将自身采集的数据A、节点ID号j、节点速度v′j合成消息包;
[0025] Step2.节点j向自身一跳范围内的所有节点,即节点k1转发消息包;
[0026] 步骤3.消息的转发,具体步骤如下:
[0027] Step1.节点k1收到来自于节点j消息包且v′j>v′k1,因此节点k1向自身一跳范围的所有节点转发消息包,随后向节点j回发转发确认包;
[0028] Step2.节点k2收到来自于节点k1消息包且v′k1>v′k2,因此节点k2向自身一跳范围的所有节点转发消息包,随后节点k2向节点k1回发转发确认包,节点k1向节点j回发转发确认包;节点k3、k4进行类似的过程,直到将消息包转发到Sink节点。需要指出的是,在以上过程中如果某一节点判断其接收的消息包中的节点速度不满足大于该节点的节点速度的条件时,则直接删除收到的消息包;
[0029] 步骤4.Sink节点离开,具体步骤如下:
[0030] Step1.Sink节点在离开之前发射离开信号,随后离开区域;
[0031] Step2.区域中接收到离开信号的节点将自身速度恢复至4m/s;
[0032] Step3.发送消息包的节点j统计回收到的转发确认包数L=4>2,节点j认为消息包已经成功转发至Sink,所以删除数据A。
[0033] 虽然本发明已以较佳实施例公开如上,但实施例并不是用来限定本发明的。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。