产品概述
MPS1.0——消息推送系统(Message Push System)产品,是在互动电视平台以及智能终端上衍生的信息交互产品。系统采用服务无状态设计,各能力部件均支持水平横向扩展;采用标准MQTT协议实现消息发送,具备数据量小、灵活、高效、易于使用的优点;具备强大的消息管控机制、灵活的消息策略、多种推送机制及算法等功能;具备各类统计报表和监控功能,通过消息推送系统能够使平台消息准确、快速、安全送达用户端,提高用户在使用具体业务中的人性化体验,也可通过对接第三方平台进行第三方消息送,如国家应急广播平台,通过消息系统可满足国家应急广播标准体系中要求的广电网络通道覆盖。
产品规格
支持流量切换,自动屏蔽故障节点,当出现单点故障时,可从集群中剔除,当节点恢复后,可自动重连恢复使用;
支持消息发布全周期加/解密处理,采用国密算法,保障数据完整性;
系统拥有强大的消息管控机制,可暂停/发布消息,控制各类型消息的发布,控制各发送通道的关闭开启,控制各类终端消息的接收;
支持透传消息,即第三方业务系统可将消息对接平台后,将消息投递给其他业务系统;
支持对接国家应急广播平台并符合其标准《GDJ 079-2018 应急广播系统总体技术规范》、《GDJ 086-2018 有线数字电视应急广播技术规范》、《GDJ 081-2018 应急广播安全保护技术规范 数字签名》、《GDJ 082-2018 应急广播消息格式规范》等;
单台8核CPU、32G内配置支持高达20万MQTT长链接,支持消息推送高达20000TPS,采用离线消息方式保证消息到达率99.99%以上;
产品特性
系统须采用服务无状态设计,各能力部件均支持水平横向扩展,便于后期扩容
系统各个子部件均用拆分设计、服务化、组件化。各个子系统之间均通过4层/7层通讯协议交互,集群部署,保障服务可靠性
系统采用多种异步消息队列,实现服务解耦、流量削峰和缓冲,并可实时查看队列任务,操作队列中正在/等待发送的消息任务
系统采取并发设计,可并发获取数据
系统须支持流量切换,以自动屏蔽故障机器,当一台或者多台逻辑层服务器宕机时,请求可提交到集群中的任意可用服务器,而且所有逻辑层服务器须支持可用状态实时监测,当发现服务器不可用时,可从集群中剔除,当服务器恢复可用后,可自动重连恢复使用,确保系统的可用性
系统支持消息发布全周期加/解密处理,采用国密算法,保障数据完整性
系统支持完善的操作日志,能够对每个操作员每次操作有详细的记录
系统支持完善接口日志,能够详细记录每个外部业务系统接口请求状态
系统采用轻量级MQTT协议用于消息发送,具备数据量小、灵活、高效、易于使用,适用于消息数据交换,最大程度减少带宽压力
系统消息推送采取服务端即时主动向终端推送消息的方式,大大提升即时性。
系统支持用户离线消息,保障消息百分百到达
系统支持单向通道、双向通道、苹果通道等三种下发通道,单向通道对接广电复用器,双向通道是基于双向网络TCP协议,可支持NAT公网环境,苹果通道对接苹果服务
系统支持完善的权限机制,可为接入的第三方业务系统采取多样的业务与发送机制配置,可配置不同系统系统能使用的模板、可发送的消息类型、可使用的通道等权限
系统拥有强大的消息管控机制,可暂停/发布消息,控制各类型消息的发布,控制各发送通道的关闭开启,控制各类终端消息的接收
系统拥有完善灵活的免打扰策略,可设置不同用户、区域、分组是否免收消息
系统拥有完善灵活的免打扰时间,可设置不同时间段、时间点不允许下发消息。当免打扰时间过去后,系统自动补发消息
系统拥有两种推送机制,根据算法,自动为不同目标用户量的消息匹配对应的推送机制,最大化加速消息下发速度
系统支持模板消息,可提前下发模板到终端后,后续直接使用模板发送消息
系统支持自动校验非法敏感词,支持消息的审核与驳回
系统支持接入多种类型的终端设备,机顶盒,移动手机应用,平板,苹果手机等
系统支持文本、指令、网页跳转、频道跳转、视频跳转等多种类型的消息格式
系统支持消息优先级,按照消息的优先级进行消息投递
系统支持投递定时消息,即到达指定时间后,消息自动投递,无需人为干预
系统支持接入多种类型的自定义用户组与用户关系,做到针对不同类型用户的精准投递
系统支持透传消息,即第三方业务系统可将消息对接平台后,将消息投递给其他业务系统
针对机顶盒,系统支持定义频道白名单/黑名单。即相应频道下是否呈现消息
系统支持接口接入消息进行发送,同时提供友好的界面化系统方便用户下发消息
系统拥有完善的监控系统,可实时界面化监控查看平台各服务器、应用健康状态,方便运维
系统拥有完善的业务监控能力,可实时界面化监控消息下发全流程、消息平台业务性能指标
产品体系结构
消息系统平台在架构设计时,遵循组件化,服务化架构,每个系统部件对应不同的层次,完成各自不同的系统功能。从系统架构层次上主要分为4层。系统接入层主要由负载均衡服务器提供集群负载理由、单向广播通道提供单向数据播发、苹果通道提供IOS设备数据播发以及长连接服务提供双向通道数据播发。在序列化层主要由Redis消息队列、Beanstalked优先级队列提供数据得异步序列化传递任务。业务逻辑层则主要提供消息系统平台对外提供的业务。数据库存储层主要由内存型数据库Redis以及关系型数据库Mysql提供服务。
消息系统平台整体业务细分可分为:第三方消息接入、系统及消息监控统计、第三方权限管理、多通道消息推送、用户信息维护、消息维护等。每个业务均由各自的管理业务及业务能力组件配合完成,对外提供业务能力。