网络节点的时间同步方法、装置、电子设备及存储介质

文档序号:195452 发布日期:2021-11-02 浏览:39次 >En<

阅读说明:本技术 网络节点的时间同步方法、装置、电子设备及存储介质 (Time synchronization method and device of network node, electronic equipment and storage medium ) 是由 黄秀峰 于 2021-07-28 设计创作,主要内容包括:本申请公开了一种网络节点的时间同步方法、装置、电子设备及存储介质,通过第二网络节点接收第一网络节点发送的第一同步时间帧,在接收到第一同步时间帧后解析第一同步时间帧,以确定第一同步时间帧携带的第一待同步时间。再确定第一同步时间帧的接收时长和解析时长,根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。由于第二网络节点进行时间同步时不仅考虑第一待同步时间,同时还结合了第一待同步时间帧接收过程和解析过程的时间损耗,从而有效降低时间同步的误差,提升同步控制的一致性。(The application discloses a time synchronization method and device of a network node, electronic equipment and a storage medium. And then determining the receiving time length and the analyzing time length of the first synchronization time frame, and updating the time of the second network node according to the receiving time length, the analyzing time length and the first time to be synchronized. The second network node not only considers the first time to be synchronized when time synchronization is carried out, but also combines the time loss of the receiving process and the analyzing process of the first time frame to be synchronized, thereby effectively reducing the error of time synchronization and improving the consistency of synchronization control.)

网络节点的时间同步方法、装置、电子设备及存储介质

技术领域

本申请涉及通信技术领域,更具体地,涉及一种网络节点的时间同步方法、装置、电子设备和存储介质。

背景技术

在多层级网络结构中对不同层级网络节点进行同步控制的关键是各层级网络节点的时间同步。只有各层级网络节点的时间同步,才可以在相同的时间对不同层级的网络节点进行同步控制。

目前,多层级网络结构中实现时间同步的方法主要是由第一网络节点将同步时间帧发送至下一层级的网络节点。其他层级的网络节点在收到同步时间帧后,根据同步时间帧的时间对本级网络节点进行时间更新,并将同步时间帧转发至下一层级的网络节点。

如此,各层级网络节点接收到同步时间帧的时间不同,层级越后,距离第一网络节点越远,接收到同步时间帧的时间越晚。导致各层级网络节点设置的同步时间存在差异,从而无法保证各层级网络节点的时间同步。

发明内容

鉴于上述问题,本发明提出了一种网络节点的时间同步方法、装置、电子设备及存储介质,以改善上述问题。

第一方面,本申请实施例提供了一种网络节点的时间同步方法,该方法应用于第二网络节点,第二网络节点的上一级网络节点为第一网络节点,该方法包括:接收第一网络节点发送的第一同步时间帧。解析第一同步时间帧,以确定第一同步时间帧携带的第一待同步时间。确定第一同步时间帧的接收时长。确定第一同步时间帧的解析时长。根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。

第二方面,本申请实施例还提供了一种网络节点的时间同步方法,该方法应用于第一网络节点,第一网络节点的下一级节点为第二网络节点。该方法包括:获取第一网络节点的当前时刻作为第一待同步时间。向第二网络节点发送第一同步时间帧,第一同步时间帧根据第一待同步时间生成,第一同步时间帧用于使第二网络节点根据第一待同步时间、第一同步时间帧的接收时长以及第一同步时间帧的解析时长进行时间更新。

第三方面,本申请实施例还提供了一种网络节点的时间同步装置,该装置应用于第二网络节点,第二网络节点的上一级网络节点为第一网络节点。该装置包括:同步指令接收模块、同步指令解析模块、接收时长确定模块、解析时长确定模块以及时间同步模块。其中,同步指令接收模块用于接收第一网络节点发送的第一同步时间帧。同步指令解析模块用于解析第一同步时间帧,以确定第一时间帧携带的第一待同步时间。接收时长确定模块用于确定第一同步时间帧的接收时长。解析时长确定模块用于确定第一同步时间帧的解析时长。时间同步模块用于根据接收时长、解析时长和第一待同步时间更新第二网络节点时间。

第四方面,本申请实施例还提供了一种电子设备,该设备包括:一个或多个处理器、存储器以及一个或多个应用程序。其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行。一个或多个程序配置用于执行如第一方面或第二方面的方法。

第五方面,本申请实施例还提供了一种计算机可读取存储介质,该计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行如第一方面或第二方面的方法。

本申请提供的技术方案中,通过第二网络节点接收第一网络节点发送的第一同步时间帧,在接收到第一同步时间帧后解析第一同步时间帧,以确定第一同步时间帧携带的第一待同步时间。再确定第一同步时间帧的接收时长和解析时长,根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。由于第二网络节点进行时间同步时不仅考虑第一待同步时间,同时还结合了第一待同步时间帧接收过程和解析过程的时间损耗,从而有效降低时间同步的误差,提升同步控制的一致性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例及附图,都属于本申请保护的范围。

图1示出了本申请一实施例提出的一种应用环境的示意图。

图2示出了本申请另一实施例提出的另一种应用环境的示意图。

图3示出了本申请一实施例提出的网络节点的时间同步方法的流程示意图。

图4示出了本申请另一实施例提出的网络节点的时间同步方法的流程示意图。

图5示出了本申请又一实施例提出的网络节点的时间同步方法的流程示意图。

图6示出了本申请再一实施例提出的网络节点的时间同步方法的流程示意图。

图7示出了本申请还一实施例提出的网络节点的时间同步方法的流程示意图。

图8示出了本申请又另一实施例提出的网络节点的时间同步方法的流程示意图。

图9示出了本申请又另一实施例中网络节点的时间同步过程的示意图

图10示出了本申请又另一实施例中步骤S640的流程示意图。

图11示出了本申请又另一实施例中网络节点的同步控制过程的示意图

图12示出了本申请又再一实施例提出的网络节点的时间同步装置的结构框图。

图13示出了本申请又还一实施例提出的网络节点的时间同步装置的结构框图。

图14示出了本申请再另一实施例提出的一种电子设备结构框图。

图15示出了本申请还另一实施例提出的一种计算机可读存储介质的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

在多层级网络结构中对不同层级网络节点进行同步控制的关键是实现个层级网络节点的时间同步。只有各层级网络节点的时间同步,才可以在相同的时间对不同层级的网络节点进行同步控制。如果各层级网络节点的时间不同步,则会出现在响应控制指令的时候各层级网络节点响应时间各不相同,无法实现对各层级网络节点的同步控制。

目前,多层级网络结构中实现时间同步的方法主要是由第一网络节点将同步时间数据帧发送至下一层级的网络节点,下一层级的网络节点继续下发,即层层发送至其他各层级的网络节点。其他层级的网络节点在收到同步时间帧后,根据同步时间帧的时间对本级网络节点进行时间更新,并将同步时间帧转发至下一层级的网络节点。

如此,各层级网络节点所处网络层级不同,导致各层级网络节点接收同步时间帧的时间不同。层级越后,距离第一网络节点越远,接收到同步时间帧的时间越晚。导致各层级网络节点设置的同步时间存在差异,从而无法保证各层级网络节点的时间同步,从而导致各层级网络节点在同步控制时,无法同时执行控制指令。

因此,为了改善上述问题,本申请的发明人提出了本申请提供的网络节点的时间同步方法、装置、电子设备及存储介质。通过第二网络节点接收第一网络节点发送的第一同步时间帧,在接收到第一同步时间帧后解析第一同步时间帧,以确定第一同步时间帧携带的第一待同步时间。再确定第一同步时间帧的接收时长和解析时长,根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。由于第二网络节点进行时间同步时不仅考虑第一待同步时间,同时还结合了第一待同步时间帧接收过程和解析过程的时间损耗,从而有效降低时间同步的误差,提升同步控制的一致性。

为了更好地理解本申请实施例的方案,下面先对本实施例所使用的技术名词进行解释。

第一网络节点,第二网络节点的上一级网络节点,可向第二网络节点发送数据帧。

第二网络节点,第一网络节点的下一级网络节点,可接收第一网络节点发送的数据帧。

第一同步时间帧,由第一网络节点向第二网络节点发送的数据帧,携带有用于时间同步的第一待同步时间。

接收时长,第二网络节点接收第一同步时间帧所需时长。

解析时长,第二网络节点解析第一同步时间帧所需时长。

下面将针对本发明实施例提供的网络节点的时间同步方法的应用坏境进行介绍。

请参阅图1,图1示出了本申请实施例提供的一种网络节点的时间同步系统100,该系统包括第一网络节点110以及第二网络节点120。第一网络节点110的下一级网络节点为第二级网络节点120。

在一些实施方式中,同处于同一层级的网络节点之间可以进行数据传输。在一些实施方式中,网络节点可以接收上一级网络节点发送的数据帧,也可以接收下一级网络节点发送的数据帧。同理,网络节点可以发送数据帧至上一级网络节点,也可以发送数据帧至下一网络节点。也就是说,第一网络节点110可以发送数据帧至第二网络节点120,也可以接收第二网络节点120发送的数据帧。

在本申请的实施例中,第一网络节点110和第二网络节点120连接于同一网络,第一网络节点110可以向第二网络节点120发送数据帧,数据帧可以例如是携带有第一待同步时间的第一同步时间帧。这里所说的网络可以包括但不限于ZigBee(紫峰)、WIFI(WirelessFidelity,无线保真)、蓝牙等网络。

在一些实施方式中,第一网络节点110可以发送数据帧控制接收到该数据帧的第二网络节点120。在一些实施方式中,第一网络节点110可以包括但不限于手机、平板电脑、智能控制面板、智能家居等。

在本申请的实施例中,第二网络节点120可以设置一个或者多个。第二网络节点120的数量可以根据实际使用需要进行设置,本申请对此不作限制。

在一些实施方式中,如图2所示,本申请的网络节点的时间同步系统200还可以包括第三网络节点130。第三网络节点130与第一网络节点110、第二网络节点120连接于同一网络。在本申请的实施例中,第二网络节点120的下一级网络节点为第三网络节点130。

在一些实施方式中,第二网络节点120和第三网络节点130可以包括但不限于智能灯、智能窗帘、智能风扇、智能开关等。处于同一层级网络节点的设备类型可以相同,也可以不相同,可以根据实际使用需要进行设置,本申请对此不作限制。

在一些实施方式中,第二网络节点120不仅可以接收数据帧,还可以发送数据帧。是否可以发送数据帧可以根据实际使用需要进行设置,例如,当还存在第三网络节点130的时候,第二网络节点120除了可以接收第一网络节点110发送的数据帧,还可以向第三网络节点130发送数据帧。

在一些实施方式中,网络节点可以直接与相邻层级的网络节点进行数据传输,如果要进行跨层级的网络节点的数据传输,需要通过相邻层级的网络节点进行数据的转发。例如第一网络节点110如果要与第三网络节点130进行数据传输,需要通过第二网络节点120进行数据的转发。即第一网络节点110发送数据帧至第二网络节点120,第二网络节点120转发数据帧至第三网络节点130,从而实现第一网络节点110与第三网络节点130的数据传输。

可以理解的是,根据实际使用需要,本申请的网络节点的时间同步系统还可以包括更多层级的网络节点。例如还可以设置第三网络节点130的下一级网络节点,即第四网络节点等,本申请对此不作限制。

下面将结合附图具体描述本申请的各实施例。

请参阅图3,本申请一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点。其中,第二网络节点的上一级网络节点为第一网络节点,该方法可以包括步骤S110至步骤S150。

步骤S110、接收第一网络节点发送的第一同步时间帧。

在本申请的实施例中,第二网络节点接收第一网络节点发送的第一同步时间帧。

在本申请的实施例中,第一同步时间帧根据第一待同步时间生成。第一待同步时间为第一网络节点用于使各层级网络节点进行同步的时间基准。在一些实施方式中,第一待同步时间可以是第一网络节点向第二网络节点发送第一同步时间帧时,第一网络节点的时钟对应的时间,第二网络节点根据第一待同步时间来更新本级网络节点的时间。

可以理解的是,在多级网络结构中,每级网络节点都设置有各自的时钟。通常来说,各级网络节点的时钟对应的时间是相同的。但由于网络节点使用的时钟存在精度指标,即与标准时间相比会存在细微的误差。导致时钟在运行的过程中,随着时间的积累,误差会越来越大。而不同层级的网络节点的时钟精度也可能存在差异,也即不同网络节点在相同时间段的累积误差也可能不同。因此导致各个网络节点的时间不同步,从而无法影响对不同网络节点的同步控制。

在一些实施方式中,各层级网络节点的时钟运行同样的时间之后有了误差积累,在第一网络节点的时钟时间为8:00时,第二网络节点的时钟时间为8:01,第三网络节点的时钟时间为8:02。也即由于时钟误差,第一网络节点、第二网络节点和第三网络节点的时间不同步。如果此时第一网络节点发送对于第二网络节点和第三网络节点的同步控制指令,例如第二网络节点为智能灯,第三网络节点为智能灯,控制第二网络节点和第三网络节点在8:05开灯。第二网络节点接收同步控制指令,并将同步控制指令发送至第三网络节点。而在第三网络节点的时钟时间为8:05分时,第三网络开灯,而此时第二网络节点的时钟时间为8:04,还未达到执行时间。从而第二网络节点和第三网络节点无法同时执行控制指令,即第一网络节点无法同步控制第二网络节点和第三网络节点。

因此,第一网络节点为了对其他层级的网络节点进行同步控制,需要保证其他层级网络节点的时间同步。为了使各层级的网络时间同步,第一网络节点可以发送携带有第一待同步时间的第一同步时间帧给第二网络节点,再经过第二网络节点层层转发至各层级的节点,以使各层级的节点根据第一待同步时间更新本级节点的时间。

但由于各层级的时钟时间精度不同,导致各级网络节点的时间同步之后经过不断地误差积累仍会导致时间不同步地情况出现。为了解决这一问题,优选地,第一网络节点可以周期性地发送同步时间帧,以定时对各层级网络节点的时间进行同步。在本申请的实施例中,根据实际使用需要,可以将发送信号的周期设置为5s、10s等,本申请对此不作限制。

步骤S120、解析第一同步时间帧,确定第一同步时间帧携带的第一待同步时间。

在本申请的实施例中,第二网络节点解析第一网络节点发送的第一同步时间帧,从而确定第一同步时间帧携带的第一待同步时间。

在一些实施方式中,第一同步时间帧包括帧头、数据部分和帧尾。第一待同步时间可以例如是设置于第一同步时间帧的数据部分。第二网络节点接收到第一网络节点发送的第一同步时间帧时,无法直接获取到第一待同步时间。为了获取第一待同步时间,第二网络节点需要对接收到的第一同步时间帧进行进一步解析,以获取被封装在第一同步时间帧中的第一待同步时间。

步骤S130、确定第一同步时间帧的接收时长。

在本申请的实施例中,第二网络节点确定用于接收第一网络节点发送的第一同步时间帧的时长。

在本申请的实施方式中,第一网络节点在开始发送第一同步时间帧的同时,第二网络节点同步开始接收第一同步时间帧。数据帧在空中传播的速度为光速,也即数据帧在空中传播的时间很短,对时间同步影响较小,可以忽略不计。但是数据帧的接收过程,网络节点需要启动接收程序,将数据帧的数据逐步读入缓存。数据帧的接收过程与数据的大小和数据通信速率相关。数据越大数据帧的接收时间越长。通信速率越慢数据帧的接收时间也越长。也就是说,第二网络节点在接收完第一同步时间帧时,此时第一网络节点的时间已不再是第一待同步时间,而是第一待同步时间再加上第一同步时间帧的接收时长。也即第二网络节点在进行时间更新时,不仅要考虑第一待同步时间,还需将第一同步时间帧的接收时长所导致的误差考虑进去。

可以理解的是,确定第一同步时间帧的接收时长的方式有多种,在一些实施方式中,可以通过无线通讯的速率以及数据帧的数据大小确定数据帧的接收时长。例如:在Zigbee(紫峰)网络中,数据进行无线通讯时的速率可以为250Kbps,如果接收的数据为1MB,则接收时长约为33s。

在一些实施方式中,确定接收时长的方式可以在第二网络节点开始接收第一同步时间帧时,触发中断获取一个时间点,在接收结束的时候再出发一次中断获取另一个时间点,另个时间点的时间差即为接收时长。

在一些实施方式中,确定接收时长的方式还可以是在第二网络节点开始接收第一同步时间帧的时候,触发具备计时功能的部件启动计时,在结束接收的时候停止计时,计时的时长即为接收时长。可以理解的是,具备计时功能的部件可以是计时器、芯片定时器等,本申请对此不作限制。

步骤S140、确定第一同步时间帧的解析时长。

在本实施例中,第二网络节点确定解析第一网络节点发送的第一同步时间帧花费的时长。

解析第一同步时间帧的过程就是对第一同步时间帧去帧头和帧尾的过程,这就好比我们取快递时需要核验快递信息,拆掉快递外包装后才能取出快递中的物品。核验快递信息,拆掉快递外包装需要花费一定的时间。同理,对第一同步时间帧进行解析也需要花费一定的时间,解析时间也会对时间同步造成误差。为了降低时间同步的误差,可以进一步将解析时长也作为第二网络节点时间同步的参考。

在一些实施方式中,确定解析时长的方式可以在第二网络节点开始解析第一同步时间帧的时,触发中断获取一个时间点,在结束解析的时候再触发一次中断获取另一个时间点,两个时间点的时间差即为解析时长。

在一些实施方式中,确定解析时长的方式还可以是在第二网络节点开始解析第一同步时间帧的时候触发具备计时功能的部件开始计时,在结束解析的时候停止计时,计时的时长即为接收时长。

步骤S150、根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。

在本实施例中,第二网络节点根据接收第一网络节点发送的第一同步时间帧的第一待同步时间,以及结合接收第一同步时间帧所需的时长、解析第一网络节点发送的第一同步时间帧所需的时长所带来的影响时间同步的误差来更新本级网络节点的时间。也即,此时距离第一网络节点发出第一同步时间帧的第一待同步时间,至少再经历了接收时长和解析时长。此时第一网络节点的时间应是第一待同步时间+接收时长+解析时长。也就是说,为了使第一网络节点和第二网络节点的时间同步,应用第一网络节点此时的时间去更新第二网络节点。

在一些实施方式中,假设,第二网络节点通过解析第一同步时间帧,得到第一待同步时间time,接收第一网络节点发送的第一同步时间帧所需的时长为t1,即接收时长为t1,解析第一网络节点发送的第一同步时间帧花费的时长为t2,即解析时长为t2。因此用于更新第二网络节点的时间=第一待同步时间time+解析时长t1+t2,即第二网络节点的时钟时间调整为time+t1+t2。

本申请一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点。第二网络节点接收第一网络节点发送的第一同步时间帧,在接收完成后解析第一同步时间帧得到第一同步时间帧携带的第一待同步时间。确定第二网络节点接收和解析第一同步时间帧的时长,再根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间,达到第一网络节点和第二网络节点时间同步的目的。

请参阅图4,本申请另一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点,该方法可以包括步骤S210至步骤S270。

步骤S210、接收第一网络节点发送的第一同步时间帧。

步骤S220、解析第一同步时间帧,确定第一同步时间帧携带的第一待同步时间。

步骤S230、确定第一同步时间帧的接收时长。

其中,步骤S210至步骤S230的具体描述请参阅步骤S110至步骤S130,在此不再进行赘述。

步骤S240、在开始解析第一同步时间帧时,获取第二网络节点的当前时刻作为第三时间。

在本实施例中,第二网络节点在开始解析第一网络节点发送的第一同步时间帧时,获取本级网络节点当前的时刻,将当前时刻称为第三时间。

在一些实施方式中,第二网络节点可以在调用解析函数时开始解析,获取第二网络节点当前时钟对应的时刻作为第三时间。在一些实施方式中,第二网络节点还可以在第二网络节点获取到解析标识的时候开始解析,并获取第二网络节点当前时钟对应的时刻作为第三时间。

在本实施例中获取解析第一同步时间帧时长的方式是通过计算解析开始时刻和解析结束时刻的时间差得到,第三时间为第二网络节点开始解析第一同步时间帧时第二网络节点的时钟对应的时间。

步骤S250、在解析获得第一同步时间帧携带的第一待同步时获取第二网络节点的当前时刻作为第四时间。

在本实施例中,第二网络节点在通过解析第一网络节点发送的第一同步时间帧获得第一待同步时间时,获取本级网络节点当前的时刻,将当前时刻称为第四时间,第四时间为第二网络节点结束解析第一同步时间帧时第二网络节点的时钟对应的时间。

步骤S260、根据第三时间和第四时间之间的时间差确定第一同步时间帧的解析时长。

在本实施例中,第二网络节点根据第三时间和第四时间二者之间的时间差确定自己解析第一网络节点发送的第一同步时间帧所需时长。

可以理解的是,获取解析时长的方式有很多,除了计算解析开始时刻和解析结束时刻的时间差得到,还可以采用其他的方式获取,本申请对此不作限制。

步骤S270、根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。

其中,步骤S270的具体描述请参阅步骤S150,在此不再进行赘述。

本申请另一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点。通过在开始解析第一同步时间帧时获取第二网络节点的当前时刻作为第三时间,在解析获得第一同步时间帧携带的第一待同步时间时获取第二网络节点的当前时刻作为第四时间,从而根据第三时间和第四时间的时间差确定第一同步时间帧的解析时长。

请参阅图5,本申请的又一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点,该方法可以包括步骤S310至步骤S380。

步骤S310、接收第一网络节点发送的第一同步时间帧。

步骤S320、解析第一同步时间帧,确定第一同步时间帧携带的第一待同步时间。

步骤S330、确定第一同步时间帧的接收时长。

步骤S340、确定第一同步时间帧的解析时长。

步骤S350、根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。

其中,步骤S310至步骤S350的具体描述请参阅步骤S110至步骤S150,在此不再进行赘述。

步骤S360、确定碰撞退避时长。第二网络节点更新完本级网络的时间后开始检测信道的状态,若信道处于空闲状态,则碰撞退避时长为零。若信道处于忙碌状态,则碰撞退避时长为更新完第二网络节点起至信道处于空闲状态时的时长。

在本实施例中,第二网络节点确定碰撞退避时长。第二网络节点在根据接收第一网络节点发送的第一同步时间帧花费的时长、解析第一网络节点发送的第一同步时间帧花费的时长和通过解析第一网络节点发送的第一同步时间帧得到的第一待同步时间三者之和更新本级网络节点的时间。在第二网络节点更新完自己的时间之后会开始检测第二网络节点和第三网络节点之间通信信道的状态。若检测到信道处于空闲状态,则第二网络节点的碰撞退避时长为零;若检测到信道处于忙碌状态,则继续检测直到检测到信道处于空闲状态,则碰撞退避时长为第二网络节点更新完本级网络节点的时刻起直到检测到信道处于空闲状态时刻的时长。

在第二网络节点更新完本级节点的时间后,为了对后面层级的网络节点进行时间同步,需要进一步生成第二待同步时间帧以及发送第二待同步时间帧至下一层网络节点。

在一些实施方式中,第二网络节点将第二待同步时间封装到第二同步时间帧中,并将第二同步时间帧发送给第三网络节点用于第三网络节点的时间更新。

由于在同一网络层级中,可能存在多个网络节点。也即第二网络节点所在层级还可能包括其它网络节点。而同一层级的不同网络节点共用相同的信道。如果同一层级的多个网络节点同时进行数据发送,则可能发生数据碰撞,从而导致数据部分或者完全丢失的情况。

为了防止数据碰撞,第二网络节点在在向第三网络节点发送第二同步时间帧前,需要确保信道处于空闲状态。在一些实施方式中,第二网络节点可以通过检测第二网络节点和第三网络节点之间通信信道的状态,以确定通信信道的状态。

第二网络节点向第二网络节点和第三网络节点之间的通信信道发送检测信号检测信道的状态,检测信号的种类有多种选择,例如:信道扫描帧、探测信号等。

步骤S370、根据接收时长、解析时长、第一待同步时间以及碰撞退避时长来确定第三网络节点的第二待同步时间。

在本申请的实施例中,第二网络节点根据接收第一网络节点发送的第一同步时间帧所需的时长、解析第一网络节点发送的第一同步时间帧所需的时长、通过解析第一网络节点发送的第一同步时间帧得到的第一待同步时间、以及第二网络节点自更新完本级网络节点的时刻起直到检测到信道处于空闲状态时刻的时长这四者之和来确定发送给第三网络节点的第二同步时间帧中携带的第二待同步时间帧。

步骤S380、向第三网络节点发送第二同步时间帧,第二同步时间帧用于使第三网络节点进行时间更新。

在本申请的实施例中,第二网络节点向第三网络节点发送第二同步时间帧,使第三网络节点接收到第二同步时间帧后对本级网络节点的时间进行更新。

第二同步时间帧根据第二待同步时间生成,第二待同步时间加上帧头和帧尾再经过封装形成第二同步时间帧。

