本发明涉及无线传感器网络中的路由技术领域,具体涉及一种无线传感器网络中基于延迟与距离的背压方法。
背景技术:
路由和调度是无线多跳网络中关键的资源分配机制。现有的背压方法在文献[stabilitypropertiesofconstrainedqueueingsystemsandschedulingpoliciesformaximumthroughputinmultihopradionetworks]中首先提出。背压方法能够在无线多跳网络中同时实现路由和调度,并且网络吞吐量能实现最优化。但是,由于原始背压方法在源节点和目标节点间寻找所有可能的路径,将会导致较大的数据包延迟问题。
文献[routingwithoutroutes:thebackpressurecollectionprotocol]中首次在无线传感器网络应用动态背压路由协议。文献[greedybackpressureroutingforsmartgridsensornetworks]在智能网格传感器网络中提出一个贪婪的背压方法,以解决数据包拥塞问题。文献[avirtualqueue-basedback-pressureschedulingalgorithmforwirelesssensornetworks]提出了一个在无线传感器网络中的基于虚拟队列的改进的背压方法,相比于其它方法有效地提升了延迟性能。
现阶段,设计高效的方法十分重要。并且设计的方法要满足能够支持高吞吐量的通信以解决无线网络带宽的稀缺问题,同时,能够减小数据包的端到端延迟满足日益增长的实时流量。原始背压方法作为基于队列长度的调度与路由的方法能够实现吞吐量最优化。但是,在实际中应用中面临着数据包端到端糟糕的延迟性能。
为了减小背压方法的数据包端到端延迟,本发明提出一个在无线传感器网络中基于延迟与距离的背压方法(backpressureroutingalgorithmbasedondelayanddistance,dd-bp)。dd-bp方法设计了一个新的链路权值公式。在做出路由和调度决策时,不仅考虑数据包队列长度,同时关注队头数据包在节点中逗留时间以及节点之间的位置关系。dd-bp方法优先传输在节点中积压时间长的数据包,且数据包传输的方向离目标节点更近。该方法能够满足网络吞吐量最优化的前提下,实现延迟性能与数据包成功传递率性能的优化。
技术实现要素:
本发明的目的是为了解决现有背压方法中的数据包端到端延迟问题,提出一种无线传感器网络中基于延迟与距离的背压方法(backpressureroutingalgorithmbasedondelayanddistance,简称dd-bp)。dd-bp方法设计了一个新的链路权值公式。在做出路由和调度决策时,不仅考虑数据包队列长度,同时关注队头数据包在节点中逗留时间以及节点之间的位置关系。dd-bp方法优先传输在节点中积压时间长的数据包,且数据包传输的方向离目标节点更近。该方法能够满足网络吞吐量最优化的前提下,实现延迟性能与数据包成功传递率性能的优化。
本发明的目的可以通过采取如下技术方案达到:
一种无线传感器网络中基于延迟与距离的背压路由方法,所述的背压路由方法包括下列步骤:
s1、构造无线传感器网络模型,将无线传感器网络用一个有向图g=(n,l)表示,其中,n表示网络g中节点的集合,包含所有的传感节点和一个汇聚节点,l表示网络g中所有链路的集合;
s2、假设数据包可能需要经过多跳中继节点的传输,才能到达目标节点,并且,无线传感器网络中每个节点独立发挥路由和调度的作用,汇聚节点处理和中继集成的数据到骨干网,假设时间是分时的,每一个时隙用t表示,t∈{1,2,3…},在每个时隙t的开始,无线传感器网络中的任一节点m收集其邻居节点n的实际位置信息(xn,yn),并存储在邻居表中,邻居表包括节点n队列积压
s3、分别计算出节点n和节点m数据包队列中首数据包积压时间tn(t)和tm(t),令
s4、分别求得节点n和节点m与目标节点之间的距离
s5、节点在做出下一跳选择的过程中,综合考虑节点位置信息的参数
s6、当链路速率相等的情况下,将节点m与节点n之间的链路权值最大的链路激活,从节点m传输若干数据包到节点n,并在链路容量范围内传输尽可能多的数据包。
进一步地,所述的步骤s1中,假设无线传感器网络模型中所有的链路速率为相等,进入无线传感器网络的数据包根据去往的目标节点种类不同分别进入节点中相应的队列,无线传感器网络的汇聚节点为数据包的目标节点,每个汇聚节点中只维护一个数据包队列,假设无线传感器网络模型中不考虑能量消耗问题,每个传感节点配有位置感知服务系统,能够获取该节点的位置信息。
进一步地,所述的步骤s2中,数据包总是希望不在网络中长时间逗留,且不在网络中随机地循环游走。最有效的解决方式是通过最短路径的方式前往目标节点方向尽快传输。最短路径的选择由传感节点的实际地理位置因子决定,并且假定传感节点可以获得实时坐标信息。
进一步地,所述的步骤s3中,节点m中首数据包的逗留时间用参数tm(t)来表示,使用一个时间队列q来维护每一个数据包进入节点m的时间,当有数据包进入节点m时,进入节点m的数据包的时间会进入时间队列q,当数据包从节点m传输出去时,时间队列q首元素也会移出队列,通过计算当前时间与时间队列q首元素的差值,得到节点m中首数据包的逗留时间。
进一步地,所述的步骤s4中,在此时隙t,节点m需要寻找下一跳节点以传输数据包到达目标节点d,假定,此时节点m分别与节点n1和n2之间的队列积压梯度相同,则此时隙t,节点n1和节点n2都有可能成为节点m的下一跳,但是去往节点n1后,数据包仍需要通过在网络中传输一段时间才能到达目标节点,这样数据包的延迟将会增加。所以,此时节点m将数据包传送到离目标节点更近的节点n2将是更好的选择,能够减小数据包的延迟。
进一步地,所述的步骤s5中,综合考虑节点中首数据包的逗留时间、节点之间相互位置关系以及队列长度。在节点中积压时间长的数据包更倾向于传输出去,并且传输的方向离目标节点更近。节点m与节点n之间积压梯度为
进一步地,所述的步骤s6中,链路速率与链路权值的乘积的和越大,该链路进入最终调度集的概率越大;当发送节点数据包积压时间越长且接收节点的距离目标节点更近时,该接收节点作为下一跳的概率越大。
本发明相对于现有技术具有如下的优点及效果:
(1)通过本发明,该方法能够满足网络吞吐量最优化的前提下,实现延迟性能与数据包成功传递率性能的优化。
(2)dd-bp方法在不同链路速率时,能够保持同样的属性。在保证无线传感器网络的吞吐量最优化的前提下,平均延迟性能和数据包传递率都有提升。
附图说明
图1是本发明公开的无线传感器网络中基于延迟与距离的背压路由方法的流程图;
图2是本发明实施例中首数据包进入节点队列时间的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开了一种基于延迟与距离的背压路由方法,主要针对在传感器网络环境中如何降低基于背压路由的平均端到端的数据包延迟问题。原始背压方法中,大量的因素会导致较大的数据包端到端延迟,例如,最后数据包问题、数据包饥饿问题与初始数据包问题。本发明方法与以往的背压方法相比,设计了一个新的链路权值计算公式。该方法在做出背压路由和调度决策时,综合考虑队头数据包在节点中的逗留时间与节点之间的相互位置关系以及队列长度三个因素。dd-bp方法使得队首数据包积压时间长的节点具有数据包传输的优先权,且距离目标节点更近的节点被选择作为下一跳的概率更大。
在流量负载较小或中等的网络环境下,现有背压方法的延迟性能不是很理想。对于只有一个目标节点的传感器网络,每个节点只维护一个去往目标节点数据包队列。现有背压方法中数据包到达或离开一个节点仅仅导致的结果是队列的长度的增加或减小。这就意味着网络中数据包的传输只受到队列积压差的作用,并没有考虑延迟问题。为了优化延迟性能,本方法计算链路权值时,综合考虑延迟和距离相关的参数。目标是优化数据包在网络中的延迟性能,同时不失去最优的吞吐量性能。
现有背压方法中,源节点附近的数据包需要花费很长的时间才能形成数据包队列积压梯度,这便是导致初始数据包延迟问题的原因。以及最后数据包问题中,如果一个数据包队列由于缺失随后的到达的数据包而数据包队列维持很小,无法传输出去。所以为了减小数据包延迟,本实施例中dd-bp方法给予在节点中积压时间长的数据包更大的传输优先权。
如图2所示,假设
令参数tω(t)为节点中首数据包逗留时间相关的参数,即延迟相关的参数。
数据包总是希望不在网络中长时间逗留,且不在网络中随机地循环游走。最有效的解决方式是通过最短路径的方式,使其往目标节点方向尽快传输。最短路径的选择由传感节点的实际地理位置因子决定,并且假定传感节点可以获得实时坐标信息。
节点在做出下一跳选择的过程中,综合考虑了节点位置信息的参数
现有背压方法中节点m与节点n之间积压梯度变为
在dd-bp路由方法中,链路速率与链路权值的乘积的和越大,该链路进入最终调度集的可能性越大。当发送节点数据包积压时间越长且接收节点的距离目标节点更近时,该接收节点作为下一跳的可能性更高。
dd-bp方法在每个时隙t的路由过程具体如下:
(a)在每个时隙t的开始,网络中的任一节点m收集其邻居节点n的信息,存储在邻居表中。包括节点n队列积压
(b)节点m根据存储在本地队列积压
(c)利用公式计算节点m与节点n之间的链路权值。
(d)当链路速率相等的情况下,节点m与节点n之间的链路权值最大时,从节点m传输若干数据包到节点n。并在链路容量范围内传输尽可能多的数据包。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。