内蒙古广播电视台IPTV消息管理系统布局智能家居
2021-08-09张庸
张 庸
内蒙古广播电视台 内蒙古 呼和浩特市 010050
1 系统概述
目前在IPTV行业,无论微信电视、智能音箱或者任何其他应用,在与IPTV对接的时候,均需要一套独立的消息管理系统以及相应的SDK,消息管理系统负责与机顶盒建立连接,SDK接收并对接机顶盒APK执行相应操作。这样就会存在如下几个方面问题:
(1)各方的SDK要分别和机顶盒APK对接,增加了机顶盒的复杂度;
(2)各方的SDK要与自家的消息系统对接,增加了机顶盒的系统开销;
(3)各方的SDK埋点,采集机顶盒信息,用户的信息安全得不到保障;
(4)各方的SDK会相互争抢资源,影响机顶盒的稳定性;
(5)新业务需求,各方SDK均需要升级;
(6)各方消息直接推送到机顶盒APK,不能够满足广电总局对机顶盒可管可控的业务要求。
因此,内蒙古广播电视台通过建设统一的消息管理平台,来处理微信电视、智能音箱、语音遥控等第三方系统传递过来的消息命令,同时实现日常消息的管理与发布,从而全面做到播控平台对IPTV业务的可管可控。
2 消息系统架构
建立统一的消息管理系统,包含两大模块(见图1)。
图1
(1)消息管理系统:对接各个业务系统,与各个业务系统进行消息交换,以及与机顶盒建立连接关系。
消息管理后台:管理不同的接入外网系统,及外网系统与用户机顶盒的关联关系。
消息能力平台集群:与机顶盒建立长连接,完成外网系统与机顶盒之间的消息交换。考虑系统的健壮性,以集群模式提供服务。
消息网关:对接第三方系统,接收内网消息。
(2)消息SDK:对机顶盒进行控制操作,及相关指令的执行。
“本地服务”模块,根据各业务系统业务需要部署,消息管理系统只从内网接收消息。
同一第三方,不同业务可以共用消息网关,如智能家居业务,既有“小翼App”又有“智能音箱”,可以用同一个消息网关。
流程说明:
(1)机顶盒开机后,默认自动与消息系统建立长连接。并将机顶盒相关信息发送到消息系统,信息包含:用户ID,机顶盒类型,区域等相关用户信息;
(2)消息系统汇总管理,机顶盒发送的用户信息;
(3)第三方系统要进行用户绑定的时候,需要通过消息系统向该系统请求二维码;
(4)第三方系统绑定用户后,通过消息系统向机顶盒发送相关指令;
(5)语音遥控器,嵌入语音SDK到机顶盒,当用户使用语音功能时,先将语音信息发到语音云进行语意解析,然后将转化后的文字或者操作指令,通过消息系统发送到机顶盒。
3 消息业务分类
总体分为外网系统设备和内网设备。外网系统设备包括智能音箱、小翼App、微信电视、第三方App等互联网服务应用。内网设备主要包括语音遥控器。
4 消息业务类型
(1)控制类指令
投屏播放影片,控制播放/暂停、跳转到指定位置(seek)、停止等功能;
跳转到指定EPG页面。
(2)按键类指令
发送按键消息到机顶盒APK。
(3)搜索类指令
通过外网系统文字输入或者语音输入,接入到消息管理系统时是纯文字指令,调用系统的搜索接口,完成搜索功能。
(4)信息类指令
“信息类”指通过消息系统管理后台推送文字消息到机顶盒APK,如“紧急通知”等信息,以弹出窗口的形式展示到EPG页面中间。
5 消息业务流程
5.1 长连接建立过程
商用环境因为用户量众多,同时要考虑单点风险。因此消息能力平台以集群的方式提供服务支撑。所以,消息SDK在建立长连接请求之前,需要先向消息系统请求,分配给该机顶盒的消息能力服务器地址,然后再向指定地址发起长连接请求。
(1)消息SDK先向指定的消息服务器发起请求,获得分配给该机顶盒的消息能力服务器地址;
(2)消息SDK向该能力服务器地址发起长连接请求;
(3)如果断开,自动重新建立长连接;
(4)如果尝试3次仍无法建立连接,机顶盒重新向消息服务器发起请求,请求新的消息能力服务器地址。
5.2 长连接业务逻辑
机顶盒开机后,默认与消息系统建立长连接。
(1)语音遥控器可以直接控制机顶盒,不需要建立绑定关系;语音遥控器在发送语译解析命令的时候,需要包含机顶盒的用户ID,最后解析后的语译,通过消息系统发送到机顶盒。
(2)外网设备控制机顶盒,需要判断绑定关系。
5.3 设备绑定解绑
默认采用外设扫描二维码绑定机顶盒。
5.4 外网系统设备绑定
外网系统如智能音箱、小翼App、微信电视等,统一通过扫描二维码进行设备绑定。即在机顶盒的指定路径显示二维码,一般在设置菜单,用户可以通过微信、支付宝,或者指定第三方应用扫描绑定。
5.5 二维码的生成
用户打开机顶盒指定页面,如“设置->微信电视”。
(1)机顶盒向消息系统发起请求;
(2)消息系统返回两部分内容:绑定的用户微信ID,没有为空;用于绑定的二维码。绑定原则:一个机顶盒终端可以被多个微信绑定,一个微信只能绑定一个机顶盒终端;
(3)用户通过微信、支付宝,或者指定第三方应用扫码,外网系统获得用户的二维码信息;
(4)外网系统设备发送绑定请求到消息系统;
(5)消息系统确认该用户ID发起过绑定请求,并建立绑定关系;
(6)外网系统设备绑定后可以控制机顶盒。
5.6 外网系统设备解除绑定
(1)用户可以从机顶盒端发起解除绑定的消息指令;
(2)用户可以从外网系统设备端发起解除绑定的消息指令。
5.7 内网语音遥控器绑定
智能语音系统内嵌语音SDK,不进行设备的绑定与解绑,默认遥控器语音设备可以控制机顶盒。
语音遥控器发送语音消息到语音转译云平台时,带有机顶盒的userid信息,云平台将解析后的消息指令,根据userid信息,通过消息系统发送到机顶盒。
6 创建图片二维码
机顶盒APK根据设备ID或者账号ID组装生成唯一的序列号,标识机顶盒信息。消息管理系统将参数发送到腾讯微信后台服务系统,系统生成二维码给到消息管理系统,EPG页面可以展示该二维码图片。
(1)生成二维码(见图2)。
图2
(2)扫描二维码(见图3)。
图3
7 消息队列的管理
手机微信通过代理服务器把用户操作命令(消息)发送到消息队列中统一处理。消息队列验证消息的格式是否合法。
8 消息处理服务
(1)建立绑定关系;
(2)权限管理;
(3)检索判断绑定关系;
(4)查找绑定机顶盒;
(5)发送、接收命令;
(6)向其他第三方系统发送消息;
(7)其他消息推送。
9 消息的储存
保存手机微信用户的信息,以及微信用户与响应的机顶盒的绑定关系。系统支持后台浏览、查询、修改、删除等功能。