一种传感器网络故障主动感知方法及系统与流程

文档序号:20765832发布日期:2020-05-15 18:54阅读:173来源:国知局
一种传感器网络故障主动感知方法及系统与流程

本公开涉及传感器网络、设备故障诊断领域,具体涉及一种传感器网络故障主动感知方法及系统。



背景技术:

在传统的无线传感器网络或者其他的层次型拓扑的传感器中,由于其网络分簇路由特性,簇头节点的能量损耗较快且无法补充,导致网络的寿命比正常的有线网络传输的传感器短,而且由于布设无线传感器网络节点的位置都是随机的,所以一般很难知道其固定位置,甚至由于分簇型网络的特性,某些分簇区域内部,节点大量损坏难以被检测并感知,从而导致恶性循环,使得整个网络的使用寿命进一步缩短,并且网络数据监测的可靠性降低,因此,需要提供一种方法,用于在这种分簇型的无线传感器网络拓扑环境中快速的感知节点的损坏情况,以方便维护人员和用户大致的了解当前无线传感器网络的故障率,以做出应对以提高数据监测质量和提升网络的使用寿命,在必要时,可以大致定位损坏区域以增加节点,以达到间接的修复网络感知通信的效果。



技术实现要素:

本公开提供一种传感器网络故障主动感知方法及系统,根据分簇后的节点生成的拓扑图构建簇区内的拓扑结构的多叉树,将各个簇头节点作为多叉树中各个子树的根节点,将普通节点作为各个子树的叶子节点,当多叉树中的各个子树的根节点与叶子节点进行通信时,各叶子节点以共识机制依次判定当前正在进行通信的叶子节点是否为故障节点,如果叶子节点是故障节点时,当前子树的根节点发送包括故障节点编号的消息到汇聚节点并传输到基站,同时标记故障节点并重新生成不含有故障节点的子树。

本公开的目的是针对上述问题,提供一种传感器网络故障主动感知方法及系统,具体包括以下步骤:

s100:初始化无线传感器网络并将网络进行分簇;

s200:根据分簇后的无线传感器网络节点生成的拓扑图构建簇区内的拓扑结构的多叉树,将各个簇头节点作为多叉树中各个子树的根节点,将普通节点作为各个子树的叶子节点;

s300:当多叉树中的各个子树的根节点与叶子节点进行通信时,各叶子节点以共识机制依次判定当前正在进行通信的叶子节点是否为故障节点;

s400:如果叶子节点是故障节点时,当前子树的根节点发送包括故障节点编号的消息到汇聚节点并传输到基站,同时标记故障节点并重新生成不含有故障节点的子树。

进一步地,在s100中,在一个固定区域中(例如100x80的区域)随机布置好无线传感器网络,通过leach算法或heed算法初始化无线传感器网络将网络进行分簇为层次结构,即分簇后的无线传感网络包括至少一个基站、一个或多个汇聚节点、一个或多个簇头节点、一个或多个普通节点。

进一步地,在s200中,所述多叉树为多叉树数据结构,多叉树的根节点为基站,根节点的下一级节点为汇聚节点;每个汇聚节点连接到多叉树中各个子树的根节点,子树的根节点即簇头节点,叶子节点为普通节点。

进一步地,在s200中,根据分簇后的节点生成的拓扑图构建簇区内的拓扑结构的多叉树的方法为:在初始状态下,各节点发射功率相同,定期广播自己的能量剩余消息,节点收到其他节点的能量剩余消息后,发送确认消息进行应答;发送节点可以根据收到的确认消息数量判断自己的邻居节点数量;所有普通节点和簇头节点都使用最大发射功率发射时形成的拓扑图,各个分簇中的每个普通节点以自己所邻近的最远通信节点来确定发射功率,节点根据自己的邻居节点数量判断是否需要改变发射功率:若邻居节点数大于最大值,则降低发射功率;若邻居节点数小于最小值,则提高发射功率;若邻居节点数介于最大值和最小值之间,则不调整发射功率;生成多叉树的方法包括rng(相关邻近图)、mst(最小生成树)、lmst(局部最小生成树)中任意一种。

进一步地,在s300中,各叶子节点以共识机制依次判定当前正在进行通信的叶子节点是否为故障节点的方法为:计算同一个簇区内所有的普通节点采集物理量(例如传感器节点采集的温度、湿度、压力等物理量数据)的平均值,所述共识机制的方法为当前普通节点采集的物理量的值大于平均值的0.8倍并小于平均值的1.25倍则判定当前普通节点不是故障节点,否则判定当前普通节点为故障节点。

进一步地,在s400中,重新生成不含有故障节点的子树的方法为:当多叉树的中的子树发现故障节点时,由当前子树包含的子树根节点和叶子节点通过包括rng、mst、lmst中任意一种方法生成多叉树的子树,该新生成的多叉树的子树不包括已经标记为故障节点的叶子节点。

本发明还提供了一种传感器网络故障主动感知系统,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:

网络初始化单元,用于初始化无线传感器网络并将网络进行分簇;

多叉树构建单元,用于根据分簇后的节点生成的拓扑图构建簇区内的拓扑结构的多叉树,将各个簇头节点作为多叉树中各个子树的根节点,将普通节点作为各个子树的叶子节点;

共识判定单元,用于当多叉树中的各个子树的根节点与叶子节点进行通信时,各叶子节点以共识机制依次判定当前正在进行通信的叶子节点是否为故障节点;

子树重建单元,用于如果叶子节点是故障节点时,当前子树的根节点发送包括故障节点编号的消息到汇聚节点并传输到基站,同时标记故障节点并重新生成不含有故障节点的子树。

本公开的有益效果为:本发明公开了一种传感器网络故障主动感知方法,以共识机制通过分簇簇区中形成的多叉树,提升了无线传感器网络中各个分区采集的数据质量的稳定性,由于判断故障区域限定于各个多叉树的子树中,故极大的减小了能源的耗损,相对于其他的全区域的故障感知排除故障节点的方法提升了网络存活时间,并且通过基站可以大致的了解哪些区域出现了故障节点,从而快速定位故障节点存在的区域。

附图说明

通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:

图1所示为本公开的一种传感器网络故障主动感知方法的流程图;

图2所示为本公开实施方式的一种传感器网络故障主动感知系统。

具体实施方式

以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

如图1所示为根据本公开的一种传感器网络故障主动感知方法的流程图,下面结合图1来阐述根据本公开的实施方式的方法。

本公开提出一种传感器网络故障主动感知方法,具体包括以下步骤:

s100:初始化无线传感器网络并将网络进行分簇;

s200:根据分簇后的无线传感器网络节点生成的拓扑图构建簇区内的拓扑结构的多叉树,将各个簇头节点作为多叉树中各个子树的根节点,将普通节点作为各个子树的叶子节点;

s300:当多叉树中的各个子树的根节点与叶子节点进行通信时,各叶子节点以共识机制依次判定当前正在进行通信的叶子节点是否为故障节点;

s400:如果叶子节点是故障节点时,当前子树的根节点发送包括故障节点编号的消息到汇聚节点并传输到基站,同时标记故障节点并重新生成不含有故障节点的子树。

进一步地,在s100中,在一个固定区域中(例如100x80的区域)随机布置好无线传感器网络,通过leach算法或heed算法初始化无线传感器网络将网络进行分簇为层次结构的拓扑网络,即分簇后的无线传感网络包括至少一个基站、一个或多个汇聚节点、一个或多个簇头节点、一个或多个普通节点。

进一步地,在s200中,所述多叉树为多叉树数据结构,多叉树的根节点为基站,根节点的下一级节点为汇聚节点;每个汇聚节点连接到多叉树中各个子树的根节点,子树的根节点即簇头节点,叶子节点为普通节点。

进一步地,在s200中,根据分簇后的节点生成的拓扑图构建簇区内的拓扑结构的多叉树的方法为:在初始状态下,各节点发射功率相同,定期广播自己的能量剩余消息,节点收到其他节点的能量剩余消息后,发送确认消息进行应答;发送节点可以根据收到的确认消息数量判断自己的邻居节点数量;所有普通节点和簇头节点都使用最大发射功率发射时形成的拓扑图,各个分簇中的每个普通节点以自己所邻近的最远通信节点来确定发射功率,节点根据自己的邻居节点数量判断是否需要改变发射功率:若邻居节点数大于最大值,则降低发射功率;若邻居节点数小于最小值,则提高发射功率;若邻居节点数介于最大值和最小值之间,则不调整发射功率;生成多叉树的方法包括rng(相关邻近图)、mst(最小生成树)、lmst(局部最小生成树)中任意一种。

进一步地,在s300中,各叶子节点以共识机制依次判定当前正在进行通信的叶子节点是否为故障节点的方法为:计算同一个簇区内所有的普通节点采集物理量(例如传感器节点采集的温度、湿度、压力等物理量数据)的平均值,所述共识机制的方法为当前普通节点采集的物理量的值大于平均值的0.8倍并小于平均值的1.25倍则判定当前普通节点不是故障节点,否则判定当前普通节点为故障节点。

进一步地,在s400中,重新生成不含有故障节点的子树的方法为:当多叉树的中的子树发现故障节点时,由当前子树包含的子树根节点和叶子节点通过包括rng、mst、lmst中任意一种方法生成多叉树的子树,该新生成的多叉树的子树不包括已经标记为故障节点的叶子节点。

本公开的实施例提供的一种传感器网络故障主动感知系统,如图2所示为本公开的一种传感器网络故障主动感知系统结构图,该实施例的一种传感器网络故障主动感知系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种传感器网络故障主动感知系统实施例中的步骤。

所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:

网络初始化单元,用于初始化无线传感器网络并将网络进行分簇;

多叉树构建单元,用于根据分簇后的节点生成的拓扑图构建簇区内的拓扑结构的多叉树,将各个簇头节点作为多叉树中各个子树的根节点,将普通节点作为各个子树的叶子节点;

共识判定单元,用于当多叉树中的各个子树的根节点与叶子节点进行通信时,各叶子节点以共识机制依次判定当前正在进行通信的叶子节点是否为故障节点;

子树重建单元,用于如果叶子节点是故障节点时,当前子树的根节点发送包括故障节点编号的消息到汇聚节点并传输到基站,同时标记故障节点并重新生成不含有故障节点的子树。

所述一种传感器网络故障主动感知系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种传感器网络故障主动感知系统可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种传感器网络故障主动感知系统的示例,并不构成对一种传感器网络故障主动感知系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种传感器网络故障主动感知系统还可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种传感器网络故障主动感知系统运行系统的控制中心,利用各种接口和线路连接整个一种传感器网络故障主动感知系统可运行系统的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种传感器网络故障主动感知系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

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