APP下载

WSNs中MA模式与C/S模式比较与分析*

2014-09-25杨郑龙曹凯英

传感器与微系统 2014年5期
关键词:跳数个数数据包

张 胜, 杨郑龙, 曹凯英

(南昌航空大学 信息工程学院,江西 南昌 330063)

0 引 言

无线传感器网络(WSNs)的计算模式主要分为C/S模式和移动Agent(MA)模式[1,2]。C/S模式下,网络中多个子节点会共同拥有一个父节点,整体网络数据信息将向Sink节点汇聚,网络中节点数据信息最快可通过数次转发就到达Sink节点[3]。C/S模式具有较强的实时性和快速响应等特点。但C/S模式也有明显的不足,网络节点将采集的数据不做压缩或融合处理,全部回传给Sink节点,将产生大量的冗余数据[4]。越靠近Sink节点,节点的数据转发量越大,将会加大节点数据拥塞度,造成大量数据包冲突甚至丢失[5,6],而这些节点由于要过多地转发网络数据而消耗掉大量能量,它们将会过早的死亡,这样将会造成网络空洞或出现孤岛节点[7]。MA模式是另一种分布式计算模式,MA实际上由代码组成,在WSNs中,MA根据为它预设计的迁移路线在网络中巡游,并融合节点的数据信息,最后MA将全网的数据信息融合结果带回给Sink节点。MA模式具有自主性、智能性等特点,并且其在巡游过程中会对节点上的数据信息进行融合,这样可以大量减少网络冗余数据[8]。在MA中设置路由机制,使得其可以根据周围环境,有效地选择下一跳节点,提高链路质量,动态适应网络拓扑变化[9,10]。所以,对C/S模式与MA模式性能进行比较可以为不同功能的WSNs计算模式的选择提供依据。

目前,有许多文献对C/S模式和MA模式进行应用和研究,文献[11]提出基于Agent的近似最优分布式数据融合方法。而文献[12]则将数据融合策略与MA路由结合,提出了基于融合代价的最佳MA的路由算法。文献[13]将MA用于DD路由协议,提出MADD路由协议,其通过有效节点发现、节点间路由建立、Agent数据采集3个阶段,完成源节点和目标节点间的通信,结果显示,MADD路由协议具有节省能耗、降低带宽需求、减少网络延时以及具有较大的灵活性等特点。文献[14]将MA模式和C/S模式的网络性能进行比较,整体来看,MA模式优于C/S模式。

本文从网络跳数角度对C/S模式和MA模进行比较和分析,跳数评判方法更切合节点传输特性,可以简单有效地评估网络的性能。

2 网络模型

2.1 网络描述

网络由性质相同的节点组成。网络中有一个Sink节点和n个成员节点,其集合为S={S0,S1,S2,…,Sn},其中,S0为Sink节点,其余为成员节点,分别有m1,m2,m3,…,mn个数据包。C/S模式和MA模式网络模型相同。

2.2 C/S模式节点数据传输模型

C/S模式的传输机制分为2种:1)独占机制;2)竞争机制。其中,独占机制下,成员节点将抢占Sink节点空闲信道,抢占成功的节点将独享Sink节点信道,直到其上所有数据发送完毕才释放Sink节点的信道并停止工作。而余下的成员在此期间仍不断地向Sink节点发送数据包。在竞争机制下,成员节点的所有数据包都要抢占Sink节点的信道,直到节点数据包全被接收后节点停止工作。C/S模式中,独占机制为特殊的竞争机制,且它会产生竞争机制中最少跳数。图1为C/S模式的传输模型。

图1 C/S传输模型

2.3 MA模式节点数据传输模型

Sink节点向一个成员节点派发MA消息,MA在成员节点间单向不重复传送,MA在移动过程中融合节点上的数据包,MA工作完后将跳向下一节点,未融合的数据包也将发送到MA所跳达的节点,等待MA的再次融合。最后MA将全网数据的融合结果带回Sink节点。图2为MA模式传输模型。

图2 MA传输模型

3 算法描述

3.1 C/S模式跳数计算

3.1.1 独占机制

网络成员节点S1,S2,S3,…,Sn将同时同周期地向Sink节点发送数据包。当第k个成员节点Sk抢占到Sink节点信道时,其将向Sink节点发送mk个数据包,其余n-1个成员节点也向Sink节点发送mk个数据包,所以,网络跳数为nmk。

