CN110278048B - 一种基于分簇算法的分级Ad Hoc网络时间同步方法 - Google Patents

一种基于分簇算法的分级Ad Hoc网络时间同步方法 Download PDF

Info

Publication number
CN110278048B
CN110278048B CN201910336423.3A CN201910336423A CN110278048B CN 110278048 B CN110278048 B CN 110278048B CN 201910336423 A CN201910336423 A CN 201910336423A CN 110278048 B CN110278048 B CN 110278048B
Authority
CN
China
Prior art keywords
node
network
cluster
clock
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910336423.3A
Other languages
English (en)
Other versions
CN110278048A (zh
Inventor
王健
石广钊
顾薇雯
杨程竣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201910336423.3A priority Critical patent/CN110278048B/zh
Publication of CN110278048A publication Critical patent/CN110278048A/zh
Application granted granted Critical
Publication of CN110278048B publication Critical patent/CN110278048B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • H04W40/10Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提出一种基于分簇算法的分级Ad Hoc网络时间同步方法,该方法通过提出一种新的Ad Hoc网络分簇方法、以及采用新的IEEE1588最佳主时钟算法,将时间同步过程与分簇组网过程联系在一起,大大节约了两者所需消耗的带宽和能量。在最佳主时钟算法中以加权的形式考虑了节点移动、网络拓扑变化对于同步精度的影响,通过分簇分过程进行时间同步,使得该方法能够适用于规模较大的网络中。

Description

一种基于分簇算法的分级Ad Hoc网络时间同步方法
技术领域
本发明涉及无线通信技术领域中的分级Ad Hoc网络(也称无线自组织网络)领域,尤其是一种基于分簇算法的分级Ad Hoc网络时间同步方法。
背景技术
Ad Hoc网络是一种无中心自组织的多跳无线网络,它可不以任何固定设施为基础搭建临时性网络,Ad Hoc网络在无线传感器网络等场景下得到了广泛的应用。Ad Hoc网络可以说平面式的,也可以是分级式的,分级式Ad Hoc网络将网络划分为若干个簇,每个簇由一个簇头和多个普通节点组成。簇头之间的通信需要通过网关或分布式网关节点完成,簇头与网关组成高一级的网络,称为虚拟骨干网。通过对Ad Hoc网络进行分簇可增强网络的拓展性,提高网络性能,且时网络更易于管理。从节点能量、节点移动性、网络簇头数量以及安全性等方面出发,对于不同的要求可采用不同的分簇算法。
Ad Hoc网络采用分布式系统控制方式,为了满足实时业务的质量要求,需要对网络各个节点进行较高精度的时间同步。IEEE1588协议全称为“网络测量和控制系统的精密时钟同步协议标准”,简称PTP,是一种针对工业有线网提出的时间同步方案,理论上可达到亚微秒级别的同步精度,此外IEEE1588具有占用资源以及通信带宽很小、对于设备要求较低等优点。相比之下,更为常见的NTP时间同步精度只能达到毫秒级,而在无线网络中则只能达到及时毫秒级别的精度。由于Ad Hoc网络中节点通常使用电池供电,且节点成本不可过高,而GPS对于设备要求较高,且资源消耗较大,可见基于GPS的时间同步并不适用与AdHoc网络。
IEEE1588系统是一个分布式系统,同步系统稳定时同一通信信道上存在一个时间值被认为是最准确的时钟节点,即最佳主时钟。主时钟定期发送消息从而与其他时钟节点(从时钟)进行同步。系统使用最佳主时钟(BMC)算法选取最佳主时钟,即利用数据集比较算法比较两时钟精度差异并根据状态选择算法决定节点状态。
Ad Hoc网络中节点直接通信以多跳方式进行,且无线网络本身就具有传播路径不对称的特点,在Ad Hoc网络中使用IEEE1588时间同步,同步精度大大降低。此外Ad Hoc网络通常网络规模较大,且节点可能因为打开和关闭等进入或离开网络,以及节点部分可能具有较大的移动性,使得Ad Hoc网络难以得到较高的时间同步精度。当前还没有针对Ad Hoc网络的较好的时间同步方案,大多数方案同步精度较低,或不适用与实际应用场景。
发明内容
发明目的:为了弥补现有技术的空白,解决现有技术中分级Ad Hoc网络进行时间同步时由传播路径不对称、网络规模较大、网络拓扑结构变化较大、节点资源受限所导致的网络时间同步精度较低、占用资源较多等问题,本发明提出一种基于分簇算法的分级AdHoc网络时间同步方法,该方法通过以IEEE1588时间同步为基础提出新的Ad Hoc网络分簇方法和最佳主时钟方法,将分级网络的时间同步与网络的分簇关联起来,并分级进行时间同步,从而减小网络拓扑变化、网络规模较大等导致的同步精度低的问题。
技术方案:为实现上述目的,本发明提出以下技术方案:
一种基于分簇算法的分级Ad Hoc网络时间同步方法,包括步骤:
步骤1、将所述Ad Hoc网络划分为若干个簇,具体包括依次执行的步骤1.1至1.5:
步骤1.1、每个节点通过交互控制消息获取并计算得到自身的节点信息,所述节点信息包括:归一化的节点度数Hd、自身负移动性H′m、节点能量剩余值Hp以及本地时钟数据集比较结果Hc;其中,H′m越小,表示节点移动性越大,节点静止时,H′m=1;节点度数Hd即节点一跳邻居节点的数目;
步骤1.2、每个节点计算一个加权平均值以表示相应节点适合充当簇头的程度,节点加权平均值Γ的计算公式为:
Γ=ωdHdmH'mpHpcHc
其中,ωd、ωm、ωp、ωc分别为Hd、H′m、Hp、Hp的权值系数;
步骤1.3、各节点k将自身Γ值向邻居节点广播,并将自身加权平均值与一跳邻居节点比较,若节点s的Γ值大于周围节点,则节点s被选取作为簇头,s的一跳邻居节点成为s所在簇的成员节点,且不再参与簇头选举过程,但s的一跳邻居节点中权值最大的节点a的也作为簇头;
步骤1.4、簇头a的一跳邻居节点中未被分入任一簇的节点作为a所在簇的成员节点,且不再参与簇头选举过程;从簇头a的一跳邻居节点中选取权值最大的节点作为新的簇头a;
步骤1.5、重复步骤1.4直到所有节点均加入某个簇;
步骤2、同步建立:以簇头与网关组成高一级的虚拟骨干网,以簇内网为低一级网络,形成双层网络结构,依次进行虚拟骨干网时间同步和簇内节点时间同步;其中,
虚拟骨干网时间同步的方法为:
利用传统的IEEE1588协议对虚拟骨干网中的节点进行同步,若虚拟骨干网存在上一级的主节点t,则指定主节点t作为同步的主时钟节点,虚拟骨干网中的簇头节点为从时钟节点,从时钟节点通过与主时钟节点交互,得到自身相对于主时钟的时间偏移,从时钟根据时间偏移改变自身时钟的时间值使之与主时钟的时间同步,从时钟记录单向延迟;
簇内节点时间同步的方法为:以簇头作为主时钟节点对各个簇内节点进行同步,从时钟记录单向延迟;
步骤3、同步维持:对网络再次进行时间同步并通过两层网络的单向延迟变化监测相应网络拓扑结构是否发生较大变化,若某一层网络的单向延迟时间变化程度大于预设的阈值,则进行重新组网;
步骤4、若没有节点发出重新组网请求,则返回步骤3,否则返回步骤1。
具体的,所述本地时钟数据集比较结果Hc的计算方法为,节点向邻居节点广播本地时钟数据集并接收邻据节点数据集,并利用数据集比较算法比较数据集的二进制关系,计算比自身更适合作为最佳主时钟所占比例α,比较结果Hc的计算公式为:
Figure GDA0002413332000000031
其中Nall为收到的邻据节点数据集的数量,Ngood为优于自身时钟的数量;
归一化度数Hd为一跳邻居节点的数量D1与网络中总的节点数量D的比值,即:
Figure GDA0002413332000000032
节点能量剩余值Hp为节点剩余能量Pleft与网络中总的节点能量Pall的比值,即:
Figure GDA0002413332000000033
节点通过比较收到的来自某一邻居节点x的连续两次传输信号的强度来估计两个节点之间的移动性,即
Figure GDA0002413332000000041
其中,
Figure GDA0002413332000000042
为节点接收到邻居节点x的两次信号的强度;H′m的计算公式为:
Figure GDA0002413332000000043
xi表示节点的第i个邻居节点,n为节点的邻居节点总数。
具体的,所述虚拟骨干网的时间同步过程中,从时钟与主时钟交互的过程包括:
主时钟Master向从时钟Slave发送消息,若发送的只有Sync消息,则Sync消息中包含该消息的发送时间戳t1;发送的消息中有Follow_Up消息,则仅有Follow_Up消息中含有发送时间戳t1,从时钟Slave接收主时钟Master发送的消息,并记录消息到达时间戳t2
从时钟Slave发送Delay_Req消息,Delay_Req消息中包含自身的发送时间戳t3,主时钟接收到Delay_Req消息后发送Delay_Resp消息给从时钟,Delay_Resp消息中包含时间戳t4,t4为主时钟收到Delay_Req消息的时间;至此,从时钟得到4个时间戳,即t1、t2、t3、t4,并计算出相对于主时钟的时间偏移toffset
Figure GDA0002413332000000044
具体的,所述同步维持的具体步骤包括:
步骤3.1、当步骤2结束,根据预先设定的循环时间值tcycle停顿相应时长,然后再次进行步骤2中的时间同步,在进行虚拟骨干网的时间同步时,从时钟节点通过与主时钟节点交互计算得到两者之间的单向延迟tdelay
Figure GDA0002413332000000045
步骤3.2、将簇头的单向延迟值tdelay与上一次时间同步中相应的簇头单向延迟tdelay1比较,如果单向延迟的增加值δ大于簇头单向延迟阈值δdelay,该簇头发出重新同步请求消息并由网络中其他簇头转发至全网,此时,清除同步数据,返回步骤1;否则,执行步骤3.3;
步骤3.3、进行簇内时间同步,簇内节点通过与主时钟节点交互计算得到两者之间的单向延迟t′delay,当簇内节点发现本次单向延迟相对于上一次簇内时间同步的相应单向延迟t′delay1有超出预设阈值δ′delay的波动时,簇内节点发送重新同步请求消息,并由该节点所在簇的簇头转发至全网,此时,清除同步数据,返回步骤1。
进一步的,所述同步方法还包括步骤:
若时间同步过程中,从时钟节点无法接收主时钟节点的消息,即表示从时钟节点移动距离过大导致已经不在该网络的通信范围内,若此状态持续时间大于一个循环周期tcycle,则从时钟节点广播重新同步请求并通过邻居节点转发至全网。
有益效果:与现有技术相比,本发明具有以下优势:
本发明将时间同步所需的时钟精度等因素考虑到分簇算法中,并将两个过程结合在一起,节约了另外选取主时钟的时间,提高了Ad Hoc网络时间同步的效率,而考虑到了节点移动性以及剩余能量等因素,使得选取的最佳主时钟更为合理;由于虚拟骨干网的搭建发生在IP层以下,选取最佳主时钟所需发送数据减少,进一步节约了所需的带宽;通过分级进行时间同步,避免了由于网络规模过大而导致的无法进行同步的问题;利用时间同步需要发送的消息判断网络拓扑是否发生变化,对网络进行维护,节约了网络自身维护将发送的数据。通过解决以上问题,进一步提高了Ad Hoc网络中时间同步的精度。
附图说明
图1是使用IEEE1588协议进行时间同步的示意图;
图2是对网络进行分簇的流程图;
图3是分簇后分级Ad Hoc网络的拓扑结构图;
图4是节点移动导致拓扑结构变化的示意图;
图5是进行分级Ad Hoc网络进行时间同步的流程图;
图6是IEEE1588时钟本地数据集;
图7是网络中的虚拟骨干网示意图;
图8是Ad Hoc网络层示意图;
图9为同步过程总体的流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
下面以一个具体的分级Ad Hoc网络中节点的时间同步过程来说明本发明介绍的同步方法。
Ad Hoc网络系统以BeagleBone Black开发板搭载EDUP无线网卡作为系统中的单个节点,设置使无线网卡工作于Ad Hoc模式,系统采用PC作为主控制器(主节点),全网时钟同步以PC作为基准。系统同步过程包括以下步骤:
步骤1、进行分簇,即根据加权组合分簇算法选取簇头,并将网络划分为若干个簇,分簇过程流程图如图2所示,包括如下步骤:
步骤1.1、每个节点通过交互控制消息获取并计算得到自身的节点信息,所述节点信息包括:归一化的节点度数Hd、自身负移动性H′m、节点能量剩余值Hp以及本地时钟数据集比较结果Hc
由于节点移动性越大,则节点越不适合作为簇头或同步主时钟,我们采用“负移动性”(移动性越大,H′m越小,节点静止时,H′m=1),而非移动性作为原有的移动性的指标。
步骤1.2、利用获取的数据,使用加权组合的方法分配一个加权平均值以表征节点适合充当簇头的程度,节点加权平均值Γ由下列公式确定:
Γ=ωdHdmH′mpHpcHc
式中,Hd为节点的度数,即节点一邻居节点的数目,H′m为节点的速度或相对于邻居节点的负移动性,Hp为节点能量剩余值,Hc为归一化的时钟数据集比较结果,即节点适合作为主时钟的程度,参数ωd、ωm、ωp、ωc为相应变量对应的权值,其大小由应用的具体环境决定,通过调整该参数可控制各项指标对于系统的影响程度。
本实例中考虑到节点移动性不强,且能量较为充足等因素,设置参数ωd、ωm、ωp、ωe分别为30%、10%、10%、50%,度数、节点自身移动性等通过软件计算获取。
步骤1.3、各节点k将自身Γ值向邻居节点广播,并将自身加权平均值与一跳邻居节点比较,若节点s的Γ值大于周围节点,则节点s被选取作为簇头,s的一跳邻居节点成为s所在簇的成员节点,且不再参与簇头选举过程,但s的一跳邻居节点中权值最大的节点a的也作为簇头;
步骤1.4、簇头a的一跳邻居节点中未被分入任一簇的节点作为α所在簇的成员节点,且不再参与簇头选举过程;从簇头a的一跳邻居节点中选取权值最大的节点作为新的簇头a;
步骤1.5、剩余节点重复步骤1.4直到所有节点均加入某个簇,通过以上步骤,生成网络的拓扑结构,如图3所示。
步骤2、同步建立,包括虚拟骨干网(簇头与网关组成高一级的网络)的时间同步和簇内节点时间同步,同步过程如图9所示,即
步骤2.1、利用传统的IEEE1588协议对虚拟骨干网中的节点进行同步,如存在上一级的主节点t(基准时钟),则指定该节点t作为同步的主时钟节点,虚拟骨干网中的簇头节点为从时钟节点,从时钟节点通过与主时钟交互得到自身相对于主时钟的时间偏移,从时钟根据时间偏移改变自身时钟的时间值使之与主时钟的时间同步,从时钟记录单向延迟;
步骤2.2、以簇头作为主时钟节点,各个簇内节点为从时钟节点,从时钟节点通过与主时钟节点交互进行同步,各个簇的簇内同步可同时进行。
步骤2.1和2.2中的交互过程如图1所示,具体步骤为:
记主时钟M发送Sync消息的时间记为t1,消息到达从时钟的时间记为t2;如果传输的消息只有Sync消息,那么Sync消息中有发送时间戳t1,这个t1是发送时间的估计值,但是如果有Follow_Up消息,那么发送时间戳就不会在Sync消息中,而会存在Follow_Up消息中,而且Follow_Up消息中的时间戳t1相对来说更加准确,这样,从时钟将会拥有两个时间戳信息,即发送时间t1和到达时间t2
从时钟Slave发送Delay_Req消息的时间记为t3,且发送时间戳也会包含在内,主时钟收到该消息的时间记为t4,主时钟在收到消息后会发送包含t4时间戳的Delay_Resp消息到从时钟,这样,从时钟就能够拥有完整的4个时间信息,即t1、t2、t3、t4,并计算出相对于主时钟的时间偏移toffset
Figure GDA0002413332000000081
步骤3、同步维持,对网络再次进行时间同步并通过两层网络的单向延迟变化监测相应网络拓扑结构是否发生较大变化,若某一层网络的单向延迟时间变化程度大于预设的阈值,则进行重新组网;同步维持的具体步骤包括:
步骤3.1、根据预先设定的循环时间值tcycle停顿后,再次进行步骤2中的时间同步。在进行虚拟骨干网的同步时,簇头(从时钟)通过与主节点(主时钟)交互可计算得到两者之间的单向延迟,单向延迟由下列公式计算得到:
Figure GDA0002413332000000082
本实例设置同步维持时间为tcycle=2s,即每两秒进行一次全网时间同步。
步骤3.2、将单向延迟值tdelay2与上一次计算结果tdelay1比较,如果单向延迟增加值δ大于阈值δdelay,即δ=tdelay2-tdelay1>δdelay,则表明节点发生了较大的移动,可能存在节点已经不再是对应簇头的一跳邻居节点,即之前的分簇可能受节点移动影响而被破坏,此时节点向网络中其他节点发送重新同步请求消息。
其中δdelay为预先定义的阈值,单向延迟时间的增加主要来源于节点移动导致的距离增加,以及接收簇头信息所需跳数的增加等,δdelay的值过小将导致系统频繁进行重新组网,而过大则可能导致时间同步的精度下降,依据网络环境和网络要求的不同阈值可选取不同的值,也可通过多次实验根据结果确定合适的阈值。本实例设置虚拟骨干网时延波动阀值δdelay=1ms。
步骤3.3、如簇头发送要求重新组网要求,返回步骤1,进行重新组网,否则进行下一级的再次同步,即簇内同步,同步过程与步骤3.1--3.2相同,当簇内节点发现单向延迟有较大波动(增加)时,也将发送重新同步请求消息,并由簇头转发至全网,此处定义簇内时延波动阀值为δ′delay=2ms。
步骤4、若没有节点发出重新同步请求,则重复步骤3,否则回到步骤1顺序执行。
图4显示了节点移动导致的网络分簇变化,其中圆圈内的数字表示节点的权值,其中权值为1的节点为指定的主节点。时间同步流程图如图5所示。
在步骤1中,本地时钟数据集比较结果Hc的计算方法为,节点向邻居节点广播本地时钟数据集并接收邻据节点数据,并利用数据集比较算法比较数据集的二进制关系,计算比自身更适合作为最佳主时钟所占比例α,于是比较结果Hc可通过下列式子计算:
Figure GDA0002413332000000091
其中Nall为收到的邻据节点数据集的数量,Ngood为优于自身时钟的数量,式中在Nall上加1以避免出现分母为零的情况。时钟本地数据集包含内容如图6所示。
在步骤1中,归一化度数Hd定义为一跳邻居节点的数量D1与网络中总的节点数量D的比值,即:
Figure GDA0002413332000000092
考虑到网络中总节点数量可能有较大的变化,总的节点数量D可取近似值。每个节点通过交互控制消息可获得其节点度数D1
在步骤1中,节点能量剩余值Hp定义为节点剩余能量Pleft与网络中总的节点能量Pall的比值,即:
Figure GDA0002413332000000093
在步骤1中,节点通过比较收到的来自某一邻居节点x的连续两次传输信号的强度来估计两个节点之间的移动性,移动性
Figure GDA0002413332000000094
其中
Figure GDA0002413332000000095
为节点接受到邻居x两次信号的信号强度。定义
Figure GDA0002413332000000096
其中xi表示节点的第i个邻居节点,n表示节点的邻居节点的总数。
于是,节点加权平均值Γ计算公式可修改为:
Figure GDA0002413332000000101
根据具体环境要求,加权平均值Γ的计算也可加入其他的指标。
在步骤2中,虚拟骨干网指分级式Ad Hoc网络划分为若干个簇后,簇头与网关或网关节点组成的高一级的网络。图3中形成的拓扑结构中虚拟骨干网部分如图7所示。
在步骤3中,若存在从时钟无法接收主时钟的消息,即其移动距离过大而已经不在该网络(簇或虚拟骨干网)的通信范围内,节点无法接收来自主时钟的同步消息,此时节点将无法计算tdelay,若此状态持续时间大于一个循环周期tcycle,则节点可广播重新组网请求并通过邻居节点转发至全网。
在步骤3中,系统进行时间同步时没有重新选取主时钟,这是因为在步骤1计算的权值中已经考虑了时钟适合作为主时钟的程度,并且考虑了之前的最佳主时钟算法没有考虑到的移动性等因素,使得所选取的主时钟更为准确。而且由于本发明最佳主时钟产生于组网过程,选取主时钟的数据交换发生在IP层以下,进一步节约了同步所需带宽,网络层次示意如图8所示。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种基于分簇算法的分级Ad Hoc网络时间同步方法,其特征在于,包括步骤:
步骤1、将所述Ad Hoc网络划分为若干个簇,具体包括依次执行的步骤1.1至1.5:
步骤1.1、每个节点通过交互控制消息获取并计算得到自身的节点信息,所述节点信息包括:归一化的节点度数Hd、自身负移动性H′m、节点能量剩余值Hp以及本地时钟数据集比较结果Hc
本 地时钟数据集比较结果Hc的计算方法为:节点向邻居节点广播本地时钟数据集并接收邻居 节点数据集,并利用数据集比较算法比较数据集的二进制关系,计算比自身更适合作为最佳主时钟所占比例α,比较结果Hc的计算公式为:
Figure FDA0002413331990000011
其中Nall为收到的邻居 节点数据集的数量,Ngood为优于自身时钟的数量;
归一化度数Hd为一跳邻居节点的数量D1与网络中总的节点数量D的比值,即:
Figure FDA0002413331990000012
节点能量剩余值Hp为节点剩余能量Pleft与网络中总的节点能量Pall的比值,即:
Figure FDA0002413331990000013
节点通过比较收到的来自某一邻居节点x的连续两次传输信号的强度来估计两个节点之间的移动性,即
Figure FDA0002413331990000014
其中,
Figure FDA0002413331990000015
为节点接收到邻居节点x的两次信号的强度;H′m的计算公式为:
Figure FDA0002413331990000016
xi表示节点的第i个邻居节点,n表示节点的邻居节点总数;H′m越小,表示节点移动性越大,节点静止时,H′m=1;节点度数Hd即节点一跳邻居节点的数目;
步骤1.2、每个节点计算一个加权平均值以表示相应节点适合充当簇头的程度,节点加权平均值Γ的计算公式为:
Γ=ωdHdmH′mpHpcHc
其中,ωd、ωm、ωp、ωc分别为Hd、H′m、Hp、Hc的权值系数;
步骤1.3、各节点k将自身Γ值向邻居节点广播,并将自身加权平均值与一跳邻居节点比较,若节点s的Γ值大于周围节点,则节点s被选取作为簇头,s的一跳邻居节点成为s所在簇的成员节点,且不再参与簇头选举过程,但s的一跳邻居节点中权值最大的节点a的也作为簇头;
步骤1.4、簇头a的一跳邻居节点中未被分入任一簇的节点作为a所在簇的成员节点,且不再参与簇头选举过程;从簇头a的一跳邻居节点中选取权值最大的节点作为新的簇头a;
步骤1.5、重复步骤1.4直到所有节点均加入某个簇;
步骤2、同步建立:以簇头与网关组成高一级的虚拟骨干网,以簇内网为低一级网络,形成双层网络结构,依次进行虚拟骨干网时间同步和簇内节点时间同步;其中,虚拟骨干网时间同步的方法为:
利用传统的IEEE1588协议对虚拟骨干网中的节点进行同步,若虚拟骨干网存在上一级的主节点t,则指定主节点t作为同步的主时钟节点,虚拟骨干网中的簇头节点为从时钟节点,从时钟节点通过与主时钟节点交互,得到自身相对于主时钟的时间偏移,从时钟根据时间偏移改变自身时钟的时间值使之与主时钟的时间同步,从时钟记录单向延迟;
簇内节点时间同步的方法为:以簇头作为主时钟节点对各个簇内节点进行同步,从时钟记录单向延迟;
步骤3、同步维持:对网络再次进行时间同步并通过两层网络的单向延迟变化监测相应网络拓扑结构是否发生较大变化,若某一层网络的单向延迟时间变化程度大于预设的阈值,则进行重新组网;
步骤4、若没有节点发出重新组网请求,则返回步骤3,否则返回步骤1。
2.根据权利要求1所述的一种基于分簇算法的分级Ad Hoc网络时间同步方法,其特征在于,所述虚拟骨干网的时间同步过程中,从时钟与主时钟交互的过程包括:
主时钟Master向从时钟Slave发送消息,若发送的只有Sync消息,则Sync消息中包含该消息的发送时间戳t1;发送的消息中有Follow_Up消息,则仅有Follow_Up消息中含有发送时间戳t1,从时钟Slave接收主时钟Master发送的消息,并记录消息到达时间戳t2
从时钟Slave发送Delay_Req消息,Delay_Req消息中包含自身的发送时间戳t3,主时钟接收到Delay_Req消息后发送Delay_Resp消息给从时钟,Delay_Resp消息中包含时间戳t4,t4为主时钟收到Delay_Req消息的时间;至此,从时钟得到4个时间戳,即t1、t2、t3、t4,并计算出相对于主时钟的时间偏移toffset
Figure FDA0002413331990000031
3.根据权利要求2所述的一种基于分簇算法的分级Ad Hoc网络时间同步方法,其特征在于,所述同步维持的具体步骤包括:
步骤3.1、当步骤2结束,根据预先设定的循环时间值tcycle停顿相应时长,然后再次进行步骤2中的时间同步,在进行虚拟骨干网的时间同步时,从时钟节点通过与主时钟节点交互计算得到两者之间的单向延迟tdelay
Figure FDA0002413331990000032
步骤3.2、将簇头本次同步的单向延迟值tdelay2与上一次时间同步中相应的簇头单向延迟tdelay1比较,如果单向延迟的增加值δ大于簇头单向延迟阈值δdelay,该簇头发出重新同步请求消息并由网络中其他簇头转发至全网,此时,清除同步数据,返回步骤1;否则,执行步骤3.3;
步骤3.3、进行簇内时间同步,簇内节点通过与主时钟节点交互计算得到本次时间同步中两者之间的单向延迟t'delay2,当簇内节点发现本次单向延迟相对于上一次簇内时间同步的相应单向延迟t′delay1有超出预设阈值δ′delay的波动时,簇内节点发送请求重新同步请求消息,并由该节点所在簇的簇头转发至全网,此时,清除同步数据,返回步骤1。
4.根据权利要求3所述的一种基于分簇算法的分级Ad Hoc网络时间同步方法,其特征在于,所述同步方法还包括步骤:
若时间同步过程中,从时钟节点无法接收主时钟节点的消息,即表示从时钟节点移动距离过大导致已经不在该网络的通信范围内,若此状态持续时间大于一个循环周期tcycle,则从时钟节点广播重新组网请求并通过邻居节点转发至全网。
CN201910336423.3A 2019-04-24 2019-04-24 一种基于分簇算法的分级Ad Hoc网络时间同步方法 Active CN110278048B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910336423.3A CN110278048B (zh) 2019-04-24 2019-04-24 一种基于分簇算法的分级Ad Hoc网络时间同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910336423.3A CN110278048B (zh) 2019-04-24 2019-04-24 一种基于分簇算法的分级Ad Hoc网络时间同步方法

Publications (2)

Publication Number Publication Date
CN110278048A CN110278048A (zh) 2019-09-24
CN110278048B true CN110278048B (zh) 2020-04-28

Family

ID=67959744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910336423.3A Active CN110278048B (zh) 2019-04-24 2019-04-24 一种基于分簇算法的分级Ad Hoc网络时间同步方法

Country Status (1)

Country Link
CN (1) CN110278048B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107603B (zh) * 2019-12-31 2022-04-19 西安电子科技大学 提升分布式多跳网络可用性的分簇管理方法
CN112105072B (zh) * 2020-10-21 2023-02-24 国网思极紫光(青岛)微电子科技有限公司 物联网通信系统及其构建方法
CN112887047B (zh) * 2021-01-13 2024-04-05 张营 一种计算机集群中传递时钟信号的系统和方法
CN112887947B (zh) * 2021-01-14 2021-12-03 南通大学 一种双层区块链的蓝牙Mesh分簇组网方法
CN114338702B (zh) * 2021-12-30 2023-11-14 北京天融信网络安全技术有限公司 通信数据的转发方法及无人系统集群

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683055A (zh) * 2014-12-03 2015-06-03 国家电网公司 时间同步方法及装置
CN106804058A (zh) * 2017-02-16 2017-06-06 上海交通大学 一种结合拓扑维护的分簇时间同步方法
CN106879041A (zh) * 2015-12-11 2017-06-20 中南大学 Ad Hoc网络分簇算法和路由协议的设计

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937088B2 (en) * 2004-03-26 2011-05-03 Qualcomm Incorporated Routing communications in an ad hoc network
CN102368863B (zh) * 2011-10-24 2014-02-26 中国人民解放军理工大学 一种基于网络分簇和信息摆渡的无线自组应急通信网

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683055A (zh) * 2014-12-03 2015-06-03 国家电网公司 时间同步方法及装置
CN106879041A (zh) * 2015-12-11 2017-06-20 中南大学 Ad Hoc网络分簇算法和路由协议的设计
CN106804058A (zh) * 2017-02-16 2017-06-06 上海交通大学 一种结合拓扑维护的分簇时间同步方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ad_Hoc网络中基于分簇的多级移动数据库模型的研究;王岱;《中国优秀硕士学位论文全文数据库信息科技辑》;20150215;正文第3章第15-24页 *

Also Published As

Publication number Publication date
CN110278048A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN110278048B (zh) 一种基于分簇算法的分级Ad Hoc网络时间同步方法
CN106452650B (zh) 适用于多跳无线传感器网络的时钟同步频率偏移估计方法
CN101335587B (zh) 工业无线网络的精确时间同步方法
Paruchuri et al. Random asynchronous wakeup protocol for sensor networks
CN101616479B (zh) 在tdma多跳无线网络中进行时间同步的方法和设备
Serpedin et al. Synchronization in wireless sensor networks: parameter estimation, performance benchmarks, and protocols
CN113098674B (zh) 一种高速载体自组织网数据链端机时间同步方法及系统
Liu et al. TSMU: A time synchronization scheme for mobile underwater sensor networks
Ansere et al. A novel reliable adaptive beacon time synchronization algorithm for large-scale vehicular ad hoc networks
CN101982959B (zh) 网络的按需时间同步方法
CN111490844A (zh) 一种时钟同步方法、装置及电子设备
CN110290579A (zh) 一种窄带条件下的无线自组网络时间同步方法、节点及无线自组网络
CN113038589A (zh) 一种基于无线网络分簇拓扑的矩阵模型估计时间同步方法
Jin et al. Integrated time synchronization and multiple access protocol for underwater acoustic sensor networks
Ngo-Quynh et al. A low-latency communication protocol for target tracking in wireless sensor networks
CN105025568A (zh) 一种基于频偏竞标及动态拓扑的大规模无线传感器网络同步器
Wang et al. A survey of time synchronization algorithms for wireless sensor networks
So et al. MTSF: A timing synchronization protocol to support synchronous operations in multihop wireless networks
CN108924922B (zh) 一种wsn簇型拓扑的链同步时间同步方法
Bizagwira et al. Synchronization protocol for dynamic environment: design and prototype experiments
CN109068385A (zh) 一种具有容错性的水下无线网络时间同步方法
CN103746762B (zh) 一种按需分层无线传感器网络时间同步方法
Li et al. Lightweight precision-adaptive time synchronization in wireless sensor networks
CN108712769B (zh) 一种基于动态路径和变周期的无线传感器网络同步方法
Shen et al. Clapping and broadcasting synchronization in wireless sensor networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant