Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2018098752) PROCÉDÉ DE DIFFUSION DE MESSAGE POUR RÉSEAU DISTRIBUÉ, ET NŒUD
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18  

附图

0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011  

说明书

发明名称 : 分布式网络的消息广播方法及节点

【技术领域】

[0001]
本发明涉及通信技术领域,特别是涉及分布式网络的消息广播方法及节点。

【背景技术】

[0002]
分布式网络是由分布在不同地点且具有多个终端的节点互连而成的网络。分布式网络应用于各领域中,例如作为传感网络。传感网络是一种基于传感器节点形成的网络,能够获取网络分布区域内的多种环境或监测对象的信息并远程传送给用户,通过遥感遥测使人们获得大量详实的信息,从而在军事和民用领域都有着广阔的应用前景。
[0003]
分布式网络通常采用分簇式结构,即该网络被划分成多个簇,每个簇中包括多个普通节点,且每个簇中选取至少一个普通节点作为簇首节点。
[0004]
常用的选取方式为基于节点剩余能量选取,具体是,簇内的每个普通节点均在进入选取簇首阶段后即广播自身的剩余能量,普通节点通过比较其他普通节点的剩余能量和自身剩余能量,确定最高剩余能量的普通节点为该簇的簇首节点。
[0005]
然而,在进入选取簇首阶段后每个节点均进行广播其剩余能量,故大量的请求消息同时传输,导致信道堵塞。
[0006]
【发明内容】
[0007]
本发明主要解决的技术问题是提供分布式网络的消息广播方法及节点,能够避免由选取簇首节点导致网络信道堵塞。
[0008]
为解决上述技术问题,本发明采用的一个技术方案是:提供一种分布式网络的消息广播方法,所述分布式网络基于节点的剩余能量值选取簇首节点,所述方法包括:普通节点在选取簇首阶段判断自身剩余能量值是否小于设定阈值;若是,则延迟广播包含所述自身剩余能量值的请求消息;若否,则即时广播包含所述自身剩余能量值的请求消息;其中,所述请求消息用于请求当选所述簇首节点。
[0009]
为解决上述技术问题,本发明采用另一技术方案,提供一种分布式网络节点,所述分布式网络基于节点的剩余能量值选取簇首节点,所述节点为所述分布式网络的普通节点,包括:判断模块,用于在选取簇首阶段判 断自身剩余能量值是否小于设定阈值;广播模块,用于若是,则延迟广播包含所述自身剩余能量值的请求消息;若否,则即时广播包含所述自身剩余能量值的请求消息;其中,所述请求消息用于请求当选所述簇首节点。
[0010]
为解决上述技术问题,本发明采用再一技术方案,提供一种分布式网络节点,所述分布式网络基于节点的剩余能量值选取簇首节点,所述节点为所述分布式网络的普通节点,包括发送器、接收器、存储器和处理器,所述发送器用于向其他节点发送消息;所述接收器用于接收其他节点发送的消息;所述存储器用于存储计算机指令;所述处理器执行所述计算机指令,用于在选取簇首阶段判断自身剩余能量值是否小于设定阈值;若是,则延迟广播包含所述自身剩余能量值的请求消息;若否,则即时广播包含所述自身剩余能量值的请求消息;其中,所述请求消息用于请求当选所述簇首节点。
[0011]
以上方案,普通节点通过判断自身剩余能量值是否小于设定阈值,若小于则延迟广播其用于竞选簇首的请求消息,否则即时广播该请求消息,通过此方式,使得分布式网络中的普通节点分开广播,避免通信信道的堵塞。

【附图说明】

[0012]
图1是本发明分布式网络系统一实施例的结构示意图;
[0013]
图2是本发明分布式网络系统一实施例中分簇结构示意图;
[0014]
图3是本发明分布式网络的消息广播方法一实施例的部分流程图;
[0015]
图4是本发明分布式网络的消息广播方法另一实施例的流程图;
[0016]
图5是本发明分布式网络的通信方法一实施例的流程图;
[0017]
图6是本发明分布式网络的消息传输方法一实施例的流程图;
[0018]
图7a-7d分别是本发明分布式网络节点一实施例的部分结构示意图;
[0019]
图8是本发明分布式网络节点另一实施例的结构示意图。

【具体实施方式】