跳数计算方法如下:

第k个子节点Sk被接收时网络总跳数

N1=nmk,k⊆(1,n);

第t个子节点Sj被接收时网络总跳数

Nt=(n-t+1)mj,j⊆(数据包未被接收的节点);

第n个子节点Sl被接收时网络总跳数

Nn=ml,l=(最后一个数据包未被接收的节点)。

所以,网络总跳数

1)mj+…+ml.

当m1,m2,m3,…,mn都为1时,网络总跳数

当m1,m2,m3,…,mn均大于或等于1时, 假设m1≤m2≤m3≤…≤mn,Sink节点从m1开始顺序向mn接收,则网络总跳数最少

相反,网络总跳数最多

综上所述,C/S模式中独占机制下网络总跳数

mp≤mq,p

3.1.2 竞争机制

竞争机制下每个子节点数据包被接收的概率为1/n,此时相当于网络所有子节点的数据包都进行竞争,每个子节点的数据包将发送到只剩最后一个,然后子节点会陆续停止工作。网络跳数为:

第一个子节点产生的网络跳数

N1=n×m1;

第二个子节点产生的网络跳数

N2=n×m2;

第n个子节点产生的网络跳数

Nn=n×mn.

由于子节点发送完数据包会停止工作,停止工作的节点的数据包接收概率将不再为1/n,要减去n个节点最后一个数据包的n次竞争,然后加上子节点陆续停止工作情况下的跳数,故网络跳数为

所以,网络总跳数

mp≤mq,p≠q.

3.2 MA模式跳数计算

设定MA对n个子节点数据包的融合比例为p1,p2,p3,…,pn,则未融合的比例为1-p1,1-p2,1-p3,…,1-pn,将其表示为q1,q2,q3,…,qn。假设MA由S1顺序向Sn移动。跳数计算方法如下:

MA移出第一个节点时网络跳数

N1=m1×q1;

MA移出第二个节点时网络跳数

N2=(N1+m2)·q2=m1q1q2+m2q2;

MA移出第n个节点时网络跳数

所以,网络总跳数

NMA=N1+N2+N3+…+Nk+…+Nn

mn-1qn-1qn.

如果各节点融合比例因子都相等,当m1≥m2≥…≥mn时,网络总跳数最大,用NMA max表示,当m1≤m2≤…≤mn时,网络总跳数最小,用NMA min表示。

4 仿真结果与分析

4.1 发送一个数据包时跳数比较

当成员节点只发送一个数据包时,C/S模式下竞争机制和独占机制结果相同。

1)节点个数为变量时跳数比较

当节点个数为变量时,取值范围为[0,20];MA个数为1。2种模式的跳数比较如4图所示。

图3 节点个数为变量时2种模式跳数比较

由上图可见,随着节点个数的增加C/S模式的跳数急剧增加,而MA模式的跳数增加非常缓慢,表明采用MA模式可有效抑制网络跳数。但是在节点个数小于2时,C/S模式的跳数小于MA模式的跳数(由图4可见)。

图4 图3的部分放大图

2)MA个数为变量时跳数比较

当MA个数为变量时,取值为[0,10];节点个数为常量,取值为20。(此时网络中各成员节点只可供一个MA使用,其他MA不可使用)。2种模式的跳数比较如图5。

图5 移动代理个数为变量时2种模式跳数比较

由上图可见,随着MA个数的增加,MA模式的跳数缓慢增加,其原因是在此网络规模下,多MA会造成多余的跳数,但其网络总跳数还是远小于C/S模式的跳数。

4.2 发送多个数据包时跳数比较

节点发送多个数据包时,网络各成员节点数据包发送个数m1,m2,m3,…,mn取值范围设定为[1,10],节点上融合比例因子p1,p2,p3,…,pn取值范围设定为(0,1]。每个成员节点发送数据包个数和融合比例都随机地进行分配,且分配后固定不变。

1)节点数影响

图6 节点数对跳数影响

表1 成员节点发送数据包个数

表2 成员节点融合比例因子

2)融合比例因子影响

