发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于定位信息的无线传感器网络构建方法。
技术方案:本发明公开了一种基于定位信息的无线传感器网络构建方法,所述无线传感器网络包括三类节点:网关节点,骨干节点和一般节点;
其中,网关节点为连接无线传感器网络和互联网的接入路由器;骨干节点用于执行路由转发功能,其传输半径为r;一般节点不执行路由转发功能,其传输半径为r’;且半径r和半径r’之间有如下关系,如下述公式所示:
所述无线传感器网络区域划分为多个正方形子区域,每个子区域的面积为r×r并由坐标(x,y)唯一标识;
一个无线传感器网络中只有一个网关节点,一个子区域中只有一个骨干节点,网关节点与无线传感器网络内所有的骨干节点形成路由骨干网;路由骨干网的拓扑结构为树状结构,网关节点为树的根节点,一般节点与互联网节点通信时,首先将数据发送给所在子区域的骨干节点,然后由骨干节点通过树状路由骨干网将数据发送到互联网;
网关节点、骨干节点以及一般节点具有网络唯一性的ID值,且定期在一跳范围内广播信标消息;网关节点的信标消息负载为空;一般节点的信标消息负载为其所在子区域的坐标以及其一跳范围内且在相同子区域的邻居节点数;骨干节点的信标消息负载包括所在子区域的坐标、父节点所在子区域坐标、所在树状结构的深度以及一跳范围内且在相同子区域的邻居节点数;如果骨干节点没有加入到树状结构,设定其深度为-1且父节点所在子区域的坐标为(-1,-1);
骨干节点和一般节点根据收到的信标消息来获取本区域的邻居节点数。
通过上述无线传感网络体系结构,可以实现骨干节点的最小化。由于只有骨干节点实现路由,因此可有效减少路由路径长度,从而降低路由代价和延迟。同时也增强了网络拓扑结构的稳定性,进而降低了路由更新代价和延迟。一般节点和骨干节点采用不同的传输半径,从而降低一般节点的功耗,延迟网络寿命。
本发明所述方法中,初始状态下,所有节点都设定为一般节点,当一般节点获取所在子区域的邻居节点数后,通过下述过程选举所在子区域的骨干节点:
步骤301:开始;
步骤302:一般节点X检测所有相同子区域内一般节点广播的信标消息;
步骤303:判断一般节点X的邻居节点数是否大于相同子区域内其他一般节点的邻居节点数,如果是,进行步骤305,否则进行步骤304;
步骤304:判断一般节点X的邻居节点数是否不小于相同子区域内其他一般节点的邻居节点数目,且它的ID值比其他具有相同邻居节点数的节点的ID值更小,如果是,进行步骤305,否则进行步骤307;
步骤305:一般节点X将自己标记为骨干节点X,同时将传输半径更改为r;
步骤306:同一子区域的一般节点收到骨干节点X的信标消息后,记录下骨干节点X的ID值,进行步骤308;
步骤307:一般节点X等待骨干节点的信标消息;
步骤308:结束。
由于无线传感器网络中的骨干节点的产生过程可以同时进行,因此大大缩短了网络构建的延迟,进而降低了丢包率,减少了网络构建的代价。
本发明所述方法中,骨干节点选举成功后,保持接收其他骨干节点的信标消息;如果骨干节点收到多个其他骨干节点的信标消息,则计算多个其他骨干节点的优先级并选择优先级最高的骨干节点作为父节点,同时记录下父节点所在子区域的坐标以及自己所在树的深度值;
骨干节点的优先级算法包括:
1)如果骨干节点X所在树的深度值为正值且小于骨干节点Y的值,则骨干节点X的优先级高于骨干节点Y;
2)如果骨干节点X与骨干节点Y所在树的深度值相同,则比较它们所在子区域的邻居节点数,如果骨干节点X的邻居节点数大于骨干节点Y的邻居节点数,则骨干节点X的优先级高于骨干节点Y;
3)如果骨干节点X所在树的深度值以及邻居节点数均等于骨干节点Y,则比较它们的ID值,如果骨干节点X的ID值小于骨干节点Y,则骨干节点X的优先级高于骨干节点Y。
骨干节点通过上述优先级算法可形成最优路由路径,从而降低路由代价,缩短路有延迟,保证路由的正确性。
本发明所述方法中,当一个骨干节点X移动到另外一个子区域时,将自己标记为一般节点;骨干节点X原来所在子区域内的一般节点在规定时间内没有收到本子区域内的骨干节点的信标消息,则将本子区域内邻居节点数量最多的一般节点Y选举为新的骨干节点,同时骨干节点Y将优先级最高的邻居骨干节点作为父节点;骨干节点X原来的子节点收到骨干节点Y的信标消息后,根据其子区域坐标,将父节点的ID值更新为骨干节点Y的ID值。
当网络节点移动时,通过上述过程可以保证网络拓扑结构的稳定性,从而确保路由的正确性和连续性。
本发明所述方法中,如果骨干节点X检测到所在子区域的一般节点Y的邻居节点数大于自己的邻居节点数,则判断自己无法覆盖所在子区域,并将自己标记为一般节点;
一般节点Y检测到所在子区域的骨干节点X的邻居节点数小于自己的邻居节点数后,则将自己标记为骨干节点Y,同时将优先级最高的邻居骨干节点作为父节点;
骨干节点X原来的子节点在收到骨干节点Y的信标消息后,根据其所在子区域坐标,将父节点的ID值更新为骨干节点Y的ID值。
当骨干节点无法覆盖所在子区域时,通过上述过程可以选举新的骨干节点,从而保证网络拓扑结构的稳定性,确保了路由的正确性和连续性。同时也可以保证每个一个节点可以与互联网实现正确的通信。
本发明所述方法中,如果骨干节点X在规定时间内无法收到其父节点F1的信标消息,骨干节点X将优先级最高的邻居骨干节点F2作为父节点;
如果骨干节点F2只能收到骨干节点X的信标消息,骨干节点F2则将父节点所在区域标记为(-1,-1),所在树深度为-1;
当骨干节点X收到骨干节点F2的信标消息后,重新选择优先级最高的邻居骨干节点F3作为父节点;
骨干节点F2在收到骨干节点X的信标消息后,则选择骨干节点X作为父节点。
当网络节点移动时,通过上述过程可以保证网络拓扑结构的稳定性,从而确保路由的正确性和连续性。
本发明所述方法中,一般节点定期向互联网节点发送采集数据以供监测,通信过程为:
步骤401:开始;
步骤402:一般节点将数据发送到所在子区域的骨干节点;
步骤403:骨干节点将数据发送到其父节点;
步骤404:判断数据是否到达网关节点,如果是,进行步骤405,否则返回步骤403;
步骤405:网关节点通过互联网路由方式将数据发送到互联网的目的节点;
步骤406:结束。
通过上述过程,无线传感器网络可以实现与互联网节点的正确通信。
有益效果:本发明提供了一种基于定位信息的无线传感器网络构建方法,此实现方法可广泛用于健康医疗和车载网等领域,例如,在健康医疗领域,可将无线传感器网络用于检测病人的病情,通过本发明提供的实现方法,传感器节点可以收集病人身体的物理参数,例如血压,心跳等,并将这些参数传给医生,以及时监测病人病情,及时抢救,防止危险发生。此外,本发明也可用于车载网络,通过本发明可使每个车辆之间的传感器节点相互连接,协同工作,共享信息。
具体实施方式:
本发明提供了一种基于定位信息的无线传感器网络构建方法,所述无线传感器网络构建方法降低了路由功耗,缩短了路由延迟,可广泛用于健康医疗和车载网等领域。
图1为本发明所述的无线传感器网络拓扑结构示意图。所述无线传感器网络1包括三类节点:网关节点2,骨干节点3和一般节点4;其中,网关节点2为连接无线传感器网络1和互联网5的接入路由器;骨干节点3用于执行路由转发功能,其传输半径为r;一般节点4不执行路由转发功能,其传输半径为r’;且半径r和半径r’之间有如下关系,如下述公式所示:
所述无线传感器网络1区域划分为多个正方形子区域6,每个子区域6的面积为r×r并由坐标(x,y)唯一标识。图1的实施例中,16个正方形子区域的坐标由左至右由上至下依次是(0,3),(1,3),(2,3),(3,3),(0,2),(1,2),(2,2),(3,2),(0,1),(1,1),(2,1),(3,1),(0,0),(1,0),(2,0),(3,0)。
一个无线传感器网络1中只有一个网关节点2,一个子区域6中只有一个骨干节点3,网关节点2与无线传感器网络1内所有的骨干节点3形成路由骨干网;路由骨干网的拓扑结构为树状结构,网关节点2为树的根节点,一般节点4与互联网节点通信时,首先将数据发送给所在子区域6的骨干节点3,然后由骨干节点3通过树状路由骨干网将数据发送到互联网5;网关节点2、骨干节点3以及一般节点4具有网络唯一性的ID值,且定期在一跳范围内广播信标消息;网关节点2的信标消息负载为空;一般节点4的信标消息负载为其所在子区域6的坐标以及其一跳范围内且在相同子区域6的邻居节点数;骨干节点3的信标消息负载包括所在子区域6的坐标、父节点所在子区域6坐标、所在树状结构的深度以及一跳范围内且在相同子区域6的邻居节点数;如果骨干节点3没有加入到树状结构,设定其深度为-1且父节点所在子区域6的坐标为(-1,-1);骨干节点3和一般节点4根据收到的信标消息来获取本区域6的邻居节点数。
图2为本发明所述的选举骨干节点的流程示意图。初始状态下,所有节点都设定为一般节点,当一般节点获取所在子区域的邻居节点数后,通过下述过程选举所在子区域的骨干节点:
步骤301:开始。
步骤302:一般节点X检测所有相同子区域内一般节点广播的信标消息。
步骤303:判断一般节点X的邻居节点数是否大于相同子区域内其他一般节点的邻居节点数,如果是,进行步骤305,否则进行步骤304。
步骤304:判断一般节点X的邻居节点数是否不小于相同子区域内其他一般节点的邻居节点数目,且它的ID值比其他具有相同邻居节点数的节点的ID值更小,如果是,进行步骤305,否则进行步骤307。
步骤305:一般节点X将自己标记为骨干节点X,同时将传输半径更改为r。
步骤306:同一子区域的一般节点收到骨干节点X的信标消息后,记录下骨干节点X的ID值,进行步骤308。
步骤307:一般节点X等待骨干节点的信标消息。
步骤308:结束。
图3为本发明通信流程示意图,一般节点定期向互联网节点发送采集数据以供监测,通信过程为:
步骤401:开始。
步骤402:一般节点将数据发送到所在子区域的骨干节点。
步骤403:骨干节点将数据发送到其父节点。
步骤404:判断数据是否到达网关节点,如果是,进行步骤405,否则返回步骤403。
步骤405:网关节点通过互联网路由方式将数据发送到互联网的目的节点。
步骤406:结束。
综上所述,本发明提供了一种基于定位信息的无线传感器网络构建方法,此项技术可以应用于医疗健康、车载网络、农业现代化等诸多领域,例如,在健康医疗领域,可将无线传感器网络用于检测病人的病情,通过本发明提供的实现方法,传感器节点可以收集病人身体的物理参数,例如血压,心跳等,并将这些参数传给医生,以及时监测病人病情,及时抢救,防止危险发生。此外,本发明也可用于车载网络,通过本发明可使每个车辆之间的传感器节点相互连接,协同工作,共享信息。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本技术具有很高的推广价值。
本发明提供了一种基于定位信息的无线传感器网络构建方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。