產品概述
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提供服務。
消息系統平臺整體業務細分可分為:第三方消息接入、系統及消息監控統計、第三方權限管理、多通道消息推送、用戶信息維護、消息維護等。每個業務均由各自的管理業務及業務能力組件配合完成,對外提供業務能力。