一种基于H5技术的5G消息交互系统

2021-04-14 08:18林伟嘉毕金龙李盛阁郑丁瑜
通信电源技术 2021年21期
关键词:报文网关浏览器

林伟嘉,毕金龙,李盛阁,郑 敏,郑丁瑜

(中移互联网有限公司,广东 广州 510000)

0 引 言

5G消息是基于全球移动通信系统协会(Global System for Mobile Communications Association,GSMA)的通用概要文件RCS UP2.4进行构建,将传统短信变革升级为富媒体通信套件(Rich Communication Suite,RCS)业务,实现了消息的富媒体化和轻量化。目前,国内5G消息依赖于原生终端内置软件开发工具包(Software Development Kit,SDK)进行实现,受制于各大手机终端厂商的集成进度,因此会存在一些终端暂不支持5G消息的情况,也有一些传统的终端无法支持升级[1]。本文将阐述一种结合5G消息回落方式实现浏览器打开H5链接后的交互服务系统,在不支持的终端上实现相同的用户体验。

1 5G消息概述

5G消息是基础通信产品短信的历史性变革,是5G+战略首批落地的5G应用之一,亦是运营商全面赋能5G+生态的创新平台[2]。2019年10月,GSMA将RCS纳入5G手机必备功能,明确了5G消息即RCS消息,并号召全球运营商进行升级。根据服务客户的特征,5G消息分为两大类:一类是个人对个人(Person to Person,P2P)消息,是个人用户与个人用户之间交互的消息,包括点对点消息、群发消息以及群聊消息;另一类是平台即讯息(Message as a Platform,MaaP)消息,是行业客户与个人用户之间交互的消息[3]。MaaP消息是RCS UP2.0标准中引入的新消息服务,通过构建“RCS+Platform+Chatbot”的方式,在P2P消息的基础上增加了商户与用户之间的交流[4]。运营商5G消息示意如图1所示。

图1 运营商5G消息示意

运营商为了实现5G商业部署,在自身网络上架设了MaaP网关和聊天机器人(Chatbot)管理平台,平台面向企业端开放通信接口,提供5G行业消息服务[5]。在5G消息业务中,行业客户使用聊天机器人作为自有业务系统与运营商5G消息系统之间的媒介以及和终端用户进行消息交互的载体[6]。5G消息交互模式通过Chatbot实现了终端用户在消息界面的搜索、发现以及交互等。用户可以在消息窗口直观便捷地享受缴费充值、票务订购、酒店预订、物流查询、餐饮订座、外卖下单等各类5G消息应用服务[7]。

5G消息终端支持接收Chatbot发送的5G消息,消息类型包括文本、音频、视频、图片、vCard、地理位置以及富媒体卡片消息(Rich Card)[8]。上述所有类型的消息中都可以包含建议菜单,包括建议回复和建议操作。

5G消息系统采用了GSMA RCS UP2.4标准,将作为一个较为独立的系统存在,5G消息用户在网络上的附着、注册都遵循了不同于现有长期演进语音承载(Voice over Long-Term Evolution,VoLTE)用户的模式,5G消息的样式解析、交互实现都依赖于原生支持5G消息(RCS)的手机终端实现[9]。目前,5G消息发展的核心瓶颈在于终端的覆盖量,终端覆盖率低导致了5G消息未能快速规模化发展。5G消息系统架构如图2所示。

图2 5G消息系统架构

2 非5G消息终端接收5G消息的常规处理方案

2.1 方案实现

首先,运营商5G消息网关根据用户手机终端上报消息,形成当前支持5G消息的号码库。其次,当行业客户Chatbot进行消息下发时,由运营商的5G消息网关根据手机终端号码库进行判断,支持5G消息的终端进行5G消息投递,对不支持5G消息的终端进行其他渠道的消息回落处理[1]。现有主流解决方案为投递5G消息强制转为短信(纯文本)或是彩信(富媒体文件+文本),以达到全面覆盖手机终端的目的。

