发明内容
针对TC设备上的报文驻留时间的处理操作均通过硬件完成,从而使设备成本较高的问题,本发明提供了一种TC设备上的报文驻留时间的处理方法及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种TC设备上的报文驻留时间的处理方法,该方法包括:TC设备上的中央处理器(Central Processing Unit,简称为CPU)接收同步报文的时间戳信息;上述CPU根据上述时间戳信息确定上述同步报文在上述TC设备上的驻留时间,存储该驻留时间;上述CPU接收到上述同步报文的跟随报文后,根据上述驻留时间设置该跟随报文的校正域。
上述时间戳信息可以包括上述TC设备接收上述同步报文的接收时间和该TC设备向其它设备发送该同步报文的发送时间;上述CPU根据上述时间戳信息确定上述同步报文在上述TC设备上的驻留时间可以包括:该CPU将上述接收时间和上述发送时间的差值作为上述同步报文在上述TC设备上的驻留时间。上述CPU存储该驻留时间包括:该CPU将上述同步报文的上述驻留时间存储在上述同步报文的序列号对应的存储区中。
上述CPU存储上述驻留时间可以包括:上述CPU在同步报文摘要表中存储该驻留时间,其中,该驻留时间的索引为上述同步报文的序列号和/或该同步报文的接收时间。
上述CPU根据上述驻留时间设置上述跟随报文的校正域可以包括:该CPU查找与该跟随报文匹配的同步报文;上述CPU根据查找到的上述同步报文获取该同步报文的驻留时间;上述CPU根据获取到的上述驻留时间设置上述跟随报文的校正域。
上述CPU根据上述驻留时间设置上述跟随报文的校正域可以包括:该CPU确定上述TC设备的类型;如果该TC设备的类型是E2E-TC,该CPU将上述驻留时间添加到上述跟随报文的校正域的值上;如果该TC设备的类型是P2P-TC,该CPU将上述驻留时间与上述TC设备的链路时延相加后的和添加到上述跟随报文的校正域的值上。
上述CPU根据上述驻留时间设置上述跟随报文的校正域之后,上述方法还可以包括:上述CPU对上述跟随报文进行循环冗余码(Cyclical Redundancy Check,简称为CRC)校验,该CRC校验通过后,发送上述跟随报文。
根据本发明的另一方面,提供了一种TC设备上的报文驻留时间的处理装置,该装置位于上述TC设备的CPU上,该装置包括:时间戳信息接收模块,用于接收同步报文的时间戳信息;驻留时间确定模块,用于根据上述时间戳信息提取模块接收的上述时间戳信息确定上述同步报文在上述TC设备上的驻留时间;驻留时间存储模块,用于存储上述驻留时间确定模块确定的上述驻留时间;校正域设置模块,用于在接收到上述同步报文的跟随报文后,根据上述驻留时间设置该跟随报文的校正域。
上述驻留时间确定模块可以包括:时间提取单元,用于在上述时间戳信息中提取接收上述同步报文的接收时间和向其它设备发送该同步报文的发送时间;驻留时间确定单元,用于将上述时间提取单元提取的上述接收时间和上述发送时间的差值作为上述同步报文在上述TC设备上的驻留时间。
上述驻留时间存储模块可以包括:第一驻留时间存储单元,用于将上述同步报文的上述驻留时间存储在该同步报文的序列号对应的存储区中。
上述驻留时间存储模块可以包括:第二驻留时间存储单元,用于在同步报文摘要表中存储上述驻留时间,其中,该驻留时间的索引为上述同步报文的序列号和/或该同步报文的接收时间。
上述校正域设置模块可以包括:查找单元,用于查找与上述跟随报文匹配的同步报文;获取单元,用于根据上述查找单元查找到的同步报文获取该同步报文的驻留时间;设置单元,用于根据上述获取单元获取到的上述驻留时间设置上述跟随报文的校正域。
上述校正域设置模块可以包括:类型确定单元,用于确定上述TC设备的类型;第一添加单元,用于在上述类型确定单元确定上述TC设备的类型是E2E-TC时,将上述驻留时间添加到上述跟随报文的校正域的值上;第二添加单元,用于在上述类型确定单元确定上述TC设备的类型是P2P-TC时,将上述驻留时间与上述TC设备的链路时延相加后的和添加到上述跟随报文的校正域的值上。
上述装置还可以包括:校验模块,用于对上述跟随报文进行CRC校验;发送模块,用于在上述跟随报文通过上述校验模块的校验后,发送上述跟随报文。
通过本发明,TC设备上的CPU根据接收到的同步报文中的时间戳信息确定并存储该同步报文在上述TC设备上的驻留时间,然后上述CPU接收到上述同步报文的跟随报文后,根据上述驻留时间设置该跟随报文的校正域,解决了相关技术中TC设备上的报文驻留时间的处理操作均通过硬件完成,从而使设备成本较高的问题,达到了减少硬件开销的目的,使报文驻留时间的处理操作的实现更加灵活并且有多样化的选择。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在相关技术中,TC设备上的报文驻留时间的处理操作均通过硬件来完成,但是在某些场合,例如硬件不支持或成本较高等原因,则不适合通过硬件完成驻留时间的处理操作。基于此,本发明实施例提供了一种TC设备上的报文驻留时间的处理方法及装置,下面通过实施例进行详细说明。
本实施例提供了一种TC设备上的报文驻留时间的处理方法,该方法可以通过上述TC设备的CPU上的软件进行实现,如图1所示的TC设备上的报文驻留时间的处理方法的流程图,该方法包括以下步骤(步骤S102-步骤S106):
步骤S102,TC设备上的CPU接收同步报文的时间戳信息。
步骤S104,上述CPU根据上述时间戳信息确定上述同步报文在上述TC设备上的驻留时间,存储该驻留时间。
步骤S106,上述CPU接收到上述同步报文的跟随报文后,根据上述驻留时间设置上述跟随报文的校正域。
其中,本实施例的同步报文即SYNC报文,跟随报文即FOLLOW_UP报文。
通过上述方法,TC设备上的CPU根据同步报文中的时间戳信息确定并存储该同步报文在上述TC设备上的驻留时间,然后上述CPU接收到上述同步报文的跟随报文后,根据上述驻留时间设置该跟随报文的校正域,解决了相关技术中TC设备上的报文驻留时间的处理操作均通过硬件完成,从而使设备成本较高的问题,达到了减少硬件开销的目的,使报文驻留时间的处理操作的实现更加灵活并且有多样化的选择。
在上述步骤S102中,上述TC设备上的CPU接收同步报文的时间戳信息,该时间戳信息的采集是由硬件设备(比如时钟芯片等硬件)来完成的,下面以时钟芯片为例进行说明,同步报文在进入时钟芯片时,时钟芯片打上接收时间的时间戳,时钟芯片向其他设备外发上述同步报文时,时钟芯片打上发送时间的时间戳,上述两个时间戳的差值就是同步报文在TC设备上的驻留时间。由此可知,上述时间戳信息可以包括上述TC设备接收该同步报文的接收时间和上述TC设备向其它设备发送该同步报文的发送时间。
上述硬件设备采集到同步报文的时间戳信息之后,将该时间戳信息上报给TC设备上的CPU,上述CPU根据上述时间戳信息确定上述同步报文在上述TC设备上的驻留时间可以包括:该CPU将上述接收时间和上述发送时间的差值作为上述同步报文在上述TC设备上的驻留时间。这种方式可以提高计算同步报文在TC设备上的驻留时间的精确度。
上述CPU确定同步报文的驻留时间之后要存储该驻留时间,存储方式有两种,第一种方式是:该CPU将上述同步报文的上述驻留时间存储在该同步报文的序列号对应的存储区中。第二种方式是:该CPU在同步报文摘要表中存储上述驻留时间,其中,该驻留时间的索引为上述同步报文的序列号和/或上述同步报文的接收时间。也就是说,CPU以同步报文的序列号和/或上述接收时间为主要字段索引,对每个侦听到的同步报文做摘要,将同步报文的序列号和/或接收时间与该同步报文的驻留时间一一对应的存储到同步报文摘要表中,等待后续与之匹配的跟随报文上报到CPU后对同步报文摘要表进行查找操作。上述两种存储方式可以保证后续查找同步报文时的速度和准确度。
图2是根据本发明实施例的TC设备的驻留模型的示意图,该驻留模型用来表示硬件设备采集同步报文的时间戳信息,以及将该时间戳信息上报给软件的过程,本实施例中的硬件可以是时间芯片等,软件可以设置在TC设备的CPU上。如图2所示,TC设备上的报文驻留时间的处理方法可以分为两部分,第一部分是:硬件针对同步报文打下接收时间的时间戳和发送时间的时间戳,然后将上述两个时间戳上报给软件。第二部分是:软件根据接收到的时间戳确定驻留时间,从而建立同步报文摘要表。
上述CPU将同步报文的驻留时间存储之后,该CPU接收到上述同步报文的跟随报文。此时需要查找与该跟随报文匹配的同步报文的驻留时间,针对上述第一种存储方式,上述CPU可以根据与上述跟随报文的序列号,查找与其匹配的同步报文,再根据该同步报文的序列号查找到对应的存储区,然后该CPU获取到存储区中的驻留时间。针对上述第二种存储方式,上述CPU根据侦听到的跟随报文的序列号查找同步报文摘要表,通过同步报文摘要表的索引,查找是否有与上述跟随报文相匹配的同步报文,如果有,则根据查找到的同步报文的驻留时间设置上述跟随报文的校正域,如果没有,则将该跟随报文丢弃。根据上述查找方式,本实施例提供了一种优选实施方式,即CPU查找与跟随报文匹配的同步报文,然后CPU根据查找到的上述同步报文获取该同步报文的驻留时间,CPU根据获取到的上述驻留时间设置上述跟随报文的校正域。该方式简单易实现,可以提高查找驻留时间的效率。
图3是根据本发明实施例的TC设备上同步报文摘要表的建立流程图,如图3所示,该流程包括以下步骤(步骤S302-步骤S308):
步骤S302,硬件设备接收到同步报文时,打下(即设置或填写)接收时间的时间戳。
步骤S304,上述硬件设备接收到同步报文时,打下发送时间的时间戳。
步骤S306,CPU接收到硬件设备上报的上述两个时间戳,将上述两个时间戳的差值作为上述同步报文的驻留时间。
上述硬件设备上报上述两个时间戳时,可以在打下接收时间的时间戳之后将其上报给CPU,然后在打下发送时间的时间戳之后也将其上报给CPU,即可以即时上报。另外,也可以将上述两个时间戳同时上报,这样可以避免频繁查找同步报文摘要表,节省资源。
步骤S308,CPU建立同步报文摘要表,该同步报文摘要表以同步报文的序列号和/或上述接收时间为索引,存储该序列号和/或接收时间以及该同步报文的驻留时间。
在建立同步报文摘要表之前,要先确保上述图2中的驻留模型处于使能状态,即保证上述主流模型可以开始工作,此步骤是建立同步报文摘要表的前提。同步报文摘要表还需要有维护机制,比如超时老化机制,即如果一段时间内(该时间可以设置是周期性的时间段)没有同步报文匹配的跟随报文上报到CPU,就删除该同步报文,还有删除机制,即跟随报文正常查找到驻留时间后,将该跟随报文匹配的同步报文删除,还可以有同步报文摘要表的容量限制,这样可以保证运行速度及资源的合理利用。
图4是根据本发明实施例的TC设备上跟随报文校正域的设置流程图,如图4所示,该流程包括以下步骤(步骤S402-步骤S418):
步骤S402,CPU接收到上报的跟随报文。
在上报跟随报文时,可以调整每个跟随报文的上报时间间隔,即可以周期上报跟随报文,该周期的时间可以与上述超时老化机制中的周期删除同步报文的时间相平衡,这样可以降低查询同步报文摘要表的失败率,使得查找更安全且效率更高。
步骤S404,CPU根据上送的跟随报文的序列号查找同步报文摘要表,判断查找是否成功,如果是,执行步骤S406,如果否,执行步骤S418。
步骤S406,CPU获取查找到的驻留时间。
步骤S408,CPU判断TC设备的类型,如果该TC设备是E2E-TC,执行步骤S410,如果该TC设备是P2P-TC,执行步骤S412。
步骤S410,CPU将获取到的同步报文的驻留时间添加到上述跟随报文的校正域的值上,然后执行步骤S414。
步骤S412,CPU将获取到的同步报文的驻留时间与上述TC设备与上游peer节点的链路时延的和添加到上述跟随报文的校正域的值上。
步骤S414,CPU对上述跟随报文进行CRC校验,在CRC校验通过后,发送该跟随报文。
步骤S416,CPU删除上述跟随报文匹配的同步报文,该流程结束。
步骤S418,丢弃上述跟随报文。
在CPU查找到与跟随报文匹配的同步报文的驻留时间之后,需要根据该驻留时间设置上述跟随报文的校正域,由于TC设备类型的不同,有两种设置方式:如果TC设备是E2E-TC,CPU将同步报文的驻留时间加入到跟随报文校正域的值上;如果TC设备是P2P-TC,CPU将同步报文的驻留时间加上TC设备与上游peer节点的链路时延,将二者的和加入到跟随报文校正域的值上。
针对上述两种设置方式,本实施例提供了一种优选实施方式,首先上述CPU确定上述TC设备的类型,然后,如果该TC设备的类型是E2E-TC,CPU将上述驻留时间添加到上述跟随报文的校正域的值上;如果该TC设备的类型是P2P-TC,上述CPU将上述驻留时间与上述TC设备的链路时延相加后的和添加到上述跟随报文的校正域的值上。该方式根据TC设备类型的不同,对跟随报文进行不同的校正域处理,该处理方式合理且易于实现。
在CPU根据驻留时间设置跟随报文的校正域之后,还要对跟随报文做CRC校验后发送到下游设备。即CPU对跟随报文进行CRC校验,该CRC校验通过后,发送上述跟随报文。从而保证跟随报文可以将同步报文的驻留时间携带出去,补偿报文经过TC设备时的时间损失,增加时钟传递的精度。
对于通讯网络中的节点设备,均可以推广和借鉴上述通过软件进行报文驻留时间的处理方法。
对应于上述TC设备上的报文驻留时间的处理方法,本实施例提供了一种TC设备上的报文驻留时间的处理装置,该装置可以位于上述TC设备的CPU上实现。图5是根据本发明实施例的TC设备上的报文驻留时间的处理装置的结构框图,如图5所示,该装置包括:时间戳信息接收模块50、驻留时间确定模块52、驻留时间存储模块54和校正域设置模块56。下面对该装置进行说明。
时间戳信息接收模块50,用于接收同步报文的时间戳信息;
驻留时间确定模块52,连接至时间戳信息接收模块50,用于根据时间戳信息接收模块50接收的上述时间戳信息确定上述同步报文在上述TC设备上的驻留时间;
驻留时间存储模块54,连接至驻留时间确定模块52,用于存储驻留时间确定模块52确定的上述驻留时间;
校正域设置模块56,连接至驻留时间存储模块54,用于在接收到上述同步报文的跟随报文后,根据上述驻留时间设置上述跟随报文的校正域。
通过上述装置,并驻留时间存储模块54存储驻留时间确定模块52根据同步报文中的时间戳信息确定的驻留时间,然后校正域设置模块56接收到上述同步报文的跟随报文后,根据上述驻留时间设置该跟随报文的校正域,解决了相关技术中TC设备上的报文驻留时间的处理操作均通过硬件完成,从而使设备成本较高的问题,达到了减少硬件开销的目的,使报文驻留时间的处理操作的实现更加灵活并且有多样化的选择。
上述时间戳信息接收模块50接收同步报文的时间戳信息,该时间戳信息的采集是由硬件设备来完成的,具体的采集过程上面已经进行了详细介绍,在此不再赘述。
上述时间戳信息可以包括上述TC设备接收同步报文的接收时间和上述TC设备向其它设备发送该同步报文的发送时间。上述硬件设备采集到同步报文的时间戳信息之后,将该时间戳信息上报给TC设备上的CPU,因此,上述驻留时间确定模块52可以包括:时间提取单元,用于在上述时间戳信息中提取接收上述同步报文的接收时间和向其它设备发送上述同步报文的发送时间;驻留时间确定单元,用于将上述时间提取单元提取的上述接收时间和上述发送时间的差值作为上述同步报文在上述TC设备上的驻留时间。该优选实施方式可以提高计算同步报文在TC设备上的驻留时间的准确性。
驻留时间确定模块52确定同步报文的驻留时间之后要存储该驻留时间,前面已经介绍了两种存储方式。针对上述两种存储方式,本实施例提供了一种优选实施方式,即驻留时间存储模块54可以包括:第一驻留时间存储单元,用于将上述同步报文的上述驻留时间存储在上述同步报文的序列号对应的存储区中。驻留时间存储模块54还可以包括:第二驻留时间存储单元,用于在同步报文摘要表中存储上述驻留时间,其中,该驻留时间的索引为上述同步报文的序列号和/或上述同步报文的接收时间。对于上述同步报文摘要表的建立过程前面已经进行了描述,在此不再赘述。
驻留时间存储模块54将同步报文的驻留时间存储之后,校正域设置模块56接收到上述同步报文的跟随报文。此时需要查找与该跟随报文匹配的同步报文的驻留时间。图6是根据本发明实施例的TC设备上的报文驻留时间的处理装置的具体结构框图,如图6所示,该装置除了包括上述图5中的各个模块外,针对上述第二驻留时间存储单元的存储方式,校正域设置模块56还可以包括:
查找单元560,用于查找与跟随报文匹配的同步报文;
获取单元562,连接至查找单元560,用于根据查找单元560查找到的上述同步报文获取该同步报文的驻留时间;
设置单元564,连接至获取单元562,用于根据获取单元562获取到的上述驻留时间设置上述跟随报文的校正域。
在查找到与跟随报文匹配的同步报文的驻留时间之后,校正域设置模块56需要根据该驻留时间设置上述跟随报文的校正域,由于TC设备类型的不同,有两种设置方式,前面已经进行了介绍,对应于该两种设置方式,上述校正域设置模块56还可以包括:类型确定单元,用于确定TC设备的类型;第一添加单元,用于在类型确定单元确定上述TC设备的类型是E2E-TC时,将驻留时间添加到跟随报文的校正域的值上;第二添加单元,用于在类型确定单元确定上述TC设备的类型是P2P-TC时,将上述驻留时间与上述TC设备的链路时延相加后的和添加到上述跟随报文的校正域的值上。
在校正域设置模块56根据驻留时间设置跟随报文的校正域之后,还要对跟随报文做CRC校验后发送到下游设备。因此,上述装置还可以包括:校验模块,用于对上述跟随报文进行CRC校验;发送模块,用于在跟随报文通过上述校验模块的校验后,发送上述跟随报文。这样可以保证跟随报文可以将同步报文的驻留时间携带出去,补偿报文经过TC设备时的时间损失,增加时钟传递的精度。
从以上的描述中可以看出,本发明实施例通过软件进行TC设备上的报文驻留时间的处理,节省了TC设备的硬件成本,同时也可以给时钟同步组网调测上带来更多的方便,对建立同步报文摘要表带来了实现上的灵活性,并提供实现方法的多样化选择,可以补偿报文经过TC设备时的时间损失,增加时钟传递的精度。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。