CN102711212B - 无线传感器网络的路由方法、装置及系统 - Google Patents

无线传感器网络的路由方法、装置及系统 Download PDF

Info

Publication number
CN102711212B
CN102711212B CN201210116856.6A CN201210116856A CN102711212B CN 102711212 B CN102711212 B CN 102711212B CN 201210116856 A CN201210116856 A CN 201210116856A CN 102711212 B CN102711212 B CN 102711212B
Authority
CN
China
Prior art keywords
node
cluster head
destination node
information
sent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210116856.6A
Other languages
English (en)
Other versions
CN102711212A (zh
Inventor
张智江
王明会
彭久生
邢建兵
姚海鹏
石谊娜
刘铭
陈起
高德云
段俊奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201210116856.6A priority Critical patent/CN102711212B/zh
Publication of CN102711212A publication Critical patent/CN102711212A/zh
Application granted granted Critical
Publication of CN102711212B publication Critical patent/CN102711212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种无线传感器网络的路由方法、装置及系统,其中,所述方法包括:发送节点获取待发送数据包的目标节点信息,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;根据所述目标节点信息,确定与所述目标节点最接近的簇首节点;将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点;解决现有技术中簇首节点的不可靠性和不稳定性造成数据通信不稳定性的问题。

Description

无线传感器网络的路由方法、装置及系统
技术领域
本发明涉及网络技术领域,尤其涉及一种无线传感器网络的路由方法、装置及系统。
背景技术
无线传感器网络是由汇聚节点、采集节点组成,通过多跳、自组织的形式组成网络,采集节点负责相关区域的信息的采集,然后将采集到的信息通过多跳中继的方式传送到汇聚节点,进而传送到外部网络。无线传感器网络不同于传统的Ad-hoc网络,它具有无线、自组织的特征,单个节点能量有限、网络拓扑结构动态变化等特点。所以传统的路由协议都无法适用于无线传感器网络的环境中,无法满足无线传感器网络特殊的通信需求。
针对无线传感器网络的特点与通信需求,现有的无线传感器网络的路由协议分为两类:平面路由协议和集群路由协议。在平面路由协议中,各个传感器节点的地位是平等的,不存在特殊节点,因此路由协议的鲁棒性较好。但是,平面路由协议缺乏可扩展性,一定程度上限制了网络的规模。在集群路由协议中,网络被划分为多个簇(cluster),每个簇是由一个簇首节点和多个簇内节点组成,在各个簇首节点形成的高一级网络中,又可以再次分簇,形成更高一级的网络。在现有的分簇路由中,每一个簇首节点负责其所在簇内信息的收集、融合处理和簇间数据的逐层转发,举例来说,若源节点位于分簇路由的第1层,目标节点位于分簇路由的第10层,当源节点发送待发送数据包给目标节点时,具体过程如下:
若源节点为非簇首节点,则源节点将待发送数据包发送给源节点入簇的簇首节点,由源节点入簇的簇首节点将待发送数据包发送给第2层中的任一簇首节点,第2层中接收到待发送数据包的簇首节点将数据包转发给第3层中任一簇首节点,依次类推,直到将待发送数据包发送给第10层中的任一簇首节点,该簇首节点将待发送数据包转发给同层(第10层)中的任一簇首节点,若目标节点为非簇首节点,则接收到代发送数据包的第10层中的任一簇首节点,将待发送数据包通过同层内的簇首节点进行逐一转发,直到将数据包发送给目标节点为止。
发明人在实现本发明过程中发现,由于现有的路由方法中源节点和目标节点之间每一层的簇首节点都需参与路由,而且与目标节点同层的簇首节点也都需要参与路由,因而相对消耗能量会较大,容易造成簇首节点的不可靠和不稳定,从而造成数据通信的不稳定。
发明内容
本发明提供一种无线传感器网络的路由方法、装置及系统,能够解决现有路由方法容易造成簇首节点的不可靠性和不稳定性,从而造成数据通信不稳定性的问题。
本发明实施例提供一种无线传感器网络的路由方法,包括:
发送节点获取待发送数据包的目标节点信息,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;
根据所述目标节点信息,确定与所述目标节点最接近的簇首节点;
将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点。
本发明实施例还提供一种无线传感器网络的路由装置,包括:
获取模块,用于获取待发送数据包的目标节点信息,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;
确定模块,用于根据所述目标节点信息,确定与所述目标节点最接近的簇首节点;
发送模块,用于将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点。
本发明实施例还提供一种无线传感器网络的路由系统,包括:
多个节点;所述多个节点中包括多个簇首节点和一个汇聚节点;
所述多个簇首节点中分别包括上述无线传感器网络的路由装置。
本发明实施例通过采用发送节点根据获取的目标节点信息,确定与目标节点最接近的簇首节点的技术特征,将待发送数据包发送给与目标节点最接近的簇首节点,以使与目标节点最接近的簇首节点将待发送数据包发送给目标节点,从而不需要每一个簇首节点都参与路由,减少了簇首节点的能源消耗,能够解决现有的路由方法容易造成簇首节点的不可靠性和不稳定性,从而造成数据通信不稳定性的问题。
附图说明
图1为本发明实施例提供的无线传感器网络的路由方法的应用系统示意图;
图2为图1所示应用系统的分簇方法的流程示意图;
图3为本发明实施例一提供的无线传感器网络的路由方法的流程示意图;
图4为本发明实施例二提供的无线传感器网络的路由方法的流程示意图;
图5为本发明实施例三提供的无线传感器网络的路由方法的流程示意图;
图6为本发明实施例四提供的无线传感器网络的路由方法的流程示意图;
图7为本发明实施例五提供的无线传感器网络的路由方法的流程示意图;
图8为本发明实施例八提供的无线传感器网络的路由装置的结构示意图。
具体实施方式
为了对本发明实施例进行清楚详细的介绍,此处先介绍一下本发明实施例提供的无线传感器网络的路由方法的具体应用场景,图1为本发明实施例提供的无线传感器网络的路由方法的应用系统示意图,如图1所示,本实施例的应用场景是以汇聚节点为中心的无线传感器网络,假设无线传感器网络中的所有节点都不均匀地分布在以汇聚节点为中心的圆形区域内,将这个圆型区域按预设半径差分成不同的层次,如从内至外分别为第一层、第二层......第K层。
图2为图1所示应用系统的分簇方法的流程示意图,如图2所示,包括:
步骤201、除汇聚节点之外的各节点接收汇聚节点广播的探索消息,分别确定各自的信号强度指示值。
举例来说,汇聚节点启动之后,以一定的周期向外广播一个探索网络内普通节点的数据包,如询问Hello数据包,收到该Hello数据包的节点,确定对该Hello数据包的信号强度指示值。
步骤202、除汇聚节点之外的各节点根据各自的信号强度指示值确定与所述汇聚节点的距离,根据所述距离和预设半径差分别确定各自的层号,并分别向所述汇聚节点返回包含各自的层号的数据包。
传感器网络布网时,传感器节点一般都不知道各自的位置信息,根据各节点接收的信号强度指示值来确定与汇聚节点的距离并确定各自的层号是优选的分簇方法。比如,根据预设半径差将以汇聚节点为中心的圆形区域内划分为若干层,节点根据到汇聚节点的信号强度指示值确定到汇聚节点的距离,根据到汇聚节点的距离确定节点位于以汇聚节点为中心的圆形区域的第几层,然后该节点向汇聚节点回复一个指出自己所在层号的数据包。
步骤203、除汇聚节点之外的各节点根据各自的层号计算各自竞争簇首节点的概率,根据所述概率和各自的剩余能量确定自身是否为簇首节点。
举例来说,将以汇聚节点为中心的圆形区域的每一层均可看作一个簇,每一个簇内允许有至少一个簇首节点的存在,每一层中的节点竞争成为簇首节点的概率相同,该概率与该节点所在层号有关。
假设第一层内的节点竞争成为该层的簇首节点的概率为p1,由于外层的所有节点的信息都需要通过第一层的簇首节点转发,进而汇聚到汇聚节点,汇聚节点向外层的所有节点发送的信息都需要经过第一层的簇首节点转发,所以第一层内的节点成为簇首节点的数量越多,越能保证整个网络的寿命,因此,可以假设p1=1,也就是说,在第一层内的所有节点均为簇首节点,无需层内竞争;
假设最外层为第k层,第k层的节点竞争成为该层的簇首节点的概率为pk,假设第k层有N个节点,且这N个节点中只有1个簇首节点,若N取值很大,则该层内的节点竞争成为该层的簇首节点的概率为pk趋向于0因此,可以假设pk=0;
根据公式:
p m = p 1 , m = 1 k - m k - 1 p 1 + m - 1 k - 1 p k , 1 < m < k p k , m = k
可以计算出第m层内节点竞争成为簇首节点的概率pm
由上述公式可知,pm越大表示第m层内需要越多的节点成为簇首节点,反之,pm越小则表示该层内只需要少量的节点成为簇首节点。由于外层的所有节点的信息都需要通过第一层的簇首节点转发,进而汇聚到汇聚节点,汇聚节点向外层的所有节点发送的信息都需要经过第一层的簇首节点转发,所以第一层内的节点成为簇首节点的数量越多,越能保证整个网络的寿命,也就是说,距离汇聚节点越近的分层内,节点竞争成为簇首节点的概率越大,反之,距离汇聚节点越远的分层内节点竞争成为簇首节点的概率越小。
而在同一分层中,各个节点竞争成为簇首节点,主要根据分层中各个节点的剩余能量进行竞争,剩余能量越大的节点,在同一分层内竞争成为簇首节点的可能性越大,例如,同层内的每一个节点定期广播一个包含自身剩余能量的消息,因此,每一个节点都可以知晓同层内其他节点的剩余能量,从而根据剩余能量进行簇首节点的竞争。
举例来说,若确定本节点竞争成为簇首节点,则该簇首节点向所述汇聚节点发送该簇首节点信息,同时,该簇首节点广播该簇首节点信息,所述簇首节点信息包括簇首节点的地址、层号、簇首标识。进一步举例来说,同层内的非簇首节点接收同层内各簇首节点广播的簇首节点信息,确定到同层内各簇首节点的信号强度指示值,进而确定到同层内各簇首节点的距离,并选择与所述非簇首节点最近的簇首节点发送入簇请求消息。
若确定为非簇首节点,则发送所述节点信息给所述汇聚节点,所节点信息包括所述节点地址、层号和非簇首标识;并选择同一层内与所述节点最接近的簇首节点发送入簇请求消息,所述入簇请求消息中包括所述非簇首节点信息;与所述非簇首节点最接近的簇首节点将所述非簇首节点信息保存在与所述非簇首节点对应的入簇信息列表中。
需要指出的是,本实施例中的簇首节点根据剩余能量可以定期重新选举簇首节点,从而避免簇首节点过度消耗能源,提高了簇首节点的可靠性和稳定性。
图3为本发明实施例一提供的无线传感器网络的路由方法的流程示意图;包括:
步骤301、发送节点获取待发送数据包的目标节点信息,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识。
需要说明的是,通过图2所示分簇方法对传感器网络系统中的节点进行分簇之后,汇聚节点的节点信息列表中保存了所有节点的节点信息,其中,节点信息包括节点的地址、层号、节点标识,其中,节点标识包括簇首标识或非簇首标识。
当源节点为汇聚节点时,汇聚节点解析所述待发送数据包,获取所述目标节点地址;根据所述目标节点的地址,查询本地储存的节点信息列表,获取所述目标节点信息,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;汇聚节点将所述目标节点信息和待发送数据包发送给第一层中的任一个簇首节点,该簇首节点作为发送节点。
当源节点为第一层中的任一个簇首节点时,该簇首节点作为发送节点,解析所述待发送数据包,获取所述目标节点地址;发送节点向汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点地址;汇聚节点根据所述目标节点的地址,查询本地储存的节点信息列表,获取所述目标节点信息,并将所述目标节点信息发送给发送节点。
当源节点为除第一层之外的其他层中的任一个簇首节点时,该簇首节点作为发送节点,解析所述待发送数据包,获取所述目标节点地址;发送节点向第一层中的任一个簇首节点发送获取目标节点信息的请求消息,第一层中的任一个簇首节点将接受的获取目标节点信息的请求消息发送给汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;汇聚节点根据所述目标节点的地址,查询本地储存的节点信息列表,获取所述目标节点信息,并将所述目标节点信息发送给第一层中的任一个簇首节点,由第一层中的任一个簇首节点将所述目标节点信息发送给发送节点。
当源节点为非簇首节点时,该源节点将待发送数据包发送给所述源节点入簇的簇首节点,所述源节点入簇的簇首节点作为发送节点,解析所述待发送数据包,获取所述目标节点地址;发送节点向第一层中的任一个簇首节点发送获取目标节点信息的请求消息,第一层中的任一个簇首节点将接受的获取目标节点信息的请求消息发送给汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;汇聚节点根据所述目标节点的地址,查询本地储存的节点信息列表,获取所述目标节点信息,并将所述目标节点信息发送给第一层中的任一个簇首节点,由第一层中的任一个簇首节点将所述目标节点信息发送给发送节点。
步骤302、根据所述目标节点信息,确定与所述目标节点最接近的簇首节点。
举例来说,若目标节点为发送节点的簇内节点,则该发送节点为与目标节点最接近的簇首节点;
若目标节点为与发送节点同层的其他簇首节点的簇内节点,则将目标节点的入簇节点确定为与目标节点最接近的簇首节点;
若目标节点为与发送节点同层的其他簇首节点,举例来说,发送节点可以广播第三邀约消息,该第三邀约消息中包含所述目标节点信息,进一步举例来说,该第三邀约消息中还可以包含有消息的生存期(TimeToLive,简称TTL)值,当TTL值为0时,该第三邀约消息就停止广播,接收到该第三邀约消息的各簇首节点向发送节点返回第三请求消息;发送节点根据接收的各第三请求消息,若确定与所述发送节点同层的各簇首节点中存在一个与所述目标节点的地址相同的簇首节点,则将目标节点确定为与目标节点最接近的簇首节点;若确定与所述发送节点同层的各簇首节点中不存在一个与所述目标节点的地址相同的簇首节点,发送节点可以将同层的任一个簇首节点确定为与目标节点最接近的簇首节点。
若目标节点为与发送节点不同层的非簇首节点,则可以将与目标节点层号相同的一个簇首节点确定为与目标节点最接近的簇首节点,或者可以将与目标节点层号最接近的一个簇首节点确定为与目标节点最接近的簇首节点;
若目标节点为与发送节点不同层的簇首节点,则可以将目标节点确定为与目标节点最接近的簇首节点,或者可以将与目标节点层号最接近的一个簇首节点确定为与目标节点最接近的簇首节点。
步骤303、将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点。
若目标节点为发送节点的簇内节点,则该发送节点为与目标节点最接近的簇首节点;对应地,发送节点直接将待发送数据包发送给所述目标节点;
若目标节点的入簇节点确定为与目标节点最接近的簇首节点,则发送节点将待发送数据包发送给目标节点的入簇节点,入簇节点将待发送数据包发送给目标节点;
若目标节点为与发送节点同层的其他簇首节点,举例来说,若将目标节点确定为与目标节点最接近的簇首节点,则发送节点直接将待发送数据包发送给所述目标节点;进一步举例来说,若将与发送节点同层的任一个簇首节点确定为与目标节点最接近的簇首节点,则发送节点将待发送数据包和所述目标节点信息发送给与目标节点最接近的簇首节点,该与目标节点最接近的簇首节点作为发送节点采用本实施所述的方法重新目标节点。
若与目标节点层号相同的一个簇首节点确定为与目标节点最接近的簇首节点,则将待发送数据包发送给与目标节点最接近的簇首节点,该与目标节点最接近的簇首节点作为发送节点采用本实施所述的方法重新确定目标节点的入簇节点;
若与目标节点层号最接近的一个簇首节点确定为与目标节点最接近的簇首节点,则将待发送数据包发送给与目标节点最接近的簇首节点,该与目标节点最接近的簇首节点作为发送节点采用本实施所述的方法重新确定目标节点或者目标节点的入簇节点。
本发明实施例通过采用发送节点根据获取的目标节点信息,确定与目标节点最接近的簇首节点的技术特征,将待发送数据包发送给与目标节点最接近的簇首节点,以使与目标节点最接近的簇首节点将待发送数据包发送给目标节点,从而不需要每一个簇首节点都参与路由,减少了簇首节点的能源消耗,能够解决现有的路由方法容易造成簇首节点的不可靠性和不稳定性,从而造成数据通信不稳定性的问题。
图4为本发明实施例二提供的无线传感器网络的路由方法的流程示意图,在图3所示方法实施例的基础上的进一步扩展,如图4所示,具体包括:
步骤401、发送节点获取待发送数据包的目标节点信息。
具体实现方法参考图3所示步骤301。
步骤402、根据所述目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定所述本地入簇节点信息列表中不包括所述目标节点。
举例来说,当发送节点根据获取的所述目标节点信息,根据目标节点的层号和节点标识,若确定自身层号与目标节点的层号相同,且确定目标节点为非簇首节点,则确定目标节点为与所述发送节点同层的非簇首节点;发送节点查询本地入簇节点信息列表,若确定所述本地入簇节点信息列表中不包括所述目标节点,则确定所述目标节点不为所述发送节点的簇内节点。
步骤403、广播入簇查询消息,所述入簇查询消息包括所述目标节点信息。
举例来说,发送节点可以通过广播信道广播入簇查询消息,其中,入簇查询消息采用元数据的格式,尺寸要小于实际待发送的数据包,因此,发送节点在广播入簇查询消息时消耗的能量相对较少。
对应地,各簇首节点根据所述入簇查询消息中的目标节点信息,查询入簇信息列表,确定是否为所述目标节点的入簇节点,并返回相应的入簇响应消息,举例来说具体包括两种方式:
第一种方式为:各簇首节点根据入簇查询消息中的目标节点信息,查询入簇信息列表,若确定自身为所述目标节点的入簇节点,则返回相应的入簇响应消息;若确定自身不是所述目标节点的入簇节点,则不予回复入簇响应消息。
第二种方式为:各簇首节点根据入簇查询消息均返回相应的入簇响应消息;若确定自身为所述目标节点的入簇节点,则入簇响应消息中可以包含入簇节点标识,例如1表示为入簇节点;若确定自身不是所述目标节点的入簇节点,则入簇响应消息中可以包含非入簇节点标识,例如0表示为非入簇节点。
步骤404、接收各簇首节点返回的入簇响应消息,根据各入簇响应消息确定所述目标节点的入簇节点。
与上述第一种方式对应,发送节点只接收到了所述目标节点的入簇节点发送的入簇响应消息,并将发送入簇响应消息的簇首节点确定为所述目标节点的入簇节点;
与上述第二种方式对应,发送节点根据接收的各入簇响应消息中包含的入簇节点标识来确定所述目标节点的入簇节点。
步骤405、将所述待发送数据包发送给所述目标节点的入簇节点,以使所述入簇节点将所述待发送数据包发送给所述目标节点。
在步骤405中,发送节点根据获取的所述目标节点的入簇节点,在所述发送节点和所述目标节点的入簇节点之间直接建立路由信息,通过数据信道将待发送数据包发送给所述目标节点的入簇节点,所述目标节点的入簇节点的将接受的待发送数据包发送给位于其簇内的所述目标节点。
需要指出的是,在步骤402中,发送节点根据所述目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定所述本地入簇节点信息列表中包括所述目标节点;则确定所述目标节点为所述发送节点的簇内节点,所述发送节点直接将所述待发送数据包发送给所述目标节点。
又需要指出的是,在步骤402中,发送节点根据所述目标节点信息,确定所述目标节点为与所述发送节点同层的簇首节点;发送节点根据获取的所述目标节点信息,在所述发送节点和所述目标节点之间直接建立路由信息,通过数据信道将待发送数据包发送给所述目标节点。
本发明实施例采用发送节点根据获取的目标节点信息,若确定目标节点为与发送节点同层的非簇首节点,且确定目标节点不为发送节点的簇内的非簇首节点,通过在同层内广播入簇查询消息,根据接收的同层内各簇首节点返回的入簇响应消息,确定目标节点入簇的簇首节点的技术特征,将待发送数据包发送给目标节点入簇的簇首节点,以使目标节点入簇的簇首节点将待发送数据包发送给目标节点,从而不需要同层中的每一个簇首节点都参数路由信息,减少了簇首节点的能源消耗,能够解决现有路由方法容易造成簇首节点的不可靠性和不稳定性,从而造成数据通信不稳定性的问题。
图5为本发明实施例三提供的无线传感器网络的路由方法的流程示意图,在图3所示方法实施例的基础上的进一步扩展,如图5所示,具体包括:
步骤501、发送节点获取待发送数据包的目标节点信息。
具体参考图3所示方法实施例中的步骤301,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识。
步骤502、所述发送节点根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的簇首节点。
举例来说,当发送节点根据获取的所述目标节点信息,根据目标节点的层号和节点标识,若确定自身层号与目标节点的层号不相同,且确定目标节点为簇首节点,则确定目标节点为与所述发送节点不同层的簇首节点。
步骤503、广播第一邀约消息,所述第一邀约消息中包括所述目标节点信息。
发送节点通过广播信道广播第一邀约消息,其中,第一邀约消息的数据格式为元数据。
步骤504、接收各簇首节点返回的第一请求消息,各第一请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识。
各第一请求消息的数据格式也为元数据,各簇首节点通过广播信道向发送节点返回第一请求消息。
举例来说,接收到所述第一邀约消息的各簇首节点都可以支持路由,可以向所述发送节点回复第一请求消息,而接收到所述第一邀约消息的非簇首节点因为不支持路由,因此不回复第一请求消息。
步骤505、若确定各簇首节点中的一个簇首节点的地址与所述目标节点的地址相同,则将所述待发送数据包发送给所述目标节点。
若各簇首节点中的一个簇首节点的地址与目标节点的地址相同,且所述目标节点的节点标识为簇首标识,则确定与所述目标节点地址相同的簇首节点为目标节点,在所述发送节点和所述目标节点之间直接建立路由信息,所述发送节点通过数据信道将待发送数据包发送给所述目标节点。
需要指出的是,在步骤503中,发送节点广播的第一邀约消息中可以包含有消息的生存期(TimeToLive,简称TTL)值,当TTL值为0时,第一邀约消息就停止广播,接收到所述第一邀约消息的各簇首节点向发送节点返回第一请求消息,在步骤505中,发送节点根据接收的各第一请求消息,若确定各簇首节点中没有一个簇首节点的地址与所述目标节点的地址相同,则根据所述目标节点信息和各簇首节点信息,确定与所述目标节点层号最接近的簇首节点中的任一个簇首节点为与所述目标节点最接近的簇首节点;在所述发送节点和与所述目标节点最接近的簇首节点之间直接建立路由信息,所述发送节点通过数据信道将待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。与所述目标节点最接近的簇首节点作为发送节点可以采用图5所示实施例所述的方法确定目标节点,并将所述待发送数据包发送给所述目标节点。
本发明实施例采用发送节点根据获取的目标节点信息,若确定目标节点为与发送节点不同层的簇首节点,通过广播第一邀约消息,根据接收的各簇首节点返回的第一请求消息,若确定各簇首节点中包括目标节点,则将待发送数据包直接发送给目标节点的技术特征,从而不需要在目标节点和发送节点之间的每一层中的簇首节点都参与路由,减少了簇首节点的能源消耗,能够解决现有路由方法容易造成的簇首节点的不可靠性和不稳定性,从而造成数据通信不稳定性的问题。
图6为本发明实施例四提供的无线传感器网络的路由方法的流程示意图,在图5所示方法实施例的基础上的进一步扩展,如图6所示,具体包括:
步骤601、发送节点获取待发送数据包的目标节点信息。
具体参考图3所示方法实施例中的步骤301,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识。
步骤602、所述发送节点根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的非簇首节点。
举例来说,当发送节点根据获取的所述目标节点信息,根据目标节点的层号和节点标识,若确定自身层号与目标节点的层号不相同,且确定目标节点为非簇首节点,则确定目标节点为与所述发送节点不同层的非簇首节点。
步骤603、广播第二邀约消息,所述第二邀约消息中包括所述目标节点信息。
发送节点通过广播信道广播第二邀约消息,其中,第二邀约消息的数据格式为元数据。
步骤604、接收各簇首节点返回的第二请求消息,各第二请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识。
各第二请求消息的数据格式也为元数据,各簇首节点通过广播信道向发送节点返回第二请求消息。
举例来说,接收到所述第二邀约消息的各簇首节点都可以支持路由,可以向所述发送节点回复第二请求消息,而接收到所述第二邀约消息的非簇首节点因为不支持路由,因此不回复第二请求消息。
步骤605、若确定各簇首节点中的一个簇首节点的层号与所述目标节点的层号相同,则确定与所述目标节点的层号相同的一个簇首节点为与目标节点最接近的簇首节点。
步骤606、将所述待发送数据包和所述目标节点信息发送给与目标节点最接近的簇首节点。
在步骤606中,在发送节点和与目标节点最接近的簇首节点之间建立直接的路由信息,发送节点通过数据信道将所述待发送数据包和所述目标节点信息发送给与目标节点最接近的簇首节点。与目标节点最接近的簇首节点可以采用图4所示方法实施例中的方法,确定所述目标节点的入簇节点,并将所述待发送数据包和所述目标节点信息发送给所述目标节点的入簇节点,以使所述目标节点的入簇节点将所述待发送数据包发送给所述目标节点。
需要指出的是,在步骤606中,所述发送节点若确定各簇首节点中没有一个簇首节点的层号与所述目标节点的层号相同,确定与所述目标节点层号最接近的簇首节点中的任一个簇首节点为与目标节点最接近的簇首节点;在发送节点和与目标节点最接近的簇首节点之间建立直接的路由信息,发送节点通过数据信道将所述待发送数据包和所述目标节点信息发送给与目标节点最接近的簇首节点;与目标节点最接近的簇首节点作为发送节点可以采用图6所示实施例所述的方法确定与目标节点同层的簇首节点,并将所述待发送数据包和所述目标节点信息发送给与目标节点同层的簇首节点,与目标节点同层的簇首节点可以采用图4所示实施例所述的方法确定目标节点的入簇节点,并将所述待发送数据包和所述目标节点信息发送给所述目标节点的入簇节点,以使所述目标节点的入簇节点将所述待发送数据包发送给所述目标节点。
本发明实施例采用发送节点获取目标节点信息,并根据目标节点信息确定与目标节点最接近的簇首节点,通过与目标节点最接近的簇首节点,将待发送数据包发送给目标节点的技术手段,从而不需要在目标节点和发送节点之间的每一层中的簇首节点都参与路由,减少了簇首节点的能源消耗,能够解决现有路由方法容易造成的簇首节点的不可靠性和不稳定性,从而造成数据通信不稳定性的问题。
图7为本发明实施例五提供的无线传感器网络的路由方法的流程示意图;本实施例的应用场景为:目标节点为汇聚节点,发送节点为任一簇首节点,所述方法具体包括:
步骤701、发送节点获取目标节点信息。
具体参考图3所示方法实施例中的步骤301,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识。
步骤702、广播第一邀约消息。
举例来说,第一邀约消息中包含汇聚节点信息,收到该第一邀约消息的各簇首节点由于都可以支持路由,分别向所述发送节点回复第一请求消息,各第一请求消息中包括对应的簇首节点信息;收到该第一邀约消息的非簇首节点由于不支持路由,直接丢弃该第一邀约消息,不予回复。
步骤703、接收各簇首节点回复的第一请求消息。
其中,各第一请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识。
步骤704、根据目标节点信息和各簇首节点信息,确定各簇首节点中是否包括第一层的簇首节点,若是,则执行步骤705,否则执行步骤706。
步骤705、将待发送数据包和所述目标节点信息发送给第一层的簇首节点中的任一簇首节点,以使所述簇首节点将所述待发送数据包发送给所述目标节点。
因为本实施例的目标节点为汇聚节点,第一层的簇首节点中的任一簇首节点都可以接收发送节点发送的所述待发送数据包和所述汇聚节点信息,并将所述待发送数据包直接发送给汇聚节点。
步骤706、将待发送数据包和所述目标节点信息发送给与目标节点最接近的簇首节点。
本实施例中目标节点为汇聚节点,若确定各簇首节点中不包括第一层的簇首节点,则确定与汇聚节点最接近的簇首节点,并将待发送数据包和所述目标节点信息发送给与汇聚节点最接近的簇首节点,与汇聚节点最接近的簇首节点作为发送节点可以采用图7所示的方法确定第一层的簇首节点,并将待发送数据包和汇聚节点信息发送给第一层的簇首节点中任一个簇首节点,该簇首节点将待发送数据包发送给汇聚节点。
本实施例采用发送节点广播包含汇聚节点信息的邀约消息,并接收各簇首节点返回的请求消息,确定与汇聚节点最接近的簇首节点,以使与汇聚节点最接近的簇首节点将待发送数据包发送给汇聚节点的技术特征,不需要将待发送数据包通过每一层的簇首节点进行逐层转发,因此,不需要在每一层的簇首节点中建立路由信息,减少了簇首节点的能源消耗,提高了簇首节点的可靠性和稳定性,同时也提高了数据通信的效率。
本发明实施例六提供的一种无线传感器网络的路由方法,本实施例的应用场景为:源节点为汇聚节点,目标节点为汇聚节点之外的任一节点,所述方法具体包括:
汇聚节点将待发送数据包和目标节点信息发送给发送节点,本实施例的发送节点为第一层簇首节点中任一个簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识。
举例来说,发送节点根据获取的目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定所述目标节点不为与所述发送节点的簇内节点,则采用图4所示实施例所述的方法确定所述目标节点的入簇节点,将待发送数据包和目标节点信息发送给所述目标节点的入簇节点,所述目标节点的入簇节点将待发送数据包发送给所述目标节点。
举例来说,发送节点若确定所述目标节点为与所述发送节点的簇内节点,则直接将待发送数据包发送给所述目标节点。
举例来说,发送节点若确定所述目标节点为与所述发送节点同层的簇首节点,则直接将待发送数据包发送给所述目标节点。
举例来说,发送节点根据所述目标节点信息,若确定所述目标节点为与所述发送节点不同层的簇首节点,则采用图5所示实施例所述的方法确定目标节点,并将待发送数据包发送给所述目标节点。若采用图5所示实施例所述的方法不能确定目标节点,则确定与所述目标节点层号最接近的簇首节点,将待发送数据包发送给与所述目标节点层号最接近的簇首节点,与所述目标节点层号最接近的簇首节点作为发送节点采用图5所示实施例所述的方法确定目标节点,并将待发送数据包发送给所述目标节点。
举例来说,发送节点根据所述目标节点信息,若确定所述目标节点为与所述发送节点不同层的非簇首节点,则采用图6所示实施例所述的方法确定与目标节点同层的簇首节点,与目标节点同层的簇首节点作为发送节点采用图4所示实施例所述的方法确定目标节点的入簇节点,通过该入簇节点将待发送数据包发送给所述目标节点。
本实施例采用发送节点根据汇聚节点发送的目标节点信息和待发送数据包,确定目标节点或者与目标节点最接近的簇首节点,将待发送数据包直接发送给目标节点或者与目标节点最接近的簇首节点的技术手段,不需要将待发送数据包通过每一层的簇首节点进行逐层转发,因此,也不需要在每一个簇首节点中建立路由信息,减少了簇首节点的能源消耗,提高了簇首节点的可靠性和稳定性,同时也提高了数据通信的效率。
本发明实施例七提供的一种无线传感器网络的路由方法,本实施例的具体应用场景为:源节点为汇聚节点之外任一节点,目标节点为汇聚节点之外任一其他节点,所述方法具体包括:
举例来说,若源节点为簇首节点,则发送节点即为源节点,若源节点为非簇首节点,则发送节点为源节点入簇的簇首节点。
发送节点接收源节点发送的待发送数据包,解析所述待发送数据包,获取所述目标节点地址;发送节点向汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点地址;汇聚节点根据所述目标节点的地址,查询本地储存的节点信息列表,获取所述目标节点信息,并将所述目标节点信息发送给发送节点。
举例来说,发送节点根据获取的目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定所述目标节点不为与所述发送节点的簇内节点,则采用图4所示实施例所述的方法确定所述目标节点的入簇节点,将待发送数据包和目标节点信息发送给所述目标节点的入簇节点,所述目标节点的入簇节点将待发送数据包发送给所述目标节点。
举例来说,发送节点若确定所述目标节点为与所述发送节点的簇内节点,则直接将待发送数据包发送给所述目标节点。
举例来说,发送节点若确定所述目标节点为与所述发送节点同层的簇首节点,则直接将待发送数据包发送给所述目标节点。
举例来说,发送节点根据所述目标节点信息,若确定所述目标节点为与所述发送节点不同层的簇首节点,则采用图5所示实施例所述的方法确定目标节点,并将待发送数据包发送给所述目标节点。若采用图5所示实施例所述的方法不能确定目标节点,则确定与所述目标节点层号最接近的簇首节点,将待发送数据包发送给与所述目标节点层号最接近的簇首节点,与所述目标节点层号最接近的簇首节点作为发送节点采用图5所示实施例所述的方法确定目标节点,直至确定目标节点为止,并将待发送数据包发送给所述目标节点。
举例来说,发送节点根据所述目标节点信息,若确定所述目标节点为与所述发送节点不同层的非簇首节点,则采用图6所示实施例所述的方法确定与目标节点同层的簇首节点,与目标节点同层的簇首节点作为发送节点采用图4所示实施例所述的方法确定目标节点的入簇节点,通过该入簇节点将待发送数据包发送给所述目标节点。
本实施例采用发送节点根据获取的目标节点信息,确定目标节点或者与目标节点最接近的簇首节点,将待发送数据包直接发送给目标节点或者与目标节点最接近的簇首节点的技术手段,不需要将待发送数据包通过每一层的簇首节点进行逐层转发,因此,也不需要在每一个簇首节点中建立路由信息,减少了簇首节点的能源消耗,提高了簇首节点的可靠性和稳定性,同时也提高了数据通信的效率。
图8为本发明实施例八提供的无线传感器网络的路由装置的结构示意图,设置在无线传感器网络的簇首节点中,如图8所示,所述装置包括:
获取模块81,用于获取待发送数据包的目标节点信息,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;
确定模块82,用于根据所述目标节点信息,确定与所述目标节点最接近的簇首节点;
发送模块83,用于将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点。
其中,确定模块82举例来说具体包括:
第一确定单元821,用于根据所述目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定所述本地入簇节点信息列表中不包括所述目标节点;
第一广播单元822,用于广播入簇查询消息,所述入簇查询消息包括所述目标节点信息,接收各簇首节点返回的入簇响应消息;
第二确定单元823,用于根据各入簇响应消息确定所述目标节点的入簇节点,并将所述目标节点的入簇节点确定为与所述目标节点最接近的簇首节点;
对应地,发送模块83,用于将所述待发送数据包发送给所述目标节点的入簇节点,以使所述入簇节点将所述待发送数据包发送给所述目标节点。
举例来说,第一确定单元821,还用于根据所述目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定所述本地入簇节点信息列表中包括所述目标节点;
对应地,第二确定单元823,还用于将所述发送节点自身确定为与所述目标节点最接近的簇首节点;
对应地,发送模块83,用于将所述待发送数据包发送给所述目标节点。
举例来说,第一确定单元821,还用于根据所述目标节点信息,确定所述目标节点为与所述发送节点同层的簇首节点;
举例来说,确定模块82具体还包括:
第四广播单元828,用于广播第三邀约消息,所述第三邀约消息中包含所述目标节点信息;接收各簇首节点返回的第三请求消息,各第三请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
举例来说,第二确定单元823,还用于若确定与所述发送节点同层的各簇首节点中存在一个与所述目标节点的地址相同的簇首节点,则将所述目标节点确定为与所述目标节点最接近的簇首节点;
对应地,发送模块83,还用于将所述待发送数据包发送给所述目标节点;
进一步举例来说,第二确定单元823,还用于若确定与所述发送节点同层的各簇首节点中不存在一个与所述目标节点的地址相同的簇首节点,则将与所述发送节点同层的任一个簇首节点确定为与所述目标节点最接近的簇首节点;
对应地,发送模块83,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
第一确定单元821,还用于根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的簇首节点;
对应地,确定模块82还包括:
第二广播单元824,用于广播第一邀约消息,所述第一邀约消息中包括所述目标节点信息;接收各簇首节点返回的第一请求消息,各第一请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
第三确定单元825,用于若确定各簇首节点中的一个簇首节点的地址与所述目标节点的地址相同,则将所述目标节点确定为与所述目标节点最接近的簇首节点;
对应地,发送模块83,还用于将所述待发送数据包发送给所述目标节点。
第三确定单元825,还用于若确定各簇首节点中没有一个簇首节点的地址与所述目标节点的地址不相同,则根据所述目标节点信息和各簇首节点信息,确定与所述目标节点层号最接近的一个簇首节点为与所述目标节点最接近的簇首节点;
对应地,发送模块83,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
第一确定单元821,还用于根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的非簇首节点;
对应地,确定模块82还包括:
第三广播单元826,用于广播第二邀约消息,所述第二邀约消息中包括所述目标节点信息;接收各簇首节点返回的第二请求消息,各第二请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
第四确定单元827,用于若确定各簇首节点中的一个簇首节点的层号与所述目标节点的层号相同,则确定与所述目标节点的层号相同的一个簇首节点确定为与所述目标节点最接近的簇首节点;
对应地,发送模块83,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
举例来说,第四确定单元827,还用于若确定各簇首节点中没有一个簇首节点的层号与所述目标节点的层号相同,确定与所述目标节点层号最接近的一个簇首节点为与所述目标节点最接近的簇首节点;
对应地,发送模块83,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
举例来说,若所述装置所设置的簇首节点为所述待发送数据包的源节点,且为所述无线传感器网络的第一层中的任一个簇首节点;
获取模块81,具体用于向汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;接收所述汇聚节点返回的所述目标节点信息;
进一步举例来说,若所述装置所设置的簇首节点为所述待发送数据包的源节点,且为所述无线传感器网络中除第一层之外的其他层中的任一个簇首节点;
获取模块81,具体还用于通过所述第一层中的任一个簇首节点将所述获取目标节点信息的请求消息发送给所述汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;接收所述汇聚节点通过所述第一层中的任一个簇首节点返回的所述目标节点信息。
进一步举例来说,若所述装置所设置的簇首节点不为所述待发送数据包的源节点,且为所述无线传感器网络的第一层中的任一个簇首节点;
获取模块81,具体还用于接收源节点发送的所述待发送数据包,所述源节点为所述发送节点的簇内的非簇首节点;根据待发送数据包中包含的目标节点的地址,向所述汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;接收所述汇聚节点返回的所述目标节点信息。
进一步举例来说,若所述装置所设置的簇首节点不为所述待发送数据包的源节点,且为所述无线传感器网络中除第一层之外的其他层中的任一个簇首节点;
获取模块81,具体还用于接收源节点发送的所述待发送数据包,所述源节点为所述发送节点的簇内的非簇首节点;根据待发送数据包中包含的目标节点的地址,通过所述第一层中的任一个簇首节点将所述获取目标节点信息的请求消息发送给所述汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;接收所述汇聚节点通过所述第一层中的任一个簇首节点返回的所述目标节点信息。
进一步举例来说,若所述装置所设置的簇首节点不为所述待发送数据包的源节点;
获取模块81,具体还用于接收源节点发送的所述待发送数据包和所述目标节点信息,所述源节点为汇聚节点。
本实施例所示装置具体可以执行本发明实施例一至实施例七中任一实施例所示的方法,其具体实现原理和技术效果不再赘述。
本发明实施例九提供一种无线传感器网络的路由系统,包括:多个节点;所述多个节点中包括多个簇首节点和一个汇聚节点;
所述多个簇首节点中分别包括图8所示装置实施例所述的无线传感器网络的路由装置。
举例来说,所述汇聚节点,还用于接收所述簇首节点发送的获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;根据所述目标节点的地址,查询本地储存的节点信息列表,获取所述目标节点信息,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;将所述目标节点信息发送给所述簇首节点。
所述汇聚节点,还用于向所述多个节点中除所述汇聚节点之外的各节点广播探索消息;
所述多个节点中除所述汇聚节点之外的各节点,还用于接收所述汇聚节点广播的探索消息,分别确定各自的信号强度指示值;根据各自的信号强度指示值确定与所述汇聚节点的距离,根据所述距离和预设半径差分别确定各自的层号,并分别向所述汇聚节点返回包含各自的层号的数据包;根据各自的层号计算各自竞争簇首节点的概率,根据所述概率和各自的剩余能量确定自身是否为簇首节点。
所述多个节点中除所述汇聚节点之外的各节点,还用于若确定自身为簇首节点,则发送簇首节点信息给所述汇聚节点,并广播所述簇首节点信息,以使非簇首节点选择与所述非簇首节点最接近的簇首节点发送入簇请求消息,所述簇首节点信息包括所述簇首节点的地址、层号和簇首标识,并将接收到的所述入簇请求消息中包含的非簇首节点信息保存到与所述非簇首节点信息对应的入簇信息列表中;若确定自身为非簇首节点,则发送自身的节点信息给所述汇聚节点,所述节点信息包括所述节点的地址、层号和非簇首标识,并选择与所述节点最接近的簇首节点发送入簇请求消息。
本实施例所示系统具体可以执行本发明实施例一至实施例七中任一实施例所示的方法,其具体实现原理和技术效果不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种无线传感器网络的路由方法,其特征在于,包括:
发送节点获取待发送数据包的目标节点信息,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;
根据所述目标节点信息,确定与所述目标节点最接近的簇首节点;
将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点;
所述根据所述目标节点信息,确定与所述目标节点最接近的簇首节点具体包括:
所述发送节点根据所述目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定本地入簇节点信息列表中不包括所述目标节点;
广播入簇查询消息,所述入簇查询消息包括所述目标节点信息;
接收各簇首节点返回的入簇响应消息,根据各入簇响应消息确定所述目标节点的入簇节点,并将所述目标节点的入簇节点确定为与所述目标节点最接近的簇首节点;
所述将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点,具体包括:
所述发送节点将所述待发送数据包发送给所述目标节点的入簇节点,以使所述入簇节点将所述待发送数据包发送给所述目标节点;
或者,所述根据所述目标节点信息,确定与所述目标节点最接近的簇首节点具体还包括:
根据所述目标节点信息,确定所述目标节点为与所述发送节点同层的簇首节点;
广播第三邀约消息,所述第三邀约消息中包含所述目标节点信息;
接收各簇首节点返回的第三请求消息,各第三请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
若确定与所述发送节点同层的各簇首节点中存在一个与所述目标节点的地址相同的簇首节点,则将所述目标节点确定为与所述目标节点最接近的簇首节点;
对应地,所述将所述待发送数据包发送给与所述目标节点最接近的簇首节点,具体还包括:
所述发送节点将所述待发送数据包发送给所述目标节点;
所述接收各簇首节点返回的第三请求消息之后,还包括:
所述发送节点若确定与所述发送节点同层的各簇首节点中不存在一个与所述目标节点的地址相同的簇首节点,则将与所述发送节点同层的任一个簇首节点确定为与所述目标节点最接近的簇首节点;
对应地,所述将所述待发送数据包发送给与所述目标节点最接近的簇首节点,具体还包括:
所述发送节点将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点;
或者,所述根据所述目标节点信息,确定与所述目标节点最接近的簇首节点具体还包括:
所述发送节点根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的簇首节点;
广播第一邀约消息,所述第一邀约消息中包括所述目标节点信息;
接收各簇首节点返回的第一请求消息,各第一请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
若确定各簇首节点中的一个簇首节点的地址与所述目标节点的地址相同,则将所述目标节点确定为与所述目标节点最接近的簇首节点;
所述将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点,具体还包括:
所述发送节点将所述待发送数据包发送给所述目标节点;
或者,所述根据所述目标节点信息,确定与所述目标节点最接近的簇首节点具体还包括:
所述发送节点根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的非簇首节点;
广播第二邀约消息,所述第二邀约消息中包括所述目标节点信息;
接收各簇首节点返回的第二请求消息,各第二请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
若确定各簇首节点中的一个簇首节点的层号与所述目标节点的层号相同,则确定与所述目标节点的层号相同的一个簇首节点确定为与所述目标节点最接近的簇首节点;
所述将所述待发送数据包发送给与所述目标节点最接近的簇首节点,具体还包括:
所述发送节点将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
2.根据权利要求1所述的方法,其特征在于,所述接收各簇首节点返回的第一请求消息之后,还包括:
所述发送节点若确定各簇首节点中没有一个簇首节点的地址与所述目标节点的地址相同,则根据所述目标节点信息和各簇首节点信息,确定与所述目标节点层号最接近的一个簇首节点为确定为与所述目标节点最接近的簇首节点;
所述将所述待发送数据包发送给与所述目标节点最接近的簇首节点,具体包括:
所述发送节点将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
3.根据权利要求1所述的方法,其特征在于,所述接收各簇首节点返回的第二请求消息之后,还包括:
所述发送节点若确定各簇首节点中没有一个簇首节点的层号与所述目标节点的层号相同,确定与所述目标节点层号最接近的一个簇首节点确定为与所述目标节点最接近的簇首节点;
所述将所述待发送数据包发送给与所述目标节点最接近的簇首节点,具体还包括:
所述发送节点将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
4.根据权利要求1所述的方法,其特征在于,若发送节点为所述待发送数据包的源节点,且为所述无线传感器网络的第一层中的任一个簇首节点,所述发送节点获取待发送数据包的目标节点信息具体包括:
所述发送节点向汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;
接收所述汇聚节点返回的所述目标节点信息;
若发送节点为所述待发送数据包的源节点,且为所述无线传感器网络中除第一层之外的其他层中的任一个簇首节点,所述发送节点获取待发送数据包的目标节点信息具体包括:
所述发送节点通过所述第一层中的任一个簇首节点将所述获取目标节点信息的请求消息发送给所述汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;
所述发送节点接收所述汇聚节点通过所述第一层中的任一个簇首节点返回的所述目标节点信息。
5.根据权利要求1所述的方法,其特征在于,若发送节点不为所述待发送数据包的源节点,且为所述无线传感器网络的第一层中的任一个簇首节点,所述发送节点获取待发送数据包的目标节点信息具体包括:
所述发送节点接收源节点发送的所述待发送数据包,所述源节点为所述发送节点的簇内的非簇首节点;
根据待发送数据包中包含的目标节点的地址,向汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;
接收所述汇聚节点返回的所述目标节点信息;
若发送节点不为所述待发送数据包的源节点,且为所述无线传感器网络中除第一层之外的其他层中的任一个簇首节点,所述发送节点获取待发送数据包的目标节点信息具体包括:
所述发送节点接收源节点发送的所述待发送数据包,所述源节点为所述发送节点的簇内的非簇首节点;
所述发送节点通过所述第一层中的任一个簇首节点将所述获取目标节点信息的请求消息发送给所述汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;
所述发送节点接收所述汇聚节点通过所述第一层中的任一个簇首节点返回的所述目标节点信息。
6.根据权利要求1所述的方法,其特征在于,若发送节点不为所述待发送数据包的源节点,所述发送节点获取待发送数据包的目标节点信息具体包括:
所述发送节点接收源节点发送的所述待发送数据包和所述目标节点信息,所述源节点为汇聚节点。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述发送节点获取待发送数据包的目标节点信息之前,包括:
除汇聚节点之外的各节点接收汇聚节点广播的探索消息,分别确定各自的信号强度指示值;
除汇聚节点之外的各节点根据各自的信号强度指示值确定与所述汇聚节点的距离,根据所述距离和预设半径差分别确定各自的层号,并分别向所述汇聚节点返回包含各自的层号的数据包。
8.根据权利要求7所述的方法,其特征在于,所述根据所述距离和预设半径差分别确定各自的层号之后还包括:
除汇聚节点之外的各节点根据各自的层号计算各自竞争簇首节点的概率,根据所述概率和各自的剩余能量确定自身是否为簇首节点。
9.根据权利要求8所述的方法,其特征在于,所述除汇聚节点之外的各节点根据各自的层号计算各自竞争簇首节点的概率具体包括:
除汇聚节点之外的各节点根据各自的层号和竞争簇首节点的概率计算公式:
p m = p 1 , m = 1 k - m k - 1 p 1 + m - 1 k - 1 p k , 1 < m < k p k , m = k
计算各自竞争成为簇首节点的概率,其中,p1为第一层的节点竞争成为簇首节点的概率,k为最大的层号,m为第一层与最外层之间的第m层节点的层号,pk为最大层的节点竞争成为簇首节点的概率,pm为第m层的节点竞争成为簇首节点的概率。
10.根据权利要求8所述的方法,其特征在于,所述根据所述概率和各自的剩余能量确定自身是否为簇首节点之后,包括:
若确定自身为簇首节点,则发送簇首节点信息给所述汇聚节点,并广播所述簇首节点信息,以使非簇首节点选择与所述非簇首节点最接近的簇首节点发送入簇请求消息,所述簇首节点信息包括所述簇首节点的地址、层号和簇首标识,并将接收到的所述入簇请求消息中包含的非簇首节点信息保存到与所述非簇首节点信息对应的入簇信息列表中;
若确定自身为非簇首节点,则发送自身的节点信息给所述汇聚节点,所述节点信息包括所述节点的地址、层号和非簇首标识,并选择与所述节点最接近的簇首节点发送入簇请求消息,所述入簇请求消息中包括所述非簇首节点信息。
11.一种无线传感器网络的路由装置,设置在无线传感器网络的簇首节点中,其特征在于,包括:
获取模块,用于获取待发送数据包的目标节点信息,所述发送节点为簇首节点,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;
确定模块,用于根据所述目标节点信息,确定与所述目标节点最接近的簇首节点;
发送模块,用于将所述待发送数据包发送给与所述目标节点最接近的簇首节点,以使与所述目标节点最接近的簇首节点将所述待发送数据包发送给所述目标节点;
所述确定模块具体包括:
第一确定单元,用于根据所述目标节点信息,若确定所述目标节点为与所述发送节点同层的非簇首节点,且确定本地入簇节点信息列表中不包括所述目标节点;
第一广播单元,用于广播入簇查询消息,所述入簇查询消息包括所述目标节点信息,接收各簇首节点返回的入簇响应消息;
第二确定单元,用于根据各入簇响应消息确定所述目标节点的入簇节点,并将所述目标节点的入簇节点确定为与所述目标节点最接近的簇首节点;
所述发送模块,用于将所述待发送数据包发送给所述目标节点的入簇节点,以使所述入簇节点将所述待发送数据包发送给所述目标节点;
或者,所述第一确定单元,还用于根据所述目标节点信息,确定所述目标节点为与所述发送节点同层的簇首节点;
所述确定模块具体还包括:
第四广播单元,用于广播第三邀约消息,所述第三邀约消息中包含所述目标节点信息;接收各簇首节点返回的第三请求消息,各第三请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
所述第二确定单元,还用于若确定与所述发送节点同层的各簇首节点中存在一个与所述目标节点的地址相同的簇首节点,则将所述目标节点确定为与所述目标节点最接近的簇首节点;
所述发送模块,还用于将所述待发送数据包发送给所述目标节点;
所述第二确定单元,还用于若确定与所述发送节点同层的各簇首节点中不存在一个与所述目标节点的地址相同的簇首节点,则将与所述发送节点同层的任一个簇首节点确定为与所述目标节点最接近的簇首节点;
所述发送模块,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点;
或者,所述第一确定单元,还用于根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的簇首节点;
所述确定模块还包括:
第二广播单元,用于广播第一邀约消息,所述第一邀约消息中包括所述目标节点信息;接收各簇首节点返回的第一请求消息,各第一请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
第三确定单元,用于若确定各簇首节点中的一个簇首节点的地址与所述目标节点的地址相同,则将所述目标节点确定为与所述目标节点最接近的簇首节点;
所述发送模块,还用于将所述待发送数据包发送给所述目标节点;
或者,所述第一确定单元,还用于根据所述目标节点信息,确定所述目标节点为与所述发送节点不同层的非簇首节点;
所述确定模块还包括:
第三广播单元,用于广播第二邀约消息,所述第二邀约消息中包括所述目标节点信息;接收各簇首节点返回的第二请求消息,各第二请求消息分别包括对应的簇首节点信息,所述簇首节点信息包括所述簇首节点的地址、层号、簇首标识;
第四确定单元,用于若确定各簇首节点中的一个簇首节点的层号与所述目标节点的层号相同,则确定与所述目标节点的层号相同的一个簇首节点确定为与所述目标节点最接近的簇首节点;
所述发送模块,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
12.根据权利要求11所述的装置,其特征在于,所述第三确定单元,还用于若确定各簇首节点中没有一个簇首节点的地址与所述目标节点的地址不相同,则根据所述目标节点信息和各簇首节点信息,确定与所述目标节点层号最接近的一个簇首节点为与所述目标节点最接近的簇首节点;
所述发送模块,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
13.根据权利要求11所述的装置,其特征在于,所述第四确定单元,还用于若确定各簇首节点中没有一个簇首节点的层号与所述目标节点的层号相同,确定与所述目标节点层号最接近的一个簇首节点为与所述目标节点最接近的簇首节点;
所述发送模块,还用于将所述待发送数据包和所述目标节点信息发送给与所述目标节点最接近的簇首节点。
14.根据权利要求11所述的装置,其特征在于,若所述装置所设置的簇首节点为所述待发送数据包的源节点,且为所述无线传感器网络的第一层中的任一个簇首节点;
所述获取模块,具体用于向汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;接收所述汇聚节点返回的所述目标节点信息。
15.根据权利要求11所述的装置,其特征在于,若所述装置所设置的簇首节点为所述待发送数据包的源节点,且为所述无线传感器网络中除第一层之外的其他层中的任一个簇首节点;
所述获取模块,具体用于通过所述第一层中的任一个簇首节点将所述获取目标节点信息的请求消息发送给汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;接收所述汇聚节点通过所述第一层中的任一个簇首节点返回的所述目标节点信息。
16.根据权利要求11所述的装置,其特征在于,若所述装置所设置的簇首节点不为所述待发送数据包的源节点,且为所述无线传感器网络的第一层中的任一个簇首节点;
所述获取模块,具体还用于接收源节点发送的所述待发送数据包,所述源节点为所述发送节点的簇内的非簇首节点;根据待发送数据包中包含的目标节点的地址,向汇聚节点发送获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;接收所述汇聚节点返回的所述目标节点信息;
若所述装置所设置的簇首节点不为所述待发送数据包的源节点,且为所述无线传感器网络中除第一层之外的其他层中的任一个簇首节点;
所述获取模块,具体还用于接收源节点发送的所述待发送数据包,所述源节点为所述发送节点的簇内的非簇首节点;根据待发送数据包中包含的目标节点的地址,通过所述第一层中的任一个簇首节点将所述获取目标节点信息的请求消息发送给所述汇聚节点,所述获取目标节点信息的请求消息中包含所述目标节点地址;接收所述汇聚节点通过所述第一层中的任一个簇首节点返回的所述目标节点信息。
17.根据权利要求11所述的装置,其特征在于,若所述装置所设置的簇首节点不为所述待发送数据包的源节点;
所述获取模块,具体还用于接收源节点发送的所述待发送数据包和所述目标节点信息,所述源节点为汇聚节点。
18.一种无线传感器网络的路由系统,其特征在于,包括:多个节点;所述多个节点中包括多个簇首节点和一个汇聚节点;
所述多个簇首节点中分别包括如权利要求11-17中任一项所述的无线传感器网络的路由装置。
19.根据权利要求18所述的系统,其特征在于,所述汇聚节点,还用于接收所述簇首节点发送的获取目标节点信息的请求消息,所述获取目标节点信息的请求消息中包含所述目标节点的地址;根据所述目标节点的地址,查询本地储存的节点信息列表,获取所述目标节点信息,所述目标节点信息包括所述目标节点的地址、层号、节点标识,所述节点标识包括簇首标识或非簇首标识;将所述目标节点信息发送给所述簇首节点。
20.根据权利要求19所述的系统,其特征在于,所述汇聚节点,还用于向所述多个节点中除所述汇聚节点之外的各节点广播探索消息;
所述多个节点中除所述汇聚节点之外的各节点,还用于接收所述汇聚节点广播的探索消息,分别确定各自的信号强度指示值;根据各自的信号强度指示值确定与所述汇聚节点的距离,根据所述距离和预设半径差分别确定各自的层号,并分别向所述汇聚节点返回包含各自的层号的数据包;根据各自的层号计算各自竞争簇首节点的概率,根据所述概率和各自的剩余能量确定自身是否为簇首节点。
21.根据权利要求20所述的系统,其特征在于,所述多个节点中除所述汇聚节点之外的各节点,还用于若确定自身为簇首节点,则发送簇首节点信息给所述汇聚节点,并广播所述簇首节点信息,以使非簇首节点选择与所述非簇首节点最接近的簇首节点发送入簇请求消息,所述簇首节点信息包括所述簇首节点的地址、层号和簇首标识,并将接收到的所述入簇请求消息中包含的非簇首节点信息保存到与所述非簇首节点信息对应的入簇信息列表中;若确定自身为非簇首节点,则发送自身的节点信息给所述汇聚节点,所述节点信息包括所述节点的地址、层号和非簇首标识,并选择与所述节点最接近的簇首节点发送入簇请求消息。
CN201210116856.6A 2012-04-19 2012-04-19 无线传感器网络的路由方法、装置及系统 Active CN102711212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210116856.6A CN102711212B (zh) 2012-04-19 2012-04-19 无线传感器网络的路由方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210116856.6A CN102711212B (zh) 2012-04-19 2012-04-19 无线传感器网络的路由方法、装置及系统

Publications (2)

Publication Number Publication Date
CN102711212A CN102711212A (zh) 2012-10-03
CN102711212B true CN102711212B (zh) 2016-04-13

Family

ID=46903727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210116856.6A Active CN102711212B (zh) 2012-04-19 2012-04-19 无线传感器网络的路由方法、装置及系统

Country Status (1)

Country Link
CN (1) CN102711212B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209458A (zh) * 2013-04-11 2013-07-17 太原理工大学 一种适用于矿井的无线传感器网络路由方法
CN103686919B (zh) * 2014-01-08 2016-08-10 重庆邮电大学 一种基于生物启发的自适应wsn路由算法
CN108076498B (zh) * 2016-11-15 2019-09-17 电信科学技术研究院 一种数据传输方法及节点

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707764A (zh) * 2009-12-03 2010-05-12 王晓喃 下一代全ip无线传感器网络的实现方法
CN102056263A (zh) * 2011-01-31 2011-05-11 中控科技集团有限公司 基于树形无线传感器网络的路由方法和装置及传感器设备
CN102158953A (zh) * 2010-12-06 2011-08-17 郑茂 移动通信定位技术辅助区域地理位置导航方法和系统
CN102196458A (zh) * 2010-03-09 2011-09-21 江苏联优信息科技有限公司 一种无线宽带传感器网络的组网方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848459B (zh) * 2010-03-30 2012-10-31 北京交通大学 一种基于ieee 802.15.4的无线传感器网络地址配置方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707764A (zh) * 2009-12-03 2010-05-12 王晓喃 下一代全ip无线传感器网络的实现方法
CN102196458A (zh) * 2010-03-09 2011-09-21 江苏联优信息科技有限公司 一种无线宽带传感器网络的组网方法及装置
CN102158953A (zh) * 2010-12-06 2011-08-17 郑茂 移动通信定位技术辅助区域地理位置导航方法和系统
CN102056263A (zh) * 2011-01-31 2011-05-11 中控科技集团有限公司 基于树形无线传感器网络的路由方法和装置及传感器设备

Also Published As

Publication number Publication date
CN102711212A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
Bharathidasan et al. Sensor networks: An overview
US8605657B2 (en) Mesh routing method and mesh routing apparatus in beacon enabled wireless AD-HOC networks
Zhang et al. Neighbor discovery in mobile ad hoc self-configuring networks with directional antennas: algorithms and comparisons
US9781745B2 (en) Scalable protocol for large WSNS having low duty cycle end nodes
US8848584B2 (en) Time synchronization and routing method in wireless sensor network, and apparatus for enabling the method
US7558258B2 (en) Wireless communication method and wireless communication apparatus
CN101241177B (zh) 一种面向三维空间的无线传感器网络定位系统
US9793947B2 (en) Scalable protocol for large WSNs having low duty cycle end nodes
CN103095577B (zh) 上下文相关的非均匀分簇路由算法
CN101873273A (zh) 路由转发方法、路由节点及无线通信网络
CN103369578B (zh) 无线自组织网络环境下的群组生成与维护方法
KR101658736B1 (ko) 에너지 저손실 클러스터 트리구조를 이용한 무선 센서 네트워크의 클러스터링 방법
CN101801113B (zh) 网络拓扑分簇处理方法和处理系统
CN108541039B (zh) 一种低功耗无线传感器网络静态节点路由方法
CN102711212B (zh) 无线传感器网络的路由方法、装置及系统
Sengul et al. A survey of adaptive services to cope with dynamics in wireless self-organizing networks
WO2009008681A2 (en) Time synchronization and routing method in wireless sensor network, and apparatus for enabling the method
CN110087306B (zh) 一种针对无线传感器网络的节点定位方法
CN102036173B (zh) 无线网络数据传输方法与装置
KR101050836B1 (ko) 무선 센서 네트워크 시스템 및 데이터 전달 방법
CN105025545A (zh) 基于竞争转发的适用于无线网络的路由方法
CN107071873B (zh) 一种树型传感器网络自组网的协调器
CN104955121A (zh) 一种基于Zigbee传感器网络的组网方法
Pan et al. Zigbee–based long–thin wireless sensor networks: address assignment and routing schemes
CN101471864A (zh) 一种无线自组织网络中基于接收者路由的数据转发方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant