时钟同步方法、装置、电子设备和存储介质与流程

专利检索2022-05-10  9



1.本公开涉及通信技术,尤其涉及一种时钟同步方法、装置、电子设备和存储介质。


背景技术:

2.随着通信技术及流媒体技术的发展,网络中不同电子设备的时钟同步起着越来越重要的作用。如果两个电子设备的时钟同步性较差,会导致数据传输的延迟,降低两个电子设备进行流媒体播放同步精度,甚至两个电子设备播放的内容不是同一时刻对应的流媒体信息,从而引起对播放内容错误的理解或分析,降低使用体验。


技术实现要素:

3.本公开提供一种时钟同步方法、装置、电子设备和存储介质。
4.根据本公开第一方面实施例,提供了一种时钟同步方法,应用于第一电子设备中,所述方法包括:
5.根据s次同步数据包的收发时间,确定s个第一时钟差;其中,一次同步数据包的收发对应于一个所述第一时钟差;所述s为大于或等于2的正整数;
6.根据每次所述同步数据包的传输延时,从s个所述第一时钟差确定出第二时钟差;
7.校正所述第二时钟差,得到第三时钟差;
8.根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
9.在一些实施例中,所述校正所述第二时钟差,得到第三时钟差,包括:
10.当本次时钟同步时所述第一电子设备和所述第二电子设备之间的首次时钟同步,将所述第二时钟差确定为所述第三时钟差;
11.当本次时钟同步是所述第一电子设备和所述第二电子设备之间的第n次时钟同步,根据第n

1次时钟同步的第三时钟差、第n次时钟同步的所述第二时钟差及滤波系数,得到第n次时钟同步的第三时钟差;其中,n为不小于2的正整数。
12.在一些实施例中,所述当本次时钟同步是所述第一电子设备和所述第二电子设备之间的第n次时钟同步,根据第n

1次时钟同步的第三时钟差、第n次时钟同步的所述第二时钟差及滤波系数,得到第n次时钟同步的第三时钟差,包括:
13.根据第n次时钟同步的第二时钟差与滤波系数,得到第一计算值;
14.根据所述第n

1次时钟同步的第三时钟差与所述滤波系数,得到第二计算值;
15.基于所述第一计算值和所述第二计算值,得到第n次时钟同步的第三时钟差。
16.在一些实施例中,所述同步数据包,包括:同步请求数据包和同步应答数据包;其中,所述同步应答数据包为基于所述同步请求数据包发送的;
17.所述根据每次所述同步数据包的传输延时,从s个所述第一时钟差确定出第二时钟差,包括:
18.根据第一电子设备发送所述同步请求数据包的时间戳及接收到所述第二电子设
备的所述同步应答包的返回时间戳,确定出s个所述传输延时;
19.将s个所述传输延时中最小传输延时对应的第一时钟差,确定为所述第二时钟差。
20.在一些实施例中,所述方法还包括:根据h个所述第三时钟差,确定所述第一电子设备和第二电子设备之间的时钟偏移值;其中,所述h为大于或等于2的正整数;
21.根据所述时钟偏移值,确定滤波阈值;
22.所述根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步,包括:
23.当所述第n次的所述第三时钟差小于或等于所述滤波阈值时,根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步;
24.当所述第n次的所述第三时钟差大于所述滤波阈值时,根据所述滤波阈值进行所述第一电子设备与所述第二电子设备之间的时钟同步。
25.在一些实施例中,所述根据h个所述第三时钟差,确定所述第一电子设备和第二电子设备之间的时钟偏移值,包括:
26.确定本次时钟同步之前连续h次时钟同步中最大第三时钟差;所述h为大于或等于2的正整数;
27.确定所述最大第三时钟差与h之间的商;
28.确定本次时钟同步之前的第三时钟差的平均值及所述商,确定所述时钟偏移值。
29.在一些实施例中,所述根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步,包括:
30.确定本次时钟同步之前的连续f次所述第三时钟差的均值;所述f为大于或等于2的正整数;
31.当所述均值大于所述时钟偏移值时,停止所述本次时钟同步;
32.当所述均值小于或等于所述时钟偏移值时,根据本次时钟同步进行所述第一电子设备与所述第二电子设备之间的时钟同步。
33.在一些实施例中,所述根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步,包括:
34.比较所述第三时钟差与阻塞阈值之间的大小;
35.当本次时钟同步的所述第三时钟差大于所述阻塞阈值时,根据所述时钟偏移值进行所述第一电子设备与所述第二电子设备之间的时钟同步;
36.当本次时钟同步的所述第三时钟差小于或等于所述阻塞阈值时,根据本次时钟同步的所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
37.根据本公开第二方面实施例,提供了一种时钟同步装置,所述装置包括:
38.计算模块,用于根据s次同步数据包的收发时间,确定s个第一时钟差;其中,一次同步数据包的收发对应于一个所述第一时钟差;所述s为大于或等于2的正整数;
39.第一确定模块,用于根据每次所述同步数据包的传输延时,从s个所述第一时钟差确定出第二时钟差;
40.校正模块,用于校正所述第二时钟差,得到第三时钟差;
41.同步模块,根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
42.在一些实施例中,所述校正模块,用于:
43.当本次时钟同步时所述第一电子设备和所述第二电子设备之间的首次时钟同步,将所述第二时钟差确定为所述第三时钟差;
44.当本次时钟同步是所述第一电子设备和所述第二电子设备之间的第n次时钟同步,根据第n

1次时钟同步的第三时钟差、第n次时钟同步的所述第二时钟差及滤波系数,得到第n次时钟同步的第三时钟差;其中,n为不小于2的正整数。
45.在一些实施例中,所述校正模块,用于:
46.根据第n次时钟同步的第二时钟差与滤波系数,得到第一计算值;
47.根据所述第n

1次时钟同步的第三时钟差与所述滤波系数,得到第二计算值;
48.基于所述第一计算值和所述第二计算值,得到第n次时钟同步的第三时钟差。
49.在一些实施例中,所述同步数据包,包括:同步请求数据包和所述同步应答数据包;其中,所述同步应答数据包为基于所述同步请求数据包发送的;
50.所述第一确定模块,用于:
51.根据第一电子设备发送所述同步请求数据包的时间戳及接收到所述第二电子设备的所述同步应答包的返回时间戳,确定出s个所述传输延时;
52.将s个所述传输延时中最小传输延时对应的第一时钟差,确定为所述第二时钟差。
53.在一些实施例中,所述装置包括:
54.第二确定模块,用于根据h个所述第三时钟差,确定所述第一电子设备和第二电子设备之间的时钟偏移值;其中,所述h为大于或等于2的正整数;
55.第三确定模块,用于根据所述时钟偏移值,确定滤波阈值;
56.所述同步模块,用于:
57.当所述第n次的所述第三时钟差小于或等于所述滤波阈值时,根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步;
58.当所述第n次的所述第三时钟差大于所述滤波阈值时,根据所述滤波阈值进行所述第一电子设备与所述第二电子设备之间的时钟同步。
59.在一些实施例中,所述第二确定模块,用于:
60.确定本次时钟同步之前连续h时钟同步中最大第三时钟差;
61.确定所述最大第三时钟差与h之间的商;
62.确定本次时钟同步之前的第三时钟差的平均值及所述商,确定所述时钟偏移值。
63.在一些实施例中,所述同步模块,用于:
64.确定本次时钟同步之前的连续f次所述第三时钟差的均值;
65.当所述均值大于所述时钟偏移值时,停止所述本次时钟同步;
66.当所述均值小于或等于所述时钟偏移值时,根据本次时钟同步进行所述第一电子设备与所述第二电子设备之间的时钟同步。
67.在一些实施例中,所述同步模块,用于:
68.比较所述第三时钟差与阻塞阈值之间的大小;
69.当本次时钟同步的所述第三时钟差大于所述阻塞阈值时,根据所述时钟偏移值进行所述第一电子设备与所述第二电子设备之间的时钟同步;
70.当本次时钟同步的所述第三时钟差小于或等于所述阻塞阈值时,根据本次时钟同
步的所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
71.根据本公开第三方面实施例,提供了一种电子设备,包括:
72.处理器;
73.用于存储处理器可执行指令的存储器;
74.其中,所述处理器被配置为:实现时执行第一方面实施例所述的方法步骤。
75.根据本公开第四方面实施例,提供了计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行实现执行第一方面实施例所述的方法步骤。
76.本公开的实施例提供的技术方案可以包括以下有益效果:
77.由上述实施例可知,本公开实施例根据同步数据包的传输延迟,从多个第一时钟差中确定出比较可靠的第二时钟差,降低了网络干扰的影响,至少减少了网络干扰导致的误差在第二时钟差中的累积,进而减少网络干扰对同步精度的影响。对第二时钟误差校正得到第三时钟误差,进一步减少了误差,提高了第一电子设备和第二电子设备之间时钟同步的精度,使用纯软件方式实现高精度的时钟同步,进而提高了第一电子设备和第二电子设备播放流媒体的同步精度,提高使用体验。
78.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
79.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
80.图1是根据一示例性实施例示出的时钟同步方法的流程图;
81.图2是第一电子设备和第二电子设备在同步数据包时的流程图之一;
82.图3是第一电子设备和第二电子设备在同步数据包时的流程图之二;
83.图4是根据一示例性实施例示出的时钟同步装置的结构示意图;
84.图5是根据一示例性实施例示出的用于时钟同步的装置的组成结构框图。
具体实施方式
85.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置的例子。
86.本公开第一方面实施例提供了一种时钟同步方法,应用于第一电子设备中,如图1所示,所述方法包括:
87.步骤s110、根据s次同步数据包的收发时间,确定s个第一时钟差;其中,一次同步数据包的收发对应于一个所述第一时钟差;所述s为大于或等于2的正整数;
88.步骤s120、根据每次所述同步数据包的传输延时,从s个所述第一时钟差确定出第二时钟差;
89.步骤s130、校正所述第二时钟差,得到第三时钟差;
90.步骤s140、根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
91.步骤s110中,可以根据第一电子设备接收同步数据包的时间差及第二电子设备接收同步数据包的时间差,确定第一时钟差。
92.在一些实施例中,所述同步数据包,包括:同步请求数据包和同步应答数据包;其中,所述同步应答数据包为基于所述同步请求数据包发送的
93.例如:如图2和图3所示。第一电子设备和第二电子设备同步的过程包括:第一电子设备向第二电子设备发送同步请求数据包,及第二电子设备向第一电子设备发送同步应答数据包。其中,在通信网络(例如:wifi或蓝牙等)中,在t1时刻通过第一电子设备发送同步请求数据包(包含当前系统时钟的数据)到第二电子设备,第二电子设备在t2时刻接收到同步请求数据包,并将t2的时间记录到当前的同步请求数据包中,在t3时刻,第二电子设备将当前t3时钟记录到同步应答数据包中并发送给第二电子设备,第二电子设备在t4时刻接收到同步应答数据包,第二电子设备将t4时间记录到同步应答数据包。至此,一次数据同步完成。同理,第二次进行数据同步时,第一电子设备将同步请求数据包发送至第二电子设备的时间为t1’,第二电子设备收到同步请求数据包的时间为t2’,第二电子设备向第一电子设备发送同步应答数据包的时间为t3’,第一电子设备接收同步应答数据包的时间为t4’。以此类推多次数据同步过程。图3示例性地示出了两次同步数据的过程,图3示例性地示出了一次同步数据的过程。
94.根据图3所示的同步数据过程,第一时钟误差(亦称linkdelay,链路延迟)δd为:
95.δd=((t4

t1)

(t3

t2))/2
96.若t1=0us,t2等于5000us,t3=5005us,t4=25us,则δd=((25

0)

(5005

5000))/2=10us。
97.或者δd=t4