在一些实施方式中,假设第二网络节点接收第一同步时间帧所需时长为t1,即接收时长为t1。解析第一同步时间帧所需时长为t2,即解析时长为t2。通过解析第一同步时间帧得到的第一待同步时间为time。第二网络节点更新完本级网络节点的时刻起直到检测到信道处于空闲状态时刻所需时长为t3,即碰撞退避时长为t3。第三网络节点接收第二时间同步帧所需时长为t4,即接收时长为t4。解析第二同步时间帧所需时长为t5,即解析时长为t5。则用于更新第三网络节点的时间为time+t1+t2+t3+t4+t5,即第三网络节点的时钟时间调整为time+t1+t2+t3+t4+t5。

本申请的又一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点。确定碰撞退避时长,当更新完所述第二网络节点的时间时,检测所述信道的状态。若信道处于空闲状态,则碰撞退避时长为零;若信道处于忙碌状态,则碰撞退避时长为更新完所述第二网络节点时起至信道重新处于空闲状态时的时长。根据接收时长、解析时长、第一待同步时间以及碰撞退避时长确定第三网络节点的第二待同步时间。第二网络节点向第三网络节点发送第二同步时间帧,可以使第三网络节点根据第二同步时间帧携带的第二待同步时间对本级网络节点的时间进行更新。

请参阅图6,本申请的再一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点,该方法可以包括步骤S410至步骤S470.

步骤S410、接收第一网络节点发送的第一同步时间帧。

步骤S420、解析第一同步时间帧,确定第一同步时间帧携带的第一待同步时间。

步骤S430、确定第一同步时间帧的接收时长。

步骤S440、确定第一同步时间帧的解析时长。

步骤S450、根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。

其中,步骤S410至步骤S450的具体描述请参阅步骤S110至步骤S150,在此不再进行赘述。

步骤S460、当信道处于空闲状态时,获取第二网络节点的当前时刻作为第三网络节点的第二待同步时间。

在本申请的实施例中,第二网络节点在更新完本级网络节点的时间后对第二网络节点和第三网络节点之间通信信道进行状态检测,在检测到信道处于空闲状态时,获取自己当前的时刻作为发送给第三网络节点的第二同步时间帧中携带的第二待同步时间。

除了根据接收时长、解析时长、第一待同步时间以及碰撞退避时长来确定第三网络节点的第二待同步时间外,因为此时第二网络节点的时间已经进行了更新,即与第一网络节点的时间是同步的,所以可以直接获取第二网络节点检测到第二网络节点和第三网络节点之间通信信道处于空闲状态的时刻作为第三网络节点的第二待同步时间。

步骤S470、向第三网络节点发送第二同步时间帧。其中第二同步时间帧根据第二待同步时间生成,第二同步时间帧用于使第三网络节点进行时间更新。

在本申请的实施例中,第二网络节点向第三网络节点发送第二同步时间帧。第二同步时间帧根据第二待同步时间生成,第二同步时间帧用于使第三网络节点的时间更新。

本申请的又一实施例提供了一种网络节点的时间同步方法,应用于第二网络节点。当检测第二网络节点和第三网络节点之间的通信信道处于空闲状态时,获取第二网络节点的当前时刻作为第三网络节点的第二待同步时间。之后第二网络节点再向第三网络节点发送第二同步时间帧,其中第二同步时间帧根据第二待同步时间生成,发送携带有第二待同步时间的第二同步时间帧可以使第三网络节点的时间进行更新。

请参阅图7,本申请的还一实施例提供了一种网络节点的时间同步方法,应用于第一网络节点,第一网络节点的下一级节点为第二网络节点,该方法可以包括步骤S510至步骤S520。

步骤S510、获取第一网络节点的当前时刻作为第一待同步时间。

在本申请的实施例中,第一网络节点在和第二网络节点进行通信时获取本级网络节点作为第一待同步时间。

步骤S520、向第二网络节点发送第一同步时间帧。第一同步时间帧根据第一待同步时间生成,第一同步时间帧用于使第二网络节点根据第一待同步时间、第一同步时间帧的接收时长以及第一同步时间帧的解析时长进行时间更新。

在本申请的实施例中,第一网络节点向第二网络节点发送第一同步时间帧。第一同步时间帧根据第一待同步时间生成,第二网络节点根据接收第一网络节点发送的第一同步时间帧的时长、解析第一同步时间帧的时长、以及通过解析第一同步时间帧得到封装在数据帧中的第一待同步时间三者之和对本级网络节点时间进行更新。

本申请的还一实施例提供了一种网络节点的时间同步方法,应用于第一网络节点,第一网络节点的下一级节点为第二网络节点。第一网络节点获取当前时刻作为第一待同步时间,之后再向第二网络节点发送第一同步时间帧,第一同步时间帧根据第一待同步时间生成。第一网络节点向第二网络节点发送第一同步时间帧可以使第二网络节点根据第一待同步时间、第一同步时间帧的接收时长以及第一同步时间帧的解析时长对本级网络节点的时间进行更新。

请参阅图8,本申请的又另一实施例提供了一种网络节点的时间同步方法,应用于第一网络节点,该方法可以包括步骤S610至步骤S640。

步骤S610、获取第一网络节点的当前时刻作为第一待同步时间。

