2013年即時(shí)通訊系統(tǒng)設(shè)計(jì)概要
本文導(dǎo)讀:客戶(hù)機(jī)的功能模塊先調(diào)用協(xié)議解析模塊對(duì)消息進(jìn)行解析,再通過(guò)底層網(wǎng)絡(luò)通信模塊進(jìn)行消息的傳遞,主要組成模塊為登陸模塊和文件傳輸模塊文字消息通信模塊狀態(tài)更新模塊以及本地?cái)?shù)據(jù)管理模塊。
在即時(shí)通訊系統(tǒng)客戶(hù)端需要提供友善方便的用戶(hù)界面,要求服務(wù)器要求能夠遠(yuǎn)程配置并動(dòng)態(tài)熱生效,并且能夠響應(yīng)請(qǐng)求停止和重新啟動(dòng)、而且一旦出現(xiàn)事故之后能夠恢復(fù)前次狀態(tài),重啟并恢復(fù)前次狀態(tài)過(guò)程的總時(shí)延不大于5分鐘,此外對(duì)于服務(wù)器穩(wěn)定性和響應(yīng)速度傳送時(shí)間系統(tǒng)的可升級(jí)性和可移植性也有要求對(duì)于響應(yīng)速度是,在網(wǎng)絡(luò)無(wú)故障的前提下,對(duì)客戶(hù)機(jī)發(fā)送的消息包平均響應(yīng)時(shí)間不大于1秒,服務(wù)器能夠承受至少10000個(gè)用戶(hù)同時(shí)在線,最大響應(yīng)延遲不大于5秒、提供遠(yuǎn)程控制,自動(dòng)故障修復(fù),服務(wù)器要求最小平均無(wú)故障運(yùn)行時(shí)間應(yīng)大于400小時(shí),最大故障修復(fù)時(shí)間不大于2小時(shí),系統(tǒng)可升級(jí)性中,要求客戶(hù)機(jī)提供自動(dòng)動(dòng)態(tài)下載升級(jí),而且服務(wù)器支持遠(yuǎn)程升級(jí),系統(tǒng)可移植性要求客戶(hù)機(jī)能運(yùn)行在所有Windows系統(tǒng)平臺(tái)下,數(shù)據(jù)傳送時(shí)間,數(shù)據(jù)封包和傳送,平均時(shí)延小于2秒,最大響應(yīng)時(shí)間小于2秒,數(shù)據(jù)庫(kù)平均響應(yīng)時(shí)間小于100毫秒。
從即時(shí)通訊系統(tǒng)結(jié)構(gòu)框架來(lái)看,整個(gè)系統(tǒng)由服務(wù)器和文字通信終端組成的文字通訊終端也即客戶(hù)機(jī)通過(guò)服務(wù)器實(shí)現(xiàn)狀態(tài)通知,實(shí)現(xiàn)PZP文字通信聊天功能,文件發(fā)送功能、服務(wù)器實(shí)現(xiàn)客戶(hù)信息查詢(xún),信息轉(zhuǎn)發(fā),登錄身份驗(yàn)證,狀態(tài)通知,文件傳送路由等功能,主要由通訊路由服務(wù)器和信息查詢(xún)服務(wù)器文字消息主服務(wù)器等三個(gè)服務(wù)器程序組成,三個(gè)服務(wù)器之間通過(guò)TCP連接建立通訊鏈路,每個(gè)服務(wù)程序可以單獨(dú)運(yùn)行在相互獨(dú)立的計(jì)算機(jī)上。
所有靜態(tài)數(shù)據(jù)用數(shù)據(jù)庫(kù)保存和組織數(shù)據(jù)庫(kù)中共有三個(gè)表單:保存各個(gè)服務(wù)器的當(dāng)前負(fù)載指數(shù)及其狀態(tài)的服務(wù)器負(fù)載表,保存用戶(hù)的基本信息和狀態(tài)信息的用戶(hù)基本信息表,暫存用戶(hù)發(fā)送給離線用戶(hù)的消息的暫存消息表。
客戶(hù)機(jī)的功能模塊先調(diào)用協(xié)議解析模塊對(duì)消息進(jìn)行解析,再通過(guò)底層網(wǎng)絡(luò)通信模塊進(jìn)行消息的傳遞,主要組成模塊為登陸模塊和文件傳輸模塊文字消息通信模塊狀態(tài)更新模塊以及本地?cái)?shù)據(jù)管理模塊。
主模塊主要負(fù)責(zé)啟動(dòng)服務(wù),網(wǎng)絡(luò)連接接收模塊的主要功能是監(jiān)聽(tīng)TCP端口,為客戶(hù)機(jī)創(chuàng)建連接,接受客戶(hù)機(jī)的連接。
遠(yuǎn)程管理模塊最為復(fù)雜,主要負(fù)責(zé)接受管理員連接,監(jiān)聽(tīng)遠(yuǎn)程管理服務(wù)端口,創(chuàng)建線程提供服務(wù),主要包含以下方面的功能,負(fù)責(zé)支持用戶(hù)以Telnet的方式連接上主服務(wù)器進(jìn)行操作;修改服務(wù)器各項(xiàng)配置參數(shù),在服務(wù)器不中止服務(wù)的前提使更改服務(wù)器更改的配置生效;查詢(xún)服務(wù)器當(dāng)前運(yùn)行狀態(tài)和運(yùn)行參數(shù);管理服務(wù)器本地內(nèi)存數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)文件;通過(guò)數(shù)據(jù)庫(kù)管理模塊的接口查詢(xún)目的用戶(hù)的當(dāng)前狀態(tài);通過(guò)數(shù)據(jù)維護(hù)模塊的接口更新相關(guān)數(shù)據(jù)結(jié)構(gòu);處理心跳消息,通過(guò)數(shù)據(jù)維護(hù)模塊的接口更新相關(guān)數(shù)據(jù)結(jié)構(gòu);處理文件傳送中轉(zhuǎn)請(qǐng)求,判斷是否滿(mǎn)足相關(guān)規(guī)則;調(diào)用數(shù)據(jù)維護(hù)模塊接口函數(shù)獲得數(shù)據(jù)庫(kù)連接。