t1 t2

t3,但不限于此。
98.在实际应用中,会因网络干扰造成部分第一时钟差误差较大,部分第一时钟差误差较小。
99.步骤s120中,第二时钟差是根据预设条件从第一时钟差中选定的、误差比较小的时钟差值。根据同步数据包的传输延迟,从多个第一时钟差中确定出比较可靠的第二时钟差,降低了网络干扰的影响,至少减少了网络干扰导致的误差在第二时钟差中的累积,进而减少网络干扰对同步精度的影响。
100.同步数据包的传输延时指同步数据包的收发时间差,可以表征链路延迟。例如,根据图2和图3所示,传输延时为t4

t1。
101.在一些实施例中,传输延时与第一时钟差相等。即可以用计算第一时钟差的算法,计算得到传输延时。但并不限于此。
102.步骤s130中,对第二时钟误差校正得到第三时钟误差,进一步减少了误差,提高了第一电子设备和第二电子设备之间时钟同步的精度。进而提高了第一电子设备和第二电子设备播放流媒体的同步精度,提高使用体验。
103.步骤s140中,可根据第三时钟差,对第一电子设备和/或第二电子设备的时钟值进行调节。此处的调节包括:增大第一电子设备和第二电子设备中一个设备的始终,或者,缩小第一电子设备和第二电子设备中一个设备的时钟值。其中,时钟的调节量可以等于第三
时钟差。
104.在其他可选实施例中,所述校正所述第二时钟差,得到第三时钟差,包括:
105.当本次时钟同步时所述第一电子设备和所述第二电子设备之间的首次时钟同步,将所述第二时钟差确定为所述第三时钟差;
106.当本次时钟同步是所述第一电子设备和所述第二电子设备之间的第n次时钟同步,根据第n

