本技术涉及网络通信,特别是涉及ptp报文处理系统、方法和电子设备。
背景技术:
1、目前,为了确保各种实时、在线业务的正常运行,需要高精度的时钟系统作为支撑。ptp系统作为一个高精度、高可靠、网络性能优良的时钟系统,其具有广泛的应用前景,可以用于互联网、通信网络、智能电网和工业控制等领域。
2、现有的ptp时间戳方案,主要是通过使用带ptp功能的phy、soc或fpga打时间戳,且一般使用ram/fifo方式存储时间戳。但是,在有大量ptp报文需要接收处理或其他原因导致cpu资源被占用时,容易出现ptp协议栈来不及获取的时间戳被新的时间戳覆盖的问题,从而导致ptp计算结果误差较大。
技术实现思路
1、本技术实施例提供了一种ptp报文处理系统、方法和电子设备,以至少解决相关技术中ptp计算结果误差较大的问题。
2、第一方面,本技术实施例提供了一种ptp报文处理系统,包括逻辑单元和控制单元,其中,所述逻辑单元包括报文接收模块、报文发送模块、时间戳生成模块和时间戳设置模块;其中,
3、所述控制单元根据报文类型和预设规则组装ptp报文并发送给所述逻辑单元,或者对接收到的ptp报文进行解析,得到时间戳并记录;
4、所述报文发送模块接收控制单元发送的ptp报文并进行解析,根据解析结果确定是否将ptp报文发送给时间戳设置模块;
5、所述报文接收模块接收网络侧的ptp报文并进行解析,并根据解析结果确定是否将ptp报文发送给时间戳设置模块;
6、所述时间戳生成模块根据ptp报文的接收时间或发送时间生成时间戳;
7、所述时间戳设置模块将所述时间戳填充到ptp报文后,并将ptp报文发送到控制单元。
8、在一实施例中,所述控制单元包括ptp协议栈发包处理模块,所述控制单元根据报文类型和预设规则组装ptp报文包括:
9、所述ptp协议栈发包处理模块根据ptp协议、待组装报文、报文类型和预设规则生成ptp报文;
10、其中,所述预设规则包括:
11、若待组装报文为general报文,则将ptp协议的预留字段设置为第一预设值;
12、若待组装报文为event报文、且报文类型为一步同步报文,则将ptp协议的预留字段设置为第二预设值;
13、若待组装报文为event报文,且报文类型不是一步同步报文,则将ptp协议的预留字段设置为第三预设值。
14、在一实施例中,所述控制单元包括ptp协议栈收包处理模块和时间戳解析模块,所述对接收到ptp报文进行解析,得到时间戳并记录,包括:
15、所述ptp协议栈收包处理模块接收所述时间戳设置模块发送的ptp报文并转发给所述时间戳解析模块;
16、所述时间戳解析模块判断ptp报文是否为event报文,若不是event报文,则根据相应的ptp协议对ptp报文进行处理;
17、若是event报文,则对ptp报文的时间信息进行格式解析得到时间戳,并判断ptp报文中的预留字段是否为第三预设值;
18、若判断结果为“是”,则记录ptp报文的发送时间戳;若判断结果为“否”,则记录ptp报文的接收时间戳,并根据相应的ptp协议对ptp报文进行处理。
19、在一实施例中,所述报文发送模块接收控制单元发送的ptp报文并进行解析,根据解析结果确定是否将ptp报文发送给时间戳设置模块,包括:
20、所述报文发送模块对ptp报文中的预留字段的值进行判断;
21、若ptp报文中的预留字段为第三预设值,则复制ptp报文并发送给时间戳设置模块,同时所述报文发送模块将ptp报文的预留字段设置为第四预设值,并转发到网络侧;
22、若所述ptp报文中的预留字段为第二预设值,所述报文发送模块将ptp报文的预留字段设置为第四预设值,并在ptp报文中添加时间戳后转发到网络侧;
23、若所述ptp报文中预留字段为第一预设值,所述报文发送模块将所述ptp报文的预留字段设置为第四预设值,并转发到网络侧。
24、在一实施例中,所述报文接收模块接收网络侧的ptp报文并进行解析,并根据解析结果确定是否将ptp报文发送给时间戳设置模块,包括:
25、所述报文接收模块对ptp报文进行解析,分析ptp报文是否为event报文;
26、若ptp报文不是event报文,则所述报文接收模块将ptp报文转发给所述控制单元;
27、若ptp报文是event报文,则将ptp报文发送到所述时间戳设置模块。
28、在一实施例中,所述时间戳设置模块将所述时间戳填充到ptp报文中,并将ptp报文发送到控制单元,包括:
29、所述时间戳设置模块从所述时间戳生成模块中获取所述时间戳,并将所述时间戳转换为tlv格式;
30、将tlv格式的时间戳写入所述ptp报文的尾部。
31、在一实施例中,所述ptp报文处理系统还包括交换芯片和phy,所述交换芯片用于实现逻辑单元和控制单元之间的数据交互,所述phy用于实现逻辑单元和网络侧之间的数据交互。
32、第二方面,本技术实施例提供了一种ptp报文处理方法,所述方法应用在包含逻辑单元和控制单元的ptp报文处理系统中,所述逻辑单元包括报文接收模块、报文发送模块、时间戳生成模块和时间戳设置模块;
33、其中,当控制单元向逻辑单元发送报文时,所述方法包括:
34、所述控制单元根据报文类型和预设规则组装ptp报文,并将组装好的ptp报文发送给报文发送模块;其中,所述预设规则包括:若待组装报文为general报文,则将ptp协议的预留字段设置为第一预设值;若待组装报文为event报文、且报文类型为一步同步报文,则将ptp协议的预留字段设置为第二预设值;若待组装报文为event报文,且报文类型不是一步同步报文,则将ptp协议的预留字段设置为第三预设值;
35、所述报文发送模块对ptp报文中预留字段的值进行判断,若ptp报文中预留字段为第三预设值,则复制ptp报文并发送给时间戳设置模块,同时所述报文发送模块将ptp报文的预留字段设置为第四预设值,并转发到网络侧;若ptp报文中预留字段为第二预设值,则所述报文发送模块将所述ptp报文的预留字段设置为第四预设值,并并在ptp报文中添加时间戳后转发到网络侧;若ptp报文中预留字段为第一预设值,所述报文发送模块将所述ptp报文的预留字段设置为第四预设值,并转发到网络侧。
36、在一实施例中,当控制单元接收逻辑单元发送的报文时,所述方法包括:
37、所述报文接收模块接收网络侧的ptp报文并进行解析,判断ptp报文是否为event报文;若ptp报文不是event报文,则所述报文接收模块将ptp报文转发给所述控制单元;若ptp报文是event报文,则将ptp报文发送到所述时间戳设置模块,所述时间戳设置模块将时间戳填充到ptp报文后,并将ptp报文转发到控制单元;
38、所述控制单元对接收到的ptp报文进行解析,得到时间戳并记录;其中,分析ptp报文是否为event报文,若不是event报文,则根据相应的ptp协议对所述ptp报文进行处理;若是event报文,则ptp报文的时间信息进行格式解析得到时间戳,并判断ptp报文中预留字段是否为第三预设值;若判断结果为“是”,则记录所述ptp报文的发送时间戳;若判断结果为“否”,则记录所述ptp报文的接收时间戳,并根据相应的ptp协议对所述ptp报文进行处理。
39、第三方面,本技术实施例提供了一种电子设备,包括以上任一项实施例所述的ptp报文处理系统。
40、本技术实施例提供的ptp报文处理系统、方法和电子设备至少具有以下技术效果:
41、通过时间戳设置模块将cpu发送的报文都增加了时间戳,使得每个ptp event报文都携带自己的时间戳,从而在有大量报文需要处理的情况,即使cpu的ptp协议栈来不及处理,也不会取错时间戳数据,解决了ptp计算结果误差较大的问题,保证报文同步的准确性。另外,对于cpu发送ptp event报文,fpga接收到后增加时间戳并回传给cpu,然后将event报文备份保存在cpu中,即交换芯片收到ptp报文后,可以解析时间戳并记录,从而节省了ram/fifo等硬件资源。
42、本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
1.一种ptp报文处理系统,其特征在于,包括逻辑单元和控制单元,其中,所述逻辑单元包括报文接收模块、报文发送模块、时间戳生成模块和时间戳设置模块;其中,
2.根据权利要求1所述的系统,其特征在于,所述控制单元包括ptp协议栈发包处理模块,所述控制单元根据报文类型和预设规则组装ptp报文包括:
3.根据权利要求2所述的系统,其特征在于,所述控制单元包括ptp协议栈收包处理模块和时间戳解析模块,所述对接收到ptp报文进行解析,得到时间戳并记录,包括:
4.根据权利要求2所述的系统,其特征在于,所述报文发送模块接收控制单元发送的ptp报文并进行解析,根据解析结果确定是否将ptp报文发送给时间戳设置模块,包括:
5.根据权利要求2所述的系统,其特征在于,所述报文接收模块接收网络侧的ptp报文并进行解析,并根据解析结果确定是否将ptp报文发送给时间戳设置模块,包括:
6.根据权利要求1所述的系统,其特征在于,所述时间戳设置模块将所述时间戳填充到ptp报文中,并将ptp报文发送到控制单元,包括:
7.根据权利要求1所述的系统,其特征在于,所述ptp报文处理系统还包括交换芯片和phy,所述交换芯片用于实现逻辑单元和控制单元之间的数据交互,所述phy用于实现逻辑单元和网络侧之间的数据交互。
8.一种ptp报文处理方法,其特征在于,所述方法应用在包含逻辑单元和控制单元的ptp报文处理系统中,所述逻辑单元包括报文接收模块、报文发送模块、时间戳生成模块和时间戳设置模块;
9.根据权利要求8所述的方法,其特征在于,当控制单元接收逻辑单元发送的报文时,所述方法包括:
10.一种电子设备,其特征在于,包括权利要求1-6任一项所述的ptp报文处理系统。