ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:531.57KB ,
资源ID:7342595      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7342595.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(消息中心构架设计说明书2.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

消息中心构架设计说明书2.docx

1、消息中心构架设计说明书2 消息中心构架设计说明书 版本:1.0变更记录序号版本变更说明修改人/日期审批人/日期11.0创建李万鸿 11. 文档介绍1.1文档目的消息中心接收别的系统发送的消息,再基于一定的规则以邮件、短信、消息等方式推送消息到pc端和手机端,比如对于attendance迟到、早退、tour超时提醒等需要及时推送相应的信息给相关人员,中心对规则、用户、消息进行管理。为此,根据“先进实用、稳定可靠”的原则设计本消息中心。1.2文档范围消息的接收、发送、保存,对应用用户的管理。1.3读者对象开发人员1.4参考文献 1.5术语与缩写解释缩写、术语解 释QoS levelQuality

2、of Service levelSD系统设计,System Design2系统概述系统主要完成消息的接收、发送和保存,再基于一定的规则以邮件、短信、消息等方式推送消息到pc端或手机,以及对用户、规则、消息进行管理。系统接收来自别的系统应用用户的消息,然后基于一定的规则把消息进行推送。 3设计约束 1.系统必须遵循国家软件开发的标准。2.系统用java开发,服务器中间件为tomcat。3.系统必须稳定可靠,性能高,满足每天40-500万次的推送量。4.保证消息的成功送达,如果不成功就重发。4设计策略1.系统高可用、高性能、易扩展,安全稳定,实用可靠,满足用户的需要。2.系统可以进行扩展,增加推送

3、的消息种类,增加消息推送的规则。3.系统可以复用于别的系统的消息推送。5系统总体结构5.1系统架构设计1.逻辑架构系统采用接口用rocketMQ实现应用用户的消息接收,用drools依据一定的规则进行消息转发,发送邮件、短信、消息到pc端和手机端,消息发送后用rocketMQ发送结果消息给应用用户。用户管理发送规则,对不同的消息、发送的方式、发送的时间、接收者进行设置,以后消息中心按照这些规则发送消息。规则处理采用drools完成。系统采用MQTT服务器 mosquito实现消息对手机端的推送,采用winsocket发送消息给pc端。MQTT通过发布/订阅方式发送消息给手机,方式为发布/订阅,

4、为了实现点对点发送,需要在发送的消息里加上手机端的imei和用户名,同时在手机端进行判断,如果imei和用户名符合则接收此消息。采用winsocket实现推送消息到pc端,为实现点对点的推送,可以在消息中加上要发送的pc端的用户名,pc端对消息的用户名进行判断,如果和自己的一样则接收消息。对于群发,大家都可以收到。应用用户通过接口发送消息给消息中心,消息采用json格式,包含应用用户id、发送消息方式id、Title、content、usrId,sendTime。采用mqtt QoS level 2协议,保证自动重发发送不成功的消息,而且可以保证消息的顺序到达,可以设置超时时间,防止断网。Mq

5、tt不建立长连接,省电、省流量。还可以用mosquitto实现集群发送,集群可以线性扩展。应用系统用户在注册、登陆后申请发送消息的类别,有邮件、短信、手机消息、pc消息4种,注册后要记住自己的id,然后通过接口发送消息;管理员审批用户的申请,管理消息;消息中心发送消息或邮件、短信到相应的pc端或手机端用户。系统的管理功能包括对规则、用户、消息进行管理。中心的时区设当地的时区,系统用ntpdate命令让系统使用NTP(Network Time Protocol 网络时间协议)协议来从网络同步时间的命令,这样即使有夏令时的变化,系统也会自动更新。中心使用时间时需要得到系统的时区。2.网络架构5.2

6、系统包含模块1.消息接收发送模块。1)提供发送接口用于接收应用用户的消息和参数,然后通过规则发送消息,用户通过接收接口得到发送结果:发送消息到手机端。发送消息到pc端。发送邮件。 发送短信。2.手机、pc接收模块。 手机接收消息中心发送的消息。Pc接收消息中心发送的消息。3.管理模块。1)用户和管理员注册、登陆。2)实现用户申请消息发送方式申请、查看消息、修改密码、统计消息。用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。 3)管理用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。4)管理规则,可以增加、修改、删除查询规则。5.3用例图1.应用用户用例图2管理员用例图

