本發(fā)明實(shí)施例涉及時(shí)間同步的技術(shù)領(lǐng)域,尤其涉及一種時(shí)鐘源的選擇方法和時(shí)鐘服務(wù)器。
背景技術(shù):
現(xiàn)有技術(shù)中,通過利用北斗BDS(BeiDou Navigation Satellite System,北斗衛(wèi)星導(dǎo)航系統(tǒng))、GPS(Global Positioning System,全球定位系統(tǒng))等外部時(shí)鐘信號(hào)建立時(shí)鐘服務(wù)器內(nèi)部基準(zhǔn)參考時(shí)間,并利用各種時(shí)間輸出信號(hào)完成與所有被授時(shí)系統(tǒng)及設(shè)備的時(shí)間同步。其中,外部時(shí)鐘信號(hào)包括多種時(shí)鐘信號(hào)源:GPS時(shí)鐘信號(hào)源、北斗衛(wèi)星時(shí)鐘信號(hào)源、IRIG-B(Inter Range Instrumentation Group,美國靶場儀器組)時(shí)鐘信號(hào)源、PPT(Precision Time Protocol,精確時(shí)間協(xié)議)時(shí)鐘信號(hào)源、TOD(Time of Day,日時(shí)間信息)時(shí)鐘信號(hào)源。
而關(guān)于時(shí)鐘服務(wù)器在內(nèi)部是如何選擇本地的時(shí)鐘源,目前大多通過對(duì)外部時(shí)鐘信號(hào)的質(zhì)量進(jìn)行檢測的方式選擇本地的時(shí)鐘源,而由于時(shí)鐘信號(hào)的質(zhì)量,并不能與時(shí)鐘服務(wù)器當(dāng)前的內(nèi)部基準(zhǔn)時(shí)間建立關(guān)聯(lián),因此,通過檢測外部時(shí)鐘信號(hào)質(zhì)量的方式選擇本地的時(shí)鐘源,降低了時(shí)鐘服務(wù)器內(nèi)部基準(zhǔn)參考時(shí)間的準(zhǔn)確度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種時(shí)鐘源的選擇方法和時(shí)鐘服務(wù)器,用以提高時(shí)鐘服務(wù)器內(nèi)部基準(zhǔn)參考時(shí)間的準(zhǔn)確度。
本發(fā)明實(shí)施例提供一種時(shí)鐘源的選擇方法,包括:
對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼;
從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源;
針對(duì)每個(gè)第一有效時(shí)鐘源,確定第一時(shí)間與第二時(shí)間的差值,所述第一時(shí)間為所述第一有效時(shí)鐘源時(shí)間,所述第二時(shí)間為設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源提供的基準(zhǔn)時(shí)間,所述設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源為所述多個(gè)時(shí)鐘源中的一個(gè);
將所述第一時(shí)間與所述第二時(shí)間之間的差值小于第一閾值的第一有效時(shí)鐘源確定為可用時(shí)鐘源;
從所述可用時(shí)鐘源中確定所述設(shè)備下一時(shí)刻的時(shí)鐘源。
較佳的,所述從所述可用時(shí)鐘源中確定所述設(shè)備的時(shí)鐘源,包括:
若當(dāng)前時(shí)刻的時(shí)鐘源包含在所述可用時(shí)鐘源中,則確定當(dāng)前時(shí)刻的時(shí)鐘源與所述第二時(shí)間的時(shí)間差是否大于第二閾值,若是,則根據(jù)所述可用時(shí)鐘源的優(yōu)先級(jí),重新確定下一時(shí)刻的時(shí)鐘源;否則,在下一時(shí)刻保持上一時(shí)刻的時(shí)鐘源不變。
較佳的,還包括:
若當(dāng)前時(shí)刻的時(shí)鐘源未包含在所述可用時(shí)鐘源中,則根據(jù)所述可用時(shí)鐘源的優(yōu)先級(jí),重新確定下一時(shí)刻的時(shí)鐘源。
較佳的,通過以下方式確定所述設(shè)備在初始化時(shí)的時(shí)鐘源:
將接收到的多個(gè)有效的第二有效時(shí)鐘源所對(duì)應(yīng)的時(shí)間進(jìn)行兩兩求差,并確定時(shí)間差值最小的兩個(gè)第二有效時(shí)鐘源;
確定所述兩個(gè)第二有效時(shí)鐘源的優(yōu)先級(jí);
將所述兩個(gè)時(shí)鐘源中優(yōu)先級(jí)較高的第二有效時(shí)鐘源作為所述設(shè)備在初始化時(shí)的時(shí)鐘源。
較佳的,所述從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源,包括:
分別測量所述解碼成功的時(shí)鐘源中的每個(gè)時(shí)鐘源的第三時(shí)間與第四時(shí)間,所述第三時(shí)間為時(shí)鐘源在選定時(shí)刻的時(shí)間,第四時(shí)間為時(shí)鐘源在所述選定時(shí)刻的后一時(shí)刻的時(shí)間;
將所述第三時(shí)間與所述第四時(shí)間之間的差值小于第三閾值的時(shí)鐘源,判定為第一有效時(shí)鐘源。
本發(fā)明實(shí)施例還提供一種時(shí)鐘服務(wù)器,包括:
解碼模塊,用于對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼;
確定模塊,用于從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源;
還用于針對(duì)每個(gè)第一有效時(shí)鐘源,確定第一時(shí)間與第二時(shí)間的差值,所述第一時(shí)間為所述第一有效時(shí)鐘源時(shí)間,所述第二時(shí)間為設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源提供的基準(zhǔn)時(shí)間,所述設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源為所述多個(gè)時(shí)鐘源中的一個(gè);
還用于將所述第一時(shí)間與所述第二時(shí)間之間的差值小于第一閾值的第一有效時(shí)鐘源確定為可用時(shí)鐘源;
選擇模塊,用于從所述可用時(shí)鐘源中確定下一時(shí)刻的時(shí)鐘源。
較佳的,所述選擇模塊,具體用于:
在當(dāng)前時(shí)刻的時(shí)鐘源包含在所述可用時(shí)鐘源中時(shí),確定當(dāng)前時(shí)刻的時(shí)鐘源與所述第二時(shí)間的時(shí)間差是否大于第二閾值,若是,則根據(jù)所述可用時(shí)鐘源的優(yōu)先級(jí),重新確定下一時(shí)刻的時(shí)鐘源;否則,在下一時(shí)刻保持上一時(shí)刻的時(shí)鐘源不變。
較佳的,所述選擇模塊,還用于:
在當(dāng)前時(shí)刻的時(shí)鐘源未包含在所述可用時(shí)鐘源中時(shí),則根據(jù)所述可用時(shí)鐘源的優(yōu)先級(jí),重新確定下一時(shí)刻的時(shí)鐘源。
較佳的,通過以下方式確定所述設(shè)備在初始化時(shí)的時(shí)鐘源:
將接收到的多個(gè)有效的第二有效時(shí)鐘源所對(duì)應(yīng)的時(shí)間進(jìn)行兩兩求差,并確定時(shí)間差值最小的兩個(gè)第二有效時(shí)鐘源;
確定所述兩個(gè)第二有效時(shí)鐘源的優(yōu)先級(jí);
將所述兩個(gè)時(shí)鐘源中優(yōu)先級(jí)較高的第二有效時(shí)鐘源作為所述設(shè)備在初始化時(shí)的時(shí)鐘源。
較佳的,所述確定模塊,具體用于:
分別測量所述解碼成功的時(shí)鐘源中的每個(gè)時(shí)鐘源的第三時(shí)間與第四時(shí)間,所述第三時(shí)間為時(shí)鐘源在選定時(shí)刻的時(shí)間,第四時(shí)間為時(shí)鐘源在所述選定時(shí)刻的后一時(shí)刻的時(shí)間;
將所述第三時(shí)間與所述第四時(shí)間之間的差值小于第三閾值的時(shí)鐘源,判定為第一有效時(shí)鐘源。
上述實(shí)施例提供的一種時(shí)鐘源的選擇方法和時(shí)鐘服務(wù)器,包括:對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼;從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源;針對(duì)每個(gè)第一有效時(shí)鐘源,確定所述第一有效時(shí)鐘源的第一時(shí)間與本地的第二時(shí)間之間的差值,所述第二時(shí)間為設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源提供的基準(zhǔn)時(shí)間所述設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源為所述多個(gè)時(shí)鐘源中的一個(gè);將所述第一時(shí)間與所述第二時(shí)間之間的差值小于第一閾值的第一有效時(shí)鐘源確定為可用時(shí)鐘源;從所述可用時(shí)鐘源中確定下一時(shí)刻的時(shí)鐘源,可以看出,本發(fā)明實(shí)施例在選擇下一時(shí)刻的時(shí)鐘源時(shí),首先判斷出有效時(shí)鐘源,然后將有效時(shí)鐘源的第一時(shí)間分別與本地的第二時(shí)間進(jìn)行比較,并在有效時(shí)鐘源的第一時(shí)間分別與當(dāng)前時(shí)刻的時(shí)鐘源提供的第二時(shí)間之間的差值小于第一閾值時(shí),方可將該有效時(shí)鐘源確定為可用時(shí)鐘源,然后從可用時(shí)鐘源中確定下一時(shí)刻的時(shí)鐘源,由于將有效時(shí)鐘源的第一時(shí)間與當(dāng)前時(shí)刻的時(shí)鐘源的第二時(shí)間進(jìn)行結(jié)合判斷,即將有效時(shí)鐘源的第一時(shí)間與時(shí)鐘服務(wù)器當(dāng)前的內(nèi)部基準(zhǔn)時(shí)間建立關(guān)聯(lián),并不是僅僅基于時(shí)鐘信號(hào)的質(zhì)量選擇本地的時(shí)鐘源,因此,能夠提高時(shí)鐘服務(wù)器內(nèi)部基準(zhǔn)參考時(shí)間的準(zhǔn)確度。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡要介紹。
圖1為本發(fā)明實(shí)施例提供的一種時(shí)鐘源的選擇方法流程示意圖;
圖2為本發(fā)明實(shí)施例提供一種在初始化時(shí)獲取本地的時(shí)鐘源的方法流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種時(shí)鐘服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
需要說明的是,本發(fā)明實(shí)施例中所提供的時(shí)鐘源包括但不限于GPS時(shí)鐘信號(hào)源、北斗衛(wèi)星時(shí)鐘源、IRIG-B(Inter Range Instrumentation Group,美國靶場儀器組)時(shí)鐘源、PTP(Precision Time Protocol,精確時(shí)間協(xié)議)時(shí)鐘源、TOD(Time of Day,日時(shí)間信息)時(shí)鐘源、NTP(Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議)時(shí)鐘源、1PPS時(shí)鐘源、1PPS+TOD時(shí)鐘源,即無論應(yīng)用于電信移動(dòng)系統(tǒng)中的(1PPS+TOD)時(shí)鐘信號(hào)源,還是應(yīng)用于電力系統(tǒng)中的IRIG-B時(shí)鐘信號(hào)源均可以應(yīng)用于本發(fā)明實(shí)施例中。
圖1示例性示出了本發(fā)明實(shí)施例提供的一種時(shí)鐘源的選擇方法流程示意圖,如圖1所示,該方法可包括:
S101、對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼。
S102、從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源,
S103、針對(duì)每個(gè)第一有效時(shí)鐘源,確定第一時(shí)間與第二時(shí)間的差值,所述第一時(shí)間為所述第一有效時(shí)鐘源時(shí)間,所述第二時(shí)間為設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源提供的基準(zhǔn)時(shí)間,所述設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源為所述多個(gè)時(shí)鐘源中的一個(gè)。
設(shè)備會(huì)接收到多個(gè)時(shí)鐘源,設(shè)備需要從多個(gè)時(shí)鐘源中選擇一個(gè)時(shí)鐘源作為時(shí)鐘源提供基準(zhǔn)時(shí)間,不同的時(shí)刻,設(shè)備有可能選擇不同的時(shí)鐘源提供基準(zhǔn)時(shí)間。設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源也稱為設(shè)備在當(dāng)前時(shí)刻使用的時(shí)鐘源。其中,設(shè)備的基準(zhǔn)時(shí)間根據(jù)當(dāng)前時(shí)刻的時(shí)鐘源所提供的時(shí)間信息在不停的變化。
S104、將第一時(shí)間與第二時(shí)間之間的差值小于第一閾值的第一有效時(shí)鐘源確定為可用時(shí)鐘源。
S105、從可用時(shí)鐘源中確定設(shè)備下一時(shí)刻的時(shí)鐘源。
從可用時(shí)鐘源中確定設(shè)備在下一時(shí)刻的時(shí)鐘源,也就是,從可用時(shí)鐘中確定設(shè)備在下一時(shí)刻使用的時(shí)鐘源。
在上述步驟S101中,對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼,可通過對(duì)多個(gè)時(shí)鐘源各自輸出的碼元格式進(jìn)行的方式對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼。
具體的,首先對(duì)多個(gè)時(shí)鐘源的各自輸出的碼元的頭、碼元的尾進(jìn)行判別,在對(duì)多個(gè)時(shí)鐘源的各自輸出的碼元的頭、碼元的尾判別出來后,對(duì)多個(gè)時(shí)鐘源的各自輸出的碼元的各字段進(jìn)行解析,然后將多個(gè)時(shí)鐘源的各自輸出的碼元的各字段對(duì)應(yīng)到解碼寄存器中存儲(chǔ),最后確認(rèn)所需要的多個(gè)時(shí)鐘源的各自輸出的碼元的狀態(tài)是否齊全,即判斷確認(rèn)所需要的多個(gè)時(shí)鐘源的各自輸出的所有字段是否符合要求,若所需要的多個(gè)時(shí)鐘源的各自輸出的所有字段均符合要求,則解碼成功,否則解碼失敗。
在上述步驟S102中,從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源,可首先判斷解碼成功后的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)的質(zhì)量,即判斷各個(gè)時(shí)鐘源的天線狀態(tài)、衛(wèi)星狀態(tài)、閏秒、精度、品質(zhì)以及有效標(biāo)志位是否均符合要求,針對(duì)天線狀態(tài)、衛(wèi)星狀態(tài)、閏秒、精度、品質(zhì)以及有效標(biāo)志位符合要求的時(shí)鐘源,繼續(xù)對(duì)符合要求的時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行測量,從而確定出第一有效時(shí)鐘源。具體地,分別測量符合要求的時(shí)鐘源中的每個(gè)時(shí)鐘源在選定時(shí)刻的時(shí)間即第三時(shí)間、和符合要求的時(shí)鐘源中的每個(gè)時(shí)鐘源選定時(shí)刻的后一時(shí)刻的時(shí)間即第四時(shí)間,并將第三時(shí)間與第四時(shí)間之間的差值小于第三閾值的時(shí)鐘源,判定為第一有效時(shí)鐘源。
具體的,可分別測量符合要求的時(shí)鐘源中的每個(gè)時(shí)鐘源的1PPS(pulse per second,秒脈沖),即將每個(gè)符合要求的時(shí)鐘源的時(shí)鐘信號(hào)在選定時(shí)刻的時(shí)間與該時(shí)鐘源的時(shí)鐘信號(hào)在選定時(shí)刻的后一時(shí)刻的時(shí)間進(jìn)行測量比較,若每個(gè)符合要求的時(shí)鐘源的時(shí)鐘信號(hào)在選定時(shí)刻的時(shí)間與該與時(shí)鐘源的時(shí)鐘信號(hào)在選定時(shí)刻的后一時(shí)刻的時(shí)間之間的差值大于第三閾值,則判定該時(shí)鐘源為無效時(shí)鐘源,若每個(gè)符合要求的時(shí)鐘源的時(shí)鐘信號(hào)在選定時(shí)刻的時(shí)間與該時(shí)鐘源的時(shí)鐘信號(hào)在選定時(shí)刻的后一時(shí)刻的時(shí)間之間的差值小于第三閾值,則可判定該時(shí)鐘源為有效時(shí)鐘源。
在從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源之后,可針對(duì)每個(gè)第一有效時(shí)鐘源,確定第一時(shí)間與第二時(shí)間的差值,第一時(shí)間為所述第一有效時(shí)鐘源時(shí)間,第二時(shí)間為設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源提供的基準(zhǔn)時(shí)間,設(shè)備當(dāng)前時(shí)刻的時(shí)鐘源為所述多個(gè)時(shí)鐘源中的一個(gè)。
其中,設(shè)備在初始化時(shí)獲得當(dāng)前時(shí)刻的時(shí)鐘源的方法流程,可參見圖2。
圖2示例性示出了本發(fā)明實(shí)施例提供的一種在初始化時(shí)獲取當(dāng)前時(shí)刻的時(shí)鐘源的方法流程示意圖,如圖2所示,該方法可包括:
S201、將接收到的多個(gè)有效的第二有效時(shí)鐘源所對(duì)應(yīng)的時(shí)間進(jìn)行兩兩求差。
S202、確定差值最小的兩個(gè)第二有效時(shí)鐘源。
S203、確定兩個(gè)第二有效時(shí)鐘源的優(yōu)先級(jí)。
S204、將兩個(gè)第二有效時(shí)鐘源中優(yōu)先級(jí)較高的第二有效時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源。
在上述步驟S201之前,還需要對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼,然后從解碼成功的時(shí)鐘源中確定第二有效時(shí)鐘源。
下面分兩種情況,對(duì)圖2所示的方法流程進(jìn)行詳細(xì)的解釋說明。
情況一:兩個(gè)時(shí)鐘源
初始化時(shí),在兩個(gè)時(shí)鐘源都有效的情況下,可根據(jù)時(shí)鐘源的優(yōu)先級(jí),選擇優(yōu)先級(jí)高的時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源。
例如,假設(shè)存在兩個(gè)時(shí)鐘源分別為北斗時(shí)鐘源和GPS時(shí)鐘源,并且北斗時(shí)鐘源的優(yōu)先級(jí)高于GPS時(shí)鐘源,并進(jìn)一步假設(shè)北斗時(shí)鐘源和GPS時(shí)鐘源均為有效時(shí)鐘源,則在初始化時(shí),可將北斗時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源。
情況二:多個(gè)時(shí)鐘源
初始化時(shí),在多個(gè)時(shí)鐘源都有效的情況下,首先將多個(gè)有效時(shí)鐘源兩兩進(jìn)行比較,即將多個(gè)有效時(shí)鐘源所對(duì)應(yīng)的時(shí)間進(jìn)行兩兩求差,并確定差值最小的兩個(gè)有效時(shí)鐘源,然后根據(jù)這兩個(gè)有效時(shí)鐘源的優(yōu)先級(jí),并將這兩個(gè)有效時(shí)鐘源中優(yōu)先級(jí)比較高的時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源。
例如,假設(shè)存在三個(gè)時(shí)鐘源分別為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且GPS時(shí)鐘源的優(yōu)先級(jí)最高,北斗時(shí)鐘源的優(yōu)先級(jí)次之,TOD時(shí)鐘源的優(yōu)先級(jí)最低,并進(jìn)一步假設(shè)北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源均為有效時(shí)鐘源,并且測量北斗時(shí)鐘源得到的時(shí)間信息為:9時(shí)9分9秒9毫秒9微秒9納秒;測量GPS時(shí)鐘源得到的時(shí)間信息為:9時(shí)9分9秒9毫秒9微秒39納秒;測量TOD時(shí)鐘源得到的時(shí)間信息為:9時(shí)9分9秒9毫秒9微秒49納秒。
然后將多個(gè)有效時(shí)鐘源所對(duì)應(yīng)的時(shí)間進(jìn)行兩兩求差,即將測量北斗時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒9納秒”與測量GPS時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒49納秒”求差,得到30納秒;將測量北斗時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒9納秒”與測量TOD時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒49納秒”求差,得到40納秒;將測量GPS時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒39納秒”與測量TOD時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒49納秒”求差,得到10納秒。
由于測量GPS時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒39納秒”與測量TOD時(shí)鐘源得到的時(shí)間信息“9時(shí)9分9秒9毫秒9微秒49納秒”差值最小,因此從GPS時(shí)鐘源與TOD時(shí)鐘源中選出本地的時(shí)鐘源。又由于GPS時(shí)鐘源的優(yōu)先級(jí)最高,TOD時(shí)鐘源的優(yōu)先級(jí)最低,因此,將GPS時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源。
在上述步驟S105中,從可用時(shí)鐘源中確定下一時(shí)刻的時(shí)鐘源時(shí),也分兩種情況,一種情況是可用時(shí)鐘源中包含當(dāng)前時(shí)刻的時(shí)鐘源,一種情況是可用時(shí)鐘源中未包含當(dāng)前時(shí)刻的時(shí)鐘源,下面分別予以介紹。
情況一:可用時(shí)鐘源中包含當(dāng)前時(shí)刻的時(shí)鐘源。
若當(dāng)前時(shí)刻的時(shí)鐘源包含在可用時(shí)鐘源中,則確定當(dāng)前時(shí)刻的時(shí)鐘源當(dāng)前所提供的的時(shí)間信息與第二時(shí)間之間的差值是否大于第二閾值,若當(dāng)前時(shí)刻的時(shí)鐘源的時(shí)間信息與第二時(shí)間之間的差值大于第二閾值,則根據(jù)可用時(shí)鐘源的優(yōu)先級(jí),重新選擇下一時(shí)刻的時(shí)鐘源,否則,保持當(dāng)前時(shí)刻的時(shí)鐘源不變。
下面通過兩個(gè)具體的例子對(duì)可用時(shí)鐘源中包含本地的時(shí)鐘源時(shí),如何確定本地的時(shí)鐘源進(jìn)行詳細(xì)的解釋說明。
例一
假設(shè)存在三個(gè)時(shí)鐘源分別為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且GPS時(shí)鐘源的優(yōu)先級(jí)最高,北斗時(shí)鐘源的優(yōu)先級(jí)次之,TOD時(shí)鐘源的優(yōu)先級(jí)最低,其中,GPS時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源,即設(shè)備當(dāng)前時(shí)刻使用GPS時(shí)鐘源作為時(shí)鐘源提供基準(zhǔn)時(shí)間。
假設(shè)設(shè)備當(dāng)前時(shí)刻的GPS時(shí)鐘源提供的基準(zhǔn)時(shí)間為10時(shí)10分10秒0毫秒0微秒0納秒,并假設(shè)第一閾值為30ns,第二閾值為10ns。
進(jìn)一步假設(shè)此時(shí)接收到的有效時(shí)鐘源為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且測量北斗時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分10秒0毫秒0微秒05納秒;測量GPS時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分10秒0毫秒0微秒9納秒;測量TOD時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分10秒10毫秒10微秒15納秒。然后,將測量北斗時(shí)鐘源所得到的時(shí)間信息10時(shí)10分10秒0毫秒0微秒05納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間10時(shí)10分10秒0毫秒0微秒0納秒求差,得到5ns,由于5ns小于第一閾值30ns,因此,將北斗時(shí)鐘源作為可用時(shí)鐘源。
將測量GPS時(shí)鐘源所得到的時(shí)間信息10時(shí)10分10秒0毫秒0微秒9納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間10時(shí)10分10秒0毫秒0微秒0納秒求差,得到9ns,由于9ns小于第一閾值30ns,因此,將GPS時(shí)鐘源作為可用時(shí)鐘源。
將測量TOD時(shí)鐘源所得到的時(shí)間信息10時(shí)10分10秒0毫秒0微秒15納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間10時(shí)10分10秒0毫秒0微秒0納秒求差,得到15ns,由于15ns小于第一閾值30ns,因此,將TOD時(shí)鐘源作為可用時(shí)鐘源。
至此,已確定三個(gè)可用時(shí)鐘源為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且這三個(gè)可用時(shí)鐘源中包含有本地的時(shí)鐘源GPS時(shí)鐘源。
進(jìn)一步假設(shè)在設(shè)備的基準(zhǔn)時(shí)間為10時(shí)10分10秒0毫秒0微秒0納秒以后的下一秒,設(shè)備當(dāng)前的基準(zhǔn)時(shí)間變?yōu)?0時(shí)10分11秒0毫秒0微秒0納秒,并假設(shè)接收到的可用時(shí)鐘源為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且測量北斗時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒0毫秒0微秒11納秒;測量GPS時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒0毫秒0微秒8納秒;測量TOD時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒10毫秒10微秒20納秒,
由于在設(shè)備基準(zhǔn)時(shí)間為10時(shí)10分10秒0毫秒0微秒0納秒時(shí),測量GPS時(shí)鐘源得到的時(shí)間信息為10時(shí)10分11秒0毫秒0微秒5納秒,而在設(shè)備的基準(zhǔn)時(shí)間為10時(shí)10分10秒0毫秒0微秒0納秒以后的下一秒即在設(shè)備基準(zhǔn)時(shí)間為10時(shí)10分11秒0毫秒0微秒0納秒時(shí),測量GPS時(shí)鐘源得到的時(shí)間信息為10時(shí)10分11秒0毫秒0微秒8納秒,因此,GPS時(shí)鐘源在選定時(shí)刻的時(shí)間信息與選定時(shí)刻的后一秒的時(shí)間信息之間差值為3ns,而3ns小于第二閾值10ns,因此,可將GPS時(shí)鐘源繼續(xù)作為當(dāng)前時(shí)刻的時(shí)鐘源,即保持當(dāng)前時(shí)刻的時(shí)鐘源不變。
例二
假設(shè)存在三個(gè)時(shí)鐘源分別為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且GPS時(shí)鐘源的優(yōu)先級(jí)最高,北斗時(shí)鐘源的優(yōu)先級(jí)次之,TOD時(shí)鐘源的優(yōu)先級(jí)最低,其中,GPS時(shí)鐘源作為本地的時(shí)鐘源。
假設(shè)設(shè)備當(dāng)前的基準(zhǔn)時(shí)間為10時(shí)10分11秒0毫秒0微秒0納秒,并假設(shè)第一閾值為30ns,第二閾值為10ns。
進(jìn)一步假設(shè)此時(shí)接收到的有效時(shí)鐘源為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且測量北斗時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒0毫秒0微秒011納秒;測量GPS時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒0毫秒0微秒8納秒;測量TOD時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒0毫秒0微秒20納秒。
然后將測量北斗時(shí)鐘源得到的時(shí)間信息10時(shí)10分11秒0毫秒0微秒011納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間10時(shí)10分11秒0毫秒0微秒0納秒求差,得到11ns,由于11ns小于第一閾值30ns,因此,將北斗時(shí)鐘源作為可用時(shí)鐘源。
將測量GPS時(shí)鐘源所得到的時(shí)間信息10時(shí)10分11秒0毫秒0微秒8納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間10時(shí)10分11秒0毫秒0微秒0納秒求差,得到8ns,由于8ns小于第一閾值30ns,因此,將GPS時(shí)鐘源作為可用時(shí)鐘源。
將測量TOD時(shí)鐘源所得到的時(shí)間信息為:10時(shí)10分11秒0毫秒0微秒20納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間10時(shí)10分11秒0毫秒0微秒0納秒求差,得到2011ns,由于2011ns小于第一閾值30ns,因此,將TOD時(shí)鐘源作為可用時(shí)鐘源。
至此,已確定三個(gè)可用時(shí)鐘源為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且這三個(gè)可用時(shí)鐘源中包含有本地的時(shí)鐘源GPS時(shí)鐘源。
進(jìn)一步假設(shè)在設(shè)備的基準(zhǔn)時(shí)間為10時(shí)10分11秒0毫秒0微秒0納秒以后的下一秒設(shè)備當(dāng)前的基準(zhǔn)時(shí)間變?yōu)?0時(shí)10分12秒0毫秒0微秒0納秒,并假設(shè)接收到的可用時(shí)鐘源為北斗時(shí)鐘源、GPS時(shí)鐘源、TOD時(shí)鐘源,并且測量北斗時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分12秒0毫秒0微秒5納秒;測量GPS時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒0毫秒0微秒22納秒;測量TOD時(shí)鐘源得到的時(shí)間信息為:10時(shí)10分11秒10毫秒10微秒9納秒,
由于在10時(shí)10分11秒0毫秒0微秒0納秒時(shí),測量GPS時(shí)鐘源得到的時(shí)間信息為10時(shí)10分11秒0毫秒0微秒8納秒,而在10時(shí)10分12秒0毫秒0微秒0納秒時(shí),測量GPS時(shí)鐘源得到的時(shí)間信息為10時(shí)10分12秒0毫秒0微秒22納秒,因此,GPS時(shí)鐘源在選定時(shí)刻的時(shí)間信息與設(shè)備的基準(zhǔn)時(shí)間為10時(shí)10分11秒0毫秒0微秒0納秒以后的下一秒的時(shí)間信息之間差值為14ns,而14ns大于第二閾值10ns,因此,不可以將GPS時(shí)鐘源繼續(xù)作為當(dāng)前時(shí)刻的時(shí)鐘源,而需要從剩余的可用時(shí)鐘源即從北斗時(shí)鐘源與TOD時(shí)鐘源中選出當(dāng)前時(shí)刻的時(shí)鐘源,而又由于北斗時(shí)鐘源的優(yōu)先級(jí)高于TOD時(shí)鐘源的優(yōu)先級(jí),因此,可選擇北斗時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源,即將當(dāng)前時(shí)刻的時(shí)鐘源從GPS時(shí)鐘源切換至北斗時(shí)鐘源。
情況二:可用時(shí)鐘源中未包含本地源。
若本地的時(shí)鐘源未包含在可用時(shí)鐘源中,則根據(jù)可用時(shí)鐘源的優(yōu)先級(jí),重新確定本地的時(shí)鐘源。
下面通過一個(gè)具體的例子對(duì)可用時(shí)鐘源中未包含本地的時(shí)鐘源時(shí),如何確定本地的時(shí)鐘源進(jìn)行詳細(xì)的解釋說明。
假設(shè)存在三個(gè)時(shí)鐘源分別IRIG-B(Inter Range Instrumentation Group,美國靶場儀器組)時(shí)鐘源、PTP(Precision Time Protocol,精確時(shí)間協(xié)議)時(shí)鐘源、NTP(Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議)時(shí)鐘源,并且IRIG-B時(shí)鐘源的優(yōu)先級(jí)最高,PTP時(shí)鐘源的優(yōu)先級(jí)次之,NTP時(shí)鐘源的優(yōu)先級(jí)最低,其中,IRIG-B時(shí)鐘源作為當(dāng)前時(shí)刻本地的時(shí)鐘源,即設(shè)備當(dāng)前時(shí)刻使用IRIG-B時(shí)鐘源作為時(shí)鐘源提供基準(zhǔn)時(shí)間。。
假設(shè)設(shè)備當(dāng)前的基準(zhǔn)時(shí)間為11時(shí)11分11秒11毫秒11微秒11納秒,并假設(shè)第一閾值為5ns。
進(jìn)一步假設(shè)此時(shí)接收到的有效時(shí)鐘源為IRIG-B時(shí)鐘源、PTP時(shí)鐘源、NTP時(shí)鐘源,并且測量IRIG-B時(shí)鐘源得到的時(shí)間信息為:11時(shí)11分11秒11毫秒11微秒18納秒;測量PTP時(shí)鐘源得到的時(shí)間信息為:11時(shí)11分11秒11毫秒11微秒15納秒;測量NTP時(shí)鐘源得到的時(shí)間信息為:11時(shí)11分11秒11毫秒11微秒10納秒。
然后,將測量到的IRIG-B時(shí)鐘源得到的時(shí)間信息11時(shí)11分11秒11毫秒11微秒18納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間11時(shí)11分11秒11毫秒11微秒11納秒求差,得到7ns,由于7ns大于第一閾值5ns,因此,IRIG-B時(shí)鐘源為不可用時(shí)鐘源,即本地的時(shí)鐘源在這個(gè)周期中為不可用時(shí)鐘源。
將測量PTP時(shí)鐘源所得到的時(shí)間信息11時(shí)11分11秒11毫秒11微秒15納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間11時(shí)11分11秒11毫秒11微秒11納秒求差,得到4ns,由于4ns小于第一閾值5ns,因此,PTP時(shí)鐘源為可用時(shí)鐘源。
將測量NTP時(shí)鐘源所得到的時(shí)間信息11時(shí)11分11秒11毫秒11微秒10納秒與設(shè)備當(dāng)前的基準(zhǔn)時(shí)間11時(shí)11分11秒11毫秒11微秒11納秒求差,得到1ns,由于1ns小于第一閾值5ns,因此,NTP時(shí)鐘源為可用時(shí)鐘源。
至此,確定出兩個(gè)可用時(shí)鐘源為PTP時(shí)鐘源和NTP時(shí)鐘源,而由于當(dāng)前時(shí)刻的時(shí)鐘源IRIG-B時(shí)鐘源,并且IRIG-B時(shí)鐘源為不可用時(shí)鐘源,因此,需對(duì)當(dāng)前時(shí)刻的時(shí)鐘源進(jìn)行切換,又由于PTP時(shí)鐘源的優(yōu)先級(jí)高于NTP時(shí)鐘源的優(yōu)先級(jí),因此,將PTP時(shí)鐘源作為當(dāng)前時(shí)刻的時(shí)鐘源,即將當(dāng)前時(shí)刻的時(shí)鐘源從IRIG-B時(shí)鐘源切換至PTP時(shí)鐘源。
根據(jù)以上內(nèi)容可以看出,本發(fā)明實(shí)施例在選擇本地的時(shí)鐘源時(shí),首先判斷出有效時(shí)鐘源,然后將有效時(shí)鐘源的第一時(shí)間分別與第二時(shí)間進(jìn)行比較,并在有效時(shí)鐘源的第一時(shí)間分別與第二時(shí)間之間的差值小于第一閾值時(shí),方可將該有效時(shí)鐘源確定為可用時(shí)鐘源,然后從可用時(shí)鐘源中確定下一時(shí)刻的時(shí)鐘源,由于將有效時(shí)鐘源的第一時(shí)間與第二時(shí)間進(jìn)行結(jié)合判斷,即將有效時(shí)鐘源的第一時(shí)間與時(shí)鐘服務(wù)器當(dāng)前的內(nèi)部基準(zhǔn)時(shí)間建立關(guān)聯(lián),并不是僅僅基于時(shí)鐘信號(hào)的質(zhì)量選擇本地的時(shí)鐘源,因此,能夠提高時(shí)鐘服務(wù)器內(nèi)部基準(zhǔn)參考時(shí)間的準(zhǔn)確度。
基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供一種時(shí)鐘服務(wù)器,如圖3所示,該時(shí)鐘服務(wù)器可包括:
解碼模塊301,用于對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼;
確定模塊302,用于從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源;
還用于針對(duì)每個(gè)第一有效時(shí)鐘源,確定第一時(shí)間與第二時(shí)間的差值,所述第一時(shí)間為所述第一有效時(shí)鐘源時(shí)間,所述第二時(shí)間為設(shè)備當(dāng)前的基準(zhǔn)時(shí)間,所述設(shè)備當(dāng)前使用的時(shí)鐘源為所述多個(gè)時(shí)鐘源中的一個(gè);
還用于將所述第一時(shí)間與所述第二時(shí)間之間的差值小于第一閾值的第一有效時(shí)鐘源確定為可用時(shí)鐘源;
選擇模塊303,用于從所述可用時(shí)鐘源中確定所述本地的時(shí)鐘源。
較佳的,選擇模塊303,具體用于:
在所述本地的時(shí)鐘源包含在所述可用時(shí)鐘源中時(shí),確定所述本地的時(shí)鐘源與所述第二時(shí)間的時(shí)間差是否大于第二閾值,若是,則根據(jù)所述可用時(shí)鐘源的優(yōu)先級(jí),重新確定本地的時(shí)鐘源;否則,則保持本地的時(shí)鐘源不變。
較佳的,選擇模塊303,還用于:
在本地的時(shí)鐘源未包含在所述可用時(shí)鐘源中時(shí),則根據(jù)所述可用時(shí)鐘源的優(yōu)先級(jí),重新確定本地的時(shí)鐘源。
較佳的,通過以下方式在初始化時(shí)確定所述本地的時(shí)鐘源:
將接收到的多個(gè)有效的第二有效時(shí)鐘源所對(duì)應(yīng)的時(shí)間進(jìn)行兩兩求差,并確定時(shí)間差值最小的兩個(gè)第二有效時(shí)鐘源;
確定所述兩個(gè)第二有效時(shí)鐘源的優(yōu)先級(jí);
將所述兩個(gè)時(shí)鐘源中優(yōu)先級(jí)較高的第二有效時(shí)鐘源作為本地的時(shí)鐘源。
較佳的,確定模塊302,具體用于:
分別測量所述解碼成功的時(shí)鐘源中的每個(gè)時(shí)鐘源的第三時(shí)間與第四時(shí)間,所述第三時(shí)間為時(shí)鐘源在選定時(shí)刻的時(shí)間,第四時(shí)間為時(shí)鐘源在所述選定時(shí)刻的后一時(shí)刻的時(shí)間;
將所述第三時(shí)間與所述第四時(shí)間之間的差值小于第三閾值的時(shí)鐘源,判定為第一有效時(shí)鐘源。
綜上,本發(fā)明實(shí)施例提供的一種時(shí)鐘源的選擇方法和時(shí)鐘服務(wù)器,包括:對(duì)接收到的多個(gè)時(shí)鐘源的時(shí)鐘信號(hào)進(jìn)行解碼;從解碼成功的時(shí)鐘源中確定第一有效時(shí)鐘源;針對(duì)每個(gè)第一有效時(shí)鐘源,確定所述第一有效時(shí)鐘源的第一時(shí)間與本地的第二時(shí)間之間的差值,所述第二時(shí)間為設(shè)備當(dāng)前的基準(zhǔn)時(shí)間,本地的時(shí)鐘源為所述多個(gè)時(shí)鐘源中的一個(gè);將所述第一時(shí)間與所述第二時(shí)間之間的差值小于第一閾值的第一有效時(shí)鐘源確定為可用時(shí)鐘源;從所述可用時(shí)鐘源中確定下一時(shí)刻的時(shí)鐘源,可以看出,本發(fā)明實(shí)施例在選擇下一時(shí)刻的時(shí)鐘源時(shí),首先判斷出有效時(shí)鐘源,然后將有效時(shí)鐘源的第一時(shí)間分別與第二時(shí)間進(jìn)行比較,并在有效時(shí)鐘源的第一時(shí)間分別與第二時(shí)間之間的差值小于第一閾值時(shí),方可將該有效時(shí)鐘源確定為可用時(shí)鐘源,然后從可用時(shí)鐘源中確定下一時(shí)刻的時(shí)鐘源,由于將有效時(shí)鐘源的第一時(shí)間與第二時(shí)間進(jìn)行結(jié)合判斷,即將有效時(shí)鐘源的第一時(shí)間與時(shí)鐘服務(wù)器當(dāng)前的內(nèi)部基準(zhǔn)時(shí)間建立關(guān)聯(lián),并不是僅僅基于時(shí)鐘信號(hào)的質(zhì)量選擇本地的時(shí)鐘源,因此,能夠提高時(shí)鐘服務(wù)器內(nèi)部基準(zhǔn)參考時(shí)間的準(zhǔn)確度。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。