[發明專利]一種在多服務器負載均衡條件下實現SignalR雙工通信的方法有效
| 申請號: | 201410070381.0 | 申請日: | 2014-02-28 |
| 公開(公告)號: | CN103873564B | 公開(公告)日: | 2018-09-25 |
| 發明(設計)人: | 董亮 | 申請(專利權)人: | 浪潮通用軟件有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 服務器 負載 均衡 條件下 實現 signalr 雙工 通信 方法 | ||
本發明公開了一種在多服務器負載均衡條件下實現SignalR雙工通信的方法,包括如下步驟:步驟一、定義SignalR通信服務相關數據表;步驟二、定義SignalR通信服務端與SignalR通信客戶端;步驟三、定義SignalR通信服務管理器。本發明一種在多服務器負載均衡條件下實現SignalR雙工通信的方法基于SignalR技術實現的雙工通信能夠在多服務器負載均衡環境下正常工作,并且支持多種類型數據庫。
技術領域
本發明屬于Web應用服務端和客戶端雙工通信技術領域,涉及一種在多服務器負載均衡條件下實現SignalR雙工通信的方法。
背景技術
常規的客戶端瀏覽器和應用服務器之間的通信采用Request/Response模型,在這種模型中,應用服務器只能夠響應客戶端請求,而不能主動的向客戶端發送數據。
微軟提供的SignalR通信服務解決了這個問題,它在客戶端瀏覽器和Web服務器之間建立了一條雙工通信通道,它的編程接口支持客戶端和服務端主動向對方發送數據。理論上,通過Web服務器路由,SignalR通信服務可以實現兩個客戶端瀏覽器的實時通信服務。
在多服務器負載均衡條件下,兩個客戶端使用SignalR通信服務進行實時通信,兩個客戶端可能和兩臺不同的服務器建立起雙工通信通道,此時SignalR通信服務是不能正確進行消息路由的。SignalR通信服務內置了負載均衡時的解決方案,但這個解決方案綁定了Sql Server數據庫,如果在生產環境中不采用Sql Server數據庫,該方案無法工作。
故,針對上述現有技術存在的缺陷,有必要開發研究,以提供一種方案,以實現在多服務器負載均衡條件下,基于多種類型數據庫,SignalR通信服務能夠正常工作。
發明內容
為解決上述問題,本發明的目的在于提供一種在多服務器負載均衡條件下實現SignalR雙工通信的方法。
為實現上述目的,本發明的技術方案為:
一種在多服務器負載均衡條件下實現SignalR雙工通信的方法,包括如下步驟:
步驟一、定義SignalR通信服務相關數據表;
步驟二、定義SignalR通信服務端與SignalR通信客戶端;
步驟三、定義SignalR通信服務管理器。
進一步地,在步驟一中,所述數據表為SignalR用戶連接信息表、SignalR消息信息表以及SignalR消息發送狀態表。
進一步地,步驟一具體包括:
在數據庫中創建SignalR用戶連接信息表,所述SignalR用戶連接信息表用于描述雙工通信的連接標識、用戶標識和雙工通信服務器映射關系,數據列包括有用戶ID、用戶名、連接ID、服務器ID;
在數據庫中創建SignalR消息信息表,所述SignalR消息信息表用于描述通過SignalR雙工通信發送的消息基本信息,數據列包括有發送人ID、消息標題、消息內容、優先級、類型、創建時間;
在數據庫中創建SignalR消息發送狀態表,所述SignalR消息發送狀態表用于描述消息的發送狀態,數據列包括有發送服務器ID、接收人ID、消息ID、發送狀態、發送時間。
進一步地,步驟二具體包括:
定義Connect方法,在Connect方法中更新SignalR用戶連接信息數據表;
定義DisConnect事件,在DisConnect事件中更新SignalR用戶連接信息數據表;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮通用軟件有限公司,未經浪潮通用軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410070381.0/2.html,轉載請聲明來源鉆瓜專利網。





