一种基于节点群体关系度的网络分簇方法与流程

文档序号:14993919发布日期:2018-07-20 23:11阅读:403来源:国知局

本发明属于通信技术领域,涉及一种基于节点群体关系度的网络分簇方法。



背景技术:

无线传感器网络(wirelesssensornetwork)是由部署在监测区域内大量的微型传感器节点或者携带无线传感器的移动终端设备组成,通过无线通信方式形成的一个多跳、自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中的信息。

近年来,wsn得到了长足的发展,在众多方面都得到了广泛的应用,如环境监控、生态观测、抢险救灾、城市交通、生物医疗以及目标定位等。无线通信技术、计算机技术等多方面技术取得的巨大成就使得成本低、体积小、适于中短距离通信的多功能传感器越来越丰富,以传感器为主要单元的网络结构也越来越复杂。

分簇是将网络终端节点依据某种关联规则划分成逻辑上独立的节点集合,是一种网络结构的管理与优化。它最早出现在分组无线网中,通过划分网络节点,形成层次结构,相邻节点组成群组,群成员(groupmember,gm)推选一个群首(groupleader,gl),又叫簇首(clusterhead,ch),簇首构成二层骨干网来转发成员数据。在具有自组织特性的网络中,把原有地位相对固定和作用基本对等的终端节点聚合到上一层次中,通过兼具网关作用的簇首与其他群组的簇首或网络设施进行数据交互,大幅减少接入网络的承载能力,有效控制网络拥塞问题。同时,将节点的移动性作为簇首选举的依据,进一步延伸了网络的可扩展性,使得原有的平面体系结构的自组织网络具备层次式管理方式。从网络管理和网络性能优化等角度来看,分簇策略非常适于网络中移动节点的管理。所以,在将分簇的概念引入网络结构优化与管理后,分簇的思想可以很好地对网络中移动节点进行管理,由此,分簇方法也得到很多研究者的关注。

在wsn中,尤其是网络中存在较多的移动节点时,合理的分簇方法能有效地对网络结构进行优化及管理,进而能够减少终端节点间的通信距离与通信量,对于减少路由开销、节省带宽、降低能耗、延长节点及网络的生命周期,以及提高网络故障诊断正确率等方面,都具有十分重要的意义。



技术实现要素:

有鉴于此,本发明的目的在于提供一种节点群体关系度的分簇方法,能够有效地提高移动传感器网络分簇的稳定性,进而改善网络整体性能。

为了达到上述目的,本发明提供如下技术方案:

一种基于节点群体关系度的网络分簇方法,包括以下步骤:

步骤1)终端节点移动信息,包括移动速度、地址位置等,因此可以计算出单位时间t内的平均速度δv和平均加速度δa;同时,以坐标轴为基准,计算节点在x轴和y轴上的线性位移δxt和δyt,则单位时间t内的位移d为:

单位时间t内的平均速度为:

同样,单位时间t内的平均加速度为:

步骤2)对每个终端节点计算其一跳通信范围内的所有邻居节点的群体关系值(grouprelation,gr),d2d模式可以使得节点将自身的平均速度δv和平均加速度δa封装在hello信息包内,广播给一跳范围内的所有邻居节点;每个节点在收到邻居的hello包后,计算与其邻居节点的相对速度rv和相对加速度ra;gr值通过节点i和节点j的相对速度rv和相对加速度ra的乘积确定;节点i和节点j的相对速度rv为:

其中,vmax为网络中允许节点移动的最大速度;

同理,每个终端节点与其邻居节点的相对加速度ra为:

其中amax为节点的最大加速度;

因此,节点i和节点j之间的空间相关度sd(i,j)可通过以下公式计算:

sd(i,j)=rv(i,j)×ra(i,j)

由此可知,节点i的空间相关度的总和(totalspatialdependency,tsd)可以定义为节点i一跳邻居节点sd的和,满足下式:

步骤3)通过tsd值可以推导出节点的gr值为:

其中,n为某一节点的一跳邻居个数。

通过上式可知,gr值代表节点与其所有邻居节点移动特性的相似程度,gr值越高说明该节点在该单位时间内与其邻居节点的移动相似性越高,记节点i的群体关系值为gr(i,t)。

步骤4)根据马尔科夫链的轨迹预测,可以在t时刻得到t+t时刻的位置,由此可以计算出t+t的群体关系值gr(i,t+t),则单位时间t内节点i的群体关系值的变化率δgr可定义为:

步骤5)分别对各节点的群体关系值gri和群体关系值的变化率δgri归一化,归一化过程计算如下:

同样,归一化的群体关系值的大小表征了节点与其邻居节点依赖度的大小,归一化的群体关系值的变化率表征节点对其邻居节点群体关系变化的依赖度大小。

步骤6)根据t时刻的gr和δgr确定簇首。

权重值分别为α(0<α<1)和β(0<β<1),且α+β=1,由于群体关系值gr越大,分簇越稳定,群体关系值变化率δgr越大,分簇开销越大,因此,群体关系值gr可作为节点群体关系度量值ωgr的效益值,而群体关系值的变化率δgr可作为节点群体关系度量值ωgr的成本值,则移动节点i的群体关系度量值计算如下:

进而将的节点作为簇首,以代表群体的移动特征,权重的确定可以依据当前节点的移动状态和算法目标动态来设定。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为本发明所述的基于节点群体关系度的网络分簇方法流程示意图;

图2为本发明所述的主要数据包结构示意图;

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本发明提供了一种基于节点群体关系度的网络分簇方法,该方法以节点的平均速度和平均加速度为基本移动特征,计算节点间的群体关系值;进一步通过马尔科夫过程预测节点的移动轨迹,根据预测位置可以获得节点下一时刻的群体关系值,进而可以得到移动节点群体关系值在某一时间内的变化率;以节点的群体关系值和群体关系值的变化率来共同判定节点的节点群体关系度,将节点群体关系度值最大的节点作为簇首,以完成簇建立过程,针对不同的应用场景,该分簇算法可以做出自适应的改变,在网络规模与节点移动的应用场景中,该分簇方法可以构建出一个稳定的群组,在簇首数目、簇首生存时间和簇首变化次数三方面都能取得不错的效果,可以有效地降低分簇开销与改善网络整体性能,该方法的具体实施包括如下步骤:

步骤1)初始状态时,即终端节点i还未加入任意一个簇,节点i与其所有邻居节点之间每隔时间t广播一次hello包;hello包主要包括节点i的节点id、平均速度δv、平均加速度δa和移动方向等,邻居节点将hello包反馈回发送节点,该发送节点按以下步骤计算出自身对应的gr值和ωgr值:

步骤1-1)终端节点移动信息,包括移动速度,地址位置等,因此可以计算出单位时间t内的平均速度δv和平均加速度δa,同时,以坐标轴为基准,计算节点在x轴和y轴上的线性位移δxt和δyt,则单位时间t内的位移d为:

单位时间t内的平均速度为:

同样,单位时间t内的平均加速度为:

步骤1-2)对每个终端节点计算其一跳通信范围内的所有邻居节点的群体关系值(grouprelation,gr),d2d模式可以使得节点将自身的平均速度δv和平均加速度δa封装在hello信息包内,广播给一跳范围内的所有邻居节点;每个节点在收到邻居的hello包后,计算与其邻居节点的相对速度rv和相对加速度ra,gr值通过节点i和节点j的相对速度rv和相对加速度ra的乘积确定,节点i和节点j的相对速度rv为:

其中,vmax为网络中允许节点移动的最大速度;

同理,每个终端节点与其邻居节点的相对加速度ra为:

其中amax为节点的最大加速度;

因此,节点i和节点j之间的空间相关度sd(i,j)可通过以下公式计算:

sd(i,j)=rv(i,j)×ra(i,j)