7、3消息用户用例图4.应用用户用例图5.4流程图1.发送消息流程图6系统模块的结构与功能系统包括消息接收送接模块、手机、pc接收消息模块、管理模块,共3个模块。6.1消息接收发送模块提供接口用于接收应用用户的消息,然后用drools通过规则异步发送消息,用户调用接收接口得到发送结果:发送消息到手机端。发送消息到pc端。发送邮件。 发送短信。系统采用rocketmq接收消息和返回消息发送结果给用户,系统给pc、手机采用Async异步发送邮件等消息,并得到发送结果,把结果返回给调用者,消息及发送的情况入库,入库时需要检查消息是否已经存在。用户采用异步调用本接口,得到发送结果,如果不成功,用户可以重发

8、。因为中心的时区与各用户的时区不同,用户需要发送自己的时区,系统返回发送时间时要根据时区转换时间。当手机离线没有收到消息,则在定时器中重发;对于需要定时发送的消息,通过定时器完成发送。定时器20分钟执行一次,对这2种情况通过规则发送消息。系统确定时间时要根据时区进行转换,按照用户的时区时间来发送消息。6.1.1单元定义单元名称单元功能描述备注com.isoftstone.message.domain.Message消息实体com.isoftstone.message.MessageBiz消息发送接收业务类com.isoftstone.message.dao.MessageDao消息管理dao类

9、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. 发送接口接口定义:public void sendMessage(String applicationId,String typeid,String

10、 title,String content,String userId) throws Exception;描述:通过调用此接口可发送消息及参数,接口在com.isoftstone.message.MessageBiz中。 入口参数父元素元素必须类型备注applicationIdMString typeidOString titleString, contentOString userIdStringsendTimeStringtimeZoneString2. 接收接口接口定义:public Integer getMessageResult(String applicationId,Strin

11、g typeid,String title,String content,String userId) throws Exception;描述:通过调用此接口可得到发送消息的结果,如果发送失败,用户则调用发送接口重发。接口在com.isoftstone.message.MessageBiz中。入口参数父元素元素必须类型备注applicationIdMString typeidOString titleString, userIdStringsendTimeStringtimeZoneString接口返回: 返回码含义备注0成功1失败2数据重复提交3服务器异常4没有发送权限5网络异常 时序图基本

12、场景以下场景触发模块:用户调用接口发送消息。 时序图及描述流程描述:1.用户使用接口发送消息及参数。2.接口对消息参数进行分析,判断是否可以发送。3.接口根据参数分别异步发送邮件、短信、手机、pc消息,并得到发送结果,反馈给接口调用者。4.发送消息后保存消息到数据库。 异常描述IO异常:数据插入失败,写入日志。数据库操作异常:数据插入失败,写入日志网络连接超时异常:网络异常,发送失败,写入日志并反馈给用户。 6.2手机、pc接收模块6.2.1手机接收消息中心发送的消息手机用mqtt接收消息。6.2.2Pc接收消息中心发送的消息。Pc用winsocket接收消息。6.3管理模块。6.3.1用户和

13、管理员注册、登陆。用户和管理员注册、登陆。应用用户注册后记住自己的id,以后发送消息时会用到。6.3.2用户操作功能。实现用户申请消息发送方式申请、查看消息、修改密码、统计消息。用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。 6.3.3管理功能。管理规则、用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。 规则以xml格式生成。6.3.4注册、登陆界面 完成应用用户和注册、登陆。6.3.5用户申请界面实现用户申请消息发送方式申请。用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。 1.应用用户消息管理2.应用用户消息管理3.应用用户密码管理4.发送管理5.

14、应用用户消息统计6.3.6管理界面管理员实现对应用用户的管理、对应用用户申请的管理和对消息的管理,及管理员注册、登陆。1.应用用户管理2.应用用户消息审批管理2.消息管理4.管理员密码管理5.消息统计5.规则管理6.规则编辑7开发环境的配置 类别标准配置最低配置计算机硬件Pc windos软件eclipse 网络通信Tcp/ip其它8运行环境的配置 类别标准配置最低配置计算机硬件服务器软件Linux网络通信Tcp/ip其它9测试环境的配置同开发环境。10其它10.1数据库设计10.1.1邮件消息表t_email_message主要用途:保存发送的邮件数据增长频率:个数据保存周期:由用户调用操作

