版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、消息中心构架设计说明书版本:1.0变更记录序号版本变更说明修改人/日期审批人/日期11.0创建李力鸿目录1 1.文档介绍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 术语与缩写解释缩写、术语解释QoSlevelQualityofServicelevelSD系统设计,SystemDesign2系统概述系统主要完成消息的接收、发送和保存,再基于一定的规则以邮件、短信、消息等方式推送消息到pc端或手机,以及对用户、规则、消息进行管理。系统接收来自别的系统应用用户的消息,然后基于一定的规则把消息进行推送。3设计约束1 .系统必须遵循国家软件开发的标准。2 .系统用ja
3、va开发,服务器中间件为tomcat。3 .系统必须稳定可靠,性能高,满足每天40-500万次的推送量。4 .保证消息的成功送达,如果不成功就重发。4设计策略1 .系统高可用、高性能、易扩展,安全稳定,实用可靠,满足用户的需要。2 .系统可以进行扩展,增加推送的消息种类,增加消息推送的规则。3 .系统可以复用于别的系统的消息推送。5系统总体结构5.1系统架构设计1.逻辑架构系统采用接口用rocketMQ实现应用用户的消息接收,用drools依据一定的规则进行消息转发,发送邮件、短信、消息到pc端和手机端,消息发送后用rocketMQ发送结果消息给应用用户。用户管理发送规则,对不同的消息、发送的
4、方式、发送的时间、接收者进行设置,以后消息中心按照这些规则发送消息。规则处理采用drools完成。系统采用MQT用艮务器mosquito实现消息对手机端的推送,采用winsocket发送消息给pc端。MQTffi过发布/订阅方式发送消息给手机,方式为发布/订阅,为了实现点对点发送,需要在发送的消息里加上手机端的imei和用户名,同时在手机端进行判断,如果imei和用户名符合则接收此消息。采用winsocket实现推送消息到pc端,为实现点对点的推送,可以在消息中加上要发送的pc端的用户名,pc端对消息的用户名进行判断,如果和自己的一样则接收消息。对于群发,大家都可以收到。应用用户通过接口发送消
5、息给消息中心,消息采用json格式,包含应用用户id、发送消息方式id、Title、content、usrld,sendTime。采用mqttQoSlevel2协议,保证自动重发发送不成功的消息,而且可以保证消息的顺序到达,可以设置超时时间,防止断网。Mqtt不建立长连接,省电、省流量。还可以用mosquitto实现集群发送,集群可以线性扩展。应用系统用户在注册、登陆后申请发送消息的类别,有邮件、短信、手机消息、pc消息4种,注册后要记住自己的id,然后通过接口发送消息;管理员审批用户的申请,管理消息;消息中心发送消息或邮件、短信到相应的pc端或手机端用户。系统的管理功能包括对规则、用户、消息
6、进行管理。中心的时区设当地的时区,系统用ntpdate命令让系统使用NTP(NetworkTimeProtocol网络时间协议)协议来从网络同步时间的命令,这样即使有夏令时的变化,系统也会自动更新。中心使用时间时需要得到系统的时区。2.网络架构5.2 系统包含模块1 .消息接收发送模块。1)提供发送接口用于接收应用用户的消息和参数,然后通过规则发送消息,用户通过接收接口得到发送结果:发送消息到手机端。发送消息到pc端。发送邮件。发送短信。2 .手机、pc接收模块。手机接收消息中心发送的消息。Pc接收消息中心发送的消息。3 .管理模块。1)用户和管理员注册、登陆。2)实现用户申请消息发送方式申请
7、、查看消息、修改密码、统计消息。用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。3)管理用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。4)管理规则,可以增加、修改、删除查询规则。5.3 用例图2.管理员用例图3消息用户用例图4.应用用户用例图5.4流程图1.发送消息流程图6系统模块的结构与功能系统包括消息接收送接模块、手机、pc接收消息模块、管理模块,共3个模块。6.1 消息接收发送模块提供接口用于接收应用用户的消息,然后用drools通过规则异步发送消息,用户调用接收接口得到发送结果:发送消息到手机端。发送消息到pc端。发送邮件。发送短信。系统采用rocketm
8、q接收消息和返回消息发送结果给用户,系统给pc、手机采用Async异步发送邮件等消息,并得到发送结果,把结果返回给调用者,消息及发送的情况入库,入库时需要检查消息是否已经存在。用户采用异步调用本接口,得到发送结果,如果不成功,用户可以重发。因为中心的时区与各用户的时区不同,用户需要发送自己的时区,系统返回发送时间时要根据时区转换时间。当手机离线没有收到消息,则在定时器中重发;对于需要定时发送的消息,通过定时器完成发送。定时器20分钟执行一次,对这2种情况通过规则发送消息。系统确定时间时要根据时区进行转换,按照用户的时区时间来发送消息。6.1.1 单元定义单元名称单元功能描述备注com.isof
9、tstone.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.isof
10、tstone.message.MobileMessage发送手机消息6.1.2接口描述1.发送接口接口定义:publicvoidsendMessage(StringapplicationId,Stringtypeid,Stringtitle,Stringcontent,StringuserId)throwsException;描述:通过调用此接口可发送消息及参数,接口在com.isoftstone.message.MessageBiz中。入口参数父TOftTOft须必类型备注applicationId-StringM丫typeidOStringtitleString,contentOStrin
11、guserIdStringsendTimeStringtimeZoneString2.接收接口接口定义:publicIntegergetMessageResult(StringapplicationId,Stringtypeid,Stringtitle,Stringcontent,StringuserId)throwsException;描述:通过调用此接口可得到发送消息的结果,如果发送失败,用户则调用发送接口重发。接口在com.isoftstone.message.MessageBiz中。入口参数父TOftTOft须必类型备注applicationldMStringtypeidOString
12、titleString,userIdStringsendTimeStringtimeZoneString接口返回:返回码含义备注0成功1失败2数据重复提交3服务器异常4没有发送权限5网络异常时序图何一一色”匚工£KMba.电,二区小j'j'Vnri.I:'MU,:;II'!基本场景以下场景触发模块:用户调用接口发送消息。时序图及描述流程描述:1 .用户使用接口发送消息及参数。2 .接口对消息参数进行分析,判断是否可以发送。3 .接口根据参数分别异步发送邮件、短信、手机、pc消息,并得到发送结果,反馈给接口调用者。4 .发送消息后保存消息到数据库。异常描
13、述IO异常:数据插入失败,写入日志。数据库操作异常:数据插入失败,写入日志网络连接超时异常:网络异常,发送失败,写入日志并反馈给用户。6.2 手机、pc接收模块6.2.1 手机接收消息中心发送的消息手机用mqtt接收消息。6.2.2 Pc接收消息中心发送的消息。Pc用winsocket接收消息。6.3 管理模块。6.3.1 用户和管理员注册、登陆。用户和管理员注册、登陆。应用用户注册后记住自己的id,以后发送消息时会用到。6.3.2 用户操作功能。实现用户申请消息发送方式申请、查看消息、修改密码、统计消息。用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。6.3.3 管理功能。管理规
14、则、用户、审批用户发送方式、管理员密码修改、查看和统计发送过的消息。规则以xml格式生成。6.3.4 注册、登陆界面完成应用用户和注册、登陆。仲管理员0应用用户注照用户至二电话:enail:备注:F密科:蜡证密科二注册放奔6.3.5 用户申请界面实现用户申请消息发送方式申请。用户可以申请邮件、短信、手机消息、pc消息4种方式发送消息。1 .应用用户消息管理'应用用户消息管理由消息管理丫密码管理应用用户消息管理n邮件B矩信手机消息npc消息保存放弃2 .应用用户消息管理应用用户酒显管理消息管理潼码塔理1消息管理应用用户名掰:口:用户1序言消息id消息类型消息标题消息内容接收入发送日期S1
15、11122手机消息超时清尽快完成行秀5145U5152015-4-5是2111123部件加班通知周末加班6SS20134-5是第1页洪1页,3 .应用用户密码管理应用用户消息置理肖息管叫密码管理Ir密封宣理4.发送管理旧畲码:新密码:蛉证新密码;£所展3ID«Cttt叵q6gQ,辐帆盾理口那目即D应用阴修理口聊潮口卿府口拼k胴户苕良醴.施W1|任匹百追I发生意迎"邮昕馥"的飒用户褊瘫当皂二且-:|pEJtl7爰僵力挤530朝母法*三时五氐开精园日向于而c擅股府户翻t口施用户k本籍强员匚本E和二沫申讨运际布而5.应用用户消息统计悒用用户消身管理清思管理密码
16、宜建I丽消息管理应用用户自掰:XX用户1序号消息id消息类型消息标题消息内答接收入发送日期是否成功111122手机消息超时请尽快弃成任转5145U51520154-5是2111123部件加更通知周末加班656126com20134-6是第1页洪1页电6.3.6管理界面管理员实现对应用用户的管理、对应用用户申请的管理和对消息的管理,及管理员注册、登陆。1 .应用用户管理应用兄户苣理闻用力消息管理消息管理1r空码管理应用用户篦理期芝加刷新序罟应用用户名标日朝上传人甫比处理1XX用育201345孚日均总不回息删除2XX用户220134-5郭清1同身不1可息删除,第1页.共1页,/超2 .应用用户消息
17、审批管理应而用户*理同用用户消息管理ISsm1r引得/理一薪一应用用户消息省理应用用户茗称二由语日期:IB司|臼查暨重蛊嚼而库一国色鲍|J幅新序号应问用广电称日期上传人消息方式亩假1Xx用力1如245李白部年同意不同意2用户1如必-薛怡,同总不同意3湍用引20134s孚日手机消息。同苴不同意HkHtJ.rfuI号-bi2.消息管理1r应用用户宜迎他用用户消息管城僮愿管理1r密码管理j消息首展利新序4应用用户名赭消息泣消息类型消恿标题消息内容接收入也送口期处理1XX用户111122手机出息端育尺快餐成住男514514515?0154-6tlrtFf2XK用户1111123越佳加班也知闵洋埴打GE
18、6125com取1345删除IW4第1负共1负*i34.管理员密码管理密码管理统计,应用用户管理但用用户消息管理消息管理垄码管理旧登码:I-新密码;一放盲I叁证领率内:一5.消息统计'施用隹广管理”应用用户消息置理伯息管理|窗鹤曾理|丽,虢外应用用户名称X左送日期;圜早Ig亘询I里置制将序号应用同尸名称应用用户id手机消息印箱息邮件短信发送日期战功思翕成S不功效成功率1XX用户11122221(2>22<3)33(4)333(E)20164522399%2.«1页甚1页,,W5.规则管理WtWifip-F井1*K回/*WQ节日渺於£三周好PI里Huim印
19、nwi潮ri:rffJOiffa育条查的£36.规则编辑iS:U内有剧学期£ftff;明埔自|匕世力典+加且|x“Q1*自礼宣典飘魂曲D矩冏户醯匚颗醺口刎手口比7开发环境的配置类别标准配置最低配置计算机硬件Pcwindos软件eclipse网络通信Tcp/ip其它8运行环境的配置类别标准配置最低配置计算机硬件服务器软件Linux网络通信Tcp/ip其它9测试环境的配置同开发环境10其它10.1数据库设计t_message_subscribe_typeidbigint<pk>namevarchar(50reamarkvarchar(100)deletedtinyi
20、ntt_application_useridbigint<pk>namevarchar(50)emailvarchar(128)telephonevarchar(32)remarkvarchar(100)passWordvarchar(50)registerTimedatetimedeletedtinyintt_adminidbigint<pk>namevarchar(50)emailvarchar(128)telephonevarchar(32)remarkvarchar(100)passWordvarchar(50)registerTimedatetimedelet
21、edtinyintt_ruleidbigint<pk>namevarchar(100)contentvarchar(1000)createTimedatetimeupdateTimedatetimeremarkdatetimedeletedintidbigint<pk>titlevarchar(80)contentvarchar(500)sendTimedatetimestatustinyintremarkvarchar(100)receiveUserIdvarchar(50)applicationTypeIdbigintdeletedtinyintt_mobile_m
22、essaget_application_message_typet_email_messageidbigint<pk>applicationIdbiginttypeIdbigintnamevarchar(50)remarkvarchar(100)agreeintdeletedintapplyTimedatetimeidbigint<pk>titlevarchar(80)contentvarchar(500)sendTimedatetimedsttinyintstatustinyintremarkvarchar(100)receiveUserIdvarchar(50)ap
23、plicationTypeIdbigint.不t_userc_timeZoneidbigint<pk>countryvarchar(80)timeZonevarchar(100)keyvarchar(100)createTimedatetimeupdateTimedatetimeremarkdatetimedeletedtinyintidbigint<pk>countryvarchar(80)timeZonevarchar(100)keyvarchar(100)createTimedatetimeupdateTimedatetimeremarkdatetimedelet
24、edtinyintt_timeZonet_short_messageidbigint<pk>titlevarchar(80)contentvarchar(500)sendTimedatetimestatustinyintremarkvarchar(100)receiveUserIdvarchar(50)applicationTypeIdbigintdeletedtinyintt_pc.messageJdbigint<pk>titlevarchar(80)contentvarchar(500)sendTimedatetimestatustinyintremarkvarch
25、ar(100)receiveUserIdvarchar(50)applicationTypeIdbigintdeletedtinyint10.1.1 邮件消息表t_email_message主要用途:保存发送的邮件数据增长频率:个数据保存周期:由用户调用操作FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM标题titlevarchar(80)M内容contentvarchar(500)M发送时间sendTimedatetimeM接收时间ReceiveTimedatetime发送状态sta
26、tustinyintM接收用户idreceiveUserIdvarchar(50)应用用户idapplicationTypeIdbigint是否删除deletedtinyint10.1.2 手机消息表t_mobile_message主要用途:保存发送的手机消息数据增长频率:个数据保存周期:由用户调用操作FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM标题titlevarchar(80)M内容contentvarchar(500)M发送时间sendTimedatetimeM接收时间Rec
27、eiveTimedatetime发送状态statustinyintM接收用户idreceiveUserIdvarchar(50)应用用户idapplicationTypeIdbigint是否删除deletedtinyint10.1.3 短信消息表t_short_message主要用途:保存发送的短信消息。数据增长频率:个数据保存周期:由用户调用操作FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM标题titlevarchar(80)M内容contentvarchar(500)M发送时间s
28、endTimedatetimeM发送状态statustinyintM接收时间ReceiveTimedatetime接收用户idreceiveUserIdvarchar(50)应用用户idapplicationTypeIdbigint是否删除deletedtinyint10.1.4 管理员表t_admin主要用途:保存管理员信息。数据增长频率:个数据保存周期:由用户注册、修改决定。FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM姓名namevarchar(30)Memailemailva
29、rchar(128)M电话telephonevarchar(M32)密码passWordvarchar(50)M注册时间registerTimedatetime是否删除deletedtinyint10.1.5 发送消息用户表t_application_user主要用途:保存发送消息用户信息。数据增长频率:个数据保存周期:由用户注册、修改决定。FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintpkM姓名namevarchar(30)Memailemailvarchar(128)M电话teleph
30、onevarchar(32)M密码passWordvarchar(50)M注册时间registerTimedatetime是否删除deletedtinyint10.1.6 消息订阅类别表t_message_subscribe_type主要用途:保存用户消息订阅方式信息。数据增长频率:个数据保存周期:由管理员操作决定。FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintPkM方式namevarchar(30)M邮件备注reamarkvarchar(128)M是否删除deletedtinyint10
31、.1.7 国家时区表t_timeZone主要用途:提供各个国家时区,为管理员指定中心的时区服务。数据增长频率:个数据保存周期:由管理员修改决定FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULTVALUEDESCRIPTIONididbigintPkM国家countryvarchar(80)M时区timeZonevarchar(100)MkeykeydatetimeM用于国际化id产生时间createTimedatetime备注remarkbigint是否删除deletedtinyint10.1.8 使用时区表t_userd_timeZone主要用途:保存消息中心的时区,时区可以由系统自动获取,也可以由管理员指定。数据增长频率:个数据保存周期:由管理员修改决定FIELDNAMEFIELDCODEFIELDYPEFIELDLENGTHKEYO/MDEFAULT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论