一种微功率无线多跳链路建立方法与流程

文档序号:11158183阅读:322来源:国知局
一种微功率无线多跳链路建立方法与制造工艺

本发明属于网络通信技术领域,尤其涉及一种集中采集用户数据或集中监控的微功率无线网络自组网方法。



背景技术:

根据《国家电网公司“十二五”电力营销发展规划》要求,抄表标准化建设需进一步加强,以实现电力系统内电力用户“全覆盖、全采集、全费控”,提升电力公司精益化和标准化管理水平。为了实现规划要求,业内积极开展采集系统通信技术研究。

目前抄表系统普遍使用的低速窄带载波难以满足时效性较高的费控业务、高频数据采集、双向互动等新型业务的需求,制约了业务发展,鉴于此种现状,需要开发一种自组网技术,以实现大连接场景下通信节点的海量接入和低时延高可靠场景下通信节点的瞬间转发,为高品质支撑业务奠定坚实的通信基础。



技术实现要素:

本发明的目的在于提供一种微功率无线多条链路的建立方法,针对微功率无线通信技术特点,实现快速、多跳、高鲁棒性的自组网。

为了实现上述目的,本发明采取如下的技术解决方案:

一种微功率无线多跳链路建立方法,包括以下步骤:

S100、建立节点邻居表;

中心节点广播信标,各子节点转发信标,并侦听各自1跳范围内的邻居节点通告的地址和信号强度值,将邻居节点地址和侦听到的信号强度值保存,建立起各自的邻居表;

S200、建立中心节点至各子节点的通信链路,采用多轮循环的方式,通过k轮依次建立起骨干链路、一级链路、二级链路和三级链路,k为轮次号,k=1,2,3,从k=1开始;

S200-1、中心节点检索自身的邻居表,选出满足第k轮条件的子节点,从N=1开始,建立与第N层子节点的通信链路,如果没有满足第k轮条件的子节点,则执行步骤S300,其中,N为网络层次号;

S200-2、中心节点收集符合第k轮条件的子节点的邻居表,得到各节点与其相邻节点间的双向链路成本(rxCost,txCost),rxCost表示节点A侦听到的节点B发出的信号的强度值在节点A的邻居表中的标识,txCost表示节点B侦听到的节点A发出的信号的强度值在节点A的邻居表中的标识;

S200-3、检查各节点与其相邻节点间的双向链路成本,如果存在某个节点与其相邻节点间的双向链路成本中的txCost=0,则以该节点作为末级中继节点,向不能监听到该节点信号的邻居节点进行链路探测,获取该邻居节点侦听到的信号强度值,并更新该节点与其邻居节点间的双向链路成本(rxCost,txCost),然后执行步骤S200-4;如果所有节点与其邻居节点间的双向链路成本中的txCost均不为0,则执行步骤S200-4;

S200-4、根据节点与其邻居节点间的双向链路成本,选出满足第k轮链路确认条件的子节点,将各节点与其相邻节点间的双向链路成本中的rxCost值从小到大的顺序,依次建立起到中心节点到第N层的各子节点的通信链路并保存,将建立起通信链路的各子节点的层次号标为N,对于不满足第k轮链路确认条件的子节点放弃建立链路;

S200-5、判断N是否大于Nmax,如果是,则执行步骤S300,否则令N=N+1,利用已建立起通信链路的第N-1层子节点,返回执行步骤S200-2,收集第N层子节点的邻居表;

S300、令k=k+1,判断是否k小于4,如果是则执行步骤S200-1,否则执行步骤S400;

S400、检索网络中是否还有未建立起与中心节点间通信链路的子节点,如果没有,则完成组网,如果有,则将前三轮未建立起与中心节点间通信链路的子节点按距中心节点跳数最少机制建立与中心节点的通信链路,完成组网。

更具体的,步骤S200-1和步骤S200-2中,第1轮用于建立骨干链路的子节点需满足的条件为0<rxCost≤R1;第2轮用于建立一级链路的子节点需满足的条件为R1<rxCost≤R2;第3轮用于建立二级链路的子节点需满足的条件为R2<rxCost≤R3;其中,R1、R2、R3分别为建立骨干链路的链路成本阈值、建立一级链路的链路成本阈值和建立二级链路的链路成本阈值。

更具体的,在步骤S200-4中,第1轮确认建立骨干链路的子节点需满足0<rxCost≤R1且0<txCost≤R1;第2轮确认建立一级链路的子节点需满足R1<rxCost≤R2且0<txCost≤R2;第3轮确认建立二级链路的子节点需满足R2<rxCost≤R3且R1<txCost≤R3。