[0020]
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0021]
第一实施例:
[0022]
请参阅图1,图1是本发明分布式网络系统一实施例的结构示意图。本实施例中,分布式网络系统100包括多个普通节点111和至少一个汇聚(sink)节点112。以实际的网络物理拓扑为基础,该多个普通节点111可以被划分在至少一个虚拟的簇110中,所述簇110内的普通节点111进一步划分为至少一簇首节点111a和簇成员节点111b。
[0023]
其中,簇首节点111a作为该簇110节点数据的汇集点和其他簇节点数据的中转点,用于收集所在簇的节点数据和和转发邻居簇的节点数据,以使上述数据最终到达汇聚节点112。汇聚节点112作为该分布式网络系统的数据的汇集点,用于收集分布式网络系统100中的簇首节点111a的数据,并可进行进一步处理。
[0024]
本实施例中,该系统中的节点可具有以下至少一个特征:(1)所有普通节点111的物理性质相同;(2)每个普通节点111都能够产生数据如采集数据和发送数据;(3)每个普通节点111都具有路由功能;(4)每个普通节点111都能通过某种技术(如GPS)获得自己的位置信息;(5)汇聚节点112和普通节点111的缺省通信范围值(即最大通信范围)R相同,而且节点都知道该值,当然,其他实施例中汇聚节点和普通节点也可设置不同的缺省通信范围值;(6)普通节点111的发射功率可调,从而通信范围也可调;(7)汇聚节点112和每个普通节点111都有唯一的网络层地址,如IPv6地址。
[0025]
该分布式网络系统可为分布式有线网络系统,或者分布式无线网络系统。在一应用中,该分布式无线网络系统可为无线传感器网络(Wireless Sensor Networks,WSNs),该系统中的普通节点为传感器节点。在另一应用中,分布式无线网络系统可为移动Ad Hoc网络系统,该系统中的普通节点可以为可实现通信的任意移动终端,如手机、电脑等。
[0026]
以无线传感器网络为例,该无线传感器网络是一种分布式的多跳无线网络,在该网络中,普通节点111用于采集周边环境或监测对象的传感数据,普通节点111在向汇集节点112传送传感数据分组时,簇内的所有节点的传感数据均汇集在所在簇110的簇首节点111a,簇首节点111a使用一跳或多跳的簇间路由将传感数据分组传送到汇聚(sink)节点112,汇集节点112接收到该数据分组后可进行进一步处理,例如将传感数据发送至用户终端;或将传感数据进行预估判断,并根据判断结果进行警报等。
[0027]
在一实施例中,该系统100包括成簇和数据传输两个阶段,其中,系统可周期性的进行下述的成簇阶段,每次重新成簇后,则按照新簇进行下 述数据传输;或者系统在下述组网子阶段完成后周期性进行选取簇首、簇首通告子阶段,每次选取新簇首后,则按照新簇首进行下述数据传输:
[0028]
1)成簇阶段
[0029]
网络开始运行后,可借助节点的位置信息,通过汇聚节点112和普通节点111的参与,将系统100的网络区域划分若干簇。以一定的机制(如位置居中、剩余能量最多等)在位于每个簇内的普通节点111中选择1个(或多个)节点作为簇首节点111a。其中,如果需要收集簇成员节点的信息并上传(指从普通节点到汇集节点方向),则簇首节点111a采用一定的机制(如TDMA)为簇成员节点111b分配共享信道资源。
[0030]
具体地,该成簇阶段可包括组网广播、选取簇首、簇首通告三个子节阶段。
[0031]
1.1、组网广播子阶段
[0032]
汇聚节点112在1跳范围内以缺省通信半径R(也即最大通信半径,下述可直接用R表示)广播一个组网消息,该组网消息中可包含汇聚节点112的地址、位置、分簇策略等。
[0033]
该分簇策略可包括该系统中簇的标识和边长,当该系统110根据与汇聚节点112的距离设定不同大小的簇110时,可包括需设置的各种簇110的边长以及该系统中对应设置该簇110的位置信息。在一实际应用中,该分簇策略包括设置两个尺寸的正方形的簇,其中,一种簇为另一种簇面积的1/4。具体地,该分簇策略包括以汇集节点的X、Y坐标(或经、纬度)的(x0、y0)为基准,在 区域内形成边长为 的虚拟网格(正方形的簇),以使靠近汇聚节点的区域面积更小、簇成员更少,以节约节点能量;而在该区域外,则形成边长为 的、更大的虚拟网格,如图2所示。由于靠近汇聚节点的簇包括的节点较少,故其簇首节点对簇内簇成员节点的消息管理负担减少,进而减少了簇内数据开销,节省其簇内消耗的能量,均衡了该簇首节点转发其他簇消息至汇集节点的簇外消耗的能量,故避免其节点能量的过快消耗。当然,该区域的划分并不限定为两级,还可以为三级或者更多级,其中,可设置为越靠近汇聚节点的级别区域的簇尺寸越小,当然不同级别区域中的簇尺寸的设置可按照实际情况进行调整,另外,本实施例中的簇为正方形,在其他实施例中,可以为近似正方形,或者长方形或者其他多边形,在此不作限定。当然,在其他实施例中,组网消息也可不包括分簇策略,普通节点直接根据自身的通信半径与簇间连通性等确定每个簇的大小与规模。
[0034]
在另一实施例中,若该簇首节点并非由单个节点直接选取确定,而需多个节点进行配合确定,则该组网消息还可包括选取簇首阶段的时长。该选取簇首阶段会延续一段时间以供簇内节点通过自举或者推荐其他节点作为簇首节点。其中,该时长可以根据条件和需求预先设置,如可考虑将缺省的时间值设置为60s。
[0035]
普通节点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中。可以理解的是,本实施例是基于普通节点均是否位于该簇范围内确定其所在分簇,但在其他实施例中,也可簇首节点以是否位于该簇范围确定其所在分簇,而簇成员节点则以其到簇首节点的距离为判断依据选择要加入的簇,即在簇首节点确定后,簇成员节点重新确定其所在簇。
[0036]
另外,普通节点111收到组网消息后,可建立一张邻居节点表,以记录下组网消息中携带的上一跳节点的地址信息,也可记录该组网消息中除上一跳节点外的其他节点(即所有转发过该组网消息的节点)的地址,而且还可记录下簇尺寸如其边长等信息。普通节点111还可建立一张路由表,以在该表中建立通往汇聚节点112的路由表项(如该表项的目的节点为汇聚节点112、下一跳节点为广播组网消息的节点也即上一跳节点)。然后,在该组网消息中加入自身的地址,并广播该组网消息,具体如在1跳范围内以缺省通信半径R广播该组网消息。其他普通节点接收到该组网消息,则进行如该普通节点的上述操作。
[0037]
1.2、选取簇首子阶段
[0038]
本实施例中,该系统100基于节点的剩余能量选取簇首节点。进一步地,若系统100基于不同节点将其剩余能量比较进行选取,则该选取簇首子阶段也可称为竞争簇首子阶段,具体地,在广播组网消息后,普通节点111若需竞争为簇首节点,则生成包含自身地址和当前的剩余能量值的请求消息(也可称为竞争簇首消息),该请求消息用于请求当选广播节点所在簇 的簇首节点。
[0039]
然后,普通节点111广播该请求消息。其中,若该系统的簇按照与汇聚节点的距离划分不同大小,如图2所示,则判断自身的坐标是否位于 区域内;如果是,则可调整发射功率,以使自己的通信范围调小为 再进行后续的广播请求消息的操作;如果不是,则可调整发射功率,以使自己的通信范围调小为 再进行后续的广播请求消息的操作。
[0040]
可以理解的是,在上述的簇首节点可由单个节点选取确定的实施例中,可不包含该子阶段,例如在该簇首节点的当选时间达到预设时间后,则需要重新选取新的簇首节点,此时,由簇内的一个节点直接根据上一周期情况确定新周期的簇首节点,而无需经历上述选取簇首子阶段。
[0041]
1.3、簇首通告子阶段
[0042]
选取簇首子阶段结束后,每一个广播了上述请求消息的普通节点111(其中是否广播其请求消息或者何时广播其请求消息可由下述第二实施例和第三实施例确定)通过比较自身剩余能量值是否符合设定能量条件,例如判断自身的剩余能量值是否均大于选取簇首子阶段期间接收到的簇内节点广播的请求消息中的剩余能量值;若否,则确定其他普通节点当选该簇的簇首节点;若是,则确定簇内自身剩余能量最大,即该普通节点已当选该簇的簇首节点,并生成簇首通知消息,该消息中包括该普通节点111的地址和所在簇的标识,在一跳范围内广播该通知消息,以使接收到该消息的簇内其他节点根据消息中的所在簇的标识和节点地址确定该普通节点111为该簇110的簇首节点111a,其中,广播时的通信范围可设置为缺省通信半径R。
[0043]
接收到该簇首通知消息的其他普通节点111,提取出该消息携带的节点地址、簇标识等信息,可通过对比所述簇标识与自身保存的所在簇的标识是否一致,来判断自己是否属于该簇,如果是,则保存该簇首节点的地址信息作为所在簇的簇首节点的地址;如果不属于该簇,则判断自己是否为簇首节点,如果是,则保存该簇首节点的地址信息作为邻居簇的簇首节点的地址,否则不保存。
[0044]
2)数据传输阶段
[0045]
其中,如果簇成员节点111b有数据分组需要上传,则先将数据分组采用但不限采用单跳传送方式传给本簇的簇首节点111a。簇首节点111a收到数据分组后,用单跳或多跳的方式将数据分组转发给汇聚节点112;如果簇首节点111a自己有数据分组需上传,也采用同样的方式。
[0046]
例如,当簇成员节点111b有数据分组要传送给汇聚节点112时,先查到所在簇的簇首节点111a的地址,然后以单播的方式、 的通信范围,将数据分组发送给簇首节点111a。簇首节点111a接收到该数据分组后,可向簇成员节点111b回复回应消息如ACK帧或其它消息,以表示已接收到其数据分组。
[0047]
当簇首节点111a有数据分组需要发往汇聚节点112时,先从邻居节点里找出当选为邻居簇簇首的节点,并将数据分组发送给该节点。每个簇首节点都进行这样的操作,直到数据分组被传送到汇聚节点112。
[0048]
在数据传输阶段中,簇内的簇成员节点111b可设置为仅与簇首节点111a建立通信,而簇成员节点111b之间不进行通信。当然,这并不作为限定,簇成员节点111b之间可根据实际需要实现通信。
[0049]
可以理解的是,图1仅示范性示出本发明分布式网络的拓扑结构,但不作为本发明分布式网络结构的限定,在其他实施例中,该分布式网络可包括更多簇,每个簇可存在共同节点,每个簇中的簇首节点数量可为多个,网络中汇聚节点数据也可为多个。
[0050]
其中,该系统中的普通节点111或簇首节点111a可执行以下至少一个实施例中的方法,或对应为以下实施例中的节点,具体请参阅以下实施例描述。
[0051]
在此,先对下面实施例出现的词语进行定义:邻居节点为位于当前节点通信范围内的节点,本实施例可理解为一跳可到达的节点。邻居簇为包括其邻居节点的其他簇。
[0052]
另外,本发明下述方法中所述的其他普通节点或其他节点指的是除该执行该方法外的任意一个或多个普通节点或节点,且每次表述的其他普通节点或其他节点可以为相同节点或不同节点,并不应理解为所有表述的其他普通节点为特指的同一个节点,当然,在一些可明确理解为一系列动作均是有同一其他普通节点执行的步骤除外(如下述S308等)。
[0053]
第二实施例:
[0054]
请参阅图3,图3是本发明分布式网络的消息广播方法一实施例的流程图。本实施例中,该分布式网络可如图1所示,分布式网络基于节点的剩余能量值选取簇首节点,该消息广播方法可由图1所示的普通节点111在上述选取簇首阶段时执行,用于确定普通节点是否广播请求竞选簇首节点的消息,具体该方法包括以下步骤:
[0055]
S301:普通节点在选取簇首阶段时检测是否接收到簇内其他普通节点 广播的请求消息;若接收到,则执行S302,若没有接收到,则执行S303。
[0056]
例如,分布式网络在进行组网广播后,进入上述选取簇首阶段。在该阶段中,普通节点均可请求作为所在簇的簇首节点。具体地,普通节点通过发送包含节点地址及其当前剩余能量值的请求消息,来请求当选所在簇的簇首节点,而且,该普通节点广播请求消息的时间点不同步,即该网络中的不同普通节点间存在先后广播请求消息的情况。本实施例中分布式网络以剩余能量最大的簇内节点作为其簇首节点,普通节点在广播上述请求前先通过检测是否接收其他簇内节点的请求消息,并接收到的其他簇内节点的剩余能量值与自身剩余能量值进行比较来确定其是否有能力竞争该簇首节点。具体地,普通节点在接收到其他节点发送的请求消息时,可先提取出该请求消息中携带的节点地址、剩余能量值等信息;接着,查询邻居节点表,判断该节点是否与自己在同一个簇中,若在则执行下述S302。
[0057]
其中,该分布式网络中的普通节点到达其设定请求时间时进行的上述检测,该设定请求时间可以理解为该普通节点可发送请求消息的时间,可由分布式网络的汇聚节点调配设置的,或者自身通过判断确定的(如下述第三实施例)。
[0058]
S302:判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值。
[0059]
普通节点均可检测自身的剩余能量值,该剩余能量值可以为剩余电量值。普通节点在接收到其他普通节点的请求消息后,首先判断发送该请求消息的该其他普通节点是否为簇内节点。例如,该普通节点本地存储有所在簇的所有普通节点的地址(该地址可根据组网消息中的信息确定的,或者在分布式网络分簇后,节点相互广播得到的),该普通节点判断请求消息中的节点地址是否属于所在簇的节点地址,若是,则确定该其他普通节点为簇内节点;又例如,请求消息中还包括广播该请求消息的节点所在簇的标识,普通节点判断该请求消息中的簇标识是否与本地存储的所在簇标识一致,若是,则确定该其他普通节点为簇内节点。
[0060]
在确定广播该请求消息的其他普通节点为簇内节点后,则获取自身的当前剩余能量值,并判断自身的当前剩余能量值是否大于该请求消息中的该簇内节点的剩余能量值,若是,则执行S303,否则执行S304。
[0061]
S303:广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点。
[0062]
本实施例中,普通节点若判断自身的剩余能量大于当前接收到的簇内其他普通节点的剩余能量值,则确定其具有竞争簇首节点的资格,并生成 包含自身的当前剩余能量值的请求消息。
[0063]
簇内其他普通节点若在未广播其请求消息的情况下接收到该请求消息,则在广播其请求消息时同样执行本实施例方法以确定是否广播其请求消息。簇内其他普通节点若在已广播其请求消息的情况下接收到该请求消息,则可保存该请求消息中的剩余能量值,以在选取簇首阶段结束后,对比自身剩余能量值与接收到的请求消息中的剩余能量值,并根据对比结果确定其是否可以作为簇首节点,当然,也可直接确定自身已不具有竞争簇首节点的资格。
[0064]
S304:不广播包含自身剩余能量值的请求消息。
[0065]
本实施例中,普通节点若判断自身的剩余能量不大于当前接收到的簇内其他普通节点的剩余能量值,则确定其不具有竞争簇首节点的资格(广播该请求消息的其他普通节点的剩余能量已高于该普通节点,故该普通节点不可能成为簇首节点),进而该普通节点则在选取簇首阶段不广播其请求消息。
[0066]
同时,由于该普通节点已确定不具有竞争簇首节点的资格,故该普通节点在S304之后即使接收到其他普通节点发送的请求消息,也无需保存其请求消息中的剩余能量值,进而也无需在选取簇首阶段结束后利用该剩余能量值判定自身是否为簇首节点。
[0067]
可选地,在S303之后,普通节点还可执行以下步骤:
[0068]
S305:监测在剩余的选取簇首阶段中是否收到新的簇内其他普通节点发送的请求消息;若否,则执行S306,若是,则执行S307。
[0069]
S306:确定作为所在簇的簇首节点,并将此消息通所在簇的所有其他普通节点。
[0070]
根据接收到的请求消息可知,比该普通节点早广播的簇内节点的剩余能量值低于该普通节点,且在该普通节点广播其请求消息后,未收到新的簇内节点的请求消息,即表明比普通节点晚广播的簇内节点执行本实施例方法确定其剩余能量值低于该普通节点的剩余能量值故不广播其请求消息,故在此情况下,该普通节点可确定自己可作为所在簇的簇首节点,并可在一跳范围内广播包含其节点地址以及所在簇的标识的通知消息,以通知簇内所有其他的普通节点该普通节点为所在簇的簇首节点。
[0071]
S307:直接确定所述普通节点不为所在簇的簇首节点。
[0072]
由于普通节点接收到晚广播的簇内节点的请求消息,即表明晚广播的簇内节点的剩余能量值高于该普通节点,故该普通节点不对新接收到的请求消息进行处理,直接确定所述普通节点不为所在簇的簇首节点。
[0073]
S308:在接收到其他普通节点发送的确定所述其他普通节点作为簇首节点的通知消息时,获取所述通知消息中的所述其他普通节点的地址,并保存作为所在簇的簇首节点地址。
[0074]
若在S306之后,普通节点接收到邻居簇的簇首节点发送的该通知消息,该通知消息中包括该邻居簇首节点的地址及其所在簇的标识。普通节点保存消息中的节点地址和簇标识,作为其邻居簇首节点的路由信息。
[0075]
若在S307之后,普通节点接收到簇内其他普通节点按照上述方式确定其为簇首节点后广播的通知消息,该通知消息中包括该簇内其他普通节点的地址及其所在簇的标识。普通节点至少保存消息中的节点地址,作为其所在簇的簇首节点信息。
[0076]
相比于现有网络所有普通节点均发送请求消息以竞选簇首节点的方式,本实施例中的普通节点在选取簇首阶段中先检测是否接收到簇内其他普通节点的请求消息,并在接收到时,判断其自身的剩余能量值是否大于请求消息中簇内其他普通节点的剩余能量值,若是,则广播其请求消息,否则确定其不可能成为所在簇的簇首节点,进而不广播其请求消息,即限制了剩余能量较少的普通节点的请求消息,故减少了由选取簇首节点产生的传输开销,也节省了节点的能量。
[0077]
第三实施例:
[0078]
请参阅图4,图4是本发明分布式网络的消息广播方法再一实施例的流程图。本实施例中,该分布式网络可如图1所示,分布式网络基于节点的剩余能量值选取簇首节点,该消息广播方法可由图1所示的普通节点111在开始上述选取簇首阶段时执行,用于确定何时广播用于请求竞选簇首节点的消息,具体该方法包括以下步骤:
[0079]
S401:普通节点在选取簇首阶段判断自身剩余能量值是否小于设定阈值;若是,则执行S402,否则执行S403。
[0080]
在选取簇首阶段中,普通节点均可请求作为所在簇的簇首节点。具体地,普通节点通过发送包含节点地址及其当前剩余能量值的请求消息,来请求当选所在簇的簇首节点。本实施例中,该普通节点在进入选取簇首阶段后即开始执行本方法以确定何时广播其请求消息。具体,本实施例中分布式网络以剩余能量最大的簇内节点作为其簇首节点,普通节点采用剩余能量较大的优先广播的原则确定其广播请求消息的时间。
[0081]
其中,上述设定阈值为在所在簇的前一簇首节点在前一周期竞争簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取的一个值。例如,在进入选取簇首阶段后,簇内的每个普通节点以前一周期中当选簇首的节 点广播的请求消息中包含的剩余能量值为上限值(第一周期则取节点统一的初始能量值),以0为下限值(不包含0),在该区间内用均匀分布的概率随机取一个值作为该设定阈值。然后,采用该设定阈值执行上述判断。
[0082]
当然,该设定阈值也可为一固定值,且该固定值根据不同周期进行变化。通常,越靠前的周期中,该固定值越大。具体该固定值的设置可根据网络大部分的节点能量状态或者平均节点能量值确定。
[0083]
可选地,为避免簇内所有节点均出现延迟广播的情况出现,在另一实施例中,在判断自身剩余能量值小于设定阈值之后,普通节点还执行:若在第一设定时间内未收到其他普通节点发送的请求消息,则调整所述设定阈值,并重新执行上述判断自身剩余能量值是否小于设定阈值。其中,该第一设定时间可根据实际需求进行设置,本实施例可设置为小于S402中的延迟时间。由此,普通节点可及时发现簇内所有节点均延迟发送,进而重新调整其是否延迟广播的阈值,并重新判断是否延迟广播。在调整设定阈值过程中,若该设定阈值为上述的随机值,则可重新执行上述随机取值,若该设定阈值为一固定值,则可按照设定步长调小。
[0084]
S402:延迟广播包含所述自身剩余能量值的请求消息。
[0085]
如果确定节点本身的剩余能量值小于设定阈值,则认为该节点成为簇首节点的可能性较小,故延迟广播其请求消息。
[0086]
其中,其延迟时间可设置为一定值例如为组网时间的一半,也可根据节点自身剩余能量值进行调整,例如,将延迟时间设置多个等级如5s、10s、15s,若节点当前剩余能量值较设定阈值小30%以上,则延迟15s;若节点当前剩余能量值较设定阈值小20%-30%以上,则延迟10s;节点当前剩余能量值较设定阈值小20%以下,则延迟5s。当然,还可直接将自身剩余能量值代入预设时间算法计算得到该延迟时间,故在此不做限定。
[0087]
进一步地,在上述设定阈值为在所在簇的前一簇首节点在前一周期竞争簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取的一个值的实施例中,上述S402还可具体包括以下子步骤:
[0088]
S4021:根据之前接收到的邻居普通节点的数据的信号强度,确定所述邻居普通节点的剩余能量值是否低于设定能量值。
[0089]
例如,该分布式网络设定的通信协议包括当节点检测到自身剩余能量值低于设定能量值,则改变其发送数据时的信号强度,具体此时可将信号调大或者调小。在上一周期的数据传输阶段中,普通节点记录其接收到邻居节点的数据或控制消息的信号强度。本步骤中,通过将记录的信号强度与协议中的正常信号强度作比较,若发现邻居节点的信号强度发生上述变 化时,即可确定该邻居节点的剩余能量值低于设定能量值。
[0090]
S4022:若确定剩余能量值低于所述设定能量值的邻居普通节点数量高于设定数量,且自身剩余能量值高于所述设定能量值,则即时广播包含所述自身剩余能量值的请求消息,否则延迟广播包含所述自身剩余能量值的请求消息。
[0091]
可依照上述方式对所有上一周期曾接收过其信号的邻居节点进行判断,当该普通节点确定其剩余能量低于设定能量值的邻居节点数量不低于一数值,则可认为该普通节点的邻居节点能量状态大部分处于较低状态,可能均在执行本实施例方法后延迟广播。为避免邻居节点均延迟广播,导致所有邻居节点的消息在延迟后仍同时发送的情况发生,普通节点此时则执行下述S403,以即时广播其请求消息。当该普通节点确定其剩余能量低于设定能量值的邻居节点数量低于一数值,则可认为邻居节点存在全部延迟广播的可能性较小,故此时继续延迟广播。
[0092]
S403:即时广播包含所述自身剩余能量值的请求消息。
[0093]
如果确定节点本身的剩余能量值不小于设定阈值,则认为该节点成为簇首节点的可能性较大,故即时广播其请求消息。该即时为执行S401的判断后按照正常工作频率在下个步骤执行该S403,而不作任何延时。
[0094]
可选地,普通节点执行上述S402和S403中的所述广播包含所述自身剩余能量值的请求消息,具体包括第二实施例方法步骤,以先确定是否需要广播其请求消息再根据判断结果进行广播或者不广播其请求消息。在该实施例中,普通节点确定其是否为簇首节点也可参阅第二实施例相关说明。
[0095]
可选地,普通节点也可在本实施例方法中不执行判断是否广播其请求消息,即所有节点均广播其请求消息,仅是广播时间有所不同。在此实施例中,在执行上述S401-S403后,普通节点还执行以下步骤以判断其是否为簇首节点,具体:普通节点判断自身剩余能量值是否大于在第二设定时间内接收到所有其他普通节点发送的请求消息中的剩余能量值;若是,则确定自身作为所在簇的簇首节点,并将此消息通所在簇的其他传感器节点。其中,该第二设定时间可根据实际需求进行设置,本实施例可设置为小于上述S402所述的延迟时间。经上述S401-S403后,本方法可至少平均地将剩余能量大的普通节点早于剩余能量小的普通节点广播其节点,故普通节点将执行上述S401之后的第二预设时间内接收到请求消息中的剩余能量值进行上述比较,并比较通过后,可认为该普通节点的剩余能量至少大于簇内大部分其他普通节点的剩余能量,因为可确定其为簇首节点,并将此消息通所在簇的其他普通节点,该确定簇首节点之后的步骤可参考上述第二 实施例的相关描述,在此不作赘述。
[0096]
本实施例中,普通节点通过判断自身剩余能量值是否小于设定阈值,若小于则延迟广播其用于竞选簇首的请求消息,否则即时广播该请求消息,通过此方式,使得分布式网络中的普通节点分开广播,避免通信信道的堵塞。进一步,普通节点还可执行第二实施例方法以判断是否广播,可根据延时时间确定是否需要发送。由于剩余能量越小的普通节点比剩余能量越大的普通节点至少在平均上更晚广播,故剩余能量小的普通节点即可根据第二实施例方法判断后确定不需进行广播,故可减少广播请求消息的节点数量,从而减少控制开销,即减少由选取簇首节点传输开销,且节约节点能量。
[0097]
第四实施例:
[0098]
请参阅图5,图5是本发明分布式网络的通信方法一实施例的流程图。本实施例中,该分布式网络可如图1所示,该通信方法可由图1所示的簇首节点111a在上述数据传输阶段时执行,用于根据簇内和簇间传输调整其通信范围,具体该方法包括以下步骤:
[0099]
S501:簇首节点判断需进行与之通信的节点为簇内节点还是簇外节点。
[0100]
其中,该S501可具体包括:判断需进行通信的节点地址是否属于所在簇的节点地址;若属于,则判断为簇内节点,否则判断为簇外节点。
[0101]
S502:若为簇内节点,则以第一发射功率与所述簇内节点通信。
[0102]
其中,该S502可具体包括:以第一发射功率向所述簇内节点发送回应消息,其中,所述回应消息用于表示已接收到所述簇内节点发送的数据。
[0103]
S503:若为簇外节点,则以第二发射功率与所述簇外节点通信,所述第一发射功率(也称为簇内发射功率)小于所述第二发射功率(也称为簇外发射功率)。
[0104]
其中,该S502可具体包括:以第二发射功率向所述相邻簇首节点发送数据,其中,所述数据包括自身的数据和/或所在簇的簇成员节点发送的数据。
[0105]
例如,在无线传感网络中,簇首节点接收到其簇成员节点发送的传感数据,在簇首节点需回复回应消息(如ACK帧)时,由于该回应消息的目的节点为簇成员节点,故可通过网络层/MAC子层-物理层的跨层操作,将发射功率调至第一发射功率,以将通信范围调整至 又例如,簇首节点接收到一邻居簇首节点发送的消息,该消息的目标节点为汇聚节点,即簇首节点选择可通往汇聚节点的另一邻居簇首节点,并可通过网络层/MAC 子层-物理层的跨层操作,将发射功率调至第二发射功率,以将通信范围调整至R,利用该通信范围将该消息转发至选择的邻居簇首节点。
[0106]
可选地,该分布式网络可按照与汇聚节点的距离划分两种尺寸簇的实施例中,如当所述簇首节点与汇聚节点间的距离在第一距离范围内时,所在簇为边长为第一长度如为 的正方形;当所述簇首节点与所述汇聚节点间的距离在第一距离范围外时,所在簇为边长为第二长度如为 的正方形。在一具体应用中,该第二发射功率的通信范围可设置为R,当所在簇边长为第一长度时,所述第一发射功率的通信范围可设置为 当所在簇边长为第二长度时,所述第一发射功率的通信范围可设置为
[0107]
本实施例中,簇首节点在与一节点进行通信时,先判断该节点为簇内节点还是簇外节点,并在为簇内节点时以第一发射功率与之通信,在为簇外节点时以第二发射功率与之通信,故实现了自适应调整其通信范围,由于簇外节点的距离常大于簇内节点,故采用较小功率进行簇内通信,既能保证与簇内任意节点的通信又能减小对邻居簇的干扰;采用较大功率进行簇内通信,以保证簇间通信的成功,即实现了在保障簇内、簇间通信成功的前提下,减小簇间干扰,且节约簇首节点能量。
[0108]
第五实施例:
[0109]
请参阅图6,图6是本发明分布式网络的消息传输方法一实施例的流程图。本实施例中,该分布式网络可如图1所示,该消息传输方法可由图1所示的普通节点111在上述成簇阶段和数据传输阶段时执行,用于普通节点在数据传输时基于节点位置实现路由选择,具体该方法包括以下步骤:
[0110]
S601:普通节点接收第一邻居普通节点发送的组网消息。
[0111]
在成簇节点的组网子阶段中,普通节点接收第一邻居普通节点发送的组网消息。其中,该组网消息来源于所述分布式网络的汇聚节点,具体可如第一实施例所述。而且,该组网消息还包括第一邻居普通节点的位置信息。该位置信息可具体包括发送该组网消息的第一邻居普通节点与汇聚节点之间的距离。
[0112]
S602:从所述组网消息中获取并保存所述第一邻居普通节点的位置信息。
[0113]
例如,该组网消息还包括所述第一邻居普通节点的地址和位置信息。普通节点从所述组网消息中获取并保存所述第一邻居普通节点的位置信息和地址,并建立所述第一邻居普通节点的位置信息和地址的对应关系。
[0114]
可以理解的是,在组网过程中,可有多个第一邻居普通节点向普通节点发送组网消息,故普通节点保存多个第一邻居普通节点的位置信息。在一实际应用中,可建立在邻居路由表,并在表中记录每个第一邻居普通节点的地址与位置信息。
[0115]
在进行上述位置保存之后,普通节点还可将自身的地址和位置信息加入至所述组网消息中,并转发所述组网消息。其他普通节点接收到该组网消息,即可同样执行本方法步骤以获得其邻居节点的位置信息。
[0116]
进一步地,在上述S602之后,该方法还可包括:普通节点接收第二邻居普通节点发送的用于通知其作为簇首节点的通知消息,所述通知消息包括所述第二邻居普通节点的地址;在所述保存的位置信息中,仅保留与所述通知消息中的地址对应的位置信息。该步骤执行在簇首通告阶段,且该第二邻居普通节点可为多个。由该步骤,普通节点仅保存其邻居簇首节点的位置信息,而删除掉原先保存的非为簇首节点的邻居节点的位置信息,减少了对存储空间的占用,且也降低了查找位置信息的复杂度。
[0117]
其中,上述的第一邻居普通节点和第二邻居普通节点均表示为执行该方法的节点的邻居普通节点,该第一邻居普通节点和第二邻居普通节点可为相同或不同的节点。
[0118]
S603:在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点。
[0119]
接上述S602的举例,该S603对应可包括:根据所述建立的对应关系和所有邻居簇首节点的地址,查找出所有邻居簇首节点的位置信息;利用所有邻居簇首节点的位置信息,比较出所有邻居簇首节点与所述汇聚节点间的距离,以获得与所述汇聚节点距离最短的邻居簇首节点。
[0120]
本步骤发生在上述数据传输阶段。例如,该普通节点作为簇首节点并需向汇聚节点发送消息如将所在簇的其他普通节点发送的数据上传至汇聚节点时,该普通节点获取在组网阶段保存的邻居路由表,并在表中查找出其邻居簇首节点的位置消息,其中,若该邻居路由表包含非簇首节点的邻居节点的位置信息,可根据在邻居簇首节点在簇首通告阶段广播的通知时记录的其邻居簇首节点的地址,获取到邻居路由表中地址与其记录的邻居簇首节点地址一致的节点的位置信息。将获取得到的至少一个邻居簇首节点位置信息进行比较,得到其中与汇聚节点距离最短的邻居簇首节点。
[0121]
S604:将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
[0122]
例如,普通节点如上述第四实施例所述进行簇内和簇外通信。具体地, 普通节点在确定与汇聚节点最近的邻居簇首节点通信之后,以上述簇外发射功率向所述选择的邻居簇首节点发送所述消息。该邻居簇首节点在接收到该消息后,可同样利用本方法实施例将该消息转发至下一个距离汇聚节点最近的其邻居簇首节点,每个转发节点均以此类推进行转发,直至消息到达汇聚节点。
[0123]
本实施例中,节点将其位置信息加入至组网消息中,普通节点接收到该组网消息后,保存组网消息中的邻居普通节点的位置信息,进而在需将消息发送至汇聚节点时,利用保存的位置信息确定出与汇聚节点距离最近的邻居簇首节点,以利用与汇聚节点距离最近的邻居簇首节点转发消息至汇聚节点,故减少了数据传输至汇聚节点的时间和开销,而且上述路由方式直接利用组网消息中携带位置信息实现,无需新增路由消息进行,故减少其控制开销。
[0124]
请参阅图7a-7d,本实施例中,该节点可以为图1所示的普通节点或簇首节点。该节点包括检测模块701、第一判断模块702和第一广播模块703。
[0125]
检测模块701用于在选取簇首阶段检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的节点的剩余能量值,用于请求当选所述簇首节点。
[0126]
第一判断模块702用于在接收到时,判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值。
[0127]
第一广播模块703用于在所述普通节点的剩余能量值大于所述请求消息中包含的所述剩余能量值时,广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点;在所述普通节点的剩余能量值不大于所述请求消息中包含的所述剩余能量值时,不广播所述包含自身剩余能量值的请求消息。
[0128]
可选地,该节点还包括第二判断模块704和第二广播模块705。第二判断模块704用于在选取簇首阶段判断自身剩余能量值是否小于设定阈值;第二广播模块705用于在自身剩余能量值小于设定阈值时,延迟广播包含所述自身剩余能量值的请求消息;在自身剩余能量值不小于设定阈值时,即时广播包含所述自身剩余能量值的请求消息;其中,所述请求消息用于请求当选所述簇首节点。
[0129]
可选地,该节点为簇首节点,还包括第三判断模块706、第一通信模块707和第二通信模块708。
[0130]
第三判断模块706用于判断需进行与之通信的节点为簇内节点还是簇外节点;
[0131]
第一通信模块707用于在需进行与之通信的节点为簇内节点时,以第一发射功率与所述簇内节点通信;
[0132]
第二通信模块708用于在需进行与之通信的节点为簇外节点时,以第二发射功率与所述簇外节点通信;
[0133]
其中,所述第一发射功率小于所述第二发射功率。
[0134]
可选地,该节点还包括接收模块709、保存模块710、选择模块711和转发模块712。接收模块709用于接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;保存模块710用于从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;选择模块711用于在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;转发模块712用于将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
[0135]
上述节点的各个模块可分别执行上述方法实施例中对应步骤,故在此不对各模块进行赘述,详细请参阅以上对应步骤的说明。可以理解的是,上述节点的上述模块还可执行上述方法实施例中的其他步骤,或者上述节点还可包括其他功能模块用以执行上述方法实施例中的其他步骤。
[0136]
可以理解的是,该节点可按需包含部分上述模块。例如,该节点可仅包括检测模块701、第一判断模块702和第一广播模块703,第二判断模块704和第二广播模块705,第三判断模块706、第一通信模块707和第二通信模块708,接收模块709、保存模块710、选择模块711和转发模块712。又或者,该节点包括以上多组模块,其中,每组模块的组合方式可参阅上述方法步骤的顺序。
[0137]
请参阅图8,图8是本发明分布式网络节点另一实施例的结构示意图。该节点为图1所示的普通节点或簇首节点,该节点可以执行上述方法中步骤。相关内容请参见上述方法中的详细说明,在此不再赘叙。
[0138]
本实施例中,该节点80包括:发送器81、接收器82、一个或多个处理器83、存储器84和总线85。
[0139]
发送器81用于向分布式网络中的其他节点发送消息,如采集的传感数据、组网消息等。接收器82用于接收分布式网络中的其他节点发送的消息,如采集的传感数据、组网消息等存储器84包括只读存储器和随机存取存储器。存储器84的一部分还可以包括非易失性随机存取存储器(NVRAM)。
[0140]
处理器83还可以称为CPU(Central Processing Unit,中央处理单元)。 具体的应用中,节点的各个组件通过总线85耦合在一起,其中总线85除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线85。
[0141]
本发明实施例中,节点80还包括多个应用程序以及一个或多个程序,所述多个应用程序以及一个或多个程序存储在存储器84中,并且配置为被所述处理器83执行。所述一个或多个程序包括指令。处理器83通过调用存储器84存储的所述一个或多个程序中的指令,来执行下述操作:
[0142]
1)确定普通节点是否广播请求竞选簇首节点的消息,具体包括:在选取簇首阶段检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的节点的剩余能量值,用于请求当选所述簇首节点;若接收到,则判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值;若是,则广播包含自身剩余能量值的请求消息,以请求当选所述簇首节点;若否,则不广播所述包含自身剩余能量值的请求消息。
[0143]
2)确定何时广播用于请求竞选簇首节点的消息,具体包括:在选取簇首阶段判断自身剩余能量值是否小于设定阈值;若是,则延迟广播包含所述自身剩余能量值的请求消息;若否,则即时广播包含所述自身剩余能量值的请求消息。
[0144]
3)该节点80为簇首节点时,根据簇内和簇间传输调整其通信范围,具体包括:判断需进行与之通信的节点为簇内节点还是簇外节点;若为簇内节点,则以第一发射功率与所述簇内节点通信;若为簇外节点,则以第二发射功率与所述簇外节点通信;其中,所述第一发射功率小于所述第二发射功率。
[0145]
4)在普通节点在数据传输时基于节点位置实现路由选择,具体包括:接收第一邻居普通节点发送的组网消息,所述组网消息来源于所述分布式网络的汇聚节点,包括所述第一邻居普通节点的位置信息;从所述组网消息中获取并保存所述第一邻居普通节点的位置信息;在作为簇首节点向所述汇聚节点发送消息时,根据所述保存的位置信息,选择出与所述汇聚节点距离最短的邻居簇首节点;将所述消息发送至所述选择的邻居簇首节点,以通过所述选择的邻居簇首节点将所述消息转发至所述汇聚节点。
[0146]
上述处理器执行的每个步骤可分别为上述方法实施例中对应步骤,故在此不对各步骤进行赘述,详细请参阅以上对应步骤的说明。
[0147]
可以理解的是,该处理器83可按需执行上述四个方面。例如,该处理器83仅执行上述一个方面或者多个方面。其中,所述多个方面的组合方式 可参阅上述方法步骤的顺序。
[0148]
针对以上方案的四个方面:
[0149]
(1)传输开销更少,路由更高效
[0150]
以上方案的第一、第二和第四方面从以下两个方面使控制开销更小、路由效率更高:
[0151]
a、在选取簇首阶段中,部分剩余能量相对较少的节点收到限制,不会广播用于请求竞争簇首的请求消息,从而减少了控制开销。
[0152]
b、在构建簇间路由的过程中,直接利用组网消息中的位置信息实现路由,不需要发送任何额外的控制消息和控制信息,从而减少了控制开销,且提高了路由效率,而且采用与汇聚节点距离最短的邻居簇首节点进行转发,最大程度上缩短传输路径。
[0153]
(2)节约节点能量,延长节点和网络的寿命
[0154]
a、以上方案的第三方面使得簇首节点在与簇内节点通信时使用相对更小的通信范围,发射功率和能耗随之降低,从而能够节约簇首节点的能量。
[0155]
b、以上方案的第一、第二和第四方面减少了控制消息的收发,也能够节约节点能量,延长节点和网络的寿命。
[0156]
(3)干扰减少,通信更加可靠
[0157]
以上方案的第三方面使得簇首节点在与簇内节点通信时使用相对更小的通信范围,从而能够减少无线信号对邻居簇的干扰,使通信相对更加可靠,有利于数据分组传送成功率的提高。
[0158]
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

