WO2018098750A1 - 分布式网络的消息传输方法及节点 - Google Patents

分布式网络的消息传输方法及节点 Download PDF

Info

Publication number
WO2018098750A1
WO2018098750A1 PCT/CN2016/108150 CN2016108150W WO2018098750A1 WO 2018098750 A1 WO2018098750 A1 WO 2018098750A1 CN 2016108150 W CN2016108150 W CN 2016108150W WO 2018098750 A1 WO2018098750 A1 WO 2018098750A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
cluster
message
neighbor
cluster head
Prior art date
Application number
PCT/CN2016/108150
Other languages
English (en)
French (fr)
Inventor
任智
赵亚楠
吕昱辉
王坤龙
王斌
Original Assignee
深圳天珑无线科技有限公司
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 深圳天珑无线科技有限公司 filed Critical 深圳天珑无线科技有限公司
Priority to PCT/CN2016/108150 priority Critical patent/WO2018098750A1/zh
Publication of WO2018098750A1 publication Critical patent/WO2018098750A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • 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

Abstract

本发明公开了分布式网络的消息传输方法及节点。其中,所述方法包括:当进入所述选取簇首阶段时,在所在簇的前一簇首节点在前一周期选取簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取一个值作为设定阈值;判断当前自身剩余能量值是否小于所述设定阈值;若是,则延迟执行所述检测是否接收到簇内其他普通节点广播的请求消息;否则,即时执行所述检测是否接收到簇内其他普通节点广播的请求消息。通过上述方式,能够减少簇间传输时的传输开销。

Description

