器斷開連接時,將該用戶設備的狀態設置為未連接。如圖2為一個用戶的用戶設備列表示意圖。
[0037]第二部分:
[0038]客戶設備通過幾種預設的搶占時機主動發送搶占請求至服務器。
[0039]例如,用戶與用戶設備的程序界面進行交互時,用戶設備向服務器發送搶占請求;或者,用戶發送消息時,用戶設備向服務器發送搶占請求。
[0040]服務器接收到搶占請求后,將當前系統時間作為搶占時間保存到用戶設備列表中的對應設備中。如圖3為包括搶占時間的用戶設備列表示意圖。
[0041]第三部分:
[0042]服務器需要向用戶推送消息時,首先檢查該用戶的用戶設備列表,選取連接狀態為已連接的全部用戶設備,并按照用戶設備搶占時間由晚到早的順序排序,將排序后的第一個設備作為該用戶的主要用戶設備,將消息推送至該主要用戶設備。如圖4為選取主要用戶設備的實現流程圖。
[0043]本發明還提出一種搶占式跨平臺消息推送服務器,如圖5為該服務器的結構示意圖,包括:
[0044]列表維護模塊501,用于為每個用戶維護用戶設備列表,所述用戶設備列表包括該用戶登錄使用過的全部用戶設備信息;當用戶設備連接到所述服務器時,將所述用戶設備的狀態設置為已連接;當用戶設備與所述服務器斷開連接時,將所述用戶設備的狀態設置為未連接;當服務器接收到用戶設備發送的搶占請求時,將當前系統時間作為該用戶設備的搶占時間,并將所述搶占時間保存在對應的用戶設備列表中;
[0045]推送模塊502,用于需要向用戶推送消息時,查詢所述用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備。
[0046]上述服務器中,推送模塊502查詢用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備的方式可以為:從用戶的用戶設備列表中選擇出狀態設置為已連接的所有設備,將選擇出的所有設備按照搶占時間由晚到早的順序排序,將排序后的第一個設備作為該用戶的主要用戶設備,將消息推送至該主要用戶設備。
[0047]綜上可見,本發明主要保護多終端跨平臺消息推送的搶占機制。首先在服務器維護了每個用戶的一個根據搶占時間索引并排序的用戶設備列表,根據設備與服務器的連接請求動態更新對應的連接狀態信息。當客戶端通過預設的搶占時機發起搶占請求后,服務器將處理時的系統時間作為對應設備的搶占時間并保存在用戶設備列表中。由于用戶設備列表根據搶占時間排序,使得最后搶占并保持連接的設備成為最終的主要推送設備。本發明綜合了獨占推送和全推兩種常見推送形式的優點,既不限制用戶只能在一臺設備登錄使用,也不會推送過多重復消息到多臺設備,而是集中推送到用戶最后搶占使用的主要設備,使消息在多設備共享同步以及及時的通知提醒之間找到一個有效的平衡點。
[0048]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【主權項】
1.一種搶占式跨平臺消息推送方法,其特征在于,所述方法包括: 服務器為每個用戶維護用戶設備列表,所述用戶設備列表包括該用戶登錄使用過的全部用戶設備信息; 當用戶設備連接到服務器時,服務器將所述用戶設備的狀態設置為已連接;當用戶設備與服務器斷開連接時,服務器將所述用戶設備的狀態設置為未連接; 服務器接收用戶設備發送的搶占請求,將當前系統時間作為該用戶設備的搶占時間,并將所述搶占時間保存在對應的用戶設備列表中; 服務器需要向用戶推送消息時,查詢所述用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備。2.根據權利要求1所述的方法,其特征在于,所述用戶設備發送搶占請求的方式為: 用戶與所述用戶設備的程序界面進行交互時,用戶設備向服務器發送搶占請求;或者,用戶發送消息時,用戶設備向服務器發送搶占請求。3.根據權利要求1所述的方法,其特征在于,所述查詢用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備的方式為: 從用戶的用戶設備列表中選擇出狀態設置為已連接的所有設備,將選擇出的所有設備按照搶占時間由晚到早的順序排序,將排序后的第一個設備作為該用戶的主要用戶設備,將消息推送至該主要用戶設備。4.一種搶占式跨平臺消息推送服務器,其特征在于,所述服務器包括: 列表維護模塊,用于為每個用戶維護用戶設備列表,所述用戶設備列表包括該用戶登錄使用過的全部用戶設備信息;當用戶設備連接到所述服務器時,將所述用戶設備的狀態設置為已連接;當用戶設備與所述服務器斷開連接時,將所述用戶設備的狀態設置為未連接;當服務器接收到用戶設備發送的搶占請求時,將當前系統時間作為該用戶設備的搶占時間,并將所述搶占時間保存在對應的用戶設備列表中; 推送模塊,用于需要向用戶推送消息時,查詢所述用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備。5.根據權利要求4所述的服務器,其特征在于,所述推送模塊查詢用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備的方式為: 從用戶的用戶設備列表中選擇出狀態設置為已連接的所有設備,將選擇出的所有設備按照搶占時間由晚到早的順序排序,將排序后的第一個設備作為該用戶的主要用戶設備,將消息推送至該主要用戶設備。
【專利摘要】本發明提出一種搶占式跨平臺消息推送方法和服務器,其中方法包括:服務器為每個用戶維護用戶設備列表,所述用戶設備列表包括該用戶登錄使用過的全部用戶設備信息;當用戶設備連接到服務器時,服務器將所述用戶設備的狀態設置為已連接;當用戶設備與服務器斷開連接時,服務器將所述用戶設備的狀態設置為未連接;服務器接收用戶設備發送的搶占請求,將當前系統時間作為該用戶設備的搶占時間,并將所述搶占時間保存在對應的用戶設備列表中;服務器需要向用戶推送消息時,查詢所述用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備。本發明能夠將推送消息只推送給必要的用戶設備,同時不限制用戶的登錄設備。
【IPC分類】H04L12/58, H04L29/06
【公開號】CN104954227
【申請號】CN201410112571
【發明人】武鑫, 鐘廣凱, 陸曉茵
【申請人】北京雪球信息科技有限公司
【公開日】2015年9月30日
【申請日】2014年3月25日