[發明專利]一種分布式實時消息推送方法在審
| 申請號: | 202011372787.6 | 申請日: | 2020-11-30 |
| 公開(公告)號: | CN112511628A | 公開(公告)日: | 2021-03-16 |
| 發明(設計)人: | 盧偉強;何彥霖;李翔 | 申請(專利權)人: | 銀盛支付服務股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;H04L12/58 |
| 代理公司: | 深圳市深可信專利代理有限公司 44599 | 代理人: | 彭光榮 |
| 地址: | 518000 廣東省深圳市龍華*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 實時 消息 推送 方法 | ||
1.一種分布式實時消息推送方法,其特征在于,包括以下步驟:
S1:客戶端通過Netty的NIO方式連接服務器;
S2:ALLOC服務器查詢服務器連接數最少的服務器地址和端口信息;
S3:客戶端通過IP地址和端口與若干服務器建立長連接;
S4:ALLOC服務器根據redis中客戶端與服務器連接關系表,自動將服務器的消息推送至對應的客戶端。
2.根據權利要求1所述的一種分布式實時消息推送方法,其特征在于,在客戶端通過Netty的NIO方式連接服務器之前,所述步驟還包括:
生成客戶端和服務器密鑰對、證書倉庫以及自簽名證書;
服務器的自簽名證書導入至客戶端證書庫中;
客戶端的自簽名證書導入至服務器證書庫中。
3.根據權利要求2所述的一種分布式實時消息推送方法,其特征在于,在客戶端的自簽名證書導入至服務器證書庫中之后,所述步驟還包括:
對客戶端以及服務器的自簽名證書進行加載和校驗。
4.根據權利要求3所述的一種分布式實時消息推送方法,其特征在于,ALLOC服務器查詢服務器連接數最少的服務器地址和端口信息,所述步驟包括:
客戶端基于Nginx通過負載均衡訪問ALLOC服務器;
ALLOC服務器獲取負載最少的服務器地址和端口信息。
5.根據權利要求4所述的一種分布式實時消息推送方法,其特征在于,客戶端通過IP地址和端口與若干服務器建立長連接之后,ALLOC服務器根據redis中客戶端與服務器連接關系表,自動將服務器的消息推送至對應的客戶端之前,所述步驟還包括:
ALLOC服務器監聽zookeeper的臨時目錄;
ALLOC服務器獲取長連接服務器的狀態與連接數量。
6.根據權利要求5所述的一種分布式實時消息推送方法,其特征在于,ALLOC服務器獲取長連接服務器的狀態與連接數量之后,所述步驟還包括:
當提供長連接業務的服務器出現宕機或者其他問題時,ALLOC服務器通過ZKClient監聽到服務器對應節點的刪除事件;
ALLOC服務器將對應的節點信息從payload服務器列表中刪除;
當節點信息從payload服務器列表中刪除時,客戶端重新連接離線的服務器。
7.根據權利要求6所述的一種分布式實時消息推送方法,其特征在于,當節點信息從payload服務器列表中刪除時,客戶端重新連接離線的服務器之后,所述步驟還包括:
長連接業務的服務器啟動之后,在zookeeper對應的根節點下生成服務器對應的節點以及更新節點連接數;
當服務器對應的節點數擴展時,ALLOC服務器自動發現新增的服務器。
8.根據權利要求7所述的一種分布式實時消息推送方法,其特征在于,當服務器對應的節點數擴展時,ALLOC服務器自動發現新增的服務器之后,所述步驟還包括:
ALLOC服務器監聽ZKClient的節點增加事件,重新刷新提供服務的機器信息;
將刷新之后提供服務的機器信息存入至Redis。
9.根據權利要求8所述的一種分布式實時消息推送方法,其特征在于,將刷新之后提供服務的機器信息存入至Redis之后,所述步驟好包括:
ALLOC服務器與各個長連接業務服務器之間建立心跳。
10.根據權利要求9所述的一種分布式實時消息推送方法,其特征在于,ALLOC服務器與各個長連接業務服務器之間建立心跳之后,所述步驟還包括:
ALLOC服務器定期向定期各個長連接業務服務器發送報文,當連續三次沒有回應,則將沒有回應的服務器從服務器列表中刪除。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于銀盛支付服務股份有限公司,未經銀盛支付服務股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011372787.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種DX268V智能倍并機
- 下一篇:大體積預制板翻轉裝置





