一種消息推送方法、裝置及推送服務器的制造方法
【技術領域】
[0001]本發明涉及通信技術領域,具體涉及一種消息推送方法、裝置及推送服務器。
【背景技術】
[0002]消息推送是指消息通過推送服務器經網絡送達用戶設備的消息傳遞方式,包括用戶消息的點對點推送(如一個用戶設備通過推送服務器向另一用戶設備推送消息等)、用戶消息的群發推送(如一個用戶設備通過推送服務器向多個用戶設備推送消息等)、離線服務消息的群發推送等(推送服務器向多個用戶設備推送AAP服務提供方設置的離線消息等,如AAP更新消息的推送等);消息推送過程中,消息主要以數據包的方式進行推送。
[0003]隨著智能操作系統(如安卓、1S等)的發展,通過第三方推送服務進行消息推送的方式越來越常見,例如,采用信鴿,QQ等第三方推送服務應用進行消息推送;在通過第三方推送服務進行消息推送時,第三方推送服務器可獲取需要推送消息的用戶設備或APP服務提供方推送的消息,再將該信息通過第三方推送服務器的數據鏈路,推送至安裝有第三方推送服務應用的用戶設備。
[0004]本發明的發明人研宄發現,目前的消息推送方法主要為:在推送消息時,推送服務器以固定的推送速率進行數據包的推送,并盡量多的推送數據包;這種消息推送方法沒有考慮推送服務器鏈路的當前質量,無論推送服務器的鏈路質量情況如何變化,均是盡量多的推送數據包,這將導致質量差的鏈路仍然要推送比較多的數據包的情況發生,帶來數據包丟包嚴重、推送延遲較高,推送質量較差的問題。
【發明內容】
[0005]有鑒于此,本發明實施例提供一種消息推送方法、裝置及推送服務器,以解決現有技術無論推送服務器的鏈路質量情況如何變化,均是盡量多的推送數據包的方式,所存在的數據包丟包嚴重、推送延遲較高,推送質量較差的問題。
[0006]為實現上述目的,本發明實施例提供如下技術方案:
[0007]一種消息推送方法,包括:
[0008]在進行消息推送的過程中,確定推送服務器的第一鏈路在上一推送周期所對應的數據包推送數量及時間,所述第一鏈路為所述推送服務器的任一鏈路;
[0009]根據所述上一推送周期所對應的數據包推送數量及時間,調整所述第一鏈路在下一推送周期所推送的數據包數量;
[0010]控制所述第一鏈路在下一推送周期,推送與調整后的所述數據包數量對應的數據包。
[0011]本發明實施例還提供一種消息推送裝置,包括:
[0012]上一推送信息確定模塊,用于在進行消息推送的過程中,確定推送服務器的第一鏈路在上一推送周期所對應的數據包推送數量及時間,所述第一鏈路為所述推送服務器的任一鏈路;
[0013]調整模塊,用于根據所述上一推送周期所對應的數據包推送數量及時間,調整所述第一鏈路在下一推送周期所推送的數據包數量;
[0014]下一推送控制模塊,用于控制所述第一鏈路在下一推送周期,推送與調整后的所述數據包數量對應的數據包。
[0015]本發明實施例還提供一種推送服務器,包括上述所述的消息推送裝置。
[0016]基于上述技術方案,本發明實施例提供的消息推送方法中,通過反映鏈路的質量情況的上一推送周期所對應的數據包推送數量及時間,對推送服務器在下一推送周期所推送的數據包數量進行調整,可實現鏈路質量變差時,鏈路在下一推送周期所推送的數據包的數量減少,達到減少數據包丟包,降低推送延遲,提高推送質量的目的。
【附圖說明】
[0017]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0018]圖1為本發明實施例提供的消息推送系統的結構框圖;
[0019]圖2為本發明實施例提供的消息推送方法的流程圖;
[0020]圖3為本發明實施例提供的消息推送方法的另一流程圖;
[0021]圖4為本發明實施例提供的消息推送方法的再一流程圖;
[0022]圖5為本發明實施例提供的消息推送方法的又一流程圖;
[0023]圖6為本發明實施例提供的消息推送裝置的結構框圖;
[0024]圖7為本發明實施例提供的上一推送信息確定模塊的結構框圖;
[0025]圖8為本發明實施例提供的調整模塊的結構框圖;
[0026]圖9為本發明實施例提供的調整模塊的另一結構框圖;
[0027]圖10為本發明實施例提供的調整模塊的再一結構框圖;
[0028]圖11為本發明實施例提供的上一推送信息確定模塊的另一結構框圖;
[0029]圖12為本發明實施例提供的調整模塊的又一結構框圖;
[0030]圖13為本發明實施例提供的消息推送裝置的另一結構框圖;
[0031]圖14為本發明實施例提供的推送服務器的結構框圖。
【具體實施方式】
[0032]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0033]圖1為本發明實施例提供的消息推送系統的結構框圖,參照圖1,該消息推送系統可以包括:推送服務器10和目標設備20,目標設備20為推送消息的接收方;
[0034]在本發明實施例中,推送服務器10可以獲取用戶設備發送的推送消息,將該推送消息推送至目標設備20 ;推送服務器10還可獲取AAP服務提供方設置的離線消息(該離線消息可由消息生成服務器生成后,由推送服務器10從消息生成服務器中分批次獲取),將該離線消息推送至目標設備20 ;
[0035]值得注意的是,推送服務器10可通過推送網絡將消息推送至目標設備20 ;推送網絡主要根據目標設備20所支持的操作系統的不同而調整,如目標設備20支持安卓操作系統,則推送網絡可以互聯網,移動通信網絡等;如目標設備20支持1S操作系統,則推送網絡可以為APNS (Apple Push Notificat1n Service,蘋果推送通知服務)等;
[0036]推送服務器10具有多條鏈路,該多條鏈路均可進行消息推送。
[0037]上述消息推送系統中,消息推送方法的實現方式可以如下:
[0038]推送服務器10可用于,在進行消息推送的過程中,確定推送服務器的第一鏈路在上一推送周期所對應的數據包推送數量及時間,所述第一鏈路為所述推送服務器的任一鏈路,根據所述上一推送周期所對應的數據包推送數量及時間,調整所述第一鏈路在下一推送周期所推送的數據包數量,控制所述第一鏈路在下一推送周期,推送與調整后的所述數據包數量對應的數據包;
[0039]目標設備20可用于,接收推送服務器10通過第一鏈路所推送的數據包。
[0040]可選的,推送服務器可以為第三方推送服務器,為第三方推送服務提供服務,如信鴿、QQ推送服務器等;目標設備20可以為裝載有第三方推送服務的用戶設備,如裝載有信鴿、QQ等第三方推送服務的手機、平板電腦等。
[0041]本發明實施例中,推送服務器在下一推送周期所推送的數據包數量,是根據上一推送周期所對應的數據包推送數量及時間進行調整的,而上一推送周期所對應的數據包推送數量及時間反映了鏈路的質量情況,一般情況下,鏈路質量高時,通過所述數量及時間所計算的上一推送周期所對應的數據包推送速率也將處于較高狀態,鏈路質量低時,上一推送周期所對應的數據包推送速率將處于較低狀態;通過反映鏈路的質量情況的上一推送周期所對應的數據包推送數量及時間,對推送服務器在下一推送周期所推送的數據包數量進行調整,可實現鏈路質量變差時,鏈路在下一推送周期所推送的數據包的數量減少,達到減少數據包丟包,降低推送延遲,提高推送質量的目的。
[0042]圖2為本發明實施例提供的消息推送方法的流程圖,該方法可應用于推送服務器,參照圖2,該方法可以包括:
[0043]步驟S100、在進行消息推送的過程中,確定推送服務器的第一鏈路在上一推送周期所對應的數據包推送數量及時間,所述第一鏈路為所述推送服務器的任一鏈路;
[0044]推送服務器推送消息的場景可以為推送服務器分批次獲取消息的數據包,將數據包推送至目標設備;也可以是接收用戶設備推送的消息的數據包后,將該數據包推送至目標設備;
[0045]可選的,一個推送周期可以為推送一次獲取的數據包的任務時間(對應推送服務器分批次獲取數據包的情況),若推送服務器分多次獲取數據包,則對應有多個推送周期;一個推送周期也可以是一個設定的時間段,若推送服務器在持續、平滑(無瞬間推送訪問過高的情況)的進行消息推送,則可以設定的時間段,將推送時間分為若干段設定的時間段,得到多個推送周期;
[0046]第一鏈路為圖1所示推送服務器所具有的多條鏈路中的任一條鏈路,即對于推送服務器的各鏈路,均可通過圖2所示方法實現消息推送。
[00