更具体的,信号强度值和链路成本按以下关系进行等效转换,信号强度值RSSI≤76时链路成本为1,76<RSSI≤83时链路成本为3,83<RSSI≤86时链路成本为5,86<RSSI≤89时链路成本为7,89<RSSI≤92时链路成本为9,92<RSSI≤95时链路成本为11,RSSI≥95时链路成本为15。

更具体的,所述R1=7,R2=11,R3=15。

更具体的,执行步骤S200-2时已被中心节点收集过邻居表的子节点不再重复收集。

更具体的,在建立中心节点与子节点的通信链路的过程中,未被中心节点收集邻居表的子节点不参与链路探测步骤和确认建立链路步骤。

更具体的,中心节点已确认建立通信链路的子节点,在后续轮次和层次循环过程中不再执行子节点收集步骤、链路探测步骤和确认建立链路步骤。

更具体的,建立链路时只在中心节点内部建立父子链路表,子节点仅中继转发,自身不备份中继链路。

更具体的,中心节点在子节点链路建立期间,子节点无偿继承父节点整条中继链路。

由以上技术方案可知,本发明方法基于相邻节点之间的双向信号强度建立中心节点到子节点的通信链路时,只在最后一轮采用按距中心节点跳数最少机制建立通信链路,平衡了各子节点距中心节点跳数最少和整体链路成本最低间的矛盾,实现了中心节点快速建立到各子节点的多跳通信链路,构建的网络可靠性高,通信时延少,承载业务量大,达到采集零延迟、数据无误差、应用多样化,费控全用户的目标。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例或现有技术描述中所需要使用的附图做简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为微功率无线网络的网络拓扑图;

图2为本发明信标转发机制示意图;

图3为本发明方法的流程图;

图4为本发明实施例的网络拓扑图。

具体实施方式

为了让本发明的上述和其它目的、特征及优点能更明显,下文特举本发明实施例,并配合所附图示,做详细说明如下。

图1为微功率无线网络的拓扑图,如图1所示,微功率无线网络包括一个中心节点和若干子节点,子节点个数最多可达1024,中继深度最大可达8级,网络拓扑结构多样性。如图2所示,相邻节点(中心节点和子节点间、子节点与子节点间)之间可转发信标,相邻节点间互为邻居节点。

本发明方法的基本思路是利用相邻节点之间的双向信号强度值(RSSI),将信号强度值等效为链路成本,按照链路成本由小到大的策略快速建立中心节点到各子节点的多跳通信链路。

图3为本发明方法的流程图,本发明方法包括以下步骤:

S100、建立节点邻居表;

中心节点广播信标,各子节点转发信标,通告周围的邻居节点,同时各节点(包括中心节点和子节点)侦听其1跳范围内的邻居节点通告的地址和信号强度值,各节点将各自侦听到的邻居节点的地址和侦听到的信号强度值保存起来,建立起各自的邻居表;

子节点转发信标时,根据信标转发的次数确定整个网络的层次及最大层次号Nmax,例如若信标经过8次转发到达最外层子节点时,则整个网络分为8层,最大层次号为8;

S200、建立中心节点至各子节点的通信链路;

本发明采用多轮循环的方式,通过最多4轮循环建立起中心节点到各子节点的通讯链路,包括:第1轮建立骨干链路,第2轮建立一级链路,第3轮建立二级链路,第4轮建立三级链路,除了最后一级链路采用按距中心节点跳数最少机制外,即三级链路采用按距中心节点跳数最少机制建立,建立其余各级链路时,均按网络层次号N从小到大依次建立起中心节点与各节点的通信链路,N=1,…,Nmax;从第1轮开始,建立中心节点至各子节点的通信链路包括以下子步骤:

S200-1、中心节点检索自身的邻居表,选出满足第k轮条件的子节点,从N=1开始,建立与第N层子节点的通信链路,如果没有满足第k轮条件的子节点,则执行步骤S300;

S200-2、中心节点收集符合第k轮条件的子节点的邻居表,得到各节点与其相邻节点间的双向链路成本(rxCost,txCost),节点的链路成本根据信号强度值等效转换而来,rxCost表示节点A侦听到的节点B发出的信号的强度值在节点A的邻居表中的标识,txCost表示节点B侦听到的节点A发出的信号的强度值在节点A的邻居表中的标识;即当N=1时,rxCost为根据中心节点侦听到的其1跳范围内的某一相邻子节点发出的信号强度值转换的链路成本,txCost为根据该子节点侦听到的中心节点发出的信号强度值转换的链路成本,当N为其它值时,rxCost为根据某一子节点侦听到的其1跳范围内的某一相邻子节点发出的信号强度值转换的链路成本,txCost为根据对应相邻子节点侦听到的该子节点发出的信号强度值转换的链路成本;中心节点收集子节点邻居表的过程就是扩充自身邻居表的过程,通过不断收集子节点邻居表,使自身的邻居表越来越完善,最终可获得全网子节点的链路成本数据;

