一种传感器网络监听系统、监听器及故障分析终端
技术领域
本发明涉及通信技术领域,更具体地说,涉及一种传感器网络监听系统、监听器及故障分析终端。
背景技术
传感器网络是由大量部署在作用区域内的、具有无线通信与计算能力的微小传感器节点通过自组织方式构成的能根据环境自主完成指定任务的分布式智能化网络系统,随着物联网的不断发展传感器网络也在不断的扩大,传感器网络的组成部分——传感器节点的数量也在不断增加。若具有庞大数量传感器节点的传感器网络发生故障,但是仅按照现有的故障监听方法对传感器网络中所有的的传感器节点进行监听,将会耗费大量的人力物力资源,且将会耗费许多无效的监听时间从而降低故障检测的效率。
发明内容
本发明的主要目的在于提供一种传感器网络监听系统、监听器及故障分析终端,旨在解决现有传感器网络的故障监听方法效率低下且能消耗人力物力资源多的问题。
为实现上述目的,本发明提供一种传感器网络监听系统,该监听系统包括:监听器和故障分析终端;监听器具有预设监听区域;
监听器用于获取传感器网络与预设监听区域重叠的区域中,处于工作状态的传感器节点所采用的信道,并基于信道的数量确定目标信道;
监听器还用于获取采用目标信道进行通信的传感器节点的地址,并基于传感器节点的地址,发送数据包获取指令至传感器节点,数据包获取指令用于指示传感器节点反馈传输的数据包;
监听器还用于接收传感器节点反馈的数据包,并将数据包发送至故障分析终端;
故障分析终端用于解析传感器节点反馈的数据包获得传感器网络的故障情况。
可选的,基于信道的数量确定目标信道包括:
当信道的数量小于预设信道数量阈值时,监听器从信道中确定一个目标信道;
当信道的数量大于或等于预设信道数量阈值时,监听器从信道中确定N个目标信道,N为大于1的正整数。
可选的,当信道的数量小于预设信道数量阈值时,监听器从信道中确定一个目标信道包括:
当信道的数量小于预设信道数量阈值时,监听器检测采用各个信道的传感器节点的数量,确定传感器节点的数量最大的信道为目标信道。
可选的,当信道的数量大于或等于预设信道数量阈值时,监听器从信道中确定N个目标信道包括:
当信道的数量大于或等于预设信道数量阈值时,监听器检测采用各个信道的传感器节点的数量,按照传感器节点的数量从大到小的顺序对各信道进行排序,将前N个信道确定为N个目标信道,并将传感器节点的数量最大的信道确定为第一个目标信道;
或,当信道的数量大于或等于预设信道数量阈值时,监听器将信道按照信道编号的从大到小进行排序,将前N个信道确定为N个目标信道,并将信道编号最大的信道确定为第一个目标信道;
或,当信道的数量大于或等于预设信道数量阈值时,监听器将信道按照信道编号的从小到大进行排序,将前N个信道确定为N个目标信道;信道编号最小的信道为第一个目标信道。
可选的,工作状态为发送状态或接收状态,传感器节点反馈的数据包包括:处于发送状态的传感器节点在预设时间段内所发送的数据包,和处于接收状态的传感器节点在预设时间段内所接收的数据包。
可选的,在监听器接收到传感器节点反馈的数据包之后,若在已接收的数据包中,存在符合预设条件的目标数据包时,则监听器还用于按照预设比例扩大预设监听区域得到新的预设监听区域;符合预设条件是指已接收的数据包中,不存在与目标数据包具有相同内容的数据包;
监听器还用于获取传感器网络与新的预设监听区域重叠的区域中处于工作状态的传感器节点的地址,并基于传感器节点的地址,发送数据包获取指令至传感器节点,以及接收传感器节点反馈的数据包,并将数据包发送至故障分析终端。
进一步的,本发明还提供了一种监听器,该监听器用于监听传感器网络并与故障分析终端通信,监听器包括第一处理器、第一存储器、第一通信单元及通信总线;
通信总线用于实现第一处理器、第一存储器以及第一通信单元之间的连接通信;
第一通信单元用于发送数据包获取指令以及接收传感器网络中传感器节点传输的数据包;
第一处理器用于执行第一存储器中存储的一个或者多个程序,以实现:
获取传感器网络与预设监听区域重叠的区域中,处于工作状态的传感器节点所采用的信道,并基于信道的数量确定目标信道;
获取采用目标信道进行通信的传感器节点的地址,并基于传感器节点的地址,发送数据包获取指令至传感器节点,数据包获取指令用于指示传感器节点反馈传输的数据包;
接收传感器节点反馈的数据包,并将数据包发送至故障分析终端。
进一步的,本发明还提供了一种故障分析终端,该故障分析终端包括第二处理器、第二存储器、第二通信单元及通信总线;
通信总线用于实现第一处理器、第一存储器以及第二通信单元之间的连接通信;
第二通信单元用于发送数据包获取指令以及接收传感器节点传输的数据包;
第一处理器用于执行第一存储器中存储的一个或者多个程序,以实现接收监听器发送的数据包,并解析数据包获得传感器网络的故障情况。
有益效果
本发明提供一种传感器网络监听系统、监听器及故障分析终端,该监听系统包括监听器和故障分析终端,监听器用于获取传感器网络与预设监听区域重叠的区域中,处于工作状态的传感器节点之间采用目标信道进行传输的数据包,并将数据包发送至故障分析终端,由故障分析终端解析数据包获得传感器网络的故障情况。由于本发明提供的监听系统是对监听器预设监听区域覆盖到的、传感器网络中的传感器节点进行监听,因此避免了现有的对传感器网络中所有传感器节点进行监听而带来的耗费大量人力物力资源的问题;另外,在本发明提供的监听系统中,监听器监听的是传感器网络中采用目标信道进行通信的传感器节点,与现有的监听方法相比,本监听系统能够不耗费无效的时间监听采用目标信道以外信道进行通信的传感器节点,从而提高传感器网络监听系统的监听效率,进一步提高传感器网络的故障检测的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种传感器网络的监听系统结构示意图;
图2为本发明实施例提供的一种监听器的结构示意图;
图3为本发明实施例提供的一种故障分析终端的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本实施例提供的传感器网络监听系统包括监听器和故障分析终端,其中监听器具有以监听器为中心,一定距离为半径的预设监听区域,在应用过程中该处的预设监听区域为50m。当监听器处于工作状态时,其用于获取传感器网络与预设监听区域重叠的区域中,处于工作状态的传感器节点所采用的信道,并基于信道的数量确定目标信道。
需要理解的是,本文中的传感器网络是指由至少两个传感器节点组成的网络,传感器网络中的传感器节点具有四种状态,包括接收状态、发送状态、空闲状态以及睡眠状态,在一些示例下处于工作状态的传感器节点则是指代处于接收状态或发送状态的传感器节点。处于工作状态的传感器节点将在不同频段进行通信,即处于工作状态的传感器节点将采用不同的信道进行通信,此时监听器将能检测并获取处于工作状态的传感器节点所采用的信道,并从中得到被采用的信道的信道数量,进一步的基于信道的数量确定目标信道。需要了解的是,此处的目标信道是指监听器进行监听的信道,即监听器监听的是采用某一或某些信道进行通信的传感器节点,此时该被采用的某一或某些信道即为目标信道。
为提高监听效率,当传感器网络中被采用的信道较多,则可从这多个信道中确定多个目标信道,并对这多个目标信道进行轮询监听以提高效率;当传感器网络中被采用的信道较少时,此时可以从这多个信道中确定一个目标信道进行监听,以实现减少监听器的功耗的目的。具体是确定一个目标信道还是多个目标信道,可以通过将信道的数量与预设信道数量阈值进行比较,当信道的数量小于预设信道数量阈值时,监听器从信道中确定一个目标信道;当信道的数量大于或等于预设信道数量阈值时,从信道中确定N个目标信道,此处N为大于1的正整数。
当信道的数量小于预设信道数量阈值时,监听器从信道中确定一个目标信道的步骤可通过以下方式实现:监听器检测采用各个信道的传感器节点的数量,确定传感器节点的数量最大的信道为目标信道。例如,预设信道数量为五,但是检测后得知该传感器网络中被采用的信道有三个,此时则从这三个信道中选择传感器节点的数量最大的信道为目标信道,当检测采用这三个信道进行通信的传感器节点的数量分别为20、10、32时,则将传感器节点的数量为32的信道都确定为目标信道。
当信道的数量大于或等于预设信道数量阈值时,监听器从信道中确定N个目标信道的步骤可通过以下三种方式实现,此处以第一种、第二种、第三种区分这三种方法,需要理解的是以“第n种”的方式进行介绍并不会在顺序上限定这三种方法。另一方面,预设信道数量阈值也可以理解为需确定的目标信道的数量。具体的,从信道中确定多个目标信道的三种方法分别为:
第一种:监听器检测采用各个信道的传感器节点的数量,按照传感器节点的数量从大到小的顺序对各信道进行排序,将前N个信道确定为N个目标信道,并将传感器节点的数量最大的信道确定为第一个目标信道。例如,预设信道数量为三,当检测后得知该传感器网络中被采用的信道有三个,采用这三个信道进行通信的传感器节点的数量分别为20、10、32时,则可以将传感器节点的数量为32、20的信道都确定为目标信道,具体的,是将传感器节点数量最大的、为32的信道确定为第一个目标信道。
第二种:监听器将检测到的信道按照信道编号的从大到小进行排序,将前N个信道确定为N个目标信道,并将信道编号最大的信道确定为第一个目标信道。例如,预设信道数量为二,当检测后得知该传感器网络中被采用的信道有三个,为1信道、3信道、8信道,此时则按照信道编号对信道进行从大到小排序,将前两个信道确定为目标信道,具体的,是将8信道、3信道分别确定为第一目标信道、第二目标信道。
第三种:当信道的数量大于或等于预设信道数量阈值时,监听器将信道按照信道编号的从小到大进行排序,将前N个信道确定为N个目标信道;信道编号最小的信道为第一个目标信道。例如,预设信道数量为二,当检测后得知该传感器网络中被采用的信道有三个,为1信道、3信道、8信道,此时则按照信道编号对信道进行从小到大排序,将前两个信道确定为目标信道,具体的,是将1信道、3信道分别确定为第一目标信道、第二目标信道。
当采用监听器对传感器网络进行监听时,监听器的监听范围将与传感器网路存在重叠的区域,此时获取该重叠的区域中采用目标信道进行通信的传感器节点的地址,并基于传感器节点的地址,发送数据包获取指令至对应地址的传感器节点。此处对传感器节点的地址进行介绍:传感器节点由传感单元(由传感器和模数转换功能模块组成)、处理单元(由嵌入式系统构成,包括CPU、第一存储器、嵌入式操作系统等)、第一通信单元(由无线通信模块组成)、以及电源部分组成,上述传感器节点的地址是指各个传感器节点的处理单元的MAC地址。需要理解的是,数据包获取指令是用于指示接收到该数据包获取指令的传感器节点反馈预设时间段内传输的数据包,此处“传输的数据包”是指处于发送状态的传感器节点在预设时间段内所发送的数据包,和处于接收状态的传感器节点在预设时间段内所接收的数据包。此处的预设时间段可以指监听器预先设置好的、当下时间节点开始进行监听的固定时间长度,若传感器网络存在故障,则根据该预设时间段监听得到的结果为传感器网络实时发生的故障;此处的预设时间段也可以指监听器预先设置好的、某个历史时间的固定时间长度,若传感器网络存在故障,则根据该预设时间段监听得到的结果为传感器网络某个历史时间发生的故障,需要理解的是,传感器节点会保存发送或收到的数据包一段时间,因此在传感器节点收到数据包获取指令后,将会把其保存的数据包按照指示反馈预设时间段内传输的数据包。
监听器还用于于接收传感器节点反馈的数据包,并将数据包发送至故障分析终端,故障分析终端在接收到传感器节点反馈的数据包之后,基于现有的决策树算法对数据包进行解析,得到传感器网络的故障情况。需要理解的是,此处接收数据包和解析数据包步骤的执行主体分别是监听器和故障分析终端,监听器用于监听传感器网络以及接收数据包,并将接收的数据包传输至故障分析终端;故障分析终端用于实现解析数据包得到传感器网络故障情况的步骤。
在本实施例另外的一些示例下,在监听器将数据包发送至故障分析终端之前,监听器还需要对数据包进行分析:若在已接收的数据包中,存在符合预设条件的目标数据包,则监听器还需要按照预设比例扩大预设监听区域得到新的预设监听区域,并获取传感器网络与新的预设监听区域重叠的区域中,处于工作状态的传感器节点所采用的信道,即之后监听器将根据扩大后预设监听区域,继续对传感器网络进行监听。
需要了解的是,处于发送状态的传感器节点所发送的数据包与处于接收状态的传感器节点所接收的数据包在数据包的内容上是相同的;若在已接收的数据包中,存在一个数据包,其没有相同数据包内容的数据包时,则可判断监听器的预设监听区域还未将传感器网络中,采用该信道进行通信的传感器节点覆盖完全,因此需要将预设监听区域按照预设比例扩大,得到新的预设监听区域。此步骤中的“符合预设条件”是指在已接收的数据包中,不存在与目标数据包具有相同内容的数据包,此处的目标数据包可以为处于发送状态的传感器节点所发送的数据包,也可以为处于接收状态的传感器节点所接收的数据包。
本实施例还提供了一种监听器,该监听器用于监听传感器网络,参见图2,其包括第一处理器、第一存储器、第一通信单元及通信总线;通信总线用于实现第一处理器、第一存储器以及第一通信单元之间的连接通信;第一通信单元用于发送数据包获取指令以及接收传感器网络中传感器节点传输的数据包;第一处理器用于执行第一存储器中存储的一个或者多个程序,以实现:
获取传感器网络与预设监听区域重叠的区域中,处于工作状态的传感器节点所采用的信道,并基于信道的数量确定目标信道;
获取采用目标信道进行通信的传感器节点的地址,并基于传感器节点的地址,发送数据包获取指令至传感器节点,数据包获取指令用于指示传感器节点反馈传输的数据包;
接收传感器节点反馈的数据包,并将数据包发送至故障分析终端。
在另一些示例下,工作状态为发送状态或接收状态,传感器节点反馈的数据包包括:处于发送状态的传感器节点在预设时间段内所发送的数据包,和处于接收状态的传感器节点在预设时间段内所接收的数据包。
在另一些示例下,监听器接收到传感器节点反馈的数据包之后,若在已接收的数据包中,存在符合预设条件的目标数据包时,则监听器还用于按照预设比例扩大预设监听区域得到新的预设监听区域;符合预设条件是指已接收的数据包中,不存在与目标数据包具有相同内容的数据包;
监听器还用于获取传感器网络与新的预设监听区域重叠的区域中处于工作状态的传感器节点的地址,并基于传感器节点的地址,发送数据包获取指令至传感器节点,以及接收传感器节点反馈的数据包,并将数据包发送至故障分析终端。
本实施例还提供了一种故障分析终端,参见图3其包括第二处理器、第二存储器、第二通信单元及通信总线;
通信总线用于实现第一处理器、第一存储器以及第二通信单元之间的连接通信;
第二通信单元用于发送数据包获取指令以及接收传感器节点传输的数据包;
第一处理器用于执行第一存储器中存储的一个或者多个程序,以实现接收监听器发送的数据包,并解析数据包获得传感器网络的故障情况。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以使用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述,同时,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。