一種推送離線消息的方法及設(shè)備的制造方法
【專利摘要】本發(fā)明提供一種推送離線消息的方法及設(shè)備,通過確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài);當確定消息推送服務(wù)器中有需要推送給移動應(yīng)用的用戶的離線消息時,獲取推送服務(wù)器當前的負載狀態(tài)信息;對獲取的推送服務(wù)器當前的負載狀態(tài)信息進行分析,確定向移動應(yīng)用所在的用戶設(shè)備推送移動應(yīng)用的用戶的離線消息的推送數(shù)量;按照所述推送數(shù)量向移動應(yīng)用所在的用戶設(shè)備推送移動應(yīng)用的用戶的離線消息。這樣,以服務(wù)器的負載狀態(tài)信息作為依據(jù),確定離線消息的推送數(shù)量,離線消息的推送數(shù)量不再是固定的,在服務(wù)器負載低時,可以推送更多數(shù)量的離線消息,服務(wù)器負載高時減少離線消息的推送數(shù)量,進而可以更充分的利用消息推送服務(wù)器的資源。
【專利說明】
_種推送禹線消息的方法及設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及移動互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種推送離線消息的方法及設(shè)備。
【背景技術(shù)】
[0002]隨著移動互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展和移動客戶端的智能化發(fā)展,出現(xiàn)了消息推送技術(shù)。消息推送技術(shù)通過在消息推送服務(wù)器與用戶設(shè)備之間建立的TCP連接,實現(xiàn)了從移動應(yīng)用的開發(fā)者到移動應(yīng)用的用戶的消息推送。對于開發(fā)者而言,通過向用戶推送消息,可以提高用戶對應(yīng)用產(chǎn)品的忠誠度,進而提高應(yīng)用產(chǎn)品的留存率;對于用戶而言,通過接收推送的消息,可以及時準確得掌握動態(tài)信息。
[0003]目前,消息推送技術(shù)既可以用于向當前在線的用戶設(shè)備推送實時消息(又稱在線消息),又可以用于向離線的用戶設(shè)備推送離線消息。但是,由于消息推送服務(wù)器需要推送的實時消息數(shù)量通常較大,為了降低服務(wù)器的資源消耗,消息推送服務(wù)器通常僅會優(yōu)先保證實時消息的全部推送,而對離線消息推送數(shù)量采取嚴格限制措施,即只推送較少固定數(shù)量的離線消息,例如,只推送最后一條離線消息,甚至在某些情況下,完全不推送離線消息。
[0004]這種對離線消息推送數(shù)量采取嚴格限制措施的方法,雖然在消息推送服務(wù)器任務(wù)繁重時,可能起到降低服務(wù)器負載的作用,但是,當消息推送服務(wù)器空閑時,由于嚴格限制對離線消息推送數(shù)量則可能導(dǎo)致消息推送服務(wù)器的資源得不到充分利用。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請實施例提供一種推送離線消息的方法及設(shè)備,用以解決現(xiàn)有技術(shù)中當消息推送服務(wù)器空閑時,由于嚴格限制對離線消息推送數(shù)量則可能導(dǎo)致消息推送服務(wù)器的資源得不到充分利用的問題。
[0006]本申請實施例提供了一種推送離線消息的方法,包括:
[0007]確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài);
[0008]當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,獲取所述消息推送服務(wù)器當前的負載狀態(tài)信息;
[0009]對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量;
[0010]按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。
[0011]優(yōu)選的,所述負載狀態(tài)信息包括CPU使用率信息、內(nèi)存使用率信息和/或接入設(shè)備數(shù)量。
[0012]優(yōu)選的,當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,所述方法還包括:
[0013]獲取所述離線消息的屬性信息,對獲取的所述離線消息的屬性信息進行分析;
[0014]根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量,其中,所述離線消息的屬性信息包括消息提供者的信息、消息接收者信息和/或推送離線消息的閾值信息。
[0015]優(yōu)選的,所述根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量具體包括:
[0016]根據(jù)第一預(yù)設(shè)規(guī)則確定所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息的權(quán)重;
[0017]根據(jù)所述權(quán)重對負載狀態(tài)信息和離線消息的屬性信息進行加權(quán);
[0018]根據(jù)加權(quán)的結(jié)果確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0019]優(yōu)選的,所述根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量具體包括:
[0020]根據(jù)所述消息推送服務(wù)器當前的負載信息確定能夠推送離線消息的最大推送數(shù)量;
[0021 ]根據(jù)第二預(yù)設(shè)規(guī)則確定所述離線消息的屬性信息的優(yōu)先級;
[0022]根據(jù)所述最大推送數(shù)量和所述優(yōu)先級高低確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0023]優(yōu)選的,所述消息推送服務(wù)器與所述移動應(yīng)用所在的用戶設(shè)備之間通過TCP長連接方式連接,則按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息包括:
[0024]按照所述推送數(shù)量通過TCP長連接向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。
[0025]本申請實施例提供了一種推送離線消息的設(shè)備,包括:確定單元、獲取單元、分析單元和推送單元。
[0026]所述確定單元,用于確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài);
[0027]所述獲取單元,用于當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,獲取所述消息推送服務(wù)器當前的負載狀態(tài)信息;
[0028]所述分析單元,用于對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量;
[0029]所述推送單元,用于按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。
[0030]本申請實施例提供的設(shè)備中的獲取單元、分析單元還可以有以下功能:
[0031 ]所述獲取單元,還用于獲取所述離線消息的屬性信息;
[0032]所述分析單元,還用于對獲取的所述離線消息的屬性信息進行分析,根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量,其中,所述離線消息的屬性信息包括消息提供者的信息、消息接收者信息和/或推送離線消息的閾值信息。
[0033]優(yōu)選的,所述分析單元,還用于根據(jù)第一預(yù)設(shè)規(guī)則確定所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息的權(quán)重;根據(jù)所述權(quán)重對負載狀態(tài)信息和離線消息的屬性信息進行加權(quán);根據(jù)加權(quán)的結(jié)果確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0034]優(yōu)選的,所述分析單元,還用于根據(jù)所述消息推送服務(wù)器當前的負載信息確定能夠推送離線消息的最大推送數(shù)量;根據(jù)第二預(yù)設(shè)規(guī)則確定所述離線消息的屬性信息的優(yōu)先級;根據(jù)所述最大推送數(shù)量和所述優(yōu)先級高低確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0035]本申請實施例提供了推送離線消息的方法及設(shè)備,在進行離線消息推送時,根據(jù)消息推送服務(wù)器當前的負載狀態(tài)信息確定離線消息的推送數(shù)量,進而按照確定的推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送離線消息。與現(xiàn)有技術(shù)相比,本實施例以服務(wù)器負載狀態(tài)信息作為重要參考依據(jù)確定離線消息推送數(shù)量,使得離線消息推送的數(shù)量隨著負載狀態(tài)而變化,在消息推送服務(wù)器負載低時,可以推送更多的離線消息,在消息推送服務(wù)器負載高時,則減少離線消息的推送數(shù)量,進而可以更充分的利用消息推送服務(wù)器的資源。
[0036]此外,對用戶而言,在消息推送服務(wù)器負載高時,接收到的離線消息可能與現(xiàn)有技術(shù)一樣,但在消息推送服務(wù)器負載不高時,會接收到更多的離線消息,從而總體上,將使接收到更多離線消息的概率增大,有利于滿足用戶對獲取更多離線信息的需要,提高了用戶體驗。
【附圖說明】
[0037]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1為本申請實施例提供的消息推送系統(tǒng)的結(jié)構(gòu)示意圖;
[0039]圖2為本申請實施例提供的推送消息顯示位置的示意圖;
[0040]圖3為本申請實施例提供的消息推送系統(tǒng)的示意圖;
[0041 ]圖4為本申請實施例提供的一種推送離線消息的方法的流程示意圖;
[0042]圖5為本申請實施例提供的消息推送分析的示意圖;
[0043]圖6為本申請實施例提供的一種推送離線消息的設(shè)備的結(jié)構(gòu)示意圖;
[0044]圖7為本申請實施例提供的一種推送離線消息的設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0045]為了實現(xiàn)本申請的目的,本申請實施例提供了一種推送離線消息的方法及設(shè)備,按照推送數(shù)量向消息接收者推送離線消息,有效避免了由于對離線消息的推送采取嚴格限制措施,不能最大化的利用服務(wù)器的資源的問題,充分利用了服務(wù)器資源,滿足了用戶對信息獲取的需要,提高了用戶體驗。
[0046]下面結(jié)合說明書附圖對本申請各個實施例中的技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0047]圖1為本申請實施例提供的消息推送系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,所述消息推送系統(tǒng)包括消息提供者11、消息推送服務(wù)器12和消息接收者13。
[0048]消息提供者11,用于將需要推送給消息接收者的推送消息發(fā)送至消息推送服務(wù)器。這里的消息提供者11可以是通過消息推送服務(wù)器推送消息的應(yīng)用開發(fā)商,也可以是接收應(yīng)用開發(fā)商的委托進行廣告發(fā)布、消息訂閱等服務(wù)的中間商。
[0049]消息提供者11提供的待推送消息可以體現(xiàn)為各種形式、各種類型。就推送消息的內(nèi)容而言,可以是日程提醒,動態(tài)更新、活動預(yù)告、升級提醒和進度提示等,也可以是其它內(nèi)容的消息,這里對推送消息的類型不做具體限定。具體實例可以是這樣的:地圖應(yīng)用的推送消息內(nèi)容可以是“明起上班提前出門!本周三到周五,市內(nèi)多路段頻繁交通管制”;英語閱讀應(yīng)用的推送信息可以是一篇英文雜志或者短文;某款應(yīng)用需要升級的推送消息內(nèi)容可以是“親,今天發(fā)布的3.3版應(yīng)用,新增了真人發(fā)音功能,更可下載離線語音庫,快來升級吧”。就推送消息自身所占流量而言,所述推送消息可以是指消耗流量較少的信息,包括文本信息和網(wǎng)頁鏈接,也可以是指消耗流量較大的信息,包括視頻和圖片,但一般優(yōu)選針對消耗流量少的信息進行推送。
[0050]消息推送服務(wù)器12,用于接收所述推送消息,并在確定所述消息接收者在線時,向所述消息接收者推送所述推送消息。其中,所述消息推送服務(wù)器可以是進行推送業(yè)務(wù)的消息推送服務(wù)器,也可以是消息推送服務(wù)器集群,這里不做具體限定。這里“消息接收者在線”,可以指所述消息推送服務(wù)器與所述消息接收者建立了連接,通過消息推送服務(wù)器與消息接收者之間的TCP連接,所述消息推送服務(wù)器可以向所述消息接收者推送消息。
[0051]需要說明的是,所述消息推送服務(wù)器與所述消息接收者TCP連接建立的步驟可以是:首先,由消息接收者向消息推送服務(wù)器發(fā)送TCP連接建立請求,然后,消息推送服務(wù)器接收所述消息接收者的TCP連接建立請求,并建立所述消息推送服務(wù)器與所述消息接收者之間的TCP連接。
[0052]消息接收者13,用于向所述消息推送服務(wù)器發(fā)送TCP連接建立請求,并在所述消息推送服務(wù)器與所述消息接收者之間的TCP連接建立后,接收所述消息推送服務(wù)器推送的推送消息。其中,所述消息接收者可以是移動應(yīng)用所在的用戶設(shè)備,在所述用戶設(shè)備上安裝了接收消息的的后臺運行程序,可以由該后臺運行程序直接接收消息推送服務(wù)器推送的離線消息。圖2顯示出了一個移動終端設(shè)備在接收到推送消息后呈現(xiàn)的情況。在該顯示界面上,既包括當前日期接收到的推送消息,也包括當前日期之前接收到的推送消息。推送消息的內(nèi)容可以是用戶在移動終端上安裝了相關(guān)應(yīng)用,該應(yīng)用涉及的消息。在圖2中,用戶安裝了“App Store”應(yīng)用,接收到關(guān)于該應(yīng)用的更新狀況信息,還安裝了 “高德地圖”應(yīng)用,接收到關(guān)于路況的信息。此外,從圖2中還可以看出,除在顯示界面上呈現(xiàn)推送消息本身外,還可以呈現(xiàn)出接收消息的時間,該時間可以體現(xiàn)為絕對時間,比如,該界面上呈現(xiàn)的昨天接收的一條推送消息,其接收時間為昨天下午7: 20,也可以體現(xiàn)為相對時間,比如,“高德地圖”應(yīng)用的推送消息顯示為“3小時前”接收的。
[0053]圖3進一步示例了在多個消息提供者與多個消息接收者之間進行信息推送的框架。從圖3可以看出,消息推送服務(wù)器可以接收不只一個消息提供者的推送消息(比如,圖中的消息提供者A、消息提供者B),且消息推送服務(wù)器可以與很多消息接收者(比如消息接收者A、B、C、D等)建立了 TCP連接。由此可知,消息推送系統(tǒng)中的消息提供者向消息推送服務(wù)器發(fā)送消息,消息推送服務(wù)器向消息接收者推送消息,通過消息推送系統(tǒng)中的消息提供者、消息推送服務(wù)器和消息接收者之間的緊密配合,通過相互之間建立的連接和數(shù)據(jù)傳輸實現(xiàn)了消息的推送。
[0054]圖4為本申請實施例提供的一種推送離線消息的方法的流程示意圖。如圖4所示,所述方法包括:
[0055]步驟401,確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài)。
[0056]其中,所述移動應(yīng)用所在的用戶設(shè)備為在線狀態(tài),可以指消息接收者與消息推送服務(wù)器之間建立了 TCP連接,所述移動應(yīng)用所在的用戶設(shè)備為離線狀態(tài),則可以指消息接收者與消息推送服務(wù)器之間沒有建立TCP連接。當然,需要說明的是,這里的“離線”和“在線”是相對的概念,人們可以根據(jù)自身消息推送的需要,在不超出其本身語義和技術(shù)場景的情況下,對其進行界定。
[0057]在步驟401中,消息推送服務(wù)器接收所述消息接收者的TCP連接請求,并同意所述用戶的TCP連接請求,消息推送服務(wù)器確定所述用戶由離線狀態(tài)轉(zhuǎn)換成在線狀態(tài),并確定在所述移動應(yīng)用所在的用戶設(shè)備為離線狀態(tài)期間,所述消息推送服務(wù)器中有需要推送給所述消息接收者的離線消息。
[0058]需要說明的是,當所述移動應(yīng)用所在的用戶設(shè)備為離線狀態(tài)時,消息推送服務(wù)器不能向所述消息接收者推送消息,只有在所述消息接收者為在線狀態(tài)時,即所述消息接收者與消息推送服務(wù)器之間建立了TCP連接后,消息推送服務(wù)器才能向所述消息接收者推送消息。
[0059]在實際應(yīng)用過程中,執(zhí)行步驟401時,可能還存在另一種情形,當消息推送服務(wù)器確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài)時,并確定在所述消息接收者離線狀態(tài)期間,所述消息推送服務(wù)器中沒有向所述消息接收者推送的消息,此時,只需保持所述消息接收者與消息推送服務(wù)器之間的TCP連接,在有推送消息時,向所述消息接收者推送消息,即在這種情形下,所述消息推送服務(wù)器不執(zhí)行本申請實施例的后續(xù)操作。
[0060]在實際應(yīng)用過程中,所述消息推送服務(wù)器與所述消息接收者的連接可以體現(xiàn)為TCP連接,其中,所述TCP連接可以是長連接,也可以是短連接。盡管在實現(xiàn)本申請的發(fā)明目的過程中,無論那種TCP連接形式均不影響,但是,由于長連接可以在一次建立完連接后,可以在?;钇谙迌?nèi)穩(wěn)定地、持續(xù)或可靠地發(fā)揮作用,因而從減少推送服務(wù)器和消息接收者之間的資源消耗而言,本申請可以優(yōu)選采用TCP長連接作為推送離線消息的渠道形式。
[0061]優(yōu)選的,在步驟401之前,還可以進行以下步驟,即在確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài)之前,所述方法還包括:確定所述移動應(yīng)用所在的用戶設(shè)備為離線狀態(tài)時,接收消息提供者推送的離線消息,并儲存所述離線消息。
[0062]具體地,在所述移動應(yīng)用所在的用戶設(shè)備為離線狀態(tài)期間,消息提供者可能會提供給消息接收者多條離線消息,這些消息被存儲在消息推送服務(wù)器中,以便當所述消息接收者再次為在線狀態(tài)時,考慮向消息接收者推送這些離線消息。消息推送服務(wù)器在儲存離線消息時,可以將離線消息儲存在消息推送服務(wù)器的數(shù)據(jù)庫中,也可以存儲在某個存儲器中,離線消息具體的儲存位置,本申請不做具體限定。優(yōu)選的,當消息接收者一定的時間段內(nèi)沒有上線,所述離線消息的時效性就會變差,因此,消息推送服務(wù)器在儲存離線消息時,還可以有以下方式:確定所述用戶為離線狀態(tài)時,消息推送服務(wù)器將所述離線消息在設(shè)定時間內(nèi)儲存。
[0063]需要說明的是,所述離線消息會在設(shè)定時間內(nèi)被儲存在消息推送服務(wù)器中,當所述離線消息在消息推送服務(wù)器中儲存的時間超過所述設(shè)定時間時,刪除所述離線消息,被刪除的離線消息將不會推送給所述用戶。這樣,通過刪除失去時效性的離線消息,使向消息接收者推送的離線消息的有效性得以保證,提高用戶體驗。
[0064]步驟402,當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,獲取所述消息推送服務(wù)器當前的負載狀態(tài)信息。
[0065]具體地,所述消息推送服務(wù)器當前的負載狀態(tài)信息,可以是消息推送服務(wù)器當前的CHJ使用率,還可以是消息推送服務(wù)器當前的內(nèi)存使用率,或者當前接入消息推送服務(wù)器的設(shè)備數(shù)量。無論是哪種負載狀態(tài)信息的體現(xiàn)形式,只要不影響本申請發(fā)明目的的實現(xiàn),均可以將它們?nèi)炕蛘卟糠肿鳛榇_定向所述消息接收者推送離線消息的推送數(shù)量的依據(jù)。
[0066]當然,在實際應(yīng)用過程中,除了考慮消息推送服務(wù)器的負載狀態(tài)信息外,還可以考慮將離線消息的屬性信息,作為所述消息推送服務(wù)器向所述消息接收者推送離線消息的推送數(shù)量的確定依據(jù)。具體地,所述離線消息的屬性信息,可以是消息提供者的信息和消息接收者的信息,也可以是離線消息的數(shù)量和離線消息的類型,還可以是其它所述離線消息的屬性信息,只要所述離線消息的屬性信息能作為確定向所述消息接收者推送離線消息的推送數(shù)量的確定依據(jù)都適用于本申請,這里不做具體限定。
[0067]這里的所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息可以從所述消息推送服務(wù)器的數(shù)據(jù)庫中獲取,也可以是推送服務(wù)器實時監(jiān)測的方式獲取,還可以按照其它方式獲取,本申請對獲取所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息的方式不做具體限定。
[0068]步驟403,對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0069]其中,所述消息推送服務(wù)器的負載狀態(tài)信息包括消息推送服務(wù)器當前的CPU使用率和/或消息推送服務(wù)器當前的內(nèi)存使用率和/或接入設(shè)備數(shù)量,具體可以根據(jù)消息推送服務(wù)器的負載狀態(tài)信息中的一個或多個作為確定依據(jù)進行分析,并確定向所述消息接收者推送離線消息的推送數(shù)量。需要說明的是,消息推送服務(wù)器當前的CHJ使用率和內(nèi)存使用率的影響因素包括:所述消息推送服務(wù)器建立TCP連接的數(shù)量、消息的推送數(shù)量和運算的復(fù)雜程度,具體的,還可以選擇所述消息推送服務(wù)器建立TCP連接的數(shù)量、消息的推送數(shù)量和運算的復(fù)雜程度作為確定依據(jù),確定向所述消息接收者推送離線消息的推送數(shù)量。作為示例,下面主要針對以CPU使用率和內(nèi)存使用率作為分析對象確定推送消息數(shù)量的情形進行說明:
[0070]對于通過分析消息推送服務(wù)器當前的CPU使用率,確定向所述消息接收者推送離線消息的推送數(shù)量的情形:當消息推送服務(wù)器的CPU使用率低于設(shè)定數(shù)值時,向所述消息接收者推送離線消息的推送數(shù)量,可以是向所述消息接收者推送全部離線消息;當所述消息推送服務(wù)器當前的CPU使用率高于CPU設(shè)定閾值時,在保證推送基本數(shù)量的離線消息的基礎(chǔ)上,減少向所述消息接收者推送的離線消息數(shù)量。
[0071]對于通過分析消息推送服務(wù)器當前的內(nèi)存使用率,確定向所述消息接收者推送離線消息的推送數(shù)量的情形:當消息推送服務(wù)器的內(nèi)存使用率低于設(shè)定數(shù)值時,向所述消息接收者推送離線消息的推送數(shù)量,可以是向所述消息接收者推送全部離線消息;當所述消息推送服務(wù)器當前的內(nèi)存使用率高于內(nèi)存設(shè)定閾值時,在保證推送基本數(shù)量的離線消息的基礎(chǔ)上,減少向所述消息接收者推送的離線消息數(shù)量。
[0072]需要說明的是,當需要減少離線消息的推送數(shù)量時,可以是根據(jù)離線消息儲存時間長短決定,向所述消息接收者推送儲存時間短的離線消息,也可以是按照其它方式?jīng)Q定,這里不做具體限定。
[0073]如前所述,除了本申請實施例提供的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行分析外,所述方法還可以獲取所述離線消息的屬性信息,對獲取的所述離線消息的屬性信息進行分析,將其作為確定向所述用戶推送的離線消息數(shù)量的另一個依據(jù)。需要說明的是,分析向所述用戶推送的離線消息數(shù)量的確定依據(jù)可以是所述離線消息的屬性信息中的一個或多個,這里不做具體限定。
[0074]在實際應(yīng)用過程中,當以所述離線消息的屬性信息作為分析對象進行分析時,可以通過分析屬性信息的優(yōu)先級來確定推送離線消息的數(shù)量。這里的優(yōu)先級可以是用數(shù)值來表示,也可以是用等級來表示,這里對優(yōu)先級的形式不做具體限定。下面以屬性信息分別為消息提供者的信息、消息接收者的信息、離線消息類型為例進行說明:
[0075]對于通過分析所述離線消息的屬性信息中消息提供者的信息確定向所述用戶推送的離線消息數(shù)量的情形:
[0076]先按照一定的預(yù)設(shè)規(guī)則確定消息提供者的優(yōu)先級。比如,消息提供者的信息的優(yōu)先級的確定方式,可以按照所述消息提供者是否為付費消息提供者確定,即確定付費的消息提供者的所述優(yōu)先級為高優(yōu)先級,未付費的消息提供者的所述優(yōu)先級為低優(yōu)先級。此外,消息提供者的信息的優(yōu)先級的確定方式,還可以按照所述消息提供者的等級高低來確定,還可以是所述消息提供者的重要程度來確定,還可以按照其它方式確定,這里不做具體限定。然后,根據(jù)消息推送服務(wù)器當前的負載信息確定能夠推送離線消息的最大推送數(shù)量。在確定上述兩個因素后(也可以先確定最大推送消息的數(shù)量,再確定屬性消息優(yōu)先級),具體推送離線消息時,對于所述消息提供者的信息為高優(yōu)先級的,在當前推送服務(wù)器負載狀態(tài)確定的最大推送消息數(shù)量的基礎(chǔ)上,優(yōu)先保證推送優(yōu)先級高的消息提供者提供的離線消息。
[0077]對于通過分析所述離線消息的屬性信息中消息接收者的信息確定向所述用戶推送的離線消息數(shù)量的情形:
[0078]先按照一定的預(yù)設(shè)規(guī)則確定消息接收者的優(yōu)先級。比如,消息接收者的信息的優(yōu)先級,可以按照所述消息接收者是否為所述消息提供者的VIP用戶確定,即消息提供者的VIP用戶,確定所述消息接收者的信息為高優(yōu)先級,非消息提供者的VIP用戶,確定所述消息接收者的信息為低優(yōu)先級。此外,消息接收者的信息的優(yōu)先級,還可以按照用戶的賬號等級確定,等級高的用戶優(yōu)先級高于等級低的用戶,也可以按照其它方式確定,這里不做具體限定。在推送離線消息時,所述消息接收者的信息如果為高優(yōu)先級,在推送服務(wù)器當前負載狀態(tài)能夠提供的推送離線消息的數(shù)量最大閾值范圍內(nèi),消息推送服務(wù)器優(yōu)先向優(yōu)先級高的用戶推送離線消息。
[0079]對于通過分析所述離線消息的屬性信息中離線消息的類型確定向所述用戶推送的離線消息數(shù)量的情形:
[0080]先按照一定的預(yù)設(shè)規(guī)則確定離線消息類型的優(yōu)先級。比如,離線消息的類型的優(yōu)先級,可以按照所述離線消息的類型是否對時效性要求高確定,即確定所述離線消息的類型對時效性要求高的所述優(yōu)先級為高優(yōu)先級,確定所述離線消息的類型對時效性要求不高的所述優(yōu)先級為低優(yōu)先級,在推送離線消息時,所述消息提供者的信息為高優(yōu)先級的,優(yōu)先得到推送離線消息的保證。
[0081]實際上,上述內(nèi)容主要從優(yōu)先級的角度探討了推送離散數(shù)量的問題,除此之外,還可以從權(quán)重的角度考慮如何來確定推送離線消息的數(shù)量。
[0082]根據(jù)第一預(yù)設(shè)規(guī)則確定所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息的權(quán)重;
[0083]根據(jù)所述權(quán)重對負載狀態(tài)信息和離線消息的屬性信息進行加權(quán);
[0084]根據(jù)加權(quán)的結(jié)果確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0085]具體地,按照賦予權(quán)重的分析方法,即從所述消息推送服務(wù)器當前的負載狀態(tài)信息和/或所述離線消息的屬性信息中篩選出一個或多個作為分析對象,然后按照已定的預(yù)設(shè)規(guī)則確定它們在決定推送消息數(shù)量這一事項上所占的權(quán)重,然后將每個分析對象的得分與權(quán)重相乘,得到的每個乘積再求和得到總得分,通過分析總得分,確定向所述消息接收者推送離線消息的推送數(shù)量。
[0086]例如,圖5為本申請實施例提供的消息推送分析的示意圖,如圖5所示,以消息推送服務(wù)器的CPU利用率、內(nèi)存利用率、消息提供者信息、消息接收者信息和離線消息的類型信息為確定依據(jù),分析每個確定依據(jù)當前是高優(yōu)先級還是低優(yōu)先級,當所述確定依據(jù)為高優(yōu)先級時,計100分,當所述確定依據(jù)為低優(yōu)先級時,計40分,并為每個確定依據(jù)賦予一個權(quán)重,CPU利用率的設(shè)定權(quán)重為50%,內(nèi)存利用率的設(shè)定權(quán)重為25%,消息提供者信息的設(shè)定權(quán)重為15%,消息接收者信息的設(shè)定權(quán)重為10%,離線消息類型的設(shè)定權(quán)重為5%,此時CPU利用率和內(nèi)存利用率處于高優(yōu)先級,則分別得分100,消息提供者信息、消息接收者信息和離線消息的類型信息處于低優(yōu)先級,則分別得分40,然后將每個確定依據(jù)的得分與權(quán)重相乘,得到的每個乘積再加和得到總得分,此時得到總優(yōu)先級為87分,通過分析總優(yōu)先級得分確定向所述消息接收者推送離線消息的推送數(shù)量,此時判斷總優(yōu)先級得分較高,在滿足基本推送數(shù)量的基礎(chǔ)上,推送更多的離線消息。
[0087]需要說明的是,本申請實施例的分析方法除上述提及的兩個方向外,也可以按照其它方法進行分析,只要通過所述分析方法可以確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量就可適用于本申請,這里對具體的分析方法不做具體限定。
[0088]步驟404,按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。
[0089]具體地,消息推送服務(wù)器根據(jù)確定的向所述消息接收者推送離線消息的推送數(shù)量,調(diào)取并篩選出離線消息,向所述消息接收者推送離線消息。
[0090]上述實施例提供了推送離線消息的方法,該方法在進行離線消息推送時,根據(jù)消息推送服務(wù)器當前的負載狀態(tài)信息確定離線消息的推送數(shù)量,進而按照確定的推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送離線消息。與現(xiàn)有技術(shù)相比,本實施例以服務(wù)器負載狀態(tài)信息作為重要參考依據(jù)確定離線消息推送數(shù)量,使得離線消息推送的數(shù)量隨著負載狀態(tài)而變化,在消息推送服務(wù)器負載低時,可以推送更多的離線消息,在消息推送服務(wù)器負載高時,則減少離線消息的推送數(shù)量,進而可以更充分的利用消息推送服務(wù)器的資源。
[0091]此外,對用戶而言,在消息推送服務(wù)器負載高時,接收到的離線消息可能與現(xiàn)有技術(shù)一樣,但在消息推送服務(wù)器負載不高時,會接收到更多的離線消息,從而總體上,將使接收到更多離線消息的概率增大,有利于滿足用戶對獲取更多離線信息的需要,提高了用戶體驗。
[0092]上述內(nèi)容詳細介紹了本申請推送離線消息的方法實施例,除此之外,本申請還提供了推送離線消息的設(shè)備。如圖6所示,該圖示出了推送離線消息的設(shè)備的結(jié)構(gòu)示意圖。該設(shè)備包括:確定單元61、獲取單元62、分析單元63和推送單元64。
[0093]所述確定單元61,用于確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài);
[0094]所述獲取單元62,用于當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,獲取所述消息推送服務(wù)器當前的負載狀態(tài)信息。這里的負載狀態(tài)信息可以體現(xiàn)為各種形式,比如,可以是(PU使用率信息、內(nèi)存使用率信息、接入設(shè)備數(shù)量等等;
[0095]所述分析單元63,用于對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量;
[0096]所述推送單元64,用于按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。
[0097]在上述設(shè)備實施例中,還可以包括儲存單元71,用于在確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài)之前,確定所述移動應(yīng)用所在的用戶設(shè)備為離線狀態(tài)時,接收消息提供者推送的離線消息,并儲存所述離線消息。
[0098]上述裝置實施例中的各個單元根據(jù)實際需要可以集成更多的功能。比如,本申請實施例提供的設(shè)備中的獲取單元、分析單元還可以有以下功能:
[0099]所述獲取單元62,還用于獲取所述離線消息的屬性信息。這里的離線消息的屬性信息可以包括消息提供者的信息、消息接收者信息和離線消息的類型信息。
[0100]所述分析單元63,還用于對獲取的所述離線消息的屬性信息進行分析,根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量,其中,所述離線消息的屬性信息包括消息提供者的信息、消息接收者信息和/或推送離線消息的閾值信息。
[0101]優(yōu)選的,所述分析單元63,還用于根據(jù)第一預(yù)設(shè)規(guī)則確定所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息的權(quán)重;根據(jù)所述權(quán)重對負載狀態(tài)信息和離線消息的屬性信息進行加權(quán);根據(jù)加權(quán)的結(jié)果確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0102]優(yōu)選的,所述分析單元63,還用于根據(jù)所述消息推送服務(wù)器當前的負載信息確定能夠推送離線消息的最大推送數(shù)量;根據(jù)第二預(yù)設(shè)規(guī)則確定所述離線消息的屬性信息的優(yōu)先級;根據(jù)所述最大推送數(shù)量和所述優(yōu)先級高低確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
[0103]上述裝置實施例同樣能夠取得與本申請方法實施例的技術(shù)效果,為避免重復(fù),這里不再贅言。
[0104]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
[0105]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
[0106]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
【主權(quán)項】
1.一種推送離線消息的方法,其特征在于,包括: 確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài); 當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,獲取所述消息推送服務(wù)器當前的負載狀態(tài)信息; 對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量; 按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。2.根據(jù)權(quán)利要求1所述的推送離線消息的方法,其特征在于,所述負載狀態(tài)信息包括CPU使用率信息、內(nèi)存使用率信息和/或接入設(shè)備數(shù)量。3.根據(jù)權(quán)利要求1所述的推送離線消息的方法,其特征在于,當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,所述方法還包括: 獲取所述離線消息的屬性信息,對獲取的所述離線消息的屬性信息進行分析; 根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量,其中,所述離線消息的屬性信息包括消息提供者的信息、消息接收者信息和/或推送離線消息的閾值信息。4.根據(jù)權(quán)利要求1所述的推送離線消息的方法,其特征在于,所述根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量具體包括: 根據(jù)第一預(yù)設(shè)規(guī)則確定所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息的權(quán)重; 根據(jù)所述權(quán)重對負載狀態(tài)信息和離線消息的屬性信息進行加權(quán); 根據(jù)加權(quán)的結(jié)果確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。5.根據(jù)權(quán)利要求1所述的推送離線消息的方法,其特征在于,所述根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量具體包括: 根據(jù)所述消息推送服務(wù)器當前的負載信息確定能夠推送離線消息的最大推送數(shù)量; 根據(jù)第二預(yù)設(shè)規(guī)則確定所述離線消息的屬性信息的優(yōu)先級; 根據(jù)所述最大推送數(shù)量和所述優(yōu)先級高低確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。6.根據(jù)權(quán)利要求1至5中任何一項所述的推送離線消息的方法,其特征在于,包括: 所述消息推送服務(wù)器與所述移動應(yīng)用所在的用戶設(shè)備之間通過TCP長連接方式連接,則按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息包括: 按照所述推送數(shù)量通過TCP長連接向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。7.—種推送離線消息的設(shè)備,其特征在于,所述設(shè)備包括:確定單元、獲取單元、分析單元和推送單元; 所述確定單元,用于確定移動應(yīng)用所在的用戶設(shè)備由離線狀態(tài)變?yōu)樵诰€狀態(tài); 所述獲取單元,用于當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,獲取所述消息推送服務(wù)器當前的負載狀態(tài)信息; 所述分析單元,用于對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量; 所述推送單元,用于按照所述推送數(shù)量向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息。8.根據(jù)權(quán)利要求7所述的推送離線消息的設(shè)備,其特征在于,當確定消息推送服務(wù)器中有需要推送給所述移動應(yīng)用的用戶的離線消息時,所述設(shè)備還包括: 所述獲取單元,還用于獲取所述離線消息的屬性信息; 所述分析單元,還用于對獲取的所述離線消息的屬性信息進行分析,根據(jù)對獲取的所述消息推送服務(wù)器當前的負載狀態(tài)信息進行的分析以及對獲取的所述離線消息的屬性信息進行的分析,確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量,其中,所述離線消息的屬性信息包括消息提供者的信息、消息接收者信息和/或推送離線消息的閾值信息。9.根據(jù)權(quán)利要求7所述的推送離線消息的設(shè)備,其特征在于,所述分析單元,還用于根據(jù)第一預(yù)設(shè)規(guī)則確定所述消息推送服務(wù)器當前的負載狀態(tài)信息和所述離線消息的屬性信息的權(quán)重;根據(jù)所述權(quán)重對負載狀態(tài)信息和離線消息的屬性信息進行加權(quán);根據(jù)加權(quán)的結(jié)果確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。10.根據(jù)權(quán)利要求7所述的推送離線消息的設(shè)備,其特征在于,所述分析單元,還用于根據(jù)所述消息推送服務(wù)器當前的負載信息確定能夠推送離線消息的最大推送數(shù)量;根據(jù)第二預(yù)設(shè)規(guī)則確定所述離線消息的屬性信息的優(yōu)先級;根據(jù)所述最大推送數(shù)量和所述優(yōu)先級高低確定向所述移動應(yīng)用所在的用戶設(shè)備推送所述移動應(yīng)用的用戶的離線消息的推送數(shù)量。
【文檔編號】H04L29/08GK105897550SQ201510977340
【公開日】2016年8月24日
【申請日】2015年12月23日
【發(fā)明人】徐焰軍, 陳鐸, 陳軼飛, 侯長玉
【申請人】樂視致新電子科技(天津)有限公司