步骤S620、向第二网络节点发送第一同步时间帧。第一同步时间帧根据第一待同步时间生成,第一同步时间帧用于使第二网络节点根据第一待同步时间、第一同步时间帧的接收时长以及第一同步时间帧的解析时长进行时间更新。

其中,步骤S610至步骤S620具体描述请参阅步骤S510至步骤S520,在此不再进行赘述。

步骤S630、接收多节点同步控制信息。多节点同步控制信息包括需要控制的多个网络节点,以及需要多个网络节点同步执行的控制指令。

在本申请的实施例中,在第一网络节点接收到多节点同步控制信息后,第一网络节点通过多节点同步控制信息可以得到控制指令,通过控制指令第一网络节点控制多个网络节点并且控制它们同步执行相关操作。

在一些实施方式中,网络中可能存在多级网络节点,当所有网络节点都更新完时间后第一网络节点通过接收到的多节点同步控制信息即可知道在网络中存在多少个网络节点,并且得到需要这些网络节点同步执行的控制指令。

步骤S640、根据多节点同步控制信息确定目标控制节点,目标控制节点为多个网络节点中距离第一网络节点的层级最远的网络节点。

在本申请的实施例中,第一网络节点根据得到的同步控制信息确定目标控制节点,目标控制节点为多个网络节点中距离第一网络节点的层级最远的网络节点。

在一些实施方式中,第一网络节点需要控制的网络节点仅为第二网络节点时,目标控制节点即为第二网络节点。当第一网络节点需要控制的网络节点为两个及以上时,距离第一网络节点层级最远的网络节点即为目标控制节点。

步骤S650、根据目标控制节点确定控制补偿时间。其中,控制补偿时间为第一网络节点发送信息至目标控制节点的历史平均时长。

在本申请的实施例中,第一网络节点根据目标控制节点确定控制补偿时间。其中,控制补偿时间为第一网络节点发送信息至目标控制节点的历史平均时长。即控制补偿时间为第一网络节点发送信息到距离本级网络节点层级最远的网络节点所需时间的历史平均时长。

由于在多层级网络中,各层级网络接收到同步控制帧的时间不同,也即第一网络节点发送同步控制帧时,第二网络节点、第三网络节点接收到的时间各不相同。而同步控制帧包含执行控制指令的控制指令执行时间,如果控制指令执行时间早于目标控制节点接收同步控制帧的时间,会导致目标控制节点尚未收到同步控制帧,就已经过了控制指令执行时间。为了防止上述情况发生,本申请的实施例中根据目标控制节点确定控制补偿时间,以确保控制指令执行时间要晚于目标控制节点接收同步控制帧的时间。

在一些实施方式中,第一网络节点需要控制第二网络节点和第三网络节点,请参阅图9,假设第二网络节点接收第一同步时间帧所需时长为t1,即接收时长为t1;解析第一同步时间帧所需时长为t2,即解析时长为t2;第二网络节点更新完本级网络节点的时刻起直到检测到信道处于空闲状态时刻所需时长为t3,即碰撞退避时长为t3;第三网络节点接收第二时间同步帧所需时长为t4,即接收时长为t4;解析第二同步时间帧所需时长为t5,即解析时长为t5。则第一网络节点发送数据帧到第三网络节点所需的时间为t1+t2+t3+t5,即控制补偿时间为Ta=t1+t2+t3+t5。

步骤S660、向第二网络节点发送同步控制帧。同步控制帧根据控制补偿时间和多节点同步控制信息生成,同步控制帧用于使多个需要控制的网络节点同步执行控制指令。

在本申请的实施例中,第一网络节点向第二网络节点发送同步控制帧。同步控制帧根据控制补偿时间和多节点同步控制信息生成,同步控制帧用于使多个需要控制的网络节点同步执行控制指令。例如:第二网络节点和第三网络节点设备均为智能灯,第一网络节点可以通过同步控制帧控制第二网络节点和第三网络节点在t时刻全部亮灯。

具体地,请参阅图10,图10示出了本申请又另一实施例中步骤S660的流程示意图,在本申请的实施例中,步骤S660可以包括步骤S661至步骤S667。

步骤S661、根据第一网络节点的当前时刻和控制补偿时间确定控制指令执行时间。

在本申请的实施例中,第一网络节点向第二网络节点发送的控制指令执行时间根据第一网络节点的当前时刻和控制补偿时间确定。

控制指令执行时间为第一网络节点发送控制指令的当前时刻和控制补偿时间Ta之和,将第一网络节点发送控制指令的当前时刻设为Time,根据步骤S650可知,在三级网络节点中控制补偿时间Ta=t1+t2+t3+t4+t5,即控制指令执行时间=Time+t1+t2+t3+t4+t5。

步骤S663、根据同步控制信息确定需要控制的多个网络节点以及控制指令。

在本申请的实施例中,第一网络节点向第二网络节点上发送的同步控制帧中携带的同步控制信息中包含需要控制的多个网络节点的信息以及能对它们进行控制的控制指令。

步骤S665、根据控制指令执行时间、多个网络节点和控制指令生成同步控制帧。