1次时钟同步的第三时钟差、第n次时钟同步的所述第二时钟差及滤波系数,得到第n次时钟同步的第三时钟差;其中,n为不小于2的正整数。
107.本次校正可以进一步降低第二时钟差中因网络抖动或网络堵塞等网络干扰的影响造成的误差,可进一步提高同步精度。本次校正亦是一次滤波过程,为了方便描述,将本次校正称为第一次滤波。
108.在其他可选实施例中,所述当本次时钟同步是所述第一电子设备和所述第二电子设备之间的第n次时钟同步,根据第n

1次时钟同步的第三时钟差、第n次时钟同步的所述第二时钟差及滤波系数,得到第n次时钟同步的第三时钟差,包括:
109.根据第n次时钟同步的第二时钟差与滤波系数,得到第一计算值;
110.根据所述第n

1次时钟同步的第三时钟差与所述滤波系数,得到第二计算值;
111.基于所述第一计算值和所述第二计算值,得到第n次时钟同步的第三时钟差。
112.在一些实施例中,可根据下列公式(1)对第二时钟差进行校正。
113.t(n)=t(n

1)*(1

k) k*δtn(n>=2)
ꢀꢀꢀ
(1)
114.其中,t(1)=δt1,t(n)为第n次时钟同步的所述第二时钟差,t(n

1)为k为第n

1次时钟同步的第三时钟差;k为滤波系数,0≤k≤1.0。例如:k为0、0.2、0.5、0.7、0.8或1.0等。假设s个第一时钟差为一个时钟差组;
115.δtn为从第n个时钟差对应的s个所述第一时钟差中确定的第二时钟差。
116.在其他可选实施例中,所述同步数据包,包括:同步请求数据包和同步应答数据包;其中,所述同步应答数据包为基于所述同步请求数据包发送的;
117.所述根据每次所述同步数据包的传输延时,从s个所述第一时钟差确定出第二时钟差,包括:
118.根据第一电子设备发送所述同步请求数据包的时间戳及接收到所述第二电子设备的所述同步应答包的返回时间戳,确定出s个所述传输延时;
119.将s个所述传输延时中最小传输延时对应的第一时钟差,确定为所述第二时钟差。
120.例如,同步请求数据包会携带发送所述同步请求数据包的发送时间戳。在第二电子设备接收到所述同步请求数据包之后会记录接收时间,并且向第一设备返回同步应答数据包。同步应答数据包中可包括:同步请求数据包的接收时间戳和同步应答数据包的发送时间戳。第一设备接收到同步应答数据包时会记录同步应答数据包的接收时间,因此,第一设备将知晓一次同步数据包收发过程中4个时间值,即t1至t4。
121.如图2和图3所示,也可以用t1表示第一电子设备发送所述同步请求数据包的时间戳,用t4表示接收到所述第二电子设备的所述同步应答包的返回时间戳,则传输延时δd的计算公式(2)为:
122.δd=t4

