Epg刷新方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電視技術(shù)領(lǐng)域,尤其涉及EPG刷新方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,通常使用EPG (Electronic Program Guide,電子節(jié)目菜單)來為電視提供各種業(yè)務(wù)的索引和導(dǎo)航,用戶通過EPG可以選擇自己喜歡的頻道,點播自己喜歡的節(jié)目,查找各種信息等。用戶進入到EPG界面后,可以通過遙控器按鍵控制焦點選中自己喜歡的節(jié)目,EPG將會加載該節(jié)目的詳細(xì)信息并顯示。但是,焦點切換和節(jié)目信息的獲取、加載顯示都由EPG的主線程負(fù)責(zé)處理,當(dāng)短時間內(nèi)用戶連續(xù)通過遙控器輸入焦點切換指令時,將會造成主線程處理阻塞,導(dǎo)致EPG刷新卡頓的問題。
[0003]上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種EPG刷新方法及系統(tǒng),旨在解決EPG刷新時的卡頓問題。
[0005]為實現(xiàn)上述目的,本發(fā)明提供的一種EPG刷新方法包括以下步驟:
[0006]當(dāng)主線程偵測到存在基于EPG的焦點切換指令時,所述主線程根據(jù)所述焦點切換指令切換焦點,并生成相應(yīng)的節(jié)目信息獲取請求;
[0007]所述主線程將所述節(jié)目信息獲取請求發(fā)送至線程控制器;
[0008]所述線程控制器根據(jù)所述節(jié)目信息獲取請求創(chuàng)建數(shù)據(jù)獲取子線程;
[0009]所述數(shù)據(jù)獲取子線程獲取對應(yīng)的節(jié)目信息,并將所述節(jié)目信息發(fā)送給主線程;
[0010]所述主線程根據(jù)接收到的所述節(jié)目信息刷新所述EPG。
[0011]優(yōu)選地,所述當(dāng)主線程偵測到存在基于EPG的焦點切換指令時,所述主線程根據(jù)所述焦點切換指令切換焦點,并生成相應(yīng)的節(jié)目信息獲取請求之前還包括:
[0012]當(dāng)所述EPG接收到用戶輸入的焦點切換指令時,所述主線程接收所述EPG發(fā)送的所述焦點切換指令。
[0013]優(yōu)選地,所述線程控制器根據(jù)所述節(jié)目信息獲取請求創(chuàng)建數(shù)據(jù)獲取子線程包括:
[0014]所述線程控制器判斷是否存在正在運行的數(shù)據(jù)獲取子線程;
[0015]當(dāng)存在正在運行的數(shù)據(jù)獲取子線程時,所述線程控制器終止正在運行的數(shù)據(jù)獲取子線程,并根據(jù)所述節(jié)目信息獲取請求創(chuàng)建新的數(shù)據(jù)獲取子線程。
[0016]優(yōu)選地,所述數(shù)據(jù)獲取子線程獲取對應(yīng)的節(jié)目信息包括:
[0017]所述數(shù)據(jù)獲取子線程將所述節(jié)目信息獲取請求發(fā)送至預(yù)置的信息服務(wù)器,以供所述信息服務(wù)器返回對應(yīng)的節(jié)目信息;
[0018]所述數(shù)據(jù)獲取子線程按預(yù)置規(guī)則轉(zhuǎn)換信息服務(wù)器返回節(jié)目信息的格式。
[0019]優(yōu)選地,所述主線程根據(jù)接收到的所述節(jié)目信息刷新所述EPG包括:
[0020]所述主線程中的句柄接收所述節(jié)目信息;
[0021]所述句柄根據(jù)所述節(jié)目信息在EPG界面顯示所述節(jié)目信息。
[0022]此外,為實現(xiàn)上述目的,本發(fā)明還提供一種EPG刷新系統(tǒng),包括主線程、線程控制器和數(shù)據(jù)獲取子線程;所述主線程包括主線程處理器,所述數(shù)據(jù)獲取子線程包括數(shù)據(jù)獲取子線程處理器;其中,
[0023]所述主線程處理器用于,當(dāng)偵測到存在基于EPG的焦點切換指令時,根據(jù)所述焦點切換指令切換焦點,并生成相應(yīng)的節(jié)目信息獲取請求;并將所述節(jié)目信息獲取請求發(fā)送至線程控制器;
[0024]所述線程控制器用于,根據(jù)所述節(jié)目信息獲取請求創(chuàng)建數(shù)據(jù)獲取子線程;
[0025]所述數(shù)據(jù)獲取子線程處理器用于,獲取對應(yīng)的節(jié)目信息,并將所述節(jié)目信息發(fā)送給主線程處理器;
[0026]所述主線程處理器還用于,根據(jù)接收到的所述節(jié)目信息刷新所述EPG。
[0027]優(yōu)選地,所述主線程處理器還用于,當(dāng)所述EPG接收到用戶輸入的焦點切換指令時,接收所述EPG發(fā)送的所述焦點切換指令。
[0028]優(yōu)選地,所述線程控制器具體用于,判斷是否存在正在運行的數(shù)據(jù)獲取子線程;當(dāng)存在正在運行的數(shù)據(jù)獲取子線程時,終止正在運行的數(shù)據(jù)獲取子線程,并根據(jù)所述節(jié)目信息獲取請求創(chuàng)建新的數(shù)據(jù)獲取子線程。
[0029]優(yōu)選地,所述數(shù)據(jù)獲取子線程處理器具體用于,將所述節(jié)目信息獲取請求發(fā)送至預(yù)置的信息服務(wù)器,以供所述信息服務(wù)器返回對應(yīng)的節(jié)目信息;按預(yù)置規(guī)則轉(zhuǎn)換信息服務(wù)器返回節(jié)目信息的格式。
[0030]優(yōu)選地,所述主線程處理器包括句柄模塊;所述句柄模塊用于接收所述節(jié)目信息;并根據(jù)所述節(jié)目信息在EPG界面顯示所述節(jié)目信息。
[0031]本發(fā)明通過當(dāng)主線程偵測到存在基于EPG的焦點切換指令時,所述主線程根據(jù)所述焦點切換指令切換焦點,并生成相應(yīng)的節(jié)目信息獲取請求;所述主線程將所述節(jié)目信息獲取請求發(fā)送至線程控制器;所述線程控制器根據(jù)所述節(jié)目信息獲取請求創(chuàng)建數(shù)據(jù)獲取子線程;所述數(shù)據(jù)獲取子線程獲取對應(yīng)的節(jié)目信息,并將所述節(jié)目信息發(fā)送給主線程;所述主線程根據(jù)接收到的所述節(jié)目信息刷新所述EPG。相較于現(xiàn)有技術(shù)由主線程負(fù)責(zé)執(zhí)行焦點切換和節(jié)目信息的加載顯示以及耗時較久的節(jié)目信息獲取的方式,本發(fā)明通過主線程負(fù)責(zé)執(zhí)行焦點切換和節(jié)目信息的加載顯示,并添加線程控制器,由線程控制器創(chuàng)建和管理用于負(fù)責(zé)執(zhí)行耗時較久的節(jié)目信息獲取的數(shù)據(jù)獲取子線程,避免了主線程處理阻塞,從而解決了 EPG刷新時卡頓的問題。
【附圖說明】
[0032]圖1為本發(fā)明EPG刷新方法第一實施例的流程示意圖;
[0033]圖2為本發(fā)明EPG刷新方法第二實施例的流程示意圖;
[0034]圖3為本發(fā)明EPG刷新方法一實施例中創(chuàng)建數(shù)據(jù)獲取子線程的細(xì)化流程示意圖;
[0035]圖4為本發(fā)明EPG刷新方法一實施例中獲取節(jié)目信息的細(xì)化流程示意圖;
[0036]圖5為本發(fā)明EPG刷新方法一實施例中根據(jù)節(jié)目信息刷新EPG的細(xì)化流程示意圖。
[0037]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
【具體實施方式】
[0038]應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0039]本發(fā)明提供一種EPG刷新方法,參照圖1,在一實施例中,該EPG刷新方法包括:
[0040]步驟S10,當(dāng)主線程偵測到存在基于EPG的焦點切換指令時,所述主線程根據(jù)所述焦點切換指令切換焦點,并生成相應(yīng)的節(jié)目信息獲取請求;
[0041]應(yīng)當(dāng)說明的是,EPG可為電視提供各種業(yè)務(wù)的索引和導(dǎo)航,用戶通過EPG可以選擇自己喜歡的頻道,點播自己喜歡的節(jié)目,查找各種信息等。用戶進入到EPG后,可以通過遙控器按鍵控制焦點選中自己喜歡的節(jié)目,EPG將會加載該節(jié)目的詳細(xì)信息(包括節(jié)目的播放時間、節(jié)目簡介、節(jié)目類型、音軌信息、圖像類型、色彩制式等)并顯示。本實施例中,當(dāng)EPG啟動時,同時啟動主線程,主線程實時檢測是否存在基于EPG的焦點切換指令;當(dāng)檢測到存在焦點切換指令時;主線程立即響應(yīng)所述焦點切換指令,移動焦點選中焦點切換指令對應(yīng)的節(jié)目;根據(jù)選中的節(jié)目生成節(jié)目信息獲取請求。
[0042]步驟S20,所述主線程將所述節(jié)目信息獲取請求發(fā)送至線程控制器;
[0043]步驟S30,所述線程控制器根據(jù)所述節(jié)目信息獲取請求創(chuàng)建數(shù)據(jù)獲取子線程;
[0044]步驟S40,所述數(shù)據(jù)獲取子線程獲取對應(yīng)的節(jié)目信息,并將所述節(jié)目信息發(fā)送給主線程;
[0045]應(yīng)當(dāng)說明的是,線程控制器隨EPG啟動而啟動的。本實施例中,線程控制器接收到主線程發(fā)送的節(jié)目信息獲取請求后,根據(jù)所述節(jié)目信息獲取請求創(chuàng)建數(shù)據(jù)獲取子線程;由所述數(shù)據(jù)獲取子線程獲取對應(yīng)的節(jié)目信息,并將獲取到的節(jié)目信息發(fā)送給主線程,以供主線程根據(jù)所述節(jié)目信息刷新EPG。應(yīng)當(dāng)說明的是,所述節(jié)目信息保存在遠端的信息服務(wù)器中,當(dāng)需要顯示時,需要從信息服務(wù)器獲取,由于節(jié)目信息數(shù)據(jù)容