本發(fā)明實施例涉及互聯(lián)網(wǎng)
技術(shù)領(lǐng)域:
,特別涉及一種消息推送方法及裝置。
背景技術(shù):
:現(xiàn)有技術(shù)中,在一些場景中,推送服務(wù)器需要在短時間內(nèi)向客戶端推送大量的推送消息。此時,推送服務(wù)器很可能因為接收到大量的推送消息而導(dǎo)致推送服務(wù)器發(fā)生堵塞,甚至導(dǎo)致推送服務(wù)器宕機。技術(shù)實現(xiàn)要素:為了解決現(xiàn)有技術(shù)中存在的問題,本發(fā)明實施例提供了一種消息推送方法及裝置。技術(shù)方案如下:根據(jù)本發(fā)明實施例的第一方面,提供一種消息推送方法,該方法包括:在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息;所述緩存服務(wù)器中存儲有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存獲取到的所述推送消息至所述緩存隊列;推送所述緩存隊列中的推送消息至客戶端。可選地,所述在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息,包括:在所述緩存隊列中的推送消息減少一條時,從所述緩存服務(wù)器中獲取一條推送消息;或者,在所述緩存隊列中的推送消息的條數(shù)小于預(yù)設(shè)閾值時,從所述緩存服務(wù)器中獲取預(yù)設(shè)條數(shù)的推送消息,所述預(yù)設(shè)條數(shù)與所述預(yù)設(shè)閾值的總和不超過所述最大容量??蛇x地,所述推送所述緩存隊列中的推送消息至客戶端,包括:通過n個進程推送所述緩存隊列中的推送消息至所述客戶端,n為大于等于2的整數(shù)??蛇x地,所述方法還包括:獲取所述緩存服務(wù)器中緩存的推送消息的總量;根據(jù)所述總量分配所述n個進程。可選地,所述方法還包括:根據(jù)所述總量設(shè)置所述緩存隊列的最大容量。第二方面,提供了一種消息推送裝置,所述裝置包括:消息獲取模塊,用于在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息;所述緩存服務(wù)器中存儲有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存模塊,用于緩存獲取到的所述推送消息至所述緩存隊列;推送模塊,用于推送所述緩存隊列中的推送消息至客戶端??蛇x地,所述消息獲取模塊,還用于:在所述緩存隊列中的推送消息減少一條時,從所述緩存服務(wù)器中獲取一條推送消息;或者,在所述緩存隊列中的推送消息的條數(shù)小于預(yù)設(shè)閾值時,從所述緩存服務(wù)器中獲取預(yù)設(shè)條數(shù)的推送消息,所述預(yù)設(shè)條數(shù)與所述預(yù)設(shè)閾值的總和不超過所述最大容量??蛇x地,所述推送模塊,還用于通過n個進程推送所述緩存隊列中的推送消息至所述客戶端,n為大于等于2的整數(shù)??蛇x地,所述裝置還包括:總量獲取模塊,用于獲取所述緩存服務(wù)器中緩存的推送消息的總量;分配模塊,用于根據(jù)所述總量獲取模塊獲取到的所述總量分配所述n個進程??蛇x地,所述裝置還包括:設(shè)置模塊,用于根據(jù)所述總量獲取模塊獲取到的所述總量設(shè)置所述緩存隊列的最大容量。本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:通過在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息,緩存服務(wù)器中緩存有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存獲取到的推送消息至緩存隊列,并推送緩存隊列中的推送消息至客戶端;解決了現(xiàn)有技術(shù)中當(dāng)推送消息的數(shù)量較大時,推送服務(wù)器可能會堵塞甚至宕機的問題;達到了即使待推送的推送消息數(shù)量較大,那么由于推送消息先在緩存服務(wù)器中緩存,而推送服務(wù)器只有在緩存隊列滿足預(yù)設(shè)條件時,才會從緩存服務(wù)器中獲取推送消息,也即達到了可以避免推送服務(wù)器被大量推送消息沖垮進而宕機的效果。附圖說明為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明各個實施例提供的消息推送方法所涉及的實施環(huán)境的示意圖;圖2是本發(fā)明一個實施例提供的消息推送方法的流程圖;圖3是本發(fā)明另一實施例提供的消息推送方法的流程圖;圖4是本發(fā)明另一實施例提供的消息推送方法的原理框圖;圖5是本發(fā)明一個實施例提供的消息推送裝置的示意圖;圖6是本發(fā)明一個實施例提供的消息推送裝置的示意圖;圖7是本發(fā)明一個實施例提供的服務(wù)器的示意圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。請參考圖1,其示出了本發(fā)明各個實施例所涉及的實施環(huán)境的示意圖,如圖1所示,該實施環(huán)境可以包括業(yè)務(wù)服務(wù)器110、緩存服務(wù)器120、推送服務(wù)器130和客戶端140。業(yè)務(wù)服務(wù)器110是指為客戶端140提供業(yè)務(wù)服務(wù)的服務(wù)器,該業(yè)務(wù)服務(wù)器110可以為一臺服務(wù)器,也可以為由多臺服務(wù)器組成的服務(wù)器集群。實際實現(xiàn)時,業(yè)務(wù)服務(wù)器110可以通過有線或者無線網(wǎng)絡(luò)與緩存服務(wù)器120相連。緩存服務(wù)器120是指用于緩存消息的服務(wù)器,并且,在下述各個實施例中,緩存服務(wù)器120的存儲空間的大小是根據(jù)應(yīng)用場景預(yù)先分配的,該存儲空間足以緩存該應(yīng)用場景下的推送消息。實際實現(xiàn)時,該緩存服務(wù)器120可以為一臺服務(wù)器,也可以為由多臺服務(wù)器組成的服務(wù)器集群,并且緩存服務(wù)器120可以通過有線或者無線網(wǎng)絡(luò)與推送服務(wù)器130相連。具體的,緩存服務(wù)器120可以為Redis(數(shù)據(jù)庫)服務(wù)器。推送服務(wù)器130中設(shè)置有緩存隊列,該緩存隊列設(shè)置有最大容量,也即該緩存隊列中可以設(shè)置有最大容量的推送消息。實際實現(xiàn)時,推送服務(wù)器130可以主動從緩存服務(wù)器120中獲取推送消息,并緩存獲取到的推送消息至緩存隊列,對此并不做限定。推送服務(wù)器130可以通過有線或者無線網(wǎng)絡(luò)與客戶端140所處的終端相連。客戶端140可以運行在終端上。該客戶端140可以為天氣預(yù)報客戶端、炒股客戶端或者其它類型的客戶端,對此并不做限定。圖1僅以客戶端140有一個為例,實際實現(xiàn)時,客戶端140還可以多個,對此并不做限定。圖1只是以實施環(huán)境中包括上述幾種設(shè)備來舉例,實際實現(xiàn)時,實施環(huán)境中還可以包括更多或者更少的設(shè)備,對此并不做限定。請參考圖2,其示出了本發(fā)明一個實施例提供的消息推送方法的方法流程圖,本實施例以該消息推送方法用于圖1所示的推送服務(wù)器中來舉例說明。如圖2所示,該消息推送方法可以包括:步驟201,在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息;緩存服務(wù)器中存儲有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息。步驟202,緩存獲取到的推送消息至緩存隊列。步驟203,推送緩存隊列中的推送消息至客戶端。綜上所述,本實施例提供的消息推送方法,通過在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息,緩存服務(wù)器中緩存有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存獲取到的推送消息至緩存隊列,并推送緩存隊列中的推送消息至客戶端;解決了現(xiàn)有技術(shù)中當(dāng)推送消息的數(shù)量較大時,推送服務(wù)器可能會堵塞甚至宕機的問題;達到了即使待推送的推送消息數(shù)量較大,那么由于推送消息先在緩存服務(wù)器中緩存,而推送服務(wù)器只有在緩存隊列滿足預(yù)設(shè)條件時,才會從緩存服務(wù)器中獲取推送消息,也即達到了可以避免推送服務(wù)器被大量推送消息沖垮進而宕機的效果。請參考圖3,其示出了本發(fā)明一個實施例提供的消息推送方法的方法流程圖,本實施例以該消息推送方法用于圖1所示的推送服務(wù)器中來舉例說明。如圖3所示,該消息推送方法可以包括:步驟301,在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息;緩存服務(wù)器中存儲有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息。業(yè)務(wù)服務(wù)器生成需要推送至客戶端的推送消息之后,業(yè)務(wù)服務(wù)器可以發(fā)送生成的大量的推送消息至緩存服務(wù)器。相應(yīng)的緩存服務(wù)器接收并緩存業(yè)務(wù)服務(wù)器發(fā)送的大量的推送消息。推送服務(wù)器可以在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息。可選地,推送服務(wù)器可以監(jiān)控緩存服務(wù)器中是否緩存有推送消息,在監(jiān)控結(jié)果為緩存服務(wù)器中緩存有推送消息時,則在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息;而在監(jiān)控結(jié)果為緩存服務(wù)器中未緩存有推送消息時,則流程結(jié)束;可選地,在緩存服務(wù)器接收并緩存業(yè)務(wù)服務(wù)器發(fā)送的推送消息之后,緩存服務(wù)器還可以主動發(fā)送觸發(fā)請求至推送服務(wù)器,推送服務(wù)器接收到觸發(fā)請求之后,在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息。其中,推送服務(wù)器從緩存服務(wù)器中獲取推送消息的步驟可以包括如下兩種實現(xiàn)方式:第一種,在緩存隊列中的推送消息減少一條時,從緩存服務(wù)器中獲取一條推送消息。推送服務(wù)器每從緩存隊列中取出一條推送消息之后,推送服務(wù)器可以從緩存服務(wù)器中獲取一條推送消息。具體的,推送服務(wù)器可以發(fā)送消息獲取請求至緩存服務(wù)器,緩存服務(wù)器接收到消息獲取請求之后返回推送消息至推送服務(wù)器,相應(yīng)的,推送服務(wù)器接收緩存服務(wù)器返回的推送消息。其中,消息獲取請求用于請求獲取一條推送消息。第二種,在緩存隊列中的推送消息的條數(shù)小于預(yù)設(shè)閾值時,從緩存服務(wù)器中獲取預(yù)設(shè)條數(shù)的推送消息,預(yù)設(shè)條數(shù)與預(yù)設(shè)閾值的總和不超過最大容量。作為另一種實現(xiàn)方式,推送服務(wù)器還可以在緩存隊列中的推送消息的條數(shù)小于預(yù)設(shè)閾值時,從緩存服務(wù)器中獲取預(yù)設(shè)條數(shù)的推送消息。該預(yù)設(shè)閾值可以為推送服務(wù)器中系統(tǒng)默認的數(shù)值,也可以是用戶自定義的數(shù)值,對此并不做限定。并且,實際實現(xiàn)時,若推送服務(wù)器通過多進程推送消息,則該預(yù)設(shè)閾值可以為多進程的進程數(shù)。預(yù)設(shè)條數(shù)與預(yù)設(shè)閾值的總和不超過最大容量,最大容量是預(yù)先設(shè)定的緩存隊列的容量。實際實現(xiàn)時,預(yù)設(shè)條數(shù)可以為最大容量與緩存隊列中當(dāng)前已有的推送消息的條數(shù)的差值。比如,緩存隊列的最大容量為50條,當(dāng)前已有的推送消息的條數(shù)為5條,則預(yù)設(shè)條數(shù)即為45條,推送服務(wù)器可以從緩存服務(wù)器中獲取45條推送消息。又比如,在初始狀態(tài),緩存隊列中沒有推送消息,則此時,推送服務(wù)器即可從緩存隊列中獲取50條推送消息。當(dāng)然,實際實現(xiàn)時,推送服務(wù)器還可以在其他條件時從緩存服務(wù)器中獲取推送消息,本實施例對此并不做限定。步驟302,緩存獲取到的推送消息至緩存隊列。在推送服務(wù)器從緩存服務(wù)器中獲取到推送消息之后,推送服務(wù)器可以將獲取到的推送消息緩存至緩存隊列。步驟303,通過n個進程推送緩存隊列中的推送消息至客戶端,n為大于等于2的整數(shù)。推送服務(wù)器中可以啟動n個進程,并通過n個進程推送緩存隊列中的推送消息至客戶端??蛇x地,在每個進程推送一條推送消息至客戶端之后,若緩存隊列中存在待發(fā)送的推送消息,則該進程可以從緩存隊列中取出一條推送消息,并繼續(xù)推送取出的推送消息至客戶端,對此并不做限定。以緩存隊列的最大容量為N,進程的個數(shù)為n為例,請參考圖4,其示出了本實施例的原理圖。如圖4所示,推送服務(wù)器主動從緩存服務(wù)器中獲取推送消息,將獲取到的推送消息緩存至緩存隊列,n個進程推送緩存隊列中的推送消息至客戶端。綜上所述,本實施例提供的消息推送方法,通過在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息,緩存服務(wù)器中緩存有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存獲取到的推送消息至緩存隊列,并推送緩存隊列中的推送消息至客戶端;解決了現(xiàn)有技術(shù)中當(dāng)推送消息的數(shù)量較大時,推送服務(wù)器可能會堵塞甚至宕機的問題;達到了即使待推送的推送消息數(shù)量較大,那么由于推送消息先在緩存服務(wù)器中緩存,而推送服務(wù)器只有在緩存隊列滿足預(yù)設(shè)條件時,才會從緩存服務(wù)器中獲取推送消息,也即達到了可以避免推送服務(wù)器被大量推送消息沖垮進而宕機的效果。在上述實施例中,推送服務(wù)器還可以執(zhí)行如下步驟:第一,獲取緩存服務(wù)器中緩存的推送消息的總量。推送服務(wù)器可以發(fā)送總量獲取請求至緩存服務(wù)器,接收該緩存服務(wù)器返回的緩存服務(wù)器中緩存的推送消息的總量。其中,總量獲取請求用于請獲取緩存服務(wù)器中緩存的推送消息的總量。第二,根據(jù)總量分配n個進程。推送服務(wù)器可以根據(jù)預(yù)設(shè)對應(yīng)關(guān)系以及獲取到的總量分配n個進程。其中,預(yù)設(shè)對應(yīng)關(guān)系為n的取值與獲取到的總量之間的正相關(guān)關(guān)系。比如,請結(jié)合下表,其示出了一種可能的預(yù)設(shè)對應(yīng)關(guān)系,則當(dāng)獲取到的總量為4500條時,推送服務(wù)器可以分配15個進程。推送消息的總量進程的個數(shù)0-200052000-4000104000-6000156000-800020通過根據(jù)緩存服務(wù)器中的推送消息的總量來分配進程,使得,在待推送的推送消息的總量較多時,可以分配更多的進程來推送消息,提高了推送消息的效率的效果。此外,在根據(jù)緩存服務(wù)器中的推送消息的總量分配進程數(shù)的同時,推送服務(wù)器還可以根據(jù)獲取到的總量設(shè)置緩存隊列的最大容量。可選地,為了保證n個進程的正常運行,緩存隊列的最大容量可以設(shè)置為進程數(shù)的m倍。其中,m為大于等于2的整數(shù),對此并不做限定。請參考圖5,其示出了本發(fā)明一個實施例提供的消息推送裝置的結(jié)構(gòu)示意圖,如圖5所示,該消息推送裝置可以包括:消息獲取模塊510、緩存模塊520和推送模塊530。消息獲取模塊510,用于在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息;所述緩存服務(wù)器中存儲有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存模塊520,用于緩存獲取到的所述推送消息至所述緩存隊列;推送模塊530,用于推送所述緩存隊列中的推送消息至客戶端。綜上所述,本實施例提供的消息推送裝置,通過在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息,緩存服務(wù)器中緩存有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存獲取到的推送消息至緩存隊列,并推送緩存隊列中的推送消息至客戶端;解決了現(xiàn)有技術(shù)中當(dāng)推送消息的數(shù)量較大時,推送服務(wù)器可能會堵塞甚至宕機的問題;達到了即使待推送的推送消息數(shù)量較大,那么由于推送消息先在緩存服務(wù)器中緩存,而推送服務(wù)器只有在緩存隊列滿足預(yù)設(shè)條件時,才會從緩存服務(wù)器中獲取推送消息,也即達到了可以避免推送服務(wù)器被大量推送消息沖垮進而宕機的效果。請參考圖6,其示出了本發(fā)明一個實施例提供的消息推送裝置的結(jié)構(gòu)示意圖,如圖6所示,該消息推送裝置可以包括:消息獲取模塊610、緩存模塊620和推送模塊630。消息獲取模塊610,用于在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息;所述緩存服務(wù)器中存儲有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存模塊620,用于緩存獲取到的所述推送消息至所述緩存隊列;推送模塊630,用于推送所述緩存隊列中的推送消息至客戶端??蛇x地,所述消息獲取模塊610,還用于:在所述緩存隊列中的推送消息減少一條時,從所述緩存服務(wù)器中獲取一條推送消息;或者,在所述緩存隊列中的推送消息的條數(shù)小于預(yù)設(shè)閾值時,從所述緩存服務(wù)器中獲取預(yù)設(shè)條數(shù)的推送消息,所述預(yù)設(shè)條數(shù)與所述預(yù)設(shè)閾值的總和不超過所述最大容量??蛇x地,所述推送模塊630,還用于通過n個進程推送所述緩存隊列中的推送消息至所述客戶端,n為大于等于2的整數(shù)。可選地,所述裝置還包括:總量獲取模塊640,用于獲取所述緩存服務(wù)器中緩存的推送消息的總量;分配模塊650,用于根據(jù)所述總量獲取模塊640獲取到的所述總量分配所述n個進程??蛇x地,所述裝置還包括:設(shè)置模塊660,用于根據(jù)所述總量獲取模塊640獲取到的所述總量設(shè)置所述緩存隊列的最大容量。綜上所述,本實施例提供的消息推送裝置,通過在緩存隊列滿足預(yù)設(shè)條件時,從緩存服務(wù)器中獲取推送消息,緩存服務(wù)器中緩存有業(yè)務(wù)服務(wù)器生成并發(fā)送的推送消息;緩存獲取到的推送消息至緩存隊列,并推送緩存隊列中的推送消息至客戶端;解決了現(xiàn)有技術(shù)中當(dāng)推送消息的數(shù)量較大時,推送服務(wù)器可能會堵塞甚至宕機的問題;達到了即使待推送的推送消息數(shù)量較大,那么由于推送消息先在緩存服務(wù)器中緩存,而推送服務(wù)器只有在緩存隊列滿足預(yù)設(shè)條件時,才會從緩存服務(wù)器中獲取推送消息,也即達到了可以避免推送服務(wù)器被大量推送消息沖垮進而宕機的效果。通過根據(jù)緩存服務(wù)器中的推送消息的總量來分配進程,使得,在待推送的推送消息的總量較多時,可以分配更多的進程來推送消息,提高了推送消息的效率的效果。需要說明的是:上述實施例提供的消息推送裝置,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將服務(wù)器的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的消息推送裝置和消息推送方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)可以是上述實施例中的存儲器中所包含的計算機可讀存儲介質(zhì);也可以是單獨存在,未裝配入終端中的計算機可讀存儲介質(zhì)。該計算機可讀存儲介質(zhì)存儲有一個或者一個以上程序,該一個或者一個以上程序被一個或者一個以上的處理器用來執(zhí)行上述消息推送方法。請參考圖7,其示出了本發(fā)明一個實施例提供的服務(wù)器的結(jié)構(gòu)示意圖。該服務(wù)器用于實施上述實施例中提供的消息推送方法。具體來講:所述服務(wù)器700包括中央處理單元(CPU)701、包括隨機存取存儲器(RAM)702和只讀存儲器(ROM)703的系統(tǒng)存儲器704,以及連接系統(tǒng)存儲器704和中央處理單元701的系統(tǒng)總線705。所述服務(wù)器700還包括幫助計算機內(nèi)的各個器件之間傳輸信息的基本輸入/輸出系統(tǒng)(I/O系統(tǒng))706,和用于存儲操作系統(tǒng)713、應(yīng)用程序714和其他程序模塊715的大容量存儲設(shè)備707。所述基本輸入/輸出系統(tǒng)706包括有用于顯示信息的顯示器708和用于用戶輸入信息的諸如鼠標(biāo)、鍵盤之類的輸入設(shè)備709。其中所述顯示器708和輸入設(shè)備709都通過連接到系統(tǒng)總線705的輸入輸出控制器710連接到中央處理單元701。所述基本輸入/輸出系統(tǒng)706還可以包括輸入輸出控制器710以用于接收和處理來自鍵盤、鼠標(biāo)、或電子觸控筆等多個其他設(shè)備的輸入。類似地,輸入輸出控制器710還提供輸出到顯示屏、打印機或其他類型的輸出設(shè)備。所述大容量存儲設(shè)備707通過連接到系統(tǒng)總線705的大容量存儲控制器(未示出)連接到中央處理單元701。所述大容量存儲設(shè)備707及其相關(guān)聯(lián)的計算機可讀介質(zhì)為服務(wù)器700提供非易失性存儲。也就是說,所述大容量存儲設(shè)備707可以包括諸如硬盤或者CD-ROM驅(qū)動器之類的計算機可讀介質(zhì)(未示出)。不失一般性,所述計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括RAM、ROM、EPROM、EEPROM、閃存或其他固態(tài)存儲其技術(shù),CD-ROM、DVD或其他光學(xué)存儲、磁帶盒、磁帶、磁盤存儲或其他磁性存儲設(shè)備。當(dāng)然,本領(lǐng)域技術(shù)人員可知所述計算機存儲介質(zhì)不局限于上述幾種。上述的系統(tǒng)存儲器704和大容量存儲設(shè)備707可以統(tǒng)稱為存儲器。根據(jù)本發(fā)明的各種實施例,所述服務(wù)器700還可以通過諸如因特網(wǎng)等網(wǎng)絡(luò)連接到網(wǎng)絡(luò)上的遠程計算機運行。也即服務(wù)器700可以通過連接在所述系統(tǒng)總線705上的網(wǎng)絡(luò)接口單元711連接到網(wǎng)絡(luò)712,或者說,也可以使用網(wǎng)絡(luò)接口單元711來連接到其他類型的網(wǎng)絡(luò)或遠程計算機系統(tǒng)(未示出)。所述存儲器還包括一個或者一個以上的程序,所述一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行。上述一個或者一個以上程序包含用于執(zhí)行上述消息推送方法的指令。應(yīng)當(dāng)理解的是,在本文中使用的,除非上下文清楚地支持例外情況,單數(shù)形式“一個”(“a”、“an”、“the”)旨在也包括復(fù)數(shù)形式。還應(yīng)當(dāng)理解的是,在本文中使用的“和/或”是指包括一個或者一個以上相關(guān)聯(lián)地列出的項目的任意和所有可能組合。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁1 2 3