一种无线传感器网络时间同步方法及系统与流程

文档序号:12134757阅读:327来源:国知局
一种无线传感器网络时间同步方法及系统与流程

本发明涉及无线通信领域,特别是涉及一种无线传感器网络时间同步方法及系统。



背景技术:

无线传感器网络由大量协同操作的微型多功能传感器(微型传感器节点),通过无线通信的方式形成的一个自组织网络系统。目前,无线传感器网络应用非常广泛,可用于环境监测,医疗研究等领域。广泛的应用使得无线传感器网络很难有一个固定明确的标准,大部分均是根据当前的环境,用途,规模来适时地调整。这也就对传感器处理终端和无线节点造成了技术挑战,既要适应多种环境,也要同时保证自身硬件的精准性、可靠性。

无线传感器网络各节点在数据传输时会进行时间同步,但各节点会受到诸如硬件寿命,通信干扰等因素的影响,使时间同步过程出现误差,从而对检测数据产生极大影响。无线传感器节点因为自带电池且容量有眼,使得时间同步技术在保证精准度的情况下,还要尽可能的减少能量消耗,目前还没有技术能同时满足以上两种情况。

基于仅接收端同步协议(Only Receive Synchronization,ROS)的ROS算法能量消耗极低,但是同步精度不高,并且多跳网络适应性差。



技术实现要素:

本发明的目的是提供一种无线传感器网络时间同步方法及系统,用以克服现有同步方法中时间同步精度低和多跳网络适应性差的问题。

为实现上述目的,本发明提供了如下方案:

一种无线传感器网络时间同步方法,包括:

构建多层无线传感器网络模型,所述无线传感器网络包括父节点、辅助节点和子节点;

根据终端服务器的时间对所述父节点的时间进行校正;所述终端服务器为所有无线传感器网络节点的汇聚节点;

获取所述辅助节点和所述父节点双向通信的时间同步信息,所述时间同步信息包括所述辅助节点发送的时间同步请求和所述父节点发送的时间同步响应信息;

根据所述时间同步信息,采用最大似然估计函数估计所述辅助节点与所述父节点的相对时间偏移;

根据所述辅助节点与所述父节点的相对时间偏移与所述父节点的时间对所述辅助节点的时间进行校正;

根据所述时间同步信息,采用最大似然估计函数估计所述子节点与所述辅助节点的相对时间偏移;

根据所述辅助节点与所述父节点的相对时间偏移和所述子节点与所述辅助节点的相对时间偏移计算所述子节点相对于所述父节点的相对时间偏移;

根据所述子节点相对于所述父节点的相对时间偏移与所述父节点的时间对所述子节点的时间进行校正。

可选的,所述构建多层无线传感器网络模型具体包括:

构建第一层网络:

随机选取任一无线传感器网络节点为父节点,所述父节点为这个无线传感器网络的主节点;

随机选取所述父节点通信范围内的两个节点为辅助节点,所述辅助节点在所述父节点的两侧;

选取所述父节点与所述辅助节点通信范围内的共有节点为子节点;

所述一个父节点、两个辅助节点和若干子节点构成第一层网络;

构建第2到N层网络,N≥2:

选取第N-1层网络的辅助节点或子节点中的任一节点作为第N层网络的父节点;

选取所述第N层网络的父节点的通信范围内的一个节点为第N层网络的辅助节点,所述第N层网络的辅助节点与第N-1层网络的父节点分别在所述第N层网络的父节点的两侧;

选取所述第N层网络的父节点与所述第N层网络的辅助节点通信范围内的共有节点为第N层网络的子节点;

所述一个父节点以及和所述一个父节点相对应的一个辅助节点和若干子节点构成第N层网络中一个单跳小网络,所述第N层网络包括若干单跳小网络。

可选的,所述选取所述第N层网络的父节点与所述第N层网络的辅助节点通信范围内的共有节点为第N层网络的子节点具体包括:

对于可同时接收到多个同层网络中的单跳小网络的节点信息的共有节点,判断所述多个单跳小网络的父节点的优先级是否相同,得到第一判断结果,所述优先级表示所述多个单跳小网络的父节点进行时间同步的先后顺序;

若所述第一判断结果表示所述多个单跳小网络的父节点的优先级不同,则所述共有节点加入优先级高的父节点所在的单跳小网络;