S200-3、检查各节点间的双向链路成本,如果存在某个节点与其相邻节点间的双向链路成本中的txCost=0,则以该节点作为末级中继节点,向不能监听到该节点信号的邻居节点进行链路探测,获取该邻居节点侦听到的信号强度值,并更新该节点与其邻居节点间的双向链路成本(rxCost,txCost),然后执行步骤S200-4;如果所有节点与其邻居节点间的双向链路成本中的txCost均不为0,则执行步骤S200-4;

当某个节点与其某一相邻节点间的双向链路成本中的rxCost≠0而txCost=0时,表示该节点能侦听到相邻节点发出的信号,但该相邻节点未侦听到该节点发出的信号,此时需要对该相邻节点进行链路探测,以获取该节点与其相邻节点间的双向链路成本;

S200-4、根据节点与其邻居节点间的双向链路成本,选出满足第k轮链路确认建立条件的子节点,将各节点与其相邻节点间的双向链路成本中的rxcost值从小到大的顺序,依次建立起到中心节点到第N层的各子节点的通信链路并保存,将层次号标为N,对于不满足第k轮链路确认条件的子节点放弃建立链路;

S200-5、判断N是否大于Nmax,如果是,则执行步骤S300,否则令N=N+1,利用已建立起通信链路的第N-1层子节点,返回执行步骤S200-2,收集第N层子节点的邻居表;

S300、令k=k+1,判断是否k小于4,如果是则执行步骤S200-1,否则执行步骤S400;

S400、检索网络中是否还有未建立起与中心节点间通信链路的子节点,如果没有,则完成组网,如果有,则将前三轮未建立起与中心节点间通信链路的子节点按距中心节点跳数最少机制建立与中心节点的通信链路,完成组网。

采用本发明方法建立通信链路时,中心节点通过k轮n次循环收集子节点的邻居表,可获取全网节点与邻居节点间的信号强度。在建立中心节点与子节点的通信链路的过程中,未被中心节点收集邻居表的子节点不参与链路探测步骤(步骤S200-3)和确认建立链路步骤(步骤S200-4);中心节点已确认建立通信链路的子节点,在后续轮次和层次循环过程中不再执行子节点收集步骤(步骤S200-2)、链路探测步骤(步骤S200-3)和确认建立链路步骤(步骤S200-4)等步骤。

在步骤S200-1和S200-2中,第1轮用于建立骨干链路的子节点需满足的条件为:0<rxCost≤R1;第2轮用于建立一级链路的子节点需满足的条件为:R1<rxCost≤R2;第3轮用于建立二级链路的子节点需满足的条件为:R2<rxCost≤R3。在步骤S200-4中,在第1轮建立骨干链路时,子节点需满足0<rxCost≤R1且0<txCost≤R1,才能确认建立链路;在第2轮建立一级链路时,子节点需满足R1<rxCost≤R2且0<txCost≤R2,才能确认建立链路;在第3轮建立二级链路时,子节点需满足R2<rxCost≤R3且R1<txCost≤R3,才能确认建立链路。R1、R2、R3分别为建立骨干链路的链路成本阈值、建立一级链路的链路成本阈值和建立二级链路的链路成本阈值。步骤S200-2中,已被中心节点收集过邻居表的子节点不再重复收集。

下面结合图4,以一个具体实施例对本发明的链路建立方法进行详细说明。如图4所示,本实施例的微功率无线网络括一个中心节点C和7个子节点M1、M2、M3、M4、M5、M6、M7,建立链路的步骤如下:

中心节点C广播信标,各子节点分别转发信标,每个节点侦听其1调范围内的邻居节点通告的地址和信号强度值并保存,建立起各自的邻居表,本实施例的微功率无线网络共有4层,即最大层次号Nmax=4,各节点的邻居表如图4所示。

本实施例的信号强度值与链路成本按表1的等效关系进行转换。信号强度值与链路成本的等效转换关系可根据实际网络情况进行变动,当等效关系改变时,建立骨干链路的链路成本阈值R1、建立一级链路的链路成本阈值R2及建立二级链路的链路成本阈值R3也可相应改变,从而适应不同的网络状况。

表1

开始建立中心节点至各子节点的通信链路:

建立第1轮骨干链路时,中心节点检索自身的邻居表,选出满足第1轮条件的子节点,本实施例的R1=7,R2=11,R3=15,满足调节的子节点包括M1(RSSI=84,rxCost=5≤7)、M2(RSSI=87,rxCost=7≤7),M3(RSSI=77,rxCost=3≤7);

中心节点收集满足条件的子节点的邻居表,优选的按照rxCost值从小到大的顺序收集各子节点的邻居表,即中心节点收集子节点邻居表的顺序是M3、M1、M2,中心节点收集各子节点的邻居表后,得到中心节点及其相邻子节点与各自相邻节点间的链路成本数据,具体如下:

中心节点C与子节点M1的双向链路成本为(5,5),

中心节点C与子节点M2的双向链路成本为(7,9),

中心节点C与子节点M3的双向链路成本为(3,3),

子节点M1与子节点M2的双向链路成本为(5,5),

子节点M3与子节点M2的双向链路成本为(3,3),

子节点M1与子节点M4的单向链路成本为(3),即txcost=0,子节点M1与子节点M4的双向链路成本为(3,0),

子节点M1与子节点M6的单向链路成本为(11),即txcost=0,子节点M1与子节点M6的双向链路成本为(11,0),

子节点M2与子节点M7的单向链路成本为(7),即txcost=0,子节点M2与子节点M7的双向链路成本为(7,0);

检查各节点间的双向链路成本,由于中心节点与子节点M1、M2、M3间的双向链路成本中的txCost均不为0,则对满足第1轮链路确认条件的子节点M3和M1,按照rxCost从小到大的顺序依次建立中心节点到子节点M3及M1的路径并保存,将子节点M3、M1距中心节点C的层次号标为1;由于中心节点与子节点M2的双向链路成本中txCost=9>7,不满足第1轮链路确认条件,本次放弃对M2建立链路;

第1轮第1层子节点链路建立完成后,由于N=1<4,令N=2,重复前面的步骤开始建立第2层的子节点的链路,中心节点利用已建立起通信链路的第1层子节点开始收集第2层子节点的邻居表,此时要收集的子节点为满足第1轮条件且未被中心节点收集过邻居表的子节点,具体如下:中心节点的邻居表中M1、M2、M3已被收集过邻居表,不再重复收集,利用建立了通信链路的子节点作为中继节点收集其邻居表,M1和M3已和中心节点建立通信链路,M1的邻居节点有M2、M4和M6,M2已被收集过,M4(RSSI=81,rxCost=3≤7)满足第1轮条件,M6(RSSI=96,rxCost=11>7)不满足第1轮条件,M3的邻居节点为M2,M2已被收集过,因此第2层中,中心节点需要收集邻居表的子节点为M4。

通过检查邻居表可知,子节点M1与子节点M4间的双向链路成本为(3,0),txCost=0,中心节点需要以子节点M1为中继节点对子节点M4进行链路探测,实现链路加强,链路探测路径为C→M1→M4,通过链路探测获得M4侦听到的M1的信号强度值后,更新M1与M4之间的双向链路成本(3,7)。

M4满足第1轮链路确认条件,则建立中心节点与子节点M4间的链路:C→M1→M4并保存,将子节点M4距中心节点C的层次号标为2;

通过检查邻居表,发现M2与M1的双向链路成本为(5,5),M2与M3的双向链路成本为(3,3),满足第1轮链路确认条件,M3与中心节点C的双向链路成本为(3,3),rxCost值更小,在此条件下,将中心节点与子节点M2间的链路确认为C→M3→M2并保存,将子节点M2距中心节点C的层次号标为2。

第1轮第2层子节点链路建立完成后,由于N=2<4,令N=3,重复前面的步骤开始建立第3层的子节点的链路,利用已建立起通信链路的第2层子节点开始收集第3层子节点的邻居表,重复前面的步骤,中心节点按C→M1→M4的路径收集子节点M4的邻居表后,对检查M5、M6、M7的链路成本是否符合条件并建立链路,如不符合则按照不同轮次的条件重复以上步骤完成后续第2轮、第3轮流程处理,以及第4轮流程处理,直到建立起中心节点至所有子节点的通信链路。

采用本发明方法建立链路时,只在中心节点内部建立父子链路表,子节点仅中继转发,自身不备份中继链路;中心节点在子节点链路建立期间,子节点无偿继承父节点整条中继链路;中心节点设置子节点的层次号是依据整条链路成本,而不是依据距中心节点的最少跳数。本发明方法在建立中心节点到各子节点的通信链路过程中,利用层次号与轮次号的递增机制和相互制约关系,在每一轮处理过程中,中心节点都是按层次号从小到大的递增机制,当层次号达到最大值时,表示本轮所有符合条件的子节点处理完毕,进入下一轮处理。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1