消息中心构架设计说明书(2)

  • 格式:doc
  • 大小:850.00 KB
  • 文档页数:37

下载文档原格式

  / 37
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

消息中心构架设计说明书

版本:1.0

变更记录

目录

1 1. 文档介绍 (4)

1.1文档目的 (4)

1.2文档范围 (4)

1.3读者对象 (4)

1.4参考文献 (4)

1.5术语与缩写解释 (4)

2系统概述 (5)

3设计约束 (6)

4设计策略 (7)

5系统总体结构 (8)

6子系统N的结构与功能 (15)

7开发环境的配置 (27)

8运行环境的配置 (28)

9测试环境的配置 (29)

10其它 (30)

1 1. 文档介绍

1.1 文档目的

消息中心接收别的系统发送的消息,再基于一定的规则以邮件、短信、消息等方式推送消息到pc端和手机端,比如对于attendance迟到、早退、tour超时提醒等需要及时推送相应的信息给相关人员,中心对规则、用户、消息进行管理。为此,根据“先进实用、稳定可靠”的原则设计本消息中心。

1.2 文档范围

消息的接收、发送、保存,对应用用户的管理。

1.3 读者对象

开发人员

1.4 参考文献

1.5 术语与缩写解释

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。

采用mqtt QoS level 2协议,保证自动重发发送不成功的消息,而且可以保证消息的顺序到达,可以设置超时时间,防止断网。Mqtt不建立长连接,省电、省流量。还可以用mosquitto实现集群发送,集群可以线性扩展。

应用系统用户在注册、登陆后申请发送消息的类别,有邮件、短信、手机消息、pc消息4种,注册后要记住自己的id,然后通过接口发送消息;管理员审批用户的申请,管理消息;消息中心发送消息或邮件、短信到相应的pc端或手机端用户。系统的管理功能包括对规则、用户、消息进行管理。

中心的时区设当地的时区,系统用ntpdate命令让系统使用NTP(Network Time Protocol 网络时间协议)协议来从网络同步时间的命令,这样即使有夏令时的变化,系统也会自动更新。中心使用时间时需要得到系统的时区。

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单元定义