若所述第一判断结果表示所述多个单跳小网络的父节点的优先级相同,则判断所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间是否相同,得到第二判断结果;

若所述第二判断结果表示所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间不同,则所述共有节点加入最快接收到的信息所对应的父节点所在的单跳小网络。

一种无线传感器网络时间同步系统,包括:

模型构建模块,用于构建多层无线传感器网络模型,所述无线传感器网络包括父节点、辅助节点和子节点;

第一校正模块,用于根据终端服务器的时间对所述父节点的时间进行校正;所述终端服务器为所有无线传感器网络节点的汇聚节点;

获取模块,用于获取所述辅助节点和所述父节点双向通信的时间同步信息,所述时间同步信息包括所述辅助节点发送的时间同步请求和所述父节点发送的时间同步响应信息;

第一估计模块,用于根据所述时间同步信息,采用最大似然估计函数估计所述辅助节点与所述父节点的相对时间偏移;

第二校正模块,用于根据所述辅助节点与所述父节点的相对时间偏移与所述父节点的时间对所述辅助节点的时间进行校正;

第二估计模块,用于根据所述时间同步信息,采用最大似然估计函数估计子节点与所述辅助节点的相对时间偏移;

计算模块,用于根据所述辅助节点与所述父节点的相对时间偏移和所述子节点与所述辅助节点的相对时间偏移计算所述子节点相对于所述父节点的相对时间偏移;

第三校正模块,用于根据所述子节点相对于所述父节点的相对时间偏移与所述父节点的时间对所述子节点的时间进行校正。

可选的,所述模型构建模块具体包括:

第一层网络构建子模块,用于构建第一层网络,所说第一层网络包括一个父节点、两个辅助节点和若干子节点,具体包括:

第一父节点选取单元,用于随机选取任一无线传感器网络节点为父节点,所述父节点为这个无线传感器网络的主节点;

第一辅助节点选取单元,用于随机选取所述父节点通信范围内的两个节点为辅助节点,所述辅助节点在所述父节点的两侧;

第一子节点选取单元,选取所述父节点与所述辅助节点通信范围内的共有节点为子节点;

第2到N层网络构建子模块,N≥2,用于构建第2到N层网络,所述第N层网络包括若干单跳小网络,具体包括:

第二父节点选取单元,用于选取第N-1层网络的辅助节点或子节点中的任一节点作为第N层网络的父节点;

第二辅助节点选取单元,用于选取所述第N层网络的父节点的通信范围内的一个节点为第N层网络的辅助节点,所述第N层网络的辅助节点与第N-1层网络的父节点分别在所述第N层网络的父节点的两侧;

第二子节点选取单元,用于选取所述第N层网络的父节点与所述第N层网络的辅助节点通信范围内的共有节点为第N层网络的子节点;

单跳小网络构建单元,用于构建单跳小网络,所述单跳小网络包括一个父节点以及和所述一个父节点相对应的一个辅助节点和若干子节点构成。

可选的,所述第二子节点选取单元具体包括:

第一结果判断子单元,用于对于可同时接收到多个同层网络中的单跳小网络的节点信息的共有节点,判断所述多个单跳小网络的父节点的优先级是否相同,所述优先级表示所述多个单跳小网络的父节点进行时间同步的先后顺序;

第一加入子单元,用于若所述第一判断结果表示所述多个单跳小网络的父节点的优先级不同,则所述共有节点加入优先级高的父节点所在的单跳小网络;

第二结果判断子单元,若所述第一判断结果表示所述多个单跳小网络的父节点的优先级相同,则判断所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间是否相同;

第二加入子单元,用于若所述第二判断结果表示所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间不同,则所述共有节点加入最快接收到的信息所对应的父节点所在的单跳小网络。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

1、本发明构建多层无线传感器网络模型,主节点对应2个辅助节点,通过额外的辅助节点可以有效的提高算法的鲁棒性;网络中的子节点采用监听父节点和辅助节点的同步信息来进行时间同步,互相影响小;当父节点损坏或受到干扰时,节点还可以选择继续接收其它节点信息来完成时间同步,解决了多跳网络适应性差的问题。

2、本发明采用最大似然估计函数进行辅助节点和子节点的时间同步,很好的提高了时间精度,全网范围内除主节点以外,其它父节点只分配单一辅助节点,不会造成能量和资源的浪费,继承了原ROS算法低能耗的优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种无线传感器网络时间同步方法实施例的流程图;

图2为本发明多层无线传感器网络模型的结构图;

图3为本发明一种无线传感器网络时间同步方法的时间同步模型;

图4为本发明一种无线传感器网络时间同步系统实施例的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种无线传感器网络时间同步方法及系统,用以克服现有同步方法中时间同步精度低和多跳网络适应性差的问题。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明一种无线传感器网络时间同步方法实施例的流程图。如图1所示,一种无线传感器网络时间同步方法,包括:

步骤101,构建多层无线传感器网络模型,所述无线传感器网络包括父节点、辅助节点和子节点。如图2所示,构建多层无线传感器网络模型具体包括:

步骤1011,构建第一层网络:

选取任一无线传感器网络节点为父节点,所述父节点为这个无线传感器网络的主节点,整个无线传感器网络只有一个主节点。一般情况下,优先选取距离汇聚节点距离较近,与汇聚节点(相当于终端处理器)双向通信环境较好,周围环境稳定的节点为主节点。如选取节点1为父节点,节点1即为网络的主节点。

主节点1确定好后,向外发送数据信息以确定主节点的通信范围。范围内各个节点接收到信息包后向外发送带有自身唯一ID的节点统计信息,以选取主节点范围内具有第二多的连接数目的节点。各节点互相发送消息的同时也会接收到主节点范围内来自其它节点的统计信息,如果主节点通信范围外的节点接收到统计信息则忽略。范围内的节点记录并统计所有接收到的ID数量后将数量信息反馈回主节点,如节点2向外发送数据后会接收到节点3和节点4的统计信息,而节点3只会接收到节点2的统计信息。随后主节点根据接收到范围内节点的反馈统计信息,确认第二多连接数目的节点2作为辅助节点。选取父节点1与辅助节点2通信范围内的共有节点3和4为子节点。至此完成小范围内的单跳网络构建,即节点1-4组成的小型同步网络。

因为无线传感器网络的空间性,节点1与节点2仅能同步主节点一侧的部分节点,所以一定会有一个与节点2近似对称的节点,如节点5,主节点1另一侧的节点17和节点18可与节点1和节点5组成另一单跳网络,作为节点2的同级别补充。

综上所述,一个父节点1、两个辅助节点2和5和子节点3、4、17和18构成第一层网络。

步骤1012,构建第2到N层网络,N≥2:

选取第一层网络的辅助节点2和5或子节点3、4、17和18中的任一节点作为第2层网络的一个父节点;以节点2为例,此时节点2为第二层网络的一个父节点。

选取所述第一层网络的父节点的通信范围内的一个节点为第二层网络的辅助节点,所述第二层网络的辅助节点与第一层网络的父节点分别在所述第二层网络的父节点的两侧。如选取节点12为节点2的辅助节点,节点12和节点1分别在节点2的两侧。

选取所述第二层网络的父节点与所述第二层网络的辅助节点通信范围内的共有节点为第二层网络的子节点。如选取节点2和节点12通信范围内的节点10、11、13为子节点,则节点2、12、10、11、13构成第二层网络的一个单跳小网络。根据上述方法,节点3、8、6、7和9构成一个单跳小网络,节点4、15、14和16构成一个单跳小网络。

随后二层网络的辅助节点和子节点分别作为主节点继续向外辐射,组成自己的三层网络。最终使全网范围的所有节点都有自己的父节点,完成全网的拓扑构建。

对于可同时接收到多个同层网络中的单跳小网络的节点信息的共有节点,判断所述多个单跳小网络的父节点的优先级是否相同,得到第一判断结果,所述优先级表示所述多个单跳小网络的父节点进行时间同步的先后顺序,同层网络的辅助节点的优先级高于子节点的优先级。

若所述第一判断结果表示所述多个单跳小网络的父节点的优先级不同,则所述共有节点加入优先级高的父节点所在的单跳小网络。假设节点13分别处在节点2和节点4所在两个二层网络中,即节点13可分别接收到节点2与节点12,节点4和节点15的这两对的双向同步信息。但节点2的级别比节点4高,节点2作为辅助节点与主节点直接通信,时间精度要高于仅通过被动接收来同步的节点4的精度,因此将节点13划分到节点2所在的单跳网络。节点13将接收到的来自节点4和节点15的消息抛弃。

