專利名稱:一種時間同步方法和裝置的制作方法
技術領域:
本申請涉及通信技術領域,特別涉及一種時間同步方法和裝置。
背景技術:
在通信網絡中,許多業務的正常運行都要求網絡時鐘同步,即整個網絡各設備之間的時間或頻率差保持在合理的誤差水平內。現有的時間同步協議中,網絡時間協議(Network Time Protocol, NTP) 一般只能達到亞秒級的時間同步精度,已經達不到當今網絡高精度的要求;而全球定位系統(Global Positioning System, GPS)需要較高的建設和維護成本,在國家安全方面也非常被動,因此一種新型的時間同步協議精確時間協議(Precision Time Protocol, PTP)同步協議應運而生。PTP同步的基本原理為主、從時鐘節點之間交互同步報文并記錄報文的收發時間,通過計算報文往返的時間差來計算主、從時鐘節點之間的往返總延時,如果網絡是對稱的,即兩個方向的傳輸延時相同,則往返總延時的一半就是單向延時,這個單向延時便是主、從時鐘節點之間的時鐘偏差,從時鐘節點按照該偏差來調整本地時間,就可以實現其與主時鐘的同步。PTP協議定義了兩種傳播延時測量機制:第一種為請求應答(Requset_Response)機制;第二種為端延時(Peer Delay)機制,且這兩種機制都以網絡對稱為前提,下面以第一種請求應答機制為例來詳細說明時間同步實現過程。請求應答方式只能用于端到端的延時測量。端延時機制與請求應答機制不同,端延時機制采用端延時(Pdelay)報文來計算鏈路延時,該機制只能用于點到點的延時測量。參見圖1,圖1為現有實現中請求應答機制的實現過程。具體步驟為:步驟101,主時鐘節點向從時鐘節點發送時間同步(Sync)報文。主時鐘節點向從時鐘節點發送Sync報文時記錄發送時間tl。如果是單步模式,將tl攜帶發送的Sync報文中。如果是雙步模式,Sync報文不攜帶tl,而是在主時鐘節點發送Sync報文之后,緊接著發送一個攜帶有tl的跟隨(FolloW_Up)報文;經過TC設備時,將Sync報文在端到端透明時鐘(E2E TC)上的駐留時間添加到Follow_Up報文,然后從另外一個E2E TC端口轉發給主時鐘節點.
步驟102,E2E TC節點將Sync報文在本節點的駐留時間tcl攜帶在該報文中轉發給從時鐘節點。從時鐘節點接收到Sync報文時,記錄接收Sync報文的時間t2,并獲得該Sync報文種攜帶的tl和tcl。參見圖2,圖2為現有實現中報文的屬性列表。發送Sync報文或Follow_Up報文時,將tl攜帶在報文中如圖2所示的源時鐘戳(originTimestamp)屬性字段中,校正時間tcl攜帶在報文中如圖2所示的校正值(correctionField)屬性字段中。其他報文中需要攜帶報文發送時間時,將發送時間攜帶在originTimestamp屬性字段中,將經過E2E TC節點時攜帶的校正時間攜帶在correctionField屬性字段中。
步驟103,從時鐘節點向主時鐘節點發送延時請求(Delay_Req)報文。從時鐘節點在發送Delay_Req報文時,記錄發送該報文的時間t3。步驟104,E2E TC節點在接收到的Delay_Req報文中攜帶該報文在本節點的駐留時間tc2,并轉發給主時鐘節點。主時鐘節點記錄接收Delay_Req報文的時間為t4。步驟105,主時鐘節點向從時鐘節點發送攜帶t4的延時響應(Delay_Resp)報文。步驟106,E2E TC節點在接收主時鐘節點發送的Delay_Resp報文中攜帶該報文在本節點的駐留時間tc2發送給從時鐘節點。從時鐘節點接收到主時鐘節點發送的Delay_Resp報文時,獲得該報文中攜帶的t4和tc2,根據接收Sync報文時獲得的tcl和tl,以及記錄的t2和t3,獲得從時鐘相對于主時鐘的時鐘偏差為:0ffset=t2_(tl+tcl+Master 到 Slave 的路徑時延)=(t2_tl_tcl)-[(t2_tl_tcl) + (t4_t3_tc2)]/2=[(t2_tl_tcl)-(t4_t3_tc2)]/2。由上可見,在請求應答機制中的單步模式中需要交互的報文類別有三種,分別為Sync報文、Delay_Req報文和Delay_Resp報文。雙步模式下交互的報文類別有四種,分別為Sync報文、Delay_Req報文、Delay_Resp報文和Follow_Up報文。在端延時機制中單步模式下報文類別有四種,分別為Sync報文、對等請求(Pdelay_Req)報文、對等響應(Pdelay_Resp)報文和對等響應跟隨(Pdelay_Resp_Fol low_Up)報文,而在雙步模式下還增加FolloW_Up報文共五種,并且發送的報文數量較多。由于高精度的時間同步需要頻繁發送協議報文來維持,會發送處理大量的不同協議類別的報文,給CPU增加負擔。
發明內容
有鑒于此,本申請提供一種時間同步方法和系統,能夠減少協議報文類別、協議報文數量,降低CPU的負擔。為解決上述技術問題,本發明的技術方案是這樣實現的:一種時間同步方法,該方法應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的從時鐘節點,包括:當所述網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步時;所述從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間tl ;當從時鐘節點接收到主時鐘節點返回的Sync報文時,記錄接收該Sync報文的時間t4,并獲得該Sync報文中攜帶的t3、t2_tcl和tc2,其中t3為主時鐘節點發送該Sync報文的時間,t2為主時鐘節點接收從時鐘節點發送的Sync報文的時間,tcl為從時鐘節點向主時鐘節點發送Sync報文時,在E2E TC節點上的駐留時間,tc2為主時鐘節點向從時鐘節點發送的該Sync報文在E2E TC節點上的駐留時間;其中,所述E2E TC節點為配置請求應答機制的TC節點;從時鐘節點根據本地記錄的tl、t4,以及獲得的t3、t2-tcl和tc2,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(t4 - t3 - tc2)-(t2 - tl - tcl)]/2,并通過該時鐘偏差調整本地時間;或,當所述網絡中各節點配置端延時機制,且配置單步模式實現時間同步時;
所述從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間t5 ;該從時鐘節點接收到本從時鐘節點發出的Sync報文時,記錄接收該Sync報文的時間t7,獲得該Sync報文中攜帶的t6和t8,并根據獲得的t6和t8,以及記錄的t7和t5,獲得從時鐘節點到P2P TC節點的路徑時延Tl為[(t32-t31) + (t36-t35)]/2 ;其中,t6為P2P TC時鐘節點接收從時鐘節點向主時鐘節點發送Sync報文的時間,t8為P2P TC時鐘節點向從時鐘節點發送Sync報文的時間;,所述P2P TC節點為配置端延時機制的TC節點;該從時鐘節點接收到P2P TC節點發送的Follow_Up報文時,獲得Follow_Up報文中攜帶的t9和T2+tc3,并根據獲得t9、T2+tc3和Tl,以及記錄的t5計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t9 - t5-(T2+tc3)-Tl,并通過該時鐘偏差調整本地時間,其中,t9為主時鐘節點接收從時鐘節點發送的Sync報文,T2為主時鐘節點和P2P TC節點間的路徑時延,tc3為本從時鐘節點向主時鐘節點發送Sync報文時,在P2P TC節點上的駐留時間。一種時間同步方法,該方法應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的主時鐘節點,包括:當所述網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步時;主時鐘節點接收從時鐘節點向本主時鐘節點發送的時間同步Sync報文,并記錄接收該Sync報文的時間t01 ;獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl,并將t01與tcOl的差值t01_tc01,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間;或,當所述網絡中各節點配置端延時機制,且配置單步模式實現時間同步時;所述主時鐘節點接收到所述從時鐘節點通過P2P TC節點轉發的Sync報文時,記錄接收該Sync報文的時間t03,并將t03,以及向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。一種裝置,可應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的從時鐘節點上,該裝置包括:配置單元、收發單元、記錄單元和處理單元;所述配置單元,用于在本從時鐘節點上配置請求應答機制,且配置單步模式實現時間同步,或配置端延時機制,且配置單步模式實現時間同步;所述收發單元,用于當所述配置單元請求應答機制,且配置單步模式實現時間同步時,向主時鐘節點發送時間同步Sync報文,接收主時鐘節點返回的Sync報文;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,向主時鐘節點發送時間同步Sync報文,接收主時鐘節點返回的Sync報文;接收P2P TC節點發送的FolloW_Up報文,其中,所述P2P TC節點為配置端延時機制的TC節點;所述記錄單元,用于所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,記錄所述收發單元發送Sync報文的時間tl ;記錄所述收發單元接收該Sync報文的時間t4,當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,記錄發送Sync報文的時間t5 ;接收該Sync報文的時間t7 ;所述處理單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,獲得所述收發單元接收的Sync報文中攜帶的t3、t2-tcl和tc2,其中t3為主時鐘節點發送該Sync報文的時間,12為主時鐘節點接收從時鐘節點發送的Sync報文的時間,tcl為從時鐘節點向主時鐘節點發送Sync報文時,在E2E TC節點上的駐留時間,tc2為主時鐘節點向從時鐘節點發送的該Sync報文在E2E TC節點上的駐留時間;根據所述記錄單元記錄的tl、t4,以及獲得的t3、t2-tcl和tc2,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(t4 - t3 - tc2) - (t2 - tl - tcl) ] /2,并通過該時鐘偏差調整本地時間,其中,所述E2E TC節點為配置請求應答機制的TC節點;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,獲得所述收發單元接收的Sync報文中攜帶的t6和t8,并根據獲得的t6和t8,以及所述記錄單元記錄的t7和t5,獲得從時鐘節點到P2P TC節點的路徑時延Tl為[(t32-t31) + (t36-t35)]/2 ;其中,t6為P2P TC時鐘節點接收從時鐘節點向主時鐘節點發送Sync報文的時間,t8為P2P TC時鐘節點向從時鐘節點發送Sync報文的時間;獲得所述收發單元接收的Follow_Up報文中攜帶的t9和T2+tc3,并根據獲得t9、T2+tc3和Tl,以及所述記錄單元記錄的t5計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t9 - t5-(T2+tc3)-Tl,并通過該時鐘偏差調整本地時間,其中,t9為主時鐘節點接收從時鐘節點發送的Sync報文,T2為主時鐘節點和P2PTC節點間的路徑時延,tc3為本從時鐘節點向主時鐘節點發送Sync報文時,在P2PTC節點上的駐留時間。 一種裝置,可應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的主時鐘節點上,該裝置包括:配置單元、接收單元、記錄單元和處理單元;所述配置單元,用于配置請求應答機制,且配置單步模式實現時間同步;配置端延時機制,且配置單步模式實現時間同步;所述接收單元,用于接收從時鐘節點向本主時鐘節點發送的時間同步Sync報文;所述記錄單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,記錄所述接收單元接收Sync報文的時間t01 ;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,記錄所述接收單元接收Sync報文的時間t03 ;所述處理單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,獲取所述接收單元接收的Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl,并將t01與tcOl的差值t01_tc01,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。綜上所述,本申請通過從時鐘節點主動發起Sync報文,主時鐘節點接收到Sync報文后,將接收Sync報文的時間攜帶在該Sync報文中,返回給從時鐘節點,從時鐘節點根據本地記錄的時間點和接收的S y n c報文中攜帶的時間點獲得從時鐘節點相對于主時鐘節點的時間偏差,能夠減少協議報文類別、協議報文數量,降低CPU的負擔。
圖1為現有實現中請求應答機制的實現過程;圖2為現有實現中報文的屬性列表;圖3為本發明實施例一中時間同步方法流程示意圖;圖4為本發明具體實施例中報文屬性列表示意圖;圖5為本發明實施例二中時間同步方法流程示意圖;圖6為本發明實施例三中時間同步方法流程示意圖;圖7為本發明實施例四中時間同步方法流程示意圖;圖8為本發明實施例五中時間同步方法流程示意圖;圖9為本發明實施例六中時間同步方法流程示意圖;圖1 0為本發明實施例七中時間同步方法流程示意圖;圖11為本發明實施例八中時間同步方法流程示意圖;圖12為本發明實施例九中時間同步方法流程示意圖;圖13為本發明實施例十中時間同步方法流程示意圖;圖14為本發明實施例1^一中時間同步方法流程示意圖;圖15為本發明實施例十二中時間同步方法流程示意圖;圖16為本發明具體實施例中應用于從時鐘節點上的裝置的結構示意圖;圖17為本發明具體實施例中應用于主時鐘節點上的裝置的結構示意圖。
具體實施例方式為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖并舉實施例,對本發明所述方案作進一步地詳細說明。本發明實施例中提出一種時間同步方法,通過從時鐘節點主動發送Sync報文,獲得主時鐘節點收發Sync報文的時間,以及Sync報文在TC時鐘節點上的駐留時間,計算從時間節點相對于主時鐘節點的時鐘偏差。能夠減少協議報文類別,減少協議報文數量,降低CPU的負擔。在現有實現中,有兩種機制下實現時間同步,分別為請求應答機制和端延時機制,兩種機制都以網絡對稱為前提,在兩種機制下又都存在單步模式和雙步模式下實現時間同步,下面通過具體實施例詳細說明各種情況下從時鐘節點如何實現同主時鐘節點的時間同步的。實施例一網絡中包含主時鐘節點、從時鐘節點和TC節點,網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步,配置請求應答機制的TC節點稱為E2E TC節點。該網絡中從時鐘節點進行時間同步的過程參見圖3,圖3為本發明實施例一中時間同步方法流程示意圖。具體步驟為:步驟301,從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間tl。
該從時鐘節點向主時鐘節點發送的Sync報文會經過E2E TC節點轉發給主時鐘節點,在E2E TC節點轉發該Sync報文時會攜帶該Sync報文在本E2E TC節點上的駐留時間。步驟302,當從時鐘節點接收到主時鐘節點返回的Sync報文時,記錄接收該Sync報文的時間t4,并獲得該Sync報文中攜帶的t3、t2_tcl和tc2。本步驟中t3為主時鐘節點發送該Sync報文的時間,t2為主時鐘節點接收從時鐘節點發送的Sync報文的時間,tcl為從時鐘節點向主時鐘節點發送Sync報文時,在E2E TC節點上的駐留時間,tc2為主時鐘節點向從時鐘節點發送的該Sync報文在E2E TC節點上的駐留時間。主時鐘節點接收到E2E TC節點轉發的主從時鐘節點發送的Sync報文,會記錄接收從時鐘節點發Sync報文的時間t2,并獲得接收的Sync報文中攜帶的駐留時間tcl2,將該差值以及發送該Sync報文的時間攜帶在接收的Sync報文中返回給從時鐘節點。并在返回的從時鐘節點經過E2E TC節點時攜帶上返回該Sync報文在該E2E TC節點上的駐留時間 tc2。參見圖4,圖4為本發明具體實施例中報文屬性列表示意圖。圖4中報文的屬性列表同現有實現的屬性列表的不同之處為,圖4中的屬性列表中增加接收時間戳(receiveTimestamp)屬性字段。其他屬性字段同現有實現,并且本發明具體實施例中的Sync報文和Follow_UP報文的屬性字段包含的內容均同圖4中所給出的屬性字段。只是在messageType字段中填充的報文類型不同。本實施例中駐留時間tell仍然攜帶在correctionField屬性字段中。將計算的差值tl2_tcll添加在新增加的receiveTimestamp屬性字段中,將發送Sync報文的時間tl3添加在originTimestamp屬性字段中發送。在E2E TC節點轉發主時鐘節點發送Sync報文時,將該Sync報文在E2E TC節點上的駐留時間tc2攜帶在Sync報文中的correctionField屬性字段中。從時鐘節點從接收的Sync報文中的originTimestamp屬性字段中獲得t3,從該Sync報文中新增的receiveTimestamp屬性字段中獲得t2_tcl,從該Sync報文中的correctionField屬性字段中獲得tcl2。步驟303,該從時鐘節點根據本地記錄的tl、t4,以及獲得的t3、t2_tcl和tc2,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(t4 - t3 - tc2) - (t2 - 11 -tcl)]/2,并通過該時鐘偏差調整本地時間。該從時鐘節點計算,主、從時鐘節點間的往返總延時為(t2_tl -tcl) + (t4-t3-tc2),由于網絡是對稱的,所以主、從時鐘節點間的單向延時為[(t2-tl-tcl) + (t4-t3-tc2)]/2。因此,從時鐘節點相對于主時鐘節點的時鐘偏差為:Offset=t4- (t3+tc2+主時鐘節點到從時鐘節點的路徑時延)=(t4_t3_tc2) -[ (t2_tl_tcl) +(t4_t3_tc2)]/2=[(t4_t3_tc2)-(t2_tl_tcl)]/2。由該實施例可見,在請求應答機制下單步模式實現時間同步時,只使用了一種協議報文類別即Sync報文,減少了協議報文類別,以及協議報文數量,降低了 CPU的負擔,并給開發和維護帶來了方便。實施例二網絡中包含主時鐘節點、從時鐘節點和TC節點,網絡中的各節點配置端延時機制,且配置單步模式實現時間同步,配置端延時機制的TC節點稱為P2P TC節點。參見圖5,圖5為本發明實施例二中時間同步方法流程示意圖。具體步驟為:步驟501,從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間t5。步驟502,該從時鐘節點接收到本從時鐘節點發出的Sync報文時,記錄接收該Sync報文的時間t7,獲得該Sync報文中攜帶的t6和t8。本步驟中的t6為P2P TC節點接收從時鐘節點向主時鐘節點發送Sync報文的時間,t8為P2P TC時鐘節點向從時鐘節點發送Sync報文的時間。該從時鐘節點向主時鐘節點發送Sync報文經過P2P TC節點時,P2P TC節點記錄接收該Sync報文的時間t6,以及返回該Sync報文的時間t8。本步驟中獲得該Sync報文中攜帶的t6和t8,包括:從Sync報文中新增的receiveTimestamp屬性字段中獲得t6,從Sync報文中originTimestamp屬性字段中獲得t8。步驟503,該從時鐘節點根據獲得的t6和t8,以及記錄的t7和t5,獲得從時鐘節點到 P2P TC 節點的路徑時延 Tl 為[(t32-t31) + (t36-t35)]/2。步驟504,該從時鐘節點接收到P2P TC節點發送的Follow_Up報文時,獲得Follow_Up報文中攜帶的t9和T2+tc3。本步驟中獲得Follow_Up報文中攜帶的t9和T2+tc3,包括:從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得t9,從Follow_Up報文中correctionField屬性字段中獲得T2+tc3。本步驟中t9為主時鐘節點接收從時鐘節點發送的Sync報文,T2為主時鐘節點和P2P TC節點間的路徑時延,tc3為本從時鐘節點向主時鐘節點發送Sync報文時,在P2P TC節點上的駐留時間。步驟505,該從時鐘節點根據獲得的t9、T2+tc3和Tl,以及記錄的t5計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t9-t5-(T2+tc3)-Tl,并通過該時鐘偏差調整本地時間。實施例三網絡中包含主時鐘節點、從時鐘節點和TC節點,網絡中的各節點配置請求應答機制,且配置雙步模式實現時間同步,配置請求應答機制的TC節點稱為E2E TC節點。參見圖6,圖6為本發明實施例三中時間同步方法流程示意圖。具體步驟為:步驟601,從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間tio。從時鐘節點向主時鐘節點發送的Sync報文被E2E TC節點接收到時,會攜帶上該Sync報文向在本E2E TC節點上的駐留時間向所述主節點發送。步驟602,該從時鐘節點接收到E2E TC節點轉發的主時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間tl3。主時鐘節點接收到從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間,并計算接收該Sync報文的時間與該報文中攜帶的駐留時間進行差值計算為tll-tc4。并向從時鐘幾返回該Sync報文。
該主時鐘節點記錄向從時鐘節點返回Sync報文的時間,并將該時間tl2以及差值tll-tc4攜帶在Follow_Up報文中向從時鐘節點發送。該主時鐘節點將tc5攜帶在Follow_Up報文中的correctionField屬性字段中,將tll_tc4攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,將tl2攜帶在Follow_Up 報文中 originTimestamp 屬性字段中。該主時鐘節點與從時鐘節點間的E2E TC節點接收到主時鐘節點向從時鐘節點轉發的Follow_Up報文時,將Sync報文在本E2E TC節點上的駐留時間攜帶上,并轉發從時鐘節點。駐留時間攜帶在Follow_Up報文中的correctionField屬性字段中。步驟603,該時鐘節點接收到E2E TC節點轉發的主時鐘節點發送的Follow_Up報文時,獲取Follow_Up報文中攜帶的tll_tc4、tc5和tl2。本步驟中,til為主時鐘節點接收本從時鐘節點向該主時鐘節點發送的Sync報文的時間,tc4為本從時鐘節點向該主時鐘節點發送Sync報文時在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間,tc5為主時鐘節點向從時鐘節點發送的Sync報文在所述E2E TC節點上的駐留時間,tl2為主時鐘節點向從時鐘節點發送Sync報文的時間;該從時鐘節點從該Fol1wJJp報文中的correctionField屬性字段中獲取tc5,從該Follow_Up報文中新增的receiveTimestamp屬性字段中獲取tll_tc4,從該Follow_Up報文中originTimestamp屬性字段中獲取tl2。步驟604,該從時鐘節點根據本地記錄的tlO、tl3,以及獲得的tl2、tll-tc4和tc5,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(tl3-tl2~tc5) - (tl l-tl0~tc4) ] /2,并通過該時鐘偏差調整本地時間。主、從時鐘節點間的往返總延時為(tll-tl0-tc4) + (tl3-tl2_tc5),由于網絡是對稱的,所以主、從時鐘節點間的單向延時為[(tll-tl0-tc4) + (tl3-tl2-tc5)]/2。因此,從時鐘節點相對于主時鐘節點的時鐘偏差為:0ffset=tl3-(tl2+tc5+主時鐘節點到從時鐘節點的路徑時延)=(tl3-tl2-tc5) -[ (tll-tl0-tc4) + (tl3_tl2_tc5) ]/2= [ (tl3_tl2_tc5) -(t5_t4_tc4) ] /2。由該實施例可見,在請求應答機制下雙步模式實現時間同步時,只使用了兩種協議報文類別即Sync報文和FolloW_Up報文,同現有實現的四種報文協議類別相比,減少了協議報文類別,以及協議報文的數量,降低了 CPU的負擔,并給開發和維護帶來了方便。實施例四網絡中包含主時鐘節點、從時鐘節點和TC節點,網絡中各節點配置端延時機制,且配置雙步模式實現時間同步;配置端延時機制的TC節點稱為P2P TC節點。參見圖7,圖7為本發明實施例四中時間同步方法流程示意圖。具體步驟為:步驟701,從時鐘節點向主時鐘節點發送Sync報文,并記錄發送Sync報文的時間tl4。步驟702,該從時鐘節點接收到P2P TC節點發送的Sync報文時,記錄接收該Sync報文的時間tl5。步驟703,該從時鐘節點接收到P2P TC節點發送的Follow_Up報文時,獲得該Follow_Up報文中攜帶的tl6和tl7。本步驟中tl6為P2P TC節點接收本從時鐘節點發送的Sync報文的時間,tl7為該P2P TC節點向本從時鐘節點發送Sync報文的時間。本步驟中獲得該Follow_Up報文中攜帶的tl6和tl7,包括:從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得tl6,從Follow_Up報文中originTimestamp屬性字段中獲得117。步驟704,該從時鐘節點根據獲得的tl6和tl7,以及本地記錄的tl4和tl5獲得從時鐘節點到P2P TC節點的路徑時延T3為[(tl6-tl4) + (tl5-tl7)]/2。步驟705,該從時鐘節點接收到P2P TC節點轉發的主時鐘節點發送的Follow_Up報文時,獲得Follow_Up報文中攜帶的tl8和T3+tc6。本步驟中tl8為所述主時鐘節點接收本從時鐘節點發送的Sync報文的時間,T4為主時鐘節點和P2P TC節點之間的路徑時延,tc6為本從時鐘節點向主時鐘節點發送Sync報文時經過P2P TC節點時的駐留時間。本步驟中獲得Follow_Up報文中攜帶的tl8和T4+tc6,包括:從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得tl8,從Follow_Up報文中correctionField屬性字段中獲得T4+tc6。步驟706,該從時鐘節點根據獲得tl8、T4+tc6和T3,以及記錄的tl4計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為tl8-tl4-(T4+tc6)-T3,并通過該時鐘偏差調整本地時間。實施例五網絡中包含主時鐘節點、從時鐘節點和TC節點,該網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步,配置請求應答機制的TC節點稱為ETE TC節點。參見圖8,圖8為本發明實施例五中時間同步方法流程示意圖。具體步驟為:步驟801,主時鐘節點接收從時鐘節點向本主時鐘節點發送的時間同步Sync報文,并記錄接收該Sync報文的時間t01。步驟802,該主時鐘節點獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl。本步驟中獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl,包括:從該Sync報文中的correctionField屬性字段中獲得該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl。步驟803,該主時鐘節點將t01與tcOl的差值t01_tc01,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。本步驟中將t01與tcOl的差值t01-tc01,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,包括:將t01_tc01攜帶在接收的Sync報文中新增的接收時間戳receiveTimestamp屬性字段中,將t02攜帶在接收的Sync報文中的originTimestamp 屬性字段中。實施例六網絡中包含主時鐘節點、從時鐘節點和TC節點,該網絡中各節點配置端延時機制,且配置單步模式實現時間同步,配置端延時機制的TC節點稱為P2P TC節點。
參見圖9,圖9為本發明實施例六中時間同步方法流程示意圖。具體步驟為:步驟901,主時鐘節點接收到所述從時鐘節點通過P2P TC節點轉發的Sync報文時,記錄接收該Sync報文的時間t03。步驟902,該主時鐘節點將t03,以及向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。本步驟中將t03,以及向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,包括:將t03攜帶在Sync報文中新增的receiveTimestamp屬性字段中,將t04攜帶在Sync報文中originTimestamp屬性字段中。實施例七網絡中包含主時鐘節點、從時鐘節點和TC節點,該網絡中的各節點配置請求應答機制,且配置雙步模式實現時間同步,所述配置請求應答機制的TC節點稱為E2E TC節點。參見圖10,圖10為本發明實施例七中時間同步方法流程示意圖。具體步驟為:步驟1001,主時鐘節點接收到E2E TC節點轉發的從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t05。步驟1002,該主時鐘節點獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02,并將接收的Sync報文轉發給從時鐘節點。本步驟中獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02,包括:從該Sync報文中的correctionField屬性字段中獲取該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02。步驟1003,該主時鐘節點記錄向所述從時鐘節點發送Sync報文的時間t06,計算t05與獲取的tc02的差值t05-tc02。步驟1004,該主時鐘節點將t05_tc02,以及t06攜帶在跟隨Follow_Up報文中向從時鐘節點發送,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。本步驟中將t05_tc02,以及t06攜帶在跟隨Follow_Up報文中向從時鐘節點發送,包括:將t05_tc02攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,t06攜帶在Follow_Up報文中originTimestamp屬性字段中發送給從時鐘節點。實施例八網絡中包含主時鐘節點、從時鐘節點和TC節點,該網絡中各節點配置端延時機制,且配置雙步模式實現時間同步,所述配置端延時機制的TC節點稱為P2P TC節點。參見圖11,圖11為本發明實施例八中時間同步方法流程示意圖。具體步驟為:步驟1101,主時鐘節點接收到P2P TC節點轉發的從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t07。步驟1102,該主時鐘節點將該Sync報文發送給從時鐘節點,記錄發送Sync報文的時間t08。步驟1103,該主時鐘節點將t07和t08攜帶在Follow_Up報文中,通過本主時鐘節點與從時鐘節點間的P2P TC節點轉發給從時鐘節點,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。本步驟中該主時鐘節點將t07和t08攜帶在Follow_Up報文中,包括:該主時鐘節點將t07攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,將t08攜帶在Follow_Up 報文中 originTimestamp 屬性字段中。實施例九本實施例以網絡中配置請求應答機制單步模式下實現時間同步為例,配置請求應答機制的網絡中包括從時鐘節點、主時鐘節點和E2E TC節點,以任一從時鐘節點進行時間同步為例。參見圖12,圖12為本發明實施例九中時間同步方法流程示意圖。具體步驟為:步驟1201,從時鐘節點向主時鐘節點發送Sync報文,并記錄發送Sync報文的時間til。步驟1202,E2E TC節點接收到從時鐘節點向主時鐘節點發送的Sync報文時,在接收的Sync報文中攜帶該Sync報文在本E2E TC節點上的駐留時間tell后,轉發給主時鐘節點。步驟1203,主時鐘節點接收到E2E TC節點轉發的從時鐘節點發送的Sync報文時,將接收該Sync報文的時間tl2與該Sync報文中攜帶的tell的差tl2_tcll,以及向從時鐘節點發送Sync報文的時間tl3攜帶在Sync報文中,并向從時鐘節點發送。主時鐘節點接收到E2E TC轉發的Sync報文,記錄接收Sync報文的時間tl2,將接收Sync報文的時間tl2與接收的Sync報文中correctionField屬性字段中的tell進行差值計算,將該差值tl2_tcll添加在receiveTimestamp屬性字段中,將發送Sync報文的時間tl3添加在originTimestamp屬性字段中,攜帶在Sync報文中向從時鐘節點發送。步驟1204,E2E TC節點接收到主時鐘節點向從時鐘節點發送的Sync報文時,在接收的Sync報文中攜帶該Sync報文在本E2E TC節點上的駐留時間tcl2后,向從時鐘節點發送。本步驟中的tcl2添加到Sync報文中的correctionField屬性字段中。E2E TC節點向從時鐘轉發Sync報文時,從接收到從時鐘發送的Sync報文的端口轉發給從時鐘節點。步驟1205,從時鐘節點接收到E2E TC節點轉發的主時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間tl4,并獲得該Sync報文中攜帶的tl3、tl2_tcll和tcl2。從時鐘節點接收到Sync報文時,從該Sync報文中的correctionField屬性字段中獲取tcl2,從receiveTimestamp屬性字段中獲取tl2_tcll,從originTimestamp屬性字段中獲取tcl3。步驟1206,從時鐘節點根據本地記錄的til、tl4,以及獲得的tl3、tl2_tcll和tcl2,計算獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(tl4 - tl3 -化12)-&12-七11-化11)]/2,并通過該時鐘偏差調整本地時間。主、從時鐘節點間的往返總延時為(tl2_tll -tcll) + (tl4-tl3_tcl2),由于網絡是對稱的,所以主、從時鐘節點間的單向延時為[(tl2 - til - tell) + (tl4 - tl3 -tcl2)]/2。因此,從時鐘節點相對于主時鐘節點的時鐘偏差為:0ffset=tl4-(tl3+tcl2+主時鐘節點到從時鐘節點的路徑時延)=(tl4 - tl3 - tcl2)-[(tl2 - til - tcll) + (tl4 -tl3 - tcl2)]/2=[(tl4 - tl3 - tcl2)-(tl2 - til - tcll)]/2。
由該實施例可見,在請求應答機制下單步模式實現時間同步時,只使用了一種協議報文類別即Sync報文,減少了協議報文類別,以及協議報文數量,降低了 CPU的負擔,并給開發和維護帶來了方便。實施例十本實施例以網絡中各節點配置請求應答機制雙步模式實現時間同步為例,在請求應答機制下網絡中包括從時鐘節點、主時鐘節點和E2E TC節點,以任一從時鐘節點進行時間同步為例。參見圖13,圖13為本發明實施例十中時間同步方法流程示意圖。具體步驟為:步驟1301,從時鐘節點向主時鐘節點發送Sync報文,并記錄發送Sync報文的時間t21。步驟1302,E2E TC節點接收到從時鐘節點向主時鐘節點發送的Sync報文時,在接收的Sync報文中攜帶在本E2E TC節點上的駐留時間tc21后,轉發給主時鐘節點。步驟1303,主時鐘節點接收到E2E TC節點轉發的從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t22,獲取Sync報文中攜帶的tc21,并將接收的Sync報文轉發給從時鐘節點。步驟1304,主時鐘節點記錄發送Sync報文的時間t23,計算t22與獲取的tc21的差值t22-tc21,并將t22-tc21以及t23攜帶在Follow_Up報文中向從時鐘節點發送。在雙步模式下Sync報文不攜帶發送報文的時間,而是另外發送一個Follow_Up報文攜帶。該實施例中t22_tc21攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,t23攜帶在Follow_Up報文中的originTimestamp屬性字段中發送給從時鐘節點,Follow_Up報文的屬性列表參見圖4。步驟1305,E2E TC節點接收到主時鐘節點向從時鐘節點發送的Sync報文時,將該Sync報文轉發給從時鐘節點,并記錄該Sync報文在本節點的駐留時間tc22。步驟1306,E2E TC節點接收到主時鐘發送的Follow_Up報文時,在接收的Follow_Up報文中攜帶在本節點上記錄的駐留時間tc22,并轉發給從時鐘節點。E2E TC節點只記錄Sync報文在本節點的駐留時間tc22,不攜帶在發送的Sync報文中,在后續轉發的Follow_Up報文時,將駐留時間tc22添加到correctionField屬性字段中。在向從時鐘節點轉發Sync報文和Follow_Up報文時,從接收從時鐘節點發送的Sync報文的端口轉發。步驟1307,從時鐘節點接收到E2E TC節點轉發的主時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t24。步驟1308,從時鐘節點接收到E2E TC節點轉發的主時鐘節點發送的Follow_Up報文時,獲取報文中攜帶的t22-tc21、tc22和t23。從時鐘節點接收到Fol1wJJp報文時,從該Fol1wJJp報文中的correctionField屬性字段中獲取tc22,從receiveTimestamp屬性字段中獲取t22_tc21,從originTimestamp屬性字段中獲取t23。步驟1309,從時鐘節點根據本地記錄的t21、t24,以及獲得的t23、t22_tc21和tc22,計算獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(t24-t23-tc22)-(t22-t21-tc21)]/2,并通過該時鐘偏差調整本地時間。
主、從時鐘節點間的往返總延時為(t22-t21-tc21) + (t24-t23_tc22),由于網絡是對稱的,所以主、從時鐘節點間的單向延時為[(t22-t21-tc21) + (t24-23-tc22)]/2。因此,從時鐘節點相對于主時鐘節點的時鐘偏差為:0ffset=t24-(t23+tc22+主時鐘節點到從時鐘節點的路徑時延)=(t24-t2-tc22) - [ (t22-t21-tc21) + (t24_t23_tc22) ] /2= [ (t24_t23_tc22)-(t22-t21-tc21)]/2。由該實施例可見,在請求應答機制下雙步模式實現時間同步時,只使用了兩種協議報文類別即Sync報文和FolloW_Up報文,同現有實現的四種報文協議類別相比,減少了協議報文類別,以及協議報文的數量,降低了 CPU的負擔,并給開發和維護帶來了方便。實施例1^一本實施例以網絡中配置端延時機制單步模式下實現時間同步為例,在端延時機制網絡中包括從時鐘節點、主時鐘節點和P2P TC節點,以任一從時鐘節點進行時間同步為例。參見圖14,圖14為本發明實施例1^一中時間同步方法流程示意圖。具體步驟為:步驟1401,從時鐘節點向主時鐘節點發送Sync報文,并記錄發送Sync報文的時間t310步驟1402,P2P TC節點接收到從時鐘節點向主時鐘節點發送的Sync報文時,復制該Sync報文并攜帶接收該Sync 報文的時間t32和發送該Sync報文的時間t35轉發給從時鐘節點。本步驟中t32攜帶在Sync報文中的新增加的receiveTimestamp屬性字段中,將發送Sync報文的時間t35攜帶在Sync報文中的originTimestamp屬性字段中。該Sync報文的屬性列表參見圖4。P2P TC節點將攜帶t32和t35的Sync報文從接收從時鐘節點發送的Sync報文的端口轉發給從時鐘節點。步驟1403,從時鐘節點接收到本從時鐘節點發出的Sync報文時,記錄接收該Sync報文的時間t36,獲得該Sync報文中攜帶的t32,t35,并根據t36、t32、t31和t35獲得從時鐘節點到TC節點的路徑時延T31為[(t32 - t31) + (t36 - t35)]/2。本步驟中從Sync報文中新增的receiveTimestamp屬性字段中獲得t32,從Sync報文中originTimestamp屬性字段中獲得t35。步驟1404, P2P TC節點向主時鐘節點發送接收從時鐘節點發送的Sync報文,記錄向主時鐘節點發送該Sync報文的時間t33,并計算該Sync報文在本P2P TC節點的駐留時間 tc31 為 t33_t32。步驟1405,主時鐘節點接收到P2P TC節點轉發的從時鐘節點發送的Sync報文時,將接收該Sync報文的時間t34以及發送該Sync報文的時間t37攜帶在接收的Sync報文中向從時鐘節點發送。本步驟中將t34攜帶在主時鐘節點向從時鐘節點發送的Sync報文中新增的receiveTimestamp屬性字段中,將t37攜帶在主時鐘節點向從時鐘節點發送的Sync報文中originTimestamp 屬性字段中。步驟606,P2P TC節點接收到主時鐘節點向從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t38,并根據記錄的t38、t33以及該Sync報文中攜帶的t34和t37獲得主時鐘節點到P2P TC節點的路徑時延T32為[(t38-t37) + (t34-t33)]/2。
步驟607,P2P TC節點將獲得T32與tc31的和T32+tc31,以及t34攜帶在Follow_Up報文中發送給從時鐘節點。本步驟中將T32+tc31攜帶在P2P TC節點向從時鐘節點發送的Follow_Up報文中的correctionField屬性字段中;將t34攜帶在P2P TC節點向從時鐘節點發送的Follow_Up報文中新增的receiveTimestamp屬性字段中。步驟1408,從時鐘節點接收到P2P TC節點發送的Follow_Up報文時,獲得報文中攜帶的t34和T32+tc31,并根據獲得t34、T32+tc31和T31,以及記錄的t31計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t34 - t31- (tc31+T32) -T31,并通過該時鐘偏差調整本地時間。本步驟中從Fol1wJJp報文中新增的receiveTimestamp屬性字段中獲得t34,從Follow_Up報文中的correctionField屬性字段中獲得T32+tc31。由于 T31 為[(t32 - t31) + (t36 - t35) ] /2,T32 為[(t38 - t37) + (t34 - t33) ] /2,因此,從時鐘相對于主時鐘節點的時鐘偏差offset為t34 - t31- (tc31+T31) _T32=t34 -t31-{tc31+[(t34 - t33) + (t38 - t37) ]/2}-[ (t32 - t31) + (t36 - t35)]/2。由該實施例可見,在端延時機制下單步模式實現時間同步時,只使用了兩種協議報文類別即Sync報文和FolloW_Up報文,同現有實現的四種報文協議類別相比,減少了協議報文類別,以及協議報文數量,降低了 CPU的負擔,并給開發和維護帶來了方便。實施例十二本實施例以網絡中各節點配置端延時機制雙步模式下實現時間同步為例,在端延時機制網絡中包括從時鐘節點、主時鐘節點和P2P TC節點,以任一從時鐘節點進行時間同步為例。參見圖15,圖15為本發明實施例十二中時間同步方法流程示意圖。具體步驟為:步驟1501,從時鐘節點向主時鐘節點發送Sync報文,并記錄發送Sync報文的時間t41。步驟1502,P2P TC節點接收到從時鐘節點向主時鐘節點發送的Sync報文時,記錄接收Sync報文的時間t42,復制該Sync報文并轉發給從時鐘節點,記錄向從時鐘節點發送該Sync報文的時間t45 ;向從時鐘節點發送攜帶t42和t45的Follow_Up報文。本步驟中t42、t45攜帶在Follow_Up報文中,而不是攜帶在Sync報文中。將t42攜帶在Follow_Up報文中新增加的receiveTimestamp屬性字段中,將發送Sync報文的時間t45攜帶在Follow_Up報文中新增加的originTimestamp屬性字段中。該Follow_Up報文的屬性列表參見圖4。P2P TC節點將攜帶t42和t45的Follow_Up報文從接收從時鐘節點發送的Sync報文的端口轉發給從時鐘節點。步驟1503,從時鐘節點接收到P2P TC節點發送的Sync報文時,記錄接收該Sync報文的時間t46 ;接收到P2P TC節點發送的Follow_Up報文時,獲得報文中攜帶的t42和t45,并根據獲得的t42和t45,以及本地記錄的t41和t46獲得從時鐘節點到P2P TC節點的路徑時延 T41 為[(t42 - t41) + (t46 - t45)]/2。本步驟中從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得t42,從Follow_Up報文中originTimestamp屬性字段中獲得t45。
步驟1504,P2P TC節點向主時鐘節點發送接收從時鐘節點發送的Sync報文,記錄向主時鐘節點發送該Sync報文的時間t43,并計算該Sync報文在本P2P TC節點的駐留時間 tc41 為 t43-t42。步驟1505,主時鐘節點接收到P2P TC節點轉發的從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t44,并將該Sync報文轉發給P2P TC節點,記錄轉發給Sync報文的時間t47。步驟1506,主時鐘節點將t44和t47攜帶在Follow_Up報文中發送給P2P TC節點。本步驟中將t44攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,將t47攜帶在Follow_Up報文中originTimestamp屬性字段中。步驟1507,P2P TC節點接收到主時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t48 ;接收到主時鐘節點發送的Follow_Up報文時,獲得該報文中攜帶的t44和t47,并根據本地記錄的t43和t48獲得主時鐘節點到TC節點的路徑時延T42為[(t48-t47) + (t44-t43)]/2。本步驟中從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得t44,從Follow_Up報文中originTimestamp屬性字段中獲得t47。步驟1508,P2P TC節點將獲得T42與Follow_Up報文中攜帶的tc41的和T42+tc41以及t44攜帶在Follow_Up報文中發送給從時鐘節點。本步驟中將t44攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,將T42+tc41攜帶在Follow_Up報文中correctionField屬性字段中。步驟1509,從時鐘節點接收到P2P TC節點發送的Follow_Up報文時,獲得該Follow_Up報文中攜帶的t44和T42+tc41,并根據獲得t44、T42+tc41和T41,以及記錄的t41計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t44 - t41-(tc41+T42)_T41,并通過該時鐘偏差調整本地時間。本步驟中從Fol1wJJp報文中新增的receiveTimestamp屬性字段中獲得t44,從Follow_Up報文中correctionField屬性字段中獲得T42+tc41。獲得的T41為本地記錄獲得的。由于T41 為[(t42 - t41) + (t46 - t45) ] /2,T42 為[(t48 - t47) + (t44 - t43) ] /2,因此,從時鐘相對于主時鐘節點的時鐘偏差offset為t44 - t41- (tc41+T42) _T41=t44 -t41-{tc41+[(t44 - t43) + (t48 - t47) ]/2}-[ (t42 - t41) + (t46 - t45)]/2。由該實施例可見,在端延時機制下雙步模式實現時間同步時,只使用了兩種協議報文類別即Sync報文和FolloW_Up報文,同現有實現的五種報文協議類別相比,減少了協議報文類別的使用,降低了 CPU的負擔,并給開發和維護帶來了方便。本發明具體實施例中基于同樣的發明構思,還提出一種裝置,可應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的從時鐘節點上,參見圖16,圖16為本發明具體實施例中應用于從時鐘節點上的裝置的結構示意圖。該裝置包括:配置單元1601、收發單元1602、記錄單元1603和處理單元1604。配置單元1601,用于在本從時鐘節點上配置請求應答機制,且配置單步模式實現時間同步,或配置端延時機制,且配置單步模式實現時間同步。
收發單元1602,用于當配置單元1601配置請求應答機制,且配置單步模式實現時間同步時,向主時鐘節點發送時間同步Sync報文,接收主時鐘節點返回的Sync報文;當配置單元1601配置端延時機制,且配置單步模式實現時間同步時,向主時鐘節點發送時間同步Sync報文,接收主時鐘節點返回的Sync報文;接收P2P TC節點發送的Follow_Up報文,其中,所述P2P TC節點為配置端延時機制的TC節點。記錄單元1603,用于配置單元1601配置請求應答機制,且配置單步模式實現時間同步時,記錄收發單元1602發送Sync報文的時間tl ;記錄收發單元1602接收該Sync報文的時間t4,當配置單元1601配置端延時機制,且配置單步模式實現時間同步時,記錄收發單元1602發送Sync報文的時間t5 ;收發單元1602接收該Sync報文的時間t7。處理單元1604,用于當配置單元1601配置請求應答機制,且配置單步模式實現時間同步時,獲得收發單元1603接收的Sync報文中攜帶的t3、t2_tcl和tc2,其中t3為主時鐘節點發送該Sync報文的時間,12為主時鐘節點接收從時鐘節點發送的Sync報文的時間,tcI為從時鐘節點向主時鐘節點發送Sync報文時,在E2ETC節點上的駐留時間,tc2為主時鐘節點向從時鐘節點發送的該Sync報文在E2ETC節點上的駐留時間;根據記錄單元1603記錄的tl、t4,以及獲得的t3、t2-tcl和tc2,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(t4 - t3 - tc2) - (t2 - tl - tcl) ] /2,并通過該時鐘偏差調整本地時間,其中,所述E2E TC節點為配置請求應答機制的TC節點;當配置單元1601配置端延時機制,且配置單步模式實現時間同步時,獲得收發單元1602接收的Sync報文中攜帶的t6和t8,并根據獲得的t6和t8,以及記錄單元1603記錄的t7和t5,獲得從時鐘節點到P2P TC節點的路徑時延Tl為[(t32-t31) + (t36-t35)]/2 ;其中,t6為P2P TC時鐘節點接收從時鐘節點向主時鐘節點發送Sync報文的時間,t8為P2P TC時鐘節點向從時鐘節點發送Sync報文的時間;獲得收發單元1602接收的FolloW_Up報文中攜帶的t9和T2+tc3,并根據獲得t9、T2+tc3和Tl,以及所述記錄單元記錄的t5計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t9 - t5-(T2+tc3)-Tl,并通過該時鐘偏差調整本地時間,其中,t9為主時鐘節點接收從時鐘節點發送的Sync報文,T2為主時鐘節點和P2P TC節點間的路徑時延,tc3為本從時鐘節點向主時鐘節點發送Sync報文時,在P2P TC節點上的駐留時間。較佳地,處理單元1604,用于配置單元1601配置請求應答機制,且配置單步模式實現時間同步時,從收發單元1602接收的Sync報文中的originTimestamp屬性字段中獲得t3,從該Sync報文中新增的receiveTimestamp屬性字段中獲得t2_tcl,從該Sync報文中的correctionField屬性字段中獲得tcl2 ;當配置單元1601配置端延時機制,且配置單步模式實現時間同步時,從收發單元1602接收到的Sync報文中新增的receiveTimestamp屬性字段中獲得t6,從Sync報文中originTimestamp屬性字段中獲得t8 ;WFollow_Up報文中新增的receiveTimestamp屬性字段中獲得t9,從Follow_Up報文中correctionField屬性字段中獲得T2+tc3。較佳地,配置單元1601,用于在本時鐘節點上配置請求應答機制,且配置雙步模式實現時間同步;配置端延時機制,且配置雙步模式實現時間同步。收發單元1602,用于向主時鐘節點發送時間同步Sync報文,接收E2E TC節點轉發的主時鐘節點發送的Sync報文;接收E2E TC節點轉發的主時鐘節點發送的FolloW_Up報文。記錄單元1603,用于配置單元1601配置請求應答機制,且配置雙步模式實現時間同步時,記錄發送Sync報文的時間tlO ;記錄接收該Sync報文的時間tl3 ;配置單元1601配置端延時機制,且配置雙步模式實現時間同步時,記錄發送Sync報文的時間tl4,記錄接收該Sync報文的時間tl5。處理單元1604,用于當配置單元1601配置請求應答機制,且配置雙步模式實現時間同步時,獲取收發單元1602接收的Follow_Up報文中攜帶的tll_tc4、tc5和tl2 ;其中,til為主時鐘節點接收本從時鐘節點向該主時鐘節點發送的Sync報文的時間,tc4為本從時鐘節點向該主時鐘節點發送Sync報文時在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間,tc5為主時鐘節點向從時鐘節點發送的Sync報文在所述E2E TC節點上的駐留時間,tl2為主時鐘節點向從時鐘節點發送Sync報文的時間;根據記錄單元1603中記錄的tlO、tl3,以及獲得的tl2、tll-tc4和tc5,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(tl3-tl2-tc5)-(tll -tl0-tc4)]/2,并通過該時鐘偏差調整本地時間;當配置單元1601配置端延時機制,且配置雙步模式實現時間同步時,獲得收發單元1602接收的Follow_Up報文中攜帶的tl6和tl7,并根據獲得的tl6和tl7,以及記錄單元1603記錄的tl4和tl5獲得從時鐘節點到P2P TC節點的路徑時延T3為[(tl6 -tl4) + (tl5-tl7)]/2 ;其中,tl6為P2P TC節點接收本從時鐘節點發送的Sync報文的時間,tl7為該P2P TC節點向本從時鐘節點發送Sync報文的時間;獲得收發單元1602接收的Follow_Up報文中攜帶的tl8和T3+tc6 ;其中,tl8為所述主時鐘節點接收本從時鐘節點發送的Sync報文的時間,T4為主時鐘節點和P2P TC節點之間的路徑時延,tc6為本從時鐘節點向主時鐘節點發送Sync報文時經過P2P TC節點時的駐留時間;根據獲得118、T4+tc6和T3,以及記錄單元1603記錄的tl4計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為tl8 - tl4-(T4+tc6)-T3,并通過該時鐘偏差調整本地時間。較佳地,處理單元1604,用于當配置單元1601配置請求應答機制,且配置雙步模式實現時間同步時,從收發單元1602接收的Follow_Up報文中的correctionField屬性字段中獲取tc5,從該Follow_Up報文中新增的receiveTimestamp屬性字段中獲取tll_tc4,從該Follow_Up報文中originTimestamp屬性字段中獲取tl2 ;當配置單元1601配置端延時機制,且配置雙步模式實現時間同步時,從收發單元1602接收到的FolloW_Up報文中新增的receiveTimestamp屬性字段中獲得tl6,從Follow_Up報文中originTimestamp屬性字段中獲得tl7 ;從Fol1wJJp報文中新增的receiveTimestamp屬性字段中獲得tl8,從Follow_Up 報文中 correctionField 屬性字段中獲得 T4+tc6。基于同樣的發明構思,本申請還提出一種裝置,可應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的主時鐘節點上。參見圖17,圖17為本發明具體實施例中應用于主時鐘節點上的裝置的結構示意圖。該裝置包括:配置單元1701、接收單元1702、記錄單元1703和處理單元1704。配置單元1701,用于配置請求應答機制,且配置單步模式實現時間同步;配置端延時機制,且配置單步模式實現時間同步。
接收單元1702,用于接收從時鐘節點向本主時鐘節點發送的時間同步Sync報文。記錄單元1704,用于當配置單元1701配置請求應答機制,且配置單步模式實現時間同步時,記錄接收單元1702接收Sync報文的時間t01 ;當配置單元1701配置端延時機制,且配置單步模式實現時間同步時,記錄接收單元1702接收Sync報文的時間t03。處理單元1704,用于當配置單元1701配置請求應答機制,且配置單步模式實現時間同步時,獲取接收單元1702接收的Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl,并將t01與tcOl的差值t01_tc01,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間;當配置單元1701配置端延時機制,且配置單步模式實現時間同步時,向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。較佳地,處理單元1704,用于當配置單元1701配置請求應答機制,且配置單步模式實現時間同步時,從接收單元1702接收的Sync報文中的correctionField屬性字段中獲得該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl ;將t01-tc01攜帶在接收的Sync報文中新增的接收時間戳receiveTimestamp屬性字段中,將t02攜帶在接收的Sync報文中的源時間戳originTimestamp屬性字段中;當配置單元1701配置端延時機制,且配置單步模式實現時間同步時,將t03攜帶在Sync報文中新增的receiveTimestamp屬性字段中,將t04攜帶在Sync報文中originTimestamp屬性字段中。較佳地,配置單元1701,用于配置請求應答機制,且配置雙步模式實現時間同步;配置端延時機制,且配置雙步模式實現時間同步。接收單元1702,用于當配置單元1701配置請求應答機制,且配置雙步模式實現時間同步時,接收E2E TC節點轉發的從時鐘節點發送的Sync報文;當配置單元1701配置端延時機制,且配置雙步模式實現時間同步時,接收P2P TC節點轉發的從時鐘節點發送的Sync報文。記錄單元1704,用于當配置單元1701配置請求應答機制,且配置雙步模式實現時間同步,記錄接收單元1702接收的Sync報文的時間t05,記錄向從時鐘節點發送Sync報文的時間t06 ;當配置單元1701配置配置端延時機制,且配置雙步模式實現時間同步時,記錄接收單元1702接收該Sync報文的時間t07 ;記錄發送Sync報文的時間t08。處理單元1704,用于當配置單元1701配置請求應答機制,且配置雙步模式實現時間同步時,獲取接收單元1702接收的Sync報文中攜帶的,該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02,并將接收的Sync報文轉發給從時鐘節點;并計算t05與獲取的tc02的差值t05-tc02,并將t05_tc02,以及t06攜帶在跟隨Follow_Up報文中向從時鐘節點發送,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間;當配置單元1701配置配置端延時機制,且配置雙步模式實現時間同步時,將記錄單元1704記錄的t07和t08攜帶在Fol1wJJp報文中,通過本主時鐘節點與從時鐘節點間的P2P TC節點轉發給從時鐘節點,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。較佳地,處理單元1704,用于當配置單元1701配置請求應答機制,且配置雙步模式實現時間同步時,從接收單元1702接收的Sync報文中的correctionField屬性字段中獲取該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02 ;將t05-tc02攜帶在Fol1wJJp報文中新增的receiveTimestamp屬性字段中,t06攜帶在Follow_Up報文中originTimestamp屬性字段中發送給從時鐘節點;當配置單元1701配置端延時機制,且配置雙步模式實現時間同步時,將t07攜帶在FolloW_Up報文中新增的receiveTimestamp屬性字段中,將t08攜帶在Follow_Up報文中originTimestamp屬性字段中。上述實施例的單元可以集成于一體,也可以分離部署;可以合并為一個單元,也可以進一步拆分成多個子單兀。綜上所述,本發明具體實施例中從時鐘節點主動發起Sync報文,主時鐘節點接收到Sync報文后,將接收Sync報文的時間攜帶在該Sync報文中,返回給從時鐘節點,從時鐘節點根據本地記錄的時間點和接收的Sync報文中攜帶的時間點獲得從時鐘節點相對于主時鐘節點的時間偏差,能夠減少協議報文類別和協議報文數量,降低CPU的負擔。本發明具體實施例中分別給出了請求應答機制下單步和雙步模式下,以及端延時機制下單步和雙步模式下,如何實現時間同步,本發明具體實施例的實現方式,大大減少了協議報文的類別,使得第一時間同步就能夠準確。特別是再高精度時間同步的情況下,大大減少了節點的CPU負擔,提高了各節點的性能。以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。
權利要求
1.一種時間同步方法,該方法應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的從時鐘節點,其特征在于,包括: 當所述網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步時, 所述從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間tl ;當從時鐘節點接收到主時鐘節點返回的Sync報文時,記錄接收該Sync報文的時間t4,并獲得該Sync報文中攜帶的t3、t2-tcl和tc2,其中t3為主時鐘節點發送該Sync報文的時間,t2為主時鐘節點接收從時鐘節點發送的Sync報文的時間,tcl為從時鐘節點向主時鐘節點發送Sync報文時,在端到端E2E TC節點上的駐留時間,tc2為主時鐘節點向從時鐘節點發送的該Sync報文在E2E TC節點上的駐留時間;其中,所述E2E TC節點為配置請求應答機制的TC節點; 從時鐘節點根據本地記錄的tl、t4,以及獲得的t3、t2-tcl和tc2,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(t4 - t3 - tc2)-(t2 - tl - tcl) ]/2,并通過該時鐘偏差調整本地時間; 或, 當所述網絡中各節點配置端延時機制,且配置單步模式實現時間同步時; 所述從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間t5 ; 該從時鐘節點接收到本從時鐘節點發出的Sync報文時,記錄接收該Sync報文的時間t7,獲得該Sync報文中攜帶的t6和t8,并根據獲得的t6和t8,以及記錄的t7和t5,獲得從時鐘節點到對等P2P TC節點的路徑時延Tl為[(t32-t31) + (t36-t35)]/2 ;其中,t6為P2P TC時鐘節點接收從時鐘節點向主時鐘節點發送Sync報文的時間,t8為P2P TC時鐘節點向從時鐘節點發送Sync報文的時間;所述P2P TC節點為配置端延時機制的TC節點; 該從時鐘節點接收到P2P TC節點發送的跟隨Follow_Up報文時,獲得Follow_Up報文中攜帶的t9和T2+tc3,并根據獲得t9、T2+tc3和Tl,以及記錄的t5計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t9-t5-(T2+tc3)-Tl,并通過該時鐘偏差調整本地時間,其中,t9為主時鐘節點接收從時鐘節點發送的Sync報文,T2為主時鐘節點和P2P TC節點間的路徑時延,tc3為本從時鐘節點向主時鐘節點發送Sync報文時,在P2P TC節點上的駐留時間。
2.根據權利要求1所述的方法,其特征在于, 當所述網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步時,所述獲得該Sync報文中攜帶的t3、t2_tcl和tc2,包括:從該Sync報文中的源時間戳originTimestamp屬性字段中獲得t3,從該Sync報文中新增的接收時間戳receiveTimestamp屬性字段中獲得t2_tcl,從該Sync報文中的校驗值correctionField屬性字段中獲得tcl2; 當所述網絡中各節點配置端延時機制,且配置單步模式實現時間同步時,所述獲得該Sync報文中攜帶的t6和t8,包括:從Sync報文中新增的receiveTimestamp屬性字段中獲得t6,從Sync報文中originTimestamp屬性字段中獲得t8 ; 所述獲得Follow_Up報文中攜帶的t9和T2+tc3,包括:從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得t9 ,從Follow_Up報文中correctionField屬性字段中獲得 T2+tc3。
3.根據權利要求1或2所述的方法,其特征在于,所述方法進一步包括: 當所述網絡中的各節點配置請求應答機制,且配置雙步模式實現時間同步時; 該從時鐘節點向主時鐘節點發送時間同步Sync報文,并記錄發送Sync報文的時間tlO ; 該從時鐘節點接收到E2E TC節點轉發的主時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間tl3 ;接收到E2E TC節點轉發的主時鐘節點發送的Follow_Up報文時,獲取Follow_Up報文中攜帶的tll-tc4、tc5和tl2 ;其中,til為主時鐘節點接收本從時鐘節點向該主時鐘節點發送的Sync報文的時間,tc4為本從時鐘節點向該主時鐘節點發送Sync報文時在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間,tc5為主時鐘節點向從時鐘節點發送的Sync報文在所述E2E TC節點上的駐留時間,tl2為主時鐘節點向從時鐘節點發送Sync報文的時間; 該從時鐘節點根據本地記錄的tlO、tl3,以及獲得的tl2、tll-tc4和tc5,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(tl3-tl2-tc5)-(tll-tl0-tc4)]/2,并通過該時鐘偏差調整本地時間; 或, 當所述網絡中各節點配置端延時機制,且配置雙步模式實現時間同步時; 該從時鐘節點向主時鐘節點發送Sync報文,并記錄發送Sync報文的時間tl4 ;該從時鐘節點接收到P2P TC節點發送的Sync報文時,記錄接收該Sync報文的時間115 ;接收到P2P TC節點發送的Fo 11ow_Up報文時,獲得該Fo 11ow_Up報文中攜帶的116和tl7,并根據獲得的tl6和tl7,以及本地記錄的tl4和tl5獲得從時鐘節點到P2P TC節點的路徑時延T3為[&16-^4) + &15-七17)]/2;其中316為?2 TC節點接收本從時鐘節點發送的Sync報文的時間,117為該P2P TC節點向本從時鐘節點發送Sync報文的時間;該從時鐘節點接收到P2P TC節點轉發的主時鐘節點發送的FolloW_Up報文時,獲得Follow_Up報文中攜帶的tl8和T3+tc6 ;其中,tl8為所述主時鐘節點接收本從時鐘節點發送的Sync報文的時間,T4為主時鐘節點和P2P TC節點之間的路徑時延,tc6為本從時鐘節點向主時鐘節點發送Sync報文時經過P2P TC節點時的駐留時間; 該從時鐘節點根據獲得tl8、T4+tc6和T3,以及記錄的tl4計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為tl8 - tl4-(T4+tc6)-T3,并通過該時鐘偏差調整本地時間。
4.根據權利要求3所述的方法,其特征在于, 當所述網絡中的各節點配置請求應答機制,且配置雙步模式實現時間同步時,所述獲取Follow_Up報文中攜帶的tll-tc4、tc5和tl2,包括:從該Follow_Up報文中的correctionField屬性字段中獲取tc5,從該FoIlow_Up報文中新增的receiveTimestamp屬性字段中獲取tll-tc4,從該Follow_Up報文中originTimestamp屬性字段中獲取tl2 ;當所述網絡中各節點 配置端延時機制,且配置雙步模式實現時間同步時,所述獲得該Follow_Up報文中攜帶的tl6和tl7,包括:從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得tl6,從Follow_Up報文中originTimestamp屬性字段中獲得tl7 ; 所述獲得Follow_Up報文中攜帶的tl8和T4+tc6,包括:從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得tl8,從Follow_Up報文中correctionField屬性字段中獲得T4+tc6。
5.一種時間同步方法,該方法應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的主時鐘節點,其特征在于,包括: 當所述網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步時; 主時鐘節點接收從時鐘節點向本主時鐘節點發送的時間同步Sync報文,并記錄接收該Sync報文的時間tOl ;獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的端到端E2E TC節點上的駐留時間tcOl,并將tOl與tcOl的差值t01_tc01,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間;其中,E2E TC節點為配置請求應答機制的TC節點; 或, 當所述網絡中各節點配置端延時機制,且配置單步模式實現時間同步時; 所述主時鐘節點接收到所述從時鐘節點通過對等P2P TC節點轉發的Sync報文時,記錄接收該Sync報文的時間t03,并將t03,以及向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間,其中,所述P2P TC節點為配置端延時機制的TC節點。
6.根據權利要求5所述的方法,其特征在于, 當所述網絡中的各節點配置請求應答機制,且配置單步模式實現時間同步時,所述獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl,包括:從該Sync 報文中的校驗值correctionField屬性字段中獲得該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl ; 所述將tOl與tcOl的差值tOl-tcOl,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,包括:將tOl-tcOl攜帶在接收的Sync報文中新增的接收時間戳receiveTimestamp屬性字段中,將t02攜帶在接收的Sync報文中的源時間戳originTimestamp 屬性字段中; 當所述網絡中各節點配置端延時機制,且配置單步模式實現時間同步時,所述將t03,以及向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,包括:將t03攜帶在Sync報文中新增的receiveTimestamp屬性字段中,將t04攜帶在Sync報文中originTimestamp 屬性字段中。
7.根據權利要求5或6所述的方法,其特征在于,所述方法進一步包括: 當所述網絡中的各節點配置請求應答機制,且配置雙步模式實現時間同步時,所述TC節點稱為E2E TC節點; 該主時鐘節點接收到E2E TC節點轉發的從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t05,獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02,并將接收的Sync報文轉發給從時鐘節點; 該主時鐘節點記錄向所述從時鐘節點發送Sync報文的時間t06,計算t05與獲取的tc02的差值t05-tc02,并將t05-tc02,以及t06攜帶在跟隨Follow_Up報文中向從時鐘節點發送,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間; 或, 當所述網絡中各節點配置端延時機制,且配置雙步模式實現時間同步時,所述TC節點稱為P2P TC節點; 該主時鐘節點接收到P2P TC節點轉發的從時鐘節點發送的Sync報文時,記錄接收該Sync報文的時間t07,并將該Sync報文發送給從時鐘節點,記錄發送Sync報文的時間t08 ;并將t07和t08攜帶在Follow_Up報文中,通過本主時鐘節點與從時鐘節點間的P2P TC節點轉發給從時鐘節點,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。
8.根據權利要求7所述的方法,其特征在于, 當所述網絡中的各節點配置請求應答機制,且配置雙步模式實現時間同步時,所述獲取該Sync報文中攜帶的,該Sync報文在主時鐘節點和該從時鐘節點間的E2ETC節點上的駐留時間tc02,包括:從該Sync報文中的correctionField屬性字段中獲取該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02 ; 所述將t05-tc02,以及t06攜帶在跟隨Fol1wJJp報文中向從時鐘節點發送,包括:將t05_tc02攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,t06攜帶在Follow_Up報文中originTimestamp屬性字段中發送給從時鐘節點; 當所述網絡中各節點配 置端延時機制,且配置雙步模式實現時間同步時,將t07和t08攜帶在Fol 1wJJp報文中,包括:將t07攜帶在Fol 1wJJp報文中新增的receiveTimestamp屬性字段中,將t08攜帶在Follow_Up報文中originTimestamp屬性字段中。
9.一種裝置,可應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的從時鐘節點上,其特征在于,該裝置包括:配置單元、收發單元、記錄單元和處理單元; 所述配置單元,用于在本從時鐘節點上配置請求應答機制,且配置單步模式實現時間同步,或配置端延時機制,且配置單步模式實現時間同步; 所述收發單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,向主時鐘節點發送時間同步Sync報文,接收主時鐘節點返回的Sync報文;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,向主時鐘節點發送時間同步Sync報文,接收主時鐘節點返回的Sync報文;接收對等P2P TC節點發送的跟隨Follow_Up報文,其中,所述P2P TC節點為配置端延時機制的TC節點; 所述記錄單元,用于所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,記錄所述收發單元發送Sync報文的時間tl ;記錄所述收發單元接收該Sync報文的時間t4,當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,記錄所述收發單元發送Sync報文的時間t5 ;所述收發單元接收該Sync報文的時間t7 ; 所述處理單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,獲得所述收發單元接收的Sync報文中攜帶的t3、t2-tcl和tc2,其中t3為主時鐘節點發送該Sync報文的時間,t2為主時鐘節點接收從時鐘節點發送的Sync報文的時間,tcl為從時鐘節點向主時鐘節點發送Sync報文時,在端到端E2E TC節點上的駐留時間,tc2為主時鐘節點向從時鐘節點發送的該Sync報文在E2E TC節點上的駐留時間;根據所述記錄單元記錄的tl、t4,以及獲得的t3、t2-tcl和tc2,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(t4 - t3 - tc2) - (t2 - tl - tcl) ] /2,并通過該時鐘偏差調整本地時間,其中,所述E2E TC節點為配置請求應答機制的TC節點;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,獲得所述收發單元接收的Sync報文中攜帶的t6和t8,并根據獲得的t6和t8,以及所述記錄單元記錄的t7和t5,獲得從時鐘節點到P2P TC節點的路徑時延Tl為[(t32-t31) + (t36-t35)]/2 ;其中,t6為P2P TC時鐘節點接收從時鐘節點向主時鐘節點發送Sync報文的時間,t8為P2P TC時鐘節點向從時鐘節點發送Sync報文的時間;獲得所述收發單元接收的Follow_Up報文中攜帶的t9和T2+tc3,并根據獲得t9、T2+tc3和Tl,以及所述記錄單元記錄的t5計算獲得從時鐘相對于主時鐘節點的時鐘偏差offset為t9 - t5-(T2+tc3)-Tl,并通過該時鐘偏差調整本地時間,其中,t9為主時鐘節點接收從時鐘節點發送的Sync報文,T2為主時鐘節點和P2P TC節點間的路徑時延,tc3為本從時鐘節點向主時鐘節點發送Sync報文時,在P2P TC節點上的駐留時間。
10.根據權利要求9所述的裝置,其特征在于, 所述處理單元,用于所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,從所述收發單元接收的Sync報文中的源時間戳originTimestamp屬性字段中獲得t3,從該Sync報文中新增的接收時間戳receiveTimestamp屬性字段中獲得t2_tcl,從該Sync報文中的校驗值correctionField屬性字段中獲得tcl2 ;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,從所述收發單元接收到的Sync報文中新增的receiveTimestamp屬性字段中獲得t6,從Sync報文中originTimestamp屬性字段中獲得t8 ;從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得t9,從Follow_Up報文中correctionField屬性字段中獲得T2+tc3。
11.根據權利要求9或10所述的裝置,其特征在于, 所述配置單元,用于在本時鐘節點上配置請求應答機制,且配置雙步模式實現時間同步;配置端延時機制,且配置雙步模式實現時間同步; 所述收發單元,用于向主時鐘節點發送時間同步Sync報文,接收E2E TC節點轉發的主時鐘節點發送的Sync 報文;接收E2E TC節點轉發的主時鐘節點發送的FolloW_Up報文; 所述記錄單元,用于所述配置單元配置請求應答機制,且配置雙步模式實現時間同步時,記錄發送Sync報文的時間tlO ;記錄接收該Sync報文的時間tl3 ;所述配置單元配置端延時機制,且配置雙步模式實現時間同步時,記錄發送Sync報文的時間tl4,記錄接收該Sync報文的時間tl5 ; 所述處理單元,用于當所述配置單元配置請求應答機制,且配置雙步模式實現時間同步時,獲取所述收發單元接收的Follow_Up報文中攜帶的tll-tc4、tc5和tl2 ;其中,til為主時鐘節點接收本從時鐘節點向該主時鐘節點發送的Sync報文的時間,tc4為本從時鐘節點向該主時鐘節點發送Sync報文時在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間,tc5為主時鐘節點向從時鐘節點發送的Sync報文在所述E2E TC節點上的駐留時間,tl2為主時鐘節點向從時鐘節點發送Sync報文的時間;根據所述記錄單元中記錄的tlO、tl3,以及獲得的tl2、tll-tc4和tc5,獲得從時鐘節點相對于主時鐘節點的時鐘偏差offset為[(tl3 - tl2 - tc5)-(tll - tlO - tc4) ]/2,并通過該時鐘偏差調整本地時間;當所述配置單元配置端延時機制,且配置雙步模式實現時間同步時,獲得所述收發單元接收的Follow_Up報文中攜帶的tl6和tl7,并根據獲得的tl6和tl7,以及所述記錄單元記錄的tl4和tl5獲得從時鐘節點到P2P TC節點的路徑時延T3為[(tl6 - tl4) + (tl5 - tl7)]/2 ;其中,tl6為P2P TC節點接收本從時鐘節點發送的Sync報文的時間,tl7為該P2P TC節點向本從時鐘節點發送Sync報文的時間;獲得所述收發單元接收的Follow_Up報文中攜帶的tl8和T3+tc6 ;其中,tl8為所述主時鐘節點接收本從時鐘節點發送的Sync報文的時間,T4為主時鐘節點和P2P TC節點之間的路徑時延,tc6為本從時鐘節點向主時鐘節點發送Sync報文時經過P2P TC節點時的駐留時間;根據獲得tl8、T4+tc6和T3,以及所述記錄單元記錄的tl4計算獲得從時鐘相對于主時鐘節點的時鐘偏差off set為tl8 - tl4-(T4+tc6)-T3,并通過該時鐘偏差調整本地時間。
12.根據權利要求11所述的裝置,其特征在于, 所述處理單元,用于當所述配置單元配置請求應答機制,且配置雙步模式實現時間同步時,從所述收發單元接收的Follow_Up報文中的correctionField屬性字段中獲取tc5,從該Follow_Up報文中新增的receiveTimestamp屬性字段中獲取tll_tc4,從該Follow_Up報文中originTimestamp屬性字段中獲取tl2 ;當所述配置單元配置端延時機制,且配置雙步模式實現時間同步時,從所述收發單元接收到的FolloW_Up報文中新增的 receiveTimestamp 屬性字段中獲得 tl6,從 Follow_Up 報文中 originTimestamp 屬性字段中獲得tl7 ;從Follow_Up報文中新增的receiveTimestamp屬性字段中獲得tl8,從Follow_Up 報文中 correctionField 屬性字段中獲得 T4+tc6。
13.一種裝置,可應用于包含主時鐘節點、從時鐘節點和透明時鐘TC節點的網絡中的主時鐘節點上,其特征在于,該裝置包括:配置單元、接收單元、記錄單元和處理單元; 所述配置單元,用于配置請求應答機制,且配置單步模式實現時間同步;配置端延時機制,且配置單步模式實現時間同步; 所述接收單元,用于接收從時鐘節點向本主時鐘節點發送的時間同步Sync報文; 所述記錄單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,記錄所述接收單元接收Sync報文的時間tOl ;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,記錄所述接收單元接收Sync報文的時間t03 ; 所述處理單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,獲取所述接收單元接收的Sync報文中攜帶的,該Sync報文在主時鐘節點和從時鐘節點間的端到端E2E TC節點上的駐留時間tcOl,并將tOl與tcOl的差值t01_tc01,以及向從時鐘節點發送Sync報文的時間t02攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間;,其中,所述E2E TC節點為配置請求應答機制的TC節點;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,向從時鐘節點發送Sync報文的時間t04攜帶在接收的Sync報文中,向從時鐘節點發送,使所述從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。
14.根據權利要求13所述的裝置,其特征在于, 所述處理單元,用于當所述配置單元配置請求應答機制,且配置單步模式實現時間同步時,從所述接收單元接收的Sync報文中的校驗值correctionField屬性字段中獲得該Sync報文在主時鐘節點和從時鐘節點間的E2E TC節點上的駐留時間tcOl ;將t01_tc01攜帶在接收的Sync報文中新增的接收時間戳receiveTimestamp屬性字段中,將t02攜帶在接收的Sync報文中的源時間戳originTimestamp屬性字段中;當所述配置單元配置端延時機制,且配置單步模式實現時間同步時,將t03攜帶在Sync報文中新增的receiveTimestamp屬性字段中,將t04攜帶在Sync報文中originTimestamp屬性字段中。
15.根據權利要求13或14所述的裝置,其特征在于, 所述配置單元,用于配置請求應答機制,且配置雙步模式實現時間同步;配置端延時機制,且配置雙步模式實現時間同步; 所述接收單元,用于當所述配置單元配置請求應答機制,且配置雙步模式實現時間同步時,接收E2E TC節點轉發的從時鐘節點發送的Sync報文;當所述配置單元配置端延時機制,且配置雙步模式實現時間同步時,接收對等P2P TC節點轉發的從時鐘節點發送的Sync報文,其中,所述P2P TC為配置端延時機制的TC節點; 所述記錄單元,用于當所述配置單元配置請求應答機制,且配置雙步模式實現時間同步,記錄所述接收單元接收的Sync報文的時間t05,記錄向從時鐘節點發送Sync報文的時間t06 ;當所述配置單元配置配置端延時機制,且配置雙步模式實現時間同步時,記錄所述接收單元接收該Sync報文的時間t07 ;記錄發送Sync報文的時間t08 ; 所述處理單元,用于當所述配置單元配置請求應答機制,且配置雙步模式實現時間同步時,獲取所述接收 單元接收的Sync報文中攜帶的,該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02,并將接收的Sync報文轉發給從時鐘節點;并計算t05與獲取的tc02的差值t05-tc02,并將t05_tc02,以及t06攜帶在跟隨Follow_Up報文中向從時鐘節點發送,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間;當所述配置單元配置配置端延時機制,且配置雙步模式實現時間同步時,將所述記錄單元記錄的t07和t08攜帶在Fol1wJJp報文中,通過本主時鐘節點與從時鐘節點間的P2P TC節點轉發給從時鐘節點,使從時鐘節點計算該從時鐘節點相對于該主時鐘節點的時鐘偏差offset,并通過該時鐘偏差調整本地時間。
16.根據權利要求15所述的裝置,其特征在于, 所述處理單元,用于當所述配置單元配置請求應答機制,且配置雙步模式實現時間同步時,從所述接收單元接收的Sync報文中的correctionField屬性字段中獲取該Sync報文在主時鐘節點和該從時鐘節點間的E2E TC節點上的駐留時間tc02 ;將t05-tc02攜帶在Follow_Up報文中新增的receiveTimestamp屬性字段中,t06攜帶在Follow_Up報文中originTimestamp屬性字段中發送給從時鐘節點;當所述配置單元配置端延時機制,且配置雙步模式實現時間同步時,將t07攜帶在Fol1wJJp報文中新增的receiveTimestamp屬性字段中,將t08攜帶在Follow_Up報文中originTimestamp屬性字段中。
全文摘要
本申請公開了一種時間同步方法,該方法包括從時鐘節點主動發送Sync報文,獲得主時鐘節點收發Sync報文的時間,以及Sync報文在TC時鐘節點上的駐留時間,計算從時間節點相對于主時鐘節點的時鐘偏差。基于同樣的發明構思,本申請還提出一種裝置,能夠減少協議報文類別、協議報文數量,降低CPU的負擔。
文檔編號H04J3/06GK103138865SQ20131003319
公開日2013年6月5日 申請日期2013年1月25日 優先權日2013年1月25日
發明者熊志鑫, 王偉 申請人:杭州華三通信技術有限公司