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