消息中心构架设计说明书2Word格式文档下载.docx

上传人:b****6 文档编号:20451510 上传时间:2023-01-23 格式:DOCX 页数:31 大小:531.57KB
下载 相关 举报
消息中心构架设计说明书2Word格式文档下载.docx_第1页
第1页 / 共31页
消息中心构架设计说明书2Word格式文档下载.docx_第2页
第2页 / 共31页
消息中心构架设计说明书2Word格式文档下载.docx_第3页
第3页 / 共31页
消息中心构架设计说明书2Word格式文档下载.docx_第4页
第4页 / 共31页
消息中心构架设计说明书2Word格式文档下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

消息中心构架设计说明书2Word格式文档下载.docx

《消息中心构架设计说明书2Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《消息中心构架设计说明书2Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。

消息中心构架设计说明书2Word格式文档下载.docx

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通过规则异步发送消息,用户调用接收接口得到发送结果:

系统采用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

userId

sendTime

timeZone

2.接收接口

publicIntegergetMessageResult(StringapplicationId,Stringtypeid,Stringtitle,Stringcontent,StringuserId)throwsException;

通过调用此接口可得到发送消息的结果,如果发送失败,用户则调用发送接口重发。

接口在com.isoftstone.message.MessageBiz中。

接口返回:

返回码

含义

成功

失败

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用户操作功能。

实现用户申请消息发送方式申请、查看消息、修改密码、统计消息。

6.3.3管理功能。

管理规则、用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。

规则以xml格式生成。

6.3.4注册、登陆界面

完成应用用户和注册、登陆。

6.3.5用户申请界面

实现用户申请消息发送方式申请。

1.应用用户消息管理

2.应用用户消息管理

3.应用用户密码管理

4.发送管理

5.应用用户消息统计

6.3.6管理界面

管理员实现对应用用户的管理、对应用用户申请的管理和对消息的管理,及管理员注册、登陆。

1.应用用户管理

2.应用用户消息审批管理

2.消息管理

4..管理员密码管理

5.消息统计

5.规则管理

6.规则编辑

7开发环境的配置

类别

标准配置

最低配置

计算机硬件

Pcwindos

软件

eclipse

网络通信

Tcp/ip

其它

8运行环境的配置

服务器

Linux

9测试环境的配置

同开发环境。

10其它

10.1数据库设计

10.1.1邮件消息表t_email_message

⏹主要用途:

保存发送的邮件

⏹数据增长频率:

⏹数据保存周期:

由用户调用操作

FIELDNAME

FIELDCODE

FIELDYPE

FIELDLENGTH

KEY

O/M

DEFAULTVALUE

DESCRIPTION

id

bigint

pk

标题

title

varchar(80)

内容

content

varchar(500)

发送时间

sendTime

datetime

接收时间

ReceiveTime

发送状态

status

tinyint

接收用户id

receiveUserId

varchar(50)

应用用户id

applicationTypeId

是否删除

deleted

10.1.2手机消息表t_mobile_message

保存发送的手机消息

10.1.3短信消息表t_short_message

保存发送的短信消息。

10.1.4管理员表t_admin

保存管理员信息。

由用户注册、修改决定。

姓名

name

varchar(30)

email

varchar(128)

电话

telephone

varchar(32)

密码

passWord

varchar(50)

注册时间

registerTime

10.1.5发送消息用户表t_application_user

保存发送消息用户信息。

10.1.6消息订阅类别表t_message_subscribe_type

保存用户消息订阅方式信息。

由管理员操作决定。

方式

邮件

reamark

10.1.7国家时区表t_timeZone

提供各个国家时区,为管理员指定中心的时区服务。

由管理员修改决定

国家

country

时区

timeZone

varchar(100)

key

用于国际化id

产生时间

createTime

remark

10.1.8使用时区表t_userd_timeZone

保存消息中心的时区,时区可以由系统自动获取,也可以由管理员指定。

10.1.9用户消息类型注册表t_application_user

用户id

applicationId

消息类别id

typeId

类别名称

varchar(50)

remark

varchar(100)

申请时间

applyTime

是否同意

agree

10.1.10pc消息表t_pc_message

保存发送pc的消息

10.1.11消息推送规则t_rule

保存发送规则

规则标题

规则内容

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

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

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