2.2 局限性

一是回落5G消息为短信或是彩信仅仅是展示当前的消息内容,无法实现与商业Chatbot进行交互,而这是5G消息的业务核心所在。二是无法实现5G消息的展现及交互能力,如固定菜单栏、建议回复以及特色卡片等。

3 基于H5技术的5G消息交互系统设计及实现

3.1 总体思路描述

总体系统架构设计如图3所示,通过回落文本链接的方式,使得非5G终端手机点击链接后能够在浏览器中实现5G消息的展现以及Chatbot的交互,核心功能层有H5后台服务(接入层)和H5前端逻辑层。其中,H5后台服务(接入层)通过协议转换等关键功能模块实现5G消息的发送及接收机制,包括终端状态判断、端侧长连接、消息上下行等系统功能,对接5G消息系统(网关);H5前端逻辑层通过HTML5+JavaScript技术完成终端界面层仿真,实现用户终端UIUE层面与Maap消息的一致。

3.2 功能模块设计及描述

3.2.1 H5后台服务主要功能模块

H5后台服务(接入层)是对接Maap 5G消息网元的服务系统,实现的功能包括协议转换、鉴权认证、逻辑处理、连接状态判断及管理、消息存储及缓存、消息投递路由,主要层次模块有6个。

一是协议转换层,负责把普通浏览器H5(JavaScript)无法处理的5G Maap消息报文转换为普通浏览器H5可以处理的通用格式报文,包括但不仅限于JSON、XML等通用格式。二是鉴权认证层,负责确认连接上来的浏览器终端用户身份的可靠性,使用包括短信验证、移动认证一键取号、SIM认证、账密登录等不同方式获取身份信息。其作用在于实现Chatbot对于连接上来的用户身份认证以及保障消息路由投递的可靠性。三是逻辑处理层,负责处理上下行消息的分发及消息响应的处理,包括消息排队、消息乱序处理、消息模板解析、关键词匹配(优选)。四是连接服务层,包括实现与5G消息系统主要部件的对接、与用户浏览器终端的长连接保持、心跳检测、状态检测等功能,使用的协议包括但不仅限于HTTP(HTTPS)、TCP、MQTT、WebSocket等。五是消息路由层,负责上下行消息的路由,包括Chatbot与用户之间多对多的路由关系。六是消息存储层,上下行的消息均有相关的存储服务,可模拟5G Maap原生终端的收件箱消息存储以及当用户浏览器不在线(无有效连接)时的离线消息存储服务。当用户重新连接上来后,会给与相关的消息推送。

3.2.2 H5前端逻辑层主要功能模块

H5前端逻辑层实现与H5接入服务层的连接,并由浏览器进行相关的报文解析渲染,实现浏览器仿真Maap(5G消息)的功能,主要的功能模块有以下4部分。

一是网络连接层,实现与H5后台服务(接入层)的有效长连接,使用TCP、MQTT或是WebSocket等多种协议进行消息的收发与状态的保持。二是数据格式处理层,将接收到的XML或是JSON等通用格式的报文进行解析,提取其中的各种文本、图片、富媒体信息以及各种消息指令,包括但不仅限于固定菜单栏、建议回复、浮动菜单栏等各种操作指令。三是逻辑处理层,从H5服务层接收消息,并且根据消息ID进行排序。处理从H5服务推动过来实时消息,并且拉取已有的存量离线消息,完成本地浏览器数据的暂存以及排序展现。响应用户对于菜单、卡片的点击请求,包括上行回复消息或是打开URL。四是UIUE渲染层,根据消息格式处理层提取出来的各种5G Maap消息元素进行HTML的渲染,实现包括普通消息(文本或图片、音视频文件)、普通消息+固定菜单栏、普通消息+悬浮按钮(建议回复)、模板卡片(单卡片)、模板卡片(多卡片)、模板卡片(单卡片)+悬浮按钮(建议回复)、模板卡片(多卡片)+悬浮按钮(建议回复)等各种UIUE样式。