t1
ꢀꢀꢀ
(2)
123.比较s个由公式(2)计算的传输延迟,选择最小传输延迟作为第二时钟值,这一确
定第二时钟过程为上述从s个第一时钟差中确定第二时钟差的预设规则。公式(1)中,δtn为经过该预设规则得到的第二时钟差。
124.在实际应用中,壳连续进行多次测量,得到多组数据(每组数据均包括完成一次同步数据时的t1,t2,t3和t4),并计算每组数据的δd。
125.传输延迟最小,即同步数据包在无线传输过程中耽误的时间最小,采用这种传输延迟最小的t1至t4计算出的第一时钟值是最接近第一设备和第二设备之间的时钟差值的。
126.利用公式(2)确定传输延迟更加简单,可在公式(2)的计算基础上进一步计算得到第二时钟差,占用的计算资源小。
127.在其他一些实施例中,所述方法还包括:根据h个所述第三时钟差,确定所述第一电子设备和第二电子设备之间的时钟偏移值;其中,所述h为大于或等于2的正整数;
128.根据所述时钟偏移值,确定滤波阈值;
129.所述根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步,包括:
130.当所述第n次的所述第三时钟差小于或等于所述滤波阈值时,根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步;
131.当所述第n次的所述第三时钟差大于所述滤波阈值时,根据所述滤波阈值进行所述第一电子设备与所述第二电子设备之间的时钟同步。
132.时钟偏移值亦称为时钟漂移,一般是因为硬件结构差异等造成的误差,这类误差较为固定。长时间累积后会导致误差加大,因此,第一电子设备和第二电子设备在进行较长时间的同步播放后,需要利用时钟偏移值确定的滤波阈值去除长期积累的误差,保证同步精度。
133.此处的h的具体取值,可等于第一设备和第二设备之间已经进行的时钟同步次数,例如,当前是第100次同步,则h等于99。如此,随着第一设备和第二设备之间的同步次数越多,则h的取值越大。
134.在一些实施例中,所述根据所述时钟偏移值,确定滤波阈值,包括:
135.根据所述时钟偏移值与限制系数的乘积,确定所述滤波阈值。
136.例如:以m’表示时钟偏移值,以x表示限制系数,则滤波阈值为m’*x。限制系数可以是2或3等,但不限于此。
137.在一些实施例中,通过以下公式(4)计算m’。
138.m’=δt(h)/h=m δm/h
ꢀꢀꢀ
(4)
139.m为每秒钟第一电子设备和第二电子设备之间的实际时钟偏移值;δm为本次时钟同步之前连续h次时钟同步中最大第三时钟差。h为大于等于2的正整数。
140.当第n次的第三时钟差大于滤波阈值时,表明第n次的第三时钟差误差较大,需要理由滤波阈值降低第n次的第三时钟差的误差,以进一步降低误差累积,保证同步精度。
141.利用滤波阈值进行时钟同步的过程也是一次滤波过程,为了区分第一次滤波,此次滤波成为第二次滤波。
142.非限制地,第三时钟差为第一次滤波后得到的第三时钟差。即时钟同步的过程包括第一次滤波和第二次滤波。一般地,经第一次滤波后,第三时钟差的误差已经降低,通过会在

