最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種消息推送方法、服務(wù)器及計算機(jī)可讀存儲介質(zhì)與流程

文檔序號:11234837閱讀:489來源:國知局
一種消息推送方法、服務(wù)器及計算機(jī)可讀存儲介質(zhì)與流程
本發(fā)明涉及通信
技術(shù)領(lǐng)域
,尤其涉及一種消息推送方法、服務(wù)器及計算機(jī)可讀存儲介質(zhì)。
背景技術(shù)
:目前,消息推送是各終端廠商和應(yīng)用程序廠商運營的重要手段,是維系用戶和產(chǎn)品之間的一條非常重要的渠道。通過消息推送可以有效提高用戶的活躍度和粘性、引導(dǎo)用戶更好的使用產(chǎn)品、喚醒沉默用戶。現(xiàn)有的消息推送的所采用的推送邏輯大致可以分為兩種:一是根據(jù)消息的提交排序來推送,二是根據(jù)消息的開始發(fā)送時間來推送。不論選用哪種推送邏輯,推送消息均需要在服務(wù)端來匹配和去重處理,以確保不遺漏消息。然而,推送消息的提交排序和開始發(fā)送時間通常是不一致的,且二者并無關(guān)聯(lián)。只根據(jù)提交排序來推送,會出現(xiàn)提交晚的推送消息因開始時間早而被先推送,進(jìn)而遺漏提交早還未到開始發(fā)送時間的消息;也會出現(xiàn)開始發(fā)送時間晚的推送消息反而被先推送,因此影響用戶體驗。只根據(jù)消息的開始發(fā)送時間來推送,對于兩條或多條消息在同一時間開始發(fā)送的情形,推送順序只能隨機(jī),需要增加額外的去重復(fù)處理機(jī)制。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供一種消息推送方法,可智能去重且快速有效地將推送消息推送至每個客戶端,進(jìn)而增強用戶的體驗。第一方面,本發(fā)明實施例提供了一種消息推送方法,該方法包括:獲取所述推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和所述聯(lián)網(wǎng)時間從所述推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。第二方面,本發(fā)明實施例提供了一種服務(wù)器,該服務(wù)器包括:第一獲取單元,用于獲取所述推送消息的開始發(fā)送時間;生成單元,用于根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);第二獲取單元,用于獲取客戶端的聯(lián)網(wǎng)時間;篩選單元,用于根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和所述聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;推送單元,用于根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。第三方面,本發(fā)明實施例又提供了一種服務(wù)器,其包括處理器、輸入設(shè)備、輸出設(shè)備和存儲器,所述處理器、輸入設(shè)備、輸出設(shè)備和存儲器相互連接,其中,所述存儲器用于存儲程序代碼,所述處理器被配置用于調(diào)用所述程序代碼,執(zhí)行本發(fā)明提供的任一項所述的方法。第四方面,本發(fā)明實施例還提供了一種計算機(jī)可讀存儲介質(zhì),其中所述計算機(jī)存儲介質(zhì)存儲有計算機(jī)程序,所述計算機(jī)程序包括程序指令,所述程序指令當(dāng)被處理器執(zhí)行時使所述處理器執(zhí)行發(fā)明提供的任一項所述的方法。本發(fā)明實施例通過獲取接收到推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);在獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。該方法通過判斷推送消息的屬性參數(shù)是否滿足客戶端的聯(lián)網(wǎng)時間和所述歷史屬性參數(shù)構(gòu)成的推送邏輯關(guān)系,若滿足則將推送消息推送至該客戶端,因此利用該方法進(jìn)行消息推送可避免客戶端收到重復(fù)消息,造成無謂的流量浪費,進(jìn)而增強客戶的體驗度。附圖說明為了更清楚地說明本發(fā)明實施例技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的一種消息推送方法的示意流程圖;圖2是圖1所示消息推送方法中步驟s104的子步驟示意流程圖;圖3是本發(fā)明實施例提供的一種消息推送方法的另一示意流程圖;圖4至圖7是本發(fā)明實施例提供的消息推送方法應(yīng)用場景的示意圖;圖8是本發(fā)明實施例提供的一種服務(wù)器的示意性框圖;圖9是本發(fā)明實施例提供的一種服務(wù)器的另一示意性框圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。應(yīng)當(dāng)理解,當(dāng)在本說明書和所附權(quán)利要求書中使用時,術(shù)語“包括”和“包含”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個或多個其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。還應(yīng)當(dāng)理解,在此本發(fā)明說明書中所使用的術(shù)語僅僅是出于描述特定實施例的目的而并不意在限制本發(fā)明。如在本發(fā)明說明書和所附權(quán)利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數(shù)形式的“一”、“一個”及“該”意在包括復(fù)數(shù)形式。還應(yīng)當(dāng)進(jìn)一步理解,在本發(fā)明說明書和所附權(quán)利要求書中使用的術(shù)語“和/或”是指相關(guān)聯(lián)列出的項中的一個或多個的任何組合以及所有可能組合,并且包括這些組合。如在本說明書和所附權(quán)利要求書中所使用的那樣,術(shù)語“如果”可以依據(jù)上下文被解釋為“當(dāng)...時”或“一旦”或“響應(yīng)于確定”或“響應(yīng)于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據(jù)上下文被解釋為意指“一旦確定”或“響應(yīng)于確定”或“一旦檢測到[所描述條件或事件]”或“響應(yīng)于檢測到[所描述條件或事件]”。請參閱圖1,圖1是本發(fā)明實施例提供的一種消息推送方法的示意流程圖。該方法可以運行在消息推送電子設(shè)備中,該消息推送電子設(shè)備可例如為:用于推送消息的服務(wù)器。該服務(wù)器通過運行該消息推送方法將推送消息推送至各個客戶端中,其中該客戶端包括系統(tǒng)客戶端和應(yīng)用客戶端,可以安裝在智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦或智能穿戴設(shè)備等終端中,如圖1所示,該方法包括步驟s101~s105。s101、獲取所述推送消息的開始發(fā)送時間。在本發(fā)明的實施例中,推送消息是指需要推送至各個客戶端的消息,包括文字消息和圖片消息等。開始發(fā)送時間是指由運行商設(shè)置具體發(fā)送推送消息的時間,比如推送消息ⅰ,可以設(shè)置為8:00開始發(fā)送該推送消息ⅰ,那么8:00即是該推送消息ⅰ的開始發(fā)送時間??梢岳斫獾模撻_始發(fā)送時間還可包括年、月、日等時間信息,而本實施例只用一天內(nèi)24時的時間點示例。s102、根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù)。在本發(fā)明的實施例中,若運行商提交多個推送消息,可以根據(jù)其提交順序,對該多個推送消息進(jìn)行排序并生成排序序號。比如提交3條推送消息,分別為推送消息ⅰ、推送消息ⅱ和推送消息ⅲ,則根據(jù)其提交順序?qū)⒃?條推送消息進(jìn)行排序并生成排序序號,如果之前沒有推送消息,則排序序號為1、2和3;如果之前有推送消息,則在此基礎(chǔ)上累加,例如之前已有100條推送消息,對應(yīng)的排序序號已到100,則推送消息ⅰ、推送消息ⅱ和推送消息ⅲ的排序序號分別為101、102和103。具體地,可以在服務(wù)器中設(shè)置一個自增機(jī)制,根據(jù)推送消息的提交順序,進(jìn)行自增以生成對應(yīng)排序序號,也可以在預(yù)設(shè)周期內(nèi)對該排序序號進(jìn)行清零,從新排序。預(yù)設(shè)周期可以運營商自己設(shè)定。其中,該開始發(fā)送時間和排序序號設(shè)為推送消息的屬性參數(shù)。比如推送消息ⅰ的開始發(fā)送時間為8:00,且推送消息ⅰ的排序序號為101,則推送消息ⅰ的屬性參數(shù)為(8:00,101)。s103、獲取客戶端的聯(lián)網(wǎng)時間。在本發(fā)明的實施例中,獲取客戶端的聯(lián)網(wǎng)時間具體為:服務(wù)器獲取其與客戶端的聯(lián)網(wǎng)時間。該聯(lián)網(wǎng)時間是指客戶端和服務(wù)器保持通訊的時間,客戶端與服務(wù)器通過定時心跳信息維持一個長連接,該聯(lián)網(wǎng)時間具體為心跳信號上報時刻。如果客戶端和服務(wù)器保持一個長連接,那么服務(wù)器的當(dāng)前時間就可以理解為該聯(lián)網(wǎng)時間,比如服務(wù)器發(fā)現(xiàn)客戶端a在8:00時有心跳信號上報,則該8:00為客戶端a的聯(lián)網(wǎng)時間??梢岳斫獾氖?,該聯(lián)網(wǎng)時間包括聯(lián)網(wǎng)起始時間至保持一個長連接的結(jié)束時間。s104、根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和所述聯(lián)網(wǎng)時間從所述推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號。在本發(fā)明的實施例中,根據(jù)推送消息的屬性參數(shù)中的開始發(fā)送時間和聯(lián)網(wǎng)時間確定到達(dá)發(fā)送時間的推送消息,在根據(jù)歷史屬性參數(shù)和所述屬性參數(shù)從多個推送消息中篩選出滿足推送條件的推送消息作為待推送消息。具體為,如圖2所示,步驟s104具體包括s104a~s104c。s104a、判斷所述推送消息的開始發(fā)送時間是否達(dá)到所述聯(lián)網(wǎng)時間。比如,推送消息ⅰ的開始發(fā)送時間為9:00,服務(wù)器與客戶端a的聯(lián)網(wǎng)時間為8:00,即可判斷出推送消息ⅰ的開始發(fā)送時間達(dá)到所述聯(lián)網(wǎng)時間。s104b、若所述推送消息的開始發(fā)送時間達(dá)到所述聯(lián)網(wǎng)時間,判斷所述推送消息的屬性參數(shù)是否大于所述歷史屬性參數(shù)。具體地,判斷所述推送消息的屬性參數(shù)是否大于所述歷史屬性參數(shù),包括:判斷所述推送消息的開始發(fā)送時間是否大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,以及所述推送消息的排序序號是否大于所述歷史屬性參數(shù)中的歷史排序序號;若所述推送消息的開始發(fā)送時間大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,或所述推送消息的排序序號大于所述歷史屬性參數(shù)中的歷史排序序號,判定所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù)。比如,推送消息ⅰ的屬性參數(shù)為(8:00,2)其中8:00為推送消息的開始發(fā)送時間,2為推送消息ⅰ的排序序號。推送消息ⅱ的屬性參數(shù)為(10:00,1)其中10:00為推送消息ⅱ的開始發(fā)送時間,2為推送消息ⅱ的排序序號。而歷史屬性參數(shù)為(9:00,1),其中9:00為所述歷史屬性參數(shù)中的歷史發(fā)送時間,1為所述歷史屬性參數(shù)中的歷史排序序號。根據(jù)上述具體的判斷方法,可知推送消息ⅰ和推送消息ⅱ的屬性參數(shù)均是大于所述歷史屬性參數(shù)。s104c、若所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù),將所述推送信息篩選為所述待推送消息。其中,若所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù),具體為推送消息的開始發(fā)送時間大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,或所述推送消息的排序序號大于所述歷史屬性參數(shù)中的歷史排序序號。比如上述步驟中的推送消息ⅰ和推送消息ⅱ。將該推送消息ⅰ和推送消息ⅱ篩選為待推送消息。s105、根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。在本發(fā)明的實施例中,根據(jù)上述步驟從多個待推送消息中篩選出待推送消息后,如果該待推送消息包括多個,比如3個待推送消息,其對應(yīng)的推送消息的排序序號分別為4、6和7,則根據(jù)這三個排序序號的大小將三個待推送消息推送至客戶端,以供使用該客戶端的客戶進(jìn)行瀏覽參考。本實施例通過獲取接收到推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);在獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。其中,該方法通過獲取推送消息的開始發(fā)送時間和排序序號兩個屬性參數(shù),在從所述推送消息中篩選出屬性參數(shù)滿足客戶端的聯(lián)網(wǎng)時間和所述歷史屬性參數(shù)構(gòu)成的推送邏輯關(guān)系的待推送消息,利用該推送邏輯關(guān)系可以一一篩選出待推送消息,并將所述待推送消息推送至該客戶端,因此利用該方法進(jìn)行消息推送可避免客戶端收到重復(fù)消息,造成無謂的流量浪費,進(jìn)而增強客戶的體驗度。請參閱圖3,圖3是本發(fā)明實施例提供的一種消息推送方法的另一示意流程圖。該方法可以運行在消息推送設(shè)備中,該消息推送設(shè)備可例如為用于推送消息的服務(wù)器。服務(wù)器通過運行該消息推送方法將推送消息推送至各個客戶端中,該客戶端包括系統(tǒng)客戶端和應(yīng)用客戶端,該客戶端可以安裝在智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦或智能穿戴設(shè)備等終端中,如圖3所示,該方法包括步驟s201~s206。s201、若接收到推送消息,獲取所述推送消息的開始發(fā)送時間。在本發(fā)明的實施例中,若接收到運營商等提交的至少一個推送消息,獲取至少一個所述推送消息的開始發(fā)送時間。其中,推送消息是指需要推送至各個客戶端的消息,包括文字消息和圖片消息等。開始發(fā)送時間是指由運行商設(shè)置具體發(fā)送推送消息的時間,比如推送消息ⅰ,可以設(shè)置為8:00開始發(fā)送該推送消息ⅰ,那么8:00即是該推送消息ⅰ的開始發(fā)送時間。s202、根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù)。本發(fā)明的實施例中,若運行商提交多個推送消息,可以根據(jù)其提交順序,對該多個推送消息進(jìn)行排序并生成排序序號。比如提交3條推送消息,分別為推送消息ⅰ、推送消息ⅱ和推送消息ⅲ,則根據(jù)其提交順序?qū)⒃?條推送消息進(jìn)行排序并生成排序序號,如果之前沒有推送消息,則排序序號為1、2和3。其中,該開始發(fā)送時間和排序序號設(shè)為推送消息的屬性參數(shù)。比如推送消息ⅰ的開始發(fā)送時間為8:00,且推送消息ⅰ的排序序號為1,則推送消息ⅰ的屬性參數(shù)為(8:00,1)。s203、獲取客戶端的聯(lián)網(wǎng)時間。在本發(fā)明的實施例中,獲取客戶端的聯(lián)網(wǎng)時間具體為:服務(wù)器獲取其與客戶端的聯(lián)網(wǎng)時間。該聯(lián)網(wǎng)時間是指客戶端和服務(wù)器保持通訊的時間,客戶端與服務(wù)器通過定時心跳信息維持一個長連接,該聯(lián)網(wǎng)時間具體為心跳信號上報時刻。如果客戶端和服務(wù)器保持一個長連接,那么服務(wù)器的當(dāng)前時間就可以理解為該聯(lián)網(wǎng)時間,比如服務(wù)器發(fā)現(xiàn)客戶端a在8:00時有心跳信號上報,則該8:00為客戶端a的聯(lián)網(wǎng)時間。s204、根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和所述聯(lián)網(wǎng)時間從所述推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號。在本發(fā)明的實施例中,具體地,判斷所述推送消息的開始發(fā)送時間是否達(dá)到所述聯(lián)網(wǎng)時間;若所述推送消息的開始發(fā)送時間達(dá)到所述聯(lián)網(wǎng)時間,判斷所述推送消息的屬性參數(shù)是否大于所述歷史屬性參數(shù);若所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù),將所述推送信息篩選為待推送消息。需要說明的是,判斷所述推送消息的屬性參數(shù)是否大于所述歷史屬性參數(shù),只要所述屬性參數(shù)中的其中一個參數(shù)大于歷史屬性參數(shù)中相應(yīng)的參數(shù),即為所述推送消息的屬性參數(shù)是大于所述歷史屬性參數(shù)。s205、根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。在本發(fā)明的實施例中,根據(jù)上述步驟從多個待推送消息中篩選出待推送消息后,如果該待推送消息包括多個,比如3個待推送消息,其對應(yīng)的推送消息的排序序號分別為4、6和7,則根據(jù)這三個排序序號的大小將三個待推送消息推送至客戶端,以供使用該客戶端的客戶進(jìn)行瀏覽參考。s206、根據(jù)所述待推送消息的屬性參數(shù)更新所述歷史屬性參數(shù)。在本發(fā)明的實施例中,具體為根據(jù)所述待推送消息的屬性參數(shù)按預(yù)設(shè)更新規(guī)則更新所述歷史屬性參數(shù)。所述待推送消息的屬性參數(shù),比如,推送消息ⅰ的屬性參數(shù)為(8:00,1)。所述歷史屬性參數(shù)表示為(btime0,mid0),其中btime0為歷史發(fā)送時間,mid0為歷史排序序號,且btime0和mid0均為零。其中,預(yù)設(shè)更新規(guī)則為更新所述歷史屬性參數(shù)的規(guī)則,根據(jù)所述待推送消息的屬性參數(shù)按預(yù)設(shè)更新規(guī)則更新所述歷史屬性參數(shù),具體包括:確定所述待推送消息的屬性參數(shù)中大于所述歷史屬性參數(shù)的參數(shù)值;根據(jù)所述參數(shù)值更新所述歷史屬性參數(shù)。比如待推送消息ⅰ的屬性參數(shù)為(8:00,1),而歷史屬性參數(shù)為(6:00,2),則待推送消息的屬性參數(shù)中大于所述歷史屬性參數(shù)的參數(shù)值為8:00,根據(jù)參數(shù)值8:00更新所述歷史屬性參數(shù),更新后的歷史屬性參數(shù)為(8:00,2)。更新后的歷史屬性參數(shù)作為下次推送消息時使用。本實施例通過獲取推送消息的開始發(fā)送時間和排序序號兩個屬性參數(shù),在從所述推送消息中篩選出屬性參數(shù)滿足客戶端的聯(lián)網(wǎng)時間和所述歷史屬性參數(shù)構(gòu)成的推送邏輯關(guān)系的待推送消息,利用該推送邏輯關(guān)系可以一一篩選出待推送消息,并將所述待推送消息推送至該客戶端,在將所述待推送消息推送至該客戶端之后,利用預(yù)設(shè)更新規(guī)則更新該歷史屬性參數(shù)以便下次篩選待推送消息,因此利用該方法進(jìn)行消息推送可避免客戶端收到重復(fù)消息,造成無謂的流量浪費,進(jìn)而增強客戶的體驗度。請參閱圖4~圖7所示,為了更為詳盡地說明該消息推送方法,結(jié)合實際場景進(jìn)行說明,該應(yīng)用場景中包括4個客戶端,分別為客戶端a、客戶端b、客戶端c和客戶端d。其中,運營商提交3條推送消息,分別為推送消息ⅰ、推送消息ⅱ和推送消息ⅲ。推送消息的屬性參數(shù)為(btime,mid),其中btime為推送消息的開始發(fā)送時間,mid為推送消息的排序序號。運營商提交3條推送消息可由表1來表示。表1為推送消息的屬性參數(shù)推送消息midbtimei19:00ii28:00iii310:00假設(shè),客戶端a的聯(lián)網(wǎng)時間為8:00以前,即客戶端a在8:00一直處于聯(lián)網(wǎng)狀態(tài),心跳信號穩(wěn)定,對應(yīng)圖4;客戶端b的聯(lián)網(wǎng)時間為8:00以后,對應(yīng)圖5;客戶端c的聯(lián)網(wǎng)時間為9:00以后,對應(yīng)圖6;客戶端d的聯(lián)網(wǎng)時間為10:00以后,對應(yīng)圖6。在圖4中,客戶端a與服務(wù)器一直處于聯(lián)網(wǎng)狀態(tài),之后心跳信號穩(wěn)定,即8:00之前就已經(jīng)聯(lián)網(wǎng)。當(dāng)?shù)竭_(dá)8:00時,服務(wù)器通過執(zhí)行上述消息推送方法,將推送消息ⅰ、推送消息ⅱ和推送消息ⅲ按圖4中流程依次推送至客戶端a。具體地,從3個推送消息中依次篩選緩存待推送消息ii,待推送消息i和待推送消息iii,并推送至客戶端a,同時在推送的過程中根據(jù)推送消息的屬性參數(shù)根據(jù)歷史屬性參數(shù),該歷史屬性參數(shù)為客戶端a的歷史屬性參數(shù)。在圖5中,客戶端b與服務(wù)器在8:00以后,9:00之前處于聯(lián)網(wǎng)狀態(tài),之后心跳信號穩(wěn)定。當(dāng)?shù)竭_(dá)8:00時,服務(wù)器通過執(zhí)行上述消息推送方法,將推送消息ⅰ、推送消息ⅱ和推送消息ⅲ按圖5中流程依次推送至客戶端b。具體地,從3個推送消息中依次篩選緩存待推送消息ii,待推送消息i和待推送消息iii,并推送至客戶端a,同時在推送的過程中根據(jù)推送消息的屬性參數(shù)根據(jù)歷史屬性參數(shù),該歷史屬性參數(shù)為客戶端b的歷史屬性參數(shù)。推送至客戶端b的過程和推送至客戶端a過程相同。在圖6中,客戶端c與服務(wù)器在9:00以后處于聯(lián)網(wǎng)狀態(tài),之后心跳信號穩(wěn)定。當(dāng)?shù)竭_(dá)9:00時,服務(wù)器通過執(zhí)行上述消息推送方法,將推送消息ⅰ、推送消息ⅱ和推送消息ⅲ按圖6中流程依次推送至客戶端c。具體地,從3個推送消息中先篩選緩存待推送消息i和待推送消息ii,在篩選緩存待推送消息iii,并推送至客戶端c,同時在推送的過程中根據(jù)推送消息的屬性參數(shù)根據(jù)歷史屬性參數(shù),該歷史屬性參數(shù)為客戶端c的歷史屬性參數(shù)。在圖7中,客戶端d與服務(wù)器在10:00以后處于聯(lián)網(wǎng)狀態(tài),之后心跳信號穩(wěn)定。當(dāng)?shù)竭_(dá)10:00時,服務(wù)器通過執(zhí)行上述消息推送方法,將推送消息ⅰ、推送消息ⅱ和推送消息ⅲ按圖7中流程依次推送至客戶端d。具體地,從3個推送消息中篩選緩存待推送消息i、待推送消息ii和待推送消息iii,并推送至客戶端d,同時在推送的過程中根據(jù)推送消息的屬性參數(shù)根據(jù)歷史屬性參數(shù),該歷史屬性參數(shù)為客戶端d的歷史屬性參數(shù)。綜上,從上述四個推送場景可以看出,該消息推送方法可智能去重,能夠?qū)⒍鄺l推送消息及時推送至客戶端,從而實現(xiàn)智能高效的推送效果。需要說明的是,上述場景中,運營提交的推送消息雖然只列出了3條,但對于多條推送消息時,也可以實現(xiàn)智能去重且及時推送至不同客戶端。請參閱圖8,圖8是本發(fā)明實施例提供的一種服務(wù)器的示意性框圖。服務(wù)器300用于執(zhí)行上述實施例中消息推送方法。如圖4所示,服務(wù)器300包括:第一獲取單元301、生成單元302、第二獲取單元303、篩選單元304、推送單元305和更新單元306。第一獲取單元301,用于若接收到推送消息,獲取所述推送消息的開始發(fā)送時間。具體地,若接收到運營商等提交的至少一個推送消息,獲取至少一個所述推送消息的開始發(fā)送時間。其中,推送消息是指需要推送至各個客戶端的消息,包括文字消息和圖片消息等。開始發(fā)送時間是指由運行商設(shè)置具體發(fā)送推送消息的時間,比如推送消息ⅰ,可以設(shè)置為8:00開始發(fā)送該推送消息ⅰ,那么8:00即是該推送消息ⅰ的開始發(fā)送時間。生成單元302,用于根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù)。具體地,若運行商提交多個推送消息,可以根據(jù)其提交順序,對該多個推送消息進(jìn)行排序并生成排序序號。比如提交3條推送消息,分別為推送消息ⅰ、推送消息ⅱ和推送消息ⅲ,則根據(jù)其提交順序?qū)⒃?條推送消息進(jìn)行排序并生成排序序號,如果之前沒有推送消息,則排序序號為1、2和3。其中,該開始發(fā)送時間和排序序號設(shè)為推送消息的屬性參數(shù)。比如推送消息ⅰ的開始發(fā)送時間為8:00,且推送消息ⅰ的排序序號為1,則推送消息ⅰ的屬性參數(shù)為(8:00,1)第二獲取單元303,用于獲取客戶端的聯(lián)網(wǎng)時間。具體地,獲取客戶端的聯(lián)網(wǎng)時間具體為:服務(wù)器獲取其與客戶端的聯(lián)網(wǎng)時間。該聯(lián)網(wǎng)時間是指客戶端和服務(wù)器保持通訊的時間,客戶端與服務(wù)器通過定時心跳信息維持一個長連接,該聯(lián)網(wǎng)時間具體為心跳信號上報時刻。如果客戶端和服務(wù)器保持一個長連接,那么服務(wù)器的當(dāng)前時間就可以理解為該聯(lián)網(wǎng)時間,比如服務(wù)器發(fā)現(xiàn)客戶端a在8:00時有心跳信號上報,則該8:00為客戶端a的聯(lián)網(wǎng)時間。篩選單元304,用于根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號。具體地,根據(jù)推送消息的屬性參數(shù)中的開始發(fā)送時間和聯(lián)網(wǎng)時間確定到達(dá)發(fā)送時間的推送消息,在根據(jù)歷史屬性參數(shù)和所述屬性參數(shù)從多個推送消息中篩選出滿足推送條件的推送消息作為待推送消息。基于此,篩選單元304包括第一判斷單元3041、第二判斷單元3042和第一篩選單元3043。其中,第一判斷單元3041,用于判斷所述推送消息的開始發(fā)送時間是否達(dá)到所述聯(lián)網(wǎng)時間。比如,推送消息ⅰ的開始發(fā)送時間為9:00,服務(wù)器與客戶端a的聯(lián)網(wǎng)時間為8:00,即可以判斷出推送消息ⅰ的開始發(fā)送時間達(dá)到所述聯(lián)網(wǎng)時間8:00。其中,第二判斷單元3042,用于若所述推送消息的開始發(fā)送時間達(dá)到所述聯(lián)網(wǎng)時間,判斷所述推送消息的屬性參數(shù)是否大于所述歷史屬性參數(shù)。具體地,判斷所述推送消息的屬性參數(shù)是否大于所述歷史屬性參數(shù),包括:判斷所述推送消息的開始發(fā)送時間是否大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,以及所述推送消息的排序序號是否大于所述歷史屬性參數(shù)中的歷史排序序號;若所述推送消息的開始發(fā)送時間大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,或所述推送消息的排序序號大于所述歷史屬性參數(shù)中的歷史排序序號,判定所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù)。其中,第一篩選單元3043,用于若所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù),將所述推送信息篩選為待推送消息。具體地,若所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù),推送消息的開始發(fā)送時間大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,或所述推送消息的排序序號大于所述歷史屬性參數(shù)中的歷史排序序號。推送單元305,用于根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。具體地,根據(jù)上述步驟從多個待推送消息中篩選出待推送消息后,如果該待推送消息包括多個,比如3個待推送消息,其對應(yīng)的推送消息的排序序號分別為4、6和7,則根據(jù)這三個排序序號的大小將三個待推送消息推送至客戶端,以供使用該客戶端的客戶進(jìn)行瀏覽參考。更新單元306,用于根據(jù)所述待推送消息的屬性參數(shù)更新所述歷史屬性參數(shù)。具體地,根據(jù)所述待推送消息的屬性參數(shù)按預(yù)設(shè)更新規(guī)則更新所述歷史屬性參數(shù)。所述待推送消息的屬性參數(shù),比如,推送消息ⅰ的屬性參數(shù)為(8:00,1)。所述歷史屬性參數(shù)表示為(btime0,mid0),其中btime0為歷史發(fā)送時間,mid0為歷史排序序號,且btime0和mid0均為零。其中,預(yù)設(shè)更新規(guī)則為更新所述歷史屬性參數(shù)的規(guī)則,根據(jù)所述待推送消息的屬性參數(shù)按預(yù)設(shè)更新規(guī)則更新所述歷史屬性參數(shù),具體包括:確定所述待推送消息的屬性參數(shù)中大于所述歷史屬性參數(shù)的參數(shù)值;根據(jù)所述參數(shù)值更新所述歷史屬性參數(shù)上述實施例的服務(wù)器通過獲取接收到推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);在獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端;根據(jù)所述待推送消息的屬性參數(shù)更新所述歷史屬性參數(shù)。利用該消息推送方法進(jìn)行消息推送時可以有效避免客戶端收到重復(fù)消息,造成無謂的流量浪費,進(jìn)而增強客戶的體驗度。參見圖9所示,圖9是本發(fā)明另一實施例提供的一種服務(wù)器示意框圖。如圖所示的本實施例中的終端可以包括:一個或多個處理器801;一個或多個輸入設(shè)備802,一個或多個輸出設(shè)備803和存儲器804。上述處理器801、輸入設(shè)備802、輸出設(shè)備803和存儲器804通過總線805連接。存儲器802用于存儲指令,處理器801用于執(zhí)行存儲器802存儲的指令。其中,處理器801用于執(zhí)行:若接收到推送消息,獲取所述推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。進(jìn)一步地,處理器801還用于執(zhí)行:判斷所述推送消息的開始發(fā)送時間是否達(dá)到所述聯(lián)網(wǎng)時間;若所述推送消息的開始發(fā)送時間達(dá)到所述聯(lián)網(wǎng)時間,判斷所述推送消息的屬性參數(shù)是否大于所述歷史屬性參數(shù);若所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù),將所述推送信息篩選為待推送消息進(jìn)一步地,處理器801還用于執(zhí)行:判斷所述推送消息的開始發(fā)送時間是否大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,以及所述推送消息的排序序號是否大于所述歷史屬性參數(shù)中的歷史排序序號;若所述推送消息的開始發(fā)送時間大于所述歷史屬性參數(shù)中的歷史發(fā)送時間,或所述推送消息的排序序號大于所述歷史屬性參數(shù)中的歷史排序序號,判定所述推送消息的屬性參數(shù)大于所述歷史屬性參數(shù)。在某些實施例中,其中,處理器801用于執(zhí)行:若接收到推送消息,獲取所述推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端;根據(jù)所述待推送消息的屬性參數(shù)更新所述歷史屬性參數(shù)。在某些實施例中,進(jìn)一步地,處理器801還用于執(zhí)行:根據(jù)所述待推送消息的屬性參數(shù)按預(yù)設(shè)更新規(guī)則更新所述歷史屬性參數(shù)。應(yīng)當(dāng)理解,在本發(fā)明實施例中,所稱處理器801可以是中央處理單元(centralprocessingunit,cpu),該處理器還可以是其他通用處理器、數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。輸入設(shè)備802可以包括觸控板、指紋采傳感器(用于采集用戶的指紋信息和指紋的方向信息)、麥克風(fēng)等,輸出設(shè)備803可以包括顯示器(lcd等)、揚聲器等。該存儲器804可以包括只讀存儲器和隨機(jī)存取存儲器,并向處理器801提供指令和數(shù)據(jù)。存儲器804的一部分還可以包括非易失性隨機(jī)存取存儲器。例如,存儲器804還可以存儲設(shè)備類型的信息。具體實現(xiàn)中,本發(fā)明實施例中所描述的處理器801、輸入設(shè)備802、輸出設(shè)備803可執(zhí)行本發(fā)明實施例提供的的方法的第一實施例和第二實施例中所描述的實現(xiàn)方式,也可執(zhí)行本發(fā)明實施例所描述的終端的實現(xiàn)方式,在此不再贅述。在本發(fā)明的另一實施例中提供一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn):若接收到推送消息,獲取所述推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端。此外,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn):若接收到推送消息,獲取所述推送消息的開始發(fā)送時間;根據(jù)所述推送消息的提交順序進(jìn)行排序生成排序序號,其中所述開始發(fā)送時間和排序序號作為所述推送消息的屬性參數(shù);獲取客戶端的聯(lián)網(wǎng)時間;根據(jù)歷史屬性參數(shù)、所述屬性參數(shù)和聯(lián)網(wǎng)時間從推送信息中篩選出待推送消息,其中所述歷史屬性參數(shù)包括歷史發(fā)送時間和歷史排序序號;根據(jù)所述待推送信息的排序序號,將所述待推送消息推送至所述客戶端;根據(jù)所述待推送消息的屬性參數(shù)更新所述歷史屬性參數(shù)。所述計算機(jī)可讀存儲介質(zhì)可以是前述任一實施例所述的服務(wù)器的內(nèi)部存儲單元,例如服務(wù)器的硬盤或內(nèi)存。所述計算機(jī)可讀存儲介質(zhì)也可以是所述服務(wù)器的外部存儲設(shè)備,例如所述服務(wù)器上配備的插接式硬盤,智能存儲卡(smartmediacard,smc),安全數(shù)字(securedigital,sd)卡,閃存卡(flashcard)等。進(jìn)一步地,所述計算機(jī)可讀存儲介質(zhì)還可以既包括所述服務(wù)器的內(nèi)部存儲單元也包括外部存儲設(shè)備。所述計算機(jī)可讀存儲介質(zhì)用于存儲所述計算機(jī)程序以及所述服務(wù)器所需的其他程序和數(shù)據(jù)。所述計算機(jī)可讀存儲介質(zhì)還可以用于暫時地存儲已經(jīng)輸出或者將要輸出的數(shù)據(jù)。本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的服務(wù)器和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的服務(wù)器和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機(jī)械的或其它的形式連接。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本發(fā)明實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分,或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1