分布式网络的消息传输方法及节点 【技术领域】
本发明涉及通信技术领域,特别是涉及分布式网络的消息传输方法及节点。
【背景技术】
分布式网络是由分布在不同地点且具有多个终端的节点互连而成的网络。分布式网络应用于各领域中,例如作为传感网络。传感网络是一种基于传感器节点形成的网络,能够获取网络分布区域内的多种环境或监测对象的信息并远程传送给用户,通过遥感遥测使人们获得大量详实的信息,从而在军事和民用领域都有着广阔的应用前景。
分布式网络通常采用分簇式结构,即该网络被划分成多个簇,每个簇中包括多个普通节点,且每个簇中选取至少一个普通节点作为簇首节点。
簇首节点可与该分布式网络的汇聚节点通信,例如向其发送簇内节点的数据等。由于分布式网络通常为多跳网络,故簇首节点可能需要经过邻居簇首节点转发到汇聚节点中,故现有常规的传输方法为在簇间路由阶段,构建了一个由各簇首节点组成的虚拟骨干网络进行多跳数据传输。然而,在簇首节点间构建虚拟骨干网络会带来明显的控制开销。
【发明内容】
本发明主要解决的技术问题是提供分布式网络的消息传输方法及节点,能够减少簇间传输时的传输开销。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种分布式网络的消息传输方法,所述方法包括:普通节点接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
为解决上述技术问题,本发明采用另一技术方案,提供一种分布式网络节点,所述节点为所述分布式网络的普通节点,包括:接收模块,用于接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式 网络的汇聚节点,包括所述第一邻居普通节点的位置信息;保存模块,用于从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;选择模块,用于在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;转发模块,用于将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
为解决上述技术问题,本发明采用再一技术方案,提供一种分布式网络节点,所述节点为所述分布式网络的普通节点,包括发送器、接收器、存储器和处理器,所述发送器用于向其他节点发送消息;所述接收器用于接收其他节点发送的消息;所述存储器用于存储计算机指令;所述处理器执行所述计算机指令,用于接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
以上方案,节点将其位置信息加入至组网消息中,普通节点接收到该组网消息后,保存组网消息中的邻居普通节点的位置信息,进而在需将消息发送至汇聚节点时,利用保存的位置信息确定出与汇聚节点距离最近的邻居簇首节点,以利用与汇聚节点距离最近的邻居簇首节点转发消息至汇聚节点,故提供了数据传输至汇聚节点的时间和开销,而且上述路由方式直接利用组网消息中携带位置信息实现,无需新增路由消息进行,故减少其控制开销。
【附图说明】
图1是本发明分布式网络系统一实施例的结构示意图;
图2是本发明分布式网络系统一实施例中分簇结构示意图;
图3是本发明分布式网络的消息广播方法一实施例的部分流程图;
图4是本发明分布式网络的消息广播方法另一实施例的流程图;
图5是本发明分布式网络的通信方法一实施例的流程图;
图6是本发明分布式网络的消息传输方法一实施例的流程图;
图7a-7d分别是本发明分布式网络节点一实施例的部分结构示意图;
图8是本发明分布式网络节点另一实施例的结构示意图。
【具体实施方式】
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
第一实施例:
请参阅图1,图1是本发明分布式网络系统一实施例的结构示意图。本实施例中,分布式网络系统100包括多个普通节点111和至少一个汇聚(sink)节点112。以实际的网络物理拓扑为基础,该多个普通节点111可以被划分在至少一个虚拟的簇110中,所述簇110内的普通节点111进一步划分为至少一簇首节点111a和簇成员节点111b。
其中,簇首节点111a作为该簇110节点数据的汇集点和其他簇节点数据的中转点,用于收集所在簇的节点数据和和转发邻居簇的节点数据,以使上述数据最终到达汇聚节点112。汇聚节点112作为该分布式网络系统的数据的汇集点,用于收集分布式网络系统100中的簇首节点111a的数据,并可进行进一步处理。
本实施例中,该系统中的节点可具有以下至少一个特征:(1)所有普通节点111的物理性质相同;(2)每个普通节点111都能够产生数据如采集数据和发送数据;(3)每个普通节点111都具有路由功能;(4)每个普通节点111都能通过某种技术(如GPS)获得自己的位置信息;(5)汇聚节点112和普通节点111的缺省通信范围值(即最大通信范围)R相同,而且节点都知道该值,当然,其他实施例中汇聚节点和普通节点也可设置不同的缺省通信范围值;(6)普通节点111的发射功率可调,从而通信范围也可调;(7)汇聚节点112和每个普通节点111都有唯一的网络层地址,如IPv6地址。
该分布式网络系统可为分布式有线网络系统,或者分布式无线网络系统。在一应用中,该分布式无线网络系统可为无线传感器网络(Wireless Sensor Networks,WSNs),该系统中的普通节点为传感器节点。在另一应用中,分布式无线网络系统可为移动Ad Hoc网络系统,该系统中的普通节点可以为可实现通信的任意移动终端,如手机、电脑等。
以无线传感器网络为例,该无线传感器网络是一种分布式的多跳无线网络,在该网络中,普通节点111用于采集周边环境或监测对象的传感数据,普通节点111在向汇集节点112传送传感数据分组时,簇内的所有节点的传感数据均汇集在所在簇110的簇首节点111a,簇首节点111a使用一跳 或多跳的簇间路由将传感数据分组传送到汇聚(sink)节点112,汇集节点112接收到该数据分组后可进行进一步处理,例如将传感数据发送至用户终端;或将传感数据进行预估判断,并根据判断结果进行警报等。
在一实施例中,该系统100包括成簇和数据传输两个阶段,其中,系统可周期性的进行下述的成簇阶段,每次重新成簇后,则按照新簇进行下述数据传输;或者系统在下述组网子阶段完成后周期性进行选取簇首、簇首通告子阶段,每次选取新簇首后,则按照新簇首进行下述数据传输:
1)成簇阶段
网络开始运行后,可借助节点的位置信息,通过汇聚节点112和普通节点111的参与,将系统100的网络区域划分若干簇。以一定的机制(如位置居中、剩余能量最多等)在位于每个簇内的普通节点111中选择1个(或多个)节点作为簇首节点111a。其中,如果需要收集簇成员节点的信息并上传(指从普通节点到汇集节点方向),则簇首节点111a采用一定的机制(如TDMA)为簇成员节点111b分配共享信道资源。
具体地,该成簇阶段可包括组网广播、选取簇首、簇首通告三个子节阶段。
1.1、组网广播子阶段
汇聚节点112在1跳范围内以缺省通信半径R(也即最大通信半径,下述可直接用R表示)广播一个组网消息,该组网消息中可包含汇聚节点112的地址、位置、分簇策略等。
该分簇策略可包括该系统中簇的标识和边长,当该系统110根据与汇聚节点112的距离设定不同大小的簇110时,可包括需设置的各种簇110的边长以及该系统中对应设置该簇110的位置信息。在一实际应用中,该分簇策略包括设置两个尺寸的正方形的簇,其中,一种簇为另一种簇面积的1/4。具体地,该分簇策略包括以汇集节点的X、Y坐标(或经、纬度)的(x0、y0)为基准,在
Figure PCTCN2016108150-appb-000001
区域内形成边长为
Figure PCTCN2016108150-appb-000002
的虚拟网格(正方形的簇),以使靠近汇聚节点的区域面积更小、簇成员更少,以节约节点能量;而在该区域外,则形成边长为
Figure PCTCN2016108150-appb-000003
的、更大的虚拟网格,如图2所示。由于靠近汇聚节点的簇包括的节点较少,故其簇首节点对簇内簇成员节点的消息管理负担减少,进而减少了簇内数据开销,节省其簇内消耗的能量,均衡了该簇首节点转发其他簇消息至汇集节点的簇外消耗的能量,故避免其节点能量的过快消耗。当然,该区域的划分并不限定为两级,还可以为三级或者更多级,其中,可设置为越靠近汇聚节点的级别区域的簇尺寸越小,当然不同级别区域中的簇尺寸的设置可按照实际情况进行调整,另外,本实施例中的簇为正方形,在其他实施例中,可 以为近似正方形,或者长方形或者其他多边形,在此不作限定。当然,在其他实施例中,组网消息也可不包括分簇策略,普通节点直接根据自身的通信半径与簇间连通性等确定每个簇的大小与规模。
在另一实施例中,若该簇首节点并非由单个节点直接选取确定,而需多个节点进行配合确定,则该组网消息还可包括选取簇首阶段的时长。该选取簇首阶段会延续一段时间以供簇内节点通过自举或者推荐其他节点作为簇首节点。其中,该时长可以根据条件和需求预先设置,如可考虑将缺省的时间值设置为60s。
普通节点111收到组网消息后,根据组网消息中的分簇策略以及自身位置可确定所在簇,如所在簇的边长和标识,其中,该簇110的标识由该簇中离汇聚节点最远的顶点的坐标来表示。例如,当普通节点111与汇聚节点12间的距离在第一距离范围内时,所在簇110为边长为第一长度的正方形;当普通节点111与汇聚节点112间的距离在第一距离范围外时,所在簇110为边长为第二长度的正方形;其中,所述第一长度小于第二长度,第一距离大于第二长度。具体如,以汇集节点112的X、Y坐标(或经、纬度)的(x0、y0)为基准,该普通节点111位于(x0+15m、y0+5m),其中,在(x0±50m,y0±50m)区域内,簇边长为10m,故普通节点111位于簇标识为(x0+20m、y0+10m)的簇110中。可以理解的是,本实施例是基于普通节点均是否位于该簇范围内确定其所在分簇,但在其他实施例中,也可簇首节点以是否位于该簇范围确定其所在分簇,而簇成员节点则以其到簇首节点的距离为判断依据选择要加入的簇,即在簇首节点确定后,簇成员节点重新确定其所在簇。
另外,普通节点111收到组网消息后,可建立一张邻居节点表,以记录下组网消息中携带的上一跳节点的地址信息,也可记录该组网消息中除上一跳节点外的其他节点(即所有转发过该组网消息的节点)的地址,而且还可记录下簇尺寸如其边长等信息。普通节点111还可建立一张路由表,以在该表中建立通往汇聚节点112的路由表项(如该表项的目的节点为汇聚节点112、下一跳节点为广播组网消息的节点也即上一跳节点)。然后,在该组网消息中加入自身的地址,并广播该组网消息,具体如在1跳范围内以缺省通信半径R广播该组网消息。其他普通节点接收到该组网消息,则进行如该普通节点的上述操作。
1.2、选取簇首子阶段
本实施例中,该系统100基于节点的剩余能量选取簇首节点。进一步地,若系统100基于不同节点将其剩余能量比较进行选取,则该选取簇首子阶段也可称为竞争簇首子阶段,具体地,在广播组网消息后,普通节点111若需竞争为簇首节点,则生成包含自身地址和当前的剩余能量值的请求 消息(也可称为竞争簇首消息),该请求消息用于请求当选广播节点所在簇的簇首节点。
然后,普通节点111广播该请求消息。其中,若该系统的簇按照与汇聚节点的距离划分不同大小,如图2所示,则判断自身的坐标是否位于
Figure PCTCN2016108150-appb-000004
Figure PCTCN2016108150-appb-000005
区域内;如果是,则可调整发射功率,以使自己的通信范围调小为
Figure PCTCN2016108150-appb-000006
再进行后续的广播请求消息的操作;如果不是,则可调整发射功率,以使自己的通信范围调小为
Figure PCTCN2016108150-appb-000007
再进行后续的广播请求消息的操作。
可以理解的是,在上述的簇首节点可由单个节点选取确定的实施例中,可不包含该子阶段,例如在该簇首节点的当选时间达到预设时间后,则需要重新选取新的簇首节点,此时,由簇内的一个节点直接根据上一周期情况确定新周期的簇首节点,而无需经历上述选取簇首子阶段。
1.3、簇首通告子阶段
选取簇首子阶段结束后,每一个广播了上述请求消息的普通节点111(其中是否广播其请求消息或者何时广播其请求消息可由下述第二实施例和第三实施例确定)通过比较自身剩余能量值是否符合设定能量条件,例如判断自身的剩余能量值是否均大于选取簇首子阶段期间接收到的簇内节点广播的请求消息中的剩余能量值;若否,则确定其他普通节点当选该簇的簇首节点;若是,则确定簇内自身剩余能量最大,即该普通节点已当选该簇的簇首节点,并生成簇首通知消息,该消息中包括该普通节点111的地址和所在簇的标识,在一跳范围内广播该通知消息,以使接收到该消息的簇内其他节点根据消息中的所在簇的标识和节点地址确定该普通节点111为该簇110的簇首节点111a,其中,广播时的通信范围可设置为缺省通信半径R。
接收到该簇首通知消息的其他普通节点111,提取出该消息携带的节点地址、簇标识等信息,可通过对比所述簇标识与自身保存的所在簇的标识是否一致,来判断自己是否属于该簇,如果是,则保存该簇首节点的地址信息作为所在簇的簇首节点的地址;如果不属于该簇,则判断自己是否为簇首节点,如果是,则保存该簇首节点的地址信息作为邻居簇的簇首节点的地址,否则不保存。
2)数据传输阶段
其中,如果簇成员节点111b有数据分组需要上传,则先将数据分组采用但不限采用单跳传送方式传给本簇的簇首节点111a。簇首节点111a收到数据分组后,用单跳或多跳的方式将数据分组转发给汇聚节点112;如果簇首节点111a自己有数据分组需上传,也采用同样的方式。
例如,当簇成员节点111b有数据分组要传送给汇聚节点112时,先查 到所在簇的簇首节点111a的地址,然后以单播的方式、
Figure PCTCN2016108150-appb-000008
的通信范围,将数据分组发送给簇首节点111a。簇首节点111a接收到该数据分组后,可向簇成员节点111b回复回应消息如ACK帧或其它消息,以表示已接收到其数据分组。
当簇首节点111a有数据分组需要发往汇聚节点112时,先从邻居节点里找出当选为邻居簇簇首的节点,并将数据分组发送给该节点。每个簇首节点都进行这样的操作,直到数据分组被传送到汇聚节点112。
在数据传输阶段中,簇内的簇成员节点111b可设置为仅与簇首节点111a建立通信,而簇成员节点111b之间不进行通信。当然,这并不作为限定,簇成员节点111b之间可根据实际需要实现通信。
可以理解的是,图1仅示范性示出本发明分布式网络的拓扑结构,但不作为本发明分布式网络结构的限定,在其他实施例中,该分布式网络可包括更多簇,每个簇可存在共同节点,每个簇中的簇首节点数量可为多个,网络中汇聚节点数据也可为多个。
其中,该系统中的普通节点111或簇首节点111a可执行以下至少一个实施例中的方法,或对应为以下实施例中的节点,具体请参阅以下实施例描述。
在此,先对下面实施例出现的词语进行定义:邻居节点为位于当前节点通信范围内的节点,本实施例可理解为一跳可到达的节点。邻居簇为包括其邻居节点的其他簇。
另外,本发明下述方法中所述的其他普通节点或其他节点指的是除该执行该方法外的任意一个或多个普通节点或节点,且每次表述的其他普通节点或其他节点可以为相同节点或不同节点,并不应理解为所有表述的其他普通节点为特指的同一个节点,当然,在一些可明确理解为一系列动作均是有同一其他普通节点执行的步骤除外(如下述S308等)。
第二实施例:
请参阅图3,图3是本发明分布式网络的消息广播方法一实施例的流程图。本实施例中,该分布式网络可如图1所示,分布式网络基于节点的剩余能量值选取簇首节点,该消息广播方法可由图1所示的普通节点111在上述选取簇首阶段时执行,用于确定普通节点是否广播请求竞选簇首节点的消息,具体该方法包括以下步骤:
S301:普通节点在选取簇首阶段时检测是否接收到簇内其他普通节点广播的请求消息;若接收到,则执行S302,若没有接收到,则执行S303。
例如,分布式网络在进行组网广播后,进入上述选取簇首阶段。在该阶段中,普通节点均可请求作为所在簇的簇首节点。具体地,普通节点通 过发送包含节点地址及其当前剩余能量值的请求消息,来请求当选所在簇的簇首节点,而且,该普通节点广播请求消息的时间点不同步,即该网络中的不同普通节点间存在先后广播请求消息的情况。本实施例中分布式网络以剩余能量最大的簇内节点作为其簇首节点,普通节点在广播上述请求前先通过检测是否接收其他簇内节点的请求消息,并接收到的其他簇内节点的剩余能量值与自身剩余能量值进行比较来确定其是否有能力竞争该簇首节点。具体地,普通节点在接收到其他节点发送的请求消息时,可先提取出该请求消息中携带的节点地址、剩余能量值等信息;接着,查询邻居节点表,判断该节点是否与自己在同一个簇中,若在则执行下述S302。
其中,该分布式网络中的普通节点到达其设定请求时间时进行的上述检测,该设定请求时间可以理解为该普通节点可发送请求消息的时间,可由分布式网络的汇聚节点调配设置的,或者自身通过判断确定的(如下述第三实施例)。
S302:判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值。
普通节点均可检测自身的剩余能量值,该剩余能量值可以为剩余电量值。普通节点在接收到其他普通节点的请求消息后,首先判断发送该请求消息的该其他普通节点是否为簇内节点。例如,该普通节点本地存储有所在簇的所有普通节点的地址(该地址可根据组网消息中的信息确定的,或者在分布式网络分簇后,节点相互广播得到的),该普通节点判断请求消息中的节点地址是否属于所在簇的节点地址,若是,则确定该其他普通节点为簇内节点;又例如,请求消息中还包括广播该请求消息的节点所在簇的标识,普通节点判断该请求消息中的簇标识是否与本地存储的所在簇标识一致,若是,则确定该其他普通节点为簇内节点。
在确定广播该请求消息的其他普通节点为簇内节点后,则获取自身的当前剩余能量值,并判断自身的当前剩余能量值是否大于该请求消息中的该簇内节点的剩余能量值,若是,则执行S303,否则执行S304。
S303:广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点。
本实施例中,普通节点若判断自身的剩余能量大于当前接收到的簇内其他普通节点的剩余能量值,则确定其具有竞争簇首节点的资格,并生成包含自身的当前剩余能量值的请求消息。
簇内其他普通节点若在未广播其请求消息的情况下接收到该请求消息,则在广播其请求消息时同样执行本实施例方法以确定是否广播其请求消息。簇内其他普通节点若在已广播其请求消息的情况下接收到该请求消息,则可保存该请求消息中的剩余能量值,以在选取簇首阶段结束后,对 比自身剩余能量值与接收到的请求消息中的剩余能量值,并根据对比结果确定其是否可以作为簇首节点,当然,也可直接确定自身已不具有竞争簇首节点的资格。
S304:不广播包含自身剩余能量值的请求消息。
本实施例中,普通节点若判断自身的剩余能量不大于当前接收到的簇内其他普通节点的剩余能量值,则确定其不具有竞争簇首节点的资格(广播该请求消息的其他普通节点的剩余能量已高于该普通节点,故该普通节点不可能成为簇首节点),进而该普通节点则在选取簇首阶段不广播其请求消息。
同时,由于该普通节点已确定不具有竞争簇首节点的资格,故该普通节点在S304之后即使接收到其他普通节点发送的请求消息,也无需保存其请求消息中的剩余能量值,进而也无需在选取簇首阶段结束后利用该剩余能量值判定自身是否为簇首节点。
可选地,在S303之后,普通节点还可执行以下步骤:
S305:监测在剩余的选取簇首阶段中是否收到新的簇内其他普通节点发送的请求消息;若否,则执行S306,若是,则执行S307。
S306:确定作为所在簇的簇首节点,并将此消息通所在簇的所有其他普通节点。
根据接收到的请求消息可知,比该普通节点早广播的簇内节点的剩余能量值低于该普通节点,且在该普通节点广播其请求消息后,未收到新的簇内节点的请求消息,即表明比普通节点晚广播的簇内节点执行本实施例方法确定其剩余能量值低于该普通节点的剩余能量值故不广播其请求消息,故在此情况下,该普通节点可确定自己可作为所在簇的簇首节点,并可在一跳范围内广播包含其节点地址以及所在簇的标识的通知消息,以通知簇内所有其他的普通节点该普通节点为所在簇的簇首节点。
S307:直接确定所述普通节点不为所在簇的簇首节点。
由于普通节点接收到晚广播的簇内节点的请求消息,即表明晚广播的簇内节点的剩余能量值高于该普通节点,故该普通节点不对新接收到的请求消息进行处理,直接确定所述普通节点不为所在簇的簇首节点。
S308:在接收到其他普通节点发送的确定所述其他普通节点作为簇首节点的通知消息时,获取所述通知消息中的所述其他普通节点的地址,并保存作为所在簇的簇首节点地址。
若在S306之后,普通节点接收到邻居簇的簇首节点发送的该通知消息,该通知消息中包括该邻居簇首节点的地址及其所在簇的标识。普通节点保存消息中的节点地址和簇标识,作为其邻居簇首节点的路由信息。
若在S307之后,普通节点接收到簇内其他普通节点按照上述方式确定 其为簇首节点后广播的通知消息,该通知消息中包括该簇内其他普通节点的地址及其所在簇的标识。普通节点至少保存消息中的节点地址,作为其所在簇的簇首节点信息。
相比于现有网络所有普通节点均发送请求消息以竞选簇首节点的方式,本实施例中的普通节点在选取簇首阶段中先检测是否接收到簇内其他普通节点的请求消息,并在接收到时,判断其自身的剩余能量值是否大于请求消息中簇内其他普通节点的剩余能量值,若是,则广播其请求消息,否则确定其不可能成为所在簇的簇首节点,进而不广播其请求消息,即限制了剩余能量较少的普通节点的请求消息,故减少了由选取簇首节点产生的传输开销,也节省了节点的能量。
第三实施例:
请参阅图4,图4是本发明分布式网络的消息广播方法再一实施例的流程图。本实施例中,该分布式网络可如图1所示,分布式网络基于节点的剩余能量值选取簇首节点,该消息广播方法可由图1所示的普通节点111在开始上述选取簇首阶段时执行,用于确定何时广播用于请求竞选簇首节点的消息,具体该方法包括以下步骤:
S401:普通节点在选取簇首阶段判断自身剩余能量值是否小于设定阈值;若是,则执行S402,否则执行S403。
在选取簇首阶段中,普通节点均可请求作为所在簇的簇首节点。具体地,普通节点通过发送包含节点地址及其当前剩余能量值的请求消息,来请求当选所在簇的簇首节点。本实施例中,该普通节点在进入选取簇首阶段后即开始执行本方法以确定何时广播其请求消息。具体,本实施例中分布式网络以剩余能量最大的簇内节点作为其簇首节点,普通节点采用剩余能量较大的优先广播的原则确定其广播请求消息的时间。
其中,上述设定阈值为在所在簇的前一簇首节点在前一周期竞争簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取的一个值。例如,在进入选取簇首阶段后,簇内的每个普通节点以前一周期中当选簇首的节点广播的请求消息中包含的剩余能量值为上限值(第一周期则取节点统一的初始能量值),以0为下限值(不包含0),在该区间内用均匀分布的概率随机取一个值作为该设定阈值。然后,采用该设定阈值执行上述判断。
当然,该设定阈值也可为一固定值,且该固定值根据不同周期进行变化。通常,越靠前的周期中,该固定值越大。具体该固定值的设置可根据网络大部分的节点能量状态或者平均节点能量值确定。
可选地,为避免簇内所有节点均出现延迟广播的情况出现,在另一实施例中,在判断自身剩余能量值小于设定阈值之后,普通节点还执行:若在第一设定时间内未收到其他普通节点发送的请求消息,则调整所述设定 阈值,并重新执行上述判断自身剩余能量值是否小于设定阈值。其中,该第一设定时间可根据实际需求进行设置,本实施例可设置为小于S402中的延迟时间。由此,普通节点可及时发现簇内所有节点均延迟发送,进而重新调整其是否延迟广播的阈值,并重新判断是否延迟广播。在调整设定阈值过程中,若该设定阈值为上述的随机值,则可重新执行上述随机取值,若该设定阈值为一固定值,则可按照设定步长调小。
S402:延迟广播包含所述自身剩余能量值的请求消息。
如果确定节点本身的剩余能量值小于设定阈值,则认为该节点成为簇首节点的可能性较小,故延迟广播其请求消息。
其中,其延迟时间可设置为一定值例如为组网时间的一半,也可根据节点自身剩余能量值进行调整,例如,将延迟时间设置多个等级如5s、10s、15s,若节点当前剩余能量值较设定阈值小30%以上,则延迟15s;若节点当前剩余能量值较设定阈值小20%-30%以上,则延迟10s;节点当前剩余能量值较设定阈值小20%以下,则延迟5s。当然,还可直接将自身剩余能量值代入预设时间算法计算得到该延迟时间,故在此不做限定。
进一步地,在上述设定阈值为在所在簇的前一簇首节点在前一周期竞争簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取的一个值的实施例中,上述S402还可具体包括以下子步骤:
S4021:根据之前接收到的邻居普通节点的数据的信号强度,确定所述邻居普通节点的剩余能量值是否低于设定能量值。
例如,该分布式网络设定的通信协议包括当节点检测到自身剩余能量值低于设定能量值,则改变其发送数据时的信号强度,具体此时可将信号调大或者调小。在上一周期的数据传输阶段中,普通节点记录其接收到邻居节点的数据或控制消息的信号强度。本步骤中,通过将记录的信号强度与协议中的正常信号强度作比较,若发现邻居节点的信号强度发生上述变化时,即可确定该邻居节点的剩余能量值低于设定能量值。
S4022:若确定剩余能量值低于所述设定能量值的邻居普通节点数量高于设定数量,且自身剩余能量值高于所述设定能量值,则即时广播包含所述自身剩余能量值的请求消息,否则延迟广播包含所述自身剩余能量值的请求消息。
可依照上述方式对所有上一周期曾接收过其信号的邻居节点进行判断,当该普通节点确定其剩余能量低于设定能量值的邻居节点数量不低于一数值,则可认为该普通节点的邻居节点能量状态大部分处于较低状态,可能均在执行本实施例方法后延迟广播。为避免邻居节点均延迟广播,导致所有邻居节点的消息在延迟后仍同时发送的情况发生,普通节点此时则执行下述S403,以即时广播其请求消息。当该普通节点确定其剩余能量低 于设定能量值的邻居节点数量低于一数值,则可认为邻居节点存在全部延迟广播的可能性较小,故此时继续延迟广播。
S403:即时广播包含所述自身剩余能量值的请求消息。
如果确定节点本身的剩余能量值不小于设定阈值,则认为该节点成为簇首节点的可能性较大,故即时广播其请求消息。该即时为执行S401的判断后按照正常工作频率在下个步骤执行该S403,而不作任何延时。
可选地,普通节点执行上述S402和S403中的所述广播包含所述自身剩余能量值的请求消息,具体包括第二实施例方法步骤,以先确定是否需要广播其请求消息再根据判断结果进行广播或者不广播其请求消息。在该实施例中,普通节点确定其是否为簇首节点也可参阅第二实施例相关说明。
可选地,普通节点也可在本实施例方法中不执行判断是否广播其请求消息,即所有节点均广播其请求消息,仅是广播时间有所不同。在此实施例中,在执行上述S401-S403后,普通节点还执行以下步骤以判断其是否为簇首节点,具体:普通节点判断自身剩余能量值是否大于在第二设定时间内接收到所有其他普通节点发送的请求消息中的剩余能量值;若是,则确定自身作为所在簇的簇首节点,并将此消息通所在簇的其他传感器节点。其中,该第二设定时间可根据实际需求进行设置,本实施例可设置为小于上述S402所述的延迟时间。经上述S401-S403后,本方法可至少平均地将剩余能量大的普通节点早于剩余能量小的普通节点广播其节点,故普通节点将执行上述S401之后的第二预设时间内接收到请求消息中的剩余能量值进行上述比较,并比较通过后,可认为该普通节点的剩余能量至少大于簇内大部分其他普通节点的剩余能量,因为可确定其为簇首节点,并将此消息通所在簇的其他普通节点,该确定簇首节点之后的步骤可参考上述第二实施例的相关描述,在此不作赘述。
本实施例中,普通节点通过判断自身剩余能量值是否小于设定阈值,若小于则延迟广播其用于竞选簇首的请求消息,否则即时广播该请求消息,通过此方式,使得分布式网络中的普通节点分开广播,避免通信信道的堵塞。进一步,普通节点还可执行第二实施例方法以判断是否广播,可根据延时时间确定是否需要发送。由于剩余能量越小的普通节点比剩余能量越大的普通节点至少在平均上更晚广播,故剩余能量小的普通节点即可根据第二实施例方法判断后确定不需进行广播,故可减少广播请求消息的节点数量,从而减少控制开销,即减少由选取簇首节点传输开销,且节约节点能量。
第四实施例:
请参阅图5,图5是本发明分布式网络的通信方法一实施例的流程图。本实施例中,该分布式网络可如图1所示,该通信方法可由图1所示的簇 首节点111a在上述数据传输阶段时执行,用于根据簇内和簇间传输调整其通信范围,具体该方法包括以下步骤:
S501:簇首节点判断需进行与之通信的节点为簇内节点还是簇外节点。
其中,该S501可具体包括:判断需进行通信的节点地址是否属于所在簇的节点地址;若属于,则判断为簇内节点,否则判断为簇外节点。
S502:若为簇内节点,则以第一发射功率与所述簇内节点通信。
其中,该S502可具体包括:以第一发射功率向所述簇内节点发送回应消息,其中,所述回应消息用于表示已接收到所述簇内节点发送的数据。
S503:若为簇外节点,则以第二发射功率与所述簇外节点通信,所述第一发射功率(也称为簇内发射功率)小于所述第二发射功率(也称为簇外发射功率)。
其中,该S502可具体包括:以第二发射功率向所述相邻簇首节点发送数据,其中,所述数据包括自身的数据和/或所在簇的簇成员节点发送的数据。
例如,在无线传感网络中,簇首节点接收到其簇成员节点发送的传感数据,在簇首节点需回复回应消息(如ACK帧)时,由于该回应消息的目的节点为簇成员节点,故可通过网络层/MAC子层-物理层的跨层操作,将发射功率调至第一发射功率,以将通信范围调整至
Figure PCTCN2016108150-appb-000009
又例如,簇首节点接收到一邻居簇首节点发送的消息,该消息的目标节点为汇聚节点,即簇首节点选择可通往汇聚节点的另一邻居簇首节点,并可通过网络层/MAC子层-物理层的跨层操作,将发射功率调至第二发射功率,以将通信范围调整至R,利用该通信范围将该消息转发至选择的邻居簇首节点。
可选地,该分布式网络可按照与汇聚节点的距离划分两种尺寸簇的实施例中,如当所述簇首节点与汇聚节点间的距离在第一距离范围内时,所在簇为边长为第一长度如为
Figure PCTCN2016108150-appb-000010
的正方形;当所述簇首节点与所述汇聚节点间的距离在第一距离范围外时,所在簇为边长为第二长度如为
Figure PCTCN2016108150-appb-000011
的正方形。在一具体应用中,该第二发射功率的通信范围可设置为R,当所在簇边长为第一长度时,所述第一发射功率的通信范围可设置为
Figure PCTCN2016108150-appb-000012
当所在簇边长为第二长度时,所述第一发射功率的通信范围可设置为
Figure PCTCN2016108150-appb-000013
本实施例中,簇首节点在与一节点进行通信时,先判断该节点为簇内节点还是簇外节点,并在为簇内节点时以第一发射功率与之通信,在为簇外节点时以第二发射功率与之通信,故实现了自适应调整其通信范围,由 于簇外节点的距离常大于簇内节点,故采用较小功率进行簇内通信,既能保证与簇内任意节点的通信又能减小对邻居簇的干扰;采用较大功率进行簇内通信,以保证簇间通信的成功,即实现了在保障簇内、簇间通信成功的前提下,减小簇间干扰,且节约簇首节点能量。
第五实施例:
请参阅图6,图6是本发明分布式网络的消息传输方法一实施例的流程图。本实施例中,该分布式网络可如图1所示,该消息传输方法可由图1所示的普通节点111在上述成簇阶段和数据传输阶段时执行,用于普通节点在数据传输时基于节点位置实现路由选择,具体该方法包括以下步骤:
S601:普通节点接收第一邻居普通节点发送的组网消息。
在成簇节点的组网子阶段中,普通节点接收第一邻居普通节点发送的组网消息。其中,该组网消息来源于所述分布式网络的汇聚节点,具体可如第一实施例所述。而且,该组网消息还包括第一邻居普通节点的位置信息。该位置信息可具体包括发送该组网消息的第一邻居普通节点与汇聚节点之间的距离。
S602:从所述组网消息中获取并保存所述第一邻居普通节点的位置信息。
例如,该组网消息还包括所述第一邻居普通节点的地址和位置信息。普通节点从所述组网消息中获取并保存所述第一邻居普通节点的位置信息和地址,并建立所述第一邻居普通节点的位置信息和地址的对应关系。
可以理解的是,在组网过程中,可有多个第一邻居普通节点向普通节点发送组网消息,故普通节点保存多个第一邻居普通节点的位置信息。在一实际应用中,可建立在邻居路由表,并在表中记录每个第一邻居普通节点的地址与位置信息。
在进行上述位置保存之后,普通节点还可将自身的地址和位置信息加入至所述组网消息中,并转发所述组网消息。其他普通节点接收到该组网消息,即可同样执行本方法步骤以获得其邻居节点的位置信息。
进一步地,在上述S602之后,该方法还可包括:普通节点接收第二邻居普通节点发送的用于通知其作为簇首节点的通知消息,所述通知消息包括所述第二邻居普通节点的地址;在所述保存的位置信息中,仅保留与所述通知消息中的地址对应的位置信息。该步骤执行在簇首通告阶段,且该第二邻居普通节点可为多个。由该步骤,普通节点仅保存其邻居簇首节点的位置信息,而删除掉原先保存的非为簇首节点的邻居节点的位置信息,减少了对存储空间的占用,且也降低了查找位置信息的复杂度。
其中,上述的第一邻居普通节点和第二邻居普通节点均表示为执行该方法的节点的邻居普通节点,该第一邻居普通节点和第二邻居普通节点可 为相同或不同的节点。
S603:在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点。
接上述S602的举例,该S603对应可包括:根据所述建立的对应关系和所有邻居簇首节点的地址,查找出所有邻居簇首节点的位置信息;利用所有邻居簇首节点的位置信息,比较出所有邻居簇首节点与所述汇聚节点间的距离,以获得与所述汇聚节点距离最短的邻居簇首节点。
本步骤发生在上述数据传输阶段。例如,该普通节点作为簇首节点并需向汇聚节点发送消息如将所在簇的其他普通节点发送的数据上传至汇聚节点时,该普通节点获取在组网阶段保存的邻居路由表,并在表中查找出其邻居簇首节点的位置消息,其中,若该邻居路由表包含非簇首节点的邻居节点的位置信息,可根据在邻居簇首节点在簇首通告阶段广播的通知时记录的其邻居簇首节点的地址,获取到邻居路由表中地址与其记录的邻居簇首节点地址一致的节点的位置信息。将获取得到的至少一个邻居簇首节点位置信息进行比较,得到其中与汇聚节点距离最短的邻居簇首节点。
S604:将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
例如,普通节点如上述第四实施例所述进行簇内和簇外通信。具体地,普通节点在确定与汇聚节点最近的邻居簇首节点通信之后,以上述簇外发射功率向所述选择的邻居簇首节点发送所述消息。该邻居簇首节点在接收到该消息后,可同样利用本方法实施例将该消息转发至下一个距离汇聚节点最近的其邻居簇首节点,每个转发节点均以此类推进行转发,直至消息到达汇聚节点。
本实施例中,节点将其位置信息加入至组网消息中,普通节点接收到该组网消息后,保存组网消息中的邻居普通节点的位置信息,进而在需将消息发送至汇聚节点时,利用保存的位置信息确定出与汇聚节点距离最近的邻居簇首节点,以利用与汇聚节点距离最近的邻居簇首节点转发消息至汇聚节点,故减少了数据传输至汇聚节点的时间和开销,而且上述路由方式直接利用组网消息中携带位置信息实现,无需新增路由消息进行,故减少其控制开销。
请参阅图7a-7d,本实施例中,该节点可以为图1所示的普通节点或簇首节点。该节点包括检测模块701、第一判断模块702和第一广播模块703。
检测模块701用于在选取簇首阶段检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的节点的剩余能量值,用于请求当选所述簇首节点。
第一判断模块702用于在接收到时,判断所述普通节点的剩余能量值 是否大于所述请求消息中包含的所述剩余能量值。
第一广播模块703用于在所述普通节点的剩余能量值大于所述请求消息中包含的所述剩余能量值时,广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点;在所述普通节点的剩余能量值不大于所述请求消息中包含的所述剩余能量值时,不广播所述包含自身剩余能量值的请求消息。
可选地,该节点还包括第二判断模块704和第二广播模块705。第二判断模块704用于在选取簇首阶段判断自身剩余能量值是否小于设定阈值;第二广播模块705用于在自身剩余能量值小于设定阈值时,延迟广播包含所述自身剩余能量值的请求消息;在自身剩余能量值不小于设定阈值时,即时广播包含所述自身剩余能量值的请求消息;其中,所述请求消息用于请求当选所述簇首节点。
可选地,该节点为簇首节点,还包括第三判断模块706、第一通信模块707和第二通信模块708。
第三判断模块706用于判断需进行与之通信的节点为簇内节点还是簇外节点;
第一通信模块707用于在需进行与之通信的节点为簇内节点时,以第一发射功率与所述簇内节点通信;
第二通信模块708用于在需进行与之通信的节点为簇外节点时,以第二发射功率与所述簇外节点通信;
其中,所述第一发射功率小于所述第二发射功率。
可选地,该节点还包括接收模块709、保存模块710、选择模块711和转发模块712。接收模块709用于接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;保存模块710用于从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;选择模块711用于在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;转发模块712用于将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
上述节点的各个模块可分别执行上述方法实施例中对应步骤,故在此不对各模块进行赘述,详细请参阅以上对应步骤的说明。可以理解的是,上述节点的上述模块还可执行上述方法实施例中的其他步骤,或者上述节点还可包括其他功能模块用以执行上述方法实施例中的其他步骤。
可以理解的是,该节点可按需包含部分上述模块。例如,该节点可仅包括检测模块701、第一判断模块702和第一广播模块703,第二判断模块 704和第二广播模块705,第三判断模块706、第一通信模块707和第二通信模块708,接收模块709、保存模块710、选择模块711和转发模块712。又或者,该节点包括以上多组模块,其中,每组模块的组合方式可参阅上述方法步骤的顺序。
请参阅图8,图8是本发明分布式网络节点另一实施例的结构示意图。该节点为图1所示的普通节点或簇首节点,该节点可以执行上述方法中步骤。相关内容请参见上述方法中的详细说明,在此不再赘叙。
本实施例中,该节点80包括:发送器81、接收器82、一个或多个处理器83、存储器84和总线85。
发送器81用于向分布式网络中的其他节点发送消息,如采集的传感数据、组网消息等。接收器82用于接收分布式网络中的其他节点发送的消息,如采集的传感数据、组网消息等存储器84包括只读存储器和随机存取存储器。存储器84的一部分还可以包括非易失性随机存取存储器(NVRAM)。
处理器83还可以称为CPU(Central Processing Unit,中央处理单元)。具体的应用中,节点的各个组件通过总线85耦合在一起,其中总线85除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线85。
本发明实施例中,节点80还包括多个应用程序以及一个或多个程序,所述多个应用程序以及一个或多个程序存储在存储器84中,并且配置为被所述处理器83执行。所述一个或多个程序包括指令。处理器83通过调用存储器84存储的所述一个或多个程序中的指令,来执行下述操作:
1)确定普通节点是否广播请求竞选簇首节点的消息,具体包括:在选取簇首阶段检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的节点的剩余能量值,用于请求当选所述簇首节点;若接收到,则判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值;若是,则广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点;若否,则不广播所述包含自身剩余能量值的请求消息。
2)确定何时广播用于请求竞选簇首节点的消息,具体包括:在选取簇首阶段判断自身剩余能量值是否小于设定阈值;若是,则延迟广播包含所述自身剩余能量值的请求消息;若否,则即时广播包含所述自身剩余能量值的请求消息。
3)该节点80为簇首节点时,根据簇内和簇间传输调整其通信范围,具体包括:判断需进行与之通信的节点为簇内节点还是簇外节点;若为簇内节点,则以第一发射功率与所述簇内节点通信;若为簇外节点,则以第二发射功率与所述簇外节点通信;其中,所述第一发射功率小于所述第二 发射功率。
4)在普通节点在数据传输时基于节点位置实现路由选择,具体包括:接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
上述处理器执行的每个步骤可分别为上述方法实施例中对应步骤,故在此不对各步骤进行赘述,详细请参阅以上对应步骤的说明。
可以理解的是,该处理器83可按需执行上述四个方面。例如,该处理器83仅执行上述一个方面或者多个方面。其中,所述多个方面的组合方式可参阅上述方法步骤的顺序。
针对以上方案的四个方面:
(1)传输开销更少,路由更高效
以上方案的第一、第二和第四方面从以下两个方面使控制开销更小、路由效率更高:
a、在选取簇首阶段中,部分剩余能量相对较少的节点收到限制,不会广播用于请求竞争簇首的请求消息,从而减少了控制开销。
b、在构建簇间路由的过程中,直接利用组网消息中的位置信息实现路由,不需要发送任何额外的控制消息和控制信息,从而减少了控制开销,且提高了路由效率,而且采用与汇聚节点距离最短的邻居簇首节点进行转发,最大程度上缩短传输路径。
(2)节约节点能量,延长节点和网络的寿命
a、以上方案的第三方面使得簇首节点在与簇内节点通信时使用相对更小的通信范围,发射功率和能耗随之降低,从而能够节约簇首节点的能量。
b、以上方案的第一、第二和第四方面减少了控制消息的收发,也能够节约节点能量,延长节点和网络的寿命。
(3)干扰减少,通信更加可靠
以上方案的第三方面使得簇首节点在与簇内节点通信时使用相对更小的通信范围,从而能够减少无线信号对邻居簇的干扰,使通信相对更加可靠,有利于数据分组传送成功率的提高。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (18)

  1. 一种分布式网络的消息传输方法,其特征在于,所述方法包括:
    普通节点接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;
    从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;
    在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;
    将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
  2. 根据权利要求1所述的方法,其特征在于,所述第一邻居普通节点的位置信息包括所述第一邻居普通节点与所述汇聚节点的距离。
  3. 根据权利要求1所述的方法,其特征在于,所述第一邻居普通节点发送的组网消息还包括所述第一邻居普通节点的地址;
    所述从所述组网消息中获取并保存所述第一邻居普通节点的位置信息,包括:
    从所述组网消息中获取并保存所述第一邻居普通节点的位置信息和地址,并建立所述第一邻居普通节点的位置信息和地址的对应关系;
    所述根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点,包括:
    根据所述建立的对应关系和所有邻居簇首节点的地址,查找出所有邻居簇首节点的位置信息;
    利用所有邻居簇首节点的位置信息,比较出所有邻居簇首节点与所述汇聚节点间的距离,以获得与所述汇聚节点距离最短的邻居簇首节点。
  4. 根据权利要求3所述的方法,其特征在于,在所述从所述组网消息中获取并保存所述第一邻居普通节点的位置信息之后,还包括:
    接收第二邻居普通节点发送的用于通知其作为簇首节点的通知消息,所述通知消息包括所述第二邻居普通节点的地址;
    在所述保存的位置信息中,仅保留与所述通知消息中的地址对应的位置信息。
  5. 根据权利要求1所述的方法,其特征在于,所述组网消息还包括分簇策略,所述方法还包括:
    根据所述分簇策略和自身的位置信息,确定所在簇的边长,其中,当自身与所述分布式网络中的汇聚节点间的距离在第一距离范围内时,所在簇为边长为第一长度的正方形;当自身与所述汇聚节点间的距离在第一距离范围外时,所在簇为边长为第二长度的正方形,其中,所述第一长度小于第二长度。
  6. 根据权利要求1所述的方法,其特征在于,在所述从所述组网消息中获取并保存所述第一邻居普通节点的位置信息之后,还包括:
    将自身的地址和位置信息加入至所述组网消息中,并转发所述组网消息。
  7. 根据权利要求1所述的方法,其特征在于,所述将所述消息发送至所述选择的邻居簇首节点,包括:
    以簇外发射功率向所述选择的邻居簇首节点发送所述消息,其中,所述簇首节点以簇内发射功率向簇内节点通信,所述簇外发射功率大于所述簇内发射功率。
  8. 根据权利要求1所述的方法,其特征在于,还包括:
    在选取簇首阶段中,检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的节点的剩余能量值,用于请求当选所述簇首节点;
    若接收到,则判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值;
    若是,则广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点;若否,则不广播所述包含自身剩余能量值的请求消息。
    在所述广播包含自身剩余能量值的请求消息之后,若在选取簇首阶段内未收到新的簇内其他普通节点发送的所述请求消息,则确定作为所在簇的簇首节点,并将此消息通知所在簇的所有其他普通节点。
  9. 根据权利要求8所述的方法,其特征在于,在所述检测是否接收到簇内其他普通节点广播的请求消息之前,还包括:
    当进入所述选取簇首阶段时,在所在簇的前一簇首节点在前一周期选取簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取一个值作为设定阈值;
    判断当前自身剩余能量值是否小于所述设定阈值;
    若是,则延迟执行所述检测是否接收到簇内其他普通节点广播的请求消息;
    否则,即时执行所述检测是否接收到簇内其他普通节点广播的请求消息。
  10. 一种分布式网络节点,其特征在于,所述节点为所述分布式网络的普通节点,包括:
    接收模块,用于接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;
    保存模块,用于从所述组网消息中获取并保存所述第一邻居普通节点 的位置信息;
    选择模块,用于在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;
    转发模块,用于将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
  11. 一种分布式网络节点,其特征在于,所述节点为所述分布式网络的普通节点,包括发送器、接收器、存储器和处理器,
    所述发送器用于向其他节点发送消息;所述接收器用于接收其他节点发送的消息;所述存储器用于存储计算机指令;所述处理器执行所述计算机指令,用于:
    接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;
    从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;
    在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;
    将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
  12. 根据权利要求11所述的节点,其特征在于,所述第一邻居普通节点的位置信息包括所述第一邻居普通节点与所述汇聚节点的距离。
  13. 根据权利要求11所述的节点,其特征在于,所述第一邻居普通节点发送的组网消息还包括所述第一邻居普通节点的地址;
    所述处理器执行所述从所述组网消息中获取并保存所述第一邻居普通节点的位置信息,包括:
    从所述组网消息中获取并保存所述第一邻居普通节点的位置信息和地址,并建立所述第一邻居普通节点的位置信息和地址的对应关系;
    所述处理器执行所述根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点,包括:
    根据所述建立的对应关系和所有邻居簇首节点的地址,查找出所有邻居簇首节点的位置信息;
    利用所有邻居簇首节点的位置信息,比较出所有邻居簇首节点与所述汇聚节点间的距离,以获得与所述汇聚节点距离最短的邻居簇首节点。
  14. 根据权利要求13所述的节点,其特征在于,在执行所述从所述组网消息中获取并保存所述第一邻居普通节点的位置信息之后,所述处理器还用于:
    接收第二邻居普通节点发送的用于通知其作为簇首节点的通知消息,所述通知消息包括所述第二邻居普通节点的地址;
    在所述保存的位置信息中,仅保留与所述通知消息中的地址对应的位置信息。
  15. 根据权利要求11所述的节点,其特征在于,所述组网消息还包括分簇策略,所述处理器还用于:
    根据所述分簇策略和自身的位置信息,确定所在簇的边长,其中,当自身与所述分布式网络中的汇聚节点间的距离在第一距离范围内时,所在簇为边长为第一长度的正方形;当自身与所述汇聚节点间的距离在第一距离范围外时,所在簇为边长为第二长度的正方形,其中,所述第一长度小于第二长度。
  16. 根据权利要求11所述的节点,其特征在于,在执行所述从所述组网消息中获取并保存所述第一邻居普通节点的位置信息之后,所述处理器还用于:
    将自身的地址和位置信息加入至所述组网消息中,并转发所述组网消息。
  17. 根据权利要求11所述的节点,其特征在于,所述处理器执行所述将所述消息发送至所述选择的邻居簇首节点,包括:
    以簇外发射功率向所述选择的邻居簇首节点发送所述消息,其中,所述簇首节点以簇内发射功率向簇内节点通信,所述簇外发射功率大于所述簇内发射功率。
  18. 根据权利要求11所述的节点,其特征在于,所述处理器还用于:
    在选取簇首阶段中,检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的节点的剩余能量值,用于请求当选所述簇首节点;
    若接收到,则判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值;
    若是,则广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点;若否,则不广播所述包含自身剩余能量值的请求消息。
    在所述广播包含自身剩余能量值的请求消息之后,若在选取簇首阶段内未收到新的簇内其他普通节点发送的所述请求消息,则确定作为所在簇的簇首节点,并将此消息通知所在簇的所有其他普通节点。