设定网络中有20个成员节点,数据包随机分配给各个节点,每个成员节点具有相同的融合比例因子。随着融合比例因子变化,2种模式跳数变化如图7所示。从图中可看出:融合比例因子只对MA模式有影响,当因子为0时,MA模式网络总跳数在C/S模式网络总跳数最大和最小值之间,此时的2种模式网络总跳数很相近。当融合比例因子大于等于0.1时,MA模式网络总跳数明显要少于C/S模式的,并且其减少数据很快。融合比例因子对MA模式的网络总跳数的大小起了决定性因素。

图7 融合比例因子对跳数影响

3)数据包数影响

设定网络中有20个节点,融合比例因子随机分配给各个节点,每个成员节点具有相同的数据包数。随着节点上数据包数量变化,2种模式跳数变化如图8所示。随着节点上数据包个数的增加,2种模式网络总跳数都会增加,但MA模式网络总跳数增加缓慢,而C/S模式的增加幅度较大。数据包的增加会对C/S模式的网络总跳数产生巨大影响,而对MA模式的影响较小。所以,当节点发送数据包数量增加时,MA模式可有效抑制网络总跳数。

图8 数据包个数对跳数影响

5 结 论

本文对一跳网络进行研究,将网络数据抽象成数据包形式,数据包转发次数抽象为网络跳数,并对C/S模式和MA模式的网络总跳数进行了推导与比较分析。从结果可以得出:MA模式网络性能总体上优于C/S模式;但其跳数主要受融合比例因子影响,其次受MA个数会影响。所以,使用优秀的融合算法是提高MA模式网络性能的一个重要因素。

参考文献:

[1] Johnson D B,Maltz D A.Mobile computing[M].[S.1.]:Kluwer Academic Publishers,1996.

[2] Qi H, Xu Y Y,Wang L X. Mobile-agent-based collaborative signal and information processing in sensor networks[C]∥Proc of IEEE, 2003, 91(8): 1172-1183.

[3] Agre J, Clare L. An integrated architecture for cooperative sen-sing networks[J]. IEEE Computer Magazine, 2000,33(5):106-108.

[4] Fuggetta A,Picco G P,Vigna G.Understanding code mobility[J].IEEE Trans on Software Engineering,1998,24( 5):342-361.

[5] Xu Yingyue,Qi Hairong.Distributed computing paradigms for co-llaborative signal and information processing in sensor network-s[J].Journal of Parallel and Distributed Computing,2004,64(8):945-959.

[6] 杨俊刚,史浩山,杨 武.无线传感器网络 CSMA 博弈优化算法研究[J].传感技术学报, 2009 (12): 1774-1778.

[7] 吴小兵,陈贵海. 无线传感器网络中节点非均匀分布的能量空洞问题[J].计算机学报,2008,31(2):253-261.

[8] Qi H,Iyengar S S,Chakrabarty K. Multi-resolution data integration using mobile agents in distributed sensor networks[J]. IEEE Trans on Systems Man Cybernet,Part C,2001,31(3):383-391.

[9] 梁振球,陈 雅.无线传感器网络移动代理路由算法的仿真研究[J].计算机仿真,2011,28(2):167-170.

[10] 杨少军,史浩山,黄 睿.线传感器网络移动Agent路由算法的研究与仿真[J].系统仿真学报,2007,19(2):388-395.

[11] Gavalas D,Mpitziopoulos A,Pantziou G,et al.An approach for near-optimal distributed data fusion in wireless sensor network-s[J].Wireless Networks,2010,16(5):1407-1425.

[12] Tu Zhiliang,Wang Qiang,Shen Yi.Optimal mobile agent routing with fusion cost in wireless sensor network[C]∥International Instrumentation and Measurement Technology Conference,Singapore,2009.

[13] 王结太,杨少军,于海勋,等.无线传感器网络移动Agent的应用[J].计算机工程,2008,34(3):133-135.

[14] 魏永红,李科杰.移动Agent 计算模式的无线传感器网络性能[J].计算机应用研究,2011,28(4):1490-1494.

猜你喜欢

跳数个数数据包
二维隐蔽时间信道构建的研究*
怎样数出小正方体的个数
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
等腰三角形个数探索
基于DDoS安全区的伪造IP检测技术研究
怎样数出小木块的个数
SmartSniff
怎样数出小正方体的个数
跳数和跳距修正的距离向量跳段定位改进算法
经典路由协议在战场环境下的仿真与评测