基于即时路由的无线自组网方法及装置与流程

文档序号:12380215阅读:254来源:国知局
基于即时路由的无线自组网方法及装置与流程

本发明涉及无线传感器网络技术领域,尤其涉及基于即时路由的无线自组网方法及装置。



背景技术:

无线传感器自组网过程中,所有节点都有同等地位,都承担着主机和路由器的功能,每个节点都具备报文的收发能力。受通信距离的限制,当节点距离较远时,可通过中间节点的转发功能实现通信。传统的路由协议,如Zigbee、RPL、GWBZ和静态路由等,在数据受到干扰时,都要重新寻找路由,然后由源地址对数据进行重发,这些技术可以使用在对功耗没有特殊要求的场合下。为了降低能耗,避免数据从源端重发,同时结合静态路由的优点,将路由信息封装进IP地址编码内部,从而节省额外的路由表存储,这种路由技术被称为即时路由技术。

传统的自组网方法都要额外地存储路由表,当目标地址不可达时,要根据存储的路由表重新计算路径,然后由源地址主机重新发送数据。虽然其能实现动态更新路径,从而保证数据传送的可靠性,但是其存在明显的不足,数据重发的次数过多会极大地消耗能量,特别地,在电池供电的低功耗场合下,该方法不适用。其中,通过自学习来获得网络的方法,其学习时间受网络规模影响,规模稍大一些其处理过程比较长,无法快速组网,不便调试,无法满足实际的工程需求。

在传统的组网方法中从未对原始数据如何取获和地址如何分配进行详细地说明,理论公式繁多,众多模型仅是通过计算机模拟就得出结论,仅在理论的理想情况下可行,难以应用到实际中去,对工程指导意义并不大。

更有一些路由技术,仅给出了路由的思想,对组网部分并没有涉及,其实验数据是通过人工组网的方式获取的,虽然其有较好的通信效果和较高的抗干扰能力,但其网络组建由人工组网的方式完成,导致无法推广。



技术实现要素:

本发明提供一种至少部分解决上述技术问题的基于即时路由的无线自组网方法及装置。

第一方面,本发明提供一种基于即时路由的无线自组网方法,包括如下步骤:

S10:构建树型网络:将无线传感器网络中上层节点的所有邻居作为下一层网络节点,下一层网络节点以其上一层节点中场强最大的节点为主节点,构成一个以最大场强值进行连接的树型网络,同时收集到整个网络的邻居列表;

S20:网络优化:对所述树型网络进行网络冗余优化,使一个节点与主节点之间存在多条通信路径。

优选的,步骤S10中所述树型网络的构建过程如下:

S100:主节点发送网络唤醒帧唤醒网络中的所有节点;

S110:主节点发组网信标,收到所述组网信标的节点将数据源地址和接收场强记录到邻居列表并转发组网信标;

S120:主节点对邻居列表中的节点按接收场强由大到小排序,将排序中前面预设数量的节点划分为第一层,并为第一层节点计算和分配IP;

S130:收集已分配IP的节点上的邻居列表,并整理得到其下一层网络节点;

S140:判断是否有新节点未分配IP,若是,则继续下一步;若否,则结束;

S150:对每个下层节点都从场强中找到场强最大的连接关系作为IP分配依据,并计算对应IP;

S160:主节点通过网络层指令为对应的节点分配IP,返回步骤S130。

优选的,步骤S20中所述网络冗余优化的过程如下:

S200:读取整个网络的邻居列表,以其场强值构建矩阵;

S210:场强最小化处理,每两个节点中,各节点均记录对方的场强,取两个场强中的较小值;

S220:场强阈值化处理,将低于预设阈值的场强强制清除为0;

S230:划分网络层次,将各节点分配至不同的网络层;

S240:计算最佳通信路径,在该通信路径上,各节点与上层网络的通信链路中,节点的场强最强;

S250:通过网络成簇计算,增加通信冗余路径;

S260:按分配规则计算IP,并逐个节点分配IP。

优选的,步骤S120中所述第一层节点不超过14个,多余的划分到下一层。

优选的,步骤S210中所述场强最小化处理的过程如下:

任意两个节点之间双向通信时,每个节点均取接收场强的最小值,构建对称的场强方阵,所述场强方阵中,不在所述邻居列表中的节点表示为0。

优选的,步骤S220中所述场强阈值化处理的过程如下:

主节点层和其他层分别取不同的阈值对场强进行处理,将主节点层和其他层将低于相应预设阈值的场强强制清除为0。

优选的,步骤S230中所述划分网络层次的过程如下:

所述场强方阵中,采用统计方法,首先计算出每一行与上层节点的连接数,然后按统计的所述连接数由大到小排序,连接数为非0的行中的节点划分为本层网络的节点;

在排序完成之后,对所述场强方阵进行行列变换;

所述连接数为非0元素的数量。

优选的,步骤S240中所述计算最佳通信路径的过程如下:

计算每个节点的最佳上层通信节点,每个节点与所述最佳上层通信节点之间的路径为所述最佳通信路径;

所述最佳上层通信节点的获得过程如下:

从原始场强矩阵中取上层网络节点所在列、当前层网络节点所在行所构成的矩阵为组网矩阵,计算所述组网矩阵中每一行中各节点中场强最大的节点所在位置,该位置为列对应上层网络的一个节点,该节点为所述最佳上层通信节点。

优选的,步骤S250中网络成簇计算的过程如下:

将所述最佳通信路径上具有相同上层节点的所有节点进行与运算,在所述场强方阵的对应列上,只要有一个为0,则全部清除为0,从而产生多个上层节点分支簇;

对多个所述分支簇进行合并,将两个小簇合并为一个大簇,使各节点具有最大的可用连接数。

优选的,步骤S260中所述计算和分配IP的过程如下:

层与层之间自顶向下分配IP;

簇内部,将小号IP优先分配给连接数最多的节点,簇成员依次递增分支号得到IP。

第二方面,本发明还提供一种基于即时路由的无线自组网装置,包括:

树型网络构建单元,用于构建树型网络:将无线传感器网络中上层节点的所有邻居作为下一层网络节点,下一层网络节点以其上一层节点中场强最大的节点为主节点,构成一个以最大场强值进行连接的树型网络,同时收集到整个网络的邻居列表;

网络优化单元,用于网络优化:对所述树型网络进行网络冗余优化,使一个节点与主节点之间存在多条通信路径。

由上述技术方案可知,本发明基于即时路由的无线自组网方法及装置,使用即时路由技术,直接通过IP即可计算路由关系,避免了额外的路由表存储,适用于电池供电的低功耗场合;将组网过程分为2个阶段,第1阶段,按单一最强路径进行组网,目的是为了采集到所有节点的邻居列表,第2阶段,综合分析收集到的邻居信息,通过冗余技术保证网络的通信质量,避免以往组网方式局部化的局限性;优化过程中强制使用最小值和阈值处理的方法,将组网技术使用矩阵形式进行表达,为不同网络层次加入了不同的阈值条件,为避免收发不平衡问题,以最小场强值构造对称矩阵,保证计算得到的可用连接与实际相符,即通过此矩阵组建的网络,节点之间确实地可实现数据交互,避免由于无线场强收发不平衡对组网结果的影响;为了加速运算速度,在分层算法和成簇算法中加入了统计方法,用统计的结果进行排序,通过统计量排序的结果对矩阵施加行列变换,达到快速排列的目的,避免了多余的循环遍历;保留了最佳通信路径,通过成簇方法加入了冗余路径,在保证网络最佳通信路径的情况下,提高了网络的稳定性。

附图说明

图1是本发明一实施例提供的基于即时路由的无线自组网方法的流程图;

图2是图1中步骤S10的具体流程图;

图3是图1中步骤S20的具体流程图;

图4是即时路由的原理示意图;

图5是树型网络结构示意图;

图6是场强方阵示意图;

图7是双层网络的场强方阵示意图;

图8是最佳通信路径计算示意图;

图9是网络成簇计算示意图一;

图10是网络成簇计算示意图二;

图11是网络成簇计算示意图三;

图12是本发明一实施例提供的基于即时路由的无线自组网装置的原理框图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

与传统的路由技术不同,本发明中使用即时路由技术,将路由信息编码在IP地址内部,以减少路由表信息的存储。本发明使用6个字节长度(即12位16进制数)表示IP地址,一个IP地址由网络号和分支号组成,其中分支号为最后一个非0的16进制数据。其中000000000000表示主节点(或称根节点),FFFFFFFFFFFF表示广播地址。

图4中将所有的0都省略了,如9号节点,其IP地址显示为1131,实际IP是11 31 00 00 00 00,其网络号为113,分支号为1,表明其上层路由为113,再看113的网络号为11,即其上层路由为11,11的网络号为1,没有上层路由了,表示是第一层节点,可以直接与顶层通信,通信路径就找出来了,不需要存储路由表。

通过簇成员表达网络冗余信息,如4图中所示ABC三个节点具有相同的网络号,表示其是簇成员,簇成员可以通过上层簇成员与主节点进行通信。优先通过网络号对应的节点,如图4中5号节点,进行通信,当5号节点失效时,6号会替代5号成为路由节点。

为了采集到网络节点中的所有邻居信息,首先要将所有节点的邻居列表和对应的场强信息采集回来。实际网络中并无法保证所有的网络节点可以直接在MAC(Media Access Control,体访问控制)层上进行通信,如图4中所示,主节点仅可以直接和1、2、3号节点直接通信,无法直接通过MAC层指令收集到所有信息,若通过边采集边组织的方式进行组网,无法避免无线收发不平衡问题,得到的网络信息也是不全面的。因此,本发明将组网过程分为两个阶段,第一阶段,场强收集阶段,第二阶段,网络冗余优化阶段。

实施例1

图1是本发明一实施例提供的基于即时路由的无线自组网方法一个实施例的流程图。

如图1所示,本发明的基于即时路由的无线自组网方法,包括如下步骤:

S10:构建树型网络:将无线传感器网络中上层节点的所有邻居作为下一层网络节点,下一层网络节点以其上一层节点中场强最大的节点为主节点,构成一个以最大场强值进行连接的树型网络,同时收集到整个网络的邻居列表;

S20:网络优化:对所述树型网络进行网络冗余优化,使一个节点与主节点之间存在多条通信路径。

本发明使用即时路由技术,直接通过IP即可计算路由关系,避免了额外的路由表存储,适用于电池供电的低功耗场合;将组网过程分为2个阶段,第1阶段,按单一最强路径进行组网,目的是为了采集到所有节点的邻居列表,第2阶段,综合分析收集到的邻居信息,通过冗余技术保证网络的通信质量,避免以往组网方式局部化的局限性;优化过程中强制使用最小值和阈值处理的方法,将组网技术使用矩阵形式进行表达,为不同网络层次加入了不同的阈值条件,为避免收发不平衡问题,以最小场强值构造对称矩阵,保证计算得到的可用连接与实际相符,即通过此矩阵组建的网络,节点之间确实地可实现数据交互,避免由于无线场强收发不平衡对组网结果的影响;为了加速运算速度,在分层算法和成簇算法中加入了统计方法,用统计的结果进行排序,通过统计量排序的结果对矩阵施加行列变换,达到快速排列的目的,避免了多余的循环遍历;保留了最佳通信路径,通过成簇方法加入了冗余路径,在保证网络最佳通信路径的情况下,提高了网络的稳定性。

实施例2

如图2和图3所示,本发明的基于即时路由的无线自组网方法,将组网过程分为两个阶段,第一阶段,场强收集阶段,第二阶段,网络冗余优化阶段。

第一阶段按场强最强的路径进行路径规划,将网络划分为多个单一路径的连接形式,即以上层节点的所有邻居当作是下一层网络节点,下一层网络节点以其上一层节点中通信效果最好(或场强最大)的节点为主节点,最终构成一个以最大场强值进行连接的树型网络。

第一阶段具体包括如下步骤:

S100:主节点发送网络唤醒帧唤醒网络中的所有节点;

在本实施例中,主节点主动发送广播唤醒帧,将所有节点都唤醒,接收到唤醒帧的节点依次转发广播唤醒帧,发且转发一次,为提高抗干扰能力,随后紧跟一同步帧;主节点等待所有节点被唤醒,其等待时间与网络规模有关;

如图4所示,0号节点称为主节点,首先由0号节点发送唤醒指令,将所有节点唤醒,1、2、3节点会首先收到唤醒指令,然后,按自己的ID计算延时,转发唤醒指令;其他节点收到唤醒指令后也一样处理;

S110:主节点发组网信标,收到组网信标的节点将数据源地址和接收场强值记录到邻居列表并转发组网信标;

可以理解的是,主节点发送组网信标,接收到组网信标的节点,先将数据源地址和接收场强值记录到自己的邻居列表中,同时进行阈值处理,太小的直接去除;然后根据自己的ID计算出转发时间,修改源地址并转发组网信标,每个节点只转发一次;等待组网信标转发完毕,其等待时间与网络规模有关;

如图4所示,0号节点发送组网信标,接收到组网信标的所有节点都会转发一次组网信标,在MAC层更改数据源地址,同时记录接收到组网信标的源地址,并记录场强值,这个记录下来的信息称邻居列表;

S120:主节点对邻居列表中的节点按场强由大到小排序,将排序中前面预设数量的节点划分为第一层,并为第一层节点计算和分配IP;

可以理解的是,主节点对自身邻居列表中的节点按场强由大到小进行排序,并将排序中前面预设数量的节点划分为第1层,限定第1层节点个数不超过14个(即为小于等于14个),多余的划分到下一层,以避开0和F开头的地址,为第1层节点计算并分配IP地址;

如图4所示,0号节点邻居列表中包含1、2、3,此时通过MAC层指令分配节点1、2、3的IP地址为11,21,31;

S130:收集已分配IP的节点上的邻居列表,并整理得到其下一层网络节点;

S140:判断是否有新节点未分配IP,若是,则继续下一步;若否,则结束;

在本实施例中,采集IP地址分别为11、21、31的节点1、2、3的邻居列表,通过对比发现4、5、6、7、8等多个新节点(对应步骤S130-S140);

值得说明的是,此处的结束表示的是步骤S10的结束,即该步骤之后执行步骤S20。

S150:对每个下层节点都从场强中找到场强最大的连接关系作为IP分配依据,并计算对应IP;

S160:主节点通过网络层指令为对应的节点分配IP,返回步骤S130。

在本实施例中,其中与4、5、6节点通信的最强节点为1,因此分配4、5、6节点IP=111,121,131,而与7、8节点通信的最强节点为3,因此分配7、8节点IP=311,321(对应步骤S150-S160);

采集4、5、6、7、8节点的邻居列表发现新节点9、A、B、C、D、E、F(对应步骤S130-S140);

按最强连接关系分配IP,节点9、A、B、C、D、E、F的IP分别为9=1111,A=1211,B=1221,C=1231,D=3111,E=3121,F=3131(对应步骤S150-S160);

采集9、A、B、C、D、E、F节点的邻居列表,没有发现多余的节点,IP分配结束(对应步骤S130-S140);

此时以最佳场强值构建的树型网络组建完毕,如图4中右侧结构图所示,同时也收集到了整个网络的邻居列表;

第二阶段为网络冗余优化,由图4的树型网络可以看出,只要一个节点失效,那么挂载在其下方的节点会全部失效,这是由于使用最强通信链路时,过多地删除了可用的连接造成的,也是单一路径网络的弊端。因此,第二阶段的目的是:在保证最优路径可用的前提下保留尽可能多的扩展可用通信路径数,即一个节点尽可能存在多条与主节点通信的路径。

第二阶段包括如下步骤:

S200:读取整个网络的邻居列表,以其场强值构建矩阵;

第一阶段已经采集到了整个网络的邻居列表;

S210:场强最小化处理,每两个节点中,各节点均记录对方的场强,取两个场强中的较小值;

在本实施例中,以节点为单位,每个节点的邻居信息,占矩阵的一行,矩阵中只保留场强信息,所在的行和列对应实际节点,不在邻居列表中的以0补充,如图6所示;

