具体实施方式
图1为本发明实施例具有时钟信息报文的处理方法的第一实施例的流程示意图,如图1所示,本实施例可以包括以下步骤:
步骤101、接收具有时钟信息的报文;
步骤102、获取所述报文的报文标识;
步骤103、根据所述报文的报文标识获取对应的时钟处理配置信息;
步骤104、根据获取的时钟处理配置信息,处理所述报文。
其中的报文标识可以是报文内部的,也可以独立于报文。例如:如果报文标识是物理端口号,则可以写入报文中,也可以单独获取;如果报文标识是IP地址或媒体访问控制(MAC)地址,则可以位于报文内部,IP地址或MAC地址是源地址,即报文发送方的IP地址或MAC地址。
其中的时钟处理配置信息可以为主时钟处理配置信息或从时钟处理配置信息。其中的报文可以为1588报文,则时钟处理配置信息为1588协议数据集。
本实施例,通过接收到具有时钟信息的报文,根据获取到的报文的报文标识获取对应的时钟处理配置信息,根据时钟处理配置信息,处理报文,从而实现了一个报文处理装置可以同时支持一个以上的物理端口,减少了资源的占有量,降低了成本。
图2为本发明实施例具有时钟信息报文的处理方法的第二实施例的流程示意图,如图2所示,本实施例可以包括以下步骤:
步骤201、处理装置接收到接口装置所请求调度的物理端口的报文,所述报文携带有对应的物理端口号和对应的报文数据;
步骤202、处理装置根据所述物理端口号匹配出所述物理端口号对应的1588协议数据集,并将所述1588协议数据集更新为当前的数据集。
进一步地,其中的报文还可以携带有报文头标识和所述报文被处理装置调度之前即在接口装置中的延迟信息,处理装置根据报文头标识和延迟信息来给所述报文打进入设备的时间戳,该延迟信息可以是所述报文被调度之前的计数器的数值,也可以是所述报文被调度之前滞留的ns时间值,比如,报文被调度之前滞留了100ns,两种方式处理相同,本发明实施例用计数器值描述。
此外,上述报文也可以不携带报文头标识和所述报文被处理装置调度之前的延迟信息,还可以仅直接携带有所述报文进入设备的时间戳,用以精确的标识报文进入设备的时间。
本实施例中处理装置接收到接口装置所请求调度的物理端口的报文后,根据所述报文中所携带的物理端口号匹配出所述物理端口号对应的1588协议数据集,并将所述1588协议数据集更新为当前的数据集,从而可以实现同时支持一个以上物理端口,减少了资源的占有量,降低了成本。
图3为本发明实施例具有时钟信息报文的处理方法的第三实施例的流程示意图,如图3所示,本实施例可以包括以下步骤:
步骤301、接口装置接收物理端口的报文,分别对所述报文进行缓存;
步骤302、接口装置分别向处理装置请求对所述经过缓存的报文进行调度,该请求调度的报文携带有报文头标识、对应的物理端口号、报文数据、所述报文被调度之前的延迟信息;
步骤303、处理装置接收接口装置所请求调度的物理端口的报文;
步骤304、处理装置根据所述物理端口号匹配出所述物理端口号对应的1588协议数据集,并将所述1588协议数据集更新为当前的数据集;
步骤305、处理装置根据所述报文中所携带的报文头标识和报文被调度之前的延迟信息得到所述报文进入设备的时间戳,通过处理装置在调度报文的时候调度相应的时间戳;
步骤306、根据所述报文进入设备的时间戳对报文数据进行1588协议处理,具体可以包括:对报文数据进行过滤,得到1588协议报文数据,并根据所述报文进入设备的时间戳对所述1588协议报文数据进行相应的1588协议处理。
其中的1588协议数据集中包括以下信息:
port_identity:端口标识
port_state:端口状态
log_min_mean_delay_req_interval:端口delay_req最小平均发包间隔;
peer_mean_path_delay:端口P2P延迟模式下的平均路径延迟;
log_mean_announce_interval:端口announce消息的平均发包间隔;
announce_receipt_timeout:端口announce接收超时间隔;
log_mean_sync_interval:端口sync消息的平均发包间隔;
delay_mechanism:端口延迟模式;
1og_min_mean_pdelay_req_interval:端口pdelay_req最小平均发包间隔;以及
version_number:端口支持的1588版本号。
另外为了实现功能根据协议还需要定义包含以下信息:
sync_sequence_id:端口sync消息的序列号;
delay_sequence_id sync:端口delay消息的序列号;
pdelay_sequence_id sync:端口pdelay消息的序列号;
announce_sequence_id sync:端口announce消息的序列号;
management_sequence_id sync:端口announce消息的序列号;
signaling_sequence_id sync:端口announce消息的序列号。
本实施例在接收方向上,每个物理端口对应的接口装置分别向处理装置请求调度相应物理端口的报文,处理装置在接收到请求调度的报文时根据物理端口号更新其内部的1588相关数据集,其它处理和现有方案的处理装置的处理流程是一样,从而实现了一个处理装置可以同时支持一个以上的物理端口,减少了资源的占有量,降低了成本。
进一步地,本实施例在发送方向,处理装置可以产生的携带有物理端口号的报文,接口装置可以根据处理装置所指示的物理端口号来调度处理装置里的报文数据到指定的物理端口进行发送。
图4为本发明实施例具有时钟信息报文的处理方法的第三实施例中接收方向接口装置的报文处理示意图,如图4所示,图4以4个千兆(GE)的物理端口为例,在接收方向,各个端口对收到的1588协议报文进行缓存,并记录报文到达时间。为了保证带宽,处理装置侧可以用不低于4G的带宽对4个GE的物理端口的报文进行调度。接口装置在报文被调度进处理装置进行处理的同时,也可以告知处理装置报文此刻和报文到达时间的差值即报文在对应的物理端口的延迟信息@t,处理装置的时间戳将此延迟信息@t减掉,就得到了精确的报文进入设备的时间戳。接口装置送给处理装置的主要信息如下表所示:
表处理装置获取到的信息列表
报文头标识 |
处理装置根据此标识来打时间戳 |
报文数据 |
报文数据 |
物理端口号 |
1:用于处理装置选择对应的数据集2:用于回应1588消息的时候知道应该从那个物理端口发送 |
报文在接口装置中的延迟信息 |
用于得到精确的报文进入设备的时间戳(可以是计数器,也可以是ns时间值,两种方式处理相同,下面描述用计数器值描述) |
图5为本发明实施例具有时钟信息报文的处理方法的第三实施例中接收方向处理装置的报文处理示意图,如图5所示,处理装置根据物理端口号得到对应物理端口号的1588协议数据集,将此数据集更新为当前的数据集,再进行1588协议处理。
图6为本发明实施例具有时钟信息报文的处理方法的第三实施例中发送方向接口装置的报文处理示意图,如图6所示,在发送方向,处理装置可以产生的携带有物理端口号的报文,接口装置可以根据处理装置所指示的物理端口号来调度处理装置里的报文数据到指定的物理端口进行发送。
再如图4、图5和图6所示,详细的处理步骤说明如下:
1、设备有4个GE接口同时支持1588协议,处理装置的处理能力为4G;处理能力为4G是因为处理装置的接口数据宽度为32bit,处理时钟频率为125M。32×125M=4G;
2、在某一个时刻,物理端口2的报文数据pkt2最先到达对应的接口装置,在报文数据pkt2到达时刻将物理通道2驻留时间计数器port2_counter置为0,计数器port2_counter开始记数,直到该报文数据pkt2被处理装置调度;在接收完一整包后,接口装置请求处理装置对报文pkt2进行调度;
在此期间,其它物理端口对应的接口装置也相继收到了报文数据ptk1、pkt3、pkt4;对于port1_counter、port3_counter、port4_counter的处理与物理通道2的处理方式是一样的;
3、处理装置根据各个接口装置的调度请求开始调度物理端口2的报文数据pkt2,处理装置在调度物理端口2的报文数据pkt2的时候记录时间戳ST_temp,并将此时间戳减去port2_counter表示的时间@t2,得到准确的pkt2进入设备的时间戳ST,即时间戳ST=时间戳ST_temp-@t2;同时根据物理端口号2得到端口号2的1588协议数据集,并将此数据集更新为当前的数据集,再进行1588协议处理;
4、在接收完物理端口2的报文数据pkt2后,处理装置开始调度物理端口4的报文数据pkt4,并记录时间戳ST_temp和port4_counter表示的时间@t4,得到准确的pkt4进入设备的时间戳ST,即时间戳ST=时间戳ST_temp-@t4;同时根据物理端口号4得到端口号4的1588协议数据集,并将此数据集更新为当前的数据集,再进行1588协议处理;
5、处理装置对物理端口1的报文数据pkt1和物理端口3的报文数据pkt3的处理方式与pkt2/pkt4相同,通过处理装置不断调度4个端口数据来实现对4个物理端口的支持。
6、在发送方向上,处理装置可以产生的携带有物理端口号的报文,接口装置可以根据处理装置所指示的物理端口号来调度处理装置里的报文数据到指定的物理端口进行发送。
进一步地,本实施例中步骤302中调度的报文可以不携带报文头标识和所述报文被调度之前的延迟信息,可以仅直接携带有所述报文进入设备的时间戳,即为每个报文都在接口上打上正确的时间戳,用以精确的标识报文进入设备的时间,通过处理装置在调度报文的时候调度相应的时间戳。那么,相应地,可以省略步骤305。
进一步地,本实施例中的接口类型还可以是FE(10M或者是100M),还可以是10GE,处理装置的带宽处理能力和所支持端口数可以根据需求变化。
本实施例只描述了边界时钟(Boundary Clock,简称BC)的处理情况,对于透明时钟(Transparent Clock,简称TC)、TC+普通时钟(Ordinary Clock,简称OC)也同样适用。
图7为本发明实施例处理具有时钟信息报文的处理装置的第一实施例的结构示意图,如图7所示,本实施例可以包括接口单元71、报文标识获取单元72、时钟处理配置信息获取单元73和处理单元74。其中,接口单元71用于接收具有时钟信息的报文;报文标识获取单元72用于从接口单元71处获取所述报文的报文标识,如:所述报文对应的物理端口号;时钟处理配置信息获取单元73用于根据报文标识获取单元72所获取的报文标识获取对应的主时钟处理配置信息或从时钟处理配置信息;处理单元74用于根据时钟处理配置信息获取单元73所获取的时钟处理配置信息,处理所述报文。
其中的报文标识可以是报文内部的,也可以独立于报文。例如:如果报文标识是物理端口号,则可以写入报文中,也可以单独获取;如果报文标识是IP地址或媒体访问控制(MAC)地址,则可以位于报文内部,IP地址或MAC地址是源地址,即报文发送方的IP地址或MAC地址。
其中的时钟处理配置信息可以为主时钟处理配置信息或从时钟处理配置信息。其中的报文可以为1588报文,则时钟处理配置信息为1588协议数据集。
本实施例,通过接口单元接收到具有时钟信息的报文,由时钟处理配置信息获取单元根据报文标识获取单元从接口单元所接收到的报文中获取到的报文的报文标识获取对应的时钟处理配置信息,处理单元根据时钟处理配置信息处理报文,从而实现了一个报文处理装置可以同时支持一个以上的物理端口,减少了资源的占有量,降低了成本。
图8为本发明实施例处理具有时钟信息报文的处理装置的第二实施例的结构示意图,如图8所示,与上一实施例相比,本实施例中报文标识获取单元72还可以从接口单元71所获取的报文中获取所述报文的报文标识。
进一步地,上述本发明实施例处理具有时钟信息报文的处理装置的第一实施例和第二实施例中,还可以包括延迟信息记录单元和延迟信息添加单元。其中,延迟信息记录单元用于记录所述报文被调度之前的延迟信息;延迟信息添加单元用于在所述报文中添加所述延迟信息。相应地,还可以进一步包括延迟信息获取单元,用于获取所述报文被调度之前的延迟信息。
图9为本发明实施例处理具有时钟信息报文的处理系统的第一实施例的结构示意图,如图9所示,本实施例可以包括接口装置91和处理装置90。其中,处理装置90可以包括报文标识获取单元92、时钟处理配置信息获取单元93和处理单元94。其中,接口装置91用于接收具有时钟信息的报文;报文标识获取单元92用于从接口装置91处获取所述报文的报文标识,所述报文对应的物理端口号;时钟处理配置信息获取单元93用于根据报文标识获取单元92所获取的报文标识获取对应的主时钟处理配置信息或从时钟处理配置信息;处理单元94用于根据时钟处理配置信息获取单元93所获取的时钟处理配置信息,处理所述报文。
其中的报文标识可以是报文内部的,也可以独立于报文。例如:如果报文标识是物理端口号,则可以写入报文中,也可以单独获取;如果报文标识是IP地址或媒体访问控制(MAC)地址,则可以位于报文内部,IP地址或MAC地址是源地址,即报文发送方的IP地址或MAC地址。
其中的时钟处理配置信息可以为主时钟处理配置信息或从时钟处理配置信息。其中的报文可以为1588报文,则时钟处理配置信息为1588协议数据集。
进一步地,其中的报文还可以携带有报文头标识和所述报文被调度之前的延迟信息,处理单元还可以根据此标识和延迟信息来给所述报文打进入设备的时间戳,延迟信息用于得到精确的报文进入设备的时间戳,该延迟信息可以是计数器,也可以是ns时间值,两种方式处理相同,本发明实施例用计数器值描述。
此外,上述报文也可以不携带报文头标识和所述报文被调度之前的延迟信息,还可以仅直接携带有所述报文进入设备的时间戳,用以精确的标识报文进入设备的时间,以供处理单元来给所述报文打进入设备的时间戳。
本实施例,通过接口装置接收到具有时钟信息的报文,由时钟处理配置信息获取单元根据报文标识获取单元从接口装置所接收到的报文中获取到的报文的报文标识获取对应的时钟处理配置信息,处理单元根据时钟处理配置信息处理报文,从而实现了一个报文处理装置可以同时支持一个以上的物理端口,减少了资源的占有量,降低了成本。
图10为本发明实施例处理具有时钟信息报文的处理系统的第二实施例的结构示意图,如图10所示,与上一实施例相比,本实施例中报文标识获取单元92用于从接口装置91所获取的报文中获取所述报文的报文标识。
进一步地,上述本发明实施例处理具有时钟信息报文的处理系统的第一实施例和第二实施例中,处理装置还可以包括延迟信息记录单元和延迟信息添加单元。其中,延迟信息记录单元用于记录所述报文被调度之前的延迟信息;延迟信息添加单元用于在所述报文中添加所述延迟信息。相应地,还可以进一步包括延迟信息获取单元,用于获取所述报文被调度之前的延迟信息。
本实施例在接收方向上,接口装置分别向处理装置请求调度相应的物理端口的报文,处理装置在接收到请求调度的报文时根据物理端口号更新其内部的1588相关数据集,其它处理和现有方案的处理装置的处理流程是一样,从而实现了一个报文处理装置可以同时支持一个以上的物理端口,减少了资源的占有量,降低了成本。
本发明上述实施例可以适用于E2E模式下从时钟设备发送delay_req请求和接收主时钟设备回应的delay_resp消息报文来实现的时间同步,也可以适用于P2P模式下通过逐级测量链路延迟来实现的时间同步,但不限于此。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。