融合通信系统中多端消息同步方案研究
2020-09-02陈建婷
陈建婷
(南京艺术学院 信息化建设管理中心,江苏 南京 210013)
1 融合通信(RCS)概述
1.1 RCS业务概念
融合通信(Rich Communication Suite,RCS)是GSMA国际标准组织定义的富媒体通信套件,是基于IMS网络下对传统短信、彩信、语音业务的升级,为运营商发展融合通信业务提供了标准和规范支撑,成为运营商对抗OTT业务冲击的唯一出路。
RCS消息业务基于SIP,MSRP,HTTP协议,定义了多种消息业务场景及基本功能,包括:点对点、群发、群聊、文件传输、MaaP业务、增强呼叫等,媒体类型覆盖文本、图片、音频、视频、名片、地理位置、卡片等,可以给用户带来丰富的业务体验。
1.2 RCS发展现状
当前,全球各大运营商都在积极探究和试点RCS业务。中国移动早在2014年就开始投资建设RCS业务平台,到目前为止,平台累计活跃用户已突破千万,RCS已进入蓬勃发展阶段。随着业务发展,同一用户很可能会需要在手机上、PC上、Web页面上使用RCS业务,这必然带来了多端同步问题。如何不断提升用户体验、实现不同端的消息同步,已成为促进业务发展的一个重要课题[1]。
2 多端消息同步的几种方案
2.1 常见的RCS终端形态
(1)Native终端,即支持RCS业务功能的软件固化在手机中,用户无需安装任何软件,直接从传统短信入口即可使用RCS组件发送点对点或群聊消息,体验丰富的消息业务。这是RCS的标准终端形态,目前,国内主流手机大多已支持。
(2)APP终端,在Native终端发展过程中,某些手机无法升级至Native终端,如iOS系统,如果用户想体验RCS业务,可以安装相应的APP,类似于微信。
(3)PC端,安装在PC上的即时通信软件,用户通过手机号码绑定登录,后台接入RCS消息业务处理平台,实现与手机端的互通。
(4)Web端,直接在运营商提供的网页上登录,与PC端类似,绑定手机号码登录,后台接入RCS消息业务处理平台,实现与手机端互通。
随着物联网业务的发展,手表、手环、汽车等都有可能成为RCS消息系统的一种终端形态存在。从用户体验上说,登录不同的终端都能看到完整的历史对话消息,都能实时接收在线消息,是一种基本需求,这也意味着多端间的消息同步必须保证消息的完整性和实时性[2]。
2.2 多端消息同步方式
2.2.1 平台推送方式
RCS消息业务处理平台为每个用户记录注册的所有端码号和在线状态。当系统需要向该用户发送消息时,根据用户的端码号,向当前在线的每个端都投递该条消息。如果用户的某个端因为网络问题暂时无法接收,则系统对该端进行消息重试。若重试不成功,则缓存消息,并记录下当前发送的位置,待用户重新注册上线后,再由平台继续下发缓存的离线消息。如果一条消息所有的端都接收成功,则从平台缓存中删除。由平台确保该用户的每个端都收到全量的消息,平台对每个用户分配一个消息队列,用于管理待发消息[3],其组织方式如图1所示。
图1 RCS消息业务处理平台组织方式
2.2.2 CMS方式
CPM消息存储系统(CPM Message Store,CMS)从RCS消息业务处理平台实时接收消息,内部按照邮箱的模式存储和管理消息,基于iMap协议为终端用户提供消息查询、消息拉取、消息管理等操作。
对于RCS消息业务处理平台来说,当收到用户A提交的消息后,除正常的业务逻辑处理外,还需要要向CMS平台同步。CMS平台收到该条消息后,存入主叫A用户的发件箱中。当用户A在其他终端登录时,终端可以主动到CMS平台拉取其发件箱消息,使用户A的每个端都能看到自己曾经发送过的全量消息。CMS方式下的消息同步流程如图2所示。
图2 CMS方式下的消息同步流程
当RCS消息业务处理平台需要向用户B投递消息时,同时将该条消息同步给CMS平台,CMS平台将消息存入用户B的收件箱中。当用户B在其他端登录时,终端可以主动到CMS平台拉取其收件箱中的消息,使用户B的每个端都能看到自己收到的全量消息。
当终端成功收到消息后,可向RCS消息业务处理平台返回递送报告。同样地,RCS消息业务处理平台可将递送报告同步给CMS平台,由CMS平台对相应的消息记录其状态。当用户登录其他终端时,消息递送的状态信息也可同步到其他终端,从而实现多端间消息状态同步逻辑,如消息静默、消除红点等业务体验。CMS方式下的回执同步流程如图3所示。
2.2.3 两种方式比较
(1)平台推送方式。在终端上处理简单,仅需要被动接收消息,多端间的消息同步逻辑完全由平台控制,对平台的要求较高,需要对用户的每一个端的状态进行管理,在线实时投递,离线失败保存,从而保证消息同步的实时性。
图3 CMS方式下的回执同步流程
(2)CMS同步方式。由于RCS消息业务处理平台和CMS平台间消息是实时同步的,而CMS与终端间也具备实时接口,所以,RCS消息业务处理平台仅需要针对在线端实时投递消息,对离线端不用保存消息,也不需要对主叫用户进行多端消息同步发送处理。通过CMS方式多端同步消息,可大大简化RCS消息业务处理平台的逻辑,也降低了设备性能消耗。另外,CMS平台可屏蔽用户不同终端的能力差异,完全依据终端拉取行为推送消息,平台处理简单、可靠。
CMS同步方式对终端的要求比较高,需要终端同时与RCS消息业务处理平台和CMS平台间具备实时接口,且对于实时接收到的消息和从CMS拉取下来的离线消息做合并处理,并按时间顺序正确展示。终端需要根据CMS中的消息状态变更,实时更新本端上的消息展示界面。
3 结语
综上所述,在RCS业务发展初期,终端对RCS业务的支持普遍还停留在基础阶段,通过RCS消息业务处理平台推送方式实现多端间消息同步,是相对简单、可行的一种方案;CMS方案作为标准规范不失为一种较好的多端消息同步方式,但鉴于目前终端发展还很有限,短期内难以实现。相信随着RCS业务的不断发展,多端间消息同步机制还会有更多不断优化调整的空间,用户体验也会越来越好。