若所述第一判断结果表示所述多个单跳小网络的父节点的优先级相同,则判断所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间是否相同,得到第二判断结果;

若所述第二判断结果表示所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间不同,则所述共有节点加入最快接收到的信息所对应的父节点所在的单跳小网络。即如果单一子节点可同时接收到两个同层级别的单跳网络的节点信息,则选择最快接收的那一对节点的单跳网络作为同步网络。节点间距离近则传输速度快,但并不绝对,如遇到较强干扰或通信不稳定则可能使同步无法完成,而最快接收则意味着信号的传播时间短,受到干扰小。因此子节点优先选择传输最快即传输时间最短的父节点所在网络作为自己的单跳网络。

步骤102,根据终端服务器的时间对所述父节点的时间进行校正;所述终端服务器为所有无线传感器网络节点的汇聚节点。

步骤103,获取所述辅助节点和所述父节点双向通信的时间同步信息,所述时间同步信息包括所述辅助节点发送的时间同步请求和所述父节点发送的时间同步响应信息。

步骤104,根据所述时间同步信息,采用最大似然估计函数估计所述辅助节点与所述父节点的相对时间偏移。

步骤105,根据所述辅助节点与所述父节点的相对时间偏移与所述父节点的时间对所述辅助节点的时间进行校正。

步骤106,根据所述时间同步信息,采用最大似然估计函数估计所述子节点与所述辅助节点的相对时间偏移。

步骤107,根据所述辅助节点与所述父节点的相对时间偏移和所述子节点与所述辅助节点的相对时间偏移计算所述子节点相对于所述父节点的相对时间偏移。

步骤108,根据所述子节点相对于所述父节点的相对时间偏移与所述父节点的时间对所述子节点的时间进行校正。

图4为本发明一种无线传感器网络时间同步方法的时间同步模型。如图4所示,节点P为主节点(父节点,对应图2节点1),节点A为辅助节点(对应图2节点2),节点B为子节点(对应图2节点3)。节点P与A进行双向通信,节点B通过监听来获得P与A的通信信息包。

(1)对于P-A节点,与表示节点A发送信息的时间点和A接收到P返回信息的时间点,和为节点P接收到信息的时间点和向A发送信息的时间点。点A在时刻向节点P发送一组数据,节点P于时刻接收了此数据包,并解析了数据包内的时间标志随后节点P的硬件层将数据处理后于时刻重新发送回节点A,此时数据包内分别携带的时间标识。最后节点A在时刻接收到节点P传回的数据包,并且解析了数据包内的前三个时间标志。

其中为第i轮同步的双向通信时间点,d为固定延迟,为节点A与P间的相对时钟偏移,Xi为A到P的传输随机延迟,Yi为P到A的传输随机延迟,Xi,Yi,d为未知量,其余参数为已知。

首先,Xi与Yi独立服从于均值为a的指数分布(相关文献已证明随机延迟可用独立的指数分布来表示)。则:

因为Xi≥0,Yi≥0,所以根据公式(3)与公式(4)可以得到基于最大似然估计的似然函数:

其中,以d和分别为坐标轴的横坐标和纵坐标,建立坐标系,则直线与的交点为:

直线交点W的横坐标为d的最大值,即d的取值范围为i次传输后存储空间中所有的最小值,为i次传输后存储空间中所有的最大值。根据最大似然估计函数性质,只要最小,则最大似然估计函数取最大,所以得到d的最大似然估计:

同时可得:

则将节点A的时间加上相对时钟偏移即可完成相对节点P的时间同步:TA为同步后的时间。

(2)对于子节点B与A-P节点的同步。在一个单跳网络中存在一个父节点P,一个辅助节点A和许多子节点,仅以子节点B来说,节点B在和的时刻分别监听到节点A和节点P的通信信息。与节点A和节点P双向同步类似:

由公式(8)、公式(9)和公式(10)可得:

其中,d为固定延迟,为节点B与P间的相对时钟偏移,为节点A与B间的相对时钟偏移,XB,i为A到B的传输随机延迟,YB,i为P到B的传输随机延迟,XB,i,YB,i,为未知量,d为第i-1次(当前周期的上一同步周期)同步周期根据公式(6)估算得出,并被携带在辅助节点A第i次的信息包中,由节点B接收到。同理,为第i-1次(当前周期的上一同步周期)同步周期根据公式(7)估算得出。其余参数为已知。XB,i与YB,i独立服从于均值为a的指数分布,则:

因为XB,i≥0,YB,i≥0,所以根据公式(12)和公式(13)可以得到基于最大似然估计的似然函数:

其中,

当取最小值时,最大似然估计函数取最大值,其中d和已由公式(6)和公式(7)估算得出,为已知量,仅为未知量。因此,当取最大值,时,似然函数取最大值。由公式(10)知则将节点B的时间加上相对时钟偏移即可完成相对父节点P的时间同步:

TB为节点B同步后的时间。

图4为本发明一种无线传感器网络时间同步系统实施例的流程图。如图4所示,一种无线传感器网络时间同步系统,包括:

模型构建模块201,用于构建多层无线传感器网络模型,所述无线传感器网络包括父节点、辅助节点和子节点。所述模型构建模块具体包括:

第一层网络构建子模块2011,用于构建第一层网络,所说第一层网络包括一个父节点、两个辅助节点和若干子节点,具体包括:

第一父节点选取单元,用于随机选取任一无线传感器网络节点为父节点,所述父节点为这个无线传感器网络的主节点;

第一辅助节点选取单元,用于随机选取所述父节点通信范围内的两个节点为辅助节点,所述辅助节点在所述父节点的两侧;

第一子节点选取单元,选取所述父节点与所述辅助节点通信范围内的共有节点为子节点;

第2到N层网络构建子模块2012,N≥2,用于构建第2到N层网络,所述第N层网络包括若干单跳小网络,具体包括:

第二父节点选取单元,用于选取第N-1层网络的辅助节点或子节点中的任一节点作为第N层网络的父节点;

第二辅助节点选取单元,用于选取所述第N层网络的父节点的通信范围内的一个节点为第N层网络的辅助节点,所述第N层网络的辅助节点与第N-1层网络的父节点分别在所述第N层网络的父节点的两侧;

第二子节点选取单元,用于选取所述第N层网络的父节点与所述第N层网络的辅助节点通信范围内的共有节点为第N层网络的子节点。所述第二子节点选取单元具体包括:

第一结果判断子单元,用于对于可同时接收到多个同层网络中的单跳小网络的节点信息的共有节点,判断所述多个单跳小网络的父节点的优先级是否相同,所述优先级表示所述多个单跳小网络的父节点进行时间同步的先后顺序;

第一加入子单元,用于若所述第一判断结果表示所述多个单跳小网络的父节点的优先级不同,则所述共有节点加入优先级高的父节点所在的单跳小网络;

第二结果判断子单元,若所述第一判断结果表示所述多个单跳小网络的父节点的优先级相同,则判断所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间是否相同;

第二加入子单元,用于若所述第二判断结果表示所述共有节点接收到多个同层网络中的单跳小网络的父节点发送的信息的时间不同,则所述共有节点加入最快接收到的信息所对应的父节点所在的单跳小网络。

单跳小网络构建单元,用于构建单跳小网络,所述单跳小网络包括一个父节点以及和所述一个父节点相对应的一个辅助节点和若干子节点构成。

第一校正模块202,用于根据终端服务器的时间对所述父节点的时间进行校正;所述终端服务器为所有无线传感器网络节点的汇聚节点。

获取模块203,用于获取所述辅助节点和所述父节点双向通信的时间同步信息,所述时间同步信息包括所述辅助节点发送的时间同步请求和所述父节点发送的时间同步响应信息。

第一估计模块204,用于根据所述时间同步信息,采用最大似然估计函数估计所述辅助节点与所述父节点的相对时间偏移。

第二校正模块205,用于根据所述辅助节点与所述父节点的相对时间偏移与所述父节点的时间对所述辅助节点的时间进行校正。

第二估计模块206,用于根据所述时间同步信息,采用最大似然估计函数估计子节点与所述辅助节点的相对时间偏移。

计算模块207,用于根据所述辅助节点与所述父节点的相对时间偏移和所述子节点与所述辅助节点的相对时间偏移计算所述子节点相对于所述父节点的相对时间偏移。

第三校正模块208,用于根据所述子节点相对于所述父节点的相对时间偏移与所述父节点的时间对所述子节点的时间进行校正。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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