




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
消息中心構架設計說明書版本:1.0變更記錄序號版本變更說明修改人/日期審批人/日期11.0創建李萬鴻目錄1 1.文檔介紹 41.1 文檔目的 41.2 文檔范圍 41.3 讀者對象 41.4 參考文獻 41.5 術語與縮寫解釋 42 系統概述 53 設計約束 64 設計策略 75 系統總體結構 86 子系統N的結構與功能 97 開發環境的配置 108 運行環境的配置 119 測試環境的配置 1210 其它 131.文檔介紹文檔目的消息中心接收別的系統發送的消息,再基于一定的規則以郵件、短信、消息等方式推送消息到pc端和手機端,比如對于attendance遲到、早退、tour超時提醒等需要及時推送相應的信息給相關人員,中心對規則、用戶、消息進行管理。為此,根據“先進實用、穩定可靠”的原則設計本消息中心。文檔范圍消息的接收、發送、保存,對應用用戶的管理。讀者對象開發人員參考文獻術語與縮寫解釋縮寫、術語解釋QoSlevelQualityofServicelevelSD系統設計,SystemDesign…系統概述系統主要完成消息的接收、發送和保存,再基于一定的規則以郵件、短信、消息等方式推送消息到pc端或手機,以及對用戶、規則、消息進行管理。系統接收來自別的系統應用用戶的消息,然后基于一定的規則把消息進行推送。設計約束1.系統必須遵循國家軟件開發的標準。2.系統用java開發,服務器中間件為tomcat。3.系統必須穩定可靠,性能高,滿足每天40-500萬次的推送量。4.保證消息的成功送達,如果不成功就重發。設計策略系統高可用、高性能、易擴展,安全穩定,實用可靠,滿足用戶的需要。系統可以進行擴展,增加推送的消息種類,增加消息推送的規則。系統可以復用于別的系統的消息推送。系統總體結構系統架構設計1.邏輯架構系統采用接口用rocketMQ實現應用用戶的消息接收,用drools依據一定的規則進行消息轉發,發送郵件、短信、消息到pc端和手機端,消息發送后用rocketMQ發送結果消息給應用用戶。用戶管理發送規則,對不同的消息、發送的方式、發送的時間、接收者進行設置,以后消息中心按照這些規則發送消息。規則處理采用drools完成。系統采用MQTT服務器mosquito實現消息對手機端的推送,采用winsocket發送消息給pc端。MQTT通過發布/訂閱方式發送消息給手機,方式為發布/訂閱,為了實現點對點發送,需要在發送的消息里加上手機端的imei和用戶名,同時在手機端進行判斷,如果imei和用戶名符合則接收此消息。采用winsocket實現推送消息到pc端,為實現點對點的推送,可以在消息中加上要發送的pc端的用戶名,pc端對消息的用戶名進行判斷,如果和自己的一樣則接收消息。對于群發,大家都可以收到。應用用戶通過接口發送消息給消息中心,消息采用json格式,包含應用用戶id、發送消息方式id、Title、content、usrId,sendTime。采用mqttQoSlevel2協議,保證自動重發發送不成功的消息,而且可以保證消息的順序到達,可以設置超時時間,防止斷網。Mqtt不建立長連接,省電、省流量。還可以用mosquitto實現集群發送,集群可以線性擴展。應用系統用戶在注冊、登陸后申請發送消息的類別,有郵件、短信、手機消息、pc消息4種,注冊后要記住自己的id,然后通過接口發送消息;管理員審批用戶的申請,管理消息;消息中心發送消息或郵件、短信到相應的pc端或手機端用戶。系統的管理功能包括對規則、用戶、消息進行管理。中心的時區設當地的時區,系統用ntpdate命令讓系統使用NTP(NetworkTimeProtocol網絡時間協議)協議來從網絡同步時間的命令,這樣即使有夏令時的變化,系統也會自動更新。中心使用時間時需要得到系統的時區。2.網絡架構系統包含模塊消息接收發送模塊。1)提供發送接口用于接收應用用戶的消息和參數,然后通過規則發送消息,用戶通過接收接口得到發送結果:發送消息到手機端。發送消息到pc端。發送郵件。發送短信。2.手機、pc接收模塊。手機接收消息中心發送的消息。Pc接收消息中心發送的消息。3.管理模塊。1)用戶和管理員注冊、登陸。2)實現用戶申請消息發送方式申請、查看消息、修改密碼、統計消息。用戶可以申請郵件、短信、手機消息、pc消息4種方式發送消息。3)管理用戶、審批用戶發送方式、管理員密碼修改、查看和統計發送過的消息。4)管理規則,可以增加、修改、刪除查詢規則。用例圖應用用戶用例圖管理員用例圖3消息用戶用例圖4.應用用戶用例圖流程圖1.發送消息流程圖系統模塊的結構與功能系統包括消息接收送接模塊、手機、pc接收消息模塊、管理模塊,共3個模塊。消息接收發送模塊提供接口用于接收應用用戶的消息,然后用drools通過規則異步發送消息,用戶調用接收接口得到發送結果:發送消息到手機端。發送消息到pc端。發送郵件。發送短信。系統采用rocketmq接收消息和返回消息發送結果給用戶,系統給pc、手機采用@Async異步發送郵件等消息,并得到發送結果,把結果返回給調用者,消息及發送的情況入庫,入庫時需要檢查消息是否已經存在。用戶采用異步調用本接口,得到發送結果,如果不成功,用戶可以重發。因為中心的時區與各用戶的時區不同,用戶需要發送自己的時區,系統返回發送時間時要根據時區轉換時間。當手機離線沒有收到消息,則在定時器中重發;對于需要定時發送的消息,通過定時器完成發送。定時器20分鐘執行一次,對這2種情況通過規則發送消息。系統確定時間時要根據時區進行轉換,按照用戶的時區時間來發送消息。6.1.1單元定義單元名稱單元功能描述備注com.isoftstone.message.domain.Message消息實體com.isoftstone.message.MessageBiz消息發送接收業務類com.isoftstone.message.dao.MessageDao消息管理dao類com.isoftstone.message.service.MessageService消息管理service類com.isoftstone.message.mailMessage發送郵件com.isoftstone.message.shortMessage發送短信com.isoftstone.message.pcMessage發送pc消息com.isoftstone.message.MobileMessage發送手機消息6.1.2接口描述1.發送接口接口定義:publicvoidsendMessage(StringapplicationId,Stringtypeid,Stringtitle,Stringcontent,StringuserId)throwsException;描述:通過調用此接口可發送消息及參數,接口在com.isoftstone.message.MessageBiz中。入口參數父元素元素必須類型備注applicationIdMStringtypeidOStringtitleString,contentOStringuserIdStringsendTimeStringtimeZoneString2.接收接口接口定義:publicIntegergetMessageResult(StringapplicationId,Stringtypeid,Stringtitle,Stringcontent,StringuserId)throwsException;描述:通過調用此接口可得到發送消息的結果,如果發送失敗,用戶則調用發送接口重發。接口在com.isoftstone.message.MessageBiz中。入口參數父元素元素必須類型備注applicationIdMStringtypeidOStringtitleString,userIdStringsendTimeStringtimeZoneString接口返回:返回碼含義備注0成功1失敗2數據重復提交3服務器異常4沒有發送權限5網絡異常時序圖基本場景以下場景觸發模塊:用戶調用接口發送消息。時序圖及描述流程描述:用戶使用接口發送消息及參數。接口對消息參數進行分析,判斷是否可以發送。接口根據參數分別異步發送郵件、短信、手機、pc消息,并得到發送結果,反饋給接口調用者。發送消息后保存消息到數據庫。異常描述IO異常:數據插入失敗,寫入日志。數據庫操作異常:數據插入失敗,寫入日志網絡連接超時異常:網絡異常,發送失敗,寫入日志并反饋給用戶。手機、pc接收模塊手機接收消息中心發送的消息手機用mqtt接收消息。Pc接收消息中心發送的消息。Pc用winsocket接收消息。管理模塊。用戶和管理員注冊、登陸。用戶和管理員注冊、登陸。應用用戶注冊后記住自己的id,以后發送消息時會用到。用戶操作功能。實現用戶申請消息發送方式申請、查看消息、修改密碼、統計消息。用戶可以申請郵件、短信、手機消息、pc消息4種方式發送消息。管理功能。管理規則、用戶、審批用戶發送方式、管理員密碼修改、查看和統計發送過的消息。規則以xml格式生成。注冊、登陸界面完成應用用戶和注冊、登陸。用戶申請界面實現用戶申請消息發送方式申請。用戶可以申請郵件、短信、手機消息、pc消息4種方式發送消息。1.應用用戶消息管理2.應用用戶消息管理3.應用用戶密碼管理4.發送管理5.應用用戶消息統計管理界面管理員實現對應用用戶的管理、對應用用戶申請的管理和對消息的管理,及管理員注冊、登陸。1.應用用戶管理2.應用用戶消息審批管理消息管理4..管理員密碼管理5.消息統計規則管理規則編輯開發環境的配置類別標準配置最低配置計算機硬件Pcwindos軟件eclipse網絡通信Tcp/ip其它運行環境的配置類別標準配置最低配置計算機硬件服務器軟件Linux網絡通信Tcp/ip其它測試環境的配置同開發環境。其它數據庫設計10.1.1郵件消息表t_email_message主要用途:保存發送的郵件數據增長頻率:個數據保存周期:由用戶調用操作FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM標題titlevarchar(80)M內容contentvarchar(500)M發送時間sendTimedatetimeM接收時間ReceiveTimedatetime發送狀態statustinyintM接收用戶idreceiveUserIdvarchar(50)應用用戶idapplicationTypeIdbigint是否刪除deletedtinyint10.1.2手機消息表t_mobile_message主要用途:保存發送的手機消息數據增長頻率:個數據保存周期:由用戶調用操作FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM標題titlevarchar(80)M內容contentvarchar(500)M發送時間sendTimedatetimeM接收時間ReceiveTimedatetime發送狀態statustinyintM接收用戶idreceiveUserIdvarchar(50)應用用戶idapplicationTypeIdbigint是否刪除deletedtinyint10.1.3短信消息表t_short_message主要用途:保存發送的短信消息。數據增長頻率:個數據保存周期:由用戶調用操作FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM標題titlevarchar(80)M內容contentvarchar(500)M發送時間sendTimedatetimeM發送狀態statustinyintM接收時間ReceiveTimedatetime接收用戶idreceiveUserIdvarchar(50)應用用戶idapplicationTypeIdbigint是否刪除deletedtinyint10.1.4管理員表t_admin主要用途:保存管理員信息。數據增長頻率:個數據保存周期:由用戶注冊、修改決定。FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM姓名namevarchar(30)Memailemailvarchar(128)M電話telephonevarchar(32)M密碼passWordvarchar(50)M注冊時間registerTimedatetime是否刪除deletedtinyint10.1.5發送消息用戶表t_application_user主要用途:保存發送消息用戶信息。數據增長頻率:個數據保存周期:由用戶注冊、修改決定。FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM姓名namevarchar(30)Memailemailvarchar(128)M電話telephonevarchar(32)M密碼passWordvarchar(50)M注冊時間registerTimedatetime是否刪除deletedtinyint10.1.6消息訂閱類別表t_message_subscribe_type主要用途:保存用戶消息訂閱方式信息。數據增長頻率:個數據保存周期:由管理員操作決定。FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM方式namevarchar(30)M郵件備注reamarkvarchar(128)M是否刪除deletedtinyint10.1.7國家時區表t_timeZone主要用途:提供各個國家時區,為管理員指定中心的時區服務。數據增長頻率:個數據保存周期:由管理員修改決定FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM國家countryvarchar(80)M時區timeZonevarchar(100)MkeykeydatetimeM用于國際化id產生時間createTimedatetime備注remarkbigint是否刪除deletedtinyint10.1.8使用時區表t_userd_timeZone主要用途:保存消息中心的時區,時區可以由系統自動獲取,也可以由管理員指定。數據增長頻率:個數據保存周期:由管理員修改決定FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM國家countryvarchar(80)M時區timeZonevarchar(100)MkeykeydatetimeM用于國際化id產生時間createTimedatetime備注remarkbigint是否刪除deletedtinyint10.1.9用戶消息類型注冊表t_application_user主要用途:保存發送消息用戶信息。數據增長頻率:個數據保存周期:由用戶注冊、修改決定。FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM用戶idapplicationIdbigintM消息類別idtypeIdbigintM類別名稱namevarchar(50)M備注remarkvarchar(100)M申請時間applyTimedatetime是否刪除deletedtinyint是否同意agreetiny
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第一章概述第一節裝卸搬運機械的類型港口常用裝卸搬運機械按作
- 申請信息公開物業合同協議
- 白領西裝采購合同協議
- 電子商務勞務合同協議
- 生鮮肉類購銷合同協議
- 玻璃隔斷裝修合同協議
- 畜牧業轉讓合同協議
- 瓷磚加工合同協議書范本
- 盈利小作坊轉讓合同協議
- 玉米秸稈草料收購合同協議
- 2024年貴航貴陽醫院招聘筆試真題
- 2025廣州民用房屋租賃合同樣本
- 福建事業單位考試求職信撰寫技巧試題及答案
- 2025-2030中國金融云行業市場發展分析及發展趨勢與投資前景研究報告
- 家庭暖通合同協議
- 心力衰竭填空試題及答案
- 全新機房搬遷協議合同
- 企業品牌部管理制度
- 2025年04月包頭醫學院公開招聘28名事業單位工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 《美的電器審計案例》課件
- 2025-2030中國冰鞋行業市場發展分析與發展趨勢及投資風險研究報告
評論
0/150
提交評論