一种基于双向报文交换的多终端时间同步方法
【技术领域】
[0001] 本发明设及一种泛在协同环境下的终端时间同步方法,特别设及一种基于双向报 文交换的多终端时间同步方法,属于无线通信领域。
【背景技术】
[0002] 在未来泛在网络环境下,将有越来越多的智能设备出现,进入用户的生活、工作空 间,并能够通过有线或无线的方式互联。多终端协同的泛在网络已经从概念逐步走向现实 的应用,运对终端W及网络能力提出更高的要求,运其中多终端间时间同步将是实现多终 端的协同操作的重要基石,目前专注于泛在协同网多终端时间同步的研究还相对较少,传 统时间同步研究主要集中于无线传感网,而无线传感网也是泛在网的重要组成部分,其中 很多时间同步理论在泛在协同环境下依然成立。同时泛在网的网络异构性、终端移动性也 给时间同步带来了新的挑战。异构性意味着网络环境更加复杂,终端间很可能连接着多个 网络,消息传送时延也随着网络变化而变化。终端移动意味着网络拓扑的不断变化,运对时 间同步算法的鲁棒性及可拓展性要求很高。
【发明内容】
[0003] 本发明所要解决的技术问题是提供一种基于双向报文交换的多终端时间同步方 法,该方法综合考虑泛型协同环境和终端的特点,兼顾时间同步中的时钟偏移同步和斜率 同步,利用终端节点间的双向信息报文交换获得同步消息传递实时时延,有利于提高时间 同步的精度;通过节点的两个逻辑时间对计算节点的相对时钟斜率,实现节点间的时钟斜 率同步;将偏移补偿和斜率补偿分离,可W提供时间同步收敛速度。
[0004] 本发明为解决上述技术问题采用W下技术方案:
[0005] 本发明提供一种基于双向报文交换的多终端时间同步方法,终端的逻辑时钟值L (t)=aC(t)+i3,其中,C(t)为物理时钟值,α为逻辑时钟斜率补偿参数,β逻辑时钟偏移补偿 参数;通过修正各终端的逻辑时钟斜率补偿参数和逻辑时钟偏移补偿参数,使各终端的逻 辑时钟收敛到一致的时钟值,从而实现时间同步;
[0006] 其中,各终端的逻辑时钟斜率补偿参数和逻辑时钟偏移补偿参数的修正通过W下 迭代方法实现:
[0007] 步骤1,初始化各终端的逻辑时钟斜率补偿参数为1、逻辑时钟偏移补偿参数为0, 当前迭代次数k=l;
[000引步骤2,各终端向其邻居终端广播同步请求,其中同步请求中包括广播终端广播时 的逻辑时钟值、逻辑时钟偏移补偿参数祭,且各广播节点记录广播时的逻辑时钟值;俾为 第k次迭代时广播终端i的逻辑时钟偏移补偿参数;
[0009] 步骤3,接收到同步请求的接收终端在随机等待一段时间后向广播终端回复消息, 其中回复消息包括接收终端接收时的逻辑时钟值、回复时的逻辑时钟值;
[0010] 步骤4,若k为奇数,则接收终端记录一个时钟对和一个时钟偏移对,其中,时钟对 包括广播终端广播时的逻辑时钟值、接收终端接收时的逻辑时钟值,时钟偏移对包括广播 终端广播时的逻辑时钟偏移补偿参数货、接收终端接收时的逻辑时钟偏移补偿参数房?;若 1^为偶数,则接收节点不记录;为第拉欠迭代时接收终端j的逻辑时钟偏移补偿参数;
[0011] 步骤5,接收到回复消息的广播终端记录接收时的逻辑时钟值,并根据公式1更新 广播终端的逻辑时钟偏移补偿参数:
[0012]
[OOU]式中,度"为第k+1次迭代时广播终端i的逻辑时钟偏移补偿参数;Τι为广播终端广 播时的逻辑时钟值,Τ2为接收终端接收时的逻辑时钟值,Τ3为接收终端回复时的逻辑时钟 值,Τ4为广播终端接收回复时的逻辑时钟值;
[0014] 步骤6,若k为偶数,且在k-1次迭代中第k次迭代时的接收终端j为广播终端而广播 终端i为相应接收终端,同时第k次迭代时的广播终端在k-1次迭代中记录的时钟对和逻辑 偏移对不为空,则执行步骤7,否则执行步骤8;
[0015] 步骤7,根据公式2更新广播终端的逻辑时钟斜率补偿参数:
[0016]
(2)
[0017]式中,P为权值;
其中,/?尸为第k-1次迭代时广播终端i 的逻辑时钟偏移补偿参数,为第k-1次迭代时接收终端j的逻辑时钟偏移补偿参数, Cj_Did为第k-1次迭代时接收终端j广播时的逻辑时钟值,Cl_Dld为第k-1次迭代时广播终端i 接收时的逻辑时钟值;
[001引步骤8,置k = k+l,返回步骤2。
[0019] 作为本发明的进一步优化方案,步骤8中置k = k+l,等待一定时间后返回步骤2。
[0020] 作为本发明的进一步优化方案,所述一定时间根据所需精度决定。
[0021] 作为本发明的进一步优化方案,步骤3中随机等待的一段时间根据实际情况确定, W避免在广播终端接收回复消息时产生干扰冲突。
[0022] 作为本发明的进一步优化方案,步骤7中权值P根据网络状况选择。
[0023] 本发明采用W上技术方案与现有技术相比,具有W下技术效果:本发明解决了泛 在协同环境下的多终端时间同步问题,结合泛在协同环境的特点,充分考虑泛在网的异构 性和终端节点移动性,节点间通信时延差异大并且易变化的特点,通过双向报文交换得到 节点间的实时时延,进行时钟偏移补偿,付出较小的代价获得了更快的时间同步收敛速度 和同步精度。并且不是集中式方法,而是分布式的,不需要参考节点,所W该方法同时也有 较高的鲁棒性和可拓展性。
【附图说明】
[0024] 图1是泛在多终端协同环境网络场景示意图。
[0025] 图2是本发明的方法流程图。
[0026] 图3是终端节点双向报文交换示意图。
【具体实施方式】
[0027] 下面结合附图对本发明的技术方案做进一步的详细说明:
[0028] 如图1所示的泛在多终端协同环境网络场景示意图中,存在两个网络,多个终端, 并且终端之间通过预设的通信技术实现通信。实现各种终端之间的时间同步需要终端间周 期的传送同步消息报文,彼此交换时间信息,通过一定的运算使得终端间的时钟偏移和斜 率得到修正,最终实现逻辑时钟的同步。
[0029] 终端的逻辑时钟值L(t)=aC(t)+i3,其中,C(t)为物理时钟值,α为逻辑时钟斜率补 偿参数,β逻辑时钟偏移补偿参数;通过迭代方法修正各终端的逻辑时钟斜率补偿参数和逻 辑时钟偏移补偿参数,使各终端的逻辑时钟收敛到一致的时钟值,从而实现时间同步。
[0030] 本发明提供一种基于双向报文交换的多终端时间同步方法,如图2所示,具体如 下:
[0031] 步骤1:初始化迭代次数k=l,初始化各终端的逻辑时钟斜率补偿参数为1和逻辑 时钟偏移补偿参数为0。
[0032] 步骤2:
各终端之间通过双向报文交换各自的时钟信息,如图3所示。W下W两个终 端i和j为例进行具体说明,其中,终端i为广播终端,终端j为接收终端。
[0033] 首先,广播终端i广播同步请求Sync-req消息给邻居节点,Sync-req消息中包括广 播终端i广播时的逻辑时钟值、时钟偏移补偿参数《,广播终端i记录其广播时的逻辑时钟 值为Τι;
[0034] 然后,广播终端i的邻居终端即为终端j接收到Sync-req消息后,记录其接收到 Sync-req消息时的逻辑时钟值,记为T2;随机等待一段时间(为避免广播终端接收到多个回 复消息时产生干扰冲突)后,接收终端j向广播终端i回复消息,回复消息包括接收终端j接 收时的逻辑时钟值T2、接收终端j回复时的逻辑时钟值T3。如果k为奇数,接收终端j记录下一 个时间对和一个时钟偏移对,其中,时间对为广播终端i广播时的逻辑时钟值和接收终端j 接收时的逻辑时钟值,即(Tl,T2);时钟偏移对包括广播终端i广播时的时钟偏移补偿参数和 接收终端j接收时的时钟偏移补偿参数,即(保./? );否则接收终端j不记录。
[0035] 最后,广播终端i接收到接收终端j的回复消息,并记录广播终端接收回复时的逻 辑时钟值为T4。
[0036] 步骤3:根据公式1更新广播终端的逻辑时钟偏移补偿参数:
[0037]
(1)
[003引式中,保"为第k+1次迭代时广播终端i的逻辑时钟偏移补偿参数;Τι为广播终端i 广播时的逻辑时钟值,T2为接收终端j接收时的逻辑时钟值,T3为接收终端j回复时的逻辑时 钟值,T4为广播终端i接收回复时的逻辑时钟值。
[0039] 步骤4:如果k为偶数,并且广播终端i在k-1次迭代时为接收终端,而相应的接收终 端j为广播终端时记录的一个时间对和一个时钟偏移对不为空,则执行步骤5,否则执行步 骤6。
[0040] 步骤5:根据公式2更新广播终端的逻辑时钟斜率补偿参数:
[0041 ]
(2)
[0042] 式中,P为权值,参考网络状况选择
,其中,片尸为第k-1 次迭代时广播终端i的逻辑时钟偏移补偿参数,为第k-1次迭代时接收终端j的逻辑时 钟偏移补偿参数,C^Did为第k-1次迭代时接收终端j广播时的逻辑时钟值,Ci_Did为第k-1次 迭代时广播终端i接收时的逻辑时钟值。
[0043] 步骤6:置k = k+l,等待周期时间T后返回步骤2执行。其中,周期时间T根据所需精 度决定,周期时间T越短精度越高,反之精度越低。
[0044] W上所述,仅为本发明中的【具体实施方式】,但本发明的保护范围并不局限于此,任 何熟悉该技术的人在本发明所掲露的技术范围内,可理解想到的变换或替换,都应涵盖在 本发明的包含范围之内,因此,本发明的保护范围应该W权利要求书的保护范围为准。
【主权项】
1. 一种基于双向报文交换的多终端时间同步方法,其特征在于,终端的逻辑时钟值L (t)=aC(t)+i3,其中,C(t)为物理时钟值,α为逻辑时钟斜率补偿参数,β逻辑时钟偏移补偿 参数;通过修正各终端的逻辑时钟斜率补偿参数和逻辑时钟偏移补偿参数,使各终端的逻 辑时钟收敛到一致的时钟值,从而实现时间同步; 其中,各终端的逻辑时钟斜率补偿参数和逻辑时钟偏移补偿参数的修正通过以下迭代 方法实现: 步骤1,初始化各终端的逻辑时钟斜率补偿参数为1、逻辑时钟偏移补偿参数为〇,当前 迭代次数k=l; 步骤2,各终端向其邻居终端广播同步请求,其中同步请求中包括广播终端广播时的逻 辑时钟值、逻辑时钟偏移补偿参数/?/,且各广播节点记录广播时的逻辑时钟值;找4为第k次 迭代时广播终端i的逻辑时钟偏移补偿参数; 步骤3,接收到同步请求的接收终端在随机等待一段时间后向广播终端回复消息,其中 回复消息包括接收终端接收时的逻辑时钟值、回复时的逻辑时钟值; 步骤4,若k为奇数,则接收终端记录一个时钟对和一个时钟偏移对,其中,时钟对包括 广播终端广播时的逻辑时钟值、接收终端接收时的逻辑时钟值,时钟偏移对包括广播终端 广播时的逻辑时钟偏移补偿参数、接收终端接收时的逻辑时钟偏移补偿参数/? ;若k为 偶数,则接收节点不记录;获;为第k次迭代时接收终端j的逻辑时钟偏移补偿参数; 步骤5,接收到回复消息的广播终端记录接收时的逻辑时钟值,并根据公式1更新广播 终端的逻辑时钟偏移补偿参数:式中,Pf+1为第k+Ι次迭代时广播终端i的逻辑时钟偏移补偿参数;T1为广播终端广播时 的逻辑时钟值,T2为接收终端接收时的逻辑时钟值,T3为接收终端回复时的逻辑时钟值,T 4 为广播终端接收回复时的逻辑时钟值; 步骤6,若k为偶数,且在k-Ι次迭代中第k次迭代时的接收终端j为广播终端而广播终端 i为相应接收终端,同时第k次迭代时的广播终端在k-Ι次迭代中记录的时钟对和逻辑偏移 对不为空,则执行步骤7,否则执行步骤8; 步骤7,根据公式2更新广播终端的逻辑时钟斜率补偿参数:式中,P为权值;其中,为第k-Ι次迭代时广播终端i的逻 辑时钟偏移补偿参数,为第k-Ι次迭代时接收终端j的逻辑时钟偏移补偿参数,Cpld为 第k-Ι次迭代时接收终端j广播时的逻辑时钟值,Cyld为第k-Ι次迭代时广播终端i接收时的 逻辑时钟值; 步骤8,置k = k+l,返回步骤2。2. 根据权利要求1所述的一种基于双向报文交换的多终端时间同步方法,其特征在于, 步骤8中置k = k+l,等待一定时间后返回步骤2。3. 根据权利要求2所述的一种基于双向报文交换的多终端时间同步方法,其特征在于, 所述一定时间根据所需精度决定。4. 根据权利要求1所述的一种基于双向报文交换的多终端时间同步方法,其特征在于, 步骤3中随机等待的一段时间根据实际情况确定,以避免在广播终端接收回复消息时产生 干扰冲关。5. 根据权利要求1所述的一种基于双向报文交换的多终端时间同步方法,其特征在于, 步骤7中权值P根据网络状况选择。
【专利摘要】本发明公开了一种基于双向报文交换的多终端时间同步方法,该方法综合考虑泛型协同环境和终端的特点,兼顾时间同步中的时钟偏移同步和斜率同步,利用终端节点间的双向信息报文交换获得同步消息传递实时时延,有利于提高时间同步的精度;通过节点的两个逻辑时间对计算节点的相对时钟斜率,实现节点间的时钟斜率同步;将偏移补偿和斜率补偿分离,可以提供时间同步收敛速度。
【IPC分类】H04W56/00, H04L7/00
【公开号】CN105490799
【申请号】CN201610029482
【发明人】张晖, 赵鹏
【申请人】南京邮电大学
【公开日】2016年4月13日
【申请日】2016年1月15日