父节点选择方法及网络节点与流程

文档序号:15522042发布日期:2018-09-25 19:43阅读:839来源:国知局
本申请涉及通信
技术领域
,尤其涉及父节点选择方法及网络节点。
背景技术
:ipv6运行在低功耗的无线个域网(ipv6overlowpowerwirelesspersonalareanetworks,6lowpan)是一种基于ipv6的低速无线个域网标准,它是物联网新兴起的技术,主要是将ipv6应用于物联网无线技术中,例如射频(radiofrequency,rf)等。和zigbee相同,6lowpan中的媒体访问控制(mediaaccesscontrol,mac)地址也采用电气和电子工程协会(instituteofelectricalandelectronicsengineers,ieee)802.15.4标准,形成的网络也为无线网状(mesh)网络,如图1所示。由图1可以看出,无线网状网络中,边界路由器(borderrouter,br)可以和多个一级节点(node)通信,每个一级节点可以和多个二级节点通信,依此类推。一级节点例如可以是n1、n2和n3;二级节点例如可以是n4、n5……、等。其中,与第n级节点连接的第n-1级节点称之为该第n级节点的父节点,比如图1中,n4的父节点为n1。目前,在6lowpan无线网状网络中,一个节点通常基于候选父节点的目标定向直接非循环图(destination-orienteddirectedacyclicgraph,dodag)信息对象(dodaginformationobject,dio)广播选择父节点。具体的,dio广播中包含候选父节点的rank。其中,工程任务组(internetengineeringtaskforceinternet,ietf)的标准rfc6550中定义了一个节点的rank为该节点到dodag的根节点的相对位置,也就是该节点到dodag根节点的传输路径。在无线网状网络中,dodag根节点即为图1中的br。因此,在无线网状网络中,节点的rank实际上为该节点到br的传输路径。在一个节点获取到父节点的rank之后,通常基于rank=etx_s+etx_f来计算该节点经由该父节点到br的总传输路径。其中,etx_f表示父节点的rank。etx_s表示一个节点到该节点的父节点的当前真实传输路径,也即该节点的当前真实期望传输次数(expectedtransmissioncount,etx)。而一个节点的当前真实etx通常是基于一个节点的上一次临时etx、当前临时etx和相关比例分配因子确定的,比如基于etx_s=etx_old*90%+etx_new*10%计算etx_s,其中,etx_s表示一个节点的当前真实etx,etx_old表示该节点的上一次临时etx,etx_new表示该节点的当前临时etx,etx_new=rscnt_new*r,rscnt_new表示该节点的当前重传次数,r为预设路径系数,通常etx_new默认值设置为r。在一个节点获取到该节点经由一个父节点到br的总传输路径之后,通常还会基于切换条件rank_old–rank_new>r进行父节点的切换,其中,rank_new表示一个节点接收到该节点的候选父节点的dio广播后重新计算该节点经由该候选父节点到br的总传输路径,rank_old表示一个节点经由已接入的父节点到br的总传输路径。然而,这种选择父节点的方式可能出现大批量节点选择同一个父节点的情况,比如图2中的n3为新加入的节点,由于etx_new默认数值为r,因此经过该节点的传输路径比较好,因此当该节点向外广播dio的时候,接收到该节点dio广播的所有节点,将会重新选择该节点n3作为父节点,也即出现惊群现象。由于该父节点n3下接入大量的子节点,因此节点n3将成为转发的聚点,从而将导致传输失败率更高,重传次数增大,进而导致节点n3的rank剧增。根据上述父节点切换条件,这将触发该父节点n3下的所有节点进行父节点的重新选择和切换,比如如图3所示,n3下的所有网络节点分别切换至n1和n2。反复如此,将导致父节点的频繁切换,从而将影响无线网状网络的稳定性。因此,如何选择父节点,使得6lowpan能快速稳定的形成平衡的无线网状网络,是目前亟待解决的问题。技术实现要素:本申请提供父节点选择方法及网络节点,使得6lowpan能快速稳定的形成平衡的无线网状网络。为达到上述目的,本申请提供如下技术方案:第一方面,提供一种父节点选择方法,应用于无线网状网络;该方法包括:网络节点获取多个候选父节点中的每个候选父节点的标识,每个候选父节点已接入的子节点的个数,以及每个候选父节点的rank,其中,候选父节点的rank是该候选父节点到无线网状网络的边缘路由器br的总传输路径,是该候选父节点基于该候选父节点的当前临时期望传输次数etx的默认值得到的,候选父节点的当前临时etx的默认值大于r,r表示预设的路径系数;分别获取与每个候选父节点对应的该网络节点的候选rank,其中,与一个候选父节点对应的该网络节点的候选rank是该网络节点经由该候选父节点到该br的总传输路径,是根据该候选父节点的rank以及该网络节点的当前真实etx得到,该网络节点的当前真实etx是基于该网络节点的当前临时etx的默认值得到,该网络节点的当前临时etx的默认值大于r;根据每个候选父节点的标识以及与每个候选父节点对应的该网络节点的候选rank,结合第一预设规则,从所述多个候选父节点中确定第一候选父节点集合,其中,该第一预设规则为该第一候选父节点集合中包括第一候选父节点以及与该第一候选父节点同等通信质量的候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的该网络节点的候选rank最小;根据该第一候选父节点集合中每个候选父节点已接入的子节点的个数,将该第一候选父节点集合中已接入子节点的个数最小的候选父节点确定为该网络节点的目标父节点。也就是说,该方案中,每个候选父节点的rank是每个候选父节点基于每个候选父节点的当前临时etx的默认值大于r得到的;该网络节点的当前真实etx是该网络节点基于该网络节点的当前临时etx的默认值大于r得到的,r表示预设的路径系数;并且,网络节点首先基于与每个候选父节点对应的网络节点的候选rank从多个候选父节点中确定第一候选父节点集合,再基于第一候选父节点集合中每个候选父节点已接入的子节点的个数在第一候选父节点集合中选择目标父节点。一方面,在确定第一候选父节点集合时,由于rank越小,通信质量越好,因此第一候选父节点集合中包括第一候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的网络节点的候选rank最小。另外,考虑到在选择父节点时,不希望网络节点在同等通信质量的父节点之间来回切换,因此,第一候选父节点集合中还包括与第一父节点同等通信质量的父节点,以便于该网络节点可以从第一候选父节点中选择一个目标父节点。而且,由于网状网络中每个候选父节点和网络节点的当前临时etx的默认值均大于r,因此在候选父节点为新加入的节点时,通过合理的设置当前临时etx的默认值,该候选父节点通常不会包含在第一候选父节点集合中,因此不会成为网络节点的目标父节点,从而可以避免6lowpan的惊群现象;另一方面,在从第一候选父节点集合中选择目标父节点时,将第一候选父节点集合中已接入的子节点的个数最小的候选父节点确定为网络节点的目标父节点。也就是说,充分考虑了6lowpan无线网状网络的平衡因素,降低了出现父节点挂过多网络节点容易导致父节点老化以及父节点切换的可能,使得6lowpan能快速稳定的形成平衡的无线网状网络,进而也有助于提高6lowpan无线网状网络的组网效率、通信稳定性,间接提升了无线网状网络的接入容量。可选的,每个候选父节点和网络节点的当前临时etx的默认值大于r包括:每个候选父节点和网络节点的当前临时etx的默认值为网络支持的最大跳数的一半与r的乘积,其中,网络支持的最大跳数大于2。这样,候选父节点为新加入的节点时,该候选父节点通常不会包含在第一候选父节点集合中,因此不会成为网络节点的目标父节点,从而可以避免6lowpan的惊群现象。结合第一方面,在第一方面的第一种可能的实现中,与第一候选父节点同等通信质量的候选父节点是指:与目标rank相差不大于r的该网络节点的候选rank所对应的候选父节点,该目标rank为与该第一候选父节点对应的该网络节点的候选rank。这样,当网络节点当前连接一个父节点时,若与该父节点对应的网络节点的候选rank与目标rank相差大于r,也就是符合父节点的切换条件,则该网络节点必然发生切换,因为根据上述第一预设条件,该网络节点当前连接的父节点并不属于第一候选父节点集合,不存在被选作目标父节点的可能。结合第一方面或第一方面的第一种可能的实现,在第一方面的第二种可能的实现中,该方法还包括:获取多个候选父节点中的每个候选父节点的接收信号强度标识rssi;根据第一候选父节点集合中每个候选父节点已接入的子节点的个数,将第一候选父节点集合中已接入的子节点的个数最小的候选父节点确定为该网络节点的目标父节点,包括:根据第一候选父节点集合中每个候选父节点的rssi,结合第二预设规则,确定第二候选父节点集合,其中,第二预设规则为第二候选父节点集合中包括第二候选父节点以及与该第二候选父节点同等信号强度的候选父节点,其中,该第二候选父节点为第一候选父节点集合中rssi最大的候选父节点;根据第二候选父节点集合中每个候选父节点已接入的子节点的个数,将该第二候选父节点集合中已接入的子节点的个数最小的候选父节点确定为该网络节点的目标父节点。也就是说,该方案中,每个候选父节点的rank是每个候选父节点基于每个候选父节点的当前临时etx的默认值大于r得到的;该网络节点的当前真实etx是该网络节点基于该网络节点的当前临时etx的默认值大于r得到的,r表示预设的路径系数;并且,网络节点首先基于与每个候选父节点对应的网络节点的候选rank从多个候选父节点中确定第一候选父节点集合,再基于候选父节点的rssi从第一候选父节点集合中确定第二候选父节点集合,最后再基于候选父节点已接入的子节点的个数在第二候选父节点集合中选择目标父节点。一方面,在确定第一候选父节点集合时,由于rank越小,通信质量越好,因此第一候选父节点集合中包括第一候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的网络节点的候选rank最小。另外,考虑到在选择父节点时,不希望网络节点在同等通信质量的父节点之间来回切换,因此,第一候选父节点集合中还包括与第一父节点同等通信质量的父节点,以便于该网络节点可以从第一候选父节点中选择一个目标父节点。而且,由于网状网络中每个候选父节点和网络节点的当前临时etx的默认值均大于r,因此在候选父节点为新加入的节点时,通过合理的设置当前临时etx的默认值,该候选父节点通常不会包含在第一候选父节点集合中,因此不会成为网络节点的目标父节点,从而可以避免6lowpan的惊群现象;另一方面,在从第二候选父节点集合中选择目标父节点时,将第二候选父节点集合中已接入的子节点的个数最小的候选父节点确定为网络节点的目标父节点,而第二候选父节点集合中包含第一候选父节点集合中rssi较好的候选父节点。也就是说,进一步充分考虑了6lowpan无线网状网络的平衡因素,不仅降低了出现父节点挂过多网络节点容易导致父节点老化以及父节点切换的可能,而且不会降低无线网状网络的通信质量,使得6lowpan能快速稳定的形成更加平衡的无线网状网络,进一步有助于提高6lowpan无线网状网络的组网效率、通信稳定性,更加提升了无线网状网络的接入容量。结合第一方面的第二种可能的实现,在第一方面的第三种可能的实现中,与第二候选父节点同等信号强度的候选父节点包括:候选父节点的rssi与rssi最大的候选父节点的rssi相差小于第二阈值的候选父节点。结合第一方面至第一方面的第三种可能的实现中的任一可能的实现,在第一方面的第四种可能的实现中,网络节点获取多个候选父节点中的每个候选父节点的标识,每个候选父节点已接入的子节点的个数,以及将每个候选父节点的rank,包括:该网络节点接收来自多个候选父节点中的每个候选父节点的针对低功耗和有损网络的ipv6路由协议目标定向直接非循环图信息对象prldio报文,其中,每个候选父节点的prldio报文中包括每个候选父节点的标识,每个候选父节点已接入的子节点的个数,以及每个候选父节点的rank。通过该方案,网络节点可以获取多个候选父节点中的每个候选父节点的标识,每个候选父节点已接入的子节点的个数,以及将每个候选父节点的rank。结合第一方面第二种可能的实现至第一方面的第四种可能的实现中的任一可能的实现,在第一方面的第五种可能的实现中,网络节点获取每个候选父节点的rssi,包括:接收来自多个候选父节点中的每个候选父节点的prldio报文,其中,每个候选父节点的prldio报文中包括每个候选父节点的rssi。通过该方案,网络节点可以获取每个候选父节点的rssi。结合第一方面至第一方面的第五种可能的实现中的任一可能的实现,在第一方面的第六种可能的实现中,该方法还包括:向该网络节点的候选子节点发送该网络节点的prldio报文,其中,该网络节点的prldio报文中包括该网络节点的标识、该网络节点已接入的子节点的个数以及该网络节点的rank。这样,该网络节点的候选子节点在接收到该网络节点发送的prldio报文之后,可以根据该网络节点的标识、该网络节点已接入的子节点的个数以及该网络节点的rank选择父节点。结合第一方面的第六种可能的实现,在第一方面的第七种可能的实现中,该网络节点的prldio报文中还包括该网络节点的rssi。这样,该网络节点的候选子节点在接收到该网络节点发送的prldio报文之后,可以根据该网络节点的标识、该网络节点已接入的子节点的个数、该网络节点的rank和该网络节点的rssi选择父节点。第二方面,提供一种网络节点,该网络节点具有实现上述方法中网络节点行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。第三方面,提供一种网络节点,包括:处理器和通信接口;所述处理器与所述通信接口通过总线相连,所述处理器用于实现上述第一方面及其可能实现中任一所述的父节点选择的方法。可选地,所述网络节点还包括存储器,该存储器用于存储计算机程序指令,该处理器与该存储器通过该总线连接,该处理器执行该存储器存储的程序指令,以使该网络节点执行如上述第一方面及其可能实现中任一所述的父节点选择方法。第四方面,提供了一种计算机可读存储介质,用于储存为上述网络节点所用的计算机程序指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任意一项的父节点选择方法。第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任意一项的父节点选择方法。第六方面,提供一种父节点选择系统,应用于无线网状网络;该父节点选择系统包括网络节点以及多个候选父节点;每个候选父节点,用于向该网络节点发送针对低功耗和有损网络的ipv6路由协议目标定向直接非循环图信息对象prldio报文,其中,prldio报文中包括候选父节点的标识,该候选父节点已接入的子节点的个数,以及该候选父节点的rank,其中,该候选父节点的rank是该候选父节点到该无线网状网络的边缘路由器br的总传输路径,是该候选父节点基于该候选父节点的当前临时期望传输次数etx的默认值得到的,该候选父节点的当前临时etx的默认值大于r,r表示预设的路径系数;该网络节点,用于接收来自各个候选父节点的prldio报文,并分别获取与每个候选父节点对应的该网络节点的候选rank,其中,与一个候选父节点对应的该网络节点的候选rank是该网络节点经由该候选父节点到该br的总传输路径,是根据该候选父节点的rank以及该网络节点的当前真实etx得到,该网络节点的当前真实etx是基于该网络节点的当前临时etx的默认值得到,该网络节点的当前临时etx的默认值大于r;该网络节点,还用于根据每个候选父节点的标识以及与每个候选父节点对应的该网络节点的候选rank,结合第一预设规则,从多个候选父节点中确定第一候选父节点集合,其中,第一预设规则为该第一候选父节点集合中包括第一候选父节点以及与该第一候选父节点同等通信质量的候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的该网络节点的候选rank最小;该网络节点,还用于根据该第一候选父节点集合中每个候选父节点已接入的子节点的个数,将该第一候选父节点集合中已接入的子节点的个数最小的候选父节点确定为该网络节点的目标父节点。结合第六方面,在第六方面第一种可能的实现中,每个候选父节点的prldio报文中还包括每个候选父节点的接收信号强度标识rssi;该网络节点,还用于根据第一候选父节点集合中每个候选父节点已接入的子节点的个数,将第一候选父节点集合中已接入的子节点的个数最小的候选父节点确定为该网络节点的目标父节点,包括:根据第一候选父节点集合中每个候选父节点的rssi,结合第二预设规则,确定第二候选父节点集合,其中,该第二预设规则为该第二候选父节点集合中包括第二候选父节点以及与该第二候选父节点同等信号强度的候选父节点,其中,该第二候选父节点为第一候选父节点集合中rssi最大的候选父节点;根据第二候选父节点集合中每个候选父节点已接入的子节点的个数,将该第二候选父节点集合中已接入的子节点的个数最小的候选父节点确定为该网络节点的目标父节点。其中,第二方面至第六方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。附图说明图1为现有无线网状网络的网络拓扑示意图;图2为基于现有的父节点选择方式而得到的不平衡无线网状网络的网络拓扑示意图一;图3为基于现有的父节点选择方式而得到的不平衡无线网状网络的网络拓扑示意图二;图4为本发明实施例提供的一种网络节点的硬件结构示意图;图5为本发明实施例提供的父节点选择方法的流程示意图一;图6为本发明实施例提供的prldio报文的格式示意图一;图7为本发明实施例提供的平衡无线网状网络的网络拓扑示意图一;图8为本发明实施例提供的父节点选择方法的流程示意图二;图9为本发明实施例提供的prldio报文的格式示意图二;图10为本发明实施例提供的平衡无线网状网络的网络拓扑示意图一;图11为本发明实施例提供的网络节点的结构示意图一;图12为本发明实施例提供的网络节点的结构示意图二。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本申请的描述中,“多个”是指两个或多于两个。如图5所示,为本发明实施例提供的一种父节点选择方法,应用于如上所述的无线网状网络,该方法包括如下步骤:s501、网络节点获取多个候选父节点中的每个候选父节点的标识,每个候选父节点已接入的子节点的个数,以及每个候选父节点的rank。其中,候选父节点的rank是该候选父节点到无线网状网络的br的总传输路径,是该候选父节点基于该候选父节点的当前临时etx的默认值得到的,该候选父节点的当前临时etx的默认值大于r,r表示预设的路径系数。具体的,每个候选父节点的rank的计算方式可参考
背景技术
部分,在此不再赘述。这里的传输路径具体用于表征一个节点到br的传输能力。其中,候选父节点的标识例如可以是候选父节点的mac地址或编号,本发明实施例对此不作具体限定。本发明实施例中,无线网状网络的br作为第一跳的父节点,br的下一级节点作为第一跳的子节点以及第二跳的父节点,依次类推。也就是说,本发明实施例提供的无线网状网络中,除了br之外的节点既可能作为该节点的下一级节点的父节点,也可能作为该节点的上一级节点的子节点。比如在图1中,第一跳的父节点为br,而br下一级的n1、n2和n3可以视作第二跳的父节点,也可以视作第一跳的子节点。若视作第一跳的子节点,则是作为br的子节点;若视作第二跳的父节点,则父节点n1的子节点为n4和n5,父节点n2的子节点为n6、n7、n8和n9,在此进行统一说明,以下不再赘述。s502、网络节点分别获取与每个候选父节点对应的该网络节点的候选rank。其中,与一个候选父节点对应的该网络节点的候选rank是该网络节点经由该候选父节点到br的总传输路径。比如,假设在图1中,n3为n8的候选父节点,则与n3对应的n8的候选rank,实际上是,n8经由n3到br的总传输路径。具体的,该网络节点的候选rank的计算方式可参考
背景技术
部分,在此不再赘述。其中,与一个候选父节点对应的该网络节点的候选rank是根据该候选父节点的rank以及该网络节点的当前真实etx得到,该网络节点的当前真实etx是基于该网络节点的当前临时etx的默认值得到的,该网络节点的当前临时etx的默认值大于r。具体的,该网络节点的当前真实etx的计算方式可参考
背景技术
部分,在此不再赘述。s503、网络节点根据每个候选父节点的标识以及与每个候选父节点对应的该网络节点的候选rank,结合第一预设规则,从多个候选父节点中确定第一候选父节点集合。其中,第一预设规则为第一候选父节点集合中包括第一候选父节点以及与第一候选父节点同等通信质量的候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的该网络节点的候选rank最小。其中,由于rank越小,通信质量越好,因此第一候选父节点集合中包括第一候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的该网络节点的候选rank最小。另外,考虑到在选择父节点时,不希望网络节点在同等通信质量的父节点之间来回切换,因此,第一候选父节点集合中还包括与第一父节点同等通信质量的候选父节点,以便于该网络节点可以从第一候选父节点集合中选择一个目标父节点。s504、网络节点根据第一候选父节点集合中每个候选父节点已接入的子节点的个数,将第一候选父节点集合中已接入的子节点的个数最小的候选父节点确定为网络节点的目标父节点。需要说明的是,本发明实施例中,若第一候选父节点集合中已接入的子节点的个数最小的候选父节点有多个,则可以随机选择一个,本发明实施例对此不作具体限定。可选的,上述步骤s501具体可以通过如下方式实现:网络节点接收来自多个候选父节点中的每个候选父节点的针对低功耗和有损网络的ipv6路由协议(ipv6routingprotocolforlow-powerandlossynetworks,prl)dio报文,其中,每个候选父节点的prldio报文中包括每个候选父节点的标识,每个候选父节点已接入的子节点的个数,以及每个候选父节点的rank。其中,在rpl传输协议中,dio用于父节点定期广播自身的信息或者单播回应某些网络节点的dodag信息请求(dodaginformationsolicitation,dis)报文请求信息,本发明实施例对此不作具体限定。网络节点接收到prldio报文之后,确定是否将该父节点作为自己的目标父节点。其中,本发明实施例中,prldio报文的格式如图6所示,主要包括rpl设备id字段、版本号(versionnumber)字段、rank字段、dodagid字段、子节点数(subnodecount,subnc)字段等。其中,rpl设备id字段用于表征该父节点的标识;版本号字段用于表征该prldio报文的版本号,rank字段用于表征该父节点的rank,dodagid字段用于标识dodag,subnc字段用于表征该父节点已接入的子节点的个数。需要说明的是,现有的prldio报文中并没有subnc字段,也就是说,subnc字段是本发明实施例提供的prldio报文相对于现有的prldio报文新增的字段,在此进行统一说明,以下不再赘述。当然,prldio报文中可能还包含其他字段,比如,操作模式(modeofoperation,mop)字段、目标广播触发时序号(destinationadvertisementtriggersequencenumber,dtsn)字段等,本发明实施例对此不作具体限定。需要说明的是,本发明实施例中,当某一个父节点新接入一个网络节点之后,需要对原来已经请求过dio的其他网络节点重新发送prldio报文,以便及时更新subnc字段的数值,也就是说及时更新该父节点已接入的子节点的个数,从而保障这些原来已经请求过dio的网络节点后续选择父节点的准确性,在此进行统一说明,以下不再赘述。可选的,结合
背景技术
中提供的现有的父节点的切换条件:rank_old–rank_new时进行父节点的切换,上述步骤s503中,与第一候选父节点同等通信质量的候选父节点是指:与目标rank相差不大于r的该网络节点的候选rank所对应的候选父节点,该目标rank为与第一候选父节点对应的该网络节点的候选rank。这样,当网络节点当前连接一个父节点时,若与该父节点对应的该网络节点的候选rank与目标rank相差大于r,也就是符合父节点的切换条件,则该网络节点必然发生切换,因为根据上述第一预设条件,该网络节点当前连接的父节点并不属于第一候选父节点集合,不存在被选作目标父节点的可能。当然,若切换条件为rank_old–rank_new>t*r时进行父节点的切换,则本发明实施例中,与第一候选父节点同等通信质量的候选父节点也可以包括:与目标rank相差不大于t*r的该网络节点的候选rank所对应的候选父节点,该目标rank为与第一候选父节点对应的该网络节点的候选rank,t为正有理数,比如t=0.5。本发明实施例对此不作具体限定。基于本发明实施例提供的父节点选择方法,本发明实施例中,每个候选父节点的rank是每个候选父节点基于每个候选父节点的当前临时etx的默认值大于r得到的;该网络节点的当前真实etx是该网络节点基于该网络节点的当前临时etx的默认值大于r得到的,r表示预设的路径系数;并且,网络节点首先基于与每个候选父节点对应的网络节点的候选rank从多个候选父节点中确定第一候选父节点集合,再基于第一候选父节点集合中每个候选父节点已接入的子节点的个数在第一候选父节点集合中选择目标父节点。一方面,在确定第一候选父节点集合时,由于rank越小,通信质量越好,因此第一候选父节点集合中包括第一候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的网络节点的候选rank最小。另外,考虑到在选择父节点时,不希望网络节点在同等通信质量的父节点之间来回切换,因此,第一候选父节点集合中还包括与第一父节点同等通信质量的父节点,以便于该网络节点可以从第一候选父节点中选择一个目标父节点。而且,由于网状网络中每个候选父节点和网络节点的当前临时etx的默认值均大于r,因此在候选父节点为新加入的节点时,通过合理的设置当前临时etx的默认值,该候选父节点通常不会包含在第一候选父节点集合中,因此不会成为网络节点的目标父节点,从而可以避免6lowpan的惊群现象;另一方面,在从第一候选父节点集合中选择目标父节点时,将第一候选父节点集合中已接入的子节点的个数最小的候选父节点确定为网络节点的目标父节点。也就是说,充分考虑了6lowpan无线网状网络的平衡因素,降低了出现父节点挂过多网络节点容易导致父节点老化以及父节点切换的可能,使得6lowpan能快速稳定的形成平衡的无线网状网络,进而也有助于提高6lowpan无线网状网络的组网效率、通信稳定性,间接提升了无线网状网络的接入容量。下面将给出结合图5所示的父节点选择方法进行父节点选择的具体示例。示例性的,假设本发明实施例中的网络节点为图3中的n4,n3为新加入的父节点,以无线网状网络中任意网络节点的当前临时etx的默认值设置为网络支持的最大跳数的一半与r的乘积,而网络支持的最大跳数默认为8为例。同时假设n4可以获取n3的标识、n3已接入的子节点的个数以及n3的rank;n2的标识、n2已接入的子节点的个数以及n2的rank;n1的标识、n1已接入的子节点的个数以及n1的rank,结果如表一所示:表一父节点的标识父节点已接入的子节点的个数父节点的rankn163rn243rn303r需要说明的是,上述表一中n3的rank是假设在n3加入之后,n3的etx_s会根据公式etx_s=etx_old*90%+etx_new*10%不断收敛至3r为例,比如:第一次:若etx_new=3r,则etx_s=etx_old*90%+etx_new*10%=4r*90%+3r*10%=3.9;第二次:若etx_new=2r,则etx_s=etx_old*90%+etx_new*10%=3.9*90%+2r*10%=3.71;第三次:若etx_new=3r,则etx_s=etx_old*90%+etx_new*10%=3.71*90%+3r*10%=3.639;……,以此类推,etx_s逐渐收敛,最终会收敛至3r……..。需要说明的是,由于这里n3是第一跳的子节点,因此n3的rank实际上等同于n3的etx_s,当然,如果n3不是第一跳的子节点,则具体的,n3的rank的计算方式可参考
背景技术
部分,在此不再赘述。另外,假设与n1、n2和n3对应的n4的etx_s如表二所示:表二候选父节点的标识n4的etx_sn12.5rn22rn34r则根据公式rank=etx_s+etx_f,结合表一和表二可知,与n1、n2和n3对应的n4的候选rank如表三所示:表三父节点的标识n4的候选rankn15.5rn25rn37r则,首先,n4根据表三,结合第一预设规则,确定第一候选父节点集合。其中,第一预设规则为第一候选父节点集合中包括第一候选父节点以及与第一候选父节点同等通信质量的候选父节点,第一候选父节点为候选父节点n1、n2和n3中的一个候选父节点,且与第一候选父节点对应的n4的候选rank最小。由表三可知,与n2对应的n4的候选rank最小,因此第一候选父节点为n2。这里假设与第一候选父节点同等通信质量的候选父节点是指:与目标rank相差不大于r的n4的候选rank所对应的候选父节点,该目标rank为与n2对应的n4的候选rank,也即5r。则根据表三可知,5.5r与5r相差不大于r,因此与n2同等通信质量的父节点为n1,因此第一候选父节点集合为{n2,n1}。其次,n4根据第一候选父节点集合中每个候选父节点已接入的子节点的个数,将第一候选父节点集合中已接入的子节点的个数最小的候选父节点确定为n4的目标父节点。根据表一可知,n2已接入的子节点的个数为4,n1已接入的子节点的个数为6,因此n4将n2作为目标父节点,结果仍如图3所示,未发生切换。另一方面,假设n4的etx_s会根据公式etx_s=etx_old*90%+etx_new*10%不断收敛,比如,根据上述n3的etx_s的收敛示例,在将n3作为n4的目标父节点时,n4的etx_s会收敛至3r,则根据
背景技术
部分rank的计算方式可得与n3对应的n4的候选rank=etx_s+etx_f=3r+3r=6r,则此时第一候选父节点集合为{n2,n1,n3},进而n4根据第一候选父节点集合中每个候选父节点已接入的子节点的个数,确定n4的目标父节点时,可以确定将n3确定为目标父节点。也就是说,随着无线网状网络的不断更新,新加入的节点也存在被选作目标父节点的可能,不会像现有技术一样,在有新节点加入时,出现惊群或者频繁切换的情况。进一步的,假设图7为根据上述父节点选择方法选择父节点之后所得到的一个平衡的无线网状网络。由于考虑父节点已接入的子节点的个数的原因,可能导致本应该选择左侧n1作为父节点的网络节点n8,最终选择右侧100m开外的n2作为父节点,这种情况同样不是最优的平衡网络,可能导致网络通信质量更差。基于此,如图8所示,本发明实施例提供的父节点选择方法还可以包括步骤s505。s505、网络节点获取多个候选父节点中的每个候选父节点的接收信号强度标识(receivedsignalstrengthindication,rssi)。其中,每个候选父节点的rssi可以携带在上述的prldio报文中,即如图9所示,在prldio报文中增加rssi字段,该rssi字段用于表征每个候选父节点的rssi。当然,网络节点也可能通过其他方式获取每个候选父节点的rssi,本发明实施例对此不作具体限定。需要说明的是,现有的prldio报文中并没有rssi字段,也就是说,rssi字段是本发明实施例提供的prldio报文相对于现有的prldio报文新增的字段,在此进行统一说明,以下不再赘述。需要说明的是,本发明实施例中,步骤s501-s503与步骤s505之间没有必然的执行先后顺序,可能先执行步骤s501-s503,再执行步骤s505;也可能先执行步骤s505,再执行执行步骤s501-s503;还可能同时执行步骤s501-s503与步骤s505,本发明实施例对此不作具体限定。进而,步骤s504具体可以包括如下步骤:s5041、网络节点根据第一候选父节点集合中每个候选父节点的rssi,结合第二预设规则,确定第二候选父节点集合。其中,第二预设规则为第二候选父节点集合中包括第二候选父节点以及与第二候选父节点同等信号强度的候选父节点,其中,第二候选父节点为第一候选父节点集合中rssi最大的候选父节点。可选的,本发明实施例中,与第二候选父节点同等信号强度的候选父节点可以包括:候选父节点的rssi与rssi最大的候选父节点的rssi相差小于第二阈值的候选父节点。其中,该第二阈值可以为一个经验值,也可以是经过多次实验得出的一个数值,本发明实施例对此不作具体限定。例如,该第二阈值可以是20db。可选的,第二候选父节点集合中的候选父节点通常为rssi大于第一阈值的候选父节点,该第一阈值不小于满足通信要求的最小rssi。例如,目前可满足通信要求的最小rssi为-85,因此该第一阈值可以为-85分贝(db)。这样可以保证网络节点的目标父节点为正常通信的节点。s5042、网络节点根据第二候选父节点集合中每个候选父节点已接入的子节点的个数,将第二候选父节点集合中已接入的子节点的个数最小的候选父节点确定为网络节点的目标父节点。示例性的,假设本发明实施例中的网络节点为图7中的n8,第一阈值为-85db,第二阈值为20db。同时假设n8可以获取n3的标识、n3已接入的子节点的个数、n3的rssi以及与n3对应的n8的候选rank;n2的标识、n2已接入的子节点的个数、n2的rssi以及与n2对应的n8的候选rank;n1的标识、n1已接入的子节点的个数、n1的rssi以及与n1对应的n8的候选rank,结果如表四所示:表四则,首先,n8根据表四中与n1、n2和n3对应的n8的候选rank,结合第一预设规则,确定第一候选父节点集合。其中,第一预设规则为第一候选父节点集合中包括第一候选父节点以及与第一候选父节点同等通信质量的候选父节点,第一候选父节点为候选父节点n1、n2和n3中的一个候选父节点,且与第一候选父节点对应的n4的候选rank最小。由表四可知,与n2对应的n4的候选rank最小,因此第一候选父节点为n2。这里假设与第一候选父节点同等通信质量的候选父节点是指:与目标rank相差不大于r的n4的候选rank所对应的候选父节点,该目标rank为与n2对应的n4的候选rank,也即5r。则根据表四可知,5r与4.5r相差不大于r,因此与n2同等通信质量的父节点为n1,因此第一候选父节点集合为{n2,n1}。其次,n8根据n1和n2的rssi,结合第二预设规则,确定第二候选父节点集合。其中,第二预设规则为第二候选父节点集合中包括第二候选父节点以及与第二候选父节点同等信号强度的候选父节点,其中,第二候选父节点为第一候选父节点集合中rssi最大的候选父节点。由表四可知,第一候选父节点集合{n2,n1}中rssi最大的候选父节点为n1,也即第二候选父节点为n1。这里假设与第二候选父节点同等信号强度的候选父节点可以包括:候选父节点的rssi与rssi最大的候选父节点的rssi相差小于20db的候选父节点,则根据表四可知,与n1同等信号强度的父节点不存在,因此第二候选父节点集合为{n1}。最后,n8根据第二候选父节点集合中每个候选父节点已接入的子节点的个数,将第二候选父节点集合中已接入的子节点的个数最小的候选父节点确定为网络节点的目标父节点。由于此时第二候选父节点集合中只有n1,因此n8将n1作为目标父节点,结果如图10所示。基于本发明实施例提供的父节点选择方法,本发明实施例中,每个候选父节点的rank是每个候选父节点基于每个候选父节点的当前临时etx的默认值大于r得到的;该网络节点的当前真实etx是该网络节点基于该网络节点的当前临时etx的默认值大于r得到的,r表示预设的路径系数;并且,网络节点首先基于与每个候选父节点对应的网络节点的候选rank从多个候选父节点中确定第一候选父节点集合,再基于候选父节点的rssi从第一候选父节点集合中确定第二候选父节点集合,最后再基于候选父节点已接入的子节点的个数在第二候选父节点集合中选择目标父节点。一方面,在确定第一候选父节点集合时,由于rank越小,通信质量越好,因此第一候选父节点集合中包括第一候选父节点,该第一候选父节点为多个候选父节点中的一个候选父节点,且与该第一候选父节点对应的网络节点的候选rank最小。另外,考虑到在选择父节点时,不希望网络节点在同等通信质量的父节点之间来回切换,因此,第一候选父节点集合中还包括与第一父节点同等通信质量的父节点,以便于该网络节点可以从第一候选父节点中选择一个目标父节点。而且,由于网状网络中每个候选父节点和网络节点的当前临时etx的默认值均大于r,因此在候选父节点为新加入的节点时,通过合理的设置当前临时etx的默认值,该候选父节点通常不会包含在第一候选父节点集合中,因此不会成为网络节点的目标父节点,从而可以避免6lowpan的惊群现象;另一方面,在从第二候选父节点集合中选择目标父节点时,将第二候选父节点集合中已接入的子节点的个数最小的候选父节点确定为网络节点的目标父节点,而第二候选父节点集合中包含第一候选父节点集合中rssi较好的候选父节点。也就是说,进一步充分考虑了6lowpan无线网状网络的平衡因素,不仅降低了出现父节点挂过多网络节点容易导致父节点老化以及父节点切换的可能,而且不会降低无线网状网络的通信质量,使得6lowpan能快速稳定的形成更加平衡的无线网状网络,进一步有助于提高6lowpan无线网状网络的组网效率、通信稳定性,更加提升了无线网状网络的接入容量。进一步的,在网络节点根据选择的目标父节点成功加入无线网状网络之后,该网络节点还可能成为下一级节点的父节点,因此,本发明实施例提供的父节点选择方法还可以包括:网络节点向该网络节点的候选子节点发送该网络节点的prldio报文,其中,该网络节点的prldio报文中包括该网络节点的标识、该网络节点已接入的子节点的个数以及该网络节点的rank。可选的,该网络节点的prldio报文中还可以包括该网络节点的rssi。这样,该网络节点的候选子节点在接收到该网络节点发送的prldio报文之后,可以基于图5或者图6所示的实施例提供的父节点选择方法选择父节点,本发明实施例对此不作具体限定。其中,prldio报文的相关描述可参考上述方法实施例,在此不再赘述。上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,上述网络节点为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本发明实施例可以根据上述方法示例对网络节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图11示出了上述实施例中所涉及的网络节点110的一种可能的结构示意图。如图11所示,网络节点110包括:获取模块1101和确定模块1102。获取模块1101用于支持网络节点110执行图5中的步骤s501和s502;确定模块1102用于支持网络节点110执行图5中的步骤s503和s504。或者,可选的,获取模块1101用于支持网络节点110执行图6中的步骤s501、s502和s505;确定模块1102用于支持网络节点110执行图6中的步骤s503、s5041和s5042。或者,可选的,如图11所示,网络节点110还包括发送模块1103。发送模块1103,用于向网络节点110的候选子节点发送网络节点110的prldio报文,其中,网络节点110的prldio报文中包括网络节点110的标识、网络节点110已接入的子节点的个数以及网络节点110的rank。可选的,网络节点110的prldio报文中还可以包括网络节点110的rssi。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。以采用集成的方式划分各个功能模块的情况下,图12示出了上述实施例中所涉及的网络节点120的一种可能的结构示意图。如图12所示,网络节点120包括处理模块1201。其中,处理模块1201用于支持网络节点120执行图5中的步骤s501、s502、s503和s504。或者,可选的,处理模块1201用于支持网络节点120执行图6中的步骤s501、s502、s503、s5041、s5042和s505。或者,可选的,如图12所示,网络设备120还包括通信模块1202。通信模块1202,用于向网络节点120的候选子节点发送网络节点120的prldio报文,其中,网络节点120的prldio报文中包括网络节点120的标识、网络节点120已接入的子节点的个数以及网络节点120的rank。可选的,网络节点120的prldio报文中还可以包括网络节点120的rssi。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。在发明实施例中,该网络节点以对应各个功能划分各个功能模块的形式来呈现,或者,该网络节点以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定asic,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到网络节点110或者网络节点120可以采用图4所示的形式。如图4所示,为本发明实施例提供的一种网络节点400的硬件结构示意图,该网络节点400包括处理器401,通信总线402、以及通信接口404。处理器401可以是一个通用处理器,例如中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),或cpu和np的组合;处理器401也可以是微处理器(mcu),专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。比如,本发明实施例中,处理器401可以为stm32f405芯片,用于6lowpan协议的运行和加解密。通信总线402可包括一通路,在上述组件之间传送信息。通信接口404,使用任何收发器一类的装置,用于与其他设备或通信网络通信,可以包括以太网接口,无线接入网(radioaccessnetwork,ran)接口,无线局域网(wirelesslocalareanetworks,wlan)接口等。可选的,该网络设备400还可以包括存储器403,存储器403可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器403还可以包括上述种类的存储器的组合。可选地,存储器403用于存储程序代码。处理器401用于执行存储器403中存储的程序代码,从而实现本发明实施例提供的选择父节点的方法。在具体实现中,处理器401可以包括一个或多个cpu,例如图4中的cpu0和cpu1。cpu可以是一个单核,也可以是多核。在具体实现中,作为一种实施例,网络节点400还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接受用户的输入。例如,输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。上述的网络节点400可以是一个通用节点或者是一个专用节点。在具体实现中,网络节点400可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigitalassistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图4中类似结构的设备。本发明实施例不限定网络节点400的类型。示例性的,图11中的获取模块1101、确定模块1102和发送模块1103可以通过图4的处理器401和存储器403来实现,具体的,获取模块1101、确定模块1102和发送模块1103可以通过由处理器401来调用存储器403中存储的应用程序代码来执行,本发明实施例对此不作任何限制。或者,比如,图12中的的处理模块1201和通信模块1202可以通过图4的处理器401和存储器403来实现,具体的,处理模块1201和通信模块1202可以通过由处理器401来调用存储器403中存储的应用程序代码来执行,本发明实施例对此不作任何限制。由于本发明实施例提供的网络节点可用于执行上述父节点选择方法,因此其所能获得的技术效果可参考上述方法实施例,本发明实施例在此不再赘述。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1