PCT/CN2016/108150 2016-11-30 2016-11-30 分布式网络的消息传输方法及节点 WO2018098750A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/108150 WO2018098750A1 (zh) 2016-11-30 2016-11-30 分布式网络的消息传输方法及节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/108150 WO2018098750A1 (zh) 2016-11-30 2016-11-30 分布式网络的消息传输方法及节点

Publications (1)

Publication Number Publication Date
WO2018098750A1 true WO2018098750A1 (zh) 2018-06-07

Family

ID=62241035

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/108150 WO2018098750A1 (zh) 2016-11-30 2016-11-30 分布式网络的消息传输方法及节点

Country Status (1)

Country Link
WO (1) WO2018098750A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447658A (zh) * 2019-01-16 2020-07-24 沈阳理工大学 一种基于sdwsn的分簇路由方法
WO2020168506A1 (zh) * 2019-02-21 2020-08-27 北京大学深圳研究生院 一种基于坐标映射的多模标识网络寻址方法及系统
CN111711975A (zh) * 2020-06-04 2020-09-25 中国联合网络通信集团有限公司 数据传输方法、系统、终端设备及计算机可读存储介质
CN114640174A (zh) * 2022-03-16 2022-06-17 广东博通新能源科技有限公司 一种模块化光伏电站控制管理系统
CN115379529A (zh) * 2022-08-22 2022-11-22 温州理工学院 一种节能高效可靠的物联网感知层数据收集方法
CN115550194A (zh) * 2022-12-01 2022-12-30 中国科学院合肥物质科学研究院 基于类最远采样的区块链网络传输方法及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640944A (zh) * 2009-05-06 2010-02-03 福建师范大学 无线传感器分簇多跳通信方法
CN102404828A (zh) * 2011-12-16 2012-04-04 山东大学 一种基于pool机制的wsn目标跟踪簇调整算法
US8223784B2 (en) * 2007-12-17 2012-07-17 Electronics And Telecommunications Research Institute Wireless sensor network having hierarchical structure and routing method thereof
WO2012116483A1 (en) * 2011-02-28 2012-09-07 Renesas Mobile Corporation Multimode user equipment accessing wireless sensor network
CN103249108A (zh) * 2013-04-19 2013-08-14 江苏科技大学 基于非均匀分簇的无线传感器网络能耗均衡路由方法
CN103298054A (zh) * 2013-06-04 2013-09-11 四川大学 一种基于节点深度的无线传感器网络分簇路由协议

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223784B2 (en) * 2007-12-17 2012-07-17 Electronics And Telecommunications Research Institute Wireless sensor network having hierarchical structure and routing method thereof
CN101640944A (zh) * 2009-05-06 2010-02-03 福建师范大学 无线传感器分簇多跳通信方法
WO2012116483A1 (en) * 2011-02-28 2012-09-07 Renesas Mobile Corporation Multimode user equipment accessing wireless sensor network
CN102404828A (zh) * 2011-12-16 2012-04-04 山东大学 一种基于pool机制的wsn目标跟踪簇调整算法
CN103249108A (zh) * 2013-04-19 2013-08-14 江苏科技大学 基于非均匀分簇的无线传感器网络能耗均衡路由方法
CN103298054A (zh) * 2013-06-04 2013-09-11 四川大学 一种基于节点深度的无线传感器网络分簇路由协议

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447658A (zh) * 2019-01-16 2020-07-24 沈阳理工大学 一种基于sdwsn的分簇路由方法
CN111447658B (zh) * 2019-01-16 2022-01-04 沈阳理工大学 一种基于sdwsn的分簇路由方法
WO2020168506A1 (zh) * 2019-02-21 2020-08-27 北京大学深圳研究生院 一种基于坐标映射的多模标识网络寻址方法及系统
CN111711975A (zh) * 2020-06-04 2020-09-25 中国联合网络通信集团有限公司 数据传输方法、系统、终端设备及计算机可读存储介质
CN114640174A (zh) * 2022-03-16 2022-06-17 广东博通新能源科技有限公司 一种模块化光伏电站控制管理系统
CN114640174B (zh) * 2022-03-16 2023-03-24 广东博通新能源科技有限公司 一种模块化光伏电站控制管理系统
CN115379529A (zh) * 2022-08-22 2022-11-22 温州理工学院 一种节能高效可靠的物联网感知层数据收集方法
CN115550194A (zh) * 2022-12-01 2022-12-30 中国科学院合肥物质科学研究院 基于类最远采样的区块链网络传输方法及存储介质

