[發明專利]一種任務推送方法和系統有效
| 申請號: | 201911334639.2 | 申請日: | 2019-12-23 |
| 公開(公告)號: | CN111131443B | 公開(公告)日: | 2023-06-30 |
| 發明(設計)人: | 謝鵬程;譚一昕 | 申請(專利權)人: | 中國平安財產保險股份有限公司 |
| 主分類號: | H04L67/55 | 分類號: | H04L67/55;H04L67/141;H04L67/146;H04L67/566;H04L67/02 |
| 代理公司: | 深圳市精英專利事務所 44242 | 代理人: | 武志峰 |
| 地址: | 518000 廣東省深圳市福田區益田路*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 任務 推送 方法 系統 | ||
1.一種任務推送方法,其特征在于,方法包括:
網關服務器集群中的各網關服務器與各客戶端分別建立連接,并在所述各網關服務器本地存儲對應客戶端的信息;
所述網關服務器集群中的各網關服務器調用后臺服務器,對后臺服務器的客戶端狀態進行更新;
所述后臺服務器接收到派發的任務時,根據所述任務的類型確定對應的服務層,并通過所述服務層組裝任務數據并查找滿足所述任務條件的客戶端集合,并以消息的形式將任務數據以及客戶端集合發送至消息隊列;
所述網關服務器集群中的網關服務器監聽到消息隊列中有新的消息時,根據客戶端集合在本地查找對應的客戶端,并將任務數據發送至對應的客戶端;
所述網關服務器集群中的各網關服務器與各客戶端分別建立連接,并在所述各網關服務器本地存儲對應客戶端的信息,包括:
網關服務器集群中的網關服務器接收到客戶端的連接請求后,與對應客戶端建立websocket連接;
在建立websocket連接后,所述網關服務器分發一會話ID至客戶端,并在本地存儲對應客戶端的會話ID;
所述網關服務器集群中的網關服務器接收到客戶端的連接請求后,與對應客戶端建立websocket連接,包括:
當接收到所述客戶端的連接請求后,從網關服務器集群中確定一個與之對應的網關服務器;
利用確定出的所述網關服務器與對應所述客戶端建立websocket連接;
所述當接收到所述客戶端的連接請求后,從網關服務器集群中確定一個與之對應的網關服務器,包括:
當接收到所述客戶端的連接請求后,根據網關服務器集群中各網關服務器所連接的客戶端數量,從網關服務器集群中確定一個與所述客戶端對應的網關服務器,使各網關服務器均攤所連接的客戶端數量;確定網關服務器的方法為:將網關服務器集群中的各網關服務器各設置一從0至n-1的模數,其中的n為網關服務器集群中的網關服務器數量,將所需連接的客戶端關鍵字段進行hash處理,再將處理后得到的hash值對網關服務器的總數量取模,然后將取模結果與各網關服務器的模數進行匹配,確定客戶端所連接的網關服務器;
所述后臺服務器接收到派發的任務時,根據所述任務的類型確定對應的服務層,并通過所述服務層組裝任務數據并查找滿足所述任務條件的客戶端集合,并以消息的形式將任務數據以及客戶端集合發送至消息隊列,包括:所述后臺服務器接收到派發的任務時,獲取任務的類型;根據所述任務的類型匹配對應的服務層;通過所述服務層組裝任務數據;查找滿足所述任務的條件并且在線的客戶端并組成客戶端集合;通過所述服務層以消息的形式將所述任務數據以及客戶端集合發送至消息隊列;
所述通過所述服務層以消息的形式將所述任務數據以及客戶端集合發送至消息隊列,包括:通過所述服務層將所述任務數據以及客戶端集合組裝為消息;將消息發送至指定消息主題下的消息隊列;一個網關服務器只接收一種消息主題下的消息;
所述網關服務器集群中的網關服務器監聽到消息隊列中有新的消息時,根據客戶端集合在本地查找對應的客戶端,并將任務數據發送至對應的客戶端,包括:當所述網關服務器集群中的網關服務器訂閱所述消息主題時,使用廣播消費模式對所述消息進行消費處理;對所述消息進行解析,獲取其中的任務數據和客戶端集合;根據客戶端集合中的各客戶端的信息與本地存儲的客戶端的信息進行匹配;根據匹配結果將任務數據發送至匹配出的客戶端。
2.一種任務推送系統,其特征在于,包括:后臺服務器、網關服務器集群;
所述網關服務器集群中的各網關服務器用于與各客戶端分別建立連接,并在所述各網關服務器本地存儲對應客戶端的信息;所述網關服務器集群中的各網關服務器還用于調用后臺服務器,對后臺服務器的客戶端狀態進行更新;所述網關服務器集群中的網關服務器還用于監聽到消息隊列中有新的消息時,根據客戶端集合在本地查找對應的客戶端,并將任務數據發送至對應的客戶端;
所述后臺服務器用于在接收到派發的任務時,根據所述任務的類型確定對應的服務層,并通過所述服務層組裝任務數據并查找滿足所述任務條件的客戶端集合,并以消息的形式將任務數據以及客戶端集合發送至消息隊列;
所述網關服務器集群中的網關服務器還用于接收到客戶端的連接請求后,與對應客戶端建立websocket連接;在建立websocket連接后,所述網關服務器分發一會話ID至客戶端,并在本地存儲對應客戶端的會話ID;
所述網關服務器集群中的網關服務器還用于當接收到所述客戶端的連接請求后,從網關服務器集群中確定一個與之對應的網關服務器;利用確定出的所述網關服務器與對應所述客戶端建立websocket連接;
所述網關服務器集群中的網關服務器還用于:當接收到所述客戶端的連接請求后,根據網關服務器集群中各網關服務器所連接的客戶端數量,從網關服務器集群中確定一個與所述客戶端對應的網關服務器,使各網關服務器均攤所連接的客戶端數量;確定網關服務器的方法為:將網關服務器集群中的各網關服務器各設置一從0至n-1的模數,其中的n為網關服務器集群中的網關服務器數量,將所需連接的客戶端關鍵字段進行hash處理,再將處理后得到的hash值對網關服務器的總數量取模,然后將取模結果與各網關服務器的模數進行匹配,確定客戶端所連接的網關服務器;
所述后臺服務器具體用于:接收到派發的任務時,獲取任務的類型;根據所述任務的類型匹配對應的服務層;通過所述服務層組裝任務數據;查找滿足所述任務的條件并且在線的客戶端并組成客戶端集合;通過所述服務層以消息的形式將所述任務數據以及客戶端集合發送至消息隊列;
所述通過所述服務層以消息的形式將所述任務數據以及客戶端集合發送至消息隊列,包括:通過所述服務層將所述任務數據以及客戶端集合組裝為消息;將消息發送至指定消息主題下的消息隊列;一個網關服務器只接收一種消息主題下的消息;
所述網關服務器集群中的網關服務器具體用于:當所述網關服務器集群中的網關服務器訂閱所述消息主題時,使用廣播消費模式對所述消息進行消費處理;對所述消息進行解析,獲取其中的任務數據和客戶端集合;根據客戶端集合中的各客戶端的信息與本地存儲的客戶端的信息進行匹配;根據匹配結果將任務數據發送至匹配出的客戶端。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國平安財產保險股份有限公司,未經中國平安財產保險股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911334639.2/1.html,轉載請聲明來源鉆瓜專利網。





