




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
IM即時通信項目技術方案IM即時通信項目技術方案IM即時通信項目技術方案xxx公司IM即時通信項目技術方案文件編號:文件日期:修訂次數:第1.0次更改批準審核制定方案設計,管理制度技術方案工程概述工程名:建設單位及項目負責人:工程背景隨著移動互聯網的爆發式發展,手機上的溝通變得越來越重要,即時通訊作為當今互聯網時代的一個重要通信手段,互聯網時代的人、企業等已基本接受和習慣即時通訊帶來的各種便捷服務,各種即時通訊工具、聊天軟件應用也如雨后春筍層出不窮,用戶也越來越習慣利用在手機APP中植入的即時通訊功能服務進行在線即時聊天互動,獲取產品或服務的信息,或進行人與人之間的溝通互動,當前四川電信通過積極探索實踐,在移動互聯網領域也創新地開發出一些行業重量級的業務應用,對即時通訊能力服務需求非常急迫,無專屬即時溝通工具,買家與賣家間無即時溝通,訂單及物流通知未及時送達;QQ、微信等第三方即時通訊工具,只能解決交流的問題,而無法對用戶體驗和平臺無縫性帶來幫助,沒有與自身產品線進行的深度集成,應用需求無法真正滿足。因此建立一套統一的IM平臺以及專屬的聊天產品,對應用的推廣與發展有非常重要的意義。需求概述鑒于電信自主運營應用對IM即時通訊能力服務有相應的集成需求,需要構建一套云即時通訊服務平臺,為需要IM即時通訊的應用提供基礎的即時通訊能力服務,支持嵌入到電信自主運營開發的業務應用中提供即時通訊服務,實現即時通訊基礎服務能力平臺化、SDK類型豐富化,支持多應用接入。同時基于IM即時通訊平臺可以定制一套專屬于自己的IM通訊軟件,對數據的保密性、安全性以及功能的多樣性都能很好的滿足。建設目的及原則構建一套云即時通訊服務平臺,為需要IM即時通訊的應用提供基礎的即時通訊能力服務。同時基于IM即時通訊平臺可以定制一套專屬于自己的IM通訊軟件,對數據的保密性、安全性以及功能的多樣性都能很好的滿足。總體建設原則系統可用性原則系統可用性(Availability)是用來衡量一個平臺系統能提供持續服務的能力,它表示的是在給定時間系統或者系統某一能力在特定環境中能夠滿意工作的概率。采用先進的技術和方法,滿足和適應移動互聯網技術更新速度,在滿足開發時間節點的要求下,滿足用戶的交互體驗和功能需求,采用智能化的處理特色,滿足運營管理的效率要求。在系統運行當中可能會影響到系統可用性的因素:1.操作人員和組織其實這個地方平臺在使用中的管理員,他是否重視運維組織是否已經認識平臺帶來的價值,把平臺的可用性當作自己的一個核心能力來看待。是否把面向用戶的業務能力和運維很好的對接是否建立起用戶質量的組織文化。2.業務流程業務管理平臺的流程梳理多個角色自己的關系和職責。我們第一個要去看這個流程在面對故障的是否起到了積極的作用,比如說能夠確保故障信息的準確送達,同時保證處理人的角色和職責是清晰的。其次不斷去檢查流程是否可以自動化驅動,而非人為驅動。人是不可靠之源!我們最終希望形成是一個自動化、標準化的流程,這樣的流程不容易被異化,且能保證預期執行結果一致。3.后期的運維技術很多時候大家看到的技術是運維技術,其實恰恰相反對于業務來說,對其高可用的影響,因此在其中需要遵循很多原則,有一些原則需要有普適的參考價值。比如說服務降級、過載保護、服務公共化等等。這些方法論是否已經融入到研發和運維的架構設計之中。業務功能需求優先,而非可運維性優先,可運維性最終就是業務的質量。4.業務管理把你的平臺的業務能力標準化,你可以轉換成我們多個業務指標,比如說質量、可用性、用戶體驗、用戶滿意度、成本,有了這些業務導向性指標,才能把IT能力和業務更好的對接起來。否則很容易在組織內,形成運營維護共同認識,而非創造價值部門。這一點還有一個重要性,就是讓維護人員也要足夠的認識到,他們的能力直接和業務相關,需要增強業務敏感度。在系統運行當中為了保障系統的可用性所采用的策略:1.故障發生前,建立運維質量儀表盤我們一定要建立運維數據看板,這個看板的數據并且要在業務、測試和運維人員對平臺的情況達成一致,讓大家足夠重視這份數據,這樣數據便有了推動力。建議這個地方的核心數據指標不要太多,因為涉及到多個團隊,大家不能夠一致理解,特別是傳達到管理層,太多的指標,容易失去關注的焦點。通行的做法,就是用可用性來做運維的數據看板。可用性的計算方法有簡單的方法,也有復雜的方法。簡單的方法就是在監控系統中搞一些探針來模擬用戶監控,最后我們能得出故障的時長和可用性的時間,這樣我們可以建立每天、每周、每月、每Q的可用性,可以做到分業務、分服務(更細粒度)等等;復雜的方法在模擬數據的基礎上,可以把事件系統記錄的時間數據拿過來作為評估的標準。另外可以把可用性上升到質量層面,這個里面涉及到的評估維度(成本、用戶體驗、滿意度)就更多了,數據獲取的來源也變得更多,有些是來自于客服系統,有些是來自于輿情監控,有些是來自于運維容量系統,有些是來自于事件系統等等,不過最終呈現的指標就是一個---質量。2.故障發生前,設定技術準則和要求運維需要和研發建立整體的技術標準和規范要求。因此從保障系統可用性的角度來說,我們需要設定一個路線圖,最終服務于這個平臺運行的可用性。比如說之前我提到的影響系統的因素里面講到了先做標準化,然后做公共服務化、最終服務無狀態化。運維一定要把標準化作為核心要務來推進,建立標準化的運維環境,建立標準化的技術棧,建立標準化的高可用方法論,最終這個業務的可用性一定是有保證的。3.故障發生時,恢復是第一要務故障發生的時候,恢復必須是保證系統可用性所必須要時刻記住的。在故障的當下,定位故障原因是大忌,這往往讓故障時長變得不可控,因為會直接影響MTTR(平均修復時間),影響用戶的業務使用。用一些標準的原則去隔離故障,比如說服務器重啟,鏈路禁用,DNS切換等等。4.故障發生后即時的排查和復盤問題每一次故障發生后,運維人需要牽頭去復盤故障,剛剛說了我們恢復是第一要務,所以故障的根本原因我們可能還不知道,此時就需要運維、測試和研發一起仔細的去看整個的故障過程,看看到底哪兒有什么問題基本上也是從剛才說的四個方面來評估。不斷的審視我們運維的能力和IT的能力,說“故障是運維最好的老師”的原因也在于此,它能夠不斷驅使我們走向更高的成熟度。系統可維護性原則系統采用集中部署便于集中維護,提供分權分級的權限管理機制,不同的系統模塊,不同的任務可以設置不同的數據操作、統計和監控查看分析權限。系統采用構件化設計思想,系統框架與業務邏輯分離,具備開放的體系結構。系統功能模塊均采用插件式方式架構,易于修改,對某一個功能模塊的修改,一般不影響系統其他功能的正常運行;系統分析、調度更多采用的是配置模式,易于擴展,新增服務時對系統的修改較少,僅需調整配置文件參數即可;系統具備方便且可定期執行、分析結果的業務測試功能。系統可靠性原則系統可靠性指在規定條件下和給定時間內平臺能正確運行的概率。系統可靠性用下列四個標準來判斷:平臺在運行的過程中不為故障所破壞或停止;平臺的業務流程的結果不包括由故障所引起的錯誤;平臺對執行業務的時間不能超過一定的限度;平臺運行在允許的網絡內。系統可靠性保障主要體現在以下兩個方面:系統采用增量備份和全備份相結合的方式定期備份重要的系統數據;系統應具有良好的并行處理機制,對存取沖突的競爭具有有效的仲裁和加鎖機制,充分保證事務處理的完整性,并降低系統I/O開銷,提高并發用戶查詢和存取的性能。系統可擴展性原則可擴展性是軟件設計的重要的原則之一,它以添加新功能或修改完善現有功能來考慮軟件的未來成長。可擴展性是軟件拓展系統的能力。系統采用成熟的框架開發接口服務和后臺管理,前端APP可采用Native和HTML5代碼混合實現,整體采用分層設計。支持開閉原則設計思想,便于系統的靈活配置和部署;支持插件技術,便于系統縱向延伸和對新技術的接入。良好的可擴展性設計應該允許更多的業務功能在必要時可以被插入到適當的位置中。這樣做的目的的是為了應對未來可能需要進行的修改,而造成代碼被過度工程化地開發。可擴展性可以通過軟件框架來實現:動態加載的插件、頂端有抽象接口的認真設計的類層次結構、有用的回調函數構造以及功能很有邏輯并且可塑性很強的代碼結構。Android-SDK目標實現android客戶端接入集成即時通訊基礎服務提供相應的SDK。提供android客戶端的登錄、消息通知、會話、消息、通知、群聊、臨時會話討論組相關功能接口。IOS-SDK目標為實現iOS客戶端接入集成即時通訊基礎服務提供相應的SDK。提供iOS客戶端的登錄、消息通知、會話、消息、通知、群聊、臨時會話討論組相關功能接口。PC-SDK目標為實現PCH5頁面接入集成即時通訊基礎服務提供相應的SDK。提供PC客戶端的登錄、消息通知、會話、消息、通知、群聊、臨時會話討論組相關功能接口。系統架構根據對需求的分析和系統目標的總結,本方案采用面向服務的體系結構技術來構建統一的IM即時通信平臺,軟件可以分布式部署在服務器集群上,實現對海量并發通信的實時轉發。系統架構設計系統架構圖系統采用多層體系架構:分層設計實現“高內聚、低耦合”,易于控制、易于擴展,分為數據層、服務層、接口層、應用層,具體說明如下:數據層:提供持久化數據存儲和數據服務,包括即時通信消息數據、用戶及關系數據、平臺基礎數據等,使用mysql來進行持久化。服務層:整個平臺的核心層,為平臺提供即時通訊基礎服務能力,使用SOA框架來構建系統服務,使用kakfa來進行信息轉發,同時為了提高并發能力,使用redis來進行數據緩存。接口層:向第三方業務應用提供即時通訊基礎服務能力集成客戶端SDK接口(包括:android\ios\pc)和服務器端SDK接口。應用層:為需要集成即時通訊基礎服務能力的第三方應用。SOA框架采用SOA架構(面向服務架構),它可以根據需求通過網絡對松散耦合的粗粒度應用組件進行分布式部署、組合和使用。服務層是SOA的基礎,可以直接被應用調用,從而有效控制系統中與軟件代理交互的人為依賴性,能更迅速、更可靠、更具重用性架構整個業務系統。系統軟件架構高可用的架構,高并發消息處理。使用高性能互聯網中間件:Redis,Kafka,Cassandra,Zookeeper。移動消息和移動場景深度優化,兼顧消息可靠性和效率。原生移動端SDK優化,APP完美集成。基于XMPP協議及成熟的Mina通信架構,性能穩定、效率高;業務邏輯Module基于總線的設計方式,通過插件及總線驅動擴展業務Module;數據接入采用hibernate持久化架構,能夠接入多種主流數據庫;整個系統設計開發基于標準的J2EE技術,使用標準的HTML,JSP,SOAP,JDBC等技術;支持TCP、UDP、HTTP多種協議;外部系統接入基于SOA體系架構,具備良好擴展性能。消息發送拓撲系統功能設計基礎IM服務能力注冊要使用IM通信功能,首先必須注冊成為IM平臺的用戶,因此IM通信平臺提供用戶注冊功能呢,注冊的用戶只是IM通信平臺用戶,不是屬于任何的業務系統用戶,因此需要和應用系統用戶關聯起來,需要接入的應用進行用戶關聯。登錄IM通信的登錄功能,就是用戶上線功能,IM平臺根據用戶在線狀態進行消息分發。如果用戶登錄,即用戶上線,則IM平臺才會將消息發送給用戶。因此應用系統使用IM通信平臺需要通過平臺提供的登錄接口,登錄到IM通信平臺,同時平臺會為每個用戶生成一個會話token,作為通信憑證。單聊點對點聊天,IM平臺單聊支持發送文本消息,圖片消息,允許發送附件,附件可以是圖片、普通格式文件、音樂文件、視頻文件,還支持地位位置發送。如果是移動端還支持語音發送,語音聊天以及視頻聊天。群聊多對多聊天,支持用戶和群里的其他用戶進行聊天,支持發送文本消息,圖片消息,表情消息;允許發送附件,附件可以是圖片、普通格式文件、音樂文件、視頻文件,還支持地理位置發送。如果是移動端還支持語音發送,以及語音聊天。討論組特殊的群組,臨時群會話,用戶可以邀請自己的好友進入討論組進行群聊,創建討論組的用戶支持刪除修改操作,被邀請用戶可以退出討論組,支持群聊的所有聊天功能。已發送消息回執即時通訊消息的發送,當消息發送到對端用戶后,提供已發送消息回執機制,確保即時通訊消息可靠發送到對方。即時通訊消息即時通訊消息支持支持發送文本消息,圖片消息,允許發送附件,附件可以是圖片、普通格式文件、音樂文件、視頻文件,還支持地理位置發送。如果是移動端還支持語音發送,以及語音聊天。好友管理好友管理提供對好友的添加,修改基礎信息,刪除,拉入很名單的功能,同時也提供對好友申請的同意、拒絕以及忽略的操作群組管理群組管理提供用戶對自身群組的新建、修改、解散功能,同時也提供用戶搜索群組,申請入群以及退出群組功能。產品功能注冊該軟件提供的注冊功能分為兩部分注冊,一部分是產品自身的業務范圍內的用戶注冊,一部分是調用IM通信平臺接口注冊成為通信平臺用戶。在IM通信平臺注冊成功后,需要將平臺返回的用戶id與產品業務內的用戶進行關聯,才能為后續功能提供服務。登錄該軟件提供的登錄功能分為兩部分登錄,一部分是產品自身的登錄,一部分是當用戶在產品登錄成功后再調用IM通信平臺接口登錄上通信平臺。用戶兩部分登錄成功后就可以在軟件中使用聊天功能。個人信息管理用戶登錄成功后可以進入個人中心對自己的信息進行管理,比如修改昵稱,或者修改個人頭像,同時也允許修改個人登錄密碼。單聊軟件支持點對點聊天,當用戶登錄成功后,可以看見自己的好友列表,如果用戶想和某位好友聊天只需要點擊該好友就可以進入聊天頁面。支持發送文本消息,圖片消息,允許發送附件,附件可以是圖片、普通格式文件、音樂文件、視頻文件,還支持地位位置發送。還支持語音發送,語音聊天以及視頻聊天。群聊軟件支持群聊功能。當用戶登錄成功后,可以看見自己的群組列表。用戶可以點擊自己加入的群組進入群里面和群的其他成員進行聊天。群聊支持發送文本消息,圖片消息,允許發送附件,附件可以是圖片、普通格式文件、音樂文件、視頻文件,還支持地位位置發送。還支持語音發送,語音聊天。已發送消息回執當用戶發送消息后,如果接收方在線,則通信平臺會將消息投遞到對方,此時平臺會給發送發發送一條消息已送達消息回執。如果接收方沒在線,則會將消息投遞到對方的離線消息隊列中,并向發送方發送一條已送達的消息回執。即時通訊消息Android客戶端發送即時通訊消息支持文字、語音、圖片、地理位置、表情消息的發送和接收,同時也提供發送附件功能。IOS客戶端發送即時通訊消息支持文字、語音、圖片、地理位置、表情消息的發送和接收,同時也提供發送附件功能。PC客戶端發送即時通訊消息支持文字、圖片、表情消息的發送和接收,同時也提供發送附件功能。移動端消息傳輸采用壓縮的二進制流,消息傳輸效率高,移動弱網絡優化,保證移動網絡下消息必達底層基于長連接技術實現,結合Android和IOS平臺的推送能力,支持消息即時推送。同時提供未讀消息提示。好友管理好友管理主要是提供用戶對自己好友的管理功能。包括添加好友,刪除好友,將好友拉入黑名單,修改好友備注,已經好友申請消息管理功能。好友添加:用戶可以通過好友電話號碼或者好友昵稱來搜索好友,電話號碼搜索是唯一結果,好友昵稱是多結果。用戶可以點擊添加好友,先對方發送好友申請消息。刪除好友:如果是移動端則在好友列表滑動要刪除的好友,就會有刪除按鈕出現,點擊刪除按鈕就會提示是否刪除,點擊是將刪除好友,點擊否取消刪除拉入黑名單:如果是移動端則在好友列表滑動要拉入黑名單的好友,就會有黑名單按鈕出現,點擊黑名單按鈕就會提示是否將好友加入黑名單,點擊是將好友拉入黑名單,點擊否取消操作。當好友被拉入黑名單后將不能接收好友發送的消息。修改好友:在好友列表,點擊好友,進入好友的詳細信息界面,在該界面右上角有設置按鈕,點擊進入就可以對好友進行備注修改。好友申請消息:當有用戶提交好友申請時,你將會收到好友申請消息,此時你就可以進行同意或者拒絕的操作。群組管理群組管理提供用戶對自身群組的新建、修改、解散功能,同時也提供用戶搜索群組,申請入群以及退出群組功能。創建群組:用戶可以根據自己需要進行群組的創建,每個用戶擁有4個群的創建權限。群組修改:群創建者可以對群名字進行修改。群組解散:群創建可以在不需要群時,進行群解散操作。群組申請:用戶如何想加入群組,可以先通過群名稱或者群id進行搜索,當搜索出來后,用戶可以點擊申請入群,等待群創建者同意。退出群組:普通用戶可以直接點擊退出群組功能退出群組,創建者如果想退出則需要向將群轉讓給群里的某位成員,然后才能退出群組。系統運行環境需求平臺硬件需求系統能力的決定因素主要有兩個方面,一個是架構設計,一個是系統硬件能力。基于本系統的架構設計,我們對系統能力和硬件做了如下評估:序號每日活躍用戶數服務器數服務器配置其它110萬5臺3臺16核128G,2臺16核32G數據庫服務器需要配置SSD,同時配置足夠的存儲空間來存儲日志220萬7臺5臺16核128G,2臺16核32G數據庫服務器需要配置SSD,同時配置足夠的存儲空間來存儲日志350萬9臺7臺16核128G,2臺16核32G數據庫服務器需要配置SS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/COOA 1-2020兒童眼鏡架
- T/CNFMA A001-2021木材加工機械數控鉆孔機
- T/CNFAGS 9-2023水煤漿氣化爐協同資源化處理固體廢物環境保護技術規范
- T/CMA-RQ 001-2018膜式燃氣表膜片
- T/CIE 154-2022基于DNA的信息存儲編解碼系統技術規范
- T/CI 104-2023公路隧道瓦斯工區作業設備安全技術規范
- T/CHTS 10105-2023公路橋梁鋼結構冷噴鋅防護涂裝技術指南
- T/CHTS 10063-2022公路綠道設計指南
- T/CHINABICYCLE 3-2021電助力自行車用電動機及控制器
- T/CHES 40-2020寒冷地區渠道安全監測技術規程
- 垃圾分類測試題(含答案)
- 大興醫院PACS系統常見問題處理辦法
- 上海中學2025屆高考英語二模試卷含解析
- 抽錯血標本護理不良事件
- 公務出國在職證明-英文版(因公簽證)
- 故都的秋課文原文
- 【上市公司應收賬款審計失敗原因及應對措施探究:以立信所審計風華高科公司為例(論文)10000字】
- 2024年中考英語作文熱點話題預測《AI人工智能》
- 2024年四川省德陽市中考化學試卷(含答案解析)
- 《長征勝利萬歲》教學設計 2024-2025學年統編版高中語文選擇性必修上冊
- 2024年上海高考數學真題試題(原卷版+含解析)
評論
0/150
提交評論