專利名稱:一種終端時(shí)鐘與外部時(shí)鐘的差距同步方法
技術(shù)領(lǐng)域:
本發(fā)明屬于移動(dòng)多媒體廣播領(lǐng)域,具體涉及一種終端時(shí)鐘與外部時(shí)鐘的差距同步方法。
背景技術(shù):
移動(dòng)多媒體廣播終端的本機(jī)時(shí)鐘需要足夠準(zhǔn)確才能按照推送業(yè)務(wù)指南(PSG)中的播發(fā)時(shí)刻打開(kāi)接收通道進(jìn)行數(shù)據(jù)接收。而常見(jiàn)終端的本機(jī)時(shí)鐘沒(méi)有有機(jī)地利用移動(dòng)多媒體廣播中傳遞的外部時(shí)鐘,存在著自動(dòng)化程度不高、通用性差等弊病,并且在將本機(jī)時(shí)鐘同步于外部時(shí)鐘后,也把終端用戶原先的時(shí)間記憶強(qiáng)制改變,造成用戶不愿采用外部時(shí)鐘同步的矛盾,導(dǎo)致終端在接收推送數(shù)據(jù)時(shí)存在少收或收不到文件的情況。
發(fā)明內(nèi)容
為克服上述缺陷,本發(fā)明提供了一種終端時(shí)鐘與外部時(shí)鐘的差距同步方法,不依賴用戶個(gè)人設(shè)定的時(shí)間打開(kāi)和關(guān)閉終端接收通道,從而確保了終端接收時(shí)間與前端播發(fā)外部時(shí)鐘的精準(zhǔn)一致,確保推送數(shù)據(jù)的完整接收。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種終端時(shí)鐘與外部時(shí)鐘的差距同步方法,其改進(jìn)之處在于,所述方法包括如下步驟所述方法包括如下步驟(1).獲取外部時(shí)鐘TSO時(shí)間;O).轉(zhuǎn)換外部時(shí)鐘時(shí)間類型;(3).獲取本地時(shí)間偏移量;計(jì)算當(dāng)?shù)貢r(shí)區(qū)時(shí)間;(5).計(jì)算并保存時(shí)間差值。 本發(fā)明提供的優(yōu)選技術(shù)方案中,在所述步驟1中,所述獲取外部時(shí)鐘TSO時(shí)間是從復(fù)用幀0的控制信息表的網(wǎng)絡(luò)信息表NIT得到系統(tǒng)時(shí)間。本發(fā)明提供的第二優(yōu)選技術(shù)方案中,在所述步驟2中,轉(zhuǎn)換所述進(jìn)行外部時(shí)鐘時(shí)間類型用于將系統(tǒng)時(shí)間轉(zhuǎn)換為UTC時(shí)間。本發(fā)明提供的第三優(yōu)選技術(shù)方案中,在所述步驟3中,所述獲取本地時(shí)間的偏移量的方式包括電子業(yè)務(wù)指南(ESG)本地時(shí)間偏移獲取方式或者推送業(yè)務(wù)指南(PSG)本地時(shí)間偏移獲取方式。本發(fā)明提供的第四優(yōu)選技術(shù)方案中,所述電子業(yè)務(wù)指南(ESG)本地時(shí)間偏移獲取方式包括從復(fù)用幀0的控制信息表的ESG基本描述表中得到本地時(shí)間偏移量。本發(fā)明提供的第五優(yōu)選技術(shù)方案中,所述推送業(yè)務(wù)指南(PSG)本地時(shí)間偏移獲取方式包括從PSG中得到本地時(shí)間偏移量。本發(fā)明提供的第六優(yōu)選技術(shù)方案中,在所述步驟4中,通過(guò)TSO時(shí)間和本地時(shí)間偏移量計(jì)算出當(dāng)?shù)貢r(shí)區(qū)時(shí)間。
本發(fā)明提供的第七優(yōu)選技術(shù)方案中,所述計(jì)算當(dāng)?shù)貢r(shí)區(qū)時(shí)間包括將所在地區(qū)的時(shí)間與UTC時(shí)間進(jìn)行比較進(jìn)而確定當(dāng)?shù)貢r(shí)區(qū)時(shí)間=UTC時(shí)間+時(shí)間偏移量或當(dāng)?shù)貢r(shí)區(qū)時(shí)間= UTC時(shí)間-時(shí)間偏移量。本發(fā)明提供的第八優(yōu)選技術(shù)方案中,在所述步驟5中,所述計(jì)算并保存時(shí)間差值, 包括獲取終端本機(jī)時(shí)間,計(jì)算終端本機(jī)時(shí)間與當(dāng)?shù)貢r(shí)區(qū)時(shí)間的差值,作為同步時(shí)間差距值, 并將該差值存儲(chǔ)到終端的數(shù)據(jù)庫(kù)中。本發(fā)明提供的第九優(yōu)選技術(shù)方案中,完成所述步驟5后更新時(shí)間差值。本發(fā)明提供的第十優(yōu)選技術(shù)方案中,在所述步驟6中,所述進(jìn)行時(shí)間差值更新,是指在終端開(kāi)機(jī)、本機(jī)時(shí)間調(diào)整、PSG解析以及任何需要時(shí)間同步的情況下,重新讀取和換算本地時(shí)間、并記錄當(dāng)時(shí)該時(shí)間與本機(jī)時(shí)間的差值,實(shí)現(xiàn)時(shí)間差值的更新。與現(xiàn)有技術(shù)比,本發(fā)明提供的一種終端時(shí)鐘與外部時(shí)鐘的差距同步方法,不依賴用戶個(gè)人設(shè)定的時(shí)間打開(kāi)和關(guān)閉終端接收通道,從而確保了終端接收時(shí)間與前端播發(fā)外部時(shí)鐘的精準(zhǔn)一致,確保推送數(shù)據(jù)的完整接收。并且不將本機(jī)時(shí)鐘強(qiáng)制同步而保留用戶原先的時(shí)間記憶,在保證用戶獲得良好體驗(yàn)的同時(shí),在關(guān)閉CMMB解調(diào)模塊后終端仍可用本機(jī)時(shí)鐘保持高精度的差距時(shí)間同步,作為推送的啟動(dòng)時(shí)刻基準(zhǔn)。用于多時(shí)間體系下的時(shí)刻控制。
圖1為利用ESG獲取本地時(shí)間偏移的時(shí)鐘同步流程圖。圖2為利用PSG獲取本地時(shí)間偏移的時(shí)鐘同步流程圖。圖3為預(yù)置方式的時(shí)鐘同步流程圖。
具體實(shí)施例方式實(shí)施例1、一種利用ESG獲取本地時(shí)間偏移的時(shí)鐘同步方法,如圖1所示。具體的時(shí)鐘同步步驟如下步驟101,終端開(kāi)機(jī)同時(shí)獲取復(fù)用幀0的數(shù)據(jù)。步驟102,從復(fù)用幀0中獲取控制信息表的網(wǎng)絡(luò)信息表NIT。步驟103,對(duì)網(wǎng)絡(luò)信息表NIT進(jìn)行解析并提取“系統(tǒng)時(shí)間”字段。步驟104,對(duì)系統(tǒng)時(shí)間進(jìn)行解析和格式轉(zhuǎn)換,從而得到UTC時(shí)間,包括MJD日期轉(zhuǎn)換和BCD編碼時(shí)間提取。MJD日期轉(zhuǎn)換將系統(tǒng)時(shí)間中前16位定義的MJD日期碼通過(guò)計(jì)算得到UTC時(shí)間的年、月、日;BCD編碼時(shí)間提取通過(guò)系統(tǒng)時(shí)間中后M位定義的BCD編碼提取出時(shí)、分、秒。步驟105,讀取并解析網(wǎng)絡(luò)信息表之后,立刻找到復(fù)用幀0的ESG基本描述表。步驟106,從ESG基本描述表中提取本地時(shí)間偏移字段的數(shù)據(jù)。6位字段其中后5 位表示時(shí)間偏移量,取值范圍0 24,單位為0. 5小時(shí)。例如時(shí)區(qū)值為“010000”,表示時(shí)差為8小時(shí)。步驟107,本地時(shí)間偏移,6字段其中第1位表示時(shí)區(qū)極性,判斷時(shí)區(qū)極性為‘0’或 ‘1’,當(dāng)為‘0’時(shí),則表示本地時(shí)間早于UTC時(shí)間,當(dāng)置‘1’時(shí),表示本地時(shí)間晚于UTC時(shí)間。步驟108,如果本地時(shí)間早于UTC時(shí)間,則當(dāng)?shù)貢r(shí)區(qū)時(shí)間=UTC時(shí)間+時(shí)間偏移量。 例如UTC時(shí)間是2011年6月6日10時(shí)11分12秒,本地時(shí)間偏移量是+8小時(shí),則當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6日18時(shí)11分12秒。步驟109,如果本地時(shí)間晚于UTC時(shí)間,則當(dāng)?shù)貢r(shí)區(qū)時(shí)間=UTC時(shí)間-時(shí)間偏移量。 例如UTC時(shí)間是2011年6月6日10時(shí)11分12秒,本地時(shí)間偏移量是_8小時(shí),則當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6日2時(shí)11分12秒。步驟110,獲取終端本機(jī)時(shí)間。步驟111,計(jì)算終端本機(jī)時(shí)間與上述當(dāng)?shù)貢r(shí)區(qū)時(shí)間的差值,作為同步時(shí)間差距值。 例如,終端本機(jī)時(shí)間為2011年6月6日18時(shí)14分17秒,當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6 日18時(shí)11分12秒,則差值為3分鐘5秒。步驟112,將差值存儲(chǔ)到終端數(shù)據(jù)庫(kù)中。實(shí)施例2、一種利用PS6獲取本地時(shí)間偏移的時(shí)鐘同步方法,如圖2所示。具體的時(shí)鐘同步步驟如下步驟201,終端開(kāi)機(jī)同時(shí)獲取復(fù)用幀0的數(shù)據(jù)。步驟202,從復(fù)用幀0中獲取控制信息表的網(wǎng)絡(luò)信息表NIT。步驟203,對(duì)網(wǎng)絡(luò)信息表NIT進(jìn)行解析并提取“系統(tǒng)時(shí)間”字段。步驟204,對(duì)系統(tǒng)時(shí)間進(jìn)行解析和格式轉(zhuǎn)換,從而得到UTC時(shí)間,包括MJD日期轉(zhuǎn)換和BCD編碼時(shí)間提取。MJD日期轉(zhuǎn)換將系統(tǒng)時(shí)間中前16位定義的MJD日期碼通過(guò)計(jì)算得到UTC時(shí)間的年、月、日;BCD編碼時(shí)間提取通過(guò)系統(tǒng)時(shí)間中后M位定義的BCD編碼提取出時(shí)、分、秒。步驟205,讀取并解析網(wǎng)絡(luò)信息表之后,立刻通過(guò)CMMB數(shù)據(jù)廣播網(wǎng)絡(luò)接收 ServiceID = = 8000 上的 PSG 信息,包括 ContentClassification. xml, ContentSchedule. xml 禾口 ContentAttribute. xml。步驟206,解析ContentSchedule. xml文件,獲取本地時(shí)間偏移值。6位字段其中后5位表示時(shí)間偏移量,取值范圍0 24,單位為0. 5小時(shí)。例如時(shí)區(qū)值為“010000”,表示時(shí)差為8小時(shí)。步驟207,本地時(shí)間偏移,6字段其中第1位表示時(shí)區(qū)極性,判斷時(shí)區(qū)極性為‘0’或 ‘1’,當(dāng)為‘0’時(shí),則表示本地時(shí)間早于UTC時(shí)間,當(dāng)置‘1’時(shí),表示本地時(shí)間晚于UTC時(shí)間。步驟208,如果本地時(shí)間早于UTC時(shí)間,則當(dāng)?shù)貢r(shí)區(qū)時(shí)間=UTC時(shí)間+時(shí)間偏移量。 例如UTC時(shí)間是2011年6月6日10時(shí)11分12秒,本地時(shí)間偏移量是+8小時(shí),則當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6日18時(shí)11分12秒。步驟209,如果本地時(shí)間晚于UTC時(shí)間,則當(dāng)?shù)貢r(shí)區(qū)時(shí)間=UTC時(shí)間-時(shí)間偏移量。 例如UTC時(shí)間是2011年6月6日10時(shí)11分12秒,本地時(shí)間偏移量是_8小時(shí),則當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6日2時(shí)11分12秒。步驟210,獲取終端本機(jī)時(shí)間。步驟211,計(jì)算終端本機(jī)時(shí)間與上述當(dāng)?shù)貢r(shí)區(qū)時(shí)間的差值,作為同步時(shí)間差距值。 例如,終端本機(jī)時(shí)間為2011年6月6日18時(shí)14分17秒,當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6 日18時(shí)11分12秒,則差值為3分鐘5秒。步驟212,將差值存儲(chǔ)到終端數(shù)據(jù)庫(kù)中。實(shí)施例3、一種預(yù)置方式的時(shí)鐘同步方法,如圖3所示。具體的時(shí)鐘同步步驟如下步驟301,終端開(kāi)機(jī)同時(shí)獲取復(fù)用幀0的數(shù)據(jù)。
步驟302,從復(fù)用幀0中獲取控制信息表的網(wǎng)絡(luò)信息表NIT。步驟303,對(duì)網(wǎng)絡(luò)信息表NIT進(jìn)行解析并提取“系統(tǒng)時(shí)間”字段。步驟304,對(duì)系統(tǒng)時(shí)間進(jìn)行解析和格式轉(zhuǎn)換,從而得到UTC時(shí)間,包括MJD日期轉(zhuǎn)換和BCD編碼時(shí)間提取。MJD日期轉(zhuǎn)換將系統(tǒng)時(shí)間中前16位定義的MJD日期碼通過(guò)計(jì)算得到UTC時(shí)間的年、月、日;BCD編碼時(shí)間提取通過(guò)系統(tǒng)時(shí)間中后M位定義的BCD編碼提取出時(shí)、分、秒。步驟305,預(yù)置本地時(shí)間偏移值,即特定地區(qū)時(shí)區(qū)標(biāo)準(zhǔn)時(shí)間與UTC時(shí)間差值(若早則為正,晚則為負(fù))。例如北京時(shí)間與UTC時(shí)間差值為+8,如果UTC時(shí)間是2011年6月6 日10時(shí)11分12秒,則當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6日18時(shí)11分12秒。步驟306,計(jì)算當(dāng)?shù)貢r(shí)區(qū)時(shí)間為UTC時(shí)間+時(shí)間偏移量。步驟307,獲取終端本機(jī)時(shí)間。步驟308,計(jì)算終端本機(jī)時(shí)間與上述當(dāng)?shù)貢r(shí)區(qū)時(shí)間的差值,作為同步時(shí)間差距值。 例如,終端本機(jī)時(shí)間為2011年6月6日18時(shí)14分17秒,當(dāng)?shù)貢r(shí)區(qū)時(shí)間為2011年6月6 日18時(shí)11分12秒,則差值為3分鐘5秒。步驟309,將差值存儲(chǔ)到終端數(shù)據(jù)庫(kù)中。本發(fā)明的方法,不依賴用戶個(gè)人設(shè)定的時(shí)間打開(kāi)和關(guān)閉終端接收通道,從而不將本機(jī)時(shí)鐘強(qiáng)制同步而保留用戶原先的時(shí)間記憶,在保證用戶獲得良好體驗(yàn)的同時(shí),在關(guān)閉 CMMB解調(diào)模塊后終端仍可用本機(jī)時(shí)鐘保持高精度的差距時(shí)間同步,作為推送的啟動(dòng)時(shí)刻基準(zhǔn)??捎糜诙鄷r(shí)間體系下的時(shí)刻控制。需要聲明的是,本發(fā)明內(nèi)容及具體實(shí)施方式
意在證明本發(fā)明所提供技術(shù)方案的實(shí)際應(yīng)用,不應(yīng)解釋為對(duì)本發(fā)明保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員在本發(fā)明的精神和原理啟發(fā)下,可作各種修改、等同替換、或改進(jìn)。但這些變更或修改均在申請(qǐng)待批的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種終端時(shí)鐘與外部時(shí)鐘的差距同步方法,其特征在于,所述方法包括如下步驟(1).獲取外部時(shí)鐘TSO時(shí)間;(2).轉(zhuǎn)換外部時(shí)鐘時(shí)間類型;(3).獲取本地時(shí)間偏移量;(4).計(jì)算當(dāng)?shù)貢r(shí)區(qū)時(shí)間;(5).計(jì)算并保存時(shí)間差值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟1中,所述獲取外部時(shí)鐘TSO時(shí)間是從復(fù)用幀0的控制信息表的網(wǎng)絡(luò)信息表NIT得到系統(tǒng)時(shí)間。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟2中,轉(zhuǎn)換所述進(jìn)行外部時(shí)鐘時(shí)間類型用于將系統(tǒng)時(shí)間轉(zhuǎn)換為UTC時(shí)間。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟3中,所述獲取本地時(shí)間的偏移量的方式包括電子業(yè)務(wù)指南(ESG)本地時(shí)間偏移獲取方式或者推送業(yè)務(wù)指南(PSG)本地時(shí)間偏移獲取方式。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述電子業(yè)務(wù)指南(ESG)本地時(shí)間偏移獲取方式包括從復(fù)用幀0的控制信息表的ESG基本描述表中得到本地時(shí)間偏移量。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述推送業(yè)務(wù)指南(PSG)本地時(shí)間偏移獲取方式包括從PSG中得到本地時(shí)間偏移量。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟4中,通過(guò)TSO時(shí)間和本地時(shí)間偏移量計(jì)算出當(dāng)?shù)貢r(shí)區(qū)時(shí)間。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述計(jì)算當(dāng)?shù)貢r(shí)區(qū)時(shí)間包括將所在地區(qū)的時(shí)間與UTC時(shí)間進(jìn)行比較進(jìn)而確定當(dāng)?shù)貢r(shí)區(qū)時(shí)間=UTC時(shí)間+時(shí)間偏移量或當(dāng)?shù)貢r(shí)區(qū)時(shí)間=UTC時(shí)間-時(shí)間偏移量。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟5中,所述計(jì)算并保存時(shí)間差值,包括獲取終端本機(jī)時(shí)間,計(jì)算終端本機(jī)時(shí)間與當(dāng)?shù)貢r(shí)區(qū)時(shí)間的差值,作為同步時(shí)間差距值,并將該差值存儲(chǔ)到終端的數(shù)據(jù)庫(kù)中。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,完成所述步驟5后更新時(shí)間差值。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,在所述步驟6中,所述進(jìn)行時(shí)間差值更新,是指在終端開(kāi)機(jī)、本機(jī)時(shí)間調(diào)整、PSG解析以及任何需要時(shí)間同步的情況下,重新讀取和換算本地時(shí)間、并記錄當(dāng)時(shí)該時(shí)間與本機(jī)時(shí)間的差值,實(shí)現(xiàn)時(shí)間差值的更新。
全文摘要
本發(fā)明提供了一種終端時(shí)鐘與外部時(shí)鐘的差距同步方法,終端在開(kāi)機(jī)獲取TSO系統(tǒng)時(shí)間字段獲取UTC標(biāo)準(zhǔn)時(shí)間后立即讀取PSG表并獲取其中的時(shí)區(qū)差數(shù)據(jù),在有些場(chǎng)合可獲取ESG表里的時(shí)區(qū)差數(shù)據(jù),以此時(shí)區(qū)差數(shù)據(jù)與UTC數(shù)據(jù)合成為當(dāng)?shù)貢r(shí)間;然后取得該時(shí)間與本機(jī)時(shí)鐘的差值作為同步時(shí)間差距值;本發(fā)明提供的終端時(shí)鐘與外部時(shí)鐘的差距同步方法,不必將本機(jī)時(shí)鐘強(qiáng)制同步而保留用戶原先的時(shí)間記憶,從而在關(guān)閉CMMB解調(diào)模塊后終端仍可用本機(jī)時(shí)鐘保持高精度的差距時(shí)間同步,作為推送的啟動(dòng)時(shí)刻基準(zhǔn)。用于多時(shí)間體系下的時(shí)刻控制。
文檔編號(hào)H04W56/00GK102572711SQ20121001987
公開(kāi)日2012年7月11日 申請(qǐng)日期2012年1月21日 優(yōu)先權(quán)日2012年1月21日
發(fā)明者余英, 劉芳凝, 同瑛, 周紅君, 孫朝暉, 方宏, 朱劍鋒, 李艷銘, 蒲珂, 趙麗娜, 隋志國(guó) 申請(qǐng)人:中廣傳播集團(tuán)有限公司