前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >消息通知子系统用户需求

消息通知子系统用户需求

作者头像
程序你好
发布2018-07-20 14:48:27
2.4K0
发布2018-07-20 14:48:27
举报
文章被收录于专栏:程序你好程序你好

消息通知子系统

用户需求

1 引言

1.1 编写目的

1.2 项目概述

2 综合描述

2.1 目标范围

2.2 用户特性

2.3 约定假设

2.4 技术选型原则

3 需求说明

3.1 功能概要

3.1.1 通知消息合并

3.1.2 消息分发

3.1.3 用户消息处理

3.1.4 消息通知类型配置

3.1.5 消息模板

3.1.6 前端消息通知显示控件

3.1.7 Restful API

3.2 性能需求

3.3 环境需求

本文档的预期读者为项目组成员及相关人员。

消息通知系统是通知信息的传达处理系统。目的是为了让用户获得需要得到的通知消息(包括:系统希望用户了解的信息及用户彼此互动触发的信息流)及提醒并进行处理。消息通知系统是企业信息化系统中信息传播机制的重要的部分,根据具体业务需要可以动态的把用户操作和相关的业务系统融合,极大提升用户操作体验。

概述

本系统用户主要分为两大类用户:普通用户、管理员。

普通用户通过使用消息子系统,获得需要得到的消息及提醒并及时进行业务处理。

用户使用的一般是Internet Explorer8.0以上版本的浏览器,或者FireFox 2.0以上的浏览器。浏览器的安全等级为默认等级,支持第一方cookie及第三方有隐私声明的cookie,支持JavaScript 1.1以上标准的前端脚本。

采用成熟可控的技术,着重考虑现有可复用的经验,进行快速迭代开发。

消息通知系统,顾名思义即通知信息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。消息通知按发送接收对象不同分成为三类,系统提醒、系统通告、个人私信。

系统提醒:主要用于由外界直接或间接更新用户相关的信息,对用户产生了影响,在用户不知道的情况下,需要系统主动提醒用户。

1) 统计性提醒:相关内容的个数变化,统计相关内容个数,包括登录统计和实时统计。

2) 弹出窗口提醒:服务器推送数据到客户端弹出信息窗口提示用户发生变化的内容,通过点击操作跳转到相应的页面显示结果。这类提醒一般附带操作按钮,点击按钮会触发相应的操作,这种情况一般使用实时提醒。

系统公告:有系统平台发送到用户的信息,可向单个用户发送,多个用户发送,或者某一个特定用户类型发送,还有向全部用户发送。公告具有不同的优先级别。(平台发布公告、平台撤销公告、平台删除公告、平台查询公告、用户查看公告、用户查询公告)

用户消息(私信):用户之间互相发送消息,可以针对一个消息进行回复。分为实时消息和非实时消息。可用户向用户发送,用户向群体发送,群体向个人用户发送,群体向群体发送,个人向多个用户发送。(用户查看消息、用户回复消息、用户标记消息已读、用户查询消息)

通知在推送之前需要进行汇总合并,目的在于提高消息传播处理效率,减少骚扰,降低噪音,平衡服务器压力。

1. 合并周期:

固定时间内的消息全部汇总(24小时内/30天等);

无固定时间(只要未处理/未读即汇总)

当然一般都组合着用:合并24小时内未处理消息

2. 分类合并

同种类进行合并(如n条提醒合并为1条)

同一发起人合并(如其它用户给你发来的n条私信)

同一时间周期合并(如24小时共收到n条系统提醒)

3.

通知按照规则汇总完成后,系统将其通过通知管道推送到用户,以便用户处理。

1. 分发方式

  分发方式多采用pull拉取方式,部分特定类型的信息,需要在指定时间内主动推送(Push)给用户。。

通知优先推送未处理通知合并后的总数,已提醒用户已有新消息需要处理。用户点击数字后再去服务端请求具体的消息内容。此种方式综合考虑了成本、压力和体验。当然,某些极端情况下需要进行优化处理:如未读消息超过1000,用户请求时先推送前50条或者放入cache中等。

2. 分发频率(时间)

分发时间主要根据消息的优先级来做区隔:

优先级

分发时间

备注

实时推送

需要用户立刻处理或知晓

小时/天/周

不需要用户立刻处理,汇总后发出

固定周期

提醒类或触发条件后触发

  3)分发管道

  分发管道即消息通知的具体推送渠道,根据业务类型可以分为:Web、短信、邮件等。

对于通知的处理在逻辑上可以分为两层:通知状态的处理和通知内容的处理。

4. 状态是否已读(已处理)。通常初始数字即为系统推送过来的未读总量,用户点击数字进入相关功能列表查阅后,读取的动作完成,未读数字相应减少,注意并发访问导致数量变化的问题。根据消息提醒信息的重要程度,可以设置为“点击已读”只要点击无论是否打开消息查看均认为是已读。对于某些重要级别的消息需要设置为“处理已读”,“处理已读”是用户必须进行相关操作后消息的状态更新成“已处理”状态。

5. 用户操作:根据不同消息种类和业务需要,操作可分为:

处理:用户必须点击功能连接进行处理。如:提示业务数据审核不通过,点击进行修改等。

回复:如回复私信。

确认:对消息做出确认的反馈。

忽略:用户进行忽略操作或不进行任何操作。

删除:用户删除本消息。

6. 消息处理后状态需要统一:具有多个客户端的情况下消息需要标记是否处理的状态,且状态在不同的终端是打通的。新消息到达时提醒交互功能

新消息到达时系统可提供多种方式提醒用户。

3. 标题闪动:通过浏览器标题闪动的方式提醒用户有新信息到达。

4. 声音提醒:消息到达后声音提醒用户。

5. 气泡加数字提醒:

参考Facebook网站功能。

6. 新消息悬浮层:

参考新浪微博相关功能。

7. 信息弹窗:

类似qq信息提示,多用于实时消息提示。

设计模板机制,业务系统可定制模板,使用模板发送消息。定义变量关键字,比如“当前用户名”,可使用登录的用户信息替换模板中的数据。

服务模块

消息子系统需提供Restful API以便客户端脚本控件和业务系统应用使用。

1. 获取未读消息Api

2. 统一更新读取状态

3. 发送公告、消息、提醒。

考虑大并发的情况,信息发送使用异步调用的方式,系统响应时间应该在2秒以内。

以上版本。

运行WEB服务器:Tomcat。

Java7

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序你好 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • 服务模块
    相关产品与服务
    短信
    腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档