【摘要】目前即時通訊系統(tǒng)已經(jīng)是網(wǎng)絡(luò)上最為流行的通訊系統(tǒng),即時通信讓人們的溝通變得廉價、簡便、快速,為人們之間創(chuàng)建了一種新型的的溝通方式。本文首先對即時通訊系統(tǒng)研究概述,其次,對即時通訊系統(tǒng)設(shè)計進(jìn)行了概要分析。
【關(guān)鍵詞】即時通訊系統(tǒng)服務(wù)器客戶端
隨著互聯(lián)網(wǎng)的發(fā)展,即時通訊的運用將日益廣泛,目前即時通訊系統(tǒng)已經(jīng)是網(wǎng)絡(luò)上最為流行的通訊系統(tǒng)了,是一種以聊天形式為主的廣受歡迎的互聯(lián)網(wǎng)技術(shù)。針對這種計算機之間的文本數(shù)據(jù)的互換的形式設(shè)計系統(tǒng)的網(wǎng)絡(luò)配套軟件也在層出不窮,不同的服務(wù)商也在絞盡腦汁提供各種不同的服務(wù)以滿足不同人群和變化了的時代要求。即時通信讓人們的溝通變得廉價、簡便、快速,為人們之間創(chuàng)建了一種新型的的溝通方式。
一、即時通訊系統(tǒng)研究概述
即時通訊系統(tǒng)背景來看,首先它最初的時候是面向企業(yè)內(nèi)部使用的,企業(yè)內(nèi)部、企業(yè)與企業(yè)之間互相交流的平臺,主要為了方便企業(yè)拓展商業(yè)機會、降低溝通成本、提高工作效率,此后被廣泛的運用到公網(wǎng)之中。從即時通訊之中系統(tǒng)軟件結(jié)構(gòu)來看,這種軟件系統(tǒng)一般包括服務(wù)器和客戶端兩個子系統(tǒng),服務(wù)器24小時不間斷運行,需要保證能夠大于等于400小時內(nèi)不出任何差錯,在此期間需要完成在線用戶列表的維護(hù),文字消息的轉(zhuǎn)發(fā),個人信息的存儲,離線消息的保存,狀態(tài)轉(zhuǎn)換的通知,文件中轉(zhuǎn),同事信息的查詢,登錄驗證,服務(wù)器狀態(tài)的保存等功能??蛻羧后w一般都為非計算機專業(yè)人士,是安裝即時通訊軟件客戶端的用戶。與之配套的客戶機也必須保證能夠長時間運行,平均無故障時間大于10小時,必須一直保持與服務(wù)器的通訊。最后,從用戶來看,服務(wù)器由于其不必面向普通用戶群,只有服務(wù)器端的使用者為相關(guān)系統(tǒng)管理員,絕大部分的使用客戶群體定位為普通計算機使用者,但是系統(tǒng)運行中計算機專業(yè)人士需要將系統(tǒng)異常信息和調(diào)試信息等關(guān)鍵信息反饋給系統(tǒng)管理員。
二、即時通訊系統(tǒng)設(shè)計概要
在即時通訊系統(tǒng)客戶端需要提供友善方便的用戶界面,要求服務(wù)器要求能夠遠(yuǎn)程配置并動態(tài)熱生效,并且能夠響應(yīng)請求停止和重新啟動。而且一旦出現(xiàn)事故之后能夠恢復(fù)前次狀態(tài),重啟并恢復(fù)前次狀態(tài)過程的總時延不大于5分鐘。此外對于服務(wù)器穩(wěn)定性和響應(yīng)速度、傳送時間、系統(tǒng)的可升級性和可移植性也有要求。對于響應(yīng)速度是,在網(wǎng)絡(luò)無故障的前提下,對客戶機發(fā)送的消息包平均響應(yīng)時間不大于1秒,服務(wù)器能夠承受至少10000個用戶同時在線,最大響應(yīng)延遲不大于5秒。提供遠(yuǎn)程控制,自動故障修復(fù),服務(wù)器要求最小平均無故障運行時間應(yīng)大于400小時,最大故障修復(fù)時間不大于2小時。系統(tǒng)可升級性中要求客戶機提供自動動態(tài)下載升級而且服務(wù)器支持遠(yuǎn)程升級,系統(tǒng)可移植性要求客戶機能運行在所有Windows系統(tǒng)平臺下。數(shù)據(jù)傳送時間,數(shù)據(jù)封包和傳送平均時延小于2秒,最大響應(yīng)時間小于2秒,數(shù)據(jù)庫平均響應(yīng)時間小于100毫秒。
從即時通訊系統(tǒng)結(jié)構(gòu)框架來看,整個系統(tǒng)由服務(wù)器和文字通信終端組成的。文字通訊終端也即客戶機通過服務(wù)器實現(xiàn)狀態(tài)通知,實現(xiàn)PZP文字通信聊天功能,文件發(fā)送功能。服務(wù)器實現(xiàn)客戶信息查詢,信息轉(zhuǎn)發(fā),登錄身份驗證,狀態(tài)通知,文件傳送路由等功能,主要由通訊路由服務(wù)器和信息查詢服務(wù)器、文字消息主服務(wù)器等三個服務(wù)器程序組成,三個服務(wù)器之間通過TCP連接建立通訊鏈路,每個服務(wù)程序可以單獨運行在相互獨立的計算機上。
所有靜態(tài)數(shù)據(jù)用數(shù)據(jù)庫保存和組織。數(shù)據(jù)庫中共有三個表單:保存各個服務(wù)器的當(dāng)前負(fù)載指數(shù)及其狀態(tài)的服務(wù)器負(fù)載表,保存用戶的基本信息和狀態(tài)信息的用戶基本信息表,暫存用戶發(fā)送給離線用戶的消息的暫存消息表。
客戶機的功能模塊先調(diào)用協(xié)議解析模塊對消息進(jìn)行解析,再通過底層網(wǎng)絡(luò)通信模塊進(jìn)行消息的傳遞,主要組成模塊為登陸模塊和文件傳輸模塊、文字消息通信模塊、狀態(tài)更新模塊以及本地數(shù)據(jù)管理模塊。
主模塊主要負(fù)責(zé)啟動服務(wù),網(wǎng)絡(luò)連接接收模塊的主要功能是監(jiān)聽TCP端口,為客戶機創(chuàng)建連接,接受客戶機的連接。
遠(yuǎn)程管理模塊最為復(fù)雜,主要負(fù)責(zé)接受管理員連接,監(jiān)聽遠(yuǎn)程管理服務(wù)端口,創(chuàng)建線程提供服務(wù)。主要包含以下方面的功能,負(fù)責(zé)支持用戶以Telnet的方式連接上主服務(wù)器進(jìn)行操作;修改服務(wù)器各項配置參數(shù),在服務(wù)器不中止服務(wù)的前提使更改服務(wù)器更改的配置生效;查詢服務(wù)器當(dāng)前運行狀態(tài)和運行參數(shù);管理服務(wù)器本地內(nèi)存數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)文件;通過數(shù)據(jù)庫管理模塊的接口查詢目的用戶的當(dāng)前狀態(tài);通過數(shù)據(jù)維護(hù)模塊的接口更新相關(guān)數(shù)據(jù)結(jié)構(gòu);處理心跳消息,通過數(shù)據(jù)維護(hù)模塊的接口更新相關(guān)數(shù)據(jù)結(jié)構(gòu);處理文件傳送中轉(zhuǎn)請求,判斷是否滿足相關(guān)規(guī)則;調(diào)用數(shù)據(jù)維護(hù)模塊接口函數(shù)獲得數(shù)據(jù)庫連接。
參考文獻(xiàn)
[1]孔鵬,孫宇清.即時通訊系統(tǒng)的研究與實現(xiàn)[D].山東大學(xué)碩士學(xué)位論文,2006