一种无线传感器网络一致性分布式时间同步方法与流程

文档序号:15626383发布日期:2018-10-09 23:04阅读:669来源:国知局

本发明涉及无线传感网技术领域,更具体地,涉及一种无线传感器网络一致性分布式时间同步方法。



背景技术:

时间同步技术对于任何分布式系统都是必须的。无线传感器网络是一种大规模的多跳自组织的分布式无线网络,其网络节点体积较小、功耗较低、工作区域分散,整个网络系统需要长时间持续工作。无线传感器网络的主要任务是完成对所在环境的实时监测。要完成这项任务,就必须实现全局网络或局部网络的时间同步。

目前国内外经典的分布式时间同步方法有ats,mts等,在这些算法中,所有节点通过周期性地与邻居节点交换时间戳并更新本地的逻辑时钟,最终使得所有节点的逻辑时钟均收敛至一个参考时钟。然而这些算法中,所有节点间都需要进行信息交互,使得能耗较大,收敛速度较慢。因此,近年来出现了基于分簇的分布式时间同步方法,其中以cmts算法为代表。

cmts算法是一种基于分簇的时间同步算法,算法将整个时间同步过程分为两部分,一部分是簇内时间同步,另一部分是簇间时间同步。cmts算法以簇头节点为发起节点,寻找整个无线传感器网络中的时钟最大值作为参考时钟,并使全网中所有节点的逻辑时钟同步到此时钟。这种算法需要网络中的所有节点进行多次的消息交互,分簇的层次结构并没有得到充分的利用。



技术实现要素:

为了克服背景技术所述的不足之处,本发明提供了一种基于分簇的分布式时间同步方法。该方法采用网关节点作为时间同步的发起节点,选取簇头节点和网关节点的集合中的最大时钟值作为全网的参考逻辑时钟,簇内节点只需要监听簇头节点周期性广播的同步消息即可实现同步。相比现有的其他技术,该方法在时间同步过程中可以大幅降低网络的能耗,缩短收敛时间。

为实现以上发明目的,采用的技术方案是:

一种无线传感器网络一致性分布式时间同步方法,包括以下步骤:

(a)初始化时,网络中所有节点的补偿参数为并设置网关节点的同步消息广播周期为t;

(b)当网关节点i的本地硬件时钟为周期t的正整数倍时,网关节点广播sync_req消息,消息中包含其中τi(t1)为节点i在绝对时间t1时刻的硬件时钟的读数;

(c)簇头节点j收到网关节点广播的sync_req消息后,记录消息中的参数值以及收到消息时的本地硬件时钟值τj(t1),并广播sync_rsp消息,消息中包含

(d)网关节点和簇内节点收到所有邻居簇头节点回复的sync_rsp消息后,记录消息中的参数值;

(e)如果网关节点对于邻居簇头节点j有一条最近的历史记录则通过式子计算αij并通过式子计算λi;

(f)如果λi>1,说明簇头节点j的逻辑时钟速率大于节点i的逻辑时钟速率,则令如果λi=1,说明节点j与节点i的逻辑时钟速率相等,则令如果λi<1,说明节点j的逻辑时钟速率小于节点i的逻辑时钟速率,则网关节点i不需要修改本地补偿参数,从而使得网关节点的逻辑时钟始终不小于节点j的逻辑时钟;

(g)网关节点i对其他邻居簇头节点重复步骤(e)和(f),从而使得网关节点i的逻辑时钟不小于所有的邻居簇头节点的逻辑时钟;

(h)网关节点i广播max_notify消息,消息中包含

(i)簇头节点j记录收到max_notify消息时的本地硬件时钟τj(t2),并令从而同步到网关节点i,并广播inter_notify消息,消息包含

(j)簇内节点k记录收到inter_notify消息时的本地硬件时钟τk(t2),无论簇内节点k的逻辑时钟是否大于簇头节点的逻辑时钟,都令从而同步到簇头节点j;

(k)重复步骤(b)~(j),最终达到全网中所有节点的逻辑时钟同步到所有簇头节点和网关节点集合中的最大时钟值的效果。

与现有技术相比,本发明的有益效果是:

1)不需全网所有节点参与同步参考时钟的竞选,只需选取网络中所有簇头节点和网关节点的集合中的最大时钟值作为参考时钟。为此,只有簇头节点和网关节点需要广播同步消息,簇内节点只需要监听簇头节点发送的同步消息即可完成全网的逻辑时钟同步。

2)同时,由于一个网关节点可能与多个簇头节点相邻,本方法在一个同步周期内可以完成多个簇的所有节点的时间同步,大大提高了参考时钟的传播速率,这大大降低了节点的能耗,缩短了时间同步过程的收敛时间,在大规模网络中,此优势尤为明显。

附图说明

图1为同步过程中的消息流程图。

图2为实施例对应的网络拓扑结构图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

以下结合附图和实施例对本发明做进一步的阐述。

实施例1

节点的硬件时钟模型:

τi(t)=αit+βi(1)

其中τi(t)为节点i在绝对时间t时刻的硬件时钟的读数,αi和βi分别为节点i的硬件时钟速率以及时钟偏移。尽管αi和βi不能够根据时间t计算出来,但是可以将节点i与另一个节点j的本地时钟进行比较,从而获得它们之间的时钟关系:

逻辑时钟模型:

节点i的硬件时钟可以转换成一个逻辑时钟值li(t),且逻辑时钟与硬件时钟成线性关系:

其中分别是逻辑时钟与硬件时钟的相对时钟速率和相对时钟偏移。

本发明提出的是一种无线传感器网络一致性分布式时间同步方法,相比现有的其他技术,该方法在时间同步过程中大幅降低了网络的能耗,缩短了收敛时间。

具体实施步骤:

如附图1、2所示,为了方便描述本实施例,本实施步骤仅以网关节点6及与其相邻的簇头节点(1,2,3)所在的簇为例说明本实施例,在宏观上看,网络中的其余节点在一个同步周期内几乎会同时执行以下步骤,从微观上看,由于不同网关节点的本地硬件时钟速率不同,不同网关节点开始执行以下步骤的时间略有差别。

(a)初始化时,网络中所有节点的补偿参数为并设置网关节点6的同步消息广播周期为t=0.5s;

(b)当网关节点6的本地硬件时钟为周期t的正整数倍时,广播sync_req消息,消息中包含这意味着节点6广播了本地的逻辑时钟;

(c)簇头节点(1,2,3)收到网关节点广播的sync_req消息后,分别记录收到消息时的本地硬件时钟值τ1(t1)、τ2(t1)、τ3(t1),并分别广播sync_rsp消息,消息中分别包含这意味着节点(1,2,3)将自身的逻辑时钟传递给了各自的邻居节点;

(d)网关节点6接收到节点(1,2,3)广播的sync_rsp消息后,分别记录同时,以节点1为簇头节点的簇内节点(15,16)记录以节点2为簇头节点的簇内节点10记录以节点3为簇头节点的簇内节点(9,11)记录

(e)如果网关节点6对于邻居簇头节点1有一条最近历史记录则通过式子计算α61并通过式子计算λ6;

(f)如果λ6>1,说明簇头节点1的逻辑时钟速率大于网关节点6的逻辑时钟速率,则令如果λ6=1,说明节点1和节点6的逻辑时钟速率相等,则令如果λ6<1,说明节点1的逻辑时钟速率小于节点6的逻辑时钟速率,节点6的补偿参数保持不变,从而使得节点6的逻辑时钟不小于节点1的逻辑时钟;

(g)网关节点6对其他邻居簇头节点(2,3)重复步骤(e)和(f),从而使得网关节点6的逻辑时钟不小于邻居簇头节点(1,2,3)的逻辑时钟;

(h)网关节点6广播max_notify消息,消息中包含

(i)簇头节点(1,2,3)分别记录收到max_notify消息时的本地硬件时钟,修改补偿参数使得本地逻辑时钟与网关节点6的逻辑时钟一致,并广播inter_notify消息,消息中分别包含

(j)簇内节点记录收到各自簇头节点广播的inter_notify消息时的本地硬件时钟,然后修改补偿参数使得本地逻辑时钟与各自簇头节点的逻辑时钟一致;

(k)重复步骤(b)~(j),最终达到全网中所有节点的逻辑时钟同步的效果。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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