Similar Documents

Publication Publication Date Title
WO2018098750A1 (zh) 分布式网络的消息传输方法及节点
Kumar et al. Location-based routing protocols for wireless sensor networks: A survey
WO2018098759A1 (zh) 分布式网络的簇首选取方法、节点及系统
Huang et al. Green data gathering under delay differentiated services constraint for internet of things
WO2018098737A1 (zh) 分布式网络的簇首选取方法、节点及系统
WO2018098753A1 (zh) 分布式网络的管理方法、节点及系统
US10171986B2 (en) Radio relay device and system with waiting time optimization
CN103906207A (zh) 基于自适应按需唤醒技术的无线传感器网络数据传输方法
CN107690168B (zh) 一种可扩展的无线传感器网络组网方法
Hwang et al. A novel efficient power‐saving MAC protocol for multi‐hop MANETs
WO2022001282A1 (zh) 无线携能网络的功率分配方法、装置和计算机设备
Zhu et al. A smart collaborative routing protocol for delay sensitive applications in industrial IoT
Galluccio et al. A MAC/Routing cross-layer approach to geographic forwarding in wireless sensor networks
WO2018098748A1 (zh) 分布式网络的通信方法、节点及系统
WO2018098755A1 (zh) 分布式网络的簇首选取方法、节点及系统
WO2018098745A1 (zh) 分布式网络的通信方法、节点及系统
Sengul et al. A survey of adaptive services to cope with dynamics in wireless self-organizing networks
Bernard et al. Slot scheduling for wireless sensor networks
WO2018098752A1 (zh) 分布式网络的消息广播方法及节点
WO2018098749A1 (zh) 分布式网络的消息广播方法及节点
WO2018098754A1 (zh) 分布式网络的簇首选取方法、节点及系统
Ali et al. Real-time support and energy efficiency in wireless sensor networks
US9191894B2 (en) Power saving for multi-hop communications
CN112867169A (zh) 一种综合管廊异构网络自组网通信方法及其系统
Damdinsuren et al. Lifetime extension based on residual energy for receiver-driven multi-hop wireless network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16922989

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16922989

Country of ref document: EP

Kind code of ref document: A1