本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種時鐘同步的方法、設(shè)備和系統(tǒng)。
背景技術(shù):
在現(xiàn)有通信設(shè)備中,各設(shè)備間進(jìn)行時間同步的方案大部分都根據(jù)電氣和電子工程師協(xié)會(IEEE,Institute of Electrical and Electronics Engineers)于2002年提出并在2007年進(jìn)行修改的網(wǎng)絡(luò)測量和控制系統(tǒng)的精密時鐘同步協(xié)議標(biāo)準(zhǔn)來實(shí)現(xiàn),該標(biāo)準(zhǔn)又稱為IEEE 1588協(xié)議。
目前,在IEEE 1588協(xié)議的應(yīng)用中,通常采用分布式架構(gòu)組網(wǎng)方式處理IEEE 1588協(xié)議,即每個網(wǎng)絡(luò)業(yè)務(wù)節(jié)點(diǎn)均運(yùn)行一套IEEE 1588協(xié)議系統(tǒng),這樣的優(yōu)點(diǎn)就是能夠?qū)W(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行擴(kuò)展。但是,由于每個網(wǎng)絡(luò)節(jié)點(diǎn)都要通過運(yùn)行最佳主時鐘算法(BMC,Best Master Clock algorithm)找到本網(wǎng)絡(luò)節(jié)點(diǎn)中各接口的最佳時鐘,而本地節(jié)點(diǎn)中每個接口的時鐘都是來自于上一個主設(shè)備的時鐘,這樣就導(dǎo)致網(wǎng)絡(luò)節(jié)點(diǎn)之間的耦合性較強(qiáng)。因此,出現(xiàn)故障的時候維護(hù)比較困難,且實(shí)現(xiàn)也較復(fù)雜。
另外,IEEE 1588協(xié)議對傳送網(wǎng)的傳送駐留有嚴(yán)格的要求,即參與時間同步的設(shè)備之間的延時必須是一個相對固定的值,且設(shè)備收發(fā)雙向的駐留時間必須相等,否則對時間同步產(chǎn)生較大的誤差。而在光傳送網(wǎng)(OTN,Optical Transport Network)網(wǎng)絡(luò)中,由于存在鏈路不對稱、OTN幀處理延時等現(xiàn)象,可能會導(dǎo)致參與時間同步的設(shè)備收發(fā)雙向駐留時間存在一定的誤差,進(jìn)而影響參與時間同步的設(shè)備之間進(jìn)行時間同步的精度。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例期望提供一種時鐘同步的方法、設(shè)備和系統(tǒng),降低了時間同步時網(wǎng)絡(luò)節(jié)點(diǎn)之間的耦合性,提高了參與時間同步的設(shè)備之間進(jìn)行時間同步的精度。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
第一方面,本發(fā)明實(shí)施例提供一種時間同步的方法,所述方法應(yīng)用于主設(shè)備,所述方法包括:主設(shè)備將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將所述第一報文發(fā)送至從設(shè)備;所述主設(shè)備接收由所述從設(shè)備發(fā)送的第二報文;其中,所述第二報文包括第三駐留時間;所述主設(shè)備在接收所述第二報文時,獲取第四駐留時間和第四時間值;所述主設(shè)備將所述第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將所述第三報文發(fā)送至從設(shè)備。
在上述方案中,所述主設(shè)備包括一個第一主控板和至少一個第一業(yè)務(wù)板;所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
在上述方案中,所述主設(shè)備將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將所述第一報文發(fā)送至從設(shè)備,具體包括:所述第一主控板在生成所述sync報文時記錄生成所述sync報文的第一時間值T1,并且將所述第一時間值T1封裝于所述sync報文的預(yù)留字段;所述第一主控板將所述sync報文發(fā)送至所述第一業(yè)務(wù)板,并記錄所述第一主控板發(fā)送所述sync報文的時間Tout1;所述第一業(yè)務(wù)板解析所述sync報文,獲得所述第一主控板發(fā)送所述sync報文的時間Tout1;所述第一業(yè)務(wù)板在將所述sync報文向所述從設(shè)備發(fā)送時,記錄所述第一業(yè)務(wù)板發(fā)送所述sync報文的時間tout1,并根據(jù)所述第一主控板發(fā)送所述sync報文的時間Tout1與所述第一業(yè)務(wù)板發(fā)送所述sync報文的時間tout1獲取所述第一駐留時間Δt1,以及將所述第一駐留時間Δt1封裝于所述sync報文中的修正域ΔT1向所述從設(shè)備發(fā)送。
在上述方案中,所述主設(shè)備在接收所述第二報文時,獲取第四駐留時間和第四時間值,具體包括:所述第一業(yè)務(wù)板在接收所述delay-req報文時,記錄所述第一業(yè)務(wù)板接收所述delay-req報文的時間tin4;所述第一業(yè)務(wù)板將所述delay-req報文發(fā)送至所述第一主控板;所述第一主控板記錄接收到所述delay-req報文的時間Tin4,并解析所述delay-req報文得到封裝的所述第一業(yè)務(wù)板接收delay-req報文的時間tin4,獲取得到所述第四駐留時間Δt4;所述第一主控板記錄解析所述delay-req報文的所述第四時間值T4。
在上述方案中,所述主設(shè)備將所述第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將所述第三報文發(fā)送至從設(shè)備,具體包括:所述第一主控板產(chǎn)生所述delay-resp報文,將所述第四時間值T4、所述第四駐留時間Δt4以及所述delay-req報文修正域中的第三駐留時間Δt3封裝入所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述第一業(yè)務(wù)板;所述第一業(yè)務(wù)板接收所述第一主控板發(fā)送過來的所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述從設(shè)備。
第二方面,本發(fā)明實(shí)施例提供一種時間同步的方法,所述方法應(yīng)用于從設(shè)備,所述方法包括:從設(shè)備在接收第一報文時,獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值;從設(shè)備記錄第三時間值,將獲取的第三駐留時間封裝至第二報文,并將所述第二報文發(fā)送至主設(shè)備;從設(shè)備在接收第三報文時,獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、所述第二駐留時間、所述第三駐留時間和所述第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延。
在上述方案中,所述從設(shè)備包括一個第二主控板和至少一個第二業(yè)務(wù)板;所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
在上述方案中,所述從設(shè)備在接收第一報文時,獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值,具體包括:所述第二業(yè)務(wù)板在接收所述sync報文時,記錄所述第二業(yè)務(wù)板接收到所述sync報文的時間tin2;所述第二業(yè)務(wù)板將所述sync報文發(fā)送至所述第二主控板;所述第二主控板記錄接收到所述sync報文的時間Tin2;并解析所述sync報文得到封裝的所述第二業(yè)務(wù)板接收到sync報文的時間tin2,獲取得到所述第二駐留時間Δt2;所述第二主控板記錄解析所述sync報文的第二時間值T2;所述第二主控板記錄sync報文的修正域ΔT1中的第一駐留時間Δt1和預(yù)留字段中的第一時間值T1。
在上述方案中,所述從設(shè)備記錄第三時間值,并將獲取的第三駐留時間封裝至第二報文,并將所述第二報文發(fā)送至主設(shè)備,具體包括:所述第二主控板在生成所述delay-req報文時記錄生成所述delay-req報文的第三時間值T3;所述第二主控板將所述delay-req報文發(fā)送至所述第二業(yè)務(wù)板,并記錄所述第二主控板發(fā)送所述delay-req報文的時間Tout3;所述第二業(yè)務(wù)板解析所述delay-req報文,獲得所述第二主控板發(fā)送所述delay-req報文的時間Tout3;所述第二業(yè)務(wù)板在將所述delay-req報文向所述主設(shè)備發(fā)送時,記錄所述第二業(yè)務(wù)板發(fā)送所述delay-req報文的時間tout3,并根據(jù)所述第二主控板發(fā)送所述delay-req報文的時間Tout3與所述第二業(yè)務(wù)板發(fā)送所述delay-req報文的時間tout3獲取所述第三駐留時間Δt3,以及將所述第三駐留時間Δt3封裝于所述delay-req報文的修正域ΔT2向所述主設(shè)備發(fā)送。
在上述方案中,所述從設(shè)備在接收第三報文時,獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、所述第二駐留時間、所述第三駐留時間和所述第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延,具體包括:所述從設(shè)備通過精確時間協(xié)議PTP的同步機(jī)制,根據(jù)所述第一時間值、所述第二時間值、所述第三時間值和所述第四時間值分別對應(yīng)的時間戳T1、T2、T3和T4,以及第一駐留時間Δt1、第二駐留時間Δt2、第三駐留時間Δt3和第四駐留時間Δt4,計算出主設(shè)備與從設(shè)備之間的時間偏差和時延;其中,所述第一駐留時間Δt1保存在所述第一報文的修正域ΔT1=Δt1,所述第三駐留時間Δt3保存在所述第二報文的修正域ΔT2=Δt3。
第三方面,本發(fā)明實(shí)施例提供一種主設(shè)備,所述主設(shè)備包括:第一主控板和第一業(yè)務(wù)板;其中,所述第一主控板,用于將生成的第一時間值與獲取的第一駐留時間封裝至第一報文;所述第一業(yè)務(wù)板,用于將所述第一報文發(fā)送至從設(shè)備;以及,接收由所述從設(shè)備發(fā)送的第二報文;所述第二報文包括第三駐留時間;所述第一主控板,還用于在所述第一業(yè)務(wù)板接收所述第二報文時,獲取第四駐留時間和第四時間值;以及,將所述第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文;所述業(yè)務(wù)板,還用于將所述第三報文發(fā)送至從設(shè)備。
在上述方案中,所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
在上述方案中,所述第一主控板,具體用于在生成所述sync報文時記錄生成所述sync報文的第一時間值T1,并且將所述第一時間值T1封裝于所述sync報文的預(yù)留字段;以及,將所述sync報文發(fā)送至所述第一業(yè)務(wù)板,并記錄發(fā)送所述sync報文的時間Tout1;所述第一業(yè)務(wù)板,具體用于解析所述sync報文,獲得所述發(fā)送所述sync報文的時間Tout1;以及,在將所述sync報文向所述從設(shè)備發(fā)送時,記錄發(fā)送所述sync報文的時間tout1,并根據(jù)所述第一主控板發(fā)送所述sync報文的時間Tout1與所述第一業(yè)務(wù)板發(fā)送所述sync報文的時間tout1獲取所述第一駐留時間Δt1,以及將所述第一駐留時間Δt1封裝于所述sync報文中的修正域ΔT1向所述從設(shè)備發(fā)送。
在上述方案中,所述第一業(yè)務(wù)板,具體用于在接收所述delay-req報文時,記錄所述第一業(yè)務(wù)板接收所述delay-req報文的時間tin4;以及,將所述delay-req報文發(fā)送至所述第一主控板;所述第一主控板,具體用于記錄接收到所述delay-req報文的時間Tin4,并解析所述delay-req報文得到封裝的所述第一業(yè)務(wù)板接收delay-req報文的時間tin4,獲取得到所述第四駐留時間Δt4;以及,記錄解析所述delay-req報文的所述第四時間值T4。
在上述方案中,所述第一主控板,具體用于產(chǎn)生所述delay-resp報文,將所述delay-req報文中的所述第四時間值T4,以及所述delay-req報文修正域中的第三駐留時間Δt3封裝入所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述第一業(yè)務(wù)板;所述第一業(yè)務(wù)板,具體用于接收所述第一主控板發(fā)送過來的所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述從設(shè)備。
第四方面,本發(fā)明實(shí)施例提供一種從設(shè)備,所述從設(shè)備包括第二主控板和第二業(yè)務(wù)板,其中,所述第二業(yè)務(wù)板,用于接收第一報文;所述第二主控板,用于獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值;以及,記錄第三時間值,并將獲取的第三駐留時間封裝至第二報文;所述第二業(yè)務(wù)板,還用于將該第二報文發(fā)送至主設(shè)備;以及,接收第三報文;所述第二主控板,還用于獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、所述第二駐留時間、所述第三駐留時間和所述第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延。
在上述方案中,所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
在上述方案中,所述第二業(yè)務(wù)板,具體用于在接收所述sync報文時,記錄所述第二業(yè)務(wù)板接收到所述sync報文的時間tin2;以及,將所述sync報文發(fā)送至所述第二主控板;所述第二主控板,具體用于記錄接收到所述sync報文的時間Tin2;并解析所述sync報文得到封裝的所述第二業(yè)務(wù)板接收到sync報文的時間tin2,獲取得到所述第二駐留時間Δt2;所述第二主控板記錄解析所述sync報文的第二時間值T2;所述第二主控板記錄sync報文的修正域ΔT1中的第一駐留時間Δt1和預(yù)留字段中的第一時間值T1。
在上述方案中,所述第二主控板,具體用于在生成所述delay-req報文時記錄生成所述delay-req報文的第三時間值T3;以及,將所述delay-req報文發(fā)送至所述第二業(yè)務(wù)板,并記錄所述第二主控板發(fā)送所述delay-req報文的時間Tout3;所述第二業(yè)務(wù)板,具體用于解析所述delay-req報文,獲得所述第二主控板發(fā)送所述delay-req報文的時間Tout3;以及,在將所述delay-req報文向所述主設(shè)備發(fā)送時,記錄所述第二業(yè)務(wù)板發(fā)送所述delay-req報文的時間tout3,并根據(jù)所述第二主控板發(fā)送所述delay-req報文的時間Tout3與所述第二業(yè)務(wù)板發(fā)送所述delay-req報文的時間tout3獲取所述第三駐留時間Δt3,以及將所述第三駐留時間Δt3封裝于所述delay-req報文的修正域ΔT2向所述主設(shè)備發(fā)送。
在上述方案中,所述第二主控板,具體用于通過精確時間協(xié)議PTP的同步機(jī)制,根據(jù)所述第一時間值、所述第二時間值、所述第三時間值和所述第四時間值分別對應(yīng)的時間戳T1、T2、T3和T4,以及所述第一駐留時間Δt1、所述第二駐留時間Δt2、所述第三駐留時間Δt3和所述第四駐留時間Δt4,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延。
第五方面,本發(fā)明實(shí)施例提供一種時間同步的系統(tǒng),所述系統(tǒng)包括:主設(shè)備和從設(shè)備;其中,
所述主設(shè)備,用于將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將所述第一報文發(fā)送至所述從設(shè)備;以及,接收由所述從設(shè)備發(fā)送的第二報文;所述第二報文包括第三駐留時間;以及,在接收所述第二報文時,獲取第四駐留時間和第四時間值;其中,所述第二報文包括第三駐留時間;以及,將所述第二報文中的第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將所述第三報文發(fā)送至從設(shè)備;
所述從設(shè)備,用于在接收第一報文時,獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值;以及,記錄獲取第三時間值,將獲取的第三駐留時間封裝至第二報文,并將該第二報文發(fā)送至所述主設(shè)備;以及,在接收第三報文時,獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、所述第二駐留時間、所述第三駐留時間和所述第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延。
本發(fā)明實(shí)施例提供了一種時鐘同步的方法、設(shè)備和系統(tǒng),通過主、從設(shè)備之間的多次報文交互,從而能夠獲取主、從設(shè)備收發(fā)雙向的駐留時間,并且根據(jù)主、從設(shè)備收發(fā)雙向的駐留時間獲知主、從設(shè)備間延時,降低了時間同步時網(wǎng)絡(luò)節(jié)點(diǎn)之間的耦合性,提高了參與時間同步的設(shè)備之間進(jìn)行時間同步的精度。
附圖說明
圖1為本發(fā)明實(shí)施例提供的一種時鐘同步的方法詳細(xì)流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種主設(shè)備發(fā)送第一報文的具體流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種從設(shè)備獲取第二駐留時間和第二時間值的具體流程示意圖;
圖4為本發(fā)明實(shí)施例提供的一種從設(shè)備發(fā)送第二報文的具體流程示意圖;
圖5為本發(fā)明實(shí)施例提供的一種主設(shè)備獲取第四駐留時間和第四時間值的具體流程示意圖;
圖6為本發(fā)明實(shí)施例提供的一種主設(shè)備發(fā)送第三報文的具體流程示意圖;
圖7為本發(fā)明實(shí)施例提供的一種主設(shè)備的結(jié)構(gòu)示意圖;
圖8為本發(fā)明實(shí)施例提供的一種從設(shè)備的結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例提供的另一種主設(shè)備發(fā)送第一報文的具體流程示意圖;
圖10為本發(fā)明實(shí)施例提供的另一種從設(shè)備獲取第二駐留時間和第二時間值的具體流程示意圖;
圖11為本發(fā)明實(shí)施例提供的另一種從設(shè)備發(fā)送第二報文的具體流程示意圖;
圖12為本發(fā)明實(shí)施例提供的另一種主設(shè)備獲取第四駐留時間和第四時間值的具體流程示意圖;
圖13為本發(fā)明實(shí)施例提供的另一種主設(shè)備發(fā)送第三報文的具體流程示意圖;
圖14為本發(fā)明實(shí)施例提供的一種主設(shè)備側(cè)的時間同步方法流程示意圖;
圖15為本發(fā)明實(shí)施例提供的一種從設(shè)備側(cè)的時間同步方法流程示意圖;
圖16為本發(fā)明實(shí)施例提供的另一種主設(shè)備的結(jié)構(gòu)示意圖;
圖17為本發(fā)明實(shí)施例提供的另一種從設(shè)備的結(jié)構(gòu)示意圖;
圖18為本發(fā)明實(shí)施例提供的一種時間同步的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
實(shí)施例一
參見圖1,為本發(fā)明實(shí)施例提供的一種時間同步的方法,該方法可以應(yīng)用于一時間同步的系統(tǒng),該系統(tǒng)可以包括:進(jìn)行報文交互的主設(shè)備和從設(shè)備;其中,主設(shè)備包括一個第一主控板和至少一個第一業(yè)務(wù)板,從設(shè)備包括一個第二主控板和至少一個第二業(yè)務(wù)板。該方法可以包括:
S101:主設(shè)備將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將該第一報文發(fā)送至從設(shè)備;
需要說明的是,第一報文可以為主設(shè)備向從設(shè)備發(fā)送的同步sync報文,也可以為其他類型的報文,本發(fā)明實(shí)施例對此不作具體限定。而且,第一駐留時間為主設(shè)備在進(jìn)行報文發(fā)送時,報文在主設(shè)備內(nèi)的駐留時間。
示例性地,由于主設(shè)備可以包括一個第一主控板和至少一個第一業(yè)務(wù)板,因此,步驟S101的實(shí)現(xiàn)過程如圖2所示,具體可以包括:
S1011:第一主控板在生成sync報文時記錄生成sync報文的第一時間值T1,并且將第一時間值T1封裝于sync報文的預(yù)留字段;具體在本實(shí)施例中,第一主控板將第一時間值T1可以通過系統(tǒng)時間戳的形式進(jìn)行保存,封裝于sync報文的precisetime字段域;
S1012:第一主控板將sync報文發(fā)送至第一業(yè)務(wù)板,并記錄第一主控板發(fā)送sync報文的時間Tout1;具體地,第一主控板發(fā)送sync報文的時間Tout1也可以通過系統(tǒng)時間戳的形式進(jìn)行保存,并封裝于sync報文中PTP信息之后、FCS校驗之前的字段域;可以理解地,T1要早于Tout1;
S1013:第一業(yè)務(wù)板解析sync報文,獲得第一主控板發(fā)送sync報文的時間Tout1;
S1014:第一業(yè)務(wù)板在將sync報文向從設(shè)備發(fā)送時,記錄第一業(yè)務(wù)板發(fā)送sync報文的時間tout1,并根據(jù)第一主控板發(fā)送sync報文的時間Tout1與第一業(yè)務(wù)板發(fā)送sync報文的時間tout1獲取第一駐留時間Δt1,以及將第一駐留時間Δt1封裝于sync報文中向從設(shè)備發(fā)送;具體地,第一駐留時間Δt1=tout1-Tout1,第一駐留時間可以封裝于sync報文的修正域,從而有ΔT1=Δt1。
可選地,在步驟S1011中,第一時間值T1可以封裝于sync報文之后發(fā)送的Follow-up報文中,并由第一業(yè)務(wù)板發(fā)送至從設(shè)備,需要說明的是,對于Follow-up報文,第一業(yè)務(wù)板僅負(fù)責(zé)發(fā)送,并不進(jìn)行解析等其他處理。
S102:從設(shè)備在接收第一報文時,獲取第一時間值、第二時間值、第一駐留時間和第二駐留時間;
需要說明的是,第二駐留時間為從設(shè)備在接收報文的過程中,報文在從設(shè)備內(nèi)的駐留時間。可以理解地,本實(shí)施例中以第一報文為sync報文為例進(jìn)行說明,此時,從設(shè)備獲得第一時間值、第二時間值、第一駐留時間和第二駐留時間。
示例性地,由于從設(shè)備可以包括一個第二主控板和至少一個第二業(yè)務(wù)板,因此,步驟S102的實(shí)現(xiàn)過程如圖3所示,具體可以包括:
S1021:第二業(yè)務(wù)板在接收sync報文時,記錄第二業(yè)務(wù)板接收到sync報文的時間tin2;具體地,第二業(yè)務(wù)板接收到sync報文的時間tin2也可以通過系統(tǒng)時間戳的形式進(jìn)行保存,并封裝于sync報文中位于PTP信息之后、FCS校驗之前的字段域;
S1022:第二業(yè)務(wù)板將sync報文發(fā)送至第二主控板;
S1023:第二主控板記錄接收到sync報文的時間Tin2;并解析sync報文得到封裝的第二業(yè)務(wù)板接收到sync報文的時間tin2,獲取得到第二駐留時間Δt2;
具體地,第二主控板可以通過解析sync報文中位于PTP信息之后、FCS校驗之前的字段域獲取得到tin2,隨后根據(jù)Δt2=Tin2-tin2獲取得到第二駐留時間。
S1024:第二主控板記錄解析sync報文的第二時間值T2,具體在本實(shí)施例中,第二主控板可以將第二時間值T2通過系統(tǒng)時間戳的形式進(jìn)行保存;同時,記錄sync報文的修正域ΔT1中的第一駐留時間Δt1和precisetime字段域中的第一時間值T1。
S103:從設(shè)備記錄第三時間值,將獲取的第三駐留時間封裝至第二報文,并將所述第二報文發(fā)送至主設(shè)備;
需要說明的是,第二報文可以為從設(shè)備向主設(shè)備發(fā)送的delay-req報文,也可以為其他類型的報文,本發(fā)明實(shí)施例對此不作具體限定。而且,第三駐留時間為從設(shè)備在進(jìn)行報文發(fā)送時,報文在從設(shè)備內(nèi)的駐留時間。
示例性地,由于從設(shè)備可以包括一個第二主控板和至少一個第二業(yè)務(wù)板,因此,步驟S103的實(shí)現(xiàn)過程如圖4所示,具體可以包括:
S1031:第二主控板在生成delay-req報文時記錄生成delay-req報文的第三時間值T3;具體在本實(shí)施例中,第二主控板可以將第三時間值T3通過系統(tǒng)時間戳的形式進(jìn)行保存;
S1032:第二主控板將delay-req報文發(fā)送至第二業(yè)務(wù)板,并記錄第二主控板發(fā)送delay-req報文的時間Tout3;具體地,第二主控板發(fā)送delay-req報文的時間Tout3也可以通過系統(tǒng)時間戳的形式進(jìn)行保存,并封裝于delay-req報文中PTP信息之后、FCS校驗之前的字段域;可以理解地,T3要早于Tout3;
S1033:第二業(yè)務(wù)板解析delay-req報文,獲得第二主控板發(fā)送delay-req報文的時間Tout3;
S1034:第二業(yè)務(wù)板在將delay-req報文向主設(shè)備發(fā)送時,記錄第二業(yè)務(wù)板發(fā)送delay-req報文的時間tout3,并根據(jù)第二主控板發(fā)送delay-req報文的時間Tout3與第二業(yè)務(wù)板發(fā)送delay-req報文的時間tout3獲取第三駐留時間Δt3,以及將第三駐留時間封裝于delay-req報文中向主設(shè)備發(fā)送;具體地,第三駐留時間Δt3=Tout3-tout3,第三駐留時間Δt3可以封裝于delay-req報文的修正域,從而有ΔT2=Δt3。
S104:主設(shè)備在接收第二報文時,獲取第四駐留時間和第四時間值;
需要說明的是,第四駐留時間為主設(shè)備在接收報文的過程中,報文在主設(shè)備內(nèi)的駐留時間。
示例性地,由于主設(shè)備可以包括一個第一主控板和至少一個第一業(yè)務(wù)板,因此,步驟S104的實(shí)現(xiàn)過程如圖5所示,具體可以包括:
S1041:第一業(yè)務(wù)板在接收delay-req報文時,記錄第一業(yè)務(wù)板接收delay-req報文的時間tin4;具體地,第一業(yè)務(wù)板接收delay-req報文的時間也可以通過系統(tǒng)時間戳的形式進(jìn)行保存,并封裝于delay-req報文中位于PTP信息之后、FCS校驗之前的字段域;
S1042:第一業(yè)務(wù)板將delay-req報文發(fā)送至第一主控板;
S1043:第一主控板記錄接收到delay-req報文的時間Tin4,并解析delay-req報文得到封裝的第一業(yè)務(wù)板接收delay-req報文的時間tin4,獲取得到第四駐留時間Δt4;
具體地,第一主控板可以通過解析delay-req報文中位于PTP信息之后、FCS校驗之前的字段域獲取到tin4,隨后根據(jù)Δt4=Tin4-tin4獲取得到第四駐留時間。
S1044:第一主控板記錄解析delay-req報文的第四時間值T4;具體在本實(shí)施例中,第一主控板可以將第四時間值T4通過系統(tǒng)時間戳的形式進(jìn)行保存。
S105:主設(shè)備將所述第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將該第三報文發(fā)送至從設(shè)備;
需要說明的是,第三報文可以為主設(shè)備向從設(shè)備發(fā)送的delay-resp報文,也可以為其他類型的報文,本發(fā)明實(shí)施例對此不作具體限定。
示例性地,由于主設(shè)備可以包括一個第一主控板和至少一個第一業(yè)務(wù)板,因此,步驟S105的實(shí)現(xiàn)過程如圖6所示,具體可以包括:
S1051:第一主控板產(chǎn)生delay-resp報文,將delay-req報文中的第四時間值T4、第四駐留時間Δt4以及delay-req報文修正域中的第三駐留時間Δt3封裝入delay-resp報文,并將delay-resp報文發(fā)送至第一業(yè)務(wù)板;
S1052:第一業(yè)務(wù)板接收第一主控板發(fā)送過來的delay-resp報文,并將delay-resp報文發(fā)送至從設(shè)備。
S106:從設(shè)備在接收第三報文時,獲取第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、第二駐留時間、第三駐留時間和第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延,通過時間偏差和時延來調(diào)整從設(shè)備的當(dāng)前時間,使主從設(shè)備時間同步。
需要說明的是,第三報文可以為主設(shè)備向從設(shè)備發(fā)送的delay-resp報文,也可以為其他類型的報文,本發(fā)明實(shí)施例對此不作具體限定。
另外,第一時間值T1可以在從設(shè)備之前收到的sync報文的precisetime字段域中獲取得到,并且第一報文修正域中的數(shù)值ΔT'1也可以在上述sync報文的修正域中獲取得到。
在具體實(shí)施過程中,由精確時間協(xié)議(PTP,Precision Time Protocol)的同步機(jī)制,根據(jù)第一時間值、第二時間值、第三時間值和第四時間值分別對應(yīng)的時間戳T1、T2、T3和T4,以及第一駐留時間Δt1、第二駐留時間Δt2、第三駐留時間Δt3和第四駐留時間Δt4,計算出主設(shè)備與從設(shè)備之間的時間偏差和時延;其中,第一駐留時間Δt1保存在第一報文的修正域ΔT1=Δt1,第三駐留時間Δt3保存在第二報文的修正域ΔT2=Δt3。
具體來說,可以根據(jù)時間偏差和時延計算出主從設(shè)備之間的時間偏差和時延,進(jìn)而根據(jù)PTP得到第一主控板的當(dāng)前時間,實(shí)現(xiàn)了將主設(shè)備的第一主控板的當(dāng)前時間同步到從設(shè)備的第二主控板的目的。
需要說明的是,業(yè)務(wù)板還需要與各自設(shè)備中的主控板對時,使得所有設(shè)備中的單板的時間保持一致。
實(shí)施例二
基于上述實(shí)施例相同的技術(shù)構(gòu)思,本實(shí)施例提供了一種時間同步的方法具體實(shí)現(xiàn)流程,該具體實(shí)現(xiàn)流程對實(shí)施例一中各步驟的具體實(shí)現(xiàn)過程進(jìn)行了描述。
具體的,在本實(shí)施例中,如圖7所示,主設(shè)備包含一個第一主控板和至少一個第一業(yè)務(wù)板;其中,第一主控板除了CPU外,還包含第一FPGA模塊和第一主控板sgmii接口,第一FPGA模塊又包含:第一Sync單元、第一Delay-req單元、第一Delay-resp單元、第一Timer0單元、第一Timer1單元;第一業(yè)務(wù)板包含第一業(yè)務(wù)板sgmii接口、第一Framer模塊和第一光模塊,第一Framer模塊又包含第一Framer serdes單元;需要說明的是,第一Sync單元、第一Delay-req單元、第一Delay-resp單元均為第一主控板進(jìn)行報文處理的單元,對相應(yīng)類型的報文進(jìn)行處理。
如圖8所示,從設(shè)備包含一個第二主控板和至少一個第二業(yè)務(wù)板;其中,第二主控板中包含第二FPGA模塊和第二主控板sgmii接口,第二FPGA模塊又包含:第二Sync單元、第二Delay-req單元、第二Delay-resp單元、第二Timer0單元、第二Timer1單元;第二業(yè)務(wù)板包含第二業(yè)務(wù)板sgmii接口、第二Framer模塊和第二光模塊,第二Framer模塊又包含第二Framer serdes單元;需要說明的是,第二Sync單元、第二Delay-req單元、第二Delay-resp單元均為第二主控板進(jìn)行報文處理的單元,對相應(yīng)類型的報文進(jìn)行處理。
本領(lǐng)域技術(shù)人員可以意識到,本發(fā)明實(shí)施方式并不局限于上述的場景中,而還可以適用于其他任意的場景之中。
基于上述設(shè)備的具體構(gòu)成,針對實(shí)施例一中各步驟的具體實(shí)現(xiàn)如下:
優(yōu)選地,參見圖9,對于步驟S101:所述主設(shè)備將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將該第一報文發(fā)送至從設(shè)備的實(shí)現(xiàn)過程可以包括:
S901:主設(shè)備上的第一Sync單元產(chǎn)生并發(fā)送sync報文至第一Timer0單元,第一Timer0單元接收第一Sync單元發(fā)送過來的sync報文,并將sync報文發(fā)送至第一Timer1單元;
S902:第一主控板記錄第一Timer0單元發(fā)送sync報文的時間為第一時間值,以時間戳T1的形式保存,并將時間戳T1裝入sync報文的precisetime字段域;
S903:第一Timer1單元接收第一Timer0單元發(fā)送過來的sync報文,并將sync報文發(fā)送至第一主控板sgmii接口模塊;
S904:第一主控板記錄第一Timer1單元發(fā)送sync報文的時間,以系統(tǒng)時間戳Tout1的形式保存,并將系統(tǒng)時間戳Tout1裝入sync報文中位于PTP信息之后、FCS校驗之前的字段域;
S905:第一主控板sgmii接口模塊接收第一Timer1單元發(fā)送過來的sync報文,并將sync報文傳輸至第一業(yè)務(wù)板sgmii接口模塊;
S906:第一業(yè)務(wù)板sgmii接口模塊接收第一主控板sgmii接口模塊傳輸過來的sync報文,并將sync報文發(fā)送至第一Framer模塊;
S907:第一Framer模塊中的第一Framer串行器(serdes,SERializer)單元接收并發(fā)送sync報文,并將sync報文發(fā)送至第一光模塊;
S908:第一業(yè)務(wù)板記錄第一Framer serdes單元發(fā)送sync報文的時間,并以系統(tǒng)時間戳tout1的形式保存;
S909:第一業(yè)務(wù)板解析sync報文中位于PTP信息之后、FCS校驗之前的字段域,以獲取第一Timer1單元發(fā)送sync報文的時間Tout1;
S910:第一業(yè)務(wù)板計算出第一Timer1單元發(fā)送sync報文和第一Framer serdes單元發(fā)送sync報文之間的時間差值,具體可以記為第一駐留時間Δt1=tout1-Tout1,并且將第一駐留時間Δt1寫入sync報文的修正域ΔT1=Δt1;
S911:第一光模塊接收第一Framer serdes單元發(fā)送過來的sync報文,并將sync報文發(fā)送至從設(shè)備。
可選地,在步驟S901中,第一時間值T1可以封裝于sync報文之后發(fā)送的Follow-up報文中,并由第一業(yè)務(wù)板發(fā)送至從設(shè)備,需要說明的是,對于Follow-up報文,第一業(yè)務(wù)板僅負(fù)責(zé)發(fā)送,并不進(jìn)行解析等其他處理。
優(yōu)選地,參見圖10,對于步驟S102:所述從設(shè)備在接收第一報文時,獲取第一時間值、第二時間值、第一駐留時間和第二駐留時間的實(shí)現(xiàn)過程可以包括:
S1001:從設(shè)備中的第二光模塊接收主設(shè)備發(fā)送過來的報文,并發(fā)送報文至第二Framer模塊,由第二Framer模塊識別出sync報文,并將sync報文統(tǒng)一到板間通信定義的以太網(wǎng)報文格式上;
S1002:第二Framer模塊中的第二Framer serdes單元接收sync報文,并將sync報文發(fā)送至第二業(yè)務(wù)板sgmii接口模塊;
S1003:第二業(yè)務(wù)板記錄第二Framer serdes單元接收sync報文的時間,以時間戳tin2的形式保存,并將時間戳tin2封裝入sync報文中位于PTP信息之后、FCS校驗之前的字段域;
S1004:第二業(yè)務(wù)板sgmii接口模塊接收第二Framer serdes單元發(fā)送過來的sync報文,并將sync報文傳輸至第二主控板sgmii接口模塊;
S1005:第二主控板sgmii接口模塊接收第二業(yè)務(wù)板sgmii接口模塊傳輸過來的sync報文,再將sync報文發(fā)送至第二Timer1單元;
S1006:第二主控板記錄第二Timer1單元接收sync報文的時間,以系統(tǒng)時間戳Tin2的形式保存;
S1007:第二主控板解析sync報文中位于PTP信息之后、FCS校驗之前的字段域,得到第二Framer serdes單元接收sync報文的時間tin2;
S1008:第二主控板計算出第二Framer serdes單元接收sync報文和第二Timer1單元接收sync報文之間的時間差值,具體可以記為第二駐留時間Δt2=Tin2-tin2;
S1009:第二Timer1單元發(fā)送sync報文至第二Timer0單元,記錄第二Timer0單元接收sync報文的時間為第二時間值,以時間戳T2的形式保存;
S1010:第二Timer0單元發(fā)送sync報文至第二Sync單元,第二Sync單元解析sync報文,并記錄sync報文的修正域ΔT1中的第一駐留時間Δt1和precisetime字段域中的第一時間值T1。
優(yōu)選地,參見圖11,對于步驟S103,所述從設(shè)備記錄第三時間值,將獲取的第三駐留時間封裝至第二報文,并將所述第二報文發(fā)送至主設(shè)備的實(shí)現(xiàn)過程可以包括:
S1101:從設(shè)備中的第二Delay-req單元產(chǎn)生delay-req報文后,第二Timer0單元接收第二Delay-req單元發(fā)送過來的delay-req報文,并將delay-req報文發(fā)送至第二Timer1單元;
S1102:第二主控板記錄第二Timer0單元發(fā)送delay-req報文的時間為第三時間值,以時間戳T3的形式保存;
S1103:第二Timer1單元接收第二Timer0單元發(fā)送過來的delay-req報文,并將delay-req報文發(fā)送至第二主控板sgmii接口模塊;
S1104:第二主控板記錄第二Timer1單元發(fā)送delay-req報文的時間,以系統(tǒng)時間戳Tout3的形式保存,并將系統(tǒng)時間戳Tout3裝入delay-req報文中位于PTP信息之后、FCS校驗之前的字段域;
S1105:第二主控板sgmii接口模塊接收第二Timer1單元發(fā)送過來的delay-req報文,并將delay-req報文傳輸至第二業(yè)務(wù)板sgmii接口模塊;
S1106:第二業(yè)務(wù)板sgmii接口模塊接收第二主控板sgmii接口模塊傳輸過來的delay-req報文,并將delay-req報文發(fā)送至第二Framer模塊;
S1107:第二Framer模塊中的第二Framer serdes單元接收delay-req報文,并將delay-req報文發(fā)送至第二光模塊;
S1108:第二業(yè)務(wù)板記錄第二Framer serdes單元發(fā)送delay-req報文的時間,并以系統(tǒng)時間戳tout3的形式保存;
S1109:第二業(yè)務(wù)板解析delay-req報文中位于PTP信息之后、FCS校驗之前的字段域,以獲取第二Timer1單元發(fā)送delay-req報文的時間Tout3;
S1110:第二業(yè)務(wù)板計算出第二Timer1單元發(fā)送delay-req報文和第二Framer serdes單元發(fā)送delay-req報文之間的時間差值,具體可以記為第三駐留時間Δt3=tout3-Tout3,并且將第三駐留時間Δt3寫入delay-req報文的修正域ΔT2=Δt3;
S1111:第二光模塊接收第二Framer serdes單元發(fā)送過來的delay-req報文,并將delay-req報文發(fā)送至主設(shè)備。
優(yōu)選地,參見圖12,對于步驟S104,所述主設(shè)備在接收第二報文時,獲取第四駐留時間和第四時間值的實(shí)現(xiàn)過程可以包括:
S1201:主設(shè)備中的第一光模塊接收從設(shè)備發(fā)送過來的報文,并發(fā)送報文至第一Framer模塊,由第一Framer模塊識別出delay-req報文,并將delay-req報文統(tǒng)一到板間通信定義的以太網(wǎng)報文格式上;
S1202:第一Framer模塊中的第一Framer serdes單元接收delay-req報文,并將delay-req報文發(fā)送至第一業(yè)務(wù)板sgmii接口模塊;
S1203:第一業(yè)務(wù)板記錄第一Framer serdes單元接收delay-req報文的時間,以時間戳tin4的形式保存,并將時間戳tin4封裝入delay-req報文中位于PTP信息之后、FCS校驗之前的字段域;
S1204:第一業(yè)務(wù)板sgmii接口模塊接收第一Framer serdes單元發(fā)送過來的delay-req報文,再將delay-req報文傳輸至第一主控板sgmii接口模塊;
S1205:第一主控板sgmii接口模塊接收第一業(yè)務(wù)板sgmii接口模塊傳輸過來的sync報文,再將delay-req報文發(fā)送至第一Timer1單元;
S1206:第一主控板記錄第一Timer1單元接收delay-req報文的時間,以系統(tǒng)時間戳Tin4的形式保存;
S1207:第一主控板解析delay-req報文中位于PTP信息之后、FCS校驗之前的字段域,得到第一Framer serdes單元接收delay-req報文的時間tin4;
S1208:第一主控板計算出第一Framer serdes單元接收delay-req報文和第一Timer1單元接收delay-req報文之間的時間差值,具體可以記為第四駐留時間Δt4=Tin4-tin4;
S1209:第一Timer1單元發(fā)送delay-req報文至第一Timer0單元,記錄第一Timer0單元接收delay-req報文的時間為第四時間值,以時間戳T4的形式保存;
S1210:第一Timer0單元發(fā)送delay-req報文至第一delay-req單元,第一delay-req單元接收并解析delay-req報文;
優(yōu)選地,參見圖13,對于步驟S105:所述主設(shè)備將所述第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將該第三報文發(fā)送至從設(shè)備的實(shí)現(xiàn)過程可以包括:
S1301:主設(shè)備中的第一Delay-resp單元產(chǎn)生delay-resp報文,將delay-req報文中的第四時間值T4、第四駐留時間Δt4以及delay-req報文修正域中的第三駐留時間Δt3封裝入delay-resp報文,并將delay-resp報文發(fā)送至第一Timer0單元;
S1302:第一Timer0單元接收第一Delay-resp單元發(fā)送過來的delay-resp報文,并將delay-resp報文發(fā)送至第一Timer1單元;
S1303:第一Timer1單元接收第一Timer0單元發(fā)送過來的delay-resp報文,并將delay-resp報文發(fā)送至的至第一主控板sgmii接口模塊;
S1304:第一主控板sgmii接口模塊接收第一Timer1單元發(fā)送過來的delay-resp報文,并將delay-resp報文傳輸至第一業(yè)務(wù)板sgmii接口模塊;
S1305:第一業(yè)務(wù)板sgmii接口模塊接收第一主控板sgmii接口模塊發(fā)送過來的delay-resp報文,并將delay-resp報文經(jīng)第一Framer模塊發(fā)送至第一光模塊;
S1306:第一光模塊接收第一Framer模塊發(fā)送過來的delay-resp報文,并將delay-resp報文發(fā)送至從設(shè)備。
優(yōu)選地,對于步驟S106:所述從設(shè)備在接收第三報文時,獲取第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、第二駐留時間、第三駐留時間和第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延,通過時間偏差和時延來調(diào)整從設(shè)備的當(dāng)前時間,使主從設(shè)備時間同步的實(shí)現(xiàn)過程可以包括:
由精確時間協(xié)議(PTP,Precision Time Protocol)的同步機(jī)制,根據(jù)第一時間值、第二時間值、第三時間值和第四時間值分別對應(yīng)的時間戳T1、T2、T3和T4,以及第一駐留時間、第二駐留時間、第三駐留時間和第四駐留時間,計算出主設(shè)備與從設(shè)備之間的時間偏差和時延;其中,第一駐留時間Δt1保存在第一報文的修正域ΔT1=Δt1,第三駐留時間Δt3保存在第二報文的修正域ΔT2=Δt3。
需要說明的是,第三報文可以為主設(shè)備向從設(shè)備發(fā)送的delay-resp報文,也可以為其他類型的報文,本發(fā)明實(shí)施例對此不作具體限定。
另外,第一時間值T1可以在從設(shè)備之前收到的sync報文的precisetime字段域中獲取得到,并且第一報文修正域中的數(shù)值ΔT1也可以在上述sync報文的修正域中獲取得到。
具體地,可以根據(jù)時間偏差和時延計算出主從設(shè)備之間的時間偏差和時延,進(jìn)而根據(jù)PTP得到第一主控板的當(dāng)前時間,實(shí)現(xiàn)了將主設(shè)備的第一主控板的當(dāng)前時間同步到從設(shè)備的第二主控板的目的。
還需要說明的是,業(yè)務(wù)板還需要與各自設(shè)備中的主控板時間同步,使得所有設(shè)備中的單板的時間保持一致,具體時間同步的過程可以按照上述過程進(jìn)行,本發(fā)明實(shí)施例對此不作贅述。
實(shí)施例三
基于上述兩個實(shí)施例相同的技術(shù)構(gòu)思,參見圖14,其示出了本發(fā)明實(shí)施例提供的一種主設(shè)備側(cè)的時間同步方法流程,該方法可以包括:
S1401:主設(shè)備將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將所述第一報文發(fā)送至從設(shè)備;
S1402:主設(shè)備接收由所述從設(shè)備發(fā)送的第二報文;
其中,所述第二報文包括第三駐留時間;
S1403:主設(shè)備在接收所述第二報文時,獲取第四駐留時間和第四時間值;
S1404:主設(shè)備將所述第二報文中的第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將所述第三報文發(fā)送至從設(shè)備。
示例性地,主設(shè)備可以包括一個第一主控板和至少一個第一業(yè)務(wù)板;所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
優(yōu)選地,所述主設(shè)備將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將所述第一報文發(fā)送至從設(shè)備,具體包括:
所述第一主控板在生成所述sync報文時記錄生成所述sync報文的第一時間值T1,并且將所述第一時間值T1封裝于所述sync報文的預(yù)留字段;
所述第一主控板將所述sync報文發(fā)送至所述第一業(yè)務(wù)板,并記錄所述第一主控板發(fā)送所述sync報文的時間Tout1;
所述第一業(yè)務(wù)板解析所述sync報文,獲得所述第一主控板發(fā)送所述sync報文的時間Tout1;
所述第一業(yè)務(wù)板在將所述sync報文向所述從設(shè)備發(fā)送時,記錄所述第一業(yè)務(wù)板發(fā)送所述sync報文的時間tout1,并根據(jù)所述第一主控板發(fā)送所述sync報文的時間Tout1與所述第一業(yè)務(wù)板發(fā)送所述sync報文的時間tout1獲取所述第一駐留時間Δt1,以及將所述第一駐留時間Δt1封裝于所述sync報文中的修正域ΔT1向所述從設(shè)備發(fā)送。
優(yōu)選地,所述主設(shè)備在接收所述第二報文時,獲取第四駐留時間和第四時間值;并將所述第四駐留時間和所述第四時間值封裝于所述第二報文中,具體包括:
所述第一業(yè)務(wù)板在接收所述delay-req報文時,記錄所述第一業(yè)務(wù)板接收所述delay-req報文的時間tin4;
所述第一業(yè)務(wù)板將所述delay-req報文發(fā)送至所述第一主控板;
所述第一主控板記錄接收到所述delay-req報文的時間Tin4,并解析所述delay-req報文得到封裝的所述第一業(yè)務(wù)板接收delay-req報文的時間tin4,獲取得到所述第四駐留時間Δt4;
所述第一主控板記錄解析所述delay-req報文的所述第四時間值T4。
優(yōu)選地,所述主設(shè)備將所述第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將所述第三報文發(fā)送至從設(shè)備,具體包括:
所述第一主控板產(chǎn)生所述delay-resp報文,將所述第四時間值T4、所述第四駐留時間Δt4以及所述delay-req報文修正域中的第三駐留時間Δt3封裝入所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述第一業(yè)務(wù)板;
所述第一業(yè)務(wù)板接收所述第一主控板發(fā)送過來的所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述從設(shè)備。
實(shí)施例四
基于前述實(shí)施例相同的技術(shù)構(gòu)思,參見圖15,其示出了本發(fā)明實(shí)施例提供的一種從設(shè)備側(cè)的時間同步方法流程,該方法可以包括:
S1501:從設(shè)備在接收第一報文時,獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值;
S1502:從設(shè)備記錄第三時間值,將獲取的第三駐留時間封裝至第二報文,并將該第二報文發(fā)送至主設(shè)備;
S1503:從設(shè)備在接收第三報文時,獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、所述第二駐留時間、所述第三駐留時間和所述第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延。
示例性地,所述從設(shè)備包括一個第二主控板和至少一個第二業(yè)務(wù)板;所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
優(yōu)選地,所述從設(shè)備在接收第一報文時,獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值;具體包括:
所述第二業(yè)務(wù)板在接收所述sync報文時,記錄所述第二業(yè)務(wù)板接收到所述sync報文的時間tin2;
所述第二業(yè)務(wù)板將所述sync報文發(fā)送至所述第二主控板;
所述第二主控板記錄接收到所述sync報文的時間Tin2;并解析所述sync報文得到封裝的所述第二業(yè)務(wù)板接收到sync報文的時間tin2,獲取得到所述第二駐留時間Δt2;
所述第二主控板記錄解析所述sync報文的第二時間值T2;
所述第二主控板記錄sync報文的修正域ΔT1中的第一駐留時間Δt1和precisetime字段域中的第一時間值T1。
優(yōu)選地,所述從設(shè)備記錄第三時間值,并將獲取的第三駐留時間封裝至第二報文,并將所述第二報文發(fā)送至主設(shè)備,具體包括:
所述第二主控板在生成所述delay-req報文時記錄生成所述delay-req報文的第三時間值T3;
所述第二主控板將所述delay-req報文發(fā)送至所述第二業(yè)務(wù)板,并記錄所述第二主控板發(fā)送所述delay-req報文的時間Tout3;
所述第二業(yè)務(wù)板解析所述delay-req報文,獲得所述第二主控板發(fā)送所述delay-req報文的時間Tout3;
所述第二業(yè)務(wù)板在將所述delay-req報文向所述主設(shè)備發(fā)送時,記錄所述第二業(yè)務(wù)板發(fā)送所述delay-req報文的時間tout3,并根據(jù)所述第二主控板發(fā)送所述delay-req報文的時間Tout3與所述第二業(yè)務(wù)板發(fā)送所述delay-req報文的時間tout3獲取所述第三駐留時間Δt3,以及將所述第三駐留時間Δt3封裝于所述delay-req報文的修正域ΔT2向所述主設(shè)備發(fā)送。
優(yōu)選地,所述從設(shè)備在接收第三報文時,獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、所述第二駐留時間、所述第三駐留時間和所述第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延,具體包括:
從設(shè)備通過精確時間協(xié)議PTP的同步機(jī)制,根據(jù)所述第一時間值、所述第二時間值、所述第三時間值和所述第四時間值分別對應(yīng)的時間戳T1、T2、T3和T4,以及第一駐留時間Δt1、第二駐留時間Δt2、第三駐留時間Δt3和第四駐留時間Δt4,計算出主設(shè)備與從設(shè)備之間的時間偏差和時延;其中,所述第一駐留時間Δt1保存在所述第一報文的修正域ΔT1=Δt1,所述第三駐留時間Δt3保存在所述第二報文的修正域ΔT2=Δt3。
實(shí)施例五
基于上述實(shí)施例相同的技術(shù)構(gòu)思,參見圖16,其示出了本發(fā)明實(shí)施例提供的一種主設(shè)備160,該主設(shè)備160包括:第一主控板1601和第一業(yè)務(wù)板1602;其中,
所述第一主控板1601,用于將生成的第一時間值與獲取的第一駐留時間封裝至第一報文;
所述第一業(yè)務(wù)板1602,用于將所述第一報文發(fā)送至從設(shè)備;
以及,接收由所述從設(shè)備發(fā)送的第二報文;所述第二報文包括第三駐留時間;
所述第一主控板1601,還用于在所述第一業(yè)務(wù)板1602接收所述第二報文時,獲取第四駐留時間和第四時間值;
以及,將所述第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文;
所述業(yè)務(wù)板,還用于將所述第三報文發(fā)送至從設(shè)備。
示例性地,所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
優(yōu)選地,所述第一主控板1601,具體用于在生成所述sync報文時記錄生成所述sync報文的第一時間值T1,并且將所述第一時間值T1封裝于所述sync報文的預(yù)留字段;
以及,將所述sync報文發(fā)送至所述第一業(yè)務(wù)板1602,并記錄發(fā)送所述sync報文的時間Tout1;
所述第一業(yè)務(wù)板1602,具體用于解析所述sync報文,獲得所述發(fā)送所述sync報文的時間Tout1;
以及,在將所述sync報文向所述從設(shè)備發(fā)送時,記錄發(fā)送所述sync報文的時間tout1,并根據(jù)所述第一主控板1601發(fā)送所述sync報文的時間Tout1與所述第一業(yè)務(wù)板1602發(fā)送所述sync報文的時間tout1獲取所述第一駐留時間Δt1,以及將所述第一駐留時間Δt1封裝于所述sync報文中的修正域ΔT1向所述從設(shè)備發(fā)送。
優(yōu)選地,所述第一業(yè)務(wù)板1602,具體用于在接收所述delay-req報文時,記錄所述第一業(yè)務(wù)板1602接收所述delay-req報文的時間tin4;
以及,將所述delay-req報文發(fā)送至所述第一主控板1601;
所述第一主控板1601,具體用于記錄接收到所述delay-req報文的時間Tin4,并解析所述delay-req報文得到封裝的所述第一業(yè)務(wù)板1602接收delay-req報文的時間tin4,獲取得到所述第四駐留時間Δt4;
以及,記錄解析所述delay-req報文的所述第四時間值。
優(yōu)選地,所述第一主控板1601,具體用于產(chǎn)生所述delay-resp報文,將所述delay-req報文中的所述第四時間值T4,以及所述delay-req報文修正域中的第三駐留時間Δt3封裝入所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述第一業(yè)務(wù)板1602;
所述第一業(yè)務(wù)板1602,具體用于接收所述第一主控板1601發(fā)送過來的所述delay-resp報文,并將所述delay-resp報文發(fā)送至所述從設(shè)備。
實(shí)施例六
基于前述實(shí)施例相同的技術(shù)構(gòu)思,參見圖17,其示出了本發(fā)明實(shí)施例提供的一種從設(shè)備170,該從設(shè)備170可以包括第二主控板1701和第二業(yè)務(wù)板1702,其中,
所述第二業(yè)務(wù)板1702,用于接收第一報文;
所述第二主控板1701,用于獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值;
以及,記錄第三時間值,并將獲取的第三駐留時間封裝至第二報文;
所述第二業(yè)務(wù)板1702,還用于將該第二報文發(fā)送至主設(shè)備;
以及,接收第三報文;
所述第二主控板1701,還用于獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一駐留時間、所述第二駐留時間、所述第三駐留時間和所述第四駐留時間,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延。
示例性地,所述第一報文為sync報文;所述第二報文為delay-req報文;所述第三報文為delay-resp報文。
優(yōu)選地,所述第二業(yè)務(wù)板1702,具體用于在接收所述sync報文時,記錄所述第二業(yè)務(wù)板1702接收到所述sync報文的時間tin2;
以及,將所述sync報文發(fā)送至所述第二主控板1701;
所述第二主控板1701,具體用于記錄接收到所述sync報文的時間Tin2;并解析所述sync報文得到封裝的所述第二業(yè)務(wù)板1702接收到sync報文的時間tin2,獲取得到所述第二駐留時間Δt2;
以及,記錄解析所述sync報文的第二時間值T2。
所述第二主控板1701記錄sync報文的修正域ΔT1中的第一駐留時間Δt1和precisetime字段域中的第一時間值T1。
優(yōu)選地,所述第二主控板1701,具體用于在生成所述delay-req報文時記錄生成所述delay-req報文的第三時間值T3;
以及,將所述delay-req報文發(fā)送至所述第二業(yè)務(wù)板1702,并記錄所述第二主控板1701發(fā)送所述delay-req報文的時間Tout3;
所述第二業(yè)務(wù)板1702,具體用于解析所述delay-req報文,獲得所述第二主控板1701發(fā)送所述delay-req報文的時間Tout3;
以及,在將所述delay-req報文向所述主設(shè)備發(fā)送時,記錄所述第二業(yè)務(wù)板1702發(fā)送所述delay-req報文的時間tout3,并根據(jù)所述第二主控板1701發(fā)送所述delay-req報文的時間Tout3與所述第二業(yè)務(wù)板1702發(fā)送所述delay-req報文的時間tout3獲取所述第三駐留時間Δt3,以及將所述第三駐留時間Δt3封裝于所述delay-req報文的修正域ΔT2向所述主設(shè)備發(fā)送。
優(yōu)選地,所述第二主控板1701,具體用于通過精確時間協(xié)議PTP的同步機(jī)制,根據(jù)所述第一時間值、所述第二時間值、所述第三時間值和所述第四時間值分別對應(yīng)的時間戳T1、T2、T3和T4,以及所述第一駐留時間Δt1、所述第二駐留時間Δt2、所述第三駐留時間Δt3和所述第四駐留時間Δt4,計算出所述主設(shè)備與所述從設(shè)備之間的時間偏差和時延。
實(shí)施例七
基于前述實(shí)施例相同的技術(shù)構(gòu)思,參見圖18,其示出了本發(fā)明實(shí)施例提供的一種時間同步的系統(tǒng)180,該系統(tǒng)180包括:主設(shè)備160和從設(shè)備170;
其中,
所述主設(shè)備160,用于將生成的第一時間值與獲取的第一駐留時間封裝至第一報文,并將所述第一報文發(fā)送至所述從設(shè)備170;
以及,接收由所述從設(shè)備170發(fā)送的第二報文;所述第二報文包括第三駐留時間;
以及,在接收所述第二報文時,獲取第四駐留時間和第四時間值;其中,所述第二報文包括第三駐留時間;
以及,將所述第二報文中的第四時間值、第四駐留時間以及所述第二報文中的第三駐留時間封裝入第三報文,并將所述第三報文發(fā)送至從設(shè)備170;
所述從設(shè)備170,用于在接收第一報文時,獲取第一駐留時間、第二駐留時間、第一時間值和第二時間值;
以及,記錄獲取第三時間值,將獲取的第三駐留時間封裝至第二報文,并將該第二報文發(fā)送至所述主設(shè)備160;
以及,在接收第三報文時,獲取第三報文中所包括的第四時間值、第四駐留時間以及第二報文中的第三駐留時間,并根據(jù)所述第一時間值、第二時間值、第三時間值和第四時間值,以及所述第一報文和第二報文修正域中的數(shù)值,計算出所述主設(shè)備160與所述從設(shè)備170之間的時間偏差和時延。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。