[發明專利]一種基于Dijkstra算法的大型即時通信系統的實現方法在審
| 申請號: | 201710133747.8 | 申請日: | 2017-03-08 |
| 公開(公告)號: | CN107086950A | 公開(公告)日: | 2017-08-22 |
| 發明(設計)人: | 俞嘯;吳響;余文文;張立 | 申請(專利權)人: | 徐州醫科大學 |
| 主分類號: | H04L12/58 | 分類號: | H04L12/58;H04L12/733;H04L29/08;H04L29/06 |
| 代理公司: | 北京盛凡智榮知識產權代理有限公司11616 | 代理人: | 晏榮府 |
| 地址: | 221004 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 dijkstra 算法 大型 即時 通信 系統 實現 方法 | ||
技術領域
本發明涉及分布式服務器與服務器集群,具體是一種基于Dijkstra算法的大型即時通信系統的實現方法。
背景技術
隨著技術的快速發展,人們交換信息的途徑越來越多,其中即時通信技術成為人們必不可少的一種技術。但隨著用戶數量的日益增多,同一時刻通信人數的日趨增大,服務器如何依舊快速響應客戶端發來請求成為一個難題。因此,需要一種快速、可靠、易于實現和維護且故障快速恢復的即時通信系統的綜合解決方案。
發明內容
本發明提供一種基于Dijkstra算法的大型即時通信系統的實現方法,實現了通信系統的大型化,提高數據傳輸的速度與可靠性,滿足大量用戶的請求。
本發明是以如下技術方案實現的:一種基于Dijkstra算法的大型即時通信系統的實現方法,用戶通過注冊服務器注冊賬號用戶注冊賬號完成,用戶則可以使用注冊賬號通過代理服務器進行登錄與其他用戶通信,具體如下:
(1)用戶A向另一用戶B發送消息,代理服務器接到該消息;
(2)代理服務器將該消息發送給消息路由服務器;
(3)消息路由服務器收到該消息后,根據緩存的用戶B在線與連線狀態,判斷用戶B是否在線;
若在線,則執行操作(4),否則就將該消息轉發至離線消息服務器,用戶B上線后通過代理服務器獲取該離線消息;
(4)消息路由服務器采用Dijkstra算法計算出到達與用戶B相連的代理服務器的最短路徑;
(5)消息路由服務器沿該路徑轉發消息;
(6)代理服務器收到消息后,將該消息發送給用戶B。
進一步,用戶通過注冊服務器注冊賬號,其過程分為寫號和放號兩個階段:
(1)當處于寫號階段時,注冊服務器將空的用戶賬號號碼寫入服務器數據庫中的NOSQL緩存數據庫;
(2)當處于放號階段時注冊服務器將賬號信息寫入數據庫服務器中的關系型數據庫MySql,此時用戶注冊賬號完成,用戶則可以使用注冊賬號通過代理服務器進行登錄與其他用戶通信。
進一步,用戶通過代理服務器登錄已注冊的賬號,并輸入密碼,代理服務器通過與之相連的數據庫服務器返回該用戶的密碼信息核對,進行密碼認證,確認賬號密碼匹配后,完成登錄操作。
進一步,消息路由服務器會緩存用戶在線與離線的狀態,從而判斷是將從某一用戶發來的信息發往另一用戶所連的代理服務器還是發往離線消息服務器;消息路由服務器還處理用戶添加好友和群的請求與響應,其提供創建群與加入群的相關服務,包括群的寫號與放號,并將群的信息存入數據庫服務器中,分為寫號與放號兩個階段:
(1)當處于寫號階段時,消息路由服務器接收到用戶傳送來的創建群的消息時,向數據庫服務器中的NOSQL數據庫寫入空的群號碼。
(2)當處于放號階段時,消息路由服務器將用戶傳送過來的群相關信息寫入對應的數據庫服務器中的關系型數據庫MySql數據庫中,完成創建群的操作。
進一步,消息路由服務器采用Dijkstra算法,大量的消息路由服務器構成了通信轉發區域;當處于邊緣的消息路由服務器收到從某一用戶發來的信息時,運用Dijkstra算法計算出到達另一用戶連接代理服務器所連接的處于邊緣的消息路由服務器的最短路徑,具體步驟如下:將消息路由服務器看為頂點,將頂點構成集合V,共分成兩組:S為已求出的頂點的集合,T=V-S為尚未確定的頂點的集合;
(1)初始時令S={V0},V0為第一個收到此消息的邊緣消息路由服務器,T=V-S={其他頂點},若存在(V0,Vi),d(V0,Vi)為(V0,Vi)邊上的權值,若不存在,則d(V0,Vi)為∞;
(2)從T中選取一個與S中頂點有關聯邊且權值最小的頂點W,加入到S中;
(3)對其余T中頂點的距離值進行修改:若加進W作中間頂點,從V0到Vi的距離值縮短,則修改此距離值
重復上述步驟(2)、(3),直到S中包含所有頂點,即W=Vi為止,
其中,找出V0到Vi所連接的處于邊緣的消息路由服務器的最短路徑即可。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于徐州醫科大學,未經徐州醫科大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710133747.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種幼兒智能陪伴機器人
- 下一篇:一種履帶式機器人移動設備