500us以下,但如果受网络阻塞或干扰严重影响,每次同步误差都是500us,长时间工
作会产生累积漂移,造成误差加大,所以第二次滤波来降低这个影响,以进一步提高同步精度。
143.如果我们首次计算的差值为δt1,经过若干次同步之后计算的差值为δtn,经过了n秒时间,那么,我们可以计算出已经经过的时间每秒钟的时钟漂移:能够进一步减小误差,进一步提高同步精度。
144.在其他一些实施例中,所述根据h个所述第三时钟差,确定所述第一电子设备和第二电子设备之间的时钟偏移值,包括:
145.确定本次时钟同步之前连续h次时钟同步中最大第三时钟差;所述h为大于或等于2的正整数;
146.确定所述最大第三时钟差与h之间的商;
147.确定本次时钟同步之前的第三时钟差的平均值及所述商,确定所述时钟偏移值。
148.每个第三时钟差均包括实际累积的时钟偏移值和两个电子设备之间的实际误差,为了保证计算精确度,将最大第三时钟差作为两个电子设备之间的实际误差。在经过足够长时间后,即h足够大时,所述商可以忽略,进而,利用本次时钟同步之前的第三时钟差的平均值及所述商得到的理论的时钟偏移值更接近实际的时钟偏移值。
149.在一些实施例中,以δt(h)表示第三时钟差,则第三时钟差满足公式(3)的关系:
150.δt(h)=m*h δm
ꢀꢀꢀ
(3)
151.其中:m为单位时间内实际时钟偏移值,例如:m为每秒钟第一电子设备和第二电子设备之间的实际时钟偏移值;δm为本次时钟同步之前连续h次时钟同步中最大第三时钟差。h为大于等于2的正整数。则理论的时钟偏移值m’可通过下列公式(4)计算得出:
152.m’=δt(h)/h=m δm/h
ꢀꢀꢀ
(4)
153.当h越大,δm/n计算得到的理论的时钟偏移值m’和实际的时钟偏移值m之间的误差会越小。
154.在其他一些实施例中,所述根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步,包括:
155.确定本次时钟同步之前的连续f次所述第三时钟差的均值;所述f为大于或等于2的正整数;
156.当所述均值大于所述时钟偏移值时,停止所述本次时钟同步;
157.当所述均值小于或等于所述时钟偏移值时,根据本次时钟同步进行所述第一电子设备与所述第二电子设备之间的时钟同步。
158.在实际应用中,当h时间足够长的时候,m’的精度已经非常接近m值,那么通过m’*tm可以计算出在h时间段的理论漂移时间,当实际的累积校正时间超出m’*t(h)的理论值时,限制进一步校正,如输出t(h)=t(h

1)。
159.在其他一些实施例中,所述根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步,包括:
160.比较所述第三时钟差与阻塞阈值之间的大小;
161.当本次时钟同步的所述第三时钟差大于所述阻塞阈值时,根据所述时钟偏移值进行所述第一电子设备与所述第二电子设备之间的时钟同步;
162.当本次时钟同步的所述第三时钟差小于或等于所述阻塞阈值时,根据本次时钟同
步的所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
163.阻塞阈值为预设值,可以是0.5ms、1ms或1.5ms等,但不限于此。
164.在一个实施例中,阻塞阈值大于滤波阈值。示例性地,阻塞阈值远大于滤波阈值;滤波阈值可为us级别的时长;而阻塞阈值可为ms级别或者ms级别以上的时长。
165.若单次第三时钟差大于阻塞阈值,认为网络出现严重阻塞,认为此次第三时钟差为无效值,不进入计算,直接使用m值进行校正。
166.若连续多次计算第三时钟差均大于阻塞阈值,认为校时失败,需要进行重新校正。
167.本公开第二方面实施例提供了一种时钟同步装置,如图4所示,所述装置200包括:
168.计算模块210,用于根据s次同步数据包的收发时间,确定s个第一时钟差;其中,一次同步数据包的收发对应于一个所述第一时钟差;所述s为大于或等于2的正整数;
169.第一确定模块220,用于根据每次所述同步数据包的传输延时,从s个所述第一时钟差确定出第二时钟差;
170.校正模块230,用于校正所述第二时钟差,得到第三时钟差;
171.同步模块240,根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
172.在其他一些实施例中,所述校正模块,用于:
173.当本次时钟同步时所述第一电子设备和所述第二电子设备之间的首次时钟同步,将所述第二时钟差确定为所述第三时钟差;
174.当本次时钟同步是所述第一电子设备和所述第二电子设备之间的第n次时钟同步,根据第n

1次时钟同步的第三时钟差、第n次时钟同步的所述第二时钟差及滤波系数,得到第n次时钟同步的第三时钟差;其中,n为不小于2的正整数。
175.在其他一些实施例中,所述校正模块,用于:
176.根据第n次时钟同步的第二时钟差与滤波系数,得到第一计算值;
177.根据所述第n

1次时钟同步的第三时钟差与所述滤波系数,得到第二计算值;
178.基于所述第一计算值和所述第二计算值,得到第n次时钟同步的第三时钟差。
179.在其他一些实施例中,所述同步数据包,包括:同步请求数据包和所述同步应答数据包;其中,所述同步应答数据包为基于所述同步请求数据包发送的;
180.所述第一确定模块,用于:
181.根据第一电子设备发送所述同步请求数据包的时间戳及接收到所述第二电子设备的所述同步应答包的返回时间戳,确定出s个所述传输延时;
182.将s个所述传输延时中最小传输延时对应的第一时钟差,确定为所述第二时钟差。
183.在其他一些实施例中,所述装置包括:
184.第二确定模块,用于根据h个所述第三时钟差,确定所述第一电子设备和第二电子设备之间的时钟偏移值;其中,所述h为大于或等于2的正整数;
185.第三确定模块,用于根据所述时钟偏移值,确定滤波阈值;
186.所述同步模块,用于当所述第n次的所述第三时钟差小于或等于所述滤波阈值时,根据所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步;
187.当所述第n次的所述第三时钟差大于所述滤波阈值时,根据所述滤波阈值进行所述第一电子设备与所述第二电子设备之间的时钟同步。
188.在其他一些实施例中,所述第二确定模块,用于:
189.确定本次时钟同步之前连续h时钟同步中最大第三时钟差;
190.确定所述最大第三时钟差与h之间的商;
191.确定本次时钟同步之前的第三时钟差的平均值及所述商,确定所述时钟偏移值。
192.在其他一些实施例中,所述同步模块,用于:
193.确定本次时钟同步之前的连续f次所述第三时钟差的均值;
194.当所述均值大于所述时钟偏移值时,停止所述本次时钟同步;
195.当所述均值小于或等于所述时钟偏移值时,根据本次时钟同步进行所述第一电子设备与所述第二电子设备之间的时钟同步。
196.在其他一些实施例中,所述同步模块,用于:
197.比较所述第三时钟差与阻塞阈值之间的大小;
198.当本次时钟同步的所述第三时钟差大于所述阻塞阈值时,根据所述时钟偏移值进行所述第一电子设备与所述第二电子设备之间的时钟同步;
199.当本次时钟同步的所述第三时钟差小于或等于所述阻塞阈值时,根据本次时钟同步的所述第三时钟差,进行所述第一电子设备与所述第二电子设备之间的时钟同步。
200.本公开实施例中,第一电子设备和第二电子设备包括但不限于手机、平板电脑、笔记本电脑、电视机或可穿戴设备等。
201.本公开第三方面实施例提供了一种电子设备,包括:
202.处理器;
203.用于存储处理器可执行指令的存储器;
204.其中,所述处理器被配置为:实现时执行第一方面实施例所述的方法步骤。
205.本公开第四方面实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行实现第一方面实施例所述的方法步骤。
206.在示例性实施例中,时钟同步装置中的多个模块等可以被一个或多个中央处理器(cpu,central processing unit)、图形处理器(gpu,graphics processing unit)、基带处理器(bp,baseband processor)、应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。
207.图5是根据一示例性实施例示出的一种用于时钟同步的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
208.参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
209.处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相
机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
210.存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
211.电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
212.多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
213.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
214.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
215.传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
216.通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如wifi,4g或5g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例
如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
217.在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
218.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd

rom、磁带、软盘和光数据存储设备等。
219.本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
220.本公开所提供的几个设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
221.本公开所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或产品实施例。
222.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
223.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
转载请注明原文地址:https://win.8miu.com/read-150442.html

最新回复(0)