在本申请的实施例中,第一网络节点向第二网络节点发送的同步控制帧根据控制指令执行时间、多个网络节点和控制指令生成。

步骤S667、向第二网络节点发送同步控制帧,同步控制帧用于使多个需要控制的网络节点在控制指令执行时间执行控制指令。

在本申请的实施例中,第一网络节点向第二网络节点发送同步控制帧,发送同步控制帧的目的在于使多个需要控制的网络节点在控制指令执行时间来执行控制指令。

请参阅图11,第一网络节点如果需要控制第二网络节点和第三网络节点,在接收到多节点同步控制信息后,根据多节点同步控制信息确定目标控制节点,即第三网络节点。然后第一网络节点再根据目标控制节点确定控制补偿时间Time+Ta,之后向第二网络节点发送根据多节点同步控制信息和控制补偿时间生成的同步控制帧。第二网络节点接收到同步控制帧后将同步控制帧再转发给第三网络节点,当第二网络节点和第三网络节点时间到达同步控制帧中控制指令的控制时间时执行控制指令。

本申请的又另一实施例提供了一种网络节点的时间同步方法,在上一实施例的基础上加以改进,应用于第一网络节点,主要改进之处在于:对于第一网络节点增加了接收多节点同步控制信息、根据所述同步控制信息确定目标控制节点、根据所述目标控制节点确定控制补偿时间以及向所述第二网络节点发送同步控制帧。多节点同步控制信息中包括需要控制的多个网络节点,以及需多个网络节点同步执行的控制指令;目标控制节点为多个网络节点中距离第一网络节点的层级最远的网络节点;控制补偿时间为第一网络节点发送信息至目标控制节点的历史平均时长;同步控制帧根据控制补偿时间和多节点同步控制信息生成,第一网络节点向第二网络节点发送同步控制帧可以使多个需要控制的网络节点同步执行所需的控制指令。

请参阅图12,本申请又再一实施例提供了一种网络节点的时间同步装置300,该装置包括:同步指令接收模块310、同步指令解析模块320、接收时长确定模块330、解析时长确定模块340和时间同步模块350。

具体地,同步指令接收模块310用于接收第一网络节点发送的第一同步时间帧。

同步指令解析模块320用于解析第一同步时间帧,用来确定第一同步时间帧携带的第一待同步时间。

接收时长确定模块330用于确定第一同步时间帧的接收时长。

解析时长确定模块340用于确定第一同步时间帧的解析时长。

时间同步模块350用于根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。对于方法实施例中的所描述的任意的处理方式,在装置实施例中均可以通过相应的处理模块实现,装置实施例中不再一一赘述。

请参阅图13,本申请又还一实施例提供了一种网络节点的时间同步装置400,应用于第一网络节点,第一网络节点的下一级节点为第二网络节点,该装置包括:待同步时间获取模块410和同步指令发送模块420。

具体地,待同步时间获取模块410用于获取第一网络节点的当前时间作为第一待同步时间。

同步指令发送模块420用于向第二网络节点发送第一同步时间帧,第一同步时间帧根据第一待同步时间生成,第一同步时间帧用于使第二网络节点根据第一待同步时间、第一同步时间帧的接收时长以及第一同步时间帧的解析时长进行时间更新。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。对于方法实施例中的所描述的任意的处理方式,在装置实施例中均可以通过相应的处理模块实现,装置实施例中不再一一赘述。

请参阅图14,本申请再另一实施例提供了一种电子设备500,该电子设备500可以是智能手机、平板电脑、电子书、触摸屏等能够运行应用程序的电子设备。本申请中的电子设备500可以包括一个或多个如下部件:处理器510、存储器520、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器520中并被配置为由一个或多个处理器510执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器510可以包括一个或者多个处理核。处理器510利用各种接口和线路连接整个电子设备500内的各个部分,通过运行或执行存储在存储器520内的指令、程序、代码集或指令集,以及调用存储在存储器520内的数据,执行电子设备500的各种功能和处理数据。可选地,处理器510可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器510可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器510中,单独通过一块通信芯片进行实现。

存储器520可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器520可用于存储指令、程序、代码、代码集或指令集。存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如检测信道功能、时间更新功能、计时功能、同步控制功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端500在使用中所创建的数据(比如第一待同步时间、接收时长、解析时长)等。

请参阅图15,本申请还另一实施例提供了一种计算机可读存储介质的结构框图。该计算机可读介质600中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质600可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质600包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质600具有执行上述方法中的任何方法步骤的程序代码610的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码610可以例如以适当形式进行压缩。

本申请提供的网络节点的时间同步方法、装置、电子设备及存储介质,通过第二网络节点接收第一网络节点发送的第一同步时间帧,在接收到第一同步时间帧后解析第一同步时间帧,以确定第一同步时间帧携带的第一待同步时间。再确定第一同步时间帧的接收时长和解析时长,根据接收时长、解析时长和第一待同步时间更新第二网络节点的时间。由于第二网络节点进行时间同步时不仅考虑第一待同步时间,同时还结合了第一待同步时间帧接收过程和解析过程的时间损耗,从而有效降低时间同步的误差,提升同步控制的一致性。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

29页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:业务接口的创建方法、装置、系统、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!