1、完整版消息中心构架设计说明书2消息中心构架设计说明书版本:1.0变更记录序号版本变更说明修改人/日期审批人/日期11.0创建李万鸿11.文档介绍 41.1文档目的 41.2文档范围 41.3读者对象 41.4参考文献 41.5术语与缩写解释 42系统概述 53设计约束 64设计策略 75系统总体结构 86子系统N的结构与功能 157开发环境的配置 278运行环境的配置 289测试环境的配置 2910其它 301 1.文档介绍1.1文档目的消息中心接收别的系统发送的消息,再基于一定的规则以邮件、短信、消息等方式推送消息到pc端和手机端,比如对于 attendance 迟到、早退、tour超时提醒
2、等需要及时推送 相应的信息给相关人员,中心对规则、用户、消息进行管理。为此,根据“先进实用、稳定 可靠”的原则设计本消息中心。1.2文档范围消息的接收、发送、保存,对应用用户的管理。1.3读者对象开发人员1.4参考文献1.5术语与缩写解释缩写、术语解释QoS levelQuality of Service levelSD系统设计,System Design2系统概述系统主要完成消息的接收、发送和保存,再基于一定的规则以邮件、短信、消息等方式 推送消息到pc端或手机,以及对用户、规则、消息进行管理。系统接收来自别的系统应用 用户的消息,然后基于一定的规则把消息进行推送。3设计约束1.系统必须遵循
3、国家软件开发的标准。2.系统用java开发,服务器中间件为 tomcat。3.系统必须稳定可靠,性能高,满足每天 40-500万次的推送量。4.保证消息的成功送达,如果不成功就重发。4设计策略1.系统高可用、高性能、易扩展,安全稳定,实用可靠,满足用户的需要。2.系统可以进行扩展,增加推送的消息种类,增加消息推送的规则。3.系统可以复用于别的系统的消息推送。5系统总体结构5.1系统架构设计1.逻辑架构系统采用接口用rocketMQ实现应用用户的消息接收,用 drools依据一定的 规则进行消息转发,发送邮件、短信、消息到 pc端和手机端,消息发送后用rocketMQ发送结果消息给应用用户。用户
4、管理发送规则,对不同的消息、发送的 方式、发送的时间、接收者进行设置,以后消息中心按照这些规则发送消息。规 则处理采用drools完成。系统采用MQT服艮务器mosquito实现消息对手机端的推送,采用 win socket 发送消息给pc端。MQTT通过发布/订阅方式发送消息给手机,方式为发布/订阅, 为了实现点对点发送,需要在发送的消息里加上手机端的 imei和用户名,同时在手机端进行判断,如果imei和用户名符合则接收此消息。采用 win socket实 现推送消息到pc端,为实现点对点的推送,可以在消息中加上要发送的 pc端的 用户名,pc端对消息的用户名进行判断,如果和自己的一样则接
5、收消息。 对于群 发,大家都可以收到。应用用户通过接口发送消息给消息中心,消息采用 json格式,包含应用用户id、发送消息方式 id、Title 、content、usrld , sendTime。采用mqtt QoS level 2协议,保证自动重发发送不成功的消息,而且可以保 证消息的顺序到达,可以设置超时时间,防止断网。 Mqtt不建立长连接,省电、省流量。还可以用 mosquitto实现集群发送,集群可以线性扩展。应用系统用户在注册、登陆后申请发送消息的类别,有邮件、短信、手机消 息、pc消息4种,注册后要记住自己的id,然后通过接口发送消息;管理员审 批用户的申请,管理消息;消息中
6、心发送消息或邮件、短信到相应的 pc端或手机端用户。系统的管理功能包括对规则、用户、消息进行管理。中心的时区设当地的时区,系统用 ntpdate命令让系统使用NTP(Network Time Protocol网络时间协议)协议来从网络同步时间的命令,这样即使有夏令 时的变化,系统也会自动更新。中心使用时间时需要得到系统的时区。2.网络架构5.2系统包含模块1.消息接收发送模块。1)提供发送接口用于接收应用用户的消息和参数, 然后通过规则发送消息,用户通过接收接口得到发送结果:发送消息到手机端。发送消息到pc端。发送邮件。发送短信。2.手机、pc接收模块。手机接收消息中心发送的消息。Pc接收消息
7、中心发送的消息。3.管理模块。1) 用户和管理员注册、登陆。2) 实现用户申请消息发送方式申请、查看消息、修改密码、统计消息。用户可以申请邮件、短信、手机消息、 pc消息4种方式发送消息。3) 管理用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。4) 管理规则,可以增加、修改、删除查询规则。5.3用例图1.应用用户用例图A2.管理员用例图3消息用户用例图4.应用用户用例图5.4流程图1.发送消息流程图ml*6系统模块的结构与功能系统包括消息接收送接模块、手机、 pc接收消息模块、管理模块,共 3个模块。6.1消息接收发送模块提供接口用于接收应用用户的消息, 然后用drools通
8、过规则异步发送消息, 用户调用接收接口得到发送结果:发送消息到手机端。发送消息到pc端。发送邮件。发送短信。系统采用rocketmq 接收消息和返回消息发送结果给用户,系统给 pc、手机采用Async异步发送邮件等消息,并得到发送结果,把结果返回给调用者,消息及发送的情况 入库,入库时需要检查消息是否已经存在。 用户采用异步调用本接口, 得到发送结果,如果不成功,用户可以重发。因为中心的时区与各用户的时区不同,用户需要发送自己的时区,系统返回发送时 间时要根据时区转换时间。当手机离线没有收到消息,则在定时器中重发;对于需要定时发送的消息,通过定 时器完成发送。定时器 20分钟执行一次,对这 2
9、种情况通过规则发送消息。系统确定时间 时要根据时区进行转换,按照用户的时区时间来发送消息。6.1.1单元定义单元名称单元功能描述备注com.isoftst on e.message.doma in. Message消息实体com.isoftst on e.message.MessageBiz消息发送接收业务类com.isoftst on e.message.dao.MessageDao消息管理dao类com.isoftst on e.message.service.MessageService消息管理service 类com.isoftst on e.message.mailMessage发送
10、邮件com.isoftst on e.message.shortMessage发送短信com.isoftst on e.message.pcMessage发送pc消息com.isoftst on e.message.MobileMessage发送手机消息6.1.2接口描述1.发送接口接口 定义:public void sendMessage(String applicationld,Stringtypeid,Stri ng title,Stri ng conten t,Stri ng userId) throws Excepti on ;描述:通过调用此接口可发送消息及参数,接口在 com.i
11、softst on e.message.MessageBiz 中。入口参数父丿元糸丿元糸须必类型备注applicati onldM 嘶typeidO Stri ngtitleStri ng.content0 Stri nguserIdStri ngsen dTimeStri ngtimeZ oneStri ng2.接收接口接 口 定 义: public In teger getMessageResult(Stri ngapplicati onl d,Stri ng typeid,Stri ng title,Stri ng conten t,Stri ng userId)throws Excep
12、ti on ;描述:通过调用此接口可得到发送消息的结果,如果发送失败,用户则调用发送接口重发。接口在 com.isoftst on e.message.MessageBiz 中。入口参数父丿元糸丿元糸须必类型备注applicati onldm StringtypeidO Stri ngtitleStri ng.userldStri ngsen dTimeStri ngtimeZ oneStri ng接口返回:返回码含义备注0成功1失败2数据重复提交3服务器异常4没有发送权限5网络异常时序图基本场景以下场景触发模块:用户调用接口发送消息。时序图及描述流程描述:1.用户使用接口发送消息及参数。2.
13、接口对消息参数进行分析,判断是否可以发送。3.pc消息,并得到发送结果,反馈给接口根据参数分别异步发送邮件、短信、手机、 接口调用者。4.发送消息后保存消息到数据库。异常描述10异常:数据插入失败,写入日志。 数据库操作异常:数据插入失败,写入日志 网络连接超时异常:网络异常,发送失败,写入日志并反馈给用户。6.2手机、pc接收模块621手机接收消息中心发送的消息手机用mqtt接收消息。6.2.2Pc接收消息中心发送的消息。Pc用win socket接收消息。6.3管理模块。6.3.1用户和管理员注册、登陆。用户和管理员注册、登陆。应用用户注册后记住自己的 id,以后发送消息时会用到。6.3.
14、2用户操作功能。实现用户申请消息发送方式申请、 查看消息、修改密码、统计消息。用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。6.3.3管理功能。管理规则、用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。规则以xml格式生成。634注册、登陆界面完成应用用户和注册、登陆。用户售務|用户类型丫 管谨员C)应用用户enail:注珊电话:注册 放弃635用户申请界面实现用户申请消息发送方式申请。用户可以申请邮件、短信、手机消息、 pc消息4种方式发送消息。1.应用用户消息管理应用用户消息管理肖息管俚丫鞄码置理 应用用户消息管理n邮件一疫信手机消息n皿消原保存 畝弃2应用用
15、户消息管理底用馬户谓息冒僵消凰誉迴丫整码置理消息冒哩应用用户名秫:XX用户1消圜d消息类型消息标题消息内咨搖收人岌送日朝旱111122手机消息超时请尽快完曲任芳5145U5152015-4-5旱2111123删件加班通知周耒加竝6SS20134-5是集1 慮其1更才心Q3应用用户密码管理址用用户消息管理”消息置理底码置理J蔭码宣理旧霑码:赣密码:脸证新幣码:4.发送管理9印时三壬5应用用户消息统计忆用馬户消握萱理消凰管理密码童迎I而诸息管理应用用户営耕:XX用户1序号消息id消息黄型消息标題消息内酱接收人发送曰期是111122手机消皂超时请尽快兗咸任势5145U51520154-6是21111
16、23由噜加班趣矩周未如班556126 com20134-5是第1嵐共1636管理界面管理员实现对应用用户的管理、对应用用户申请的管理和对消息的管理,及管理员 注册、登陆。1.应用用户管理应用用户营遲&用用一汹息管理消息管理” 巒码管理tf应用用户官理巒事仙 2刷祈序号应书用户容称上檢人車批处理1)&用户1201345孚日L不冋思删除2XX用户22013-4-6冋忌* 不冋忌第1 页点1頁 / 32.应用用户消息审批管理而丽词陆用用户活息童理I Ssm亜码童豐囲应=9用户皀爸理应用用户茗曙二由胡卧 | 宫胃| 日單重吿曙1 丽|器御| J 職新两号应冋用户容称日期上佟人消息左式审犹12013-5
17、車自引件 罔宜不同意2袞用卢1201皿-短恃 a,1司葛 平同意3XX用户1201M-5字m丰机消息Q同意不風鳶*AHt J rfu 計 bi2.消息管理应用用戸管迴阻用用户湾息営理何舅曽里f裁胃音理f消尾苜15刷祈直匡阳户宕關消 JRid肖息集型JM标壘接收人岌箧口期处理1XX用户111122壬机“肖忌514514515?0154-62立护j111123tn娅鱼知GE6125 com舸13斗W T.* 1 贞共1虫dg Q4.管理员密码管理应用用户管理H应用用户消息管連消息管理密码管理|统计5.消息统计户宦運”虑黑用户消竄童遲务JS管理密码曽理(面鏡计应用用户宮称F亘询I垂置別崙序号应用胃尸
18、若称应用用户id手机俏息pc誚息邮件菽送口期處功 总数不威咸功率1XX用户11122221 (222 15.规则管理6.规则编辑iS:U I 惟 m护 Hciet刮专半血Q亡宾岂中邕世胡龍程 D誣护艇 亡腿解伽7开发环境的配置类别标准配置最低配置计算机硬件Pc windos软件eclipse网络通信Tcp/ip其它8运行环境的配置类别标准配置最低配置计算机硬件服务器软件Linux网络通信Tcp/ip其它9测试环境的配置同开发环境10其它10.1数据库设计10.1.1 邮件消息表 t_email_message主要用途:保存发送的邮件数据增长频率:个数据保存周期:由用户调用操作FIELD NAM
19、EFIELD CODEFIELD YPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigi ntpkM标题titlevarchar(80)M内容contentvarchar(500)M发送时间sen dTimedatetimeM接收时间ReceiveTimedatetime发送状态statustin yi ntM接收用户idreceiveUserIdvarchar(50)应用用户idapplicatio nTypeldbigi nt是否删除deletedtin yi nt10.1.2手机消息表 t_mobile_message主要用途:保存发送的手
20、机消息 数据增长频率:个数据保存周期:由用户调用操作FIELD NAMEFIELD CODEFIELD YPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigi ntpkM标题titlevarchar(80)M内容contentvarchar(500)M发送时间sen dTimedatetimeM接收时间ReceiveTimedatetime发送状态statustin yi ntM接收用户idreceiveUserIdvarchar(50)应用用户idapplicatio nTypeIdbigi nt是否删除deletedtin yi nt10.1
21、.3短信消息表 t_short_message主要用途:保存发送的短信消息。 数据增长频率:个数据保存周期:由用户调用操作FIELD NAMEFIELD CODEFIELD YPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigi ntpkM标题titlevarchar(80)M内容contentvarchar(500)M发送时间sen dTimedatetimeM发送状态statustin yi ntM接收时间ReceiveTimedatetime接收用户idreceiveUserldvarchar(50)应用用户idapplicatio nTy
22、peIdbigi nt是否删除deletedtin yi nt10.1.4管理员表 t_admin主要用途:保存管理员信息。数据增长频率:个数据保存周期:由用户注册、修改决定。FIELD NAMEFIELD CODEFIELD YPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigi ntpkM姓名n amevarchar(30)Memailemailvarchar(128)M电话telepho nevarchar(M32)密码passwordvarchar(50)M注册时间registerTimedatetime是否删除deletedtin yi
23、 nt10.1.5发送消息用户表 t_application_user主要用途:保存 发送消息用户 信息。数据增长频率:个数据保存周期:由用户注册、修改决定。FIELD NAMEFIELD CODEFIELD YPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigi ntpkM姓名n amevarchar(30)Memailemailvarchar(128)M电话telepho nevarchar(32)M密码passWordvarchar(50)M注册时间registerTimedatetime是否删除deletedtin yi nt10.1.6
24、消息订阅类别表 t_message_subscribe_type主要用途:保存用户消息订阅方式信息。 数据增长频率:个数据保存周期:由管理员操作决定。FIELD NAMEFIELD CODEFIELD YPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigi ntpkM方式n amevarchar(30)M邮件备注reamarkvarchar(128)M是否删除deletedtin yi nt10.1.7国家时区表 t_timeZone主要用途:提供各个国家时区,为管理员指定中心的时区服务。 数据增长频率:个数据保存周期:由管理员修改决定FIELD NAMEFIELD CODEFIELD YPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigi ntpkM国家countryvarchar(80)M时区timeZ onevarchar(10
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1