定時(shí)喚醒處理系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子通信技術(shù)領(lǐng)域,特別是涉及定時(shí)喚醒處理系統(tǒng)及方法。
【背景技術(shù)】
[0002]智能終端如手機(jī)、平板電腦等,已為人們所普遍應(yīng)用。
[0003]智能終端一般有兩種狀態(tài):休眠狀態(tài)和正常運(yùn)行狀態(tài)。休眠狀態(tài)是智能終端除電源管理以外的其他外圍模塊,比如液晶顯示器(IXD:Liquid Crystal Display)背光,重力感應(yīng)器,觸摸屏及中央處理器(CPU:Central Processing Unit)均不工作,只有內(nèi)存保持自動刷新且LCD關(guān)閉的一種低功耗的狀態(tài)。反之正常運(yùn)行狀態(tài)是一種大部分設(shè)備保持運(yùn)行的功耗狀態(tài)。如果用戶在不操作智能終端的情況下讓智能終端一直保持休眠狀態(tài),會降低智能終端功率損耗,增加智能終端的續(xù)航時(shí)間。
[0004]現(xiàn)有較多關(guān)于智能終端喚醒管理的方案,但要么就是設(shè)置繁瑣,要么就是對不同應(yīng)用程序掛起及喚醒的管理不夠周到,導(dǎo)致用戶體驗(yàn)較差的問題。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供考慮周到全面的定時(shí)喚醒處理系統(tǒng)及方法,解決現(xiàn)有技術(shù)中喚醒管理方案存在缺陷導(dǎo)致用戶體驗(yàn)較差的問題。
[0006]為實(shí)現(xiàn)上述目標(biāo)及其他相關(guān)目標(biāo),本發(fā)明提供一種定時(shí)喚醒處理系統(tǒng),用于處理來自操作系統(tǒng)的定時(shí)喚醒請求,所述定時(shí)喚醒處理系統(tǒng)包括:定時(shí)信息修正模塊,用于對定時(shí)喚醒請求所包含的預(yù)定時(shí)間參數(shù)進(jìn)行修正處理,所述預(yù)定時(shí)間參數(shù)包括:定時(shí)喚醒時(shí)間和/或定時(shí)喚醒窗口時(shí)長;系統(tǒng)狀態(tài)監(jiān)聽模塊,用于監(jiān)聽所述操作系統(tǒng)的系統(tǒng)狀態(tài)信息;定時(shí)信息計(jì)算模塊,用于接收所述定時(shí)信息修正模塊修正處理后的定時(shí)喚醒請求;并用于接收所述系統(tǒng)狀態(tài)信息且據(jù)以選擇對應(yīng)的預(yù)設(shè)計(jì)算策略以重新計(jì)算并確定所述修正處理后的定時(shí)喚醒請求的定時(shí)喚醒窗口時(shí)長;定時(shí)信息組合模塊,用于獲取由所述定時(shí)信息計(jì)算模塊所重新計(jì)算確定定時(shí)喚醒窗口時(shí)長的定時(shí)喚醒請求,并將所獲取定時(shí)喚醒請求先后順序逐一將其中定時(shí)喚醒窗口時(shí)長有交集的定時(shí)喚醒請求加以組合以生成具有組合后新窗口存在期的定時(shí)喚醒請求序列組;定時(shí)設(shè)置模塊,用于在操作系統(tǒng)進(jìn)入睡眠之前,遍歷各定時(shí)喚醒請求序列組,以獲取最早需定時(shí)喚醒時(shí)間并據(jù)以設(shè)置定時(shí)。
[0007]可選的,所述預(yù)定時(shí)間參數(shù)還包括:定時(shí)類型,所述修正處理包括:對定時(shí)喚醒請求的定時(shí)類型進(jìn)行修正,包括:在判斷定時(shí)類型不符合操作系統(tǒng)支持類型的情況下,顯示錯(cuò)誤信息或者強(qiáng)制定義定時(shí)類型為操作系統(tǒng)中預(yù)設(shè)類型。
[0008]可選的,所述預(yù)定時(shí)間參數(shù)還包括:定時(shí)喚醒間隔,所述修正處理包括:對定時(shí)喚醒請求的定時(shí)喚醒間隔進(jìn)行修正,包括:在判斷定時(shí)喚醒間隔時(shí)間小于第一預(yù)設(shè)時(shí)長的情況下,根據(jù)定時(shí)喚醒請求發(fā)起者的不同而調(diào)整為相對應(yīng)的預(yù)設(shè)定時(shí)喚醒間隔時(shí)間。
[0009]可選的,所述定時(shí)喚醒請求發(fā)起者包括:操作系統(tǒng)中運(yùn)行的系統(tǒng)應(yīng)用程序及第三方應(yīng)用程序,其中,對應(yīng)所述系統(tǒng)應(yīng)用程序的喚醒間隔要短于對應(yīng)所述第三方應(yīng)用程序的喚醒間隔。
[0010]可選的,所述修正處理包括以下中的至少一種:1)對定時(shí)喚醒請求的定時(shí)喚醒時(shí)間進(jìn)行修正,包括:在判斷定時(shí)喚醒時(shí)間已經(jīng)過去或者小于預(yù)設(shè)時(shí)間點(diǎn)的情況下,則修正該定時(shí)喚醒時(shí)間為所述預(yù)設(shè)時(shí)間點(diǎn);2)對定時(shí)喚醒請求的定時(shí)喚醒窗口時(shí)長進(jìn)行修正,包括:在判斷定時(shí)喚醒窗口時(shí)長大于第二預(yù)設(shè)時(shí)長的情況下,修正該定時(shí)喚醒窗口時(shí)長為第三預(yù)設(shè)時(shí)長。
[0011]可選的,所述定時(shí)信息組合模塊,還用于在所述設(shè)置的定時(shí)到期后,將需在當(dāng)前時(shí)間執(zhí)行的定時(shí)喚醒請求從所在定時(shí)喚醒請求序列組中移除,并對其它定時(shí)喚醒請求進(jìn)行重新組合直至所有定時(shí)喚醒請求移除。
[0012]可選的,所述的定時(shí)喚醒處理系統(tǒng),包括:應(yīng)用狀態(tài)監(jiān)聽模塊,用于監(jiān)聽操作系統(tǒng)中的應(yīng)用程序狀態(tài),以通知所述定時(shí)信息組合模塊對來自異常的應(yīng)用程序的定時(shí)喚醒請求執(zhí)行所述從所在定時(shí)喚醒請求序列組中移除的動作。
[0013]為實(shí)現(xiàn)上述目標(biāo)及其他相關(guān)目標(biāo),本發(fā)明提供一種定時(shí)喚醒處理方法,用于處理來自操作系統(tǒng)的定時(shí)喚醒請求,所述定時(shí)喚醒處理方法包括:對定時(shí)喚醒請求所包含的預(yù)定時(shí)間參數(shù)進(jìn)行修正處理,所述預(yù)定時(shí)間參數(shù)包括:定時(shí)喚醒時(shí)間和/或定時(shí)喚醒窗口時(shí)長;監(jiān)聽所述操作系統(tǒng)的系統(tǒng)狀態(tài)信息;接收所述修正處理后的定時(shí)喚醒請求;并用于接收所述系統(tǒng)狀態(tài)信息且據(jù)以選擇對應(yīng)的預(yù)設(shè)計(jì)算策略以重新計(jì)算并確定所述修正處理后的定時(shí)喚醒請求的定時(shí)喚醒窗口時(shí)長;接收具有所述重新計(jì)算確定定時(shí)喚醒窗口時(shí)長的定時(shí)喚醒請求,并將所接收定時(shí)喚醒請求先后順序逐一將其中定時(shí)喚醒窗口時(shí)長有交集的定時(shí)喚醒請求加以組合以生成具有組合后新窗口存在期的定時(shí)喚醒請求序列組;在操作系統(tǒng)進(jìn)入睡眠之前,遍歷各定時(shí)喚醒請求序列組,以獲取最早需定時(shí)喚醒時(shí)間并據(jù)以設(shè)置定時(shí)。
[0014]可選的,所述預(yù)定時(shí)間參數(shù)還包括:定時(shí)類型,所述修正處理包括:對定時(shí)喚醒請求的定時(shí)類型進(jìn)行修正,包括:在判斷定時(shí)類型不符合操作系統(tǒng)支持類型的情況下,顯示錯(cuò)誤信息或者強(qiáng)制定義定時(shí)類型為操作系統(tǒng)中預(yù)設(shè)類型。
[0015]可選的,所述預(yù)定時(shí)間參數(shù)還包括:定時(shí)喚醒間隔,所述修正處理包括:對定時(shí)喚醒請求的定時(shí)喚醒間隔進(jìn)行修正,包括:在判斷定時(shí)喚醒間隔時(shí)間小于第一預(yù)設(shè)時(shí)長的情況下,根據(jù)定時(shí)喚醒請求發(fā)起者的不同而調(diào)整為相對應(yīng)的預(yù)設(shè)定時(shí)喚醒間隔時(shí)間。
[0016]可選的,所述定時(shí)喚醒請求發(fā)起者包括:操作系統(tǒng)中運(yùn)行的系統(tǒng)應(yīng)用程序及第三方應(yīng)用程序,其中,對應(yīng)所述系統(tǒng)應(yīng)用程序的喚醒間隔要短于對應(yīng)所述第三方應(yīng)用程序的喚醒間隔。
[0017]可選的,所述修正處理包括以下中的至少一種:1)對定時(shí)喚醒請求的定時(shí)喚醒時(shí)間進(jìn)行修正,包括:在判斷定時(shí)喚醒時(shí)間已經(jīng)過去或者小于預(yù)設(shè)時(shí)間點(diǎn)的情況下,則修正該定時(shí)喚醒時(shí)間為所述預(yù)設(shè)時(shí)間點(diǎn);2)對定時(shí)喚醒請求的定時(shí)喚醒窗口時(shí)長進(jìn)行修正,包括:在判斷定時(shí)喚醒窗口時(shí)長大于第二預(yù)設(shè)時(shí)長的情況下,修正該定時(shí)喚醒窗口時(shí)長為第三預(yù)設(shè)時(shí)長。
[0018]可選的,所述的定時(shí)喚醒處理方法,還包括:在所述設(shè)置的定時(shí)到期后,將需在當(dāng)前時(shí)間執(zhí)行的定時(shí)喚醒請求從所在定時(shí)喚醒請求序列組中移除,并對其它定時(shí)喚醒請求進(jìn)行重新組合直至所有定時(shí)喚醒請求移除。
[0019]可選的,所述的定時(shí)喚醒處理方法,還包括:監(jiān)聽操作系統(tǒng)中的應(yīng)用程序狀態(tài),以對來自異常的應(yīng)用程序的定時(shí)喚醒請求執(zhí)行所述從所在定時(shí)喚醒請求序列組中移除的動作。
[0020]如上所述,本發(fā)明提供的定時(shí)喚醒處理系統(tǒng)及方法,對定時(shí)喚醒請求所包含的預(yù)定時(shí)間參數(shù)進(jìn)行修正處理,所述預(yù)定時(shí)間參數(shù)包括:定時(shí)喚醒時(shí)間和/或定時(shí)喚醒窗口時(shí)長;監(jiān)聽所述操作系統(tǒng)的系統(tǒng)狀態(tài)信息;接收所述定時(shí)信息修正模塊修正處理后的定時(shí)喚醒請求;并用于接收所述系統(tǒng)狀態(tài)信息且據(jù)以選擇對應(yīng)的預(yù)設(shè)計(jì)算策略以重新計(jì)算并確定所述修正處理后的定時(shí)喚醒請求的定時(shí)喚醒窗口時(shí)長;接收具有所述重新計(jì)算確定定時(shí)喚醒窗口時(shí)長的定時(shí)喚醒請求,并將所接收定時(shí)喚醒請求先后順序逐一將其中定時(shí)喚醒窗口時(shí)長有交集的定時(shí)喚醒請求加以組合以生成具有組合后新窗口存在期的定時(shí)喚醒請求序列組;在操作系統(tǒng)進(jìn)入睡眠之前,遍歷各定時(shí)喚醒請求序列組,以獲取最早需定時(shí)喚醒時(shí)間并據(jù)以設(shè)置定時(shí)。
[0021]本發(fā)明可根據(jù)不同系統(tǒng)或者應(yīng)用對喚醒時(shí)間的需求進(jìn)行一定時(shí)間范圍內(nèi)的喚醒源進(jìn)行批處理組合和精確喚醒處理兩種系統(tǒng)喚醒需求,同時(shí)根據(jù)終端設(shè)備處于不同狀態(tài),如亮屏,暗屏,充電等進(jìn)行不同策略的處理。保持絕大部分的應(yīng)用喚醒都能得到響應(yīng),又盡量減少系統(tǒng)喚醒的次數(shù)達(dá)到省電的目的,也不丟失應(yīng)用正常功能需求與智能設(shè)備保持良好電池壽命,達(dá)到較好效果的用戶體驗(yàn)。
【附圖說明】
[0022]圖1顯示為本發(fā)明一實(shí)施例中的定時(shí)喚醒處理系統(tǒng)的結(jié)構(gòu)示意圖。
[0023]圖2顯示為本發(fā)明一實(shí)施例中的定時(shí)喚醒處理方法的流程示意圖。
[0024]圖3a及圖3b顯示為本發(fā)明一具體應(yīng)用實(shí)施例的時(shí)間順序示意圖。
[0025]元件標(biāo)號說明
[0026]1定時(shí)喚醒處理系統(tǒng)
[0027]101定時(shí)信息修正模塊
[0028]102定時(shí)信息計(jì)算模塊
[0029]103系統(tǒng)狀態(tài)監(jiān)聽模塊
[0030]104定時(shí)信息組合模塊
[0031]105定時(shí)設(shè)置模塊<