权利要求书

[权利要求 1]
一种分布式网络的消息广播方法,其特征在于,所述分布式网络基于节点的剩余能量值选取簇首节点,所述方法包括: 普通节点在选取簇首阶段判断自身剩余能量值是否小于设定阈值; 若是,则延迟广播包含所述自身剩余能量值的请求消息; 若否,则即时广播包含所述自身剩余能量值的请求消息; 其中,所述请求消息用于请求当选所述簇首节点。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,还包括: 在所在簇的前一簇首节点在前一周期竞争簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取一个值作为所述设定阈值。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,所述延迟广播包含所述自身剩余能量值的请求消息,包括: 根据之前接收到的邻居普通节点的数据的信号强度,确定所述邻居普通节点的剩余能量值是否低于设定能量值; 若确定剩余能量值低于所述设定能量值的邻居普通节点数量低于设定数量,则延迟广播包含所述自身剩余能量值的请求消息,否则即时广播包含所述自身剩余能量值的请求消息。
[权利要求 4]
根据权利要求1所述的方法,其特征在于,所述广播包含所述自身剩余能量值的请求消息,包括: 检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的所述其他普通节点的剩余能量值; 若接收到,则判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值; 若是,则广播包含自身剩余能量值的请求消息;若否,则不广播所述包含自身剩余能量值的请求消息。
[权利要求 5]
根据权利要求1所述的方法,其特征在于,还包括: 若在第一设定时间内未收到其他普通节点发送的请求消息,则调整所述设定阈值,并重新执行上述判断自身剩余能量值是否小于设定阈值。
[权利要求 6]
根据权利要求1所述的方法,其特征在于,还包括: 判断自身剩余能量值是否大于在第二设定时间内接收到所有其他普通节点发送的请求消息中的剩余能量值; 若是,则确定自身作为所在簇的簇首节点,并将此消息通所在簇的其他普通节点。
[权利要求 7]
根据权利要求6所述的方法,其特征在于,还包括: 接收所在簇的其他普通节点发送的数据; 以第一发射功率向所述其他普通节点反馈回应消息,并以第二发射功率将所述数据通过邻居簇首节点转发至汇聚节点,其中,所述第一发射功率小于所述第二发射功率。
[权利要求 8]
根据权利要求1所述的方法,其特征在于,当所述普通节点与所述分布式网络中的汇聚节点间的距离在第一距离范围内时,所在簇为边长为第一长度的正方形;当所述普通节点与所述汇聚节点间的距离在第一距离范围外时,所在簇为边长为第二长度的正方形; 其中,所述第一长度小于第二长度。
[权利要求 9]
根据权利要求1所述的方法,其特征在于,所述分布式网络为分布式的传感网络,所述普通节点为普通节点。
[权利要求 10]
一种分布式网络节点,其特征在于,所述分布式网络基于节点的剩余能量值选取簇首节点,所述节点为所述分布式网络的普通节点,包括: 判断模块,用于在选取簇首阶段判断自身剩余能量值是否小于设定阈值; 广播模块,用于若是,则延迟广播包含所述自身剩余能量值的请求消息;若否,则即时广播包含所述自身剩余能量值的请求消息;其中,所述请求消息用于请求当选所述簇首节点。
[权利要求 11]
一种分布式网络节点,其特征在于,所述分布式网络基于节点的剩余能量值选取簇首节点,所述节点为所述分布式网络的普通节点,包括发送器、接收器、存储器和处理器, 所述发送器用于向其他节点发送消息;所述接收器用于接收其他节点发送的消息;所述存储器用于存储计算机指令;所述处理器执行所述计算机指令,用于 在选取簇首阶段判断自身剩余能量值是否小于设定阈值; 若是,则延迟广播包含所述自身剩余能量值的请求消息; 若否,则即时广播包含所述自身剩余能量值的请求消息; 其中,所述请求消息用于请求当选所述簇首节点。
[权利要求 12]
根据权利要求11所述的节点,其特征在于,所述处理器还用于: 在所在簇的前一簇首节点在前一周期竞争簇首时的剩余能量值与0的区间中,以均匀分布的概率随机取一个值作为所述设定阈值。
[权利要求 13]
根据权利要求12所述的节点,其特征在于,所述处理器执行所述延迟广播包含所述自身剩余能量值的请求消息,包括: 根据之前接收到的邻居普通节点的数据的信号强度,确定所述邻居普 通节点的剩余能量值是否低于设定能量值; 若确定剩余能量值低于所述设定能量值的邻居普通节点数量低于设定数量,则延迟广播包含所述自身剩余能量值的请求消息,否则即时广播包含所述自身剩余能量值的请求消息。
[权利要求 14]
根据权利要求11所述的节点,其特征在于,所述处理器还用于执行所述广播包含所述自身剩余能量值的请求消息,包括: 检测是否接收到簇内其他普通节点广播的请求消息,其中,所述请求消息包含广播所述请求消息的所述其他普通节点的剩余能量值; 若接收到,则判断所述普通节点的剩余能量值是否大于所述请求消息中包含的所述剩余能量值; 若是,则广播包含自身剩余能量值的请求消息;若否,则不广播所述包含自身剩余能量值的请求消息。
[权利要求 15]
根据权利要求11所述的节点,其特征在于,所述处理器还用于: 若在第一设定时间内未收到其他普通节点发送的请求消息,则调整所述设定阈值,并重新执行上述判断自身剩余能量值是否小于设定阈值。
[权利要求 16]
根据权利要求11所述的节点,其特征在于,所述处理器还用于: 判断自身剩余能量值是否大于在第二设定时间内接收到所有其他普通节点发送的请求消息中的剩余能量值; 若是,则确定自身作为所在簇的簇首节点,并将此消息通所在簇的其他普通节点。
[权利要求 17]
根据权利要求16所述的节点,其特征在于,所述处理器还用于: 接收所在簇的其他普通节点发送的数据; 以第一发射功率向所述其他普通节点反馈回应消息,并以第二发射功率将所述数据通过邻居簇首节点转发至汇聚节点,其中,所述第一发射功率小于所述第二发射功率。
[权利要求 18]
根据权利要求11所述的节点,其特征在于,当所述普通节点与所述分布式网络中的汇聚节点间的距离在第一距离范围内时,所在簇为边长为第一长度的正方形;当所述普通节点与所述汇聚节点间的距离在第一距离范围外时,所在簇为边长为第二长度的正方形;其中,所述第一长度小于第二长度。

附图

[ 图 0001]  
[ 图 0002]  
[ 图 0003]  
[ 图 0004]  
[ 图 0005]  
[ 图 0006]  
[ 图 0007]  
[ 图 0008]  
[ 图 0009]  
[ 图 0010]  
[ 图 0011]