mesh网络节点的地址管理方法和装置、路由创建及维护方法与流程

文档序号:23626546发布日期:2021-01-12 10:39阅读:201来源:国知局
mesh网络节点的地址管理方法和装置、路由创建及维护方法与流程
本发明涉及电网无线通讯
技术领域
,具体地涉及一种mesh网络节点的地址管理方法和装置、路由创建及维护方法。
背景技术
:现有的无线网格网络(mesh)主要利用多跳技术解决微功率、多设备的远距离的数据传输覆盖率问题,其特点是要求网络中的各个通信设备不仅能完成自身数据的传输,同时还能完成其他设备传输中的数据转发功能,即充当数据传输过程中的路由节点。再有,网络中一般需要一个通信设备充当mesh网络协调器,其他通信设备充当mesh网络客户端。mesh网络的关键技术之一就是对mesh网络路由协议的设计,目前设计了各种mesh网络协议用以满足不同的应用场景,同时各种路由协议在关键性能指标,例如实现复杂度、吞吐率、延时、稳定性等方面各有特色。通过研究发现,现有的mesh网络路由协议主要面向通信设备之间位置无规律的一般环境。但在有些特殊的应用环境中,例如通信设备的位置固定而且有一定规律的应用环境,虽然普通面向无规律位置通信设备环境的网络路由协议也能应用,但较大的计算量会耗费较大的功耗,降低通信效率。例如,在无线抄表系统中,电表箱内多电表之间的通信,其环境特点是:(1)电表位置固定,运行过程中没有通信设备的移动;(2)电表位置设置有一定的规律;(3)电表之间的距离非常短,一般保证电表之间无物理接触即可,常见距离在20厘米左右;(4)通信环境封闭,如果是金属电表箱则一般是一个封闭式的环境,对外界的干扰屏蔽强,且内部电磁辐射也很难散射到外界空间。在当前流行的无线抄表系统中,电表通过无线通信模块与中继器进行数据通信。组网拓扑结构一般为星型网络,即单个电表直接与中继器进行数据通信,中继器收到数据后将该数据转发给上一级通信设备,例如基站等,或省略中继器,电表通过外置高增益和高效率天线直接与基站通信。这类应用环境的缺点是:电表需要单独直接与中继器通信,必将会需要较大的发射功率,同时由于电表之间相隔较近,较大的发射功率必将导致电表间较大的互扰,干扰电表的正常工作和通信。因此,当前的mesh网络协议没有针对这类通信设备位置固定且有一定规律的应用环境的应用。技术实现要素:本发明实施例的目的是提供一种mesh网络节点的地址管理方法,以解决当前的mesh网络协议没有针对通信设备位置固定且有一定规律的应用环境的应用。为了实现上述目的,本发明实施例提供一种mesh网络节点的地址管理方法,该mesh网络节点的地址管理方法包括:获取mesh网络中节点的拓扑结构;以及配置用于描述当前节点的地址信息的地址矩阵,其中所述地址矩阵中至少包括分别用于示出所述当前节点和目的节点在所述拓扑结构中的位置的当前节点地址参数和目的节点地址参数。优选的,当所述节点的拓扑结构是规则的矩阵排列时,所述配置地址矩阵描述当前节点的地址信息包括:针对所述地址矩阵,配置所述当前节点地址参数和所述目的节点地址参数为对应节点在所述矩阵排列中的行位置和/或列位置。优选的,当所述节点的拓扑结构是无规则排列时,所述配置地址矩阵描述当前节点的地址信息包括:采用极坐标环境描述所述无规则排列,使得每个节点具有以目的节点或指定节点为参考的极坐标;针对所述地址矩阵,配置所述当前节点地址参数和所述目的节点地址参数为对应节点在所述极坐标环境下的极坐标半径和/或极坐标角度。本发明实施例还提供一种基于地址矩阵的路由创建方法,所述路由创建方法包括:在待创建的路由路径的源节点处,根据上述任意一项所述的mesh网络节点的地址管理方法获取该源节点及其在所述mesh网络中的周围节点各自对应的地址矩阵;所述源节点向各个所述周围节点发送路由创建请求数据包,并根据多个所述周围节点的回复选定待创建的路由路径的中继节点,并通知所选定的中继节点,其中所述路由创建请求数据包包括所述源节点对应的所述地址矩阵,且该地址矩阵包括源节点地址参数和目的节点地址参数;以及所述中继节点响应所述源节点的通知确定自身是否具有路由路径信息,若不具有,则以该中继节点作为新的源节点重复上述发送所述路由创建请求数据包的步骤以选定下一级中继节点,其中所述路由路径信息用于指示所述中继节点至所述目的节点的路由路径;在所述目的节点处,若所述目的节点接收到所述路由创建请求数据包时,则确定所述路由路径创建完成。优选的,对于所述多个所述周围节点的回复,所述路由创建方法还包括:任意所述周围节点在获取所述路由创建请求数据包之后,根据所述源节点地址参数、所述目的节点地址参数和该周围节点地址参数,计算该周围节点和所述源节点的距离,并计算所述源节点和所述目的节点的距离;以及若该周围节点和所述源节点的距离小于所述源节点和所述目的节点的距离,则该周围节点发送用于描述其能够作为所述中继节点的创建路由答复数据包给所述源节点,其中所述创建路由答复数据包包括该周围节点地址参数;否则,该周围节点放弃所述路由创建请求数据包。优选的,所述根据多个所述周围节点的回复选定建立路由路径的中继节点,包括:接收多个所述周围节点发送的所述创建路由答复数据包,并根据所述源节点地址参数和所述周围节点地址参数,选定与所述源节点距离最小的所述周围节点为所述中继节点;当与所述源节点距离最小的一个所述周围节点的数量超过1个时,在对应的所述周围节点中,选定与所述目的节点距离最小的所述周围节点为所述中继节点。优选的,选定与所述目的节点距离最小的所述周围节点为所述中继节点,包括:当与所述目的节点距离最小的所述周围节点的数量超过1个时,所述源节点发送状态请求数据包给对应的所述周围节点,所述状态请求数据包包括所述源节点地址参数和所述周围节点地址参数;所述周围节点获取所述状态请求数据包,并发送状态答复数据包给所述源节点,所述状态答复数据包包括该周围节点地址参数和该周围节点的多个通信状态信息;以及所述源节点获取多个所述周围节点发送的状态答复数据包,并根据各个所述周围节点的多个所述通信状态信息,选定一个所述周围节点为与所述中继节点。优选的,若所述中继节点中具有所述路由路径信息,所述基于地址矩阵的路由创建方法还包括:该中继节点发送复用路由数据包给所述路由路径信息所指示的路由路径上的各个所述节点以通知该路由路径被复用,所述复用路由数据包包括所述中继节点地址参数和所述源节点地址参数;以及当所述目的节点接收到所述复用路由数据包后,发送成功创建源节点路由数据包给所述源节点,其中,所述成功创建源节点路由数据包包括所述源节点地址参数。本发明实施例还提供一种基于地址矩阵的路由维护方法,所述路由维护方法针对上述任意一项所述的mesh网络节点的地址管理方法的所述mesh网络,且包括:任意源节点向其路由路径上的周围节点发送路由维护请求数据包,所述路由维护请求数据包包括源节点地址参数;对应的所述周围节点获取所述路由维护请求数据包后,在所述路由维护请求数据包中添加该周围节点地址参数作为转发节点地址参数,并继续发送所述路由维护请求数据包;在所述路由路径中相对于所述周围节点的下一级节点处,获取所述路由维护请求数据包,并以下一级节点地址参数修改所述转发节点地址参数,并继续发送所述路由维护请求包;以及若所述目的节点获取到所述路由维护数据包,则发送路由维护确认数据包给所述源节点,所述路由维护确认数据包包括所述源节点地址参数。优选的,在所述任意源节点发送路由维护请求数据包之前,所述路由维护方法还包括:在各个所述节点中设置定时器,所述节点根据所述定时器发起路由维护请求。本发明实施例一种mesh网络节点的地址管理装置,所述地址管理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现上述任意一项所述的mesh网络节点的地址管理方法。本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令使得机器执行上述任意一项所述的mesh网络节点的地址管理方法。通过上述技术方案,本发明实施例采用二维地址表示mesh网络中各个固定的通信节点,即通过地址矩阵的形式来描述mesh网络中的节点地址。使用地址矩阵能更方便地描述地址信息,同时地址矩阵与节点在网络中的位置息息相关,这种二维地址方便了路由之间距离的计算和路由路径的选择。进一步地,该地址矩阵除了该节点地址信息外,还包含目的地址的信息。且源地址(或周围节点)和目的地址均包含行地址和列地址,因此使用地址矩阵更加直观,更加方便。本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:图1为本发明第一实施例提供的mesh网络节点的地址管理方法的流程示意图;图2是mesh网络的拓扑结构是节点规则的矩阵排列的结构示意图;图3是mesh网络的拓扑结构是节点无规则排列的结构示意图;图4为本发明第二实施例提供的一种路由创建方法的流程示意图;图5是用于表示节点距离的示意图;图6是本发明第二实施例的一个示例的流程示意图;图7是本发明第三实施例提供的基于地址矩阵的路由维护方法的流程示意图。具体实施方式以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。图1为本发明第一实施例提供的mesh网络节点的地址管理方法的流程示意图,请参考图1,该地址管理方法可以包括以下步骤:步骤s110:获取mesh网络中节点的拓扑结构。在通讯设备位置固定的mesh网络环境中,例如,安装布置有多电表的电表箱网络环境,其节点的拓扑结构有两种:结构1),节点呈现规则的矩阵排列。请参考图2,该图可以表示结构1)对应的mesh网络拓扑结构的示意图,其中,该mesh网络(例如,一个封闭的电表箱体)中,有m*n个摆放有序的节点和一个目的节点。本发明第一实施例的目的节点可以是收发中继器节点,该中继器节点有两根天线,其中有一根与其他箱体内其他节点通信,另外一根放在箱体外部用于与外部通信设备之间进行通信。另外,在本发明第一实施例的mesh网络协议中,中继器还可以充当mesh协调器功能,负责mesh路由建立和路由表维护功能。在二维环境中,两个参数则可唯一确定一个点,因此在结构1)对应的mesh网络拓扑结构中,可以通过对应的行位置和列位置表示其中的各个节点,例如,节点(23),其行位置为2,列位置为3。结构2),节点无规则排列。请参考图3,该图可以表示结构2)对应的mesh网络拓扑结构的示意图,其中的节点为无规则布置,图中的直线表示各个节点到目标节点(例如中继器)的直线距离,弧线表示以目标节点为圆心,半径相同的位置。以封闭的电表箱体为例,将该mesh网络虚拟成一个极坐标环境,每个节点(例如电表)有一个以特殊节点(优选为中继器,也可以是其他节点)为参考的极坐标(r,θ),其中极坐标半径r是指电表到参考点的直线距离;以参考点的水平线为0°,并预设正、负角度,极坐标角度θ是指电表与参考点形成的直线与该水平线的夹角度数。例如,节点(r4,θ4),其极坐标半径为r4,极坐标角度为θ4。步骤s120:配置地址矩阵描述当前节点的地址信息,其中所述地址矩阵中的数据至少包括用于示出所述当前节点和目的节点在所述拓扑结构中的位置的地址参数。本发明第一实施例采用地址矩阵描述各个节点地址信息,并对各个节点进行地址矩阵配置:对于结构1)的地址矩阵配置,所述地址矩阵的各个参数被配置为所述当前节点和所述目的节点在所述矩阵排列中的行位置或列位置。优选的,各个节点的地址矩阵配置如下矩阵:其中,a11表示当前节点在结构1)的mesh网络拓扑结构中的行位置,a21表示当前节点在结构1)的mesh网络拓扑结构中的列位置,a12表示目的节点(例如中继器)在结构1)的mesh网络拓扑结构中的行位置,a22表示目的节点(例如中继器)在结构1)的mesh网络拓扑结构中的列位置。举例说明,目的节点,例如中继器的地址参数为(3,0),则节点(2,3)的地址矩阵为:采用地址矩阵可以更好更快地建立路由节点,并建立路由路径,并且采用地址矩阵可以充分利用节点分布有规律的特点。需要说明,上述2*2的矩阵结构是本发明第一实施例优选的地址矩阵,但不限于上述结构,例如地址矩阵也可以被配置为下列1*4的矩阵结构,同时本申请对地址矩阵的参数也不作限制,例如也可以用a12表示当前节点在结构1)的mesh网络拓扑结构中的列位置,上述设定仅是为了便于描述本发明实施例。[a11a12a13a14]对于结构2)的地址矩阵配置,所述地址矩阵的各个参数被配置为所述当前节点和所述目的节点在所述极坐标环境下的极坐标半径或极坐标角度。优选的,各个节点的地址矩阵配置如下矩阵:其中,r表示当前节点在结构2)的mesh网络拓扑结构中的极坐标半径,θ表示当前节点在结构2)的mesh网络拓扑结构中的极坐标角度,rc表示目的节点(例如中继器)在结构2)的mesh网络拓扑结构中的极坐标半径,θc表示目的节点(例如中继器)在结构2)的mesh网络拓扑结构中的极坐标角度。如上所述,本发明第一是实施例对结构2)对应的地址矩阵结构和参数也不进行任何限定。本发明第一实施例采用二维地址表示mesh网络中各个固定的通信节点,即通过地址矩阵的形式来描述mesh网络中的节点地址。使用地址矩阵能更方便地描述地址信息,同时地址矩阵与节点在网络中的位置息息相关,这种二维地址方便了路由之间距离的计算和路由路径的选择。进一步地,该地址矩阵除了该节点地址信息外,还包含目的地址的信息。且源地址(或周围节点)和目的地址均包含行地址和列地址,因此使用地址矩阵更加直观,更加方便。图4为本发明第二实施例提供的一种路由创建方法的流程示意图,请参考图4,基于地址矩阵的路由创建方法可以包括以下步骤:步骤s210:在待创建的路由路径的源节点处,根据步骤s110-s120所述的mesh网络节点的地址管理方法获取该源节点及其在所述mesh网络中的周围节点各自对应的地址矩阵。以mesh网络为电表箱,节点为电表为例,节点通信模块上电后,安装工程师会为该节点设置正确的地址矩阵。若该mesh网络为结构1),则为该源节点设置式(1)的矩阵地址;若为结构2),则设置式(2)的地址矩阵。地址矩阵设置完成后,该节点会检查其硬件内存中是否已经有路由信息,如有没有,则需要进行路由创建。步骤s220:所述源节点向各个所述周围节点发送路由创建请求数据包,并根据多个所述周围节点的回复选定待创建的路由路径的中继节点,并通知所选定的中继节点,其中所述路由创建请求数据包包括所述源节点对应的所述地址矩阵,且该地址矩阵包括源节点地址参数和目的节点地址参数。举例说明,该路由创建请求数据包用route_req表示,数据包的格式如下:对于mesh网络结构为结构1)的数据包格式:包头id1源节点地址矩阵a11源节点地址矩阵a21源节点地址矩阵a12源节点地址矩阵a22对于mesh网络结构为结构2)的数据包格式:包头id1源节点地址矩阵r值源节点地址矩阵θ值源节点地址矩阵rc值源节点地址矩阵θc值其中,用于示出路由创建请求目的的包头信息id1为标识符,优选占用一个字节;源地址矩阵包含了本次请求的源地址参数和目的地址参数,每个地址参数可以占用一个字节,范围为0~255;以此为据,该mesh路由协议理论上可容纳的节点数为:(2^8)*(2^8)=65536个。需要说明,本发明第二实施例对上述数据包route_req中内容的顺序不作任何限制。优选的,对于所述多个所述周围节点的回复,所述路由创建方法还包括:任意所述周围节点在获取所述路由创建请求数据包之后,根据所述源节点地址参数、所述目的节点地址参数和该周围节点地址参数,计算该周围节点和所述源节点的距离,并计算所述源节点和所述目的节点的距离;以及若该周围节点和所述源节点的距离小于所述源节点和所述目的节点的距离,则该周围节点发送用于描述其能够作为所述中继节点的创建路由答复数据包给所述源节点,其中所述创建路由答复数据包包括该周围节点地址参数;否则,该周围节点放弃所述路由创建请求数据包。举例说明,以目的节点为中继器为例,该mesh网络的周围节点收到该路由创建请求数据包route_req后,将会对该数据包进行解析:提取该数据包中的包头id和地址矩阵信息,了解到该数据包为路由创建请求数据包,并获取待建立路由的源地址和目的地址,通过下式计算该周围节点和所述源节点的距离d1(或d3)的平方值,并计算所述源节点和所述目的节点的距离d2(或d4)的平方值:对于结构1)的计算:d1=(aij11-as11)2+(aij21-as21)2(3)d2=(as11-as12)2+(as21-as22)2(4)其中,aij11为周围节点的地址矩阵中的a11,即该周围节点在mesh网络矩阵中的行位置;aij21为周围节点的地址矩阵中的a21,即该周围节点在mesh网络矩阵中的列位置;as11为源节点的地址矩阵中的a11,即源节点在mesh网络矩阵中的行位置;as21为源节点的地址矩阵中的a21,即源节点在mesh网络矩阵中的列位置;as12为源节点的地址矩阵中的a12,即目的节点(中继器)在mesh网络矩阵中的行位置;as22为源节点的地址矩阵中的a22,即目的节点(中继器)在mesh网络矩阵中的列位置。对于结构2)的计算:d3=[r-rijcos(θ-θij)]2+[rijsin(θ-θij)]2(5)d4=[r-rccos(θ-θc)]2+[rcsin(θ-θc)]2(6)其中,r为源节点在mesh网络中的极坐标半径;θ为源节点在mesh网络中的极坐标角度;rij为周围节点在mesh网络中的极坐标半径;θij为该周围节点在mesh网络中的极坐标角度;rc为目的节点(中继器)在mesh网络中的极坐标半径;θc为目的节点(中继器)在mesh网络中的极坐标角度。比较d1与d2(或d3与d4)的大小,若d1≥d2(或d3≥d4),则该周围节点ij放弃该路由创建请求数据包;若d1<d2(或d3<d4),则该周围节点ij保留该数据包,并发送创建路由答复数据包route_reply通知源节点,该创建路由答复数据包route_reply格式如下:对于结构1)的数据包格式:包头id2ij周围节点地址矩阵a11ij周围节点地址矩阵a21对于结构2)的数据包格式:包头id2周围节点地址矩阵r周围节点地址矩阵θ其中,包头信息id2用于通知源节点该数据包route_reply是针对源节点发送的路由创建请求数据包route_req的回复。源节点可能会收到不止一个上述回复数据包,所述根据多个所述周围节点的回复选定建立路由路径的中继节点,包括:1)接收多个所述周围节点发送的所述创建路由答复数据包,并根据所述源节点地址参数和所述周围节点地址参数,选定与所述源节点距离最小的所述周围节点为所述中继节点。源节点收到多个周围节点发送的答复数据包route_reply后,解析该该数据包,并根据上述式(3)或式(5)计算发送答复数据包的各个周围节点与源节点的距离,选择距离源节点最近的节点为源节点路由路径中的中继节点,以有利于源节点在进行通信时减少发送功率,降低节点间电磁干扰,提升通信可靠性。2)当与所述源节点距离最小的一个所述周围节点的数量超过1个时,在对应的所述周围节点中,选定与所述目的节点距离最小的所述周围节点为所述中继节点。请参考图5,其中,圆中间点表示源节点,圆上的点表示两个周围节点,圆外的点表示目的节点(例如中继器),两个周围节点与源节点的距离相同,则根据下式计算与源节点距离最小的多个周围节点与目的节点的距离d5(或d6)的平方值:对于结构1)的计算:d5=(aij11-as12)2+(aij21-as22)2(7)对于结构2)的计算:d6=[rij-rccos(θ-θc)]2+[rcsin(θ-θc)]2(8)选定d5(或d6)的平方值最小的周围节点为中继节点。优选的,当与所述目的节点距离最小的所述周围节点的数量超过1个时,选定与所述目的节点距离最小的所述周围节点为所述中继节点,还包括:3)当与所述目的节点距离最小的所述周围节点的数量超过1个时,所述源节点发送状态请求数据包给对应的所述周围节点,所述状态请求数据包包括所述源节点地址参数和所述周围节点地址参数;所述周围节点获取所述状态请求数据包,并发送状态答复数据包给所述源节点,所述状态答复数据包包括用于示出答复状态请求的所述包头信息、该周围节点地址参数和该周围节点的多个通信状态信息;以及所述源节点获取多个所述周围节点发送的状态答复数据包,并根据各个所述周围节点的多个所述通信状态信息,选定一个所述周围节点为与所述中继节点。其中,状态请求数据包status_req的格式如下:对于结构1)的数据包格式:对于结构2)的数据包格式:其中,id3为用于示出状态请求的所述包头信息,周围节点收到状态请求数据包status_req后,向源节点发送状态答复数据包,该状态答复数据包status_reply的格式如下:对于结构1)的数据包格式:对于结构2)的数据包格式:其中,id4为用于示出答复状态请求的所述包头信息,状态1和状态2为周围节点对应的状态信息,例如通信质量、已运行时间、所剩电池能量、路由负载量、节点温度、天线类型等。所述源节点获取多个所述周围节点发送的状态答复数据包status_reply后,根据各个所述周围节点的多个所述通信状态信息,通过下式,选定一个所述周围节点为与所述第一级节点:其中,βi为周围节点的状态参数值;ηi为周围节点状态参数加权值,源节点通过δ值选定中继节点,δ的值越高,对应的周围节点的性能越好。进一步地,源节点在根据上述1)-3)选定中继节点的过程中,会删除未选定的周围节点的答复数据包route_reply,若存在两个周围节点的δ值比较接近,则源节点也可以保留这两个周围节点的答复数据包,δ值稍低对应的周围节点为备用的中继节点。源节点选定中继节点后会通知该节点。步骤s230:所述中继节点响应所述源节点的通知确定自身是否具有路由路径信息,若不具有,则以该中继节点作为新的源节点重复上述发送所述路由创建请求数据包的步骤以选定下一级中继节点,其中所述路由路径信息用于指示所述中继节点至所述目的节点的路由路径。举例说明,收到路由创建请求数据包route_req的中继节点(例如节点ij)判断其是否为该请求的目的节点(例如中继器),如果不是,则会以该节点ij为源节点重复步骤s220,选定下一级中继节点,并发送节点ij的路由创建请求数据包route_req。步骤s240:在所述目的节点处,若所述目的节点接收到所述路由创建请求数据包时,则确定所述路由路径创建完成。举例说明,该路由创建请求数据包route_req将会最终到达目的节点,例如中继器,中继器收到该数据包route_req,则确定该路由路径创建成功。在类似电表箱的mesh网络中,由于所有的通信节点的目的地都是中继器节点,因此,可以沿用现存的路由路径。优选的,对于步骤s230-s240,若所述中继节点中具有所述路由路径信息,所述基于地址矩阵的路由创建方法还包括:该中继节点发送复用路由数据包给所述路由路径信息所指示的路由路径上的各个所述节点以通知该路由路径被复用,所述复用路由数据包包括所述中继节点地址参数和所述源节点地址参数;以及当所述目的节点接收到所述复用路由数据包后,发送成功创建源节点路由数据包给所述源节点,其中,所述成功创建源节点路由数据包包括所述源节点地址参数。举例说明,如果当前的中继节点ij的路由路径信息已经建立,则源节点到达该中继节点ij时,中继节点ij不再往下转发路由创建请求数据包route_req,直接沿用该中继节点已经建立的路由路径信息,并记录源节点可以复用该节点的路由路径信息,这将大大节约建立路由的功耗和时间。中继节点ij将会发送一个复用路由数据包给它所在路由路径的下级路由节点,通知其下级路由节点一个新节点要复用路由路径,以此类推,依次发送复用路由数据包通知中继节点ij所在路由路径上的所有节点,有新节点将要复用该中继节点ij的路由信息,并做好记录。据此可以尽量减少节点间重复收发数据,以减少mesh网络整体功耗和电磁干扰。其中,该复用路由数据包格式如下:对于结构1)的数据包格式:对于结构2)的数据包格式:其中,id5为用于示出该路由路径被复用的包头信息。该优选实施例可以有效减少路由路径的重复,并且最终建立的路由路径将具有最小且可行的路径长度。目的节点中继器将记录各个节点的路由信息,并沿建立的路由路径发送成功创建节点数据包route_success通知源节点,其路由路径已经成功建立。其中,成功创建节点数据包route_success的格式如下:对于结构1)的数据包格式:包头id6源节点地址矩阵a11源节点地址矩阵a21对于结构2)的数据包格式:包头id6源节点地址矩阵r源节点地址矩阵θ其中,id6为用于示出该源节点创建路由成功的包头信息。请参考图6,描述本发明第二实施例提供的基于地址矩阵的路由创建方法的一个示例:步骤s11:源节点发送路由创建请求数据包route_req。当mesh网络有新的通信设备添加时,工程师会根据步骤s110-s120基于mesh网络的拓扑结构,在该通信设备中初始化其地址矩阵,以该通信设备为源节点发送数据包route_req。步骤s12:周围节点获取数据包route_req后,解析该数据包,并根据数据包中地址矩阵的源地址参数、目的地址参数和该周围节点的地址参数计算该周围节点与源节点的距离的平方值d1(或d3),并计算源节点与目的节点的距离的平方值d2(或d4),并判断d1与d2(或d3与d4)的大小。步骤s14:若d1≥d2(或d3≥d4),则该周围节点放弃数据包route_req。步骤s15:若d1<d2(或d3<d4),则该周围节点发送答复数据包route_reply给源节点。步骤s16:源节点根据接收的多个数据包route_reply,基于上述1)-3)的筛选方式,选定源节点的中继节点。步骤s17:源节点选定中继节点后,通知中继节点,中继节点判断其是否可以复用其所在的路由路径,若可以则通知其所在路由路径的各个节点该路由路径被服用,并根据其所在路由路径依次发送数据包route_req。步骤s18:当该数据包route_req到达目的节点(中继器)后,该源节点及其所在路由路径创建完成,目的节点(中继器)发送成功创建节点数据包route_success通知源节点开始工作。据此,本发明第二实施例的有益效果:1、该mesh协议中的路由节点的创建过程充分利用了通信节点布局的特点,利用极低的发射功耗搜寻附近的中继节点,同时采用复用中继节点的已有的路由路径策略,减少路由路径搜索的复杂度和时间以及创建路由数据包的发送量,充分降低路由路径搜索中的功耗和电磁干扰。2、对于中继节点的选择,本发明第二实施例充分考虑低功耗低干扰场景应用需求的特点,尽量选择近距离且路由总距离小的节点。本发明第二实施例首先会利用地址矩阵提供的地址参数计算发送答复数据包的周围节点与源节点间的距离,选择距离最小的节点;然后再计算源节点与发送答复数据包的周围节点的距离和发送答复数据包的周围节点与目的节点间的距离之和,选择距离最小的节点。这种方法能减少源节点发送功率的大小,节省功耗的同时能尽量降低节点之间的电磁干扰,比较适合于小面积集中放置大量电表节点的应用场景。3、进一步对于中继节点的选择,当根据上述过程筛选的周围节点仍有两个及以上时,源节点会向保留的周围节点发送状态请求数据包查询等距离周围节点的相关状态信息,例如通信质量、已运行时间、所剩电池能量、路由负载量、节点温度、天线类型等信息。源节点收到这些信息后利用公式(9)计算每个等距离节点的δ值,选定δ较大的等距离节点作为中继节点,如果此时两个节点的δ值很高且不相上下,则源节点也将保留这两个节点,δ值稍低的用于以后的备用路由节点。4、对于中继节点状态性能的δ值计算,对节点的一些重要特性参数,如通信质量、已运行时间等按不同的加权值进行求和均方根计算,得到的δ值能合理反映该节点充当路由节点的风险,该值越大,说明该节点越有能力充当路由节点。根据经验,在δ值的计算过程中,通信质量、已运行时间、剩余电池能量等会占有较大的权值,而节点温度、天线类型等参数会有较小的权值。具体权值大小根据实际应用情况而定。图7是本发明第三实施例提供的基于地址矩阵的路由维护方法的流程示意图,请参考图7,所述路由维护方法针对本发明第一实施例提供的mesh网络节点的地址管理方法的所述mesh网络,且该路由维护方法可以包括以下步骤:步骤s310:任意源节点向其路由路径上的周围节点发送路由维护请求数据包,所述路由维护请求数据包包括源节点地址参数。优选的,在所述任意源节点发送路由维护请求数据包之前,所述路由维护方法还包括:在各个所述节点中设置一个定时器,所述节点根据所述定时器发起路由维护请求。举例说明,定期的路由维护是指节点自发的动作,节点会设定一个定时器,当设定时间到后,节点将会按记录的路由信息发送路由维护请求数据包给目的节点(中继器),以检测路由是否畅通。其中,以发起路由维护检测的节点作为源节点,路由维护请求数据包格式如下:对于结构1)的数据包格式:包头id7源节点地址矩阵a11源节点地址矩阵a21对于结构2)的数据包格式:包头id7源节点地址矩阵r源节点地址矩阵θ其中,id7为用于示出路由维护请求的包头信息。步骤s320:对应的所述周围节点获取所述路由维护请求数据包后,在所述路由维护请求数据包中添加该周围节点地址参数作为转发节点地址参数,并继续发送所述路由维护请求数据包。举例说明,收到该包的周围节点首先会查看该源节点地址参数以及其存储的路由路径信息判断自身是否在该源节点所在的路由路径中,如果不在,则忽略该路由维护请求数据包,如果在,则继续往下转发路由维护请求数据包。转发的路由维护请求数据包格式如下:对于结构1)的数据包格式:对于结构2)的数据包格式:包头id8源节点地址矩阵r源节点地址矩阵θ转发节点地址矩阵r转发节点地址矩阵θ步骤s330:在所述路由路径中相对于所述周围节点的下一级节点处,获取所述路由维护请求数据包,并以下一级节点地址参数修改所述转发节点地址参数,并继续发送所述路由维护请求包。收到步骤s320的周围节点发送的路由维护请求数据包后,解析该数据包:1)是源节点发送的路由维护请求数据包,2)是由转发节点发送的。该节点首先检查其是否在源节点的路由路径上,如果不是,则忽略该数据包,如果是,则接下来查看该路由路径中,转发节点是否是其上一级节点,如果不是,则忽略该数据包,如果是,则继续转发该数据包,并修改数据包的转发节点地址参数(第四、第五字节)为该节点的地址参数。步骤s340:若所述目的节点获取到所述路由维护数据包,则发送路由维护确认数据包给所述源节点,所述路由维护确认数据包包括所述源节点地址参数。举例说明,通过步骤s320-s330的过程转发的路由维护数据包会一直转发到目的节点(中继器),目的节点(中继器)收到路由维护数据包后,则立即发送一个路由维护确认数据包给源节点,以通知源节点目前路由路径正常可用。该路由维护确认数据包的格式如下:对于结构1)的数据包格式:包头id9源节点地址矩阵a11源节点地址矩阵a21对于结构2)的数据包格式:包头id9源节点地址矩阵r源节点地址矩阵θ其中,id9为用于示出该目的节点通知所述源节点该路由维护已确认的包头信息。若路由路径中有一个节点不工作或损坏,则它将不会再转发路由维护请求数据包,这样数据包也不会到达目的节点(中继器),源节点等待一段时间后,如果没有收到从目的节点(中继器)发出的路由维护确认数据包,则源节点认为它的路由路径已经出现故障,需要重新建立新的路由信息,通过步骤s210-s230重新建立源节点的路由信息和路由路径。本发明第三实施例提供的路由维护方法,通过传送带有地址矩阵中地址参数的路由维护请求数据包查询路由节点状态,收到该包的节点会解析数据包id以及其中的地址矩阵信息来判断是否要查询,确认后查询其作为路由路径中间节点的状态,如果正常将转发该路由维护请求数据包。本发明第四实施例还提供一种mesh网络节点的地址管理装置,所述地址管理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现步骤s110-s120所述的mesh网络节点的地址管理方法。本发明第五实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令使得机器执行步骤s110-s120所述的mesh网络节点的地址管理方法。本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1