15、FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM标题 title varchar(80) M内容content varchar(500) M发送时间sendTime datetime M接收时间ReceiveTimedatetime 发送状态status tinyint M接收用户idreceiveUserId varchar(50)应用用户idapplicationTypeId bigint 是否删除deleted tinyint 10.1.2手机消息表t_mobile

16、_message 主要用途:保存发送的手机消息数据增长频率:个数据保存周期:由用户调用操作FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM标题 title varchar(80) M内容content varchar(500) M发送时间sendTime datetime M接收时间ReceiveTimedatetime 发送状态status tinyint M接收用户idreceiveUserId varchar(50)应用用户idapplicationTypeId b

17、igint 是否删除deleted tinyint 10.1.3短信消息表t_short_message 主要用途:保存发送的短信消息。数据增长频率:个数据保存周期:由用户调用操作FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM标题 title varchar(80) M内容content varchar(500) M发送时间sendTime datetime M发送状态status tinyint M接收时间ReceiveTimedatetime 接收用户idrecei

18、veUserId varchar(50)应用用户idapplicationTypeId bigint 是否删除deleted tinyint 10.1.4管理员表t_admin 主要用途:保存管理员信息。数据增长频率:个数据保存周期:由用户注册、修改决定。FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM姓名 name varchar(30) Memail email varchar(128) M电话telephone varchar(32) M密码passWord var

19、char(50) M注册时间registerTime datetime 是否删除deleted tinyint 10.1.5发送消息用户表t_application_user 主要用途:保存发送消息用户信息。数据增长频率:个数据保存周期:由用户注册、修改决定。FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM姓名 name varchar(30) Memail email varchar(128) M电话telephone varchar(32) M密码passWord v

20、archar(50) M注册时间registerTime datetime 是否删除deleted tinyint 10.1.6消息订阅类别表t_message_subscribe_type 主要用途:保存用户消息订阅方式信息。数据增长频率:个数据保存周期:由管理员操作决定。FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM方式 name varchar(30) M邮件备注reamark varchar(128) M是否删除deleted tinyint 10.1.7国家时

21、区表t_timeZone 主要用途:提供各个国家时区,为管理员指定中心的时区服务。数据增长频率:个数据保存周期:由管理员修改决定FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM国家 country varchar(80) M时区timeZone varchar(100) Mkey key datetime M用于国际化id产生时间createTime datetime 备注remark bigint 是否删除deleted tinyint 10.1.8使用时区表t_use

22、rd_timeZone 主要用途:保存消息中心的时区,时区可以由系统自动获取,也可以由管理员指定。数据增长频率:个数据保存周期:由管理员修改决定FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM国家 country varchar(80) M时区timeZone varchar(100) Mkey key datetime M用于国际化id产生时间createTime datetime 备注remark bigint 是否删除deleted tinyint 10.1.9用户

23、消息类型注册表t_application_user 主要用途:保存发送消息用户信息。数据增长频率:个数据保存周期:由用户注册、修改决定。FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM用户id applicationId bigint M消息类别id typeId bigint M类别名称name varchar(50) M备注remark varchar(100) M申请时间applyTime datetime 是否删除deleted tinyint 是否同意agree

24、 tinyint 10.1.10pc消息表t_pc_message 主要用途:保存发送pc的消息数据增长频率:个数据保存周期:由用户调用操作FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM标题 title varchar(80) M内容content varchar(500) M发送时间sendTime datetime M发送状态status tinyint M接收时间ReceiveTimedatetime 接收用户idreceiveUserId varchar(50)应用用户idapplicationTypeId bigint 是否删除deleted tinyint 10.1.11消息推送规则t_rule 主要用途:保存发送规则数据增长频率:个数据保存周期:由用户调用操作FIELD NAMEFIELD CODEFIELD YPEFIELD LENGTHKEYO/MDEFAULT VALUE DESCRIPTIONididbigint pkM规则标题 name varchar(80) M规则内容content varchar(500)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1