完整版消息中心构架设计说明书2.docx
- 文档编号:899682
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:31
- 大小:531.61KB
完整版消息中心构架设计说明书2.docx
《完整版消息中心构架设计说明书2.docx》由会员分享,可在线阅读,更多相关《完整版消息中心构架设计说明书2.docx(31页珍藏版)》请在冰豆网上搜索。
完整版消息中心构架设计说明书2
消息中心构架设计说明书
版本:
1.0
变更记录
序号
版本
变更说明
修改人/日期
审批人/日期
1
1.0
创建
李万鸿
11.文档介绍
1.1文档目的
消息中心接收别的系统发送的消息,再基于一定的规则以邮件、短信、消息等方式推送消息到pc端和手机端,比如对于attendance迟到、早退、tour超时提醒等需要及时推送相应的信息给相关人员,中心对规则、用户、消息进行管理。
为此,根据“先进实用、稳定可靠”的原则设计本消息中心。
1.2文档范围
消息的接收、发送、保存,对应用用户的管理。
1.3读者对象
开发人员
1.4参考文献
1.5术语与缩写解释
缩写、术语
解释
QoSlevel
QualityofServicelevel
SD
系统设计,SystemDesign
…
2系统概述
系统主要完成消息的接收、发送和保存,再基于一定的规则以邮件、短信、消息等方式推送消息到pc端或手机,以及对用户、规则、消息进行管理。
系统接收来自别的系统应用用户的消息,然后基于一定的规则把消息进行推送。
3设计约束
1.系统必须遵循国家软件开发的标准。
2.系统用java开发,服务器中间件为tomcat。
3.系统必须稳定可靠,性能高,满足每天40-500万次的推送量。
4.保证消息的成功送达,如果不成功就重发。
4设计策略
1.系统高可用、高性能、易扩展,安全稳定,实用可靠,满足用户的需要。
2.系统可以进行扩展,增加推送的消息种类,增加消息推送的规则。
3.系统可以复用于别的系统的消息推送。
5系统总体结构
5.1系统架构设计
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.网络架构
5.2系统包含模块
1.消息接收发送模块。
1)提供发送接口用于接收应用用户的消息和参数,然后通过规则发送消息,用户通过接收接口得到发送结果:
发送消息到手机端。
发送消息到pc端。
发送邮件。
发送短信。
2.手机、pc接收模块。
手机接收消息中心发送的消息。
Pc接收消息中心发送的消息。
3.管理模块。
1)用户和管理员注册、登陆。
2)实现用户申请消息发送方式申请、查看消息、修改密码、统计消息。
用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。
3)管理用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。
4)管理规则,可以增加、修改、删除查询规则。
5.3用例图
1.应用用户用例图
2.管理员用例图
3消息用户用例图
4.应用用户用例图
5.4流程图
1.发送消息流程图
6系统模块的结构与功能
系统包括消息接收送接模块、手机、pc接收消息模块、管理模块,共3个模块。
6.1消息接收发送模块
提供接口用于接收应用用户的消息,然后用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中。
●入口参数
父元素
元素
必须
类型
备注
applicationId
M
String
typeid
O
String
title
String,
content
O
String
userId
String
sendTime
String
timeZone
String
2.接收接口
接口定义:
publicIntegergetMessageResult(StringapplicationId,Stringtypeid,Stringtitle,Stringcontent,StringuserId)throwsException;
●描述:
通过调用此接口可得到发送消息的结果,如果发送失败,用户则调用发送接口重发。
接口在com.isoftstone.message.MessageBiz中。
●入口参数
父元素
元素
必须
类型
备注
applicationId
M
String
typeid
O
String
title
String,
userId
String
sendTime
String
timeZone
String
接口返回:
返回码
含义
备注
0
成功
1
失败
2
数据重复提交
3
服务器异常
4
没有发送权限
5
网络异常
时序图
基本场景
以下场景触发模块:
用户调用接口发送消息。
时序图及描述
流程描述:
1.用户使用接口发送消息及参数。
2.接口对消息参数进行分析,判断是否可以发送。
3.接口根据参数分别异步发送邮件、短信、手机、pc消息,并得到发送结果,反馈给接口调用者。
4.发送消息后保存消息到数据库。
异常描述
IO异常:
数据插入失败,写入日志。
数据库操作异常:
数据插入失败,写入日志
网络连接超时异常:
网络异常,发送失败,写入日志并反馈给用户。
6.2手机、pc接收模块
6.2.1手机接收消息中心发送的消息
手机用mqtt接收消息。
6.2.2Pc接收消息中心发送的消息。
Pc用winsocket接收消息。
6.3管理模块。
6.3.1用户和管理员注册、登陆。
用户和管理员注册、登陆。
应用用户注册后记住自己的id,以后发送消息时会用到。
6.3.2用户操作功能。
实现用户申请消息发送方式申请、查看消息、修改密码、统计消息。
用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。
6.3.3管理功能。
管理规则、用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。
规则以xml格式生成。
6.3.4注册、登陆界面
完成应用用户和注册、登陆。
6.3.5用户申请界面
实现用户申请消息发送方式申请。
用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。
1.应用用户消息管理
2.应用用户消息管理
3.应用用户密码管理
4.发送管理
5.应用用户消息统计
6.3.6管理界面
管理员实现对应用用户的管理、对应用用户申请的管理和对消息的管理,及管理员注册、登陆。
1.应用用户管理
2.应用用户消息审批管理
2.消息管理
4..管理员密码管理
5.消息统计
5.规则管理
6.规则编辑
7开发环境的配置
类别
标准配置
最低配置
计算机硬件
Pcwindos
软件
eclipse
网络通信
Tcp/ip
其它
8运行环境的配置
类别
标准配置
最低配置
计算机硬件
服务器
软件
Linux
网络通信
Tcp/ip
其它
9测试环境的配置
同开发环境。
10其它
10.1数据库设计
10.1.1邮件消息表t_email_message
⏹主要用途:
保存发送的邮件
⏹数据增长
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 消息 中心 构架 设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)