1. 方案描述

该方案用于系统站内信功能模块在百万级用户量情况下的效率问题,只是后台管理员给前台用户发送站内信,用户与用户之间的发送不在讨论内。

2. 方案详情

假设系统的用户量达到了200W,活跃用户为10W,系统后台管理员要给全体用户发送一条感谢信,如果按照之前的存储方式,消息队列需要插入200W条数据,可是除了活跃的10W用户,其他用户都忘了自己有该网站的账号,他都有可能不再登陆该网站了,数据库保存的消息队列无意义了。

现表结构如下:

消息表

编号    ID    NUMBER

标题    TITLE    VARCHAR2(50)    50

正文    CONTENTS    VARCHAR2(1000)

发送状态    STATUS    NUMBER

发送日期    SEND_DATE    DATE

发送方式    SEND_TYPE    NUMBER

最新创建人    FCU    VARCHAR2(50)    50

更新人    LCU    VARCHAR2(50)    50

创建时间    FCD    DATE

最新更新时间    LCD    DATE

删除标记    DELETE_TAG    CHAR(1)    1

消息容器编号    ID    NUMBER

站内信ID    MESSAGE_ID    NUMBER

收件人ID    MEMBER_ID    NUMBER

是否已读    READ_STATUS    NUMBER

会员表

主键    id    NUMBER

会员编号    u_number    NUMBER

电子邮箱    u_email    VARCHAR2(200)    200

密码    u_passwd    VARCHAR2(50)    50

企业认证    company_admit    NUMBER(1)    1

帐号禁用    帐号禁用    NUMBER(1)    1

创建人    FCU    NUMBER

最后更新人    LCU    NUMBER

首次创建时间    FCD    DATE

最后更新时间    LCD    DATE

删除标记    DETELE_TAG    char(1)    1

在尽量不改变表结构的前提下,改变一下程序写数据库的方式:

后台管理员发送一条站内信,接收对象为全体会员,系统往站内信表插入一条站内信,其中发送方式区分接收的对象(0为全体发送,1为只发送给注册会员,2为只发送给企业会员,3为指定会员发送),这样,发送给全体会员的一条站内信暂时只生成了一条数据。

前台会员登陆的时候,根据会员自身的会员类型(普通会员,企业会员)查询站内信表中属于自己的最新消息(根据自己所持消息的最新时间与消息表的发送时间做 比对),往消息容器中插入自身与所持消息的关联数据,默认未未读,在前台会员点击某一条未读站内信的时候,将容器中的对应站内信状态改为已读。

如果后台管理员只指定发送站内信给某几个会员,则往站内信表插入一条站内信后,将这几个会员与该站内信的关联直接往消息容器中写关联,不需要前台会员取。

另:因为改变了发送接收方式,后台管理员只指定发送站内信给某几个会员,但是站内信状态未未发送,只是保存草稿,需要往站内信主表增加一个字段,保存指定会员的id串,用于关联此草稿与指定会员的关联,此处就要求发送给指定会员的数量不能太多,需要限制。

这样,百万级用户量的系统,活跃度为10%的用户登陆系统,只生成了10W的数据,用户活跃度越低,此方案效率越明显,如果是100%活跃度的话,此方案和现有方法无区别。