由此可知,节点i的空间相关度的总和(totalspatialdependency,tsd)可以定义为节点i一跳邻居节点sd的和,满足正式:

步骤1-3)通过tsd值可以推导出节点的gr值为:

其中,n为某一节点的一跳邻居个数,通过上式可知,gr值代表节点与其所有邻居节点移动特性的相似程度,gr值越高说明该节点在该单位时间内与其邻居节点的移动相似性越高,记节点i的群体关系值为gr(i,t)。

步骤1-4)根据马尔科夫链的轨迹预测,可以在t时刻得到t+t时刻的位置,由此可以计算出t+t的群体关系值gr(i,t+t),则单位时间t内节点i的群体关系值的变化率δgr可定义为:

步骤1-5)分别对各节点的群体关系值gri和群体关系值的变化率δgri归一化,归一化过程计算如下:

同样,归一化的群体关系值的大小表征了节点与其邻居节点依赖度的大小,归一化的群体关系值的变化率表征节点对其邻居节点群体关系变化的依赖度大小。

步骤1-6)根据t时刻的gr和δgr确定簇首

权重值分别为α(0<α<1)和β(0<β<1),且α+β=1,由于群体关系值gr越大,分簇越稳定,群体关系值变化率δgr越大,分簇开销越大,因此,群体关系值gr可作为节点群体关系度值ωgr的效益值,而群体关系值的变化率δgr可作为节点群体关系度值ωgr的成本值,则节点i的移动节点群体关系度计算如下:

进而将的节点作为簇首,以代表群体的移动特征。

步骤2)当有节点希望加入某个簇时首先需要判别该节点的一跳范围内是否存在已经推举出来的簇首,如果存在,则转到步骤5,否则,则需要重新开始执行一个簇建立的过程;此时,请求加入簇的节点向它的所有邻居节点发送request消息,该消息中包括节点id、群首id(没有加入簇时id为-1)、移动方向以及该节点的gr值和ωgr值。

步骤3)当所有邻居节点都收到request消息后,开始向请求接入簇或准备创建簇的源节点发送peply消息,同时,参与回复的邻居节点做好建簇的准备;peply消息中包括移动节点id、簇id、移动方向以及该节点的gr值和ωgr值;源节点收到peply消息后,查看包中的邻居节点的移动方向值,如果该邻居节点与源节点移动方向一致,则保留该消息,否则,将该消息丢弃。

步骤4)如果请求加入簇的节点的gr值通过对比其一跳范围内的所有邻居节点的gr值后发现,该节点的gr值最小,则取消此次加入簇的请求;然后等待一定的时间间隔,再发送request消息,如果该节点的gr值大于其一跳范围内的某个邻居节点的gr值,则该节点计算其ωgr值,并与其所有邻居节点对比求得ωgr值最大的节点即由此,一个簇的簇首被推举出来,同时在其一跳范围内广播声明该节点为簇首,成为簇首的节点向其一跳邻居节点及时发送invite消息,不断组合自己的簇成员,直到达到其簇成员数的上限,在此过程中要记录每一个簇成员的gr值,得出最小的gr值grmin,作为申请加入簇的门限值。

步骤5)当某个节点在请求加入簇时,若其一跳范围内已经存在邻居节点当选簇首,那么此时该节点发送request消息给一跳内的簇首节点,簇首通过判断该节点的gr值是否大于最小门限值如果是,则允许该节点加入本簇,否则忽略此次加簇请求,簇组继续正常运行。

步骤6)由于簇首的服务能力有限,可承载的簇成员请求数量需要保持在一定数值之内,所以,当以某一节点为簇首的簇组中,通过簇首记录簇成员数ngroup及其成员的邻居节点数nneighbor,发现二者的比值小于某一设置值z,则说明该簇的成员密度较大,簇首负载压力增大,应该适当划分多个簇组,所以,此时簇首主动发送dismiss消息解散该簇,所有成员重新运行簇建立的过程,以防止簇首本身因负载过大而导致的数据拥塞及能量耗尽等问题。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1