版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、構(gòu)架設(shè)計說明書消息中心構(gòu)架設(shè)計說明書版本: 1.01/37構(gòu)架設(shè)計說明書變更記錄序號版本變更說明修改人 /日期審批人 /日期11.0創(chuàng)建李萬鴻2/37構(gòu)架設(shè)計說明書目錄11. 文檔介紹.41.1文檔目的 .41.2文檔范圍 .41.3讀者對象 .41.4參考文獻 .41.5術(shù)語與縮寫解釋 .42系統(tǒng)概述 .53設(shè)計約束 .64設(shè)計策略 .75系統(tǒng)總體結(jié)構(gòu).86子系統(tǒng) N 的結(jié)構(gòu)與功能 .157開發(fā)環(huán)境的配置 .278運行環(huán)境的配置 .289測試環(huán)境的配置 .2910其它 .303/37構(gòu)架設(shè)計說明書1 1. 文檔介紹1.1 文檔目的消息中心接收別的系統(tǒng)發(fā)送的消息,再基于一定的規(guī)則以郵件、短信、
2、消息等方式推送消息到 pc 端和手機端,比如對于attendance遲到、早退、tour 超時提醒等需要及時推送相應(yīng)的信息給相關(guān)人員,中心對規(guī)則、用戶、消息進行管理。為此,根據(jù)“先進實用、穩(wěn)定可靠”的原則設(shè)計本消息中心。1.2 文檔范圍消息的接收、發(fā)送、保存,對應(yīng)用用戶的管理。1.3 讀者對象開發(fā)人員1.4 參考文獻1.5 術(shù)語與縮寫解釋縮寫、術(shù)語解釋QoS levelQuality of Service levelSD系統(tǒng)設(shè)計, System Design4/37構(gòu)架設(shè)計說明書2 系統(tǒng)概述系統(tǒng)主要完成消息的接收、發(fā)送和保存,再基于一定的規(guī)則以郵件、短信、消息等方式推送消息到pc 端或手機,以
3、及對用戶、規(guī)則、消息進行管理。系統(tǒng)接收來自別的系統(tǒng)應(yīng)用用戶的消息,然后基于一定的規(guī)則把消息進行推送。5/37構(gòu)架設(shè)計說明書3 設(shè)計約束1.系統(tǒng)必須遵循國家軟件開發(fā)的標準。2.系統(tǒng)用 java 開發(fā),服務(wù)器中間件為tomcat 。3.系統(tǒng)必須穩(wěn)定可靠,性能高,滿足每天40-500 萬次的推送量。4.保證消息的成功送達,如果不成功就重發(fā)。6/37構(gòu)架設(shè)計說明書4 設(shè)計策略1. 系統(tǒng)高可用、高性能、易擴展,安全穩(wěn)定,實用可靠,滿足用戶的需要。2. 系統(tǒng)可以進行擴展,增加推送的消息種類,增加消息推送的規(guī)則。3. 系統(tǒng)可以復用于別的系統(tǒng)的消息推送。7/37構(gòu)架設(shè)計說明書5 系統(tǒng)總體結(jié)構(gòu)5.1 系統(tǒng)架構(gòu)設(shè)
4、計1.邏輯架構(gòu)系統(tǒng)采用接口用 rocketMQ 實現(xiàn)應(yīng)用用戶的消息接收,用 drools 依據(jù)一定的規(guī)則進行消息轉(zhuǎn)發(fā),發(fā)送郵件、短信、消息到 pc 端和手機端,消息發(fā)送后用 rocketMQ 發(fā)送結(jié)果消息給應(yīng)用用戶。 用戶管理發(fā)送規(guī)則, 對不同的消息、 發(fā)送的方式、發(fā)送的時間、接收者進行設(shè)置,以后消息中心按照這些規(guī)則發(fā)送消息。規(guī)則處理采用 drools 完成。系統(tǒng)采用 MQTT服務(wù)器 mosquito 實現(xiàn)消息對手機端的推送,采用 winsocket 發(fā)送消息給 pc 端。MQTT通過發(fā)布 / 訂閱方式發(fā)送消息給手機, 方式為發(fā)布 / 訂閱,為了實現(xiàn)點對點發(fā)送,需要在發(fā)送的消息里加上手機端的
5、imei 和用戶名,同時在手機端進行判斷,如果 imei 和用戶名符合則接收此消息。采用 winsocket 實8/37構(gòu)架設(shè)計說明書現(xiàn)推送消息到 pc 端,為實現(xiàn)點對點的推送,可以在消息中加上要發(fā)送的 pc 端的用戶名, pc 端對消息的用戶名進行判斷, 如果和自己的一樣則接收消息。 對于群發(fā),大家都可以收到。應(yīng)用用戶通過接口發(fā)送消息給消息中心,消息采用json格式,包含應(yīng)用用戶id 、發(fā)送消息方式id 、 Title、 content 、 usrId , sendTime。采用 mqtt QoS level 2 協(xié)議,保證自動重發(fā)發(fā)送不成功的消息,而且可以保證消息的順序到達,可以設(shè)置超時時
6、間,防止斷網(wǎng)。 Mqtt 不建立長連接,省電、省流量。還可以用 mosquitto 實現(xiàn)集群發(fā)送,集群可以線性擴展。應(yīng)用系統(tǒng)用戶在注冊、登陸后申請發(fā)送消息的類別,有郵件、短信、手機消息、 pc 消息 4 種,注冊后要記住自己的id ,然后通過接口發(fā)送消息;管理員審批用戶的申請,管理消息;消息中心發(fā)送消息或郵件、短信到相應(yīng)的pc 端或手機端用戶。系統(tǒng)的管理功能包括對規(guī)則、用戶、消息進行管理。中心的時區(qū)設(shè)當?shù)氐臅r區(qū),系統(tǒng)用 ntpdate 命令讓系統(tǒng)使用 NTP(Network Time Protocol 網(wǎng)絡(luò)時間協(xié)議)協(xié)議來從網(wǎng)絡(luò)同步時間的命令,這樣即使有夏令時的變化,系統(tǒng)也會自動更新。中心使用
7、時間時需要得到系統(tǒng)的時區(qū)。2. 網(wǎng)絡(luò)架構(gòu)9/37構(gòu)架設(shè)計說明書5.2 系統(tǒng)包含模塊1. 消息接收發(fā)送模塊。1)提供發(fā)送接口用于接收應(yīng)用用戶的消息和參數(shù), 然后通過規(guī)則發(fā)送消息, 用戶通過接收接口得到發(fā)送結(jié)果:發(fā)送消息到手機端。發(fā)送消息到 pc 端。發(fā)送郵件。發(fā)送短信。2. 手機、 pc 接收模塊。手機接收消息中心發(fā)送的消息。Pc 接收消息中心發(fā)送的消息。3. 管理模塊。1)用戶和管理員注冊、登陸。2)實現(xiàn)用戶申請消息發(fā)送方式申請、查看消息、修改密碼、統(tǒng)計消息。用戶可以申10/37構(gòu)架設(shè)計說明書請郵件、短信、手機消息、pc 消息 4 種方式發(fā)送消息。3)管理用戶、審批用戶發(fā)送方式、管理員密碼修改
8、、查看和統(tǒng)計發(fā)送過的消息。4)管理規(guī)則,可以增加、修改、刪除查詢規(guī)則。5.3 用例圖1. 應(yīng)用用戶用例圖2 管理員用例圖11/37構(gòu)架設(shè)計說明書3 消息用戶用例圖4. 應(yīng)用用戶用例圖12/37構(gòu)架設(shè)計說明書5.4 流程圖1. 發(fā)送消息流程圖13/37構(gòu)架設(shè)計說明書14/37構(gòu)架設(shè)計說明書6 系統(tǒng)模塊的結(jié)構(gòu)與功能系統(tǒng)包括消息接收送接模塊、手機、pc 接收消息模塊、管理模塊,共3 個模塊。6.1 消息接收發(fā)送模塊提供接口用于接收應(yīng)用用戶的消息,然后用 drools通過規(guī)則異步發(fā)送消息,用戶調(diào)用接收接口得到發(fā)送結(jié)果:發(fā)送消息到手機端。發(fā)送消息到pc 端。發(fā)送郵件。發(fā)送短信。系統(tǒng)采用rocketmq接
9、收消息和返回消息發(fā)送結(jié)果給用戶,系統(tǒng)給pc 、手機采用Async異步發(fā)送郵件等消息,并得到發(fā)送結(jié)果,把結(jié)果返回給調(diào)用者,消息及發(fā)送的情況入庫 ,入庫時需要檢查消息是否已經(jīng)存在。用戶采用異步調(diào)用本接口,得到發(fā)送結(jié)果, 如果不成功,用戶可以重發(fā)。因為中心的時區(qū)與各用戶的時區(qū)不同,用戶需要發(fā)送自己的時區(qū),系統(tǒng)返回發(fā)送時間時要根據(jù)時區(qū)轉(zhuǎn)換時間。當手機離線沒有收到消息,則在定時器中重發(fā);對于需要定時發(fā)送的消息,通過定時器完成發(fā)送。定時器20 分鐘執(zhí)行一次,對這2 種情況通過規(guī)則發(fā)送消息。系統(tǒng)確定時間時要根據(jù)時區(qū)進行轉(zhuǎn)換,按照用戶的時區(qū)時間來發(fā)送消息。6.1.1 單元定義單元名稱單元功能描備注述com.i
10、softstone.message.domain.Message消息實體com.isoftstone.message.MessageBiz消息發(fā)送接收業(yè)務(wù)類com.isoftstone.message.dao.MessageDao消息管理dao 類com.isoftstone.message.service.MessageService消息管理service類com.isoftstone.message.mailMessage發(fā)送郵件15/37構(gòu)架設(shè)計說明書com.isoftstone.message.shortMessage發(fā)送短信com.isoftstone.message.pcMessa
11、ge發(fā)送 pc 消息com.isoftstone.message.MobileMessage發(fā)送手機消息6.1.2 接口描述1.發(fā)送接口接 口 定 義 : public voidsendMessage(StringapplicationId,Stringtypeid,String title,String content,String userId) throws Exception;描述:通過調(diào)用此接口可發(fā)送消息及參數(shù),接口在com.isoftstone.message.MessageBiz中。入口參數(shù)父元素必類型備注元素須applicationIdMStringtypeidOStringt
12、itleString,contentOStringuserIdStringsendTimeStringtimeZoneString2. 接收接口接口定義:publicIntegergetMessageResult(StringapplicationId,Stringtypeid,Stringtitle,Stringcontent,StringuserId)throws Exception;16/37構(gòu)架設(shè)計說明書描述:通過調(diào)用此接口可得到發(fā)送消息的結(jié)果,如果發(fā)送失敗,用戶則調(diào)用發(fā)送接口重發(fā)。接口在com.isoftstone.message.MessageBiz中。入口參數(shù)父元素必類型備注元素
13、須applicationIdMStringtypeidOStringtitleString,userIdStringsendTimeStringtimeZoneString接口返回:返回碼含義備注0成功1失敗2數(shù)據(jù)重復提交3服務(wù)器異常4沒有發(fā)送權(quán)限5網(wǎng)絡(luò)異常17/37構(gòu)架設(shè)計說明書時序圖基本場景以下場景觸發(fā)模塊:用戶調(diào)用接口發(fā)送消息。時序圖及描述流程描述:1. 用戶使用接口發(fā)送消息及參數(shù)。2. 接口對消息參數(shù)進行分析,判斷是否可以發(fā)送。3.接口根據(jù)參數(shù)分別異步發(fā)送郵件、短信、手機、pc 消息,并得到發(fā)送結(jié)果,反饋給接口調(diào)用者。4.發(fā)送消息后保存消息到數(shù)據(jù)庫。異常描述IO 異常:數(shù)據(jù)插入失敗,寫
14、入日志。18/37構(gòu)架設(shè)計說明書數(shù)據(jù)庫操作異常:數(shù)據(jù)插入失敗,寫入日志網(wǎng)絡(luò)連接超時異常:網(wǎng)絡(luò)異常,發(fā)送失敗,寫入日志并反饋給用戶。6.2 手機、 pc 接收模塊6.2.1 手機接收消息中心發(fā)送的消息手機用 mqtt 接收消息 。6.2.2 Pc 接收消息中心發(fā)送的消息。Pc 用 winsocket接收消息。6.3 管理模塊。6.3.1 用戶和管理員注冊、登陸。用戶和管理員注冊、登陸。應(yīng)用用戶注冊后記住自己的id ,以后發(fā)送消息時會用到。6.3.2 用戶操作功能。實現(xiàn)用戶申請消息發(fā)送方式申請、查看消息、 修改密碼、 統(tǒng)計消息。 用戶可以申請郵件、短信、手機消息、pc 消息 4 種方式發(fā)送消息。6
15、.3.3 管理功能。管理規(guī)則、用戶、審批用戶發(fā)送方式、管理員密碼修改、查看和統(tǒng)計發(fā)送過的消息。規(guī)則以 xml 格式生成。19/37構(gòu)架設(shè)計說明書6.3.4 注冊、登陸界面完成應(yīng)用用戶和注冊、登陸。6.3.5 用戶申請界面實現(xiàn)用戶申請消息發(fā)送方式申請。用戶可以申請郵件、短信、手機消息、pc 消息 4種方式發(fā)送消息。1.應(yīng)用用戶消息管理20/37構(gòu)架設(shè)計說明書2.應(yīng)用用戶消息管理3.應(yīng)用用戶密碼管理21/37構(gòu)架設(shè)計說明書4.發(fā)送管理5.應(yīng)用用戶消息統(tǒng)計22/37構(gòu)架設(shè)計說明書6.3.6 管理界面管理員實現(xiàn)對應(yīng)用用戶的管理、對應(yīng)用用戶申請的管理和對消息的管理,及管理員注冊、登陸。1.應(yīng)用用戶管理2
16、.應(yīng)用用戶消息審批管理23/37構(gòu)架設(shè)計說明書2. 消息管理4. 管理員密碼管理24/37構(gòu)架設(shè)計說明書5.消息統(tǒng)計5. 規(guī)則管理25/37構(gòu)架設(shè)計說明書6. 規(guī)則編輯26/37構(gòu)架設(shè)計說明書7 開發(fā)環(huán)境的配置類別標準配置最低配置計算機硬件Pc windos軟件eclipse網(wǎng)絡(luò)通信Tcp/ip其它27/37構(gòu)架設(shè)計說明書8 運行環(huán)境的配置類別標準配置最低配置計算機硬件服務(wù)器軟件Linux網(wǎng)絡(luò)通信Tcp/ip其它28/37構(gòu)架設(shè)計說明書9 測試環(huán)境的配置同開發(fā)環(huán)境。29/37構(gòu)架設(shè)計說明書10 其它10.1 數(shù)據(jù)庫設(shè)計t_message_subscribe_typet_application_
17、usert_adminidbigintidbigintidbigintnamevarchar(50namevarchar(50)namevarchar(50)reamarkvarchar(100)emailvarchar(128)emailvarchar(128)deletedtinyinttelephonevarchar(32)telephonevarchar(32).remarkvarchar(100)remarkvarchar(100)passWordvarchar(50)passWordvarchar(50)registerTimedatetimeregisterTimedatetim
18、edeletedtinyintdeletedtinyint.t_rulet_ m obile_messaget_application _ message_typet_ e mail_messageidbigintidbigintidbigintidbiginttitlevarchar(80)applicationIdbiginttitlevarchar(80)namevarchar(100)contentvarchar(500)typeIdbigintcontentvarchar(500)contentvarchar(1000)sendTimedatetimenamevarchar(50)s
19、endTimedatetimecreateTimedatetimestatustinyintremarkvarchar(100)dsttinyintupdateTimedatetimeremarkvarchar(100)agreeintstatustinyintremarkdatetimereceiveUserIdvarchar(50)deletedintremarkvarchar(100)deletedintapplicationTypeIdbigintapplyTimedatetimereceiveUserIdvarchar(50).deletedtinyint.applicationTy
20、peIdbigintt_userd_timeZonet_timeZonet_ short_messaget_pc_ messageidbigintidbigintidbigintidbigintcountryvarchar(80)countryvarchar(80)titlevarchar(80)titlevarchar(80)timeZonevarchar(100)timeZonevarchar(100)contentvarchar(500)contentvarchar(500)keyvarchar(100)keyvarchar(100)sendTimedatetimesendTimedat
21、etimecreateTimedatetimecreateTimedatetimestatustinyintstatustinyintupdateTimedatetimeupdateTimedatetimeremarkvarchar(100)remarkvarchar(100)remarkdatetimeremarkdatetimereceiveUserIdvarchar(50)receiveUserIdvarchar(50)deletedtinyintdeletedtinyintapplicationTypeIdbigintapplicationTypeIdbigint.deletedtin
22、yintdeletedtinyint10.1.1 郵件消息表 t_email_message主要用途:保存發(fā)送的郵件數(shù)據(jù)增長頻率:個數(shù)據(jù)保存周期:由用戶調(diào)用操作FIELD NAMEFIELD CODEFIELD YPEFIELDKEYO/MDEFAULTLENGTHVALUEDESCRIPTIONididbigintpkM標題titlevarchar(M80)內(nèi)容contentMvarchar(500)發(fā)送時間sendTimedatetimMe30/37構(gòu)架設(shè)計說明書接收時間ReceiveTimedatetime發(fā)送狀態(tài)statustinyintM接收用戶receiveUserIvarchar
23、(idd50)應(yīng)用用戶applicationTbigintidypeId是否刪除deletedtinyint10.1.2 手機消息表 t_mobile_message主要用途:保存發(fā)送的手機消息數(shù)據(jù)增長頻率:個數(shù)據(jù)保存周期:由用戶調(diào)用操作FIELD NAMEFIELD CODEFIELD YPEFIELDKEYO/MDEFAULTLENGTHVALUEDESCRIPTIONididbigintpkM標題titlevarchar(M80)內(nèi)容contentMvarchar(500)發(fā)送時間sendTimedatetimeM接收時間ReceiveTimedatetime發(fā)送狀態(tài)statustiny
24、intM接收用戶receiveUserIvarchar(idd50)應(yīng)用用戶applicationTbigintidypeId是否刪除deletedtinyint10.1.3 短信消息表 t_short_message主要用途:保存發(fā)送的短信消息。數(shù)據(jù)增長頻率:個31/37構(gòu)架設(shè)計說明書數(shù)據(jù)保存周期:由用戶調(diào)用操作FIELD NAMEFIELD CODEFIELD YPEFIELDKEYO/MDEFAULTLENGTHVALUEDESCRIPTIONididbigintpkM標題titlevarchar(M80)內(nèi)容contentMvarchar(500)發(fā)送時間sendTimedatetim
25、Me發(fā)送狀態(tài)statustinyintM接收時間ReceiveTimedatetime接收用戶receiveUserIvarchar(idd50)應(yīng)用用戶applicationTbigintidypeId是否刪除deletedtinyint10.1.4 管理員表 t_admin主要用途:保存管理員信息。數(shù)據(jù)增長頻率:個數(shù)據(jù)保存周期:由用戶注冊、修改決定。FIELD NAMEFIELD CODEFIELD YPEFIELDKEYO/MDEFAULTLENGTHVALUEDESCRIPTIONididbigintpkM姓名namevarchar(M30)emailemailMvarchar(128)電話telephonevarchar(M32/37構(gòu)架設(shè)計說明書32)M密碼passWordvarchar(50)datetim注冊時間registerTimee是否刪除deletedtinyint10.1.5 發(fā)送消息用戶表t_application_user主要用途:保存發(fā)送消息用戶 信息。數(shù)據(jù)增長頻率:個數(shù)據(jù)保存周期:由用戶注冊、修改決定。FIELD NAMEFIELD CODEFIELD YPEFIELDKEYO/MDEFAULTLENGTHVALUEDESCRIPTIONididbigintpkM姓名namevarchar(M30)emailemailMvarcha
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品安全保障措施方案
- 防雷設(shè)計方案
- 微生物實驗室管理規(guī)章制度
- 2023年嘉興平湖市衛(wèi)生健康系統(tǒng)招聘在編衛(wèi)生專業(yè)技術(shù)人員考試真題
- 2023年臨滄市永德縣醫(yī)共體總醫(yī)院招聘筆試真題
- 2023年佛山市南海區(qū)教育系統(tǒng)畢業(yè)生招聘教師筆試真題
- 板框壓濾機技術(shù)協(xié)議書
- 人員績效分配方案
- 深基坑應(yīng)急預案
- 第三章 溶液的基本性質(zhì)課件
- 脊髓亞急性聯(lián)合變性新版培訓課件
- 2023年江蘇省國信集團有限公司招聘筆試題庫及答案解析
- YS/T 1022-2015偏釩酸銨
- 馬工程《刑法學(下冊)》教學課件 第19章 破壞社會主義市場經(jīng)濟秩序罪
- GB/T 1740-2007漆膜耐濕熱測定法
- 校園突發(fā)事件及危機應(yīng)對
- 《必修上第六單元》教案【高中語文必修上冊】
- 醫(yī)療器械輻照滅菌分析課件
- 信托與租賃講稿課件
- 2023年廣東恒健投資控股有限公司校園招聘筆試模擬試題及答案解析
- 高效的時間管理高效的時間管理課件
評論
0/150
提交評論