由于无线网络中存在收发场强不平衡的问题,即在两个节点之间进行通信时,受节点安装位置和节点的天线指向等因素影响,相互接收到的场强值不一定是相同的,为此取两个接收场强的最小值,以保证其按此场强进行组网时,能正常通信。处理之后,得到的场强矩阵将是一个对称的场强方阵;

对邻居列表进行整理,每个节点一行,构建矩阵,如图6所示,自己对自己的场强写0或是FF;

S220:场强阈值化处理,将低于预设阈值的场强强制清除为0;

作为一种优选实施例,步骤S220中所述场强阈值化处理的过程如下:

主节点层和其他层分别取不同的阈值对场强进行处理,主节点层和其他层将低于相应预设阈值的场强强制清除为0。

可以理解的是,在实际应用中,由于不同的无线设备使用的天线不同,其接收到的场强也会不同,在本发明实施过程中,主节点与其他节点的天线不一致,为此,使用两个不同的阈值分别对主节点层和其他层的场强值进行处理,两种层下,均将小于相应阈值的场强值(表示当前所在行列对应的两个节点通信效果不佳)强制清除为0,否则,将场强值转换为通信系数;通信系数是对通信效果的一个评估,因为场强值与通信效果存在着一定的关系,也可以简单地直接使用场强值表示;

S230:划分网络层次,将各节点分配至不同的网络层;

作为一种优选实施例,步骤S230中所述划分网络层次的过程如下:

所述场强方阵中,采用统计方法,首先计算出每一行与上层节点的连接数,然后按统计的所述连接数由大到小排序,连接数为非0的行中的节点划分为本层网络的节点;

在排序完成之后,对所述场强方阵进行行列变换;

所述连接数为非0元素的数量。

在本实施例中,具体地,由于前面已经对场强进行了阈值处理,因此,层次划分时只要查看节点是否在上一层的邻居列表内即可;由于得到的矩阵是一个对称阵,按行进行处理或按列进行处理所得到的结果是一致的;在矩阵中的判别方式是,当前节点所在行,上层所有节点所在列上若出现了非0元素,那么当前节点可被分配在当前层,否则将节点置换到后面去;注意主节点不得与其他节点进行置换,且主节点必须在矩阵的第一行出现,即图6中所示第0行(即主节点)不得与其他行进行交换。

为了加快运算速度,引入统计方法,首先计算出每一行(除去已分层完的)与上层节点的连接数(即非0元素个数),然后按统计的连接数由大到小排序,连接数据非0的行(或节点)即为本层网络的节点;在排序完成之后,要将矩阵同时施加行列变换,以保证数据的一致性;如此循环,得到的矩阵的非0元素分布在主对角线的两侧;

如图7所示,主节点在第0层;先看第一行,这是主节点的邻居列表,其非0的元素所占的列都划到第1层网络里;

然后,统计第1层网络所占列上的各行非0元素,(除1层及以上的行列)并按其大小进行排序,将统计量非0对应的行(或列)代表的节点划分为第2层;

然后,统计第2层网络所占列上的各行非0元素,(除2层及以上的行列)按上述方式处理;其他层如是循环处理,直到所有节点处理完成。

S240:计算最佳通信路径,在该通信路径上,各节点与上层网络的通信链路中,节点的场强最强;

可以理解的是,为了保证节点的最佳通信路径能被保留下来,在分簇之前要计算出每个节点的最佳上层通信节点,尽可能保证在分簇之后这些最佳通信节点在簇之内,每个节点与上层都有一个最强的通信链路,通过这个链路组成的网络,即为最佳单链通信路径,即每个节点与所述最佳上层通信节点之间的路径为所述最佳通信路径;

所述最佳上层通信节点的获得过程如下:

从原始矩阵中抽取对应的组网矩阵,即取上层网络节点所在列、当前层网络节点所在行所构成的矩阵(组网矩阵)为簇成员划分的原始数据,计算组网矩阵中每一行(即每个节点)中的最大值的位置(即列对应上层网络的一个节点),该节点为所述最佳上层通信节点;

如图7所示,从第2层开始,取其与前一层网络的连接关系,作为选择依据,如图7中方框所示数据,即为图8所示的矩阵;在图8的矩阵每一行找到其最大值,此列对应上层网络的节点就是最佳通信路径;