站内信功能 java_站内信功能相关推荐

  1. 内网安全,站在十年的路口

    什么是内网安全?这个名词我们经常听说,却没有人能说出它的准确定义,即使是在维基百科和百度百科中也查找不到准确的结果.可是,这个概念从诞生至今已有十年的历史,它就像一个神秘的影子伴随着企业不断成长,我们 ...

  2. 【微信小程序控制硬件 第13篇】安信可B站直播学习总结,微信小程序MQTT远程控制ESP8266 NodeMCU,谈谈微信生态那些事;

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  3. python发送短信每天有限额吗_发送短信如何限制1小时内最多发送11条短信

    发送短信如何限制1小时内最多发送11条短信 场景: 发送短信属于付费业务,有时为了防止短信攻击,需要限制发送短信的频率,例如在1个小时之内最多发送11条短信. 如何实现呢? 思路有两个 截至到当前时刻 ...

  4. 借助花生壳把内网网站映射给外网。(内网穿透/路由器端口映射)、外网控制内网...

    其实这个东西几年前我就弄过,但是当时心智不成熟,没学会怎么玩耍,今天玩了一把也没啥的, 1.搭建网站 假设内网电脑是192.168.100.9 访问Http://192.168.100.9能打开网站, ...

  5. 安卓开发中发送短信的方法 APP内单发短信 群发短信 APP跳转到短信页 单条短信 多条短信Intent跳转

    1.APP内部直接发送短息 包括发送单条短信 发送多条短信 APP内部发送短信首先要获取一个发送短信的权限 <uses-permission android:name="android ...

  6. 环信集成 2---基于环信Demo3.0,实现单聊功能

    这几天在做环信,所以把环信相关的东西拿过来,做个系统点的东西 注意: 这里Demo集成的是带有实时语音功能的(libEaseMobClientSDK.a). 环信库是直接拖拽EaseMobSDK文件夹 ...

  7. 【源码分享】POSCMS功能如何实现短信验证码

    对接短信的时候发现一家短信公司,有些不错的短信验证码的插件,对接起来挺方便的,有需求的可以看一下.http://www.ihuyi.com/ 插件说明 本插件系互亿无线针对POSCMS V3.2.0 ...

  8. 银行卡怎么突然收不到短信信息服务器,银行卡开通了短信通知功能为什么没收到通知?十条原因看清楚...

    朋友说,自己的银行卡已经在银行设置了短信通知功能,为什么资金变动没有收到通知呢?会有风险吗? 大家知道,短信通知功能在银行是收费功能,大多数银行每个月3元左右,目的就是及时了解账户金额的变动,以防范风 ...

  9. JAVA接入短信接口,实现短信验证码功能

    最近网站要加短信验证功能,不得不要折腾一番.好了,不多说了,说一下过程.首先是短信服务商的选择,以前没接触过,只能找度娘了,找了三家,对比一下. 价格: 1.秒嘀科技 - 短信接口.短信验证码.语音验 ...

  10. 即时通讯im聊天仿v信聊呗闲聊潮信该有的功能都有ios安卓web端

    即时通讯im聊天仿v信聊呗闲聊潮信该有的功能都有ios安卓web端 App特色说明 经过测试.好用的,无BUG. 这个直接就可以运营了.聊天通信流畅. 推荐服务器配置:4核4G带宽5M 网盘下载地址: ...

最新文章

  1. 聚类之K-means均值聚类
  2. 奥斯陆大学计算机,奥斯陆大学雅思要求
  3. linux - word frequency
  4. 记载一次项目中的小事故
  5. 【超时原因】1047 Student List for Course (25 分)
  6. python value函数_python 函数基础
  7. arp协议的主要功能是_程序员需要掌握的一些网络协议汇总
  8. 《我的成功可以复制》读后感这一、两天可以静下心来,将唐骏先生写的《我...
  9. 程序员应该坚持写博客
  10. 最大流最小割经典例题_最大流最小割基本
  11. SVN:Attempted to lock an already-locked dir svn: Working copy '工作空间路径/lib' locked
  12. HTML中哪些标记能放在首部,HTML基本结构与常用标记
  13. 什么是MRAM(不挥发性磁性随机存储器)
  14. c语言列宽作用,c语言|格式化输入输出详解
  15. 代替Beyond Compare的代码对比工具WinMerge
  16. Ht7038 三相电能计量芯片 测量6路电流。
  17. 重置或者修改mysql的root密码
  18. Android 详细讲解修改app状态栏颜色
  19. 微信小程序云开发实现一个社区 Demo(补充)
  20. 二叉树的几个基本性质

热门文章

  1. Intellij idear使用心得
  2. 华为 21 级程序员月薪曝光:270k 封神!众网友直呼长见识
  3. 深度学习之鸡兔同笼问题
  4. jQuery中siblings无效
  5. 2048C语言源码linux
  6. OpenCV-图像翻转函数cv::filp
  7. [愚见]《EnlightenGAN: Deep Light EnhancementWithout Paired Supervision》
  8. 2021正睿csp7连day2
  9. 错误代码warning C4013: ‘sqrt‘ undefined; assuming extern returning int怎么解决?
  10. 随机变量分布函数:相关习题解答