[0055] 为了更进一步地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图来进行阐述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 如图1所示,本发明实施例提供了一种基于Dijkstra算法的高服务质量的无线传感器网络分簇路由协议,该协议可以包括以下步骤:
[0057] 基于Dijkstra的无线传感器网络分簇路由协议,其特征在于:
[0058] 步骤一、如图2和3所示,在覆盖需求重数为2的监测区域中构建蜂窝网络,然后在网格左上、右上和中下顶点处布置传感器节点,完成1‑覆盖的节点部署,最后在网格中心顶点处布置传感器节点,完成2‑覆盖的节点部署;基站(BS)部署在监测区域的中心;
[0059] 步骤二、为平衡能耗,以基站为中心,将监测区域分为四个小区域,分别在各自的小区域中选出剩余能量占前25%的节点作为簇首,并统计存活节点数目,记为m。剩余能量的获取为现有成熟技术。
[0060] 步骤三、步骤二得到的所有簇首向周围的普通节点发送广播,后者根据接收信号的强度,依次加入最强信号所从属的簇中,并通知相应的簇首,完成簇的建立。
[0061] 步骤四、根据图4所示的协议时隙分配图,所有簇首为其所在簇的成员节点创建相应的TDMA时刻表,并以(Node NO.1,Time Slot 1;Node NO.2,Time Slot 2;……)的形式将一则名为Schedule_Msg的控制消息发送给它的成员节点。
[0062] 步骤五、计算每个簇首节点到其他簇首节点之间的各权值,计算公式如下:
[0063]
[0064] 上式中,簇首节点i与簇首节点j之间的权值用两者之间传输信息的所需能耗ET(l,d(i,j))来表示。d(i,j)代表簇首节点i与簇首节点j之间的距离;l为簇首节点i与簇首节点j之间单次传输的数据大小;Eelec代表发射机或接收电路每比特消耗的能量,值为2 4
50nJ/bit;εfs=10pJ/bit/m,εmp=0.0013pJ/bit/m;临界值
[0065] 步骤五、如图5所示,若簇首节点i与簇首节点x的距离d(i,x)明显大于簇首节点i与基站的距离d(i,BS),则此路径是非必要路径,将其忽略考虑,降低后续计算复杂度,以免造成多余的能量消耗。
[0066] 步骤六、计算每个簇首节点到基站之间的各必要路径权值,计算公式如下:
[0067]
[0068]
[0069] 上式中路径Path(M1,Mn+1)中,信息起始点是节点M1,依次经过M2,M3…,直至最终到达到节点Mn+1。
[0070] 步骤七、构建簇首编号集合T,初始化每个簇首的下一跳簇首集合NH={},初始化每个簇首到基站的最佳路径集合PA={},初始化每个簇首到基站的跳数集合HP=[1,1,...,1]n。其中,n是集合T的大小,即簇首数目。
[0071] 步骤八、将T中所有的簇首按照与基站的距离从近到远进行排列,得到集合CHs。
[0072] 步骤九、从前往后遍历集合CHs中的簇首节点,设此时的节点序号为i;
[0073] 步骤十、从前往后遍历集合CHs中的前i‑1个簇首节点,设此时的节点序号为j;
[0074] 步骤十一、若满足d(i,j)
[0075] W(Path(j,BS))*HP(j)+W(i,j)
[0076] 则W(i,BS)=[W(Path(j,BS))*HP(j)+W(i,j)]/(HP(j)+1)
[0077] HP(i)=HP(j)+1,NH(i)=CHs(j),PA(i)=PA(j)+{CHs(i)}
[0078] 步骤十二、若j
[0079] 步骤十三、若i
[0080] 步骤十四、各个簇的成员节点感知环境信息,并将信息传输到对应的簇首。后者负责处理接收到的信息,并依据簇首路由机制将处理之后的信息发送到下一跳簇首节点或基站中去。若此时区域内所有节点全部死亡,则结束,否则跳转至步骤二。
[0081] 在步骤1中,采用网络覆盖率Coverage、信息完整性Integrity、信息有效性Validity、信息冗余性Redundancy分析节点部署方案,网络覆盖率需要达到100%,信息完整性需要达到100%,信息有效性需要达到80%以上,信息冗余性需要达到20%以下,则认为符合工程的需要。
[0082] 网络覆盖率Coverage指的是监测区域内能被传感器节点所感知的目标点数目占所有目标点的百分比。
[0083] 信息完整性Integrity是指所获得的信息的有效成分占整个监测区域所需的信息的百分比。其中,信息的有效成分EIG指的是所获信息中不大于目标点覆盖需求重数的信息,计算公式如下:
[0084]
[0085] 式中,M(s)与J(s)分别表示区域内监测目标点的覆盖需求重数与实际覆盖重数;Sarea表示区域内监测目标点集合;Δs表示监测目标点的占地面积大小。
[0086] 而整个监测区域所需的信息RIF指的是满足区域覆盖需求重数的信息,计算公式如下:
[0087]
[0088] 信息完整性的计算公式如下:
[0089]
[0090] 信息有效性Validity指的是所能获得的信息数据中的有效成分占所获得的信息的百分比,计算公式如下:
[0091]
[0092] 信息冗余性Redundancy指的是所能获得的信息数据中的冗余成分占所获得的信息的百分比,计算公式如下:
[0093]
[0094] 本发明提出的协议是基于信息质量进行节点部署,所获得的信息数据的服务质量更高。此外,本协议通过合理的簇首节点选取,以及有效的簇间信息传输路径的构建,有效减少与平衡网络的能耗,从而显著延长整个网络的生命周期,具有较强的鲁棒性。如图6、7和8所示,通过与LEACH协议、DEEC协议和GSEN协议进行存活节点数目变化、网络能耗变化以及网络吞吐量这三方面的对比,可以发现本发明提出的协议的优势所在。
[0095] 本发明实施例的节点部署方案与其他节点部署方案的服务质量对比见表1。
[0096] 表1节点部署方案的服务质量对比表
[0097]
[0098] 以上通过结合附图的形式详细描述了本发明的具体实施例,而并未用于限定本发明的保护范围。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。