一種時間同步方法、裝置及系統(tǒng)的制作方法
【專利摘要】本申請公開了一種時間同步方法、裝置及系統(tǒng),其中方法包括:向目標設備發(fā)送時間同步請求,接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包,確定從發(fā)送出所述時間同步請求到接收到所述數(shù)據(jù)包所花費的傳輸時間,根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值,判斷所述傳輸時間是否小于所述傳輸時間閾值,若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。由此可見,本申請記及了傳輸時間的影響,使得最終校正的同步設備的時間更加準確。
【專利說明】
一種時間同步方法、裝置及系統(tǒng)
技術領域
[0001]本申請涉及時間同步技術領域,更具體地說,涉及一種時間同步方法、裝置及系統(tǒng)。
【背景技術】
[0002]時間同步也可以稱之為“對鐘”,即將系統(tǒng)中各個設備的時鐘與系統(tǒng)中設定的標準時鐘對準。
[0003]時間同步的應用范圍很廣,比較常見的如應用客戶端需要與應用服務器之間進行時間同步。現(xiàn)有技術在進行時間同步時,由應用客戶端向應用服務器發(fā)起時間同步請求,應用服務器收到請求時將應用服務器當前時間作為反饋信息返回至應用客戶端,應用客戶端將反饋信息中的當前時間作為標準時間進行“對鐘”。
[0004]由于反饋信息從應用服務器傳輸至應用客戶端所花費的時間無法測量,且網(wǎng)絡延遲普遍在千毫秒級別以內(nèi),因此現(xiàn)有技術忽略了網(wǎng)絡延遲所帶來的誤差。這種解決方案能夠適用于大部分對時間同步要求不是很高的應用服務。但是,隨著應用對時間精度要求越來越高,現(xiàn)有技術已經(jīng)無法適用于高精度時間同步的要求。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請?zhí)峁┝艘环N時間同步方法、裝置及系統(tǒng),用于提供一種高精度時間同步方案。
[0006]為了實現(xiàn)上述目的,現(xiàn)提出的方案如下:
[0007]一種時間同步方法,包括:
[0008]向目標設備發(fā)送時間同步請求;
[0009]接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;
[0010]確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間;
[0011]根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;
[0012]判斷所述傳輸時間是否小于所述傳輸時間閾值;
[0013]若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。
[0014]一種時間同步裝置,包括:
[0015]同步請求發(fā)送單元,用于向目標設備發(fā)送時間同步請求;
[0016]時間包接收單元,用于接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;
[0017]傳輸時間確定單元,用于確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間;
[0018]傳輸時間閾值確定單元,用于根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;
[0019]閾值判斷單元,用于判斷所述傳輸時間是否小于所述傳輸時間閾值;
[0020]校正時間確定單元,用于在所述閾值判斷單元的判斷結(jié)果為是時,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。
[0021]—種時間同步系統(tǒng),包括至少一個同步設備和至少一個目標設備,所述目標設備的時鐘為標準時鐘;
[0022]所述同步設備用于,向所述目標設備發(fā)送時間同步請求;接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;確定從發(fā)送出所述時間同步請求到接收到所述數(shù)據(jù)包所花費的傳輸時間;根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;判斷所述傳輸時間是否小于所述傳輸時間閾值;若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間;
[0023]所述目標設備用于,在收到所述同步設備發(fā)送的時間同步請求時,根據(jù)自身當前時間確定發(fā)送時間戳,向所述同步設備返回包含所述發(fā)送時間戳的應答數(shù)據(jù)包。
[0024]本申請實施例提供的時間同步方法包括:同步設備向目標設備發(fā)送時間同步請求,接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包,確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間,根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值,判斷所述傳輸時間是否小于所述傳輸時間閾值;若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。由此可見,本申請在校正同步設備的時間時,考慮了發(fā)送時間同步請求至接收應答數(shù)據(jù)包這個過程的傳輸時間,以及目標設備返回的應答數(shù)據(jù)包的發(fā)送時間戳。本申請記及了傳輸時間的影響,使得最終確定的同步設備的時間更加準確。
[0025]并且,本申請根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值,并利用該傳輸時間閾值選取滿足條件的傳輸時間。便于用戶靈活控制時間同步的精度與時間同步過程的耗時。
【附圖說明】
[0026]為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0027]圖1為本申請示例的一種同步設備與目標設備進行時間同步的示意圖;
[0028]圖2為本申請實施例公開的一種時間同步方法流程圖;
[0029]圖3為本申請示例的不同RTT下tl_t2的概率密度曲線示意圖;
[0030]圖4為本申請實施例公開的一種確定傳輸時間閾值的方法流程圖;
[0031]圖5為本申請實施例公開的一種時間同步裝置結(jié)構(gòu)示意圖;
[0032]圖6為本申請實施例公開的一種同步設備的硬件結(jié)構(gòu)示意圖。
【具體實施方式】
[0033]下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0034]本案發(fā)明人通過對現(xiàn)有的時間同步方案進行研究發(fā)現(xiàn),現(xiàn)有時間同步方案中忽略了數(shù)據(jù)在網(wǎng)絡中傳播所消耗時間的影響,從而造成時間同步準確度不高。而隨著終端及應用的發(fā)展,對時間同步精度的要求也越來越高,現(xiàn)有的時間同步方案已經(jīng)無法適應于當前高精度時間同步的要求。舉例如,在多人互動電影項目中,電影播放器與多個終端需要同時顯示互動界面,同步倒計時,同時消失,對各個終端的時間同步精度要求極高,現(xiàn)有時間同步方案無法適用于該場景。
[0035]為此,本申請?zhí)峁┝艘环N高精度的時間同步方法。
[0036]本申請的時間同步方法應用于時間同步系統(tǒng),系統(tǒng)包含至少一個同步設備和至少一個目標設備。其中,同步設備為待進行時間同步的設備,目標設備為作為時間源的設備,其時鐘為標準時鐘。實際應用中,同步設備可以是手機、IPAD、筆記本等具備網(wǎng)絡接入功能的電子設備。一般性的,時間同步請求可以是同步設備中安裝的某個應用所發(fā)起的。當然,也可以是同步設備的操作系統(tǒng)發(fā)起的。
[0037]目標設備可以是服務器,例如目標設備為同步設備中發(fā)起時間同步請求的目標應用所對應的應用服務器,或者是為目標應用提供服務的中轉(zhuǎn)服務器等。當然,目標設備也可以是手機、筆記本等電子設備。
[0038]同步設備和目標設備可以根據(jù)具體需要而設定。
[0039]本申請的時間同步方案中,目標設備用于,在收到同步設備發(fā)送的時間同步請求時,向所述同步設備返回包含發(fā)送時間戳的應答數(shù)據(jù)包;
[0040]其中,所述應答數(shù)據(jù)包的發(fā)送時間戳為目標設備確定的用于進行時間同步的時間應答數(shù)據(jù)包的發(fā)送時間戳可以是目標設備收到所述時間同步請求的時間,也可以是目標設備收到所述時間同步請求后,返回應答數(shù)據(jù)包的時間。
[0041]當然,相比于網(wǎng)絡傳播耗時,目標設備從接收時間同步請求至發(fā)送應答數(shù)據(jù)包的處理時間極短,可以忽略這部分誤差。
[0042]同步設備用于,向所述目標設備發(fā)送時間同步請求;接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包,確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間;根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;判斷所述傳輸時間是否小于所述傳輸時間閾值;若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間,以使之與所述目標設備的時間保持一 Sc ο
[0043]參見圖1,圖1為本申請示例的一種同步設備與目標設備進行時間同步的示意圖。
[0044]圖1中,以同步設備為Web前端、目標設備為服務器為例進行說明。
[0045]如圖1所示:
[0046]Web前端在To時刻向服務器發(fā)起時間同步請求,詢問時間。由于網(wǎng)絡傳播耗時的存在,服務器收到時間同步請求的時間為Ts時刻,To與Ts之間存在tl的時間。由于服務器運算所需時間在Ims以內(nèi),相對于10ms量級的網(wǎng)絡時間可以忽略不計,因此本申請設定服務器向Web前端反饋的應答數(shù)據(jù)包的發(fā)送時間戳為Ts。由于網(wǎng)絡時間的存在,Web前端收到應答數(shù)據(jù)包的時間為Ts ’時刻,Ts與Ts ’之間存在t2的時間。
[0047]其中,對于tl和t2而言是無法直接確定的,而總傳輸時間RTT(即tl+t2)可以確定。
[0048]進一步可以理解的是,RTT越小意味著時間同步誤差越小,時間同步過程所消耗的總時間將會越大。
[0049]本申請可以由用戶預先設定時間誤差范圍以及落入該時間誤差范圍的期望概率,進而據(jù)此確定傳輸時間閾值。同步設備在判斷某一次確定的傳輸時間小于所述傳輸時間閾值時,根據(jù)該次傳輸時間以及目標設備返回的應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間,以使之與所述目標設備的時間保持一致。
[0050]由于同步設備在校正時間時,考慮了發(fā)送時間同步請求至接收應答數(shù)據(jù)包這個過程的傳輸時間,以及目標設備返回的應答數(shù)據(jù)包的發(fā)送時間戳,也即同步設備記及了網(wǎng)絡傳播耗時的影響,使得最終校正的時間更加準確。
[0051]并且,本申請根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值,并利用該傳輸時間閾值選取滿足條件的傳輸時間。便于用戶靈活控制時間同步的精度與時間同步過程的耗時。
[0052]接下來,本申請以同步設備的角度對方案進行介紹。
[0053]參見圖2,圖2為本申請實施例公開的一種時間同步方法流程圖。
[0054]如圖2所示,該方法包括:
[0055]步驟S200、向目標設備發(fā)送時間同步請求;
[0056]具體地,同步設備在確定需要進行時間同步時,向目標設備發(fā)送時間同步請求。時間同步請求可以是以報文或數(shù)據(jù)包的形式發(fā)送。時間同步請求可以是一段標識、代碼或其它形式。
[0057]可以理解的是,為了減少網(wǎng)絡傳播耗時,可以減小時間同步請求所占的數(shù)據(jù)量。
[0058]步驟S210、接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;
[0059]其中,所述應答數(shù)據(jù)包的發(fā)送時間戳為所述目標設備確定的用于進行時間同步的時間。發(fā)送時間戳可以是目標設備收到所述時間同步請求的時間,也可以是目標設備收到時間同步請求并運算后得到的時間。
[0060]可以理解的是,為了減少網(wǎng)絡傳播耗時,可以減小應答數(shù)據(jù)包的大小。例如,將發(fā)送時間戳放在應答數(shù)據(jù)包的包頭部分,將應答數(shù)據(jù)包的主體部分留空,以降低時間包的傳輸時間。
[0061]步驟S220、確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間;
[0062]具體地,接收所述應答數(shù)據(jù)包的時間與發(fā)送所述時間同步請求的時間的差值即為傳輸時間RTT。
[0063]步驟S230、根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;
[0064]具體地,用戶可以設定自己所能容忍的時間誤差范圍,以及將時間誤差控制在所述時間誤差范圍內(nèi)的期望概率??梢岳斫獾氖?,時間誤差范圍越小、期望概率越高,則對應的傳輸時間RTT越小。對于同步設備向目標設備發(fā)送時間同步請求的次數(shù)越多,時間同步過程消耗的總時間約長。
[0065]本實施例中,可以根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率確定傳輸時間閾值。
[0066]步驟S240、判斷所述傳輸時間是否小于所述傳輸時間閾值;若是,執(zhí)行步驟S250,若否,返回執(zhí)行步驟S200;
[0067]步驟S250、根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。
[0068]具體地,本步驟中根據(jù)所述傳輸時間以及應答數(shù)據(jù)包的發(fā)送時間戳,對同步設備當前的時間進行校正,以使之與所述目標設備的時間保持一致。
[0069]本申請實施例中,同步設備向目標設備發(fā)送時間同步請求,接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包,確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間,根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值,判斷所述傳輸時間是否小于所述傳輸時間閾值;若是,根據(jù)所述傳輸時間和所述第一時間,校正所述同步設備的時間,以使之與所述目標設備的時間保持一致。由此可見,本申請在校正同步設備的時間時,考慮了發(fā)送時間同步請求至接收應答數(shù)據(jù)包這個過程的傳輸時間,以及目標設備返回的應答數(shù)據(jù)包的發(fā)送時間戳。本申請記及了傳輸時間的影響,使得最終確定的同步設備的時間更加準確。
[0070]并且,本申請根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值,并利用該傳輸時間閾值選取滿足條件的傳輸時間。便于用戶靈活控制時間同步的精度與時間同步過程的耗時。
[0071]可選的,同步設備確定傳輸時間的過程可以有多種實現(xiàn)形式,例如:
[0072]同步設備記錄所述時間同步請求的發(fā)送時間戳,以及,記錄所述應答數(shù)據(jù)包的接收時間戳。
[0073]其中,所述時間同步請求的發(fā)送時間戳即為,同步設備發(fā)送時間同步請求的時間。應答數(shù)據(jù)包的接收時間戳即為,同步設備接收應答數(shù)據(jù)包的時間。
[0074]基于此,同步設備根據(jù)記錄的所述時間同步請求的發(fā)送時間戳和所述應答數(shù)據(jù)包的接收時間戳的差值,確定傳輸時間。
[0075]應答數(shù)據(jù)包的接收時間戳減去時間同步請求的發(fā)送時間戳,即為傳輸時間。
[0076]再比如,
[0077]同步設備在向目標設備發(fā)送時間同步請求的同時,啟動計時器,初始啟動時計時器讀數(shù)為零。
[0078]同步設備在接收所述目標設備返回的應答數(shù)據(jù)包的同時,終止所述計時器。
[0079]基于此,同步設備可以根據(jù)終止后的所述計時器的計時結(jié)果,確定傳輸時間。也即,同步設備將終止后的計時器的讀數(shù)確定為傳輸時間。
[0080]本申請發(fā)明人通過對傳輸時間RTT的研究,發(fā)現(xiàn)傳輸時間RTT的大小對時間同步精度產(chǎn)生一定影響。現(xiàn)將發(fā)明人的研究過程進行介紹。
[0081]在本申請中,假定:
[0082]在:
[0083]RTT—0(即 RTT 趨近于0),
[0084]時:
[0085](tl-t2)^0
[0086]也就是說,當RTT趨近于O時,可視為11 = t2。
[0087]這個推論可以簡單理解為:當RTT(tl和t2之和)越小的時候,意味著tl和t2本身(絕對數(shù)值)越小,那么它們之間的差距(絕對數(shù)值)自然也越小。
[0088]簡單證明如下:
[0089]假設在實際網(wǎng)絡環(huán)境下,tl與t2服從隨機泊松分布,那么RTT(即tl+t2)也服從泊松分布,11 _t2的概率分布如圖3所示。
[0090]由圖3可直觀的看出,當RTT(即tl+t2)越小,(tl_t2)的概率密度曲線越“高瘦”,即(tl-t2)落在(-50ms, 50ms)區(qū)間的概率越高,即11與t2的差值越小。當(t l_t2)落在(-50ms,50ms)區(qū)間時,意味著若通過假定11 = t2= 1/20.5*1?1'1'來計算,其誤差小于251118(101118級別)。
[0091]在圖3中可見,當1^ = 5001118時,約有70%的概率(衍42)落在(-501118,501118)區(qū)間中,在RTT = 1000ms,該概率只有不到50%。
[0092]基于上述介紹可知,當傳輸時間RTT越小時,tl = t2的概率越高,因此本申請同步設備根據(jù)傳輸時間RTT與應答數(shù)據(jù)包的發(fā)送時間戳校正同步設備時間的過程可以是:
[0093]同步設備將所述傳輸時間RTT與設定系數(shù)a的乘積,與所述應答數(shù)據(jù)包的發(fā)送時間戳相加,相加結(jié)果確定為同步設備的時間。
[0094]其中,設定系數(shù)a優(yōu)選地可以是0.5,當然其還可以是其它數(shù)值,a的取值范圍可以是(O,I ]。
[0095]由于傳輸時間越小,最終校正得到的時間越精確,為此本申請可以確定傳輸時間閾值,在確定傳輸時間小于設定傳輸時間閾值時才基于所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正同步設備的時間。
[0096]本申請上述實施例已經(jīng)說明,可以根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率確定傳輸時間閾值。接下來,對確定傳輸時間閾值的過程進行介紹。
[0097]為了便于表述,本申請定義傳輸時間包括所述時間同步請求從所述同步設備發(fā)送至所述目標設備花費的第一傳輸子時間,和所述應答數(shù)據(jù)包從所述目標設備發(fā)送至所述同步設備花費的第二傳輸子時間。第一傳輸子時間可以看作上述的tl,第二傳輸子時間可以看作上述的t2。
[0098]則確定傳輸時間閾值的過程可以參見圖4。
[0099]如圖4所示,該過程包括:
[0100]步驟S400、根據(jù)傳輸時間所服從的函數(shù)分布,確定不同傳輸時間下第一傳輸子時間與第二傳輸子時間的差值的概率密度函數(shù);
[0101 ]具體地,傳輸時間、第一傳輸子時間、第二傳輸子時間均服從相同的函數(shù)分布,如泊松分布。本申請可以確定一系列不同的傳輸時間下,第一傳輸子時間與第二傳輸子時間的差值的概率密度函數(shù)。概率密度函數(shù)表示了差值與概率值間的對應關系。
[0102]步驟S410、以所述預設的時間誤差范圍代入各概率密度函數(shù),計算時間誤差范圍對應的概率值;
[0103]具體地,本實施例中以時間誤差范圍為(x,y)為例,則以時間誤差X和y分別作為第一傳輸子時間與第二傳輸子時間的差值,通過各個概率密度函數(shù)可以確定時間誤差范圍對應的概率值。
[0104]其中,通過不同的概率密度函數(shù)所計算出的概率值是不同的。
[0105]步驟S420、確定計算得到的概率值超過預設的期望概率的概率密度函數(shù)所對應的傳輸時間,并從中選取最大的一個傳輸時間作為傳輸時間閾值。
[0106]具體地,本申請用戶可以預先設定落入設定的時間誤差范圍的期望概率,進而基于上一步驟得出的多個概率值,選取超過期望概率的概率密度函數(shù)所對應的傳輸時間。并從中選取最大的一個傳輸時間作為傳輸時間閾值。
[0107]可以理解的是,若傳輸時間小于傳輸時間閾值,則時間誤差落入設定的時間誤差范圍的期望概率要大于設定期望概率。
[0108]以傳輸時間RTT服從泊松分布,校正時間=應答數(shù)據(jù)包的發(fā)送時間戳+0.5RTT為例進行說明。
[0109]本申請可以確定一系列不同傳輸時間RTT下,第一傳輸子時間tl與第二傳輸子時間t2的差值的概率密度函數(shù)。
[0110]參見圖3,本申請示例了燈了 = 5001118、10001118、20001118時4142的概率密度函數(shù)對應的曲線。
[0111]假定用戶預設的時間誤差范圍為(-50ms,50ms),且誤差落入該時間誤差范圍的期望概率為70 %。
[0112]則通過將時間誤差范圍(-50ms,50ms)代入圖3所示的三個概率密度函數(shù)中,可以計算得到:
[0113]1?!7 = 5001118時,(-501118,501118)對應的概率值為71%;
[0114]RTT = 100ms時,(-50ms,50ms)對應的概率值為50% ;
[0115]RTT = 2000ms時,(-50ms,50ms)對應的概率值為35 %。
[0116]由此可知,在RTT= 500ms時,(_50ms,50ms)對應的概率值超過設定期望概率值,且比較接近期望概率值,因此,可以選取RTT = 500ms作為傳輸時間閾值。在確定傳輸時間低于500ms時,根據(jù)目標設備反饋的應答數(shù)據(jù)包的發(fā)送時間戳,以及傳輸時間RTT,計算校正時間:應答數(shù)據(jù)包的發(fā)送時間戳加上0.5RTT。
[0117]由此可知,本申請基于用戶設定的時間誤差范圍及誤差落入該時間誤差范圍的期望概率確定傳輸時間閾值,進而利用該傳輸時間閾值對時間同步過程確定的傳輸時間進行篩選。本申請方案便于用戶靈活控制時間同步的精度與時間同步過程的耗時。
[0118]為了驗證本申請時間同步的精確度,現(xiàn)以多人互動電影的場景進行說明。
[0119]提供互動電影內(nèi)容的服務器作為標準時間源,多個同步設備與服務器進行時間同步。本實施例中以同步設備包括臺式機、筆記本、安卓手機和蘋果手機為例進行說明。其中,上述四個同步設備在不同網(wǎng)絡環(huán)境下(有線網(wǎng)絡、無線網(wǎng)絡、移動網(wǎng)絡),按照本申請的方案進行時間同步,某一時刻,服務器時間為16時41分15秒8,各個同步設備時間同步后的時間也為16時41分15秒8。各個同步設備之間的時間能夠保持在0.1秒以內(nèi)的同步精度,換言之,誤差級別為十毫秒級別,相比于現(xiàn)有技術的幾百毫秒級別的誤差,其精度得到了大大提升。
[0120]下面對本申請實施例提供的時間同步裝置進行描述,下文描述的時間同步裝置與上文描述的時間同步方法可相互對應參照。
[0121]參見圖5,圖5為本申請實施例公開的一種時間同步裝置結(jié)構(gòu)示意圖。
[0122]如圖5所示,該裝置包括:
[0123]同步請求發(fā)送單元51,用于向目標設備發(fā)送時間同步請求;
[0124]應答數(shù)據(jù)包接收單元52,用于接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;
[0125]所述發(fā)送時間戳為所述目標設備確定的用于進行時間同步的時間。
[0126]可選的,發(fā)送時間戳可以是目標設備收到所述時間同步請求的時間,也可以是目標設備收到時間同步請求并運算后得到的時間。
[0127]可以理解的是,為了減少網(wǎng)絡時間,可以減小應答數(shù)據(jù)包的大小。例如,將發(fā)送時間戳放在應答數(shù)據(jù)包的包頭部分,將應答數(shù)據(jù)包的主體部分留空,以降低應答數(shù)據(jù)包的傳輸時間。
[0128]傳輸時間確定單元53,用于確定從發(fā)送出所述時間同步請求到接收到所述數(shù)據(jù)包所花費的傳輸時間;
[0129]具體地,接收所述應答數(shù)據(jù)包的時間與發(fā)送所述時間同步請求的時間的差值即為傳輸時間RTT。
[0130]傳輸時間閾值確定單元54,用于根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;
[0131]閾值判斷單元55,用于判斷所述傳輸時間是否小于所述傳輸時間閾值;
[0132]校正時間確定單元56,用于在所述閾值判斷單元54的判斷結(jié)果為是時,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間,以使之與所述目標設備的時間保持一致。
[0133]可以理解的是,所述傳輸時間包括所述時間同步請求從所述同步設備發(fā)送至所述目標設備花費的第一傳輸子時間,和所述應答數(shù)據(jù)包從所述目標設備發(fā)送至所述同步設備花費的第二傳輸子時間。
[0134]可以理解的是,在所述閾值判斷單元55的判斷結(jié)果為否時,可以觸發(fā)執(zhí)行所述同步請求發(fā)送單元51。
[0135]可選的,所述傳輸時間閾值確定單元可以包括:
[0136]概率密度函數(shù)確定單元,用于根據(jù)傳輸時間所服從的函數(shù)分布,確定不同傳輸時間下第一傳輸子時間與第二傳輸子時間的差值的概率密度函數(shù);
[0137]概率值計算單元,用于以所述預設的時間誤差范圍代入各概率密度函數(shù),計算時間誤差范圍對應的概率值;
[0138]傳輸時間選取單元,用于確定計算得到的概率值超過預設的期望概率的概率密度函數(shù)所對應的傳輸時間,并從中選取最大的一個傳輸時間作為傳輸時間閾值。
[0139]可選的,本申請的時間同步裝置還可以包括:
[0140]時間記錄單元,用于記錄所述時間同步請求的發(fā)送時間戳;以及,記錄所述數(shù)據(jù)包的接收時間戳;
[0141]基于此,所述傳輸時間確定單元可以包括:
[0142]第一傳輸時間確定子單元,用于根據(jù)記錄的所述時間同步請求的發(fā)送時間戳和所述應答數(shù)據(jù)包的接收時間戳的差值,確定傳輸時間。
[0143]可選的,本申請的時間同步裝置還可以包括:
[0144]計時器控制單元,用于在向目標設備發(fā)送時間同步請求的同時,啟動計時器,初始啟動時計時器讀數(shù)為零;在接收所述目標設備返回的應答數(shù)據(jù)包的同時,終止所述計時器;
[0145]基于此,所述傳輸時間確定單元可以包括:
[0146]第二傳輸時間確定子單元,用于根據(jù)終止后的所述計時器的計時結(jié)果,確定傳輸時間。
[0147]可選的,上述校正時間確定單元可以包括:
[0148]第一校正時間確定子單元,用于將所述傳輸時間與設定系數(shù)的乘積,與所述應答數(shù)據(jù)包的發(fā)送時間戳相加,相加結(jié)果確定為所述同步設備的時間。
[0149]其中,設定系數(shù)可以為0.5。
[0150]對于上述同步設備的硬件結(jié)構(gòu),參見圖6,圖6為本申請實施例提供的同步設備的硬件結(jié)構(gòu)示意圖。如圖6所示,該同步設備可以包括:
[0151]處理器I,通信接口2,存儲器3,通信總線4,和顯示屏5;
[0152]其中處理器1、通信接口 2、存儲器3和顯示屏5通過通信總線4完成相互間的通信;
[0153]可選的,通信接口2可以為通信模塊的接口,如GSM模塊的接口 ;
[0154]處理器I,用于執(zhí)行程序;
[0155]存儲器3,用于存放程序;
[0156]程序可以包括程序代碼,所述程序代碼包括處理器的操作指令。
[0157]處理器I可能是一個中央處理器CPU,或者是特定集成電路ASIC(Applicati0nSpecific Integrated Circuit),或者是被配置成實施本申請實施例的一個或多個集成電路。
[0158]存儲器3可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatilememory),例如至少一個磁盤存儲器。
[0159]其中,程序可具體用于:
[0160]向目標設備發(fā)送時間同步請求;
[0161]接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;
[0162]確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間;
[0163]根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;
[0164]判斷所述傳輸時間是否小于所述傳輸時間閾值;
[0165]若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。
[0166]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0167]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
[0168]對所公開的實施例的上述說明,使本領域?qū)I(yè)技術人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【主權(quán)項】
1.一種時間同步方法,其特征在于,應用于同步設備,該方法包括: 向目標設備發(fā)送時間同步請求; 接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包; 確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間; 根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值; 判斷所述傳輸時間是否小于所述傳輸時間閾值; 若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述傳輸時間包括所述時間同步請求從所述同步設備發(fā)送至所述目標設備花費的第一傳輸子時間,和所述應答數(shù)據(jù)包從所述目標設備發(fā)送至所述同步設備花費的第二傳輸子時間; 所述根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值的步驟,包括: 根據(jù)傳輸時間所服從的函數(shù)分布,確定不同傳輸時間下第一傳輸子時間與第二傳輸子時間的差值的概率密度函數(shù); 以所述預設的時間誤差范圍代入各概率密度函數(shù),計算時間誤差范圍對應的概率值; 確定計算得到的概率值超過預設的期望概率的概率密度函數(shù)所對應的傳輸時間,并從中選取最大的一個傳輸時間作為傳輸時間閾值。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 記錄所述時間同步請求的發(fā)送時間戳;以及, 記錄所述應答數(shù)據(jù)包的接收時間戳; 所述確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間,包括: 根據(jù)記錄的所述時間同步請求的發(fā)送時間戳和所述應答數(shù)據(jù)包的接收時間戳的差值,確定傳輸時間。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在向目標設備發(fā)送時間同步請求的同時,啟動計時器,初始啟動時計時器讀數(shù)為零; 在接收所述目標設備返回的應答數(shù)據(jù)包的同時,終止所述計時器; 所述確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間,包括: 根據(jù)終止后的所述計時器的計時結(jié)果,確定傳輸時間。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在判斷所述傳輸時間不小于所述傳輸時間閾值時,觸發(fā)所述向目標設備發(fā)送時間同步請求的操作。6.根據(jù)權(quán)利要求1-5任一項所述的方法,其特征在于,所述根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間,包括: 將所述傳輸時間與設定系數(shù)的乘積,與所述應答數(shù)據(jù)包的發(fā)送時間戳相加,相加結(jié)果確定為所述同步設備的時間。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述設定系數(shù)為0.5。8.—種時間同步裝置,其特征在于,應用于同步設備,該裝置包括: 同步請求發(fā)送單元,用于向目標設備發(fā)送時間同步請求; 應答數(shù)據(jù)包接收單元,用于接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;傳輸時間確定單元,用于確定從發(fā)送出所述時間同步請求到接收到所述應答數(shù)據(jù)包所花費的傳輸時間; 傳輸時間閾值確定單元,用于根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值; 閾值判斷單元,用于判斷所述傳輸時間是否小于所述傳輸時間閾值; 校正時間確定單元,用于在所述閾值判斷單元的判斷結(jié)果為是時,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述傳輸時間包括所述時間同步請求從所述同步設備發(fā)送至所述目標設備花費的第一傳輸子時間,和所述應答數(shù)據(jù)包從所述目標設備發(fā)送至所述同步設備花費的第二傳輸子時間; 所述傳輸時間閾值確定單元包括: 概率密度函數(shù)確定單元,用于根據(jù)傳輸時間所服從的函數(shù)分布,確定不同傳輸時間下第一傳輸子時間與第二傳輸子時間的差值的概率密度函數(shù); 概率值計算單元,用于以所述預設的時間誤差范圍代入各概率密度函數(shù),計算時間誤差范圍對應的概率值; 傳輸時間選取單元,用于確定計算得到的概率值超過預設的期望概率的概率密度函數(shù)所對應的傳輸時間,并從中選取最大的一個傳輸時間作為傳輸時間閾值。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 時間記錄單元,用于記錄所述時間同步請求的發(fā)送時間戳;以及,記錄所述應答數(shù)據(jù)包的接收時間戳; 所述傳輸時間確定單元包括: 第一傳輸時間確定子單元,用于根據(jù)記錄的所述時間同步請求的發(fā)送時間戳和所述應答數(shù)據(jù)包的接收時間戳的差值,確定傳輸時間。11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 計時器控制單元,用于在向目標設備發(fā)送時間同步請求的同時,啟動計時器,初始啟動時計時器讀數(shù)為零;在接收所述目標設備返回的應答數(shù)據(jù)包的同時,終止所述計時器; 所述傳輸時間確定單元包括: 第二傳輸時間確定子單元,用于根據(jù)終止后的所述計時器的計時結(jié)果,確定傳輸時間。12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,在所述閾值判斷單元的判斷結(jié)果為否時,觸發(fā)執(zhí)行所述同步請求發(fā)送單元。13.根據(jù)權(quán)利要求8-12任一項所述的裝置,其特征在于,所述校正時間確定單元,包括: 第一校正時間確定子單元,用于將所述傳輸時間與設定系數(shù)的乘積,與所述應答數(shù)據(jù)包的發(fā)送時間戳相加,相加結(jié)果確定為所述同步設備的時間,其中,所述設定系數(shù)為0.5。14.一種時間同步系統(tǒng),其特征在于,包括至少一個同步設備和至少一個目標設備,所述目標設備的時鐘為標準時鐘; 所述同步設備用于,向所述目標設備發(fā)送時間同步請求;接收所述目標設備返回的包含發(fā)送時間戳的應答數(shù)據(jù)包;確定從發(fā)送出所述時間同步請求到接收到所述數(shù)據(jù)包所花費的傳輸時間;根據(jù)預設的時間誤差范圍和落入該時間誤差范圍的期望概率,確定傳輸時間閾值;判斷所述傳輸時間是否小于所述傳輸時間閾值;若是,根據(jù)所述傳輸時間和所述應答數(shù)據(jù)包的發(fā)送時間戳,校正所述同步設備的時間; 所述目標設備用于,在收到所述同步設備發(fā)送的時間同步請求時,根據(jù)自身當前時間確定發(fā)送時間戳,向所述同步設備返回包含所述發(fā)送時間戳的應答數(shù)據(jù)包。
【文檔編號】H04J3/06GK105915308SQ201610539966
【公開日】2016年8月31日
【申請日】2016年7月8日
【發(fā)明人】莫思明, 楊穎
【申請人】騰訊科技(深圳)有限公司