一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于短链接信令通道的公网下进行远程多屏互动实现方法与流程

2022-04-27 07:42:01 来源:中国专利 TAG:


1.本发明涉及一种远程多屏互动的实现方法,属于智能电视ott及iptv的远程手机遥控和投屏播放领域。


背景技术:

2.投屏功能主要包括手机遥控、视频推送大屏等,实现投屏功能的环境包括无线局域网、蓝牙连接、公网等几种。局域网和蓝牙连接都必须让手机与机顶盒或智能电视在同一地方(能够以wifi或蓝牙直接连接),要实现异地远程互动,需通过公网并利用信令通道进行。例如:2011年10月31日申请的、专利号为zl201110337264.2的中国发明专利公开了利用手机共享电视屏幕遥控电视的方法、系统及手机,所述方法包括:将安装有屏幕共享程序的手机通过无线网络与电视相连,电视的当前屏幕画面通过无线网络传递到手机端并缩放比例在手机屏幕上显示。在该技术方案中,手机与电视位于同一局域网内,无法实现异地远程互动。
3.目前远程互动都是基于socket长连接,使手机、信令平台、盒子三者间建立通道,只要未关闭连接,即使没有互动操作也一直占用连接资源。一台服务器可建立的并发长连接数有限,随用户量增加,服务器成本也线性增加。例如:2011年11月09日申请的、专利号为zl 201110351487.4的中国发明专利公开了一种通过智能手机遥控电视的系统及方法,该系统包括电视机、机顶盒和智能手机,所述系统还包括中心服务器,所述中心服务器通过互联网与机顶盒相连,所述智能手机通过互联网与中心服务器相连,所述智能手机通过socket长连接操作机顶盒。


技术实现要素:

4.本发明要解决的技术问题:现有的远程互动基于socket长连接,占用服务器的连接资源。
5.为了解决上述技术问题,本发明的技术方案是提供了一种基于短链接信令通道的公网下进行远程多屏互动实现方法,其特征在于,基于手机app、信令平台以及机顶盒实现手机对机顶盒的互动访问,其中,每个机顶盒具有唯一的账号,包括互动服务和中间件,互动服务集成到机顶盒的rom里,并随机顶盒的操作系统一起启动,启动后,互动服务以http协议监听固定的监听端口;信令平台和互动服务起信令通道的作用,不含业务逻辑,业务逻辑由手机app和中间件共同实现,所述远程多屏互动实现方法包括以下步骤:
6.步骤1、手机app扫描机顶盒的二维码,获取账号和中间件的版本号ver,建立账号与版本号ver的绑定关系。
7.步骤2、机顶盒启动后,互动服务从中间件获取到账号、ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist,其中,互动服务通过预先定义的获取盒子端信息接口来获得账号、ip地址ip、中间件的版本号ver以及中间件所支持的互动功能指令集funclist;
8.步骤3、互动服务将账号、ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist上报给信令平台;
9.步骤4、信令平台建立每个机顶盒的账号、ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist的绑定关系;
10.步骤5、手机app根据中间件的版本号ver或互动功能指令集funclist确定机顶盒所支持的功能范围;
11.当信令平台建立绑定关系后,手机app利用步骤1获得的账号通过位于信令平台的手机app获取盒端信息接口从信令平台获取所绑定的机顶盒的信息,包括ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist;手机app通过互动功能指令集funclist及中间件的版本号ver确定可用功能范围;
12.步骤6、手机app调用位于信令平台的手机发送指令到信令平台接口向信令平台发起推送请求,该推送请求包括互动指令及手机app绑定的账号;
13.互动指令包括所需要执行的功能以及点播地址信息,点播地址信息为跳转url或是点播内容id或者直播频道号加点播播放时间的组合,当点播内容id为直播频道号时,点播播放时间可以为0;
14.当播放地址有确定的拼写方式,手机app能够组织固定的跳转url,则将播放地址拼写后作为跳转url上传至信令平台;跳转url为以/开头的相对地址或以http://开头的绝对地址,相对地址适用于播放的ip地址和播放端口不固定的情况,手机app无法知道确定的ip地址和播放端口。
15.若播放地址没有确定的拼写规范,或者对应的机顶盒的中间件有非调播控页地址的播放方式,手机app无法组织跳转url,则将点播内容id以及点播播放时间作为备用方式提供给信令平台,相应的中间件接受到点播内容id以及点播播放时间后,自行依此参数进行拼写;
16.步骤7、信令平台根据账号查询到绑定的ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist,根据互动功能指令集funclist及中间件的版本号ver确定互动指令中的功能是否支持:若不支持,则通过手机发送指令到信令平台接口向手机app返回失败;若支持,则通过手机发送指令到信令平台接口向手机app返回成功,进入步骤8;
17.步骤8、信令平台将ip地址ip、播放端口号port以及互动指令拼接成绝对路径url,信令平台调用位于机顶盒端的信令平台与盒端互动服务交互接口,基于拼接后的绝对路径url访问互动服务,向指定的机顶盒转发推送请求。
18.步骤9、互动服务开启一个监听服务apk,在该监听服务apk中启动一个http server在监听端口上监听信令平台转发的推送请求,其中,监听服务apk具备机顶盒操作系统的system权限;
19.步骤10、互动服务解析信令平台转发的推送请求中包含的所需要执行的功能以及点播地址信息;
20.步骤11、互动服务调用中间件提供的url推送接口,采用广播形式向中间件发送点播地址信息,则中间件对于点播地址信息的处理逻辑为:
21.若存在跳转url,则只处理跳转url,中间件直接按跳转url对应的直接地址进行跳
转或者中间件将得到播放的ip地址ip和播放端口号port补全成绝对路径进行跳转;
22.若不存在跳转url,则中间件通过点播内容id或者直播频道号加点播播放时间的值,按各自的播放规范进行播放;
23.互动服务调用中间件提供的通用消息交互接口,采用广播形式与中间件进行交互,向中间件发送所需要执行的功能消息,并接受中间件返回的消息。
24.优选的,所述中间件通过获取中间件信息接口、推屏接口、接收接口及应答通用消息接口实现与所述互动服务的交互。
25.优选的,步骤2中获取盒子端信息接口为aidl接口;获取盒子端信息接口返回的是json串格式数据。
26.优选的,步骤6中,手机app通过自有sdk封装http请求,发送互动指令到信令平台。
27.优选的,步骤8中,信令平台与盒端互动服务交互接口的接口协议为http,调用方法为get,数据交换格式为json;
28.绝对路径url表示如下:
29.http://[ip]:[port]/ott/sx2ott?cmd=[]
[0030]
其中,ip为与当前itvid到绑定的ip地址ip;port为与当前itvid到绑定的播放端口号port;cmd为有效数据,为json数据结构,以http get参数传递到机顶盒,并作urlencode编码。
[0031]
优选的,当手机app、信令平台或者机顶盒中的任意一方向另外一方请求服务时,服务请求方向服务被请求方发送的服务请求数据中包括当前时间戳time以及签名校验参数sign;仅当服务被请求方基于签名校验参数sign完成对服务请求发的签名校验后,服务请求方采用调用服务被请求方所提供的服务。
[0032]
优选的,所述签名校验参数sign为加密串,生成格式如下:将密钥、当前服务器时间、根据字母顺序排列的服务请求中所包含的参数名及其值进行合并,不同字段之间以分隔符进行间隔。合并后进行md5加密获得加密串,该加密串即为签名校验参数sign。
[0033]
优选的,通过心跳保持机顶盒在线,包括以下步骤:
[0034]
互动服务启动后调用信令平台的心跳接口,互动服务以心跳方式定时向信令平台发生互动服务的ip和端口以及账号;信令平台接收后,以账号为key,存储互动服务的ip和端口,并下发下一轮互动服务的心跳周期。
[0035]
优选的,所述心跳接口采用的接口协议为http,调用方法为get,互动服务与信令平台之间通过心跳接口实现交换的数据交换格式为json。
[0036]
优选的,所述互动服务的心跳周期缺省为3600s,从返回结果中获取心跳周期,并更新自身的心跳周期;同时设置超时机制,互动服务超过10秒未收到信令平台的返回结果视为超时,保持上一次的心跳周期。
[0037]
本发明用以实现手机到电视大屏的多屏互动方案,通过在公网或iptv网的服务器建立信令通道,将手机指令传递到大屏,从而解决手机和电视只能在同一局域网的问题,实现异地远程操控和互动,如手机遥控器、推送大屏播放、远程管理等,支持智能电视、ott机机盒、iptv机顶盒等。同时,本发明采用http短链接接口,终端无需保持连接,相比socket长链接,本发明能够以更少的服务器资源实现高用户并发。
[0038]
综上所述,与现有技术相比本发明具有如下优点:
[0039]
1)解决了手机遥控、推屏播放、两个终端链接只能在局域网内用dlna、airplay协议实现的现状。用户可以在公网环境下通过http协议实现手机和电视间进行手机遥控、视频推送大屏的目的。
[0040]
2)通过短链接的方式以更少的资源投入,承载更多的用户访问。
附图说明
[0041]
图1示意了本发明的总体架构;
[0042]
图2示意了本发明的时序;
[0043]
图3示意了信令平台在双跨ab平面的网络环境的部署。
具体实施方式
[0044]
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本技术所附权利要求书所限定的范围。
[0045]
如图1所示,本发明基于手机app、信令平台以及机顶盒实现手机对机顶盒的互动访问。机顶盒包括互动服务和中间件,互动服务集成到机顶盒的rom里,并随机顶盒的操作系统一起启动。本实施例中,中间件需实现4个交互接口,以实现与互动服务的交互,包括获取中间件信息接口、推屏接口、接收接口及应答通用消息接口。启动后,互动服务以http协议监听固定的监听端口,本实施例中,该监听端口为8087端口(可更改)。信令平台和互动服务起信令通道的作用,不含业务逻辑(功能),业务逻辑由手机app和中间件共同实现,即手机app发送指令,中间件执行相应操作。互动访问通过信令实现,由手机app将互动指令推送给信令平台,信令平台再将互动指令转发给机顶盒的互动服务,通过互动服务向中间件发送指令来控制机顶盒,实现视频推屏及遥控操作等。
[0046]
每个机顶盒具有唯一的账号,本实施例中,该账号为itv帐号,表示为itvid。手机app、信令平台以及机顶盒之间通过itvid进行关联,如图2所示,包括以下步骤:
[0047]
步骤1、手机app扫描机顶盒的二维码,获取itvid和中间件的版本号ver,建立itvid与版本号ver的绑定关系。
[0048]
步骤2、机顶盒启动后,互动服务从中间件获取到itvid、ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist。本实施例中,互动服务通过预先定义的获取盒子端信息接口来获得itvid、ip地址ip、中间件的版本号ver以及中间件所支持的互动功能指令集funclist,该获取盒子端信息接口为aidl接口,定义如下:string gettvinfo(int cmd,string params),其中,通过将cmd设定为不同的value值来获得相应的返回信息的内容,cmd的定义如下表1所示;params为输入参数,扩展用。获取盒子端信息接口返回的是json串格式数据。
[0049][0050]
表1
[0051]
步骤3、互动服务将itvid、ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist上报给信令平台。
[0052]
步骤4、信令平台建立每个机顶盒的itvid、ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist的绑定关系。
[0053]
步骤5、手机app根据中间件的版本号ver或互动功能指令集funclist确定机顶盒所支持的功能范围。
[0054]
本实施例中,当信令平台建立绑定关系后,手机app利用步骤1获得的itvid通过位于信令平台的手机app获取盒端信息接口从信令平台获取所绑定的机顶盒的信息,包括ip地址ip、播放端口号port、中间件的版本号ver以及中间件所支持的互动功能指令集funclist。手机app通过互动功能指令集funclist及中间件的版本号ver确定可用功能范围,本实施例中,优先以互动功能指令集funclist判断,互动功能指令集funclist为空时,再由中间件的版本号ver判断。
[0055]
该手机app获取盒端信息接口接受的数据如下表2所示:
[0056][0057]
表2
[0058]
该手机app获取盒端信息接口返回的数据如下表3所示:
[0059][0060]
表3
[0061]
表3中的info参数具体如下表4所示:
[0062][0063]
表4
[0064]
完成手机app、信令平台以及机顶盒之间的关联后,本发明继续包括以下步骤:
[0065]
步骤6、手机app调用位于信令平台的手机发送指令到信令平台接口向信令平台发起推送请求,该推送请求包括互动指令及手机app绑定的itvid。本实施例中,手机app通过自有sdk封装http请求(包括签名),发送互动指令到信令平台。
[0066]
本实施例中,手机发送指令到信令平台接口接受的数据如下表5所示:
[0067][0068][0069]
表5
[0070]
互动指令包括所需要执行的功能以及点播地址信息。本实施例中,点播地址信息可以为跳转url,也可以是点播内容id加点播播放时间的组合。点播内容id也可以是直播频道号,当点播内容id为直播频道号时,点播播放时间可以不传。
[0071]
点播地址信息采用跳转url是常规方式,跳转url由相应的手机app(或手机app所对应的平台)创建,可以是相对地址,也可以是绝对地址。当播放地址有确定的拼写方式,手机app能够组织固定的跳转url,则将播放地址拼写后作为跳转url上传至信令平台。
[0072]
跳转url(各业务epg页面的实际url)是播放页地址加必要的参数组成的url。播放页地址分为绝对地址和相对地址两种:绝对地址——以http://开头的地址;相对地址——以/开头,适用于播放的ip地址和播放端口不固定的情况,手机app无法知道确定的ip地址和播放端口。
[0073]
点播内容id加点播播放时间的组合是扩展的备用方式,若播放地址没有确定的拼写规范,或者对应的机顶盒的中间件有特殊的播放方式(比如不是简单地调播控页地址,而是调一个方法等),手机app无法组织跳转url,则将点播内容id以及点播播放时间作为备用方式提供给信令平台,相应的中间件接受到点播内容id以及点播播放时间后,自行依此参数进行拼写。
[0074]
步骤7、信令平台根据itvid查询到绑定的ip地址ip、播放端口号port、中间件的版
本号ver以及中间件所支持的互动功能指令集funclist,根据互动功能指令集funclist及中间件的版本号ver确定互动指令中的功能是否支持:若不支持,则通过手机发送指令到信令平台接口向手机app返回失败;若支持,则通过手机发送指令到信令平台接口向手机app返回成功,进入步骤8。
[0075]
本实施例中,信令平台通过手机发送指令到信令平台接口向手机app返回的数据如下表6所示:
[0076][0077][0078]
表6
[0079]
步骤8、信令平台将ip地址ip、播放端口号port以及互动指令拼接成绝对路径url,信令平台调用位于机顶盒端的信令平台与盒端互动服务交互接口,基于拼接后的绝对路径url访问互动服务,向指定的机顶盒转发推送请求。
[0080]
信令平台与盒端互动服务交互接口的接口协议为http,调用方法为get,数据交换格式为json。
[0081]
绝对路径url表示如下:
[0082]
http://[ip]:[port]/ott/sx2ott?cmd=[]
[0083]
其中,ip为与当前itvid到绑定的ip地址ip;port为与当前itvid到绑定的播放端口号port;cmd为有效数据,为json数据结构,以http get参数传递到机顶盒,并作urlencode编码,具体见下表7:
[0084][0085]
表7
[0086]
表7中包含param参数字段如下表8所示:
[0087][0088]
表8
[0089]
表8中包含param参数字段如下表9所示:
[0090][0091][0092]
表9
[0093]
步骤9、互动服务开启一个监听服务apk,在该监听服务apk中启动一个http server在监听端口(本实施例中为8087端口)上监听信令平台转发的推送请求。监听服务apk具备机顶盒操作系统的system权限。
[0094]
步骤10、互动服务解析信令平台转发的推送请求中的有效数据,获得有效数据中包含的所需要执行的功能以及点播地址信息。
[0095]
步骤11、互动服务调用中间件提供的url推送接口,采用广播形式向中间件发送点播地址信息,数据格式如下表10所示:
[0096][0097]
表10
[0098]
中间件对于点播地址信息的处理逻辑为:
[0099]
1.若jumpurl不为空,即存在跳转url,则只处理jumpurl所对应的跳转url,中间件直接按跳转url对应的直接地址进行跳转或者中间件将得到播放的ip地址ip和播放端口号port补全成绝对路径进行跳转。
[0100]
2.若jumpurl为空,即不存在跳转url,则中间件通过action字段和contentid字段的值,按各自的播放规范进行播放。
[0101]
点播地址信息是广播的形式,不需要返回值,中间件收到点播地址信息进行处理,处理结果可从屏幕表现出来。同时,基于用户体验的考虑,中间件也可以通过通用消息交互接口向互动服务定时返回播放状态(如缓冲中/播放中/遇到错误等),互动服务会对返回的消息进行统一处理。
[0102]
互动服务调用中间件提供的通用消息交互接口,采用广播形式与中间件进行交互,向中间件发送所需要执行的功能消息,并接受中间件返回的消息。具体而言,中间件收到互动服务发送的广播事件,解析数据处理。中间件处理完成之后,会发送一个处理结果的广播给互动服务。
[0103]
在上述过程中,当手机app、信令平台或者机顶盒中的任意一方向另外一方请求服务时,服务请求方向服务被请求方发送的服务请求数据中包括当前时间戳time以及签名校验参数sign。仅当服务被请求方基于签名校验参数sign完成对服务请求发的签名校验后,服务请求方采用调用服务被请求方所提供的服务。
[0104]
签名校验参数sign为加密串,生成格式如下:将密钥、当前服务器时间、根据字母顺序排列的服务请求中所包含的参数名及其值进行合并,不同字段之间以分隔符(本实施例为&)进行间隔。合并后进行md5加密获得加密串,该加密串即为签名校验参数sign。
[0105]
如:当前服务器时间为20111020135535,若原始请求的参数为:itvid=123、cmd=abc,则生成加密串的方式为:
[0106]
假设密钥是“be36dd6f5733fa09d1349c53cf2828811337330217840”,分隔符是“&”,加密串最后部分就是,“time=” 服务器时间 “&” 密钥:
[0107]“time=20111020135535&be36dd6f5733fa09d1349c53cf2828811337330217840”[0108]
然后将请求参数按照字母顺序排列,为cmd、tvid,最终加密串为:
[0109]“cmd=abc&itvid=123&time=20111020135535&be36dd6f5733fa09d1349c53cf2828811337330217840”(中文不需要urlencode),然后将字符串转换成byte数组,针对其进行md5加密,加密后得到加密串,即为签名校验参数sign。最终生成的服务请求需要带上time和sign参数,例如最后的url为:
[0110]
http://xxx.tv189.cn/service/xxxxx?itvid=123&cmd=abc&time=20111020201110&sign=xxxx。
[0111]
签名校验中,所有参数编码为utf-8。
[0112]
本发明通过心跳保持机顶盒在线,具体而言:
[0113]
互动服务启动后调用信令平台的心跳接口,互动服务以心跳方式定时向信令平台发生互动服务的ip和端口以及itvid。信令平台接收后,以itvid为key,存储互动服务的ip和端口,并下发下一轮互动服务的心跳周期。心跳接口采用的接口协议为http,调用方法为get,互动服务与信令平台之间通过心跳接口实现交换的数据交换格式为json。
[0114]
信令平台接受的数据如下表11所示:
[0115][0116]
表11
[0117]
表11中,info参数如下表12所示:
[0118][0119]
表12
[0120]
信令平台返回给互动服务的数据如下表13所示:
[0121][0122]
表13
[0123]
互动服务的心跳周期缺省为3600s,从返回结果中获取心跳周期,并更新自身的心跳周期(返回的心跳周期为0时不更新,仍使用上一次的周期)。同时设置超时机制,互动服务超过10秒未收到信令平台的返回结果视为超时,保持上一次的心跳周期。
[0124]
本实施例中,互动服务在调用心跳接口时,相关参数指标如下:
[0125]
1.心跳周期默认值3600s
[0126]
2.超时时间默认10s
[0127]
3.返回的cycle无或0,则互动服务不更新心跳周期。
[0128]
为了支持iptv环境,本实施例中,如图3所示,将信令平台部署在双跨ab平面的网络环境。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献