3.3.3 消息主要交互流程

H5浏览器连接H5接入层后实现与5G Chatbot的交互,初始动作可能是打开携带在短信、彩信、视频短信、Wap Push等多种信息中的链接,也可能是通过扫描二维码等其他主动进入手段。

连接鉴权流程。根据GSMA规范,5G消息终端对于SIP应用要求支持AKA鉴权方式;对于HTTP应用,则要求支持GBA认证。5G消息系统通过网络鉴权信息获得当前连接终端的用户身份信息,其中最为重要的是用户手机号码[10]。对于非5G终端,通过设计短信验证码、移动认证取号、SIM号码认证等基于SIM卡号码的方式来确定当前浏览器访问用户的身份。

H5浏览器发起连接请求,并携带鉴权类型;H5接入层服务根据鉴权类型,下发鉴权指令给鉴权中心,如短信网关、移动认证取号、SIM认证等;H5浏览器携带鉴权token再次请求H5接入层服务;H5接入层服务进行鉴权token的校验,通过后返回长连接的access token;H5 浏览器携带 access token 建立二进制长连接,基于MQTT、WebSocket或是TCP协议。

(2)下行消息流程。下行消息流程如图4所示,Chatbot发送消息到5G消息网关,5G消息网关投递Maap协议报文到达H5接入层;H5接入层进行消息协议转换,将特定的Maap协议报文转换为通用格式报文;H5接入层对于消息进行入库存储,做好缓存及根据用户ID存储历史消息数据;H5接入层通过长连接把消息推送到浏览器端;浏览器端拿到数据后,由数据格式处理层进行处理,抽取出关键元素,如卡片格式、按钮要求、排列顺序等,并将相关元素集合发送到逻辑处理层;逻辑处理层根据解析出来的关键元素及样式要求,进行HTML格式的报文拼接及动效处理;UIUE前端根据逻辑处理层传递过来的HTML报文样式进行前端渲染,实现与用户的正常交互。

(3)上行消息流程。上行消息流程如图5所示,用户通过前端界面发起操作,如点击卡片或是按钮亦或是上行文本、多媒体消息;逻辑处理层进行相关的判断,将需要上行的意图告诉数据格式处理层;数据格式处理层进行通用格式报文的封装,并传递给网络连接模块;浏览器通过长连接推送通用格式报文给H5接入层;H5接入层进行消息缓存,并根据用户ID存储历史消息数据;消息协议转换,将通用格式报文转为Maap 5G消息报文;H5接入层投递到5G消息网关,由5G消息网关继续转发到Chatbot。

(4)拉取历史、离线消息。实现用户进入Chatbot H5页面后可以看到原历史聊天记录,仿真5G Maap消息终端的收件箱效果,具体流程如下。一是用户打开Chatbot H5页面,可以是通过打开携带在短信、彩信、视频短信、wap push等多种信息中的链接,或是通过扫描二维码等其他主动进入手段;二是浏览器完成鉴权认证流程后建立长连接,发起对H5接入层的历史、离线消息拉取请求;三是H5接入层读取数据存储层的数据,通过用户ID筛选出相关的消息记录;四是H5接入层通过长连接下行消息。

4 结 论

5G消息带来了全新的人机交互模式,本文阐述了一种基于H5技术实现5G消息交互系统的技术方案,可解决5G消息发展初期面临的终端覆盖不足的重要问题。

猜你喜欢
报文网关浏览器
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
智能燃气表物联网运行体系网关技术研究
基于FPGA的工业TSN融合网关设计
大规模低轨卫星网络移动性管理方案
一种主从冗余网关的故障模式分析与处理
基于报文类型的限速值动态调整
浅析反驳类报文要点
微软发布新Edge浏览器预览版下载换装Chrome内核
浏览器