S250:通过网络成簇计算,增加通信冗余路径;

可以理解的是,单链通信的最大缺陷就是可靠性差,当其中一个节点失效时,通过这个节点进行通信的所有节点都将失效,通过增加通信冗余路径来提高网络的可靠性。

成簇原则1:任意两个不同层级的簇成员之间可以相互通信,如图5中所示,5、6中任意一个节点可以和A、B、C中的任意一个节点通信;在集合上表示为公共(非0)子集的关系,在矩阵中,经过行变换和列变换之后(或提取簇成员所在行列),表现为一个非0元素构成的矩阵;

成簇原则2:簇与簇之间存在独立性,即任意两个簇之间不能有相互重叠的部分,若有相叠的部分,那么这重叠的节点只能分配给其中一个簇,而另一个簇对应元素要全部清0,其中,分配过程中使用最优化方法,这样分配到簇时,保证可用连接数最大;

先将最强链路(所述最佳通信路径)上具有相同上层节点的所有节点进行交集(或称与)运算,即保证不同层的簇成员之间可以实现两两通信,在矩阵上处理时,在对应的列(在所述场强方阵的对应列)上只要有一个为0,则全部清除为0;

经过上述处理之后会出现多个上层节点分支簇,接着将这些分支簇进行合并,即将两个小簇合并为一个大簇,合并的原则是保证各节点有最大的可用连接数,同时保证簇和簇之间相互独立,将问题转换为一个需求分配问题,即给定约束条件下求极值的最优化问题;

如图9所示,首先,构建小簇,先按成簇原则1最强路径公共关系合并网络,同时按成簇原则2进行处理,得到图9所示数据;

然后,合并簇,合并的原则是使用目标路径数量达到最大,转化为在给定条件下的最优化问题,实质是,在一些排列组合中取得一个路径最多的方案作为输出方案;

图10和图11分别给出了两种不同的成簇方法,其中图10的方法得到的路径大于图11,因此选择图10的方法进行组网,与非0元数所在列建立网络关系;即如图10所示,第1行与上层网络第1、3列成簇,2、3、7、10行与上层网络第4、6、10列成簇,4、5、6、8、9行与上层5、7、8、9列成簇;

对非成簇的,以网络号编写其顺序,成簇的按成员编号;

S260:按分配规则计算IP,并逐个节点分配IP;

分配规则具体包括:分配顺序,层与层之间自顶向下分配IP;簇内部,由于IP序号小的节点有优先转发权,因此将小号IP优先分配给连接数最多的节点,以保证较好的通信效果,如图4所示,由于A、B、C的最优路径都在5号节点上,因此分配小号IP111给5号节点,其簇成员依次递增分支号得到IP。

本发明中,场强阈值化处理部分,还可通过对转换函数的定义来实现不同的组网。如,使用二值化方法,即认为大于一定值时,通信正常,退化为对等网络的组网;若将场强与通信效果结合起来,认为场强越强的节点通信效果越好,其关系是一个非线性关系,然后将场强值转换为通信效果值,这种处理方法,将原来计算最大路径数转换为求取最大通信效果值,相当于为每个路径分配一定的通信分数,总分最高的认为效果最好。或是求取其失效因数,即为每条路径定义失效概率,通过计算最小失效因数以确定最佳网络结构。

图12是本发明一实施例提供的基于即时路由的无线自组网装置的原理框图。

如图12所示的一种基于即时路由的无线自组网装置,包括:

树型网络构建单元1211a,用于构建树型网络:将无线传感器网络中上层节点的所有邻居作为下一层网络节点,下一层网络节点以其上一层节点中场强最大的节点为主节点,构成一个以最大场强值进行连接的树型网络,同时收集到整个网络的邻居列表;

网络优化单元1211b:用于网络优化:对所述树型网络进行网络冗余优化,使一个节点与主节点之间存在多条通信路径。

由于本发明中的基于即时路由的无线自组网装置和基于即时路由的无线自组网方法是一一对应的,故在此不再详述该装置。

本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

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