国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      廣播消息推送控制方法及裝置與流程

      文檔序號:11693238閱讀:340來源:國知局
      廣播消息推送控制方法及裝置與流程
      本發(fā)明涉及通訊
      技術(shù)領(lǐng)域
      ,尤其涉及一種廣播消息推送控制方法、裝置及系統(tǒng)。
      背景技術(shù)
      :隨著手機(jī)等智能終端為越來越多的用戶所擁有,如今,智能手機(jī)已成為我們?nèi)粘I钪惺褂米顬轭l繁的物體,而手機(jī)廠家上應(yīng)用程序的是否好用也成為用戶評估手機(jī)的滿意度之一。目前應(yīng)用程序越來越多的廠商的自研應(yīng)用接入到推送組件中,使用場景最多的為全量廣播推送,目前的技術(shù)實(shí)現(xiàn),都是直接搜索數(shù)據(jù)進(jìn)行推送,根據(jù)每個(gè)應(yīng)用程序的用戶量不同,一個(gè)廣播時(shí)間需要花費(fèi)10-30分鐘,這個(gè)對有特定業(yè)務(wù)場景的消息推送來說,如,系統(tǒng)更新提醒,某個(gè)時(shí)間點(diǎn)開始的推廣活動等,操作起來比較麻煩,并且,推送時(shí)間過久,也會造成推送不及時(shí),因此,用戶體驗(yàn)也較差。因此,有必要提供一種廣播消息推送控制方法,避免上述情況的出現(xiàn),提高用戶體驗(yàn)。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的主要目的在于提出一種廣播消息推送控制方法及裝置,旨在解決現(xiàn)有技術(shù)中向應(yīng)用程序推送廣播消息時(shí)速度較慢,耗時(shí)久的問題。為實(shí)現(xiàn)上述目的,本發(fā)明提出一種廣播消息推送控制裝置,所述裝置包括:文件搜尋模塊,用于當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;任務(wù)創(chuàng)建模塊,用于當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),依據(jù)搜尋結(jié)果創(chuàng)建多個(gè)推送子任務(wù)和增量子任務(wù),其中,所述推送子任務(wù)與所述目標(biāo)應(yīng)用程序的全量通道文件一一對應(yīng);文件下載子模塊,用于從文件服務(wù)器中下載所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;文件推送模塊,用于異步執(zhí)行多個(gè)所述推送子任務(wù),其中每個(gè)所述推送子任務(wù)為根據(jù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件推送目標(biāo)廣播消息;增量推送模塊,用于執(zhí)行所述增量子任務(wù),其中所述增量任務(wù)為向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息??蛇x地,所述裝置還包括:文件創(chuàng)建模塊,用于定時(shí)觸發(fā)文件創(chuàng)建任務(wù),所述文件創(chuàng)建任務(wù)包括查詢數(shù)據(jù)庫中的所有通道記錄,通過多任務(wù)方式為每一個(gè)應(yīng)用程序創(chuàng)建所述應(yīng)用程序的多個(gè)全量通道文件并存儲于所述文件服務(wù)器;其中,每個(gè)所述全量通道文件的記錄條目數(shù)量為預(yù)設(shè)值,每一個(gè)記錄條目對應(yīng)所述應(yīng)用程序的一個(gè)通道信息??蛇x地,所述增量推送模塊具體包括:搜尋范圍確定單元,用于依據(jù)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件的創(chuàng)建時(shí)間戳確定通道增量記錄;遍歷搜尋單元,用于遍歷所述通道增量記錄以確定所述目標(biāo)應(yīng)用程序的增量通道;增量推送單元,用于向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息??蛇x地,文件推送模塊執(zhí)行每個(gè)所述推送子任務(wù)具體包括:遍歷所述推送子任務(wù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件以確定目標(biāo)通道數(shù)量;依據(jù)所述目標(biāo)通道數(shù)量和目標(biāo)廣播消息創(chuàng)建相同數(shù)量的離線消息;查詢所述目標(biāo)通道的在線狀態(tài)以確定待推送目標(biāo)通道;向所有所述待推送目標(biāo)通道推送對應(yīng)的離線消息??蛇x地,廣播消息推送控制裝置還包括:全量推送模塊,用于當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件不存在時(shí),查詢數(shù)據(jù)庫中的所有通道記錄以向所述目標(biāo)應(yīng)用程序的所有通道推送目標(biāo)廣播消息;異步觸發(fā)模塊,用于當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件不存在時(shí),觸發(fā)所述文件創(chuàng)建任務(wù)。此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提出一種廣播消息推送控制方法,所述方法包括:當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),依據(jù)搜尋結(jié)果創(chuàng)建多個(gè)推送子任務(wù)和增量子任務(wù),其中,所述推送子任務(wù)與所述目標(biāo)應(yīng)用程序的全量通道文件一一對應(yīng);從文件服務(wù)器中下載所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;異步執(zhí)行多個(gè)所述推送子任務(wù),其中每個(gè)所述推送子任務(wù)為根據(jù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件推送目標(biāo)廣播消息;執(zhí)行所述增量子任務(wù),其中所述增量任務(wù)為向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。可選地,所述方法還包括:定時(shí)觸發(fā)文件創(chuàng)建任務(wù),所述文件創(chuàng)建任務(wù)包括查詢數(shù)據(jù)庫中的所有通道記錄,通過多任務(wù)方式為每一個(gè)應(yīng)用創(chuàng)建所述應(yīng)用程序的多個(gè)全量通道文件并存儲于所述文件服務(wù)器;其中,每個(gè)所述全量通道文件的記錄條目數(shù)量為預(yù)設(shè)值,每一個(gè)記錄條目對應(yīng)所述應(yīng)用程序的一個(gè)通道信息??蛇x地,所述執(zhí)行所述增量子任務(wù)的步驟具體包括:依據(jù)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件的創(chuàng)建時(shí)間戳確定通道增量記錄;遍歷所述通道增量記錄以確定所述目標(biāo)應(yīng)用程序的增量通道;向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息??蛇x地,執(zhí)行每個(gè)所述推送子任務(wù)的方式的步驟具體包括:遍歷所述推送子任務(wù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件以確定目標(biāo)通道數(shù)量;依據(jù)所述目標(biāo)通道數(shù)量和目標(biāo)廣播消息創(chuàng)建相同數(shù)量的離線消息;查詢所述目標(biāo)通道的在線狀態(tài)以確定待推送目標(biāo)通道;向所有所述待推送目標(biāo)通道推送對應(yīng)的離線消息??蛇x地,所述當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件的步驟之后,所述方法還包括:當(dāng)所述目標(biāo)應(yīng)用的多個(gè)全量通道文件不存在時(shí),查詢數(shù)據(jù)庫中的所有通道記錄以向所述目標(biāo)應(yīng)用程序的所有通道推送目標(biāo)廣播消息;觸發(fā)所述文件創(chuàng)建任務(wù)。此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提出一種廣播消息推送控制系統(tǒng),包括應(yīng)用服務(wù)器,推送服務(wù)器,文件服務(wù)器以及智能終端,其中,所述應(yīng)用服務(wù)器用于向所述推送服務(wù)器發(fā)送推送請求以向目標(biāo)應(yīng)用程序推送目標(biāo)廣播消息;所述推送服務(wù)器應(yīng)用如上所述的廣播消息推送控制裝置;所述文件服務(wù)器用于存儲所述全量通道文件;所述智能終端用于接收目標(biāo)廣播消息并分配給所述目標(biāo)應(yīng)用程序。本發(fā)明提出的廣播消息推送控制方法、裝置以及系統(tǒng),當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),依據(jù)搜尋結(jié)果創(chuàng)建多個(gè)推送子任務(wù)和增量子任務(wù);從文件服務(wù)器中下載所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;異步執(zhí)行多個(gè)所述推送子任務(wù),根據(jù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件推送目標(biāo)廣播消息;執(zhí)行所述增量子任務(wù),向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。從而,通過備份應(yīng)用全量通道文件,以多任務(wù)異步并發(fā)方式實(shí)現(xiàn)全量通道文件的廣播消息推送,提高了消息推送的處理性能,以數(shù)據(jù)庫的方式補(bǔ)充增量通道推送,保證了推送用戶的完整性。附圖說明圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例廣播消息推送控制系統(tǒng)的結(jié)構(gòu)示意圖;圖2為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例一個(gè)可選的智能終端的硬件結(jié)構(gòu)示意圖;圖3為如圖2所示的智能終端的無線通信系統(tǒng)示意圖;圖4為本發(fā)明第一實(shí)施例提供的廣播消息推送控制裝置的模塊示意圖;圖5為本發(fā)明第一實(shí)施例提供的廣播消息推送控制裝置的另一模塊示意圖;圖6為本發(fā)明第一實(shí)施例提供的廣播消息推送控制裝置的另一模塊示意圖;圖7為本發(fā)明第一實(shí)施例提供的廣播消息推送控制裝置中增量推送模塊330的細(xì)化模塊示意圖;圖8為本發(fā)明第二實(shí)施例提供的廣播消息推送控制方法的流程示意圖;圖9為本發(fā)明圖8中步驟s805的細(xì)化流程示意圖;圖10為本發(fā)明第二實(shí)施例中執(zhí)行每個(gè)推送子任務(wù)時(shí)的細(xì)化流程示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。具體實(shí)施方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明?,F(xiàn)在將參考附圖描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的智能終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例廣播消息推送控制方法系統(tǒng)的結(jié)構(gòu)示意圖。廣播消息推送控制方法系統(tǒng)包括智能終端100、推送服務(wù)器200、應(yīng)用服務(wù)器300以及文件服務(wù)器400。應(yīng)用服務(wù)器300用于向所述推送服務(wù)器發(fā)送推送請求以向目標(biāo)應(yīng)用推送目標(biāo)廣播消息;推送服務(wù)器200在接收到推送請求后向裝有目標(biāo)應(yīng)用的智能終端100發(fā)送目標(biāo)廣播信息;文件服務(wù)器400用于存儲推送服務(wù)器所需的文件,其中,包括全量通道文件。智能終端100用于接收目標(biāo)廣播信息并分配給所述目標(biāo)應(yīng)用。具體的,在本發(fā)明中,智能終端在安裝應(yīng)用程序之后,應(yīng)用程序開通推送服務(wù)時(shí)將向推送服務(wù)器進(jìn)行注冊登記以獲取通道分配,推送服務(wù)器會為該應(yīng)用程序分配用戶id,該用戶id唯一對應(yīng)于智能終端id,也即,不同智能終端上的同一個(gè)應(yīng)用程序?qū)碛胁煌膇d,該用戶id也唯一標(biāo)識智能終端上該應(yīng)用程序與推送服務(wù)器之間的推送通道,即智能終端和推送服務(wù)器200之間維持的一個(gè)tcp連接,以供推送服務(wù)器200向該應(yīng)用程序推送廣播消息??梢岳斫獾氖?,應(yīng)用程序還擁有其自己的應(yīng)用id,用以區(qū)分不同的應(yīng)用,例如,應(yīng)用a,應(yīng)用b等。上述信息都記錄在作為該應(yīng)用程序的一個(gè)通道記錄存儲在推送服務(wù)器的通道表中,每一個(gè)通道記錄對應(yīng)智能終端上的一個(gè)應(yīng)用程序,記錄有應(yīng)用id,用戶id以及設(shè)備id(即智能終端id)等信息,此處,設(shè)備id用于唯一標(biāo)識智能終端,可以是智能終端的物理地址如mac地址或是其他可以唯一標(biāo)識智能終端的標(biāo)識符,例如智能終端的imsi或是iccid等,本發(fā)明對此不作限制,用戶id由推送服務(wù)器分配,本發(fā)明對此具體形式以及格式不作限制,可以是數(shù)字、字母或是其他任意字符等或是以上形式的組合,長度不限,但用戶id具有唯一性,不重復(fù)出現(xiàn)。推送服務(wù)器200上通道表按登記時(shí)間記錄有各個(gè)通道記錄。如下表1所示為推送服務(wù)器200上的一個(gè)通道表示例,可以理解的是,本發(fā)明不限于此形式。表1通道表通道id應(yīng)用id用戶id設(shè)備id通道地址……1a133mac1address12b123mac2address23c103mac3address34d100mac4address4……可以理解是,因?yàn)橥ǖ辣碛涗浟怂邢蛲扑头?wù)器注冊的應(yīng)用程序的通道信息,因此通道表中的條目數(shù)量將逐漸增大,且數(shù)量較多,逐一搜索時(shí)費(fèi)時(shí)較長。此處,全量通道文件主要集中存儲有某一個(gè)應(yīng)用程序的通道記錄,也即,全量通道文件以應(yīng)用程序?yàn)閰^(qū)分對通道表重新進(jìn)行分類整理??梢岳斫獾氖?,為避免全通道文件過大,可以限定每一個(gè)全量通道文件的記錄條目為預(yù)設(shè)數(shù)量,例如10萬條。一個(gè)應(yīng)用程序可以擁有多全量通道文件。全量通道文件存儲在文件服務(wù)器400中。在本發(fā)明中,文件服務(wù)器可以是采用第三方提供的商用服務(wù)器,也可以由服務(wù)提供商自行架設(shè)ftp服務(wù)器。智能終端可以以各種形式來實(shí)施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個(gè)人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導(dǎo)航裝置等等的智能終端以及諸如數(shù)字tv、臺式計(jì)算機(jī)等等的固定終端。下面,假設(shè)終端是智能終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。圖2為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例一個(gè)可選的智能終端的硬件結(jié)構(gòu)示意。智能終端100可以包括無線通信單元110、a/v(音頻/視頻)輸入單元120、用戶輸入單元130、感測單元140、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的智能終端,但是應(yīng)理解的是,并不要求實(shí)施所有示出的組件??梢蕴娲貙?shí)施更多或更少的組件。將在下面詳細(xì)描述智能終端的元件。無線通信單元110通常包括一個(gè)或多個(gè)組件,其允許智能終端100與無線通信系統(tǒng)或網(wǎng)絡(luò)之間的無線電通信。例如,無線通信單元可以包括廣播接收模塊111、移動通信模塊112、無線互聯(lián)網(wǎng)模塊113、短程通信模塊114和位置信息模塊115中的至少一個(gè)。廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務(wù)器接收廣播信號和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務(wù)器可以是生成并發(fā)送廣播信號和/或廣播相關(guān)信息的服務(wù)器或者接收之前生成的廣播信號和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務(wù)器。廣播信號可以包括tv廣播信號、無線電廣播信號、數(shù)據(jù)廣播信號等等。而且,廣播信號可以進(jìn)一步包括與tv或無線電廣播信號組合的廣播信號。廣播相關(guān)信息也可以經(jīng)由移動通信網(wǎng)絡(luò)提供,并且在該情況下,廣播相關(guān)信息可以由移動通信模塊112來接收。廣播信號可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(dmb)的電子節(jié)目指南(epg)、數(shù)字視頻廣播手持(dvb-h)的電子服務(wù)指南(esg)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統(tǒng)接收信號廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(dmb-t)、數(shù)字多媒體廣播-衛(wèi)星(dmb-s)、數(shù)字視頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數(shù)據(jù)廣播系統(tǒng)、地面數(shù)字廣播綜合服務(wù)(isdb-t)等等的數(shù)字廣播系統(tǒng)接收數(shù)字廣播。廣播接收模塊111可以被構(gòu)造為適合提供廣播信號的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊111接收的廣播信號和/或廣播相關(guān)信息可以存儲在存儲器160(或者其它類型的存儲介質(zhì))中。移動通信模塊112將無線電信號發(fā)送到基站(例如,接入點(diǎn)、節(jié)點(diǎn)b等等)、外部終端以及服務(wù)器中的至少一個(gè)和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。無線互聯(lián)網(wǎng)模塊113支持智能終端的無線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無線互聯(lián)網(wǎng)接入技術(shù)可以包括wlan(無線lan)(wi-fi)、wibro(無線寬帶)、wimax(全球微波互聯(lián)接入)、hsdpa(高速下行鏈路分組接入)等等。短程通信模塊114是用于支持短程通信的模塊。短程通信技術(shù)的一些示例包括藍(lán)牙tm、射頻識別(rfid)、紅外數(shù)據(jù)協(xié)會(irda)、超寬帶(uwb)、紫蜂tm等等。位置信息模塊115是用于檢查或獲取智能終端的位置信息的模塊。位置信息模塊的典型示例是gps(全球定位系統(tǒng))。根據(jù)當(dāng)前的技術(shù),gps模塊115計(jì)算來自三個(gè)或更多衛(wèi)星的距離信息和準(zhǔn)確的時(shí)間信息并且對于計(jì)算的信息應(yīng)用三角測量法,從而根據(jù)經(jīng)度、緯度和高度準(zhǔn)確地計(jì)算三維當(dāng)前位置信息。當(dāng)前,用于計(jì)算位置和時(shí)間信息的方法使用三顆衛(wèi)星并且通過使用另外的一顆衛(wèi)星校正計(jì)算出的位置和時(shí)間信息的誤差。此外,gps模塊115能夠通過實(shí)時(shí)地連續(xù)計(jì)算當(dāng)前位置信息來計(jì)算速度信息。a/v輸入單元120用于接收音頻或視頻信號。a/v輸入單元120可以包括麥克風(fēng)122,麥克風(fēng)122可以在電話通話模式、記錄模式、語音識別模式等等運(yùn)行模式中經(jīng)由麥克風(fēng)接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由移動通信模塊112發(fā)送到移動通信基站的格式輸出。麥克風(fēng)122可以實(shí)施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號的過程中產(chǎn)生的噪聲或者干擾。用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制智能終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋?zhàn)衅?、觸摸板(例如,檢測由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當(dāng)觸摸板以層的形式疊加在顯示單元151上時(shí),可以形成觸摸屏。感測單元140檢測智能終端100的當(dāng)前狀態(tài),(例如,智能終端100的打開或關(guān)閉狀態(tài))、智能終端100的位置、用戶對于智能終端100的接觸(即,觸摸輸入)的有無、智能終端100的取向、智能終端100的加速或減速移動和方向等等,并且生成用于控制智能終端100的操作的命令或信號。例如,當(dāng)智能終端100實(shí)施為滑動型移動電話時(shí),感測單元140可以感測該滑動型電話是打開還是關(guān)閉。另外,感測單元140能夠檢測電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。接口單元170用作至少一個(gè)外部裝置與智能終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機(jī)端口等等。識別模塊可以是存儲用于驗(yàn)證用戶使用智能終端100的各種信息并且可以包括用戶識別模塊(uim)、客戶識別模塊(sim)、通用客戶識別模塊(usim)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與智能終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)街悄芙K端100內(nèi)的一個(gè)或多個(gè)元件或者可以用于在智能終端和外部裝置之間傳輸數(shù)據(jù)。另外,當(dāng)智能終端100與外部底座連接時(shí),接口單元170可以用作允許通過其將電力從底座提供到智能終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)街悄芙K端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別智能終端是否準(zhǔn)確地安裝在底座上的信號。輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報(bào)信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報(bào)單元153等等。顯示單元151可以顯示在智能終端100中處理的信息。例如,當(dāng)智能終端100處于電話通話模式時(shí),顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(ui)或圖形用戶界面(gui)。當(dāng)智能終端100處于視頻通話模式或者圖像捕獲模式時(shí),顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的ui或gui等等。同時(shí),當(dāng)顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏?xí)r,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(lcd)、薄膜晶體管lcd(tft-lcd)、有機(jī)發(fā)光二極管(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為toled(透明有機(jī)發(fā)光二極管)顯示器等等。根據(jù)特定想要的實(shí)施方式,智能終端100可以包括兩個(gè)或更多顯示單元(或其它顯示裝置),例如,智能終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。音頻輸出模塊152可以在智能終端處于呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時(shí),將無線通信單元110接收的或者在存儲器160中存儲的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號并且輸出為聲音。而且,音頻輸出模塊152可以提供與智能終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚(yáng)聲器、蜂鳴器等等。警報(bào)單元153可以提供輸出以將事件的發(fā)生通知給智能終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報(bào)單元153可以以不同的方式提供輸出以通知事件的發(fā)生。例如,警報(bào)單元153可以以振動的形式提供輸出,當(dāng)接收到呼叫、消息或一些其它進(jìn)入通信(incomingcommunication)時(shí),警報(bào)單元153可以提供觸覺輸出(即,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的移動電話處于用戶的口袋中時(shí),用戶也能夠識別出各種事件的發(fā)生。警報(bào)單元153也可以經(jīng)由顯示單元151或音頻輸出模塊152提供通知事件的發(fā)生的輸出。存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時(shí)地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動和音頻信號的數(shù)據(jù)。存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,sd或dx存儲器等等)、隨機(jī)訪問存儲器(ram)、靜態(tài)隨機(jī)訪問存儲器(sram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、可編程只讀存儲器(prom)、磁性存儲器、磁盤、光盤等等。而且,智能終端100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡(luò)存儲裝置協(xié)作。控制器180通??刂浦悄芙K端的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊1810,多媒體模塊1810可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏?。這里描述的各種實(shí)施方式可以以使用例如計(jì)算機(jī)軟件、硬件或其任何組合的計(jì)算機(jī)可讀介質(zhì)來實(shí)施。對于硬件實(shí)施,這里描述的實(shí)施方式可以通過使用特定用途集成電路(asic)、數(shù)字信號處理器(dsp)、數(shù)字信號處理裝置(dspd)、可編程邏輯裝置(pld)、現(xiàn)場可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設(shè)計(jì)為執(zhí)行這里描述的功能的電子單元中的至少一種來實(shí)施,在一些情況下,這樣的實(shí)施方式可以在控制器180中實(shí)施。對于軟件實(shí)施,諸如過程或功能的實(shí)施方式可以與允許執(zhí)行至少一種功能或操作的單獨(dú)的軟件模塊來實(shí)施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z言編寫的軟件應(yīng)用程序(或程序)來實(shí)施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。至此,己經(jīng)按照其功能描述了智能終端。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型智能終端等等的各種類型的智能終端中的滑動型智能終端作為示例。因此,本發(fā)明能夠應(yīng)用于任何類型的智能終端,并且不限于滑動型智能終端。如圖2中所示的智能終端100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作?,F(xiàn)在將參考圖3描述其中根據(jù)本發(fā)明的智能終端能夠操作的通信系統(tǒng)。這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(fdma)、時(shí)分多址(tdma)、碼分多址(cdma)和通用移動通信系統(tǒng)(umts)(特別地,長期演進(jìn)(lte))、全球移動通信系統(tǒng)(gsm)等等。作為非限制性示例,下面的描述涉及cdma通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類型的系統(tǒng)。參考圖2,cdma無線通信系統(tǒng)可以包括多個(gè)智能終端100、多個(gè)基站(bs)270、基站控制器(bsc)275和移動交換中心(msc)280。msc280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(pstn)290形成接口。msc280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的bsc275形成接口?;爻叹€路可以根據(jù)若干己知的接口中的任一種來構(gòu)造,所述接口包括例如e1/t1、atm,ip、ppp、幀中繼、hdsl、adsl或xdsl。將理解的是,如圖2中所示的系統(tǒng)可以包括多個(gè)bsc2750。每個(gè)bs270可以服務(wù)一個(gè)或多個(gè)分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個(gè)分區(qū)放射狀地遠(yuǎn)離bs270。或者,每個(gè)分區(qū)可以由用于分集接收的兩個(gè)或更多天線覆蓋。每個(gè)bs270可以被構(gòu)造為支持多個(gè)頻率分配,并且每個(gè)頻率分配具有特定頻譜(例如,1.25mhz,5mhz等等)。分區(qū)與頻率分配的交叉可以被稱為cdma信道。bs270也可以被稱為基站收發(fā)器子系統(tǒng)(bts)或者其它等效術(shù)語。在這樣的情況下,術(shù)語"基站"可以用于籠統(tǒng)地表示單個(gè)bsc275和至少一個(gè)bs270?;疽部梢员环Q為"蜂窩站"?;蛘撸囟╞s270的各分區(qū)可以被稱為多個(gè)蜂窩站。如圖3中所示,廣播發(fā)射器(bt)295將廣播信號發(fā)送給在系統(tǒng)內(nèi)操作的智能終端100。如圖2中所示的廣播接收模塊111被設(shè)置在智能終端100處以接收由bt295發(fā)送的廣播信號。在圖3中,示出了幾個(gè)全球定位系統(tǒng)(gps)衛(wèi)星300。衛(wèi)星300幫助定位多個(gè)智能終端100中的至少一個(gè)。在圖3中,描繪了多個(gè)衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1中所示的gps模塊115通常被構(gòu)造為與衛(wèi)星300配合以獲得想要的定位信息。替代gps跟蹤技術(shù)或者在gps跟蹤技術(shù)之外,可以使用可以跟蹤智能終端的位置的其它技術(shù)。另外,至少一個(gè)gps衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星dmb傳輸。作為無線通信系統(tǒng)的一個(gè)典型操作,bs270接收來自各種智能終端100的反向鏈路信號。智能終端100通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個(gè)反向鏈路信號被在特定bs270內(nèi)進(jìn)行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的bsc275。bsc提供通話資源分配和包括bs270之間的軟切換過程的協(xié)調(diào)的移動管理功能。bsc275還將接收到的數(shù)據(jù)路由到msc280,其提供用于與pstn290形成接口的額外的路由服務(wù)。類似地,pstn290與msc280形成接口,msc與bsc275形成接口,并且bsc275相應(yīng)地控制bs270以將正向鏈路信號發(fā)送到智能終端100?;谏鲜鲋悄芙K端硬件結(jié)構(gòu)以及通信系統(tǒng),提出本發(fā)明方法各個(gè)實(shí)施例。如圖4所示,本發(fā)明第一實(shí)施例提出一種網(wǎng)絡(luò)模式自動選擇裝置,應(yīng)用于圖1中的推送服務(wù)器端,裝置10包括文件搜尋模塊310,任務(wù)創(chuàng)建模塊320,文件下載模塊330,文件推送模塊340以及增量推送模塊350,以下對模塊進(jìn)行詳細(xì)說明。文件搜尋模塊310,用于當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;具體的,應(yīng)用通道文件列表中記錄了全量通道文件和應(yīng)用程序之間的對應(yīng)關(guān)系,通過應(yīng)用id進(jìn)行搜索,可以確定應(yīng)用程序所擁有的多個(gè)全通道文件。此處,多個(gè)指一個(gè)或一個(gè)以上。應(yīng)用服務(wù)器所發(fā)出的推送請求中,包含了需要推送廣播消息的目標(biāo)應(yīng)用程序的應(yīng)用id,文件搜尋模塊310接收到推送請求后,從中獲取目標(biāo)應(yīng)用程序的應(yīng)用id,就可以通過該應(yīng)用id在應(yīng)用通道文件列表中搜尋并確定當(dāng)前目標(biāo)應(yīng)用程序是否存在對應(yīng)的全量通道文件以及具體的文件數(shù)量。可以理解是,應(yīng)用通道文件列表既可以存儲在推送服務(wù)器中,也可以存儲在文件服務(wù)器中,或者是同時(shí)存儲在推送服務(wù)器和文件服務(wù)器中并實(shí)時(shí)同步更新。請同時(shí)參考圖5,進(jìn)一步的,在本實(shí)施例中,裝置10還包括:文件創(chuàng)建模塊360,用于定時(shí)觸發(fā)文件創(chuàng)建任務(wù),所述文件創(chuàng)建任務(wù)包括查詢數(shù)據(jù)庫中的所有通道記錄,通過多任務(wù)方式為每一個(gè)應(yīng)用程序創(chuàng)建所述應(yīng)用程序的多個(gè)全量通道文件并存儲于所述文件服務(wù)器;具體的,如前文所述,全量通道文件集中存儲有某一個(gè)應(yīng)用程序的通道記錄,且為避免全量通道文件過大,每個(gè)所述全量通道文件的記錄條目數(shù)量為預(yù)設(shè)值,每一個(gè)記錄條目對應(yīng)所述應(yīng)用程序的一個(gè)通道信息。全量通道文件可以由文件創(chuàng)建模塊通過定時(shí)觸發(fā)文件創(chuàng)建任務(wù)而創(chuàng)建。當(dāng)文件創(chuàng)建任務(wù)被觸發(fā)時(shí),文件創(chuàng)建模塊360開始遍歷數(shù)據(jù)庫中存儲的應(yīng)用信息,每遍歷到一個(gè)應(yīng)用程序,則為每一個(gè)應(yīng)用建立文件創(chuàng)建子任務(wù)并立即開始執(zhí)行,通過該文件創(chuàng)建子任務(wù)為該應(yīng)用程序創(chuàng)建歸屬于該應(yīng)用程序的全量通道文件并鎖定全量通道文件的創(chuàng)建時(shí)間戳,直至遍歷完畢。也即,文件創(chuàng)建模塊360通過多任務(wù)方式為每一個(gè)應(yīng)用程序創(chuàng)建全量通道文件,每一個(gè)文件創(chuàng)建子任務(wù)對應(yīng)一個(gè)應(yīng)用程序,將創(chuàng)建一批的全量通道文件。詳細(xì)的,每一個(gè)文件創(chuàng)建子任務(wù)的執(zhí)行過程如下:當(dāng)任務(wù)被執(zhí)行時(shí),登記此時(shí)時(shí)間作為第一時(shí)刻。同時(shí),以分頁形式每次從數(shù)據(jù)庫中的通道表中獲取一定量的通道記錄進(jìn)行查詢,以獲取對應(yīng)應(yīng)用程序的通道記錄并記錄至當(dāng)前全量通道文件中,依次讀取下一分頁直至當(dāng)前全量通道文件記錄條目達(dá)到預(yù)設(shè)值,則當(dāng)全量通道文件創(chuàng)建完畢,創(chuàng)建下一個(gè)全量通道文件,記錄讀取分頁,如此重復(fù),直至查詢完畢通道表中的所有通道記錄,將生成的所有全量通道文件的創(chuàng)建時(shí)間戳標(biāo)記為第一時(shí)刻,并將生成的所有全量通道文件上傳至文件服務(wù)器,同時(shí)更新應(yīng)用通道文件列表??梢岳斫獾氖?,本發(fā)明對全量通道文件的具體形式不作限制,如表2所示是應(yīng)用a的一個(gè)全量通道文件內(nèi)容示意參考圖,其中記錄了應(yīng)用a的一些通道記錄,包括用戶id以及設(shè)備id(即智能終端id)等信息。全量通道文件中的內(nèi)容可以是如表1所示的表格形式,也可以是其他形式,本發(fā)明對此不作限制,表1中,記錄了全量通道文件所屬的應(yīng)用程序名(應(yīng)用id)以及文件的時(shí)間戳(創(chuàng)建時(shí)間)。可以理解的是,文件的命名可以以應(yīng)用id以及創(chuàng)建時(shí)間戳命名,并且,同一批的文件可以依文件數(shù)量進(jìn)行排序,例如假設(shè)文件創(chuàng)建模塊360于2017年03月27日下午四點(diǎn)開始文件創(chuàng)建任務(wù),遍歷到應(yīng)用程序a后通過文件創(chuàng)建子任務(wù)為應(yīng)用程序a創(chuàng)建了一批文件共2個(gè)文件,則應(yīng)用a擁有2兩個(gè)全量通道文件,可以分別命名為“應(yīng)用a201703271600-01”以及“應(yīng)用a201703271600-02”,文件-01與文件-02的之間文件序號并無實(shí)際意義,可以互相調(diào)換。表2應(yīng)用a全量通道表任務(wù)創(chuàng)建模塊320,用于當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),依據(jù)搜尋結(jié)果創(chuàng)建多個(gè)推送子任務(wù)和增量子任務(wù),其中,所述推送子任務(wù)與所述目標(biāo)應(yīng)用程序的全量通道文件一一對應(yīng);具體的,當(dāng)目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),任務(wù)創(chuàng)建模塊320將根據(jù)全量通道文件的數(shù)量對應(yīng)建立相同數(shù)量的推送子任務(wù),同時(shí)建立一個(gè)增量子任務(wù),例如,若搜索到目標(biāo)應(yīng)用程序存在5個(gè)全量通道文件,則任務(wù)創(chuàng)建模塊320將建立5個(gè)推送子任務(wù)和1個(gè)增量子任務(wù)。文件下載子模塊330,用于從文件服務(wù)器中下載所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;文件推送模塊340,用于異步執(zhí)行多個(gè)所述推送子任務(wù),其中每個(gè)所述推送子任務(wù)為根據(jù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件推送目標(biāo)廣播消息;具體的,當(dāng)目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),文件下載子模塊330根據(jù)搜尋結(jié)果從文件服務(wù)器中下載目標(biāo)應(yīng)用程序的多個(gè)全量通道文件。下載后,文件推送模塊340開始執(zhí)行上述多個(gè)創(chuàng)建的推送子任務(wù),執(zhí)行方式為異步。通過上述推送子任務(wù),文件推送模塊340根據(jù)每一個(gè)推送子任務(wù)對應(yīng)的目標(biāo)應(yīng)用程序的全量通道文件向全量通道文件上的每一個(gè)通道推送目標(biāo)廣播消息。例如,仍以應(yīng)用程序a為例,應(yīng)用程序a有兩個(gè)全量通道文件,“應(yīng)用a201703271600-01”以及“應(yīng)用a201703271600-02”,假設(shè)推送子任務(wù)1對文件-01,推送子任務(wù)2對應(yīng)文件-02,則執(zhí)行推送子任務(wù)1時(shí),將根據(jù)文件-01上的通道記錄,通過記錄的各個(gè)通道推送目標(biāo)廣播消息,最終,用戶133、134、136將收到該目標(biāo)廣播消息,也即物理地址分別為mac1、mac5、mac6的智能終端上的應(yīng)用a將收到該目標(biāo)廣播消息??梢岳斫馐?,在本實(shí)施例中,全量通道文件的下載,推送子任務(wù)的執(zhí)行先后本發(fā)明并不限制。當(dāng)搜尋到一個(gè)全量通道文件,可以同步執(zhí)行文件下載以及子任務(wù)創(chuàng)建。當(dāng)某一個(gè)全量通道文件下載完成,只要其對應(yīng)的推送子任務(wù)已經(jīng)開始創(chuàng)建,即可以開始執(zhí)行對應(yīng)的推送子任務(wù),反之則需要等待其創(chuàng)建后才開始執(zhí)行。當(dāng)一個(gè)推送子任務(wù)創(chuàng)建并開始執(zhí)行時(shí),若此時(shí)該推送子任務(wù)對應(yīng)的全量通道文件還未下載未完成,則需要等待文件下載完成。不同推送子任務(wù)之間的執(zhí)行互不影響,也即推送子任務(wù)的執(zhí)行方式為異步執(zhí)行。詳細(xì)的,在本實(shí)施例中,文件推送模塊340執(zhí)行每個(gè)推送子任務(wù)的過程如下:遍歷所述推送子任務(wù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件以確定目標(biāo)通道數(shù)量;依據(jù)所述目標(biāo)通道數(shù)量和目標(biāo)廣播消息創(chuàng)建相同數(shù)量的離線消息;查詢所述目標(biāo)通道的在線狀態(tài)以確定待推送目標(biāo)通道;向所有所述待推送目標(biāo)通道推送對應(yīng)的離線消息。具體的,仍以應(yīng)用程序a為例,應(yīng)用程序a有兩個(gè)全量通道文件,“應(yīng)用a201703271600-01”以及“應(yīng)用a201703271600-02”,假設(shè)推送子任務(wù)1對文件-01,推送子任務(wù)2對應(yīng)文件-02。執(zhí)行推送子任務(wù)1時(shí),文件推送模塊340遍歷文件-1上的每一條通道記錄,最終確定需要推送的目標(biāo)通道的數(shù)量,對應(yīng)每一個(gè)目標(biāo)通道分別創(chuàng)建離線消息,離線消息的內(nèi)容根據(jù)目標(biāo)廣播消息確定。然后,查詢確定的所有目標(biāo)通道的當(dāng)前在線狀態(tài),在線的目標(biāo)通道列為待推送目標(biāo)通道,將該待推送目標(biāo)通道對應(yīng)的離線消息通過該待推送目標(biāo)通道進(jìn)行推送,不在線的目標(biāo)通道則可以暫緩?fù)扑?,或是定時(shí)查詢之后等待在線再進(jìn)行推送,本發(fā)明對于不在線目標(biāo)通道的推送處理不作限制。此處,在線狀態(tài)是指智能終端上應(yīng)用程序與推送服務(wù)器之間的推送通道是否仍維持連接狀態(tài),即智能終端和推送服務(wù)器200之間維持的tcp連接是斷開還是維持鏈接狀態(tài)。增量推送模塊350,用于執(zhí)行所述增量子任務(wù),其中所述增量任務(wù)為向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。具體的,增量推送模塊350通過執(zhí)行增量子任務(wù),可以向目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。此處,增量通道主要包括目標(biāo)應(yīng)用程序的全量通道文件創(chuàng)建到進(jìn)行推送期間,數(shù)據(jù)庫中通道表上新增的目標(biāo)應(yīng)用程序的通道記錄。通過執(zhí)行增量子任務(wù),可以對未記錄入全量通道文件中的通道記錄進(jìn)行補(bǔ)充推送,以避免遺漏。進(jìn)一步的,請同時(shí)參考圖7,在本實(shí)施例中,增量推送模塊350具體包括:搜尋范圍確定單元351,用于依據(jù)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件的創(chuàng)建時(shí)間戳確定通道增量記錄;遍歷搜尋單元352,用于遍歷所述通道增量記錄以確定所述目標(biāo)應(yīng)用程序的增量通道;增量推送單元353,用于向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。具體的,數(shù)據(jù)庫中通道表上的通道記錄還包括記錄時(shí)間。搜尋范圍確定單元351根據(jù)目標(biāo)程序的多個(gè)全量通道文件的創(chuàng)建時(shí)間戳可以確定一個(gè)時(shí)刻(第一時(shí)刻),則通道表中記錄時(shí)間在第一時(shí)刻之后的所有通道記錄即為通道增量記錄,遍歷搜尋單元352根據(jù)目標(biāo)應(yīng)用程序的應(yīng)用id遍歷所述通道增量記錄,通過匹配可以確定目標(biāo)應(yīng)用程序的增量通道,由此,增量推送單元353,可以向確定的增量通道推送目標(biāo)廣播消息。進(jìn)一步的,請參考圖6,在本實(shí)施例中,裝置10還包括:全量推送模塊370,用于當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件不存在時(shí),查詢數(shù)據(jù)庫中的所有通道記錄以向所述目標(biāo)應(yīng)用程序的所有通道推送目標(biāo)廣播消息;異步觸發(fā)模塊380,用于當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件不存在時(shí),觸發(fā)所述文件創(chuàng)建任務(wù)。具體的,當(dāng)搜尋不到目標(biāo)應(yīng)用程序的全量通道文件時(shí),說明目標(biāo)應(yīng)用程序的全量通道文件尚未建立或已經(jīng)丟失。此時(shí),全量推送模塊370可以直接搜索數(shù)據(jù)庫中的通道表,從通道表上的所有通道記錄中,查詢與目標(biāo)應(yīng)用程序的應(yīng)用id匹配的通道記錄,確定目標(biāo)應(yīng)用程序的所有通道,并在確定匹配的通道時(shí),通過該通道向?qū)?yīng)的智能終端推送目標(biāo)廣播消息,使對應(yīng)的智能終端上的目標(biāo)應(yīng)用程序可以接收該目標(biāo)廣播消息。同時(shí),異步觸發(fā)模塊380異步觸發(fā)文件創(chuàng)建任務(wù),由文件創(chuàng)建模塊360開始執(zhí)行任務(wù)創(chuàng)建任務(wù),以創(chuàng)建目標(biāo)程序的全量通道文件。在全量通道文件不存在時(shí),通過搜索數(shù)據(jù)庫中的通道記錄以向?qū)?yīng)的智能終端推送目標(biāo)廣播消息,增加了推送的容錯(cuò)性,通過數(shù)據(jù)庫補(bǔ)充,避免了無法推送的情況。本發(fā)明提出的廣播消息推送控制裝置,當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),依據(jù)搜尋結(jié)果創(chuàng)建多個(gè)推送子任務(wù)和增量子任務(wù);從文件服務(wù)器中下載所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;異步執(zhí)行多個(gè)所述推送子任務(wù),根據(jù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件推送目標(biāo)廣播消息;執(zhí)行所述增量子任務(wù),向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。從而,通過備份應(yīng)用全量通道文件,以多任務(wù)異步并發(fā)方式實(shí)現(xiàn)全量通道文件的廣播消息推送,提高了消息推送的處理性能,以數(shù)據(jù)庫的方式補(bǔ)充增量通道推送,保證了推送用戶的完整性。如圖8所示,本發(fā)明第二實(shí)施例提出一種廣播消息推送控制方法,應(yīng)用于推送服務(wù)器端,所述方法包括:步驟801,當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;若文件存在,則進(jìn)入步驟s802;若不存在,則進(jìn)入步驟s806;具體的,應(yīng)用通道文件列表中記錄了全量通道文件和應(yīng)用程序之間的對應(yīng)關(guān)系,通過應(yīng)用id進(jìn)行搜索,可以確定應(yīng)用程序所擁有的多個(gè)全通道文件。此處,多個(gè)指一個(gè)或一個(gè)以上。應(yīng)用服務(wù)器所發(fā)出的推送請求中,包含了需要推送廣播消息的目標(biāo)應(yīng)用程序的應(yīng)用id,文件搜尋模塊310接收到推送請求后,從中獲取目標(biāo)應(yīng)用程序的應(yīng)用id,就可以通過該應(yīng)用id在應(yīng)用通道文件列表中搜尋并確定當(dāng)前目標(biāo)應(yīng)用程序是否存在對應(yīng)的全量通道文件以及具體的文件數(shù)量??梢岳斫馐?,應(yīng)用通道文件列表既可以存儲在推送服務(wù)器中,也可以存儲在文件服務(wù)器中,或者是同時(shí)存儲在推送服務(wù)器和文件服務(wù)器中并實(shí)時(shí)同步更新。進(jìn)一步的,在本實(shí)施例中,所述方法還包括以下步驟:定時(shí)觸發(fā)文件創(chuàng)建任務(wù),所述文件創(chuàng)建任務(wù)包括查詢數(shù)據(jù)庫中的所有通道記錄,通過多任務(wù)方式為每一個(gè)應(yīng)用程序創(chuàng)建所述應(yīng)用程序的多個(gè)全量通道文件并存儲于所述文件服務(wù)器;具體的,如前文所述,全量通道文件集中存儲有某一個(gè)應(yīng)用程序的通道記錄,且為避免全量通道文件過大,每個(gè)所述全量通道文件的記錄條目數(shù)量為預(yù)設(shè)值,每一個(gè)記錄條目對應(yīng)所述應(yīng)用程序的一個(gè)通道信息。全量通道文件可以由文件創(chuàng)建模塊通過定時(shí)觸發(fā)文件創(chuàng)建任務(wù)而創(chuàng)建。當(dāng)文件創(chuàng)建任務(wù)被觸發(fā)時(shí),文件創(chuàng)建模塊360開始遍歷數(shù)據(jù)庫中存儲的應(yīng)用信息,每遍歷到一個(gè)應(yīng)用程序,則為每一個(gè)應(yīng)用建立文件創(chuàng)建子任務(wù)并立即開始執(zhí)行,通過該文件創(chuàng)建子任務(wù)為該應(yīng)用程序創(chuàng)建歸屬于該應(yīng)用程序的全量通道文件并鎖定全量通道文件的創(chuàng)建時(shí)間戳,直至遍歷完畢。也即,文件創(chuàng)建模塊360通過多任務(wù)方式為每一個(gè)應(yīng)用程序創(chuàng)建全量通道文件,每一個(gè)文件創(chuàng)建子任務(wù)對應(yīng)一個(gè)應(yīng)用程序,將創(chuàng)建一批的全量通道文件。詳細(xì)的,每一個(gè)文件創(chuàng)建子任務(wù)的執(zhí)行過程如下:當(dāng)任務(wù)被執(zhí)行時(shí),登記此時(shí)時(shí)間作為第一時(shí)刻。同時(shí),以分頁形式每次從數(shù)據(jù)庫中的通道表中獲取一定量的通道記錄進(jìn)行查詢,以獲取對應(yīng)應(yīng)用程序的通道記錄并記錄至當(dāng)前全量通道文件中,依次讀取下一分頁直至當(dāng)前全量通道文件記錄條目達(dá)到預(yù)設(shè)值,則當(dāng)全量通道文件創(chuàng)建完畢,創(chuàng)建下一個(gè)全量通道文件,記錄讀取分頁,如此重復(fù),直至查詢完畢通道表中的所有通道記錄,將生成的所有全量通道文件的創(chuàng)建時(shí)間戳標(biāo)記為第一時(shí)刻,并將生成的所有全量通道文件上傳至文件服務(wù)器,同時(shí)更新應(yīng)用通道文件列表。可以理解的是,本發(fā)明對全量通道文件的具體形式不作限制,如表2所示是應(yīng)用a的一個(gè)全量通道文件內(nèi)容示意參考圖,其中記錄了應(yīng)用a的一些通道記錄,包括用戶id以及設(shè)備id(即智能終端id)等信息。全量通道文件中的內(nèi)容可以是如表1所示的表格形式,也可以是其他形式,本發(fā)明對此不作限制,表1中,記錄了全量通道文件所屬的應(yīng)用程序名(應(yīng)用id)以及文件的時(shí)間戳(創(chuàng)建時(shí)間)??梢岳斫獾氖?,文件的命名可以以應(yīng)用id以及創(chuàng)建時(shí)間戳命名,并且,同一批的文件可以依文件數(shù)量進(jìn)行排序,例如假設(shè)文件創(chuàng)建模塊360于2017年03月27日下午四點(diǎn)開始文件創(chuàng)建任務(wù),遍歷到應(yīng)用程序a后通過文件創(chuàng)建子任務(wù)為應(yīng)用程序a創(chuàng)建了一批文件共2個(gè)文件,則應(yīng)用a擁有2兩個(gè)全量通道文件,可以分別命名為“應(yīng)用a201703271600-01”以及“應(yīng)用a201703271600-02”,文件-01與文件-02的之間文件序號并無實(shí)際意義,可以互相調(diào)換。表2應(yīng)用a全量通道表步驟802,依據(jù)搜尋結(jié)果創(chuàng)建多個(gè)推送子任務(wù)和增量子任務(wù),其中,所述推送子任務(wù)與所述目標(biāo)應(yīng)用程序的全量通道文件一一對應(yīng);具體的,當(dāng)目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),任務(wù)創(chuàng)建模塊320將根據(jù)全量通道文件的數(shù)量對應(yīng)建立相同數(shù)量的推送子任務(wù),同時(shí)建立一個(gè)增量子任務(wù),例如,若搜索到目標(biāo)應(yīng)用程序存在5個(gè)全量通道文件,則任務(wù)創(chuàng)建模塊320將建立5個(gè)推送子任務(wù)和1個(gè)增量子任務(wù)。步驟803,從文件服務(wù)器中下載所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;文件推送模塊340,用于異步執(zhí)行多個(gè)所述推送子任務(wù),其中每個(gè)所述推送子任務(wù)為根據(jù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件推送目標(biāo)廣播消息;具體的,當(dāng)目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),文件下載子模塊330根據(jù)搜尋結(jié)果從文件服務(wù)器中下載目標(biāo)應(yīng)用程序的多個(gè)全量通道文件。下載后,文件推送模塊340開始執(zhí)行上述多個(gè)創(chuàng)建的推送子任務(wù),執(zhí)行方式為異步。通過上述推送子任務(wù),文件推送模塊340根據(jù)每一個(gè)推送子任務(wù)對應(yīng)的目標(biāo)應(yīng)用程序的全量通道文件向全量通道文件上的每一個(gè)通道推送目標(biāo)廣播消息。例如,仍以應(yīng)用程序a為例,應(yīng)用程序a有兩個(gè)全量通道文件,“應(yīng)用a201703271600-01”以及“應(yīng)用a201703271600-02”,假設(shè)推送子任務(wù)1對文件-01,推送子任務(wù)2對應(yīng)文件-02,則執(zhí)行推送子任務(wù)1時(shí),將根據(jù)文件-01上的通道記錄,通過記錄的各個(gè)通道推送目標(biāo)廣播消息,最終,用戶133、134、136將收到該目標(biāo)廣播消息,也即物理地址分別為mac1、mac5、mac6的智能終端上的應(yīng)用a將收到該目標(biāo)廣播消息??梢岳斫馐?,在本實(shí)施例中,全量通道文件的下載,推送子任務(wù)的執(zhí)行先后本發(fā)明并不限制。當(dāng)搜尋到一個(gè)全量通道文件,可以同步執(zhí)行文件下載以及子任務(wù)創(chuàng)建。當(dāng)某一個(gè)全量通道文件下載完成,只要其對應(yīng)的推送子任務(wù)已經(jīng)開始創(chuàng)建,即可以開始執(zhí)行對應(yīng)的推送子任務(wù),反之則需要等待其創(chuàng)建后才開始執(zhí)行。當(dāng)一個(gè)推送子任務(wù)創(chuàng)建并開始執(zhí)行時(shí),若此時(shí)該推送子任務(wù)對應(yīng)的全量通道文件還未下載未完成,則需要等待文件下載完成。不同推送子任務(wù)之間的執(zhí)行互不影響,也即推送子任務(wù)的執(zhí)行方式為異步執(zhí)行。詳細(xì)的,在本實(shí)施例中,請參考圖10,執(zhí)行每個(gè)推送子任務(wù)的過程如下:步驟s101,遍歷所述推送子任務(wù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件以確定目標(biāo)通道數(shù)量;步驟s102,依據(jù)所述目標(biāo)通道數(shù)量和目標(biāo)廣播消息創(chuàng)建相同數(shù)量的離線消息;步驟s103,查詢所述目標(biāo)通道的在線狀態(tài)以確定待推送目標(biāo)通道;步驟s104,向所有所述待推送目標(biāo)通道推送對應(yīng)的離線消息。具體的,仍以應(yīng)用程序a為例,應(yīng)用程序a有兩個(gè)全量通道文件,“應(yīng)用a201703271600-01”以及“應(yīng)用a201703271600-02”,假設(shè)推送子任務(wù)1對文件-01,推送子任務(wù)2對應(yīng)文件-02。執(zhí)行推送子任務(wù)1時(shí),文件推送模塊340遍歷文件-1上的每一條通道記錄,最終確定需要推送的目標(biāo)通道的數(shù)量,對應(yīng)每一個(gè)目標(biāo)通道分別創(chuàng)建離線消息,離線消息的內(nèi)容根據(jù)目標(biāo)廣播消息確定。然后,查詢確定的所有目標(biāo)通道的當(dāng)前在線狀態(tài),在線的目標(biāo)通道列為待推送目標(biāo)通道,將該待推送目標(biāo)通道對應(yīng)的離線消息通過該待推送目標(biāo)通道進(jìn)行推送,不在線的目標(biāo)通道則可以暫緩?fù)扑停蚴嵌〞r(shí)查詢之后等待在線再進(jìn)行推送,本發(fā)明對于不在線目標(biāo)通道的推送處理不作限制。此處,在線狀態(tài)是指智能終端上應(yīng)用程序與推送服務(wù)器之間的推送通道是否仍維持連接狀態(tài),即智能終端和推送服務(wù)器200之間維持的tcp連接是斷開還是維持鏈接狀態(tài)。步驟s805,執(zhí)行所述增量子任務(wù),其中所述增量任務(wù)為向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。具體的,增量推送模塊350通過執(zhí)行增量子任務(wù),可以向目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。此處,增量通道主要包括目標(biāo)應(yīng)用程序的全量通道文件創(chuàng)建到進(jìn)行推送期間,數(shù)據(jù)庫中通道表上新增的目標(biāo)應(yīng)用程序的通道記錄。通過執(zhí)行增量子任務(wù),可以對未記錄入全量通道文件中的通道記錄進(jìn)行補(bǔ)充推送,以避免遺漏。進(jìn)一步的,請同時(shí)參考圖9,在本實(shí)施例中,步驟s805具體包括:步驟s901,依據(jù)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件的創(chuàng)建時(shí)間戳確定通道增量記錄;步驟s902,遍歷所述通道增量記錄以確定所述目標(biāo)應(yīng)用程序的增量通道;步驟s903,向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。具體的,數(shù)據(jù)庫中通道表上的通道記錄還包括記錄時(shí)間。搜尋范圍確定單元351根據(jù)目標(biāo)程序的多個(gè)全量通道文件的創(chuàng)建時(shí)間戳可以確定一個(gè)時(shí)刻(第一時(shí)刻),則通道表中記錄時(shí)間在第一時(shí)刻之后的所有通道記錄即為通道增量記錄,遍歷搜尋單元352根據(jù)目標(biāo)應(yīng)用程序的應(yīng)用id遍歷所述通道增量記錄,通過匹配可以確定目標(biāo)應(yīng)用程序的增量通道,由此,增量推送單元353,可以向確定的增量通道推送目標(biāo)廣播消息。步驟s806,查詢數(shù)據(jù)庫中的所有通道記錄以向所述目標(biāo)應(yīng)用程序的所有通道推送目標(biāo)廣播消息;步驟s807,觸發(fā)文件創(chuàng)建任務(wù)。具體的,當(dāng)搜尋不到目標(biāo)應(yīng)用程序的全量通道文件時(shí),說明目標(biāo)應(yīng)用程序的全量通道文件尚未建立或已經(jīng)丟失。此時(shí),可以直接搜索數(shù)據(jù)庫中的通道表,從通道表上的所有通道記錄中,查詢與目標(biāo)應(yīng)用程序的應(yīng)用id匹配的通道記錄,確定目標(biāo)應(yīng)用程序的所有通道,并在確定匹配的通道時(shí),通過該通道向?qū)?yīng)的智能終端推送目標(biāo)廣播消息,使對應(yīng)的智能終端上的目標(biāo)應(yīng)用程序可以接收該目標(biāo)廣播消息。同時(shí),異步觸發(fā)文件創(chuàng)建任務(wù),由文件創(chuàng)建模塊360開始執(zhí)行任務(wù)創(chuàng)建任務(wù),以創(chuàng)建目標(biāo)程序的全量通道文件。在全量通道文件不存在時(shí),通過搜索數(shù)據(jù)庫中的通道記錄以向?qū)?yīng)的智能終端推送目標(biāo)廣播消息,增加了推送的容錯(cuò)性,通過數(shù)據(jù)庫補(bǔ)充,避免了無法推送的情況。本發(fā)明提出的廣播消息推送控制方法,當(dāng)接收到應(yīng)用服務(wù)器的推送請求時(shí),從應(yīng)用通道文件列表中搜尋目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;當(dāng)所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件存在時(shí),依據(jù)搜尋結(jié)果創(chuàng)建多個(gè)推送子任務(wù)和增量子任務(wù);從文件服務(wù)器中下載所述目標(biāo)應(yīng)用程序的多個(gè)全量通道文件;異步執(zhí)行多個(gè)所述推送子任務(wù),根據(jù)對應(yīng)的所述目標(biāo)應(yīng)用程序的全量通道文件推送目標(biāo)廣播消息;執(zhí)行所述增量子任務(wù),向所述目標(biāo)應(yīng)用程序的增量通道推送目標(biāo)廣播消息。從而,通過備份應(yīng)用全量通道文件,以多任務(wù)異步并發(fā)方式實(shí)現(xiàn)全量通道文件的廣播消息推送,提高了消息推送的處理性能,以數(shù)據(jù)庫的方式補(bǔ)充增量通道推送,保證了推送用戶的完整性。需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣,在不沖突的情況下,本發(fā)明實(shí)施例及實(shí)施例中的特征可以相互組合實(shí)施。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的
      技術(shù)領(lǐng)域
      ,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。當(dāng)前第1頁12
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1