学习
实践
活动
专区
工具
TVP
写文章

消息通知系统设计文档

一、功能概述 1.不同的系统消息,管理后台、小程序(B/C)、微信公众号、短信、邮件等 2.不同业务的消息,充值、提现到账、系统更新、公告等 3.消息明细,标题、简述、详情、已读未读状态 4.有效时间 ,比如网站公告、banner、活动 那么如果每次都从数据库拿,势必会对数据库造成很多流量,再加上这类数据一般修改不频繁,所以放在最外层的服务缓存 当有修改时,MQ通知出去 [系统类公告信息业务时序图] 三、数据库设计 3.1 私有消息通知模板表(msg_notify_private_template) 消息通知模板主要是方便在发送通知时可以灵活使用模版,模版主要包括: 【腾讯】您充值的 ${amount '; 3.2 私有消息通知信息记录表(msg_notify_private_record) 私有信息通知基本都是文本信息,明确下有没有可能有其他类型的信息??? '; 3.3 公有消息通知信息记录表(msg_notify_public_record) 公有信息包括文本、图片、语音消息,公有信息一般都是由后台管理员发送出去,主要包括网站公告、banner、活动、

3.1K42

消息通知系统用户需求

消息通知系统 用户需求 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 性能需求 消息通知系统通知信息的传达处理系统。目的是为了让用户获得需要得到的通知消息(包括:系统希望用户了解的信息及用户彼此互动触发的信息流)及提醒并进行处理。 消息通知系统是企业信息化系统中信息传播机制的重要的部分,根据具体业务需要可以动态的把用户操作和相关的业务系统融合,极大提升用户操作体验。 ? 概述 本系统用户主要分为两大类用户:普通用户、管理员。 消息通知系统,顾名思义即通知信息的传达处理系统。目的是为了让用户获得需要得到的消息及提醒并进行处理。消息通知按发送接收对象不同分成为三类,系统提醒、系统通告、个人私信。

1.3K40
  • 广告
    关闭

    有奖征文丨玩转 Cloud Studio

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis消息通知系统的实现

    最近忙着用Redis实现一个消息通知系统,今天大概总结了一下技术细节,其中演示代码如果没有特殊说明,使用的都是PhpRedis扩展来实现的。 当然也可以使用LIST来实现,但LIST只能按照插入的先后顺序实现类似FIFO或LIFO形式的队列,然而消息实际上是有优先级的:比如说个人消息优先级高,全局消息优先级低。 实际上消息通知系统和微博差不多,也存在推拉选择的问题,同样答案也是类似的,那就是应该推拉结合。 具体点说:在登陆用户获取消息的时候,就是一个拉消息的过程;在把消息发送给登陆用户的时候,就是一个推消息的过程。 速度 假设要推送一百万条消息的话,那么最直白的实现就是不断的插入,代码如下: <? … 最近Tumblr发表了一篇类似的文章:Staircar: Redis-powered notifications,介绍了他们使用Redis实现消息通知系统的一些情况,有兴趣的不妨一起看看。

    65930

    Laravel消息通知系统之数据库

    Laravel 自带了一套极具扩展性的消息通知系统,尤其还支持多种通知频道,我们将利用此套系统来向用户发送消息提醒。 通知频道指通知的各种途径,Laravel自带的有如下几种 数据库 邮件 短信(通过 Nexmo) Slack 通过数据库实现消息通知 1.准备数据表 php artisan notifications :table 该命令会生成消息通知表的迁移文件 database/migrations/{$timestamp}_create_notifications_table.php 使用命令执行迁移文件 php artisan migrate 2.生成通知类 laravel中每一种通知属于一个类,使用如下命令创建通知类,通知类存放在app/Notifications php artisan make: 这样当评论被写入数据库时,会触发消息通知并写入数据库。

    32020

    java企业通知小程序微信消息推送小程序企业消息通知系统网站源码

    简介本系统主要是利用小程序和springboot开发的企业分组消息推送,主要是员工关注小程序,由分组领导创建消息主体并设置消息提醒时间,利用微信的消息模板对选定的员工进行消息提醒推送。 那么,小程序会在这些时间点给技术部员工推送这些提醒消息哦。员工可以查看自己需要参加的会议或者活动等,员工可以确认参加或者拒绝参加,拒绝需要输入原因。 查看具体参与人员拒绝人员的以及提醒设置等详细信息,确认参与,拒绝参加并且输入输入拒绝的原因;通讯录:查看各个部门的员联系方式,查看员基本信息资料个人中心:查看个人资本资料,编辑基本资料,修改账号和密码,退出登录该员微信接收消息通知推送发布者 :1、发布主体内容(比如会议或者活动的内容标题日期开始时间结束时间等);2、选择需要参与的员工;3、设置消息推送的时间和内容对自己发布的消息进行管理:没发布之前可以编辑,删除;发布之后只能取消该主题。 取消会对员工进行消息推送告诉他取消了该活动(没有发布员工是看不到该消息的,点击发布之后员工的主页才可以看到该消息)部分截图:图片图片图片

    26110

    Notification消息通知 自定义消息通知内容布局

    具体操作:自定义消息通知内容布局;点击界面中心的“点击发送消息”TextView控件,模拟发送通知消息通知栏接收消息,点击几次则发送几次,点击通知消息,跳转到详情界面。 点击通知栏跳转的activity Intent intent = new Intent(context1, ActDetail.class); PendingIntent pendingIntent NotificationCompat.Builder(context1) .setSmallIcon(R.mipmap.ic_launcher_round).setTicker("new message"); // 自动管理通知消息 getSystemService(context1.NOTIFICATION_SERVICE); // notify(int id, Notification notification)若id为同一个值,则通知栏只会显示一行 ,并不停更新此消息内容 // 若为类似UUID.randomUUID().hashCode()这样不同的唯一标识符,则有几条消息通知栏就显示几行 mNotificationManager.notify(

    55731

    Django站内消息通知

    当然,不止在评论或回复时才发送消息通知。 记录target是为了知道评论哪篇博客;记录action_object是为了将评论和消息一一对应,才可根据评论对象找到对应的消息对象。 3、获取消息 上面的参数recipient是希望谁接到通知。 notifications是和Django的用户系统绑定。若settings设置了AUTH_USER_MODEL,也自动使用自定义的用户系统。 4、修改消息状态为已读 先看看上面for循环中构造的链接。该链接是消息具体指向位置。 由于我这里是评论或回复的通知消息,所以消息最终要指向评论或回复的具体位置。 前面将评论和消息通过该对象一一对应关联,所以在发送邮件通知的时候,通过评论id获取对应的消息通知id。

    1.7K20

    消息通知(Notification)介绍

    用过安卓的应该对通知消息都很熟悉了,下面是演示通知消息的一个Demo,首先来看一下界面,后面是代码,解释就都放在代码里了. 发布通知的时间。你能使用setWhen()设置一个明确的值。 下面再具体的记录一下其他细节 我们可以为Notification指定它的图标,标题,时间,提醒方式,点击之后的动作。 ,我们还可以更新某些通知: manager.notify(id, new_notification); 3由于Notification的包装内容为Intent,我们就可以方便地为通知被点击的触发的事件传值 表示什么都不做,下次你传进来的Intent,如果被发现是同一个Intent,则所有通知都保持为同一个Intent,只是新来的Extra被保留了。 2、PendingIntent.FLAG_ONE_SHOT send()只能被执行一次,即是说,假如该通知点击后不消失,那么再次点击不会发生任何事。

    46430

    订单实时消息通知实现

    前段时间我们项目有个消息实时推送的需求,比如用户在我们软件下了一个订单,商家在我们软件上不用手动刷新页面就会收到客户下单的消息,就是我们后端主动给前端推送消息。我们就考虑用了实时通讯的技术。 这个项目是暴露出一个发送消息的接口,供我们商城后台调用发送消息。 实时推送的逻辑功能实现逻辑是前端连接上我们消息同步服务(可以理解为进入游戏大厅),然后订阅我们指定的 url 地址(可以理解为进入某个游戏房间),我们软件调用同步服务发送消息的接口对指定的订阅 url 地址发送消息,这样我们就可以主动给前端推送消息了。 我自己手写了一个简单的聊天室的例子 用浏览器打开两个相同的标签页,在一个标签页输入聊天内容,另外一个聊天页也能收到消息。 ? 也可以通过接口向聊天室发送消息。 ?

    72010

    异步消息通知—异步改造

    # 异步消息通知—异步改造 异步消息通知,解耦业务中需要发送消息的场景,非中间件框架方式使用方法 # 背景 消息通知是项目中遇到的常见场景,通常而言消息通知会涉及到数据库操作,且面临着通知用户多,消息处理需要时间的问题 假设一个接口本身的业务逻辑执行只需要50ms,而消息通知需要500ms,如果串行进行调用,就难免遇到接口长时间阻塞等待结果的情况。所以异步化操作解耦消息通知,在这种场景显得十分必要。 保存用户后异步发送通知,未使用消息队列 保存用户后异步发送通知,使用消息队列 package com.test.message.service; import com.test.message.domain.dto.UserDTO ,以至于接口长时间等待 那么我们如何将整个消息通知异步化呢? ,且满足事务提交后进行操作,但是这样的代码不具有复用性,如果需要发送消息的地方很多,那么就会重复写很多这样的方法,而且线程的创建与销毁也将很消耗系统资源。

    82220

    异步消息通知—异步改造

    # 异步消息通知—异步改造 异步消息通知,解耦业务中需要发送消息的场景,非中间件框架方式使用方法 # 背景 消息通知是项目中遇到的常见场景,通常而言消息通知会涉及到数据库操作,且面临着通知用户多,消息处理需要时间的问题 假设一个接口本身的业务逻辑执行只需要50ms,而消息通知需要500ms,如果串行进行调用,就难免遇到接口长时间阻塞等待结果的情况。所以异步化操作解耦消息通知,在这种场景显得十分必要。 保存用户后异步发送通知,未使用消息队列 保存用户后异步发送通知,使用消息队列 package com.test.message.service; import com.test.message.domain.dto.UserDTO 以至于接口长时间等待 那么我们如何将整个消息通知异步化呢? ,且满足事务提交后进行操作,但是这样的代码不具有复用性,如果需要发送消息的地方很多,那么就会重复写很多这样的方法,而且线程的创建与销毁也将很消耗系统资源。

    40230

    android的消息通知

    下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。 Notificaiton状态通知栏: 功能作用 1.显示接收到短消息、即使消息等信息 (如QQ、微信、新浪、短信)   2.显示客户端的推送消息(如有新版本发布,广告,推荐新闻等)  3.显示正在进行的事物 、消息内容、送达时间这3项内容。 通知的时间 Timestamp,默认为系统发出通知的时间,也可通过setWhen()来设置 相关分析 状态通知栏主要涉及到2个类:  Notification 和 NotificationManager LOW 低优先级可以通知用户但又不是很紧急的事件。 MIN 用于后台消息 (例如天气或者位置信息)。最低优先级通知将只在状态栏显示图标,只有用户下拉通知抽屉才能看到内容。 ?

    2.4K80

    消息通知形式更完善,兔小巢邮件通知上线!

    在6月份,兔小巢完善了用户侧消息通知,用户提交反馈、回复后,每次可以手动订阅微信消息提醒服务,不再错过管理员的每一次回复,让问题解决的效率得到了极大的提升。 ,这样的通知路径太割裂了~ 意识到了这个问题,兔小巢的开发同学们继续完善消息通知的类型,邮件通知应运而生! 至此,兔小巢的通知形式可以分为: 用户接收消息通知的场景: 反馈被管理员回复 评论被管理员回复 多重选择,找到最适合的通知形式用起来~邮件通知完整攻略奉上: 社区管理员配置 1.进入产品社区后台; 2.左侧菜单栏 - 消息推送通知 - 用户接收推送方式 - 设置; 3.电脑端环境/其他环境(APP/H5等) - 选择邮箱通知。 至此,消息通知的服务能力已经初步搭建完成,优质的社区内容还需要管理员和我们一起努力!

    43840

    微信小程序客服系统,订阅消息模板通知,客服系统使用一次性订阅消息给小程序用户回复通知

    小程序的订阅消息,分为一次性订阅消息和长期订阅消息,长期订阅消息只对政务民生、医疗、交通、金融、教育等线下公共服务开放,一般情况下我们用不了。 一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。 注意:授权一次,发送一条,多了发不了 下面是小程序中,点击在线咨询的时候,先让订阅一下通知,然后再加载客服系统的聊天链接 比如:wxml部分 <view class="listItem"> 这里面就是拼接我的客服系统聊天界面链接,重要的是visitor_id参数部分,按照我的要求是   mini|商户ID|openid ,这样我在客服系统那里,好拿到openid去发送订阅消息 //咨询店铺客服 url="+encodeURIComponent(url) }) }, //订阅回复通知 subReplyNotice(){ wx.requestSubscribeMessage

    10710

    Jenkins+钉钉消息通知

    基于jenkins构建的消息通知除了有邮件,还可以发送钉钉通知,那么是怎么使用的呢,我们来给大家小叙下。 安装钉钉插件, ? 插件安装完毕,我们看下,配置界面, 选择通知的时机, 配置下名称,webhook(创建钉钉机器人给的,下面讲),要配置配置安全策略,安全策略是之前钉钉安全优化后需要增加的。 钉钉收到消息。 ? 那么我们看看webhook怎么配置,以及安全策略。 点击钉钉群里右上角群设置, ? 选择智能助手 ? 选择添加机器人 ? 选择自定义 ? 里面配置 ? 在项目中还会遇到,钉钉通知的机器人通知后无法跳转,这是因为在jenkins无法跳转,报404,原因是因为系统配置的Jenkins Location有关。 最后看下效果,点击钉钉群的通知。 ? 可以看更改记录,控制台, ? 钉钉插件最近升级后,明显的使用体验提升不少。

    58510

    ESP8266 SDK开发: 外设篇-系统任务(消息队列,通知)

    (TaskPrio, 0, 0); } /* 系统有空余时间的时候会取出消息队列里面的消息 如果有消息则会调用其回调函数 */ void os_task_t_callback(os_event_t os_timer_one:定时器变量 1:1s进一次 1:循环 下载到开发板以后,打开串口调试助手 会看到程序每隔1S打印 os_task_t_callback 关于ESP8266的系统任务 ESP8266内部可以运行消息队列任务.总共可以创建3个消息队列任务 创建任务: 调用创建消息队列任务函数的时候设置好任务的回调函数, 任务的消息等级, 缓存队列消息的数组. 系统有空的时候就从消息队列里面取出数据,然后调用回调函数: 假设需要在适当的时候发送个通知关闭定时器 system_os_post可以写到任意地方,我下面只是演示,就放到了定时器里面 假设咱设置sig 为1;par为1的时候用来关闭定时器 在网络通信的时候,官方也是建议使用系统消息队列的形式关闭网络连接 使用任务代替定时器 定时器只能定时在5ms和100us的级别;而且经过测试,频繁的定时器会影响到网络信号的传输

    43120

    消息通知】用公众号模板消息怎么样?

    当然还有一些专门接收消息通知的开源项目,感兴趣的可以了解一下~ 现在我们的微信都关注了不知道多少个公众号了,所以我们不防就多关注一个公众号(测试)来接收通知(总比多安装一个App好些吧,钉钉和企微下班你愿意听到它的声音 模板消息接口对接 在测试公众号页面的体验接口权限表中找到模板消息(业务通知); 4.1了解接口的使用 获取template_id:这个参数在新建测试模板后在消息模板列表有显示对应模板ID; 接口地址:https } 通知发送的结果 4.2 编写Controller,配置路由 通过body接收客户端(定时任务)传递的平台来源和签到结果; 通过将信息传递到Service提供sendSignTemplate来发起消息通知 ,看到手机通知栏的消息了吗? 总结 通过借助上次编写的授权代码完成了测试公众号模板消息推送的功能,在后续遇到自己的定时任务做通知的时候完全可以直接调用,相比邮件通知,企微通知,钉钉通知等方式来说我们要不是节省了App的安装要不就是避免了公私混搭使用

    23330

    Android开发(11) 消息通知(Notification)

    概述 android 的消息通知还是很方便的,它会出现在窗体的顶部,并给出提示。常见的短信就是这样的通知方式。本文我们尝试实现一个这样的演示。 演示截图: ? manager = (NotificationManager) getSystemService( Context.NOTIFICATION_SERVICE); getSystemService是获得系统服务的方法 也就是说,我们要想操作 通知相关的操作接口,就先获得系统提供的 “通知管理器” NotificationManager 对象就是一个服务管理器了。 notification.defaults |= Notification.DEFAULT_SOUND; //默认声音 其中pendingIntent对象 是一个跳转intent,当提示后,点击在消息提示栏的 3.调用NotificationManager.notify方法发起通知,发起后的通知就会在消息栏提示。

    1.2K00

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 即时通信 IM

      即时通信 IM

      即时通信 IM(Instant Messaging)基于 QQ 底层 IM 能力开发,仅需植入 SDK 即可轻松集成聊天、会话、群组、资料管理能力,帮助您实现文字、图片、短语音、短视频等富媒体消息收发,全面满足通信需要。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注腾讯云开发者

      领取腾讯云代金券