一種搶占式跨平臺消息推送方法和服務器的制造方法
【技術領域】
[0001]本發明涉及計算機互聯網技術領域,尤其涉及一種搶占式跨平臺消息推送方法和服務器。
【背景技術】
[0002]目前基本的消息推送的實現類型有以下兩種:
[0003]第一種,獨占推送,即消息只推送給用戶最后登錄的用戶設備;第二種,全部推送,即消息推送給用戶所有的用戶設備。
[0004]上述兩種方法均存在缺點。第一種方式雖然不會產生重復的消息推送,但缺點是限制用戶只能同時在一臺用戶設備登錄,當用戶切換到新的用戶設備時,舊的用戶設備會斷開連接,用戶需要重新輸入用戶名密碼登錄新設備,造成了不必要的麻煩。第二種方式雖然不限制用戶只能登錄一臺用戶設備,但由于同時向所有用戶登錄過的用戶設備推送消息,會產生很多重復消息。一個典型的場景是,用戶A在網上聊天,另外一個用戶B向其發送了一條消息,用戶A的已登錄手機設備和平板電腦會同時響起消息推送的提示音。而此時,其實用戶A在手機設備上進行操作即可以看到新消息,本無需在查看其他設備的重復推送消息。
【發明內容】
[0005]本發明提供了一種搶占式跨平臺消息推送方法,能夠將推送消息只推送給必要的用戶設備,同時不限制用戶的登錄設備。
[0006]本發明提供了一種搶占式跨平臺消息推送服務器,能夠將推送消息只推送給必要的用戶設備,同時不限制用戶的登錄設備。
[0007]本發明的技術方案是這樣實現的:
[0008]一種搶占式跨平臺消息推送方法,包括:
[0009]服務器為每個用戶維護用戶設備列表,所述用戶設備列表包括該用戶登錄使用過的全部用戶設備信息;
[0010]當用戶設備連接到服務器時,服務器將所述用戶設備的狀態設置為已連接;當用戶設備與服務器斷開連接時,服務器將所述用戶設備的狀態設置為未連接;
[0011]服務器接收用戶設備發送的搶占請求,將當前系統時間作為該用戶設備的搶占時間,并將所述搶占時間保存在對應的用戶設備列表中;
[0012]服務器需要向用戶推送消息時,查詢所述用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備。
[0013]上述方法中,用戶設備發送搶占請求的方式可以為:用戶與所述用戶設備的程序界面進行交互時,用戶設備向服務器發送搶占請求;或者,用戶發送消息時,用戶設備向服務器發送搶占請求。
[0014]查詢用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備的方式可以為:從用戶的用戶設備列表中選擇出狀態設置為已連接的所有設備,將選擇出的所有設備按照搶占時間由晚到早的順序排序,將排序后的第一個設備作為該用戶的主要用戶設備,將消息推送至該主要用戶設備。
[0015]一種搶占式跨平臺消息推送服務器,包括:
[0016]列表維護模塊,用于為每個用戶維護用戶設備列表,所述用戶設備列表包括該用戶登錄使用過的全部用戶設備信息;當用戶設備連接到所述服務器時,將所述用戶設備的狀態設置為已連接;當用戶設備與所述服務器斷開連接時,將所述用戶設備的狀態設置為未連接;當服務器接收到用戶設備發送的搶占請求時,將當前系統時間作為該用戶設備的搶占時間,并將所述搶占時間保存在對應的用戶設備列表中;
[0017]推送模塊,用于需要向用戶推送消息時,查詢所述用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備。
[0018]上述服務器中,推送模塊查詢用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備的方式可以為:從用戶的用戶設備列表中選擇出狀態設置為已連接的所有設備,將選擇出的所有設備按照搶占時間由晚到早的順序排序,將排序后的第一個設備作為該用戶的主要用戶設備,將消息推送至該主要用戶設備。
[0019]可見,本發明提出的搶占式跨平臺消息推送方法和服務器,能夠將消息推送至最后搶占并且保持連接的用戶設備上,并且允許用戶同時登錄多個設備。
【附圖說明】
[0020]圖1為本發明提出的搶占式跨平臺消息推送方法實現流程圖;
[0021]圖2為本發明實施例一的用戶設備列表不意圖一;
[0022]圖3為本發明實施例一的用戶設備列表示意圖二 ;
[0023]圖4為本發明實施例一中選取主要用戶設備的實現流程圖;
[0024]圖5為本發明提出的搶占式跨平臺消息推送服務器結構示意圖。
【具體實施方式】
[0025]本發明提出一種搶占式跨平臺消息推送方法,如圖1為該方法實現流程圖,包括:
[0026]步驟101:服務器為每個用戶維護用戶設備列表,所述用戶設備列表包括該用戶登錄使用過的全部用戶設備信息;
[0027]步驟102:當用戶設備連接到服務器時,服務器將所述用戶設備的狀態設置為已連接;當用戶設備與服務器斷開連接時,服務器將所述用戶設備的狀態設置為未連接;
[0028]步驟103:服務器接收用戶設備發送的搶占請求,將當前系統時間作為該用戶設備的搶占時間,并將所述搶占時間保存在對應的用戶設備列表中;
[0029]步驟104:服務器需要向用戶推送消息時,查詢所述用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備。
[0030]上述步驟103中,用戶設備發送搶占請求的方式可以為:用戶與所述用戶設備的程序界面進行交互時,用戶設備向服務器發送搶占請求;或者,用戶發送消息時,用戶設備向服務器發送搶占請求。
[0031]上述步驟104中,查詢用戶的用戶設備列表中狀態設置為已連接、并且搶占時間最晚的用戶設備,將消息推送至所述用戶設備的方式可以為:從用戶的用戶設備列表中選擇出狀態設置為已連接的所有設備,將選擇出的所有設備按照搶占時間由晚到早的順序排列,將排列后的第一個設備作為該用戶的主要用戶設備,將消息推送至該主要用戶設備。
[0032]以下參照附圖,舉具體的實施例詳細介紹。
[0033]實施例一:
[0034]本實施例包括用戶設備連接狀態維護、用戶設備搶占和消息推送三個部分。
[0035]第一部分:
[0036]針對每個用戶,系統維護一個用戶設備列表。該列表包含了用戶登錄使用過的全部用戶設備。針對每個用戶設備,當用戶設備連接到服務器時,將該用戶設備的狀態設置為已連接;當用戶設備與服務